ocearo-ui 0.1.11 → 0.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/404.html CHANGED
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><link rel="preconnect" href="/" crossorigin=""/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/><link rel="stylesheet" href="/ocearo-ui/_next/static/css/54f9736fb6decfe2.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/ocearo-ui/_next/static/chunks/webpack-7e86658b39e9a910.js"/><script src="/ocearo-ui/_next/static/chunks/fd9d1056-50d0a3499460e502.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/117-35a8eb6f9457406b.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/main-app-ed02033afba81a43.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><meta name="theme-color" media="(prefers-color-scheme: light)" content="#4bbcd8"/><meta name="theme-color" media="(prefers-color-scheme: dark)" content="#0a2e3d"/><title>Ocearo</title><meta name="description" content="Sailing made smarter"/><link rel="manifest" href="./manifest.json" crossorigin="use-credentials"/><meta name="format-detection" content="telephone=no"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="Ocearo"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><link rel="shortcut icon" href="./favicon.ico"/><link rel="icon" href="./favicon.ico" type="image/x-icon"/><link rel="icon" href="./favicon.svg" type="image/svg+xml" sizes="any"/><link rel="icon" href="./favicon-96x96.png" type="image/png" sizes="96x96"/><link rel="apple-touch-icon" href="./apple-touch-icon.png"/><meta name="next-size-adjust"/><script src="/ocearo-ui/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_d559d3 __variable_692ef5 antialiased"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><script src="/ocearo-ui/_next/static/chunks/webpack-7e86658b39e9a910.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HC[\"/\",\"\"]\n2:HL[\"/ocearo-ui/_next/static/css/54f9736fb6decfe2.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"3:I[12846,[],\"\"]\n5:I[4707,[],\"\"]\n6:I[36423,[],\"\"]\nc:I[61060,[],\"\"]\n7:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n8:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n9:{\"display\":\"inline-block\"}\na:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nd:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L3\",null,{\"buildId\":\"jexXgaE8K23jXi92zslC1\",\"assetPrefix\":\"/ocearo-ui\",\"urlParts\":[\"\",\"_not-found\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L4\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/ocearo-ui/_next/static/css/54f9736fb6decfe2.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"head\",null,{}],[\"$\",\"body\",null,{\"className\":\"__variable_d559d3 __variable_692ef5 antialiased\",\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$7\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$8\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$9\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$a\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$Lb\"],\"globalErrorComponent\":\"$c\",\"missingSlots\":\"$Wd\"}]\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\"}],[\"$\",\"meta\",\"1\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: light)\",\"content\":\"#4bbcd8\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: dark)\",\"content\":\"#0a2e3d\"}],[\"$\",\"meta\",\"3\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"4\",{\"children\":\"Ocearo\"}],[\"$\",\"meta\",\"5\",{\"name\":\"description\",\"content\":\"Sailing made smarter\"}],[\"$\",\"link\",\"6\",{\"rel\":\"manifest\",\"href\":\"./manifest.json\",\"crossOrigin\":\"use-credentials\"}],[\"$\",\"meta\",\"7\",{\"name\":\"format-detection\",\"content\":\"telephone=no\"}],[\"$\",\"meta\",\"8\",{\"name\":\"apple-mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"9\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"Ocearo\"}],[\"$\",\"meta\",\"10\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"link\",\"11\",{\"rel\":\"shortcut icon\",\"href\":\"./favicon.ico\"}],[\"$\",\"link\",\"12\",{\"rel\":\"icon\",\"href\":\"./favicon.ico\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"13\",{\"rel\":\"icon\",\"href\":\"./favicon.svg\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"link\",\"14\",{\"rel\":\"icon\",\"href\":\"./favicon-96x96.png\",\"type\":\"image/png\",\"sizes\":\"96x96\"}],[\"$\",\"link\",\"15\",{\"rel\":\"apple-touch-icon\",\"href\":\"./apple-touch-icon.png\"}],[\"$\",\"meta\",\"16\",{\"name\":\"next-size-adjust\"}]]\n4:null\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><link rel="preconnect" href="/" crossorigin=""/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/><link rel="stylesheet" href="/ocearo-ui/_next/static/css/c78ab46923ef2f02.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/ocearo-ui/_next/static/chunks/webpack-6800222ed1a234a2.js"/><script src="/ocearo-ui/_next/static/chunks/fd9d1056-50d0a3499460e502.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/117-35a8eb6f9457406b.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/main-app-ed02033afba81a43.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><meta name="theme-color" media="(prefers-color-scheme: light)" content="#4bbcd8"/><meta name="theme-color" media="(prefers-color-scheme: dark)" content="#0a2e3d"/><title>Ocearo</title><meta name="description" content="Sailing made smarter"/><link rel="manifest" href="./manifest.json" crossorigin="use-credentials"/><meta name="format-detection" content="telephone=no"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="Ocearo"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><link rel="shortcut icon" href="./favicon.ico"/><link rel="icon" href="./favicon.ico" type="image/x-icon"/><link rel="icon" href="./favicon.svg" type="image/svg+xml" sizes="any"/><link rel="icon" href="./favicon-96x96.png" type="image/png" sizes="96x96"/><link rel="apple-touch-icon" href="./apple-touch-icon.png"/><meta name="next-size-adjust"/><script src="/ocearo-ui/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_d559d3 __variable_692ef5 antialiased"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><script src="/ocearo-ui/_next/static/chunks/webpack-6800222ed1a234a2.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HC[\"/\",\"\"]\n2:HL[\"/ocearo-ui/_next/static/css/c78ab46923ef2f02.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"3:I[12846,[],\"\"]\n5:I[4707,[],\"\"]\n6:I[36423,[],\"\"]\nc:I[61060,[],\"\"]\n7:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n8:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n9:{\"display\":\"inline-block\"}\na:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nd:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L3\",null,{\"buildId\":\"Hr-CngZPYUr2uKuS2yt4x\",\"assetPrefix\":\"/ocearo-ui\",\"urlParts\":[\"\",\"_not-found\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L4\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/ocearo-ui/_next/static/css/c78ab46923ef2f02.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"head\",null,{}],[\"$\",\"body\",null,{\"className\":\"__variable_d559d3 __variable_692ef5 antialiased\",\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$7\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$8\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$9\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$a\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$Lb\"],\"globalErrorComponent\":\"$c\",\"missingSlots\":\"$Wd\"}]\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\"}],[\"$\",\"meta\",\"1\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: light)\",\"content\":\"#4bbcd8\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: dark)\",\"content\":\"#0a2e3d\"}],[\"$\",\"meta\",\"3\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"4\",{\"children\":\"Ocearo\"}],[\"$\",\"meta\",\"5\",{\"name\":\"description\",\"content\":\"Sailing made smarter\"}],[\"$\",\"link\",\"6\",{\"rel\":\"manifest\",\"href\":\"./manifest.json\",\"crossOrigin\":\"use-credentials\"}],[\"$\",\"meta\",\"7\",{\"name\":\"format-detection\",\"content\":\"telephone=no\"}],[\"$\",\"meta\",\"8\",{\"name\":\"apple-mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"9\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"Ocearo\"}],[\"$\",\"meta\",\"10\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"link\",\"11\",{\"rel\":\"shortcut icon\",\"href\":\"./favicon.ico\"}],[\"$\",\"link\",\"12\",{\"rel\":\"icon\",\"href\":\"./favicon.ico\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"13\",{\"rel\":\"icon\",\"href\":\"./favicon.svg\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"link\",\"14\",{\"rel\":\"icon\",\"href\":\"./favicon-96x96.png\",\"type\":\"image/png\",\"sizes\":\"96x96\"}],[\"$\",\"link\",\"15\",{\"rel\":\"apple-touch-icon\",\"href\":\"./apple-touch-icon.png\"}],[\"$\",\"meta\",\"16\",{\"name\":\"next-size-adjust\"}]]\n4:null\n"])</script></body></html>
package/README.md CHANGED
@@ -2,8 +2,10 @@
2
2
  [![Contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg)](CONTRIBUTING.md)
3
3
  [![License](https://img.shields.io/badge/License-Apache%202.0-brightgreen.svg)](https://opensource.org/licenses/Apache-2.0)
4
4
 
5
+
5
6
  # Ocearo UI
6
7
 
8
+
7
9
  **Sailing Made Smarter**
8
10
 
9
11
  **Ocean Robot** is set to transform sailing with an intuitive and visually engaging user interface (UI) designed for the OpenPlotter boat project. Powered by the **Signal K** platform, Ocean Robot gathers and stores boat data to provide real-time insights.
@@ -45,18 +47,17 @@ Inspired by Tesla's autopilot UI, this system delivers a futuristic and streamli
45
47
 
46
48
  ![Anchored View](docs/parking.png)
47
49
 
48
- ### **Man Overboard (MOB) View**
49
- - Features 3D visualization to pinpoint the location and direction of the person overboard, ensuring precise and timely rescue operations.
50
-
51
- *Currently in progress.*
52
-
53
50
  ### **Other Views**
54
51
  Additional visuals enhance the system's functionality:
55
52
 
56
53
  ![Other Views](docs/ais.png)
54
+ ![Other Views](docs/ocean.png)
57
55
  ![Other Views](docs/meteo.png)
58
56
  ![Other Views](docs/navigation.png)
59
57
  ![Other Views](docs/instruments.png)
58
+ ![Other Views](docs/webcam.png)
59
+ ![Other Views](docs/battery.png)
60
+ ![Other Views](docs/performances.png)
60
61
 
61
62
  ---
62
63
 
@@ -67,6 +68,9 @@ Ocean Robot's roadmap includes advanced features aimed at enhancing safety and e
67
68
  - Integration with advanced camera systems (e.g., **see.ai**) to detect floating objects
68
69
  - **Future Enhancements**:
69
70
  - Camera-based monitoring of sail indicators (*penons*) for optimal sail trim suggestions
71
+ - 3D Bathymetry visualization
72
+ - 3D Laylines visualization
73
+ - 3D Start lines visualization
70
74
 
71
75
  ---
72
76
 
@@ -76,6 +80,19 @@ Or install it in Signal K using the NPM package: https://www.npmjs.com/package/o
76
80
 
77
81
  ---
78
82
 
83
+ ## **Contributing**
84
+
85
+ Your support and involvement make Ocearo UI better! Here are some ways you can contribute:
86
+
87
+ * Report bugs: Help me squash issues by letting me know when something isn't working as expected.
88
+ * Suggest features: Share your ideas for new features or improvements your feedback shapes the project!
89
+ * Contribute code: Submit pull requests to add features, fix bugs, or improve documentation.
90
+ * Support the project: Help fund the purchase of webcams, and sensors by buying me a coffee.
91
+
92
+ [![Buy Me A Coffee](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/laborima)
93
+
94
+ ---
95
+
79
96
  ## **Development and Deployment**
80
97
 
81
98
  ### Building
@@ -172,6 +189,11 @@ Each tide entry consists of:
172
189
  - **Height**: Tide height in meters
173
190
  - **Coefficient**: If applicable, the coefficient value (otherwise "---")
174
191
 
192
+ ### Setup SSL for PWA
193
+
194
+ For complete documentation on setting up SSL, see:
195
+
196
+ [doc/ssl.md](doc/ssl.md)
175
197
 
176
198
 
177
199
  ### Setup Polar Data
@@ -193,7 +215,7 @@ Save the downloaded file under:
193
215
  Create an `index.json` file and place it under:
194
216
 
195
217
  ```
196
- /public/boats/default/docs/index.json
218
+ /public/docs/index.json
197
219
  ```
198
220
 
199
221
  #### JSON Format
@@ -219,11 +241,10 @@ Create an `index.json` file and place it under:
219
241
  ]
220
242
  ```
221
243
 
222
-
223
-
224
244
  ## **Deploying to OpenPlotter**
225
245
 
226
- Adapt and run the deployment script deploy.sh or:
246
+ The recommended way is to use the npm published package.
247
+ If you want to deploy your own build, you can either adapt and run the provided `deploy.sh` script, or use the following manual steps:
227
248
 
228
249
  ```bash
229
250
  git clone https://github.com/laborima/ocearo-ui.git
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[252],{7252:function(e,t,l){l.r(t);var a=l(57437),r=l(2265),n=l(30166),i=l(53082),o=l(63321);let s=(0,n.default)(()=>l.e(79).then(l.bind(l,68079)),{loadableGenerated:{webpack:()=>[68079]},loading:()=>(0,a.jsx)("div",{className:"w-full h-full flex justify-center items-center",children:"Loading documents..."})}),c=(0,n.default)(()=>l.e(73).then(l.bind(l,69073)),{loadableGenerated:{webpack:()=>[69073]},loading:()=>(0,a.jsx)("div",{className:"w-full h-full flex justify-center items-center",children:"Loading settings..."})}),u=(0,n.default)(()=>Promise.all([l.e(676),l.e(268),l.e(145),l.e(138)]).then(l.bind(l,59138)),{loadableGenerated:{webpack:()=>[59138]},loading:()=>(0,a.jsx)("div",{className:"w-full h-full flex justify-center items-center",children:"Loading media player..."})}),d=(0,n.default)(()=>Promise.all([l.e(676),l.e(268),l.e(677)]).then(l.bind(l,39677)),{loadableGenerated:{webpack:()=>[39677]},loading:()=>(0,a.jsx)("div",{className:"w-full h-full flex justify-center items-center",children:"Loading battery monitor..."})}),m={latitude:46.1591,longitude:-1.1522},f={navigation:e=>"".concat(e,"/@signalk/freeboard-sk/"),instrument:e=>"".concat(e,"/@mxtommy/kip/"),dashboard:e=>e.replace(":3000",":3001")+"/grafana",webcam1:()=>"https://pv.viewsurf.com/2080/Chatelaillon-Port?i=NzU4Mjp1bmRlZmluZWQ",webcam2:()=>"https://pv.viewsurf.com/1478/Chatelaillon-Plage&lt?i=NTkyMDp1bmRlZmluZWQ",weather:(e,t)=>t&&"https://embed.windy.com/embed.html?type=map&location=coordinates&metricRain=mm&metricTemp=\xb0C&metricWind=kt&zoom=10&overlay=wind&product=ecmwf&level=surface&lat=".concat(t.latitude,"&lon=").concat(t.longitude,"&message=true")};t.default=e=>{let{view:t}=e,{getSignalKValue:l}=(0,i.yC)(),[n,h]=(0,r.useState)(null),[g,p]=(0,r.useState)(null),{signalkUrl:b}=o.Z.getAll();(0,r.useEffect)(()=>{let e=()=>{try{let e=l("navigation.position")||m;h(t=>t?Math.abs(t.latitude-e.latitude)>.01||Math.abs(t.longitude-e.longitude)>.01?e:t:e),p(null)}catch(e){p("Error fetching position data"),console.error("Position fetch error:",e)}};e();let t=setInterval(e,1e4);return()=>clearInterval(t)},[l]);let w=(0,r.useMemo)(()=>{let e=o.Z.getAll(),l=e.customExternalUrls||{};if(e.showCustomUrls&&l[t])try{if("string"==typeof l[t]&&l[t].includes("${signalkUrl}"))return l[t].replace("${signalkUrl}",b).replace("${latitude}",(null==n?void 0:n.latitude)||m.latitude).replace("${longitude}",(null==n?void 0:n.longitude)||m.longitude);return l[t]}catch(e){console.error("Error using custom URL:",e)}let a=f[t];if(!a)return null;try{return a(b,n)}catch(e){return console.error("Error generating URL:",e),p("Error generating application URL"),null}},[t,n,b]);return(0,a.jsx)("div",{className:"flex flex-col w-full h-full overflow-auto",children:(()=>{if(g)return(0,a.jsx)("div",{className:"text-red-500 p-4",children:g});switch(t){case"manual":return(0,a.jsx)(s,{path:"docs"});case"settings":return(0,a.jsx)(c,{});case"mediaplayer":return(0,a.jsx)(u,{});case"battery":return(0,a.jsx)(d,{});default:return w&&(0,a.jsx)("iframe",{className:"flex-grow border-none",src:w,title:"External Application",onError:()=>p("Failed to load external content")})}})()})}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[677],{39677:function(e,t,a){a.r(t),a.d(t,{default:function(){return x}});var s=a(57437),l=a(2265),i=a(53082),r=a(15008),c=a(51268),n=a(35217),d=e=>{let{data:t,dataKey:a,color:l,scale:r,label:c,unit:n,showPoints:d=!1,lineWidth:o=1,fillGradient:x=!1}=e,{nightMode:m}=(0,i.yC)(),h=t.filter(e=>null!==e[a]&&void 0!==e[a]);if(0===h.length)return(0,s.jsx)("div",{className:"flex items-center justify-center h-full",children:"No data available"});let g=Math.min(...h.map(e=>e[a])),u=Math.max(...h.map(e=>e[a])),v=Math.max(r.min,g-(u-g)*.1),f=Math.min(r.max,u+(u-g)*.1),j=u-g>(r.max-r.min)*.05,N=j?v:r.min,p=j?f:r.max,b=t.map((e,s)=>{let l=s/(t.length-1)*100;return null===e[a]||void 0===e[a]?{x:l,y:null,value:null,time:e.time}:{x:l,y:100-Math.min(100,Math.max(0,(e[a]-N)/(p-N)*100)),value:e[a],time:e.time}}).filter(e=>null!==e.y),y=b.reduce((e,t,a)=>e+(0===a?"M ".concat(t.x,",").concat(t.y):" L ".concat(t.x,",").concat(t.y)),""),w=Array.from({length:5}).map((e,t)=>({position:t/4*100,value:p-(p-N)/4*t}));return(0,s.jsxs)("div",{className:"h-full w-full relative",children:[(0,s.jsx)("div",{className:"absolute inset-0",children:w.map((e,t)=>(0,s.jsx)("div",{className:"absolute w-full border-t border-gray-300 opacity-40",style:{top:"".concat(e.position,"%")},children:(0,s.jsxs)("span",{className:"absolute text-xs ".concat(m?"text-oNight":"text-white"),children:[e.value.toFixed(e.value<10?1:0),n]})},t))}),(0,s.jsx)("div",{className:"absolute bottom-0 w-full",children:t.filter((e,t)=>t%10==0).map((e,a,l)=>(0,s.jsx)("span",{className:"absolute text-xs ".concat(m?"text-oNight":"text-white"," transform -translate-x-1/2"),style:{left:"".concat(10*a/(t.length-1)*100+10,"%"),bottom:"-20px"},children:e.time.split(":").slice(1).join(":")},a))}),(0,s.jsx)("div",{className:"absolute inset-0 ".concat(x?"rightPaneBg bg-opacity-30":"bg-oGray2 bg-opacity-10"," rounded-lg")}),j&&(0,s.jsxs)("div",{className:"absolute top-0 right-0 bg-oGray2 bg-opacity-70 px-2 py-1 rounded-md text-xs text-white",children:[N.toFixed(1)," - ",p.toFixed(1),n]}),(0,s.jsxs)("svg",{className:"w-full h-full",preserveAspectRatio:"none",viewBox:"0 0 100 100",children:[(0,s.jsxs)("defs",{children:[(0,s.jsxs)("linearGradient",{id:"gradient-".concat(a),x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,s.jsx)("stop",{offset:"0%",stopColor:l,stopOpacity:x?"0.5":"0.3"}),(0,s.jsx)("stop",{offset:"100%",stopColor:l,stopOpacity:x?"0.1":"0.05"})]}),x&&(0,s.jsxs)("linearGradient",{id:"line-gradient-".concat(a),x1:"0",y1:"0",x2:"1",y2:"0",children:[(0,s.jsx)("stop",{offset:"0%",stopColor:l,stopOpacity:"0.8"}),(0,s.jsx)("stop",{offset:"100%",stopColor:l,stopOpacity:"1"})]})]}),(0,s.jsx)("path",{d:"".concat(y," L ").concat(b[b.length-1].x,",100 L ").concat(b[0].x,",100 Z"),fill:"url(#gradient-".concat(a,")"),className:x?"filter drop-shadow-md":""}),(0,s.jsx)("path",{d:y,fill:"none",stroke:x?"url(#line-gradient-".concat(a,")"):l,strokeWidth:x?1.5*o:o,strokeLinecap:"round",strokeLinejoin:"round",className:x?"filter drop-shadow-sm":""}),d&&b.map((e,t)=>(0,s.jsx)("circle",{cx:e.x,cy:e.y,r:x?.8:.5,fill:l,className:"hover:r-4 transition-all duration-150 ".concat(x?"filter drop-shadow-md":""),children:(0,s.jsx)("title",{children:"".concat(c,": ").concat(e.value.toFixed(2)).concat(n)})},t))]})]})},o=a(72079),x=()=>{let{nightMode:e,getSignalKValue:t}=(0,i.yC)(),a=(0,l.useRef)(performance.now()),x=(0,l.useRef)(performance.now()),m=(0,l.useRef)(0),[h,g]=(0,l.useState)("battery"),[u,v]=(0,l.useState)("voltage"),[f,j]=(0,l.useState)("fps"),[N,p]=(0,l.useState)("1"),[b,y]=(0,l.useState)(!1),w=(0,l.useCallback)(()=>{let e=[];for(let a=1;a<=3;a++){let s=t("electrical.batteries.".concat(a,".name")),l=t("electrical.batteries.".concat(a,".voltage"));(s||l)&&e.push({id:a.toString(),name:s||"Battery ".concat(a),hasData:!0})}return 0===e.length&&e.push({id:"1",name:"Main Battery",hasData:!0}),e},[t]),[G,C]=(0,l.useState)(()=>w()),R=(0,l.useCallback)(()=>{let e=new Date().toLocaleTimeString(),a=t("electrical.batteries.".concat(N,".voltage"))||12,s=t("electrical.batteries.".concat(N,".capacity.stateOfCharge")),l=t("electrical.batteries.".concat(N,".current"))||5,c=t("electrical.batteries.".concat(N,".temperature")),n=null!==c?(0,i.G5)(c):null,d=t("electrical.batteries.".concat(N,".chemistry")),o=t("electrical.batteries.".concat(N,".name")),x=t("electrical.batteries.".concat(N,".location")),m=t("electrical.batteries.".concat(N,".dateInstalled")),h=t("electrical.batteries.".concat(N,".manufacturer.name")),g=t("electrical.batteries.".concat(N,".manufacturer.model")),u=t("electrical.batteries.".concat(N,".manufacturer.URL")),v=t("electrical.batteries.".concat(N,".associatedBus")),f=t("electrical.batteries.".concat(N,".voltage.ripple")),j=t("electrical.batteries.".concat(N,".capacity.nominal")),p=t("electrical.batteries.".concat(N,".capacity.actual")),b=t("electrical.batteries.".concat(N,".capacity.remaining")),y=t("electrical.batteries.".concat(N,".capacity.dischargeLimit")),w=t("electrical.batteries.".concat(N,".capacity.stateOfHealth")),G=t("electrical.batteries.".concat(N,".capacity.dischargeSinceFull")),C=t("electrical.batteries.".concat(N,".capacity.timeRemaining")),R=t("electrical.batteries.".concat(N,".lifetimeDischarge")),E=t("electrical.batteries.".concat(N,".lifetimeRecharge")),A="auto"===t("steering.autopilot.state"),O=t("navigation.lights")||!1;return{time:e,voltage:a,current:l,stateOfCharge:null!==s?s:(0,r.Si)(a),power:a*l,temperature:n,autopilotState:A,instrumentsOn:l>.5,navigationLightsOn:O,chemistry:d,name:o,location:x,dateInstalled:m,manufacturer:h,model:g,manufacturerURL:u,associatedBus:v,voltageRipple:f,nominalCapacity:j,actualCapacity:p,remainingCapacity:b,dischargeLimit:y,stateOfHealth:w,dischargeSinceFull:G,timeRemaining:C,lifetimeDischarge:R,lifetimeRecharge:E}},[t,N]),[E,A]=(0,l.useState)(()=>Array(60).fill(null).map(R)),[O,S]=(0,l.useState)(()=>{let e=new Date().toLocaleTimeString();return Array(60).fill({time:e,fps:60,ms:16.67,drawCalls:0,triangles:0,geometries:0,textures:0,memory:0})}),T=(0,l.useCallback)(e=>{let a=E[E.length-1],s=t("electrical.batteries.".concat(N,".voltage"))||a.voltage,l=t("electrical.batteries.".concat(N,".current"))||a.current,c=t("electrical.batteries.".concat(N,".capacity.stateOfCharge")),n=null!==c?c:(0,r.Si)(s),d=t("electrical.batteries.".concat(N,".temperature")),o=null!==d?(0,i.G5)(d):null,x=t("electrical.batteries.".concat(N,".chemistry"))||a.chemistry,m=t("electrical.batteries.".concat(N,".name"))||a.name,h=t("electrical.batteries.".concat(N,".location"))||a.location,g=t("electrical.batteries.".concat(N,".dateInstalled"))||a.dateInstalled,u=t("electrical.batteries.".concat(N,".manufacturer.name"))||a.manufacturer,v=t("electrical.batteries.".concat(N,".manufacturer.model"))||a.model,f=t("electrical.batteries.".concat(N,".manufacturer.URL"))||a.manufacturerURL,j=t("electrical.batteries.".concat(N,".associatedBus"))||a.associatedBus,p=t("electrical.batteries.".concat(N,".voltage.ripple"))||a.voltageRipple,b=t("electrical.batteries.".concat(N,".capacity.nominal"))||a.nominalCapacity,y=t("electrical.batteries.".concat(N,".capacity.actual"))||a.actualCapacity,w=t("electrical.batteries.".concat(N,".capacity.remaining"))||a.remainingCapacity,G=t("electrical.batteries.".concat(N,".capacity.dischargeLimit"))||a.dischargeLimit,C=t("electrical.batteries.".concat(N,".capacity.stateOfHealth"))||a.stateOfHealth,R=t("electrical.batteries.".concat(N,".capacity.dischargeSinceFull"))||a.dischargeSinceFull,A=t("electrical.batteries.".concat(N,".capacity.timeRemaining"))||a.timeRemaining,O=t("electrical.batteries.".concat(N,".lifetimeDischarge"))||a.lifetimeDischarge,S=t("electrical.batteries.".concat(N,".lifetimeRecharge"))||a.lifetimeRecharge;return{time:e,voltage:s,current:l,stateOfCharge:n,power:s*l,temperature:o,autopilotState:"auto"===t("steering.autopilot.state"),instrumentsOn:l>.5,navigationLightsOn:t("navigation.lights")||!1,chemistry:x,name:m,location:h,dateInstalled:g,manufacturer:u,model:v,manufacturerURL:f,associatedBus:j,voltageRipple:p,nominalCapacity:b,actualCapacity:y,remainingCapacity:w,dischargeLimit:G,stateOfHealth:C,dischargeSinceFull:R,timeRemaining:A,lifetimeDischarge:O,lifetimeRecharge:S}},[t,E,N]),L=(0,l.useRef)(null);(0,l.useEffect)(()=>{window.__OCEARO_RENDERER&&(L.current=window.__OCEARO_RENDERER)},[]),(0,l.useEffect)(()=>{let e=setInterval(()=>{C(w())},3e4);return()=>clearInterval(e)},[w]),(0,l.useEffect)(()=>{A(Array(60).fill(null).map(R))},[N,R]),(0,l.useEffect)(()=>{let e;let t=()=>{let s=new Date().toLocaleTimeString();m.current++;let l=performance.now();if(a.current,l>=x.current+1e3){var i,r,c,n,d,o,h,g;let e=1e3*m.current/(l-x.current),t=e>0?1e3/e:0,a=0,u=0,v=0,f=0,j=0;if(window.performance&&window.performance.memory&&(j=Math.round(window.performance.memory.usedJSHeapSize/1048576)),L.current){let e=L.current.info;a=(null===(i=e.render)||void 0===i?void 0:i.calls)||0,u=(null===(r=e.render)||void 0===r?void 0:r.triangles)||0,v=(null===(c=e.memory)||void 0===c?void 0:c.geometries)||0,f=(null===(n=e.memory)||void 0===n?void 0:n.textures)||0}else if(window.__OCEARO_RENDER_INFO){let e=window.__OCEARO_RENDER_INFO;a=(null===(d=e.render)||void 0===d?void 0:d.calls)||0,u=(null===(o=e.render)||void 0===o?void 0:o.triangles)||0,v=(null===(h=e.memory)||void 0===h?void 0:h.geometries)||0,f=(null===(g=e.memory)||void 0===g?void 0:g.textures)||0}S(l=>[...l.slice(1),{time:s,fps:e,ms:t,drawCalls:a,triangles:u,geometries:v,textures:f,memory:j}]),A(e=>[...e.slice(1),T(s)]),x.current=l,m.current=0}a.current=l,e=requestAnimationFrame(t)};return e=requestAnimationFrame(t),()=>cancelAnimationFrame(e)},[T]);let F={voltage:{min:10.5,max:15,step:1},current:{min:-5,max:50,step:5},soc:{min:0,max:100,step:25},temperature:{min:10,max:60,step:10}},M={fps:{min:0,max:60,step:15},drawCalls:{min:0,max:500,step:100},triangles:{min:0,max:5e5,step:1e5},memory:{min:0,max:500,step:100}},I=E[E.length-1],D=(0,r.d3)(I.voltage),P=null!==I.temperature;return(0,s.jsxs)("div",{className:"flex flex-col h-full rightPaneBg overflow-auto",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center px-4 py-2 bg-oGray2 bg-opacity-50 border-b border-gray-800",children:[(0,s.jsxs)("div",{className:"flex items-center",children:[(0,s.jsx)(c.G,{icon:n.RoX,className:"mr-2 text-green-500"}),(0,s.jsx)("span",{className:"text-white font-medium",children:"Energy"})]}),(0,s.jsxs)("div",{className:"flex items-center space-x-4",children:[(0,s.jsx)("span",{className:"text-white",children:new Date().toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}),(0,s.jsx)("span",{className:"bg-black px-2 py-1 rounded text-white text-sm",children:I.temperature?"".concat(I.temperature.toFixed(0),"\xb0C"):"--\xb0C"})]})]}),(0,s.jsxs)("div",{className:"flex border-b border-gray-800",children:[(0,s.jsxs)("button",{onClick:()=>g("battery"),className:"flex-1 py-3 px-4 text-sm font-medium flex items-center justify-center transition-all ".concat("battery"===h?"text-green-500 border-b-2 border-green-500":"text-gray-400 hover:text-gray-300"),children:[(0,s.jsx)(c.G,{icon:n.XEC,className:"mr-2"}),"Energy"]}),(0,s.jsxs)("button",{onClick:()=>g("graph"),className:"flex-1 py-3 px-4 text-sm font-medium flex items-center justify-center transition-all ".concat("graph"===h?"text-green-500 border-b-2 border-green-500":"text-gray-400 hover:text-gray-300"),children:[(0,s.jsx)(c.G,{icon:n.Stf,className:"mr-2"}),"Consumption"]}),(0,s.jsxs)("button",{onClick:()=>g("performance"),className:"flex-1 py-3 px-4 text-sm font-medium flex items-center justify-center transition-all ".concat("performance"===h?"text-green-500 border-b-2 border-green-500":"text-gray-400 hover:text-gray-300"),children:[(0,s.jsx)(c.G,{icon:n.ESn,className:"mr-2"}),"Performance"]})]}),(0,s.jsxs)("div",{className:"h-full",children:["battery"===h&&(0,s.jsxs)("div",{className:"p-4 flex flex-col flex-1 min-h-0 rightPaneBg",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,s.jsxs)("h2",{className:"text-xl font-bold text-white flex items-center",children:["Battery information ",I.stateOfCharge.toFixed(0),"%",(0,s.jsx)("button",{className:"ml-2 bg-oGray2 rounded-full w-6 h-6 flex items-center justify-center text-gray-400 hover:bg-oGray focus:outline-none focus:ring-1 focus:ring-green-500",onClick:()=>y(!b),"aria-label":"Battery details",children:(0,s.jsx)(c.G,{icon:n.Fuz,className:"text-xs"})})]}),(0,s.jsx)("div",{className:"flex items-center space-x-2",children:(0,s.jsx)("select",{className:"bg-oGray2 px-2 py-1 rounded text-white text-sm border border-gray-700 focus:outline-none focus:ring-1 focus:ring-green-500",value:N,onChange:e=>p(e.target.value),children:G.map(e=>(0,s.jsx)("option",{value:e.id,children:e.name},e.id))})})]}),b&&(0,s.jsxs)("div",{className:"bg-oGray2 p-4 rounded-lg mb-6 relative",children:[(0,s.jsx)("button",{className:"absolute top-2 right-2 text-gray-400 hover:text-white",onClick:()=>y(!1),"aria-label":"Close details",children:"\xd7"}),(0,s.jsx)("div",{className:"text-gray-400 text-sm font-medium mb-4",children:"BATTERY DETAILS"}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[I.name&&(0,s.jsxs)("div",{className:"flex items-start",children:[(0,s.jsx)("div",{className:"w-20 text-xs text-gray-400",children:"NAME"}),(0,s.jsx)("div",{className:"text-sm text-white",children:I.name})]}),I.location&&(0,s.jsxs)("div",{className:"flex items-start",children:[(0,s.jsx)("div",{className:"w-20 text-xs text-gray-400",children:"LOCATION"}),(0,s.jsx)("div",{className:"text-sm text-white",children:I.location})]}),I.manufacturer&&(0,s.jsxs)("div",{className:"flex items-start",children:[(0,s.jsx)("div",{className:"w-20 text-xs text-gray-400",children:"MAKER"}),(0,s.jsx)("div",{className:"text-sm text-white",children:I.manufacturer})]}),I.model&&(0,s.jsxs)("div",{className:"flex items-start",children:[(0,s.jsx)("div",{className:"w-20 text-xs text-gray-400",children:"MODEL"}),(0,s.jsx)("div",{className:"text-sm text-white",children:I.model})]}),I.chemistry&&(0,s.jsxs)("div",{className:"flex items-start",children:[(0,s.jsx)("div",{className:"w-20 text-xs text-gray-400",children:"CHEMISTRY"}),(0,s.jsx)("div",{className:"text-sm text-white",children:I.chemistry})]}),I.dateInstalled&&(0,s.jsxs)("div",{className:"flex items-start",children:[(0,s.jsx)("div",{className:"w-20 text-xs text-gray-400",children:"INSTALLED"}),(0,s.jsx)("div",{className:"text-sm text-white",children:new Date(I.dateInstalled).toLocaleDateString()})]}),I.associatedBus&&(0,s.jsxs)("div",{className:"flex items-start",children:[(0,s.jsx)("div",{className:"w-20 text-xs text-gray-400",children:"BUS"}),(0,s.jsx)("div",{className:"text-sm text-white",children:I.associatedBus})]}),I.stateOfHealth&&(0,s.jsxs)("div",{className:"flex items-start",children:[(0,s.jsx)("div",{className:"w-20 text-xs text-gray-400",children:"HEALTH"}),(0,s.jsxs)("div",{className:"text-sm text-white",children:[(100*I.stateOfHealth).toFixed(0),"%"]})]}),null!==I.timeRemaining&&void 0!==I.timeRemaining&&(0,s.jsxs)("div",{className:"flex items-start",children:[(0,s.jsx)("div",{className:"w-20 text-xs text-gray-400",children:"REMAINING"}),(0,s.jsxs)("div",{className:"text-sm text-white",children:[(I.timeRemaining/3600).toFixed(1)," hrs"]})]})]}),(I.nominalCapacity||I.actualCapacity||I.remainingCapacity)&&(0,s.jsxs)("div",{className:"mt-4",children:[(0,s.jsx)("div",{className:"text-gray-400 text-xs mb-2",children:"CAPACITY"}),(0,s.jsxs)("div",{className:"grid grid-cols-3 gap-3",children:[I.nominalCapacity&&(0,s.jsxs)("div",{className:"bg-oGray p-2 rounded-lg text-center",children:[(0,s.jsx)("div",{className:"text-xs text-gray-400",children:"NOMINAL"}),(0,s.jsxs)("div",{className:"text-sm text-white",children:[(I.nominalCapacity/3600).toFixed(1)," Wh"]})]}),I.actualCapacity&&(0,s.jsxs)("div",{className:"bg-oGray p-2 rounded-lg text-center",children:[(0,s.jsx)("div",{className:"text-xs text-gray-400",children:"ACTUAL"}),(0,s.jsxs)("div",{className:"text-sm text-white",children:[(I.actualCapacity/3600).toFixed(1)," Wh"]})]}),I.remainingCapacity&&(0,s.jsxs)("div",{className:"bg-oGray p-2 rounded-lg text-center",children:[(0,s.jsx)("div",{className:"text-xs text-gray-400",children:"REMAINING"}),(0,s.jsxs)("div",{className:"text-sm text-white",children:[(I.remainingCapacity/3600).toFixed(1)," Wh"]})]})]})]}),(I.lifetimeDischarge||I.lifetimeRecharge)&&(0,s.jsxs)("div",{className:"mt-4",children:[(0,s.jsx)("div",{className:"text-gray-400 text-xs mb-2",children:"LIFETIME STATISTICS"}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[I.lifetimeDischarge&&(0,s.jsxs)("div",{className:"bg-oGray p-2 rounded-lg",children:[(0,s.jsx)("div",{className:"text-xs text-gray-400",children:"DISCHARGE"}),(0,s.jsxs)("div",{className:"text-sm text-white",children:[(I.lifetimeDischarge/3600).toFixed(0)," Ah"]})]}),I.lifetimeRecharge&&(0,s.jsxs)("div",{className:"bg-oGray p-2 rounded-lg",children:[(0,s.jsx)("div",{className:"text-xs text-gray-400",children:"RECHARGE"}),(0,s.jsxs)("div",{className:"text-sm text-white",children:[(I.lifetimeRecharge/3600).toFixed(0)," Ah"]})]})]})]})]}),(0,s.jsxs)("div",{className:"flex-1 flex flex-col justify-between",children:[(0,s.jsxs)("div",{className:"relative bg-oGray2 rounded-lg p-4 mb-6",children:[(0,s.jsxs)("div",{className:"mb-2 flex justify-between items-center",children:[(0,s.jsx)("div",{children:(0,s.jsx)("span",{className:"text-gray-400 text-sm",children:"BATTERY PERCENTAGE"})}),(0,s.jsxs)("div",{className:"px-3 py-1 rounded-lg text-sm ".concat(D?"bg-green-900 text-green-400":"bg-red-900 text-red-400"),children:[(0,s.jsx)(c.G,{icon:D?n.Tr1:n.RoX,className:"mr-2"}),D?"Charging":"Discharging"]})]}),(0,s.jsxs)("div",{className:"h-24 relative mt-4 flex flex-col justify-between",children:[(0,s.jsxs)("div",{className:"flex justify-between text-xs text-gray-400 mb-1",children:[(0,s.jsx)("span",{children:"State of Charge"}),I.dischargeLimit&&(0,s.jsxs)("span",{children:["Discharge Limit: ",(100*I.dischargeLimit).toFixed(0),"%"]})]}),(0,s.jsxs)("div",{className:"h-10 bg-oGray relative rounded-lg overflow-hidden",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-gradient-to-r from-red-500 via-yellow-500 to-green-500 opacity-20"}),I.dischargeLimit&&(0,s.jsx)("div",{className:"absolute h-full border-r-2 border-yellow-500 border-dashed",style:{left:"".concat(100*I.dischargeLimit,"%")},children:(0,s.jsx)("div",{className:"absolute -right-1 top-0 w-2 h-2 bg-yellow-500 rounded-full"})}),(0,s.jsx)("div",{className:"h-full ".concat(D?"bg-gradient-to-r from-green-600 to-green-400":"bg-gradient-to-r from-orange-500 via-yellow-400 to-green-500"),style:{width:"".concat(I.stateOfCharge,"%")},children:(0,s.jsxs)("div",{className:"absolute top-0 h-full border-r-2 border-white",style:{left:"".concat(I.stateOfCharge,"%")},children:[(0,s.jsx)("div",{className:"absolute -right-1 top-0 w-2 h-2 bg-white rounded-full"}),(0,s.jsxs)("div",{className:"absolute -right-6 -top-6 bg-oGray2 px-1 py-0.5 rounded text-xs text-white",children:[I.stateOfCharge.toFixed(0),"%"]})]})})]}),(0,s.jsxs)("div",{className:"flex justify-between mt-2",children:[(0,s.jsxs)("div",{className:"text-xs text-white flex items-center",children:[(0,s.jsx)("div",{className:"w-3 h-3 bg-red-500 rounded-full mr-1"}),"Empty"]}),(0,s.jsx)("div",{className:"text-xs text-white bg-oGray2 px-2 py-1 rounded",children:D?"Charging":I.timeRemaining?"Time remaining: ".concat((I.timeRemaining/3600).toFixed(1)," h"):"Est. time: ".concat((I.stateOfCharge/(I.current/100)).toFixed(1)," h")}),(0,s.jsxs)("div",{className:"text-xs text-white flex items-center",children:[(0,s.jsx)("div",{className:"w-3 h-3 bg-green-500 rounded-full mr-1"}),"Full"]})]})]})]}),(0,s.jsxs)("div",{className:"bg-oGray2 rounded-lg p-4",children:[(0,s.jsx)("div",{className:"text-gray-400 text-sm font-medium mb-2",children:"POWER CONSUMPTION"}),(0,s.jsxs)("div",{className:"mb-4",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center mb-1",children:[(0,s.jsxs)("div",{className:"flex items-center",children:[(0,s.jsx)(c.G,{icon:n.zvy,className:"text-gray-400 mr-2"}),(0,s.jsx)("span",{className:"text-white",children:"Autopilot"}),I.autopilotState&&(0,s.jsx)("span",{className:"ml-2 px-1.5 py-0.5 bg-green-900 text-green-400 text-xs rounded",children:"Active"})]}),(0,s.jsxs)("div",{className:"text-sm text-white font-bold",children:[I.autopilotState?(.4*I.current).toFixed(1):"0.0","%"]})]}),(0,s.jsx)("div",{className:"h-2 bg-oGray rounded-full overflow-hidden",children:(0,s.jsx)("div",{className:"h-full bg-blue-500",style:{width:"".concat(I.autopilotState?Math.min(80,.8*I.current):0,"%")}})})]}),(0,s.jsxs)("div",{className:"mb-4",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center mb-1",children:[(0,s.jsxs)("div",{className:"flex items-center",children:[(0,s.jsx)(c.G,{icon:n.ESn,className:"text-gray-400 mr-2"}),(0,s.jsx)("span",{className:"text-white",children:"Navigation Instruments"})]}),(0,s.jsxs)("div",{className:"text-sm text-white font-bold",children:[(.3*I.current).toFixed(1),"%"]})]}),(0,s.jsx)("div",{className:"h-2 bg-oGray rounded-full overflow-hidden",children:(0,s.jsx)("div",{className:"h-full bg-cyan-500",style:{width:"".concat(Math.min(60,.6*I.current),"%")}})})]}),(0,s.jsxs)("div",{className:"mb-4",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center mb-1",children:[(0,s.jsxs)("div",{className:"flex items-center",children:[(0,s.jsx)(c.G,{icon:n.BDt,className:"text-gray-400 mr-2"}),(0,s.jsx)("span",{className:"text-white",children:"Navigation Lights"}),I.navigationLightsOn&&(0,s.jsx)("span",{className:"ml-2 px-1.5 py-0.5 bg-green-900 text-green-400 text-xs rounded",children:"On"})]}),(0,s.jsxs)("div",{className:"text-sm text-white font-bold",children:[(I.navigationLightsOn?.2:0).toFixed(1),"%"]})]}),(0,s.jsx)("div",{className:"h-2 bg-oGray rounded-full overflow-hidden",children:(0,s.jsx)("div",{className:"h-full bg-amber-500",style:{width:"".concat(I.navigationLightsOn?15:0,"%")}})})]}),P&&(0,s.jsxs)("div",{className:"mb-4",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center mb-1",children:[(0,s.jsxs)("div",{className:"flex items-center",children:[(0,s.jsx)(c.G,{icon:n.ccn,className:"text-gray-400 mr-2"}),(0,s.jsx)("span",{className:"text-white",children:"Battery Temperature"})]}),(0,s.jsxs)("div",{className:"text-sm text-white font-bold",children:[(.01*I.temperature).toFixed(1),"%"]})]}),(0,s.jsx)("div",{className:"h-2 bg-oGray rounded-full overflow-hidden",children:(0,s.jsx)("div",{className:"h-full bg-orange-500",style:{width:"".concat(Math.min(30,.5*I.temperature),"%")}})})]}),(0,s.jsxs)("div",{className:"mt-8 rightPaneBg bg-opacity-50 p-3 rounded-lg text-sm",children:[(0,s.jsx)("div",{className:"text-white font-medium mb-2",children:"MARINE POWER SAVING TIPS"}),(0,s.jsxs)("div",{className:"flex items-center text-green-400 mb-1",children:[(0,s.jsx)(c.G,{icon:n.BDt,className:"mr-2"}),(0,s.jsxs)("span",{children:["Turn off navigation lights during daylight to save ~",(.8*I.voltage).toFixed(1)," W"]})]}),(0,s.jsxs)("div",{className:"flex items-center text-green-400 mb-1",children:[(0,s.jsx)(c.G,{icon:n.zvy,className:"mr-2"}),(0,s.jsx)("span",{children:"Use wind vane steering when possible instead of autopilot"})]}),(0,s.jsxs)("div",{className:"flex items-center text-amber-400",children:[(0,s.jsx)(c.G,{icon:n.ESn,className:"mr-2"}),(0,s.jsxs)("span",{children:["Current power usage: ",(I.voltage*I.current).toFixed(1)," W"]})]})]})]}),(0,s.jsxs)("div",{className:"grid grid-cols-3 gap-4 mt-6 text-center",children:[(0,s.jsxs)("div",{className:"bg-oGray2 p-3 rounded-lg",children:[(0,s.jsx)("div",{className:"text-xs text-gray-400",children:"VOLTAGE"}),(0,s.jsxs)("div",{className:"text-lg font-bold text-white",children:[I.voltage.toFixed(1),"V"]}),I.voltageRipple&&(0,s.jsxs)("div",{className:"text-xs text-gray-400 mt-1",children:["Ripple: ",I.voltageRipple.toFixed(2),"V"]})]}),(0,s.jsxs)("div",{className:"bg-oGray2 p-3 rounded-lg",children:[(0,s.jsx)("div",{className:"text-xs text-gray-400",children:"CURRENT"}),(0,s.jsxs)("div",{className:"text-lg font-bold text-white",children:[I.current.toFixed(1),"A"]})]}),(0,s.jsxs)("div",{className:"bg-oGray2 p-3 rounded-lg",children:[(0,s.jsx)("div",{className:"text-xs text-gray-400",children:"POWER"}),(0,s.jsxs)("div",{className:"text-lg font-bold text-white",children:[(I.voltage*I.current).toFixed(0),"W"]})]})]})]})]}),"graph"===h&&(0,s.jsxs)("div",{className:"p-4 flex flex-col flex-1 min-h-0 rightPaneBg",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,s.jsx)("h2",{className:"text-xl font-bold text-white",children:"Consumption Graph"}),(0,s.jsxs)("div",{className:"flex space-x-2 bg-oGray2 rounded-lg overflow-hidden p-1",children:[(0,s.jsx)("button",{className:"px-3 py-1 rounded text-sm transition-all ".concat("voltage"===u?"bg-oGray text-white":"text-gray-400"),onClick:()=>v("voltage"),children:"Voltage"}),(0,s.jsx)("button",{className:"px-3 py-1 rounded text-sm transition-all ".concat("current"===u?"bg-oGray text-white":"text-gray-400"),onClick:()=>v("current"),children:"Current"}),(0,s.jsx)("button",{className:"px-3 py-1 rounded text-sm transition-all ".concat("soc"===u?"bg-oGray text-white":"text-gray-400"),onClick:()=>v("soc"),children:"SoC %"}),P&&(0,s.jsx)("button",{className:"px-3 py-1 rounded text-sm transition-all ".concat("temperature"===u?"bg-oGray text-white":"text-gray-400"),onClick:()=>v("temperature"),children:"Temp"})]})]}),(0,s.jsx)("div",{className:"bg-oGray2 rounded-lg p-4 mb-6",children:(0,s.jsxs)("div",{className:"h-72 relative px-4 pb-6 pt-2 overflow-hidden",children:["voltage"===u&&(0,s.jsx)(d,{data:E,dataKey:"voltage",color:"#3b82f6",scale:F.voltage,label:"Voltage",unit:"V",showPoints:!0,fillGradient:!0}),"current"===u&&(0,s.jsx)(d,{data:E,dataKey:"current",color:"#ef4444",scale:F.current,label:"Current",unit:"A",showPoints:!0,fillGradient:!0}),"soc"===u&&(0,s.jsx)(d,{data:E,dataKey:"stateOfCharge",color:"#22c55e",scale:F.soc,label:"State of Charge",unit:"%",showPoints:!0,fillGradient:!0}),"temperature"===u&&P&&(0,s.jsx)(d,{data:E,dataKey:"temperature",color:"#f97316",scale:F.temperature,label:"Temperature",unit:"\xb0C",showPoints:!0,fillGradient:!0})]})}),(0,s.jsxs)("div",{className:"bg-oGray2 rounded-lg p-4",children:[(0,s.jsx)("div",{className:"text-gray-400 text-sm font-medium mb-4",children:"DETAILED CONSUMPTION BREAKDOWN"}),(0,s.jsxs)("div",{className:"grid grid-cols-1 gap-6",children:[(0,s.jsx)("div",{className:"border-l-4 border-green-500 pl-4",children:(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-sm text-gray-400",children:"REAL/NOMINAL"}),(0,s.jsx)("div",{className:"text-lg font-bold text-white",children:"-0.9%"})]}),(0,s.jsx)("div",{className:"w-1/2",children:(0,s.jsx)("div",{className:"h-2 bg-oGray rounded-full overflow-hidden",children:(0,s.jsx)("div",{className:"h-full bg-green-500",style:{width:"20%"}})})})]})}),(0,s.jsx)("div",{className:"border-l-4 border-blue-500 pl-4",children:(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-sm text-gray-400",children:"AVERAGE CONSUMPTION"}),(0,s.jsxs)("div",{className:"text-lg font-bold text-white",children:[(I.voltage*I.current/100).toFixed(1)," kWh/100km"]})]}),(0,s.jsx)("div",{className:"w-1/2",children:(0,s.jsx)("div",{className:"h-2 bg-oGray rounded-full overflow-hidden",children:(0,s.jsx)("div",{className:"h-full bg-blue-500",style:{width:"35%"}})})})]})}),(0,s.jsx)("div",{className:"border-l-4 border-orange-500 pl-4",children:(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-sm text-gray-400",children:"TEMPERATURE IMPACT"}),(0,s.jsx)("div",{className:"text-lg font-bold text-white",children:P?"".concat((.05*I.temperature).toFixed(1),"%"):"0.0%"})]}),(0,s.jsx)("div",{className:"w-1/2",children:(0,s.jsx)("div",{className:"h-2 bg-oGray rounded-full overflow-hidden",children:(0,s.jsx)("div",{className:"h-full bg-orange-500",style:{width:P?"".concat(Math.min(50,I.temperature),"%"):"10%"}})})})]})})]})]})]}),"performance"===h&&(0,s.jsxs)("div",{className:"p-4 flex flex-col flex-1 min-h-0 rightPaneBg",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,s.jsx)("h2",{className:"text-xl font-bold text-white",children:"Performance Metrics"}),(0,s.jsxs)("div",{className:"flex space-x-2 bg-oGray2 rounded-lg overflow-hidden p-1",children:[(0,s.jsx)("button",{className:"px-3 py-1 rounded text-sm transition-all ".concat("fps"===f?"bg-oGray text-white":"text-gray-400"),onClick:()=>j("fps"),children:"FPS"}),(0,s.jsx)("button",{className:"px-3 py-1 rounded text-sm transition-all ".concat("drawCalls"===f?"bg-oGray text-white":"text-gray-400"),onClick:()=>j("drawCalls"),children:"Calls"}),(0,s.jsx)("button",{className:"px-3 py-1 rounded text-sm transition-all ".concat("triangles"===f?"bg-oGray text-white":"text-gray-400"),onClick:()=>j("triangles"),children:"Triangles"}),(0,s.jsx)("button",{className:"px-3 py-1 rounded text-sm transition-all ".concat("memory"===f?"bg-oGray text-white":"text-gray-400"),onClick:()=>j("memory"),children:"Memory"})]})]}),(0,s.jsx)("div",{className:"bg-oGray2 rounded-lg p-4 mb-6",children:(0,s.jsxs)("div",{className:"h-72 relative px-4 pb-6 pt-2 overflow-hidden rounded-lg",children:["fps"===f&&(0,s.jsx)(d,{data:O,dataKey:"fps",color:"#06b6d4",scale:M.fps,label:"FPS",unit:"",showPoints:!0,fillGradient:!0}),"drawCalls"===f&&(0,s.jsx)(d,{data:O,dataKey:"drawCalls",color:"#8b5cf6",scale:M.drawCalls,label:"Draw Calls",unit:"",showPoints:!0,fillGradient:!0}),"triangles"===f&&(0,s.jsx)(d,{data:O,dataKey:"triangles",color:"#6366f1",scale:M.triangles,label:"Triangles",unit:"",showPoints:!0,fillGradient:!0}),"memory"===f&&(0,s.jsx)(d,{data:O,dataKey:"memory",color:"#10b981",scale:M.memory,label:"Memory",unit:" MB",showPoints:!0,fillGradient:!0})]})}),(0,s.jsxs)("div",{className:"bg-oGray2 rounded-lg p-4",children:[(0,s.jsx)("div",{className:"text-gray-400 text-sm font-medium mb-4",children:"HARDWARE PERFORMANCE STATS"}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,s.jsx)("div",{className:"border-l-4 border-cyan-500 pl-4",children:(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-sm text-gray-400",children:"CURRENT FPS"}),(0,s.jsx)("div",{className:"text-lg font-bold text-white",children:O[O.length-1].fps.toFixed(1)})]}),(0,s.jsx)("div",{className:"w-1/2",children:(0,s.jsx)("div",{className:"h-2 bg-oGray rounded-full overflow-hidden",children:(0,s.jsx)("div",{className:"h-full bg-cyan-500",style:{width:"".concat(Math.min(100,O[O.length-1].fps/60*100),"%")}})})})]})}),(0,s.jsx)("div",{className:"border-l-4 border-purple-500 pl-4",children:(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-sm text-gray-400",children:"FRAME TIME"}),(0,s.jsxs)("div",{className:"text-lg font-bold text-white",children:[O[O.length-1].ms.toFixed(1)," ms"]})]}),(0,s.jsx)("div",{className:"w-1/2",children:(0,s.jsx)("div",{className:"h-2 bg-oGray rounded-full overflow-hidden",children:(0,s.jsx)("div",{className:"h-full bg-purple-500",style:{width:"".concat(Math.min(100,100-O[O.length-1].ms/33.33*100),"%")}})})})]})})]}),(0,s.jsxs)("div",{className:"grid grid-cols-3 gap-4 mt-6",children:[(0,s.jsxs)("div",{className:"rightPaneBg bg-opacity-50 p-3 rounded-lg text-center",children:[(0,s.jsx)("div",{className:"text-xs text-gray-400",children:"DRAW CALLS"}),(0,s.jsx)("div",{className:"text-lg font-bold text-white",children:O[O.length-1].drawCalls})]}),(0,s.jsxs)("div",{className:"rightPaneBg bg-opacity-50 p-3 rounded-lg text-center",children:[(0,s.jsx)("div",{className:"text-xs text-gray-400",children:"TRIANGLES"}),(0,s.jsxs)("div",{className:"text-lg font-bold text-white",children:[(O[O.length-1].triangles/1e3).toFixed(1),"k"]})]}),(0,s.jsxs)("div",{className:"rightPaneBg bg-opacity-50 p-3 rounded-lg text-center",children:[(0,s.jsx)("div",{className:"text-xs text-gray-400",children:"MEMORY"}),(0,s.jsxs)("div",{className:"text-lg font-bold text-white",children:[O[O.length-1].memory," MB"]})]})]}),(0,s.jsxs)("div",{className:"mt-6 rightPaneBg bg-opacity-50 p-3 rounded-lg text-sm",children:[(0,s.jsx)("div",{className:"text-white font-medium mb-2",children:"SYSTEM INFO"}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,s.jsxs)("div",{className:"flex items-center text-gray-300",children:[(0,s.jsx)(c.G,{icon:n.zvy,className:"mr-2 text-cyan-400"}),(0,s.jsx)("span",{children:"GPU: WebGL Renderer"})]}),(0,s.jsxs)("div",{className:"flex items-center text-gray-300",children:[(0,s.jsx)(c.G,{icon:n.$v3,className:"mr-2 text-green-400"}),(0,s.jsxs)("span",{children:["Textures: ",O[O.length-1].textures||0]})]}),(0,s.jsxs)("div",{className:"flex items-center text-gray-300",children:[(0,s.jsx)(c.G,{icon:n.hGM,className:"mr-2 text-purple-400"}),(0,s.jsxs)("span",{children:["Geometries: ",O[O.length-1].geometries||0]})]}),(0,s.jsxs)("div",{className:"flex items-center text-gray-300",children:[(0,s.jsx)(c.G,{icon:n.dT$,className:"mr-2 text-blue-400"}),(0,s.jsxs)("span",{children:["Three.js ",o.UZH]})]})]})]})]})]})]})]})}},15008:function(e,t,a){a.d(t,{Si:function(){return l},d3:function(){return i},vp:function(){return s},z:function(){return r}});let s={WARNING_THRESHOLD:50,DANGER_THRESHOLD:20,CHARGING_THRESHOLD:13.2,MIN_VOLTAGE:10.5,MAX_VOLTAGE:14.4},l=e=>{if(!e||"number"!=typeof e)return 0;if(e>=13)return 100;if(e<=s.MIN_VOLTAGE)return 0;let t=[{voltage:12.85,soc:100},{voltage:12.75,soc:90},{voltage:12.65,soc:80},{voltage:12.55,soc:70},{voltage:12.45,soc:60},{voltage:12.35,soc:50},{voltage:12.25,soc:40},{voltage:12.15,soc:30},{voltage:12.05,soc:20},{voltage:11.95,soc:15},{voltage:11.8,soc:10},{voltage:11.6,soc:5},{voltage:10.5,soc:0}];for(let a=0;a<t.length-1;a++)if(e>=t[a+1].voltage){let s=t[a].voltage,l=t[a+1].voltage,i=t[a].soc,r=t[a+1].soc;return Math.round(r+(e-l)/(s-l)*(i-r))}return 0},i=e=>e>s.CHARGING_THRESHOLD,r=e=>e>s.WARNING_THRESHOLD?"bg-oGreen":e>s.DANGER_THRESHOLD?"bg-oYellow":"bg-oRed"}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[73],{69073:function(e,s,l){l.r(s);var a=l(57437),t=l(2265),n=l(63321);s.default=e=>{var s,l,r,c,i,o,d;let{onSave:m}=e,x=n.Z.getAll(),u=n.Z.getComputedSignalKUrl(),h=n.Z.getBoatsData(),[p,g]=(0,t.useState)(x),[b,j]=(0,t.useState)(x.useAuthentication||!!x.username||!!x.password),[v,N]=(0,t.useState)(x.signalKUrlSet||!1),[f,k]=(0,t.useState)(null),[U,y]=(0,t.useState)(!1),[w,C]=(0,t.useState)({visible:!1,message:""}),S=(0,t.useCallback)(e=>{y(JSON.stringify(e)!==JSON.stringify(x))},[x]);(0,t.useEffect)(()=>{(async()=>{let e=n.Z.getAll();g(e),N(e.signalKUrlSet||!1),j(e.useAuthentication||!!e.username||!!e.password),e.selectedBoat&&k(h.find(s=>s.name===e.selectedBoat)||null)})()},[h]);let E=e=>{let s={...p,...e};g(s),S(s);let l={...s};e.hasOwnProperty("signalKUrlSet")?!1===e.signalKUrlSet&&(l.signalkUrl=u,l.username="",l.password=""):v||e.hasOwnProperty("signalkUrl")?b||(l.username="",l.password=""):(l.signalkUrl=u,l.username="",l.password=""),n.Z.saveConfig(l),null==m||m(l),y(!1),C({visible:!0,message:"Settings saved automatically"}),setTimeout(()=>C({visible:!1,message:""}),2e3)};return(0,a.jsxs)("div",{className:"p-4 text-white",children:[(0,a.jsxs)("h1",{className:"text-2xl font-bold mb-4 flex justify-between items-center",children:["Ocearo Configuration",w.visible&&(0,a.jsx)("span",{className:"text-sm font-normal bg-green-500 text-white px-3 py-1 rounded-full animate-pulse",children:w.message})]}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("h2",{className:"text-xl font-semibold",children:"Connection Settings"}),(0,a.jsx)("div",{children:(0,a.jsxs)("label",{className:"flex items-center",children:[(0,a.jsx)("input",{type:"checkbox",className:"mr-2",checked:v,onChange:e=>{N(e.target.checked),E({signalKUrlSet:e.target.checked})}}),"Set SignalK URL",!v&&(0,a.jsxs)("span",{className:"ml-2",children:["(",u,")"]})]})}),v&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block font-medium mb-1",children:"SignalK Server URL:"}),(0,a.jsx)("input",{type:"text",className:"border p-2 w-full text-black rounded",value:p.signalkUrl||"",onChange:e=>E({signalkUrl:e.target.value})})]}),(0,a.jsx)("div",{children:(0,a.jsxs)("label",{className:"flex items-center",children:[(0,a.jsx)("input",{type:"checkbox",className:"mr-2",checked:b,onChange:e=>{j(e.target.checked),E({useAuthentication:e.target.checked})}}),"Use Authentication"]})}),b&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block font-medium mb-1",children:"Username:"}),(0,a.jsx)("input",{type:"text",className:"border p-2 w-full text-black rounded",value:p.username||"",onChange:e=>E({username:e.target.value})})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block font-medium mb-1",children:"Password:"}),(0,a.jsx)("input",{type:"password",className:"border p-2 w-full text-black rounded",value:p.password||"",onChange:e=>E({password:e.target.value})})]})]})]})]}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("h2",{className:"text-xl font-semibold",children:"Vessel Settings"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block font-medium mb-1",children:"Select Vessel:"}),(0,a.jsxs)("select",{className:"border p-2 w-full text-black rounded",value:p.selectedBoat||"",onChange:e=>{let s=e.target.value;k(h.find(e=>e.name===s)||null),E({selectedBoat:s})},children:[(0,a.jsx)("option",{value:"",children:"-- Select a Vessel --"}),h.map(e=>(0,a.jsx)("option",{value:e.name,children:e.name},e.name))]})]}),f&&(0,a.jsxs)("div",{className:"space-y-2 text-sm text-gray-400",children:[(0,a.jsxs)("div",{children:["3D Model: ",f.modelPath]}),(0,a.jsxs)("div",{children:["Features: ",null===(s=f.capabilities)||void 0===s?void 0:s.join(", ")]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block font-medium mb-1",children:"Vessel Color:"}),(0,a.jsx)("input",{type:"color",className:"w-full h-10 rounded",value:p.primaryColor||"#000000",onChange:e=>E({primaryColor:e.target.value})})]}),(0,a.jsx)("div",{children:(0,a.jsxs)("label",{className:"flex items-center",children:[(0,a.jsx)("input",{type:"checkbox",className:"mr-2",checked:p.metallicEffect||!1,onChange:e=>E({metallicEffect:e.target.checked})}),"Enable Metallic Effect"]})})]}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("h2",{className:"text-xl font-semibold",children:"Display Settings"}),(0,a.jsx)("div",{children:(0,a.jsxs)("label",{className:"flex items-center text-base",children:[(0,a.jsx)("input",{type:"checkbox",className:"mr-3 h-5 w-5",checked:p.compassNorthUp||!1,onChange:e=>E({compassNorthUp:e.target.checked})}),(0,a.jsxs)("span",{children:["Compass Mode: North at Top",(0,a.jsx)("div",{className:"text-sm text-gray-400",children:p.compassNorthUp?"North at top (land navigation style)":"North at bottom (marine navigation style)"})]})]})}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("label",{className:"block text-sm font-medium",children:["AIS Length Scaling Factor",(0,a.jsx)("div",{className:"text-xs text-gray-500",children:"Controls the scaling of AIS boats on the map (0.1 - 2.0)"})]}),(0,a.jsxs)("div",{className:"flex items-center space-x-4",children:[(0,a.jsx)("span",{className:"text-sm",children:"0.1"}),(0,a.jsx)("input",{type:"range",className:"w-full h-10 appearance-none bg-gray-700 rounded-lg outline-none cursor-pointer",style:{WebkitAppearance:"none",appearance:"none",height:"20px",background:"linear-gradient(to right, #1E3A8A, #3B82F6)",borderRadius:"10px"},min:"0.1",max:"2.0",step:"0.1",value:p.aisLengthScalingFactor||.7,onChange:e=>E({aisLengthScalingFactor:parseFloat(e.target.value)})}),(0,a.jsx)("span",{className:"text-sm",children:"2.0"}),(0,a.jsx)("span",{className:"text-base font-semibold bg-blue-500 px-3 py-1 rounded-lg min-w-[3.5rem] text-center",children:p.aisLengthScalingFactor||.7})]})]})]}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("h2",{className:"text-xl font-semibold",children:"Advanced Settings"}),(0,a.jsx)("div",{children:(0,a.jsxs)("label",{className:"flex items-center",children:[(0,a.jsx)("input",{type:"checkbox",className:"mr-2",checked:p.debugMode||!1,onChange:e=>E({debugMode:e.target.checked,signalkUrl:u})}),"Debug Mode"]})}),(0,a.jsx)("div",{children:(0,a.jsxs)("label",{className:"flex items-center",children:[(0,a.jsx)("input",{type:"checkbox",className:"mr-2",checked:p.showCustomUrls||!1,onChange:e=>E({showCustomUrls:e.target.checked})}),"Set Custom External Tools URLs"]})}),p.showCustomUrls&&(0,a.jsxs)("div",{className:"space-y-4 p-4 border border-gray-700 rounded-lg",children:[(0,a.jsx)("h3",{className:"text-lg font-medium",children:"Custom External URLs"}),(0,a.jsxs)("p",{className:"text-sm text-gray-400 mb-4",children:["Customize URLs for external tools. Use ",(0,a.jsx)("code",{children:"${signalkUrl}"})," as placeholder for the SignalK URL, and ",(0,a.jsx)("code",{children:"${latitude}"})," or ",(0,a.jsx)("code",{children:"${longitude}"})," for position values. Leave empty to use the default URL."]}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block font-medium mb-1",children:"Navigation URL:"}),(0,a.jsx)("input",{type:"text",className:"border p-2 w-full text-black rounded",placeholder:"${signalkUrl}/@signalk/freeboard-sk/",value:(null===(l=p.customExternalUrls)||void 0===l?void 0:l.navigation)||"",onChange:e=>{let s={...p.customExternalUrls};s.navigation=e.target.value,E({customExternalUrls:s})}})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block font-medium mb-1",children:"Instrument URL:"}),(0,a.jsx)("input",{type:"text",className:"border p-2 w-full text-black rounded",placeholder:"${signalkUrl}/@mxtommy/kip/",value:(null===(r=p.customExternalUrls)||void 0===r?void 0:r.instrument)||"",onChange:e=>{let s={...p.customExternalUrls};s.instrument=e.target.value,E({customExternalUrls:s})}})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block font-medium mb-1",children:"Dashboard URL:"}),(0,a.jsx)("input",{type:"text",className:"border p-2 w-full text-black rounded",placeholder:"${signalkUrl}/grafana",value:(null===(c=p.customExternalUrls)||void 0===c?void 0:c.dashboard)||"",onChange:e=>{let s={...p.customExternalUrls};s.dashboard=e.target.value,E({customExternalUrls:s})}})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block font-medium mb-1",children:"Webcam 1 URL:"}),(0,a.jsx)("input",{type:"text",className:"border p-2 w-full text-black rounded",placeholder:"https://example.com/webcam1",value:(null===(i=p.customExternalUrls)||void 0===i?void 0:i.webcam1)||"",onChange:e=>{let s={...p.customExternalUrls};s.webcam1=e.target.value,E({customExternalUrls:s})}})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block font-medium mb-1",children:"Webcam 2 URL:"}),(0,a.jsx)("input",{type:"text",className:"border p-2 w-full text-black rounded",placeholder:"https://example.com/webcam2",value:(null===(o=p.customExternalUrls)||void 0===o?void 0:o.webcam2)||"",onChange:e=>{let s={...p.customExternalUrls};s.webcam2=e.target.value,E({customExternalUrls:s})}})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block font-medium mb-1",children:"Weather URL:"}),(0,a.jsx)("input",{type:"text",className:"border p-2 w-full text-black rounded",placeholder:"https://embed.windy.com/embed.html?location=coordinates&lat=${latitude}&lon=${longitude}",value:(null===(d=p.customExternalUrls)||void 0===d?void 0:d.weather)||"",onChange:e=>{let s={...p.customExternalUrls};s.weather=e.target.value,E({customExternalUrls:s})}})]})]})]})]}),(0,a.jsx)("div",{className:"flex space-x-4 pt-4",children:(0,a.jsx)("button",{onClick:()=>{let e=n.Z.getDefaultConfig();g(e),j(!1),e.useAuthentication=!1,N(!1),e.signalKUrlSet=!1,e.showCustomUrls=!1,e.customExternalUrls={},n.Z.saveConfig(e),y(!1)},className:"bg-oRed text-white px-4 py-2 rounded hover:bg-red-600",children:"Reset Configuration"})})]})]})}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[676],{35217:function(c,l,n){n.d(l,{$v3:function(){return i},BDt:function(){return y},BQ9:function(){return x},DBF:function(){return R},DSs:function(){return T},ESn:function(){return B},Fuz:function(){return N},GTN:function(){return e},HLz:function(){return D},ItS:function(){return h},IyC:function(){return F},Kb6:function(){return I},L02:function(){return S},NBC:function(){return A},NId:function(){return q},RoX:function(){return E},Rpv:function(){return L},S9Y:function(){return j},SJR:function(){return X},Stf:function(){return C},TL5:function(){return _},Tr1:function(){return a},XEC:function(){return M},Xjp:function(){return d},Zkk:function(){return w},ccn:function(){return r},d8e:function(){return G},dT$:function(){return m},hGM:function(){return p},iGi:function(){return v},jOV:function(){return u},lnS:function(){return b},mDh:function(){return k},q16:function(){return f},szN:function(){return g},tLL:function(){return z},uM9:function(){return s},whq:function(){return o},zvy:function(){return t}});let s={prefix:"fas",iconName:"cloud",icon:[640,512,[9729],"f0c2","M0 336c0 79.5 64.5 144 144 144l368 0c70.7 0 128-57.3 128-128c0-61.9-44-113.6-102.4-125.4c4.1-10.7 6.4-22.4 6.4-34.6c0-53-43-96-96-96c-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32C167.6 32 96 103.6 96 192c0 2.7 .1 5.4 .2 8.1C40.2 219.8 0 273.2 0 336z"]},e={prefix:"fas",iconName:"compass",icon:[512,512,[129517],"f14e","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm50.7-186.9L162.4 380.6c-19.4 7.5-38.5-11.6-31-31l55.5-144.3c3.3-8.5 9.9-15.1 18.4-18.4l144.3-55.5c19.4-7.5 38.5 11.6 31 31L325.1 306.7c-3.2 8.5-9.9 15.1-18.4 18.4zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]},i={prefix:"fas",iconName:"memory",icon:[576,512,[],"f538","M64 64C28.7 64 0 92.7 0 128l0 7.4c0 6.8 4.4 12.6 10.1 16.3C23.3 160.3 32 175.1 32 192s-8.7 31.7-21.9 40.3C4.4 236 0 241.8 0 248.6L0 320l576 0 0-71.4c0-6.8-4.4-12.6-10.1-16.3C552.7 223.7 544 208.9 544 192s8.7-31.7 21.9-40.3c5.7-3.7 10.1-9.5 10.1-16.3l0-7.4c0-35.3-28.7-64-64-64L64 64zM576 352L0 352l0 64c0 17.7 14.3 32 32 32l48 0 0-32c0-8.8 7.2-16 16-16s16 7.2 16 16l0 32 96 0 0-32c0-8.8 7.2-16 16-16s16 7.2 16 16l0 32 96 0 0-32c0-8.8 7.2-16 16-16s16 7.2 16 16l0 32 96 0 0-32c0-8.8 7.2-16 16-16s16 7.2 16 16l0 32 48 0c17.7 0 32-14.3 32-32l0-64zM192 160l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32s32 14.3 32 32z"]},f={prefix:"fas",iconName:"gas-pump",icon:[512,512,[9981],"f52f","M32 64C32 28.7 60.7 0 96 0L256 0c35.3 0 64 28.7 64 64l0 192 8 0c48.6 0 88 39.4 88 88l0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-154c-27.6-7.1-48-32.2-48-62l0-64L384 64c-8.8-8.8-8.8-23.2 0-32s23.2-8.8 32 0l77.3 77.3c12 12 18.7 28.3 18.7 45.3l0 13.5 0 24 0 32 0 152c0 39.8-32.2 72-72 72s-72-32.2-72-72l0-32c0-22.1-17.9-40-40-40l-8 0 0 144c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 512c-17.7 0-32-14.3-32-32s14.3-32 32-32L32 64zM96 80l0 96c0 8.8 7.2 16 16 16l128 0c8.8 0 16-7.2 16-16l0-96c0-8.8-7.2-16-16-16L112 64c-8.8 0-16 7.2-16 16z"]},r={prefix:"fas",iconName:"temperature-half",icon:[320,512,[127777,"temperature-2","thermometer-2","thermometer-half"],"f2c9","M160 64c-26.5 0-48 21.5-48 48l0 164.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5L208 112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112l0 164.4c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6L48 112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3L144 208c0-8.8 7.2-16 16-16s16 7.2 16 16l0 114.7c18.6 6.6 32 24.4 32 45.3z"]},o=r,a={prefix:"fas",iconName:"charging-station",icon:[576,512,[],"f5e7","M96 0C60.7 0 32 28.7 32 64l0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-144 16 0c22.1 0 40 17.9 40 40l0 32c0 39.8 32.2 72 72 72s72-32.2 72-72l0-123.7c32.5-10.2 56-40.5 56-76.3l0-32c0-8.8-7.2-16-16-16l-16 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-32 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-16 0c-8.8 0-16 7.2-16 16l0 32c0 35.8 23.5 66.1 56 76.3L472 376c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-32c0-48.6-39.4-88-88-88l-16 0 0-192c0-35.3-28.7-64-64-64L96 0zM216.9 82.7c6 4 8.5 11.5 6.3 18.3l-25 74.9 57.8 0c6.7 0 12.7 4.2 15 10.4s.5 13.3-4.6 17.7l-112 96c-5.5 4.7-13.4 5.1-19.3 1.1s-8.5-11.5-6.3-18.3l25-74.9L96 208c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7l112-96c5.5-4.7 13.4-5.1 19.3-1.1z"]},t={prefix:"fas",iconName:"microchip",icon:[512,512,[],"f2db","M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c-35.3 0-64 28.7-64 64l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c0 35.3 28.7 64 64 64l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c35.3 0 64-28.7 64-64l40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0c0-35.3-28.7-64-64-64l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40zM160 128l192 0c17.7 0 32 14.3 32 32l0 192c0 17.7-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32l0-192c0-17.7 14.3-32 32-32zm192 32l-192 0 0 192 192 0 0-192z"]},L={prefix:"fas",iconName:"fire",icon:[448,512,[128293],"f06d","M159.3 5.4c7.8-7.3 19.9-7.2 27.7 .1c27.6 25.9 53.5 53.8 77.7 84c11-14.4 23.5-30.1 37-42.9c7.9-7.4 20.1-7.4 28 .1c34.6 33 63.9 76.6 84.5 118c20.3 40.8 33.8 82.5 33.8 111.9C448 404.2 348.2 512 224 512C98.4 512 0 404.1 0 276.5c0-38.4 17.8-85.3 45.4-131.7C73.3 97.7 112.7 48.6 159.3 5.4zM225.7 416c25.3 0 47.7-7 68.8-21c42.1-29.4 53.4-88.2 28.1-134.4c-4.5-9-16-9.6-22.5-2l-25.2 29.3c-6.6 7.6-18.5 7.4-24.7-.5c-16.5-21-46-58.5-62.8-79.8c-6.3-8-18.3-8.1-24.7-.1c-33.8 42.5-50.8 69.3-50.8 99.4C112 375.4 162.6 416 225.7 416z"]},z={prefix:"fas",iconName:"map-location-dot",icon:[576,512,["map-marked-alt"],"f5a0","M408 120c0 54.6-73.1 151.9-105.2 192c-7.7 9.6-22 9.6-29.6 0C241.1 271.9 168 174.6 168 120C168 53.7 221.7 0 288 0s120 53.7 120 120zm8 80.4c3.5-6.9 6.7-13.8 9.6-20.6c.5-1.2 1-2.5 1.5-3.7l116-46.4C558.9 123.4 576 135 576 152l0 270.8c0 9.8-6 18.6-15.1 22.3L416 503l0-302.6zM137.6 138.3c2.4 14.1 7.2 28.3 12.8 41.5c2.9 6.8 6.1 13.7 9.6 20.6l0 251.4L32.9 502.7C17.1 509 0 497.4 0 480.4L0 209.6c0-9.8 6-18.6 15.1-22.3l122.6-49zM327.8 332c13.9-17.4 35.7-45.7 56.2-77l0 249.3L192 449.4 192 255c20.5 31.3 42.3 59.6 56.2 77c20.5 25.6 59.1 25.6 79.6 0zM288 152a40 40 0 1 0 0-80 40 40 0 1 0 0 80z"]},u={prefix:"fas",iconName:"snowflake",icon:[448,512,[10052,10054],"f2dc","M224 0c17.7 0 32 14.3 32 32l0 30.1 15-15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-49 49 0 70.3 61.4-35.8 17.7-66.1c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4l-5.2 19.3 23.6-13.8c15.3-8.9 34.9-3.7 43.8 11.5s3.8 34.9-11.5 43.8l-25.3 14.8 21.7 5.8c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-67.7-18.1L287.5 256l60.9 35.5 67.7-18.1c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4l-21.7 5.8 25.3 14.8c15.3 8.9 20.4 28.5 11.5 43.8s-28.5 20.4-43.8 11.5l-23.6-13.8 5.2 19.3c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-17.7-66.1L256 311.7l0 70.3 49 49c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15 0 30.1c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-30.1-15 15c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l49-49 0-70.3-61.4 35.8-17.7 66.1c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4l5.2-19.3L48.1 395.6c-15.3 8.9-34.9 3.7-43.8-11.5s-3.7-34.9 11.5-43.8l25.3-14.8-21.7-5.8c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l67.7 18.1L160.5 256 99.6 220.5 31.9 238.6c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4l21.7-5.8L15.9 171.6C.6 162.7-4.5 143.1 4.4 127.9s28.5-20.4 43.8-11.5l23.6 13.8-5.2-19.3c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l17.7 66.1L192 200.3l0-70.3L143 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l15 15L192 32c0-17.7 14.3-32 32-32z"]},m={prefix:"fas",iconName:"code",icon:[640,512,[],"f121","M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3L562.7 256l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z"]},M={prefix:"fas",iconName:"leaf",icon:[512,512,[],"f06c","M272 96c-78.6 0-145.1 51.5-167.7 122.5c33.6-17 71.5-26.5 111.7-26.5l88 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-16 0-72 0s0 0 0 0c-16.6 0-32.7 1.9-48.3 5.4c-25.9 5.9-49.9 16.4-71.4 30.7c0 0 0 0 0 0C38.3 298.8 0 364.9 0 440l0 16c0 13.3 10.7 24 24 24s24-10.7 24-24l0-16c0-48.7 20.7-92.5 53.8-123.2C121.6 392.3 190.3 448 272 448l1 0c132.1-.7 239-130.9 239-291.4c0-42.6-7.5-83.1-21.1-119.6c-2.6-6.9-12.7-6.6-16.2-.1C455.9 72.1 418.7 96 376 96L272 96z"]},C={prefix:"fas",iconName:"chart-line",icon:[512,512,["line-chart"],"f201","M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64L0 400c0 44.2 35.8 80 80 80l400 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 416c-8.8 0-16-7.2-16-16L64 64zm406.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L320 210.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L240 221.3l57.4 57.4c12.5 12.5 32.8 12.5 45.3 0l128-128z"]},p={prefix:"fas",iconName:"cube",icon:[512,512,[],"f1b2","M234.5 5.7c13.9-5 29.1-5 43.1 0l192 68.6C495 83.4 512 107.5 512 134.6l0 242.9c0 27-17 51.2-42.5 60.3l-192 68.6c-13.9 5-29.1 5-43.1 0l-192-68.6C17 428.6 0 404.5 0 377.4L0 134.6c0-27 17-51.2 42.5-60.3l192-68.6zM256 66L82.3 128 256 190l173.7-62L256 66zm32 368.6l160-57.1 0-188L288 246.6l0 188z"]},N={prefix:"fas",iconName:"circle-question",icon:[512,512,[62108,"question-circle"],"f059","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM169.8 165.3c7.9-22.3 29.1-37.3 52.8-37.3l58.3 0c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24l0-13.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1l-58.3 0c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"]},x={prefix:"fas",iconName:"square-parking",icon:[448,512,[127359,"parking"],"f540","M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM192 256l48 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-48 0 0 64zm48 64l-48 0 0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64 0-120c0-22.1 17.9-40 40-40l72 0c53 0 96 43 96 96s-43 96-96 96z"]},h={prefix:"fas",iconName:"headphones",icon:[512,512,[127911],"f025","M256 80C149.9 80 62.4 159.4 49.6 262c9.4-3.8 19.6-6 30.4-6c26.5 0 48 21.5 48 48l0 128c0 26.5-21.5 48-48 48c-44.2 0-80-35.8-80-80l0-16 0-48 0-48C0 146.6 114.6 32 256 32s256 114.6 256 256l0 48 0 48 0 16c0 44.2-35.8 80-80 80c-26.5 0-48-21.5-48-48l0-128c0-26.5 21.5-48 48-48c10.8 0 21 2.1 30.4 6C449.6 159.4 362.1 80 256 80z"]},d={prefix:"fas",iconName:"up-right-from-square",icon:[512,512,["external-link-alt"],"f35d","M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-128c0-17.7-14.3-32-32-32L352 0zM80 32C35.8 32 0 67.8 0 112L0 432c0 44.2 35.8 80 80 80l320 0c44.2 0 80-35.8 80-80l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 112c0 8.8-7.2 16-16 16L80 448c-8.8 0-16-7.2-16-16l0-320c0-8.8 7.2-16 16-16l112 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 32z"]},g={prefix:"fas",iconName:"table-cells",icon:[512,512,["th"],"f00a","M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm88 64l0 64-88 0 0-64 88 0zm56 0l88 0 0 64-88 0 0-64zm240 0l0 64-88 0 0-64 88 0zM64 224l88 0 0 64-88 0 0-64zm232 0l0 64-88 0 0-64 88 0zm64 0l88 0 0 64-88 0 0-64zM152 352l0 64-88 0 0-64 88 0zm56 0l88 0 0 64-88 0 0-64zm240 0l0 64-88 0 0-64 88 0z"]},k={prefix:"fas",iconName:"satellite",icon:[512,512,[128752],"f7bf","M233 7c-9.4-9.4-24.6-9.4-33.9 0l-96 96c-9.4 9.4-9.4 24.6 0 33.9l89.4 89.4-15.5 15.5C152.3 230.4 124.9 224 96 224c-31.7 0-61.5 7.7-87.8 21.2c-9 4.7-10.3 16.7-3.1 23.8L112.7 376.7 96.3 393.1c-2.6-.7-5.4-1.1-8.3-1.1c-17.7 0-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32c0-2.9-.4-5.6-1.1-8.3l16.4-16.4L242.9 506.9c7.2 7.2 19.2 5.9 23.8-3.1C280.3 477.5 288 447.7 288 416c0-28.9-6.4-56.3-17.8-80.9l15.5-15.5L375 409c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9l-89.4-89.4 55-55c12.5-12.5 12.5-32.8 0-45.3l-48-48c-12.5-12.5-32.8-12.5-45.3 0l-55 55L233 7zm159 351l-72.4-72.4 62.1-62.1L454.1 296 392 358.1zM226.3 192.4L153.9 120 216 57.9l72.4 72.4-62.1 62.1z"]},S={prefix:"fas",iconName:"water",icon:[576,512,[],"f773","M269.5 69.9c11.1-7.9 25.9-7.9 37 0C329 85.4 356.5 96 384 96c26.9 0 55.4-10.8 77.4-26.1c0 0 0 0 0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 149.7 417 160 384 160c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4C42.8 92.6 61 83.5 75.3 71.6c11.1-9.5 27.3-10.1 39.2-1.7c0 0 0 0 0 0C136.7 85.2 165.1 96 192 96c27.5 0 55-10.6 77.5-26.1zm37 288C329 373.4 356.5 384 384 384c26.9 0 55.4-10.8 77.4-26.1c0 0 0 0 0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 437.7 417 448 384 448c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7c0 0 0 0 0 0C136.7 373.2 165.1 384 192 384c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0zm0-144C329 229.4 356.5 240 384 240c26.9 0 55.4-10.8 77.4-26.1c0 0 0 0 0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 293.7 417 304 384 304c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.5 27.3-10.1 39.2-1.7c0 0 0 0 0 0C136.7 229.2 165.1 240 192 240c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z"]},b={prefix:"fas",iconName:"ship",icon:[576,512,[128674],"f21a","M192 32c0-17.7 14.3-32 32-32L352 0c17.7 0 32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 128 44.4 14.8c23.1 7.7 29.5 37.5 11.5 53.9l-101 92.6c-16.2 9.4-34.7 15.1-50.9 15.1c-19.6 0-40.8-7.7-59.2-20.3c-22.1-15.5-51.6-15.5-73.7 0c-17.1 11.8-38 20.3-59.2 20.3c-16.2 0-34.7-5.7-50.9-15.1l-101-92.6c-18-16.5-11.6-46.2 11.5-53.9L96 240l0-128c0-26.5 21.5-48 48-48l48 0 0-32zM160 218.7l107.8-35.9c13.1-4.4 27.3-4.4 40.5 0L416 218.7l0-90.7-256 0 0 90.7zM306.5 421.9C329 437.4 356.5 448 384 448c26.9 0 55.4-10.8 77.4-26.1c0 0 0 0 0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7c0 0 0 0 0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z"]},y={prefix:"fas",iconName:"bolt",icon:[448,512,[9889,"zap"],"f0e7","M349.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224c-10 8.8-13.6 22.9-8.9 35.3S50.7 288 64 288l111.5 0L98.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7l-111.5 0L349.4 44.6z"]},q={prefix:"fas",iconName:"toilet",icon:[448,512,[128701],"f7d8","M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48l8 0 0 148.9c-1.9 1.4-3.8 2.9-5.6 4.4C10.9 214.5 0 232.9 0 256c0 46.9 14.3 84.1 37 112.5c14.2 17.7 31.1 31.3 48.5 41.8L65.6 469.9c-3.3 9.8-1.6 20.5 4.4 28.8s15.7 13.3 26 13.3l256 0c10.3 0 19.9-4.9 26-13.3s7.7-19.1 4.4-28.8l-19.8-59.5c17.4-10.5 34.3-24.1 48.5-41.8c22.7-28.4 37-65.5 37-112.5c0-23.1-10.9-41.5-26.4-54.6c-1.8-1.5-3.7-3-5.6-4.4L416 48l8 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 0zM384 256.3c0 1-.3 2.6-3.8 5.6c-4.8 4.1-14 9-29.3 13.4C320.5 284 276.1 288 224 288s-96.5-4-126.9-12.8c-15.3-4.4-24.5-9.3-29.3-13.4c-3.5-3-3.8-4.6-3.8-5.6l0-.3c0 0 0-.1 0-.1c0-1 0-2.5 3.8-5.8c4.8-4.1 14-9 29.3-13.4C127.5 228 171.9 224 224 224s96.5 4 126.9 12.8c15.3 4.4 24.5 9.3 29.3 13.4c3.8 3.2 3.8 4.8 3.8 5.8c0 0 0 .1 0 .1l0 .3zM328.2 384l-.2 .5 0-.5 .2 0zM112 64l32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z"]},v={prefix:"fas",iconName:"handshake-angle",icon:[640,512,["hands-helping"],"f4c4","M544 248l0 3.3 69.7-69.7c21.9-21.9 21.9-57.3 0-79.2L535.6 24.4c-21.9-21.9-57.3-21.9-79.2 0L416.3 64.5c-2.7-.3-5.5-.5-8.3-.5L296 64c-37.1 0-67.6 28-71.6 64l-.4 0 0 120c0 22.1 17.9 40 40 40s40-17.9 40-40l0-72c0 0 0-.1 0-.1l0-15.9 16 0 136 0c0 0 0 0 .1 0l7.9 0c44.2 0 80 35.8 80 80l0 8zM336 192l0 56c0 39.8-32.2 72-72 72s-72-32.2-72-72l0-118.6c-35.9 6.2-65.8 32.3-76 68.2L99.5 255.2 26.3 328.4c-21.9 21.9-21.9 57.3 0 79.2l78.1 78.1c21.9 21.9 57.3 21.9 79.2 0l37.7-37.7c.9 0 1.8 .1 2.7 .1l160 0c26.5 0 48-21.5 48-48c0-5.6-1-11-2.7-16l2.7 0c26.5 0 48-21.5 48-48c0-12.8-5-24.4-13.2-33c25.7-5 45.1-27.6 45.2-54.8l0-.4c-.1-30.8-25.1-55.8-56-55.8c0 0 0 0 0 0l-120 0z"]},w={prefix:"fas",iconName:"droplet",icon:[384,512,[128167,"tint"],"f043","M192 512C86 512 0 426 0 320C0 228.8 130.2 57.7 166.6 11.7C172.6 4.2 181.5 0 191.1 0l1.8 0c9.6 0 18.5 4.2 24.5 11.7C253.8 57.7 384 228.8 384 320c0 106-86 192-192 192zM96 336c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 61.9 50.1 112 112 112c8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80-35.8-80-80z"]},B={prefix:"fas",iconName:"gauge-high",icon:[512,512,[62461,"tachometer-alt","tachometer-alt-fast"],"f625","M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]},D=B,E={prefix:"fas",iconName:"battery-full",icon:[576,512,[128267,"battery","battery-5"],"f240","M464 160c8.8 0 16 7.2 16 16l0 160c0 8.8-7.2 16-16 16L80 352c-8.8 0-16-7.2-16-16l0-160c0-8.8 7.2-16 16-16l384 0zM80 96C35.8 96 0 131.8 0 176L0 336c0 44.2 35.8 80 80 80l384 0c44.2 0 80-35.8 80-80l0-16c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l0-16c0-44.2-35.8-80-80-80L80 96zm368 96L96 192l0 128 352 0 0-128z"]},T={prefix:"fas",iconName:"wind",icon:[512,512,[],"f72e","M288 32c0 17.7 14.3 32 32 32l32 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 128c-17.7 0-32 14.3-32 32s14.3 32 32 32l320 0c53 0 96-43 96-96s-43-96-96-96L320 0c-17.7 0-32 14.3-32 32zm64 352c0 17.7 14.3 32 32 32l32 0c53 0 96-43 96-96s-43-96-96-96L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0c-17.7 0-32 14.3-32 32zM128 512l32 0c53 0 96-43 96-96s-43-96-96-96L32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32l128 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32z"]},_={prefix:"fas",iconName:"expand",icon:[448,512,[],"f065","M32 32C14.3 32 0 46.3 0 64l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32zM64 352c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32l-96 0zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32l0-96z"]},A={prefix:"fas",iconName:"xmark",icon:[384,512,[128473,10005,10006,10060,215,"close","multiply","remove","times"],"f00d","M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"]},G={prefix:"fas",iconName:"rotate",icon:[512,512,[128260,"sync-alt"],"f2f1","M142.9 142.9c-17.5 17.5-30.1 38-37.8 59.8c-5.9 16.7-24.2 25.4-40.8 19.5s-25.4-24.2-19.5-40.8C55.6 150.7 73.2 122 97.6 97.6c87.2-87.2 228.3-87.5 315.8-1L455 55c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2l0 128c0 13.3-10.7 24-24 24l-8.4 0c0 0 0 0 0 0L344 224c-9.7 0-18.5-5.8-22.2-14.8s-1.7-19.3 5.2-26.2l41.1-41.1c-62.6-61.5-163.1-61.2-225.3 1zM16 312c0-13.3 10.7-24 24-24l7.6 0 .7 0L168 288c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-41.1 41.1c62.6 61.5 163.1 61.2 225.3-1c17.5-17.5 30.1-38 37.8-59.8c5.9-16.7 24.2-25.4 40.8-19.5s25.4 24.2 19.5 40.8c-10.8 30.6-28.4 59.3-52.9 83.8c-87.2 87.2-228.3 87.5-315.8 1L57 457c-6.9 6.9-17.2 8.9-26.2 5.2S16 449.7 16 440l0-119.6 0-.7 0-7.6z"]},I={prefix:"fas",iconName:"gears",icon:[640,512,["cogs"],"f085","M308.5 135.3c7.1-6.3 9.9-16.2 6.2-25c-2.3-5.3-4.8-10.5-7.6-15.5L304 89.4c-3-5-6.3-9.9-9.8-14.6c-5.7-7.6-15.7-10.1-24.7-7.1l-28.2 9.3c-10.7-8.8-23-16-36.2-20.9L199 27.1c-1.9-9.3-9.1-16.7-18.5-17.8C173.9 8.4 167.2 8 160.4 8l-.7 0c-6.8 0-13.5 .4-20.1 1.2c-9.4 1.1-16.6 8.6-18.5 17.8L115 56.1c-13.3 5-25.5 12.1-36.2 20.9L50.5 67.8c-9-3-19-.5-24.7 7.1c-3.5 4.7-6.8 9.6-9.9 14.6l-3 5.3c-2.8 5-5.3 10.2-7.6 15.6c-3.7 8.7-.9 18.6 6.2 25l22.2 19.8C32.6 161.9 32 168.9 32 176s.6 14.1 1.7 20.9L11.5 216.7c-7.1 6.3-9.9 16.2-6.2 25c2.3 5.3 4.8 10.5 7.6 15.6l3 5.2c3 5.1 6.3 9.9 9.9 14.6c5.7 7.6 15.7 10.1 24.7 7.1l28.2-9.3c10.7 8.8 23 16 36.2 20.9l6.1 29.1c1.9 9.3 9.1 16.7 18.5 17.8c6.7 .8 13.5 1.2 20.4 1.2s13.7-.4 20.4-1.2c9.4-1.1 16.6-8.6 18.5-17.8l6.1-29.1c13.3-5 25.5-12.1 36.2-20.9l28.2 9.3c9 3 19 .5 24.7-7.1c3.5-4.7 6.8-9.5 9.8-14.6l3.1-5.4c2.8-5 5.3-10.2 7.6-15.5c3.7-8.7 .9-18.6-6.2-25l-22.2-19.8c1.1-6.8 1.7-13.8 1.7-20.9s-.6-14.1-1.7-20.9l22.2-19.8zM112 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM504.7 500.5c6.3 7.1 16.2 9.9 25 6.2c5.3-2.3 10.5-4.8 15.5-7.6l5.4-3.1c5-3 9.9-6.3 14.6-9.8c7.6-5.7 10.1-15.7 7.1-24.7l-9.3-28.2c8.8-10.7 16-23 20.9-36.2l29.1-6.1c9.3-1.9 16.7-9.1 17.8-18.5c.8-6.7 1.2-13.5 1.2-20.4s-.4-13.7-1.2-20.4c-1.1-9.4-8.6-16.6-17.8-18.5L583.9 307c-5-13.3-12.1-25.5-20.9-36.2l9.3-28.2c3-9 .5-19-7.1-24.7c-4.7-3.5-9.6-6.8-14.6-9.9l-5.3-3c-5-2.8-10.2-5.3-15.6-7.6c-8.7-3.7-18.6-.9-25 6.2l-19.8 22.2c-6.8-1.1-13.8-1.7-20.9-1.7s-14.1 .6-20.9 1.7l-19.8-22.2c-6.3-7.1-16.2-9.9-25-6.2c-5.3 2.3-10.5 4.8-15.6 7.6l-5.2 3c-5.1 3-9.9 6.3-14.6 9.9c-7.6 5.7-10.1 15.7-7.1 24.7l9.3 28.2c-8.8 10.7-16 23-20.9 36.2L315.1 313c-9.3 1.9-16.7 9.1-17.8 18.5c-.8 6.7-1.2 13.5-1.2 20.4s.4 13.7 1.2 20.4c1.1 9.4 8.6 16.6 17.8 18.5l29.1 6.1c5 13.3 12.1 25.5 20.9 36.2l-9.3 28.2c-3 9-.5 19 7.1 24.7c4.7 3.5 9.5 6.8 14.6 9.8l5.4 3.1c5 2.8 10.2 5.3 15.5 7.6c8.7 3.7 18.6 .9 25-6.2l19.8-22.2c6.8 1.1 13.8 1.7 20.9 1.7s14.1-.6 20.9-1.7l19.8 22.2zM464 304a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"]},R={prefix:"fas",iconName:"moon",icon:[384,512,[127769,9214],"f186","M223.5 32C100 32 0 132.3 0 256S100 480 223.5 480c60.6 0 115.5-24.2 155.8-63.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6c-96.9 0-175.5-78.8-175.5-176c0-65.8 36-123.1 89.3-153.3c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-6.3-.5-12.6-.8-19-.8z"]},X={prefix:"fas",iconName:"anchor",icon:[576,512,[9875],"f13d","M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm21.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80L224 176c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 0 208-48 0c-53 0-96-43-96-96l0-6.1 7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7 0 6.1c0 88.4 71.6 160 160 160l80 0 80 0c88.4 0 160-71.6 160-160l0-6.1 7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-56-56c-9.4-9.4-24.6-9.4-33.9 0l-56 56c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7 0 6.1c0 53-43 96-96 96l-48 0 0-208 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-10.9 0z"]},j={prefix:"fas",iconName:"cloud-sun",icon:[640,512,[9925],"f6c4","M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l14.1 84.7 84.7 14.1c5.4 .9 10 4.5 12.1 9.6s1.5 10.9-1.6 15.4l-38.5 55c-2.2-.1-4.4-.2-6.7-.2c-23.3 0-45.1 6.2-64 17.1l0-1.1c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c8.1 0 15.9-1 23.4-2.9c-36.6 18.1-63.3 53.1-69.8 94.9l-24.4 17c-4.5 3.2-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM144 208a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM639.9 431.9c0 44.2-35.8 80-80 80l-271.9 0c-53 0-96-43-96-96c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7z"]},F={prefix:"fas",iconName:"video",icon:[576,512,["video-camera"],"f03d","M0 128C0 92.7 28.7 64 64 64l256 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 128zM559.1 99.8c10.4 5.6 16.9 16.4 16.9 28.2l0 256c0 11.8-6.5 22.6-16.9 28.2s-23 5-32.9-1.6l-96-64L416 337.1l0-17.1 0-128 0-17.1 14.2-9.5 96-64c9.8-6.5 22.4-7.2 32.9-1.6z"]}}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931],{87343:function(e,t,n){Promise.resolve().then(n.bind(n,99670))},53082:function(e,t,n){"use strict";n.d(t,{$:function(){return b},FV:function(){return d},G5:function(){return p},HH:function(){return u},HQ:function(){return v},NU:function(){return w},Qj:function(){return f},Ux:function(){return h},YH:function(){return y},eF:function(){return g},gK:function(){return c},yC:function(){return S}});var a=n(57437),i=n(2265),r=n(14578),l=n(63321),o=n(72079);let s=(0,i.createContext)(),c="#09bfff",u="#cc000c",d="#0fcd4f",g="#ef4444",h=e=>null==e?null:Math.round((180*e/Math.PI+360)%360),f=e=>null==e?null:(e*m).toFixed(1),m=1.94384,p=e=>null!=e?Math.round((e-273.15)*10)/10:null,v=e=>null!=e?Math.round(19.4384*e)/10:null,b=v,w=e=>null!=e?Math.round(e/100*10)/10:null,M={autopilot:!0,anchorWatch:!1,parkingMode:!1,mob:!1,showOcean:!1,ais:!1,showPolar:!0},x={wind:{"environment.wind.angleTrueWater":o.M8C.degToRad(0),"environment.wind.speedTrue":10.288,"environment.wind.angleApparent":o.M8C.degToRad(0),"environment.wind.speedApparent":10.288},temperature:{"environment.water.temperature":290.15,"environment.outside.temperature":294.15,"propulsion.main.exhaustTemperature":368.15,"environment.inside.fridge.temperature":277.15},environment:{"environment.outside.pressure":102300,"environment.inside.relativeHumidity":.74,"environment.inside.voc":.03},performance:{"performance.beatAngle":o.M8C.degToRad(45),"performance.gybeAngle":o.M8C.degToRad(135),"performance.beatAngleVelocityMadeGood":6,"performance.gybeAngleVelocityMadeGood":5,"performance.targetAngle":o.M8C.degToRad(45),"performance.polarSpeed":8,"performance.polarSpeedRatio":.95,"performance.velocityMadeGood":5,"performance.polarVelocityMadeGood":6,"performance.polarVelocityMadeGoodRatio":.9},navigation:{"navigation.speedThroughWater":7,"navigation.headingTrue":o.M8C.degToRad(0),"navigation.courseOverGround":o.M8C.degToRad(20),"navigation.courseGreatCircle.nextPoint.bearingTrue":o.M8C.degToRad(30),"navigation.attitude.roll":o.M8C.degToRad(5)},racing:{"navigation.racing.layline":o.M8C.degToRad(10),"navigation.racing.layline.distance":100,"navigation.racing.layline.time":180,"navigation.racing.oppositeLayline":o.M8C.degToRad(45),"navigation.racing.oppositeLayline.distance":80,"navigation.racing.oppositeLayline.time":180,"navigation.racing.startLineStb":{latitude:0,longitude:0,altitude:0},"navigation.racing.startLinePort":{latitude:0,longitude:0,altitude:0},"navigation.racing.distanceStartline":50,"navigation.racing.timeToStart":120,"navigation.racing.timePortDown":60,"navigation.racing.timePortUp":70,"navigation.racing.timeStbdDown":65,"navigation.racing.timeStbdUp":75},electrical:{"electrical.batteries.1.name":"House Battery","electrical.batteries.1.location":"Under Starboard Bed","electrical.batteries.1.capacity.nominal":768,"electrical.batteries.1.capacity.actual":707,"electrical.batteries.1.capacity.remaining":601,"electrical.batteries.1.capacity.dischargeLimit":.2,"electrical.batteries.1.capacity.timeRemaining":9860,"electrical.batteries.1.lifetimeDischarge":54e4,"electrical.batteries.1.lifetimeRecharge":545e3,"electrical.batteries.1.voltage.ripple":.05,"electrical.batteries.1.chemistry":"LiFePO4","electrical.batteries.1.manufacturer.name":"Mastervolt","electrical.batteries.1.manufacturer.model":"LFD75","electrical.batteries.1.manufacturer.URL":"https://www.mastervolt.com","electrical.batteries.1.dateInstalled":"2023-06-15T00:00:00Z","electrical.batteries.1.associatedBus":"House Bus","electrical.batteries.2.name":"Engine Start Battery","electrical.batteries.2.location":"Engine Compartment","electrical.batteries.2.capacity.nominal":600,"electrical.batteries.2.capacity.actual":582,"electrical.batteries.2.chemistry":"AGM","electrical.batteries.2.manufacturer.name":"Optima","electrical.batteries.2.manufacturer.model":"BlueTop","navigation.lights":!1,"steering.autopilot.state":"auto"}},y=e=>{let{children:t}=e,[n,c]=(0,i.useState)({}),[u,d]=(0,i.useState)(!1),[g,h]=(0,i.useState)(M),f=e=>n[e]||null,m=(0,i.useRef)(null),p=(0,i.useRef)(null);return(0,i.useEffect)(()=>{let e=!0,t=async()=>{let e=new Date,t=e.getFullYear(),n=(e.getMonth()+1).toString().padStart(2,"0"),a="tides/larochelle/".concat(n,"_").concat(t,".json"),i=await fetch(a);if(i.ok){let t=await i.json(),n=e.toISOString().split("T")[0];if(t[n]){let e=null,a=null,i=new Date,r=60*i.getHours()+i.getMinutes();if(t[n].forEach(t=>{let[n,i,l,o]=t,[s,c]=i.split(":").map(Number),u=60*s+c;"tide.high"===n&&(!e||Math.abs(r-u)<Math.abs(r-e.timeInMinutes))?e={height:parseFloat(l),time:i,timeInMinutes:u,coef:o}:"tide.low"===n&&(!a||Math.abs(r-u)<Math.abs(r-a.timeInMinutes))&&(a={height:parseFloat(l),time:i,timeInMinutes:u})}),e&&a){let t="".concat(i.getHours().toString().padStart(2,"0"),":").concat(i.getMinutes().toString().padStart(2,"0")),n=C(e.height,a.height,t,e.time,a.time);c(t=>({...t,"environment.tide.heightNow":n,"environment.tide.heightHigh":e.height,"environment.tide.heightLow":a.height,"environment.tide.timeLow":a.time,"environment.tide.timeHigh":e.time,"environment.tide.coeffNow":e.coef}))}else throw Error("Tide data for today is incomplete.")}}else console.warn("No tide data found")};return(async()=>{let{signalkUrl:t,debugMode:n}=l.Z.getAll(),a=()=>{p.current&&clearInterval(p.current);let e=0;p.current=setInterval(()=>{let t=Math.floor(91*Math.random())-45;e=(e+5)%360,c(e=>({...e,"steering.rudderAngle":o.M8C.degToRad(t),...x.temperature,...x.environment,...x.performance,...x.navigation,...x.racing,...x.electrical}))},1e3)};try{let[i,l]=t.replace(/https?:\/\//,"").split(":"),o=new r.default({hostname:i||"localhost",port:parseInt(l)||3e3,useTLS:t.startsWith("https"),reconnect:!0,autoConnect:!1,notifications:!1,deltaStreamBehaviour:"self",sendMeta:"all",wsKeepaliveInterval:10});m.current=o,await o.connect(),o.on("delta",t=>{e&&t.updates.forEach(e=>{e.values&&e.values.forEach(e=>{c(t=>({...t,[e.path]:e.value}))})})}),n&&a()}catch(e){console.error("Failed to connect to SignalK:",e),a()}})(),t(),()=>{e=!1,m.current&&m.current.disconnect(),p.current&&clearInterval(p.current)}},[]),(0,a.jsx)(s.Provider,{value:{getSignalKValue:f,getBoatRotationAngle:()=>{let e=f("navigation.headingTrue")||f("navigation.headingMagnetic");return f("navigation.courseOverGroundTrue")||f("navigation.courseOverGroundMagnetic")||e||0},convertLatLonToXY:(e,t)=>{if(!(null==e?void 0:e.lat)||!(null==e?void 0:e.lon)||!(null==t?void 0:t.lat)||!(null==t?void 0:t.lon))return console.warn("Invalid input to convertLatLonToXY",e,t),{x:0,y:0};let n=t.lat*Math.PI/180,a=t.lon*Math.PI/180,i=e.lat*Math.PI/180,r=e.lon*Math.PI/180-a,l=i-n,o=Math.atan2(Math.sin(r)*Math.cos(i),Math.cos(n)*Math.sin(i)-Math.sin(n)*Math.cos(i)*Math.cos(r)),s=Math.sin(l/2)*Math.sin(l/2)+Math.cos(n)*Math.cos(i)*Math.sin(r/2)*Math.sin(r/2),c=2*Math.atan2(Math.sqrt(s),Math.sqrt(1-s))*6371e3;return{x:c*Math.sin(o),y:c*Math.cos(o)}},nightMode:u,setNightMode:d,states:g,toggleState:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;h(n=>({...n,[e]:void 0!==t?t:!n[e]}))}},children:t})},S=()=>(0,i.useContext)(s),C=function(e,t,n,a,i){let r,l,o,s;if(!n||!a||!i||!/^\d{1,2}:\d{2}$/.test(n)||!/^\d{1,2}:\d{2}$/.test(a)||!/^\d{1,2}:\d{2}$/.test(i))return console.error("Invalid time format provided to calculateTideHeightUsingTwelfths"),(e+t)/2;let c=e=>{let[t,n]=e.split(":").map(Number);return 60*t+n},u=c(a),d=c(i),g=c(n),h=!1;d<=g&&g<=u?(h=!0,r=t,l=e,o=d,s=u):(r=e,l=t,o=u,s=d+(d<u?1440:0));let f=Math.abs(s-o),m=Math.abs(l-r),p=g-o;p<0&&(p+=1440);let v=m/12,b=0;return b=p<=f/6?v*Math.ceil(p/(f/12)):p<=2*f/6?2*v+v*Math.ceil((p-f/6)/(f/12)):p<=3*f/6?5*v:p<=4*f/6?8*v:p<=5*f/6?10*v:m,h?r+b:r-b}},63321:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});var a=JSON.parse('{"F":[{"name":"Default","modelPath":"default","capabilities":["navigation","rudder","sail","color"]},{"name":"Optimist","modelPath":"optimist","capabilities":["navigation","ais"]},{"name":"Sailboat","modelPath":"sailboat","capabilities":["navigation","ais"]},{"name":"Ship","modelPath":"ship","capabilities":["navigation","ais"]},{"name":"Windsurf","modelPath":"windsurf","capabilities":["navigation","ais"]}]}');class i{isLocalStorageAvailable(){try{return"undefined"!=typeof localStorage}catch(e){return!1}}loadConfig(){if(this.isLocalStorageAvailable()){let e=localStorage.getItem(this.configKey);if(!e)return this.saveConfig(this.defaultConfig),{...this.defaultConfig};try{return JSON.parse(e)}catch(e){return console.error("Failed to parse stored configuration:",e),{...this.defaultConfig}}}return{...this.inMemoryConfig}}saveConfig(e){this.config={...this.config,...e},this.isLocalStorageAvailable()?localStorage.setItem(this.configKey,JSON.stringify(this.config)):this.inMemoryConfig={...this.config}}get(e){return this.config[e]}set(e,t){this.config[e]=t,this.saveConfig(this.config)}resetConfig(){this.config={...this.defaultConfig},this.isLocalStorageAvailable()?localStorage.setItem(this.configKey,JSON.stringify(this.config)):this.inMemoryConfig={...this.defaultConfig}}getAll(){return{...this.config}}getDefaultConfig(){return{...this.defaultConfig}}getSelectedBoat(){let e=this.config.selectedBoat;return e?this.getBoatsData().find(t=>t.name===e):[]}getBoatsData(){return a.F}getComputedSignalKUrl(){return this.config.debugMode?"https://demo.signalk.org:443":"".concat(window.location.protocol,"//").concat(window.location.hostname).concat(window.location.port?":"+window.location.port:"")}constructor(){this.defaultConfig={signalkUrl:"http://localhost:3000",username:"",password:"",debugMode:!1,selectedBoat:"Default",primaryColor:null,metallicEffect:!1,aisLengthScalingFactor:.7,compassNorthUp:!1,showCustomUrls:!1,customExternalUrls:{}},this.configKey="ocearoConfig",this.inMemoryConfig={...this.defaultConfig},this.config=this.loadConfig()}}var r=new i},99670:function(e,t,n){"use strict";n.r(t),n.d(t,{VIEW_MODES:function(){return f},default:function(){return p}});var a=n(57437),i=n(2265),r=n(30166),l=n(20376),o=n.n(l),s=n(53082);class c extends i.Component{static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){this.setState({error:e,errorInfo:t}),console.error("Error caught in Error Boundary:",e,t)}render(){if(this.state.hasError){let{error:e,errorInfo:t}=this.state;return(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center min-h-screen bg-gray-100 text-gray-900",children:[(0,a.jsx)("h1",{className:"text-3xl font-bold text-red-600 mb-4",children:"Something went wrong."}),(0,a.jsxs)("p",{className:"text-lg mb-2",children:[(0,a.jsx)("strong",{children:"Error:"})," ",e?e.toString():"Unknown error"]}),t&&(0,a.jsxs)("details",{className:"whitespace-pre-wrap bg-gray-200 p-4 rounded-lg mb-4",children:[(0,a.jsx)("summary",{className:"cursor-pointer text-blue-500 underline",children:"Stack Trace"}),(0,a.jsx)("pre",{className:"mt-2",children:t.componentStack})]}),(0,a.jsxs)("div",{className:"flex space-x-4",children:[(0,a.jsx)("button",{onClick:this.handleRefresh,className:"px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600",children:"Refresh Page"}),(0,a.jsx)("button",{onClick:this.handleExitFullscreen,className:"px-4 py-2 bg-green-500 text-white rounded hover:bg-green-600",children:"Exit Fullscreen"})]})]})}return this.props.children}constructor(e){super(e),this.handleRefresh=()=>{window.location.reload()},this.handleExitFullscreen=()=>{document.fullscreenElement&&(window.close(),document.exitFullscreen().catch(e=>{console.error("Failed to exit fullscreen:",e)}))},this.state={hasError:!1,error:null,errorInfo:null}}}let u=(0,r.default)(()=>n.e(252).then(n.bind(n,7252)),{loadableGenerated:{webpack:()=>[7252]},loading:()=>(0,a.jsx)("div",{className:"w-full h-full flex items-center justify-center",children:"Loading..."})}),d=(0,r.default)(()=>Promise.all([n.e(676),n.e(268),n.e(12)]).then(n.bind(n,12012)),{loadableGenerated:{webpack:()=>[12012]}}),g=(0,r.default)(()=>Promise.all([n.e(676),n.e(268),n.e(936)]).then(n.bind(n,72936)),{loadableGenerated:{webpack:()=>[72936]}}),h=(0,r.default)(()=>Promise.all([n.e(676),n.e(689),n.e(268),n.e(496),n.e(412)]).then(n.bind(n,6412)),{loadableGenerated:{webpack:()=>[6412]},loading:()=>(0,a.jsx)("div",{className:"w-full h-full flex items-center justify-center",children:(0,a.jsx)("div",{className:"text-white text-2xl",children:"Loading 3D View..."})}),ssr:!1}),f={BOAT:"boat",APP:"app",SPLIT:"split"},m=()=>window.innerWidth>=1366;function p(){let e=(0,i.useRef)(!1),[t,n]=(0,i.useState)(null),[r,l]=(0,i.useState)("navigation"),[p,v]=(0,i.useState)(!1),[b,w]=(0,i.useState)(!1);(0,i.useEffect)(()=>{let t;n(m()?f.SPLIT:f.BOAT),e.current=!0;let a=()=>{clearTimeout(t),t=setTimeout(()=>{n(m()?f.SPLIT:f.BOAT)},250)};return window.addEventListener("resize",a),()=>{window.removeEventListener("resize",a),clearTimeout(t)}},[]);let M=(0,i.useCallback)(()=>{v(e=>!e)},[]),x=(0,i.useCallback)(e=>{n(e)},[]),y=(0,i.useCallback)((e,t)=>{let n=window.innerWidth/5;t.x>n?x(f.BOAT):t.x<-n?x(f.APP):x(f.SPLIT)},[x]),S=(0,i.useCallback)(()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen().catch(e=>{console.error("Fullscreen error:",e.message)})},[]),C=(0,i.useCallback)(e=>{t===f.BOAT&&x(f.APP),l(e)},[t,x]),T=(0,i.useCallback)(()=>{b?(x(f.BOAT),w(!1)):(C("settings"),w(!0))},[b,x,C]),P=(0,i.useMemo)(()=>null===t?{}:{leftPane:"transition-all duration-300 ".concat(t===f.BOAT?"w-full":t===f.APP?"hidden":"w-2/5"," bg-leftPaneBg h-full relative"),rightPane:"transition-all duration-300 ".concat(t===f.APP?"w-full":t===f.BOAT?"hidden":"w-3/5"," h-full bg-rightPaneBg p-4")},[t]);return e.current?(0,a.jsx)(c,{children:(0,a.jsx)(s.YH,{children:(0,a.jsxs)("div",{className:"h-screen flex flex-col bg-black relative overflow-hidden",children:[(0,a.jsxs)("div",{className:"flex flex-1 min-h-0",children:[(0,a.jsx)("div",{className:P.leftPane,children:(0,a.jsx)(h,{})}),(0,a.jsx)(o(),{axis:"x",onDrag:y,position:{x:0,y:0},handle:".handle",bounds:"parent",children:(0,a.jsx)("div",{className:"handle w-1 bg-leftPaneBg h-full cursor-col-resize transition-all duration-200 flex items-center justify-center",children:(0,a.jsx)("div",{className:"rounded-full w-3 bg-gray-600 h-40 transition-all duration-200 hover:bg-gray-500"})})}),(0,a.jsx)("div",{className:P.rightPane,children:(0,a.jsx)(u,{view:r})})]}),(0,a.jsx)("div",{className:"w-full h-16 min-h-16 bg-black flex items-center justify-center shrink-0",children:(0,a.jsx)(d,{setRightView:C,toggleAppMenu:M,toggleSettings:T})}),p&&(0,a.jsx)(g,{currentViewMode:t,toggleViewMode:x,handleSetRightView:C,toggleFullscreen:S,setShowAppMenu:v})]})})}):(0,a.jsx)("div",{className:"h-screen bg-black flex items-center justify-center",children:(0,a.jsx)("div",{className:"animate-pulse text-white",children:"Loading..."})})}}},function(e){e.O(0,[870,746,971,117,744],function(){return e(e.s=87343)}),_N_E=e.O()}]);
@@ -1 +1 @@
1
- !function(){"use strict";var e,t,n,r,o,c,f,u,a,i={},d={};function l(e){var t=d[e];if(void 0!==t)return t.exports;var n=d[e]={exports:{}},r=!0;try{i[e].call(n.exports,n,n.exports,l),r=!1}finally{r&&delete d[e]}return n.exports}l.m=i,e=[],l.O=function(t,n,r,o){if(n){o=o||0;for(var c=e.length;c>0&&e[c-1][2]>o;c--)e[c]=e[c-1];e[c]=[n,r,o];return}for(var f=1/0,c=0;c<e.length;c++){for(var n=e[c][0],r=e[c][1],o=e[c][2],u=!0,a=0;a<n.length;a++)f>=o&&Object.keys(l.O).every(function(e){return l.O[e](n[a])})?n.splice(a--,1):(u=!1,o<f&&(f=o));if(u){e.splice(c--,1);var i=r();void 0!==i&&(t=i)}}return t},l.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},l.t=function(e,r){if(1&r&&(e=this(e)),8&r||"object"==typeof e&&e&&(4&r&&e.__esModule||16&r&&"function"==typeof e.then))return e;var o=Object.create(null);l.r(o);var c={};t=t||[null,n({}),n([]),n(n)];for(var f=2&r&&e;"object"==typeof f&&!~t.indexOf(f);f=n(f))Object.getOwnPropertyNames(f).forEach(function(t){c[t]=function(){return e[t]}});return c.default=function(){return e},l.d(o,c),o},l.d=function(e,t){for(var n in t)l.o(t,n)&&!l.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},l.f={},l.e=function(e){return Promise.all(Object.keys(l.f).reduce(function(t,n){return l.f[n](e,t),t},[]))},l.u=function(e){return"static/chunks/"+(({676:"870fdd6f",689:"b536a0f1",918:"0f8af13e"})[e]||e)+"."+({12:"a4273af9b82657f2",59:"c2dfec0c5e965cb5",73:"007aee417f54ff9d",79:"c90ea1de476d64c2",138:"b9389f70773e44e6",145:"9caac3d586b84999",154:"4e0902ce8b0f7ad1",188:"1839b14fedef7718",197:"bcdd8d0debcb7089",199:"8b338263b2a6aa7d",221:"a545399d0aaf207f",226:"8e9a3229837caa21",250:"b26c37701919cf5c",252:"5e735e4fc4a0a7e8",268:"8ed821c518bf7977",274:"f21dd1bea1190823",353:"c2bc481b7d81054f",412:"89dae08d020f4499",413:"69878f8910eb07d8",496:"c440e137e5877fb7",610:"44fac6b8e6928564",676:"a18fe21a954fd3ab",687:"798c6b33d9165736",689:"0563944ec53282b3",728:"3987afab39b00f4e",751:"a180d553d77914d3",909:"5efafce6b421c83d",918:"6652bd734d04208b",936:"e779b5632883831e",949:"e273523eaad35cc5",967:"83ea5cd9e6c9bb4c",975:"8821fdf115b619c5"})[e]+".js"},l.miniCssF=function(e){},l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),l.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="_N_E:",l.l=function(e,t,n,c){if(r[e]){r[e].push(t);return}if(void 0!==n)for(var f,u,a=document.getElementsByTagName("script"),i=0;i<a.length;i++){var d=a[i];if(d.getAttribute("src")==e||d.getAttribute("data-webpack")==o+n){f=d;break}}f||(u=!0,(f=document.createElement("script")).charset="utf-8",f.timeout=120,l.nc&&f.setAttribute("nonce",l.nc),f.setAttribute("data-webpack",o+n),f.src=l.tu(e)),r[e]=[t];var b=function(t,n){f.onerror=f.onload=null,clearTimeout(s);var o=r[e];if(delete r[e],f.parentNode&&f.parentNode.removeChild(f),o&&o.forEach(function(e){return e(n)}),t)return t(n)},s=setTimeout(b.bind(null,void 0,{type:"timeout",target:f}),12e4);f.onerror=b.bind(null,f.onerror),f.onload=b.bind(null,f.onload),u&&document.head.appendChild(f)},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.tt=function(){return void 0===c&&(c={createScriptURL:function(e){return e}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(c=trustedTypes.createPolicy("nextjs#bundler",c))),c},l.tu=function(e){return l.tt().createScriptURL(e)},l.p="/ocearo-ui/_next/",f={272:0,476:0},l.f.j=function(e,t){var n=l.o(f,e)?f[e]:void 0;if(0!==n){if(n)t.push(n[2]);else if(/^(272|476)$/.test(e))f[e]=0;else{var r=new Promise(function(t,r){n=f[e]=[t,r]});t.push(n[2]=r);var o=l.p+l.u(e),c=Error();l.l(o,function(t){if(l.o(f,e)&&(0!==(n=f[e])&&(f[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;c.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",c.name="ChunkLoadError",c.type=r,c.request=o,n[1](c)}},"chunk-"+e,e)}}},l.O.j=function(e){return 0===f[e]},u=function(e,t){var n,r,o=t[0],c=t[1],u=t[2],a=0;if(o.some(function(e){return 0!==f[e]})){for(n in c)l.o(c,n)&&(l.m[n]=c[n]);if(u)var i=u(l)}for(e&&e(t);a<o.length;a++)r=o[a],l.o(f,r)&&f[r]&&f[r][0](),f[r]=0;return l.O(i)},(a=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(u.bind(null,0)),a.push=u.bind(null,a.push.bind(a))}();
1
+ !function(){"use strict";var e,t,n,r,o,c,f,u,a,i={},d={};function l(e){var t=d[e];if(void 0!==t)return t.exports;var n=d[e]={exports:{}},r=!0;try{i[e].call(n.exports,n,n.exports,l),r=!1}finally{r&&delete d[e]}return n.exports}l.m=i,e=[],l.O=function(t,n,r,o){if(n){o=o||0;for(var c=e.length;c>0&&e[c-1][2]>o;c--)e[c]=e[c-1];e[c]=[n,r,o];return}for(var f=1/0,c=0;c<e.length;c++){for(var n=e[c][0],r=e[c][1],o=e[c][2],u=!0,a=0;a<n.length;a++)f>=o&&Object.keys(l.O).every(function(e){return l.O[e](n[a])})?n.splice(a--,1):(u=!1,o<f&&(f=o));if(u){e.splice(c--,1);var i=r();void 0!==i&&(t=i)}}return t},l.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},l.t=function(e,r){if(1&r&&(e=this(e)),8&r||"object"==typeof e&&e&&(4&r&&e.__esModule||16&r&&"function"==typeof e.then))return e;var o=Object.create(null);l.r(o);var c={};t=t||[null,n({}),n([]),n(n)];for(var f=2&r&&e;"object"==typeof f&&!~t.indexOf(f);f=n(f))Object.getOwnPropertyNames(f).forEach(function(t){c[t]=function(){return e[t]}});return c.default=function(){return e},l.d(o,c),o},l.d=function(e,t){for(var n in t)l.o(t,n)&&!l.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},l.f={},l.e=function(e){return Promise.all(Object.keys(l.f).reduce(function(t,n){return l.f[n](e,t),t},[]))},l.u=function(e){return"static/chunks/"+(({676:"870fdd6f",689:"b536a0f1",918:"0f8af13e"})[e]||e)+"."+({12:"a4273af9b82657f2",59:"c2dfec0c5e965cb5",73:"8c14d2ab55f3d850",79:"c90ea1de476d64c2",138:"b9389f70773e44e6",145:"9caac3d586b84999",154:"4e0902ce8b0f7ad1",188:"1839b14fedef7718",197:"bcdd8d0debcb7089",221:"a545399d0aaf207f",226:"8e9a3229837caa21",250:"b26c37701919cf5c",252:"d7cc856ebccc7381",268:"8ed821c518bf7977",274:"f21dd1bea1190823",353:"c2bc481b7d81054f",412:"89dae08d020f4499",413:"69878f8910eb07d8",496:"c440e137e5877fb7",610:"44fac6b8e6928564",676:"5b9af4fe6d08a9fb",677:"f1d160b98bf7d630",687:"798c6b33d9165736",689:"0563944ec53282b3",728:"3987afab39b00f4e",751:"a180d553d77914d3",909:"5efafce6b421c83d",918:"6652bd734d04208b",936:"e779b5632883831e",949:"e273523eaad35cc5",967:"83ea5cd9e6c9bb4c",975:"8821fdf115b619c5"})[e]+".js"},l.miniCssF=function(e){},l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),l.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="_N_E:",l.l=function(e,t,n,c){if(r[e]){r[e].push(t);return}if(void 0!==n)for(var f,u,a=document.getElementsByTagName("script"),i=0;i<a.length;i++){var d=a[i];if(d.getAttribute("src")==e||d.getAttribute("data-webpack")==o+n){f=d;break}}f||(u=!0,(f=document.createElement("script")).charset="utf-8",f.timeout=120,l.nc&&f.setAttribute("nonce",l.nc),f.setAttribute("data-webpack",o+n),f.src=l.tu(e)),r[e]=[t];var b=function(t,n){f.onerror=f.onload=null,clearTimeout(s);var o=r[e];if(delete r[e],f.parentNode&&f.parentNode.removeChild(f),o&&o.forEach(function(e){return e(n)}),t)return t(n)},s=setTimeout(b.bind(null,void 0,{type:"timeout",target:f}),12e4);f.onerror=b.bind(null,f.onerror),f.onload=b.bind(null,f.onload),u&&document.head.appendChild(f)},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.tt=function(){return void 0===c&&(c={createScriptURL:function(e){return e}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(c=trustedTypes.createPolicy("nextjs#bundler",c))),c},l.tu=function(e){return l.tt().createScriptURL(e)},l.p="/ocearo-ui/_next/",f={272:0,476:0},l.f.j=function(e,t){var n=l.o(f,e)?f[e]:void 0;if(0!==n){if(n)t.push(n[2]);else if(/^(272|476)$/.test(e))f[e]=0;else{var r=new Promise(function(t,r){n=f[e]=[t,r]});t.push(n[2]=r);var o=l.p+l.u(e),c=Error();l.l(o,function(t){if(l.o(f,e)&&(0!==(n=f[e])&&(f[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;c.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",c.name="ChunkLoadError",c.type=r,c.request=o,n[1](c)}},"chunk-"+e,e)}}},l.O.j=function(e){return 0===f[e]},u=function(e,t){var n,r,o=t[0],c=t[1],u=t[2],a=0;if(o.some(function(e){return 0!==f[e]})){for(n in c)l.o(c,n)&&(l.m[n]=c[n]);if(u)var i=u(l)}for(e&&e(t);a<o.length;a++)r=o[a],l.o(f,r)&&f[r]&&f[r][0](),f[r]=0;return l.O(i)},(a=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(u.bind(null,0)),a.push=u.bind(null,a.push.bind(a))}();
@@ -0,0 +1,3 @@
1
+ @font-face{font-family:__geistSans_d559d3;src:url(/ocearo-ui/_next/static/media/4473ecc91f70f139-s.woff) format("woff");font-display:swap;font-weight:100 900}@font-face{font-family:__geistSans_Fallback_d559d3;src:local("Arial");ascent-override:85.83%;descent-override:20.52%;line-gap-override:9.33%;size-adjust:107.19%}.__className_d559d3{font-family:__geistSans_d559d3,__geistSans_Fallback_d559d3}.__variable_d559d3{--font-geist-sans:"__geistSans_d559d3","__geistSans_Fallback_d559d3"}@font-face{font-family:__geistMono_692ef5;src:url(/ocearo-ui/_next/static/media/463dafcda517f24f-s.woff) format("woff");font-display:swap;font-weight:100 900}@font-face{font-family:__geistMono_Fallback_692ef5;src:local("Arial");ascent-override:69.97%;descent-override:16.73%;line-gap-override:7.61%;size-adjust:131.49%}.__className_692ef5{font-family:__geistMono_692ef5,__geistMono_Fallback_692ef5}.__variable_692ef5{--font-geist-mono:"__geistMono_692ef5","__geistMono_Fallback_692ef5"}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
2
+ ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
3
+ */*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-left-20{left:-5rem}.-right-1{right:-.25rem}.-right-6{right:-1.5rem}.-top-6{top:-1.5rem}.bottom-0{bottom:0}.bottom-2{bottom:.5rem}.bottom-20{bottom:5rem}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-6{top:1.5rem}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-60{height:15rem}.h-72{height:18rem}.h-full{height:100%}.h-screen{height:100vh}.min-h-0{min-height:0}.min-h-16{min-height:4rem}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\/2{width:50%}.w-2{width:.5rem}.w-2\/5{width:40%}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/5{width:60%}.w-32{width:8rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.w-px{width:1px}.min-w-\[3\.5rem\]{min-width:3.5rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-col-resize{cursor:col-resize}.cursor-pointer{cursor:pointer}.resize{resize:both}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-4{border-left-width:4px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-cyan-500{--tw-border-opacity:1;border-color:rgb(6 182 212/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.border-oGray{--tw-border-opacity:1;border-color:rgb(152 152 152/var(--tw-border-opacity,1))}.border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity,1))}.border-purple-500{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity,1))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-yellow-500{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-cyan-500{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.bg-leftPaneBg{--tw-bg-opacity:1;background-color:rgb(14 14 14/var(--tw-bg-opacity,1))}.bg-oBlue{--tw-bg-opacity:1;background-color:rgb(9 191 255/var(--tw-bg-opacity,1))}.bg-oGray{--tw-bg-opacity:1;background-color:rgb(152 152 152/var(--tw-bg-opacity,1))}.bg-oGray2{--tw-bg-opacity:1;background-color:rgb(66 66 66/var(--tw-bg-opacity,1))}.bg-oGreen{--tw-bg-opacity:1;background-color:rgb(15 205 79/var(--tw-bg-opacity,1))}.bg-oNight{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-oRed{--tw-bg-opacity:1;background-color:rgb(204 0 12/var(--tw-bg-opacity,1))}.bg-oYellow{--tw-bg-opacity:1;background-color:rgb(255 190 0/var(--tw-bg-opacity,1))}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.bg-rightPaneBg{--tw-bg-opacity:1;background-color:rgb(30 30 30/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-opacity-10{--tw-bg-opacity:0.1}.bg-opacity-30{--tw-bg-opacity:0.3}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-opacity-70{--tw-bg-opacity:0.7}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-green-600{--tw-gradient-from:#16a34a var(--tw-gradient-from-position);--tw-gradient-to:rgba(22,163,74,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from:#f97316 var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,115,22,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-yellow-400{--tw-gradient-to:rgba(250,204,21,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#facc15 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-yellow-500{--tw-gradient-to:rgba(234,179,8,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#eab308 var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-green-400{--tw-gradient-to:#4ade80 var(--tw-gradient-to-position)}.to-green-500{--tw-gradient-to:#22c55e var(--tw-gradient-to-position)}.object-contain{object-fit:contain}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-2{padding-bottom:.5rem}.pb-6{padding-bottom:1.5rem}.pl-4{padding-left:1rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-6xl{font-size:3.75rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-cyan-400{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-oBlue{--tw-text-opacity:1;color:rgb(9 191 255/var(--tw-text-opacity,1))}.text-oGray{--tw-text-opacity:1;color:rgb(152 152 152/var(--tw-text-opacity,1))}.text-oGreen{--tw-text-opacity:1;color:rgb(15 205 79/var(--tw-text-opacity,1))}.text-oNight{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-oRed{--tw-text-opacity:1;color:rgb(204 0 12/var(--tw-text-opacity,1))}.text-oYellow{--tw-text-opacity:1;color:rgb(255 190 0/var(--tw-text-opacity,1))}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.opacity-80{opacity:.8}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06))}.drop-shadow-md,.drop-shadow-sm{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,.05))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-opacity{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--background:#fff;--foreground:#171717}@media (prefers-color-scheme:dark){:root{--background:#0a0a0a;--foreground:#ededed}}body{color:var(--foreground);background:var(--background);font-family:Arial,Helvetica,sans-serif}:root{--primary-color:#1976d2;--accent-color:#ff4081;--warn-color:#f44336;--background-color:#fff;--foreground-color:#000;--foreground-text:#212121}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\:bg-gray-800\/10:hover{background-color:rgba(31,41,55,.1)}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.hover\:bg-oGray:hover{--tw-bg-opacity:1;background-color:rgb(152 152 152/var(--tw-bg-opacity,1))}.hover\:bg-oRed:hover{--tw-bg-opacity:1;background-color:rgb(204 0 12/var(--tw-bg-opacity,1))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:text-blue-300:hover{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.hover\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.hover\:text-oRed:hover{--tw-text-opacity:1;color:rgb(204 0 12/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity,1))}@media (min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
package/index.html CHANGED
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><link rel="preconnect" href="/" crossorigin=""/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/><link rel="stylesheet" href="/ocearo-ui/_next/static/css/54f9736fb6decfe2.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/ocearo-ui/_next/static/chunks/webpack-7e86658b39e9a910.js"/><script src="/ocearo-ui/_next/static/chunks/fd9d1056-50d0a3499460e502.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/117-35a8eb6f9457406b.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/main-app-ed02033afba81a43.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/bd904a5c-fce155daf9e9ba55.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/746-f1a5b23db9004a46.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/app/page-6b5d2e1a2eed4173.js" async=""></script><meta name="theme-color" media="(prefers-color-scheme: light)" content="#4bbcd8"/><meta name="theme-color" media="(prefers-color-scheme: dark)" content="#0a2e3d"/><title>Ocearo</title><meta name="description" content="Sailing made smarter"/><link rel="manifest" href="./manifest.json" crossorigin="use-credentials"/><meta name="format-detection" content="telephone=no"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="Ocearo"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><link rel="shortcut icon" href="./favicon.ico"/><link rel="icon" href="./favicon.ico" type="image/x-icon"/><link rel="icon" href="./favicon.svg" type="image/svg+xml" sizes="any"/><link rel="icon" href="./favicon-96x96.png" type="image/png" sizes="96x96"/><link rel="apple-touch-icon" href="./apple-touch-icon.png"/><meta name="next-size-adjust"/><script src="/ocearo-ui/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_d559d3 __variable_692ef5 antialiased"><div class="h-screen bg-black flex items-center justify-center"><div class="animate-pulse text-white">Loading...</div></div><script src="/ocearo-ui/_next/static/chunks/webpack-7e86658b39e9a910.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HC[\"/\",\"\"]\n2:HL[\"/ocearo-ui/_next/static/css/54f9736fb6decfe2.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"3:I[12846,[],\"\"]\n5:I[19107,[],\"ClientPageRoot\"]\n6:I[99670,[\"870\",\"static/chunks/bd904a5c-fce155daf9e9ba55.js\",\"746\",\"static/chunks/746-f1a5b23db9004a46.js\",\"931\",\"static/chunks/app/page-6b5d2e1a2eed4173.js\"],\"default\",1]\n7:I[4707,[],\"\"]\n8:I[36423,[],\"\"]\na:I[61060,[],\"\"]\nb:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L3\",null,{\"buildId\":\"jexXgaE8K23jXi92zslC1\",\"assetPrefix\":\"/ocearo-ui\",\"urlParts\":[\"\",\"\"],\"initialTree\":[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"__PAGE__\",{},[[\"$L4\",[\"$\",\"$L5\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$6\"}],null],null],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/ocearo-ui/_next/static/css/54f9736fb6decfe2.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"head\",null,{}],[\"$\",\"body\",null,{\"className\":\"__variable_d559d3 __variable_692ef5 antialiased\",\"children\":[\"$\",\"$L7\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L9\"],\"globalErrorComponent\":\"$a\",\"missingSlots\":\"$Wb\"}]\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\"}],[\"$\",\"meta\",\"1\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: light)\",\"content\":\"#4bbcd8\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: dark)\",\"content\":\"#0a2e3d\"}],[\"$\",\"meta\",\"3\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"4\",{\"children\":\"Ocearo\"}],[\"$\",\"meta\",\"5\",{\"name\":\"description\",\"content\":\"Sailing made smarter\"}],[\"$\",\"link\",\"6\",{\"rel\":\"manifest\",\"href\":\"./manifest.json\",\"crossOrigin\":\"use-credentials\"}],[\"$\",\"meta\",\"7\",{\"name\":\"format-detection\",\"content\":\"telephone=no\"}],[\"$\",\"meta\",\"8\",{\"name\":\"apple-mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"9\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"Ocearo\"}],[\"$\",\"meta\",\"10\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"link\",\"11\",{\"rel\":\"shortcut icon\",\"href\":\"./favicon.ico\"}],[\"$\",\"link\",\"12\",{\"rel\":\"icon\",\"href\":\"./favicon.ico\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"13\",{\"rel\":\"icon\",\"href\":\"./favicon.svg\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"link\",\"14\",{\"rel\":\"icon\",\"href\":\"./favicon-96x96.png\",\"type\":\"image/png\",\"sizes\":\"96x96\"}],[\"$\",\"link\",\"15\",{\"rel\":\"apple-touch-icon\",\"href\":\"./apple-touch-icon.png\"}],[\"$\",\"meta\",\"16\",{\"name\":\"next-size-adjust\"}]]\n4:null\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><link rel="preconnect" href="/" crossorigin=""/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/><link rel="stylesheet" href="/ocearo-ui/_next/static/css/c78ab46923ef2f02.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/ocearo-ui/_next/static/chunks/webpack-6800222ed1a234a2.js"/><script src="/ocearo-ui/_next/static/chunks/fd9d1056-50d0a3499460e502.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/117-35a8eb6f9457406b.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/main-app-ed02033afba81a43.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/bd904a5c-fce155daf9e9ba55.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/746-f1a5b23db9004a46.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/app/page-b9d9f5901e5701ed.js" async=""></script><meta name="theme-color" media="(prefers-color-scheme: light)" content="#4bbcd8"/><meta name="theme-color" media="(prefers-color-scheme: dark)" content="#0a2e3d"/><title>Ocearo</title><meta name="description" content="Sailing made smarter"/><link rel="manifest" href="./manifest.json" crossorigin="use-credentials"/><meta name="format-detection" content="telephone=no"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="Ocearo"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><link rel="shortcut icon" href="./favicon.ico"/><link rel="icon" href="./favicon.ico" type="image/x-icon"/><link rel="icon" href="./favicon.svg" type="image/svg+xml" sizes="any"/><link rel="icon" href="./favicon-96x96.png" type="image/png" sizes="96x96"/><link rel="apple-touch-icon" href="./apple-touch-icon.png"/><meta name="next-size-adjust"/><script src="/ocearo-ui/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_d559d3 __variable_692ef5 antialiased"><div class="h-screen bg-black flex items-center justify-center"><div class="animate-pulse text-white">Loading...</div></div><script src="/ocearo-ui/_next/static/chunks/webpack-6800222ed1a234a2.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HC[\"/\",\"\"]\n2:HL[\"/ocearo-ui/_next/static/css/c78ab46923ef2f02.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"3:I[12846,[],\"\"]\n5:I[19107,[],\"ClientPageRoot\"]\n6:I[99670,[\"870\",\"static/chunks/bd904a5c-fce155daf9e9ba55.js\",\"746\",\"static/chunks/746-f1a5b23db9004a46.js\",\"931\",\"static/chunks/app/page-b9d9f5901e5701ed.js\"],\"default\",1]\n7:I[4707,[],\"\"]\n8:I[36423,[],\"\"]\na:I[61060,[],\"\"]\nb:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L3\",null,{\"buildId\":\"Hr-CngZPYUr2uKuS2yt4x\",\"assetPrefix\":\"/ocearo-ui\",\"urlParts\":[\"\",\"\"],\"initialTree\":[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"__PAGE__\",{},[[\"$L4\",[\"$\",\"$L5\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$6\"}],null],null],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/ocearo-ui/_next/static/css/c78ab46923ef2f02.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"head\",null,{}],[\"$\",\"body\",null,{\"className\":\"__variable_d559d3 __variable_692ef5 antialiased\",\"children\":[\"$\",\"$L7\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L9\"],\"globalErrorComponent\":\"$a\",\"missingSlots\":\"$Wb\"}]\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\"}],[\"$\",\"meta\",\"1\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: light)\",\"content\":\"#4bbcd8\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: dark)\",\"content\":\"#0a2e3d\"}],[\"$\",\"meta\",\"3\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"4\",{\"children\":\"Ocearo\"}],[\"$\",\"meta\",\"5\",{\"name\":\"description\",\"content\":\"Sailing made smarter\"}],[\"$\",\"link\",\"6\",{\"rel\":\"manifest\",\"href\":\"./manifest.json\",\"crossOrigin\":\"use-credentials\"}],[\"$\",\"meta\",\"7\",{\"name\":\"format-detection\",\"content\":\"telephone=no\"}],[\"$\",\"meta\",\"8\",{\"name\":\"apple-mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"9\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"Ocearo\"}],[\"$\",\"meta\",\"10\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"link\",\"11\",{\"rel\":\"shortcut icon\",\"href\":\"./favicon.ico\"}],[\"$\",\"link\",\"12\",{\"rel\":\"icon\",\"href\":\"./favicon.ico\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"13\",{\"rel\":\"icon\",\"href\":\"./favicon.svg\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"link\",\"14\",{\"rel\":\"icon\",\"href\":\"./favicon-96x96.png\",\"type\":\"image/png\",\"sizes\":\"96x96\"}],[\"$\",\"link\",\"15\",{\"rel\":\"apple-touch-icon\",\"href\":\"./apple-touch-icon.png\"}],[\"$\",\"meta\",\"16\",{\"name\":\"next-size-adjust\"}]]\n4:null\n"])</script></body></html>
package/index.txt CHANGED
@@ -1,7 +1,7 @@
1
1
  2:I[19107,[],"ClientPageRoot"]
2
- 3:I[99670,["870","static/chunks/bd904a5c-fce155daf9e9ba55.js","746","static/chunks/746-f1a5b23db9004a46.js","931","static/chunks/app/page-6b5d2e1a2eed4173.js"],"default",1]
2
+ 3:I[99670,["870","static/chunks/bd904a5c-fce155daf9e9ba55.js","746","static/chunks/746-f1a5b23db9004a46.js","931","static/chunks/app/page-b9d9f5901e5701ed.js"],"default",1]
3
3
  4:I[4707,[],""]
4
4
  5:I[36423,[],""]
5
- 0:["jexXgaE8K23jXi92zslC1",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/ocearo-ui/_next/static/css/54f9736fb6decfe2.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":[["$","head",null,{}],["$","body",null,{"className":"__variable_d559d3 __variable_692ef5 antialiased","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]]}]],null],null],["$L6",null]]]]
5
+ 0:["Hr-CngZPYUr2uKuS2yt4x",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/ocearo-ui/_next/static/css/c78ab46923ef2f02.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":[["$","head",null,{}],["$","body",null,{"className":"__variable_d559d3 __variable_692ef5 antialiased","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]]}]],null],null],["$L6",null]]]]
6
6
  6:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"}],["$","meta","1",{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"#4bbcd8"}],["$","meta","2",{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"#0a2e3d"}],["$","meta","3",{"charSet":"utf-8"}],["$","title","4",{"children":"Ocearo"}],["$","meta","5",{"name":"description","content":"Sailing made smarter"}],["$","link","6",{"rel":"manifest","href":"./manifest.json","crossOrigin":"use-credentials"}],["$","meta","7",{"name":"format-detection","content":"telephone=no"}],["$","meta","8",{"name":"apple-mobile-web-app-capable","content":"yes"}],["$","meta","9",{"name":"apple-mobile-web-app-title","content":"Ocearo"}],["$","meta","10",{"name":"apple-mobile-web-app-status-bar-style","content":"black-translucent"}],["$","link","11",{"rel":"shortcut icon","href":"./favicon.ico"}],["$","link","12",{"rel":"icon","href":"./favicon.ico","type":"image/x-icon"}],["$","link","13",{"rel":"icon","href":"./favicon.svg","type":"image/svg+xml","sizes":"any"}],["$","link","14",{"rel":"icon","href":"./favicon-96x96.png","type":"image/png","sizes":"96x96"}],["$","link","15",{"rel":"apple-touch-icon","href":"./apple-touch-icon.png"}],["$","meta","16",{"name":"next-size-adjust"}]]
7
7
  1:null
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ocearo-ui",
3
- "version": "0.1.11",
3
+ "version": "0.1.12",
4
4
  "private": false,
5
5
  "description": "Ocean Robot UI: Sailing made smarter",
6
6
  "license": "Apache-2.0",
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[199],{86199:function(e,t,a){a.r(t);var l=a(57437),s=a(2265),r=a(53082),n=a(15008),i=a(51268),o=a(35217);let c=e=>{let{data:t,dataKey:a,color:s,scale:n,label:i,unit:o,showPoints:c=!1,lineWidth:x=.5}=e,{nightMode:d}=(0,r.yC)(),m=t.filter(e=>null!==e[a]&&void 0!==e[a]);if(0===m.length)return(0,l.jsx)("div",{className:"flex items-center justify-center h-full",children:"No data available"});let u=Math.min(...m.map(e=>e[a])),h=Math.max(...m.map(e=>e[a])),g=Math.max(n.min,u-(h-u)*.1),f=Math.min(n.max,h+(h-u)*.1),p=h-u>(n.max-n.min)*.05,b=p?g:n.min,v=p?f:n.max,j=t.map((e,l)=>{let s=l/(t.length-1)*100;return null===e[a]||void 0===e[a]?{x:s,y:null,value:null,time:e.time}:{x:s,y:100-Math.min(100,Math.max(0,(e[a]-b)/(v-b)*100)),value:e[a],time:e.time}}).filter(e=>null!==e.y),N=j.reduce((e,t,a)=>e+(0===a?"M ".concat(t.x,",").concat(t.y):" L ".concat(t.x,",").concat(t.y)),""),y=Array.from({length:5}).map((e,t)=>({position:t/4*100,value:v-(v-b)/4*t}));return(0,l.jsxs)("div",{className:"h-full w-full relative",children:[(0,l.jsx)("div",{className:"absolute inset-0",children:y.map((e,t)=>(0,l.jsx)("div",{className:"absolute w-full border-t border-gray-300 opacity-20",style:{top:"".concat(e.position,"%")},children:(0,l.jsxs)("span",{className:"absolute -left-10 text-xs ".concat(d?"text-oNight":"text-white"),children:[e.value.toFixed(e.value<10?1:0),o]})},t))}),(0,l.jsx)("div",{className:"absolute bottom-0 w-full",children:t.filter((e,t)=>t%10==0).map((e,a,s)=>(0,l.jsx)("span",{className:"absolute text-xs ".concat(d?"text-oNight":"text-white"," transform -translate-x-1/2"),style:{left:"".concat(10*a/(t.length-1)*100,"%"),bottom:"-20px"},children:e.time.split(":").slice(1).join(":")},a))}),(0,l.jsx)("div",{className:"absolute inset-0 bg-gray-800 bg-opacity-10 rounded"}),p&&(0,l.jsxs)("div",{className:"absolute top-0 right-0 bg-gray-800 bg-opacity-70 px-2 py-1 rounded text-xs text-white",children:["Auto: ",b.toFixed(1)," - ",v.toFixed(1),o]}),(0,l.jsxs)("svg",{className:"w-full h-full",preserveAspectRatio:"none",viewBox:"0 0 100 100",children:[(0,l.jsx)("defs",{children:(0,l.jsxs)("linearGradient",{id:"gradient-".concat(a),x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,l.jsx)("stop",{offset:"0%",stopColor:s,stopOpacity:"0.3"}),(0,l.jsx)("stop",{offset:"100%",stopColor:s,stopOpacity:"0.05"})]})}),(0,l.jsx)("path",{d:"".concat(N," L ").concat(j[j.length-1].x,",100 L ").concat(j[0].x,",100 Z"),fill:"url(#gradient-".concat(a,")")}),(0,l.jsx)("path",{d:N,fill:"none",stroke:s,strokeWidth:x,strokeLinecap:"round",strokeLinejoin:"round"}),c&&j.map((e,t)=>(0,l.jsx)("circle",{cx:e.x,cy:e.y,r:.5,fill:s,className:"hover:r-4 transition-all duration-150",children:(0,l.jsx)("title",{children:"".concat(i,": ").concat(e.value.toFixed(2)).concat(o)})},t))]})]})},x=e=>{let{socPercentage:t,voltage:a,current:s,temperature:r,isCharging:c}=e,x=(0,n.z)(t),d=t<=n.vp.DANGER_THRESHOLD,m=null!==r;return(0,l.jsxs)("div",{className:"flex flex-col items-center",children:[(0,l.jsxs)("div",{className:"relative w-20 h-40 mb-4",children:[(0,l.jsxs)("div",{className:"absolute w-full h-[90%] bottom-0 rounded-md border-2 border-white overflow-hidden",children:[(0,l.jsx)("div",{className:"absolute bottom-0 w-full transition-all duration-700 ".concat(x),style:{height:"".concat(t,"%")}}),(0,l.jsx)("div",{className:"absolute inset-0 flex items-center justify-center",children:(0,l.jsxs)("span",{className:"text-xl font-bold text-white drop-shadow-lg",children:[Math.round(t),"%"]})}),d&&(0,l.jsx)("div",{className:"absolute inset-0 flex items-center justify-center",children:(0,l.jsx)("span",{className:"text-4xl animate-pulse text-red-500 opacity-70",children:"⚠️"})})]}),(0,l.jsx)("div",{className:"absolute w-[40%] h-[10%] top-0 left-1/2 -translate-x-1/2 bg-white rounded-t-sm"}),c&&(0,l.jsx)("div",{className:"absolute top-[-1.5rem] left-1/2 -translate-x-1/2 text-yellow-400 animate-pulse",children:(0,l.jsx)(i.G,{icon:o.BDt,size:"xl"})})]}),(0,l.jsxs)("div",{className:"flex ".concat(m?"flex-wrap":""," gap-4 justify-center"),children:[(0,l.jsxs)("div",{className:"text-center",children:[(0,l.jsx)("span",{className:"text-xs opacity-70",children:"Voltage"}),(0,l.jsxs)("p",{className:"text-lg font-medium",children:[a.toFixed(1),"V"]})]}),(0,l.jsxs)("div",{className:"text-center",children:[(0,l.jsx)("span",{className:"text-xs opacity-70",children:"Current"}),(0,l.jsxs)("p",{className:"text-lg font-medium",children:[s.toFixed(1),"A"]})]}),m&&(0,l.jsxs)("div",{className:"text-center",children:[(0,l.jsx)("span",{className:"text-xs opacity-70",children:"Temp"}),(0,l.jsxs)("p",{className:"text-lg font-medium",children:[r.toFixed(1),"\xb0C"]})]})]})]})},d=e=>{let{value:t,min:a,max:s,label:r,color:n,icon:o}=e;return(0,l.jsxs)("div",{className:"flex flex-col items-center",children:[(0,l.jsxs)("div",{className:"relative w-32 h-16 mb-2",children:[(0,l.jsx)("div",{className:"absolute w-full h-full bg-gray-800 rounded-t-full overflow-hidden"}),(0,l.jsx)("div",{className:"absolute bottom-0 left-0 w-full origin-bottom overflow-hidden",style:{height:"100%",transform:"rotate(".concat(-90+(t-a)/(s-a)*100/100*180,"deg)"),transformOrigin:"bottom center"},children:(0,l.jsx)("div",{className:"absolute bottom-0 left-0 w-0.5 h-full ".concat(n),style:{left:"50%",boxShadow:"0 0 8px 1px currentColor"}})}),[0,25,50,75,100].map(e=>(0,l.jsx)("div",{className:"absolute bottom-0 w-1 h-2 bg-white",style:{left:"".concat(e,"%")}},e)),o&&(0,l.jsx)("div",{className:"absolute top-1 left-1/2 -translate-x-1/2 text-white opacity-70",children:(0,l.jsx)(i.G,{icon:o})}),(0,l.jsx)("div",{className:"absolute bottom-0 left-1/2 -translate-x-1/2 -translate-y-1/2",children:(0,l.jsx)("span",{className:"font-bold text-white",children:t.toFixed(1)})})]}),(0,l.jsx)("span",{className:"text-sm opacity-80",children:r})]})};t.default=()=>{let{nightMode:e,getSignalKValue:t}=(0,r.yC)(),a=(0,s.useRef)(performance.now()),m=(0,s.useRef)(performance.now()),u=(0,s.useRef)(0),[h,g]=(0,s.useState)("voltage"),[f,p]=(0,s.useState)("fps"),b=(0,s.useCallback)(()=>{let e=new Date().toLocaleTimeString(),a=t("electrical.batteries.1.voltage")||12,l=t("electrical.batteries.1.capacity.stateOfCharge"),s=t("electrical.batteries.1.current")||5,i=t("electrical.batteries.1.temperature"),o=null!==i?(0,r.G5)(i):null;return{time:e,voltage:a,current:s,stateOfCharge:null!==l?l:(0,n.Si)(a),power:a*s,temperature:o}},[t]),[v,j]=(0,s.useState)(()=>Array(60).fill(null).map(b)),[N,y]=(0,s.useState)(()=>{let e=new Date().toLocaleTimeString();return Array(60).fill({time:e,fps:60,ms:16.67,drawCalls:0,triangles:0,geometries:0,textures:0,memory:0})}),w=(0,s.useCallback)(e=>{let a=v[v.length-1],l=t("electrical.batteries.1.voltage")||a.voltage,s=t("electrical.batteries.1.current")||a.current,i=t("electrical.batteries.1.capacity.stateOfCharge"),o=null!==i?i:(0,n.Si)(l),c=t("electrical.batteries.1.temperature");return{time:e,voltage:l,current:s,stateOfCharge:o,power:l*s,temperature:null!==c?(0,r.G5)(c):null}},[t,v]),C=(0,s.useRef)(null);(0,s.useEffect)(()=>{window.__OCEARO_RENDERER&&(C.current=window.__OCEARO_RENDERER)},[]),(0,s.useEffect)(()=>{let e;let t=()=>{let l=new Date().toLocaleTimeString();u.current++;let s=performance.now();if(a.current,s>=m.current+1e3){var r,n,i,o,c,x,d,h;let e=1e3*u.current/(s-m.current),t=e>0?1e3/e:0,a=0,g=0,f=0,p=0,b=0;if(window.performance&&window.performance.memory&&(b=Math.round(window.performance.memory.usedJSHeapSize/1048576)),C.current){let e=C.current.info;a=(null===(r=e.render)||void 0===r?void 0:r.calls)||0,g=(null===(n=e.render)||void 0===n?void 0:n.triangles)||0,f=(null===(i=e.memory)||void 0===i?void 0:i.geometries)||0,p=(null===(o=e.memory)||void 0===o?void 0:o.textures)||0}else if(window.__OCEARO_RENDER_INFO){let e=window.__OCEARO_RENDER_INFO;a=(null===(c=e.render)||void 0===c?void 0:c.calls)||0,g=(null===(x=e.render)||void 0===x?void 0:x.triangles)||0,f=(null===(d=e.memory)||void 0===d?void 0:d.geometries)||0,p=(null===(h=e.memory)||void 0===h?void 0:h.textures)||0}y(s=>[...s.slice(1),{time:l,fps:e,ms:t,drawCalls:a,triangles:g,geometries:f,textures:p,memory:b}]),j(e=>[...e.slice(1),w(l)]),m.current=s,u.current=0}a.current=s,e=requestAnimationFrame(t)};return e=requestAnimationFrame(t),()=>cancelAnimationFrame(e)},[w]);let R={voltage:{min:10.5,max:15,step:1},current:{min:-5,max:50,step:5},soc:{min:0,max:100,step:25},temperature:{min:10,max:60,step:10}},G={fps:{min:0,max:60,step:15},drawCalls:{min:0,max:500,step:100},triangles:{min:0,max:5e5,step:1e5},memory:{min:0,max:500,step:100}},O=v[v.length-1],E=(0,n.d3)(O.voltage),_=null!==O.temperature;return(0,l.jsx)("div",{className:"p-6 flex flex-col h-full bg-rightPaneBg overflow-auto",children:(0,l.jsxs)("div",{className:"grid gap-6 md:grid-cols-2 auto-rows-fr h-full",children:[(0,l.jsxs)("div",{className:"bg-oGray2 rounded-lg shadow-lg p-4 flex flex-col md:row-span-2",children:[(0,l.jsxs)("h2",{className:"text-lg font-semibold ".concat(e?"text-oNight":"text-white"," mb-6 text-center"),children:[(0,l.jsx)(i.G,{icon:o.RoX,className:"mr-2"}),"Battery Status"]}),(0,l.jsxs)("div",{className:"flex-1 flex flex-col justify-between",children:[(0,l.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,l.jsx)(x,{socPercentage:O.stateOfCharge,voltage:O.voltage,current:O.current,temperature:O.temperature,isCharging:E})}),(0,l.jsxs)("div",{className:"flex justify-center flex-wrap gap-6 mb-4",children:[(0,l.jsx)(d,{value:O.voltage,min:R.voltage.min,max:R.voltage.max,label:"Voltage",color:"text-blue-500",icon:o.BDt}),(0,l.jsx)(d,{value:O.current,min:R.current.min,max:R.current.max,label:"Current",color:"text-red-500",icon:o.Tr1}),_&&(0,l.jsx)(d,{value:O.temperature,min:R.temperature.min,max:R.temperature.max,label:"Temperature",color:"text-orange-500",icon:o.ccn})]}),(0,l.jsxs)("div",{className:"flex justify-center space-x-3 pt-2 border-t border-gray-700",children:[(0,l.jsxs)("div",{className:"px-3 py-1 rounded-full text-sm flex items-center \n ".concat(E?"bg-green-900 text-green-200":"bg-gray-700 text-gray-300"),children:[(0,l.jsx)(i.G,{icon:o.Tr1,className:"mr-1"}),E?"Charging":"Not Charging"]}),(0,l.jsxs)("div",{className:"px-3 py-1 rounded-full text-sm flex items-center\n ".concat("bg-oGreen"===(0,n.z)(O.stateOfCharge)?"bg-green-900 text-green-200":"bg-oYellow"===(0,n.z)(O.stateOfCharge)?"bg-yellow-700 text-yellow-100":"bg-red-900 text-red-200"),children:[(0,l.jsx)(i.G,{icon:o.RoX,className:"mr-1"}),O.stateOfCharge>=75?"Good":O.stateOfCharge>=30?"Fair":"Low"]})]})]})]}),(0,l.jsxs)("div",{className:"bg-oGray2 rounded-lg shadow-lg p-4 flex flex-col h-full",children:[(0,l.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,l.jsx)("h2",{className:"text-lg font-semibold ".concat(e?"text-oNight":"text-white"),children:"Battery Graph"}),(0,l.jsxs)("div",{className:"flex space-x-2",children:[(0,l.jsx)("button",{className:"px-2 py-1 rounded text-xs ".concat("voltage"===h?"bg-blue-500 text-white":"bg-gray-700 text-gray-300"),onClick:()=>g("voltage"),children:"Voltage"}),(0,l.jsx)("button",{className:"px-2 py-1 rounded text-xs ".concat("current"===h?"bg-red-500 text-white":"bg-gray-700 text-gray-300"),onClick:()=>g("current"),children:"Current"}),(0,l.jsx)("button",{className:"px-2 py-1 rounded text-xs ".concat("soc"===h?"bg-green-500 text-white":"bg-gray-700 text-gray-300"),onClick:()=>g("soc"),children:"SoC"}),_&&(0,l.jsx)("button",{className:"px-2 py-1 rounded text-xs ".concat("temperature"===h?"bg-orange-500 text-white":"bg-gray-700 text-gray-300"),onClick:()=>g("temperature"),children:"Temp"})]})]}),(0,l.jsxs)("div",{className:"h-48 relative",children:["voltage"===h&&(0,l.jsx)(c,{data:v,dataKey:"voltage",color:"#3b82f6",scale:R.voltage,label:"Voltage",unit:"V",showPoints:!0}),"current"===h&&(0,l.jsx)(c,{data:v,dataKey:"current",color:"#ef4444",scale:R.current,label:"Current",unit:"A",showPoints:!0}),"soc"===h&&(0,l.jsx)(c,{data:v,dataKey:"stateOfCharge",color:"#22c55e",scale:R.soc,label:"State of Charge",unit:"%",showPoints:!0}),"temperature"===h&&_&&(0,l.jsx)(c,{data:v,dataKey:"temperature",color:"#f97316",scale:R.temperature,label:"Temperature",unit:"\xb0C",showPoints:!0})]})]}),(0,l.jsxs)("div",{className:"bg-oGray2 rounded-lg shadow-lg p-4 flex flex-col h-full",children:[(0,l.jsxs)("div",{className:"flex justify-between items-center mb-4",children:[(0,l.jsxs)("h2",{className:"text-lg font-semibold ".concat(e?"text-oNight":"text-white"," flex items-center"),children:[(0,l.jsx)(i.G,{icon:o.zvy,className:"mr-2"}),"3D Performance"]}),(0,l.jsxs)("div",{className:"flex space-x-2",children:[(0,l.jsx)("button",{className:"px-2 py-1 rounded text-xs ".concat("fps"===f?"bg-cyan-500 text-white":"bg-gray-700 text-gray-300"),onClick:()=>p("fps"),children:"FPS"}),(0,l.jsx)("button",{className:"px-2 py-1 rounded text-xs ".concat("drawCalls"===f?"bg-purple-500 text-white":"bg-gray-700 text-gray-300"),onClick:()=>p("drawCalls"),children:"Draw Calls"}),(0,l.jsx)("button",{className:"px-2 py-1 rounded text-xs ".concat("triangles"===f?"bg-indigo-500 text-white":"bg-gray-700 text-gray-300"),onClick:()=>p("triangles"),children:"Triangles"}),(0,l.jsx)("button",{className:"px-2 py-1 rounded text-xs ".concat("memory"===f?"bg-emerald-500 text-white":"bg-gray-700 text-gray-300"),onClick:()=>p("memory"),children:"Memory"})]})]}),(0,l.jsxs)("div",{className:"h-48 relative",children:["fps"===f&&(0,l.jsx)(c,{data:N,dataKey:"fps",color:"#06b6d4",scale:G.fps,label:"FPS",unit:"",lineWidth:.5,showPoints:!0}),"drawCalls"===f&&(0,l.jsx)(c,{data:N,dataKey:"drawCalls",color:"#8b5cf6",scale:G.drawCalls,label:"Draw Calls",unit:"",lineWidth:.5,showPoints:!0}),"triangles"===f&&(0,l.jsx)(c,{data:N,dataKey:"triangles",color:"#6366f1",scale:G.triangles,label:"Triangles",unit:"",lineWidth:.5,showPoints:!0}),"memory"===f&&(0,l.jsx)(c,{data:N,dataKey:"memory",color:"#10b981",scale:G.memory,label:"Memory",unit:"MB",lineWidth:.5,showPoints:!0})]}),(0,l.jsxs)("div",{className:"grid grid-cols-2 gap-4 mt-4",children:[(0,l.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,l.jsx)(i.G,{icon:o.zvy,className:"text-cyan-500 text-lg"}),(0,l.jsxs)("div",{children:[(0,l.jsx)("p",{className:"text-xs ".concat(e?"text-oNight":"text-white"," opacity-70"),children:"FPS / Frame Time"}),(0,l.jsxs)("p",{className:"text-base font-semibold ".concat(e?"text-oNight":"text-white"),children:[N[N.length-1].fps.toFixed(1)," fps /",N[N.length-1].ms.toFixed(1),"ms"]})]})]}),(0,l.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,l.jsx)(i.G,{icon:o.dT$,className:"text-purple-500 text-lg"}),(0,l.jsxs)("div",{children:[(0,l.jsx)("p",{className:"text-xs ".concat(e?"text-oNight":"text-white"," opacity-70"),children:"Draw Calls"}),(0,l.jsx)("p",{className:"text-base font-semibold ".concat(e?"text-oNight":"text-white"),children:N[N.length-1].drawCalls.toLocaleString()})]})]}),(0,l.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,l.jsx)(i.G,{icon:o.hGM,className:"text-indigo-500 text-lg"}),(0,l.jsxs)("div",{children:[(0,l.jsx)("p",{className:"text-xs ".concat(e?"text-oNight":"text-white"," opacity-70"),children:"Triangles / Geometries"}),(0,l.jsxs)("p",{className:"text-base font-semibold ".concat(e?"text-oNight":"text-white"),children:[(N[N.length-1].triangles/1e3).toFixed(1),"k /",N[N.length-1].geometries]})]})]}),(0,l.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,l.jsx)(i.G,{icon:o.$v3,className:"text-emerald-500 text-lg"}),(0,l.jsxs)("div",{children:[(0,l.jsx)("p",{className:"text-xs ".concat(e?"text-oNight":"text-white"," opacity-70"),children:"Memory / Textures"}),(0,l.jsxs)("p",{className:"text-base font-semibold ".concat(e?"text-oNight":"text-white"),children:[N[N.length-1].memory," MB /",N[N.length-1].textures||0]})]})]})]})]})]})})}},15008:function(e,t,a){a.d(t,{Si:function(){return s},d3:function(){return r},vp:function(){return l},z:function(){return n}});let l={WARNING_THRESHOLD:50,DANGER_THRESHOLD:20,CHARGING_THRESHOLD:13.2,MIN_VOLTAGE:10.5,MAX_VOLTAGE:14.4},s=e=>{if(!e||"number"!=typeof e)return 0;if(e>=13)return 100;if(e<=l.MIN_VOLTAGE)return 0;let t=[{voltage:12.85,soc:100},{voltage:12.75,soc:90},{voltage:12.65,soc:80},{voltage:12.55,soc:70},{voltage:12.45,soc:60},{voltage:12.35,soc:50},{voltage:12.25,soc:40},{voltage:12.15,soc:30},{voltage:12.05,soc:20},{voltage:11.95,soc:15},{voltage:11.8,soc:10},{voltage:11.6,soc:5},{voltage:10.5,soc:0}];for(let a=0;a<t.length-1;a++)if(e>=t[a+1].voltage){let l=t[a].voltage,s=t[a+1].voltage,r=t[a].soc,n=t[a+1].soc;return Math.round(n+(e-s)/(l-s)*(r-n))}return 0},r=e=>e>l.CHARGING_THRESHOLD,n=e=>e>l.WARNING_THRESHOLD?"bg-oGreen":e>l.DANGER_THRESHOLD?"bg-oYellow":"bg-oRed"}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[252],{7252:function(e,t,l){l.r(t);var a=l(57437),n=l(2265),r=l(30166),i=l(53082),o=l(63321);let s=(0,r.default)(()=>l.e(79).then(l.bind(l,68079)),{loadableGenerated:{webpack:()=>[68079]},loading:()=>(0,a.jsx)("div",{className:"w-full h-full flex justify-center items-center",children:"Loading documents..."})}),c=(0,r.default)(()=>l.e(73).then(l.bind(l,69073)),{loadableGenerated:{webpack:()=>[69073]},loading:()=>(0,a.jsx)("div",{className:"w-full h-full flex justify-center items-center",children:"Loading settings..."})}),u=(0,r.default)(()=>Promise.all([l.e(676),l.e(268),l.e(145),l.e(138)]).then(l.bind(l,59138)),{loadableGenerated:{webpack:()=>[59138]},loading:()=>(0,a.jsx)("div",{className:"w-full h-full flex justify-center items-center",children:"Loading media player..."})}),d=(0,r.default)(()=>Promise.all([l.e(676),l.e(268),l.e(199)]).then(l.bind(l,86199)),{loadableGenerated:{webpack:()=>[86199]},loading:()=>(0,a.jsx)("div",{className:"w-full h-full flex justify-center items-center",children:"Loading battery monitor..."})}),m={latitude:46.1591,longitude:-1.1522},f={navigation:e=>"".concat(e,"/@signalk/freeboard-sk/"),instrument:e=>"".concat(e,"/@mxtommy/kip/"),grafana:e=>e.replace(":3000",":3001")+"/grafana",webcam1:()=>"https://pv.viewsurf.com/2080/Chatelaillon-Port?i=NzU4Mjp1bmRlZmluZWQ",webcam2:()=>"https://pv.viewsurf.com/1478/Chatelaillon-Plage&lt?i=NTkyMDp1bmRlZmluZWQ",weather:(e,t)=>t&&"https://embed.windy.com/embed.html?type=map&location=coordinates&metricRain=mm&metricTemp=\xb0C&metricWind=kt&zoom=10&overlay=wind&product=ecmwf&level=surface&lat=".concat(t.latitude,"&lon=").concat(t.longitude,"&message=true")};t.default=e=>{let{view:t}=e,{getSignalKValue:l}=(0,i.yC)(),[r,h]=(0,n.useState)(null),[p,g]=(0,n.useState)(null),{signalkUrl:b}=o.Z.getAll();(0,n.useEffect)(()=>{let e=()=>{try{let e=l("navigation.position")||m;h(t=>t?Math.abs(t.latitude-e.latitude)>.01||Math.abs(t.longitude-e.longitude)>.01?e:t:e),g(null)}catch(e){g("Error fetching position data"),console.error("Position fetch error:",e)}};e();let t=setInterval(e,1e4);return()=>clearInterval(t)},[l]);let w=(0,n.useMemo)(()=>{let e=f[t];if(!e)return null;try{return e(b,r)}catch(e){return console.error("Error generating URL:",e),g("Error generating application URL"),null}},[t,r,b]);return(0,a.jsx)("div",{className:"flex flex-col w-full h-full overflow-auto",children:(()=>{if(p)return(0,a.jsx)("div",{className:"text-red-500 p-4",children:p});switch(t){case"manual":return(0,a.jsx)(s,{path:"docs"});case"settings":return(0,a.jsx)(c,{});case"mediaplayer":return(0,a.jsx)(u,{});case"battery":return(0,a.jsx)(d,{});default:return w&&(0,a.jsx)("iframe",{className:"flex-grow border-none",src:w,title:"External Application",onError:()=>g("Failed to load external content")})}})()})}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[73],{69073:function(e,s,a){a.r(s);var l=a(57437),t=a(2265),n=a(63321);s.default=e=>{var s;let{onSave:a}=e,c=n.Z.getAll(),i=n.Z.getComputedSignalKUrl(),r=n.Z.getBoatsData(),[d,o]=(0,t.useState)(c),[m,h]=(0,t.useState)(c.useAuthentication||!!c.username||!!c.password),[x,u]=(0,t.useState)(c.signalKUrlSet||!1),[g,p]=(0,t.useState)(null),[b,j]=(0,t.useState)(!1),[N,v]=(0,t.useState)({visible:!1,message:""}),f=(0,t.useCallback)(e=>{j(JSON.stringify(e)!==JSON.stringify(c))},[c]);(0,t.useEffect)(()=>{(async()=>{let e=n.Z.getAll();o(e),u(e.signalKUrlSet||!1),h(e.useAuthentication||!!e.username||!!e.password),e.selectedBoat&&p(r.find(s=>s.name===e.selectedBoat)||null)})()},[r]);let k=e=>{let s={...d,...e};o(s),f(s);let l={...s};e.hasOwnProperty("signalKUrlSet")?!1===e.signalKUrlSet&&(l.signalkUrl=i,l.username="",l.password=""):x||e.hasOwnProperty("signalkUrl")?m||(l.username="",l.password=""):(l.signalkUrl=i,l.username="",l.password=""),n.Z.saveConfig(l),null==a||a(l),j(!1),v({visible:!0,message:"Settings saved automatically"}),setTimeout(()=>v({visible:!1,message:""}),2e3)};return(0,l.jsxs)("div",{className:"p-4 text-white",children:[(0,l.jsxs)("h1",{className:"text-2xl font-bold mb-4 flex justify-between items-center",children:["Ocearo Configuration",N.visible&&(0,l.jsx)("span",{className:"text-sm font-normal bg-green-500 text-white px-3 py-1 rounded-full animate-pulse",children:N.message})]}),(0,l.jsxs)("div",{className:"space-y-4",children:[(0,l.jsxs)("div",{className:"space-y-4",children:[(0,l.jsx)("h2",{className:"text-xl font-semibold",children:"Connection Settings"}),(0,l.jsx)("div",{children:(0,l.jsxs)("label",{className:"flex items-center",children:[(0,l.jsx)("input",{type:"checkbox",className:"mr-2",checked:x,onChange:e=>{u(e.target.checked),k({signalKUrlSet:e.target.checked})}}),"Set SignalK URL",!x&&(0,l.jsxs)("span",{className:"ml-2",children:["(",i,")"]})]})}),x&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("label",{className:"block font-medium mb-1",children:"SignalK Server URL:"}),(0,l.jsx)("input",{type:"text",className:"border p-2 w-full text-black rounded",value:d.signalkUrl||"",onChange:e=>k({signalkUrl:e.target.value})})]}),(0,l.jsx)("div",{children:(0,l.jsxs)("label",{className:"flex items-center",children:[(0,l.jsx)("input",{type:"checkbox",className:"mr-2",checked:m,onChange:e=>{h(e.target.checked),k({useAuthentication:e.target.checked})}}),"Use Authentication"]})}),m&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("label",{className:"block font-medium mb-1",children:"Username:"}),(0,l.jsx)("input",{type:"text",className:"border p-2 w-full text-black rounded",value:d.username||"",onChange:e=>k({username:e.target.value})})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("label",{className:"block font-medium mb-1",children:"Password:"}),(0,l.jsx)("input",{type:"password",className:"border p-2 w-full text-black rounded",value:d.password||"",onChange:e=>k({password:e.target.value})})]})]})]})]}),(0,l.jsxs)("div",{className:"space-y-4",children:[(0,l.jsx)("h2",{className:"text-xl font-semibold",children:"Vessel Settings"}),(0,l.jsxs)("div",{children:[(0,l.jsx)("label",{className:"block font-medium mb-1",children:"Select Vessel:"}),(0,l.jsxs)("select",{className:"border p-2 w-full text-black rounded",value:d.selectedBoat||"",onChange:e=>{let s=e.target.value;p(r.find(e=>e.name===s)||null),k({selectedBoat:s})},children:[(0,l.jsx)("option",{value:"",children:"-- Select a Vessel --"}),r.map(e=>(0,l.jsx)("option",{value:e.name,children:e.name},e.name))]})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("label",{className:"block font-medium mb-1",children:"Vessel Color:"}),(0,l.jsx)("input",{type:"color",className:"w-full h-10 rounded",value:d.primaryColor||"#000000",onChange:e=>k({primaryColor:e.target.value})})]}),(0,l.jsx)("div",{children:(0,l.jsxs)("label",{className:"flex items-center",children:[(0,l.jsx)("input",{type:"checkbox",className:"mr-2",checked:d.metallicEffect||!1,onChange:e=>k({metallicEffect:e.target.checked})}),"Enable Metallic Effect"]})})]}),(0,l.jsxs)("div",{className:"space-y-4",children:[(0,l.jsx)("h2",{className:"text-xl font-semibold",children:"Display Settings"}),(0,l.jsx)("div",{children:(0,l.jsxs)("label",{className:"flex items-center text-base",children:[(0,l.jsx)("input",{type:"checkbox",className:"mr-3 h-5 w-5",checked:d.compassNorthUp||!1,onChange:e=>k({compassNorthUp:e.target.checked})}),(0,l.jsxs)("span",{children:["Compass Mode: North at Top",(0,l.jsx)("div",{className:"text-sm text-gray-400",children:d.compassNorthUp?"North at top (land navigation style)":"North at bottom (marine navigation style)"})]})]})})]}),(0,l.jsxs)("div",{className:"space-y-4",children:[(0,l.jsx)("h2",{className:"text-xl font-semibold",children:"Advanced Settings"}),(0,l.jsx)("div",{children:(0,l.jsxs)("label",{className:"flex items-center",children:[(0,l.jsx)("input",{type:"checkbox",className:"mr-2",checked:d.debugMode||!1,onChange:e=>k({debugMode:e.target.checked,signalkUrl:i})}),"Debug Mode"]})}),(0,l.jsxs)("div",{className:"space-y-2",children:[(0,l.jsxs)("label",{className:"block text-sm font-medium",children:["AIS Length Scaling Factor",(0,l.jsx)("div",{className:"text-xs text-gray-500",children:"Controls the scaling of AIS boats on the map (0.1 - 2.0)"})]}),(0,l.jsxs)("div",{className:"flex items-center space-x-4",children:[(0,l.jsx)("span",{className:"text-sm",children:"0.1"}),(0,l.jsx)("input",{type:"range",className:"w-full h-10 appearance-none bg-gray-700 rounded-lg outline-none cursor-pointer",style:{WebkitAppearance:"none",appearance:"none",height:"20px",background:"linear-gradient(to right, #1E3A8A, #3B82F6)",borderRadius:"10px"},min:"0.1",max:"2.0",step:"0.1",value:d.aisLengthScalingFactor||.7,onChange:e=>k({aisLengthScalingFactor:parseFloat(e.target.value)})}),(0,l.jsx)("span",{className:"text-sm",children:"2.0"}),(0,l.jsx)("span",{className:"text-base font-semibold bg-blue-500 px-3 py-1 rounded-lg min-w-[3.5rem] text-center",children:d.aisLengthScalingFactor||.7})]})]}),g&&d.debugMode&&(0,l.jsxs)("div",{className:"space-y-2 text-sm text-gray-400",children:[(0,l.jsxs)("div",{children:["3D Model: ",g.modelPath]}),(0,l.jsxs)("div",{children:["Features: ",null===(s=g.capabilities)||void 0===s?void 0:s.join(", ")]})]})]}),(0,l.jsx)("div",{className:"flex space-x-4 pt-4",children:(0,l.jsx)("button",{onClick:()=>{let e=n.Z.getDefaultConfig();o(e),h(!1),e.useAuthentication=!1,u(!1),e.signalKUrlSet=!1,n.Z.saveConfig(e),j(!1)},className:"bg-oRed text-white px-4 py-2 rounded hover:bg-red-600",children:"Reset Configuration"})})]})]})}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[676],{35217:function(c,l,s){s.d(l,{$v3:function(){return i},BDt:function(){return k},BQ9:function(){return C},DBF:function(){return G},DSs:function(){return q},GTN:function(){return e},HLz:function(){return v},ItS:function(){return p},IyC:function(){return j},Kb6:function(){return _},L02:function(){return d},NBC:function(){return D},NId:function(){return b},RoX:function(){return w},Rpv:function(){return L},S9Y:function(){return R},SJR:function(){return I},TL5:function(){return B},Tr1:function(){return a},Xjp:function(){return N},Zkk:function(){return y},ccn:function(){return r},d8e:function(){return T},dT$:function(){return m},hGM:function(){return M},iGi:function(){return S},jOV:function(){return u},lnS:function(){return g},mDh:function(){return h},q16:function(){return f},szN:function(){return x},tLL:function(){return z},uM9:function(){return n},whq:function(){return o},zvy:function(){return t}});let n={prefix:"fas",iconName:"cloud",icon:[640,512,[9729],"f0c2","M0 336c0 79.5 64.5 144 144 144l368 0c70.7 0 128-57.3 128-128c0-61.9-44-113.6-102.4-125.4c4.1-10.7 6.4-22.4 6.4-34.6c0-53-43-96-96-96c-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32C167.6 32 96 103.6 96 192c0 2.7 .1 5.4 .2 8.1C40.2 219.8 0 273.2 0 336z"]},e={prefix:"fas",iconName:"compass",icon:[512,512,[129517],"f14e","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm50.7-186.9L162.4 380.6c-19.4 7.5-38.5-11.6-31-31l55.5-144.3c3.3-8.5 9.9-15.1 18.4-18.4l144.3-55.5c19.4-7.5 38.5 11.6 31 31L325.1 306.7c-3.2 8.5-9.9 15.1-18.4 18.4zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]},i={prefix:"fas",iconName:"memory",icon:[576,512,[],"f538","M64 64C28.7 64 0 92.7 0 128l0 7.4c0 6.8 4.4 12.6 10.1 16.3C23.3 160.3 32 175.1 32 192s-8.7 31.7-21.9 40.3C4.4 236 0 241.8 0 248.6L0 320l576 0 0-71.4c0-6.8-4.4-12.6-10.1-16.3C552.7 223.7 544 208.9 544 192s8.7-31.7 21.9-40.3c5.7-3.7 10.1-9.5 10.1-16.3l0-7.4c0-35.3-28.7-64-64-64L64 64zM576 352L0 352l0 64c0 17.7 14.3 32 32 32l48 0 0-32c0-8.8 7.2-16 16-16s16 7.2 16 16l0 32 96 0 0-32c0-8.8 7.2-16 16-16s16 7.2 16 16l0 32 96 0 0-32c0-8.8 7.2-16 16-16s16 7.2 16 16l0 32 96 0 0-32c0-8.8 7.2-16 16-16s16 7.2 16 16l0 32 48 0c17.7 0 32-14.3 32-32l0-64zM192 160l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 0l0 64c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32s32 14.3 32 32z"]},f={prefix:"fas",iconName:"gas-pump",icon:[512,512,[9981],"f52f","M32 64C32 28.7 60.7 0 96 0L256 0c35.3 0 64 28.7 64 64l0 192 8 0c48.6 0 88 39.4 88 88l0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-154c-27.6-7.1-48-32.2-48-62l0-64L384 64c-8.8-8.8-8.8-23.2 0-32s23.2-8.8 32 0l77.3 77.3c12 12 18.7 28.3 18.7 45.3l0 13.5 0 24 0 32 0 152c0 39.8-32.2 72-72 72s-72-32.2-72-72l0-32c0-22.1-17.9-40-40-40l-8 0 0 144c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 512c-17.7 0-32-14.3-32-32s14.3-32 32-32L32 64zM96 80l0 96c0 8.8 7.2 16 16 16l128 0c8.8 0 16-7.2 16-16l0-96c0-8.8-7.2-16-16-16L112 64c-8.8 0-16 7.2-16 16z"]},r={prefix:"fas",iconName:"temperature-half",icon:[320,512,[127777,"temperature-2","thermometer-2","thermometer-half"],"f2c9","M160 64c-26.5 0-48 21.5-48 48l0 164.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9c-8.2-10.6-15.3-25.2-15.3-42.5L208 112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112l0 164.4c0 .1 .1 .3 .2 .6c.2 .6 .8 1.6 1.7 2.8c18.9 24.4 30.1 55 30.1 88.1c0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1c.9-1.2 1.5-2.2 1.7-2.8c.1-.3 .2-.5 .2-.6L48 112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3L144 208c0-8.8 7.2-16 16-16s16 7.2 16 16l0 114.7c18.6 6.6 32 24.4 32 45.3z"]},o=r,a={prefix:"fas",iconName:"charging-station",icon:[576,512,[],"f5e7","M96 0C60.7 0 32 28.7 32 64l0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-144 16 0c22.1 0 40 17.9 40 40l0 32c0 39.8 32.2 72 72 72s72-32.2 72-72l0-123.7c32.5-10.2 56-40.5 56-76.3l0-32c0-8.8-7.2-16-16-16l-16 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-32 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-16 0c-8.8 0-16 7.2-16 16l0 32c0 35.8 23.5 66.1 56 76.3L472 376c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-32c0-48.6-39.4-88-88-88l-16 0 0-192c0-35.3-28.7-64-64-64L96 0zM216.9 82.7c6 4 8.5 11.5 6.3 18.3l-25 74.9 57.8 0c6.7 0 12.7 4.2 15 10.4s.5 13.3-4.6 17.7l-112 96c-5.5 4.7-13.4 5.1-19.3 1.1s-8.5-11.5-6.3-18.3l25-74.9L96 208c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7l112-96c5.5-4.7 13.4-5.1 19.3-1.1z"]},t={prefix:"fas",iconName:"microchip",icon:[512,512,[],"f2db","M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c-35.3 0-64 28.7-64 64l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c0 35.3 28.7 64 64 64l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c35.3 0 64-28.7 64-64l40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0c0-35.3-28.7-64-64-64l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40zM160 128l192 0c17.7 0 32 14.3 32 32l0 192c0 17.7-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32l0-192c0-17.7 14.3-32 32-32zm192 32l-192 0 0 192 192 0 0-192z"]},L={prefix:"fas",iconName:"fire",icon:[448,512,[128293],"f06d","M159.3 5.4c7.8-7.3 19.9-7.2 27.7 .1c27.6 25.9 53.5 53.8 77.7 84c11-14.4 23.5-30.1 37-42.9c7.9-7.4 20.1-7.4 28 .1c34.6 33 63.9 76.6 84.5 118c20.3 40.8 33.8 82.5 33.8 111.9C448 404.2 348.2 512 224 512C98.4 512 0 404.1 0 276.5c0-38.4 17.8-85.3 45.4-131.7C73.3 97.7 112.7 48.6 159.3 5.4zM225.7 416c25.3 0 47.7-7 68.8-21c42.1-29.4 53.4-88.2 28.1-134.4c-4.5-9-16-9.6-22.5-2l-25.2 29.3c-6.6 7.6-18.5 7.4-24.7-.5c-16.5-21-46-58.5-62.8-79.8c-6.3-8-18.3-8.1-24.7-.1c-33.8 42.5-50.8 69.3-50.8 99.4C112 375.4 162.6 416 225.7 416z"]},z={prefix:"fas",iconName:"map-location-dot",icon:[576,512,["map-marked-alt"],"f5a0","M408 120c0 54.6-73.1 151.9-105.2 192c-7.7 9.6-22 9.6-29.6 0C241.1 271.9 168 174.6 168 120C168 53.7 221.7 0 288 0s120 53.7 120 120zm8 80.4c3.5-6.9 6.7-13.8 9.6-20.6c.5-1.2 1-2.5 1.5-3.7l116-46.4C558.9 123.4 576 135 576 152l0 270.8c0 9.8-6 18.6-15.1 22.3L416 503l0-302.6zM137.6 138.3c2.4 14.1 7.2 28.3 12.8 41.5c2.9 6.8 6.1 13.7 9.6 20.6l0 251.4L32.9 502.7C17.1 509 0 497.4 0 480.4L0 209.6c0-9.8 6-18.6 15.1-22.3l122.6-49zM327.8 332c13.9-17.4 35.7-45.7 56.2-77l0 249.3L192 449.4 192 255c20.5 31.3 42.3 59.6 56.2 77c20.5 25.6 59.1 25.6 79.6 0zM288 152a40 40 0 1 0 0-80 40 40 0 1 0 0 80z"]},u={prefix:"fas",iconName:"snowflake",icon:[448,512,[10052,10054],"f2dc","M224 0c17.7 0 32 14.3 32 32l0 30.1 15-15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-49 49 0 70.3 61.4-35.8 17.7-66.1c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4l-5.2 19.3 23.6-13.8c15.3-8.9 34.9-3.7 43.8 11.5s3.8 34.9-11.5 43.8l-25.3 14.8 21.7 5.8c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-67.7-18.1L287.5 256l60.9 35.5 67.7-18.1c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4l-21.7 5.8 25.3 14.8c15.3 8.9 20.4 28.5 11.5 43.8s-28.5 20.4-43.8 11.5l-23.6-13.8 5.2 19.3c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-17.7-66.1L256 311.7l0 70.3 49 49c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15 0 30.1c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-30.1-15 15c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l49-49 0-70.3-61.4 35.8-17.7 66.1c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4l5.2-19.3L48.1 395.6c-15.3 8.9-34.9 3.7-43.8-11.5s-3.7-34.9 11.5-43.8l25.3-14.8-21.7-5.8c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l67.7 18.1L160.5 256 99.6 220.5 31.9 238.6c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4l21.7-5.8L15.9 171.6C.6 162.7-4.5 143.1 4.4 127.9s28.5-20.4 43.8-11.5l23.6 13.8-5.2-19.3c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l17.7 66.1L192 200.3l0-70.3L143 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l15 15L192 32c0-17.7 14.3-32 32-32z"]},m={prefix:"fas",iconName:"code",icon:[640,512,[],"f121","M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3L562.7 256l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z"]},M={prefix:"fas",iconName:"cube",icon:[512,512,[],"f1b2","M234.5 5.7c13.9-5 29.1-5 43.1 0l192 68.6C495 83.4 512 107.5 512 134.6l0 242.9c0 27-17 51.2-42.5 60.3l-192 68.6c-13.9 5-29.1 5-43.1 0l-192-68.6C17 428.6 0 404.5 0 377.4L0 134.6c0-27 17-51.2 42.5-60.3l192-68.6zM256 66L82.3 128 256 190l173.7-62L256 66zm32 368.6l160-57.1 0-188L288 246.6l0 188z"]},C={prefix:"fas",iconName:"square-parking",icon:[448,512,[127359,"parking"],"f540","M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM192 256l48 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-48 0 0 64zm48 64l-48 0 0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-64 0-120c0-22.1 17.9-40 40-40l72 0c53 0 96 43 96 96s-43 96-96 96z"]},p={prefix:"fas",iconName:"headphones",icon:[512,512,[127911],"f025","M256 80C149.9 80 62.4 159.4 49.6 262c9.4-3.8 19.6-6 30.4-6c26.5 0 48 21.5 48 48l0 128c0 26.5-21.5 48-48 48c-44.2 0-80-35.8-80-80l0-16 0-48 0-48C0 146.6 114.6 32 256 32s256 114.6 256 256l0 48 0 48 0 16c0 44.2-35.8 80-80 80c-26.5 0-48-21.5-48-48l0-128c0-26.5 21.5-48 48-48c10.8 0 21 2.1 30.4 6C449.6 159.4 362.1 80 256 80z"]},N={prefix:"fas",iconName:"up-right-from-square",icon:[512,512,["external-link-alt"],"f35d","M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-128c0-17.7-14.3-32-32-32L352 0zM80 32C35.8 32 0 67.8 0 112L0 432c0 44.2 35.8 80 80 80l320 0c44.2 0 80-35.8 80-80l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 112c0 8.8-7.2 16-16 16L80 448c-8.8 0-16-7.2-16-16l0-320c0-8.8 7.2-16 16-16l112 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 32z"]},x={prefix:"fas",iconName:"table-cells",icon:[512,512,["th"],"f00a","M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm88 64l0 64-88 0 0-64 88 0zm56 0l88 0 0 64-88 0 0-64zm240 0l0 64-88 0 0-64 88 0zM64 224l88 0 0 64-88 0 0-64zm232 0l0 64-88 0 0-64 88 0zm64 0l88 0 0 64-88 0 0-64zM152 352l0 64-88 0 0-64 88 0zm56 0l88 0 0 64-88 0 0-64zm240 0l0 64-88 0 0-64 88 0z"]},h={prefix:"fas",iconName:"satellite",icon:[512,512,[128752],"f7bf","M233 7c-9.4-9.4-24.6-9.4-33.9 0l-96 96c-9.4 9.4-9.4 24.6 0 33.9l89.4 89.4-15.5 15.5C152.3 230.4 124.9 224 96 224c-31.7 0-61.5 7.7-87.8 21.2c-9 4.7-10.3 16.7-3.1 23.8L112.7 376.7 96.3 393.1c-2.6-.7-5.4-1.1-8.3-1.1c-17.7 0-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32c0-2.9-.4-5.6-1.1-8.3l16.4-16.4L242.9 506.9c7.2 7.2 19.2 5.9 23.8-3.1C280.3 477.5 288 447.7 288 416c0-28.9-6.4-56.3-17.8-80.9l15.5-15.5L375 409c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9l-89.4-89.4 55-55c12.5-12.5 12.5-32.8 0-45.3l-48-48c-12.5-12.5-32.8-12.5-45.3 0l-55 55L233 7zm159 351l-72.4-72.4 62.1-62.1L454.1 296 392 358.1zM226.3 192.4L153.9 120 216 57.9l72.4 72.4-62.1 62.1z"]},d={prefix:"fas",iconName:"water",icon:[576,512,[],"f773","M269.5 69.9c11.1-7.9 25.9-7.9 37 0C329 85.4 356.5 96 384 96c26.9 0 55.4-10.8 77.4-26.1c0 0 0 0 0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 149.7 417 160 384 160c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4C42.8 92.6 61 83.5 75.3 71.6c11.1-9.5 27.3-10.1 39.2-1.7c0 0 0 0 0 0C136.7 85.2 165.1 96 192 96c27.5 0 55-10.6 77.5-26.1zm37 288C329 373.4 356.5 384 384 384c26.9 0 55.4-10.8 77.4-26.1c0 0 0 0 0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 437.7 417 448 384 448c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7c0 0 0 0 0 0C136.7 373.2 165.1 384 192 384c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0zm0-144C329 229.4 356.5 240 384 240c26.9 0 55.4-10.8 77.4-26.1c0 0 0 0 0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 293.7 417 304 384 304c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.5 27.3-10.1 39.2-1.7c0 0 0 0 0 0C136.7 229.2 165.1 240 192 240c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z"]},g={prefix:"fas",iconName:"ship",icon:[576,512,[128674],"f21a","M192 32c0-17.7 14.3-32 32-32L352 0c17.7 0 32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 128 44.4 14.8c23.1 7.7 29.5 37.5 11.5 53.9l-101 92.6c-16.2 9.4-34.7 15.1-50.9 15.1c-19.6 0-40.8-7.7-59.2-20.3c-22.1-15.5-51.6-15.5-73.7 0c-17.1 11.8-38 20.3-59.2 20.3c-16.2 0-34.7-5.7-50.9-15.1l-101-92.6c-18-16.5-11.6-46.2 11.5-53.9L96 240l0-128c0-26.5 21.5-48 48-48l48 0 0-32zM160 218.7l107.8-35.9c13.1-4.4 27.3-4.4 40.5 0L416 218.7l0-90.7-256 0 0 90.7zM306.5 421.9C329 437.4 356.5 448 384 448c26.9 0 55.4-10.8 77.4-26.1c0 0 0 0 0 0c11.9-8.5 28.1-7.8 39.2 1.7c14.4 11.9 32.5 21 50.6 25.2c17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25C449.5 501.7 417 512 384 512c-31.9 0-60.6-9.9-80.4-18.9c-5.8-2.7-11.1-5.3-15.6-7.7c-4.5 2.4-9.7 5.1-15.6 7.7c-19.8 9-48.5 18.9-80.4 18.9c-33 0-65.5-10.3-94.5-25.8c-13.4 8.4-33.7 19.3-58.2 25c-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2c11.1-9.4 27.3-10.1 39.2-1.7c0 0 0 0 0 0C136.7 437.2 165.1 448 192 448c27.5 0 55-10.6 77.5-26.1c11.1-7.9 25.9-7.9 37 0z"]},k={prefix:"fas",iconName:"bolt",icon:[448,512,[9889,"zap"],"f0e7","M349.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224c-10 8.8-13.6 22.9-8.9 35.3S50.7 288 64 288l111.5 0L98.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7l-111.5 0L349.4 44.6z"]},b={prefix:"fas",iconName:"toilet",icon:[448,512,[128701],"f7d8","M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48l8 0 0 148.9c-1.9 1.4-3.8 2.9-5.6 4.4C10.9 214.5 0 232.9 0 256c0 46.9 14.3 84.1 37 112.5c14.2 17.7 31.1 31.3 48.5 41.8L65.6 469.9c-3.3 9.8-1.6 20.5 4.4 28.8s15.7 13.3 26 13.3l256 0c10.3 0 19.9-4.9 26-13.3s7.7-19.1 4.4-28.8l-19.8-59.5c17.4-10.5 34.3-24.1 48.5-41.8c22.7-28.4 37-65.5 37-112.5c0-23.1-10.9-41.5-26.4-54.6c-1.8-1.5-3.7-3-5.6-4.4L416 48l8 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 0zM384 256.3c0 1-.3 2.6-3.8 5.6c-4.8 4.1-14 9-29.3 13.4C320.5 284 276.1 288 224 288s-96.5-4-126.9-12.8c-15.3-4.4-24.5-9.3-29.3-13.4c-3.5-3-3.8-4.6-3.8-5.6l0-.3c0 0 0-.1 0-.1c0-1 0-2.5 3.8-5.8c4.8-4.1 14-9 29.3-13.4C127.5 228 171.9 224 224 224s96.5 4 126.9 12.8c15.3 4.4 24.5 9.3 29.3 13.4c3.8 3.2 3.8 4.8 3.8 5.8c0 0 0 .1 0 .1l0 .3zM328.2 384l-.2 .5 0-.5 .2 0zM112 64l32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z"]},S={prefix:"fas",iconName:"handshake-angle",icon:[640,512,["hands-helping"],"f4c4","M544 248l0 3.3 69.7-69.7c21.9-21.9 21.9-57.3 0-79.2L535.6 24.4c-21.9-21.9-57.3-21.9-79.2 0L416.3 64.5c-2.7-.3-5.5-.5-8.3-.5L296 64c-37.1 0-67.6 28-71.6 64l-.4 0 0 120c0 22.1 17.9 40 40 40s40-17.9 40-40l0-72c0 0 0-.1 0-.1l0-15.9 16 0 136 0c0 0 0 0 .1 0l7.9 0c44.2 0 80 35.8 80 80l0 8zM336 192l0 56c0 39.8-32.2 72-72 72s-72-32.2-72-72l0-118.6c-35.9 6.2-65.8 32.3-76 68.2L99.5 255.2 26.3 328.4c-21.9 21.9-21.9 57.3 0 79.2l78.1 78.1c21.9 21.9 57.3 21.9 79.2 0l37.7-37.7c.9 0 1.8 .1 2.7 .1l160 0c26.5 0 48-21.5 48-48c0-5.6-1-11-2.7-16l2.7 0c26.5 0 48-21.5 48-48c0-12.8-5-24.4-13.2-33c25.7-5 45.1-27.6 45.2-54.8l0-.4c-.1-30.8-25.1-55.8-56-55.8c0 0 0 0 0 0l-120 0z"]},y={prefix:"fas",iconName:"droplet",icon:[384,512,[128167,"tint"],"f043","M192 512C86 512 0 426 0 320C0 228.8 130.2 57.7 166.6 11.7C172.6 4.2 181.5 0 191.1 0l1.8 0c9.6 0 18.5 4.2 24.5 11.7C253.8 57.7 384 228.8 384 320c0 106-86 192-192 192zM96 336c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 61.9 50.1 112 112 112c8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80-35.8-80-80z"]},v={prefix:"fas",iconName:"gauge-high",icon:[512,512,[62461,"tachometer-alt","tachometer-alt-fast"],"f625","M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]},w={prefix:"fas",iconName:"battery-full",icon:[576,512,[128267,"battery","battery-5"],"f240","M464 160c8.8 0 16 7.2 16 16l0 160c0 8.8-7.2 16-16 16L80 352c-8.8 0-16-7.2-16-16l0-160c0-8.8 7.2-16 16-16l384 0zM80 96C35.8 96 0 131.8 0 176L0 336c0 44.2 35.8 80 80 80l384 0c44.2 0 80-35.8 80-80l0-16c17.7 0 32-14.3 32-32l0-64c0-17.7-14.3-32-32-32l0-16c0-44.2-35.8-80-80-80L80 96zm368 96L96 192l0 128 352 0 0-128z"]},q={prefix:"fas",iconName:"wind",icon:[512,512,[],"f72e","M288 32c0 17.7 14.3 32 32 32l32 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 128c-17.7 0-32 14.3-32 32s14.3 32 32 32l320 0c53 0 96-43 96-96s-43-96-96-96L320 0c-17.7 0-32 14.3-32 32zm64 352c0 17.7 14.3 32 32 32l32 0c53 0 96-43 96-96s-43-96-96-96L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0c-17.7 0-32 14.3-32 32zM128 512l32 0c53 0 96-43 96-96s-43-96-96-96L32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32l128 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0c-17.7 0-32 14.3-32 32s14.3 32 32 32z"]},B={prefix:"fas",iconName:"expand",icon:[448,512,[],"f065","M32 32C14.3 32 0 46.3 0 64l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32zM64 352c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32l-96 0zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32l0-96z"]},D={prefix:"fas",iconName:"xmark",icon:[384,512,[128473,10005,10006,10060,215,"close","multiply","remove","times"],"f00d","M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"]},T={prefix:"fas",iconName:"rotate",icon:[512,512,[128260,"sync-alt"],"f2f1","M142.9 142.9c-17.5 17.5-30.1 38-37.8 59.8c-5.9 16.7-24.2 25.4-40.8 19.5s-25.4-24.2-19.5-40.8C55.6 150.7 73.2 122 97.6 97.6c87.2-87.2 228.3-87.5 315.8-1L455 55c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2l0 128c0 13.3-10.7 24-24 24l-8.4 0c0 0 0 0 0 0L344 224c-9.7 0-18.5-5.8-22.2-14.8s-1.7-19.3 5.2-26.2l41.1-41.1c-62.6-61.5-163.1-61.2-225.3 1zM16 312c0-13.3 10.7-24 24-24l7.6 0 .7 0L168 288c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-41.1 41.1c62.6 61.5 163.1 61.2 225.3-1c17.5-17.5 30.1-38 37.8-59.8c5.9-16.7 24.2-25.4 40.8-19.5s25.4 24.2 19.5 40.8c-10.8 30.6-28.4 59.3-52.9 83.8c-87.2 87.2-228.3 87.5-315.8 1L57 457c-6.9 6.9-17.2 8.9-26.2 5.2S16 449.7 16 440l0-119.6 0-.7 0-7.6z"]},_={prefix:"fas",iconName:"gears",icon:[640,512,["cogs"],"f085","M308.5 135.3c7.1-6.3 9.9-16.2 6.2-25c-2.3-5.3-4.8-10.5-7.6-15.5L304 89.4c-3-5-6.3-9.9-9.8-14.6c-5.7-7.6-15.7-10.1-24.7-7.1l-28.2 9.3c-10.7-8.8-23-16-36.2-20.9L199 27.1c-1.9-9.3-9.1-16.7-18.5-17.8C173.9 8.4 167.2 8 160.4 8l-.7 0c-6.8 0-13.5 .4-20.1 1.2c-9.4 1.1-16.6 8.6-18.5 17.8L115 56.1c-13.3 5-25.5 12.1-36.2 20.9L50.5 67.8c-9-3-19-.5-24.7 7.1c-3.5 4.7-6.8 9.6-9.9 14.6l-3 5.3c-2.8 5-5.3 10.2-7.6 15.6c-3.7 8.7-.9 18.6 6.2 25l22.2 19.8C32.6 161.9 32 168.9 32 176s.6 14.1 1.7 20.9L11.5 216.7c-7.1 6.3-9.9 16.2-6.2 25c2.3 5.3 4.8 10.5 7.6 15.6l3 5.2c3 5.1 6.3 9.9 9.9 14.6c5.7 7.6 15.7 10.1 24.7 7.1l28.2-9.3c10.7 8.8 23 16 36.2 20.9l6.1 29.1c1.9 9.3 9.1 16.7 18.5 17.8c6.7 .8 13.5 1.2 20.4 1.2s13.7-.4 20.4-1.2c9.4-1.1 16.6-8.6 18.5-17.8l6.1-29.1c13.3-5 25.5-12.1 36.2-20.9l28.2 9.3c9 3 19 .5 24.7-7.1c3.5-4.7 6.8-9.5 9.8-14.6l3.1-5.4c2.8-5 5.3-10.2 7.6-15.5c3.7-8.7 .9-18.6-6.2-25l-22.2-19.8c1.1-6.8 1.7-13.8 1.7-20.9s-.6-14.1-1.7-20.9l22.2-19.8zM112 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM504.7 500.5c6.3 7.1 16.2 9.9 25 6.2c5.3-2.3 10.5-4.8 15.5-7.6l5.4-3.1c5-3 9.9-6.3 14.6-9.8c7.6-5.7 10.1-15.7 7.1-24.7l-9.3-28.2c8.8-10.7 16-23 20.9-36.2l29.1-6.1c9.3-1.9 16.7-9.1 17.8-18.5c.8-6.7 1.2-13.5 1.2-20.4s-.4-13.7-1.2-20.4c-1.1-9.4-8.6-16.6-17.8-18.5L583.9 307c-5-13.3-12.1-25.5-20.9-36.2l9.3-28.2c3-9 .5-19-7.1-24.7c-4.7-3.5-9.6-6.8-14.6-9.9l-5.3-3c-5-2.8-10.2-5.3-15.6-7.6c-8.7-3.7-18.6-.9-25 6.2l-19.8 22.2c-6.8-1.1-13.8-1.7-20.9-1.7s-14.1 .6-20.9 1.7l-19.8-22.2c-6.3-7.1-16.2-9.9-25-6.2c-5.3 2.3-10.5 4.8-15.6 7.6l-5.2 3c-5.1 3-9.9 6.3-14.6 9.9c-7.6 5.7-10.1 15.7-7.1 24.7l9.3 28.2c-8.8 10.7-16 23-20.9 36.2L315.1 313c-9.3 1.9-16.7 9.1-17.8 18.5c-.8 6.7-1.2 13.5-1.2 20.4s.4 13.7 1.2 20.4c1.1 9.4 8.6 16.6 17.8 18.5l29.1 6.1c5 13.3 12.1 25.5 20.9 36.2l-9.3 28.2c-3 9-.5 19 7.1 24.7c4.7 3.5 9.5 6.8 14.6 9.8l5.4 3.1c5 2.8 10.2 5.3 15.5 7.6c8.7 3.7 18.6 .9 25-6.2l19.8-22.2c6.8 1.1 13.8 1.7 20.9 1.7s14.1-.6 20.9-1.7l19.8 22.2zM464 304a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"]},G={prefix:"fas",iconName:"moon",icon:[384,512,[127769,9214],"f186","M223.5 32C100 32 0 132.3 0 256S100 480 223.5 480c60.6 0 115.5-24.2 155.8-63.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6c-96.9 0-175.5-78.8-175.5-176c0-65.8 36-123.1 89.3-153.3c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-6.3-.5-12.6-.8-19-.8z"]},I={prefix:"fas",iconName:"anchor",icon:[576,512,[9875],"f13d","M320 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm21.1 80C367 158.8 384 129.4 384 96c0-53-43-96-96-96s-96 43-96 96c0 33.4 17 62.8 42.9 80L224 176c-17.7 0-32 14.3-32 32s14.3 32 32 32l32 0 0 208-48 0c-53 0-96-43-96-96l0-6.1 7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97 263c-9.4-9.4-24.6-9.4-33.9 0L7 319c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7 0 6.1c0 88.4 71.6 160 160 160l80 0 80 0c88.4 0 160-71.6 160-160l0-6.1 7 7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-56-56c-9.4-9.4-24.6-9.4-33.9 0l-56 56c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7 0 6.1c0 53-43 96-96 96l-48 0 0-208 32 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-10.9 0z"]},R={prefix:"fas",iconName:"cloud-sun",icon:[640,512,[9925],"f6c4","M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l14.1 84.7 84.7 14.1c5.4 .9 10 4.5 12.1 9.6s1.5 10.9-1.6 15.4l-38.5 55c-2.2-.1-4.4-.2-6.7-.2c-23.3 0-45.1 6.2-64 17.1l0-1.1c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c8.1 0 15.9-1 23.4-2.9c-36.6 18.1-63.3 53.1-69.8 94.9l-24.4 17c-4.5 3.2-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM144 208a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM639.9 431.9c0 44.2-35.8 80-80 80l-271.9 0c-53 0-96-43-96-96c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7z"]},j={prefix:"fas",iconName:"video",icon:[576,512,["video-camera"],"f03d","M0 128C0 92.7 28.7 64 64 64l256 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 128zM559.1 99.8c10.4 5.6 16.9 16.4 16.9 28.2l0 256c0 11.8-6.5 22.6-16.9 28.2s-23 5-32.9-1.6l-96-64L416 337.1l0-17.1 0-128 0-17.1 14.2-9.5 96-64c9.8-6.5 22.4-7.2 32.9-1.6z"]}}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931],{87343:function(e,t,n){Promise.resolve().then(n.bind(n,99670))},53082:function(e,t,n){"use strict";n.d(t,{$:function(){return w},FV:function(){return u},G5:function(){return p},HH:function(){return d},HQ:function(){return v},NU:function(){return b},Qj:function(){return f},Ux:function(){return h},YH:function(){return S},eF:function(){return g},gK:function(){return c},yC:function(){return C}});var i=n(57437),a=n(2265),r=n(14578),o=n(63321),l=n(72079);let s=(0,a.createContext)(),c="#09bfff",d="#cc000c",u="#0fcd4f",g="#ef4444",h=e=>null==e?null:Math.round((180*e/Math.PI+360)%360),f=e=>null==e?null:(e*m).toFixed(1),m=1.94384,p=e=>null!=e?Math.round((e-273.15)*10)/10:null,v=e=>null!=e?Math.round(19.4384*e)/10:null,w=v,b=e=>null!=e?Math.round(e/100*10)/10:null,M={autopilot:!0,anchorWatch:!1,parkingMode:!1,mob:!1,showOcean:!1,ais:!1,showPolar:!0},x={wind:{"environment.wind.angleTrueWater":l.M8C.degToRad(0),"environment.wind.speedTrue":10.288,"environment.wind.angleApparent":l.M8C.degToRad(0),"environment.wind.speedApparent":10.288},temperature:{"environment.water.temperature":290.15,"environment.outside.temperature":294.15,"propulsion.main.exhaustTemperature":368.15,"environment.inside.fridge.temperature":277.15},environment:{"environment.outside.pressure":102300,"environment.inside.relativeHumidity":.74,"environment.inside.voc":.03},performance:{"performance.beatAngle":l.M8C.degToRad(45),"performance.gybeAngle":l.M8C.degToRad(135),"performance.beatAngleVelocityMadeGood":6,"performance.gybeAngleVelocityMadeGood":5,"performance.targetAngle":l.M8C.degToRad(45),"performance.polarSpeed":8,"performance.polarSpeedRatio":.95,"performance.velocityMadeGood":5,"performance.polarVelocityMadeGood":6,"performance.polarVelocityMadeGoodRatio":.9},navigation:{"navigation.speedThroughWater":7,"navigation.headingTrue":l.M8C.degToRad(0),"navigation.courseOverGround":l.M8C.degToRad(20),"navigation.courseGreatCircle.nextPoint.bearingTrue":l.M8C.degToRad(30),"navigation.attitude.roll":l.M8C.degToRad(5)},racing:{"navigation.racing.layline":l.M8C.degToRad(10),"navigation.racing.layline.distance":100,"navigation.racing.layline.time":180,"navigation.racing.oppositeLayline":l.M8C.degToRad(45),"navigation.racing.oppositeLayline.distance":80,"navigation.racing.oppositeLayline.time":180,"navigation.racing.startLineStb":{latitude:0,longitude:0,altitude:0},"navigation.racing.startLinePort":{latitude:0,longitude:0,altitude:0},"navigation.racing.distanceStartline":50,"navigation.racing.timeToStart":120,"navigation.racing.timePortDown":60,"navigation.racing.timePortUp":70,"navigation.racing.timeStbdDown":65,"navigation.racing.timeStbdUp":75}},S=e=>{let{children:t}=e,[n,c]=(0,a.useState)({}),[d,u]=(0,a.useState)(!1),[g,h]=(0,a.useState)(M),f=e=>n[e]||null,m=(0,a.useRef)(null),p=(0,a.useRef)(null);return(0,a.useEffect)(()=>{let e=!0,t=async()=>{let e=new Date,t=e.getFullYear(),n=(e.getMonth()+1).toString().padStart(2,"0"),i="tides/larochelle/".concat(n,"_").concat(t,".json"),a=await fetch(i);if(a.ok){let t=await a.json(),n=e.toISOString().split("T")[0];if(t[n]){let e=null,i=null,a=new Date,r=60*a.getHours()+a.getMinutes();if(t[n].forEach(t=>{let[n,a,o,l]=t,[s,c]=a.split(":").map(Number),d=60*s+c;"tide.high"===n&&(!e||Math.abs(r-d)<Math.abs(r-e.timeInMinutes))?e={height:parseFloat(o),time:a,timeInMinutes:d,coef:l}:"tide.low"===n&&(!i||Math.abs(r-d)<Math.abs(r-i.timeInMinutes))&&(i={height:parseFloat(o),time:a,timeInMinutes:d})}),e&&i){let t="".concat(a.getHours().toString().padStart(2,"0"),":").concat(a.getMinutes().toString().padStart(2,"0")),n=y(e.height,i.height,t,e.time,i.time);c(t=>({...t,"environment.tide.heightNow":n,"environment.tide.heightHigh":e.height,"environment.tide.heightLow":i.height,"environment.tide.timeLow":i.time,"environment.tide.timeHigh":e.time,"environment.tide.coeffNow":e.coef}))}else throw Error("Tide data for today is incomplete.")}}else console.warn("No tide data found")};return(async()=>{let{signalkUrl:t,debugMode:n}=o.Z.getAll(),i=()=>{p.current&&clearInterval(p.current);let e=0;p.current=setInterval(()=>{let t=Math.floor(91*Math.random())-45;e=(e+5)%360,c(n=>({...n,"steering.rudderAngle":l.M8C.degToRad(t),"environment.wind.angleApparent":l.M8C.degToRad(e),"environment.wind.angleTrueWater":x.wind["environment.wind.angleTrueWater"],"environment.wind.speedTrue":x.wind["environment.wind.speedTrue"],"environment.wind.speedApparent":x.wind["environment.wind.speedApparent"],...x.temperature,...x.environment,...x.performance,...x.navigation,...x.racing}))},1e3)};try{if(!n){let[n,i]=t.replace(/https?:\/\//,"").split(":"),a=new r.default({hostname:n||"localhost",port:parseInt(i)||3e3,useTLS:t.startsWith("https"),reconnect:!0,autoConnect:!1,notifications:!1,deltaStreamBehaviour:"self",sendMeta:"all",wsKeepaliveInterval:10});m.current=a,await a.connect(),a.on("delta",t=>{e&&t.updates.forEach(e=>{e.values&&e.values.forEach(e=>{c(t=>({...t,[e.path]:e.value}))})})})}n&&i()}catch(e){console.error("Failed to connect to SignalK:",e),i()}})(),t(),()=>{e=!1,m.current&&m.current.disconnect(),p.current&&clearInterval(p.current)}},[]),(0,i.jsx)(s.Provider,{value:{getSignalKValue:f,getBoatRotationAngle:()=>{let e=f("navigation.headingTrue")||f("navigation.headingMagnetic");return f("navigation.courseOverGroundTrue")||f("navigation.courseOverGroundMagnetic")||e||0},convertLatLonToXY:(e,t)=>{if(!(null==e?void 0:e.lat)||!(null==e?void 0:e.lon)||!(null==t?void 0:t.lat)||!(null==t?void 0:t.lon))return console.warn("Invalid input to convertLatLonToXY",e,t),{x:0,y:0};let n=t.lat*Math.PI/180,i=t.lon*Math.PI/180,a=e.lat*Math.PI/180,r=e.lon*Math.PI/180-i,o=a-n,l=Math.atan2(Math.sin(r)*Math.cos(a),Math.cos(n)*Math.sin(a)-Math.sin(n)*Math.cos(a)*Math.cos(r)),s=Math.sin(o/2)*Math.sin(o/2)+Math.cos(n)*Math.cos(a)*Math.sin(r/2)*Math.sin(r/2),c=2*Math.atan2(Math.sqrt(s),Math.sqrt(1-s))*6371e3;return{x:c*Math.sin(l),y:c*Math.cos(l)}},nightMode:d,setNightMode:u,states:g,toggleState:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;h(n=>({...n,[e]:void 0!==t?t:!n[e]}))}},children:t})},C=()=>(0,a.useContext)(s),y=function(e,t,n,i,a){let r,o,l,s;if(!n||!i||!a||!/^\d{1,2}:\d{2}$/.test(n)||!/^\d{1,2}:\d{2}$/.test(i)||!/^\d{1,2}:\d{2}$/.test(a))return console.error("Invalid time format provided to calculateTideHeightUsingTwelfths"),(e+t)/2;let c=e=>{let[t,n]=e.split(":").map(Number);return 60*t+n},d=c(i),u=c(a),g=c(n),h=!1;u<=g&&g<=d?(h=!0,r=t,o=e,l=u,s=d):(r=e,o=t,l=d,s=u+(u<d?1440:0));let f=Math.abs(s-l),m=Math.abs(o-r),p=g-l;p<0&&(p+=1440);let v=m/12,w=0;return w=p<=f/6?v*Math.ceil(p/(f/12)):p<=2*f/6?2*v+v*Math.ceil((p-f/6)/(f/12)):p<=3*f/6?5*v:p<=4*f/6?8*v:p<=5*f/6?10*v:m,h?r+w:r-w}},63321:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});var i=JSON.parse('{"F":[{"name":"Default","modelPath":"default","capabilities":["navigation","rudder","sail","color"]},{"name":"Optimist","modelPath":"optimist","capabilities":["navigation","ais"]},{"name":"Sailboat","modelPath":"sailboat","capabilities":["navigation","ais"]},{"name":"Ship","modelPath":"ship","capabilities":["navigation","ais"]},{"name":"Windsurf","modelPath":"windsurf","capabilities":["navigation","ais"]}]}');class a{isLocalStorageAvailable(){try{return"undefined"!=typeof localStorage}catch(e){return!1}}loadConfig(){if(this.isLocalStorageAvailable()){let e=localStorage.getItem(this.configKey);if(!e)return this.saveConfig(this.defaultConfig),{...this.defaultConfig};try{return JSON.parse(e)}catch(e){return console.error("Failed to parse stored configuration:",e),{...this.defaultConfig}}}return{...this.inMemoryConfig}}saveConfig(e){this.config={...this.config,...e},this.isLocalStorageAvailable()?localStorage.setItem(this.configKey,JSON.stringify(this.config)):this.inMemoryConfig={...this.config}}get(e){return this.config[e]}set(e,t){this.config[e]=t,this.saveConfig(this.config)}resetConfig(){this.config={...this.defaultConfig},this.isLocalStorageAvailable()?localStorage.setItem(this.configKey,JSON.stringify(this.config)):this.inMemoryConfig={...this.defaultConfig}}getAll(){return{...this.config}}getDefaultConfig(){return{...this.defaultConfig}}getSelectedBoat(){let e=this.config.selectedBoat;return e?this.getBoatsData().find(t=>t.name===e):[]}getBoatsData(){return i.F}getComputedSignalKUrl(){return this.config.debugMode?"https://demo.signalk.org:443":"".concat(window.location.protocol,"//").concat(window.location.hostname).concat(window.location.port?":"+window.location.port:"")}constructor(){this.defaultConfig={signalkUrl:"http://localhost:3000",username:"",password:"",debugMode:!1,selectedBoat:"Default",primaryColor:null,metallicEffect:!1,aisLengthScalingFactor:.7,compassNorthUp:!1},this.configKey="ocearoConfig",this.inMemoryConfig={...this.defaultConfig},this.config=this.loadConfig()}}var r=new a},99670:function(e,t,n){"use strict";n.r(t),n.d(t,{VIEW_MODES:function(){return f},default:function(){return p}});var i=n(57437),a=n(2265),r=n(30166),o=n(20376),l=n.n(o),s=n(53082);class c extends a.Component{static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){this.setState({error:e,errorInfo:t}),console.error("Error caught in Error Boundary:",e,t)}render(){if(this.state.hasError){let{error:e,errorInfo:t}=this.state;return(0,i.jsxs)("div",{className:"flex flex-col items-center justify-center min-h-screen bg-gray-100 text-gray-900",children:[(0,i.jsx)("h1",{className:"text-3xl font-bold text-red-600 mb-4",children:"Something went wrong."}),(0,i.jsxs)("p",{className:"text-lg mb-2",children:[(0,i.jsx)("strong",{children:"Error:"})," ",e?e.toString():"Unknown error"]}),t&&(0,i.jsxs)("details",{className:"whitespace-pre-wrap bg-gray-200 p-4 rounded-lg mb-4",children:[(0,i.jsx)("summary",{className:"cursor-pointer text-blue-500 underline",children:"Stack Trace"}),(0,i.jsx)("pre",{className:"mt-2",children:t.componentStack})]}),(0,i.jsxs)("div",{className:"flex space-x-4",children:[(0,i.jsx)("button",{onClick:this.handleRefresh,className:"px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600",children:"Refresh Page"}),(0,i.jsx)("button",{onClick:this.handleExitFullscreen,className:"px-4 py-2 bg-green-500 text-white rounded hover:bg-green-600",children:"Exit Fullscreen"})]})]})}return this.props.children}constructor(e){super(e),this.handleRefresh=()=>{window.location.reload()},this.handleExitFullscreen=()=>{document.fullscreenElement&&(window.close(),document.exitFullscreen().catch(e=>{console.error("Failed to exit fullscreen:",e)}))},this.state={hasError:!1,error:null,errorInfo:null}}}let d=(0,r.default)(()=>n.e(252).then(n.bind(n,7252)),{loadableGenerated:{webpack:()=>[7252]},loading:()=>(0,i.jsx)("div",{className:"w-full h-full flex items-center justify-center",children:"Loading..."})}),u=(0,r.default)(()=>Promise.all([n.e(676),n.e(268),n.e(12)]).then(n.bind(n,12012)),{loadableGenerated:{webpack:()=>[12012]}}),g=(0,r.default)(()=>Promise.all([n.e(676),n.e(268),n.e(936)]).then(n.bind(n,72936)),{loadableGenerated:{webpack:()=>[72936]}}),h=(0,r.default)(()=>Promise.all([n.e(676),n.e(689),n.e(268),n.e(496),n.e(412)]).then(n.bind(n,6412)),{loadableGenerated:{webpack:()=>[6412]},loading:()=>(0,i.jsx)("div",{className:"w-full h-full flex items-center justify-center",children:(0,i.jsx)("div",{className:"text-white text-2xl",children:"Loading 3D View..."})}),ssr:!1}),f={BOAT:"boat",APP:"app",SPLIT:"split"},m=()=>window.innerWidth>=1366;function p(){let e=(0,a.useRef)(!1),[t,n]=(0,a.useState)(null),[r,o]=(0,a.useState)("navigation"),[p,v]=(0,a.useState)(!1),[w,b]=(0,a.useState)(!1);(0,a.useEffect)(()=>{let t;n(m()?f.SPLIT:f.BOAT),e.current=!0;let i=()=>{clearTimeout(t),t=setTimeout(()=>{n(m()?f.SPLIT:f.BOAT)},250)};return window.addEventListener("resize",i),()=>{window.removeEventListener("resize",i),clearTimeout(t)}},[]);let M=(0,a.useCallback)(()=>{v(e=>!e)},[]),x=(0,a.useCallback)(e=>{n(e)},[]),S=(0,a.useCallback)((e,t)=>{let n=window.innerWidth/5;t.x>n?x(f.BOAT):t.x<-n?x(f.APP):x(f.SPLIT)},[x]),C=(0,a.useCallback)(()=>{document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen().catch(e=>{console.error("Fullscreen error:",e.message)})},[]),y=(0,a.useCallback)(e=>{t===f.BOAT&&x(f.APP),o(e)},[t,x]),T=(0,a.useCallback)(()=>{w?(x(f.BOAT),b(!1)):(y("settings"),b(!0))},[w,x,y]),P=(0,a.useMemo)(()=>null===t?{}:{leftPane:"transition-all duration-300 ".concat(t===f.BOAT?"w-full":t===f.APP?"hidden":"w-2/5"," bg-leftPaneBg h-full relative"),rightPane:"transition-all duration-300 ".concat(t===f.APP?"w-full":t===f.BOAT?"hidden":"w-3/5"," h-full bg-rightPaneBg p-4")},[t]);return e.current?(0,i.jsx)(c,{children:(0,i.jsx)(s.YH,{children:(0,i.jsxs)("div",{className:"h-screen flex flex-col bg-black relative overflow-hidden",children:[(0,i.jsxs)("div",{className:"flex flex-1 min-h-0",children:[(0,i.jsx)("div",{className:P.leftPane,children:(0,i.jsx)(h,{})}),(0,i.jsx)(l(),{axis:"x",onDrag:S,position:{x:0,y:0},handle:".handle",bounds:"parent",children:(0,i.jsx)("div",{className:"handle w-1 bg-leftPaneBg h-full cursor-col-resize transition-all duration-200 flex items-center justify-center",children:(0,i.jsx)("div",{className:"rounded-full w-3 bg-gray-600 h-40 transition-all duration-200 hover:bg-gray-500"})})}),(0,i.jsx)("div",{className:P.rightPane,children:(0,i.jsx)(d,{view:r})})]}),(0,i.jsx)("div",{className:"w-full h-16 min-h-16 bg-black flex items-center justify-center shrink-0",children:(0,i.jsx)(u,{setRightView:y,toggleAppMenu:M,toggleSettings:T})}),p&&(0,i.jsx)(g,{currentViewMode:t,toggleViewMode:x,handleSetRightView:y,toggleFullscreen:C,setShowAppMenu:v})]})})}):(0,i.jsx)("div",{className:"h-screen bg-black flex items-center justify-center",children:(0,i.jsx)("div",{className:"animate-pulse text-white",children:"Loading..."})})}}},function(e){e.O(0,[870,746,971,117,744],function(){return e(e.s=87343)}),_N_E=e.O()}]);
@@ -1,3 +0,0 @@
1
- @font-face{font-family:__geistSans_d559d3;src:url(/ocearo-ui/_next/static/media/4473ecc91f70f139-s.woff) format("woff");font-display:swap;font-weight:100 900}@font-face{font-family:__geistSans_Fallback_d559d3;src:local("Arial");ascent-override:85.83%;descent-override:20.52%;line-gap-override:9.33%;size-adjust:107.19%}.__className_d559d3{font-family:__geistSans_d559d3,__geistSans_Fallback_d559d3}.__variable_d559d3{--font-geist-sans:"__geistSans_d559d3","__geistSans_Fallback_d559d3"}@font-face{font-family:__geistMono_692ef5;src:url(/ocearo-ui/_next/static/media/463dafcda517f24f-s.woff) format("woff");font-display:swap;font-weight:100 900}@font-face{font-family:__geistMono_Fallback_692ef5;src:local("Arial");ascent-override:69.97%;descent-override:16.73%;line-gap-override:7.61%;size-adjust:131.49%}.__className_692ef5{font-family:__geistMono_692ef5,__geistMono_Fallback_692ef5}.__variable_692ef5{--font-geist-mono:"__geistMono_692ef5","__geistMono_Fallback_692ef5"}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
2
- ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
3
- */*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-left-10{left:-2.5rem}.-left-20{left:-5rem}.-right-1{right:-.25rem}.bottom-0{bottom:0}.bottom-2{bottom:.5rem}.bottom-20{bottom:5rem}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-1{top:.25rem}.top-2{top:.5rem}.top-6{top:1.5rem}.top-\[-1\.5rem\]{top:-1.5rem}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-60{height:15rem}.h-\[10\%\]{height:10%}.h-\[90\%\]{height:90%}.h-full{height:100%}.h-screen{height:100vh}.min-h-0{min-height:0}.min-h-16{min-height:4rem}.min-h-screen{min-height:100vh}.w-0\.5{width:.125rem}.w-1{width:.25rem}.w-2{width:.5rem}.w-2\/5{width:40%}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/5{width:60%}.w-32{width:8rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-\[40\%\]{width:40%}.w-full{width:100%}.w-px{width:1px}.min-w-\[3\.5rem\]{min-width:3.5rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.origin-bottom{transform-origin:bottom}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.rotate-180{--tw-rotate:180deg}.rotate-180,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-col-resize{cursor:col-resize}.cursor-pointer{cursor:pointer}.resize{resize:both}.appearance-none{appearance:none}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.border-oGray{--tw-border-opacity:1;border-color:rgb(152 152 152/var(--tw-border-opacity,1))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-cyan-500{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-leftPaneBg{--tw-bg-opacity:1;background-color:rgb(14 14 14/var(--tw-bg-opacity,1))}.bg-oBlue{--tw-bg-opacity:1;background-color:rgb(9 191 255/var(--tw-bg-opacity,1))}.bg-oGray{--tw-bg-opacity:1;background-color:rgb(152 152 152/var(--tw-bg-opacity,1))}.bg-oGray2{--tw-bg-opacity:1;background-color:rgb(66 66 66/var(--tw-bg-opacity,1))}.bg-oGreen{--tw-bg-opacity:1;background-color:rgb(15 205 79/var(--tw-bg-opacity,1))}.bg-oNight{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-oRed{--tw-bg-opacity:1;background-color:rgb(204 0 12/var(--tw-bg-opacity,1))}.bg-oYellow{--tw-bg-opacity:1;background-color:rgb(255 190 0/var(--tw-bg-opacity,1))}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.bg-rightPaneBg{--tw-bg-opacity:1;background-color:rgb(30 30 30/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-700{--tw-bg-opacity:1;background-color:rgb(161 98 7/var(--tw-bg-opacity,1))}.bg-opacity-10{--tw-bg-opacity:0.1}.bg-opacity-70{--tw-bg-opacity:0.7}.object-contain{object-fit:contain}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem}.pb-2,.py-2{padding-bottom:.5rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-6xl{font-size:3.75rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-cyan-500{--tw-text-opacity:1;color:rgb(6 182 212/var(--tw-text-opacity,1))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-oBlue{--tw-text-opacity:1;color:rgb(9 191 255/var(--tw-text-opacity,1))}.text-oGray{--tw-text-opacity:1;color:rgb(152 152 152/var(--tw-text-opacity,1))}.text-oGreen{--tw-text-opacity:1;color:rgb(15 205 79/var(--tw-text-opacity,1))}.text-oNight{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-oRed{--tw-text-opacity:1;color:rgb(204 0 12/var(--tw-text-opacity,1))}.text-oYellow{--tw-text-opacity:1;color:rgb(255 190 0/var(--tw-text-opacity,1))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-100{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity,1))}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-20{opacity:.2}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px rgba(0,0,0,.04)) drop-shadow(0 4px 3px rgba(0,0,0,.1))}.drop-shadow-lg,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-opacity{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--background:#fff;--foreground:#171717}@media (prefers-color-scheme:dark){:root{--background:#0a0a0a;--foreground:#ededed}}body{color:var(--foreground);background:var(--background);font-family:Arial,Helvetica,sans-serif}:root{--primary-color:#1976d2;--accent-color:#ff4081;--warn-color:#f44336;--background-color:#fff;--foreground-color:#000;--foreground-text:#212121}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\:bg-gray-800\/10:hover{background-color:rgba(31,41,55,.1)}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.hover\:bg-oGray:hover{--tw-bg-opacity:1;background-color:rgb(152 152 152/var(--tw-bg-opacity,1))}.hover\:bg-oRed:hover{--tw-bg-opacity:1;background-color:rgb(204 0 12/var(--tw-bg-opacity,1))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:text-blue-300:hover{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.hover\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.hover\:text-oRed:hover{--tw-text-opacity:1;color:rgb(204 0 12/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:768px){.md\:row-span-2{grid-row:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}