diff --git a/dist/gramm-ai/3rdpartylicenses.txt b/dist/gramm-ai/3rdpartylicenses.txt deleted file mode 100644 index 0709b8be49e2276de49636ce278ee0cec4d84796..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/3rdpartylicenses.txt +++ /dev/null @@ -1,517 +0,0 @@ - --------------------------------------------------------------------------------- -Package: @angular/core -License: "MIT" - - --------------------------------------------------------------------------------- -Package: rxjs -License: "Apache-2.0" - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - --------------------------------------------------------------------------------- -Package: tslib -License: "0BSD" - -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. --------------------------------------------------------------------------------- -Package: @angular/common -License: "MIT" - - --------------------------------------------------------------------------------- -Package: @angular/platform-browser -License: "MIT" - - --------------------------------------------------------------------------------- -Package: @angular/forms -License: "MIT" - - --------------------------------------------------------------------------------- -Package: @angular/router -License: "MIT" - - --------------------------------------------------------------------------------- -Package: @angular/cdk -License: "MIT" - -The MIT License - -Copyright (c) 2024 Google LLC. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - --------------------------------------------------------------------------------- -Package: @angular/material -License: "MIT" - -The MIT License - -Copyright (c) 2024 Google LLC. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - --------------------------------------------------------------------------------- -Package: @angular/animations -License: "MIT" - - --------------------------------------------------------------------------------- -Package: uuid -License: "MIT" - -The MIT License (MIT) - -Copyright (c) 2010-2020 Robert Kieffer and other contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - --------------------------------------------------------------------------------- -Package: zone.js -License: "MIT" - -The MIT License - -Copyright (c) 2010-2024 Google LLC. https://angular.io/license - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - --------------------------------------------------------------------------------- -Package: @fortawesome/fontawesome-free -License: "(CC-BY-4.0 AND OFL-1.1 AND MIT)" - -Fonticons, Inc. (https://fontawesome.com) - --------------------------------------------------------------------------------- - -Font Awesome Free License - -Font Awesome Free is free, open source, and GPL friendly. You can use it for -commercial projects, open source projects, or really almost whatever you want. -Full Font Awesome Free license: https://fontawesome.com/license/free. - --------------------------------------------------------------------------------- - -# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/) - -The Font Awesome Free download is licensed under a Creative Commons -Attribution 4.0 International License and applies to all icons packaged -as SVG and JS file types. - --------------------------------------------------------------------------------- - -# Fonts: SIL OFL 1.1 License - -In the Font Awesome Free download, the SIL OFL license applies to all icons -packaged as web and desktop font files. - -Copyright (c) 2024 Fonticons, Inc. (https://fontawesome.com) -with Reserved Font Name: "Font Awesome". - -This Font Software is licensed under the SIL Open Font License, Version 1.1. -This license is copied below, and is also available with a FAQ at: -http://scripts.sil.org/OFL - -SIL OPEN FONT LICENSE -Version 1.1 - 26 February 2007 - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the -copyright statement(s). - -"Original Version" refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting — in part or in whole — any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -"Author" refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. - --------------------------------------------------------------------------------- - -# Code: MIT License (https://opensource.org/licenses/MIT) - -In the Font Awesome Free download, the MIT license applies to all non-font and -non-icon files. - -Copyright 2024 Fonticons, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in the -Software without restriction, including without limitation the rights to use, copy, -modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, -and to permit persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, -INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - --------------------------------------------------------------------------------- - -# Attribution - -Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font -Awesome Free files already contain embedded comments with sufficient -attribution, so you shouldn't need to do anything additional when using these -files normally. - -We've kept attribution comments terse, so we ask that you do not actively work -to remove them from files, especially code. They're a great way for folks to -learn about Font Awesome. - --------------------------------------------------------------------------------- - -# Brand Icons - -All brand icons are trademarks of their respective owners. The use of these -trademarks does not indicate endorsement of the trademark holder by Font -Awesome, nor vice versa. **Please do not use brand logos for any purpose except -to represent the company, product, or service to which they refer.** - --------------------------------------------------------------------------------- diff --git a/dist/gramm-ai/browser/assets/favicon.png b/dist/gramm-ai/browser/assets/favicon.png deleted file mode 100644 index 17d374e17b9161140969ccb89c9597eb6244aa99..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/favicon.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2391d89651c3aed49cd5dc5f6cf851cf8fafebe4aa3197c878f48d72a310c117 -size 2489 diff --git a/dist/gramm-ai/browser/assets/font/Amonk_Outline.ttf b/dist/gramm-ai/browser/assets/font/Amonk_Outline.ttf deleted file mode 100644 index 99bc3494b38bf7640dad65a2e01c3ed2b23b7a1a..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/font/Amonk_Outline.ttf +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5571a943a81cc61f13c85608828f4e831dc971999b14cc31d4888b6a5f1c98ba -size 140868 diff --git a/dist/gramm-ai/browser/assets/font/AzoSans2_Bold.otf b/dist/gramm-ai/browser/assets/font/AzoSans2_Bold.otf deleted file mode 100644 index 922133b5f049b1a5d93a54fc2e37189272c882ec..0000000000000000000000000000000000000000 Binary files a/dist/gramm-ai/browser/assets/font/AzoSans2_Bold.otf and /dev/null differ diff --git a/dist/gramm-ai/browser/assets/font/Extra Beige.jpg b/dist/gramm-ai/browser/assets/font/Extra Beige.jpg deleted file mode 100644 index d8cabbcfa7dd3471c81125944a297d2fd24b88fc..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/font/Extra Beige.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c6126485cf8051ce840be5e0dc54b22274cf578ba455e25cb6d0090a9196f86a -size 259709 diff --git a/dist/gramm-ai/browser/assets/font/Extra Beige.otf b/dist/gramm-ai/browser/assets/font/Extra Beige.otf deleted file mode 100644 index 9c93e5520d6f757cf6788c9c2701f82abac3ae70..0000000000000000000000000000000000000000 Binary files a/dist/gramm-ai/browser/assets/font/Extra Beige.otf and /dev/null differ diff --git a/dist/gramm-ai/browser/assets/font/Extra Beige.ttf b/dist/gramm-ai/browser/assets/font/Extra Beige.ttf deleted file mode 100644 index 4a80f84078029e8e15413d5edb3818146a646ec4..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/font/Extra Beige.ttf +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9115ed503458351b44bad6beff89db65ee3e11e7f09c2f59aef6fb9338192167 -size 30784 diff --git a/dist/gramm-ai/browser/assets/font/More Info.txt b/dist/gramm-ai/browser/assets/font/More Info.txt deleted file mode 100644 index 43fadac9649881b4382fcea86281d286638dfe21..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/font/More Info.txt +++ /dev/null @@ -1,20 +0,0 @@ -If you want the full version and license for commercial use, -you can purchase here : - -https://fontkong.com/product/amonk/ - -File Font Version : - -1. Amonk.otf -2. Amonk.ttf -3. Amonk.woff -4. Amonk Blood.otf -5. Amonk Blood.ttf -6. Amonk Blood.woff -7. Amonk Outline.otf -8. Amonk Outline.ttf -9. Amonk Outline.woff -10. Amonk Ice-SVG.otf -11. Amonk Ice-SVG.ttf -12. Amonk Ice-SVG.woff - diff --git a/dist/gramm-ai/browser/assets/font/Raleway.ttf b/dist/gramm-ai/browser/assets/font/Raleway.ttf deleted file mode 100644 index c931f3f964a404451633c81bb63c22778033ee54..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/font/Raleway.ttf +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d92beb04211a805e375a09623508986cb000846ae120c3c8b817480dc0f7e8f1 -size 98472 diff --git a/dist/gramm-ai/browser/assets/font/Raleway.woff2 b/dist/gramm-ai/browser/assets/font/Raleway.woff2 deleted file mode 100644 index 189015b9e6449d6294b9b8133ca0c2378e3411c5..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/font/Raleway.woff2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:47d477915fa5912616e2dc5df8c5780f9202671678cf275472bd39f3381c0098 -size 48336 diff --git a/dist/gramm-ai/browser/assets/font/RetroSigned.ttf b/dist/gramm-ai/browser/assets/font/RetroSigned.ttf deleted file mode 100644 index 1a68a31a2e08f8e37496401aa0229b60deaf310d..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/font/RetroSigned.ttf +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9a98bc74eb06b8c519d11125c601199d60594e51ba148c0c86c5511a4547f123 -size 726760 diff --git a/dist/gramm-ai/browser/assets/font/Super Cartoon.ttf b/dist/gramm-ai/browser/assets/font/Super Cartoon.ttf deleted file mode 100644 index eb802fdb4cd8980c8d0b9b05278c05e663e21e8b..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/font/Super Cartoon.ttf +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a7dfd44abf83aa6b91004efe681d5464093fe438d36ef1045741a514b8f53e71 -size 80436 diff --git a/dist/gramm-ai/browser/assets/font/TrueNorthTexturesW01-Rg.ttf b/dist/gramm-ai/browser/assets/font/TrueNorthTexturesW01-Rg.ttf deleted file mode 100644 index ca6e75650ca7e87a93e4a2ee97214652f049284c..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/font/TrueNorthTexturesW01-Rg.ttf +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a2a73849017a4d63dd8e6d43ef207c41250ebf641ec953ec5d0226cde42334c8 -size 671984 diff --git a/dist/gramm-ai/browser/assets/font/info.txt b/dist/gramm-ai/browser/assets/font/info.txt deleted file mode 100644 index 6e6b3fe2cc777d6bcb066b3c9e94a8a2c537eb79..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/font/info.txt +++ /dev/null @@ -1,2 +0,0 @@ -license: Freeware, Non-Commercial -link: https://www.fontspace.com/retro-signed-font-f113376 \ No newline at end of file diff --git a/dist/gramm-ai/browser/assets/font/retro-signed-font.zip b/dist/gramm-ai/browser/assets/font/retro-signed-font.zip deleted file mode 100644 index 039c97c99125a009c8275875d9d10c8665f647de..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/font/retro-signed-font.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ab5345df325959724c3c33bf6c5a249bb411481009b5ce05f7d08dd518454109 -size 199002 diff --git a/dist/gramm-ai/browser/assets/images/back.png b/dist/gramm-ai/browser/assets/images/back.png deleted file mode 100644 index 8c31da4c08984b08b8a475b32d473ce9f4b1fb65..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/back.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8749a225d6220db8f5f1c986aa293de98ee58e29eadc55ffbe6715775aa6c7be -size 1369808 diff --git a/dist/gramm-ai/browser/assets/images/chat/breadcrumbs.png b/dist/gramm-ai/browser/assets/images/chat/breadcrumbs.png deleted file mode 100644 index 632acfe323e3ef176e5534fc2041126f1df655bc..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/breadcrumbs.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4a6f8d6f807010d905ec8d48c58d349da74fa1ab6208d26cd13de16a9b8e7956 -size 4739 diff --git a/dist/gramm-ai/browser/assets/images/chat/chatbg.png b/dist/gramm-ai/browser/assets/images/chat/chatbg.png deleted file mode 100644 index 6b24d90d14b89e40ac6033743e5d1b081bb8173d..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/chatbg.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9d0d8dcc2946d0203c57342145c90b74a5a7188a30a4d01c191784b2cfe73cff -size 520542 diff --git a/dist/gramm-ai/browser/assets/images/chat/control.png b/dist/gramm-ai/browser/assets/images/chat/control.png deleted file mode 100644 index 40d032a345a53c986d1c2230244cad7de05230ea..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/control.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2d37166a1708f4d6e27babc1b9bc408c505e5b79e27a7a81ef0ef29f1680ac65 -size 5889 diff --git a/dist/gramm-ai/browser/assets/images/chat/copy-white.png b/dist/gramm-ai/browser/assets/images/chat/copy-white.png deleted file mode 100644 index 5a9115aa79f4bb7408e29a83a1bc3006804324e0..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/copy-white.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cbd673ef5209ac3475954a0d80ca3596880ce2b0057ae322b5a6b3f66f1ab41c -size 6957 diff --git a/dist/gramm-ai/browser/assets/images/chat/copy.png b/dist/gramm-ai/browser/assets/images/chat/copy.png deleted file mode 100644 index 9318cbce815ed1562ce80f9352908d06e6436bb4..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/copy.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:77fe27a1e952d832e094cde1044070d694963b2540256fbbe2af036ceaa526b6 -size 6500 diff --git a/dist/gramm-ai/browser/assets/images/chat/cross.png b/dist/gramm-ai/browser/assets/images/chat/cross.png deleted file mode 100644 index 787bd2cc7ee633e52c8ec1e3d5ceaa902d3515de..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/cross.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:14fe82ba4882f3914c1c27f056184306e9d00b977e41cdc6787358323575d9af -size 7863 diff --git a/dist/gramm-ai/browser/assets/images/chat/info.png b/dist/gramm-ai/browser/assets/images/chat/info.png deleted file mode 100644 index d6a0f082cb60f62c149e5386ca24753f27245228..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/info.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:188eeae8bcbdd76f6b6228accd608bc675e22ba6d0dbb69d216f9462aa672603 -size 28799 diff --git a/dist/gramm-ai/browser/assets/images/chat/internet.png b/dist/gramm-ai/browser/assets/images/chat/internet.png deleted file mode 100644 index a94629a929ac173cdc121d0da42b7c0f6045e845..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/internet.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2fc57c564528efd124c6655bae9ed601f27d6a09ce651e666ab9c697d77c1f4d -size 35193 diff --git a/dist/gramm-ai/browser/assets/images/chat/lion.png b/dist/gramm-ai/browser/assets/images/chat/lion.png deleted file mode 100644 index bda3a2bc53bac52bff9f155823be997ec538b04e..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/lion.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dd8aa4627ea6c6b89d20f5ccb87f0431f61ac71faef8ab71a2c17d7e19bffe58 -size 141854 diff --git a/dist/gramm-ai/browser/assets/images/chat/loading-spinner.gif b/dist/gramm-ai/browser/assets/images/chat/loading-spinner.gif deleted file mode 100644 index dc84bbb1e8d937d0ead25b3146f19c512f5824b7..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/loading-spinner.gif +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cdf995f1947cc28fd9d8f86d71d223b9b7e08657cff8b155917e3d31a435a28f -size 19705 diff --git a/dist/gramm-ai/browser/assets/images/chat/mic.png b/dist/gramm-ai/browser/assets/images/chat/mic.png deleted file mode 100644 index 1e2d88b76f33fbab8b06d74b4862e20f6da9767f..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/mic.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9508a2126b6376388877e634f853716ddaa88ec3f5911ca3445a9163ad7ea2e3 -size 34421 diff --git a/dist/gramm-ai/browser/assets/images/chat/microphone-icon.png b/dist/gramm-ai/browser/assets/images/chat/microphone-icon.png deleted file mode 100644 index aa5eb93e48c8b79a4453206d352ddbd8f85caf0b..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/microphone-icon.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a38d8a8216a3c391fd1bdc983ec0e2bee95d9dc230e7e531262b5f0a95ebd161 -size 21779 diff --git a/dist/gramm-ai/browser/assets/images/chat/natasha.png b/dist/gramm-ai/browser/assets/images/chat/natasha.png deleted file mode 100644 index ffea6a57188dab4680d3022c4ad4fc01bd1248e6..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/natasha.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f5a65b6e8ba0d5914b1d240d2b48018805f39ca7ce65010943fbae775c551c14 -size 1290646 diff --git a/dist/gramm-ai/browser/assets/images/chat/no-video-white.png b/dist/gramm-ai/browser/assets/images/chat/no-video-white.png deleted file mode 100644 index e547d54add8e9736bc8e05a312456b747f662831..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/no-video-white.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:aee3178627b652f1e34b01c34249efe1a156cdc5944f88a71e4ff13d6395185d -size 7841 diff --git a/dist/gramm-ai/browser/assets/images/chat/no-video.png b/dist/gramm-ai/browser/assets/images/chat/no-video.png deleted file mode 100644 index 665d6fd32ff2663ab25f9190c05ff3f986722b62..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/no-video.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b6433c0dedb7dee13adf3e3cc08a87c4ba1d7cc0b9406a44c448bdf8dac90cac -size 7603 diff --git a/dist/gramm-ai/browser/assets/images/chat/pause-icon.png b/dist/gramm-ai/browser/assets/images/chat/pause-icon.png deleted file mode 100644 index c94897b4b8bb2be320e7a50e91977fb5cf3dfb94..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/pause-icon.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c97de4a30ed36a3e9fe5185cdcf5ffaa02c00effbcaa2c1569432c21e10addfc -size 4585 diff --git a/dist/gramm-ai/browser/assets/images/chat/rabbit.png b/dist/gramm-ai/browser/assets/images/chat/rabbit.png deleted file mode 100644 index 8030dde5cf39fed5e143f98f0fd96a5003fefa07..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/rabbit.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c2f6c2a5907c2fc15e8b807b793d1e6222d2b305c4d7b754933cb923de827da7 -size 188584 diff --git a/dist/gramm-ai/browser/assets/images/chat/resume-icon.png b/dist/gramm-ai/browser/assets/images/chat/resume-icon.png deleted file mode 100644 index f9214b2c804abe51dfcd4c4a9bf0bba388ecc36b..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/resume-icon.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9d4edfeac774bb9881fd1c02b145465d240a04666ec2fd282a3cee4c889dd730 -size 6372 diff --git a/dist/gramm-ai/browser/assets/images/chat/send-icon.png b/dist/gramm-ai/browser/assets/images/chat/send-icon.png deleted file mode 100644 index 21c97b19a7c0d5f44e561231e916d14fd189b2e0..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/send-icon.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ae307ee408cf741b95f48c3527472fdabab691d932d00da8f7e4f736a4573527 -size 10572 diff --git a/dist/gramm-ai/browser/assets/images/chat/speaker (6).png b/dist/gramm-ai/browser/assets/images/chat/speaker (6).png deleted file mode 100644 index 2ec8ba06b1535f2d7f8738228f993080b5072ea6..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/speaker (6).png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1186f27f0381f972bdcd57bfd0c308ebddbaf19dc8540fb6d05a218de61b0242 -size 16094 diff --git a/dist/gramm-ai/browser/assets/images/chat/speaker-white.png b/dist/gramm-ai/browser/assets/images/chat/speaker-white.png deleted file mode 100644 index 1022bd71e76b1eb2a70a9d3ae8c45f45561593da..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/speaker-white.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4dfd106d9da5f207e09d6027e1f775984e855803da5979913780b3dd6a439ff0 -size 12424 diff --git a/dist/gramm-ai/browser/assets/images/chat/speaker.png b/dist/gramm-ai/browser/assets/images/chat/speaker.png deleted file mode 100644 index 39858352c3b16e10452ac901bcd2c73da697ddc7..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/speaker.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7f92d1a3c1230c6c69cf94c5016d9bd9a4e244eaf351135a3d36abfa39a24cf0 -size 13518 diff --git a/dist/gramm-ai/browser/assets/images/chat/stop-button-white.png b/dist/gramm-ai/browser/assets/images/chat/stop-button-white.png deleted file mode 100644 index d5c87251efbb894b50c8db8684f696507dbaf8e0..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/stop-button-white.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f3d5fd071211a1a44208c9f66bf1c956a61ecb12241e5cf0c3d5828d8e1b6831 -size 4184 diff --git a/dist/gramm-ai/browser/assets/images/chat/stop-button.png b/dist/gramm-ai/browser/assets/images/chat/stop-button.png deleted file mode 100644 index 9bd86bc90cfee75fb316b33061d81769495b0dd2..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/stop-button.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a01d5cf4aa76de7da282c98decad20b19a4fe37076ec9f195e850966cdae8389 -size 4083 diff --git a/dist/gramm-ai/browser/assets/images/chat/stop.png b/dist/gramm-ai/browser/assets/images/chat/stop.png deleted file mode 100644 index fd0bc552dea11c212c42166fcedf9c51b06f3886..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/stop.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5c10275efe01a0421881c8a70652110158155578243833c1434472f6cbad805f -size 31720 diff --git a/dist/gramm-ai/browser/assets/images/chat/syllabus.png b/dist/gramm-ai/browser/assets/images/chat/syllabus.png deleted file mode 100644 index 52499b540ba1508a9a0d31ab636e33286fa4f643..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/syllabus.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:63054ff3a070dfa6b6d390f53b2e981cec690ebc400058cb630ccacf20862ddb -size 22991 diff --git a/dist/gramm-ai/browser/assets/images/chat/teacher.png b/dist/gramm-ai/browser/assets/images/chat/teacher.png deleted file mode 100644 index 188a246ad10211fa35e33ac8e3f9c87cb84e7795..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/teacher.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:15980253b89516a136cfee9a11e368dd80d1af34b8001818e87a5a129eef1a04 -size 124392 diff --git a/dist/gramm-ai/browser/assets/images/chat/unmute.png b/dist/gramm-ai/browser/assets/images/chat/unmute.png deleted file mode 100644 index d6da38d1e6491ccf46748d0be64acce989986f57..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/unmute.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c3e506a2dc11e498c62054898fde99ce0f2258a313ec86b874c0154796579e70 -size 11474 diff --git a/dist/gramm-ai/browser/assets/images/chat/video-white.png b/dist/gramm-ai/browser/assets/images/chat/video-white.png deleted file mode 100644 index bffc4fb5ea1c7f31bc711e86f96b753219d3883e..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/video-white.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:12c544b4d9b0dd4216af7cea6c8b7773e8438a911f44f3018e48c26957a903b5 -size 8040 diff --git a/dist/gramm-ai/browser/assets/images/chat/video.png b/dist/gramm-ai/browser/assets/images/chat/video.png deleted file mode 100644 index fc625eec23111aedec045e83c2c709ab600d2bcd..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/video.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fd2bc1a030a6085a75c857576813677021afe5dee9cdb29cb3c65698b47ed188 -size 8830 diff --git a/dist/gramm-ai/browser/assets/images/chat/volume-mute.png b/dist/gramm-ai/browser/assets/images/chat/volume-mute.png deleted file mode 100644 index 812883323f81fa401fda74adcf16645b2cd27cd7..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/volume-mute.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:25dbbdfa78820b253560df982379956c330ff93386202d8e8c962ea0e3b35725 -size 7963 diff --git a/dist/gramm-ai/browser/assets/images/chat/volume.png b/dist/gramm-ai/browser/assets/images/chat/volume.png deleted file mode 100644 index fb80bc102d037b4365a2409e7f70cdc5c8416817..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/volume.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:369febb58fa91bc0fdc55504181c6cca3107401216baf73f4a0db53c63ad2c88 -size 11470 diff --git a/dist/gramm-ai/browser/assets/images/chat/y.png b/dist/gramm-ai/browser/assets/images/chat/y.png deleted file mode 100644 index c0dda5965f416e7050c3c927013d2e9e7db2ceb1..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/chat/y.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9f6300a89d2f783f878f877256590ab5f51ed2f7c55d07ff324e7813e4e05006 -size 1962 diff --git a/dist/gramm-ai/browser/assets/images/find_word/1.png b/dist/gramm-ai/browser/assets/images/find_word/1.png deleted file mode 100644 index 80565e37308a5e02f2393091ccf878fa299026c3..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/find_word/1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e728fde29bec82a9c9969bfff37d7e1abae37ceb4178d8e1b0f8bd11901f43c4 -size 2993022 diff --git a/dist/gramm-ai/browser/assets/images/find_word/2.png b/dist/gramm-ai/browser/assets/images/find_word/2.png deleted file mode 100644 index 2089baabd49bcdd3111e6ec98fc602873ed748ad..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/find_word/2.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2928906fd2bde793f7106ac8f984ff64ee737b3edd5f36f043a8d411c3896473 -size 1829918 diff --git a/dist/gramm-ai/browser/assets/images/find_word/3.png b/dist/gramm-ai/browser/assets/images/find_word/3.png deleted file mode 100644 index 66d6ebb2f9b4c507fb78a68a7f9a605c07f7437d..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/find_word/3.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9b9338d21cf8a97f03e571e8234806a7b19dcd84f1cf650e9b194c42bed0d271 -size 2466898 diff --git a/dist/gramm-ai/browser/assets/images/find_word/4.png b/dist/gramm-ai/browser/assets/images/find_word/4.png deleted file mode 100644 index 00458f61a33fc09549be25955c57f004ba5ba80a..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/find_word/4.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:86c9b75cf2642651d7daedcccb53e88aa69338570c717d0db0ea438770a0d80b -size 2943325 diff --git a/dist/gramm-ai/browser/assets/images/find_word/6.png b/dist/gramm-ai/browser/assets/images/find_word/6.png deleted file mode 100644 index 1637af8cddceebdd1df93edb95d4e0f2fb0a8eee..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/find_word/6.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d7a870c46a4fa58a67ce7cb990b49a1b8642798c6e1d2d7f7084afc216fa8f5a -size 1545686 diff --git a/dist/gramm-ai/browser/assets/images/find_word/ChatGPT Image May 22, 2025, 11_57_21 AM.png b/dist/gramm-ai/browser/assets/images/find_word/ChatGPT Image May 22, 2025, 11_57_21 AM.png deleted file mode 100644 index 9d6569f8777b2087acc8d7f9d0cb6f2f0977795d..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/find_word/ChatGPT Image May 22, 2025, 11_57_21 AM.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a592d94a4fad031c912413bcc860b14a8e224b337dd90f931d635b1a4b4c1097 -size 1759975 diff --git a/dist/gramm-ai/browser/assets/images/find_word/audio.png b/dist/gramm-ai/browser/assets/images/find_word/audio.png deleted file mode 100644 index 348b6d0a7652e505df7125ab7fe365109c66dbbe..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/find_word/audio.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:018efe018714be2511b6d3d809e2c7e8fdcf6707edc40154469aa6ae2cda9507 -size 167567 diff --git a/dist/gramm-ai/browser/assets/images/find_word/audio_no_bg.png b/dist/gramm-ai/browser/assets/images/find_word/audio_no_bg.png deleted file mode 100644 index b62ee0351ada6a5d4485caea2aaae3950999a27d..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/find_word/audio_no_bg.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:76b488fba19f7f37f203841a3fcf285325d4576b20f39a014553f409500b1b9e -size 2650092 diff --git a/dist/gramm-ai/browser/assets/images/find_word/back-arrow.png b/dist/gramm-ai/browser/assets/images/find_word/back-arrow.png deleted file mode 100644 index 1f301cfe84e291c4be0414835fa2645871ba877f..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/find_word/back-arrow.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3bf85ceebd0a2d7b12f9a63159186aabf850380949ed7d57c8c53e3c3e759e18 -size 418 diff --git a/dist/gramm-ai/browser/assets/images/find_word/back.png b/dist/gramm-ai/browser/assets/images/find_word/back.png deleted file mode 100644 index 8c31da4c08984b08b8a475b32d473ce9f4b1fb65..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/find_word/back.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8749a225d6220db8f5f1c986aa293de98ee58e29eadc55ffbe6715775aa6c7be -size 1369808 diff --git a/dist/gramm-ai/browser/assets/images/find_word/find_word.png b/dist/gramm-ai/browser/assets/images/find_word/find_word.png deleted file mode 100644 index f2f1cfed163b5186ef8676e9303eca6dfd51b488..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/find_word/find_word.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f25de4a84b0b453113f1d8b3adc9cd20f82a81f99aaff9c150af4bdef3b518a4 -size 60898 diff --git a/dist/gramm-ai/browser/assets/images/find_word/listen.png b/dist/gramm-ai/browser/assets/images/find_word/listen.png deleted file mode 100644 index 552f3ca423e2fa8e2c0152005eed2f889ad92962..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/find_word/listen.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fc0e66b5b931c104d9f70373348d77a741877c37751ac2b013701caffaac9d63 -size 1988158 diff --git a/dist/gramm-ai/browser/assets/images/google-logo.svg b/dist/gramm-ai/browser/assets/images/google-logo.svg deleted file mode 100644 index d6d0d9f66d798092961fd60d069688092d63ad82..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/google-logo.svg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:92965efec0c4d979aa06400f5789b3b769ff51494a071df0cec68ee4d68da5cf -size 784 diff --git a/dist/gramm-ai/browser/assets/images/grammar-bg.png b/dist/gramm-ai/browser/assets/images/grammar-bg.png deleted file mode 100644 index 341ccc3acbdb1c667323088c0262b64ea2a9fb80..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/grammar-bg.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ebf0a0f8ac6bec6e03b9814cdfc360f27a591c46753b62587474f06767526cb8 -size 665154 diff --git a/dist/gramm-ai/browser/assets/images/home.png b/dist/gramm-ai/browser/assets/images/home.png deleted file mode 100644 index be1538142c4fa5c8efc89877f88bf4c868264f33..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/home.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:aeee1e9a7ff006a98e8a27045b6dbf92f58265ec7d7b60aa005b112d61507b5f -size 1215 diff --git a/dist/gramm-ai/browser/assets/images/home/Grammar_chat.png b/dist/gramm-ai/browser/assets/images/home/Grammar_chat.png deleted file mode 100644 index 75b5377870019f7f40a259027fe4a89954b2b84f..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/home/Grammar_chat.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d96eb91f30a33917767f54a4d87a2935959053aba0f3e7bc385d8849aac2ff41 -size 125036 diff --git a/dist/gramm-ai/browser/assets/images/home/Listening.png b/dist/gramm-ai/browser/assets/images/home/Listening.png deleted file mode 100644 index 9b274ba5cef6081f15cbd85e4375288cb2bb4687..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/home/Listening.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e185e88afedd89c410aea903b4df2752f28db0191095decd53c27c533fd502f5 -size 479376 diff --git a/dist/gramm-ai/browser/assets/images/home/Reading.png b/dist/gramm-ai/browser/assets/images/home/Reading.png deleted file mode 100644 index e31eaf533b21b96c3f15e132efdadb64ba317fa4..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/home/Reading.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bc1d39e8a7b01de3dfc9f9a1e68f0ca06455b5ed948bc3daeb5b74bca1846b55 -size 690521 diff --git a/dist/gramm-ai/browser/assets/images/home/background.png b/dist/gramm-ai/browser/assets/images/home/background.png deleted file mode 100644 index 2722be642fdc9ba65e59e1c303189fa728639cf7..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/home/background.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5cc7e74b375c0a9becd5f0e7fdbfcfac815e2aeb5214986dd3b6496e88feaf29 -size 1001439 diff --git a/dist/gramm-ai/browser/assets/images/home/chat.png b/dist/gramm-ai/browser/assets/images/home/chat.png deleted file mode 100644 index 1f9bc00d981b0f08b11e0dc1c235404f8ca09d30..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/home/chat.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c86336a33afad67cae4a2d6f135e05cfeebbbcb7e778559b3f031706f6cab5c8 -size 127018 diff --git a/dist/gramm-ai/browser/assets/images/home/find_word.png b/dist/gramm-ai/browser/assets/images/home/find_word.png deleted file mode 100644 index f2f1cfed163b5186ef8676e9303eca6dfd51b488..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/home/find_word.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f25de4a84b0b453113f1d8b3adc9cd20f82a81f99aaff9c150af4bdef3b518a4 -size 60898 diff --git a/dist/gramm-ai/browser/assets/images/home/linkedin-icon.png b/dist/gramm-ai/browser/assets/images/home/linkedin-icon.png deleted file mode 100644 index 65a17901d84b043f029ac42da0cc86e05994afe8..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/home/linkedin-icon.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7dcbc6147b5ba1f1da63566505a0bee3a7c044fc9c9ab8935f8298eb6b231340 -size 11481 diff --git a/dist/gramm-ai/browser/assets/images/home/quiz.png b/dist/gramm-ai/browser/assets/images/home/quiz.png deleted file mode 100644 index 78cdfa7d0060f3f8156f67aff7946b003c04fce0..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/home/quiz.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a33d8f9c687fb7ffb3f78b9dacf6cfbcaab5713474070d6a6f09ade55b637cbb -size 80955 diff --git a/dist/gramm-ai/browser/assets/images/home/vocabulary.png b/dist/gramm-ai/browser/assets/images/home/vocabulary.png deleted file mode 100644 index a5ffc10f55febb839f36f763db5585131a44a534..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/home/vocabulary.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6d10fdad3807d15949fbe88676ad581242373f9e72c40d45122be18ce27edbfe -size 93328 diff --git a/dist/gramm-ai/browser/assets/images/home/voice.png b/dist/gramm-ai/browser/assets/images/home/voice.png deleted file mode 100644 index 64a87fbec99ddb7e95f7aab0d14b89b96ee9909e..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/home/voice.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b3fdd30f776503a2f218ea129c28d6de61600e6cc8b3e2d82aeefe1610483ed7 -size 59994 diff --git a/dist/gramm-ai/browser/assets/images/home/writting.png b/dist/gramm-ai/browser/assets/images/home/writting.png deleted file mode 100644 index adc2ce412909361771871b62bf4e97729a40ba12..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/home/writting.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ddfe8c7e9afb8a730cc4925f17b8a924d68733da74a7d7057e86853eab50afd5 -size 1608258 diff --git a/dist/gramm-ai/browser/assets/images/home/youtube-icon.png b/dist/gramm-ai/browser/assets/images/home/youtube-icon.png deleted file mode 100644 index 1d1098e5fdb891652d2e5d77830a19e3b1a340b2..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/home/youtube-icon.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:487d295d1b180682f13e25fdbd18c659f76abdda651afc1363fc701400eb7910 -size 16602 diff --git a/dist/gramm-ai/browser/assets/images/listen.png b/dist/gramm-ai/browser/assets/images/listen.png deleted file mode 100644 index 29c23841f7cca5dc65ce652c589728ca130c23b0..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:37e9b673090823e9efdbd4d6c4074d6d689acfd12ad02e1bc7937728ddc890e0 -size 813782 diff --git a/dist/gramm-ai/browser/assets/images/listen/1.png b/dist/gramm-ai/browser/assets/images/listen/1.png deleted file mode 100644 index ea91733654594d2b0d7ec36d1ba552928ea0a196..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e22ab8915b94cf373395b789f6622c42c38ee560d2ecaf4271cb143248ecb9fa -size 2022880 diff --git a/dist/gramm-ai/browser/assets/images/listen/2.png b/dist/gramm-ai/browser/assets/images/listen/2.png deleted file mode 100644 index c994196dd75c292ed12b10e7fc5cc5d0cb8b098e..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/2.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f7285601a8ff3800ee9720ae60dbfa3125e071debd480ee5ab7162747b4b8877 -size 2599368 diff --git a/dist/gramm-ai/browser/assets/images/listen/3.png b/dist/gramm-ai/browser/assets/images/listen/3.png deleted file mode 100644 index 8a6af0d8e6180387b9be9949cf051f7509bb580c..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/3.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1913d5c6fdbc09c59b1d69281ccf774930d1f62576765c44eb1dd5959e54ebbd -size 2691282 diff --git a/dist/gramm-ai/browser/assets/images/listen/3girl.png b/dist/gramm-ai/browser/assets/images/listen/3girl.png deleted file mode 100644 index cf0789138e23d3027e53476bda7390886f5a605f..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/3girl.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8ab553af72d37463a905d40a894d213ba77894b5e17bb8b9c3acce0ee0ad4219 -size 3263348 diff --git a/dist/gramm-ai/browser/assets/images/listen/Excited.png b/dist/gramm-ai/browser/assets/images/listen/Excited.png deleted file mode 100644 index 1bd9d1ca46fc10b3d0f0926a9dd7e7e6f7671fa0..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/Excited.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f97bbb28d9bc31dc6fc18c7600b81a5eeae88ba8869721b89c249f8b744a5e92 -size 2660787 diff --git a/dist/gramm-ai/browser/assets/images/listen/a.png b/dist/gramm-ai/browser/assets/images/listen/a.png deleted file mode 100644 index c5a2a0868acbb350d880795cc54b7c9842fd7f21..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/a.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:525d6174374c4ab0f820dfe72ba8cbc66538f10e91e56da79210fa8c13be623a -size 2371422 diff --git a/dist/gramm-ai/browser/assets/images/listen/a1.png b/dist/gramm-ai/browser/assets/images/listen/a1.png deleted file mode 100644 index d839ac515d2b2eefba3befbeaf16d61e41bcde87..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/a1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8c60232f8847eb817f59ee867a924fa911c3caff34b394cd0e257d160ea9a2ba -size 2187249 diff --git a/dist/gramm-ai/browser/assets/images/listen/back-arrow.png b/dist/gramm-ai/browser/assets/images/listen/back-arrow.png deleted file mode 100644 index 1f301cfe84e291c4be0414835fa2645871ba877f..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/back-arrow.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3bf85ceebd0a2d7b12f9a63159186aabf850380949ed7d57c8c53e3c3e759e18 -size 418 diff --git a/dist/gramm-ai/browser/assets/images/listen/confeti.png b/dist/gramm-ai/browser/assets/images/listen/confeti.png deleted file mode 100644 index b3f86b62caa4dcf635dae9a61779dc33b9b09526..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/confeti.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7ec0a297ac3e87d82f0c51b01f22e0e2bd33422b85b776baf471177ede675bf7 -size 3142104 diff --git a/dist/gramm-ai/browser/assets/images/listen/confetti.png b/dist/gramm-ai/browser/assets/images/listen/confetti.png deleted file mode 100644 index 6d46d0ff7937f6b2b45d28d69e80376fe1b3ea33..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/confetti.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7da7a9e523a7abb09a409f174013daff44a501050e571f03effe719cd2a2e88e -size 313562 diff --git a/dist/gramm-ai/browser/assets/images/listen/default.png b/dist/gramm-ai/browser/assets/images/listen/default.png deleted file mode 100644 index eb08723a89b6f5516faa152ebe0e7e4680b98211..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/default.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:06a00d98cf193b34a28a33dba0deaea397c45074be849b71c78b6c2314bf26ac -size 1890301 diff --git a/dist/gramm-ai/browser/assets/images/listen/group.png b/dist/gramm-ai/browser/assets/images/listen/group.png deleted file mode 100644 index c805be07dd9e4e878e0f2033b63c19db0c3c66ea..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/group.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:323413509f2c904497875ef21f4b02f909e7e3a3e9df66ed790f9480c69a5e51 -size 2951047 diff --git a/dist/gramm-ai/browser/assets/images/listen/happy.png b/dist/gramm-ai/browser/assets/images/listen/happy.png deleted file mode 100644 index 9a55f8b324d4494f32daae225729cb03e3bdeae8..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/happy.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9318d1a9967d3f41d1a46081f16ce31acf61bc195b49b9cbb411a0faff6fe421 -size 2679982 diff --git a/dist/gramm-ai/browser/assets/images/listen/j.png b/dist/gramm-ai/browser/assets/images/listen/j.png deleted file mode 100644 index f9df909c05907b7607b93416ec726b299b449cb6..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/j.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f1f2e52e871c52e5bbaadc87ffb95e872d668258c42c019cda733b75b720d7c6 -size 2904069 diff --git a/dist/gramm-ai/browser/assets/images/listen/lamp.png b/dist/gramm-ai/browser/assets/images/listen/lamp.png deleted file mode 100644 index 1f1dd83450f484de290d59886539b16e89f5a934..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/lamp.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c3cbc34f5bea1acdbb77198466bdaaf5687e5785ecc02c33cf505c3ac7b51283 -size 2382536 diff --git a/dist/gramm-ai/browser/assets/images/listen/listen.png b/dist/gramm-ai/browser/assets/images/listen/listen.png deleted file mode 100644 index 552f3ca423e2fa8e2c0152005eed2f889ad92962..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/listen.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fc0e66b5b931c104d9f70373348d77a741877c37751ac2b013701caffaac9d63 -size 1988158 diff --git a/dist/gramm-ai/browser/assets/images/listen/listen1.png b/dist/gramm-ai/browser/assets/images/listen/listen1.png deleted file mode 100644 index 55317c50b42bca10aacbaa079041342aa77b1878..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/listen1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7563ab7b5ce2e4596e3ef7e969e3635f3e76f249ab087f070bc54dd5357bea6f -size 2538293 diff --git a/dist/gramm-ai/browser/assets/images/listen/listen2.png b/dist/gramm-ai/browser/assets/images/listen/listen2.png deleted file mode 100644 index a364d71be2b6fcc4bd72076d2285c36490fa3c0c..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/listen2.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c4422d509555bafe424e89a6b38acbf147b5620fd13955ab3e130dc82e2fc0f9 -size 1751903 diff --git a/dist/gramm-ai/browser/assets/images/listen/listen3.png b/dist/gramm-ai/browser/assets/images/listen/listen3.png deleted file mode 100644 index d91fed60704ad45064299c10dc391d9c0a2d23de..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/listen3.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:62c1810d4bb552686aa3035eb21104df346b2f714e33281a39b953bdf98d6100 -size 2572443 diff --git a/dist/gramm-ai/browser/assets/images/listen/s.png b/dist/gramm-ai/browser/assets/images/listen/s.png deleted file mode 100644 index 83c12d77f71f4bd75021ebba044f1664bf21cc6f..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/s.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:377335e96c5b0ee1c0dea3853f68ef38d732896c05e83de39723fbd5c48ce596 -size 3197970 diff --git a/dist/gramm-ai/browser/assets/images/listen/sad.png b/dist/gramm-ai/browser/assets/images/listen/sad.png deleted file mode 100644 index 7f09e864c1bbe32609310c92d5537473721578aa..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/sad.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0283e601dbce9b53efb8e021ace66a53e8407a01914143ad7821eb157a2c2ba3 -size 2758561 diff --git a/dist/gramm-ai/browser/assets/images/listen/surprised.png b/dist/gramm-ai/browser/assets/images/listen/surprised.png deleted file mode 100644 index cfda5bde886e2192d7c29e523d213d0eece59117..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/surprised.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:57f7e1cd4ef6811262e0ebf83f48dbe56af34fc152776779be4cf7008854980c -size 3048253 diff --git a/dist/gramm-ai/browser/assets/images/listen/thinking.png b/dist/gramm-ai/browser/assets/images/listen/thinking.png deleted file mode 100644 index 9a091ef38fdd6b75fb0f395cc1309bd87b1f2726..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/thinking.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:11202f54fd746aee6eeeae5f49d72c431a6d2cf0d8d975dd1f387ccd68883d53 -size 2777143 diff --git a/dist/gramm-ai/browser/assets/images/listen/thinkingwith book.png b/dist/gramm-ai/browser/assets/images/listen/thinkingwith book.png deleted file mode 100644 index b65ac615496d796a3b76628124ae6f86516f2f3c..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/thinkingwith book.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2bdf5c4b3e47475a83f532fec895db340b93f8ddcd8772cbeb4043a9eff6af81 -size 489 diff --git a/dist/gramm-ai/browser/assets/images/listen/winning .png b/dist/gramm-ai/browser/assets/images/listen/winning .png deleted file mode 100644 index ad4b3cc046953bf68ec16b9c3d46d501aa4a7da7..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/listen/winning .png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:00948b27032ea9ad20363f7fa42f512222363847091dabddd45972ccd8bf8463 -size 489 diff --git a/dist/gramm-ai/browser/assets/images/login/linkedin-icon.png b/dist/gramm-ai/browser/assets/images/login/linkedin-icon.png deleted file mode 100644 index 65a17901d84b043f029ac42da0cc86e05994afe8..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/login/linkedin-icon.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7dcbc6147b5ba1f1da63566505a0bee3a7c044fc9c9ab8935f8298eb6b231340 -size 11481 diff --git a/dist/gramm-ai/browser/assets/images/login/lion.png b/dist/gramm-ai/browser/assets/images/login/lion.png deleted file mode 100644 index 138e989fe567199c052affb05eaef7e0a9f1a52c..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/login/lion.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b10cc8bd4e0c9e68158575d2ade0186474235a359c85cf5c8033efd1fbdd9431 -size 335878 diff --git a/dist/gramm-ai/browser/assets/images/login/youtube-icon.png b/dist/gramm-ai/browser/assets/images/login/youtube-icon.png deleted file mode 100644 index 1d1098e5fdb891652d2e5d77830a19e3b1a340b2..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/login/youtube-icon.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:487d295d1b180682f13e25fdbd18c659f76abdda651afc1363fc701400eb7910 -size 16602 diff --git a/dist/gramm-ai/browser/assets/images/majema-logo.png b/dist/gramm-ai/browser/assets/images/majema-logo.png deleted file mode 100644 index d73281e5cbeb29c50a24709f54374e4094441548..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/majema-logo.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:35f2d665d28978a0c24b69454abd7b6dcc633566812df227c70a2242417c5750 -size 1480919 diff --git a/dist/gramm-ai/browser/assets/images/pykara-logo.png b/dist/gramm-ai/browser/assets/images/pykara-logo.png deleted file mode 100644 index d69712677ca0333c5e0a5899bb74e23f943349df..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/pykara-logo.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0c34280718b6c881c750fcd05cd59bdf86d8797df991b3fff0f1d8dd02f24382 -size 30704 diff --git a/dist/gramm-ai/browser/assets/images/reading/back.png b/dist/gramm-ai/browser/assets/images/reading/back.png deleted file mode 100644 index 8c31da4c08984b08b8a475b32d473ce9f4b1fb65..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/reading/back.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8749a225d6220db8f5f1c986aa293de98ee58e29eadc55ffbe6715775aa6c7be -size 1369808 diff --git a/dist/gramm-ai/browser/assets/images/reading/teacher.png b/dist/gramm-ai/browser/assets/images/reading/teacher.png deleted file mode 100644 index 4fba36d6203041dddeb7dd0d004fdff7924a7903..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/reading/teacher.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b8b29c808bb73f02a4761764b18a1d6375f96e261826c6dce32c9c4330f9f063 -size 332605 diff --git a/dist/gramm-ai/browser/assets/images/vocabulary/1.png b/dist/gramm-ai/browser/assets/images/vocabulary/1.png deleted file mode 100644 index 47e9e75323a96a24c58ca5558afa2d4624c45480..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/vocabulary/1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:45a91aa3fa7140098dc432a0d9b74f5aab53cb5930f78d25c7e83d604018e0c4 -size 2669105 diff --git a/dist/gramm-ai/browser/assets/images/vocabulary/2.png b/dist/gramm-ai/browser/assets/images/vocabulary/2.png deleted file mode 100644 index 2089baabd49bcdd3111e6ec98fc602873ed748ad..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/vocabulary/2.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2928906fd2bde793f7106ac8f984ff64ee737b3edd5f36f043a8d411c3896473 -size 1829918 diff --git a/dist/gramm-ai/browser/assets/images/vocabulary/3.png b/dist/gramm-ai/browser/assets/images/vocabulary/3.png deleted file mode 100644 index 604bd06bdad0310c423a7de7871b953a713af8cd..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/vocabulary/3.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:19973fd120a36e2f33386daf12ef171dd2e1533f82d095bc3fd3a1becaae552d -size 1846354 diff --git a/dist/gramm-ai/browser/assets/images/vocabulary/4.png b/dist/gramm-ai/browser/assets/images/vocabulary/4.png deleted file mode 100644 index 4d5b8aa932bed38d26319faa082acf7e399273bf..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/vocabulary/4.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2fe1591678783390fe14c28a1280bd02d663701f2e54cc8ba420417343e6681e -size 2680769 diff --git a/dist/gramm-ai/browser/assets/images/vocabulary/5.png b/dist/gramm-ai/browser/assets/images/vocabulary/5.png deleted file mode 100644 index ddff48b11b7adef113d0206148ac7b5342007145..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/vocabulary/5.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:160e17f51466cbb76af737852d3e3fbd4ed5b66495012397f8291c81f14a2c9d -size 1926984 diff --git a/dist/gramm-ai/browser/assets/images/vocabulary/6.png b/dist/gramm-ai/browser/assets/images/vocabulary/6.png deleted file mode 100644 index 1637af8cddceebdd1df93edb95d4e0f2fb0a8eee..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/vocabulary/6.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d7a870c46a4fa58a67ce7cb990b49a1b8642798c6e1d2d7f7084afc216fa8f5a -size 1545686 diff --git a/dist/gramm-ai/browser/assets/images/vocabulary/ChatGPT Image May 21, 2025, 10_51_08 AM.png b/dist/gramm-ai/browser/assets/images/vocabulary/ChatGPT Image May 21, 2025, 10_51_08 AM.png deleted file mode 100644 index 581ae37561b8a6c7fdb9da0eb19023a67ebbb156..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/vocabulary/ChatGPT Image May 21, 2025, 10_51_08 AM.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:793a6954c17a5291ab3c59135d204f575084cf8572a3057ab6a67b3293566de4 -size 902259 diff --git a/dist/gramm-ai/browser/assets/images/vocabulary/back.png b/dist/gramm-ai/browser/assets/images/vocabulary/back.png deleted file mode 100644 index 8c31da4c08984b08b8a475b32d473ce9f4b1fb65..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/vocabulary/back.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8749a225d6220db8f5f1c986aa293de98ee58e29eadc55ffbe6715775aa6c7be -size 1369808 diff --git a/dist/gramm-ai/browser/assets/images/vocabulary/learning.png b/dist/gramm-ai/browser/assets/images/vocabulary/learning.png deleted file mode 100644 index 2fc0b83a046db14dd6f7399cbad2f39448e10718..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/vocabulary/learning.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8fc46c7b4e457e15c8c8273721777ecb520223e33ae9108b0793176b6ac4cb16 -size 3094855 diff --git a/dist/gramm-ai/browser/assets/images/vocabulary/learning1.png b/dist/gramm-ai/browser/assets/images/vocabulary/learning1.png deleted file mode 100644 index 9d63c2f16d927c1380cf112488e93706ecb309a4..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/vocabulary/learning1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ccdc54d8c9fc7342111ffca808f6e221a46a632d56aa204dfdb01257b77ac727 -size 2880344 diff --git a/dist/gramm-ai/browser/assets/images/vocabulary/next.png b/dist/gramm-ai/browser/assets/images/vocabulary/next.png deleted file mode 100644 index c8b2f9eced51da827d1bab0ccecc30e62ba721fa..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/vocabulary/next.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:30aa3164fb81aead347862ce98d00f78882b4b42368b08e0aa0d185e3e60d99e -size 1094404 diff --git a/dist/gramm-ai/browser/assets/images/vocabulary/vocabulary.png b/dist/gramm-ai/browser/assets/images/vocabulary/vocabulary.png deleted file mode 100644 index a5ffc10f55febb839f36f763db5585131a44a534..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/vocabulary/vocabulary.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6d10fdad3807d15949fbe88676ad581242373f9e72c40d45122be18ce27edbfe -size 93328 diff --git a/dist/gramm-ai/browser/assets/images/writing.png b/dist/gramm-ai/browser/assets/images/writing.png deleted file mode 100644 index 27005737b8bf8c29c920de75459acd58c123a660..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/writing.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8ff7efe0932d4613f5dceac9750516836e0a30a7ccca40432271863e126f7da0 -size 652558 diff --git a/dist/gramm-ai/browser/assets/images/writing/1.png b/dist/gramm-ai/browser/assets/images/writing/1.png deleted file mode 100644 index 1d95b7bf02dbd85f91c965e88e7885e3a4eaac4c..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/writing/1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e529544696a1de7db78f4fd95c6cbbf1c70721ec2cf0838aae379c88178be137 -size 1426179 diff --git a/dist/gramm-ai/browser/assets/images/writing/2.png b/dist/gramm-ai/browser/assets/images/writing/2.png deleted file mode 100644 index 69e6b0bfe321cc2a8eadd1a466c42a9f0df0ed2a..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/writing/2.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:29211b400668074072b42320cbeac6caf40e01b391e686495d026a58275d724a -size 1898944 diff --git a/dist/gramm-ai/browser/assets/images/writing/3.png b/dist/gramm-ai/browser/assets/images/writing/3.png deleted file mode 100644 index 137b1e0c38271360017bb14684205ca6bbe5a173..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/writing/3.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:83569ff3dd9b2ef8604b1845b38a87aea773ea95920a7533ae2e71e074fb7f18 -size 1742800 diff --git a/dist/gramm-ai/browser/assets/images/writing/4.png b/dist/gramm-ai/browser/assets/images/writing/4.png deleted file mode 100644 index bb446b2a76b4515b57833ea504ab9847fb729627..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/writing/4.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c4af2314b3c1a3d45ffcce6a794aedfd473e39564fc96f7e0aba9fbac2904f49 -size 949240 diff --git a/dist/gramm-ai/browser/assets/images/writing/ChatGPT Image Jul 14, 2025, 12_26_53 PM.png b/dist/gramm-ai/browser/assets/images/writing/ChatGPT Image Jul 14, 2025, 12_26_53 PM.png deleted file mode 100644 index 5782d29b6b1c8127e8b5fe09ccb8ee77109b8ab8..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/writing/ChatGPT Image Jul 14, 2025, 12_26_53 PM.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ca189374822e22dbef02d5729f79c84d6f5a4ae8c96b2e0f32ed0ee4351e206b -size 1828221 diff --git a/dist/gramm-ai/browser/assets/images/writing/back-arrow.png b/dist/gramm-ai/browser/assets/images/writing/back-arrow.png deleted file mode 100644 index 1f301cfe84e291c4be0414835fa2645871ba877f..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/writing/back-arrow.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3bf85ceebd0a2d7b12f9a63159186aabf850380949ed7d57c8c53e3c3e759e18 -size 418 diff --git a/dist/gramm-ai/browser/assets/images/writing/back.png b/dist/gramm-ai/browser/assets/images/writing/back.png deleted file mode 100644 index 8c31da4c08984b08b8a475b32d473ce9f4b1fb65..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/writing/back.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8749a225d6220db8f5f1c986aa293de98ee58e29eadc55ffbe6715775aa6c7be -size 1369808 diff --git a/dist/gramm-ai/browser/assets/images/writing/border.png b/dist/gramm-ai/browser/assets/images/writing/border.png deleted file mode 100644 index 0a1a06de672ba3acd27d7851733830e5fd85938c..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/writing/border.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d86911891f91800b69dbbe991aadba1701599f96f5e93672c28f6360dacfb434 -size 2036 diff --git a/dist/gramm-ai/browser/assets/images/writing/cloud1.png b/dist/gramm-ai/browser/assets/images/writing/cloud1.png deleted file mode 100644 index 8c04fca0ffa0f35c481021800389e529fc98b5d3..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/writing/cloud1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b5409810da008d782ea7996868d398b5754961944328acb00771a2423d0aefed -size 28116 diff --git a/dist/gramm-ai/browser/assets/images/writing/cloud3.png b/dist/gramm-ai/browser/assets/images/writing/cloud3.png deleted file mode 100644 index 5db8e225291473c85557f7c9e228392a9dfd87ff..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/writing/cloud3.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ab711c55b26abfc76cd22a192bb1451be88e87963edc2bdb7bbed14718ed7e85 -size 1466225 diff --git a/dist/gramm-ai/browser/assets/images/writing/feedback.png b/dist/gramm-ai/browser/assets/images/writing/feedback.png deleted file mode 100644 index 4fba36d6203041dddeb7dd0d004fdff7924a7903..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/writing/feedback.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b8b29c808bb73f02a4761764b18a1d6375f96e261826c6dce32c9c4330f9f063 -size 332605 diff --git a/dist/gramm-ai/browser/assets/images/writing/group.png b/dist/gramm-ai/browser/assets/images/writing/group.png deleted file mode 100644 index 06f97f614027e4eb8732f03ab3998d919c326e82..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/writing/group.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1d3bfe9f7659921aaf81586c653f20bfe4fe62e8802266549cdca120e3b6c315 -size 2433570 diff --git a/dist/gramm-ai/browser/assets/images/writing/pencil-character.jpg b/dist/gramm-ai/browser/assets/images/writing/pencil-character.jpg deleted file mode 100644 index 7d18fa5c4829b51a8c8e926c50716c5dfe757492..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/writing/pencil-character.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2da6a8dd47f84f92c7540f91d98a92328d462914ca17f7468594152cef6385b8 -size 44081 diff --git a/dist/gramm-ai/browser/assets/images/writing/pencil-character.png b/dist/gramm-ai/browser/assets/images/writing/pencil-character.png deleted file mode 100644 index a555e68e2dbfc894ff1ddc98a71eea404c739906..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/writing/pencil-character.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8da988ee0a264eace84de9d96c6e74e837330aba23024d65006abaa6d46abb60 -size 214498 diff --git a/dist/gramm-ai/browser/assets/images/writing/pencil.png b/dist/gramm-ai/browser/assets/images/writing/pencil.png deleted file mode 100644 index b93f60e1fdd84ee75432ab2238d30bc74f1d6d6b..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/writing/pencil.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e0eae6dadeae62fb26cdfc312f8ddc6aef202c8b0e8755809a0cb4a34265340d -size 131624 diff --git a/dist/gramm-ai/browser/assets/images/writing/rabbit.png b/dist/gramm-ai/browser/assets/images/writing/rabbit.png deleted file mode 100644 index 06a0e03961c9d8ab373192c7a708a490c6e34c64..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/writing/rabbit.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3f3b34936742d4abc408f519bf4d82f7608c11c229c9efb0f7e36e348e0b1ea8 -size 993708 diff --git a/dist/gramm-ai/browser/assets/images/writing/rabbitwithpencil.png b/dist/gramm-ai/browser/assets/images/writing/rabbitwithpencil.png deleted file mode 100644 index 8da5571796d800400a4782ad26045cbdf5f3ae82..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/writing/rabbitwithpencil.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9f05d50d3c56ebbab7e23f585804adb688a2304983f58b973dadfb413db8c274 -size 1126444 diff --git a/dist/gramm-ai/browser/assets/images/writing/sun.png b/dist/gramm-ai/browser/assets/images/writing/sun.png deleted file mode 100644 index d92f0163d152637c37a14ee86a650fbc5fa686b0..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/images/writing/sun.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6263dfbc55ed42705ab865edcd1ee91b927d4c868c9b3d05b3194c272033839e -size 1038842 diff --git a/dist/gramm-ai/browser/assets/majema-favicon.png b/dist/gramm-ai/browser/assets/majema-favicon.png deleted file mode 100644 index 547e93f9cb062e75850b2f944d2276b0b9c64395..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/majema-favicon.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b3921d919e2feba4c61910c98303be14c8bc33f4c88a0e6ba6dfbdb4263d854f -size 3455 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/apple.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/apple.mp4 deleted file mode 100644 index accbee83c95016738375f637fd86aa6b881bf712..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/apple.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:158222ad1b07188440d77474f9cdc6002973e5ed9213a234e603ff66adaa37ca -size 5790714 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/ball.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/ball.mp4 deleted file mode 100644 index 69c633123ad729bc2b5c0101c7d38418e0eebb63..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/ball.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bbf6c21e57ebb0f34acf11dfc57eca9a6ceb944708b1dd573e0bb4f082efe7d7 -size 5634357 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/cat.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/cat.mp4 deleted file mode 100644 index 7b56c73ad8da9a0765173f0975a27e0430ed46ae..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/cat.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0a4e400917eb73e7b2481b5e89799f4c877f860b96fef49e61f1a6fee2db718d -size 5360080 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/dog.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/dog.mp4 deleted file mode 100644 index e02de555f77a80fb57348cd6d465a657df2b55b8..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/dog.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:aced7cd298f418f1d7ac6952c99df14d6030bd56a22ac17d08352bf283b1e0de -size 5342277 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/egg.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/egg.mp4 deleted file mode 100644 index 0923e93428ae270b21614aaeeb6f03aa4cb70c12..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/egg.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ea0b1500966539eee652962355c20c380a903ee79bd79ef57e3c730302525382 -size 4935460 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/fish.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/fish.mp4 deleted file mode 100644 index d689fc58aecd0bcab9ea600a33a60d8220b2079d..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/fish.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0c724abc31b32d058b69c2142093c24504fa863dc5f7e7fb78310e6c78295013 -size 4907809 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/grapes.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/grapes.mp4 deleted file mode 100644 index 682419e2847c82ba6f62fafc5cb3f4ffeeac45dc..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/grapes.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e8e26b650686a72c010852f336982b188f779af5938d554bf86f755a5fcdf9b6 -size 9053666 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/hat.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/hat.mp4 deleted file mode 100644 index 79c9440a33af6949dd334e4e92343e62b2348a62..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/hat.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9a435204cb5e26fb7dda794b0b1ae482445841bd8643a3bd8eb4dbca2fa69921 -size 7203469 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/icecream.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/icecream.mp4 deleted file mode 100644 index 540d39188aa90b99359ded3ca6b46dcc5a288709..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/icecream.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:89530e185f406945a71b19300c5a00711ada88641af6dcb6c59ab5dc5c5835c4 -size 6187864 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/jar.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/jar.mp4 deleted file mode 100644 index 0448e646bc083a3c9a6783d52b52a148b10893aa..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/jar.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:85e954d6f782f5d17da42cf60c2a061d114068396285fd5d14602ca88f975d5d -size 9213510 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/kite.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/kite.mp4 deleted file mode 100644 index 8b65ed2c5573345bdbdf65ae22919530f4d27c69..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/kite.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ba84336efc7cb4e687eee64ed861cd753fe99781cc6c5bebe3cefe1b4b5ca4e7 -size 1843752 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/lion.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/lion.mp4 deleted file mode 100644 index cd8340605e47f0a1785aac0a2720cb94a8f2db85..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/lion.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:eef94bc7cd6806e735254fdd077c3c211ca6cb1b5eefff27e125a7723ca3b305 -size 6097806 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/moon.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/moon.mp4 deleted file mode 100644 index 74532eb0ac2a9cd0d9310a02269ad8ce565bb44a..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/moon.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:147b9e565116439983091812d786a55752e4e44511d7bf61fa218ac9a0805464 -size 4901274 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/nest.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/nest.mp4 deleted file mode 100644 index 0e3f953158541c1731303bc4a711e0fa4f1819ec..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/nest.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:820d37c3b5b153753a58532c914e011d5cdbc90df30d1bd3c5788834bfbe6d84 -size 7650498 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/orange.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/orange.mp4 deleted file mode 100644 index 8465478c61c1e172de62a70b790daae5d84ca73e..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/orange.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e9e3c0daecbcf4c8c26c2ec43a0bc68531922bd621117849624a88f01e1eb5b4 -size 6440257 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/pig.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/pig.mp4 deleted file mode 100644 index 45dbef2091f161428d583c5e3ebee013b25a5906..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/pig.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b6db18186b1ac3e735eda91d9d73522f900a7414b83985fc063aa7b537be133e -size 6421810 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/queen.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/queen.mp4 deleted file mode 100644 index 311c44dee50682e456ab3fe4e10e53286919b048..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/queen.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2595b6a8e69de6b350e81431f23eae6d54e32ab457fc8cf2d7d20a878c322402 -size 7791775 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/rabbit.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/rabbit.mp4 deleted file mode 100644 index cf1182245b30d9402db93d62d509f60dd8371a30..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/rabbit.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2bfb9ec3714cc6dcd7cae3be5594e53a2267a26da0eb82770a60ea5c91bba6b8 -size 7266712 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/sun.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/sun.mp4 deleted file mode 100644 index 6b0361d5f9d21e26c345cc27cf7ab53e763e9609..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/sun.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:85cb830b40c979014ed19ace95229fd8d806db3be52a87a3a387a20a017a6110 -size 1269242 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/tree.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/tree.mp4 deleted file mode 100644 index f5596c9f0559ad934145b664a79d40394c873f53..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/tree.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e6a80995e8b2ab65495d769ca18250c2a979d0b0a2865f8ea6bfcb6e70106a70 -size 12132430 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/umbrella.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/umbrella.mp4 deleted file mode 100644 index f4db7e548f197fbdc742f6358b66fba26ba29d06..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/umbrella.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6df6d94e25ac51f98d33f3a452a937bb81c8d6000172fd51564bc8b43f925678 -size 2489346 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/van.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/van.mp4 deleted file mode 100644 index cd919042a114c061221e5721a991496fe1c4b7f9..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/van.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:86c3bdd636d07bb59384b530c66cc6518ac251a5cdae3c02ca70818c8c69ae04 -size 10097663 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/watch.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/watch.mp4 deleted file mode 100644 index a073f0c1cde9719b0d07527595734ccc29c59278..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/watch.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ad5d4841d4668f1d2a992da30c8991778030acea800ec569cba3e3b7638b19dc -size 5652990 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/xylophone.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/xylophone.mp4 deleted file mode 100644 index 36e862e849dad94c247e4f40750cc3dcb06f70c4..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/xylophone.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3fa2d40bc1f9f0bc96f147b0696000b33607ad9662ca5dd319b2f429d6bcfaa6 -size 2050298 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/yarn.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/yarn.mp4 deleted file mode 100644 index aaef79e3b48d7937da710fd4db0f3ed34fd98b8a..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/yarn.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:742ba761ac8f917629fde9c560598fb2258131bb625d2d5c55f77c8440cf9e08 -size 3490049 diff --git a/dist/gramm-ai/browser/assets/pronunciation/animvideo/zebra.mp4 b/dist/gramm-ai/browser/assets/pronunciation/animvideo/zebra.mp4 deleted file mode 100644 index a1e4c4541f9a6837a167165f17b04d6733c0d23b..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/animvideo/zebra.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1144f6b4892b7ed3b31d6895dd692b40428b8e985e41c0f7306087ad4a5a37fc -size 7161675 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio.png b/dist/gramm-ai/browser/assets/pronunciation/audio.png deleted file mode 100644 index d61fc08ba9444f02a57463640de4517418edbc37..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:21066ffba9cccf98ff08e440f64e16328124c88e428aefc46e4131f4021d2aa5 -size 6159 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/apple.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/apple.mp3 deleted file mode 100644 index 7e72b04c925e6cbd498d2f102904c3024e7966f1..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/apple.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7c1d3163be11f51b0470574ce5968fdb5d8ff273ae368731198f9c2b5cd44535 -size 18240 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/ball.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/ball.mp3 deleted file mode 100644 index ae0c554281a09f469ed061f9eccc9a1476f335a3..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/ball.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0cc36ccec994fa9e357923a781134f4a2575e177e87f9624edda6b2cd4c6c39b -size 22224 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/cat.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/cat.mp3 deleted file mode 100644 index c4ec6843067c1295c5ffd8a4b0613b319b75ca4f..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/cat.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3aeefa4c781d51b864537cd9b4e63b2e68892ed09f31fa11ba59c8fa518d67f8 -size 17922 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/dog.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/dog.mp3 deleted file mode 100644 index 5c350b65cc0a75d17ad8602161aebb5ff21ddacc..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/dog.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:688953329eb2f70dbe6063acda0dc758cce3780d734bc86b173d8724acc5f04d -size 11322 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/egg.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/egg.mp3 deleted file mode 100644 index 3c78239b4575869fcb872868d6c7ec8feacd370b..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/egg.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6c39382b304e68eb69459bf6a4714ceafa403ef1abffd396eaf8547a5ca8cee6 -size 14538 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/fish.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/fish.mp3 deleted file mode 100644 index 2f7586a5272fb4cf4e791f01b154e571c15953bd..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/fish.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d77120d6d2a2646b6a3972f2b6bf285233b9b0cccd59a978fd2886e1eb63c723 -size 18426 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/grapes.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/grapes.mp3 deleted file mode 100644 index 76e1dc109cc702c445ec5e12e62175914eba30e0..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/grapes.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ff9d20c82403871f33174c1af8ea4eedc320f4168283684343ac00de35cd7bc8 -size 22026 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/hat.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/hat.mp3 deleted file mode 100644 index 60123ef0e812693d91448c9bc9da0c734d09f52f..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/hat.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:967549673cc6a68ac811db930b0b2940099daad8bd4398de6b8038fd493b819d -size 14922 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/icecream.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/icecream.mp3 deleted file mode 100644 index ee463f8619b44d63132488e58ca1431b1ac9b660..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/icecream.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b3eaee217d283d2488fd38abb7fe9f4e2e6f31eb86bc5329f3eb18af2fc963dc -size 36474 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/jar.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/jar.mp3 deleted file mode 100644 index 85077afad981f4965be9622ca57292a87667a50a..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/jar.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:255223e80f4cf4cec54cb42eb5542070984cbb9031ffcd81451a85f202258973 -size 19962 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/kite.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/kite.mp3 deleted file mode 100644 index 8afb5d2f567ec23628fd546663940daa53010f0f..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/kite.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d38666f0c4104cd65df0e26de0cd9eb90e9221d26f7cf201a59cd57a95f6cdb7 -size 14658 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/lion.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/lion.mp3 deleted file mode 100644 index 5fcc940e1223c362d9dfa42410108ba0d1f3690c..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/lion.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:af9e40404c58745a992d679a3a09fcc93f069354dc755c46b53f4dac814cacba -size 15882 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/moon.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/moon.mp3 deleted file mode 100644 index fc1bd629145dc745cce93ae19b8975dd62c8899a..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/moon.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4afc4d6f234abe8801b0bdf1402674cc78768153d214910e3efbf3f8be3652a1 -size 21882 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/nest.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/nest.mp3 deleted file mode 100644 index 6f8df7db2b5e55ee736d28c0a79df5d31c0a9e1d..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/nest.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:806fc5fd57b736e0ea76afab44524c89cf43fbd094474b7a0d80cb4427c5199e -size 16986 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/orange.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/orange.mp3 deleted file mode 100644 index 11584d512bda3befaea535a4102219128af584db..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/orange.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ecc8600600bb0ba305ca2c64d79ae75be083aeffcd3c8fe1d440e2fb4aed8cd2 -size 17274 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/pig.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/pig.mp3 deleted file mode 100644 index 5ace9d5e655ceb6f36343211454676c126d8efe5..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/pig.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d44c5d751348a1e3dd9dae1894ccd1a982edac00f80843c210509c27079c76f7 -size 14106 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/queen.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/queen.mp3 deleted file mode 100644 index 04f800abf2f11544b5306243b136ec9dffada23b..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/queen.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6b8768ac68b73dd249ddd4ca487826b19665b88a0b4303cfeed30e34069d0be8 -size 20730 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/rabbit.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/rabbit.mp3 deleted file mode 100644 index de92fe90adb877b1ce3f77e1802eecff5bf14214..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/rabbit.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6653d3b0615b1af418e79e9587a3ab2f6dbb1a1e9eff7effe704040cb695118a -size 16746 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/sun.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/sun.mp3 deleted file mode 100644 index e138eae73f6ae65ef0b8ab17180cfcede5e5c7a2..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/sun.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c23dffb8704191f27dc96f73b22cffbb5af59331951fd9e193a7ccb9ed3504f7 -size 18570 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/tree.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/tree.mp3 deleted file mode 100644 index 82d8763809b6030cfb76c48ef5f8cebbff4907a8..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/tree.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:746273047c2999f96930603ffa2a34e1122b70a42dc870de11bcf06b46ea61cb -size 20442 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/umbrella.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/umbrella.mp3 deleted file mode 100644 index b42b5ca106ee92f008da0922417deba5ff5fb8df..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/umbrella.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:63ff81ad4b808d3b4ab22f672ab2b52c276f08d6d0e7e4be46ef1d22c30d5b6b -size 27066 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/van.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/van.mp3 deleted file mode 100644 index d604319168422c4a33a9183a524da939fac1c6cf..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/van.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:938fdc9b338d5caaf529077cd7a50c6c92f75243e154d80b11c450f672071d94 -size 14634 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/watch.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/watch.mp3 deleted file mode 100644 index 636da561d2123001bcad353db2c98d09e1bda805..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/watch.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:21513ea16056fc96b20b3ea6b7d34412b3adee31f5946b94e8b5f73649912b24 -size 14874 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/xylophone.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/xylophone.mp3 deleted file mode 100644 index d2d30915b69a37bea32e0935acfd20b365052594..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/xylophone.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6e17046727e6cf138b336cd8ff1cba8aee575b5b197e0a0365e945c817ab9ee3 -size 30498 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/yarn.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/yarn.mp3 deleted file mode 100644 index f7faa16897d56e5c4223767f4d6bd89e40f034ac..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/yarn.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5cbc464d6f107b335be4d19f6b938db5feb87ce63855508331667221b592b136 -size 21066 diff --git a/dist/gramm-ai/browser/assets/pronunciation/audio/zebra.mp3 b/dist/gramm-ai/browser/assets/pronunciation/audio/zebra.mp3 deleted file mode 100644 index db62dd5ac893645c97d23fc3ade2a34282e81be9..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/audio/zebra.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:11b673d59d9fa19b91b60dcd4ff423c6423664805bfe6da9851adb6c075047f4 -size 23874 diff --git a/dist/gramm-ai/browser/assets/pronunciation/board.png b/dist/gramm-ai/browser/assets/pronunciation/board.png deleted file mode 100644 index 0caf855dbd26ae53223ae9bc233ad2ff6ba53866..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/board.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:16e6198b8ea0df919325d2c955a9f48d415d562755671c82fa36a7afb5ec52b1 -size 17981 diff --git a/dist/gramm-ai/browser/assets/pronunciation/feedback/consonant.mp4 b/dist/gramm-ai/browser/assets/pronunciation/feedback/consonant.mp4 deleted file mode 100644 index 2deed8d0182bc71a6da686c083ae194350841c61..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/feedback/consonant.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:eae0c82c7556e573bd3d4c0e9b4b885430641885fe4a445e0425f6d90a04589a -size 5481531 diff --git a/dist/gramm-ai/browser/assets/pronunciation/feedback/ending.mp4 b/dist/gramm-ai/browser/assets/pronunciation/feedback/ending.mp4 deleted file mode 100644 index 654025470b5aaebf889ad554d2dd19f55831e047..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/feedback/ending.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e1bbfff2a733efd22b952ae4e32f686b06ada31b247208b81c8cb187e818695f -size 4184262 diff --git a/dist/gramm-ai/browser/assets/pronunciation/feedback/multipleword.mp4 b/dist/gramm-ai/browser/assets/pronunciation/feedback/multipleword.mp4 deleted file mode 100644 index ed31f0a02daa43121ff0644cce5bfc0126238a6f..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/feedback/multipleword.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7da6fc60d82f728164d12cb57acae93af3d7092be447f3b884ba262cf5533a1d -size 2252316 diff --git a/dist/gramm-ai/browser/assets/pronunciation/feedback/silence.mp4 b/dist/gramm-ai/browser/assets/pronunciation/feedback/silence.mp4 deleted file mode 100644 index 3ab7995c40eb2b1e5d2866aa9d760486c59941d4..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/feedback/silence.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b31c9c9bf22c6ebcf0ab84e23398ae019f613d5cfc494ea3d01c4541e16a56b0 -size 5405291 diff --git a/dist/gramm-ai/browser/assets/pronunciation/feedback/stress.mp4 b/dist/gramm-ai/browser/assets/pronunciation/feedback/stress.mp4 deleted file mode 100644 index e74a63ad35124ce3219bc74ced3585d81042fd1c..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/feedback/stress.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:67cbdef5635080cf0d38afbd1e4c5a0c79051363dd6fc138c7f3a1632ce47d7b -size 5214043 diff --git a/dist/gramm-ai/browser/assets/pronunciation/feedback/success.mp4 b/dist/gramm-ai/browser/assets/pronunciation/feedback/success.mp4 deleted file mode 100644 index 36b2ecca9751dc34e356ec0ff5a003fb0c071112..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/feedback/success.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7065eb4444fff7033ffae8183901123ce45bca47114d8307652523006ca4b7b9 -size 7149268 diff --git a/dist/gramm-ai/browser/assets/pronunciation/feedback/syllable.mp4 b/dist/gramm-ai/browser/assets/pronunciation/feedback/syllable.mp4 deleted file mode 100644 index f6c7cdc2e2390152e9d8bf3313fa1db1baf8cce7..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/feedback/syllable.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:01c7ecb44cc4eee9fb9cb32ec7f363e367c17479c0ae91883d902f428e3db9c9 -size 3955318 diff --git a/dist/gramm-ai/browser/assets/pronunciation/feedback/vowels.mp4 b/dist/gramm-ai/browser/assets/pronunciation/feedback/vowels.mp4 deleted file mode 100644 index 3bb0cf3ec75077a7c824d073209f4fd1f5300c80..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/feedback/vowels.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cd9a3f4ddfdadb90b0aaadbfa0a00c5aa80342f4b133543836d2b21592eb3443 -size 5837969 diff --git a/dist/gramm-ai/browser/assets/pronunciation/feedback/wrongword.mp4 b/dist/gramm-ai/browser/assets/pronunciation/feedback/wrongword.mp4 deleted file mode 100644 index 198eb7ab19d9034c2aaa8325a8da3905aa23d25a..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/feedback/wrongword.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b0a32e7b4ed1f4355aa0eca1bd48c5ed4030e3deb7f2e5a412cb6a3fc3d06df1 -size 5194285 diff --git a/dist/gramm-ai/browser/assets/pronunciation/listening.mp4 b/dist/gramm-ai/browser/assets/pronunciation/listening.mp4 deleted file mode 100644 index 415a5fee2694f8efe711df9014d70305eb1a8781..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/listening.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:26c028bad47e42b3b89e05b2e603d90309b82d53193d7e2be0c88686c5dc57ea -size 3569866 diff --git a/dist/gramm-ai/browser/assets/pronunciation/pause.png b/dist/gramm-ai/browser/assets/pronunciation/pause.png deleted file mode 100644 index 74f6fae2b84605c0e01643fc3645ea1892fba70e..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/pause.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9efce36e388aaccad1b743e590ff1e6ff53e27260c6b48b28f46db0187d6b1db -size 10788 diff --git a/dist/gramm-ai/browser/assets/pronunciation/play.png b/dist/gramm-ai/browser/assets/pronunciation/play.png deleted file mode 100644 index d8e515f3b886cc860c20f5a62715198cdb9cd54e..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/play.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a5b587892782a79de9117ba4259158866d80f56b97aa764121cff189b135fb4e -size 3112 diff --git a/dist/gramm-ai/browser/assets/pronunciation/slate.png b/dist/gramm-ai/browser/assets/pronunciation/slate.png deleted file mode 100644 index 3024388173d61ed43aaeedc6387a50adc32bbd30..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/slate.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c43b888d1dd64f1d0c93917dbe7813353d454b271eb0ae3315d70a3d24a52b76 -size 21422 diff --git a/dist/gramm-ai/browser/assets/pronunciation/teacher.png b/dist/gramm-ai/browser/assets/pronunciation/teacher.png deleted file mode 100644 index 9de44aedc768dbe31b98022cb6fb7d219b781c10..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/teacher.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e5e6f6e2ef93ec59d4b47f41af45bc73a229c4225d2337c506ba7113ec72357c -size 293505 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/apple-old.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/apple-old.mp4 deleted file mode 100644 index b76a10925148eadc912f124b9c18d6bd80c49979..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/apple-old.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2dc1cd633647903a950c33999a221db9444b4ecffa94461344055b6727af6e7f -size 7134565 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/apple.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/apple.mp4 deleted file mode 100644 index d21090e13f540e596bb7699cade6e88db3e7e2ce..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/apple.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e6327060fd09d3b237c201396a6afe0327fe6b77f619f9434366dd689fd7c29c -size 14651591 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/ball-old.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/ball-old.mp4 deleted file mode 100644 index 4c25d6602333b68079e9c12ac9489cd5421f3215..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/ball-old.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a508e9d7a8d0efe88d8f4d3633832266090793136f06b2e59c87e8ee694fbeda -size 7606207 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/ball.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/ball.mp4 deleted file mode 100644 index f6eb534a2dce7c6f9e084e6bf66c6d4ae0d4589e..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/ball.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:08432f2a01e9bc4091907ac06adfeec36ece4b4d591a74280d6df9bf4b1977cb -size 14243005 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/cat-old.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/cat-old.mp4 deleted file mode 100644 index a9c85eb3bc54973c77436a94c444a6922ff08578..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/cat-old.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f171b0200d6662ee0cb94fc36c98a65ca1daf8053e98bcd5d4a91eb883cbc294 -size 7805298 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/cat.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/cat.mp4 deleted file mode 100644 index de2aeccbfbe83da78feed0ef0f17ff16d33c470f..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/cat.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:acc2bfaae172685d2130e4c6bb77f474bbd26b2d7a9895436966b0e71bdaa188 -size 14446816 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/dog.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/dog.mp4 deleted file mode 100644 index e85061401593cc32964cf0006991fba3d4b436cd..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/dog.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:58140b73777fc39ebed3d282f215573b3ffb8f9c05d74b68c938ab2aefddb31e -size 7150587 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/egg.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/egg.mp4 deleted file mode 100644 index 043af61e02c4d6e341b4ecb6f48668dc62d85902..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/egg.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:522a425054b0d16f1bb87ace5ed9bddb6f366d0bfc4fdd91907c38db18602035 -size 6383313 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/fish.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/fish.mp4 deleted file mode 100644 index 772c7e933d9b59da0232e2cb78a6f31e7556d2eb..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/fish.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4d81deb2735fdb7f41c5514f505fb75d050ca769fe308df665a533b42821374e -size 7276274 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/grapes.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/grapes.mp4 deleted file mode 100644 index 8daba3b4f407b8c17d26f29cdc52451fe5142602..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/grapes.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6f4542c920fe022d427d69b8fa9bc7668c78c149eb79c42bd96776472f5d94d5 -size 6988222 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/hat.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/hat.mp4 deleted file mode 100644 index c3366c1fa65c8d1fe52945aaf6b53c0b324c0a78..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/hat.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a7ad6c5f8ffa23b57e85ae36b4b2c60ac58fcf4a7c5bc086cfd74a22cb2ef92b -size 7053688 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/ice-cream.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/ice-cream.mp4 deleted file mode 100644 index 95de063d1a737a7f562cfffcffb000f44504db90..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/ice-cream.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cb339a511694db8051ab8e331f91a6a112b3ce8de939ce6e398204d86c298650 -size 8151667 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/jar.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/jar.mp4 deleted file mode 100644 index c292f7c88902e2b11b92cee05e94fb769b6e8f3b..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/jar.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:45b6d886b970282b375031b20c3007443417fa4d7ab4147f624bcde08fef5905 -size 7558106 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/kite.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/kite.mp4 deleted file mode 100644 index 60bb639caabbd02f3d628df9025a2a21929a1497..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/kite.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:396d670691bc4c714789c3ba4d8a080ffd210e6ca398d3869c04e9eeeda9516c -size 7384715 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/lion-old.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/lion-old.mp4 deleted file mode 100644 index 937d9a72f1fbc6094dfc7507dfb199cf3b9acb18..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/lion-old.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ca2d4e211b05380e1152ede6052e0751d29e46da96c78431d7bd22a83f301e94 -size 5431178 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/lion.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/lion.mp4 deleted file mode 100644 index 7127f16bac9391750a0c05a1fa8f888bd2417389..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/lion.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:952c1a94530ce8e620851326e7d6d368be370b42709a3677aace687e925303f8 -size 5127880 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/moon.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/moon.mp4 deleted file mode 100644 index e809ab291db8ed3dcd92c3745e17811e9472f578..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/moon.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:790afab95dd4a4a94d96b7edc525fa37dc8ebb3ae0752df4db4a4e655760f7bb -size 4255165 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/nest.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/nest.mp4 deleted file mode 100644 index cd184c4c01d7ca4f0f3540da9c67dcfc38276194..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/nest.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b0335f6a7ad4bb94dd6ce4bb9efcaade16bac270b7d5d2f43bad8fa8a331a484 -size 4301304 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/orange.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/orange.mp4 deleted file mode 100644 index edab062c65348212e3fb4307fbaf4b41c03e7214..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/orange.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e9778f3a81f2d925d552b8b03431468aac03b89f5713ee5b9776d388e58d8fd8 -size 5016720 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/pig.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/pig.mp4 deleted file mode 100644 index 0cbf865784dc48c0778ef940dfabbb154c8bfaf5..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/pig.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:72d4ae305e0a4db38bf0b794baefb6f81834416de57187549eab3f7ad3c8a561 -size 4072009 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/queen.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/queen.mp4 deleted file mode 100644 index ad2328797a2e87b0860bf51d44df796d1af33941..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/queen.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:07256cdf96e4e603a8604688f6d1c42667319128c5874281b8f5e29a83197884 -size 4707339 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/rabbit-old.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/rabbit-old.mp4 deleted file mode 100644 index 3017062045b1bda7d37a4ac7ae67ee322953471f..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/rabbit-old.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9c3b59991ee348ba0a9117ad5648fbf0ea03fc69298b4d3f8863d45dd94194ee -size 4932831 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/rabbit.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/rabbit.mp4 deleted file mode 100644 index 7dbe3b14f3ab083454214eb308c4af084b23ccae..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/rabbit.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cebe3f87a003315b40ef9ceaa62ac7ed47f05b5e37858d891c413b5dd01626a2 -size 4795049 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/sun.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/sun.mp4 deleted file mode 100644 index 026824bbe5b14945c96e041afd4ede3844ed27ee..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/sun.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ec104e7db0534360ef9eebeae09472b0e19267f3555d0acc5bb66c996cb049a6 -size 4805357 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/tree.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/tree.mp4 deleted file mode 100644 index afc883ebef165c27e0b0e1b1f11202ecb522a182..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/tree.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:54073d3b56747c9b34ab2edb7777875f2c63549a212dcd367623921400f15e07 -size 5155482 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/umbrella.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/umbrella.mp4 deleted file mode 100644 index 8bd529488484ed51144e83df6c46dea06858059b..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/umbrella.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2c4a22ead24864c9a1966147fd0cf6f1e248313841fd98ceb702682825d3073d -size 5174794 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/van-old.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/van-old.mp4 deleted file mode 100644 index dd3da1ea204bff27922c15cb2e04c26842f9d16d..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/van-old.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4724e2cab20be89b9148c699a33c2a433e239611a7787c45487942ba7ef9d981 -size 4462232 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/van.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/van.mp4 deleted file mode 100644 index 2115947f2a099a518fea4c31eead5f62bde38640..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/van.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:19ef3b0027192a8d08ebd3069d0bbc09a3dbfdf2c10262ba0c756db54517d57b -size 4232804 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/watch.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/watch.mp4 deleted file mode 100644 index 2917d8c0cb3c2fe2038cf8d4cd7393deceabab92..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/watch.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1e4f27454697987ebb17c25fb86e88a2196873b040c222d5970da05b568f91db -size 4960176 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/xylophone-old.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/xylophone-old.mp4 deleted file mode 100644 index 1076eb925a1913061ed7d9368bff3b9477fc594a..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/xylophone-old.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:93fc9aef9f9419f344a0ba97ff3b5d1c0743ad121956f462e504e31388893164 -size 5199424 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/xylophone.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/xylophone.mp4 deleted file mode 100644 index 9157201e0c3148518f00d79ead1efa9c105499cc..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/xylophone.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dfc61e0844b3df40b4ec74694fd048c3811ba2dd5fd16b48ac48a2619aa4d3a6 -size 18925813 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/yarn-old.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/yarn-old.mp4 deleted file mode 100644 index bb1fc165d47b459bd6edd28f53c3fea9ebbcbd4c..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/yarn-old.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3fc19acd88c47a3f7c33d750ef0f77c2dce6272d51e9e532576c2d00bda52413 -size 5095081 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/yarn.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/yarn.mp4 deleted file mode 100644 index d3caf901cd898f92aa95965393209c3116d146ef..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/yarn.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:640cb94a1c14d8b733556a81f765319b3eea544b26022f5eece33530523c2b95 -size 15318745 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/zebra-old.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/zebra-old.mp4 deleted file mode 100644 index fad180098b2b4f46357210f27c9e3e8c40cde5e0..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/zebra-old.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:60b31a107a1ea872150219c4f5c5b903ddaab3cf07671e5960494f90f9b20074 -size 4569058 diff --git a/dist/gramm-ai/browser/assets/pronunciation/videos/zebra.mp4 b/dist/gramm-ai/browser/assets/pronunciation/videos/zebra.mp4 deleted file mode 100644 index 06ff703d98df10033db039b511c74b0b29e70f65..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/pronunciation/videos/zebra.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c4082592d2e554d9cdebb16056facafb732dd97f4c39ed5358dabdf7f671e163 -size 13200307 diff --git a/dist/gramm-ai/browser/assets/sample.mp4 b/dist/gramm-ai/browser/assets/sample.mp4 deleted file mode 100644 index c9f43a452a7652f3274c23f8f48a3a31ed99a60d..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/assets/sample.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fbbbb00678ca04a944d57c39391e5671c87db6ee40374032a49c716514bf9c95 -size 3131876 diff --git a/dist/gramm-ai/browser/index.html b/dist/gramm-ai/browser/index.html deleted file mode 100644 index a630e95c0955542b41dd91eac2f94b428ecd5322..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/index.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - Py-Learn - - - - - - - - - - - - - - diff --git a/dist/gramm-ai/browser/main-OWHUQN5B.js b/dist/gramm-ai/browser/main-OWHUQN5B.js deleted file mode 100644 index 58420697a03dd032dcbe58707624d31820591931..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/main-OWHUQN5B.js +++ /dev/null @@ -1,20 +0,0 @@ -var pb=Object.defineProperty,mb=Object.defineProperties;var gb=Object.getOwnPropertyDescriptors;var lp=Object.getOwnPropertySymbols;var vb=Object.prototype.hasOwnProperty,_b=Object.prototype.propertyIsEnumerable;var dp=(e,n,t)=>n in e?pb(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,E=(e,n)=>{for(var t in n||={})vb.call(n,t)&&dp(e,t,n[t]);if(lp)for(var t of lp(n))_b.call(n,t)&&dp(e,t,n[t]);return e},ae=(e,n)=>mb(e,gb(n));var tt=(e,n,t)=>new Promise((i,r)=>{var o=c=>{try{a(t.next(c))}catch(h){r(h)}},s=c=>{try{a(t.throw(c))}catch(h){r(h)}},a=c=>c.done?i(c.value):Promise.resolve(c.value).then(o,s);a((t=t.apply(e,n)).next())});var up=null;var Pl=1,Rl=Symbol("SIGNAL");function se(e){let n=up;return up=e,n}var hp={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function yb(e){if(!(Ll(e)&&!e.dirty)&&!(!e.dirty&&e.lastCleanEpoch===Pl)){if(!e.producerMustRecompute(e)&&!Nl(e)){e.dirty=!1,e.lastCleanEpoch=Pl;return}e.producerRecomputeValue(e),e.dirty=!1,e.lastCleanEpoch=Pl}}function fp(e){return e&&(e.nextProducerIndex=0),se(e)}function pp(e,n){if(se(n),!(!e||e.producerNode===void 0||e.producerIndexOfThis===void 0||e.producerLastReadVersion===void 0)){if(Ll(e))for(let t=e.nextProducerIndex;te.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function Nl(e){Es(e);for(let n=0;n0}function Es(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}function bb(e){e.liveConsumerNode??=[],e.liveConsumerIndexOfThis??=[]}function wb(){throw new Error}var Cb=wb;function gp(e){Cb=e}function L(e){return typeof e=="function"}function ji(e){let t=e(i=>{Error.call(i),i.stack=new Error().stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var Is=ji(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription: -${t.map((i,r)=>`${r+1}) ${i.toString()}`).join(` - `)}`:"",this.name="UnsubscriptionError",this.errors=t});function si(e,n){if(e){let t=e.indexOf(n);0<=t&&e.splice(t,1)}}var _e=class e{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;let{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(let o of t)o.remove(this);else t.remove(this);let{initialTeardown:i}=this;if(L(i))try{i()}catch(o){n=o instanceof Is?o.errors:[o]}let{_finalizers:r}=this;if(r){this._finalizers=null;for(let o of r)try{vp(o)}catch(s){n=n??[],s instanceof Is?n=[...n,...s.errors]:n.push(s)}}if(n)throw new Is(n)}}add(n){var t;if(n&&n!==this)if(this.closed)vp(n);else{if(n instanceof e){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(n)}}_hasParent(n){let{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){let{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){let{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&si(t,n)}remove(n){let{_finalizers:t}=this;t&&si(t,n),n instanceof e&&n._removeParent(this)}};_e.EMPTY=(()=>{let e=new _e;return e.closed=!0,e})();var Vl=_e.EMPTY;function Ss(e){return e instanceof _e||e&&"closed"in e&&L(e.remove)&&L(e.add)&&L(e.unsubscribe)}function vp(e){L(e)?e():e.unsubscribe()}var Nt={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var Bi={setTimeout(e,n,...t){let{delegate:i}=Bi;return i?.setTimeout?i.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){let{delegate:n}=Bi;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Ms(e){Bi.setTimeout(()=>{let{onUnhandledError:n}=Nt;if(n)n(e);else throw e})}function Wr(){}var _p=jl("C",void 0,void 0);function yp(e){return jl("E",void 0,e)}function bp(e){return jl("N",e,void 0)}function jl(e,n,t){return{kind:e,value:n,error:t}}var ai=null;function Ui(e){if(Nt.useDeprecatedSynchronousErrorHandling){let n=!ai;if(n&&(ai={errorThrown:!1,error:null}),e(),n){let{errorThrown:t,error:i}=ai;if(ai=null,t)throw i}}else e()}function wp(e){Nt.useDeprecatedSynchronousErrorHandling&&ai&&(ai.errorThrown=!0,ai.error=e)}var ci=class extends _e{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Ss(n)&&n.add(this)):this.destination=Eb}static create(n,t,i){return new $i(n,t,i)}next(n){this.isStopped?Ul(bp(n),this):this._next(n)}error(n){this.isStopped?Ul(yp(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?Ul(_p,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}},xb=Function.prototype.bind;function Bl(e,n){return xb.call(e,n)}var $l=class{constructor(n){this.partialObserver=n}next(n){let{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(i){Ts(i)}}error(n){let{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(i){Ts(i)}else Ts(n)}complete(){let{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){Ts(t)}}},$i=class extends ci{constructor(n,t,i){super();let r;if(L(n)||!n)r={next:n??void 0,error:t??void 0,complete:i??void 0};else{let o;this&&Nt.useDeprecatedNextContext?(o=Object.create(n),o.unsubscribe=()=>this.unsubscribe(),r={next:n.next&&Bl(n.next,o),error:n.error&&Bl(n.error,o),complete:n.complete&&Bl(n.complete,o)}):r=n}this.destination=new $l(r)}};function Ts(e){Nt.useDeprecatedSynchronousErrorHandling?wp(e):Ms(e)}function Db(e){throw e}function Ul(e,n){let{onStoppedNotification:t}=Nt;t&&Bi.setTimeout(()=>t(e,n))}var Eb={closed:!0,next:Wr,error:Db,complete:Wr};var Hi=typeof Symbol=="function"&&Symbol.observable||"@@observable";function nt(e){return e}function Hl(...e){return zl(e)}function zl(e){return e.length===0?nt:e.length===1?e[0]:function(t){return e.reduce((i,r)=>r(i),t)}}var Z=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){let i=new e;return i.source=this,i.operator=t,i}subscribe(t,i,r){let o=Sb(t)?t:new $i(t,i,r);return Ui(()=>{let{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){t.error(i)}}forEach(t,i){return i=Cp(i),new i((r,o)=>{let s=new $i({next:a=>{try{t(a)}catch(c){o(c),s.unsubscribe()}},error:o,complete:r});this.subscribe(s)})}_subscribe(t){var i;return(i=this.source)===null||i===void 0?void 0:i.subscribe(t)}[Hi](){return this}pipe(...t){return zl(t)(this)}toPromise(t){return t=Cp(t),new t((i,r)=>{let o;this.subscribe(s=>o=s,s=>r(s),()=>i(o))})}}return e.create=n=>new e(n),e})();function Cp(e){var n;return(n=e??Nt.Promise)!==null&&n!==void 0?n:Promise}function Ib(e){return e&&L(e.next)&&L(e.error)&&L(e.complete)}function Sb(e){return e&&e instanceof ci||Ib(e)&&Ss(e)}function Gl(e){return L(e?.lift)}function J(e){return n=>{if(Gl(n))return n.lift(function(t){try{return e(t,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function q(e,n,t,i,r){return new Wl(e,n,t,i,r)}var Wl=class extends ci{constructor(n,t,i,r,o,s){super(n),this.onFinalize=o,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(c){n.error(c)}}:super._next,this._error=r?function(a){try{r(a)}catch(c){n.error(c)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){let{closed:t}=this;super.unsubscribe(),!t&&((n=this.onFinalize)===null||n===void 0||n.call(this))}}};function zi(){return J((e,n)=>{let t=null;e._refCount++;let i=q(n,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount){t=null;return}let r=e._connection,o=t;t=null,r&&(!o||r===o)&&r.unsubscribe(),n.unsubscribe()});e.subscribe(i),i.closed||(t=e.connect())})}var Gi=class extends Z{constructor(n,t){super(),this.source=n,this.subjectFactory=t,this._subject=null,this._refCount=0,this._connection=null,Gl(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){let n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;let{_connection:n}=this;this._subject=this._connection=null,n?.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new _e;let t=this.getSubject();n.add(this.source.subscribe(q(t,void 0,()=>{this._teardown(),t.complete()},i=>{this._teardown(),t.error(i)},()=>this._teardown()))),n.closed&&(this._connection=null,n=_e.EMPTY)}return n}refCount(){return zi()(this)}};var xp=ji(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var B=(()=>{class e extends Z{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){let i=new As(this,this);return i.operator=t,i}_throwIfClosed(){if(this.closed)throw new xp}next(t){Ui(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(let i of this.currentObservers)i.next(t)}})}error(t){Ui(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;let{observers:i}=this;for(;i.length;)i.shift().error(t)}})}complete(){Ui(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;let{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return((t=this.observers)===null||t===void 0?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){let{hasError:i,isStopped:r,observers:o}=this;return i||r?Vl:(this.currentObservers=null,o.push(t),new _e(()=>{this.currentObservers=null,si(o,t)}))}_checkFinalizedStatuses(t){let{hasError:i,thrownError:r,isStopped:o}=this;i?t.error(r):o&&t.complete()}asObservable(){let t=new Z;return t.source=this,t}}return e.create=(n,t)=>new As(n,t),e})(),As=class extends B{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,i;(i=(t=this.destination)===null||t===void 0?void 0:t.next)===null||i===void 0||i.call(t,n)}error(n){var t,i;(i=(t=this.destination)===null||t===void 0?void 0:t.error)===null||i===void 0||i.call(t,n)}complete(){var n,t;(t=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||t===void 0||t.call(n)}_subscribe(n){var t,i;return(i=(t=this.source)===null||t===void 0?void 0:t.subscribe(n))!==null&&i!==void 0?i:Vl}};var Ce=class extends B{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){let t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){let{hasError:n,thrownError:t,_value:i}=this;if(n)throw t;return this._throwIfClosed(),i}next(n){super.next(this._value=n)}};var ql={now(){return(ql.delegate||Date).now()},delegate:void 0};var Os=class extends _e{constructor(n,t){super()}schedule(n,t=0){return this}};var qr={setInterval(e,n,...t){let{delegate:i}=qr;return i?.setInterval?i.setInterval(e,n,...t):setInterval(e,n,...t)},clearInterval(e){let{delegate:n}=qr;return(n?.clearInterval||clearInterval)(e)},delegate:void 0};var ks=class extends Os{constructor(n,t){super(n,t),this.scheduler=n,this.work=t,this.pending=!1}schedule(n,t=0){var i;if(this.closed)return this;this.state=n;let r=this.id,o=this.scheduler;return r!=null&&(this.id=this.recycleAsyncId(o,r,t)),this.pending=!0,this.delay=t,this.id=(i=this.id)!==null&&i!==void 0?i:this.requestAsyncId(o,this.id,t),this}requestAsyncId(n,t,i=0){return qr.setInterval(n.flush.bind(n,this),i)}recycleAsyncId(n,t,i=0){if(i!=null&&this.delay===i&&this.pending===!1)return t;t!=null&&qr.clearInterval(t)}execute(n,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;let i=this._execute(n,t);if(i)return i;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,t){let i=!1,r;try{this.work(n)}catch(o){i=!0,r=o||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){let{id:n,scheduler:t}=this,{actions:i}=t;this.work=this.state=this.scheduler=null,this.pending=!1,si(i,this),n!=null&&(this.id=this.recycleAsyncId(t,n,null)),this.delay=null,super.unsubscribe()}}};var Wi=class e{constructor(n,t=e.now){this.schedulerActionCtor=n,this.now=t}schedule(n,t=0,i){return new this.schedulerActionCtor(this,n).schedule(i,t)}};Wi.now=ql.now;var Ps=class extends Wi{constructor(n,t=Wi.now){super(n,t),this.actions=[],this._active=!1}flush(n){let{actions:t}=this;if(this._active){t.push(n);return}let i;this._active=!0;do if(i=n.execute(n.state,n.delay))break;while(n=t.shift());if(this._active=!1,i){for(;n=t.shift();)n.unsubscribe();throw i}}};var Yr=new Ps(ks),Dp=Yr;var it=new Z(e=>e.complete());function Rs(e){return e&&L(e.schedule)}function Yl(e){return e[e.length-1]}function Ns(e){return L(Yl(e))?e.pop():void 0}function Kt(e){return Rs(Yl(e))?e.pop():void 0}function Ep(e,n){return typeof Yl(e)=="number"?e.pop():n}function Sp(e,n,t,i){function r(o){return o instanceof t?o:new t(function(s){s(o)})}return new(t||(t=Promise))(function(o,s){function a(f){try{h(i.next(f))}catch(p){s(p)}}function c(f){try{h(i.throw(f))}catch(p){s(p)}}function h(f){f.done?o(f.value):r(f.value).then(a,c)}h((i=i.apply(e,n||[])).next())})}function Ip(e){var n=typeof Symbol=="function"&&Symbol.iterator,t=n&&e[n],i=0;if(t)return t.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}function li(e){return this instanceof li?(this.v=e,this):new li(e)}function Mp(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(e,n||[]),r,o=[];return r=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",s),r[Symbol.asyncIterator]=function(){return this},r;function s(_){return function(x){return Promise.resolve(x).then(_,p)}}function a(_,x){i[_]&&(r[_]=function(M){return new Promise(function(k,V){o.push([_,M,k,V])>1||c(_,M)})},x&&(r[_]=x(r[_])))}function c(_,x){try{h(i[_](x))}catch(M){b(o[0][3],M)}}function h(_){_.value instanceof li?Promise.resolve(_.value.v).then(f,p):b(o[0][2],_)}function f(_){c("next",_)}function p(_){c("throw",_)}function b(_,x){_(x),o.shift(),o.length&&c(o[0][0],o[0][1])}}function Tp(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=e[Symbol.asyncIterator],t;return n?n.call(e):(e=typeof Ip=="function"?Ip(e):e[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(o){t[o]=e[o]&&function(s){return new Promise(function(a,c){s=e[o](s),r(a,c,s.done,s.value)})}}function r(o,s,a,c){Promise.resolve(c).then(function(h){o({value:h,done:a})},s)}}var qi=e=>e&&typeof e.length=="number"&&typeof e!="function";function Fs(e){return L(e?.then)}function Ls(e){return L(e[Hi])}function Vs(e){return Symbol.asyncIterator&&L(e?.[Symbol.asyncIterator])}function js(e){return new TypeError(`You provided ${e!==null&&typeof e=="object"?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}function Mb(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Bs=Mb();function Us(e){return L(e?.[Bs])}function $s(e){return Mp(this,arguments,function*(){let t=e.getReader();try{for(;;){let{value:i,done:r}=yield li(t.read());if(r)return yield li(void 0);yield yield li(i)}}finally{t.releaseLock()}})}function Hs(e){return L(e?.getReader)}function ye(e){if(e instanceof Z)return e;if(e!=null){if(Ls(e))return Tb(e);if(qi(e))return Ab(e);if(Fs(e))return Ob(e);if(Vs(e))return Ap(e);if(Us(e))return kb(e);if(Hs(e))return Pb(e)}throw js(e)}function Tb(e){return new Z(n=>{let t=e[Hi]();if(L(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function Ab(e){return new Z(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,Ms)})}function kb(e){return new Z(n=>{for(let t of e)if(n.next(t),n.closed)return;n.complete()})}function Ap(e){return new Z(n=>{Rb(e,n).catch(t=>n.error(t))})}function Pb(e){return Ap($s(e))}function Rb(e,n){var t,i,r,o;return Sp(this,void 0,void 0,function*(){try{for(t=Tp(e);i=yield t.next(),!i.done;){let s=i.value;if(n.next(s),n.closed)return}}catch(s){r={error:s}}finally{try{i&&!i.done&&(o=t.return)&&(yield o.call(t))}finally{if(r)throw r.error}}n.complete()})}function ht(e,n,t,i=0,r=!1){let o=n.schedule(function(){t(),r?e.add(this.schedule(null,i)):this.unsubscribe()},i);if(e.add(o),!r)return o}function zs(e,n=0){return J((t,i)=>{t.subscribe(q(i,r=>ht(i,e,()=>i.next(r),n),()=>ht(i,e,()=>i.complete(),n),r=>ht(i,e,()=>i.error(r),n)))})}function Gs(e,n=0){return J((t,i)=>{i.add(e.schedule(()=>t.subscribe(i),n))})}function Op(e,n){return ye(e).pipe(Gs(n),zs(n))}function kp(e,n){return ye(e).pipe(Gs(n),zs(n))}function Pp(e,n){return new Z(t=>{let i=0;return n.schedule(function(){i===e.length?t.complete():(t.next(e[i++]),t.closed||this.schedule())})})}function Rp(e,n){return new Z(t=>{let i;return ht(t,n,()=>{i=e[Bs](),ht(t,n,()=>{let r,o;try{({value:r,done:o}=i.next())}catch(s){t.error(s);return}o?t.complete():t.next(r)},0,!0)}),()=>L(i?.return)&&i.return()})}function Ws(e,n){if(!e)throw new Error("Iterable cannot be null");return new Z(t=>{ht(t,n,()=>{let i=e[Symbol.asyncIterator]();ht(t,n,()=>{i.next().then(r=>{r.done?t.complete():t.next(r.value)})},0,!0)})})}function Np(e,n){return Ws($s(e),n)}function Fp(e,n){if(e!=null){if(Ls(e))return Op(e,n);if(qi(e))return Pp(e,n);if(Fs(e))return kp(e,n);if(Vs(e))return Ws(e,n);if(Us(e))return Rp(e,n);if(Hs(e))return Np(e,n)}throw js(e)}function me(e,n){return n?Fp(e,n):ye(e)}function N(...e){let n=Kt(e);return me(e,n)}function Xt(e,n){let t=L(e)?e:()=>e,i=r=>r.error(t());return new Z(n?r=>n.schedule(i,0,r):i)}function qs(e){return!!e&&(e instanceof Z||L(e.lift)&&L(e.subscribe))}var Ft=ji(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function Ql(e,n){let t=typeof n=="object";return new Promise((i,r)=>{let o=!1,s;e.subscribe({next:a=>{s=a,o=!0},error:r,complete:()=>{o?i(s):t?i(n.defaultValue):r(new Ft)}})})}function Lp(e){return e instanceof Date&&!isNaN(e)}function U(e,n){return J((t,i)=>{let r=0;t.subscribe(q(i,o=>{i.next(e.call(n,o,r++))}))})}var{isArray:Nb}=Array;function Fb(e,n){return Nb(n)?e(...n):e(n)}function Yi(e){return U(n=>Fb(e,n))}var{isArray:Lb}=Array,{getPrototypeOf:Vb,prototype:jb,keys:Bb}=Object;function Ys(e){if(e.length===1){let n=e[0];if(Lb(n))return{args:n,keys:null};if(Ub(n)){let t=Bb(n);return{args:t.map(i=>n[i]),keys:t}}}return{args:e,keys:null}}function Ub(e){return e&&typeof e=="object"&&Vb(e)===jb}function Qs(e,n){return e.reduce((t,i,r)=>(t[i]=n[r],t),{})}function di(...e){let n=Kt(e),t=Ns(e),{args:i,keys:r}=Ys(e);if(i.length===0)return me([],n);let o=new Z($b(i,n,r?s=>Qs(r,s):nt));return t?o.pipe(Yi(t)):o}function $b(e,n,t=nt){return i=>{Vp(n,()=>{let{length:r}=e,o=new Array(r),s=r,a=r;for(let c=0;c{let h=me(e[c],n),f=!1;h.subscribe(q(i,p=>{o[c]=p,f||(f=!0,a--),a||i.next(t(o.slice()))},()=>{--s||i.complete()}))},i)},i)}}function Vp(e,n,t){e?ht(t,e,n):n()}function jp(e,n,t,i,r,o,s,a){let c=[],h=0,f=0,p=!1,b=()=>{p&&!c.length&&!h&&n.complete()},_=M=>h{o&&n.next(M),h++;let k=!1;ye(t(M,f++)).subscribe(q(n,V=>{r?.(V),o?_(V):n.next(V)},()=>{k=!0},void 0,()=>{if(k)try{for(h--;c.length&&hx(V)):x(V)}b()}catch(V){n.error(V)}}))};return e.subscribe(q(n,_,()=>{p=!0,b()})),()=>{a?.()}}function Me(e,n,t=1/0){return L(n)?Me((i,r)=>U((o,s)=>n(i,o,r,s))(ye(e(i,r))),t):(typeof n=="number"&&(t=n),J((i,r)=>jp(i,r,e,t)))}function Jt(e=1/0){return Me(nt,e)}function Bp(){return Jt(1)}function jn(...e){return Bp()(me(e,Kt(e)))}function Bn(e){return new Z(n=>{ye(e()).subscribe(n)})}function Zl(...e){let n=Ns(e),{args:t,keys:i}=Ys(e),r=new Z(o=>{let{length:s}=t;if(!s){o.complete();return}let a=new Array(s),c=s,h=s;for(let f=0;f{p||(p=!0,h--),a[f]=b},()=>c--,void 0,()=>{(!c||!p)&&(h||o.next(i?Qs(i,a):a),o.complete())}))}});return n?r.pipe(Yi(n)):r}var Hb=["addListener","removeListener"],zb=["addEventListener","removeEventListener"],Gb=["on","off"];function Qr(e,n,t,i){if(L(t)&&(i=t,t=void 0),i)return Qr(e,n,t).pipe(Yi(i));let[r,o]=Yb(e)?zb.map(s=>a=>e[s](n,a,t)):Wb(e)?Hb.map(Up(e,n)):qb(e)?Gb.map(Up(e,n)):[];if(!r&&qi(e))return Me(s=>Qr(s,n,t))(ye(e));if(!r)throw new TypeError("Invalid event target");return new Z(s=>{let a=(...c)=>s.next(1o(a)})}function Up(e,n){return t=>i=>e[t](n,i)}function Wb(e){return L(e.addListener)&&L(e.removeListener)}function qb(e){return L(e.on)&&L(e.off)}function Yb(e){return L(e.addEventListener)&&L(e.removeEventListener)}function $p(e=0,n,t=Dp){let i=-1;return n!=null&&(Rs(n)?t=n:i=n),new Z(r=>{let o=Lp(e)?+e-t.now():e;o<0&&(o=0);let s=0;return t.schedule(function(){r.closed||(r.next(s++),0<=i?this.schedule(void 0,i):r.complete())},o)})}function Zr(...e){let n=Kt(e),t=Ep(e,1/0),i=e;return i.length?i.length===1?ye(i[0]):Jt(t)(me(i,n)):it}function be(e,n){return J((t,i)=>{let r=0;t.subscribe(q(i,o=>e.call(n,o,r++)&&i.next(o)))})}function Hp(e){return J((n,t)=>{let i=!1,r=null,o=null,s=!1,a=()=>{if(o?.unsubscribe(),o=null,i){i=!1;let h=r;r=null,t.next(h)}s&&t.complete()},c=()=>{o=null,s&&t.complete()};n.subscribe(q(t,h=>{i=!0,r=h,o||ye(e(h)).subscribe(o=q(t,a,c))},()=>{s=!0,(!i||!o||o.closed)&&t.complete()}))})}function Zs(e,n=Yr){return Hp(()=>$p(e,n))}function ft(e){return J((n,t)=>{let i=null,r=!1,o;i=n.subscribe(q(t,void 0,void 0,s=>{o=ye(e(s,ft(e)(n))),i?(i.unsubscribe(),i=null,o.subscribe(t)):r=!0})),r&&(i.unsubscribe(),i=null,o.subscribe(t))})}function zp(e,n,t,i,r){return(o,s)=>{let a=t,c=n,h=0;o.subscribe(q(s,f=>{let p=h++;c=a?e(c,f,p):(a=!0,f),i&&s.next(c)},r&&(()=>{a&&s.next(c),s.complete()})))}}function mn(e,n){return L(n)?Me(e,n,1):Me(e,1)}function Qi(e,n=Yr){return J((t,i)=>{let r=null,o=null,s=null,a=()=>{if(r){r.unsubscribe(),r=null;let h=o;o=null,i.next(h)}};function c(){let h=s+e,f=n.now();if(f{o=h,s=n.now(),r||(r=n.schedule(c,e),i.add(r))},()=>{a(),i.complete()},void 0,()=>{o=r=null}))})}function Un(e){return J((n,t)=>{let i=!1;n.subscribe(q(t,r=>{i=!0,t.next(r)},()=>{i||t.next(e),t.complete()}))})}function Ue(e){return e<=0?()=>it:J((n,t)=>{let i=0;n.subscribe(q(t,r=>{++i<=e&&(t.next(r),e<=i&&t.complete())}))})}function Kl(e){return U(()=>e)}function Zi(e,n=nt){return e=e??Qb,J((t,i)=>{let r,o=!0;t.subscribe(q(i,s=>{let a=n(s);(o||!e(r,a))&&(o=!1,r=a,i.next(s))}))})}function Qb(e,n){return e===n}function Ks(e=Zb){return J((n,t)=>{let i=!1;n.subscribe(q(t,r=>{i=!0,t.next(r)},()=>i?t.complete():t.error(e())))})}function Zb(){return new Ft}function rt(e){return J((n,t)=>{try{n.subscribe(t)}finally{t.add(e)}})}function en(e,n){let t=arguments.length>=2;return i=>i.pipe(e?be((r,o)=>e(r,o,i)):nt,Ue(1),t?Un(n):Ks(()=>new Ft))}function Ki(e){return e<=0?()=>it:J((n,t)=>{let i=[];n.subscribe(q(t,r=>{i.push(r),e{for(let r of i)t.next(r);t.complete()},void 0,()=>{i=null}))})}function Xl(e,n){let t=arguments.length>=2;return i=>i.pipe(e?be((r,o)=>e(r,o,i)):nt,Ki(1),t?Un(n):Ks(()=>new Ft))}function Jl(e,n){return J(zp(e,n,arguments.length>=2,!0))}function Kr(e){return be((n,t)=>e<=t)}function tn(...e){let n=Kt(e);return J((t,i)=>{(n?jn(e,t,n):jn(e,t)).subscribe(i)})}function $e(e,n){return J((t,i)=>{let r=null,o=0,s=!1,a=()=>s&&!r&&i.complete();t.subscribe(q(i,c=>{r?.unsubscribe();let h=0,f=o++;ye(e(c,f)).subscribe(r=q(i,p=>i.next(n?n(c,p,f,h++):p),()=>{r=null,a()}))},()=>{s=!0,a()}))})}function ot(e){return J((n,t)=>{ye(e).subscribe(q(t,()=>t.complete(),Wr)),!t.closed&&n.subscribe(t)})}function xe(e,n,t){let i=L(e)||n||t?{next:e,error:n,complete:t}:e;return i?J((r,o)=>{var s;(s=i.subscribe)===null||s===void 0||s.call(i);let a=!0;r.subscribe(q(o,c=>{var h;(h=i.next)===null||h===void 0||h.call(i,c),o.next(c)},()=>{var c;a=!1,(c=i.complete)===null||c===void 0||c.call(i),o.complete()},c=>{var h;a=!1,(h=i.error)===null||h===void 0||h.call(i,c),o.error(c)},()=>{var c,h;a&&((c=i.unsubscribe)===null||c===void 0||c.call(i)),(h=i.finalize)===null||h===void 0||h.call(i)}))}):nt}var Om="https://g.co/ng/security#xss",P=class extends Error{constructor(n,t){super(Fa(n,t)),this.code=n}};function Fa(e,n){return`${`NG0${Math.abs(e)}`}${n?": "+n:""}`}function ho(e){return{toString:e}.toString()}var Xs="__parameters__";function Kb(e){return function(...t){if(e){let i=e(...t);for(let r in i)this[r]=i[r]}}}function km(e,n,t){return ho(()=>{let i=Kb(n);function r(...o){if(this instanceof r)return i.apply(this,o),this;let s=new r(...o);return a.annotation=s,a;function a(c,h,f){let p=c.hasOwnProperty(Xs)?c[Xs]:Object.defineProperty(c,Xs,{value:[]})[Xs];for(;p.length<=f;)p.push(null);return(p[f]=p[f]||[]).push(s),c}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}var Pe=globalThis;function ge(e){for(let n in e)if(e[n]===ge)return n;throw Error("Could not find renamed property on target object.")}function Xb(e,n){for(let t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function at(e){if(typeof e=="string")return e;if(Array.isArray(e))return"["+e.map(at).join(", ")+"]";if(e==null)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;let n=e.toString();if(n==null)return""+n;let t=n.indexOf(` -`);return t===-1?n:n.substring(0,t)}function md(e,n){return e==null||e===""?n===null?"":n:n==null||n===""?e:e+" "+n}var Jb=ge({__forward_ref__:ge});function cn(e){return e.__forward_ref__=cn,e.toString=function(){return at(this())},e}function st(e){return Pm(e)?e():e}function Pm(e){return typeof e=="function"&&e.hasOwnProperty(Jb)&&e.__forward_ref__===cn}function D(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function z(e){return{providers:e.providers||[],imports:e.imports||[]}}function La(e){return Gp(e,Nm)||Gp(e,Fm)}function Rm(e){return La(e)!==null}function Gp(e,n){return e.hasOwnProperty(n)?e[n]:null}function ew(e){let n=e&&(e[Nm]||e[Fm]);return n||null}function Wp(e){return e&&(e.hasOwnProperty(qp)||e.hasOwnProperty(tw))?e[qp]:null}var Nm=ge({\u0275prov:ge}),qp=ge({\u0275inj:ge}),Fm=ge({ngInjectableDef:ge}),tw=ge({ngInjectorDef:ge}),O=class{constructor(n,t){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,typeof t=="number"?this.__NG_ELEMENT_ID__=t:t!==void 0&&(this.\u0275prov=D({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function Lm(e){return e&&!!e.\u0275providers}var nw=ge({\u0275cmp:ge}),iw=ge({\u0275dir:ge}),rw=ge({\u0275pipe:ge}),ow=ge({\u0275mod:ge}),ua=ge({\u0275fac:ge}),Xr=ge({__NG_ELEMENT_ID__:ge}),Yp=ge({__NG_ENV_ID__:ge});function fo(e){return typeof e=="string"?e:e==null?"":String(e)}function sw(e){return typeof e=="function"?e.name||e.toString():typeof e=="object"&&e!=null&&typeof e.type=="function"?e.type.name||e.type.toString():fo(e)}function aw(e,n){let t=n?`. Dependency path: ${n.join(" > ")} > ${e}`:"";throw new P(-200,e)}function hu(e,n){throw new P(-201,!1)}var te=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(te||{}),gd;function Vm(){return gd}function pt(e){let n=gd;return gd=e,n}function jm(e,n,t){let i=La(e);if(i&&i.providedIn=="root")return i.value===void 0?i.value=i.factory():i.value;if(t&te.Optional)return null;if(n!==void 0)return n;hu(e,"Injector")}var cw={},eo=cw,vd="__NG_DI_FLAG__",ha="ngTempTokenPath",lw="ngTokenPath",dw=/\n/gm,uw="\u0275",Qp="__source",nr;function hw(){return nr}function $n(e){let n=nr;return nr=e,n}function fw(e,n=te.Default){if(nr===void 0)throw new P(-203,!1);return nr===null?jm(e,void 0,n):nr.get(e,n&te.Optional?null:void 0,n)}function v(e,n=te.Default){return(Vm()||fw)(st(e),n)}function S(e,n=te.Default){return v(e,Va(n))}function Va(e){return typeof e>"u"||typeof e=="number"?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function _d(e){let n=[];for(let t=0;t ");else if(typeof n=="object"){let o=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];o.push(s+":"+(typeof a=="string"?JSON.stringify(a):at(a)))}r=`{${o.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${e.replace(dw,` - `)}`}var ja=Bm(km("Optional"),8);var fu=Bm(km("SkipSelf"),4);function pi(e,n){let t=e.hasOwnProperty(ua);return t?e[ua]:null}function vw(e,n,t){if(e.length!==n.length)return!1;for(let i=0;iArray.isArray(t)?pu(t,n):n(t))}function Um(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function fa(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function yw(e,n){let t=[];for(let i=0;in;){let o=r-2;e[r]=e[o],r--}e[n]=t,e[n+1]=i}}function mu(e,n,t){let i=po(e,n);return i>=0?e[i|1]=t:(i=~i,bw(e,i,n,t)),i}function ed(e,n){let t=po(e,n);if(t>=0)return e[t|1]}function po(e,n){return ww(e,n,1)}function ww(e,n,t){let i=0,r=e.length>>t;for(;r!==i;){let o=i+(r-i>>1),s=e[o<n?r=o:i=o+1}return~(r<n){s=o-1;break}}}for(;o-1){let o;for(;++ro?p="":p=r[f+1].toLowerCase(),i&2&&h!==p){if(Lt(i))return!1;s=!0}}}}return Lt(i)||s}function Lt(e){return(e&1)===0}function Sw(e,n,t,i){if(n===null)return-1;let r=0;if(i||!t){let o=!1;for(;r-1)for(t++;t0?'="'+a+'"':"")+"]"}else i&8?r+="."+s:i&4&&(r+=" "+s);else r!==""&&!Lt(s)&&(n+=Kp(o,r),r=""),i=s,o=o||!Lt(i);t++}return r!==""&&(n+=Kp(o,r)),n}function Pw(e){return e.map(kw).join(",")}function Rw(e){let n=[],t=[],i=1,r=2;for(;i{let n=Xm(e),t=ae(E({},n),{decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===zm.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||on.Emulated,styles:e.styles||mt,_:null,schemas:e.schemas||null,tView:null,id:""});Jm(t);let i=e.dependencies;return t.directiveDefs=Jp(i,!1),t.pipeDefs=Jp(i,!0),t.id=Lw(t),t})}function Nw(e){return zn(e)||Ym(e)}function Fw(e){return e!==null}function G(e){return ho(()=>({type:e.type,bootstrap:e.bootstrap||mt,declarations:e.declarations||mt,imports:e.imports||mt,exports:e.exports||mt,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function Xp(e,n){if(e==null)return rr;let t={};for(let i in e)if(e.hasOwnProperty(i)){let r=e[i],o,s,a=$.None;Array.isArray(r)?(a=r[0],o=r[1],s=r[2]??o):(o=r,s=r),n?(t[o]=a!==$.None?[i,a]:i,n[o]=s):t[o]=i}return t}function ce(e){return ho(()=>{let n=Xm(e);return Jm(n),n})}function vu(e){return{type:e.type,name:e.name,factory:null,pure:e.pure!==!1,standalone:e.standalone===!0,onDestroy:e.type.prototype.ngOnDestroy||null}}function zn(e){return e[nw]||null}function Ym(e){return e[iw]||null}function Qm(e){return e[rw]||null}function Zm(e){let n=zn(e)||Ym(e)||Qm(e);return n!==null?n.standalone:!1}function Km(e,n){let t=e[ow]||null;if(!t&&n===!0)throw new Error(`Type ${at(e)} does not have '\u0275mod' property.`);return t}function Xm(e){let n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:e.inputs||rr,exportAs:e.exportAs||null,standalone:e.standalone===!0,signals:e.signals===!0,selectors:e.selectors||mt,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Xp(e.inputs,n),outputs:Xp(e.outputs),debugInfo:null}}function Jm(e){e.features?.forEach(n=>n(e))}function Jp(e,n){if(!e)return null;let t=n?Qm:Nw;return()=>(typeof e=="function"?e():e).map(i=>t(i)).filter(Fw)}function Lw(e){let n=0,t=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(let r of t)n=Math.imul(31,n)+r.charCodeAt(0)<<0;return n+=2147483648,"c"+n}function Ba(e){return{\u0275providers:e}}function Vw(...e){return{\u0275providers:eg(!0,e),\u0275fromNgModule:!0}}function eg(e,...n){let t=[],i=new Set,r,o=s=>{t.push(s)};return pu(n,s=>{let a=s;bd(a,o,[],i)&&(r||=[],r.push(a))}),r!==void 0&&tg(r,o),t}function tg(e,n){for(let t=0;t{n(o,i)})}}function bd(e,n,t,i){if(e=st(e),!e)return!1;let r=null,o=Wp(e),s=!o&&zn(e);if(!o&&!s){let c=e.ngModule;if(o=Wp(c),o)r=c;else return!1}else{if(s&&!s.standalone)return!1;r=e}let a=i.has(r);if(s){if(a)return!1;if(i.add(r),s.dependencies){let c=typeof s.dependencies=="function"?s.dependencies():s.dependencies;for(let h of c)bd(h,n,t,i)}}else if(o){if(o.imports!=null&&!a){i.add(r);let h;try{pu(o.imports,f=>{bd(f,n,t,i)&&(h||=[],h.push(f))})}finally{}h!==void 0&&tg(h,n)}if(!a){let h=pi(r)||(()=>new r);n({provide:r,useFactory:h,deps:mt},r),n({provide:Hm,useValue:r,multi:!0},r),n({provide:or,useValue:()=>v(r),multi:!0},r)}let c=o.providers;if(c!=null&&!a){let h=e;_u(c,f=>{n(f,h)})}}else return!1;return r!==e&&e.providers!==void 0}function _u(e,n){for(let t of e)Lm(t)&&(t=t.\u0275providers),Array.isArray(t)?_u(t,n):n(t)}var jw=ge({provide:String,useValue:ge});function ng(e){return e!==null&&typeof e=="object"&&jw in e}function Bw(e){return!!(e&&e.useExisting)}function Uw(e){return!!(e&&e.useFactory)}function sr(e){return typeof e=="function"}function $w(e){return!!e.useClass}var Ua=new O(""),oa={},Hw={},td;function yu(){return td===void 0&&(td=new pa),td}var Ze=class{},no=class extends Ze{get destroyed(){return this._destroyed}constructor(n,t,i,r){super(),this.parent=t,this.source=i,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Cd(n,s=>this.processProvider(s)),this.records.set($m,Xi(void 0,this)),r.has("environment")&&this.records.set(Ze,Xi(void 0,this));let o=this.records.get(Ua);o!=null&&typeof o.value=="string"&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(Hm,mt,te.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;let n=se(null);try{for(let i of this._ngOnDestroyHooks)i.ngOnDestroy();let t=this._onDestroyHooks;this._onDestroyHooks=[];for(let i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),se(n)}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();let t=$n(this),i=pt(void 0),r;try{return n()}finally{$n(t),pt(i)}}get(n,t=eo,i=te.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(Yp))return n[Yp](this);i=Va(i);let r,o=$n(this),s=pt(void 0);try{if(!(i&te.SkipSelf)){let c=this.records.get(n);if(c===void 0){let h=Yw(n)&&La(n);h&&this.injectableDefInScope(h)?c=Xi(wd(n),oa):c=null,this.records.set(n,c)}if(c!=null)return this.hydrate(n,c)}let a=i&te.Self?yu():this.parent;return t=i&te.Optional&&t===eo?null:t,a.get(n,t)}catch(a){if(a.name==="NullInjectorError"){if((a[ha]=a[ha]||[]).unshift(at(n)),o)throw a;return mw(a,n,"R3InjectorError",this.source)}else throw a}finally{pt(s),$n(o)}}resolveInjectorInitializers(){let n=se(null),t=$n(this),i=pt(void 0),r;try{let o=this.get(or,mt,te.Self);for(let s of o)s()}finally{$n(t),pt(i),se(n)}}toString(){let n=[],t=this.records;for(let i of t.keys())n.push(at(i));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new P(205,!1)}processProvider(n){n=st(n);let t=sr(n)?n:st(n&&n.provide),i=Gw(n);if(!sr(n)&&n.multi===!0){let r=this.records.get(t);r||(r=Xi(void 0,oa,!0),r.factory=()=>_d(r.multi),this.records.set(t,r)),t=n,r.multi.push(n)}this.records.set(t,i)}hydrate(n,t){let i=se(null);try{return t.value===oa&&(t.value=Hw,t.value=t.factory()),typeof t.value=="object"&&t.value&&qw(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}finally{se(i)}}injectableDefInScope(n){if(!n.providedIn)return!1;let t=st(n.providedIn);return typeof t=="string"?t==="any"||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){let t=this._onDestroyHooks.indexOf(n);t!==-1&&this._onDestroyHooks.splice(t,1)}};function wd(e){let n=La(e),t=n!==null?n.factory:pi(e);if(t!==null)return t;if(e instanceof O)throw new P(204,!1);if(e instanceof Function)return zw(e);throw new P(204,!1)}function zw(e){if(e.length>0)throw new P(204,!1);let t=ew(e);return t!==null?()=>t.factory(e):()=>new e}function Gw(e){if(ng(e))return Xi(void 0,e.useValue);{let n=ig(e);return Xi(n,oa)}}function ig(e,n,t){let i;if(sr(e)){let r=st(e);return pi(r)||wd(r)}else if(ng(e))i=()=>st(e.useValue);else if(Uw(e))i=()=>e.useFactory(..._d(e.deps||[]));else if(Bw(e))i=()=>v(st(e.useExisting));else{let r=st(e&&(e.useClass||e.provide));if(Ww(e))i=()=>new r(..._d(e.deps));else return pi(r)||wd(r)}return i}function Xi(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function Ww(e){return!!e.deps}function qw(e){return e!==null&&typeof e=="object"&&typeof e.ngOnDestroy=="function"}function Yw(e){return typeof e=="function"||typeof e=="object"&&e instanceof O}function Cd(e,n){for(let t of e)Array.isArray(t)?Cd(t,n):t&&Lm(t)?Cd(t.\u0275providers,n):n(t)}function Ht(e,n){e instanceof no&&e.assertNotDestroyed();let t,i=$n(e),r=pt(void 0);try{return n()}finally{$n(i),pt(r)}}function rg(){return Vm()!==void 0||hw()!=null}function Qw(e){if(!rg())throw new P(-203,!1)}function Zw(e){let n=Pe.ng;if(n&&n.\u0275compilerFacade)return n.\u0275compilerFacade;throw new Error("JIT compiler unavailable")}function Kw(e){return typeof e=="function"}var _n=0,Y=1,j=2,Ge=3,jt=4,wt=5,io=6,ro=7,Mt=8,ar=9,Bt=10,Ee=11,oo=12,em=13,hr=14,Ut=15,mo=16,Ji=17,gn=18,$a=19,og=20,Hn=21,nd=22,mi=23,ct=25,sg=1;var gi=7,ma=8,cr=9,gt=10,bu=function(e){return e[e.None=0]="None",e[e.HasTransplantedViews=2]="HasTransplantedViews",e}(bu||{});function hi(e){return Array.isArray(e)&&typeof e[sg]=="object"}function yn(e){return Array.isArray(e)&&e[sg]===!0}function wu(e){return(e.flags&4)!==0}function Ha(e){return e.componentOffset>-1}function za(e){return(e.flags&1)===1}function Gn(e){return!!e.template}function Xw(e){return(e[j]&512)!==0}var xd=class{constructor(n,t,i){this.previousValue=n,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}};function ag(e,n,t,i){n!==null?n.applyValueToInputSignal(n,i):e[t]=i}function Ke(){return cg}function cg(e){return e.type.prototype.ngOnChanges&&(e.setInput=eC),Jw}Ke.ngInherit=!0;function Jw(){let e=dg(this),n=e?.current;if(n){let t=e.previous;if(t===rr)e.previous=n;else for(let i in n)t[i]=n[i];e.current=null,this.ngOnChanges(n)}}function eC(e,n,t,i,r){let o=this.declaredInputs[i],s=dg(e)||tC(e,{previous:rr,current:null}),a=s.current||(s.current={}),c=s.previous,h=c[o];a[o]=new xd(h&&h.currentValue,t,c===rr),ag(e,n,r,t)}var lg="__ngSimpleChanges__";function dg(e){return e[lg]||null}function tC(e,n){return e[lg]=n}var tm=null;var nn=function(e,n,t){tm?.(e,n,t)},ug="svg",nC="math",iC=!1;function rC(){return iC}function sn(e){for(;Array.isArray(e);)e=e[_n];return e}function hg(e,n){return sn(n[e])}function Tt(e,n){return sn(n[e.index])}function Cu(e,n){return e.data[n]}function fg(e,n){return e[n]}function Yn(e,n){let t=n[e];return hi(t)?t:t[_n]}function oC(e){return(e[j]&4)===4}function xu(e){return(e[j]&128)===128}function sC(e){return yn(e[Ge])}function lr(e,n){return n==null?null:e[n]}function pg(e){e[Ji]=0}function aC(e){e[j]&1024||(e[j]|=1024,xu(e)&&so(e))}function cC(e,n){for(;e>0;)n=n[hr],e--;return n}function Du(e){return!!(e[j]&9216||e[mi]?.dirty)}function Dd(e){e[Bt].changeDetectionScheduler?.notify(1),Du(e)?so(e):e[j]&64&&(rC()?(e[j]|=1024,so(e)):e[Bt].changeDetectionScheduler?.notify())}function so(e){e[Bt].changeDetectionScheduler?.notify();let n=ao(e);for(;n!==null&&!(n[j]&8192||(n[j]|=8192,!xu(n)));)n=ao(n)}function mg(e,n){if((e[j]&256)===256)throw new P(911,!1);e[Hn]===null&&(e[Hn]=[]),e[Hn].push(n)}function lC(e,n){if(e[Hn]===null)return;let t=e[Hn].indexOf(n);t!==-1&&e[Hn].splice(t,1)}function ao(e){let n=e[Ge];return yn(n)?n[Ge]:n}var K={lFrame:xg(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function dC(){return K.lFrame.elementDepthCount}function uC(){K.lFrame.elementDepthCount++}function hC(){K.lFrame.elementDepthCount--}function gg(){return K.bindingsEnabled}function vg(){return K.skipHydrationRootTNode!==null}function fC(e){return K.skipHydrationRootTNode===e}function pC(){K.skipHydrationRootTNode=null}function ie(){return K.lFrame.lView}function Te(){return K.lFrame.tView}function T(e){return K.lFrame.contextLView=e,e[Mt]}function A(e){return K.lFrame.contextLView=null,e}function Xe(){let e=_g();for(;e!==null&&e.type===64;)e=e.parent;return e}function _g(){return K.lFrame.currentTNode}function mC(){let e=K.lFrame,n=e.currentTNode;return e.isParent?n:n.parent}function Ci(e,n){let t=K.lFrame;t.currentTNode=e,t.isParent=n}function Eu(){return K.lFrame.isParent}function Iu(){K.lFrame.isParent=!1}function gC(){return K.lFrame.contextLView}function vC(){let e=K.lFrame,n=e.bindingRootIndex;return n===-1&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function _C(e){return K.lFrame.bindingIndex=e}function fr(){return K.lFrame.bindingIndex++}function yg(e){let n=K.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}function yC(){return K.lFrame.inI18n}function bC(e,n){let t=K.lFrame;t.bindingIndex=t.bindingRootIndex=e,Ed(n)}function wC(){return K.lFrame.currentDirectiveIndex}function Ed(e){K.lFrame.currentDirectiveIndex=e}function CC(e){let n=K.lFrame.currentDirectiveIndex;return n===-1?null:e[n]}function bg(){return K.lFrame.currentQueryIndex}function Su(e){K.lFrame.currentQueryIndex=e}function xC(e){let n=e[Y];return n.type===2?n.declTNode:n.type===1?e[wt]:null}function wg(e,n,t){if(t&te.SkipSelf){let r=n,o=e;for(;r=r.parent,r===null&&!(t&te.Host);)if(r=xC(o),r===null||(o=o[hr],r.type&10))break;if(r===null)return!1;n=r,e=o}let i=K.lFrame=Cg();return i.currentTNode=n,i.lView=e,!0}function Mu(e){let n=Cg(),t=e[Y];K.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function Cg(){let e=K.lFrame,n=e===null?null:e.child;return n===null?xg(e):n}function xg(e){let n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return e!==null&&(e.child=n),n}function Dg(){let e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}var Eg=Dg;function Tu(){let e=Dg();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function DC(e){return(K.lFrame.contextLView=cC(e,K.lFrame.contextLView))[Mt]}function xi(){return K.lFrame.selectedIndex}function vi(e){K.lFrame.selectedIndex=e}function Ga(){let e=K.lFrame;return Cu(e.tView,e.selectedIndex)}function Wa(){K.lFrame.currentNamespace=ug}function Ig(){EC()}function EC(){K.lFrame.currentNamespace=null}function IC(){return K.lFrame.currentNamespace}var Sg=!0;function qa(){return Sg}function Ya(e){Sg=e}function SC(e,n,t){let{ngOnChanges:i,ngOnInit:r,ngDoCheck:o}=n.type.prototype;if(i){let s=cg(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}r&&(t.preOrderHooks??=[]).push(0-e,r),o&&((t.preOrderHooks??=[]).push(e,o),(t.preOrderCheckHooks??=[]).push(e,o))}function Qa(e,n){for(let t=n.directiveStart,i=n.directiveEnd;t=i)break}else n[c]<0&&(e[Ji]+=65536),(a>14>16&&(e[j]&3)===n&&(e[j]+=16384,nm(a,o)):nm(a,o)}var ir=-1,_i=class{constructor(n,t,i){this.factory=n,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}};function TC(e){return e instanceof _i}function AC(e){return(e.flags&8)!==0}function OC(e){return(e.flags&16)!==0}function Tg(e){return e!==ir}function ga(e){return e&32767}function kC(e){return e>>16}function va(e,n){let t=kC(e),i=n;for(;t>0;)i=i[hr],t--;return i}var Id=!0;function _a(e){let n=Id;return Id=e,n}var PC=256,Ag=PC-1,Og=5,RC=0,rn={};function NC(e,n,t){let i;typeof t=="string"?i=t.charCodeAt(0)||0:t.hasOwnProperty(Xr)&&(i=t[Xr]),i==null&&(i=t[Xr]=RC++);let r=i&Ag,o=1<>Og)]|=o}function ya(e,n){let t=kg(e,n);if(t!==-1)return t;let i=n[Y];i.firstCreatePass&&(e.injectorIndex=n.length,rd(i.data,e),rd(n,null),rd(i.blueprint,null));let r=Au(e,n),o=e.injectorIndex;if(Tg(r)){let s=ga(r),a=va(r,n),c=a[Y].data;for(let h=0;h<8;h++)n[o+h]=a[s+h]|c[s+h]}return n[o+8]=r,o}function rd(e,n){e.push(0,0,0,0,0,0,0,0,n)}function kg(e,n){return e.injectorIndex===-1||e.parent&&e.parent.injectorIndex===e.injectorIndex||n[e.injectorIndex+8]===null?-1:e.injectorIndex}function Au(e,n){if(e.parent&&e.parent.injectorIndex!==-1)return e.parent.injectorIndex;let t=0,i=null,r=n;for(;r!==null;){if(i=Lg(r),i===null)return ir;if(t++,r=r[hr],i.injectorIndex!==-1)return i.injectorIndex|t<<16}return ir}function Sd(e,n,t){NC(e,n,t)}function FC(e,n){if(n==="class")return e.classes;if(n==="style")return e.styles;let t=e.attrs;if(t){let i=t.length,r=0;for(;r>20,p=i?a:a+f,b=r?a+f:h;for(let _=p;_=c&&x.type===t)return _}if(r){let _=s[c];if(_&&Gn(_)&&_.type===t)return c}return null}function yi(e,n,t,i){let r=e[t],o=n.data;if(TC(r)){let s=r;s.resolving&&aw(sw(o[t]));let a=_a(s.canSeeViewProviders);s.resolving=!0;let c,h=s.injectImpl?pt(s.injectImpl):null,f=wg(e,i,te.Default);try{r=e[t]=s.factory(void 0,o,e,i),n.firstCreatePass&&t>=i.directiveStart&&SC(t,o[t],n)}finally{h!==null&&pt(h),_a(a),s.resolving=!1,Eg()}}return r}function VC(e){if(typeof e=="string")return e.charCodeAt(0)||0;let n=e.hasOwnProperty(Xr)?e[Xr]:void 0;return typeof n=="number"?n>=0?n&Ag:jC:n}function im(e,n,t){let i=1<>Og)]&i)}function rm(e,n){return!(e&te.Self)&&!(e&te.Host&&n)}var fi=class{constructor(n,t){this._tNode=n,this._lView=t}get(n,t,i){return Ng(this._tNode,this._lView,n,Va(i),t)}};function jC(){return new fi(Xe(),ie())}function bn(e){return ho(()=>{let n=e.prototype.constructor,t=n[ua]||Md(n),i=Object.prototype,r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==i;){let o=r[ua]||Md(r);if(o&&o!==t)return o;r=Object.getPrototypeOf(r)}return o=>new o})}function Md(e){return Pm(e)?()=>{let n=Md(st(e));return n&&n()}:pi(e)}function BC(e,n,t,i,r){let o=e,s=n;for(;o!==null&&s!==null&&s[j]&2048&&!(s[j]&512);){let a=Fg(o,s,t,i|te.Self,rn);if(a!==rn)return a;let c=o.parent;if(!c){let h=s[og];if(h){let f=h.get(t,rn,i);if(f!==rn)return f}c=Lg(s),s=s[hr]}o=c}return r}function Lg(e){let n=e[Y],t=n.type;return t===2?n.declTNode:t===1?e[wt]:null}function pr(e){return FC(Xe(),e)}function om(e,n=null,t=null,i){let r=Vg(e,n,t,i);return r.resolveInjectorInitializers(),r}function Vg(e,n=null,t=null,i,r=new Set){let o=[t||mt,Vw(e)];return i=i||(typeof e=="object"?void 0:at(e)),new no(o,n||yu(),i||null,r)}var Ae=(()=>{class e{static{this.THROW_IF_NOT_FOUND=eo}static{this.NULL=new pa}static create(t,i){if(Array.isArray(t))return om({name:""},i,t,"");{let r=t.name??"";return om({name:r},t.parent,t.providers,r)}}static{this.\u0275prov=D({token:e,providedIn:"any",factory:()=>v($m)})}static{this.__NG_ELEMENT_ID__=-1}}return e})();var UC="ngOriginalError";function od(e){return e[UC]}var $t=class{constructor(){this._console=console}handleError(n){let t=this._findOriginalError(n);this._console.error("ERROR",n),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(n){let t=n&&od(n);for(;t&&od(t);)t=od(t);return t||null}},jg=new O("",{providedIn:"root",factory:()=>S($t).handleError.bind(void 0)}),Ou=(()=>{class e{static{this.__NG_ELEMENT_ID__=$C}static{this.__NG_ENV_ID__=t=>t}}return e})(),Td=class extends Ou{constructor(n){super(),this._lView=n}onDestroy(n){return mg(this._lView,n),()=>lC(this._lView,n)}};function $C(){return new Td(ie())}function HC(){return mr(Xe(),ie())}function mr(e,n){return new re(Tt(e,n))}var re=(()=>{class e{constructor(t){this.nativeElement=t}static{this.__NG_ELEMENT_ID__=HC}}return e})();function zC(e){return e instanceof re?e.nativeElement:e}var Ad=class extends B{constructor(n=!1){super(),this.destroyRef=void 0,this.__isAsync=n,rg()&&(this.destroyRef=S(Ou,{optional:!0})??void 0)}emit(n){let t=se(null);try{super.next(n)}finally{se(t)}}subscribe(n,t,i){let r=n,o=t||(()=>null),s=i;if(n&&typeof n=="object"){let c=n;r=c.next?.bind(c),o=c.error?.bind(c),s=c.complete?.bind(c)}this.__isAsync&&(o=sd(o),r&&(r=sd(r)),s&&(s=sd(s)));let a=super.subscribe({next:r,error:o,complete:s});return n instanceof _e&&n.add(a),a}};function sd(e){return n=>{setTimeout(e,void 0,n)}}var ne=Ad;function GC(){return this._results[Symbol.iterator]()}var ba=class e{get changes(){return this._changes??=new ne}constructor(n=!1){this._emitDistinctChangesOnly=n,this.dirty=!0,this._onDirty=void 0,this._results=[],this._changesDetected=!1,this._changes=void 0,this.length=0,this.first=void 0,this.last=void 0;let t=e.prototype;t[Symbol.iterator]||(t[Symbol.iterator]=GC)}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,t){return this._results.reduce(n,t)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,t){this.dirty=!1;let i=_w(n);(this._changesDetected=!vw(this._results,i,t))&&(this._results=i,this.length=i.length,this.last=i[this.length-1],this.first=i[0])}notifyOnChanges(){this._changes!==void 0&&(this._changesDetected||!this._emitDistinctChangesOnly)&&this._changes.emit(this)}onDirty(n){this._onDirty=n}setDirty(){this.dirty=!0,this._onDirty?.()}destroy(){this._changes!==void 0&&(this._changes.complete(),this._changes.unsubscribe())}};function Bg(e){return(e.flags&128)===128}var Ug=new Map,WC=0;function qC(){return WC++}function YC(e){Ug.set(e[$a],e)}function QC(e){Ug.delete(e[$a])}var sm="__ngContext__";function Wn(e,n){hi(n)?(e[sm]=n[$a],YC(n)):e[sm]=n}function $g(e){return zg(e[oo])}function Hg(e){return zg(e[jt])}function zg(e){for(;e!==null&&!yn(e);)e=e[jt];return e}var Od;function Gg(e){Od=e}function Wg(){if(Od!==void 0)return Od;if(typeof document<"u")return document;throw new P(210,!1)}var go=new O("",{providedIn:"root",factory:()=>ZC}),ZC="ng",ku=new O(""),Je=new O("",{providedIn:"platform",factory:()=>"unknown"});var wn=new O(""),vo=new O("",{providedIn:"root",factory:()=>Wg().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});var KC="h",XC="b";var JC=()=>null;function Pu(e,n,t=!1){return JC(e,n,t)}var qg=!1,ex=new O("",{providedIn:"root",factory:()=>qg});var Js;function tx(){if(Js===void 0&&(Js=null,Pe.trustedTypes))try{Js=Pe.trustedTypes.createPolicy("angular",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Js}function Za(e){return tx()?.createHTML(e)||e}var ea;function Yg(){if(ea===void 0&&(ea=null,Pe.trustedTypes))try{ea=Pe.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return ea}function am(e){return Yg()?.createHTML(e)||e}function cm(e){return Yg()?.createScriptURL(e)||e}var wa=class{constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Om})`}};function Di(e){return e instanceof wa?e.changingThisBreaksApplicationSecurity:e}function Ka(e,n){let t=nx(e);if(t!=null&&t!==n){if(t==="ResourceURL"&&n==="URL")return!0;throw new Error(`Required a safe ${n}, got a ${t} (see ${Om})`)}return t===n}function nx(e){return e instanceof wa&&e.getTypeName()||null}function ix(e){let n=new Pd(e);return rx()?new kd(n):n}var kd=class{constructor(n){this.inertDocumentHelper=n}getInertBodyElement(n){n=""+n;try{let t=new window.DOMParser().parseFromString(Za(n),"text/html").body;return t===null?this.inertDocumentHelper.getInertBodyElement(n):(t.removeChild(t.firstChild),t)}catch{return null}}},Pd=class{constructor(n){this.defaultDoc=n,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(n){let t=this.inertDocument.createElement("template");return t.innerHTML=Za(n),t}};function rx(){try{return!!new window.DOMParser().parseFromString(Za(""),"text/html")}catch{return!1}}var ox=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Ru(e){return e=String(e),e.match(ox)?e:"unsafe:"+e}function Cn(e){let n={};for(let t of e.split(","))n[t]=!0;return n}function _o(...e){let n={};for(let t of e)for(let i in t)t.hasOwnProperty(i)&&(n[i]=!0);return n}var Qg=Cn("area,br,col,hr,img,wbr"),Zg=Cn("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Kg=Cn("rp,rt"),sx=_o(Kg,Zg),ax=_o(Zg,Cn("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),cx=_o(Kg,Cn("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),lm=_o(Qg,ax,cx,sx),Xg=Cn("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),lx=Cn("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),dx=Cn("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext"),ux=_o(Xg,lx,dx),hx=Cn("script,style,template"),Rd=class{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(n){let t=n.firstChild,i=!0,r=[];for(;t;){if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild){r.push(t),t=mx(t);continue}for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let o=px(t);if(o){t=o;break}t=r.pop()}}return this.buf.join("")}startElement(n){let t=dm(n).toLowerCase();if(!lm.hasOwnProperty(t))return this.sanitizedSomething=!0,!hx.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);let i=n.attributes;for(let r=0;r"),!0}endElement(n){let t=dm(n).toLowerCase();lm.hasOwnProperty(t)&&!Qg.hasOwnProperty(t)&&(this.buf.push(""))}chars(n){this.buf.push(um(n))}};function fx(e,n){return(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}function px(e){let n=e.nextSibling;if(n&&e!==n.previousSibling)throw Jg(n);return n}function mx(e){let n=e.firstChild;if(n&&fx(e,n))throw Jg(n);return n}function dm(e){let n=e.nodeName;return typeof n=="string"?n:"FORM"}function Jg(e){return new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`)}var gx=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,vx=/([^\#-~ |!])/g;function um(e){return e.replace(/&/g,"&").replace(gx,function(n){let t=n.charCodeAt(0),i=n.charCodeAt(1);return"&#"+((t-55296)*1024+(i-56320)+65536)+";"}).replace(vx,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(//g,">")}var ta;function e0(e,n){let t=null;try{ta=ta||ix(e);let i=n?String(n):"";t=ta.getInertBodyElement(i);let r=5,o=i;do{if(r===0)throw new Error("Failed to sanitize html because the input is unstable");r--,i=o,o=t.innerHTML,t=ta.getInertBodyElement(i)}while(i!==o);let a=new Rd().sanitizeChildren(hm(t)||t);return Za(a)}finally{if(t){let i=hm(t)||t;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function hm(e){return"content"in e&&_x(e)?e.content:null}function _x(e){return e.nodeType===Node.ELEMENT_NODE&&e.nodeName==="TEMPLATE"}var yo=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(yo||{});function t0(e){let n=Nu();return n?am(n.sanitize(yo.HTML,e)||""):Ka(e,"HTML")?am(Di(e)):e0(Wg(),fo(e))}function ee(e){let n=Nu();return n?n.sanitize(yo.URL,e)||"":Ka(e,"URL")?Di(e):Ru(fo(e))}function yx(e){let n=Nu();if(n)return cm(n.sanitize(yo.RESOURCE_URL,e)||"");if(Ka(e,"ResourceURL"))return cm(Di(e));throw new P(904,!1)}function bx(e,n){return n==="src"&&(e==="embed"||e==="frame"||e==="iframe"||e==="media"||e==="script")||n==="href"&&(e==="base"||e==="link")?yx:ee}function n0(e,n,t){return bx(n,t)(e)}function Nu(){let e=ie();return e&&e[Bt].sanitizer}var wx=/^>|^->||--!>|)/g,xx="\u200B$1\u200B";function Dx(e){return e.replace(wx,n=>n.replace(Cx,xx))}function Xa(e){return e.ownerDocument}function i0(e){return e instanceof Function?e():e}function Ex(e){return(e??S(Ae)).get(Je)==="browser"}var vn=function(e){return e[e.Important=1]="Important",e[e.DashCase=2]="DashCase",e}(vn||{}),Ix;function Fu(e,n){return Ix(e,n)}function er(e,n,t,i,r){if(i!=null){let o,s=!1;yn(i)?o=i:hi(i)&&(s=!0,i=i[_n]);let a=sn(i);e===0&&t!==null?r==null?c0(n,t,a):xa(n,t,a,r||null,!0):e===1&&t!==null?xa(n,t,a,r||null,!0):e===2?$x(n,a,s):e===3&&n.destroyNode(a),o!=null&&zx(n,e,o,t,r)}}function Sx(e,n){return e.createText(n)}function Mx(e,n,t){e.setValue(n,t)}function Tx(e,n){return e.createComment(Dx(n))}function r0(e,n,t){return e.createElement(n,t)}function Ax(e,n){o0(e,n),n[_n]=null,n[wt]=null}function Ox(e,n,t,i,r,o){i[_n]=r,i[wt]=n,ec(e,i,t,1,r,o)}function o0(e,n){n[Bt].changeDetectionScheduler?.notify(1),ec(e,n,n[Ee],2,null,null)}function kx(e){let n=e[oo];if(!n)return ad(e[Y],e);for(;n;){let t=null;if(hi(n))t=n[oo];else{let i=n[gt];i&&(t=i)}if(!t){for(;n&&!n[jt]&&n!==e;)hi(n)&&ad(n[Y],n),n=n[Ge];n===null&&(n=e),hi(n)&&ad(n[Y],n),t=n&&n[jt]}n=t}}function Px(e,n,t,i){let r=gt+i,o=t.length;i>0&&(t[r-1][jt]=n),i0&&(e[t-1][jt]=i[jt]);let o=fa(e,gt+n);Ax(i[Y],i);let s=o[gn];s!==null&&s.detachView(o[Y]),i[Ge]=null,i[jt]=null,i[j]&=-129}return i}function Lu(e,n){if(!(n[j]&256)){let t=n[Ee];t.destroyNode&&ec(e,n,t,3,null,null),kx(n)}}function ad(e,n){if(n[j]&256)return;let t=se(null);try{n[j]&=-129,n[j]|=256,n[mi]&&mp(n[mi]),Fx(e,n),Nx(e,n),n[Y].type===1&&n[Ee].destroy();let i=n[mo];if(i!==null&&yn(n[Ge])){i!==n[Ge]&&s0(i,n);let r=n[gn];r!==null&&r.detachView(e)}QC(n)}finally{se(t)}}function Nx(e,n){let t=e.cleanup,i=n[ro];if(t!==null)for(let o=0;o=0?i[s]():i[-s].unsubscribe(),o+=2}else{let s=i[t[o+1]];t[o].call(s)}i!==null&&(n[ro]=null);let r=n[Hn];if(r!==null){n[Hn]=null;for(let o=0;o-1){let{encapsulation:o}=e.data[i.directiveStart+r];if(o===on.None||o===on.Emulated)return null}return Tt(i,t)}}function xa(e,n,t,i,r){e.insertBefore(n,t,i,r)}function c0(e,n,t){e.appendChild(n,t)}function fm(e,n,t,i,r){i!==null?xa(e,n,t,i,r):c0(e,n,t)}function Vx(e,n,t,i){e.removeChild(n,t,i)}function Vu(e,n){return e.parentNode(n)}function jx(e,n){return e.nextSibling(n)}function l0(e,n,t){return Ux(e,n,t)}function Bx(e,n,t){return e.type&40?Tt(e,t):null}var Ux=Bx,pm;function Ja(e,n,t,i){let r=a0(e,i,n),o=n[Ee],s=i.parent||n[wt],a=l0(s,i,n);if(r!=null)if(Array.isArray(t))for(let c=0;cct&&p0(e,n,ct,!1),nn(s?2:0,r),t(i,r)}finally{vi(o),nn(s?3:1,r)}}function Bu(e,n,t){if(wu(n)){let i=se(null);try{let r=n.directiveStart,o=n.directiveEnd;for(let s=r;snull;function Jx(e,n,t,i){let r=D0(n);r.push(t),e.firstCreatePass&&E0(e).push(i,r.length-1)}function eD(e,n,t,i,r,o){let s=n?n.injectorIndex:-1,a=0;return vg()&&(a|=128),{type:t,index:i,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:o,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}function mm(e,n,t,i,r){for(let o in n){if(!n.hasOwnProperty(o))continue;let s=n[o];if(s===void 0)continue;i??={};let a,c=$.None;Array.isArray(s)?(a=s[0],c=s[1]):a=s;let h=o;if(r!==null){if(!r.hasOwnProperty(o))continue;h=r[o]}e===0?gm(i,t,h,a,c):gm(i,t,h,a)}return i}function gm(e,n,t,i,r){let o;e.hasOwnProperty(t)?(o=e[t]).push(n,i):o=e[t]=[n,i],r!==void 0&&o.push(r)}function tD(e,n,t){let i=n.directiveStart,r=n.directiveEnd,o=e.data,s=n.attrs,a=[],c=null,h=null;for(let f=i;f0;){let t=e[--n];if(typeof t=="number"&&t<0)return t}return 0}function sD(e,n,t,i){let r=t.directiveStart,o=t.directiveEnd;Ha(t)&&fD(n,t,e.data[r+t.componentOffset]),e.firstCreatePass||ya(t,n),Wn(i,n);let s=t.initialInputs;for(let a=r;a{so(e.lView)},consumerOnSignalRead(){this.lView[mi]=this}}),A0=100;function O0(e,n=!0,t=0){let i=e[Bt],r=i.rendererFactory,o=!1;o||r.begin?.();try{TD(e,t)}catch(s){throw n&&I0(e,s),s}finally{o||(r.end?.(),i.inlineEffectRunner?.flush())}}function TD(e,n){jd(e,n);let t=0;for(;Du(e);){if(t===A0)throw new P(103,!1);t++,jd(e,1)}}function AD(e,n,t,i){let r=n[j];if((r&256)===256)return;let o=!1;!o&&n[Bt].inlineEffectRunner?.flush(),Mu(n);let s=null,a=null;!o&&OD(e)&&(a=ED(n),s=fp(a));try{pg(n),_C(e.bindingStartIndex),t!==null&&_0(e,n,t,2,i);let c=(r&3)===3;if(!o)if(c){let p=e.preOrderCheckHooks;p!==null&&sa(n,p,null)}else{let p=e.preOrderHooks;p!==null&&aa(n,p,0,null),id(n,0)}if(kD(n),k0(n,0),e.contentQueries!==null&&x0(e,n),!o)if(c){let p=e.contentCheckHooks;p!==null&&sa(n,p)}else{let p=e.contentHooks;p!==null&&aa(n,p,1),id(n,1)}qx(e,n);let h=e.components;h!==null&&R0(n,h,0);let f=e.viewQuery;if(f!==null&&Ld(2,f,i),!o)if(c){let p=e.viewCheckHooks;p!==null&&sa(n,p)}else{let p=e.viewHooks;p!==null&&aa(n,p,2),id(n,2)}if(e.firstUpdatePass===!0&&(e.firstUpdatePass=!1),n[nd]){for(let p of n[nd])p();n[nd]=null}o||(n[j]&=-73)}catch(c){throw so(n),c}finally{a!==null&&(pp(a,s),SD(a)),Tu()}}function OD(e){return e.type!==2}function k0(e,n){for(let t=$g(e);t!==null;t=Hg(t))for(let i=gt;i-1&&(Ca(n,i),fa(t,i))}this._attachedToViewContainer=!1}Lu(this._lView[Y],this._lView)}onDestroy(n){mg(this._lView,n)}markForCheck(){Yu(this._cdRefInjectingView||this._lView)}detach(){this._lView[j]&=-129}reattach(){Dd(this._lView),this._lView[j]|=128}detectChanges(){this._lView[j]|=1024,O0(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new P(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,o0(this._lView[Y],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new P(902,!1);this._appRef=n,Dd(this._lView)}},bt=(()=>{class e{static{this.__NG_ELEMENT_ID__=FD}}return e})(),RD=bt,ND=class extends RD{constructor(n,t,i){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=i}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,t){return this.createEmbeddedViewImpl(n,t)}createEmbeddedViewImpl(n,t,i){let r=S0(this._declarationLView,this._declarationTContainer,n,{embeddedViewInjector:t,dehydratedView:i});return new bi(r)}};function FD(){return ic(Xe(),ie())}function ic(e,n){return e.type&4?new ND(n,e,mr(e,n)):null}var mj=new RegExp(`^(\\d+)*(${XC}|${KC})*(.*)`);var LD=()=>null;function Bd(e,n){return LD(e,n)}var Ea=class{},Ud=class{},Ia=class{};function VD(e){let n=Error(`No component factory found for ${at(e)}.`);return n[jD]=e,n}var jD="ngComponent";var $d=class{resolveComponentFactory(n){throw VD(n)}},Qn=(()=>{class e{static{this.NULL=new $d}}return e})(),co=class{},Zn=(()=>{class e{constructor(){this.destroyNode=null}static{this.__NG_ELEMENT_ID__=()=>BD()}}return e})();function BD(){let e=ie(),n=Xe(),t=Yn(n.index,e);return(hi(t)?t:e)[Ee]}var UD=(()=>{class e{static{this.\u0275prov=D({token:e,providedIn:"root",factory:()=>null})}}return e})(),cd={};var vm=new Set;function bo(e){vm.has(e)||(vm.add(e),performance?.mark?.("mark_feature_usage",{detail:{feature:e}}))}function _m(...e){}function $D(){let e=typeof Pe.requestAnimationFrame=="function",n=Pe[e?"requestAnimationFrame":"setTimeout"],t=Pe[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&n&&t){let i=n[Zone.__symbol__("OriginalDelegate")];i&&(n=i);let r=t[Zone.__symbol__("OriginalDelegate")];r&&(t=r)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:t}}var F=class e{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new ne(!1),this.onMicrotaskEmpty=new ne(!1),this.onStable=new ne(!1),this.onError=new ne(!1),typeof Zone>"u")throw new P(908,!1);Zone.assertZonePatched();let r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=$D().nativeRequestAnimationFrame,GD(r)}static isInAngularZone(){return typeof Zone<"u"&&Zone.current.get("isAngularZone")===!0}static assertInAngularZone(){if(!e.isInAngularZone())throw new P(909,!1)}static assertNotInAngularZone(){if(e.isInAngularZone())throw new P(909,!1)}run(n,t,i){return this._inner.run(n,t,i)}runTask(n,t,i,r){let o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+r,n,HD,_m,_m);try{return o.runTask(s,t,i)}finally{o.cancelTask(s)}}runGuarded(n,t,i){return this._inner.runGuarded(n,t,i)}runOutsideAngular(n){return this._outer.run(n)}},HD={};function Qu(e){if(e._nesting==0&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function zD(e){e.isCheckStableRunning||e.lastRequestAnimationFrameId!==-1||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(Pe,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Hd(e),e.isCheckStableRunning=!0,Qu(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Hd(e))}function GD(e){let n=()=>{zD(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,o,s,a)=>{if(WD(a))return t.invokeTask(r,o,s,a);try{return ym(e),t.invokeTask(r,o,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&o.type==="eventTask"||e.shouldCoalesceRunChangeDetection)&&n(),bm(e)}},onInvoke:(t,i,r,o,s,a,c)=>{try{return ym(e),t.invoke(r,o,s,a,c)}finally{e.shouldCoalesceRunChangeDetection&&n(),bm(e)}},onHasTask:(t,i,r,o)=>{t.hasTask(r,o),i===r&&(o.change=="microTask"?(e._hasPendingMicrotasks=o.microTask,Hd(e),Qu(e)):o.change=="macroTask"&&(e.hasPendingMacrotasks=o.macroTask))},onHandleError:(t,i,r,o)=>(t.handleError(r,o),e.runOutsideAngular(()=>e.onError.emit(o)),!1)})}function Hd(e){e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&e.lastRequestAnimationFrameId!==-1?e.hasPendingMicrotasks=!0:e.hasPendingMicrotasks=!1}function ym(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function bm(e){e._nesting--,Qu(e)}var zd=class{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new ne,this.onMicrotaskEmpty=new ne,this.onStable=new ne,this.onError=new ne}run(n,t,i){return n.apply(t,i)}runGuarded(n,t,i){return n.apply(t,i)}runOutsideAngular(n){return n()}runTask(n,t,i,r){return n.apply(t,i)}};function WD(e){return!Array.isArray(e)||e.length!==1?!1:e[0].data?.__ignore_ng_zone__===!0}function qD(e="zone.js",n){return e==="noop"?new zd:e==="zone.js"?new F(n):e}var tr=function(e){return e[e.EarlyRead=0]="EarlyRead",e[e.Write=1]="Write",e[e.MixedReadWrite=2]="MixedReadWrite",e[e.Read=3]="Read",e}(tr||{}),YD={destroy(){}};function rc(e,n){!n&&Qw(rc);let t=n?.injector??S(Ae);if(!Ex(t))return YD;bo("NgAfterNextRender");let i=t.get(Zu),r=i.handler??=new Wd,o=n?.phase??tr.MixedReadWrite,s=()=>{r.unregister(c),a()},a=t.get(Ou).onDestroy(s),c=Ht(t,()=>new Gd(o,()=>{s(),e()}));return r.register(c),{destroy:s}}var Gd=class{constructor(n,t){this.phase=n,this.callbackFn=t,this.zone=S(F),this.errorHandler=S($t,{optional:!0}),S(Ea,{optional:!0})?.notify(1)}invoke(){try{this.zone.runOutsideAngular(this.callbackFn)}catch(n){this.errorHandler?.handleError(n)}}},Wd=class{constructor(){this.executingCallbacks=!1,this.buckets={[tr.EarlyRead]:new Set,[tr.Write]:new Set,[tr.MixedReadWrite]:new Set,[tr.Read]:new Set},this.deferredCallbacks=new Set}register(n){(this.executingCallbacks?this.deferredCallbacks:this.buckets[n.phase]).add(n)}unregister(n){this.buckets[n.phase].delete(n),this.deferredCallbacks.delete(n)}execute(){this.executingCallbacks=!0;for(let n of Object.values(this.buckets))for(let t of n)t.invoke();this.executingCallbacks=!1;for(let n of this.deferredCallbacks)this.buckets[n.phase].add(n);this.deferredCallbacks.clear()}destroy(){for(let n of Object.values(this.buckets))n.clear();this.deferredCallbacks.clear()}},Zu=(()=>{class e{constructor(){this.handler=null,this.internalCallbacks=[]}execute(){this.executeInternalCallbacks(),this.handler?.execute()}executeInternalCallbacks(){let t=[...this.internalCallbacks];this.internalCallbacks.length=0;for(let i of t)i()}ngOnDestroy(){this.handler?.destroy(),this.handler=null,this.internalCallbacks.length=0}static{this.\u0275prov=D({token:e,providedIn:"root",factory:()=>new e})}}return e})();function Sa(e,n,t){let i=t?e.styles:null,r=t?e.classes:null,o=0;if(n!==null)for(let s=0;s0&&h0(e,t,o.join(" "))}}function tE(e,n,t){let i=e.projection=[];for(let r=0;r{class e{static{this.__NG_ELEMENT_ID__=iE}}return e})();function iE(){let e=Xe();return F0(e,ie())}var rE=Ct,N0=class extends rE{constructor(n,t,i){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=i}get element(){return mr(this._hostTNode,this._hostLView)}get injector(){return new fi(this._hostTNode,this._hostLView)}get parentInjector(){let n=Au(this._hostTNode,this._hostLView);if(Tg(n)){let t=va(n,this._hostLView),i=ga(n),r=t[Y].data[i+8];return new fi(r,t)}else return new fi(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){let t=Cm(this._lContainer);return t!==null&&t[n]||null}get length(){return this._lContainer.length-gt}createEmbeddedView(n,t,i){let r,o;typeof i=="number"?r=i:i!=null&&(r=i.index,o=i.injector);let s=Bd(this._lContainer,n.ssrId),a=n.createEmbeddedViewImpl(t||{},o,s);return this.insertImpl(a,r,Vd(this._hostTNode,s)),a}createComponent(n,t,i,r,o){let s=n&&!Kw(n),a;if(s)a=t;else{let x=t||{};a=x.index,i=x.injector,r=x.projectableNodes,o=x.environmentInjector||x.ngModuleRef}let c=s?n:new dr(zn(n)),h=i||this.parentInjector;if(!o&&c.ngModule==null){let M=(s?h:this.parentInjector).get(Ze,null);M&&(o=M)}let f=zn(c.componentType??{}),p=Bd(this._lContainer,f?.id??null),b=p?.firstChild??null,_=c.create(h,r,b,o);return this.insertImpl(_.hostView,a,Vd(this._hostTNode,p)),_}insert(n,t){return this.insertImpl(n,t,!0)}insertImpl(n,t,i){let r=n._lView;if(sC(r)){let a=this.indexOf(n);if(a!==-1)this.detach(a);else{let c=r[Ge],h=new N0(c,c[wt],c[Ge]);h.detach(h.indexOf(n))}}let o=this._adjustIndex(t),s=this._lContainer;return M0(s,r,o,i),n.attachToViewContainerRef(),Um(ld(s),o,n),n}move(n,t){return this.insert(n,t)}indexOf(n){let t=Cm(this._lContainer);return t!==null?t.indexOf(n):-1}remove(n){let t=this._adjustIndex(n,-1),i=Ca(this._lContainer,t);i&&(fa(ld(this._lContainer),t),Lu(i[Y],i))}detach(n){let t=this._adjustIndex(n,-1),i=Ca(this._lContainer,t);return i&&fa(ld(this._lContainer),t)!=null?new bi(i):null}_adjustIndex(n,t=0){return n??this.length+t}};function Cm(e){return e[ma]}function ld(e){return e[ma]||(e[ma]=[])}function F0(e,n){let t,i=n[e.index];return yn(i)?t=i:(t=C0(i,n,null,e),n[e.index]=t,nc(n,t)),sE(t,n,e,i),new N0(t,e,n)}function oE(e,n){let t=e[Ee],i=t.createComment(""),r=Tt(n,e),o=Vu(t,r);return xa(t,o,i,jx(t,r),!1),i}var sE=lE,aE=()=>!1;function cE(e,n,t){return aE(e,n,t)}function lE(e,n,t,i){if(e[gi])return;let r;t.type&8?r=sn(i):r=oE(n,t),e[gi]=r}var Qd=class e{constructor(n){this.queryList=n,this.matches=null}clone(){return new e(this.queryList)}setDirty(){this.queryList.setDirty()}},Zd=class e{constructor(n=[]){this.queries=n}createEmbeddedView(n){let t=n.queries;if(t!==null){let i=n.contentQueries!==null?n.contentQueries[0]:t.length,r=[];for(let o=0;o0)i.push(s[a/2]);else{let h=o[a+1],f=n[-c];for(let p=gt;pn.trim())}function j0(e,n,t){e.queries===null&&(e.queries=new Kd),e.queries.track(new Xd(n,t))}function _E(e,n){let t=e.contentQueries||(e.contentQueries=[]),i=t.length?t[t.length-1]:-1;n!==i&&t.push(e.queries.length-1,n)}function Ku(e,n){return e.queries.getByIndex(n)}function yE(e,n){let t=e[Y],i=Ku(t,n);return i.crossesNgTemplate?Jd(t,e,n,[]):L0(t,e,i,n)}function B0(e){return typeof e=="function"&&e[Rl]!==void 0}function U0(e){return B0(e)&&typeof e.set=="function"}function bE(e){let n=[],t=new Map;function i(r){let o=t.get(r);if(!o){let s=e(r);t.set(r,o=s.then(DE))}return o}return Aa.forEach((r,o)=>{let s=[];r.templateUrl&&s.push(i(r.templateUrl).then(h=>{r.template=h}));let a=typeof r.styles=="string"?[r.styles]:r.styles||[];if(r.styles=a,r.styleUrl&&r.styleUrls?.length)throw new Error("@Component cannot define both `styleUrl` and `styleUrls`. Use `styleUrl` if the component has one stylesheet, or `styleUrls` if it has multiple");if(r.styleUrls?.length){let h=r.styles.length,f=r.styleUrls;r.styleUrls.forEach((p,b)=>{a.push(""),s.push(i(p).then(_=>{a[h+b]=_,f.splice(f.indexOf(p),1),f.length==0&&(r.styleUrls=void 0)}))})}else r.styleUrl&&s.push(i(r.styleUrl).then(h=>{a.push(h),r.styleUrl=void 0}));let c=Promise.all(s).then(()=>EE(o));n.push(c)}),CE(),Promise.all(n).then(()=>{})}var Aa=new Map,wE=new Set;function CE(){let e=Aa;return Aa=new Map,e}function xE(){return Aa.size===0}function DE(e){return typeof e=="string"?e:e.text()}function EE(e){wE.delete(e)}function IE(e){return Object.getPrototypeOf(e.prototype).constructor}function He(e){let n=IE(e.type),t=!0,i=[e];for(;n;){let r;if(Gn(e))r=n.\u0275cmp||n.\u0275dir;else{if(n.\u0275cmp)throw new P(903,!1);r=n.\u0275dir}if(r){if(t){i.push(r);let s=e;s.inputs=na(e.inputs),s.inputTransforms=na(e.inputTransforms),s.declaredInputs=na(e.declaredInputs),s.outputs=na(e.outputs);let a=r.hostBindings;a&&OE(e,a);let c=r.viewQuery,h=r.contentQueries;if(c&&TE(e,c),h&&AE(e,h),SE(e,r),Xb(e.outputs,r.outputs),Gn(r)&&r.data.animation){let f=e.data;f.animation=(f.animation||[]).concat(r.data.animation)}}let o=r.features;if(o)for(let s=0;s=0;i--){let r=e[i];r.hostVars=n+=r.hostVars,r.hostAttrs=to(r.hostAttrs,t=to(t,r.hostAttrs))}}function na(e){return e===rr?{}:e===mt?[]:e}function TE(e,n){let t=e.viewQuery;t?e.viewQuery=(i,r)=>{n(i,r),t(i,r)}:e.viewQuery=n}function AE(e,n){let t=e.contentQueries;t?e.contentQueries=(i,r,o)=>{n(i,r,o),t(i,r,o)}:e.contentQueries=n}function OE(e,n){let t=e.hostBindings;t?e.hostBindings=(i,r)=>{n(i,r),t(i,r)}:e.hostBindings=n}function zt(e){let n=e.inputConfig,t={};for(let i in n)if(n.hasOwnProperty(i)){let r=n[i];Array.isArray(r)&&r[3]&&(t[i]=r[3])}e.inputTransforms=t}var qn=class{},lo=class{};var Oa=class extends qn{constructor(n,t,i){super(),this._parent=t,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new Ma(this);let r=Km(n);this._bootstrapComponents=i0(r.bootstrap),this._r3Injector=Vg(n,t,[{provide:qn,useValue:this},{provide:Qn,useValue:this.componentFactoryResolver},...i],at(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){let n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}},ka=class extends lo{constructor(n){super(),this.moduleType=n}create(n){return new Oa(this.moduleType,n,[])}};function kE(e,n,t){return new Oa(e,n,t)}var eu=class extends qn{constructor(n){super(),this.componentFactoryResolver=new Ma(this),this.instance=null;let t=new no([...n.providers,{provide:qn,useValue:this},{provide:Qn,useValue:this.componentFactoryResolver}],n.parent||yu(),n.debugName,new Set(["environment"]));this.injector=t,n.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}};function oc(e,n,t=null){return new eu({providers:e,parent:n,debugName:t,runEnvironmentInitializers:!0}).injector}var Ei=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new Ce(!1)}get _hasPendingTasks(){return this.hasPendingTasks.value}add(){this._hasPendingTasks||this.hasPendingTasks.next(!0);let t=this.taskId++;return this.pendingTasks.add(t),t}remove(t){this.pendingTasks.delete(t),this.pendingTasks.size===0&&this._hasPendingTasks&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this._hasPendingTasks&&this.hasPendingTasks.next(!1)}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function $0(e){return RE(e)?Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e:!1}function PE(e,n){if(Array.isArray(e))for(let t=0;t>17&32767}function $E(e){return(e&2)==2}function HE(e,n){return e&131071|n<<17}function tu(e){return e|2}function ur(e){return(e&131068)>>2}function dd(e,n){return e&-131069|n<<2}function zE(e){return(e&1)===1}function nu(e){return e|1}function GE(e,n,t,i,r,o){let s=o?n.classBindings:n.styleBindings,a=wi(s),c=ur(s);e[i]=t;let h=!1,f;if(Array.isArray(t)){let p=t;f=p[1],(f===null||po(p,f)>0)&&(h=!0)}else f=t;if(r)if(c!==0){let b=wi(e[a+1]);e[i+1]=ia(b,a),b!==0&&(e[b+1]=dd(e[b+1],i)),e[a+1]=HE(e[a+1],i)}else e[i+1]=ia(a,0),a!==0&&(e[a+1]=dd(e[a+1],i)),a=i;else e[i+1]=ia(c,0),a===0?a=i:e[c+1]=dd(e[c+1],i),c=i;h&&(e[i+1]=tu(e[i+1])),xm(e,f,i,!0),xm(e,f,i,!1),WE(n,f,e,i,o),s=ia(a,c),o?n.classBindings=s:n.styleBindings=s}function WE(e,n,t,i,r){let o=r?e.residualClasses:e.residualStyles;o!=null&&typeof n=="string"&&po(o,n)>=0&&(t[i+1]=nu(t[i+1]))}function xm(e,n,t,i){let r=e[t+1],o=n===null,s=i?wi(r):ur(r),a=!1;for(;s!==0&&(a===!1||o);){let c=e[s],h=e[s+1];qE(c,n)&&(a=!0,e[s+1]=i?nu(h):tu(h)),s=i?wi(h):ur(h)}a&&(e[t+1]=i?tu(r):nu(r))}function qE(e,n){return e===null||n==null||(Array.isArray(e)?e[1]:e)===n?!0:Array.isArray(e)&&typeof n=="string"?po(e,n)>=0:!1}var Vt={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function YE(e){return e.substring(Vt.key,Vt.keyEnd)}function QE(e){return ZE(e),H0(e,z0(e,0,Vt.textEnd))}function H0(e,n){let t=Vt.textEnd;return t===n?-1:(n=Vt.keyEnd=KE(e,Vt.key=n,t),z0(e,n,t))}function ZE(e){Vt.key=0,Vt.keyEnd=0,Vt.value=0,Vt.valueEnd=0,Vt.textEnd=e.length}function z0(e,n,t){for(;n32;)n++;return n}function y(e,n,t){let i=ie(),r=fr();if(an(i,r,n)){let o=Te(),s=Ga();zu(o,s,i,e,n,i[Ee],t,!1)}return y}function iu(e,n,t,i,r){let o=n.inputs,s=r?"class":"style";Wu(e,t,o[s],s,i)}function wo(e,n,t){return G0(e,n,t,!1),wo}function he(e,n){return G0(e,n,null,!0),he}function Xu(e){JE(oI,XE,e,!0)}function XE(e,n){for(let t=QE(n);t>=0;t=H0(n,t))mu(e,YE(n),!0)}function G0(e,n,t,i){let r=ie(),o=Te(),s=yg(2);if(o.firstUpdatePass&&q0(o,e,s,i),n!==xn&&an(r,s,n)){let a=o.data[xi()];Y0(o,a,r,r[Ee],e,r[s+1]=aI(n,t),i,s)}}function JE(e,n,t,i){let r=Te(),o=yg(2);r.firstUpdatePass&&q0(r,null,o,i);let s=ie();if(t!==xn&&an(s,o,t)){let a=r.data[xi()];if(Q0(a,i)&&!W0(r,o)){let c=i?a.classesWithoutHost:a.stylesWithoutHost;c!==null&&(t=md(c,t||"")),iu(r,a,s,t,i)}else sI(r,a,s,s[Ee],s[o+1],s[o+1]=rI(e,n,t),i,o)}}function W0(e,n){return n>=e.expandoStartIndex}function q0(e,n,t,i){let r=e.data;if(r[t+1]===null){let o=r[xi()],s=W0(e,t);Q0(o,i)&&n===null&&!s&&(n=!1),n=eI(r,o,n,i),GE(r,o,n,t,s,i)}}function eI(e,n,t,i){let r=CC(e),o=i?n.residualClasses:n.residualStyles;if(r===null)(i?n.classBindings:n.styleBindings)===0&&(t=ud(null,e,n,t,i),t=uo(t,n.attrs,i),o=null);else{let s=n.directiveStylingLast;if(s===-1||e[s]!==r)if(t=ud(r,e,n,t,i),o===null){let c=tI(e,n,i);c!==void 0&&Array.isArray(c)&&(c=ud(null,e,n,c[1],i),c=uo(c,n.attrs,i),nI(e,n,i,c))}else o=iI(e,n,i)}return o!==void 0&&(i?n.residualClasses=o:n.residualStyles=o),t}function tI(e,n,t){let i=t?n.classBindings:n.styleBindings;if(ur(i)!==0)return e[wi(i)]}function nI(e,n,t,i){let r=t?n.classBindings:n.styleBindings;e[wi(r)]=i}function iI(e,n,t){let i,r=n.directiveEnd;for(let o=1+n.directiveStylingLast;o0;){let c=e[r],h=Array.isArray(c),f=h?c[1]:c,p=f===null,b=t[r+1];b===xn&&(b=p?mt:void 0);let _=p?ed(b,i):f===i?b:void 0;if(h&&!Pa(_)&&(_=ed(c,i)),Pa(_)&&(a=_,s))return a;let x=e[r+1];r=s?wi(x):ur(x)}if(n!==null){let c=o?n.residualClasses:n.residualStyles;c!=null&&(a=ed(c,i))}return a}function Pa(e){return e!==void 0}function aI(e,n){return e==null||e===""||(typeof n=="string"?e=e+n:typeof e=="object"&&(e=at(Di(e)))),e}function Q0(e,n){return(e.flags&(n?8:16))!==0}function Ju(e,n,t){bo("NgControlFlow");let i=ie(),r=fr(),o=cI(i,ct+e),s=0;if(an(i,r,n)){let a=se(null);try{if(xD(o,s),n!==-1){let c=lI(i[Y],ct+n),h=Bd(o,c.tView.ssrId),f=S0(i,c,t,{dehydratedView:h});M0(o,f,s,Vd(c,h))}}finally{se(a)}}else{let a=CD(o,s);a!==void 0&&(a[Mt]=t)}}function cI(e,n){return e[n]}function lI(e,n){return Cu(e,n)}function dI(e,n,t,i,r,o){let s=n.consts,a=lr(s,r),c=gr(n,e,2,i,a);return Gu(n,t,c,lr(s,o)),c.attrs!==null&&Sa(c,c.attrs,!1),c.mergedAttrs!==null&&Sa(c,c.mergedAttrs,!0),n.queries!==null&&n.queries.elementStart(n,c),c}function d(e,n,t,i){let r=ie(),o=Te(),s=ct+e,a=r[Ee],c=o.firstCreatePass?dI(s,o,r,n,t,i):o.data[s],h=uI(o,r,c,a,n,e);r[s]=h;let f=za(c);return Ci(c,!0),f0(a,h,c),!LE(c)&&qa()&&Ja(o,r,h,c),dC()===0&&Wn(h,r),uC(),f&&(Uu(o,r,c),Bu(o,c,r)),i!==null&&$u(r,c),d}function l(){let e=Xe();Eu()?Iu():(e=e.parent,Ci(e,!1));let n=e;fC(n)&&pC(),hC();let t=Te();return t.firstCreatePass&&(Qa(t,e),wu(e)&&t.queries.elementEnd(e)),n.classesWithoutHost!=null&&AC(n)&&iu(t,n,ie(),n.classesWithoutHost,!0),n.stylesWithoutHost!=null&&OC(n)&&iu(t,n,ie(),n.stylesWithoutHost,!1),l}function g(e,n,t,i){return d(e,n,t,i),l(),g}var uI=(e,n,t,i,r,o)=>(Ya(!0),r0(i,r,IC()));function hI(e,n,t,i,r){let o=n.consts,s=lr(o,i),a=gr(n,e,8,"ng-container",s);s!==null&&Sa(a,s,!0);let c=lr(o,r);return Gu(n,t,a,c),n.queries!==null&&n.queries.elementStart(n,a),a}function Re(e,n,t){let i=ie(),r=Te(),o=e+ct,s=r.firstCreatePass?hI(o,r,i,n,t):r.data[o];Ci(s,!0);let a=fI(r,i,s,e);return i[o]=a,qa()&&Ja(r,i,a,s),Wn(a,i),za(s)&&(Uu(r,i,s),Bu(r,s,i)),t!=null&&$u(i,s),Re}function Ne(){let e=Xe(),n=Te();return Eu()?Iu():(e=e.parent,Ci(e,!1)),n.firstCreatePass&&(Qa(n,e),wu(e)&&n.queries.elementEnd(e)),Ne}function Ii(e,n,t){return Re(e,n,t),Ne(),Ii}var fI=(e,n,t,i)=>(Ya(!0),Tx(n[Ee],""));function H(){return ie()}function vr(e,n,t){let i=ie(),r=fr();if(an(i,r,n)){let o=Te(),s=Ga();zu(o,s,i,e,n,i[Ee],t,!0)}return vr}var ui=void 0;function pI(e){let n=e,t=Math.floor(Math.abs(e)),i=e.toString().replace(/^[^.]*\.?/,"").length;return t===1&&i===0?1:5}var mI=["en",[["a","p"],["AM","PM"],ui],[["AM","PM"],ui,ui],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],ui,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],ui,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",ui,"{1} 'at' {0}",ui],[".",",",";","%","+","-","E","\xD7","\u2030","\u221E","NaN",":"],["#,##0.###","#,##0%","\xA4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",pI],hd={};function xt(e){let n=gI(e),t=Em(n);if(t)return t;let i=n.split("-")[0];if(t=Em(i),t)return t;if(i==="en")return mI;throw new P(701,!1)}function Em(e){return e in hd||(hd[e]=Pe.ng&&Pe.ng.common&&Pe.ng.common.locales&&Pe.ng.common.locales[e]),hd[e]}var Oe=function(e){return e[e.LocaleId=0]="LocaleId",e[e.DayPeriodsFormat=1]="DayPeriodsFormat",e[e.DayPeriodsStandalone=2]="DayPeriodsStandalone",e[e.DaysFormat=3]="DaysFormat",e[e.DaysStandalone=4]="DaysStandalone",e[e.MonthsFormat=5]="MonthsFormat",e[e.MonthsStandalone=6]="MonthsStandalone",e[e.Eras=7]="Eras",e[e.FirstDayOfWeek=8]="FirstDayOfWeek",e[e.WeekendRange=9]="WeekendRange",e[e.DateFormat=10]="DateFormat",e[e.TimeFormat=11]="TimeFormat",e[e.DateTimeFormat=12]="DateTimeFormat",e[e.NumberSymbols=13]="NumberSymbols",e[e.NumberFormats=14]="NumberFormats",e[e.CurrencyCode=15]="CurrencyCode",e[e.CurrencySymbol=16]="CurrencySymbol",e[e.CurrencyName=17]="CurrencyName",e[e.Currencies=18]="Currencies",e[e.Directionality=19]="Directionality",e[e.PluralCase=20]="PluralCase",e[e.ExtraData=21]="ExtraData",e}(Oe||{});function gI(e){return e.toLowerCase().replace(/_/g,"-")}var Ra="en-US";var vI=Ra;function _I(e){typeof e=="string"&&(vI=e.toLowerCase().replace(/_/g,"-"))}function I(e,n,t,i){let r=ie(),o=Te(),s=Xe();return Z0(o,r,r[Ee],s,e,n,i),I}function yI(e,n,t,i){let r=e.cleanup;if(r!=null)for(let o=0;oc?a[c]:null}typeof s=="string"&&(o+=2)}return null}function Z0(e,n,t,i,r,o,s){let a=za(i),h=e.firstCreatePass&&E0(e),f=n[Mt],p=D0(n),b=!0;if(i.type&3||s){let M=Tt(i,n),k=s?s(M):M,V=p.length,De=s?ke=>s(sn(ke[i.index])):i.index,Q=null;if(!s&&a&&(Q=yI(e,n,r,i.index)),Q!==null){let ke=Q.__ngLastListenerFn__||Q;ke.__ngNextListenerFn__=o,Q.__ngLastListenerFn__=o,b=!1}else{o=Sm(i,n,f,o,!1);let ke=t.listen(k,r,o);p.push(o,ke),h&&h.push(r,De,V,V+1)}}else o=Sm(i,n,f,o,!1);let _=i.outputs,x;if(b&&_!==null&&(x=_[r])){let M=x.length;if(M)for(let k=0;k-1?Yn(e.index,n):n;Yu(a);let c=Im(n,t,i,s),h=o.__ngNextListenerFn__;for(;h;)c=Im(n,t,h,s)&&c,h=h.__ngNextListenerFn__;return r&&c===!1&&s.preventDefault(),c}}function C(e=1){return DC(e)}function bI(e,n){let t=null,i=Mw(e);for(let r=0;r=e.data.length&&(e.data[t]=null,e.blueprint[t]=null),n[t]=i}function Gt(e){let n=gC();return fg(n,ct+e)}function u(e,n=""){let t=ie(),i=Te(),r=e+ct,o=i.firstCreatePass?gr(i,r,1,n,null):i.data[r],s=CI(i,t,o,n,e);t[r]=s,qa()&&Ja(i,t,s,o),Ci(o,!1)}var CI=(e,n,t,i,r)=>(Ya(!0),Sx(n[Ee],i));function Ie(e){return Se("",e,""),Ie}function Se(e,n,t){let i=ie(),r=UE(i,e,n,t);return r!==xn&&_D(i,xi(),r),Se}function Co(e,n,t){U0(n)&&(n=n());let i=ie(),r=fr();if(an(i,r,n)){let o=Te(),s=Ga();zu(o,s,i,e,n,i[Ee],t,!1)}return Co}function sc(e,n){let t=U0(e);return t&&e.set(n),t}function xo(e,n){let t=ie(),i=Te(),r=Xe();return Z0(i,t,t[Ee],r,e,n),xo}function xI(e,n,t){let i=Te();if(i.firstCreatePass){let r=Gn(e);ru(t,i.data,i.blueprint,r,!0),ru(n,i.data,i.blueprint,r,!1)}}function ru(e,n,t,i,r){if(e=st(e),Array.isArray(e))for(let o=0;o>20;if(sr(e)||!e.multi){let _=new _i(h,r,w),x=pd(c,n,r?f:f+b,p);x===-1?(Sd(ya(a,s),o,c),fd(o,e,n.length),n.push(c),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),t.push(_),s.push(_)):(t[x]=_,s[x]=_)}else{let _=pd(c,n,f+b,p),x=pd(c,n,f,f+b),M=_>=0&&t[_],k=x>=0&&t[x];if(r&&!k||!r&&!M){Sd(ya(a,s),o,c);let V=II(r?EI:DI,t.length,r,i,h);!r&&k&&(t[x].providerFactory=V),fd(o,e,n.length,0),n.push(c),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),t.push(V),s.push(V)}else{let V=X0(t[r?x:_],h,!r&&i);fd(o,e,_>-1?_:x,V)}!r&&i&&k&&t[x].componentProviders++}}}function fd(e,n,t,i){let r=sr(n),o=$w(n);if(r||o){let c=(o?st(n.useClass):n).prototype.ngOnDestroy;if(c){let h=e.destroyHooks||(e.destroyHooks=[]);if(!r&&n.multi){let f=h.indexOf(t);f===-1?h.push(t,[i,c]):h[f+1].push(i,c)}else h.push(t,c)}}}function X0(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function pd(e,n,t,i){for(let r=t;r{t.providersResolver=(i,r)=>xI(i,r?r(e):e,n)}}var SI=(()=>{class e{constructor(t){this._injector=t,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t)){let i=eg(!1,t.type),r=i.length>0?oc([i],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t,r)}return this.cachedInjectors.get(t)}ngOnDestroy(){try{for(let t of this.cachedInjectors.values())t!==null&&t.destroy()}finally{this.cachedInjectors.clear()}}static{this.\u0275prov=D({token:e,providedIn:"environment",factory:()=>new e(v(Ze))})}}return e})();function Fe(e){bo("NgStandalone"),e.getStandaloneInjector=n=>n.get(SI).getOrCreateStandaloneInjector(e)}function MI(e,n){let t=e[n];return t===xn?void 0:t}function TI(e,n,t,i,r,o,s){let a=n+t;return FE(e,a,r,o)?NE(e,a+2,s?i.call(s,r,o):i(r,o)):MI(e,a+2)}function Do(e,n){let t=Te(),i,r=e+ct;t.firstCreatePass?(i=AI(n,t.pipeRegistry),t.data[r]=i,i.onDestroy&&(t.destroyHooks??=[]).push(r,i.onDestroy)):i=t.data[r];let o=i.factory||(i.factory=pi(i.type,!0)),s,a=pt(w);try{let c=_a(!1),h=o();return _a(c),wI(t,ie(),r,h),h}finally{pt(a)}}function AI(e,n){if(n)for(let t=n.length-1;t>=0;t--){let i=n[t];if(e===i.name)return i}}function Eo(e,n,t,i){let r=e+ct,o=ie(),s=fg(o,r);return OI(o,r)?TI(o,vC(),n,s.transform,t,i,s):s.transform(t,i)}function OI(e,n){return e[Y].data[n].pure}function In(e,n){return ic(e,n)}var ra=null;function kI(e){ra!==null&&(e.defaultEncapsulation!==ra.defaultEncapsulation||e.preserveWhitespaces!==ra.preserveWhitespaces)||(ra=e)}var ac=(()=>{class e{log(t){console.log(t)}warn(t){console.warn(t)}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"platform"})}}return e})();var eh=new O(""),Io=new O(""),cc=(()=>{class e{constructor(t,i,r){this._ngZone=t,this.registry=i,this._pendingCount=0,this._isZoneStable=!0,this._callbacks=[],this.taskTrackingZone=null,th||(PI(r),r.addToWindow(i)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{F.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&this._pendingCount===0&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;this._callbacks.length!==0;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb()}});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>i.updateCb&&i.updateCb(t)?(clearTimeout(i.timeoutId),!1):!0)}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let o=-1;i&&i>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==o),t()},i)),this._callbacks.push({doneCb:t,timeoutId:o,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,i,r){return[]}static{this.\u0275fac=function(i){return new(i||e)(v(F),v(lc),v(Io))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac})}}return e})(),lc=(()=>{class e{constructor(){this._applications=new Map}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return th?.findTestabilityInTree(this,t,i)??null}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"platform"})}}return e})();function PI(e){th=e}var th;function Si(e){return!!e&&typeof e.then=="function"}function J0(e){return!!e&&typeof e.subscribe=="function"}var dc=new O(""),ev=(()=>{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,i)=>{this.resolve=t,this.reject=i}),this.appInits=S(dc,{optional:!0})??[]}runInitializers(){if(this.initialized)return;let t=[];for(let r of this.appInits){let o=r();if(Si(o))t.push(o);else if(J0(o)){let s=new Promise((a,c)=>{o.subscribe({complete:a,error:c})});t.push(s)}}let i=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),t.length===0&&i(),this.initialized=!0}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),uc=new O("");function RI(){gp(()=>{throw new P(600,!1)})}function NI(e){return e.isBoundToModule}function FI(e,n,t){try{let i=t();return Si(i)?i.catch(r=>{throw n.runOutsideAngular(()=>e.handleError(r)),r}):i}catch(i){throw n.runOutsideAngular(()=>e.handleError(i)),i}}function tv(e,n){return Array.isArray(n)?n.reduce(tv,e):E(E({},e),n)}var Sn=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=S(jg),this.afterRenderEffectManager=S(Zu),this.externalTestViews=new Set,this.beforeRender=new B,this.afterTick=new B,this.componentTypes=[],this.components=[],this.isStable=S(Ei).hasPendingTasks.pipe(U(t=>!t)),this._injector=S(Ze)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(t,i){let r=t instanceof Ia;if(!this._injector.get(ev).done){let b=!r&&Zm(t),_=!1;throw new P(405,_)}let s;r?s=t:s=this._injector.get(Qn).resolveComponentFactory(t),this.componentTypes.push(s.componentType);let a=NI(s)?void 0:this._injector.get(qn),c=i||s.selector,h=s.create(Ae.NULL,[],c,a),f=h.location.nativeElement,p=h.injector.get(eh,null);return p?.registerApplication(f),h.onDestroy(()=>{this.detachView(h.hostView),da(this.components,h),p?.unregisterApplication(f)}),this._loadComponent(h),h}tick(){this._tick(!0)}_tick(t){if(this._runningTick)throw new P(101,!1);let i=se(null);try{this._runningTick=!0,this.detectChangesInAttachedViews(t)}catch(r){this.internalErrorHandler(r)}finally{this.afterTick.next(),this._runningTick=!1,se(i)}}detectChangesInAttachedViews(t){let i=0,r=this.afterRenderEffectManager;for(;;){if(i===A0)throw new P(103,!1);if(t){let o=i===0;this.beforeRender.next(o);for(let{_lView:s,notifyErrorHandler:a}of this._views)LI(s,o,a)}if(i++,r.executeInternalCallbacks(),![...this.externalTestViews.keys(),...this._views].some(({_lView:o})=>su(o))&&(r.execute(),![...this.externalTestViews.keys(),...this._views].some(({_lView:o})=>su(o))))break}}attachView(t){let i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){let i=t;da(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t);let i=this._injector.get(uc,[]);[...this._bootstrapListeners,...i].forEach(r=>r(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>da(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new P(406,!1);let t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function da(e,n){let t=e.indexOf(n);t>-1&&e.splice(t,1)}function LI(e,n,t){!n&&!su(e)||VI(e,t,n)}function su(e){return Du(e)}function VI(e,n,t){let i;t?(i=0,e[j]|=1024):e[j]&64?i=0:i=1,O0(e,n,i)}var au=class{constructor(n,t){this.ngModuleFactory=n,this.componentFactories=t}},hc=(()=>{class e{compileModuleSync(t){return new ka(t)}compileModuleAsync(t){return Promise.resolve(this.compileModuleSync(t))}compileModuleAndAllComponentsSync(t){let i=this.compileModuleSync(t),r=Km(t),o=i0(r.declarations).reduce((s,a)=>{let c=zn(a);return c&&s.push(new dr(c)),s},[]);return new au(i,o)}compileModuleAndAllComponentsAsync(t){return Promise.resolve(this.compileModuleAndAllComponentsSync(t))}clearCache(){}clearCacheFor(t){}getModuleId(t){}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),jI=new O("");function BI(e,n,t){let i=new ka(t);return Promise.resolve(i)}function Mm(e){for(let n=e.length-1;n>=0;n--)if(e[n]!==void 0)return e[n]}var UI=(()=>{class e{constructor(){this.zone=S(F),this.applicationRef=S(Sn)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function $I(e){return[{provide:F,useFactory:e},{provide:or,multi:!0,useFactory:()=>{let n=S(UI,{optional:!0});return()=>n.initialize()}},{provide:or,multi:!0,useFactory:()=>{let n=S(GI);return()=>{n.initialize()}}},{provide:jg,useFactory:HI}]}function HI(){let e=S(F),n=S($t);return t=>e.runOutsideAngular(()=>n.handleError(t))}function zI(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}var GI=(()=>{class e{constructor(){this.subscription=new _e,this.initialized=!1,this.zone=S(F),this.pendingTasks=S(Ei)}initialize(){if(this.initialized)return;this.initialized=!0;let t=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(t=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{F.assertNotInAngularZone(),queueMicrotask(()=>{t!==null&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(t),t=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{F.assertInAngularZone(),t??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function WI(){return typeof $localize<"u"&&$localize.locale||Ra}var _r=new O("",{providedIn:"root",factory:()=>S(_r,te.Optional|te.SkipSelf)||WI()});var nv=new O(""),iv=(()=>{class e{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){let r=qD(i?.ngZone,zI({eventCoalescing:i?.ngZoneEventCoalescing,runCoalescing:i?.ngZoneRunCoalescing}));return r.run(()=>{let o=kE(t.moduleType,this.injector,$I(()=>r)),s=o.injector.get($t,null);return r.runOutsideAngular(()=>{let a=r.onError.subscribe({next:c=>{s.handleError(c)}});o.onDestroy(()=>{da(this._modules,o),a.unsubscribe()})}),FI(s,r,()=>{let a=o.injector.get(ev);return a.runInitializers(),a.donePromise.then(()=>{let c=o.injector.get(_r,Ra);return _I(c||Ra),this._moduleDoBootstrap(o),o})})})}bootstrapModule(t,i=[]){let r=tv({},i);return BI(this.injector,r,t).then(o=>this.bootstrapModuleFactory(o,r))}_moduleDoBootstrap(t){let i=t.injector.get(Sn);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else if(t.instance.ngDoBootstrap)t.instance.ngDoBootstrap(i);else throw new P(-403,!1);this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new P(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());let t=this._injector.get(nv,null);t&&(t.forEach(i=>i()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static{this.\u0275fac=function(i){return new(i||e)(v(Ae))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"platform"})}}return e})(),Jr=null,rv=new O("");function qI(e){if(Jr&&!Jr.get(rv,!1))throw new P(400,!1);RI(),Jr=e;let n=e.get(iv);return ZI(e),n}function nh(e,n,t=[]){let i=`Platform: ${n}`,r=new O(i);return(o=[])=>{let s=ov();if(!s||s.injector.get(rv,!1)){let a=[...t,...o,{provide:r,useValue:!0}];e?e(a):qI(YI(a,i))}return QI(r)}}function YI(e=[],n){return Ae.create({name:n,providers:[{provide:Ua,useValue:"platform"},{provide:nv,useValue:new Set([()=>Jr=null])},...e]})}function QI(e){let n=ov();if(!n)throw new P(401,!1);return n}function ov(){return Jr?.get(iv)??null}function ZI(e){e.get(ku,null)?.forEach(t=>t())}var Ve=(()=>{class e{static{this.__NG_ELEMENT_ID__=KI}}return e})();function KI(e){return XI(Xe(),ie(),(e&16)===16)}function XI(e,n,t){if(Ha(e)&&!t){let i=Yn(e.index,n);return new bi(i,i)}else if(e.type&47){let i=n[Ut];return new bi(i,n)}return null}var cu=class{constructor(){}supports(n){return $0(n)}create(n){return new lu(n)}},JI=(e,n)=>n,lu=class{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||JI}forEachItem(n){let t;for(t=this._itHead;t!==null;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,i=this._removalsHead,r=0,o=null;for(;t||i;){let s=!i||t&&t.currentIndex{s=this._trackByFn(r,a),t===null||!Object.is(t.trackById,s)?(t=this._mismatch(t,a,s,r),i=!0):(i&&(t=this._verifyReinsertion(t,a,s,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=n,this.isDirty}get isDirty(){return this._additionsHead!==null||this._movesHead!==null||this._removalsHead!==null||this._identityChangesHead!==null}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;n!==null;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;n!==null;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;n!==null;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,t,i,r){let o;return n===null?o=this._itTail:(o=n._prev,this._remove(n)),n=this._unlinkedRecords===null?null:this._unlinkedRecords.get(i,null),n!==null?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,o,r)):(n=this._linkedRecords===null?null:this._linkedRecords.get(i,r),n!==null?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,o,r)):n=this._addAfter(new du(t,i),o,r)),n}_verifyReinsertion(n,t,i,r){let o=this._unlinkedRecords===null?null:this._unlinkedRecords.get(i,null);return o!==null?n=this._reinsertAfter(o,n._prev,r):n.currentIndex!=r&&(n.currentIndex=r,this._addToMoves(n,r)),n}_truncate(n){for(;n!==null;){let t=n._next;this._addToRemovals(this._unlink(n)),n=t}this._unlinkedRecords!==null&&this._unlinkedRecords.clear(),this._additionsTail!==null&&(this._additionsTail._nextAdded=null),this._movesTail!==null&&(this._movesTail._nextMoved=null),this._itTail!==null&&(this._itTail._next=null),this._removalsTail!==null&&(this._removalsTail._nextRemoved=null),this._identityChangesTail!==null&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,t,i){this._unlinkedRecords!==null&&this._unlinkedRecords.remove(n);let r=n._prevRemoved,o=n._nextRemoved;return r===null?this._removalsHead=o:r._nextRemoved=o,o===null?this._removalsTail=r:o._prevRemoved=r,this._insertAfter(n,t,i),this._addToMoves(n,i),n}_moveAfter(n,t,i){return this._unlink(n),this._insertAfter(n,t,i),this._addToMoves(n,i),n}_addAfter(n,t,i){return this._insertAfter(n,t,i),this._additionsTail===null?this._additionsTail=this._additionsHead=n:this._additionsTail=this._additionsTail._nextAdded=n,n}_insertAfter(n,t,i){let r=t===null?this._itHead:t._next;return n._next=r,n._prev=t,r===null?this._itTail=n:r._prev=n,t===null?this._itHead=n:t._next=n,this._linkedRecords===null&&(this._linkedRecords=new Na),this._linkedRecords.put(n),n.currentIndex=i,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){this._linkedRecords!==null&&this._linkedRecords.remove(n);let t=n._prev,i=n._next;return t===null?this._itHead=i:t._next=i,i===null?this._itTail=t:i._prev=t,n}_addToMoves(n,t){return n.previousIndex===t||(this._movesTail===null?this._movesTail=this._movesHead=n:this._movesTail=this._movesTail._nextMoved=n),n}_addToRemovals(n){return this._unlinkedRecords===null&&(this._unlinkedRecords=new Na),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,this._removalsTail===null?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,t){return n.item=t,this._identityChangesTail===null?this._identityChangesTail=this._identityChangesHead=n:this._identityChangesTail=this._identityChangesTail._nextIdentityChange=n,n}},du=class{constructor(n,t){this.item=n,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}},uu=class{constructor(){this._head=null,this._tail=null}add(n){this._head===null?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,t){let i;for(i=this._head;i!==null;i=i._nextDup)if((t===null||t<=i.currentIndex)&&Object.is(i.trackById,n))return i;return null}remove(n){let t=n._prevDup,i=n._nextDup;return t===null?this._head=i:t._nextDup=i,i===null?this._tail=t:i._prevDup=t,this._head===null}},Na=class{constructor(){this.map=new Map}put(n){let t=n.trackById,i=this.map.get(t);i||(i=new uu,this.map.set(t,i)),i.add(n)}get(n,t){let i=n,r=this.map.get(i);return r?r.get(n,t):null}remove(n){let t=n.trackById;return this.map.get(t).remove(n)&&this.map.delete(t),n}get isEmpty(){return this.map.size===0}clear(){this.map.clear()}};function Tm(e,n,t){let i=e.previousIndex;if(i===null)return i;let r=0;return t&&i{class e{static{this.\u0275prov=D({token:e,providedIn:"root",factory:Am})}constructor(t){this.factories=t}static create(t,i){if(i!=null){let r=i.factories.slice();t=t.concat(r)}return new e(t)}static extend(t){return{provide:e,useFactory:i=>e.create(t,i||Am()),deps:[[e,new fu,new ja]]}}find(t){let i=this.factories.find(r=>r.supports(t));if(i!=null)return i;throw new P(901,!1)}}return e})();var sv=nh(null,"core",[]),av=(()=>{class e{constructor(t){}static{this.\u0275fac=function(i){return new(i||e)(v(Sn))}}static{this.\u0275mod=G({type:e})}static{this.\u0275inj=z({})}}return e})();function et(e){return typeof e=="boolean"?e:e!=null&&e!=="false"}function ih(e,n=NaN){return!isNaN(parseFloat(e))&&!isNaN(Number(e))?Number(e):n}function cv(e){let n=zn(e);if(!n)return null;let t=new dr(n);return{get selector(){return t.selector},get type(){return t.componentType},get inputs(){return t.inputs},get outputs(){return t.outputs},get ngContentSelectors(){return t.ngContentSelectors},get isStandalone(){return n.standalone},get isSignal(){return n.signals}}}var mv=null;function ln(){return mv}function gv(e){mv??=e}var Cc=class{};var W=new O(""),ph=(()=>{class e{historyGo(t){throw new Error("")}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:()=>S(eS),providedIn:"platform"})}}return e})(),vv=new O(""),eS=(()=>{class e extends ph{constructor(){super(),this._doc=S(W),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return ln().getBaseHref(this._doc)}onPopState(t){let i=ln().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){let i=ln().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(t){this._location.pathname=t}pushState(t,i,r){this._history.pushState(t,i,r)}replaceState(t,i,r){this._history.replaceState(t,i,r)}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:()=>new e,providedIn:"platform"})}}return e})();function mh(e,n){if(e.length==0)return n;if(n.length==0)return e;let t=0;return e.endsWith("/")&&t++,n.startsWith("/")&&t++,t==2?e+n.substring(1):t==1?e+n:e+"/"+n}function lv(e){let n=e.match(/#|\?|$/),t=n&&n.index||e.length,i=t-(e[t-1]==="/"?1:0);return e.slice(0,i)+e.slice(t)}function Tn(e){return e&&e[0]!=="?"?"?"+e:e}var kn=(()=>{class e{historyGo(t){throw new Error("")}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:()=>S(gh),providedIn:"root"})}}return e})(),_v=new O(""),gh=(()=>{class e extends kn{constructor(t,i){super(),this._platformLocation=t,this._removeListenerFns=[],this._baseHref=i??this._platformLocation.getBaseHrefFromDOM()??S(W).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return mh(this._baseHref,t)}path(t=!1){let i=this._platformLocation.pathname+Tn(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,o){let s=this.prepareExternalUrl(r+Tn(o));this._platformLocation.pushState(t,i,s)}replaceState(t,i,r,o){let s=this.prepareExternalUrl(r+Tn(o));this._platformLocation.replaceState(t,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static{this.\u0275fac=function(i){return new(i||e)(v(ph),v(_v,8))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),yv=(()=>{class e extends kn{constructor(t,i){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],i!=null&&(this._baseHref=i)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){let i=this._platformLocation.hash??"#";return i.length>0?i.substring(1):i}prepareExternalUrl(t){let i=mh(this._baseHref,t);return i.length>0?"#"+i:i}pushState(t,i,r,o){let s=this.prepareExternalUrl(r+Tn(o));s.length==0&&(s=this._platformLocation.pathname),this._platformLocation.pushState(t,i,s)}replaceState(t,i,r,o){let s=this.prepareExternalUrl(r+Tn(o));s.length==0&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(t,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static{this.\u0275fac=function(i){return new(i||e)(v(ph),v(_v,8))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac})}}return e})(),dn=(()=>{class e{constructor(t){this._subject=new ne,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=t;let i=this._locationStrategy.getBaseHref();this._basePath=iS(lv(dv(i))),this._locationStrategy.onPopState(r=>{this._subject.emit({url:this.path(!0),pop:!0,state:r.state,type:r.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(t=!1){return this.normalize(this._locationStrategy.path(t))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+Tn(i))}normalize(t){return e.stripTrailingSlash(nS(this._basePath,dv(t)))}prepareExternalUrl(t){return t&&t[0]!=="/"&&(t="/"+t),this._locationStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._locationStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Tn(i)),r)}replaceState(t,i="",r=null){this._locationStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Tn(i)),r)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(t=0){this._locationStrategy.historyGo?.(t)}onUrlChange(t){return this._urlChangeListeners.push(t),this._urlChangeSubscription??=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}),()=>{let i=this._urlChangeListeners.indexOf(t);this._urlChangeListeners.splice(i,1),this._urlChangeListeners.length===0&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}static{this.normalizeQueryParams=Tn}static{this.joinWithSlash=mh}static{this.stripTrailingSlash=lv}static{this.\u0275fac=function(i){return new(i||e)(v(kn))}}static{this.\u0275prov=D({token:e,factory:()=>tS(),providedIn:"root"})}}return e})();function tS(){return new dn(v(kn))}function nS(e,n){if(!e||!n.startsWith(e))return n;let t=n.substring(e.length);return t===""||["/",";","?","#"].includes(t[0])?t:n}function dv(e){return e.replace(/\/index.html$/,"")}function iS(e){if(new RegExp("^(https?:)?//").test(e)){let[,t]=e.split(/\/\/[^\/]+/);return t}return e}var bv=function(e){return e[e.Decimal=0]="Decimal",e[e.Percent=1]="Percent",e[e.Currency=2]="Currency",e[e.Scientific=3]="Scientific",e}(bv||{});var dt=function(e){return e[e.Format=0]="Format",e[e.Standalone=1]="Standalone",e}(dt||{}),ve=function(e){return e[e.Narrow=0]="Narrow",e[e.Abbreviated=1]="Abbreviated",e[e.Wide=2]="Wide",e[e.Short=3]="Short",e}(ve||{}),Dt=function(e){return e[e.Short=0]="Short",e[e.Medium=1]="Medium",e[e.Long=2]="Long",e[e.Full=3]="Full",e}(Dt||{}),Et={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};function rS(e){return xt(e)[Oe.LocaleId]}function oS(e,n,t){let i=xt(e),r=[i[Oe.DayPeriodsFormat],i[Oe.DayPeriodsStandalone]],o=Ot(r,n);return Ot(o,t)}function sS(e,n,t){let i=xt(e),r=[i[Oe.DaysFormat],i[Oe.DaysStandalone]],o=Ot(r,n);return Ot(o,t)}function aS(e,n,t){let i=xt(e),r=[i[Oe.MonthsFormat],i[Oe.MonthsStandalone]],o=Ot(r,n);return Ot(o,t)}function cS(e,n){let i=xt(e)[Oe.Eras];return Ot(i,n)}function pc(e,n){let t=xt(e);return Ot(t[Oe.DateFormat],n)}function mc(e,n){let t=xt(e);return Ot(t[Oe.TimeFormat],n)}function gc(e,n){let i=xt(e)[Oe.DateTimeFormat];return Ot(i,n)}function An(e,n){let t=xt(e),i=t[Oe.NumberSymbols][n];if(typeof i>"u"){if(n===Et.CurrencyDecimal)return t[Oe.NumberSymbols][Et.Decimal];if(n===Et.CurrencyGroup)return t[Oe.NumberSymbols][Et.Group]}return i}function lS(e,n){return xt(e)[Oe.NumberFormats][n]}function wv(e){if(!e[Oe.ExtraData])throw new Error(`Missing extra locale data for the locale "${e[Oe.LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`)}function dS(e){let n=xt(e);return wv(n),(n[Oe.ExtraData][2]||[]).map(i=>typeof i=="string"?rh(i):[rh(i[0]),rh(i[1])])}function uS(e,n,t){let i=xt(e);wv(i);let r=[i[Oe.ExtraData][0],i[Oe.ExtraData][1]],o=Ot(r,n)||[];return Ot(o,t)||[]}function Ot(e,n){for(let t=n;t>-1;t--)if(typeof e[t]<"u")return e[t];throw new Error("Locale data API: locale data undefined")}function rh(e){let[n,t]=e.split(":");return{hours:+n,minutes:+t}}var hS=/^(\d{4,})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,vc={},fS=/((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/,On=function(e){return e[e.Short=0]="Short",e[e.ShortGMT=1]="ShortGMT",e[e.Long=2]="Long",e[e.Extended=3]="Extended",e}(On||{}),ue=function(e){return e[e.FullYear=0]="FullYear",e[e.Month=1]="Month",e[e.Date=2]="Date",e[e.Hours=3]="Hours",e[e.Minutes=4]="Minutes",e[e.Seconds=5]="Seconds",e[e.FractionalSeconds=6]="FractionalSeconds",e[e.Day=7]="Day",e}(ue||{}),de=function(e){return e[e.DayPeriods=0]="DayPeriods",e[e.Days=1]="Days",e[e.Months=2]="Months",e[e.Eras=3]="Eras",e}(de||{});function pS(e,n,t,i){let r=xS(e);n=Mn(t,n)||n;let s=[],a;for(;n;)if(a=fS.exec(n),a){s=s.concat(a.slice(1));let f=s.pop();if(!f)break;n=f}else{s.push(n);break}let c=r.getTimezoneOffset();i&&(c=xv(i,c),r=CS(r,i,!0));let h="";return s.forEach(f=>{let p=bS(f);h+=p?p(r,t,c):f==="''"?"'":f.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),h}function xc(e,n,t){let i=new Date(0);return i.setFullYear(e,n,t),i.setHours(0,0,0),i}function Mn(e,n){let t=rS(e);if(vc[t]??={},vc[t][n])return vc[t][n];let i="";switch(n){case"shortDate":i=pc(e,Dt.Short);break;case"mediumDate":i=pc(e,Dt.Medium);break;case"longDate":i=pc(e,Dt.Long);break;case"fullDate":i=pc(e,Dt.Full);break;case"shortTime":i=mc(e,Dt.Short);break;case"mediumTime":i=mc(e,Dt.Medium);break;case"longTime":i=mc(e,Dt.Long);break;case"fullTime":i=mc(e,Dt.Full);break;case"short":let r=Mn(e,"shortTime"),o=Mn(e,"shortDate");i=_c(gc(e,Dt.Short),[r,o]);break;case"medium":let s=Mn(e,"mediumTime"),a=Mn(e,"mediumDate");i=_c(gc(e,Dt.Medium),[s,a]);break;case"long":let c=Mn(e,"longTime"),h=Mn(e,"longDate");i=_c(gc(e,Dt.Long),[c,h]);break;case"full":let f=Mn(e,"fullTime"),p=Mn(e,"fullDate");i=_c(gc(e,Dt.Full),[f,p]);break}return i&&(vc[t][n]=i),i}function _c(e,n){return n&&(e=e.replace(/\{([^}]+)}/g,function(t,i){return n!=null&&i in n?n[i]:t})),e}function Wt(e,n,t="-",i,r){let o="";(e<0||r&&e<=0)&&(r?e=-e+1:(e=-e,o=t));let s=String(e);for(;s.length0||a>-t)&&(a+=t),e===ue.Hours)a===0&&t===-12&&(a=12);else if(e===ue.FractionalSeconds)return mS(a,n);let c=An(s,Et.MinusSign);return Wt(a,n,c,i,r)}}function gS(e,n){switch(e){case ue.FullYear:return n.getFullYear();case ue.Month:return n.getMonth();case ue.Date:return n.getDate();case ue.Hours:return n.getHours();case ue.Minutes:return n.getMinutes();case ue.Seconds:return n.getSeconds();case ue.FractionalSeconds:return n.getMilliseconds();case ue.Day:return n.getDay();default:throw new Error(`Unknown DateType value "${e}".`)}}function we(e,n,t=dt.Format,i=!1){return function(r,o){return vS(r,o,e,n,t,i)}}function vS(e,n,t,i,r,o){switch(t){case de.Months:return aS(n,r,i)[e.getMonth()];case de.Days:return sS(n,r,i)[e.getDay()];case de.DayPeriods:let s=e.getHours(),a=e.getMinutes();if(o){let h=dS(n),f=uS(n,r,i),p=h.findIndex(b=>{if(Array.isArray(b)){let[_,x]=b,M=s>=_.hours&&a>=_.minutes,k=s0?Math.floor(r/60):Math.ceil(r/60);switch(e){case On.Short:return(r>=0?"+":"")+Wt(s,2,o)+Wt(Math.abs(r%60),2,o);case On.ShortGMT:return"GMT"+(r>=0?"+":"")+Wt(s,1,o);case On.Long:return"GMT"+(r>=0?"+":"")+Wt(s,2,o)+":"+Wt(Math.abs(r%60),2,o);case On.Extended:return i===0?"Z":(r>=0?"+":"")+Wt(s,2,o)+":"+Wt(Math.abs(r%60),2,o);default:throw new Error(`Unknown zone width "${e}"`)}}}var _S=0,wc=4;function yS(e){let n=xc(e,_S,1).getDay();return xc(e,0,1+(n<=wc?wc:wc+7)-n)}function Cv(e){let n=e.getDay(),t=n===0?-3:wc-n;return xc(e.getFullYear(),e.getMonth(),e.getDate()+t)}function oh(e,n=!1){return function(t,i){let r;if(n){let o=new Date(t.getFullYear(),t.getMonth(),1).getDay()-1,s=t.getDate();r=1+Math.floor((s+o)/7)}else{let o=Cv(t),s=yS(o.getFullYear()),a=o.getTime()-s.getTime();r=1+Math.round(a/6048e5)}return Wt(r,e,An(i,Et.MinusSign))}}function bc(e,n=!1){return function(t,i){let o=Cv(t).getFullYear();return Wt(o,e,An(i,Et.MinusSign),n)}}var sh={};function bS(e){if(sh[e])return sh[e];let n;switch(e){case"G":case"GG":case"GGG":n=we(de.Eras,ve.Abbreviated);break;case"GGGG":n=we(de.Eras,ve.Wide);break;case"GGGGG":n=we(de.Eras,ve.Narrow);break;case"y":n=je(ue.FullYear,1,0,!1,!0);break;case"yy":n=je(ue.FullYear,2,0,!0,!0);break;case"yyy":n=je(ue.FullYear,3,0,!1,!0);break;case"yyyy":n=je(ue.FullYear,4,0,!1,!0);break;case"Y":n=bc(1);break;case"YY":n=bc(2,!0);break;case"YYY":n=bc(3);break;case"YYYY":n=bc(4);break;case"M":case"L":n=je(ue.Month,1,1);break;case"MM":case"LL":n=je(ue.Month,2,1);break;case"MMM":n=we(de.Months,ve.Abbreviated);break;case"MMMM":n=we(de.Months,ve.Wide);break;case"MMMMM":n=we(de.Months,ve.Narrow);break;case"LLL":n=we(de.Months,ve.Abbreviated,dt.Standalone);break;case"LLLL":n=we(de.Months,ve.Wide,dt.Standalone);break;case"LLLLL":n=we(de.Months,ve.Narrow,dt.Standalone);break;case"w":n=oh(1);break;case"ww":n=oh(2);break;case"W":n=oh(1,!0);break;case"d":n=je(ue.Date,1);break;case"dd":n=je(ue.Date,2);break;case"c":case"cc":n=je(ue.Day,1);break;case"ccc":n=we(de.Days,ve.Abbreviated,dt.Standalone);break;case"cccc":n=we(de.Days,ve.Wide,dt.Standalone);break;case"ccccc":n=we(de.Days,ve.Narrow,dt.Standalone);break;case"cccccc":n=we(de.Days,ve.Short,dt.Standalone);break;case"E":case"EE":case"EEE":n=we(de.Days,ve.Abbreviated);break;case"EEEE":n=we(de.Days,ve.Wide);break;case"EEEEE":n=we(de.Days,ve.Narrow);break;case"EEEEEE":n=we(de.Days,ve.Short);break;case"a":case"aa":case"aaa":n=we(de.DayPeriods,ve.Abbreviated);break;case"aaaa":n=we(de.DayPeriods,ve.Wide);break;case"aaaaa":n=we(de.DayPeriods,ve.Narrow);break;case"b":case"bb":case"bbb":n=we(de.DayPeriods,ve.Abbreviated,dt.Standalone,!0);break;case"bbbb":n=we(de.DayPeriods,ve.Wide,dt.Standalone,!0);break;case"bbbbb":n=we(de.DayPeriods,ve.Narrow,dt.Standalone,!0);break;case"B":case"BB":case"BBB":n=we(de.DayPeriods,ve.Abbreviated,dt.Format,!0);break;case"BBBB":n=we(de.DayPeriods,ve.Wide,dt.Format,!0);break;case"BBBBB":n=we(de.DayPeriods,ve.Narrow,dt.Format,!0);break;case"h":n=je(ue.Hours,1,-12);break;case"hh":n=je(ue.Hours,2,-12);break;case"H":n=je(ue.Hours,1);break;case"HH":n=je(ue.Hours,2);break;case"m":n=je(ue.Minutes,1);break;case"mm":n=je(ue.Minutes,2);break;case"s":n=je(ue.Seconds,1);break;case"ss":n=je(ue.Seconds,2);break;case"S":n=je(ue.FractionalSeconds,1);break;case"SS":n=je(ue.FractionalSeconds,2);break;case"SSS":n=je(ue.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":n=yc(On.Short);break;case"ZZZZZ":n=yc(On.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":n=yc(On.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":n=yc(On.Long);break;default:return null}return sh[e]=n,n}function xv(e,n){e=e.replace(/:/g,"");let t=Date.parse("Jan 01, 1970 00:00:00 "+e)/6e4;return isNaN(t)?n:t}function wS(e,n){return e=new Date(e.getTime()),e.setMinutes(e.getMinutes()+n),e}function CS(e,n,t){let i=t?-1:1,r=e.getTimezoneOffset(),o=xv(n,r);return wS(e,i*(o-r))}function xS(e){if(uv(e))return e;if(typeof e=="number"&&!isNaN(e))return new Date(e);if(typeof e=="string"){if(e=e.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(e)){let[r,o=1,s=1]=e.split("-").map(a=>+a);return xc(r,o-1,s)}let t=parseFloat(e);if(!isNaN(e-t))return new Date(t);let i;if(i=e.match(hS))return DS(i)}let n=new Date(e);if(!uv(n))throw new Error(`Unable to convert "${e}" into a date`);return n}function DS(e){let n=new Date(0),t=0,i=0,r=e[8]?n.setUTCFullYear:n.setFullYear,o=e[8]?n.setUTCHours:n.setHours;e[9]&&(t=Number(e[9]+e[10]),i=Number(e[9]+e[11])),r.call(n,Number(e[1]),Number(e[2])-1,Number(e[3]));let s=Number(e[4]||0)-t,a=Number(e[5]||0)-i,c=Number(e[6]||0),h=Math.floor(parseFloat("0."+(e[7]||0))*1e3);return o.call(n,s,a,c,h),n}function uv(e){return e instanceof Date&&!isNaN(e.valueOf())}var ES=/^(\d+)?\.((\d+)(-(\d+))?)?$/,hv=22,Dc=".",So="0",IS=";",SS=",",ah="#";function MS(e,n,t,i,r,o,s=!1){let a="",c=!1;if(!isFinite(e))a=An(t,Et.Infinity);else{let h=kS(e);s&&(h=OS(h));let f=n.minInt,p=n.minFrac,b=n.maxFrac;if(o){let De=o.match(ES);if(De===null)throw new Error(`${o} is not a valid digit info`);let Q=De[1],ke=De[3],yt=De[5];Q!=null&&(f=ch(Q)),ke!=null&&(p=ch(ke)),yt!=null?b=ch(yt):ke!=null&&p>b&&(b=p)}PS(h,p,b);let _=h.digits,x=h.integerLen,M=h.exponent,k=[];for(c=_.every(De=>!De);x0?k=_.splice(x,_.length):(k=_,_=[0]);let V=[];for(_.length>=n.lgSize&&V.unshift(_.splice(-n.lgSize,_.length).join(""));_.length>n.gSize;)V.unshift(_.splice(-n.gSize,_.length).join(""));_.length&&V.unshift(_.join("")),a=V.join(An(t,i)),k.length&&(a+=An(t,r)+k.join("")),M&&(a+=An(t,Et.Exponential)+"+"+M)}return e<0&&!c?a=n.negPre+a+n.negSuf:a=n.posPre+a+n.posSuf,a}function TS(e,n,t){let i=lS(n,bv.Decimal),r=AS(i,An(n,Et.MinusSign));return MS(e,r,n,Et.Group,Et.Decimal,t)}function AS(e,n="-"){let t={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=e.split(IS),r=i[0],o=i[1],s=r.indexOf(Dc)!==-1?r.split(Dc):[r.substring(0,r.lastIndexOf(So)+1),r.substring(r.lastIndexOf(So)+1)],a=s[0],c=s[1]||"";t.posPre=a.substring(0,a.indexOf(ah));for(let f=0;f-1&&(n=n.replace(Dc,"")),(o=n.search(/e/i))>0?(r<0&&(r=o),r+=+n.slice(o+1),n=n.substring(0,o)):r<0&&(r=n.length),o=0;n.charAt(o)===So;o++);if(o===(a=n.length))i=[0],r=1;else{for(a--;n.charAt(a)===So;)a--;for(r-=o,i=[],s=0;o<=a;o++,s++)i[s]=Number(n.charAt(o))}return r>hv&&(i=i.splice(0,hv-1),t=r-1,r=1),{digits:i,exponent:t,integerLen:r}}function PS(e,n,t){if(n>t)throw new Error(`The minimum number of digits after fraction (${n}) is higher than the maximum (${t}).`);let i=e.digits,r=i.length-e.integerLen,o=Math.min(Math.max(n,r),t),s=o+e.integerLen,a=i[s];if(s>0){i.splice(Math.max(e.integerLen,s));for(let p=s;p=5)if(s-1<0){for(let p=0;p>s;p--)i.unshift(0),e.integerLen++;i.unshift(1),e.integerLen++}else i[s-1]++;for(;r=h?x.pop():c=!1),b>=10?1:0},0);f&&(i.unshift(f),e.integerLen++)}function ch(e){let n=parseInt(e);if(isNaN(n))throw new Error("Invalid integer literal when parsing "+e);return n}function Ic(e,n){n=encodeURIComponent(n);for(let t of e.split(";")){let i=t.indexOf("="),[r,o]=i==-1?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===n)return decodeURIComponent(o)}return null}var lh=class{constructor(n,t,i,r){this.$implicit=n,this.ngForOf=t,this.index=i,this.count=r}get first(){return this.index===0}get last(){return this.index===this.count-1}get even(){return this.index%2===0}get odd(){return!this.even}},br=(()=>{class e{set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;let t=this._ngForOf;if(!this._differ&&t)if(0)try{}catch{}else this._differ=this._differs.find(t).create(this.ngForTrackBy)}if(this._differ){let t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){let i=this._viewContainer;t.forEachOperation((r,o,s)=>{if(r.previousIndex==null)i.createEmbeddedView(this._template,new lh(r.item,this._ngForOf,-1,-1),s===null?void 0:s);else if(s==null)i.remove(o===null?void 0:o);else if(o!==null){let a=i.get(o);i.move(a,s),fv(a,r)}});for(let r=0,o=i.length;r{let o=i.get(r.currentIndex);fv(o,r)})}static ngTemplateContextGuard(t,i){return!0}static{this.\u0275fac=function(i){return new(i||e)(w(Ct),w(bt),w(fc))}}static{this.\u0275dir=ce({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}}return e})();function fv(e,n){e.context.$implicit=n.item}var vt=(()=>{class e{constructor(t,i){this._viewContainer=t,this._context=new dh,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){pv("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){pv("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,i){return!0}static{this.\u0275fac=function(i){return new(i||e)(w(Ct),w(bt))}}static{this.\u0275dir=ce({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}}return e})(),dh=class{constructor(){this.$implicit=null,this.ngIf=null}};function pv(e,n){if(!!!(!n||n.createEmbeddedView))throw new Error(`${e} must be a TemplateRef, but received '${at(n)}'.`)}var RS=!0,uh=class{constructor(n,t){this._viewContainerRef=n,this._templateRef=t,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(n){n&&!this._created?this.create():!n&&this._created&&this.destroy()}},Mo=(()=>{class e{constructor(){this._defaultViews=[],this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(t){this._ngSwitch=t,this._caseCount===0&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(t){this._defaultViews.push(t)}_matchCase(t){let i=RS?t===this._ngSwitch:t==this._ngSwitch;return this._lastCasesMatched||=i,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),i}_updateDefaultCases(t){if(this._defaultViews.length>0&&t!==this._defaultUsed){this._defaultUsed=t;for(let i of this._defaultViews)i.enforceState(t)}}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275dir=ce({type:e,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"},standalone:!0})}}return e})(),Sc=(()=>{class e{constructor(t,i,r){this.ngSwitch=r,r._addCase(),this._view=new uh(t,i)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}static{this.\u0275fac=function(i){return new(i||e)(w(Ct),w(bt),w(Mo,9))}}static{this.\u0275dir=ce({type:e,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"},standalone:!0})}}return e})();function Dv(e,n){return new P(2100,!1)}var NS="mediumDate",FS=new O(""),LS=new O(""),Ev=(()=>{class e{constructor(t,i,r){this.locale=t,this.defaultTimezone=i,this.defaultOptions=r}transform(t,i,r,o){if(t==null||t===""||t!==t)return null;try{let s=i??this.defaultOptions?.dateFormat??NS,a=r??this.defaultOptions?.timezone??this.defaultTimezone??void 0;return pS(t,s,o||this.locale,a)}catch(s){throw Dv(e,s.message)}}static{this.\u0275fac=function(i){return new(i||e)(w(_r,16),w(FS,24),w(LS,24))}}static{this.\u0275pipe=vu({name:"date",type:e,pure:!0,standalone:!0})}}return e})();var Iv=(()=>{class e{constructor(t){this._locale=t}transform(t,i,r){if(!VS(t))return null;r||=this._locale;try{let o=jS(t);return TS(o,r,i)}catch(o){throw Dv(e,o.message)}}static{this.\u0275fac=function(i){return new(i||e)(w(_r,16))}}static{this.\u0275pipe=vu({name:"number",type:e,pure:!0,standalone:!0})}}return e})();function VS(e){return!(e==null||e===""||e!==e)}function jS(e){if(typeof e=="string"&&!isNaN(Number(e)-parseFloat(e)))return Number(e);if(typeof e!="number")throw new Error(`${e} is not a number`);return e}var _t=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=G({type:e})}static{this.\u0275inj=z({})}}return e})(),vh="browser",BS="server";function un(e){return e===vh}function Mc(e){return e===BS}var Sv=(()=>{class e{static{this.\u0275prov=D({token:e,providedIn:"root",factory:()=>un(S(Je))?new hh(S(W),window):new fh})}}return e})(),hh=class{constructor(n,t){this.document=n,this.window=t,this.offset=()=>[0,0]}setOffset(n){Array.isArray(n)?this.offset=()=>n:this.offset=n}getScrollPosition(){return[this.window.scrollX,this.window.scrollY]}scrollToPosition(n){this.window.scrollTo(n[0],n[1])}scrollToAnchor(n){let t=US(this.document,n);t&&(this.scrollToElement(t),t.focus())}setHistoryScrollRestoration(n){this.window.history.scrollRestoration=n}scrollToElement(n){let t=n.getBoundingClientRect(),i=t.left+this.window.pageXOffset,r=t.top+this.window.pageYOffset,o=this.offset();this.window.scrollTo(i-o[0],r-o[1])}};function US(e,n){let t=e.getElementById(n)||e.getElementsByName(n)[0];if(t)return t;if(typeof e.createTreeWalker=="function"&&e.body&&typeof e.body.attachShadow=="function"){let i=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT),r=i.currentNode;for(;r;){let o=r.shadowRoot;if(o){let s=o.getElementById(n)||o.querySelector(`[name="${n}"]`);if(s)return s}r=i.nextNode()}}return null}var fh=class{setOffset(n){}getScrollPosition(){return[0,0]}scrollToPosition(n){}scrollToAnchor(n){}setHistoryScrollRestoration(n){}},yr=class{};var Ao=class{},Ac=class{},Pn=class e{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?typeof n=="string"?this.lazyInit=()=>{this.headers=new Map,n.split(` -`).forEach(t=>{let i=t.indexOf(":");if(i>0){let r=t.slice(0,i),o=r.toLowerCase(),s=t.slice(i+1).trim();this.maybeSetNormalizedName(r,o),this.headers.has(o)?this.headers.get(o).push(s):this.headers.set(o,[s])}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((t,i)=>{this.setHeaderEntries(i,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([t,i])=>{this.setHeaderEntries(t,i)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();let t=this.headers.get(n.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,t){return this.clone({name:n,value:t,op:"a"})}set(n,t){return this.clone({name:n,value:t,op:"s"})}delete(n,t){return this.clone({name:n,value:t,op:"d"})}maybeSetNormalizedName(n,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,n)}init(){this.lazyInit&&(this.lazyInit instanceof e?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(t=>{this.headers.set(t,n.headers.get(t)),this.normalizedNames.set(t,n.normalizedNames.get(t))})}clone(n){let t=new e;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof e?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([n]),t}applyUpdate(n){let t=n.name.toLowerCase();switch(n.op){case"a":case"s":let i=n.value;if(typeof i=="string"&&(i=[i]),i.length===0)return;this.maybeSetNormalizedName(n.name,t);let r=(n.op==="a"?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":let o=n.value;if(!o)this.headers.delete(t),this.normalizedNames.delete(t);else{let s=this.headers.get(t);if(!s)return;s=s.filter(a=>o.indexOf(a)===-1),s.length===0?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,s)}break}}setHeaderEntries(n,t){let i=(Array.isArray(t)?t:[t]).map(o=>o.toString()),r=n.toLowerCase();this.headers.set(r,i),this.maybeSetNormalizedName(n,r)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>n(this.normalizedNames.get(t),this.headers.get(t)))}};var yh=class{encodeKey(n){return Mv(n)}encodeValue(n){return Mv(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}};function zS(e,n){let t=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{let o=r.indexOf("="),[s,a]=o==-1?[n.decodeKey(r),""]:[n.decodeKey(r.slice(0,o)),n.decodeValue(r.slice(o+1))],c=t.get(s)||[];c.push(a),t.set(s,c)}),t}var GS=/%(\d[a-f0-9])/gi,WS={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function Mv(e){return encodeURIComponent(e).replace(GS,(n,t)=>WS[t]??n)}function Tc(e){return`${e}`}var Kn=class e{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new yh,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=zS(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(t=>{let i=n.fromObject[t],r=Array.isArray(i)?i.map(Tc):[Tc(i)];this.map.set(t,r)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();let t=this.map.get(n);return t?t[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,t){return this.clone({param:n,value:t,op:"a"})}appendAll(n){let t=[];return Object.keys(n).forEach(i=>{let r=n[i];Array.isArray(r)?r.forEach(o=>{t.push({param:i,value:o,op:"a"})}):t.push({param:i,value:r,op:"a"})}),this.clone(t)}set(n,t){return this.clone({param:n,value:t,op:"s"})}delete(n,t){return this.clone({param:n,value:t,op:"d"})}toString(){return this.init(),this.keys().map(n=>{let t=this.encoder.encodeKey(n);return this.map.get(n).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(n=>n!=="").join("&")}clone(n){let t=new e({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(n),t}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":let t=(n.op==="a"?this.map.get(n.param):void 0)||[];t.push(Tc(n.value)),this.map.set(n.param,t);break;case"d":if(n.value!==void 0){let i=this.map.get(n.param)||[],r=i.indexOf(Tc(n.value));r!==-1&&i.splice(r,1),i.length>0?this.map.set(n.param,i):this.map.delete(n.param)}else{this.map.delete(n.param);break}}}),this.cloneFrom=this.updates=null)}};var bh=class{constructor(){this.map=new Map}set(n,t){return this.map.set(n,t),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}};function qS(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}function Tv(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function Av(e){return typeof Blob<"u"&&e instanceof Blob}function Ov(e){return typeof FormData<"u"&&e instanceof FormData}function YS(e){return typeof URLSearchParams<"u"&&e instanceof URLSearchParams}var To=class e{constructor(n,t,i,r){this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase();let o;if(qS(this.method)||r?(this.body=i!==void 0?i:null,o=r):o=i,o&&(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params),this.transferCache=o.transferCache),this.headers??=new Pn,this.context??=new bh,!this.params)this.params=new Kn,this.urlWithParams=t;else{let s=this.params.toString();if(s.length===0)this.urlWithParams=t;else{let a=t.indexOf("?"),c=a===-1?"?":ab.set(_,n.setHeaders[_]),h)),n.setParams&&(f=Object.keys(n.setParams).reduce((b,_)=>b.set(_,n.setParams[_]),f)),new e(t,i,s,{params:f,headers:h,context:p,reportProgress:c,responseType:r,withCredentials:a,transferCache:o})}},wr=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(wr||{}),Oo=class{constructor(n,t=Pc.Ok,i="OK"){this.headers=n.headers||new Pn,this.status=n.status!==void 0?n.status:t,this.statusText=n.statusText||i,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}},wh=class e extends Oo{constructor(n={}){super(n),this.type=wr.ResponseHeader}clone(n={}){return new e({headers:n.headers||this.headers,status:n.status!==void 0?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}},Oc=class e extends Oo{constructor(n={}){super(n),this.type=wr.Response,this.body=n.body!==void 0?n.body:null}clone(n={}){return new e({body:n.body!==void 0?n.body:this.body,headers:n.headers||this.headers,status:n.status!==void 0?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}},kc=class extends Oo{constructor(n){super(n,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.status>=200&&this.status<300?this.message=`Http failure during parsing for ${n.url||"(unknown url)"}`:this.message=`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}},Pc=function(e){return e[e.Continue=100]="Continue",e[e.SwitchingProtocols=101]="SwitchingProtocols",e[e.Processing=102]="Processing",e[e.EarlyHints=103]="EarlyHints",e[e.Ok=200]="Ok",e[e.Created=201]="Created",e[e.Accepted=202]="Accepted",e[e.NonAuthoritativeInformation=203]="NonAuthoritativeInformation",e[e.NoContent=204]="NoContent",e[e.ResetContent=205]="ResetContent",e[e.PartialContent=206]="PartialContent",e[e.MultiStatus=207]="MultiStatus",e[e.AlreadyReported=208]="AlreadyReported",e[e.ImUsed=226]="ImUsed",e[e.MultipleChoices=300]="MultipleChoices",e[e.MovedPermanently=301]="MovedPermanently",e[e.Found=302]="Found",e[e.SeeOther=303]="SeeOther",e[e.NotModified=304]="NotModified",e[e.UseProxy=305]="UseProxy",e[e.Unused=306]="Unused",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e[e.BadRequest=400]="BadRequest",e[e.Unauthorized=401]="Unauthorized",e[e.PaymentRequired=402]="PaymentRequired",e[e.Forbidden=403]="Forbidden",e[e.NotFound=404]="NotFound",e[e.MethodNotAllowed=405]="MethodNotAllowed",e[e.NotAcceptable=406]="NotAcceptable",e[e.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",e[e.RequestTimeout=408]="RequestTimeout",e[e.Conflict=409]="Conflict",e[e.Gone=410]="Gone",e[e.LengthRequired=411]="LengthRequired",e[e.PreconditionFailed=412]="PreconditionFailed",e[e.PayloadTooLarge=413]="PayloadTooLarge",e[e.UriTooLong=414]="UriTooLong",e[e.UnsupportedMediaType=415]="UnsupportedMediaType",e[e.RangeNotSatisfiable=416]="RangeNotSatisfiable",e[e.ExpectationFailed=417]="ExpectationFailed",e[e.ImATeapot=418]="ImATeapot",e[e.MisdirectedRequest=421]="MisdirectedRequest",e[e.UnprocessableEntity=422]="UnprocessableEntity",e[e.Locked=423]="Locked",e[e.FailedDependency=424]="FailedDependency",e[e.TooEarly=425]="TooEarly",e[e.UpgradeRequired=426]="UpgradeRequired",e[e.PreconditionRequired=428]="PreconditionRequired",e[e.TooManyRequests=429]="TooManyRequests",e[e.RequestHeaderFieldsTooLarge=431]="RequestHeaderFieldsTooLarge",e[e.UnavailableForLegalReasons=451]="UnavailableForLegalReasons",e[e.InternalServerError=500]="InternalServerError",e[e.NotImplemented=501]="NotImplemented",e[e.BadGateway=502]="BadGateway",e[e.ServiceUnavailable=503]="ServiceUnavailable",e[e.GatewayTimeout=504]="GatewayTimeout",e[e.HttpVersionNotSupported=505]="HttpVersionNotSupported",e[e.VariantAlsoNegotiates=506]="VariantAlsoNegotiates",e[e.InsufficientStorage=507]="InsufficientStorage",e[e.LoopDetected=508]="LoopDetected",e[e.NotExtended=510]="NotExtended",e[e.NetworkAuthenticationRequired=511]="NetworkAuthenticationRequired",e}(Pc||{});function _h(e,n){return{body:n,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials,transferCache:e.transferCache}}var Rn=(()=>{class e{constructor(t){this.handler=t}request(t,i,r={}){let o;if(t instanceof To)o=t;else{let c;r.headers instanceof Pn?c=r.headers:c=new Pn(r.headers);let h;r.params&&(r.params instanceof Kn?h=r.params:h=new Kn({fromObject:r.params})),o=new To(t,i,r.body!==void 0?r.body:null,{headers:c,context:r.context,params:h,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials,transferCache:r.transferCache})}let s=N(o).pipe(mn(c=>this.handler.handle(c)));if(t instanceof To||r.observe==="events")return s;let a=s.pipe(be(c=>c instanceof Oc));switch(r.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return a.pipe(U(c=>{if(c.body!==null&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return a.pipe(U(c=>{if(c.body!==null&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return a.pipe(U(c=>{if(c.body!==null&&typeof c.body!="string")throw new Error("Response is not a string.");return c.body}));case"json":default:return a.pipe(U(c=>c.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:new Kn().append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,_h(r,i))}post(t,i,r={}){return this.request("POST",t,_h(r,i))}put(t,i,r={}){return this.request("PUT",t,_h(r,i))}static{this.\u0275fac=function(i){return new(i||e)(v(Ao))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac})}}return e})();function Nv(e,n){return n(e)}function QS(e,n){return(t,i)=>n.intercept(t,{handle:r=>e(r,i)})}function ZS(e,n,t){return(i,r)=>Ht(t,()=>n(i,o=>e(o,r)))}var KS=new O(""),Ch=new O(""),XS=new O(""),JS=new O("");function eM(){let e=null;return(n,t)=>{e===null&&(e=(S(KS,{optional:!0})??[]).reduceRight(QS,Nv));let i=S(Ei),r=i.add();return e(n,t).pipe(rt(()=>i.remove(r)))}}var kv=(()=>{class e extends Ao{constructor(t,i){super(),this.backend=t,this.injector=i,this.chain=null,this.pendingTasks=S(Ei);let r=S(JS,{optional:!0});this.backend=r??t}handle(t){if(this.chain===null){let r=Array.from(new Set([...this.injector.get(Ch),...this.injector.get(XS,[])]));this.chain=r.reduceRight((o,s)=>ZS(o,s,this.injector),Nv)}let i=this.pendingTasks.add();return this.chain(t,r=>this.backend.handle(r)).pipe(rt(()=>this.pendingTasks.remove(i)))}static{this.\u0275fac=function(i){return new(i||e)(v(Ac),v(Ze))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac})}}return e})();var tM=/^\)\]\}',?\n/;function nM(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}var Pv=(()=>{class e{constructor(t){this.xhrFactory=t}handle(t){if(t.method==="JSONP")throw new P(-2800,!1);let i=this.xhrFactory;return(i.\u0275loadImpl?me(i.\u0275loadImpl()):N(null)).pipe($e(()=>new Z(o=>{let s=i.build();if(s.open(t.method,t.urlWithParams),t.withCredentials&&(s.withCredentials=!0),t.headers.forEach((M,k)=>s.setRequestHeader(M,k.join(","))),t.headers.has("Accept")||s.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){let M=t.detectContentTypeHeader();M!==null&&s.setRequestHeader("Content-Type",M)}if(t.responseType){let M=t.responseType.toLowerCase();s.responseType=M!=="json"?M:"text"}let a=t.serializeBody(),c=null,h=()=>{if(c!==null)return c;let M=s.statusText||"OK",k=new Pn(s.getAllResponseHeaders()),V=nM(s)||t.url;return c=new wh({headers:k,status:s.status,statusText:M,url:V}),c},f=()=>{let{headers:M,status:k,statusText:V,url:De}=h(),Q=null;k!==Pc.NoContent&&(Q=typeof s.response>"u"?s.responseText:s.response),k===0&&(k=Q?Pc.Ok:0);let ke=k>=200&&k<300;if(t.responseType==="json"&&typeof Q=="string"){let yt=Q;Q=Q.replace(tM,"");try{Q=Q!==""?JSON.parse(Q):null}catch(Qe){Q=yt,ke&&(ke=!1,Q={error:Qe,text:Q})}}ke?(o.next(new Oc({body:Q,headers:M,status:k,statusText:V,url:De||void 0})),o.complete()):o.error(new kc({error:Q,headers:M,status:k,statusText:V,url:De||void 0}))},p=M=>{let{url:k}=h(),V=new kc({error:M,status:s.status||0,statusText:s.statusText||"Unknown Error",url:k||void 0});o.error(V)},b=!1,_=M=>{b||(o.next(h()),b=!0);let k={type:wr.DownloadProgress,loaded:M.loaded};M.lengthComputable&&(k.total=M.total),t.responseType==="text"&&s.responseText&&(k.partialText=s.responseText),o.next(k)},x=M=>{let k={type:wr.UploadProgress,loaded:M.loaded};M.lengthComputable&&(k.total=M.total),o.next(k)};return s.addEventListener("load",f),s.addEventListener("error",p),s.addEventListener("timeout",p),s.addEventListener("abort",p),t.reportProgress&&(s.addEventListener("progress",_),a!==null&&s.upload&&s.upload.addEventListener("progress",x)),s.send(a),o.next({type:wr.Sent}),()=>{s.removeEventListener("error",p),s.removeEventListener("abort",p),s.removeEventListener("load",f),s.removeEventListener("timeout",p),t.reportProgress&&(s.removeEventListener("progress",_),a!==null&&s.upload&&s.upload.removeEventListener("progress",x)),s.readyState!==s.DONE&&s.abort()}})))}static{this.\u0275fac=function(i){return new(i||e)(v(yr))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac})}}return e})(),Fv=new O(""),iM="XSRF-TOKEN",rM=new O("",{providedIn:"root",factory:()=>iM}),oM="X-XSRF-TOKEN",sM=new O("",{providedIn:"root",factory:()=>oM}),Rc=class{},aM=(()=>{class e{constructor(t,i,r){this.doc=t,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if(this.platform==="server")return null;let t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Ic(t,this.cookieName),this.lastCookieString=t),this.lastToken}static{this.\u0275fac=function(i){return new(i||e)(v(W),v(Je),v(rM))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac})}}return e})();function cM(e,n){let t=e.url.toLowerCase();if(!S(Fv)||e.method==="GET"||e.method==="HEAD"||t.startsWith("http://")||t.startsWith("https://"))return n(e);let i=S(Rc).getToken(),r=S(sM);return i!=null&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,i)})),n(e)}var Lv=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(Lv||{});function lM(e,n){return{\u0275kind:e,\u0275providers:n}}function dM(...e){let n=[Rn,Pv,kv,{provide:Ao,useExisting:kv},{provide:Ac,useExisting:Pv},{provide:Ch,useValue:cM,multi:!0},{provide:Fv,useValue:!0},{provide:Rc,useClass:aM}];for(let t of e)n.push(...t.\u0275providers);return Ba(n)}var Rv=new O("");function uM(){return lM(Lv.LegacyInterceptors,[{provide:Rv,useFactory:eM},{provide:Ch,useExisting:Rv,multi:!0}])}var Vv=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=G({type:e})}static{this.\u0275inj=z({providers:[dM(uM())]})}}return e})();var Eh=class extends Cc{constructor(){super(...arguments),this.supportsDOMEvents=!0}},Ih=class e extends Eh{static makeCurrent(){gv(new e)}onAndCancel(n,t,i){return n.addEventListener(t,i),()=>{n.removeEventListener(t,i)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,t){return t=t||this.getDefaultDocument(),t.createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return t==="window"?window:t==="document"?n:t==="body"?n.body:null}getBaseHref(n){let t=hM();return t==null?null:fM(t)}resetBaseElement(){ko=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return Ic(document.cookie,n)}},ko=null;function hM(){return ko=ko||document.querySelector("base"),ko?ko.getAttribute("href"):null}function fM(e){return new URL(e,document.baseURI).pathname}var Sh=class{addToWindow(n){Pe.getAngularTestability=(i,r=!0)=>{let o=n.findTestabilityInTree(i,r);if(o==null)throw new P(5103,!1);return o},Pe.getAllAngularTestabilities=()=>n.getAllTestabilities(),Pe.getAllAngularRootElements=()=>n.getAllRootElements();let t=i=>{let r=Pe.getAllAngularTestabilities(),o=r.length,s=function(){o--,o==0&&i()};r.forEach(a=>{a.whenStable(s)})};Pe.frameworkStabilizers||(Pe.frameworkStabilizers=[]),Pe.frameworkStabilizers.push(t)}findTestabilityInTree(n,t,i){if(t==null)return null;let r=n.getTestability(t);return r??(i?ln().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},pM=(()=>{class e{build(){return new XMLHttpRequest}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac})}}return e})(),Mh=new O(""),$v=(()=>{class e{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>{r.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){let i=this._eventNameToPlugin.get(t);if(i)return i;if(i=this._plugins.find(o=>o.supports(t)),!i)throw new P(5101,!1);return this._eventNameToPlugin.set(t,i),i}static{this.\u0275fac=function(i){return new(i||e)(v(Mh),v(F))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac})}}return e})(),Fc=class{constructor(n){this._doc=n}},xh="ng-app-id",Hv=(()=>{class e{constructor(t,i,r,o={}){this.doc=t,this.appId=i,this.nonce=r,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Mc(o),this.resetHostNodes()}addStyles(t){for(let i of t)this.changeUsageCount(i,1)===1&&this.onStyleAdded(i)}removeStyles(t){for(let i of t)this.changeUsageCount(i,-1)<=0&&this.onStyleRemoved(i)}ngOnDestroy(){let t=this.styleNodesInDOM;t&&(t.forEach(i=>i.remove()),t.clear());for(let i of this.getAllStyles())this.onStyleRemoved(i);this.resetHostNodes()}addHost(t){this.hostNodes.add(t);for(let i of this.getAllStyles())this.addStyleToHost(t,i)}removeHost(t){this.hostNodes.delete(t)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(t){for(let i of this.hostNodes)this.addStyleToHost(i,t)}onStyleRemoved(t){let i=this.styleRef;i.get(t)?.elements?.forEach(r=>r.remove()),i.delete(t)}collectServerRenderedStyles(){let t=this.doc.head?.querySelectorAll(`style[${xh}="${this.appId}"]`);if(t?.length){let i=new Map;return t.forEach(r=>{r.textContent!=null&&i.set(r.textContent,r)}),i}return null}changeUsageCount(t,i){let r=this.styleRef;if(r.has(t)){let o=r.get(t);return o.usage+=i,o.usage}return r.set(t,{usage:i,elements:[]}),i}getStyleElement(t,i){let r=this.styleNodesInDOM,o=r?.get(i);if(o?.parentNode===t)return r.delete(i),o.removeAttribute(xh),o;{let s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=i,this.platformIsServer&&s.setAttribute(xh,this.appId),t.appendChild(s),s}}addStyleToHost(t,i){let r=this.getStyleElement(t,i),o=this.styleRef,s=o.get(i)?.elements;s?s.push(r):o.set(i,{elements:[r],usage:1})}resetHostNodes(){let t=this.hostNodes;t.clear(),t.add(this.doc.head)}static{this.\u0275fac=function(i){return new(i||e)(v(W),v(go),v(vo,8),v(Je))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac})}}return e})(),Dh={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},Ah=/%COMP%/g,zv="%COMP%",mM=`_nghost-${zv}`,gM=`_ngcontent-${zv}`,vM=!0,_M=new O("",{providedIn:"root",factory:()=>vM});function yM(e){return gM.replace(Ah,e)}function bM(e){return mM.replace(Ah,e)}function Gv(e,n){return n.map(t=>t.replace(Ah,e))}var jv=(()=>{class e{constructor(t,i,r,o,s,a,c,h=null){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.removeStylesOnCompDestroy=o,this.doc=s,this.platformId=a,this.ngZone=c,this.nonce=h,this.rendererByCompId=new Map,this.platformIsServer=Mc(a),this.defaultRenderer=new Po(t,s,c,this.platformIsServer)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;this.platformIsServer&&i.encapsulation===on.ShadowDom&&(i=ae(E({},i),{encapsulation:on.Emulated}));let r=this.getOrCreateRenderer(t,i);return r instanceof Lc?r.applyToHost(t):r instanceof Ro&&r.applyStyles(),r}getOrCreateRenderer(t,i){let r=this.rendererByCompId,o=r.get(i.id);if(!o){let s=this.doc,a=this.ngZone,c=this.eventManager,h=this.sharedStylesHost,f=this.removeStylesOnCompDestroy,p=this.platformIsServer;switch(i.encapsulation){case on.Emulated:o=new Lc(c,h,i,this.appId,f,s,a,p);break;case on.ShadowDom:return new Th(c,h,t,i,s,a,this.nonce,p);default:o=new Ro(c,h,i,f,s,a,p);break}r.set(i.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}static{this.\u0275fac=function(i){return new(i||e)(v($v),v(Hv),v(go),v(_M),v(W),v(Je),v(F),v(vo))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac})}}return e})(),Po=class{constructor(n,t,i,r){this.eventManager=n,this.doc=t,this.ngZone=i,this.platformIsServer=r,this.data=Object.create(null),this.throwOnSyntheticProps=!0,this.destroyNode=null}destroy(){}createElement(n,t){return t?this.doc.createElementNS(Dh[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(Bv(n)?n.content:n).appendChild(t)}insertBefore(n,t,i){n&&(Bv(n)?n.content:n).insertBefore(t,i)}removeChild(n,t){n&&n.removeChild(t)}selectRootElement(n,t){let i=typeof n=="string"?this.doc.querySelector(n):n;if(!i)throw new P(-5104,!1);return t||(i.textContent=""),i}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,i,r){if(r){t=r+":"+t;let o=Dh[r];o?n.setAttributeNS(o,t,i):n.setAttribute(t,i)}else n.setAttribute(t,i)}removeAttribute(n,t,i){if(i){let r=Dh[i];r?n.removeAttributeNS(r,t):n.removeAttribute(`${i}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,i,r){r&(vn.DashCase|vn.Important)?n.style.setProperty(t,i,r&vn.Important?"important":""):n.style[t]=i}removeStyle(n,t,i){i&vn.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,i){n!=null&&(n[t]=i)}setValue(n,t){n.nodeValue=t}listen(n,t,i){if(typeof n=="string"&&(n=ln().getGlobalEventTarget(this.doc,n),!n))throw new Error(`Unsupported event target ${n} for event ${t}`);return this.eventManager.addEventListener(n,t,this.decoratePreventDefault(i))}decoratePreventDefault(n){return t=>{if(t==="__ngUnwrap__")return n;(this.platformIsServer?this.ngZone.runGuarded(()=>n(t)):n(t))===!1&&t.preventDefault()}}};function Bv(e){return e.tagName==="TEMPLATE"&&e.content!==void 0}var Th=class extends Po{constructor(n,t,i,r,o,s,a,c){super(n,o,s,c),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);let h=Gv(r.id,r.styles);for(let f of h){let p=document.createElement("style");a&&p.setAttribute("nonce",a),p.textContent=f,this.shadowRoot.appendChild(p)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,i){return super.insertBefore(this.nodeOrShadowRoot(n),t,i)}removeChild(n,t){return super.removeChild(this.nodeOrShadowRoot(n),t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}},Ro=class extends Po{constructor(n,t,i,r,o,s,a,c){super(n,o,s,a),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=r,this.styles=c?Gv(c,i.styles):i.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}},Lc=class extends Ro{constructor(n,t,i,r,o,s,a,c){let h=r+"-"+i.id;super(n,t,i,o,s,a,c,h),this.contentAttr=yM(h),this.hostAttr=bM(h)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){let i=super.createElement(n,t);return super.setAttribute(i,this.contentAttr,""),i}},wM=(()=>{class e extends Fc{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}static{this.\u0275fac=function(i){return new(i||e)(v(W))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac})}}return e})(),Uv=["alt","control","meta","shift"],CM={"\b":"Backspace"," ":"Tab","\x7F":"Delete","\x1B":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},xM={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey},DM=(()=>{class e extends Fc{constructor(t){super(t)}supports(t){return e.parseEventName(t)!=null}addEventListener(t,i,r){let o=e.parseEventName(i),s=e.eventCallback(o.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ln().onAndCancel(t,o.domEventName,s))}static parseEventName(t){let i=t.toLowerCase().split("."),r=i.shift();if(i.length===0||!(r==="keydown"||r==="keyup"))return null;let o=e._normalizeKey(i.pop()),s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),Uv.forEach(h=>{let f=i.indexOf(h);f>-1&&(i.splice(f,1),s+=h+".")}),s+=o,i.length!=0||o.length===0)return null;let c={};return c.domEventName=r,c.fullKey=s,c}static matchEventFullKeyCode(t,i){let r=CM[t.key]||t.key,o="";return i.indexOf("code.")>-1&&(r=t.code,o="code."),r==null||!r?!1:(r=r.toLowerCase(),r===" "?r="space":r==="."&&(r="dot"),Uv.forEach(s=>{if(s!==r){let a=xM[s];a(t)&&(o+=s+".")}}),o+=r,o===i)}static eventCallback(t,i,r){return o=>{e.matchEventFullKeyCode(o,t)&&r.runGuarded(()=>i(o))}}static _normalizeKey(t){return t==="esc"?"escape":t}static{this.\u0275fac=function(i){return new(i||e)(v(W))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac})}}return e})();function EM(){Ih.makeCurrent()}function IM(){return new $t}function SM(){return Gg(document),document}var MM=[{provide:Je,useValue:vh},{provide:ku,useValue:EM,multi:!0},{provide:W,useFactory:SM,deps:[]}],Wv=nh(sv,"browser",MM),TM=new O(""),AM=[{provide:Io,useClass:Sh,deps:[]},{provide:eh,useClass:cc,deps:[F,lc,Io]},{provide:cc,useClass:cc,deps:[F,lc,Io]}],OM=[{provide:Ua,useValue:"root"},{provide:$t,useFactory:IM,deps:[]},{provide:Mh,useClass:wM,multi:!0,deps:[W,F,Je]},{provide:Mh,useClass:DM,multi:!0,deps:[W]},jv,Hv,$v,{provide:co,useExisting:jv},{provide:yr,useClass:pM,deps:[]},[]],qv=(()=>{class e{constructor(t){}static withServerTransition(t){return{ngModule:e,providers:[{provide:go,useValue:t.appId}]}}static{this.\u0275fac=function(i){return new(i||e)(v(TM,12))}}static{this.\u0275mod=G({type:e})}static{this.\u0275inj=z({providers:[...OM,...AM],imports:[_t,av]})}}return e})();var Vc=(()=>{class e{constructor(t){this._doc=t}getTitle(){return this._doc.title}setTitle(t){this._doc.title=t||""}static{this.\u0275fac=function(i){return new(i||e)(v(W))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var n_=(()=>{class e{constructor(t,i){this._renderer=t,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(t,i){this._renderer.setProperty(this._elementRef.nativeElement,t,i)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static{this.\u0275fac=function(i){return new(i||e)(w(Zn),w(re))}}static{this.\u0275dir=ce({type:e})}}return e})(),i_=(()=>{class e extends n_{static{this.\u0275fac=(()=>{let t;return function(r){return(t||(t=bn(e)))(r||e)}})()}static{this.\u0275dir=ce({type:e,features:[He]})}}return e})(),Dr=new O(""),kM={provide:Dr,useExisting:cn(()=>Fh),multi:!0},Fh=(()=>{class e extends i_{writeValue(t){this.setProperty("checked",t)}static{this.\u0275fac=(()=>{let t;return function(r){return(t||(t=bn(e)))(r||e)}})()}static{this.\u0275dir=ce({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(i,r){i&1&&I("change",function(s){return r.onChange(s.target.checked)})("blur",function(){return r.onTouched()})},features:[At([kM]),He]})}}return e})(),PM={provide:Dr,useExisting:cn(()=>Jn),multi:!0};function RM(){let e=ln()?ln().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}var NM=new O(""),Jn=(()=>{class e extends n_{constructor(t,i,r){super(t,i),this._compositionMode=r,this._composing=!1,this._compositionMode==null&&(this._compositionMode=!RM())}writeValue(t){let i=t??"";this.setProperty("value",i)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static{this.\u0275fac=function(i){return new(i||e)(w(Zn),w(re),w(NM,8))}}static{this.\u0275dir=ce({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(i,r){i&1&&I("input",function(s){return r._handleInput(s.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(s){return r._compositionEnd(s.target.value)})},features:[At([PM]),He]})}}return e})();function Xn(e){return e==null||(typeof e=="string"||Array.isArray(e))&&e.length===0}function r_(e){return e!=null&&typeof e.length=="number"}var Vo=new O(""),Lh=new O(""),FM=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Nn=class{static min(n){return LM(n)}static max(n){return VM(n)}static required(n){return jM(n)}static requiredTrue(n){return BM(n)}static email(n){return UM(n)}static minLength(n){return $M(n)}static maxLength(n){return HM(n)}static pattern(n){return zM(n)}static nullValidator(n){return o_(n)}static compose(n){return u_(n)}static composeAsync(n){return f_(n)}};function LM(e){return n=>{if(Xn(n.value)||Xn(e))return null;let t=parseFloat(n.value);return!isNaN(t)&&t{if(Xn(n.value)||Xn(e))return null;let t=parseFloat(n.value);return!isNaN(t)&&t>e?{max:{max:e,actual:n.value}}:null}}function jM(e){return Xn(e.value)?{required:!0}:null}function BM(e){return e.value===!0?null:{required:!0}}function UM(e){return Xn(e.value)||FM.test(e.value)?null:{email:!0}}function $M(e){return n=>Xn(n.value)||!r_(n.value)?null:n.value.lengthr_(n.value)&&n.value.length>e?{maxlength:{requiredLength:e,actualLength:n.value.length}}:null}function zM(e){if(!e)return o_;let n,t;return typeof e=="string"?(t="",e.charAt(0)!=="^"&&(t+="^"),t+=e,e.charAt(e.length-1)!=="$"&&(t+="$"),n=new RegExp(t)):(t=e.toString(),n=e),i=>{if(Xn(i.value))return null;let r=i.value;return n.test(r)?null:{pattern:{requiredPattern:t,actualValue:r}}}}function o_(e){return null}function s_(e){return e!=null}function a_(e){return Si(e)?me(e):e}function c_(e){let n={};return e.forEach(t=>{n=t!=null?E(E({},n),t):n}),Object.keys(n).length===0?null:n}function l_(e,n){return n.map(t=>t(e))}function GM(e){return!e.validate}function d_(e){return e.map(n=>GM(n)?n:t=>n.validate(t))}function u_(e){if(!e)return null;let n=e.filter(s_);return n.length==0?null:function(t){return c_(l_(t,n))}}function h_(e){return e!=null?u_(d_(e)):null}function f_(e){if(!e)return null;let n=e.filter(s_);return n.length==0?null:function(t){let i=l_(t,n).map(a_);return Zl(i).pipe(U(c_))}}function p_(e){return e!=null?f_(d_(e)):null}function Yv(e,n){return e===null?[n]:Array.isArray(e)?[...e,n]:[e,n]}function m_(e){return e._rawValidators}function g_(e){return e._rawAsyncValidators}function kh(e){return e?Array.isArray(e)?e:[e]:[]}function Bc(e,n){return Array.isArray(e)?e.includes(n):e===n}function Qv(e,n){let t=kh(n);return kh(e).forEach(r=>{Bc(t,r)||t.push(r)}),t}function Zv(e,n){return kh(n).filter(t=>!Bc(e,t))}var Uc=class{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=h_(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=p_(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,t){return this.control?this.control.hasError(n,t):!1}getError(n,t){return this.control?this.control.getError(n,t):null}},Mi=class extends Uc{get formDirective(){return null}get path(){return null}},Ti=class extends Uc{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}},$c=class{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}},WM={"[class.ng-untouched]":"isUntouched","[class.ng-touched]":"isTouched","[class.ng-pristine]":"isPristine","[class.ng-dirty]":"isDirty","[class.ng-valid]":"isValid","[class.ng-invalid]":"isInvalid","[class.ng-pending]":"isPending"},S3=ae(E({},WM),{"[class.ng-submitted]":"isSubmitted"}),Er=(()=>{class e extends $c{constructor(t){super(t)}static{this.\u0275fac=function(i){return new(i||e)(w(Ti,2))}}static{this.\u0275dir=ce({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(i,r){i&2&&he("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},features:[He]})}}return e})(),Wc=(()=>{class e extends $c{constructor(t){super(t)}static{this.\u0275fac=function(i){return new(i||e)(w(Mi,10))}}static{this.\u0275dir=ce({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(i,r){i&2&&he("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)("ng-submitted",r.isSubmitted)},features:[He]})}}return e})();var No="VALID",jc="INVALID",Cr="PENDING",Fo="DISABLED";function Vh(e){return(qc(e)?e.validators:e)||null}function qM(e){return Array.isArray(e)?h_(e):e||null}function jh(e,n){return(qc(n)?n.asyncValidators:e)||null}function YM(e){return Array.isArray(e)?p_(e):e||null}function qc(e){return e!=null&&!Array.isArray(e)&&typeof e=="object"}function v_(e,n,t){let i=e.controls;if(!(n?Object.keys(i):i).length)throw new P(1e3,"");if(!i[t])throw new P(1001,"")}function __(e,n,t){e._forEachChild((i,r)=>{if(t[r]===void 0)throw new P(1002,"")})}var xr=class{constructor(n,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===No}get invalid(){return this.status===jc}get pending(){return this.status==Cr}get disabled(){return this.status===Fo}get enabled(){return this.status!==Fo}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(Qv(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(Qv(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(Zv(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(Zv(n,this._rawAsyncValidators))}hasValidator(n){return Bc(this._rawValidators,n)}hasAsyncValidator(n){return Bc(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=Cr,n.emitEvent!==!1&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){let t=this._parentMarkedDirty(n.onlySelf);this.status=Fo,this.errors=null,this._forEachChild(i=>{i.disable(ae(E({},n),{onlySelf:!0}))}),this._updateValue(),n.emitEvent!==!1&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(ae(E({},n),{skipPristineCheck:t})),this._onDisabledChange.forEach(i=>i(!0))}enable(n={}){let t=this._parentMarkedDirty(n.onlySelf);this.status=No,this._forEachChild(i=>{i.enable(ae(E({},n),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors(ae(E({},n),{skipPristineCheck:t})),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===No||this.status===Cr)&&this._runAsyncValidator(n.emitEvent)),n.emitEvent!==!1&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Fo:No}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=Cr,this._hasOwnPendingAsyncValidator=!0;let t=a_(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(t.emitEvent!==!1)}get(n){let t=n;return t==null||(Array.isArray(t)||(t=t.split(".")),t.length===0)?null:t.reduce((i,r)=>i&&i._find(r),this)}getError(n,t){let i=t?this.get(t):this;return i&&i.errors?i.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new ne,this.statusChanges=new ne}_calculateStatus(){return this._allControlsDisabled()?Fo:this.errors?jc:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Cr)?Cr:this._anyControlsHaveStatus(jc)?jc:No}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){qc(n)&&n.updateOn!=null&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){let t=this._parent&&this._parent.dirty;return!n&&!!t&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=qM(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=YM(this._rawAsyncValidators)}},Hc=class extends xr{constructor(n,t,i){super(Vh(t),jh(i,t)),this.controls=n,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,t){return this.controls[n]?this.controls[n]:(this.controls[n]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(n,t,i={}){this.registerControl(n,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(n,t={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(n,t,i={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],t&&this.registerControl(n,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,t={}){__(this,!0,n),Object.keys(n).forEach(i=>{v_(this,!0,i),this.controls[i].setValue(n[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(n,t={}){n!=null&&(Object.keys(n).forEach(i=>{let r=this.controls[i];r&&r.patchValue(n[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(n={},t={}){this._forEachChild((i,r)=>{i.reset(n?n[r]:null,{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(n,t,i)=>(n[i]=t.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(t,i)=>i._syncPendingControls()?!0:t);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(t=>{let i=this.controls[t];i&&n(i,t)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(let[t,i]of Object.entries(this.controls))if(this.contains(t)&&n(i))return!0;return!1}_reduceValue(){let n={};return this._reduceChildren(n,(t,i,r)=>((i.enabled||this.disabled)&&(t[r]=i.value),t))}_reduceChildren(n,t){let i=n;return this._forEachChild((r,o)=>{i=t(i,r,o)}),i}_allControlsDisabled(){for(let n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(n){return this.controls.hasOwnProperty(n)?this.controls[n]:null}};var Ph=class extends Hc{};var Yc=new O("CallSetDisabledState",{providedIn:"root",factory:()=>Qc}),Qc="always";function y_(e,n){return[...n.path,e]}function Rh(e,n,t=Qc){Bh(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||t==="always")&&n.valueAccessor.setDisabledState?.(e.disabled),ZM(e,n),XM(e,n),KM(e,n),QM(e,n)}function Kv(e,n,t=!0){let i=()=>{};n.valueAccessor&&(n.valueAccessor.registerOnChange(i),n.valueAccessor.registerOnTouched(i)),Gc(e,n),e&&(n._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(()=>{}))}function zc(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function QM(e,n){if(n.valueAccessor.setDisabledState){let t=i=>{n.valueAccessor.setDisabledState(i)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}function Bh(e,n){let t=m_(e);n.validator!==null?e.setValidators(Yv(t,n.validator)):typeof t=="function"&&e.setValidators([t]);let i=g_(e);n.asyncValidator!==null?e.setAsyncValidators(Yv(i,n.asyncValidator)):typeof i=="function"&&e.setAsyncValidators([i]);let r=()=>e.updateValueAndValidity();zc(n._rawValidators,r),zc(n._rawAsyncValidators,r)}function Gc(e,n){let t=!1;if(e!==null){if(n.validator!==null){let r=m_(e);if(Array.isArray(r)&&r.length>0){let o=r.filter(s=>s!==n.validator);o.length!==r.length&&(t=!0,e.setValidators(o))}}if(n.asyncValidator!==null){let r=g_(e);if(Array.isArray(r)&&r.length>0){let o=r.filter(s=>s!==n.asyncValidator);o.length!==r.length&&(t=!0,e.setAsyncValidators(o))}}}let i=()=>{};return zc(n._rawValidators,i),zc(n._rawAsyncValidators,i),t}function ZM(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,e.updateOn==="change"&&b_(e,n)})}function KM(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,e.updateOn==="blur"&&e._pendingChange&&b_(e,n),e.updateOn!=="submit"&&e.markAsTouched()})}function b_(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function XM(e,n){let t=(i,r)=>{n.valueAccessor.writeValue(i),r&&n.viewToModelUpdate(i)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}function JM(e,n){e==null,Bh(e,n)}function e1(e,n){return Gc(e,n)}function w_(e,n){if(!e.hasOwnProperty("model"))return!1;let t=e.model;return t.isFirstChange()?!0:!Object.is(n,t.currentValue)}function t1(e){return Object.getPrototypeOf(e.constructor)===i_}function n1(e,n){e._syncPendingControls(),n.forEach(t=>{let i=t.control;i.updateOn==="submit"&&i._pendingChange&&(t.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}function C_(e,n){if(!n)return null;Array.isArray(n);let t,i,r;return n.forEach(o=>{o.constructor===Jn?t=o:t1(o)?i=o:r=o}),r||i||t||null}function i1(e,n){let t=e.indexOf(n);t>-1&&e.splice(t,1)}function Xv(e,n){let t=e.indexOf(n);t>-1&&e.splice(t,1)}function Jv(e){return typeof e=="object"&&e!==null&&Object.keys(e).length===2&&"value"in e&&"disabled"in e}var Lo=class extends xr{constructor(n=null,t,i){super(Vh(t),jh(i,t)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),qc(t)&&(t.nonNullable||t.initialValueIsDefault)&&(Jv(n)?this.defaultValue=n.value:this.defaultValue=n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&t.emitModelToViewChange!==!1&&this._onChange.forEach(i=>i(this.value,t.emitViewToModelChange!==!1)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){Xv(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){Xv(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return this.updateOn==="submit"&&(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),this._pendingChange)?(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0):!1}_applyFormState(n){Jv(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}};var r1=e=>e instanceof Lo;var o1={provide:Ti,useExisting:cn(()=>jo)},e_=Promise.resolve(),jo=(()=>{class e extends Ti{constructor(t,i,r,o,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new Lo,this._registered=!1,this.name="",this.update=new ne,this._parent=t,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=C_(this,o)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){let i=t.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),w_(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!!(this.options&&this.options.standalone)}_setUpStandalone(){Rh(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),!this._isStandalone()&&this.name}_updateValue(t){e_.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){let i=t.isDisabled.currentValue,r=i!==0&&et(i);e_.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?y_(t,this._parent):[t]}static{this.\u0275fac=function(i){return new(i||e)(w(Mi,9),w(Vo,10),w(Lh,10),w(Dr,10),w(Ve,8),w(Yc,8))}}static{this.\u0275dir=ce({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[$.None,"disabled","isDisabled"],model:[$.None,"ngModel","model"],options:[$.None,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[At([o1]),He,Ke]})}}return e})(),Zc=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275dir=ce({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}}return e})();var x_=new O("");var s1={provide:Mi,useExisting:cn(()=>Bo)},Bo=(()=>{class e extends Mi{constructor(t,i,r){super(),this.callSetDisabledState=r,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new ne,this._setValidators(t),this._setAsyncValidators(i)}ngOnChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Gc(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(t){let i=this.form.get(t.path);return Rh(i,t,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),i}getControl(t){return this.form.get(t.path)}removeControl(t){Kv(t.control||null,t,!1),i1(this.directives,t)}addFormGroup(t){this._setUpFormContainer(t)}removeFormGroup(t){this._cleanUpFormContainer(t)}getFormGroup(t){return this.form.get(t.path)}addFormArray(t){this._setUpFormContainer(t)}removeFormArray(t){this._cleanUpFormContainer(t)}getFormArray(t){return this.form.get(t.path)}updateModel(t,i){this.form.get(t.path).setValue(i)}onSubmit(t){return this.submitted=!0,n1(this.form,this.directives),this.ngSubmit.emit(t),t?.target?.method==="dialog"}onReset(){this.resetForm()}resetForm(t=void 0){this.form.reset(t),this.submitted=!1}_updateDomValue(){this.directives.forEach(t=>{let i=t.control,r=this.form.get(t.path);i!==r&&(Kv(i||null,t),r1(r)&&(Rh(r,t,this.callSetDisabledState),t.control=r))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(t){let i=this.form.get(t.path);JM(i,t),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(t){if(this.form){let i=this.form.get(t.path);i&&e1(i,t)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){Bh(this.form,this),this._oldForm&&Gc(this._oldForm,this)}_checkFormPresent(){this.form}static{this.\u0275fac=function(i){return new(i||e)(w(Vo,10),w(Lh,10),w(Yc,8))}}static{this.\u0275dir=ce({type:e,selectors:[["","formGroup",""]],hostBindings:function(i,r){i&1&&I("submit",function(s){return r.onSubmit(s)})("reset",function(){return r.onReset()})},inputs:{form:[$.None,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[At([s1]),He,Ke]})}}return e})();var a1={provide:Ti,useExisting:cn(()=>Uo)},Uo=(()=>{class e extends Ti{set isDisabled(t){}static{this._ngModelWarningSentOnce=!1}constructor(t,i,r,o,s){super(),this._ngModelWarningConfig=s,this._added=!1,this.name=null,this.update=new ne,this._ngModelWarningSent=!1,this._parent=t,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=C_(this,o)}ngOnChanges(t){this._added||this._setUpControl(),w_(t,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}get path(){return y_(this.name==null?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}static{this.\u0275fac=function(i){return new(i||e)(w(Mi,13),w(Vo,10),w(Lh,10),w(Dr,10),w(x_,8))}}static{this.\u0275dir=ce({type:e,selectors:[["","formControlName",""]],inputs:{name:[$.None,"formControlName","name"],isDisabled:[$.None,"disabled","isDisabled"],model:[$.None,"ngModel","model"]},outputs:{update:"ngModelChange"},features:[At([a1]),He,Ke]})}}return e})();var D_=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=G({type:e})}static{this.\u0275inj=z({})}}return e})(),Nh=class extends xr{constructor(n,t,i){super(Vh(t),jh(i,t)),this.controls=n,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(n){return this.controls[this._adjustIndex(n)]}push(n,t={}){this.controls.push(n),this._registerControl(n),this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}insert(n,t,i={}){this.controls.splice(n,0,t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(n,t={}){let i=this._adjustIndex(n);i<0&&(i=0),this.controls[i]&&this.controls[i]._registerOnCollectionChange(()=>{}),this.controls.splice(i,1),this.updateValueAndValidity({emitEvent:t.emitEvent})}setControl(n,t,i={}){let r=this._adjustIndex(n);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),t&&(this.controls.splice(r,0,t),this._registerControl(t)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(n,t={}){__(this,!1,n),n.forEach((i,r)=>{v_(this,!1,r),this.at(r).setValue(i,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(n,t={}){n!=null&&(n.forEach((i,r)=>{this.at(r)&&this.at(r).patchValue(i,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(n=[],t={}){this._forEachChild((i,r)=>{i.reset(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this.controls.map(n=>n.getRawValue())}clear(n={}){this.controls.length<1||(this._forEachChild(t=>t._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:n.emitEvent}))}_adjustIndex(n){return n<0?n+this.length:n}_syncPendingControls(){let n=this.controls.reduce((t,i)=>i._syncPendingControls()?!0:t,!1);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){this.controls.forEach((t,i)=>{n(t,i)})}_updateValue(){this.value=this.controls.filter(n=>n.enabled||this.disabled).map(n=>n.value)}_anyControls(n){return this.controls.some(t=>t.enabled&&n(t))}_setUpControls(){this._forEachChild(n=>this._registerControl(n))}_allControlsDisabled(){for(let n of this.controls)if(n.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(n){n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)}_find(n){return this.at(n)??null}};function t_(e){return!!e&&(e.asyncValidators!==void 0||e.validators!==void 0||e.updateOn!==void 0)}var Kc=(()=>{class e{constructor(){this.useNonNullable=!1}get nonNullable(){let t=new e;return t.useNonNullable=!0,t}group(t,i=null){let r=this._reduceControls(t),o={};return t_(i)?o=i:i!==null&&(o.validators=i.validator,o.asyncValidators=i.asyncValidator),new Hc(r,o)}record(t,i=null){let r=this._reduceControls(t);return new Ph(r,i)}control(t,i,r){let o={};return this.useNonNullable?(t_(i)?o=i:(o.validators=i,o.asyncValidators=r),new Lo(t,ae(E({},o),{nonNullable:!0}))):new Lo(t,i,r)}array(t,i,r){let o=t.map(s=>this._createControl(s));return new Nh(o,i,r)}_reduceControls(t){let i={};return Object.keys(t).forEach(r=>{i[r]=this._createControl(t[r])}),i}_createControl(t){if(t instanceof Lo)return t;if(t instanceof xr)return t;if(Array.isArray(t)){let i=t[0],r=t.length>1?t[1]:null,o=t.length>2?t[2]:null;return this.control(i,r,o)}else return this.control(t)}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var Ir=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:Yc,useValue:t.callSetDisabledState??Qc}]}}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=G({type:e})}static{this.\u0275inj=z({imports:[D_]})}}return e})(),Xc=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:x_,useValue:t.warnOnNgModelWithFormControl??"always"},{provide:Yc,useValue:t.callSetDisabledState??Qc}]}}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=G({type:e})}static{this.\u0275inj=z({imports:[D_]})}}return e})();var X="primary",ns=Symbol("RouteTitle"),Wh=class{constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){let t=this.params[n];return Array.isArray(t)?t[0]:t}return null}getAll(n){if(this.has(n)){let t=this.params[n];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}};function Or(e){return new Wh(e)}function c1(e,n,t){let i=t.path.split("/");if(i.length>e.length||t.pathMatch==="full"&&(n.hasChildren()||i.lengthi[o]===r)}else return e===n}function R_(e){return e.length>0?e[e.length-1]:null}function ri(e){return qs(e)?e:Si(e)?me(Promise.resolve(e)):N(e)}var d1={exact:F_,subset:L_},N_={exact:u1,subset:h1,ignored:()=>!0};function E_(e,n,t){return d1[t.paths](e.root,n.root,t.matrixParams)&&N_[t.queryParams](e.queryParams,n.queryParams)&&!(t.fragment==="exact"&&e.fragment!==n.fragment)}function u1(e,n){return hn(e,n)}function F_(e,n,t){if(!Oi(e.segments,n.segments)||!tl(e.segments,n.segments,t)||e.numberOfChildren!==n.numberOfChildren)return!1;for(let i in n.children)if(!e.children[i]||!F_(e.children[i],n.children[i],t))return!1;return!0}function h1(e,n){return Object.keys(n).length<=Object.keys(e).length&&Object.keys(n).every(t=>P_(e[t],n[t]))}function L_(e,n,t){return V_(e,n,n.segments,t)}function V_(e,n,t,i){if(e.segments.length>t.length){let r=e.segments.slice(0,t.length);return!(!Oi(r,t)||n.hasChildren()||!tl(r,t,i))}else if(e.segments.length===t.length){if(!Oi(e.segments,t)||!tl(e.segments,t,i))return!1;for(let r in n.children)if(!e.children[r]||!L_(e.children[r],n.children[r],i))return!1;return!0}else{let r=t.slice(0,e.segments.length),o=t.slice(e.segments.length);return!Oi(e.segments,r)||!tl(e.segments,r,i)||!e.children[X]?!1:V_(e.children[X],n,o,i)}}function tl(e,n,t){return n.every((i,r)=>N_[t](e[r].parameters,i.parameters))}var ei=class{constructor(n=new fe([],{}),t={},i=null){this.root=n,this.queryParams=t,this.fragment=i}get queryParamMap(){return this._queryParamMap??=Or(this.queryParams),this._queryParamMap}toString(){return m1.serialize(this)}},fe=class{constructor(n,t){this.segments=n,this.children=t,this.parent=null,Object.values(t).forEach(i=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return nl(this)}},Ai=class{constructor(n,t){this.path=n,this.parameters=t}get parameterMap(){return this._parameterMap??=Or(this.parameters),this._parameterMap}toString(){return B_(this)}};function f1(e,n){return Oi(e,n)&&e.every((t,i)=>hn(t.parameters,n[i].parameters))}function Oi(e,n){return e.length!==n.length?!1:e.every((t,i)=>t.path===n[i].path)}function p1(e,n){let t=[];return Object.entries(e.children).forEach(([i,r])=>{i===X&&(t=t.concat(n(r,i)))}),Object.entries(e.children).forEach(([i,r])=>{i!==X&&(t=t.concat(n(r,i)))}),t}var is=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:()=>new Yo,providedIn:"root"})}}return e})(),Yo=class{parse(n){let t=new Qh(n);return new ei(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(n){let t=`/${$o(n.root,!0)}`,i=_1(n.queryParams),r=typeof n.fragment=="string"?`#${g1(n.fragment)}`:"";return`${t}${i}${r}`}},m1=new Yo;function nl(e){return e.segments.map(n=>B_(n)).join("/")}function $o(e,n){if(!e.hasChildren())return nl(e);if(n){let t=e.children[X]?$o(e.children[X],!1):"",i=[];return Object.entries(e.children).forEach(([r,o])=>{r!==X&&i.push(`${r}:${$o(o,!1)}`)}),i.length>0?`${t}(${i.join("//")})`:t}else{let t=p1(e,(i,r)=>r===X?[$o(e.children[X],!1)]:[`${r}:${$o(i,!1)}`]);return Object.keys(e.children).length===1&&e.children[X]!=null?`${nl(e)}/${t[0]}`:`${nl(e)}/(${t.join("//")})`}}function j_(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Jc(e){return j_(e).replace(/%3B/gi,";")}function g1(e){return encodeURI(e)}function Yh(e){return j_(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function il(e){return decodeURIComponent(e)}function I_(e){return il(e.replace(/\+/g,"%20"))}function B_(e){return`${Yh(e.path)}${v1(e.parameters)}`}function v1(e){return Object.entries(e).map(([n,t])=>`;${Yh(n)}=${Yh(t)}`).join("")}function _1(e){let n=Object.entries(e).map(([t,i])=>Array.isArray(i)?i.map(r=>`${Jc(t)}=${Jc(r)}`).join("&"):`${Jc(t)}=${Jc(i)}`).filter(t=>t);return n.length?`?${n.join("&")}`:""}var y1=/^[^\/()?;#]+/;function $h(e){let n=e.match(y1);return n?n[0]:""}var b1=/^[^\/()?;=#]+/;function w1(e){let n=e.match(b1);return n?n[0]:""}var C1=/^[^=?&#]+/;function x1(e){let n=e.match(C1);return n?n[0]:""}var D1=/^[^&#]+/;function E1(e){let n=e.match(D1);return n?n[0]:""}var Qh=class{constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new fe([],{}):new fe([],this.parseChildren())}parseQueryParams(){let n={};if(this.consumeOptional("?"))do this.parseQueryParam(n);while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(this.remaining==="")return{};this.consumeOptional("/");let n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(n.length>0||Object.keys(t).length>0)&&(i[X]=new fe(n,t)),i}parseSegment(){let n=$h(this.remaining);if(n===""&&this.peekStartsWith(";"))throw new P(4009,!1);return this.capture(n),new Ai(il(n),this.parseMatrixParams())}parseMatrixParams(){let n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){let t=w1(this.remaining);if(!t)return;this.capture(t);let i="";if(this.consumeOptional("=")){let r=$h(this.remaining);r&&(i=r,this.capture(i))}n[il(t)]=il(i)}parseQueryParam(n){let t=x1(this.remaining);if(!t)return;this.capture(t);let i="";if(this.consumeOptional("=")){let s=E1(this.remaining);s&&(i=s,this.capture(i))}let r=I_(t),o=I_(i);if(n.hasOwnProperty(r)){let s=n[r];Array.isArray(s)||(s=[s],n[r]=s),s.push(o)}else n[r]=o}parseParens(n){let t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let i=$h(this.remaining),r=this.remaining[i.length];if(r!=="/"&&r!==")"&&r!==";")throw new P(4010,!1);let o;i.indexOf(":")>-1?(o=i.slice(0,i.indexOf(":")),this.capture(o),this.capture(":")):n&&(o=X);let s=this.parseChildren();t[o]=Object.keys(s).length===1?s[X]:new fe([],s),this.consumeOptional("//")}return t}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return this.peekStartsWith(n)?(this.remaining=this.remaining.substring(n.length),!0):!1}capture(n){if(!this.consumeOptional(n))throw new P(4011,!1)}};function U_(e){return e.segments.length>0?new fe([],{[X]:e}):e}function $_(e){let n={};for(let[i,r]of Object.entries(e.children)){let o=$_(r);if(i===X&&o.segments.length===0&&o.hasChildren())for(let[s,a]of Object.entries(o.children))n[s]=a;else(o.segments.length>0||o.hasChildren())&&(n[i]=o)}let t=new fe(e.segments,n);return I1(t)}function I1(e){if(e.numberOfChildren===1&&e.children[X]){let n=e.children[X];return new fe(e.segments.concat(n.segments),n.children)}return e}function kr(e){return e instanceof ei}function S1(e,n,t=null,i=null){let r=H_(e);return z_(r,n,t,i)}function H_(e){let n;function t(o){let s={};for(let c of o.children){let h=t(c);s[c.outlet]=h}let a=new fe(o.url,s);return o===e&&(n=a),a}let i=t(e.root),r=U_(i);return n??r}function z_(e,n,t,i){let r=e;for(;r.parent;)r=r.parent;if(n.length===0)return Hh(r,r,r,t,i);let o=M1(n);if(o.toRoot())return Hh(r,r,new fe([],{}),t,i);let s=T1(o,r,e),a=s.processChildren?Go(s.segmentGroup,s.index,o.commands):W_(s.segmentGroup,s.index,o.commands);return Hh(r,s.segmentGroup,a,t,i)}function rl(e){return typeof e=="object"&&e!=null&&!e.outlets&&!e.segmentPath}function Qo(e){return typeof e=="object"&&e!=null&&e.outlets}function Hh(e,n,t,i,r){let o={};i&&Object.entries(i).forEach(([c,h])=>{o[c]=Array.isArray(h)?h.map(f=>`${f}`):`${h}`});let s;e===n?s=t:s=G_(e,n,t);let a=U_($_(s));return new ei(a,o,r)}function G_(e,n,t){let i={};return Object.entries(e.children).forEach(([r,o])=>{o===n?i[r]=t:i[r]=G_(o,n,t)}),new fe(e.segments,i)}var ol=class{constructor(n,t,i){if(this.isAbsolute=n,this.numberOfDoubleDots=t,this.commands=i,n&&i.length>0&&rl(i[0]))throw new P(4003,!1);let r=i.find(Qo);if(r&&r!==R_(i))throw new P(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function M1(e){if(typeof e[0]=="string"&&e.length===1&&e[0]==="/")return new ol(!0,0,e);let n=0,t=!1,i=e.reduce((r,o,s)=>{if(typeof o=="object"&&o!=null){if(o.outlets){let a={};return Object.entries(o.outlets).forEach(([c,h])=>{a[c]=typeof h=="string"?h.split("/"):h}),[...r,{outlets:a}]}if(o.segmentPath)return[...r,o.segmentPath]}return typeof o!="string"?[...r,o]:s===0?(o.split("/").forEach((a,c)=>{c==0&&a==="."||(c==0&&a===""?t=!0:a===".."?n++:a!=""&&r.push(a))}),r):[...r,o]},[]);return new ol(t,n,i)}var Tr=class{constructor(n,t,i){this.segmentGroup=n,this.processChildren=t,this.index=i}};function T1(e,n,t){if(e.isAbsolute)return new Tr(n,!0,0);if(!t)return new Tr(n,!1,NaN);if(t.parent===null)return new Tr(t,!0,0);let i=rl(e.commands[0])?0:1,r=t.segments.length-1+i;return A1(t,r,e.numberOfDoubleDots)}function A1(e,n,t){let i=e,r=n,o=t;for(;o>r;){if(o-=r,i=i.parent,!i)throw new P(4005,!1);r=i.segments.length}return new Tr(i,!1,r-o)}function O1(e){return Qo(e[0])?e[0].outlets:{[X]:e}}function W_(e,n,t){if(e??=new fe([],{}),e.segments.length===0&&e.hasChildren())return Go(e,n,t);let i=k1(e,n,t),r=t.slice(i.commandIndex);if(i.match&&i.pathIndexo!==X)&&e.children[X]&&e.numberOfChildren===1&&e.children[X].segments.length===0){let o=Go(e.children[X],n,t);return new fe(e.segments,o.children)}return Object.entries(i).forEach(([o,s])=>{typeof s=="string"&&(s=[s]),s!==null&&(r[o]=W_(e.children[o],n,s))}),Object.entries(e.children).forEach(([o,s])=>{i[o]===void 0&&(r[o]=s)}),new fe(e.segments,r)}}function k1(e,n,t){let i=0,r=n,o={match:!1,pathIndex:0,commandIndex:0};for(;r=t.length)return o;let s=e.segments[r],a=t[i];if(Qo(a))break;let c=`${a}`,h=i0&&c===void 0)break;if(c&&h&&typeof h=="object"&&h.outlets===void 0){if(!M_(c,h,s))return o;i+=2}else{if(!M_(c,{},s))return o;i++}r++}return{match:!0,pathIndex:r,commandIndex:i}}function Zh(e,n,t){let i=e.segments.slice(0,n),r=0;for(;r{typeof i=="string"&&(i=[i]),i!==null&&(n[t]=Zh(new fe([],{}),0,i))}),n}function S_(e){let n={};return Object.entries(e).forEach(([t,i])=>n[t]=`${i}`),n}function M_(e,n,t){return e==t.path&&hn(n,t.parameters)}var Wo="imperative",ze=function(e){return e[e.NavigationStart=0]="NavigationStart",e[e.NavigationEnd=1]="NavigationEnd",e[e.NavigationCancel=2]="NavigationCancel",e[e.NavigationError=3]="NavigationError",e[e.RoutesRecognized=4]="RoutesRecognized",e[e.ResolveStart=5]="ResolveStart",e[e.ResolveEnd=6]="ResolveEnd",e[e.GuardsCheckStart=7]="GuardsCheckStart",e[e.GuardsCheckEnd=8]="GuardsCheckEnd",e[e.RouteConfigLoadStart=9]="RouteConfigLoadStart",e[e.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",e[e.ChildActivationStart=11]="ChildActivationStart",e[e.ChildActivationEnd=12]="ChildActivationEnd",e[e.ActivationStart=13]="ActivationStart",e[e.ActivationEnd=14]="ActivationEnd",e[e.Scroll=15]="Scroll",e[e.NavigationSkipped=16]="NavigationSkipped",e}(ze||{}),kt=class{constructor(n,t){this.id=n,this.url=t}},Pr=class extends kt{constructor(n,t,i="imperative",r=null){super(n,t),this.type=ze.NavigationStart,this.navigationTrigger=i,this.restoredState=r}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},Yt=class extends kt{constructor(n,t,i){super(n,t),this.urlAfterRedirects=i,this.type=ze.NavigationEnd}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},St=function(e){return e[e.Redirect=0]="Redirect",e[e.SupersededByNewNavigation=1]="SupersededByNewNavigation",e[e.NoDataFromResolver=2]="NoDataFromResolver",e[e.GuardRejected=3]="GuardRejected",e}(St||{}),sl=function(e){return e[e.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",e[e.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",e}(sl||{}),ti=class extends kt{constructor(n,t,i,r){super(n,t),this.reason=i,this.code=r,this.type=ze.NavigationCancel}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}},ni=class extends kt{constructor(n,t,i,r){super(n,t),this.reason=i,this.code=r,this.type=ze.NavigationSkipped}},Zo=class extends kt{constructor(n,t,i,r){super(n,t),this.error=i,this.target=r,this.type=ze.NavigationError}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},al=class extends kt{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=ze.RoutesRecognized}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Kh=class extends kt{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=ze.GuardsCheckStart}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Xh=class extends kt{constructor(n,t,i,r,o){super(n,t),this.urlAfterRedirects=i,this.state=r,this.shouldActivate=o,this.type=ze.GuardsCheckEnd}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},Jh=class extends kt{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=ze.ResolveStart}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},ef=class extends kt{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=ze.ResolveEnd}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},tf=class{constructor(n){this.route=n,this.type=ze.RouteConfigLoadStart}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},nf=class{constructor(n){this.route=n,this.type=ze.RouteConfigLoadEnd}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},rf=class{constructor(n){this.snapshot=n,this.type=ze.ChildActivationStart}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},of=class{constructor(n){this.snapshot=n,this.type=ze.ChildActivationEnd}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},sf=class{constructor(n){this.snapshot=n,this.type=ze.ActivationStart}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},af=class{constructor(n){this.snapshot=n,this.type=ze.ActivationEnd}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},cl=class{constructor(n,t,i){this.routerEvent=n,this.position=t,this.anchor=i,this.type=ze.Scroll}toString(){let n=this.position?`${this.position[0]}, ${this.position[1]}`:null;return`Scroll(anchor: '${this.anchor}', position: '${n}')`}},Ko=class{},Xo=class{constructor(n){this.url=n}};var cf=class{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new rs,this.attachRef=null}},rs=(()=>{class e{constructor(){this.contexts=new Map}onChildOutletCreated(t,i){let r=this.getOrCreateContext(t);r.outlet=i,this.contexts.set(t,r)}onChildOutletDestroyed(t){let i=this.getContext(t);i&&(i.outlet=null,i.attachRef=null)}onOutletDeactivated(){let t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let i=this.getContext(t);return i||(i=new cf,this.contexts.set(t,i)),i}getContext(t){return this.contexts.get(t)||null}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),ll=class{constructor(n){this._root=n}get root(){return this._root.value}parent(n){let t=this.pathFromRoot(n);return t.length>1?t[t.length-2]:null}children(n){let t=lf(n,this._root);return t?t.children.map(i=>i.value):[]}firstChild(n){let t=lf(n,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(n){let t=df(n,this._root);return t.length<2?[]:t[t.length-2].children.map(r=>r.value).filter(r=>r!==n)}pathFromRoot(n){return df(n,this._root).map(t=>t.value)}};function lf(e,n){if(e===n.value)return n;for(let t of n.children){let i=lf(e,t);if(i)return i}return null}function df(e,n){if(e===n.value)return[n];for(let t of n.children){let i=df(e,t);if(i.length)return i.unshift(n),i}return[]}var It=class{constructor(n,t){this.value=n,this.children=t}toString(){return`TreeNode(${this.value})`}};function Mr(e){let n={};return e&&e.children.forEach(t=>n[t.value.outlet]=t),n}var dl=class extends ll{constructor(n,t){super(n),this.snapshot=t,bf(this,n)}toString(){return this.snapshot.toString()}};function q_(e){let n=R1(e),t=new Ce([new Ai("",{})]),i=new Ce({}),r=new Ce({}),o=new Ce({}),s=new Ce(""),a=new Fn(t,i,o,s,r,X,e,n.root);return a.snapshot=n.root,new dl(new It(a,[]),n)}function R1(e){let n={},t={},i={},r="",o=new Jo([],n,i,r,t,X,e,null,{});return new ul("",new It(o,[]))}var Fn=class{constructor(n,t,i,r,o,s,a,c){this.urlSubject=n,this.paramsSubject=t,this.queryParamsSubject=i,this.fragmentSubject=r,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=c,this.title=this.dataSubject?.pipe(U(h=>h[ns]))??N(void 0),this.url=n,this.params=t,this.queryParams=i,this.fragment=r,this.data=o}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(U(n=>Or(n))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(U(n=>Or(n))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function yf(e,n,t="emptyOnly"){let i,{routeConfig:r}=e;return n!==null&&(t==="always"||r?.path===""||!n.component&&!n.routeConfig?.loadComponent)?i={params:E(E({},n.params),e.params),data:E(E({},n.data),e.data),resolve:E(E(E(E({},e.data),n.data),r?.data),e._resolvedData)}:i={params:E({},e.params),data:E({},e.data),resolve:E(E({},e.data),e._resolvedData??{})},r&&Q_(r)&&(i.resolve[ns]=r.title),i}var Jo=class{get title(){return this.data?.[ns]}constructor(n,t,i,r,o,s,a,c,h){this.url=n,this.params=t,this.queryParams=i,this.fragment=r,this.data=o,this.outlet=s,this.component=a,this.routeConfig=c,this._resolve=h}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=Or(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=Or(this.queryParams),this._queryParamMap}toString(){let n=this.url.map(i=>i.toString()).join("/"),t=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${n}', path:'${t}')`}},ul=class extends ll{constructor(n,t){super(t),this.url=n,bf(this,t)}toString(){return Y_(this._root)}};function bf(e,n){n.value._routerState=e,n.children.forEach(t=>bf(e,t))}function Y_(e){let n=e.children.length>0?` { ${e.children.map(Y_).join(", ")} } `:"";return`${e.value}${n}`}function zh(e){if(e.snapshot){let n=e.snapshot,t=e._futureSnapshot;e.snapshot=t,hn(n.queryParams,t.queryParams)||e.queryParamsSubject.next(t.queryParams),n.fragment!==t.fragment&&e.fragmentSubject.next(t.fragment),hn(n.params,t.params)||e.paramsSubject.next(t.params),l1(n.url,t.url)||e.urlSubject.next(t.url),hn(n.data,t.data)||e.dataSubject.next(t.data)}else e.snapshot=e._futureSnapshot,e.dataSubject.next(e._futureSnapshot.data)}function uf(e,n){let t=hn(e.params,n.params)&&f1(e.url,n.url),i=!e.parent!=!n.parent;return t&&!i&&(!e.parent||uf(e.parent,n.parent))}function Q_(e){return typeof e.title=="string"||e.title===null}var wf=(()=>{class e{constructor(){this.activated=null,this._activatedRoute=null,this.name=X,this.activateEvents=new ne,this.deactivateEvents=new ne,this.attachEvents=new ne,this.detachEvents=new ne,this.parentContexts=S(rs),this.location=S(Ct),this.changeDetector=S(Ve),this.environmentInjector=S(Ze),this.inputBinder=S(gl,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(t){if(t.name){let{firstChange:i,previousValue:r}=t.name;if(i)return;this.isTrackedInParentContexts(r)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(r)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(t){return this.parentContexts.getContext(t)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let t=this.parentContexts.getContext(this.name);t?.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new P(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new P(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new P(4012,!1);this.location.detach();let t=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(t.instance),t}attach(t,i){this.activated=t,this._activatedRoute=i,this.location.insert(t.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(t.instance)}deactivate(){if(this.activated){let t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,i){if(this.isActivated)throw new P(4013,!1);this._activatedRoute=t;let r=this.location,s=t.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,c=new hf(t,a,r.injector);this.activated=r.createComponent(s,{index:r.length,injector:c,environmentInjector:i??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275dir=ce({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[Ke]})}}return e})(),hf=class e{__ngOutletInjector(n){return new e(this.route,this.childContexts,n)}constructor(n,t,i){this.route=n,this.childContexts=t,this.parent=i}get(n,t){return n===Fn?this.route:n===rs?this.childContexts:this.parent.get(n,t)}},gl=new O(""),T_=(()=>{class e{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(t){this.unsubscribeFromRouteData(t),this.subscribeToRouteData(t)}unsubscribeFromRouteData(t){this.outletDataSubscriptions.get(t)?.unsubscribe(),this.outletDataSubscriptions.delete(t)}subscribeToRouteData(t){let{activatedRoute:i}=t,r=di([i.queryParams,i.params,i.data]).pipe($e(([o,s,a],c)=>(a=E(E(E({},o),s),a),c===0?N(a):Promise.resolve(a)))).subscribe(o=>{if(!t.isActivated||!t.activatedComponentRef||t.activatedRoute!==i||i.component===null){this.unsubscribeFromRouteData(t);return}let s=cv(i.component);if(!s){this.unsubscribeFromRouteData(t);return}for(let{templateName:a}of s.inputs)t.activatedComponentRef.setInput(a,o[a])});this.outletDataSubscriptions.set(t,r)}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac})}}return e})();function N1(e,n,t){let i=es(e,n._root,t?t._root:void 0);return new dl(i,n)}function es(e,n,t){if(t&&e.shouldReuseRoute(n.value,t.value.snapshot)){let i=t.value;i._futureSnapshot=n.value;let r=F1(e,n,t);return new It(i,r)}else{if(e.shouldAttach(n.value)){let o=e.retrieve(n.value);if(o!==null){let s=o.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>es(e,a)),s}}let i=L1(n.value),r=n.children.map(o=>es(e,o));return new It(i,r)}}function F1(e,n,t){return n.children.map(i=>{for(let r of t.children)if(e.shouldReuseRoute(i.value,r.value.snapshot))return es(e,i,r);return es(e,i)})}function L1(e){return new Fn(new Ce(e.url),new Ce(e.params),new Ce(e.queryParams),new Ce(e.fragment),new Ce(e.data),e.outlet,e.component,e)}var Z_="ngNavigationCancelingError";function K_(e,n){let{redirectTo:t,navigationBehaviorOptions:i}=kr(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,r=X_(!1,St.Redirect);return r.url=t,r.navigationBehaviorOptions=i,r}function X_(e,n){let t=new Error(`NavigationCancelingError: ${e||""}`);return t[Z_]=!0,t.cancellationCode=n,t}function V1(e){return J_(e)&&kr(e.url)}function J_(e){return!!e&&e[Z_]}var j1=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=pe({type:e,selectors:[["ng-component"]],standalone:!0,features:[Fe],decls:1,vars:0,template:function(i,r){i&1&&g(0,"router-outlet")},dependencies:[wf],encapsulation:2})}}return e})();function B1(e,n){return e.providers&&!e._injector&&(e._injector=oc(e.providers,n,`Route: ${e.path}`)),e._injector??n}function Cf(e){let n=e.children&&e.children.map(Cf),t=n?ae(E({},e),{children:n}):E({},e);return!t.component&&!t.loadComponent&&(n||t.loadChildren)&&t.outlet&&t.outlet!==X&&(t.component=j1),t}function fn(e){return e.outlet||X}function U1(e,n){let t=e.filter(i=>fn(i)===n);return t.push(...e.filter(i=>fn(i)!==n)),t}function os(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let n=e.parent;n;n=n.parent){let t=n.routeConfig;if(t?._loadedInjector)return t._loadedInjector;if(t?._injector)return t._injector}return null}var $1=(e,n,t,i)=>U(r=>(new ff(n,r.targetRouterState,r.currentRouterState,t,i).activate(e),r)),ff=class{constructor(n,t,i,r,o){this.routeReuseStrategy=n,this.futureState=t,this.currState=i,this.forwardEvent=r,this.inputBindingEnabled=o}activate(n){let t=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,i,n),zh(this.futureState.root),this.activateChildRoutes(t,i,n)}deactivateChildRoutes(n,t,i){let r=Mr(t);n.children.forEach(o=>{let s=o.value.outlet;this.deactivateRoutes(o,r[s],i),delete r[s]}),Object.values(r).forEach(o=>{this.deactivateRouteAndItsChildren(o,i)})}deactivateRoutes(n,t,i){let r=n.value,o=t?t.value:null;if(r===o)if(r.component){let s=i.getContext(r.outlet);s&&this.deactivateChildRoutes(n,t,s.children)}else this.deactivateChildRoutes(n,t,i);else o&&this.deactivateRouteAndItsChildren(t,i)}deactivateRouteAndItsChildren(n,t){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,t):this.deactivateRouteAndOutlet(n,t)}detachAndStoreRouteSubtree(n,t){let i=t.getContext(n.value.outlet),r=i&&n.value.component?i.children:t,o=Mr(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,r);if(i&&i.outlet){let s=i.outlet.detach(),a=i.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,t){let i=t.getContext(n.value.outlet),r=i&&n.value.component?i.children:t,o=Mr(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,r);i&&(i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated()),i.attachRef=null,i.route=null)}activateChildRoutes(n,t,i){let r=Mr(t);n.children.forEach(o=>{this.activateRoutes(o,r[o.value.outlet],i),this.forwardEvent(new af(o.value.snapshot))}),n.children.length&&this.forwardEvent(new of(n.value.snapshot))}activateRoutes(n,t,i){let r=n.value,o=t?t.value:null;if(zh(r),r===o)if(r.component){let s=i.getOrCreateContext(r.outlet);this.activateChildRoutes(n,t,s.children)}else this.activateChildRoutes(n,t,i);else if(r.component){let s=i.getOrCreateContext(r.outlet);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){let a=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),zh(a.route.value),this.activateChildRoutes(n,null,s.children)}else{let a=os(r.snapshot);s.attachRef=null,s.route=r,s.injector=a,s.outlet&&s.outlet.activateWith(r,s.injector),this.activateChildRoutes(n,null,s.children)}}else this.activateChildRoutes(n,null,i)}},hl=class{constructor(n){this.path=n,this.route=this.path[this.path.length-1]}},Ar=class{constructor(n,t){this.component=n,this.route=t}};function H1(e,n,t){let i=e._root,r=n?n._root:null;return Ho(i,r,t,[i.value])}function z1(e){let n=e.routeConfig?e.routeConfig.canActivateChild:null;return!n||n.length===0?null:{node:e,guards:n}}function Nr(e,n){let t=Symbol(),i=n.get(e,t);return i===t?typeof e=="function"&&!Rm(e)?e:n.get(e):i}function Ho(e,n,t,i,r={canDeactivateChecks:[],canActivateChecks:[]}){let o=Mr(n);return e.children.forEach(s=>{G1(s,o[s.value.outlet],t,i.concat([s.value]),r),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>qo(a,t.getContext(s),r)),r}function G1(e,n,t,i,r={canDeactivateChecks:[],canActivateChecks:[]}){let o=e.value,s=n?n.value:null,a=t?t.getContext(e.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){let c=W1(s,o,o.routeConfig.runGuardsAndResolvers);c?r.canActivateChecks.push(new hl(i)):(o.data=s.data,o._resolvedData=s._resolvedData),o.component?Ho(e,n,a?a.children:null,i,r):Ho(e,n,t,i,r),c&&a&&a.outlet&&a.outlet.isActivated&&r.canDeactivateChecks.push(new Ar(a.outlet.component,s))}else s&&qo(n,a,r),r.canActivateChecks.push(new hl(i)),o.component?Ho(e,null,a?a.children:null,i,r):Ho(e,null,t,i,r);return r}function W1(e,n,t){if(typeof t=="function")return t(e,n);switch(t){case"pathParamsChange":return!Oi(e.url,n.url);case"pathParamsOrQueryParamsChange":return!Oi(e.url,n.url)||!hn(e.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!uf(e,n)||!hn(e.queryParams,n.queryParams);case"paramsChange":default:return!uf(e,n)}}function qo(e,n,t){let i=Mr(e),r=e.value;Object.entries(i).forEach(([o,s])=>{r.component?n?qo(s,n.children.getContext(o),t):qo(s,null,t):qo(s,n,t)}),r.component?n&&n.outlet&&n.outlet.isActivated?t.canDeactivateChecks.push(new Ar(n.outlet.component,r)):t.canDeactivateChecks.push(new Ar(null,r)):t.canDeactivateChecks.push(new Ar(null,r))}function ss(e){return typeof e=="function"}function q1(e){return typeof e=="boolean"}function Y1(e){return e&&ss(e.canLoad)}function Q1(e){return e&&ss(e.canActivate)}function Z1(e){return e&&ss(e.canActivateChild)}function K1(e){return e&&ss(e.canDeactivate)}function X1(e){return e&&ss(e.canMatch)}function ey(e){return e instanceof Ft||e?.name==="EmptyError"}var el=Symbol("INITIAL_VALUE");function Rr(){return $e(e=>di(e.map(n=>n.pipe(Ue(1),tn(el)))).pipe(U(n=>{for(let t of n)if(t!==!0){if(t===el)return el;if(t===!1||t instanceof ei)return t}return!0}),be(n=>n!==el),Ue(1)))}function J1(e,n){return Me(t=>{let{targetSnapshot:i,currentSnapshot:r,guards:{canActivateChecks:o,canDeactivateChecks:s}}=t;return s.length===0&&o.length===0?N(ae(E({},t),{guardsResult:!0})):eT(s,i,r,e).pipe(Me(a=>a&&q1(a)?tT(i,o,e,n):N(a)),U(a=>ae(E({},t),{guardsResult:a})))})}function eT(e,n,t,i){return me(e).pipe(Me(r=>sT(r.component,r.route,t,n,i)),en(r=>r!==!0,!0))}function tT(e,n,t,i){return me(n).pipe(mn(r=>jn(iT(r.route.parent,i),nT(r.route,i),oT(e,r.path,t),rT(e,r.route,t))),en(r=>r!==!0,!0))}function nT(e,n){return e!==null&&n&&n(new sf(e)),N(!0)}function iT(e,n){return e!==null&&n&&n(new rf(e)),N(!0)}function rT(e,n,t){let i=n.routeConfig?n.routeConfig.canActivate:null;if(!i||i.length===0)return N(!0);let r=i.map(o=>Bn(()=>{let s=os(n)??t,a=Nr(o,s),c=Q1(a)?a.canActivate(n,e):Ht(s,()=>a(n,e));return ri(c).pipe(en())}));return N(r).pipe(Rr())}function oT(e,n,t){let i=n[n.length-1],o=n.slice(0,n.length-1).reverse().map(s=>z1(s)).filter(s=>s!==null).map(s=>Bn(()=>{let a=s.guards.map(c=>{let h=os(s.node)??t,f=Nr(c,h),p=Z1(f)?f.canActivateChild(i,e):Ht(h,()=>f(i,e));return ri(p).pipe(en())});return N(a).pipe(Rr())}));return N(o).pipe(Rr())}function sT(e,n,t,i,r){let o=n&&n.routeConfig?n.routeConfig.canDeactivate:null;if(!o||o.length===0)return N(!0);let s=o.map(a=>{let c=os(n)??r,h=Nr(a,c),f=K1(h)?h.canDeactivate(e,n,t,i):Ht(c,()=>h(e,n,t,i));return ri(f).pipe(en())});return N(s).pipe(Rr())}function aT(e,n,t,i){let r=n.canLoad;if(r===void 0||r.length===0)return N(!0);let o=r.map(s=>{let a=Nr(s,e),c=Y1(a)?a.canLoad(n,t):Ht(e,()=>a(n,t));return ri(c)});return N(o).pipe(Rr(),ty(i))}function ty(e){return Hl(xe(n=>{if(kr(n))throw K_(e,n)}),U(n=>n===!0))}function cT(e,n,t,i){let r=n.canMatch;if(!r||r.length===0)return N(!0);let o=r.map(s=>{let a=Nr(s,e),c=X1(a)?a.canMatch(n,t):Ht(e,()=>a(n,t));return ri(c)});return N(o).pipe(Rr(),ty(i))}var ts=class{constructor(n){this.segmentGroup=n||null}},fl=class extends Error{constructor(n){super(),this.urlTree=n}};function Sr(e){return Xt(new ts(e))}function lT(e){return Xt(new P(4e3,!1))}function dT(e){return Xt(X_(!1,St.GuardRejected))}var pf=class{constructor(n,t){this.urlSerializer=n,this.urlTree=t}lineralizeSegments(n,t){let i=[],r=t.root;for(;;){if(i=i.concat(r.segments),r.numberOfChildren===0)return N(i);if(r.numberOfChildren>1||!r.children[X])return lT(n.redirectTo);r=r.children[X]}}applyRedirectCommands(n,t,i){let r=this.applyRedirectCreateUrlTree(t,this.urlSerializer.parse(t),n,i);if(t.startsWith("/"))throw new fl(r);return r}applyRedirectCreateUrlTree(n,t,i,r){let o=this.createSegmentGroup(n,t.root,i,r);return new ei(o,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(n,t){let i={};return Object.entries(n).forEach(([r,o])=>{if(typeof o=="string"&&o.startsWith(":")){let a=o.substring(1);i[r]=t[a]}else i[r]=o}),i}createSegmentGroup(n,t,i,r){let o=this.createSegments(n,t.segments,i,r),s={};return Object.entries(t.children).forEach(([a,c])=>{s[a]=this.createSegmentGroup(n,c,i,r)}),new fe(o,s)}createSegments(n,t,i,r){return t.map(o=>o.path.startsWith(":")?this.findPosParam(n,o,r):this.findOrReturn(o,i))}findPosParam(n,t,i){let r=i[t.path.substring(1)];if(!r)throw new P(4001,!1);return r}findOrReturn(n,t){let i=0;for(let r of t){if(r.path===n.path)return t.splice(i),r;i++}return n}},mf={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function uT(e,n,t,i,r){let o=xf(e,n,t);return o.matched?(i=B1(n,i),cT(i,n,t,r).pipe(U(s=>s===!0?o:E({},mf)))):N(o)}function xf(e,n,t){if(n.path==="**")return hT(t);if(n.path==="")return n.pathMatch==="full"&&(e.hasChildren()||t.length>0)?E({},mf):{matched:!0,consumedSegments:[],remainingSegments:t,parameters:{},positionalParamSegments:{}};let r=(n.matcher||c1)(t,e,n);if(!r)return E({},mf);let o={};Object.entries(r.posParams??{}).forEach(([a,c])=>{o[a]=c.path});let s=r.consumed.length>0?E(E({},o),r.consumed[r.consumed.length-1].parameters):o;return{matched:!0,consumedSegments:r.consumed,remainingSegments:t.slice(r.consumed.length),parameters:s,positionalParamSegments:r.posParams??{}}}function hT(e){return{matched:!0,parameters:e.length>0?R_(e).parameters:{},consumedSegments:e,remainingSegments:[],positionalParamSegments:{}}}function A_(e,n,t,i){return t.length>0&&mT(e,t,i)?{segmentGroup:new fe(n,pT(i,new fe(t,e.children))),slicedSegments:[]}:t.length===0&&gT(e,t,i)?{segmentGroup:new fe(e.segments,fT(e,t,i,e.children)),slicedSegments:t}:{segmentGroup:new fe(e.segments,e.children),slicedSegments:t}}function fT(e,n,t,i){let r={};for(let o of t)if(vl(e,n,o)&&!i[fn(o)]){let s=new fe([],{});r[fn(o)]=s}return E(E({},i),r)}function pT(e,n){let t={};t[X]=n;for(let i of e)if(i.path===""&&fn(i)!==X){let r=new fe([],{});t[fn(i)]=r}return t}function mT(e,n,t){return t.some(i=>vl(e,n,i)&&fn(i)!==X)}function gT(e,n,t){return t.some(i=>vl(e,n,i))}function vl(e,n,t){return(e.hasChildren()||n.length>0)&&t.pathMatch==="full"?!1:t.path===""}function vT(e,n,t,i){return fn(e)!==i&&(i===X||!vl(n,t,e))?!1:xf(n,e,t).matched}function _T(e,n,t){return n.length===0&&!e.children[t]}var gf=class{};function yT(e,n,t,i,r,o,s="emptyOnly"){return new vf(e,n,t,i,r,s,o).recognize()}var bT=31,vf=class{constructor(n,t,i,r,o,s,a){this.injector=n,this.configLoader=t,this.rootComponentType=i,this.config=r,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.applyRedirects=new pf(this.urlSerializer,this.urlTree),this.absoluteRedirectCount=0,this.allowRedirects=!0}noMatchError(n){return new P(4002,`'${n.segmentGroup}'`)}recognize(){let n=A_(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(n).pipe(U(t=>{let i=new Jo([],Object.freeze({}),Object.freeze(E({},this.urlTree.queryParams)),this.urlTree.fragment,{},X,this.rootComponentType,null,{}),r=new It(i,t),o=new ul("",r),s=S1(i,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),this.inheritParamsAndData(o._root,null),{state:o,tree:s}}))}match(n){return this.processSegmentGroup(this.injector,this.config,n,X).pipe(ft(i=>{if(i instanceof fl)return this.urlTree=i.urlTree,this.match(i.urlTree.root);throw i instanceof ts?this.noMatchError(i):i}))}inheritParamsAndData(n,t){let i=n.value,r=yf(i,t,this.paramsInheritanceStrategy);i.params=Object.freeze(r.params),i.data=Object.freeze(r.data),n.children.forEach(o=>this.inheritParamsAndData(o,i))}processSegmentGroup(n,t,i,r){return i.segments.length===0&&i.hasChildren()?this.processChildren(n,t,i):this.processSegment(n,t,i,i.segments,r,!0).pipe(U(o=>o instanceof It?[o]:[]))}processChildren(n,t,i){let r=[];for(let o of Object.keys(i.children))o==="primary"?r.unshift(o):r.push(o);return me(r).pipe(mn(o=>{let s=i.children[o],a=U1(t,o);return this.processSegmentGroup(n,a,s,o)}),Jl((o,s)=>(o.push(...s),o)),Un(null),Xl(),Me(o=>{if(o===null)return Sr(i);let s=ny(o);return wT(s),N(s)}))}processSegment(n,t,i,r,o,s){return me(t).pipe(mn(a=>this.processSegmentAgainstRoute(a._injector??n,t,a,i,r,o,s).pipe(ft(c=>{if(c instanceof ts)return N(null);throw c}))),en(a=>!!a),ft(a=>{if(ey(a))return _T(i,r,o)?N(new gf):Sr(i);throw a}))}processSegmentAgainstRoute(n,t,i,r,o,s,a){return vT(i,r,o,s)?i.redirectTo===void 0?this.matchSegmentAgainstRoute(n,r,i,o,s):this.allowRedirects&&a?this.expandSegmentAgainstRouteUsingRedirect(n,r,t,i,o,s):Sr(r):Sr(r)}expandSegmentAgainstRouteUsingRedirect(n,t,i,r,o,s){let{matched:a,consumedSegments:c,positionalParamSegments:h,remainingSegments:f}=xf(t,r,o);if(!a)return Sr(t);r.redirectTo.startsWith("/")&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>bT&&(this.allowRedirects=!1));let p=this.applyRedirects.applyRedirectCommands(c,r.redirectTo,h);return this.applyRedirects.lineralizeSegments(r,p).pipe(Me(b=>this.processSegment(n,i,t,b.concat(f),s,!1)))}matchSegmentAgainstRoute(n,t,i,r,o){let s=uT(t,i,r,n,this.urlSerializer);return i.path==="**"&&(t.children={}),s.pipe($e(a=>a.matched?(n=i._injector??n,this.getChildConfig(n,i,r).pipe($e(({routes:c})=>{let h=i._loadedInjector??n,{consumedSegments:f,remainingSegments:p,parameters:b}=a,_=new Jo(f,b,Object.freeze(E({},this.urlTree.queryParams)),this.urlTree.fragment,xT(i),fn(i),i.component??i._loadedComponent??null,i,DT(i)),{segmentGroup:x,slicedSegments:M}=A_(t,f,p,c);if(M.length===0&&x.hasChildren())return this.processChildren(h,c,x).pipe(U(V=>V===null?null:new It(_,V)));if(c.length===0&&M.length===0)return N(new It(_,[]));let k=fn(i)===o;return this.processSegment(h,c,x,M,k?X:o,!0).pipe(U(V=>new It(_,V instanceof It?[V]:[])))}))):Sr(t)))}getChildConfig(n,t,i){return t.children?N({routes:t.children,injector:n}):t.loadChildren?t._loadedRoutes!==void 0?N({routes:t._loadedRoutes,injector:t._loadedInjector}):aT(n,t,i,this.urlSerializer).pipe(Me(r=>r?this.configLoader.loadChildren(n,t).pipe(xe(o=>{t._loadedRoutes=o.routes,t._loadedInjector=o.injector})):dT(t))):N({routes:[],injector:n})}};function wT(e){e.sort((n,t)=>n.value.outlet===X?-1:t.value.outlet===X?1:n.value.outlet.localeCompare(t.value.outlet))}function CT(e){let n=e.value.routeConfig;return n&&n.path===""}function ny(e){let n=[],t=new Set;for(let i of e){if(!CT(i)){n.push(i);continue}let r=n.find(o=>i.value.routeConfig===o.value.routeConfig);r!==void 0?(r.children.push(...i.children),t.add(r)):n.push(i)}for(let i of t){let r=ny(i.children);n.push(new It(i.value,r))}return n.filter(i=>!t.has(i))}function xT(e){return e.data||{}}function DT(e){return e.resolve||{}}function ET(e,n,t,i,r,o){return Me(s=>yT(e,n,t,i,s.extractedUrl,r,o).pipe(U(({state:a,tree:c})=>ae(E({},s),{targetSnapshot:a,urlAfterRedirects:c}))))}function IT(e,n){return Me(t=>{let{targetSnapshot:i,guards:{canActivateChecks:r}}=t;if(!r.length)return N(t);let o=new Set(r.map(c=>c.route)),s=new Set;for(let c of o)if(!s.has(c))for(let h of iy(c))s.add(h);let a=0;return me(s).pipe(mn(c=>o.has(c)?ST(c,i,e,n):(c.data=yf(c,c.parent,e).resolve,N(void 0))),xe(()=>a++),Ki(1),Me(c=>a===s.size?N(t):it))})}function iy(e){let n=e.children.map(t=>iy(t)).flat();return[e,...n]}function ST(e,n,t,i){let r=e.routeConfig,o=e._resolve;return r?.title!==void 0&&!Q_(r)&&(o[ns]=r.title),MT(o,e,n,i).pipe(U(s=>(e._resolvedData=s,e.data=yf(e,e.parent,t).resolve,null)))}function MT(e,n,t,i){let r=qh(e);if(r.length===0)return N({});let o={};return me(r).pipe(Me(s=>TT(e[s],n,t,i).pipe(en(),xe(a=>{o[s]=a}))),Ki(1),Kl(o),ft(s=>ey(s)?it:Xt(s)))}function TT(e,n,t,i){let r=os(n)??i,o=Nr(e,r),s=o.resolve?o.resolve(n,t):Ht(r,()=>o(n,t));return ri(s)}function Gh(e){return $e(n=>{let t=e(n);return t?me(t).pipe(U(()=>n)):N(n)})}var ry=(()=>{class e{buildTitle(t){let i,r=t.root;for(;r!==void 0;)i=this.getResolvedTitleForRoute(r)??i,r=r.children.find(o=>o.outlet===X);return i}getResolvedTitleForRoute(t){return t.data[ns]}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:()=>S(AT),providedIn:"root"})}}return e})(),AT=(()=>{class e extends ry{constructor(t){super(),this.title=t}updateTitle(t){let i=this.buildTitle(t);i!==void 0&&this.title.setTitle(i)}static{this.\u0275fac=function(i){return new(i||e)(v(Vc))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),as=new O("",{providedIn:"root",factory:()=>({})}),pl=new O(""),Df=(()=>{class e{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=S(hc)}loadComponent(t){if(this.componentLoaders.get(t))return this.componentLoaders.get(t);if(t._loadedComponent)return N(t._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(t);let i=ri(t.loadComponent()).pipe(U(oy),xe(o=>{this.onLoadEndListener&&this.onLoadEndListener(t),t._loadedComponent=o}),rt(()=>{this.componentLoaders.delete(t)})),r=new Gi(i,()=>new B).pipe(zi());return this.componentLoaders.set(t,r),r}loadChildren(t,i){if(this.childrenLoaders.get(i))return this.childrenLoaders.get(i);if(i._loadedRoutes)return N({routes:i._loadedRoutes,injector:i._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(i);let o=OT(i,this.compiler,t,this.onLoadEndListener).pipe(rt(()=>{this.childrenLoaders.delete(i)})),s=new Gi(o,()=>new B).pipe(zi());return this.childrenLoaders.set(i,s),s}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function OT(e,n,t,i){return ri(e.loadChildren()).pipe(U(oy),Me(r=>r instanceof lo||Array.isArray(r)?N(r):me(n.compileModuleAsync(r))),U(r=>{i&&i(e);let o,s,a=!1;return Array.isArray(r)?(s=r,a=!0):(o=r.create(t).injector,s=o.get(pl,[],{optional:!0,self:!0}).flat()),{routes:s.map(Cf),injector:o}}))}function kT(e){return e&&typeof e=="object"&&"default"in e}function oy(e){return kT(e)?e.default:e}var Ef=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:()=>S(PT),providedIn:"root"})}}return e})(),PT=(()=>{class e{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,i){return t}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),sy=new O(""),ay=new O("");function RT(e,n,t){let i=e.get(ay),r=e.get(W);return e.get(F).runOutsideAngular(()=>{if(!r.startViewTransition||i.skipNextTransition)return i.skipNextTransition=!1,new Promise(h=>setTimeout(h));let o,s=new Promise(h=>{o=h}),a=r.startViewTransition(()=>(o(),NT(e))),{onViewTransitionCreated:c}=i;return c&&Ht(e,()=>c({transition:a,from:n,to:t})),s})}function NT(e){return new Promise(n=>{rc(n,{injector:e})})}var If=(()=>{class e{get hasRequestedNavigation(){return this.navigationId!==0}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new B,this.transitionAbortSubject=new B,this.configLoader=S(Df),this.environmentInjector=S(Ze),this.urlSerializer=S(is),this.rootContexts=S(rs),this.location=S(dn),this.inputBindingEnabled=S(gl,{optional:!0})!==null,this.titleStrategy=S(ry),this.options=S(as,{optional:!0})||{},this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlHandlingStrategy=S(Ef),this.createViewTransition=S(sy,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>N(void 0),this.rootComponentType=null;let t=r=>this.events.next(new tf(r)),i=r=>this.events.next(new nf(r));this.configLoader.onLoadEndListener=i,this.configLoader.onLoadStartListener=t}complete(){this.transitions?.complete()}handleNavigationRequest(t){let i=++this.navigationId;this.transitions?.next(ae(E(E({},this.transitions.value),t),{id:i}))}setupNavigations(t,i,r){return this.transitions=new Ce({id:0,currentUrlTree:i,currentRawUrl:i,extractedUrl:this.urlHandlingStrategy.extract(i),urlAfterRedirects:this.urlHandlingStrategy.extract(i),rawUrl:i,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:Wo,restoredState:null,currentSnapshot:r.snapshot,targetSnapshot:null,currentRouterState:r,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(be(o=>o.id!==0),U(o=>ae(E({},o),{extractedUrl:this.urlHandlingStrategy.extract(o.rawUrl)})),$e(o=>{let s=!1,a=!1;return N(o).pipe($e(c=>{if(this.navigationId>o.id)return this.cancelNavigationTransition(o,"",St.SupersededByNewNavigation),it;this.currentTransition=o,this.currentNavigation={id:c.id,initialUrl:c.rawUrl,extractedUrl:c.extractedUrl,trigger:c.source,extras:c.extras,previousNavigation:this.lastSuccessfulNavigation?ae(E({},this.lastSuccessfulNavigation),{previousNavigation:null}):null};let h=!t.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),f=c.extras.onSameUrlNavigation??t.onSameUrlNavigation;if(!h&&f!=="reload"){let p="";return this.events.next(new ni(c.id,this.urlSerializer.serialize(c.rawUrl),p,sl.IgnoredSameUrlNavigation)),c.resolve(null),it}if(this.urlHandlingStrategy.shouldProcessUrl(c.rawUrl))return N(c).pipe($e(p=>{let b=this.transitions?.getValue();return this.events.next(new Pr(p.id,this.urlSerializer.serialize(p.extractedUrl),p.source,p.restoredState)),b!==this.transitions?.getValue()?it:Promise.resolve(p)}),ET(this.environmentInjector,this.configLoader,this.rootComponentType,t.config,this.urlSerializer,this.paramsInheritanceStrategy),xe(p=>{o.targetSnapshot=p.targetSnapshot,o.urlAfterRedirects=p.urlAfterRedirects,this.currentNavigation=ae(E({},this.currentNavigation),{finalUrl:p.urlAfterRedirects});let b=new al(p.id,this.urlSerializer.serialize(p.extractedUrl),this.urlSerializer.serialize(p.urlAfterRedirects),p.targetSnapshot);this.events.next(b)}));if(h&&this.urlHandlingStrategy.shouldProcessUrl(c.currentRawUrl)){let{id:p,extractedUrl:b,source:_,restoredState:x,extras:M}=c,k=new Pr(p,this.urlSerializer.serialize(b),_,x);this.events.next(k);let V=q_(this.rootComponentType).snapshot;return this.currentTransition=o=ae(E({},c),{targetSnapshot:V,urlAfterRedirects:b,extras:ae(E({},M),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.finalUrl=b,N(o)}else{let p="";return this.events.next(new ni(c.id,this.urlSerializer.serialize(c.extractedUrl),p,sl.IgnoredByUrlHandlingStrategy)),c.resolve(null),it}}),xe(c=>{let h=new Kh(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(h)}),U(c=>(this.currentTransition=o=ae(E({},c),{guards:H1(c.targetSnapshot,c.currentSnapshot,this.rootContexts)}),o)),J1(this.environmentInjector,c=>this.events.next(c)),xe(c=>{if(o.guardsResult=c.guardsResult,kr(c.guardsResult))throw K_(this.urlSerializer,c.guardsResult);let h=new Xh(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot,!!c.guardsResult);this.events.next(h)}),be(c=>c.guardsResult?!0:(this.cancelNavigationTransition(c,"",St.GuardRejected),!1)),Gh(c=>{if(c.guards.canActivateChecks.length)return N(c).pipe(xe(h=>{let f=new Jh(h.id,this.urlSerializer.serialize(h.extractedUrl),this.urlSerializer.serialize(h.urlAfterRedirects),h.targetSnapshot);this.events.next(f)}),$e(h=>{let f=!1;return N(h).pipe(IT(this.paramsInheritanceStrategy,this.environmentInjector),xe({next:()=>f=!0,complete:()=>{f||this.cancelNavigationTransition(h,"",St.NoDataFromResolver)}}))}),xe(h=>{let f=new ef(h.id,this.urlSerializer.serialize(h.extractedUrl),this.urlSerializer.serialize(h.urlAfterRedirects),h.targetSnapshot);this.events.next(f)}))}),Gh(c=>{let h=f=>{let p=[];f.routeConfig?.loadComponent&&!f.routeConfig._loadedComponent&&p.push(this.configLoader.loadComponent(f.routeConfig).pipe(xe(b=>{f.component=b}),U(()=>{})));for(let b of f.children)p.push(...h(b));return p};return di(h(c.targetSnapshot.root)).pipe(Un(null),Ue(1))}),Gh(()=>this.afterPreactivation()),$e(()=>{let{currentSnapshot:c,targetSnapshot:h}=o,f=this.createViewTransition?.(this.environmentInjector,c.root,h.root);return f?me(f).pipe(U(()=>o)):N(o)}),U(c=>{let h=N1(t.routeReuseStrategy,c.targetSnapshot,c.currentRouterState);return this.currentTransition=o=ae(E({},c),{targetRouterState:h}),this.currentNavigation.targetRouterState=h,o}),xe(()=>{this.events.next(new Ko)}),$1(this.rootContexts,t.routeReuseStrategy,c=>this.events.next(c),this.inputBindingEnabled),Ue(1),xe({next:c=>{s=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new Yt(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects))),this.titleStrategy?.updateTitle(c.targetRouterState.snapshot),c.resolve(!0)},complete:()=>{s=!0}}),ot(this.transitionAbortSubject.pipe(xe(c=>{throw c}))),rt(()=>{!s&&!a&&this.cancelNavigationTransition(o,"",St.SupersededByNewNavigation),this.currentTransition?.id===o.id&&(this.currentNavigation=null,this.currentTransition=null)}),ft(c=>{if(a=!0,J_(c))this.events.next(new ti(o.id,this.urlSerializer.serialize(o.extractedUrl),c.message,c.cancellationCode)),V1(c)?this.events.next(new Xo(c.url)):o.resolve(!1);else{this.events.next(new Zo(o.id,this.urlSerializer.serialize(o.extractedUrl),c,o.targetSnapshot??void 0));try{o.resolve(t.errorHandler(c))}catch(h){this.options.resolveNavigationPromiseOnError?o.resolve(!1):o.reject(h)}}return it}))}))}cancelNavigationTransition(t,i,r){let o=new ti(t.id,this.urlSerializer.serialize(t.extractedUrl),i,r);this.events.next(o),t.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){return this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))).toString()!==this.currentTransition?.extractedUrl.toString()&&!this.currentTransition?.extras.skipLocationChange}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function FT(e){return e!==Wo}var LT=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:()=>S(VT),providedIn:"root"})}}return e})(),_f=class{shouldDetach(n){return!1}store(n,t){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,t){return n.routeConfig===t.routeConfig}},VT=(()=>{class e extends _f{static{this.\u0275fac=(()=>{let t;return function(r){return(t||(t=bn(e)))(r||e)}})()}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),cy=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:()=>S(jT),providedIn:"root"})}}return e})(),jT=(()=>{class e extends cy{constructor(){super(...arguments),this.location=S(dn),this.urlSerializer=S(is),this.options=S(as,{optional:!0})||{},this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.urlHandlingStrategy=S(Ef),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.currentUrlTree=new ei,this.rawUrlTree=this.currentUrlTree,this.currentPageId=0,this.lastSuccessfulId=-1,this.routerState=q_(null),this.stateMemento=this.createStateMemento()}getCurrentUrlTree(){return this.currentUrlTree}getRawUrlTree(){return this.rawUrlTree}restoredState(){return this.location.getState()}get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}getRouterState(){return this.routerState}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}registerNonRouterCurrentEntryChangeListener(t){return this.location.subscribe(i=>{i.type==="popstate"&&t(i.url,i.state)})}handleRouterEvent(t,i){if(t instanceof Pr)this.stateMemento=this.createStateMemento();else if(t instanceof ni)this.rawUrlTree=i.initialUrl;else if(t instanceof al){if(this.urlUpdateStrategy==="eager"&&!i.extras.skipLocationChange){let r=this.urlHandlingStrategy.merge(i.finalUrl,i.initialUrl);this.setBrowserUrl(r,i)}}else t instanceof Ko?(this.currentUrlTree=i.finalUrl,this.rawUrlTree=this.urlHandlingStrategy.merge(i.finalUrl,i.initialUrl),this.routerState=i.targetRouterState,this.urlUpdateStrategy==="deferred"&&(i.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,i))):t instanceof ti&&(t.code===St.GuardRejected||t.code===St.NoDataFromResolver)?this.restoreHistory(i):t instanceof Zo?this.restoreHistory(i,!0):t instanceof Yt&&(this.lastSuccessfulId=t.id,this.currentPageId=this.browserPageId)}setBrowserUrl(t,i){let r=this.urlSerializer.serialize(t);if(this.location.isCurrentPathEqualTo(r)||i.extras.replaceUrl){let o=this.browserPageId,s=E(E({},i.extras.state),this.generateNgRouterState(i.id,o));this.location.replaceState(r,"",s)}else{let o=E(E({},i.extras.state),this.generateNgRouterState(i.id,this.browserPageId+1));this.location.go(r,"",o)}}restoreHistory(t,i=!1){if(this.canceledNavigationResolution==="computed"){let r=this.browserPageId,o=this.currentPageId-r;o!==0?this.location.historyGo(o):this.currentUrlTree===t.finalUrl&&o===0&&(this.resetState(t),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(i&&this.resetState(t),this.resetUrlToCurrentUrlTree())}resetState(t){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.finalUrl??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(t,i){return this.canceledNavigationResolution==="computed"?{navigationId:t,\u0275routerPageId:i}:{navigationId:t}}static{this.\u0275fac=(()=>{let t;return function(r){return(t||(t=bn(e)))(r||e)}})()}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),zo=function(e){return e[e.COMPLETE=0]="COMPLETE",e[e.FAILED=1]="FAILED",e[e.REDIRECTING=2]="REDIRECTING",e}(zo||{});function ly(e,n){e.events.pipe(be(t=>t instanceof Yt||t instanceof ti||t instanceof Zo||t instanceof ni),U(t=>t instanceof Yt||t instanceof ni?zo.COMPLETE:(t instanceof ti?t.code===St.Redirect||t.code===St.SupersededByNewNavigation:!1)?zo.REDIRECTING:zo.FAILED),be(t=>t!==zo.REDIRECTING),Ue(1)).subscribe(()=>{n()})}function BT(e){throw e}var UT={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},$T={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"},ut=(()=>{class e{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}constructor(){this.disposed=!1,this.isNgZoneEnabled=!1,this.console=S(ac),this.stateManager=S(cy),this.options=S(as,{optional:!0})||{},this.pendingTasks=S(Ei),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.navigationTransitions=S(If),this.urlSerializer=S(is),this.location=S(dn),this.urlHandlingStrategy=S(Ef),this._events=new B,this.errorHandler=this.options.errorHandler||BT,this.navigated=!1,this.routeReuseStrategy=S(LT),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.config=S(pl,{optional:!0})?.flat()??[],this.componentInputBindingEnabled=!!S(gl,{optional:!0}),this.eventsSubscription=new _e,this.isNgZoneEnabled=S(F)instanceof F&&F.isInAngularZone(),this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe({error:t=>{this.console.warn(t)}}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){let t=this.navigationTransitions.events.subscribe(i=>{try{let r=this.navigationTransitions.currentTransition,o=this.navigationTransitions.currentNavigation;if(r!==null&&o!==null){if(this.stateManager.handleRouterEvent(i,o),i instanceof ti&&i.code!==St.Redirect&&i.code!==St.SupersededByNewNavigation)this.navigated=!0;else if(i instanceof Yt)this.navigated=!0;else if(i instanceof Xo){let s=this.urlHandlingStrategy.merge(i.url,r.currentRawUrl),a={info:r.extras.info,skipLocationChange:r.extras.skipLocationChange,replaceUrl:this.urlUpdateStrategy==="eager"||FT(r.source)};this.scheduleNavigation(s,Wo,null,a,{resolve:r.resolve,reject:r.reject,promise:r.promise})}}zT(i)&&this._events.next(i)}catch(r){this.navigationTransitions.transitionAbortSubject.next(r)}});this.eventsSubscription.add(t)}resetRootComponentType(t){this.routerState.root.component=t,this.navigationTransitions.rootComponentType=t}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),Wo,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((t,i)=>{setTimeout(()=>{this.navigateToSyncWithBrowser(t,"popstate",i)},0)})}navigateToSyncWithBrowser(t,i,r){let o={replaceUrl:!0},s=r?.navigationId?r:null;if(r){let c=E({},r);delete c.navigationId,delete c.\u0275routerPageId,Object.keys(c).length!==0&&(o.state=c)}let a=this.parseUrl(t);this.scheduleNavigation(a,i,s,o)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(t){this.config=t.map(Cf),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(t,i={}){let{relativeTo:r,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:c}=i,h=c?this.currentUrlTree.fragment:s,f=null;switch(a){case"merge":f=E(E({},this.currentUrlTree.queryParams),o);break;case"preserve":f=this.currentUrlTree.queryParams;break;default:f=o||null}f!==null&&(f=this.removeEmptyProps(f));let p;try{let b=r?r.snapshot:this.routerState.snapshot.root;p=H_(b)}catch{(typeof t[0]!="string"||!t[0].startsWith("/"))&&(t=[]),p=this.currentUrlTree.root}return z_(p,t,f,h??null)}navigateByUrl(t,i={skipLocationChange:!1}){let r=kr(t)?t:this.parseUrl(t),o=this.urlHandlingStrategy.merge(r,this.rawUrlTree);return this.scheduleNavigation(o,Wo,null,i)}navigate(t,i={skipLocationChange:!1}){return HT(t),this.navigateByUrl(this.createUrlTree(t,i),i)}serializeUrl(t){return this.urlSerializer.serialize(t)}parseUrl(t){try{return this.urlSerializer.parse(t)}catch{return this.urlSerializer.parse("/")}}isActive(t,i){let r;if(i===!0?r=E({},UT):i===!1?r=E({},$T):r=i,kr(t))return E_(this.currentUrlTree,t,r);let o=this.parseUrl(t);return E_(this.currentUrlTree,o,r)}removeEmptyProps(t){return Object.entries(t).reduce((i,[r,o])=>(o!=null&&(i[r]=o),i),{})}scheduleNavigation(t,i,r,o,s){if(this.disposed)return Promise.resolve(!1);let a,c,h;s?(a=s.resolve,c=s.reject,h=s.promise):h=new Promise((p,b)=>{a=p,c=b});let f=this.pendingTasks.add();return ly(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(f))}),this.navigationTransitions.handleNavigationRequest({source:i,restoredState:r,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:t,extras:o,resolve:a,reject:c,promise:h,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),h.catch(p=>Promise.reject(p))}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function HT(e){for(let n=0;n{class e{constructor(t,i,r,o,s,a){this.router=t,this.route=i,this.tabIndexAttribute=r,this.renderer=o,this.el=s,this.locationStrategy=a,this.href=null,this.commands=null,this.onChanges=new B,this.preserveFragment=!1,this.skipLocationChange=!1,this.replaceUrl=!1;let c=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement=c==="a"||c==="area",this.isAnchorElement?this.subscription=t.events.subscribe(h=>{h instanceof Yt&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(t){this.tabIndexAttribute!=null||this.isAnchorElement||this.applyAttributeValue("tabindex",t)}ngOnChanges(t){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(t){t!=null?(this.commands=Array.isArray(t)?t:[t],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(t,i,r,o,s){let a=this.urlTree;if(a===null||this.isAnchorElement&&(t!==0||i||r||o||s||typeof this.target=="string"&&this.target!="_self"))return!0;let c={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info};return this.router.navigateByUrl(a,c),!this.isAnchorElement}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){let t=this.urlTree;this.href=t!==null&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(t)):null;let i=this.href===null?null:n0(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",i)}applyAttributeValue(t,i){let r=this.renderer,o=this.el.nativeElement;i!==null?r.setAttribute(o,t,i):r.removeAttribute(o,t)}get urlTree(){return this.commands===null?null:this.router.createUrlTree(this.commands,{relativeTo:this.relativeTo!==void 0?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static{this.\u0275fac=function(i){return new(i||e)(w(ut),w(Fn),pr("tabindex"),w(Zn),w(re),w(kn))}}static{this.\u0275dir=ce({type:e,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(i,r){i&1&&I("click",function(s){return r.onClick(s.button,s.ctrlKey,s.shiftKey,s.altKey,s.metaKey)}),i&2&&le("target",r.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[$.HasDecoratorInputTransform,"preserveFragment","preserveFragment",et],skipLocationChange:[$.HasDecoratorInputTransform,"skipLocationChange","skipLocationChange",et],replaceUrl:[$.HasDecoratorInputTransform,"replaceUrl","replaceUrl",et],routerLink:"routerLink"},standalone:!0,features:[zt,Ke]})}}return e})(),dy=(()=>{class e{get isActive(){return this._isActive}constructor(t,i,r,o,s){this.router=t,this.element=i,this.renderer=r,this.cdr=o,this.link=s,this.classes=[],this._isActive=!1,this.routerLinkActiveOptions={exact:!1},this.isActiveChange=new ne,this.routerEventsSubscription=t.events.subscribe(a=>{a instanceof Yt&&this.update()})}ngAfterContentInit(){N(this.links.changes,N(null)).pipe(Jt()).subscribe(t=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();let t=[...this.links.toArray(),this.link].filter(i=>!!i).map(i=>i.onChanges);this.linkInputChangesSubscription=me(t).pipe(Jt()).subscribe(i=>{this._isActive!==this.isLinkActive(this.router)(i)&&this.update()})}set routerLinkActive(t){let i=Array.isArray(t)?t:t.split(" ");this.classes=i.filter(r=>!!r)}ngOnChanges(t){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{let t=this.hasActiveLinks();this.classes.forEach(i=>{t?this.renderer.addClass(this.element.nativeElement,i):this.renderer.removeClass(this.element.nativeElement,i)}),t&&this.ariaCurrentWhenActive!==void 0?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this._isActive!==t&&(this._isActive=t,this.cdr.markForCheck(),this.isActiveChange.emit(t))})}isLinkActive(t){let i=GT(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return r=>{let o=r.urlTree;return o?t.isActive(o,i):!1}}hasActiveLinks(){let t=this.isLinkActive(this.router);return this.link&&t(this.link)||this.links.some(t)}static{this.\u0275fac=function(i){return new(i||e)(w(ut),w(re),w(Zn),w(Ve),w(ii,8))}}static{this.\u0275dir=ce({type:e,selectors:[["","routerLinkActive",""]],contentQueries:function(i,r,o){if(i&1&&K0(o,ii,5),i&2){let s;We(s=qe())&&(r.links=s)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],standalone:!0,features:[Ke]})}}return e})();function GT(e){return!!e.paths}var ml=class{};var WT=(()=>{class e{constructor(t,i,r,o,s){this.router=t,this.injector=r,this.preloadingStrategy=o,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(be(t=>t instanceof Yt),mn(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,i){let r=[];for(let o of i){o.providers&&!o._injector&&(o._injector=oc(o.providers,t,`Route: ${o.path}`));let s=o._injector??t,a=o._loadedInjector??s;(o.loadChildren&&!o._loadedRoutes&&o.canLoad===void 0||o.loadComponent&&!o._loadedComponent)&&r.push(this.preloadConfig(s,o)),(o.children||o._loadedRoutes)&&r.push(this.processRoutes(a,o.children??o._loadedRoutes))}return me(r).pipe(Jt())}preloadConfig(t,i){return this.preloadingStrategy.preload(i,()=>{let r;i.loadChildren&&i.canLoad===void 0?r=this.loader.loadChildren(t,i):r=N(null);let o=r.pipe(Me(s=>s===null?N(void 0):(i._loadedRoutes=s.routes,i._loadedInjector=s.injector,this.processRoutes(s.injector??t,s.routes))));if(i.loadComponent&&!i._loadedComponent){let s=this.loader.loadComponent(i);return me([o,s]).pipe(Jt())}else return o})}static{this.\u0275fac=function(i){return new(i||e)(v(ut),v(hc),v(Ze),v(ml),v(Df))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),uy=new O(""),qT=(()=>{class e{constructor(t,i,r,o,s={}){this.urlSerializer=t,this.transitions=i,this.viewportScroller=r,this.zone=o,this.options=s,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},this.environmentInjector=S(Ze),s.scrollPositionRestoration||="disabled",s.anchorScrolling||="disabled"}init(){this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof Pr?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof Yt?(this.lastId=t.id,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.urlAfterRedirects).fragment)):t instanceof ni&&t.code===sl.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof cl&&(t.position?this.options.scrollPositionRestoration==="top"?this.viewportScroller.scrollToPosition([0,0]):this.options.scrollPositionRestoration==="enabled"&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&this.options.anchorScrolling==="enabled"?this.viewportScroller.scrollToAnchor(t.anchor):this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,i){this.zone.runOutsideAngular(()=>tt(this,null,function*(){yield new Promise(r=>{setTimeout(()=>{r()}),rc(()=>{r()},{injector:this.environmentInjector})}),this.zone.run(()=>{this.transitions.events.next(new cl(t,this.lastSource==="popstate"?this.store[this.restoredId]:null,i))})}))}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static{this.\u0275fac=function(i){m0()}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac})}}return e})();function YT(e){return e.routerState.root}function cs(e,n){return{\u0275kind:e,\u0275providers:n}}function QT(){let e=S(Ae);return n=>{let t=e.get(Sn);if(n!==t.components[0])return;let i=e.get(ut),r=e.get(hy);e.get(Sf)===1&&i.initialNavigation(),e.get(fy,null,te.Optional)?.setUpPreloading(),e.get(uy,null,te.Optional)?.init(),i.resetRootComponentType(t.componentTypes[0]),r.closed||(r.next(),r.complete(),r.unsubscribe())}}var hy=new O("",{factory:()=>new B}),Sf=new O("",{providedIn:"root",factory:()=>1});function ZT(){return cs(2,[{provide:Sf,useValue:0},{provide:dc,multi:!0,deps:[Ae],useFactory:n=>{let t=n.get(vv,Promise.resolve());return()=>t.then(()=>new Promise(i=>{let r=n.get(ut),o=n.get(hy);ly(r,()=>{i(!0)}),n.get(If).afterPreactivation=()=>(i(!0),o.closed?N(void 0):o),r.initialNavigation()}))}}])}function KT(){return cs(3,[{provide:dc,multi:!0,useFactory:()=>{let n=S(ut);return()=>{n.setUpLocationChangeListener()}}},{provide:Sf,useValue:2}])}var fy=new O("");function XT(e){return cs(0,[{provide:fy,useExisting:WT},{provide:ml,useExisting:e}])}function JT(){return cs(8,[T_,{provide:gl,useExisting:T_}])}function eA(e){let n=[{provide:sy,useValue:RT},{provide:ay,useValue:E({skipNextTransition:!!e?.skipInitialTransition},e)}];return cs(9,n)}var O_=new O("ROUTER_FORROOT_GUARD"),tA=[dn,{provide:is,useClass:Yo},ut,rs,{provide:Fn,useFactory:YT,deps:[ut]},Df,[]],ls=(()=>{class e{constructor(t){}static forRoot(t,i){return{ngModule:e,providers:[tA,[],{provide:pl,multi:!0,useValue:t},{provide:O_,useFactory:oA,deps:[[ut,new ja,new fu]]},{provide:as,useValue:i||{}},i?.useHash?iA():rA(),nA(),i?.preloadingStrategy?XT(i.preloadingStrategy).\u0275providers:[],i?.initialNavigation?sA(i):[],i?.bindToComponentInputs?JT().\u0275providers:[],i?.enableViewTransitions?eA().\u0275providers:[],aA()]}}static forChild(t){return{ngModule:e,providers:[{provide:pl,multi:!0,useValue:t}]}}static{this.\u0275fac=function(i){return new(i||e)(v(O_,8))}}static{this.\u0275mod=G({type:e})}static{this.\u0275inj=z({})}}return e})();function nA(){return{provide:uy,useFactory:()=>{let e=S(Sv),n=S(F),t=S(as),i=S(If),r=S(is);return t.scrollOffset&&e.setOffset(t.scrollOffset),new qT(r,i,e,n,t)}}}function iA(){return{provide:kn,useClass:yv}}function rA(){return{provide:kn,useClass:gh}}function oA(e){return"guarded"}function sA(e){return[e.initialNavigation==="disabled"?KT().\u0275providers:[],e.initialNavigation==="enabledBlocking"?ZT().\u0275providers:[]]}var k_=new O("");function aA(){return[{provide:k_,useFactory:QT},{provide:uc,multi:!0,useExisting:k_}]}var pn=(()=>{class e{constructor(){this.showFooter=!0,this.socialLinks={"Py-Learn":{website:"https://pykara.ai",linkedin:"https://www.linkedin.com/in/pykara-technologies",youtube:"https://www.youtube.com/@PykaraTechnologies",facebook:"https://www.facebook.com/people/Pykara/100087653675803",instagram:"https://www.instagram.com/pykaratechnologie"},"MJ-Learn":{website:"https://www.majema.se",linkedin:"https://www.linkedin.com/company/majemaforlaget",youtube:"https://www.youtube.com/@majemaforlaget3014",facebook:"https://www.facebook.com/majemaforlaget",instagram:"https://www.instagram.com/majemaforlaget"}};let t=window.location.href,i="Py-Learn",r="assets/images/pykara-logo.png";t.includes("pykara-py-learn")?(i="Py-Learn",r="assets/images/pykara-logo.png",this.showFooter=!0):t.includes("majemaai-mj-learn")&&(i="MJ-Learn",r="assets/images/majema-logo.png",this.showFooter=!0),this.nameSubject=new Ce(i),this.logoSubject=new Ce(r),this.name$=this.nameSubject.asObservable(),this.logo$=this.logoSubject.asObservable()}get name(){return this.nameSubject.value}get logo(){return this.logoSubject.value}setName(t){this.nameSubject.next(t)}setLogo(t){this.logoSubject.next(t)}get socialLinksCurrent(){return this.socialLinks[this.name]}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var cA=[[["","header-right",""]]],lA=["[header-right]"];function dA(e,n){if(e&1&&(d(0,"div",8)(1,"h1"),u(2),l()()),e&2){let t=C();m(2),Ie(t.title)}}function uA(e,n){e&1&&(d(0,"div",9)(1,"a",10),g(2,"img",11),l()())}var _l=(()=>{class e{constructor(t){this.brand=t,this.title=null,this.showHome=!0}static{this.\u0275fac=function(i){return new(i||e)(w(pn))}}static{this.\u0275cmp=pe({type:e,selectors:[["app-header"]],inputs:{title:"title",showHome:"showHome",logoSrc:"logoSrc",productName:"productName"},standalone:!0,features:[Fe],ngContentSelectors:lA,decls:10,vars:5,consts:[[1,"header-container"],[1,"logo"],["routerLink","/home",1,"brand-link"],[3,"src","alt"],[1,"product-name"],["class","header-title",4,"ngIf"],[1,"toggle-buttons-container","modern-toggle"],["class","home-btn",4,"ngIf"],[1,"header-title"],[1,"home-btn"],["routerLink","/home"],["src","assets/images/home.png","alt","Home",1,"home-icon"]],template:function(i,r){i&1&&(Dn(cA),d(0,"div",0)(1,"div",1)(2,"a",2),g(3,"img",3),l(),d(4,"span",4),u(5),l()(),R(6,dA,3,1,"div",5),d(7,"div",6),En(8),l(),R(9,uA,3,0,"div",7),l()),i&2&&(m(3),y("src",r.logoSrc||r.brand.logo,ee)("alt",(r.productName||r.brand.name)+" Logo"),m(2),Ie(r.productName||r.brand.name),m(),y("ngIf",r.title),m(3),y("ngIf",r.showHome))},dependencies:[_t,vt,ls,ii],styles:["[_nghost-%COMP%]{display:block}.header-container[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;justify-content:space-between;padding:0 2vw;background-color:#009688;box-shadow:0 4px 8px #0003;width:100%;position:sticky;top:0;z-index:1000;overflow-x:clip}.header-container[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%], .header-container[_ngcontent-%COMP%] .home-btn[_ngcontent-%COMP%], .header-container[_ngcontent-%COMP%] .toggle-buttons-container[_ngcontent-%COMP%]{flex:0 0 auto}.header-title[_ngcontent-%COMP%]{flex:1 1 auto;min-width:0;text-align:center}.header-title[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:3vw;color:#fff;margin:0;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.header-container[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:5vw;height:auto;background:#fff;border-radius:1vw;margin:.5vw}.home-btn[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:5vw;transition:transform .2s ease}.home-btn[_ngcontent-%COMP%] img[_ngcontent-%COMP%]:hover{transform:scale(1.08)}.logo[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1vw}.brand-link[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.6vw;text-decoration:none}.product-name[_ngcontent-%COMP%]{color:#fff;font-size:2vw;letter-spacing:.5px;font-family:Amonk_Outline;line-height:1}.brand-link[_ngcontent-%COMP%]:hover .product-name[_ngcontent-%COMP%]{opacity:.9}.header-title[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-family:Super Cartoon,cursive}"]})}}return e})();function hA(){return location.hostname.endsWith("hf.space")?"https://pykara-py-learn-backend.hf.space/rag":location.hostname==="localhost"||location.hostname==="127.0.0.1"?"http://localhost:5000/rag":"/rag"}var py=(()=>{class e{constructor(t){this.http=t,this.baseUrl=hA(),this.defaultModel="gpt-4o-mini"}getGrade(){let t=(localStorage.getItem("gradeLevel")||"highergrade").toLowerCase();return t==="lowergrade"||t==="midgrade"||t==="highergrade"?t:"highergrade"}toDbLevel(t){return t==="lowergrade"?"low":t==="midgrade"?"mid":"high"}makeHeaders(t){return new Pn({"Content-Type":"application/json","X-User":t})}generateOpenQuestions(t){let i=this.getGrade(),r=this.makeHeaders(i),o={qtype:"OPEN",n:t.n??5,topic:t.topic??"",model:this.defaultModel,db_level:this.toDbLevel(i)};return this.http.post(`${this.baseUrl}/generate-questions`,o,{headers:r})}explainGrammar(t){let i=this.getGrade(),r=this.makeHeaders(i),o=typeof t=="string"?{question:t}:E({},t);return"db_level"in o||(o.db_level=this.toDbLevel(i)),"model"in o||(o.model=this.defaultModel),this.http.post(`${this.baseUrl}/explain-grammar`,o,{headers:r})}suggestFollowups(t){let i=this.getGrade(),r=this.makeHeaders(i),o={last_question:t.last_question,last_answer:t.last_answer,n:t.n??5,model:this.defaultModel,db_level:this.toDbLevel(i),source_ids:t.source_ids??[]};return this.http.post(`${this.baseUrl}/suggest-followups`,o,{headers:r})}synthesizeAudio(t,i="en",r){let o=this.getGrade(),s=this.makeHeaders(o),a={text:t,language:i,db_level:this.toDbLevel(o),model:this.defaultModel};return r?.length&&(a.reference_files=r),this.http.post(`${this.baseUrl}/synthesize-audio`,a,{headers:s})}synthesizeVideo(t,i="en"){let r=this.getGrade(),o=this.makeHeaders(r),s={text:t,language:i,db_level:this.toDbLevel(r),model:this.defaultModel};return this.http.post(`${this.baseUrl}/synthesize-video`,s,{headers:o})}generateVideoFromText(t,i="en"){let r=this.getGrade(),o=this.makeHeaders(r);return this.http.post(`${this.baseUrl}/generate-video-from-text`,{text:t,language:i,db_level:this.toDbLevel(r),model:this.defaultModel},{headers:o})}punctuate(t){let i=this.getGrade(),r=this.makeHeaders(i);return this.http.post(`${this.baseUrl}/punctuate`,{text:t},{headers:r})}static{this.\u0275fac=function(i){return new(i||e)(v(Rn))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var pA=["waveformCanvas"],mA=["chatContent"];function gA(e,n){if(e&1&&(d(0,"div",37)(1,"div",38),g(2,"img",39),l(),d(3,"div",40),u(4),d(5,"div",41),u(6),l()()()),e&2){let t=C().$implicit;m(4),Se(" ",t.text," "),m(2),Ie(t.timestamp)}}function vA(e,n){if(e&1){let t=H();d(0,"button",60),I("click",function(){let r=T(t).$implicit,o=C(4);return A(o.selectHardcodedQuestion(r))}),u(1),l()}if(e&2){let t=n.$implicit;m(),Se(" ",t," ")}}function _A(e,n){if(e&1&&(d(0,"div",57)(1,"div",58),u(2,"Follow-up suggestions"),l(),R(3,vA,2,1,"button",59),l()),e&2){let t=C(2).$implicit;m(3),y("ngForOf",t.suggestions)}}function yA(e,n){e&1&&(Re(0),d(1,"span",61),u(2,"\u2713"),l(),Ne())}function bA(e,n){e&1&&g(0,"img",62)}function wA(e,n){if(e&1){let t=H();d(0,"button",63),I("click",function(){T(t);let r=C(2).index,o=C();return A(o.playServerAudioForMessage(r))}),g(1,"img",64),l()}}function CA(e,n){if(e&1){let t=H();d(0,"button",65),I("click",function(){T(t);let r=C(3);return A(r.stopReadAloud())}),g(1,"img",66),l()}}function xA(e,n){e&1&&(Re(0),g(1,"img",68),Ne())}function DA(e,n){e&1&&g(0,"img",69)}function EA(e,n){if(e&1){let t=H();d(0,"button",67),I("click",function(){T(t);let r=C(2).index,o=C();return A(o.synthesizeAudioAndPlay(r))}),R(1,xA,2,0,"ng-container",48)(2,DA,1,0,"ng-template",null,2,In),l()}if(e&2){let t=Gt(3),i=C(2).$implicit;y("disabled",i.isSynthesizing),m(),y("ngIf",!i.isSynthesizing)("ngIfElse",t)}}function IA(e,n){if(e&1){let t=H();d(0,"button",70),I("click",function(){T(t);let r=C(2).index,o=C();return A(o.chatId=="2"?o.generateTutorVideoFromText(r):o.synthesizeVideoAndPlay(r))}),g(1,"img",71),l()}}function SA(e,n){e&1&&(d(0,"button",72),g(1,"img",73),l())}function MA(e,n){if(e&1){let t=H();d(0,"button",74),I("click",function(){T(t);let r=C(2).index,o=C();return A(o.toggleMessageVideo(r))}),g(1,"img",75),l()}if(e&2){let t=C(2).index,i=C();he("active",i.isVideoEnabledIndex[t]),m(),y("src",i.isVideoEnabledIndex[t]?"assets/images/chat/no-video.png":"assets/images/chat/video.png",ee)}}function TA(e,n){if(e&1){let t=H();d(0,"video",76),I("ended",function(){T(t);let r=C(2).index,o=C();return A(o.onMessageVideoEnded(r))}),l()}if(e&2){let t=C(2).$implicit;y("src",t.playingVideoUrl,ee)}}function AA(e,n){if(e&1){let t=H();d(0,"div",42)(1,"div",38),g(2,"img",43),l(),d(3,"div",44),g(4,"div",45),R(5,_A,4,1,"div",46),d(6,"div",41),u(7),d(8,"button",47),I("click",function(){T(t);let r=C(),o=r.$implicit,s=r.index,a=C();return A(a.copyToClipboard(o.text,s))}),R(9,yA,3,0,"ng-container",48)(10,bA,1,0,"ng-template",null,1,In),l(),R(12,wA,2,0,"button",49)(13,CA,2,0,"button",50)(14,EA,4,3,"button",51)(15,IA,2,0,"button",52)(16,SA,2,0,"button",53)(17,MA,2,3,"button",54),l(),d(18,"div",55),R(19,TA,1,1,"video",56),l()()()}if(e&2){let t=Gt(11),i=C(),r=i.$implicit,o=i.index,s=C();m(4),y("innerHTML",s.formatStructuredResponse(r.text),t0),m(),y("ngIf",r.suggestions==null?null:r.suggestions.length),m(2),Se(" ",r.timestamp," "),m(),le("aria-label",s.copySuccessIndex===o?"Copied":"Copy message"),m(),y("ngIf",s.copySuccessIndex===o)("ngIfElse",t),m(3),y("ngIf",r.audioUrl&&s.isReadingIndex!==o),m(),y("ngIf",r.audioUrl&&s.isReadingIndex===o),m(),y("ngIf",!r.audioUrl),m(),y("ngIf",!r.videoUrl&&!r.isVideoSynthesizing),m(),y("ngIf",!r.videoUrl&&r.isVideoSynthesizing),m(),y("ngIf",r.videoUrl),m(2),y("ngIf",s.isVideoEnabledIndex[o]&&r.playingVideoUrl)}}function OA(e,n){if(e&1&&(d(0,"div"),R(1,gA,7,2,"div",35)(2,AA,20,13,"div",36),l()),e&2){let t=n.$implicit;m(),y("ngIf",t.from==="user"),m(),y("ngIf",t.from==="ai")}}function kA(e,n){e&1&&(d(0,"div",77),u(1," Tutor's Response "),g(2,"span")(3,"span")(4,"span"),l())}function PA(e,n){e&1&&(d(0,"div",81),u(1,"Loading\u2026"),l())}function RA(e,n){if(e&1){let t=H();d(0,"button",84),I("mousedown",function(){let r=T(t).$implicit,o=C(4);return A(o.selectHardcodedQuestion(r))}),u(1),l()}if(e&2){let t=n.$implicit,i=C(4);y("disabled",i.isAiResponding),m(),Se(" ",t," ")}}function NA(e,n){if(e&1&&(Re(0),d(1,"div",82),u(2,"Follow-up suggestions"),l(),R(3,RA,2,2,"button",83),Ne()),e&2){let t=C(3);m(3),y("ngForOf",t.currentFollowups)}}function FA(e,n){if(e&1){let t=H();d(0,"button",84),I("mousedown",function(){let r=T(t).$implicit,o=C(5);return A(o.selectHardcodedQuestion(r))}),u(1),l()}if(e&2){let t=n.$implicit,i=C(5);y("disabled",i.isAiResponding),m(),Se(" ",t," ")}}function LA(e,n){if(e&1&&(Re(0),R(1,FA,2,2,"button",83),Ne()),e&2){let t=C(4);m(),y("ngForOf",t.pdfQuestions)}}function VA(e,n){e&1&&(d(0,"div",85),u(1,"No grammar questions available."),l())}function jA(e,n){if(e&1&&(d(0,"div",82),u(1,"Questions from your textbook"),l(),R(2,LA,2,1,"ng-container",48)(3,VA,2,0,"ng-template",null,4,In)),e&2){let t=Gt(4),i=C(3);m(2),y("ngIf",i.pdfQuestions==null?null:i.pdfQuestions.length)("ngIfElse",t)}}function BA(e,n){if(e&1&&(Re(0),R(1,NA,4,1,"ng-container",48)(2,jA,5,2,"ng-template",null,3,In),Ne()),e&2){let t=Gt(3),i=C(2);m(),y("ngIf",i.currentFollowups.length)("ngIfElse",t)}}function UA(e,n){if(e&1&&(d(0,"div",78),R(1,PA,2,0,"div",79)(2,BA,4,2,"ng-container",80),l()),e&2){let t=C();m(),y("ngIf",t.pdfLoading),m(),y("ngIf",!t.pdfLoading)}}function $A(e,n){e&1&&(d(0,"div",101),u(1,"Processing\u2026 please wait"),l())}function HA(e,n){if(e&1&&(d(0,"pre"),u(1),l()),e&2){let t=C(2);m(),Ie(t.popupTranscript)}}function zA(e,n){e&1&&(d(0,"div",102),u(1,"Speak and click Done when finished"),l())}function GA(e,n){if(e&1&&(d(0,"div",103),u(1),l()),e&2){let t=C(2);m(),Ie(t.errorMessage)}}function WA(e,n){if(e&1){let t=H();d(0,"div",86)(1,"div",87)(2,"strong"),u(3,"Microphone"),l(),d(4,"button",88),I("click",function(){T(t);let r=C();return A(r.closeMicrophonePopup())}),u(5,"\u2715"),l()(),d(6,"div",89),g(7,"canvas",90,5),d(9,"div",91)(10,"div",92),g(11,"span",93),d(12,"span"),u(13),l()(),d(14,"div",94),R(15,$A,2,0,"div",95)(16,HA,2,1,"pre",80)(17,zA,2,0,"div",96),l(),R(18,GA,2,1,"div",97),l(),d(19,"div",98)(20,"button",99),I("click",function(){T(t);let r=C();return A(r.stopRecording())}),u(21,"Done"),l(),d(22,"button",99),I("click",function(){T(t);let r=C();return A(r.confirmAndSendTranscript())}),u(23,"Send"),l(),d(24,"button",100),I("click",function(){T(t);let r=C();return A(r.closeMicrophonePopup())}),u(25,"Cancel"),l()()()()}if(e&2){let t=C();m(11),he("recording",t.isRecording),m(2),Ie(t.isRecording?"Recording\u2026":"Ready"),m(2),y("ngIf",t.popupTranscript==="Processing\u2026"),m(),y("ngIf",t.popupTranscript&&t.popupTranscript!=="Processing\u2026"),m(),y("ngIf",!t.popupTranscript),m(),y("ngIf",t.errorMessage),m(2),y("disabled",!t.isRecording),m(2),y("disabled",!t.popupTranscript||t.popupTranscript==="Processing\u2026")}}function qA(e,n){if(e&1){let t=H();d(0,"div",104),I("click",function(){T(t);let r=C();return A(r.closeUserGuide())}),d(1,"div",105),I("click",function(r){return T(t),A(r.stopPropagation())}),d(2,"button",106),I("click",function(){T(t);let r=C();return A(r.closeUserGuide())}),u(3,"\xD7"),l(),d(4,"div",107)(5,"ol",108)(6,"li")(7,"b"),u(8,"Introduction"),l(),g(9,"br"),d(10,"ul",109)(11,"li"),u(12,"The Chat Module is an interactive learning environment designed to assist learners through text and voice-based communication."),l(),d(13,"li"),u(14,"Users can type their question or select from follow-up suggestions, using either the text input or the microphone."),l(),d(15,"li"),u(16,"Predefined questions appear above the input field for quick access."),l(),d(17,"li"),u(18,"This creates an engaging and personalised learning experience similar to interacting with a real tutor."),l()()(),d(19,"li")(20,"b"),u(21,"Starting the Chat"),l(),g(22,"br"),d(23,"ul",109)(24,"li"),u(25,"When learners open the module, they will see a text input box and a microphone icon. They can type a question or activate the microphone to speak."),l(),d(26,"li"),u(27,"While the microphone is active, a listening popup appears with options to mute or stop recording. Once the learner finishes speaking or typing, their question is displayed in the chat area along with a timestamp."),l(),d(28,"li"),u(29,"This simple interface ensures that both typing and speaking interactions are smooth and user-friendly."),l()()(),d(30,"li")(31,"b"),u(32,"Accessing the Syllabus"),l(),g(33,"br"),d(34,"ul",109)(35,"li"),u(36,"Before learners begin, an administrator uploads the syllabus or textbook in digital format."),l(),d(37,"li"),u(38,"The system analyses the document and automatically generates a list of predefined questions based on the uploaded syllabus."),l(),d(39,"li"),u(40,"These predefined questions are displayed above the input field, allowing learners to choose any topic without needing to type."),l(),d(41,"li"),u(42,"When a learner selects a question, the system locates the relevant section from the syllabus and prepares an answer. The response appears instantly in the chat area in a clear and readable format."),l()()(),d(43,"li")(44,"b"),u(45,"Receiving the Response"),l(),g(46,"br"),d(47,"ul",109)(48,"li"),u(49," After a question is sent, the system generates an immediate response that includes: "),d(50,"ul")(51,"li"),u(52,"A text-based explanation"),l(),d(53,"li"),u(54,"An audio narration in the tutor\u2019s real voice"),l(),d(55,"li"),u(56,"A derived video explanation, when applicable"),l()()(),d(57,"li"),u(58,"The response is first produced as text. If the learner chooses to listen, the system plays an audio narration that has been synthetically generated using the real voice of the teacher."),l(),d(59,"li"),u(60,"The voice is not a generic computer voice; it has been trained and modelled on the actual tutor\u2019s speech patterns, ensuring that the tone, pronunciation, and expression closely resemble the teacher\u2019s natural way of speaking."),l(),d(61,"li"),u(62,"Similarly, when a video explanation is requested, the system displays a derived video of the teacher. This video is not a pre-recorded clip or animation, but is generated to resemble the real teacher\u2019s voice and reactions."),l(),d(63,"li"),u(64,"All audio and video responses are created dynamically for each question, providing unique, real-time explanations. Learners can replay or stop the narration at any time, copy text responses, and follow the conversation naturally with the speaking indicator showing when the tutor\u2019s voice is active."),l(),d(65,"li"),u(66,"By default, audio is muted; you can enable it as needed."),l()()(),d(67,"li")(68,"b"),u(69,"Handling Out-of-Syllabus Questions"),l(),g(70,"br"),d(71,"ul",109)(72,"li"),u(73,"If a learner asks a question that is not part of the uploaded syllabus or textbook, the system responds with the message: \u201CThis topic is out of syllabus.\u201D"),l(),d(74,"li"),u(75,"Only administrators can configure whether such questions can be answered using external information sources."),l(),d(76,"li"),u(77,"This ensures that all discussions remain within the approved syllabus unless authorised otherwise."),l()()(),d(78,"li")(79,"b"),u(80,"Follow-Up and Progressive Learning"),l(),g(81,"br"),d(82,"ul",109)(83,"li"),u(84,"After each response, the system displays related or next-level questions below the chat. This feature helps learners progress through topics in a logical sequence."),l(),d(85,"li"),u(86,"A breadcrumb trail is also displayed, showing the topic flow and subtopics covered during the conversation."),l(),d(87,"li"),u(88,"Learners can easily revisit previous points and continue from where they left off."),l()()(),d(89,"li")(90,"b"),u(91,"Audio, Video, and Mode Controls"),l(),g(92,"br"),d(93,"ul",109)(94,"li"),u(95," At the top of the chat interface, four control buttons provide flexibility and accessibility: "),d(96,"ul")(97,"li"),u(98,"Audio Control \u2013 Enable or disable narration."),l(),d(99,"li"),u(100,"Video Control \u2013 Show or hide derived video explanations."),l(),d(101,"li"),u(102,"Syllabus Mode Control \u2013 Keep learning limited to syllabus topics."),l(),d(103,"li"),u(104,"Breadcrumb Control \u2013 Display or hide the topic trail."),l()()(),d(105,"li"),u(106,"Only administrators can modify the syllabus mode to include out-of-syllabus responses."),l()()(),d(107,"li")(108,"b"),u(109,"Interface and Usability"),l(),g(110,"br"),d(111,"ul",109)(112,"li"),u(113,"The chat interface presents a clear, conversational layout between the learner and the tutor. Each message includes a profile icon and timestamp for a natural reading flow."),l(),d(114,"li"),u(115,"Typing indicators appear while the system prepares responses, and a scroll button allows quick access to the most recent messages."),l(),d(116,"li"),u(117,"The design is responsive and adapts to different devices such as desktops, tablets, etc."),l()()(),d(118,"li")(119,"b"),u(120,"Summary"),l(),g(121,"br"),d(122,"ul",109)(123,"li"),u(124,"The Chat Module provides an engaging, syllabus-focused learning experience where learners can type or speak their questions and receive immediate answers through text, real teacher voice, and derived video."),l(),d(125,"li"),u(126,"With predefined questions, real-time explanations, structured progression, and easy-to-use controls, this module offers a complete and intelligent conversational learning environment\u2014all within a single platform."),l(),d(127,"li"),u(128,"Use this feature for summary-guided training."),l()()()()()()()}}function YA(e,n){if(e&1){let t=H();d(0,"video",110),I("ended",function(){T(t);let r=C();return A(r.clearVideoUrl())})("error",function(){T(t);let r=C();return A(r.clearVideoUrl())}),l()}if(e&2){let t=C();y("src",t.videoUrl,ee)}}var Mf=(()=>{class e{constructor(t,i,r,o){if(this.apiService=t,this.cdr=i,this.route=r,this.platformId=o,this.isRecording=!1,this.showMicPopup=!1,this.popupTranscript="",this.errorMessage="",this._recordingFinalBuffer="",this._recordingInterimBuffer="",this.audioContext=null,this.analyser=null,this.dataArray=null,this.mediaStream=null,this.animationFrameId=null,this._recognitionActive=!1,this._restartTimer=null,this._restartAttempts=0,this._maxRestartDelay=1500,this.showQuestions=!1,this.pdfQuestions=[],this.pdfLoading=!1,this.userInput="",this.messages=[],this.isTyping=!1,this.isListening=!1,this.isSpeaking=!1,this.isAudioPaused=!1,this.currentFollowups=[],this.videoUrl="",this.aiResponseInterval=null,this.isAiResponding=!1,this.isVideoEnabledIndex=[],this.serverAudio=null,this.serverAudioMessageIndex=null,this.isReadingIndex=null,this.isVideoPlayingIndex=null,this.copySuccessIndex=null,this.isVoiceEnabled=!1,this.isTutorEnabled=!1,this.isSyllabusEnabled=!0,this.isBreadcrumbEnabled=!1,this.shouldAutoScroll=!0,this.lastQuestion=null,this.lastAnswer=null,this.lastSourceIds=[],this.lastAnswerHasContext=!1,this.chatId=null,this.showUserGuide=!1,!un(this.platformId))return;let s=window.SpeechRecognition??window.webkitSpeechRecognition;if(s){this.recognition=new s,this.recognition.continuous=!0,this.recognition.interimResults=!0,this.recognition.lang="en-US";try{this.recognition.maxAlternatives=1}catch{}this.recognition.onstart=()=>{this._recognitionActive=!0,this._restartAttempts=0},this.recognition.onspeechstart=()=>{this._recognitionActive=!0},this.recognition.onspeechend=()=>{this._recognitionActive=!1},this.recognition.onresult=a=>{if(!this.isRecording)return;let c="",h="";for(let f=a.resultIndex;f{if(a?.error==="not-allowed")this.errorMessage="Microphone access denied",this.isRecording=!1;else{let h=a?.error??"unknown";this.errorMessage=`Error: ${h}`}let c=a?.error;if(this.isRecording&&(c==="no-speech"||c==="aborted"||c==="network")){this._restartTimer&&clearTimeout(this._restartTimer);let h=Math.min(400*(this._restartAttempts+1),this._maxRestartDelay);this._restartTimer=setTimeout(()=>{try{this.recognition&&!this._recognitionActive&&this.recognition.start()}catch{this._restartAttempts++}},h)}else c!=="not-allowed"&&(this._recognitionActive=!1);this.cdr.detectChanges()},this.recognition.onend=()=>{if(this._recognitionActive=!1,this.isRecording&&this.showMicPopup){this._restartTimer&&clearTimeout(this._restartTimer);let a=Math.min(250+this._restartAttempts*200,this._maxRestartDelay);this._restartTimer=setTimeout(()=>{try{this.recognition&&!this._recognitionActive&&this.recognition.start()}catch{this._restartAttempts++}},a)}},this.recognition.onnomatch=()=>{}}}ngOnInit(){let t=this.route.snapshot.paramMap.get("id");t&&(this.chatId=t,this.cdr.detectChanges())}ngOnDestroy(){if(un(this.platformId))try{window.speechSynthesis?.cancel()}catch{}this.stopServerAudio();try{window.speechSynthesis?.cancel()}catch{}}ngAfterViewInit(){this.chatBox.nativeElement.addEventListener("scroll",()=>{let t=this.chatBox.nativeElement,i=t.scrollHeight-t.clientHeight-t.scrollTop<50;this.shouldAutoScroll=i})}scrollToBottom(t=!1){if(!(!t&&!this.shouldAutoScroll)){try{let i=this.chatBox&&this.chatBox.nativeElement;if(i&&typeof i.scrollTo=="function"){requestAnimationFrame(()=>{try{i.scrollTo({top:i.scrollHeight,behavior:"smooth"})}catch{try{i.scrollTop=i.scrollHeight}catch{}}});return}}catch{}try{let i=document.querySelector('[id^="message-"]:last-of-type, .chat-message:last-child');i&&i.scrollIntoView({behavior:"smooth",block:"end"})}catch{}}}selectHardcodedQuestion(t){this.showQuestions=!1,this.sendMessage(t),this.userInput=""}showHardcodedQuestions(){setTimeout(()=>{this.showQuestions=!0,this.lastAnswer&&this.lastAnswerHasContext?this.fetchFollowupQuestions():this.fetchInitialQuestions()},100)}hideHardcodedQuestions(){setTimeout(()=>{this.showQuestions=!1},200)}fetchInitialQuestions(t=5){this.pdfLoading=!0,this.pdfQuestions=[],this.apiService.generateOpenQuestions({qtype:"OPEN",n:t,topic:""}).subscribe({next:i=>{let r=Array.isArray(i?.questions)?i.questions:[];this.pdfQuestions=r.map(o=>typeof o=="string"?o:o?.question||"").filter(Boolean),this.pdfLoading=!1,this.cdr.detectChanges()},error:()=>{this.pdfLoading=!1,this.pdfQuestions=[],this.cdr.detectChanges()}})}fetchFollowupQuestions(t=5){if(!this.lastQuestion||!this.lastAnswer||!this.lastAnswerHasContext||!this.lastSourceIds.length){this.fetchInitialQuestions(t);return}this.pdfLoading=!0,this.pdfQuestions=[],this.apiService.suggestFollowups({last_question:this.lastQuestion,last_answer:this.lastAnswer,n:t,source_ids:this.lastSourceIds}).subscribe({next:i=>{let r=Array.isArray(i?.suggestions)?i.suggestions:[];this.pdfQuestions=r.filter(o=>typeof o=="string"&&o.length>0),this.pdfLoading=!1,this.cdr.detectChanges()},error:()=>{this.pdfLoading=!1,this.pdfQuestions=[],this.cdr.detectChanges()}})}sendMessage(t){let i=t?t.trim():this.userInput.trim();if(!i)return;let r=new Date().toLocaleTimeString();this.messages.push({from:"user",text:i,timestamp:r}),this.userInput="",this.isTyping=!0,this.cdr.detectChanges(),this.shouldAutoScroll=!0,this.scrollToBottom(),this.apiService.explainGrammar({question:i,synthesize_audio:!!this.isVoiceEnabled,synthesize_video:!!this.isTutorEnabled,kdtalker:this.chatId==="2"}).subscribe({next:o=>{this.isTyping=!1;let s=(o?.answer||o?.response||o?.text||"No explanation available.").trim(),a=Array.isArray(o?.source_ids)?o.source_ids.filter(b=>typeof b=="string"&&b.trim().length>0):[],c=typeof o?.audio_url=="string"?o.audio_url:typeof o?.audioUrl=="string"?o.audioUrl:"",h=typeof o?.video_url=="string"?o.video_url:typeof o?.videoUrl=="string"?o.videoUrl:"";this.lastQuestion=i,this.lastSourceIds=a;let f=/No information available in the provided textbook content/i.test(s),p=a.length>0&&!f;this.streamAiAnswer(s,a,p,c||void 0,h||void 0)},error:()=>{this.isTyping=!1,this.streamAiAnswer("Error: Could not get a response from the server.",[],!1)}})}streamAiAnswer(t,i,r,o,s){let a=(t||"").trim()||"No explanation available.",c=new Date().toLocaleTimeString(),h=this.messages.push({from:"ai",text:"",timestamp:c,source_ids:i,pending:!0,audioUrl:o||"",videoUrl:s||"",playingVideoUrl:""})-1;this.isVideoEnabledIndex.length<=h&&(this.isVideoEnabledIndex[h]=!1),this.isAiResponding=!0,this.shouldAutoScroll=!0,this.cdr.detectChanges(),this.animateAiResponse(a,h,()=>{this.lastAnswer=a,this.lastAnswerHasContext=r,this.autoPlayMediaForMessage(h)}),!o&&this.isVoiceEnabled&&this.speakResponse(a)}autoPlayMediaForMessage(t){let i=this.messages[t];if(!i)return;let r=!!(i.videoUrl&&i.videoUrl.trim()),o=!!(i.audioUrl&&i.audioUrl.trim());if(r&&this.isTutorEnabled){try{this.stopServerAudio()}catch{}try{window.speechSynthesis?.cancel()}catch{}this.openMessageVideo(t,!0);return}if(o&&this.isVoiceEnabled){try{this.stopAllVideo()}catch{}this.playServerAudioForMessage(t)}}formatStructuredResponse(t){return t.replace(/\n/g,"
").replace(/(\d+)\.\s/g,"$1. ").replace(/\•\s/g,"\u2714\uFE0F ").replace(/\-\s/g,"\u{1F539} ").replace(/(\*\*)(.*?)\1/g,"$2")}animateAiResponse(t,i,r){if(!t){this.isAiResponding=!1;return}let o=null;if(typeof i=="number"&&this.messages[i]?.from==="ai")o=i;else for(let f=this.messages.length-1;f>=0;f--)if(this.messages[f].from==="ai"){o=f;break}(o===null||o<0||!this.messages[o])&&(this.messages.push({from:"ai",text:"",timestamp:new Date().toLocaleTimeString()}),o=this.messages.length-1,this.isVideoEnabledIndex.push(!1));let s=this.messages[o];this.aiResponseInterval&&(clearInterval(this.aiResponseInterval),this.aiResponseInterval=null),s.text="",s.pending=!0,this.isAiResponding=!0,this.cdr.detectChanges();let a=t.split(/\s+/).filter(f=>f.length),c=0,h=200;this.aiResponseInterval=setInterval(()=>{ci.from==="ai");if(t!==-1){let i=this.messages.length-1-t,r=this.messages[i];r.text="Response cancelled.",r.timestamp=new Date().toLocaleTimeString(),r.suggestions=[],r.audioUrl="",r.videoUrl="",r.playingVideoUrl="",r.pending=!1,this.isVideoEnabledIndex.length>i&&(this.isVideoEnabledIndex[i]=!1)}else this.messages.push({from:"ai",text:"Response cancelled.",timestamp:new Date().toLocaleTimeString()}),this.isVideoEnabledIndex.push(!1);this.isAiResponding=!1,this.isTyping=!1,this.isSpeaking=!1,this.isReadingIndex=null,this.cdr.detectChanges()}speakResponse(t){if(!t||!this.isVoiceEnabled)return;this.stopAllVideo();let i=new SpeechSynthesisUtterance;i.text=t,i.lang="en-US",i.pitch=1,i.rate=1,this.isSpeaking=!0;let r=window.speechSynthesis.getVoices(),o=["Google UK English Female","Google US English Female","Microsoft Zira - English (United States)","Microsoft Hazel - English (United Kingdom)","Google en-GB Female","Google en-US Female"];for(let s of o){let a=r.find(c=>c.name===s);if(a){i.voice=a;break}}!i.voice&&r.length&&(i.voice=r[0]),i.onend=()=>{this.isSpeaking=!1,this.cdr.detectChanges()};try{window.speechSynthesis.speak(i)}catch{this.isSpeaking=!1}}resumeAudio(){if(this.serverAudio&&this.serverAudio.paused){this.serverAudio.play().catch(()=>{}),this.isAudioPaused=!1,this.serverAudioMessageIndex!==null&&(this.messages[this.serverAudioMessageIndex].isPlaying=!0),this.cdr.detectChanges();return}window.speechSynthesis&&window.speechSynthesis.paused&&(window.speechSynthesis.resume(),this.isAudioPaused=!1,this.cdr.detectChanges())}pauseAudio(){window.speechSynthesis.speaking&&!window.speechSynthesis.paused&&(window.speechSynthesis.pause(),this.isAudioPaused=!0,this.cdr.detectChanges())}playServerAudioForMessage(t){let i=this.messages[t];if(!(!i||!i.audioUrl)){if(this.serverAudio&&this.serverAudioMessageIndex===t){this.serverAudio.paused?(this.serverAudio.play().catch(()=>{}),this.isAudioPaused=!1,i.isPlaying=!0):(this.serverAudio.pause(),this.isAudioPaused=!0,i.isPlaying=!1),this.cdr.detectChanges();return}this.stopAllVideo(),this.stopServerAudio();try{window.speechSynthesis?.cancel()}catch{}this.serverAudio=new Audio(i.audioUrl),this.serverAudioMessageIndex=t;try{this.serverAudio.volume=1}catch{}this.isReadingIndex=t,this.isAudioPaused=!1,i.isPlaying=!0,this.isSpeaking=!0,this.cdr.detectChanges(),this.serverAudio.onended=()=>{try{i.isPlaying=!1}catch{}this.isReadingIndex=null,this.serverAudio=null,this.serverAudioMessageIndex=null,this.isSpeaking=!1,this.cdr.detectChanges()},this.serverAudio.onerror=()=>{try{i.isPlaying=!1}catch{}this.isReadingIndex=null,this.serverAudio=null,this.serverAudioMessageIndex=null,this.isSpeaking=!1,this.cdr.detectChanges()},this.serverAudio.play().catch(()=>{try{i.isPlaying=!1}catch{}this.isReadingIndex=null,this.serverAudio=null,this.serverAudioMessageIndex=null,this.isSpeaking=!1,this.cdr.detectChanges()})}}stopServerAudio(){if(this.serverAudio){try{this.serverAudio.pause(),this.serverAudio.currentTime=0}catch{}this.serverAudio=null,this.serverAudioMessageIndex!==null&&this.messages[this.serverAudioMessageIndex]&&(this.messages[this.serverAudioMessageIndex].isPlaying=!1),this.serverAudioMessageIndex=null}this.isReadingIndex=null}synthesizeAudioAndPlay(t){let i=this.messages[t];if(!(!i||!i.text)){if(i.audioUrl){this.playServerAudioForMessage(t);return}i.isSynthesizing||(i.isSynthesizing=!0,this.cdr.detectChanges(),this.apiService.synthesizeAudio(i.text).subscribe({next:r=>{i.isSynthesizing=!1,r?.audio_url?(i.audioUrl=r.audio_url,this.playServerAudioForMessage(t)):this.errorMessage="Audio generation failed.",this.cdr.detectChanges()},error:()=>{i.isSynthesizing=!1,this.errorMessage="Audio generation failed.",this.cdr.detectChanges()}}))}}synthesizeVideoAndPlay(t){let i=this.messages[t];if(!(!i||!i.text)){if(i.videoUrl){this.openMessageVideo(t);return}i.isVideoSynthesizing||(i.isVideoSynthesizing=!0,this.cdr.detectChanges(),this.apiService.synthesizeVideo(i.text).subscribe({next:r=>{i.isVideoSynthesizing=!1,r?.video_url?(i.videoUrl=r.video_url,this.openMessageVideo(t)):this.errorMessage="Video generation failed.",this.cdr.detectChanges()},error:()=>{i.isVideoSynthesizing=!1,this.errorMessage="Video generation failed. Try again.",this.cdr.detectChanges()}}))}}generateTutorVideoFromText(t,i){let r=this.messages[t];if(!r)return;if(r.videoUrl){this.openMessageVideo(t);return}if(r.isVideoSynthesizing)return;let o=r.text&&r.text.trim()||i&&i.trim()||"";if(!o){this.errorMessage="No text available to generate a video.",this.cdr.detectChanges();return}r.isVideoSynthesizing=!0,this.cdr.detectChanges(),this.apiService.generateVideoFromText(o).subscribe({next:s=>{r.isVideoSynthesizing=!1,s?.video_url?(r.videoUrl=s.video_url,this.openMessageVideo(t)):this.errorMessage="Video URL not returned from server.",this.cdr.detectChanges()},error:()=>{r.isVideoSynthesizing=!1,this.errorMessage="Could not generate video.",this.cdr.detectChanges()}})}openMessageVideo(t,i=!1){let r=this.messages[t];if(r?.videoUrl){if(this.isVideoPlayingIndex===t){this.stopInlineVideo(t);return}this.stopServerAudio();try{window.speechSynthesis?.cancel()}catch{}this.stopAllVideo(),r.playingVideoUrl=r.videoUrl,this.isVideoEnabledIndex[t]=!0,this.cdr.detectChanges(),setTimeout(()=>{let o=document.getElementById(`inline-video-${t}`);if(!o){this.isVideoPlayingIndex=null,this.cdr.detectChanges();return}if(i)try{o.muted=!0}catch{}else try{o.muted=!1}catch{}o.onplay=()=>{this.isVideoPlayingIndex=t,this.cdr.detectChanges()},o.onpause=()=>{this.cdr.detectChanges()},o.onended=()=>{this.onMessageVideoEnded(t)},o.play().catch(()=>{this.isVideoPlayingIndex=null,r.playingVideoUrl="",this.isVideoEnabledIndex[t]=!1,this.cdr.detectChanges()})},50)}}toggleMessageVideo(t){let i=this.messages[t];!i||!i.videoUrl||(this.isVideoEnabledIndex[t]?this.stopInlineVideo(t):this.openMessageVideo(t))}stopInlineVideo(t){let i=document.getElementById(`inline-video-${t}`);if(i)try{i.pause(),i.currentTime=0}catch{}let r=this.messages[t];r&&(r.playingVideoUrl=""),this.isVideoEnabledIndex[t]=!1,this.isVideoPlayingIndex===t&&(this.isVideoPlayingIndex=null),this.cdr.detectChanges()}onMessageVideoEnded(t){let i=this.messages[t];i&&(i.playingVideoUrl=""),this.isVideoEnabledIndex[t]=!1,this.isVideoPlayingIndex===t&&(this.isVideoPlayingIndex=null),this.cdr.detectChanges()}toggleVoice(){this.isVoiceEnabled=!this.isVoiceEnabled}toggleTutor(){this.isTutorEnabled=!this.isTutorEnabled}toggleSyllabus(){this.isSyllabusEnabled=!this.isSyllabusEnabled,this.saveToggleStates()}toggleBreadcrumb(){this.isBreadcrumbEnabled=!this.isBreadcrumbEnabled,this.saveToggleStates()}saveToggleStates(){un(this.platformId)&&(localStorage.setItem("voiceEnabled",String(this.isVoiceEnabled)),localStorage.setItem("tutorEnabled",String(this.isTutorEnabled)),localStorage.setItem("syllabusEnabled",String(this.isSyllabusEnabled)),localStorage.setItem("breadcrumbEnabled",String(this.isBreadcrumbEnabled)))}clearVideoUrl(){this.videoUrl="",this.isTutorEnabled&&(this.isTutorEnabled=!1,this.saveToggleStates()),this.cdr.detectChanges()}stopAllVideo(){this.videoUrl="";try{Array.from(document.querySelectorAll('[id^="inline-video-"]')).forEach(i=>{try{i.pause(),i.currentTime=0}catch{}})}catch{}this.messages.forEach((t,i)=>{t.playingVideoUrl="",this.isVideoEnabledIndex[i]=!1}),this.cdr.detectChanges()}getButtonIcon(){return this.isAiResponding?"assets/images/chat/stop.png":this.serverAudio&&!this.serverAudio.paused?"assets/images/chat/microphone-icon.png":this.userInput.trim().length>0?"assets/images/chat/send-icon.png":this.isSpeaking&&!this.serverAudio?"assets/images/chat/pause-icon.png":this.isAudioPaused?"assets/images/chat/resume-icon.png":"assets/images/chat/microphone-icon.png"}openUserGuide(){this.showUserGuide=!0}closeUserGuide(){this.showUserGuide=!1}stopReadAloud(){try{this.stopServerAudio()}catch{}this.isReadingIndex=null,this.isSpeaking=!1,this.cdr.detectChanges()}openMicrophonePopup(){this._recordingFinalBuffer="",this._recordingInterimBuffer="",this.popupTranscript="",this.errorMessage="",this.showMicPopup=!0,setTimeout(()=>this.startRecording(),200)}closeMicrophonePopup(){this.stopRecording(),this.showMicPopup=!1,this.popupTranscript="",this._recordingFinalBuffer="",this._recordingInterimBuffer="",this.errorMessage="",this.cdr.detectChanges()}startRecording(){return tt(this,null,function*(){if(!this.recognition){this.errorMessage="Speech recognition not supported.";return}this._recordingFinalBuffer="",this._recordingInterimBuffer="",this.popupTranscript="",this.errorMessage="",this.isRecording=!0;try{this.recognition.interimResults=!0}catch{}try{this.recognition.start()}catch{this._recognitionActive||setTimeout(()=>{try{this.recognition?.start()}catch{}},300)}try{yield this.startAnalyzer()}catch{}this.cdr.detectChanges()})}stopRecording(){return tt(this,null,function*(){if(this._restartTimer&&(clearTimeout(this._restartTimer),this._restartTimer=null),this.recognition&&this.isRecording)try{this.recognition.stop()}catch{}try{this.stopAnalyzer()}catch{}this.isRecording=!1;let t=(this._recordingFinalBuffer||"").trim(),i=(this._recordingInterimBuffer||"").trim(),r=(t+" "+i).trim();if(!r){this.popupTranscript="",this.cdr.detectChanges();return}this.popupTranscript="Processing\u2026",this.cdr.detectChanges();let o=r;try{let h=this.apiService.punctuate(r),f=yield Ql(h);if(f&&typeof f.punctuated=="string"&&f.punctuated.trim().length){let p=f.punctuated.trim();o=this.extractAssistantContent(p)||p}}catch{o=r}let s=this.normalizeTranscript(o);!/[.?!]$/.test(s)&&/^(who|what|when|where|why|how|which|whom|whose|is|are|am|was|were|do|does|did|can|could|would|will|shall|should|have|has|had)\b/i.test(r)&&(s=s+"?"),this.popupTranscript=s,this.cdr.detectChanges()})}extractAssistantContent(t){if(!t)return t;try{let i=/message=ChatCompletionMessage\(\s*content=(['"])((?:\\.|(?!\1).)*)\1/,r=t.match(i);if(r&&r[2])return r[2].replace(/\\'/g,"'").replace(/\\"/g,'"').trim();let o=/ChatCompletionMessage\(\s*content=(['"])((?:\\.|(?!\1).)*)\1/,s=t.match(o);if(s&&s[2])return s[2].replace(/\\'/g,"'").replace(/\\"/g,'"').trim();let a=/content=(['"])((?:\\.|(?!\1).)*)\1/,c=t.match(a);if(c&&c[2])return c[2].replace(/\\'/g,"'").replace(/\\"/g,'"').trim()}catch{}return t.trim()}confirmAndSendTranscript(){let t=(this.popupTranscript||"").trim();if(!t){this.errorMessage="No speech captured";return}t=this.normalizeTranscript(t);try{this.sendMessage(t)}catch{}this._recordingFinalBuffer="",this._recordingInterimBuffer="",this.showMicPopup=!1,this.isRecording=!1,this._restartTimer&&(clearTimeout(this._restartTimer),this._restartTimer=null),this.popupTranscript="",this.cdr.detectChanges()}copyToClipboard(t,i){navigator.clipboard.writeText(t).then(()=>{this.copySuccessIndex=i,setTimeout(()=>{this.copySuccessIndex=null},2e3)}).catch(()=>{})}adjustTextareaHeight(t){let i=t.target;i.style.height="auto",i.style.height=`${i.scrollHeight}px`}handleEnterPress(t){if(this.isSpeaking&&!this.serverAudio){t.preventDefault();return}t.key==="Enter"&&(t.shiftKey?(t.preventDefault(),this.userInput+=` -`):(t.preventDefault(),this.handleButtonClick()))}handleButtonClick(){if(this.isAiResponding){this.stopAiResponse();return}if(this.userInput.trim().length>0){this.showQuestions=!1;let t=this.userInput;this.userInput="",this.sendMessage(t)}else this.isSpeaking&&!this.serverAudio?this.pauseAudio():this.isAudioPaused?this.resumeAudio():this.openMicrophonePopup()}normalizeTranscript(t){if(!t)return t;let i=t.trim(),r=[[/\b(full stop|period|dot)\b/gi,"."],[/\b(question mark|question)\b/gi,"?"],[/\b(exclamation mark|exclamation|exclaim)\b/gi,"!"],[/\b(comma)\b/gi,","],[/\b(colon)\b/gi,":"],[/\b(semicolon)\b/gi,";"],[/\b(ellipsis|dot dot dot|three dots)\b/gi,"..."],[/\b(new line|newline|new paragraph|line break)\b/gi,` -`],[/\b(open parenthesis|open bracket)\b/gi,"("],[/\b(close parenthesis|close bracket)\b/gi,")"],[/\b(double quote|quote|quotation)\b/gi,'"'],[/\b(single quote|apostrophe)\b/gi,"'"],[/\b(dash|hyphen)\b/gi,"-"],[/\b(percent|percent sign)\b/gi,"%"],[/\b(and sign|ampersand)\b/gi,"&"],[/\b(at sign)\b/gi,"@"],[/\b(forward slash|slash)\b/gi,"/"],[/\b(backslash)\b/gi,"\\\\"]];for(let[o,s]of r)i=i.replace(o,s);return i=i.replace(/\s+([,.:;?!%'\)\]\}])/g,"$1"),i=i.replace(/\s+([\(\[\{"'`])/g,"$1"),i=i.replace(/([.?!:;,%\)\]'"-]{1,3})(?!\s|\n|$)/g,"$1 "),i=i.replace(/[ \t]{2,}/g," "),i=i.split(` -`).map(o=>o.trim()).join(` -`),i=i.replace(/(^|[\n\.!\?]\s+)([a-z])/g,(o,s,a)=>s+a.toUpperCase()),i.trim()}startAnalyzer(){return tt(this,null,function*(){if(un(this.platformId)&&!((!this.waveformCanvas||!this.waveformCanvas.nativeElement)&&(yield new Promise(t=>setTimeout(t,80)),!this.waveformCanvas||!this.waveformCanvas.nativeElement)))try{let t=window.AudioContext??window.webkitAudioContext;if(!this.audioContext||this.audioContext&&this.audioContext.state==="closed")this.audioContext=new t;else if(this.audioContext.state==="suspended")try{yield this.audioContext.resume()}catch{}if(this.mediaStream){try{this.mediaStream.getTracks().forEach(a=>a.stop())}catch{}this.mediaStream=null}let i=yield navigator.mediaDevices.getUserMedia({audio:!0});this.mediaStream=i;let r=this.audioContext.createMediaStreamSource(i);try{if(this.analyser)try{this.analyser.disconnect()}catch{}}catch{}let o=this.audioContext.createAnalyser();o.fftSize=2048,o.smoothingTimeConstant=.85,r.connect(o),this.analyser=o;let s=o.fftSize;this.dataArray=new Uint8Array(s),this.drawWaveform()}catch(t){try{this.mediaStream&&(this.mediaStream.getTracks().forEach(i=>i.stop()),this.mediaStream=null)}catch{}try{this.analyser&&(this.analyser.disconnect(),this.analyser=null)}catch{}throw this.dataArray=null,t}})}stopAnalyzer(){try{if(this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null),this.analyser){try{this.analyser.disconnect()}catch{}this.analyser=null}if(this.mediaStream){try{this.mediaStream.getTracks().forEach(t=>t.stop())}catch{}this.mediaStream=null}try{this.audioContext&&typeof this.audioContext.close=="function"?this.audioContext.close().catch(()=>{}).finally(()=>{this.audioContext=null}):this.audioContext=null}catch{this.audioContext=null}if(this.dataArray=null,this.waveformCanvas&&this.waveformCanvas.nativeElement){let t=this.waveformCanvas.nativeElement,i=t.getContext("2d");i&&i.clearRect(0,0,t.width,t.height)}}catch{}}drawWaveform(){if(!this.waveformCanvas||!this.waveformCanvas.nativeElement||!this.analyser||!this.dataArray)return;let t=this.waveformCanvas.nativeElement,i=t.getContext("2d");if(!i)return;let r=window.devicePixelRatio||1,o=()=>{let a=t.getBoundingClientRect(),c=Math.max(1,Math.floor(a.width*r)),h=Math.max(1,Math.floor(a.height*r));(t.width!==c||t.height!==h)&&(t.width=c,t.height=h)},s=()=>{if(!this.waveformCanvas||!this.waveformCanvas.nativeElement||!this.analyser||!this.dataArray){this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null);return}let a=t.getBoundingClientRect();if(a.width===0||a.height===0||!t.offsetParent){this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null);return}o();try{this.analyser.getByteTimeDomainData(this.dataArray)}catch{this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null);return}let c=0;for(let Q=0;Q{class e{constructor(t){this._platformId=t,this.isBrowser=this._platformId?un(this._platformId):typeof document=="object"&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!!(window.chrome||Af)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}static{this.\u0275fac=function(i){return new(i||e)(v(Je))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var hs;function ZA(){if(hs==null&&typeof window<"u")try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>hs=!0}))}finally{hs=hs||!1}return hs}function Vr(e){return ZA()?e:!!e.capture}var ki;function my(){if(ki==null){if(typeof document!="object"||!document||typeof Element!="function"||!Element)return ki=!1,ki;if("scrollBehavior"in document.documentElement.style)ki=!0;else{let e=Element.prototype.scrollTo;e?ki=!/\{\s*\[native code\]\s*\}/.test(e.toString()):ki=!1}}return ki}var Tf;function KA(){if(Tf==null){let e=typeof document<"u"?document.head:null;Tf=!!(e&&(e.createShadowRoot||e.attachShadow))}return Tf}function gy(e){if(KA()){let n=e.getRootNode?e.getRootNode():null;if(typeof ShadowRoot<"u"&&ShadowRoot&&n instanceof ShadowRoot)return n}return null}function fs(){let e=typeof document<"u"&&document?document.activeElement:null;for(;e&&e.shadowRoot;){let n=e.shadowRoot.activeElement;if(n===e)break;e=n}return e}function Qt(e){return e.composedPath?e.composedPath()[0]:e.target}function ps(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}var XA=new O("cdk-dir-doc",{providedIn:"root",factory:JA});function JA(){return S(W)}var eO=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;function tO(e){let n=e?.toLowerCase()||"";return n==="auto"&&typeof navigator<"u"&&navigator?.language?eO.test(navigator.language)?"rtl":"ltr":n==="rtl"?"rtl":"ltr"}var gs=(()=>{class e{constructor(t){if(this.value="ltr",this.change=new ne,t){let i=t.body?t.body.dir:null,r=t.documentElement?t.documentElement.dir:null;this.value=tO(i||r||"ltr")}}ngOnDestroy(){this.change.complete()}static{this.\u0275fac=function(i){return new(i||e)(v(XA,8))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var oi=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=G({type:e})}static{this.\u0275inj=z({})}}return e})();var iO=20,_y=(()=>{class e{constructor(t,i,r){this._ngZone=t,this._platform=i,this._scrolled=new B,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=r}register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){let i=this.scrollContainers.get(t);i&&(i.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=iO){return this._platform.isBrowser?new Z(i=>{this._globalSubscription||this._addGlobalListener();let r=t>0?this._scrolled.pipe(Zs(t)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):N()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((t,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(t,i){let r=this.getAncestorScrollContainers(t);return this.scrolled(i).pipe(be(o=>!o||r.indexOf(o)>-1))}getAncestorScrollContainers(t){let i=[];return this.scrollContainers.forEach((r,o)=>{this._scrollableContainsElement(o,t)&&i.push(o)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(t,i){let r=Ln(i),o=t.getElementRef().nativeElement;do if(r==o)return!0;while(r=r.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>{let t=this._getWindow();return Qr(t.document,"scroll").subscribe(()=>this._scrolled.next())})}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}static{this.\u0275fac=function(i){return new(i||e)(v(F),v(Be),v(W,8))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var rO=20,Of=(()=>{class e{constructor(t,i,r){this._platform=t,this._change=new B,this._changeListener=o=>{this._change.next(o)},this._document=r,i.runOutsideAngular(()=>{if(t.isBrowser){let o=this._getWindow();o.addEventListener("resize",this._changeListener),o.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){let t=this._getWindow();t.removeEventListener("resize",this._changeListener),t.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();let t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){let t=this.getViewportScrollPosition(),{width:i,height:r}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+i,height:r,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};let t=this._document,i=this._getWindow(),r=t.documentElement,o=r.getBoundingClientRect(),s=-o.top||t.body.scrollTop||i.scrollY||r.scrollTop||0,a=-o.left||t.body.scrollLeft||i.scrollX||r.scrollLeft||0;return{top:s,left:a}}change(t=rO){return t>0?this._change.pipe(Zs(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){let t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}static{this.\u0275fac=function(i){return new(i||e)(v(Be),v(F),v(W,8))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var vy=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=G({type:e})}static{this.\u0275inj=z({})}}return e})(),kf=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=G({type:e})}static{this.\u0275inj=z({imports:[oi,vy,oi,vy]})}}return e})();var vs=class{attach(n){return this._attachedHost=n,n.attach(this)}detach(){let n=this._attachedHost;n!=null&&(this._attachedHost=null,n.detach())}get isAttached(){return this._attachedHost!=null}setAttachedHost(n){this._attachedHost=n}},jr=class extends vs{constructor(n,t,i,r,o){super(),this.component=n,this.viewContainerRef=t,this.injector=i,this.componentFactoryResolver=r,this.projectableNodes=o}},Br=class extends vs{constructor(n,t,i,r){super(),this.templateRef=n,this.viewContainerRef=t,this.context=i,this.injector=r}get origin(){return this.templateRef.elementRef}attach(n,t=this.context){return this.context=t,super.attach(n)}detach(){return this.context=void 0,super.detach()}},Pf=class extends vs{constructor(n){super(),this.element=n instanceof re?n.nativeElement:n}},Ur=class{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(n){if(n instanceof jr)return this._attachedPortal=n,this.attachComponentPortal(n);if(n instanceof Br)return this._attachedPortal=n,this.attachTemplatePortal(n);if(this.attachDomPortal&&n instanceof Pf)return this._attachedPortal=n,this.attachDomPortal(n)}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(n){this._disposeFn=n}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}};var yl=class extends Ur{constructor(n,t,i,r,o){super(),this.outletElement=n,this._componentFactoryResolver=t,this._appRef=i,this._defaultInjector=r,this.attachDomPortal=s=>{this._document;let a=s.element;a.parentNode;let c=this._document.createComment("dom-portal");a.parentNode.insertBefore(c,a),this.outletElement.appendChild(a),this._attachedPortal=s,super.setDisposeFn(()=>{c.parentNode&&c.parentNode.replaceChild(a,c)})},this._document=o}attachComponentPortal(n){let i=(n.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(n.component),r;return n.viewContainerRef?(r=n.viewContainerRef.createComponent(i,n.viewContainerRef.length,n.injector||n.viewContainerRef.injector,n.projectableNodes||void 0),this.setDisposeFn(()=>r.destroy())):(r=i.create(n.injector||this._defaultInjector||Ae.NULL),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.viewCount>0&&this._appRef.detachView(r.hostView),r.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(r)),this._attachedPortal=n,r}attachTemplatePortal(n){let t=n.viewContainerRef,i=t.createEmbeddedView(n.templateRef,n.context,{injector:n.injector});return i.rootNodes.forEach(r=>this.outletElement.appendChild(r)),i.detectChanges(),this.setDisposeFn(()=>{let r=t.indexOf(i);r!==-1&&t.remove(r)}),this._attachedPortal=n,i}dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(n){return n.hostView.rootNodes[0]}};var _s=(()=>{class e extends Ur{constructor(t,i,r){super(),this._componentFactoryResolver=t,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new ne,this.attachDomPortal=o=>{this._document;let s=o.element;s.parentNode;let a=this._document.createComment("dom-portal");o.setAttachedHost(this),s.parentNode.insertBefore(a,s),this._getRootNode().appendChild(s),this._attachedPortal=o,super.setDisposeFn(()=>{a.parentNode&&a.parentNode.replaceChild(s,a)})},this._document=r}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t||null)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedRef=this._attachedPortal=null}attachComponentPortal(t){t.setAttachedHost(this);let i=t.viewContainerRef!=null?t.viewContainerRef:this._viewContainerRef,o=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component),s=i.createComponent(o,i.length,t.injector||i.injector,t.projectableNodes||void 0);return i!==this._viewContainerRef&&this._getRootNode().appendChild(s.hostView.rootNodes[0]),super.setDisposeFn(()=>s.destroy()),this._attachedPortal=t,this._attachedRef=s,this.attached.emit(s),s}attachTemplatePortal(t){t.setAttachedHost(this);let i=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context,{injector:t.injector});return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){let t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}static{this.\u0275fac=function(i){return new(i||e)(w(Qn),w(Ct),w(W))}}static{this.\u0275dir=ce({type:e,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:[$.None,"cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],standalone:!0,features:[He]})}}return e})();var Pi=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=G({type:e})}static{this.\u0275inj=z({})}}return e})();function bl(e,...n){return n.length?n.some(t=>e[t]):e.altKey||e.shiftKey||e.ctrlKey||e.metaKey}var yy=my(),Rf=class{constructor(n,t){this._viewportRuler=n,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}attach(){}enable(){if(this._canBeEnabled()){let n=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=n.style.left||"",this._previousHTMLStyles.top=n.style.top||"",n.style.left=Le(-this._previousScrollPosition.left),n.style.top=Le(-this._previousScrollPosition.top),n.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){let n=this._document.documentElement,t=this._document.body,i=n.style,r=t.style,o=i.scrollBehavior||"",s=r.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,n.classList.remove("cdk-global-scrollblock"),yy&&(i.scrollBehavior=r.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),yy&&(i.scrollBehavior=o,r.scrollBehavior=s)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;let t=this._document.body,i=this._viewportRuler.getViewportSize();return t.scrollHeight>i.height||t.scrollWidth>i.width}};var Nf=class{constructor(n,t,i,r){this._scrollDispatcher=n,this._ngZone=t,this._viewportRuler=i,this._config=r,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(n){this._overlayRef,this._overlayRef=n}enable(){if(this._scrollSubscription)return;let n=this._scrollDispatcher.scrolled(0).pipe(be(t=>!t||!this._overlayRef.overlayElement.contains(t.getElementRef().nativeElement)));this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=n.subscribe(()=>{let t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=n.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}},wl=class{enable(){}disable(){}attach(){}};function Ff(e,n){return n.some(t=>{let i=e.bottomt.bottom,o=e.rightt.right;return i||r||o||s})}function by(e,n){return n.some(t=>{let i=e.topt.bottom,o=e.leftt.right;return i||r||o||s})}var Lf=class{constructor(n,t,i,r){this._scrollDispatcher=n,this._viewportRuler=t,this._ngZone=i,this._config=r,this._scrollSubscription=null}attach(n){this._overlayRef,this._overlayRef=n}enable(){if(!this._scrollSubscription){let n=this._config?this._config.scrollThrottle:0;this._scrollSubscription=this._scrollDispatcher.scrolled(n).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){let t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:r}=this._viewportRuler.getViewportSize();Ff(t,[{width:i,height:r,bottom:r,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}})}}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}},sO=(()=>{class e{constructor(t,i,r,o){this._scrollDispatcher=t,this._viewportRuler=i,this._ngZone=r,this.noop=()=>new wl,this.close=s=>new Nf(this._scrollDispatcher,this._ngZone,this._viewportRuler,s),this.block=()=>new Rf(this._viewportRuler,this._document),this.reposition=s=>new Lf(this._scrollDispatcher,this._viewportRuler,this._ngZone,s),this._document=o}static{this.\u0275fac=function(i){return new(i||e)(v(_y),v(Of),v(F),v(W))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),ys=class{constructor(n){if(this.scrollStrategy=new wl,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,n){let t=Object.keys(n);for(let i of t)n[i]!==void 0&&(this[i]=n[i])}}};var Vf=class{constructor(n,t){this.connectionPair=n,this.scrollableViewProperties=t}};var Ey=(()=>{class e{constructor(t){this._attachedOverlays=[],this._document=t}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){let i=this._attachedOverlays.indexOf(t);i>-1&&this._attachedOverlays.splice(i,1),this._attachedOverlays.length===0&&this.detach()}static{this.\u0275fac=function(i){return new(i||e)(v(W))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),aO=(()=>{class e extends Ey{constructor(t,i){super(t),this._ngZone=i,this._keydownListener=r=>{let o=this._attachedOverlays;for(let s=o.length-1;s>-1;s--)if(o[s]._keydownEvents.observers.length>0){let a=o[s]._keydownEvents;this._ngZone?this._ngZone.run(()=>a.next(r)):a.next(r);break}}}add(t){super.add(t),this._isAttached||(this._ngZone?this._ngZone.runOutsideAngular(()=>this._document.body.addEventListener("keydown",this._keydownListener)):this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}static{this.\u0275fac=function(i){return new(i||e)(v(W),v(F,8))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),cO=(()=>{class e extends Ey{constructor(t,i,r){super(t),this._platform=i,this._ngZone=r,this._cursorStyleIsSet=!1,this._pointerDownListener=o=>{this._pointerDownEventTarget=Qt(o)},this._clickListener=o=>{let s=Qt(o),a=o.type==="click"&&this._pointerDownEventTarget?this._pointerDownEventTarget:s;this._pointerDownEventTarget=null;let c=this._attachedOverlays.slice();for(let h=c.length-1;h>-1;h--){let f=c[h];if(f._outsidePointerEvents.observers.length<1||!f.hasAttached())continue;if(f.overlayElement.contains(s)||f.overlayElement.contains(a))break;let p=f._outsidePointerEvents;this._ngZone?this._ngZone.run(()=>p.next(o)):p.next(o)}}}add(t){if(super.add(t),!this._isAttached){let i=this._document.body;this._ngZone?this._ngZone.runOutsideAngular(()=>this._addEventListeners(i)):this._addEventListeners(i),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){let t=this._document.body;t.removeEventListener("pointerdown",this._pointerDownListener,!0),t.removeEventListener("click",this._clickListener,!0),t.removeEventListener("auxclick",this._clickListener,!0),t.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(t.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}_addEventListeners(t){t.addEventListener("pointerdown",this._pointerDownListener,!0),t.addEventListener("click",this._clickListener,!0),t.addEventListener("auxclick",this._clickListener,!0),t.addEventListener("contextmenu",this._clickListener,!0)}static{this.\u0275fac=function(i){return new(i||e)(v(W),v(Be),v(F,8))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),$r=(()=>{class e{constructor(t,i){this._platform=i,this._document=t}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){let t="cdk-overlay-container";if(this._platform.isBrowser||ps()){let r=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let o=0;othis._backdropClick.next(p),this._backdropTransitionendHandler=p=>{this._disposeBackdrop(p.target)},this._keydownEvents=new B,this._outsidePointerEvents=new B,r.scrollStrategy&&(this._scrollStrategy=r.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=r.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(n){!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host);let t=this._portalOutlet.attach(n);return this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(Ue(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),typeof t?.onDestroy=="function"&&t.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();let n=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),n}dispose(){let n=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._disposeBackdrop(this._backdropElement),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._previousHostParent=this._pane=this._host=null,n&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(n){n!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=n,this.hasAttached()&&(n.attach(this),this.updatePosition()))}updateSize(n){this._config=E(E({},this._config),n),this._updateElementSize()}setDirection(n){this._config=ae(E({},this._config),{direction:n}),this._updateElementDirection()}addPanelClass(n){this._pane&&this._toggleClasses(this._pane,n,!0)}removePanelClass(n){this._pane&&this._toggleClasses(this._pane,n,!1)}getDirection(){let n=this._config.direction;return n?typeof n=="string"?n:n.value:"ltr"}updateScrollStrategy(n){n!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=n,this.hasAttached()&&(n.attach(this),n.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;let n=this._pane.style;n.width=Le(this._config.width),n.height=Le(this._config.height),n.minWidth=Le(this._config.minWidth),n.minHeight=Le(this._config.minHeight),n.maxWidth=Le(this._config.maxWidth),n.maxHeight=Le(this._config.maxHeight)}_togglePointerEvents(n){this._pane.style.pointerEvents=n?"":"none"}_attachBackdrop(){let n="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._animationsDisabled&&this._backdropElement.classList.add("cdk-overlay-backdrop-noop-animation"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),!this._animationsDisabled&&typeof requestAnimationFrame<"u"?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(n)})}):this._backdropElement.classList.add(n)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){let n=this._backdropElement;if(n){if(this._animationsDisabled){this._disposeBackdrop(n);return}n.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{n.addEventListener("transitionend",this._backdropTransitionendHandler)}),n.style.pointerEvents="none",this._backdropTimeout=this._ngZone.runOutsideAngular(()=>setTimeout(()=>{this._disposeBackdrop(n)},500))}}_toggleClasses(n,t,i){let r=Lr(t||[]).filter(o=>!!o);r.length&&(i?n.classList.add(...r):n.classList.remove(...r))}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{let n=this._ngZone.onStable.pipe(ot(Zr(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||this._pane.children.length===0)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._host.remove()),n.unsubscribe())})})}_disposeScrollStrategy(){let n=this._scrollStrategy;n&&(n.disable(),n.detach&&n.detach())}_disposeBackdrop(n){n&&(n.removeEventListener("click",this._backdropClickHandler),n.removeEventListener("transitionend",this._backdropTransitionendHandler),n.remove(),this._backdropElement===n&&(this._backdropElement=null)),this._backdropTimeout&&(clearTimeout(this._backdropTimeout),this._backdropTimeout=void 0)}},wy="cdk-overlay-connected-position-bounding-box",lO=/([A-Za-z%]+)$/,jf=class{get positions(){return this._preferredPositions}constructor(n,t,i,r,o){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=o,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new B,this._resizeSubscription=_e.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(n)}attach(n){this._overlayRef&&this._overlayRef,this._validatePositions(),n.hostElement.classList.add(wy),this._overlayRef=n,this._boundingBox=n.hostElement,this._pane=n.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition){this.reapplyLastPosition();return}this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();let n=this._originRect,t=this._overlayRect,i=this._viewportRect,r=this._containerRect,o=[],s;for(let a of this._preferredPositions){let c=this._getOriginPoint(n,r,a),h=this._getOverlayPoint(c,t,a),f=this._getOverlayFit(h,t,i,a);if(f.isCompletelyWithinViewport){this._isPushed=!1,this._applyPosition(a,c);return}if(this._canFitWithFlexibleDimensions(f,h,i)){o.push({position:a,origin:c,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(c,a)});continue}(!s||s.overlayFit.visibleAreac&&(c=f,a=h)}this._isPushed=!1,this._applyPosition(a.position,a.origin);return}if(this._canPush){this._isPushed=!0,this._applyPosition(s.position,s.originPoint);return}this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&Ri(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(wy),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(this._isDisposed||!this._platform.isBrowser)return;let n=this._lastPosition;if(n){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();let t=this._getOriginPoint(this._originRect,this._containerRect,n);this._applyPosition(n,t)}else this.apply()}withScrollableContainers(n){return this._scrollables=n,this}withPositions(n){return this._preferredPositions=n,n.indexOf(this._lastPosition)===-1&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(n){return this._viewportMargin=n,this}withFlexibleDimensions(n=!0){return this._hasFlexibleDimensions=n,this}withGrowAfterOpen(n=!0){return this._growAfterOpen=n,this}withPush(n=!0){return this._canPush=n,this}withLockedPosition(n=!0){return this._positionLocked=n,this}setOrigin(n){return this._origin=n,this}withDefaultOffsetX(n){return this._offsetX=n,this}withDefaultOffsetY(n){return this._offsetY=n,this}withTransformOriginOn(n){return this._transformOriginSelector=n,this}_getOriginPoint(n,t,i){let r;if(i.originX=="center")r=n.left+n.width/2;else{let s=this._isRtl()?n.right:n.left,a=this._isRtl()?n.left:n.right;r=i.originX=="start"?s:a}t.left<0&&(r-=t.left);let o;return i.originY=="center"?o=n.top+n.height/2:o=i.originY=="top"?n.top:n.bottom,t.top<0&&(o-=t.top),{x:r,y:o}}_getOverlayPoint(n,t,i){let r;i.overlayX=="center"?r=-t.width/2:i.overlayX==="start"?r=this._isRtl()?-t.width:0:r=this._isRtl()?0:-t.width;let o;return i.overlayY=="center"?o=-t.height/2:o=i.overlayY=="top"?0:-t.height,{x:n.x+r,y:n.y+o}}_getOverlayFit(n,t,i,r){let o=xy(t),{x:s,y:a}=n,c=this._getOffset(r,"x"),h=this._getOffset(r,"y");c&&(s+=c),h&&(a+=h);let f=0-s,p=s+o.width-i.width,b=0-a,_=a+o.height-i.height,x=this._subtractOverflows(o.width,f,p),M=this._subtractOverflows(o.height,b,_),k=x*M;return{visibleArea:k,isCompletelyWithinViewport:o.width*o.height===k,fitsInViewportVertically:M===o.height,fitsInViewportHorizontally:x==o.width}}_canFitWithFlexibleDimensions(n,t,i){if(this._hasFlexibleDimensions){let r=i.bottom-t.y,o=i.right-t.x,s=Cy(this._overlayRef.getConfig().minHeight),a=Cy(this._overlayRef.getConfig().minWidth),c=n.fitsInViewportVertically||s!=null&&s<=r,h=n.fitsInViewportHorizontally||a!=null&&a<=o;return c&&h}return!1}_pushOverlayOnScreen(n,t,i){if(this._previousPushAmount&&this._positionLocked)return{x:n.x+this._previousPushAmount.x,y:n.y+this._previousPushAmount.y};let r=xy(t),o=this._viewportRect,s=Math.max(n.x+r.width-o.width,0),a=Math.max(n.y+r.height-o.height,0),c=Math.max(o.top-i.top-n.y,0),h=Math.max(o.left-i.left-n.x,0),f=0,p=0;return r.width<=o.width?f=h||-s:f=n.xx&&!this._isInitialRender&&!this._growAfterOpen&&(s=n.y-x/2)}let c=t.overlayX==="start"&&!r||t.overlayX==="end"&&r,h=t.overlayX==="end"&&!r||t.overlayX==="start"&&r,f,p,b;if(h)b=i.width-n.x+this._viewportMargin*2,f=n.x-this._viewportMargin;else if(c)p=n.x,f=i.right-n.x;else{let _=Math.min(i.right-n.x+i.left,n.x),x=this._lastBoundingBoxSize.width;f=_*2,p=n.x-_,f>x&&!this._isInitialRender&&!this._growAfterOpen&&(p=n.x-x/2)}return{top:s,left:p,bottom:a,right:b,width:f,height:o}}_setBoundingBoxStyles(n,t){let i=this._calculateBoundingBoxRect(n,t);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));let r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{let o=this._overlayRef.getConfig().maxHeight,s=this._overlayRef.getConfig().maxWidth;r.height=Le(i.height),r.top=Le(i.top),r.bottom=Le(i.bottom),r.width=Le(i.width),r.left=Le(i.left),r.right=Le(i.right),t.overlayX==="center"?r.alignItems="center":r.alignItems=t.overlayX==="end"?"flex-end":"flex-start",t.overlayY==="center"?r.justifyContent="center":r.justifyContent=t.overlayY==="bottom"?"flex-end":"flex-start",o&&(r.maxHeight=Le(o)),s&&(r.maxWidth=Le(s))}this._lastBoundingBoxSize=i,Ri(this._boundingBox.style,r)}_resetBoundingBoxStyles(){Ri(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){Ri(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(n,t){let i={},r=this._hasExactPosition(),o=this._hasFlexibleDimensions,s=this._overlayRef.getConfig();if(r){let f=this._viewportRuler.getViewportScrollPosition();Ri(i,this._getExactOverlayY(t,n,f)),Ri(i,this._getExactOverlayX(t,n,f))}else i.position="static";let a="",c=this._getOffset(t,"x"),h=this._getOffset(t,"y");c&&(a+=`translateX(${c}px) `),h&&(a+=`translateY(${h}px)`),i.transform=a.trim(),s.maxHeight&&(r?i.maxHeight=Le(s.maxHeight):o&&(i.maxHeight="")),s.maxWidth&&(r?i.maxWidth=Le(s.maxWidth):o&&(i.maxWidth="")),Ri(this._pane.style,i)}_getExactOverlayY(n,t,i){let r={top:"",bottom:""},o=this._getOverlayPoint(t,this._overlayRect,n);if(this._isPushed&&(o=this._pushOverlayOnScreen(o,this._overlayRect,i)),n.overlayY==="bottom"){let s=this._document.documentElement.clientHeight;r.bottom=`${s-(o.y+this._overlayRect.height)}px`}else r.top=Le(o.y);return r}_getExactOverlayX(n,t,i){let r={left:"",right:""},o=this._getOverlayPoint(t,this._overlayRect,n);this._isPushed&&(o=this._pushOverlayOnScreen(o,this._overlayRect,i));let s;if(this._isRtl()?s=n.overlayX==="end"?"left":"right":s=n.overlayX==="end"?"right":"left",s==="right"){let a=this._document.documentElement.clientWidth;r.right=`${a-(o.x+this._overlayRect.width)}px`}else r.left=Le(o.x);return r}_getScrollVisibility(){let n=this._getOriginRect(),t=this._pane.getBoundingClientRect(),i=this._scrollables.map(r=>r.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:by(n,i),isOriginOutsideView:Ff(n,i),isOverlayClipped:by(t,i),isOverlayOutsideView:Ff(t,i)}}_subtractOverflows(n,...t){return t.reduce((i,r)=>i-Math.max(r,0),n)}_getNarrowedViewportRect(){let n=this._document.documentElement.clientWidth,t=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+n-this._viewportMargin,bottom:i.top+t-this._viewportMargin,width:n-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return this._overlayRef.getDirection()==="rtl"}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(n,t){return t==="x"?n.offsetX==null?this._offsetX:n.offsetX:n.offsetY==null?this._offsetY:n.offsetY}_validatePositions(){}_addPanelClasses(n){this._pane&&Lr(n).forEach(t=>{t!==""&&this._appliedPanelClasses.indexOf(t)===-1&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(n=>{this._pane.classList.remove(n)}),this._appliedPanelClasses=[])}_getOriginRect(){let n=this._origin;if(n instanceof re)return n.nativeElement.getBoundingClientRect();if(n instanceof Element)return n.getBoundingClientRect();let t=n.width||0,i=n.height||0;return{top:n.y,bottom:n.y+i,left:n.x,right:n.x+t,height:i,width:t}}};function Ri(e,n){for(let t in n)n.hasOwnProperty(t)&&(e[t]=n[t]);return e}function Cy(e){if(typeof e!="number"&&e!=null){let[n,t]=e.split(lO);return!t||t==="px"?parseFloat(n):null}return e||null}function xy(e){return{top:Math.floor(e.top),right:Math.floor(e.right),bottom:Math.floor(e.bottom),left:Math.floor(e.left),width:Math.floor(e.width),height:Math.floor(e.height)}}function dO(e,n){return e===n?!0:e.isOriginClipped===n.isOriginClipped&&e.isOriginOutsideView===n.isOriginOutsideView&&e.isOverlayClipped===n.isOverlayClipped&&e.isOverlayOutsideView===n.isOverlayOutsideView}var Dy="cdk-global-overlay-wrapper",Bf=class{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._alignItems="",this._xPosition="",this._xOffset="",this._width="",this._height="",this._isDisposed=!1}attach(n){let t=n.getConfig();this._overlayRef=n,this._width&&!t.width&&n.updateSize({width:this._width}),this._height&&!t.height&&n.updateSize({height:this._height}),n.hostElement.classList.add(Dy),this._isDisposed=!1}top(n=""){return this._bottomOffset="",this._topOffset=n,this._alignItems="flex-start",this}left(n=""){return this._xOffset=n,this._xPosition="left",this}bottom(n=""){return this._topOffset="",this._bottomOffset=n,this._alignItems="flex-end",this}right(n=""){return this._xOffset=n,this._xPosition="right",this}start(n=""){return this._xOffset=n,this._xPosition="start",this}end(n=""){return this._xOffset=n,this._xPosition="end",this}width(n=""){return this._overlayRef?this._overlayRef.updateSize({width:n}):this._width=n,this}height(n=""){return this._overlayRef?this._overlayRef.updateSize({height:n}):this._height=n,this}centerHorizontally(n=""){return this.left(n),this._xPosition="center",this}centerVertically(n=""){return this.top(n),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;let n=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:r,height:o,maxWidth:s,maxHeight:a}=i,c=(r==="100%"||r==="100vw")&&(!s||s==="100%"||s==="100vw"),h=(o==="100%"||o==="100vh")&&(!a||a==="100%"||a==="100vh"),f=this._xPosition,p=this._xOffset,b=this._overlayRef.getConfig().direction==="rtl",_="",x="",M="";c?M="flex-start":f==="center"?(M="center",b?x=p:_=p):b?f==="left"||f==="end"?(M="flex-end",_=p):(f==="right"||f==="start")&&(M="flex-start",x=p):f==="left"||f==="start"?(M="flex-start",_=p):(f==="right"||f==="end")&&(M="flex-end",x=p),n.position=this._cssPosition,n.marginLeft=c?"0":_,n.marginTop=h?"0":this._topOffset,n.marginBottom=this._bottomOffset,n.marginRight=c?"0":x,t.justifyContent=M,t.alignItems=h?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;let n=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,i=t.style;t.classList.remove(Dy),i.justifyContent=i.alignItems=n.marginTop=n.marginBottom=n.marginLeft=n.marginRight=n.position="",this._overlayRef=null,this._isDisposed=!0}},uO=(()=>{class e{constructor(t,i,r,o){this._viewportRuler=t,this._document=i,this._platform=r,this._overlayContainer=o}global(){return new Bf}flexibleConnectedTo(t){return new jf(t,this._viewportRuler,this._document,this._platform,this._overlayContainer)}static{this.\u0275fac=function(i){return new(i||e)(v(Of),v(W),v(Be),v($r))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),hO=0,Zt=(()=>{class e{constructor(t,i,r,o,s,a,c,h,f,p,b,_){this.scrollStrategies=t,this._overlayContainer=i,this._componentFactoryResolver=r,this._positionBuilder=o,this._keyboardDispatcher=s,this._injector=a,this._ngZone=c,this._document=h,this._directionality=f,this._location=p,this._outsideClickDispatcher=b,this._animationsModuleType=_}create(t){let i=this._createHostElement(),r=this._createPaneElement(i),o=this._createPortalOutlet(r),s=new ys(t);return s.direction=s.direction||this._directionality.value,new Vn(o,i,r,s,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher,this._animationsModuleType==="NoopAnimations")}position(){return this._positionBuilder}_createPaneElement(t){let i=this._document.createElement("div");return i.id=`cdk-overlay-${hO++}`,i.classList.add("cdk-overlay-pane"),t.appendChild(i),i}_createHostElement(){let t=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(t),t}_createPortalOutlet(t){return this._appRef||(this._appRef=this._injector.get(Sn)),new yl(t,this._componentFactoryResolver,this._appRef,this._injector,this._document)}static{this.\u0275fac=function(i){return new(i||e)(v(sO),v($r),v(Qn),v(uO),v(aO),v(Ae),v(F),v(W),v(gs),v(dn),v(cO),v(wn,8))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var fO=new O("cdk-connected-overlay-scroll-strategy",{providedIn:"root",factory:()=>{let e=S(Zt);return()=>e.scrollStrategies.reposition()}});function pO(e){return()=>e.scrollStrategies.reposition()}var mO={provide:fO,deps:[Zt],useFactory:pO},Cl=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=G({type:e})}static{this.\u0275inj=z({providers:[Zt,mO],imports:[oi,Pi,kf,kf]})}}return e})();var gO=(()=>{class e{create(t){return typeof MutationObserver>"u"?null:new MutationObserver(t)}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var Sy=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=G({type:e})}static{this.\u0275inj=z({providers:[gO]})}}return e})();var My=new Set,Ni,vO=(()=>{class e{constructor(t,i){this._platform=t,this._nonce=i,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):yO}matchMedia(t){return(this._platform.WEBKIT||this._platform.BLINK)&&_O(t,this._nonce),this._matchMedia(t)}static{this.\u0275fac=function(i){return new(i||e)(v(Be),v(vo,8))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function _O(e,n){if(!My.has(e))try{Ni||(Ni=document.createElement("style"),n&&Ni.setAttribute("nonce",n),Ni.setAttribute("type","text/css"),document.head.appendChild(Ni)),Ni.sheet&&(Ni.sheet.insertRule(`@media ${e} {body{ }}`,0),My.add(e))}catch(t){console.error(t)}}function yO(e){return{matches:e==="all"||e==="",media:e,addListener:()=>{},removeListener:()=>{}}}var Ay=(()=>{class e{constructor(t,i){this._mediaMatcher=t,this._zone=i,this._queries=new Map,this._destroySubject=new B}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(t){return Ty(Lr(t)).some(r=>this._registerQuery(r).mql.matches)}observe(t){let r=Ty(Lr(t)).map(s=>this._registerQuery(s).observable),o=di(r);return o=jn(o.pipe(Ue(1)),o.pipe(Kr(1),Qi(0))),o.pipe(U(s=>{let a={matches:!1,breakpoints:{}};return s.forEach(({matches:c,query:h})=>{a.matches=a.matches||c,a.breakpoints[h]=c}),a}))}_registerQuery(t){if(this._queries.has(t))return this._queries.get(t);let i=this._mediaMatcher.matchMedia(t),o={observable:new Z(s=>{let a=c=>this._zone.run(()=>s.next(c));return i.addListener(a),()=>{i.removeListener(a)}}).pipe(tn(i),U(({matches:s})=>({query:t,matches:s})),ot(this._destroySubject)),mql:i};return this._queries.set(t,o),o}static{this.\u0275fac=function(i){return new(i||e)(v(vO),v(F))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function Ty(e){return e.map(n=>n.split(",")).reduce((n,t)=>n.concat(t)).map(n=>n.trim())}var bs=(()=>{class e{constructor(t){this._platform=t}isDisabled(t){return t.hasAttribute("disabled")}isVisible(t){return wO(t)&&getComputedStyle(t).visibility==="visible"}isTabbable(t){if(!this._platform.isBrowser)return!1;let i=bO(TO(t));if(i&&(Oy(i)===-1||!this.isVisible(i)))return!1;let r=t.nodeName.toLowerCase(),o=Oy(t);return t.hasAttribute("contenteditable")?o!==-1:r==="iframe"||r==="object"||this._platform.WEBKIT&&this._platform.IOS&&!SO(t)?!1:r==="audio"?t.hasAttribute("controls")?o!==-1:!1:r==="video"?o===-1?!1:o!==null?!0:this._platform.FIREFOX||t.hasAttribute("controls"):t.tabIndex>=0}isFocusable(t,i){return MO(t)&&!this.isDisabled(t)&&(i?.ignoreVisibility||this.isVisible(t))}static{this.\u0275fac=function(i){return new(i||e)(v(Be))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function bO(e){try{return e.frameElement}catch{return null}}function wO(e){return!!(e.offsetWidth||e.offsetHeight||typeof e.getClientRects=="function"&&e.getClientRects().length)}function CO(e){let n=e.nodeName.toLowerCase();return n==="input"||n==="select"||n==="button"||n==="textarea"}function xO(e){return EO(e)&&e.type=="hidden"}function DO(e){return IO(e)&&e.hasAttribute("href")}function EO(e){return e.nodeName.toLowerCase()=="input"}function IO(e){return e.nodeName.toLowerCase()=="a"}function Ry(e){if(!e.hasAttribute("tabindex")||e.tabIndex===void 0)return!1;let n=e.getAttribute("tabindex");return!!(n&&!isNaN(parseInt(n,10)))}function Oy(e){if(!Ry(e))return null;let n=parseInt(e.getAttribute("tabindex")||"",10);return isNaN(n)?-1:n}function SO(e){let n=e.nodeName.toLowerCase(),t=n==="input"&&e.type;return t==="text"||t==="password"||n==="select"||n==="textarea"}function MO(e){return xO(e)?!1:CO(e)||DO(e)||e.hasAttribute("contenteditable")||Ry(e)}function TO(e){return e.ownerDocument&&e.ownerDocument.defaultView||window}var $f=class{get enabled(){return this._enabled}set enabled(n){this._enabled=n,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(n,this._startAnchor),this._toggleAnchorTabIndex(n,this._endAnchor))}constructor(n,t,i,r,o=!1){this._element=n,this._checker=t,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,o||this.attachAnchors()}destroy(){let n=this._startAnchor,t=this._endAnchor;n&&(n.removeEventListener("focus",this.startAnchorListener),n.remove()),t&&(t.removeEventListener("focus",this.endAnchorListener),t.remove()),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return this._hasAttached?!0:(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(n){return new Promise(t=>{this._executeOnStable(()=>t(this.focusInitialElement(n)))})}focusFirstTabbableElementWhenReady(n){return new Promise(t=>{this._executeOnStable(()=>t(this.focusFirstTabbableElement(n)))})}focusLastTabbableElementWhenReady(n){return new Promise(t=>{this._executeOnStable(()=>t(this.focusLastTabbableElement(n)))})}_getRegionBoundary(n){let t=this._element.querySelectorAll(`[cdk-focus-region-${n}], [cdkFocusRegion${n}], [cdk-focus-${n}]`);return n=="start"?t.length?t[0]:this._getFirstTabbableElement(this._element):t.length?t[t.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(n){let t=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");if(t){if(!this._checker.isFocusable(t)){let i=this._getFirstTabbableElement(t);return i?.focus(n),!!i}return t.focus(n),!0}return this.focusFirstTabbableElement(n)}focusFirstTabbableElement(n){let t=this._getRegionBoundary("start");return t&&t.focus(n),!!t}focusLastTabbableElement(n){let t=this._getRegionBoundary("end");return t&&t.focus(n),!!t}hasAttached(){return this._hasAttached}_getFirstTabbableElement(n){if(this._checker.isFocusable(n)&&this._checker.isTabbable(n))return n;let t=n.children;for(let i=0;i=0;i--){let r=t[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[i]):null;if(r)return r}return null}_createAnchor(){let n=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,n),n.classList.add("cdk-visually-hidden"),n.classList.add("cdk-focus-trap-anchor"),n.setAttribute("aria-hidden","true"),n}_toggleAnchorTabIndex(n,t){n?t.setAttribute("tabindex","0"):t.removeAttribute("tabindex")}toggleAnchors(n){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(n,this._startAnchor),this._toggleAnchorTabIndex(n,this._endAnchor))}_executeOnStable(n){this._ngZone.isStable?n():this._ngZone.onStable.pipe(Ue(1)).subscribe(n)}},El=(()=>{class e{constructor(t,i,r){this._checker=t,this._ngZone=i,this._document=r}create(t,i=!1){return new $f(t,this._checker,this._ngZone,this._document,i)}static{this.\u0275fac=function(i){return new(i||e)(v(bs),v(F),v(W))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function Hf(e){return e.buttons===0||e.detail===0}function zf(e){let n=e.touches&&e.touches[0]||e.changedTouches&&e.changedTouches[0];return!!n&&n.identifier===-1&&(n.radiusX==null||n.radiusX===1)&&(n.radiusY==null||n.radiusY===1)}var AO=new O("cdk-input-modality-detector-options"),OO={ignoreKeys:[18,17,224,91,16]},Ny=650,Hr=Vr({passive:!0,capture:!0}),kO=(()=>{class e{get mostRecentModality(){return this._modality.value}constructor(t,i,r,o){this._platform=t,this._mostRecentTarget=null,this._modality=new Ce(null),this._lastTouchMs=0,this._onKeydown=s=>{this._options?.ignoreKeys?.some(a=>a===s.keyCode)||(this._modality.next("keyboard"),this._mostRecentTarget=Qt(s))},this._onMousedown=s=>{Date.now()-this._lastTouchMs{if(zf(s)){this._modality.next("keyboard");return}this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Qt(s)},this._options=E(E({},OO),o),this.modalityDetected=this._modality.pipe(Kr(1)),this.modalityChanged=this.modalityDetected.pipe(Zi()),t.isBrowser&&i.runOutsideAngular(()=>{r.addEventListener("keydown",this._onKeydown,Hr),r.addEventListener("mousedown",this._onMousedown,Hr),r.addEventListener("touchstart",this._onTouchstart,Hr)})}ngOnDestroy(){this._modality.complete(),this._platform.isBrowser&&(document.removeEventListener("keydown",this._onKeydown,Hr),document.removeEventListener("mousedown",this._onMousedown,Hr),document.removeEventListener("touchstart",this._onTouchstart,Hr))}static{this.\u0275fac=function(i){return new(i||e)(v(Be),v(F),v(W),v(AO,8))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var Dl=function(e){return e[e.IMMEDIATE=0]="IMMEDIATE",e[e.EVENTUAL=1]="EVENTUAL",e}(Dl||{}),PO=new O("cdk-focus-monitor-default-options"),xl=Vr({passive:!0,capture:!0}),zr=(()=>{class e{constructor(t,i,r,o,s){this._ngZone=t,this._platform=i,this._inputModalityDetector=r,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=window.setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new B,this._rootNodeFocusAndBlurListener=a=>{let c=Qt(a);for(let h=c;h;h=h.parentElement)a.type==="focus"?this._onFocus(a,h):this._onBlur(a,h)},this._document=o,this._detectionMode=s?.detectionMode||Dl.IMMEDIATE}monitor(t,i=!1){let r=Ln(t);if(!this._platform.isBrowser||r.nodeType!==1)return N();let o=gy(r)||this._getDocument(),s=this._elementInfo.get(r);if(s)return i&&(s.checkChildren=!0),s.subject;let a={checkChildren:i,subject:new B,rootNode:o};return this._elementInfo.set(r,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(t){let i=Ln(t),r=this._elementInfo.get(i);r&&(r.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(r))}focusVia(t,i,r){let o=Ln(t),s=this._getDocument().activeElement;o===s?this._getClosestElementsInfo(o).forEach(([a,c])=>this._originChanged(a,i,c)):(this._setOrigin(i),typeof o.focus=="function"&&o.focus(r))}ngOnDestroy(){this._elementInfo.forEach((t,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_getFocusOrigin(t){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(t)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:t&&this._isLastInteractionFromInputLabel(t)?"mouse":"program"}_shouldBeAttributedToTouch(t){return this._detectionMode===Dl.EVENTUAL||!!t?.contains(this._inputModalityDetector._mostRecentTarget)}_setClasses(t,i){t.classList.toggle("cdk-focused",!!i),t.classList.toggle("cdk-touch-focused",i==="touch"),t.classList.toggle("cdk-keyboard-focused",i==="keyboard"),t.classList.toggle("cdk-mouse-focused",i==="mouse"),t.classList.toggle("cdk-program-focused",i==="program")}_setOrigin(t,i=!1){this._ngZone.runOutsideAngular(()=>{if(this._origin=t,this._originFromTouchInteraction=t==="touch"&&i,this._detectionMode===Dl.IMMEDIATE){clearTimeout(this._originTimeoutId);let r=this._originFromTouchInteraction?Ny:1;this._originTimeoutId=setTimeout(()=>this._origin=null,r)}})}_onFocus(t,i){let r=this._elementInfo.get(i),o=Qt(t);!r||!r.checkChildren&&i!==o||this._originChanged(i,this._getFocusOrigin(o),r)}_onBlur(t,i){let r=this._elementInfo.get(i);!r||r.checkChildren&&t.relatedTarget instanceof Node&&i.contains(t.relatedTarget)||(this._setClasses(i),this._emitOrigin(r,null))}_emitOrigin(t,i){t.subject.observers.length&&this._ngZone.run(()=>t.subject.next(i))}_registerGlobalListeners(t){if(!this._platform.isBrowser)return;let i=t.rootNode,r=this._rootNodeFocusListenerCount.get(i)||0;r||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,xl),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,xl)}),this._rootNodeFocusListenerCount.set(i,r+1),++this._monitoredElementCount===1&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(ot(this._stopInputModalityDetector)).subscribe(o=>{this._setOrigin(o,!0)}))}_removeGlobalListeners(t){let i=t.rootNode;if(this._rootNodeFocusListenerCount.has(i)){let r=this._rootNodeFocusListenerCount.get(i);r>1?this._rootNodeFocusListenerCount.set(i,r-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,xl),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,xl),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(t,i,r){this._setClasses(t,i),this._emitOrigin(r,i),this._lastFocusOrigin=i}_getClosestElementsInfo(t){let i=[];return this._elementInfo.forEach((r,o)=>{(o===t||r.checkChildren&&o.contains(t))&&i.push([o,r])}),i}_isLastInteractionFromInputLabel(t){let{_mostRecentTarget:i,mostRecentModality:r}=this._inputModalityDetector;if(r!=="mouse"||!i||i===t||t.nodeName!=="INPUT"&&t.nodeName!=="TEXTAREA"||t.disabled)return!1;let o=t.labels;if(o){for(let s=0;s{class e{constructor(t,i){this._platform=t,this._document=i,this._breakpointSubscription=S(Ay).observe("(forced-colors: active)").subscribe(()=>{this._hasCheckedHighContrastMode&&(this._hasCheckedHighContrastMode=!1,this._applyBodyHighContrastModeCssClasses())})}getHighContrastMode(){if(!this._platform.isBrowser)return Fi.NONE;let t=this._document.createElement("div");t.style.backgroundColor="rgb(1,2,3)",t.style.position="absolute",this._document.body.appendChild(t);let i=this._document.defaultView||window,r=i&&i.getComputedStyle?i.getComputedStyle(t):null,o=(r&&r.backgroundColor||"").replace(/ /g,"");switch(t.remove(),o){case"rgb(0,0,0)":case"rgb(45,50,54)":case"rgb(32,32,32)":return Fi.WHITE_ON_BLACK;case"rgb(255,255,255)":case"rgb(255,250,239)":return Fi.BLACK_ON_WHITE}return Fi.NONE}ngOnDestroy(){this._breakpointSubscription.unsubscribe()}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){let t=this._document.body.classList;t.remove(Uf,ky,Py),this._hasCheckedHighContrastMode=!0;let i=this.getHighContrastMode();i===Fi.BLACK_ON_WHITE?t.add(Uf,ky):i===Fi.WHITE_ON_BLACK&&t.add(Uf,Py)}}static{this.\u0275fac=function(i){return new(i||e)(v(Be),v(W))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),Fy=(()=>{class e{constructor(t){t._applyBodyHighContrastModeCssClasses()}static{this.\u0275fac=function(i){return new(i||e)(v(Gf))}}static{this.\u0275mod=G({type:e})}static{this.\u0275inj=z({imports:[Sy]})}}return e})();function RO(e,n){}var Li=class{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.closeOnNavigation=!0,this.closeOnDestroy=!0,this.closeOnOverlayDetachments=!0}};var Yf=(()=>{class e extends Ur{constructor(t,i,r,o,s,a,c,h){super(),this._elementRef=t,this._focusTrapFactory=i,this._config=o,this._interactivityChecker=s,this._ngZone=a,this._overlayRef=c,this._focusMonitor=h,this._platform=S(Be),this._focusTrap=null,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this._ariaLabelledByQueue=[],this._changeDetectorRef=S(Ve),this.attachDomPortal=f=>{this._portalOutlet.hasAttached();let p=this._portalOutlet.attachDomPortal(f);return this._contentAttached(),p},this._document=r,this._config.ariaLabelledBy&&this._ariaLabelledByQueue.push(this._config.ariaLabelledBy)}_addAriaLabelledBy(t){this._ariaLabelledByQueue.push(t),this._changeDetectorRef.markForCheck()}_removeAriaLabelledBy(t){let i=this._ariaLabelledByQueue.indexOf(t);i>-1&&(this._ariaLabelledByQueue.splice(i,1),this._changeDetectorRef.markForCheck())}_contentAttached(){this._initializeFocusTrap(),this._handleBackdropClicks(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){this._restoreFocus()}attachComponentPortal(t){this._portalOutlet.hasAttached();let i=this._portalOutlet.attachComponentPortal(t);return this._contentAttached(),i}attachTemplatePortal(t){this._portalOutlet.hasAttached();let i=this._portalOutlet.attachTemplatePortal(t);return this._contentAttached(),i}_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(t,i){this._interactivityChecker.isFocusable(t)||(t.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{let r=()=>{t.removeEventListener("blur",r),t.removeEventListener("mousedown",r),t.removeAttribute("tabindex")};t.addEventListener("blur",r),t.addEventListener("mousedown",r)})),t.focus(i)}_focusByCssSelector(t,i){let r=this._elementRef.nativeElement.querySelector(t);r&&this._forceFocus(r,i)}_trapFocus(){let t=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||t.focus();break;case!0:case"first-tabbable":this._focusTrap?.focusInitialElementWhenReady().then(i=>{i||this._focusDialogContainer()});break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this._config.autoFocus);break}}_restoreFocus(){let t=this._config.restoreFocus,i=null;if(typeof t=="string"?i=this._document.querySelector(t):typeof t=="boolean"?i=t?this._elementFocusedBeforeDialogWasOpened:null:t&&(i=t),this._config.restoreFocus&&i&&typeof i.focus=="function"){let r=fs(),o=this._elementRef.nativeElement;(!r||r===this._document.body||r===o||o.contains(r))&&(this._focusMonitor?(this._focusMonitor.focusVia(i,this._closeInteractionType),this._closeInteractionType=null):i.focus())}this._focusTrap&&this._focusTrap.destroy()}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){let t=this._elementRef.nativeElement,i=fs();return t===i||t.contains(i)}_initializeFocusTrap(){this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=fs()))}_handleBackdropClicks(){this._overlayRef.backdropClick().subscribe(()=>{this._config.disableClose&&this._recaptureFocus()})}static{this.\u0275fac=function(i){return new(i||e)(w(re),w(El),w(W,8),w(Li),w(bs),w(F),w(Vn),w(zr))}}static{this.\u0275cmp=pe({type:e,selectors:[["cdk-dialog-container"]],viewQuery:function(i,r){if(i&1&<(_s,7),i&2){let o;We(o=qe())&&(r._portalOutlet=o.first)}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function(i,r){i&2&&le("id",r._config.id||null)("role",r._config.role)("aria-modal",r._config.ariaModal)("aria-labelledby",r._config.ariaLabel?null:r._ariaLabelledByQueue[0])("aria-label",r._config.ariaLabel)("aria-describedby",r._config.ariaDescribedBy||null)},standalone:!0,features:[He,Fe],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(i,r){i&1&&R(0,RO,0,0,"ng-template",0)},dependencies:[_s],styles:[".cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit}"],encapsulation:2})}}return e})(),ws=class{constructor(n,t){this.overlayRef=n,this.config=t,this.closed=new B,this.disableClose=t.disableClose,this.backdropClick=n.backdropClick(),this.keydownEvents=n.keydownEvents(),this.outsidePointerEvents=n.outsidePointerEvents(),this.id=t.id,this.keydownEvents.subscribe(i=>{i.keyCode===27&&!this.disableClose&&!bl(i)&&(i.preventDefault(),this.close(void 0,{focusOrigin:"keyboard"}))}),this.backdropClick.subscribe(()=>{this.disableClose||this.close(void 0,{focusOrigin:"mouse"})}),this._detachSubscription=n.detachments().subscribe(()=>{t.closeOnOverlayDetachments!==!1&&this.close()})}close(n,t){if(this.containerInstance){let i=this.closed;this.containerInstance._closeInteractionType=t?.focusOrigin||"program",this._detachSubscription.unsubscribe(),this.overlayRef.dispose(),i.next(n),i.complete(),this.componentInstance=this.containerInstance=null}}updatePosition(){return this.overlayRef.updatePosition(),this}updateSize(n="",t=""){return this.overlayRef.updateSize({width:n,height:t}),this}addPanelClass(n){return this.overlayRef.addPanelClass(n),this}removePanelClass(n){return this.overlayRef.removePanelClass(n),this}},NO=new O("DialogScrollStrategy",{providedIn:"root",factory:()=>{let e=S(Zt);return()=>e.scrollStrategies.block()}}),FO=new O("DialogData"),LO=new O("DefaultDialogConfig");var VO=0,Qf=(()=>{class e{get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}constructor(t,i,r,o,s,a){this._overlay=t,this._injector=i,this._defaultOptions=r,this._parentDialog=o,this._overlayContainer=s,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new B,this._afterOpenedAtThisLevel=new B,this._ariaHiddenElements=new Map,this.afterAllClosed=Bn(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(tn(void 0))),this._scrollStrategy=a}open(t,i){let r=this._defaultOptions||new Li;i=E(E({},r),i),i.id=i.id||`cdk-dialog-${VO++}`,i.id&&this.getDialogById(i.id);let o=this._getOverlayConfig(i),s=this._overlay.create(o),a=new ws(s,i),c=this._attachContainer(s,a,i);return a.containerInstance=c,this._attachDialogContent(t,a,c,i),this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(a),a.closed.subscribe(()=>this._removeOpenDialog(a,!0)),this.afterOpened.next(a),a}closeAll(){Wf(this.openDialogs,t=>t.close())}getDialogById(t){return this.openDialogs.find(i=>i.id===t)}ngOnDestroy(){Wf(this._openDialogsAtThisLevel,t=>{t.config.closeOnDestroy===!1&&this._removeOpenDialog(t,!1)}),Wf(this._openDialogsAtThisLevel,t=>t.close()),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete(),this._openDialogsAtThisLevel=[]}_getOverlayConfig(t){let i=new ys({positionStrategy:t.positionStrategy||this._overlay.position().global().centerHorizontally().centerVertically(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,width:t.width,height:t.height,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(i.backdropClass=t.backdropClass),i}_attachContainer(t,i,r){let o=r.injector||r.viewContainerRef?.injector,s=[{provide:Li,useValue:r},{provide:ws,useValue:i},{provide:Vn,useValue:t}],a;r.container?typeof r.container=="function"?a=r.container:(a=r.container.type,s.push(...r.container.providers(r))):a=Yf;let c=new jr(a,r.viewContainerRef,Ae.create({parent:o||this._injector,providers:s}),r.componentFactoryResolver);return t.attach(c).instance}_attachDialogContent(t,i,r,o){if(t instanceof bt){let s=this._createInjector(o,i,r,void 0),a={$implicit:o.data,dialogRef:i};o.templateContext&&(a=E(E({},a),typeof o.templateContext=="function"?o.templateContext():o.templateContext)),r.attachTemplatePortal(new Br(t,null,a,s))}else{let s=this._createInjector(o,i,r,this._injector),a=r.attachComponentPortal(new jr(t,o.viewContainerRef,s,o.componentFactoryResolver));i.componentRef=a,i.componentInstance=a.instance}}_createInjector(t,i,r,o){let s=t.injector||t.viewContainerRef?.injector,a=[{provide:FO,useValue:t.data},{provide:ws,useValue:i}];return t.providers&&(typeof t.providers=="function"?a.push(...t.providers(i,t,r)):a.push(...t.providers)),t.direction&&(!s||!s.get(gs,null,{optional:!0}))&&a.push({provide:gs,useValue:{value:t.direction,change:N()}}),Ae.create({parent:s||o,providers:a})}_removeOpenDialog(t,i){let r=this.openDialogs.indexOf(t);r>-1&&(this.openDialogs.splice(r,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((o,s)=>{o?s.setAttribute("aria-hidden",o):s.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),i&&this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){let t=this._overlayContainer.getContainerElement();if(t.parentElement){let i=t.parentElement.children;for(let r=i.length-1;r>-1;r--){let o=i[r];o!==t&&o.nodeName!=="SCRIPT"&&o.nodeName!=="STYLE"&&!o.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(o,o.getAttribute("aria-hidden")),o.setAttribute("aria-hidden","true"))}}}_getAfterAllClosed(){let t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}static{this.\u0275fac=function(i){return new(i||e)(v(Zt),v(Ae),v(LO,8),v(e,12),v($r),v(NO))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function Wf(e,n){let t=e.length;for(;t--;)n(e[t])}var Ly=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=G({type:e})}static{this.\u0275inj=z({providers:[Qf],imports:[Cl,Pi,Fy,Pi]})}}return e})();var jO=["mat-internal-form-field",""],BO=["*"];function UO(){return!0}var $O=new O("mat-sanity-checks",{providedIn:"root",factory:UO}),Rt=(()=>{class e{constructor(t,i,r){this._sanityChecks=i,this._document=r,this._hasDoneGlobalChecks=!1,t._applyBodyHighContrastModeCssClasses(),this._hasDoneGlobalChecks||(this._hasDoneGlobalChecks=!0)}_checkIsEnabled(t){return ps()?!1:typeof this._sanityChecks=="boolean"?this._sanityChecks:!!this._sanityChecks[t]}static{this.\u0275fac=function(i){return new(i||e)(v(Gf),v($O,8),v(W))}}static{this.\u0275mod=G({type:e})}static{this.\u0275inj=z({imports:[oi,oi]})}}return e})();var Pt=function(e){return e[e.FADING_IN=0]="FADING_IN",e[e.VISIBLE=1]="VISIBLE",e[e.FADING_OUT=2]="FADING_OUT",e[e.HIDDEN=3]="HIDDEN",e}(Pt||{}),Zf=class{constructor(n,t,i,r=!1){this._renderer=n,this.element=t,this.config=i,this._animationForciblyDisabledThroughCss=r,this.state=Pt.HIDDEN}fadeOut(){this._renderer.fadeOutRipple(this)}},Vy=Vr({passive:!0,capture:!0}),Kf=class{constructor(){this._events=new Map,this._delegateEventHandler=n=>{let t=Qt(n);t&&this._events.get(n.type)?.forEach((i,r)=>{(r===t||r.contains(t))&&i.forEach(o=>o.handleEvent(n))})}}addHandler(n,t,i,r){let o=this._events.get(t);if(o){let s=o.get(i);s?s.add(r):o.set(i,new Set([r]))}else this._events.set(t,new Map([[i,new Set([r])]])),n.runOutsideAngular(()=>{document.addEventListener(t,this._delegateEventHandler,Vy)})}removeHandler(n,t,i){let r=this._events.get(n);if(!r)return;let o=r.get(t);o&&(o.delete(i),o.size===0&&r.delete(t),r.size===0&&(this._events.delete(n),document.removeEventListener(n,this._delegateEventHandler,Vy)))}},jy={enterDuration:225,exitDuration:150},HO=800,By=Vr({passive:!0,capture:!0}),Uy=["mousedown","touchstart"],$y=["mouseup","mouseleave","touchend","touchcancel"],Xf=class e{static{this._eventManager=new Kf}constructor(n,t,i,r){this._target=n,this._ngZone=t,this._platform=r,this._isPointerDown=!1,this._activeRipples=new Map,this._pointerUpEventsRegistered=!1,r.isBrowser&&(this._containerElement=Ln(i))}fadeInRipple(n,t,i={}){let r=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),o=E(E({},jy),i.animation);i.centered&&(n=r.left+r.width/2,t=r.top+r.height/2);let s=i.radius||zO(n,t,r),a=n-r.left,c=t-r.top,h=o.enterDuration,f=document.createElement("div");f.classList.add("mat-ripple-element"),f.style.left=`${a-s}px`,f.style.top=`${c-s}px`,f.style.height=`${s*2}px`,f.style.width=`${s*2}px`,i.color!=null&&(f.style.backgroundColor=i.color),f.style.transitionDuration=`${h}ms`,this._containerElement.appendChild(f);let p=window.getComputedStyle(f),b=p.transitionProperty,_=p.transitionDuration,x=b==="none"||_==="0s"||_==="0s, 0s"||r.width===0&&r.height===0,M=new Zf(this,f,i,x);f.style.transform="scale3d(1, 1, 1)",M.state=Pt.FADING_IN,i.persistent||(this._mostRecentTransientRipple=M);let k=null;return!x&&(h||o.exitDuration)&&this._ngZone.runOutsideAngular(()=>{let V=()=>this._finishRippleTransition(M),De=()=>this._destroyRipple(M);f.addEventListener("transitionend",V),f.addEventListener("transitioncancel",De),k={onTransitionEnd:V,onTransitionCancel:De}}),this._activeRipples.set(M,k),(x||!h)&&this._finishRippleTransition(M),M}fadeOutRipple(n){if(n.state===Pt.FADING_OUT||n.state===Pt.HIDDEN)return;let t=n.element,i=E(E({},jy),n.config.animation);t.style.transitionDuration=`${i.exitDuration}ms`,t.style.opacity="0",n.state=Pt.FADING_OUT,(n._animationForciblyDisabledThroughCss||!i.exitDuration)&&this._finishRippleTransition(n)}fadeOutAll(){this._getActiveRipples().forEach(n=>n.fadeOut())}fadeOutAllNonPersistent(){this._getActiveRipples().forEach(n=>{n.config.persistent||n.fadeOut()})}setupTriggerEvents(n){let t=Ln(n);!this._platform.isBrowser||!t||t===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=t,Uy.forEach(i=>{e._eventManager.addHandler(this._ngZone,i,t,this)}))}handleEvent(n){n.type==="mousedown"?this._onMousedown(n):n.type==="touchstart"?this._onTouchStart(n):this._onPointerUp(),this._pointerUpEventsRegistered||(this._ngZone.runOutsideAngular(()=>{$y.forEach(t=>{this._triggerElement.addEventListener(t,this,By)})}),this._pointerUpEventsRegistered=!0)}_finishRippleTransition(n){n.state===Pt.FADING_IN?this._startFadeOutTransition(n):n.state===Pt.FADING_OUT&&this._destroyRipple(n)}_startFadeOutTransition(n){let t=n===this._mostRecentTransientRipple,{persistent:i}=n.config;n.state=Pt.VISIBLE,!i&&(!t||!this._isPointerDown)&&n.fadeOut()}_destroyRipple(n){let t=this._activeRipples.get(n)??null;this._activeRipples.delete(n),this._activeRipples.size||(this._containerRect=null),n===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),n.state=Pt.HIDDEN,t!==null&&(n.element.removeEventListener("transitionend",t.onTransitionEnd),n.element.removeEventListener("transitioncancel",t.onTransitionCancel)),n.element.remove()}_onMousedown(n){let t=Hf(n),i=this._lastTouchStartEvent&&Date.now(){let t=n.state===Pt.VISIBLE||n.config.terminateOnPointerUp&&n.state===Pt.FADING_IN;!n.config.persistent&&t&&n.fadeOut()}))}_getActiveRipples(){return Array.from(this._activeRipples.keys())}_removeTriggerEvents(){let n=this._triggerElement;n&&(Uy.forEach(t=>e._eventManager.removeHandler(t,n,this)),this._pointerUpEventsRegistered&&($y.forEach(t=>n.removeEventListener(t,this,By)),this._pointerUpEventsRegistered=!1))}};function zO(e,n,t){let i=Math.max(Math.abs(e-t.left),Math.abs(e-t.right)),r=Math.max(Math.abs(n-t.top),Math.abs(n-t.bottom));return Math.sqrt(i*i+r*r)}var GO=new O("mat-ripple-global-options"),Hy=(()=>{class e{get disabled(){return this._disabled}set disabled(t){t&&this.fadeOutAllNonPersistent(),this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}constructor(t,i,r,o,s){this._elementRef=t,this._animationMode=s,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=o||{},this._rippleRenderer=new Xf(this,i,t,r)}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:E(E(E({},this._globalOptions.animation),this._animationMode==="NoopAnimations"?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(t,i=0,r){return typeof t=="number"?this._rippleRenderer.fadeInRipple(t,i,E(E({},this.rippleConfig),r)):this._rippleRenderer.fadeInRipple(0,0,E(E({},this.rippleConfig),t))}static{this.\u0275fac=function(i){return new(i||e)(w(re),w(F),w(Be),w(GO,8),w(wn,8))}}static{this.\u0275dir=ce({type:e,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(i,r){i&2&&he("mat-ripple-unbounded",r.unbounded)},inputs:{color:[$.None,"matRippleColor","color"],unbounded:[$.None,"matRippleUnbounded","unbounded"],centered:[$.None,"matRippleCentered","centered"],radius:[$.None,"matRippleRadius","radius"],animation:[$.None,"matRippleAnimation","animation"],disabled:[$.None,"matRippleDisabled","disabled"],trigger:[$.None,"matRippleTrigger","trigger"]},exportAs:["matRipple"],standalone:!0})}}return e})();var zy=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=pe({type:e,selectors:[["div","mat-internal-form-field",""]],hostAttrs:[1,"mdc-form-field","mat-internal-form-field"],hostVars:2,hostBindings:function(i,r){i&2&&he("mdc-form-field--align-end",r.labelPosition==="before")},inputs:{labelPosition:"labelPosition"},standalone:!0,features:[Fe],attrs:jO,ngContentSelectors:BO,decls:1,vars:0,template:function(i,r){i&1&&(Dn(),En(0))},styles:[".mdc-form-field{display:inline-flex;align-items:center;vertical-align:middle}.mdc-form-field[hidden]{display:none}.mdc-form-field>label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0;order:0}[dir=rtl] .mdc-form-field>label,.mdc-form-field>label[dir=rtl]{margin-left:auto;margin-right:0}[dir=rtl] .mdc-form-field>label,.mdc-form-field>label[dir=rtl]{padding-left:0;padding-right:4px}.mdc-form-field--nowrap>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.mdc-form-field--align-end>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px;order:-1}[dir=rtl] .mdc-form-field--align-end>label,.mdc-form-field--align-end>label[dir=rtl]{margin-left:0;margin-right:auto}[dir=rtl] .mdc-form-field--align-end>label,.mdc-form-field--align-end>label[dir=rtl]{padding-left:4px;padding-right:0}.mdc-form-field--space-between{justify-content:space-between}.mdc-form-field--space-between>label{margin:0}[dir=rtl] .mdc-form-field--space-between>label,.mdc-form-field--space-between>label[dir=rtl]{margin:0}.mdc-form-field{font-family:var(--mdc-form-field-label-text-font);line-height:var(--mdc-form-field-label-text-line-height);font-size:var(--mdc-form-field-label-text-size);font-weight:var(--mdc-form-field-label-text-weight);letter-spacing:var(--mdc-form-field-label-text-tracking);color:var(--mdc-form-field-label-text-color)}.mat-internal-form-field{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}"],encapsulation:2,changeDetection:0})}}return e})();var Cs=function(e){return e[e.State=0]="State",e[e.Transition=1]="Transition",e[e.Sequence=2]="Sequence",e[e.Group=3]="Group",e[e.Animate=4]="Animate",e[e.Keyframes=5]="Keyframes",e[e.Style=6]="Style",e[e.Trigger=7]="Trigger",e[e.Reference=8]="Reference",e[e.AnimateChild=9]="AnimateChild",e[e.AnimateRef=10]="AnimateRef",e[e.Query=11]="Query",e[e.Stagger=12]="Stagger",e}(Cs||{});function Gy(e,n){return{type:Cs.Trigger,name:e,definitions:n,options:{}}}function Jf(e,n=null){return{type:Cs.Animate,styles:n,timings:e}}function Sl(e){return{type:Cs.Style,styles:e,offset:null}}function ep(e,n,t=null){return{type:Cs.Transition,expr:e,animation:n,options:t}}function WO(e,n){}var xs=class{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.delayFocusTrap=!0,this.closeOnNavigation=!0}},tp="mdc-dialog--open",Wy="mdc-dialog--opening",qy="mdc-dialog--closing",qO=150,YO=75,QO=(()=>{class e extends Yf{constructor(t,i,r,o,s,a,c,h,f){super(t,i,r,o,s,a,c,f),this._animationMode=h,this._animationStateChanged=new ne,this._animationsEnabled=this._animationMode!=="NoopAnimations",this._actionSectionCount=0,this._hostElement=this._elementRef.nativeElement,this._enterAnimationDuration=this._animationsEnabled?Qy(this._config.enterAnimationDuration)??qO:0,this._exitAnimationDuration=this._animationsEnabled?Qy(this._config.exitAnimationDuration)??YO:0,this._animationTimer=null,this._finishDialogOpen=()=>{this._clearAnimationClasses(),this._openAnimationDone(this._enterAnimationDuration)},this._finishDialogClose=()=>{this._clearAnimationClasses(),this._animationStateChanged.emit({state:"closed",totalTime:this._exitAnimationDuration})}}_contentAttached(){super._contentAttached(),this._startOpenAnimation()}_startOpenAnimation(){this._animationStateChanged.emit({state:"opening",totalTime:this._enterAnimationDuration}),this._animationsEnabled?(this._hostElement.style.setProperty(Yy,`${this._enterAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(Wy,tp)),this._waitForAnimationToComplete(this._enterAnimationDuration,this._finishDialogOpen)):(this._hostElement.classList.add(tp),Promise.resolve().then(()=>this._finishDialogOpen()))}_startExitAnimation(){this._animationStateChanged.emit({state:"closing",totalTime:this._exitAnimationDuration}),this._hostElement.classList.remove(tp),this._animationsEnabled?(this._hostElement.style.setProperty(Yy,`${this._exitAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(qy)),this._waitForAnimationToComplete(this._exitAnimationDuration,this._finishDialogClose)):Promise.resolve().then(()=>this._finishDialogClose())}_updateActionSectionCount(t){this._actionSectionCount+=t,this._changeDetectorRef.markForCheck()}_clearAnimationClasses(){this._hostElement.classList.remove(Wy,qy)}_waitForAnimationToComplete(t,i){this._animationTimer!==null&&clearTimeout(this._animationTimer),this._animationTimer=setTimeout(i,t)}_requestAnimationFrame(t){this._ngZone.runOutsideAngular(()=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(t):t()})}_captureInitialFocus(){this._config.delayFocusTrap||this._trapFocus()}_openAnimationDone(t){this._config.delayFocusTrap&&this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:t})}ngOnDestroy(){super.ngOnDestroy(),this._animationTimer!==null&&clearTimeout(this._animationTimer)}attachComponentPortal(t){let i=super.attachComponentPortal(t);return i.location.nativeElement.classList.add("mat-mdc-dialog-component-host"),i}static{this.\u0275fac=function(i){return new(i||e)(w(re),w(El),w(W,8),w(xs),w(bs),w(F),w(Vn),w(wn,8),w(zr))}}static{this.\u0275cmp=pe({type:e,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1",1,"mat-mdc-dialog-container","mdc-dialog"],hostVars:10,hostBindings:function(i,r){i&2&&(vr("id",r._config.id),le("aria-modal",r._config.ariaModal)("role",r._config.role)("aria-labelledby",r._config.ariaLabel?null:r._ariaLabelledByQueue[0])("aria-label",r._config.ariaLabel)("aria-describedby",r._config.ariaDescribedBy||null),he("_mat-animation-noopable",!r._animationsEnabled)("mat-mdc-dialog-container-with-actions",r._actionSectionCount>0))},standalone:!0,features:[He,Fe],decls:3,vars:0,consts:[[1,"mdc-dialog__container"],[1,"mat-mdc-dialog-surface","mdc-dialog__surface"],["cdkPortalOutlet",""]],template:function(i,r){i&1&&(d(0,"div",0)(1,"div",1),R(2,WO,0,0,"ng-template",2),l()())},dependencies:[_s],styles:['.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-dialog,.mdc-dialog__scrim{position:fixed;top:0;left:0;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.mdc-dialog{display:none;z-index:var(--mdc-dialog-z-index, 7)}.mdc-dialog .mdc-dialog__content{padding:20px 24px 20px 24px}.mdc-dialog .mdc-dialog__surface{min-width:280px}@media(max-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:calc(100vw - 32px)}}@media(min-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:560px}}.mdc-dialog .mdc-dialog__surface{max-height:calc(100% - 32px)}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-width:none}@media(max-width: 960px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-height:560px;width:560px}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{right:-12px}}@media(max-width: 720px)and (max-width: 672px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{width:calc(100vw - 112px)}}@media(max-width: 720px)and (min-width: 672px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{width:560px}}@media(max-width: 720px)and (max-height: 720px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-height:calc(100vh - 160px)}}@media(max-width: 720px)and (min-height: 720px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-height:560px}}@media(max-width: 720px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{right:-12px}}@media(max-width: 720px)and (max-height: 400px),(max-width: 600px),(min-width: 720px)and (max-height: 400px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{height:100%;max-height:100vh;max-width:100vw;width:100vw;border-radius:0}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{order:-1;left:-12px}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__header{padding:0 16px 9px;justify-content:flex-start}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__title{margin-left:calc(16px - 2 * 12px)}}@media(min-width: 960px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{width:calc(100vw - 400px)}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{right:-12px}}.mdc-dialog.mdc-dialog__scrim--hidden .mdc-dialog__scrim{opacity:0}.mdc-dialog__scrim{opacity:0;z-index:-1}.mdc-dialog__container{display:flex;flex-direction:row;align-items:center;justify-content:space-around;box-sizing:border-box;height:100%;opacity:0;pointer-events:none}.mdc-dialog__surface{position:relative;display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;max-width:100%;max-height:100%;pointer-events:auto;overflow-y:auto;outline:0;transform:scale(0.8)}.mdc-dialog__surface .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}[dir=rtl] .mdc-dialog__surface,.mdc-dialog__surface[dir=rtl]{text-align:right}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-dialog__surface{outline:2px solid windowText}}.mdc-dialog__surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:2px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-dialog__surface::before{border-color:CanvasText}}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.mdc-dialog__surface::before{content:none}}.mdc-dialog__title{display:block;margin-top:0;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:0 24px 9px}.mdc-dialog__title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}[dir=rtl] .mdc-dialog__title,.mdc-dialog__title[dir=rtl]{text-align:right}.mdc-dialog--scrollable .mdc-dialog__title{margin-bottom:1px;padding-bottom:15px}.mdc-dialog--fullscreen .mdc-dialog__header{align-items:baseline;border-bottom:1px solid rgba(0,0,0,0);display:inline-flex;justify-content:space-between;padding:0 24px 9px;z-index:1}@media screen and (forced-colors: active){.mdc-dialog--fullscreen .mdc-dialog__header{border-bottom-color:CanvasText}}.mdc-dialog--fullscreen .mdc-dialog__header .mdc-dialog__close{right:-12px}.mdc-dialog--fullscreen .mdc-dialog__title{margin-bottom:0;padding:0;border-bottom:0}.mdc-dialog--fullscreen.mdc-dialog--scrollable .mdc-dialog__title{border-bottom:0;margin-bottom:0}.mdc-dialog--fullscreen .mdc-dialog__close{top:5px}.mdc-dialog--fullscreen.mdc-dialog--scrollable .mdc-dialog__actions{border-top:1px solid rgba(0,0,0,0)}@media screen and (forced-colors: active){.mdc-dialog--fullscreen.mdc-dialog--scrollable .mdc-dialog__actions{border-top-color:CanvasText}}.mdc-dialog--fullscreen--titleless .mdc-dialog__close{margin-top:4px}.mdc-dialog--fullscreen--titleless.mdc-dialog--scrollable .mdc-dialog__close{margin-top:0}.mdc-dialog__content{flex-grow:1;box-sizing:border-box;margin:0;overflow:auto}.mdc-dialog__content>:first-child{margin-top:0}.mdc-dialog__content>:last-child{margin-bottom:0}.mdc-dialog__title+.mdc-dialog__content,.mdc-dialog__header+.mdc-dialog__content{padding-top:0}.mdc-dialog--scrollable .mdc-dialog__title+.mdc-dialog__content{padding-top:8px;padding-bottom:8px}.mdc-dialog__content .mdc-deprecated-list:first-child:last-child{padding:6px 0 0}.mdc-dialog--scrollable .mdc-dialog__content .mdc-deprecated-list:first-child:last-child{padding:0}.mdc-dialog__actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid rgba(0,0,0,0)}@media screen and (forced-colors: active){.mdc-dialog__actions{border-top-color:CanvasText}}.mdc-dialog--stacked .mdc-dialog__actions{flex-direction:column;align-items:flex-end}.mdc-dialog__button{margin-left:8px;margin-right:0;max-width:100%;text-align:right}[dir=rtl] .mdc-dialog__button,.mdc-dialog__button[dir=rtl]{margin-left:0;margin-right:8px}.mdc-dialog__button:first-child{margin-left:0;margin-right:0}[dir=rtl] .mdc-dialog__button:first-child,.mdc-dialog__button:first-child[dir=rtl]{margin-left:0;margin-right:0}[dir=rtl] .mdc-dialog__button,.mdc-dialog__button[dir=rtl]{text-align:left}.mdc-dialog--stacked .mdc-dialog__button:not(:first-child){margin-top:12px}.mdc-dialog--open,.mdc-dialog--opening,.mdc-dialog--closing{display:flex}.mdc-dialog--opening .mdc-dialog__scrim{transition:opacity 150ms linear}.mdc-dialog--opening .mdc-dialog__container{transition:opacity 75ms linear,transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-dialog--closing .mdc-dialog__scrim,.mdc-dialog--closing .mdc-dialog__container{transition:opacity 75ms linear}.mdc-dialog--closing .mdc-dialog__container{transform:none}.mdc-dialog--closing .mdc-dialog__surface{transform:none}.mdc-dialog--open .mdc-dialog__scrim{opacity:1}.mdc-dialog--open .mdc-dialog__container{opacity:1}.mdc-dialog--open .mdc-dialog__surface{transform:none}.mdc-dialog--open.mdc-dialog__surface-scrim--shown .mdc-dialog__surface-scrim{opacity:1}.mdc-dialog--open.mdc-dialog__surface-scrim--hiding .mdc-dialog__surface-scrim{transition:opacity 75ms linear}.mdc-dialog--open.mdc-dialog__surface-scrim--showing .mdc-dialog__surface-scrim{transition:opacity 150ms linear}.mdc-dialog__surface-scrim{display:none;opacity:0;position:absolute;width:100%;height:100%;z-index:1}.mdc-dialog__surface-scrim--shown .mdc-dialog__surface-scrim,.mdc-dialog__surface-scrim--showing .mdc-dialog__surface-scrim,.mdc-dialog__surface-scrim--hiding .mdc-dialog__surface-scrim{display:block}.mdc-dialog-scroll-lock{overflow:hidden}.mdc-dialog--no-content-padding .mdc-dialog__content{padding:0}.mdc-dialog--sheet .mdc-dialog__container .mdc-dialog__close{right:12px;top:9px;position:absolute;z-index:1}.mdc-dialog__scrim--removed{pointer-events:none}.mdc-dialog__scrim--removed .mdc-dialog__scrim,.mdc-dialog__scrim--removed .mdc-dialog__surface-scrim{display:none}.mat-mdc-dialog-content{max-height:65vh}.mat-mdc-dialog-container{position:static;display:block}.mat-mdc-dialog-container,.mat-mdc-dialog-container .mdc-dialog__container,.mat-mdc-dialog-container .mdc-dialog__surface{max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit}.mat-mdc-dialog-container .mdc-dialog__surface{width:100%;height:100%}.mat-mdc-dialog-component-host{display:contents}.mat-mdc-dialog-container{--mdc-dialog-container-elevation: var(--mdc-dialog-container-elevation-shadow);outline:0}.mat-mdc-dialog-container .mdc-dialog__surface{background-color:var(--mdc-dialog-container-color, white)}.mat-mdc-dialog-container .mdc-dialog__surface{box-shadow:var(--mdc-dialog-container-elevation, 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12))}.mat-mdc-dialog-container .mdc-dialog__surface{border-radius:var(--mdc-dialog-container-shape, 4px)}.mat-mdc-dialog-container .mdc-dialog__title{font-family:var(--mdc-dialog-subhead-font, Roboto, sans-serif);line-height:var(--mdc-dialog-subhead-line-height, 1.5rem);font-size:var(--mdc-dialog-subhead-size, 1rem);font-weight:var(--mdc-dialog-subhead-weight, 400);letter-spacing:var(--mdc-dialog-subhead-tracking, 0.03125em)}.mat-mdc-dialog-container .mdc-dialog__title{color:var(--mdc-dialog-subhead-color, rgba(0, 0, 0, 0.87))}.mat-mdc-dialog-container .mdc-dialog__content{font-family:var(--mdc-dialog-supporting-text-font, Roboto, sans-serif);line-height:var(--mdc-dialog-supporting-text-line-height, 1.5rem);font-size:var(--mdc-dialog-supporting-text-size, 1rem);font-weight:var(--mdc-dialog-supporting-text-weight, 400);letter-spacing:var(--mdc-dialog-supporting-text-tracking, 0.03125em)}.mat-mdc-dialog-container .mdc-dialog__content{color:var(--mdc-dialog-supporting-text-color, rgba(0, 0, 0, 0.6))}.mat-mdc-dialog-container .mdc-dialog__container{transition:opacity linear var(--mat-dialog-transition-duration, 0ms)}.mat-mdc-dialog-container .mdc-dialog__surface{transition:transform var(--mat-dialog-transition-duration, 0ms) 0ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-dialog-container._mat-animation-noopable .mdc-dialog__container,.mat-mdc-dialog-container._mat-animation-noopable .mdc-dialog__surface{transition:none}.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-max-width, 80vw);min-width:var(--mat-dialog-container-min-width, 0)}@media(max-width: 599px){.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-small-max-width, 80vw)}}.mat-mdc-dialog-title{padding:var(--mat-dialog-headline-padding, 0 24px 9px)}.mat-mdc-dialog-content{display:block}.mat-mdc-dialog-container .mat-mdc-dialog-content{padding:var(--mat-dialog-content-padding, 20px 24px)}.mat-mdc-dialog-container-with-actions .mat-mdc-dialog-content{padding:var(--mat-dialog-with-actions-content-padding, 20px 24px)}.mat-mdc-dialog-container .mat-mdc-dialog-title+.mat-mdc-dialog-content{padding-top:0}.mat-mdc-dialog-actions{padding:var(--mat-dialog-actions-padding, 8px);justify-content:var(--mat-dialog-actions-alignment, start)}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-start,.mat-mdc-dialog-actions[align=start]{justify-content:start}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-center,.mat-mdc-dialog-actions[align=center]{justify-content:center}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-end,.mat-mdc-dialog-actions[align=end]{justify-content:flex-end}.mat-mdc-dialog-actions .mat-button-base+.mat-button-base,.mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-mdc-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}'],encapsulation:2})}}return e})(),Yy="--mat-dialog-transition-duration";function Qy(e){return e==null?null:typeof e=="number"?e:e.endsWith("ms")?us(e.substring(0,e.length-2)):e.endsWith("s")?us(e.substring(0,e.length-1))*1e3:e==="0"?0:null}var Ml=function(e){return e[e.OPEN=0]="OPEN",e[e.CLOSING=1]="CLOSING",e[e.CLOSED=2]="CLOSED",e}(Ml||{}),Ds=class{constructor(n,t,i){this._ref=n,this._containerInstance=i,this._afterOpened=new B,this._beforeClosed=new B,this._state=Ml.OPEN,this.disableClose=t.disableClose,this.id=n.id,n.addPanelClass("mat-mdc-dialog-panel"),i._animationStateChanged.pipe(be(r=>r.state==="opened"),Ue(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),i._animationStateChanged.pipe(be(r=>r.state==="closed"),Ue(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),n.overlayRef.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._finishDialogClose()}),Zr(this.backdropClick(),this.keydownEvents().pipe(be(r=>r.keyCode===27&&!this.disableClose&&!bl(r)))).subscribe(r=>{this.disableClose||(r.preventDefault(),ZO(this,r.type==="keydown"?"keyboard":"mouse"))})}close(n){this._result=n,this._containerInstance._animationStateChanged.pipe(be(t=>t.state==="closing"),Ue(1)).subscribe(t=>{this._beforeClosed.next(n),this._beforeClosed.complete(),this._ref.overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),t.totalTime+100)}),this._state=Ml.CLOSING,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._ref.closed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}updatePosition(n){let t=this._ref.config.positionStrategy;return n&&(n.left||n.right)?n.left?t.left(n.left):t.right(n.right):t.centerHorizontally(),n&&(n.top||n.bottom)?n.top?t.top(n.top):t.bottom(n.bottom):t.centerVertically(),this._ref.updatePosition(),this}updateSize(n="",t=""){return this._ref.updateSize(n,t),this}addPanelClass(n){return this._ref.addPanelClass(n),this}removePanelClass(n){return this._ref.removePanelClass(n),this}getState(){return this._state}_finishDialogClose(){this._state=Ml.CLOSED,this._ref.close(this._result,{focusOrigin:this._closeInteractionType}),this.componentInstance=null}};function ZO(e,n,t){return e._closeInteractionType=n,e.close(t)}var np=new O("MatMdcDialogData"),KO=new O("mat-mdc-dialog-default-options"),XO=new O("mat-mdc-dialog-scroll-strategy",{providedIn:"root",factory:()=>{let e=S(Zt);return()=>e.scrollStrategies.block()}});var JO=0,ip=(()=>{class e{get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){let t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}constructor(t,i,r,o,s,a,c,h){this._overlay=t,this._defaultOptions=o,this._scrollStrategy=s,this._parentDialog=a,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new B,this._afterOpenedAtThisLevel=new B,this.dialogConfigClass=xs,this.afterAllClosed=Bn(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(tn(void 0))),this._dialog=i.get(Qf),this._dialogRefConstructor=Ds,this._dialogContainerType=QO,this._dialogDataToken=np}open(t,i){let r;i=E(E({},this._defaultOptions||new xs),i),i.id=i.id||`mat-mdc-dialog-${JO++}`,i.scrollStrategy=i.scrollStrategy||this._scrollStrategy();let o=this._dialog.open(t,ae(E({},i),{positionStrategy:this._overlay.position().global().centerHorizontally().centerVertically(),disableClose:!0,closeOnDestroy:!1,closeOnOverlayDetachments:!1,container:{type:this._dialogContainerType,providers:()=>[{provide:this.dialogConfigClass,useValue:i},{provide:Li,useValue:i}]},templateContext:()=>({dialogRef:r}),providers:(s,a,c)=>(r=new this._dialogRefConstructor(s,i,c),r.updatePosition(i?.position),[{provide:this._dialogContainerType,useValue:c},{provide:this._dialogDataToken,useValue:a.data},{provide:this._dialogRefConstructor,useValue:r}])}));return r.componentRef=o.componentRef,r.componentInstance=o.componentInstance,this.openDialogs.push(r),this.afterOpened.next(r),r.afterClosed().subscribe(()=>{let s=this.openDialogs.indexOf(r);s>-1&&(this.openDialogs.splice(s,1),this.openDialogs.length||this._getAfterAllClosed().next())}),r}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(i=>i.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_closeDialogs(t){let i=t.length;for(;i--;)t[i].close()}static{this.\u0275fac=function(i){return new(i||e)(v(Zt),v(Ae),v(dn,8),v(KO,8),v(XO),v(e,12),v($r),v(wn,8))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var Zy=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=G({type:e})}static{this.\u0275inj=z({providers:[ip],imports:[Ly,Cl,Pi,Rt,Rt]})}}return e})();var Xy=(()=>{class e{scorePronunciation(t,i){let r=new FormData;return r.append("audio",t,"student.webm"),r.append("word",i.toLowerCase()),this.http.post(this.scoreEndpoint,r)}constructor(t){this.http=t,this.apiBase=location.hostname.endsWith("hf.space")?"https://pykara-py-learn-backend.hf.space":"http://localhost:5000",this.scoreEndpoint=`${this.apiBase}/pronunciation/score`}static{this.\u0275fac=function(i){return new(i||e)(v(Rn))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var tk=["videoEl"];function nk(e,n){if(e&1){let t=H();d(0,"video",42),I("ended",function(){T(t);let r=C();return A(r.onVideoEnded())}),u(1," Your browser does not support the video tag. "),l()}}function ik(e,n){if(e&1){let t=H();d(0,"video",43,0),I("play",function(){T(t);let r=C();return A(r.onVideoPlay())})("pause",function(){T(t);let r=C();return A(r.onVideoPause())})("ended",function(){T(t);let r=C();return A(r.onVideoEnded())}),u(2," Your browser does not support the video tag. "),l()}if(e&2){let t=C();y("src",t.videoSrc,ee)}}function rk(e,n){e&1&&(d(0,"span",44),u(1,"\u{1F399}\uFE0F"),l())}function ok(e,n){e&1&&(d(0,"span",44),u(1,"\u{1F3A4}"),l())}function sk(e,n){if(e&1&&(d(0,"span",45),u(1),Do(2,"number"),l()),e&2){let t=C();m(),Ie(Eo(2,1,t.timeLeft,"1.0-0"))}}var Jy=(()=>{class e{get current(){return this.items[this.index]}constructor(t,i,r,o){this.api=t,this.dialogRef=i,this.data=r,this.cdr=o,this.showVideo=!1,this.videoSrc="",this.isPlayingVideo=!1,this.playIconDataUrl="assets/pronunciation/play.png",this.pauseIconDataUrl="assets/pronunciation/pause.png",this.items=[{letter:"A",word:"Apple",phonetics:"/\u02C8\xE6p\u0259l/",imgSrc:"assets/pronunciation/animvideo/apple.mp4",audioSrc:"assets/pronunciation/audio/apple.mp3"},{letter:"B",word:"Ball",phonetics:"/b\u0254\u02D0l/",imgSrc:"assets/pronunciation/animvideo/ball.mp4",audioSrc:"assets/pronunciation/audio/ball.mp3"},{letter:"C",word:"Cat",phonetics:"/k\xE6t/",imgSrc:"assets/pronunciation/animvideo/cat.mp4",audioSrc:"assets/pronunciation/audio/cat.mp3"},{letter:"D",word:"Dog",phonetics:"/d\u0252\u0261/",imgSrc:"assets/pronunciation/animvideo/dog.mp4",audioSrc:"assets/pronunciation/audio/dog.mp3"},{letter:"E",word:"Egg",phonetics:"/e\u0261/",imgSrc:"assets/pronunciation/animvideo/egg.mp4",audioSrc:"assets/pronunciation/audio/egg.mp3"},{letter:"F",word:"Fish",phonetics:"/f\u026A\u0283/",imgSrc:"assets/pronunciation/animvideo/fish.mp4",audioSrc:"assets/pronunciation/audio/fish.mp3"},{letter:"G",word:"Grapes",phonetics:"/\u0261re\u026Aps/",imgSrc:"assets/pronunciation/animvideo/grapes.mp4",audioSrc:"assets/pronunciation/audio/grapes.mp3"},{letter:"H",word:"Hat",phonetics:"/h\xE6t/",imgSrc:"assets/pronunciation/animvideo/hat.mp4",audioSrc:"assets/pronunciation/audio/hat.mp3"},{letter:"I",word:"Ice cream",phonetics:"/\u02C8a\u026As \u02CCkri\u02D0m/",imgSrc:"assets/pronunciation/animvideo/icecream.mp4",audioSrc:"assets/pronunciation/audio/icecream.mp3"},{letter:"J",word:"Jar",phonetics:"/d\u0292\u0251\u02D0r/",imgSrc:"assets/pronunciation/animvideo/jar.mp4",audioSrc:"assets/pronunciation/audio/jar.mp3"},{letter:"K",word:"Kite",phonetics:"/ka\u026At/",imgSrc:"assets/pronunciation/animvideo/kite.mp4",audioSrc:"assets/pronunciation/audio/kite.mp3"},{letter:"L",word:"Lion",phonetics:"/\u02C8la\u026A\u0259n/",imgSrc:"assets/pronunciation/animvideo/lion.mp4",audioSrc:"assets/pronunciation/audio/lion.mp3"},{letter:"M",word:"Moon",phonetics:"/mu\u02D0n/",imgSrc:"assets/pronunciation/animvideo/moon.mp4",audioSrc:"assets/pronunciation/audio/moon.mp3"},{letter:"N",word:"Nest",phonetics:"/nest/",imgSrc:"assets/pronunciation/animvideo/nest.mp4",audioSrc:"assets/pronunciation/audio/nest.mp3"},{letter:"O",word:"Orange",phonetics:"/\u02C8\u0252r\u026And\u0292/",imgSrc:"assets/pronunciation/animvideo/orange.mp4",audioSrc:"assets/pronunciation/audio/orange.mp3"},{letter:"P",word:"Pig",phonetics:"/p\u026A\u0261/",imgSrc:"assets/pronunciation/animvideo/pig.mp4",audioSrc:"assets/pronunciation/audio/pig.mp3"},{letter:"Q",word:"Queen",phonetics:"/kwi\u02D0n/",imgSrc:"assets/pronunciation/animvideo/queen.mp4",audioSrc:"assets/pronunciation/audio/queen.mp3"},{letter:"R",word:"Rabbit",phonetics:"/\u02C8r\xE6b\u026At/",imgSrc:"assets/pronunciation/animvideo/rabbit.mp4",audioSrc:"assets/pronunciation/audio/rabbit.mp3"},{letter:"S",word:"Sun",phonetics:"/s\u028Cn/",imgSrc:"assets/pronunciation/animvideo/sun.mp4",audioSrc:"assets/pronunciation/audio/sun.mp3"},{letter:"T",word:"Tree",phonetics:"/tri\u02D0/",imgSrc:"assets/pronunciation/animvideo/tree.mp4",audioSrc:"assets/pronunciation/audio/tree.mp3"},{letter:"U",word:"Umbrella",phonetics:"/\u028Cm\u02C8brel\u0259/",imgSrc:"assets/pronunciation/animvideo/umbrella.mp4",audioSrc:"assets/pronunciation/audio/umbrella.mp3"},{letter:"V",word:"Van",phonetics:"/v\xE6n/",imgSrc:"assets/pronunciation/animvideo/van.mp4",audioSrc:"assets/pronunciation/audio/van.mp3"},{letter:"W",word:"Watch",phonetics:"/w\u0252t\u0283/",imgSrc:"assets/pronunciation/animvideo/watch.mp4",audioSrc:"assets/pronunciation/audio/watch.mp3"},{letter:"X",word:"Xylophone",phonetics:"/\u02C8za\u026Al\u0259f\u0259\u028An/",imgSrc:"assets/pronunciation/animvideo/xylophone.mp4",audioSrc:"assets/pronunciation/audio/xylophone.mp3"},{letter:"Y",word:"Yarn",phonetics:"/j\u0251\u02D0n/",imgSrc:"assets/pronunciation/animvideo/yarn.mp4",audioSrc:"assets/pronunciation/audio/yarn.mp3"},{letter:"Z",word:"Zebra",phonetics:"/\u02C8zebr\u0259/",imgSrc:"assets/pronunciation/animvideo/zebra.mp4",audioSrc:"assets/pronunciation/audio/zebra.mp3"}],this.index=0,this.isRecording=!1,this.isScoring=!1,this.isOscillating=!1,this.chunks=[],this.currentMimeType="audio/webm",this.recordedAudioUrl=null,this.lastRecordedBlob=null,this.lastSpeechAt=0,this.recordingStartedAt=0,this.hasSpoken=!1,this.silenceMs=3e3,this.startSilenceMs=3e3,this.silenceThreshold=.01,this.duration=3,this.isCountingDown=!1,this.timeLeft=this.duration,this.radius=38,this.circumference=2*Math.PI*this.radius,this.strokeDashoffset=this.circumference,this.showResult=!1,this.score=0,this.videoUrl="",this.lastVideoBlobUrl=null,this.shortfeedback="",this.cancelScoring$=new B,this.recordRunId=0}ngOnInit(){this.setupBestMimeType(),this.resetResult()}ngOnDestroy(){if(this.cancelScoring$.next(),this.cancelScoring$.complete(),this.stopTracks(),this.safeStopRecorder(),this.teardownAudioGraph(),this.lastVideoBlobUrl){try{URL.revokeObjectURL(this.lastVideoBlobUrl)}catch{}this.lastVideoBlobUrl=null}}toggleRecording(){return tt(this,null,function*(){if(this.isRecording){this.stopRecording(!1);return}this.startPreRecordCountdown()})}startPreRecordCountdown(){if(this.score=0,this.shortfeedback="",this.isCountingDown||this.isRecording)return;this.cancelScoring$.next(),this.isScoring=!1,this.isOscillating=!1,this.isCountingDown=!0,this.timeLeft=this.duration;let t=this.duration*1e3,i=performance.now();this.strokeDashoffset=this.circumference,this.preRecordIntervalId=window.setInterval(()=>{let r=performance.now()-i,o=Math.min(1,r/t);if(this.strokeDashoffset=this.circumference*(1-o),this.timeLeft=Math.ceil((t-r)/1e3),r>=t){if(this.preRecordIntervalId){try{clearInterval(this.preRecordIntervalId)}catch{}this.preRecordIntervalId=void 0}this.startRecordingInternal()}try{this.cdr.detectChanges()}catch{}},100)}startRecordingInternal(){return tt(this,null,function*(){this.isCountingDown=!1;let t=++this.recordRunId;this.mediaStream=yield navigator.mediaDevices.getUserMedia({audio:!0}),this.mediaRecorder=new MediaRecorder(this.mediaStream,{mimeType:this.currentMimeType}),this.chunks=[],this.mediaRecorder.ondataavailable=i=>i.data.size&&this.chunks.push(i.data),this.mediaRecorder.onstop=()=>{t===this.recordRunId&&this.onRecordingStopped(t)},this.isRecording=!0,this.setupSilenceDetection(this.mediaStream),this.mediaRecorder.start();try{this.cdr.detectChanges()}catch{}})}stopRecording(t=!1){if(this.isRecording){if(this.preRecordIntervalId){try{clearInterval(this.preRecordIntervalId)}catch{}this.preRecordIntervalId=void 0}this.isCountingDown=!1,this.isRecording=!1,this.safeStopRecorder(),this.stopTracks(),this.teardownAudioGraph();try{this.cdr.detectChanges()}catch{}}}safeStopRecorder(){try{this.mediaRecorder&&this.mediaRecorder.state!=="inactive"&&this.mediaRecorder.stop()}catch{}}onRecordingStopped(t){if(t!==this.recordRunId)return;let i=new Blob(this.chunks,{type:this.currentMimeType});if(this.chunks=[],!i||i.size<2e3){this.isOscillating=!1,this.isScoring=!1,this.shortfeedback="No voice detected. Please try again.",this.showResult=!0;try{this.cdr.detectChanges()}catch{}return}this.lastRecordedBlob=i,this.isOscillating=!0;try{this.cdr.detectChanges()}catch{}this.sendForScoring(i,this.current.word,t)}setupSilenceDetection(t){this.teardownAudioGraph(),this.audioCtx=new AudioContext,this.analyser=this.audioCtx.createAnalyser(),this.analyser.fftSize=2048,this.micSource=this.audioCtx.createMediaStreamSource(t),this.micSource.connect(this.analyser),this.recordingStartedAt=performance.now(),this.lastSpeechAt=this.recordingStartedAt,this.hasSpoken=!1;let i=()=>{if(!this.analyser||!this.isRecording)return;let r=new Float32Array(this.analyser.fftSize);this.analyser.getFloatTimeDomainData(r);let o=0;for(let c=0;cthis.silenceThreshold&&(this.lastSpeechAt=a,this.hasSpoken=!0),!this.hasSpoken&&a-this.recordingStartedAt>this.startSilenceMs){this.stopRecording(!0);return}if(this.hasSpoken&&a-this.lastSpeechAt>this.silenceMs){this.stopRecording(!0);return}this.silenceCheckId=window.setTimeout(i,100)};i()}teardownAudioGraph(){if(this.silenceCheckId){try{clearTimeout(this.silenceCheckId)}catch{}this.silenceCheckId=void 0}try{this.micSource?.disconnect()}catch{}try{this.analyser?.disconnect()}catch{}try{this.audioCtx?.close()}catch{}this.micSource=void 0,this.analyser=void 0,this.audioCtx=void 0}stopTracks(){this.mediaStream?.getTracks().forEach(t=>t.stop()),this.mediaStream=void 0}sendForScoring(t,i,r){r===this.recordRunId&&(this.isScoring=!0,this.api.scorePronunciation(t,i).pipe(ot(this.cancelScoring$),rt(()=>{this.isScoring=!1,this.isOscillating=!1;try{this.cdr.detectChanges()}catch{}})).subscribe(o=>{if(r===this.recordRunId){if(this.score=this.normalizeScore(o.score),this.shortfeedback=o.feedback,this.showResult=!0,o.videoBlobBase64){let s=Uint8Array.from(atob(o.videoBlobBase64),c=>c.charCodeAt(0)),a=new Blob([s],{type:"video/mp4"});if(this.lastVideoBlobUrl)try{URL.revokeObjectURL(this.lastVideoBlobUrl)}catch{}this.videoUrl=URL.createObjectURL(a),this.lastVideoBlobUrl=this.videoUrl,this.tryPlayFeedbackVideo(this.videoUrl)}try{this.cdr.detectChanges()}catch{}}},o=>{if(r===this.recordRunId){this.shortfeedback="Error while scoring. Please try again.",this.showResult=!0;try{this.cdr.detectChanges()}catch{}}}))}cancelAllRunningProcesses(){if(this.recordRunId++,this.cancelScoring$.next(),this.isScoring=!1,this.isOscillating=!1,this.preRecordIntervalId){try{clearInterval(this.preRecordIntervalId)}catch{}this.preRecordIntervalId=void 0}this.isCountingDown=!1,this.timeLeft=this.duration,this.strokeDashoffset=this.circumference,this.isRecording=!1,this.safeStopRecorder(),this.stopTracks(),this.teardownAudioGraph(),this.chunks=[],this.resetVideoPlayerState();try{this.cdr.detectChanges()}catch{}}resetVideoPlayerState(){try{let t=this.videoElRef?.nativeElement;t&&(t.pause(),t.currentTime=0,t.removeAttribute("src"),t.load())}catch{}this.showVideo=!1,this.videoSrc="",this.isPlayingVideo=!1}normalizeScore(t){let i=Number(t);return isNaN(i)?0:Math.min(100,Math.max(0,Math.round(i)))}tryPlayFeedbackVideo(t){this.showVideo=!0,this.videoSrc=t,setTimeout(()=>{let i=this.videoElRef?.nativeElement;i&&(i.src=t,i.load(),i.play().then(()=>{this.isPlayingVideo=!0;try{this.cdr.detectChanges()}catch{}}).catch(()=>{this.isPlayingVideo=!1;try{this.cdr.detectChanges()}catch{}}))},0)}setupBestMimeType(){let t=["audio/webm;codecs=opus","audio/webm","audio/ogg;codecs=opus","audio/ogg"];for(let i of t)try{if(typeof MediaRecorder<"u"&&typeof MediaRecorder.isTypeSupported=="function"&&MediaRecorder.isTypeSupported(i)){this.currentMimeType=i;return}}catch{}}resetResult(){this.showResult=!1,this.score=0,this.showVideo=!1,this.videoSrc="",this.shortfeedback=""}playWordAudio(){let t=this.current?.audioSrc||this.getAudioSrcFromWord(this.current.word);if(t)try{let i=new Audio(t);i.currentTime=0,i.play().catch(()=>{})}catch{}}getAudioSrcFromWord(t){return t?`assets/pronunciation/audio/${t.trim().toLowerCase().replace(/\s+/g,"-")}.mp3`:""}onVideoEnded(){this.resetVideoPlayerState(),this.isOscillating=!1;try{this.cdr.detectChanges()}catch{}}onVideoPlay(){this.isPlayingVideo=!0;try{this.cdr.detectChanges()}catch{}}onVideoPause(){this.isPlayingVideo=!1;try{this.cdr.detectChanges()}catch{}}toggleVideoPlay(){try{let t=this.videoElRef?.nativeElement;if(!this.showVideo){this.videoSrc=this.getVideoSrcFromWord(this.current.word),this.showVideo=!0,setTimeout(()=>{let i=this.videoElRef?.nativeElement;i&&(i.src=this.videoSrc,i.load(),i.play().then(()=>{this.isPlayingVideo=!0;try{this.cdr.detectChanges()}catch{}}).catch(()=>{this.isPlayingVideo=!1;try{this.cdr.detectChanges()}catch{}}))},0);return}if(!t)return;if(t.paused)t.play().then(()=>{this.isPlayingVideo=!0;try{this.cdr.detectChanges()}catch{}}).catch(()=>{this.isPlayingVideo=!1;try{this.cdr.detectChanges()}catch{}});else{t.pause(),this.isPlayingVideo=!1;try{this.cdr.detectChanges()}catch{}}}catch{}}getVideoSrcFromWord(t){return t?`assets/pronunciation/videos/${t.trim().toLowerCase().replace(/\s+/g,"-")}.mp4`:""}get needleAngle(){return-90+Math.max(0,Math.min(100,Number(this.score||0)))*1.8}prev(){this.index<=0||(this.cancelAllRunningProcesses(),this.index--,this.resetAfterNavigation())}next(){this.index>=this.items.length-1||(this.cancelAllRunningProcesses(),this.index++,this.resetAfterNavigation())}resetAfterNavigation(){if(this.cancelAllRunningProcesses(),this.score=0,this.showResult=!1,this.shortfeedback="",this.lastRecordedBlob=null,this.recordedAudioUrl){try{URL.revokeObjectURL(this.recordedAudioUrl)}catch{}this.recordedAudioUrl=null}try{this.cdr.detectChanges()}catch{}}closePopup(){this.cancelAllRunningProcesses(),this.dialogRef.close()}static{this.\u0275fac=function(i){return new(i||e)(w(Xy),w(Ds),w(np),w(Ve))}}static{this.\u0275cmp=pe({type:e,selectors:[["app-pronunciation"]],viewQuery:function(i,r){if(i&1&<(tk,5),i&2){let o;We(o=qe())&&(r.videoElRef=o.first)}},decls:53,vars:26,consts:[["videoEl",""],[1,"pp-page"],[1,"pp-header"],[1,"pp-main"],[1,"pp-left"],[1,"word-card"],[1,"word-img-wrap"],[1,"video-frame","square"],["autoplay","","loop","","muted","","preload","auto","playsinline","",3,"src"],[1,"word-text"],[1,"phonetic-pill"],[1,"image-container"],["src","assets/pronunciation/audio.png","alt","Play audio",1,"round-image",3,"click"],[1,"pp-center"],[1,"word-card","center-card"],[1,"center-media"],["src","assets/pronunciation/listening.mp4","class","media-rounded","autoplay","","loop","","muted","","height","469","width","521",3,"ended",4,"ngIf"],["class","media-rounded","autoplay","","muted","","height","469","width","521",3,"src","play","pause","ended",4,"ngIf"],[1,"controls-row"],["role","button","tabindex","0",1,"listen-img",3,"click","keydown.enter","keydown.space","src"],["type","button",1,"progress-btn",3,"click"],["width","85","height","85","viewBox","0 0 90 90","aria-hidden","true",1,"progress-ring"],["stroke","#3aaea8","stroke-width","6","fill","transparent","r","38","cx","45","cy","45",1,"progress-ring__background"],["stroke","#3aaea8","stroke-linecap","round","stroke-width","6","fill","transparent","r","38","cx","45","cy","45",1,"progress-ring__bar"],["aria-hidden","true",1,"label"],["class","action-text",4,"ngIf"],["class","seconds",4,"ngIf"],[1,"pp-right"],[1,"gauge-wrapper"],[1,"gauge"],[1,"gauge-arc"],[1,"needle"],[1,"mic-badge"],[1,"score-span"],[1,"fb-board"],["src","assets/pronunciation/board.png","alt","Slate"],[1,"center-text1"],[1,"container"],[1,"arrow","left",3,"click","disabled"],[1,"center-text"],[1,"arrow","right",3,"click","disabled"],["aria-label","Close",1,"user-guide-close-icon",3,"click"],["src","assets/pronunciation/listening.mp4","autoplay","","loop","","muted","","height","469","width","521",1,"media-rounded",3,"ended"],["autoplay","","muted","","height","469","width","521",1,"media-rounded",3,"play","pause","ended","src"],[1,"action-text"],[1,"seconds"]],template:function(i,r){i&1&&(d(0,"div",1)(1,"div",2)(2,"h1"),u(3,"Pronunciation Practice"),l()(),d(4,"div",3)(5,"div",4)(6,"div",5)(7,"div",6)(8,"div",7)(9,"video",8),u(10," Your browser does not support the video tag. "),l()()(),d(11,"div",9),u(12),l(),d(13,"div",10),u(14),l(),d(15,"div",11)(16,"img",12),I("click",function(){return r.playWordAudio()}),l()()()(),d(17,"div",13)(18,"div",14)(19,"div",15),R(20,nk,2,0,"video",16)(21,ik,3,1,"video",17),l(),d(22,"div",18)(23,"img",19),I("click",function(){return r.toggleVideoPlay()})("keydown.enter",function(){return r.toggleVideoPlay()})("keydown.space",function(s){return r.toggleVideoPlay(),s.preventDefault()}),l(),d(24,"button",20),I("click",function(){return r.toggleRecording()}),Wa(),d(25,"svg",21),g(26,"circle",22)(27,"circle",23),l(),Ig(),d(28,"div",24),R(29,rk,2,0,"span",25)(30,ok,2,0,"span",25)(31,sk,3,4,"span",26),l()()()()(),d(32,"div",27)(33,"div",28)(34,"div",29),g(35,"div",30)(36,"div",31),l(),d(37,"div",32)(38,"span",33),u(39),l()()(),d(40,"div",34),g(41,"img",35),d(42,"div",36),u(43),l()(),d(44,"div",37)(45,"button",38),I("click",function(){return r.prev()}),u(46,"\u2039"),l(),d(47,"span",39),u(48),l(),d(49,"button",40),I("click",function(){return r.next()}),u(50,"\u203A"),l()()()()(),d(51,"button",41),I("click",function(){return r.closePopup()}),u(52,"\xD7"),l()),i&2&&(m(9),y("src",r.current.imgSrc,ee),m(3),Ie(r.current.word),m(2),Se(" ",r.current.phonetics," "),m(6),y("ngIf",!r.showVideo),m(),y("ngIf",r.showVideo),m(2),y("src",r.isPlayingVideo?r.pauseIconDataUrl:r.playIconDataUrl,ee),le("alt",r.isPlayingVideo?"Pause pronunciation":"Play pronunciation")("aria-label",r.isPlayingVideo?"Pause pronunciation":"Play pronunciation")("aria-pressed",r.isPlayingVideo),m(),he("recording",r.isRecording),le("aria-pressed",r.isRecording),m(3),le("stroke-dasharray",r.circumference)("stroke-dashoffset",r.strokeDashoffset),m(2),y("ngIf",r.isRecording),m(),y("ngIf",!r.isCountingDown&&!r.isRecording),m(),y("ngIf",r.isCountingDown),m(5),wo("--angle",r.needleAngle+"deg"),he("oscillate",r.isOscillating),m(3),Se("",r.score,"%"),m(4),Se(" ",r.shortfeedback?r.shortfeedback:"Speak to get feedback"," "),m(2),y("disabled",r.index===0),m(3),Ie(r.current.letter),m(),y("disabled",r.index===r.items.length-1))},dependencies:[vt,Iv],styles:["[_nghost-%COMP%]{display:block;font-family:Raleway,Roboto,Helvetica Neue,sans-serif}.pp-page[_ngcontent-%COMP%]{height:85vh;padding:28px 24px 18px;box-sizing:border-box;border:7px solid #3aaea8;border-radius:1vw}.pp-header[_ngcontent-%COMP%]{text-align:center;margin-bottom:18px}.pp-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:42px;font-weight:800;color:#3aaea8;letter-spacing:.3px}.pp-main[_ngcontent-%COMP%]{display:flex;gap:1vw;align-items:start;justify-content:space-around}.pp-left[_ngcontent-%COMP%]{display:flex;justify-content:center}.word-card[_ngcontent-%COMP%]{width:22vw;height:34vw;background:#e9f7f6;border-radius:18px;padding:22px 18px 26px;text-align:center;box-shadow:0 12px 26px #00000014;border:3px dashed #3aaea8;gap:.5vw;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.word-img-wrap[_ngcontent-%COMP%]{width:20vw;height:20vw;display:flex;align-items:center;justify-content:center}.word-text[_ngcontent-%COMP%]{font-size:3vw;font-weight:800;color:#1f2b2a}.phonetic-pill[_ngcontent-%COMP%]{color:#3aaea8;font-size:1.5vw;font-weight:600}.pp-center[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:14px;position:relative}.center-card[_ngcontent-%COMP%]{width:30vw}.center-media[_ngcontent-%COMP%]{width:29vw;height:26vw;background-color:#e9f7f6}.center-media[_ngcontent-%COMP%] > video[_ngcontent-%COMP%]{object-fit:cover;border-radius:1vw}.controls-row[_ngcontent-%COMP%]{display:flex;margin-top:1.8vw;gap:2vw}.gauge-wrapper[_ngcontent-%COMP%]{position:relative;width:20vw;height:10vw}.gauge[_ngcontent-%COMP%]{position:absolute;left:50%;top:0;transform:translate(-50%);width:100%;height:100%;border-radius:260px 260px 0 0;overflow:hidden;background:#f3f3f3;box-shadow:0 4px 10px #00000040 inset}.gauge-arc[_ngcontent-%COMP%]{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 270deg,#e53935 0deg 45deg,#fb8c00 45deg 90deg,#fbc02d 90deg 135deg,#43a047 135deg 180deg,transparent 180deg 360deg);height:20vw}.needle[_ngcontent-%COMP%]{position:absolute;bottom:0vw;left:50%;width:.7vw;height:8vw;background:#333;transform:translate(-50%) rotate(var(--angle, -90deg));transform-origin:50% 100%;transition:transform .7s cubic-bezier(.2,.9,.2,1);border-radius:10px;box-shadow:0 2px 6px #00000080}@keyframes _ngcontent-%COMP%_needleOscillate{0%{transform:translate(-50%) rotate(-70deg)}25%{transform:translate(-50%) rotate(-20deg)}50%{transform:translate(-50%) rotate(60deg)}75%{transform:translate(-50%) rotate(-10deg)}to{transform:translate(-50%) rotate(-70deg)}}.needle.oscillate[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_needleOscillate 1.2s ease-in-out infinite;transition:none}.mic-badge[_ngcontent-%COMP%]{position:absolute;bottom:-.3vw;left:50%;transform:translate(-50%,35%);width:3vw;height:3vw;border-radius:50%;background:#000;box-shadow:0 8px 18px #0006;display:flex;align-items:center;justify-content:center}.score-span[_ngcontent-%COMP%]{color:#fff;font-size:1vw;font-weight:700}.fb-board[_ngcontent-%COMP%]{position:relative;top:-1vw;left:2vw;width:17vw}.fb-board[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:100%;display:block}.center-text1[_ngcontent-%COMP%]{position:absolute;top:60%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:1.2vw;font-weight:700;text-align:center;width:14vw}.video-frame[_ngcontent-%COMP%]{width:100%;aspect-ratio:16 / 9;border-radius:1vw;overflow:hidden;box-shadow:0 2px 6px #0000002e,0 12px 24px #00000029,0 24px 48px #0000001f}.video-frame.square[_ngcontent-%COMP%]{aspect-ratio:1 / 1}.video-frame[_ngcontent-%COMP%] > video[_ngcontent-%COMP%]{width:100%;height:100%;display:block;object-fit:cover}.listen-img[_ngcontent-%COMP%]{width:4.8vw;height:4.8vw;border-radius:50%;display:inline-block;object-fit:contain;cursor:pointer;-webkit-user-select:none;user-select:none;margin-right:1vw;box-shadow:0 10px 30px #0006;transition:all .3s ease;border:none}.listen-img[_ngcontent-%COMP%]:active{transform:scale(.98)}.listen-img.playing[_ngcontent-%COMP%], .listen-img[aria-pressed=true][_ngcontent-%COMP%]{filter:brightness(.95);box-shadow:0 18px 30px #00000029}.listen-img[_ngcontent-%COMP%]:focus{outline:3px solid rgba(58,174,168,.18);outline-offset:3px}.progress-btn[_ngcontent-%COMP%]{width:4.8vw;height:4.8vw;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:#f07b48;position:relative;cursor:pointer;box-shadow:0 10px 30px #0006;transition:transform .12s ease,box-shadow .12s ease}.progress-btn[_ngcontent-%COMP%]:active{transform:scale(.98)}.progress-btn.recording[_ngcontent-%COMP%]{filter:brightness(.95);animation:_ngcontent-%COMP%_recPulse 1s infinite}@keyframes _ngcontent-%COMP%_recPulse{0%{box-shadow:0 0 #f07b48}70%{box-shadow:0 0 0 18px #f07b4800}to{box-shadow:0 0 #f07b4800}}.progress-ring[_ngcontent-%COMP%]{width:100%;height:100%;transform:rotate(-90deg);display:block}.progress-ring__background[_ngcontent-%COMP%]{stroke:#eee;opacity:1}.progress-ring__bar[_ngcontent-%COMP%]{stroke:#3aaea8;transition:stroke-dashoffset .12s linear}.label[_ngcontent-%COMP%]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;font-weight:700;color:#222;font-size:2.5rem}.seconds[_ngcontent-%COMP%]{color:#fff;padding:4px 8px;border-radius:6px}.container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;gap:40px}.arrow[_ngcontent-%COMP%]{font-size:3.3vw;background-color:#e0f7fa;border:none;width:4.8vw;height:4.8vw;border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer;box-shadow:4px 4px 15px #0003;color:#00796b;transition:background-color .3s,color .3s}.arrow[_ngcontent-%COMP%]:disabled{background-color:#cfd8dc;color:#90a4ae;cursor:not-allowed;box-shadow:none}.center-text[_ngcontent-%COMP%]{font-size:5rem;font-weight:700;color:#00796b;width:4vw;text-align:center}.image-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}.round-image[_ngcontent-%COMP%]{width:4.8vw;height:4.8vw;border-radius:50%;box-shadow:0 10px 30px #0006;transition:all .3s ease;cursor:pointer}.round-image[_ngcontent-%COMP%]:active{transform:scale(1.1)}.user-guide-close-icon[_ngcontent-%COMP%]{position:fixed;top:3vw;right:4vw;background:#009688;border:none;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2vw;color:#000;cursor:pointer;z-index:2010;box-shadow:0 2px 8px #5d91c32e;transition:background .2s,color .2s}@media (max-width: 980px){.listen-img[_ngcontent-%COMP%]{width:72px;height:72px;padding:14px}}.pp-right[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5vw}"]})}}return e})();var eb={production:!0,apiBaseUrl:"https://pykara-py-learn-backend.hf.space",appName:"Py-Learn",version:"1.0.0"};var Gr=(()=>{class e{constructor(t,i){this.http=t,this.router=i,this.API_BASE_URL=eb.apiBaseUrl,this.TOKEN_REFRESH_INTERVAL=12*60*1e3,this.LOGIN_ENDPOINT="/auth/login",this.LOGOUT_ENDPOINT="/auth/logout",this.REFRESH_ENDPOINT="/auth/refresh",this.CHECK_AUTH_ENDPOINT="/auth/check-auth",this.loggedInSubject=new Ce(!1),this.refreshIntervalId=null,this.isLoggedIn$=this.loggedInSubject.asObservable(),this.initializeAuthState()}initializeAuthState(){let t=this.hasValidSession();this.loggedInSubject.next(t)}hasValidSession(){return typeof localStorage<"u"&&!!localStorage.getItem("username")}isLoggedIn(){return this.loggedInSubject.value}setLoggedIn(t){this.loggedInSubject.next(t)}login(t){let i={username:t.username,password:t.password};return this.http.post(`${this.API_BASE_URL}${this.LOGIN_ENDPOINT}`,i,{withCredentials:!0}).pipe(xe(()=>{this.setLoggedIn(!0),this.startAutoRefresh(),localStorage.setItem("username",t.username)}),ft(this.handleAuthError.bind(this)))}logout(){return this.http.post(`${this.API_BASE_URL}${this.LOGOUT_ENDPOINT}`,{},{withCredentials:!0}).pipe(xe(()=>this.handleLogoutSuccess()),ft(t=>(this.handleLogoutSuccess(),Xt(()=>t))),rt(()=>this.handleLogoutSuccess()))}checkSession(){return this.http.get(`${this.API_BASE_URL}${this.CHECK_AUTH_ENDPOINT}`,{withCredentials:!0}).pipe(xe(()=>{this.setLoggedIn(!0),this.startAutoRefresh()}),$e(()=>[!0]),ft(t=>t.status===401?this.attemptTokenRefresh():(this.setLoggedIn(!1),[!1])))}startAutoRefresh(){this.refreshIntervalId||(this.refreshIntervalId=window.setInterval(()=>{this.refreshAccessToken().subscribe({error:()=>this.handleRefreshError()})},this.TOKEN_REFRESH_INTERVAL))}clearAutoRefresh(){this.refreshIntervalId&&(clearInterval(this.refreshIntervalId),this.refreshIntervalId=null)}refreshAccessToken(){return this.http.post(`${this.API_BASE_URL}${this.REFRESH_ENDPOINT}`,{},{withCredentials:!0}).pipe(ft(this.handleRefreshError.bind(this)))}attemptTokenRefresh(){return this.http.post(`${this.API_BASE_URL}${this.REFRESH_ENDPOINT}`,{},{withCredentials:!0}).pipe(xe(()=>{this.setLoggedIn(!0),this.startAutoRefresh()}),$e(()=>[!0]),ft(()=>(this.setLoggedIn(!1),[!1])))}handleAuthError(t){let i="Authentication failed";return t.error?.message?i=t.error.message:t.status===401?i="Invalid credentials":t.status===0&&(i="Network error - please check your connection"),Xt(()=>({message:i,status:t.status}))}handleRefreshError(){return this.clearTokens(),this.setLoggedIn(!1),this.router.navigate(["/login"]),Xt(()=>new Error("Session expired"))}handleLogoutSuccess(){this.clearTokens(),this.clearAutoRefresh(),this.setLoggedIn(!1),localStorage.removeItem("username")}clearTokens(){document.cookie="access_token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; secure; samesite=strict",document.cookie="refresh_token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; secure; samesite=strict"}getAccessToken(){if(typeof document>"u")return null;let i=document.cookie.split("; ").find(r=>r.startsWith("access_token="));return i?i.split("=")[1]:null}ngOnDestroy(){this.clearAutoRefresh()}static{this.\u0275fac=function(i){return new(i||e)(v(Rn),v(ut))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function ak(e,n){if(e&1){let t=H();d(0,"div")(1,"div",18),I("click",function(){T(t);let r=C(3);return A(r.closePrivacyPopup())}),l(),d(2,"div",19)(3,"button",20),I("click",function(){T(t);let r=C(3);return A(r.closePrivacyPopup())}),u(4,"\xD7"),l(),d(5,"ul",21)(6,"li",22)(7,"b"),u(8,"Privacy Policy \u2014 Py-learn"),l(),g(9,"br"),d(10,"ul",23)(11,"li")(12,"b"),u(13,"Last Updated:"),l(),u(14," November 2025"),l(),d(15,"li")(16,"b"),u(17,"Who we are:"),l(),u(18," Py-learn is operated by "),d(19,"b"),u(20,"Pykara Technologies Private Limited"),l(),u(21," (\u201Cwe\u201D, \u201Cus\u201D, \u201Cour\u201D), the data controller for personal data processed through the platform."),l(),d(22,"li")(23,"b"),u(24,"Contact:"),l(),d(25,"a",24),u(26,"info@pykara.ai"),l()()()(),d(27,"li")(28,"b"),u(29,"Overview"),l(),g(30,"br"),d(31,"ul",23)(32,"li"),u(33,"We collect limited personal data to deliver an AI-powered e-learning experience (chatbots, video lessons, quizzes) and to improve learning outcomes."),l(),d(34,"li"),u(35,"We comply with applicable laws, including GDPR where relevant to users in the EEA/UK."),l()()(),d(36,"li")(37,"b"),u(38,"Information We Collect"),l(),g(39,"br"),d(40,"ul",23)(41,"li")(42,"b"),u(43,"Account Data:"),l(),u(44," name, email, password (hashed), profile details."),l(),d(45,"li")(46,"b"),u(47,"Learning Data:"),l(),u(48," enrolled courses, lessons viewed, quiz results, progress analytics, feedback."),l(),d(49,"li")(50,"b"),u(51,"Technical Data:"),l(),u(52," device/browser info, IP address, timestamps, logs, approximate location from IP."),l(),d(53,"li")(54,"b"),u(55,"Cookies & Similar Tech:"),l(),u(56," preferences, session management, analytics (see \u201CCookies\u201D)."),l()()(),d(57,"li")(58,"b"),u(59,"Purposes of Processing"),l(),g(60,"br"),d(61,"ul",23)(62,"li"),u(63,"Provide and secure the service; authenticate users; maintain accounts."),l(),d(64,"li"),u(65,"Personalise content, recommendations, and difficulty levels."),l(),d(66,"li"),u(67,"Measure performance, improve features, and fix issues."),l(),d(68,"li"),u(69,"Send essential service communications (policy changes, security notices)."),l(),d(70,"li"),u(71,"Comply with legal obligations and enforce Terms."),l()()(),d(72,"li")(73,"b"),u(74,"Legal Bases (GDPR)"),l(),g(75,"br"),d(76,"ul",23)(77,"li")(78,"b"),u(79,"Contract necessity:"),l(),u(80," to deliver core features you request."),l(),d(81,"li")(82,"b"),u(83,"Legitimate interests:"),l(),u(84," service improvement, security, fraud prevention (balanced against your rights)."),l(),d(85,"li")(86,"b"),u(87,"Consent:"),l(),u(88," non-essential cookies, optional marketing (you can withdraw at any time)."),l(),d(89,"li")(90,"b"),u(91,"Legal obligation:"),l(),u(92," records, compliance, and requests from authorities where required by law."),l()()(),d(93,"li")(94,"b"),u(95,"Automated Processing & AI"),l(),g(96,"br"),d(97,"ul",23)(98,"li"),u(99,"AI is used to generate explanations, hints, and recommendations. We do not make decisions with legal or similarly significant effects solely by automated means."),l()()(),d(100,"li")(101,"b"),u(102,"Third-Party Processors & Transfers"),l(),g(103,"br"),d(104,"ul",23)(105,"li"),u(106,"We use reputable vendors for AI inference, hosting, analytics, email delivery, and content streaming. They act under contracts and process data only on our instructions."),l(),d(107,"li"),u(108,"Where data is transferred outside your country (including outside the EEA/UK), appropriate safeguards are applied (e.g., Standard Contractual Clauses)."),l()()(),d(109,"li")(110,"b"),u(111,"Data Sharing"),l(),g(112,"br"),d(113,"ul",23)(114,"li"),u(115,"With service providers under confidentiality and security obligations."),l(),d(116,"li"),u(117,"For legal reasons (court orders, to protect users and our rights, prevent fraud or abuse)."),l(),d(118,"li"),u(119,"Business changes (merger, acquisition); we will ensure comparable protections or notify you of material changes."),l()()(),d(120,"li")(121,"b"),u(122,"Data Security & Retention"),l(),g(123,"br"),d(124,"ul",23)(125,"li"),u(126,"We apply technical and organisational measures (encryption at rest/in transit, access controls, monitoring)."),l(),d(127,"li"),u(128,"We retain personal data only as long as needed for the purposes above or as required by law. "),d(129,"b"),u(130,"Inactive accounts may be deleted after 24 months."),l()()()(),d(131,"li")(132,"b"),u(133,"Cookies & Similar Technologies"),l(),g(134,"br"),d(135,"ul",23)(136,"li")(137,"b"),u(138,"Essential:"),l(),u(139," login/session, security, load balancing."),l(),d(140,"li")(141,"b"),u(142,"Preferences:"),l(),u(143," UI settings, language, playback choices."),l(),d(144,"li")(145,"b"),u(146,"Analytics:"),l(),u(147," usage statistics to improve features."),l(),d(148,"li"),u(149,"You may control cookies via your browser. Disabling some cookies may affect functionality."),l()()(),d(150,"li")(151,"b"),u(152,"Children\u2019s Privacy"),l(),g(153,"br"),d(154,"ul",23)(155,"li"),u(156,"The service is intended for users aged 13+. If we learn that data from a child under 13 was collected without appropriate consent, we will delete it."),l()()(),d(157,"li")(158,"b"),u(159,"Your Rights (EEA/UK where applicable)"),l(),g(160,"br"),d(161,"ul",23)(162,"li"),u(163,"Access, rectify, erase, restrict processing, object, and data portability."),l(),d(164,"li"),u(165,"Withdraw consent (for consent-based processing) without affecting prior lawful processing."),l(),d(166,"li"),u(167,"Lodge a complaint with a supervisory authority. We encourage contacting us first at "),d(168,"a",24),u(169,"info@pykara.ai"),l(),u(170,"."),l()()(),d(171,"li")(172,"b"),u(173,"Data Breach Notification"),l(),g(174,"br"),d(175,"ul",23)(176,"li"),u(177,"We will notify affected users and relevant authorities when legally required."),l()()(),d(178,"li")(179,"b"),u(180,"Changes to this Policy"),l(),g(181,"br"),d(182,"ul",23)(183,"li"),u(184,"We may update this policy. The \u201CLast Updated\u201D date reflects the latest version; material changes may be additionally notified in-app or by email."),l()()(),d(185,"li")(186,"b"),u(187,"Contact"),l(),g(188,"br"),d(189,"ul",23)(190,"li"),u(191,"Email: "),d(192,"a",24),u(193,"info@pykara.ai"),l()(),d(194,"li"),u(195,"Registered Office: Pykara Technologies Private Limited, Chennai, Tamil Nadu, India"),l()()()()()()}}function ck(e,n){if(e&1){let t=H();d(0,"div")(1,"div",18),I("click",function(){T(t);let r=C(3);return A(r.closeTermsPopup())}),l(),d(2,"div",25)(3,"button",20),I("click",function(){T(t);let r=C(3);return A(r.closeTermsPopup())}),u(4,"\xD7"),l(),d(5,"ul",21)(6,"li",26)(7,"b"),u(8,"Terms & Conditions \u2014 Py-learn"),l(),g(9,"br"),d(10,"ul",23)(11,"li")(12,"b"),u(13,"Last Updated:"),l(),u(14," November 2025"),l(),d(15,"li"),u(16,"By using Py-learn, you agree to these Terms and our Privacy Policy."),l()()(),d(17,"li")(18,"b"),u(19,"Eligibility & Accounts"),l(),g(20,"br"),d(21,"ul",23)(22,"li"),u(23,"You must be 13+ (or the age of digital consent in your region). Users under 18 require parental/guardian consent."),l(),d(24,"li"),u(25,"You are responsible for the accuracy of your information and for safeguarding your credentials."),l()()(),d(26,"li")(27,"b"),u(28,"Permitted Use & Prohibited Conduct"),l(),g(29,"br"),d(30,"ul",23)(31,"li"),u(32,"Use the service for lawful, educational purposes only."),l(),d(33,"li"),u(34,"Do not attempt unauthorised access, disrupt the service, reverse engineer components, or misuse AI features."),l(),d(35,"li"),u(36,"International users must comply with local laws."),l()()(),d(37,"li")(38,"b"),u(39,"Content & Intellectual Property"),l(),g(40,"br"),d(41,"ul",23)(42,"li"),u(43,"All software, UI, designs, text, graphics, videos, and datasets are owned by Pykara Technologies or its licensors."),l(),d(44,"li"),u(45,"Copying, redistribution, or commercial use requires prior written consent."),l(),d(46,"li"),u(47,"When you submit content (e.g., answers, uploads), you grant us a non-exclusive, royalty-free licence to host and process it to operate and improve the service (including for AI model quality and safety, where allowed by law and your settings)."),l()()(),d(48,"li")(49,"b"),u(50,"AI Outputs & Educational Disclaimer"),l(),g(51,"br"),d(52,"ul",23)(53,"li"),u(54,"AI responses support learning but may contain errors. Verify outputs before relying on them; they are not professional advice."),l()()(),d(55,"li")(56,"b"),u(57,"Fees, Trials & Refunds"),l(),g(58,"br"),d(59,"ul",23)(60,"li"),u(61,"Some features may be paid (subscriptions or one-off fees). Prices and taxes are shown at checkout."),l(),d(62,"li"),u(63,"Payments are processed securely by third-party providers. Unless required by law, payments are non-refundable."),l()()(),d(64,"li")(65,"b"),u(66,"Third-Party Links & Services"),l(),g(67,"br"),d(68,"ul",23)(69,"li"),u(70,"We may link to third-party content or integrate with providers (hosting, analytics, AI). We are not responsible for third-party terms or policies."),l()()(),d(71,"li")(72,"b"),u(73,"Termination & Suspension"),l(),g(74,"br"),d(75,"ul",23)(76,"li"),u(77,"We may suspend or terminate access for violations, fraud, or security risks. You may request account closure at any time."),l()()(),d(78,"li")(79,"b"),u(80,"Warranties & Liability"),l(),g(81,"br"),d(82,"ul",23)(83,"li"),u(84,"The service is provided \u201Cas is\u201D and \u201Cas available\u201D without warranties of any kind."),l(),d(85,"li"),u(86,"To the fullest extent permitted by law, we are not liable for indirect, incidental, special, consequential, or punitive damages."),l()()(),d(87,"li")(88,"b"),u(89,"Indemnity"),l(),g(90,"br"),d(91,"ul",23)(92,"li"),u(93,"You agree to indemnify and hold us harmless from claims arising from your misuse of the service or breach of these Terms."),l()()(),d(94,"li")(95,"b"),u(96,"Changes to the Service or Terms"),l(),g(97,"br"),d(98,"ul",23)(99,"li"),u(100,"We may modify features or these Terms. Continued use after changes indicates acceptance; material updates may be additionally notified in-app or by email."),l()()(),d(101,"li")(102,"b"),u(103,"Governing Law & Disputes"),l(),g(104,"br"),d(105,"ul",23)(106,"li"),u(107,"Governing law: India. Exclusive jurisdiction: courts in Chennai, Tamil Nadu, India."),l()()(),d(108,"li")(109,"b"),u(110,"Contact"),l(),g(111,"br"),d(112,"ul",23)(113,"li"),u(114,"Support & legal queries: "),d(115,"a",24),u(116,"info@pykara.ai"),l()(),d(117,"li"),u(118,"Registered Office: Pykara Technologies Private Limited, Chennai, Tamil Nadu, India"),l()()()()()()}}function lk(e,n){if(e&1){let t=H();Re(0),d(1,"p"),u(2,"\xA9 2025 Pykara Technologies Pvt. Ltd. All rights reserved."),l(),d(3,"a",3),u(4,"Contact Us"),l(),u(5," | "),d(6,"a",4),I("click",function(r){T(t);let o=C(2);return A(o.openPrivacyPopup(r))}),u(7,"Privacy Policy"),l(),u(8," | "),d(9,"a",4),I("click",function(r){T(t);let o=C(2);return A(o.openTermsPopup(r))}),u(10,"Terms & Conditions"),l(),d(11,"div",5)(12,"a",6),g(13,"i",7),l(),d(14,"a",8),g(15,"i",9),l(),d(16,"a",10),g(17,"i",11),l(),d(18,"a",12),g(19,"i",13),l(),d(20,"a",14),g(21,"i",15),l()(),R(22,ak,196,0,"div",0)(23,ck,119,0,"div",0),d(24,"div",16)(25,"a",17),u(26,"www.pykara.ai"),l()(),Ne()}if(e&2){let t=C(2);m(12),y("href",t.brandService.socialLinksCurrent.linkedin,ee),m(2),y("href",t.brandService.socialLinksCurrent.youtube,ee),m(2),y("href",t.brandService.socialLinksCurrent.facebook,ee),m(2),y("href",t.brandService.socialLinksCurrent.instagram,ee),m(2),y("href",t.brandService.socialLinksCurrent.website,ee),m(2),y("ngIf",t.showPrivacyPopup),m(),y("ngIf",t.showTermsPopup)}}function dk(e,n){if(e&1){let t=H();d(0,"div")(1,"div",18),I("click",function(){T(t);let r=C(3);return A(r.closePrivacyPopup())}),l(),d(2,"div",19)(3,"button",20),I("click",function(){T(t);let r=C(3);return A(r.closePrivacyPopup())}),u(4,"\xD7"),l(),d(5,"ul",21)(6,"li",22)(7,"b"),u(8,"Privacy Policy \u2014 Majema"),l(),g(9,"br"),d(10,"ul",23)(11,"li")(12,"b"),u(13,"What personal data is collected?"),l(),g(14,"br"),u(15,"Majemaf\xF6rlaget AB processes personal data that you provide to us. Personal data that will be processed includes, for example, name, social security number, school affiliation, role, interests related to teaching, address, e-mail address and telephone number. You provide the personal data yourself in connection with ordering, expressions of interest, by telephone or when visiting teaching material exhibitions, school visits and teacher meetings. On our website we use cookies and save your IP address."),l(),d(16,"li"),u(17,"It is voluntary to provide your personal data, but in some cases we cannot provide you with the service and/or product you have ordered if you do not provide your personal data."),l(),d(18,"li"),u(19,"We do not collect any personal information from third-party companies. Advertising may occur on external websites and then we can obtain statistics that are not personal through cookies."),l(),d(20,"li")(21,"b"),u(22,"Purposes of personal data processing"),l(),g(23,"br"),u(24,"Your personal data will be processed in order for us to fulfill our commitments to you. We may also process your data for the purposes below as well as for our market and customer analyses and statistics in order to provide you with a better offer and better service. We may, unless you have objected to direct marketing in writing, also use your personal data to provide various offers of services and/or products from us. You may unsubscribe from receiving such offers at any time with each marketing message. If we process data for other purposes, we will inform you of this."),l(),d(25,"li")(26,"b"),u(27,"Storage of personal data"),l(),g(28,"br"),u(29,"We may transfer your data to IT service providers and other service providers who then process the data on our behalf. If we transfer your data outside the EU, we ensure that we have a legal basis for such transfer. This can be done through the EU Commission's standard contractual clauses. Majema takes the greatest possible security measures to protect your personal data. All identifiable personal data is subject to access restrictions to prevent unauthorized access, alteration or misuse. We will store your data for as long as necessary to fulfill our obligations to you."),l(),d(30,"li")(31,"b"),u(32,"Our legal basis"),l(),g(33,"br"),u(34,"We process your data based on our legitimate interest or to enable us to fulfill our obligations to you."),l(),d(35,"li")(36,"b"),u(37,"Cookies \u2013 Information collected via www.majema.se"),l(),g(38,"br"),u(39,"www.majema.se is managed by Majemaf\xF6rlaget AB. Majema's website uses cookies to give you access to additional functions, such as previous orders and to simplify logging into your account. You can refuse the use of cookies through your browser settings. Majema uses analysis tools to get a picture of how visitors use our websites, in order to improve the content, navigation and structure of the websites. The analysis tools use JavaScript and cookies and the information generated by these through your use of the website (including your IP address) will be forwarded to the analysis tools' service providers and may be stored on servers outside the EU. The service providers may also transfer this information to third parties if required by law or in cases where a third party processes the information on their behalf. By using Majema's websites without declining third-party cookies, you agree that the service providers process your data in the manner and for the purposes described above. If you do not want your visits to Majema's website to be included in the service providers' statistics, there is an add-on that you can install in your browser."),l(),d(40,"li")(41,"b"),u(42,"Your rights"),l(),g(43,"br"),u(44,'According to applicable data protection legislation, you have the right to request that incorrect personal data be corrected, blocked, restricted or deleted. In addition, you can also object to processing or request that your data be transferred to another data controller, so-called data portability. You also have the right to request written information, a so-called register extract, about the personal data we process about you once a year, free of charge, by sending a written signed application to our address below. Mark the application with "Request for register extract". If you are dissatisfied with our processing, you have the right to file a complaint with the Swedish Data Protection Authority.'),l(),d(45,"li")(46,"b"),u(47,"Contact information"),l(),g(48,"br"),u(49,"Majemaf\xF6rlaget AB, 556414-9135, is the data controller for the processing of your personal data that you provide when filling out contact forms on the website. Address: Majemaf\xF6rlaget AB, Box 4016, 131 04 Nacka"),l()()()()()()}}function uk(e,n){if(e&1){let t=H();d(0,"div")(1,"div",18),I("click",function(){T(t);let r=C(3);return A(r.closeTermsPopup())}),l(),d(2,"div",25)(3,"button",20),I("click",function(){T(t);let r=C(3);return A(r.closeTermsPopup())}),u(4,"\xD7"),l(),d(5,"ul",21)(6,"li",26)(7,"b"),u(8,"Terms & Conditions \u2014 Majema"),l(),g(9,"br"),d(10,"ul",23)(11,"li"),u(12,"By using Majema, you agree to these Terms and our Privacy Policy."),l()()(),d(13,"li")(14,"b"),u(15,"System requirements"),l(),g(16,"br"),d(17,"ul",23)(18,"li"),u(19,"Majema's digital learning materials work on computers, tablets and interactive whiteboards. Our digital learning materials are based on HTML5 and JavaScript. This means that older versions of browsers are not always fully supported. We recommend using an updated version of the Chrome browser to best experience our digital learning materials."),l(),d(20,"li"),u(21,"Here you can download "),d(22,"a",29),u(23,"Google Chrome for free"),l(),u(24,"."),l(),d(25,"li"),u(26," For the best user experience, you should make sure these four points are met: "),d(27,"ol",30)(28,"li"),u(29,"Make sure your browser is set to 100% zoom. This is important for the content to look correct on the screen."),l(),d(30,"li"),u(31,"Update your browser."),l(),d(32,"li"),u(33,"Clear your cache. Select: settings, privacy and security, clear browsing data. (If clearing the cache isn't enough, you can open a new incognito window in Chrome and log in from there.)"),l(),d(34,"li"),u(35,"If you are using a tablet \u2013 update your operating system. This is done under settings."),l()()(),d(36,"li")(37,"b"),u(38,"Web browser"),l(),g(39,"br"),u(40," We recommend that you always update your browser to the latest version."),g(41,"br"),u(42," We test our digital learning materials against the following browsers: Chrome, Edge, Safari and Firefox. "),l(),d(43,"li")(44,"b"),u(45,"License management"),l(),g(46,"br"),u(47," All of our websites are licensed to apply to one teacher and class for one year from the date of activation."),g(48,"br"),u(49," If there is a student website, it is activated at the same time as you activate the teacher website."),g(50,"br"),u(51," To extend a license, you need to make a new purchase, in the webshop, through a retailer or with our customer service."),g(52,"br"),u(53," Should a license need to be transferred from one teacher to another, please contact our customer service and we will help you with this."),g(54,"br"),u(55," You can change your account details yourself under the My Account tab when you are logged in. "),l(),d(56,"li")(57,"b"),u(58,"Operating system"),l(),g(59,"br"),u(60," We recommend that you always update your operating system to the latest version."),g(61,"br"),d(62,"ul",31)(63,"li"),u(64,"Windows 7, 8, 10, 11"),l(),d(65,"li"),u(66,"Chrome OS (Chromebook)"),l(),d(67,"li"),u(68,"Mac OS (11 and later)"),l(),d(69,"li"),u(70,"Android tablet 11 or later (with Chrome browser)"),l(),d(71,"li"),u(72,"iOS 14 and later (iPad operating system)"),l()(),u(73," Majema does not guarantee support for devices and operating systems that are no longer updated by the manufacturer. "),l()()()()()()}}function hk(e,n){if(e&1){let t=H();Re(0),d(1,"p"),u(2,"\xA9 2025 Majemaf\xF6rlaget. All rights reserved."),l(),d(3,"a",27),u(4,"Contact Us"),l(),u(5," | "),d(6,"a",4),I("click",function(r){T(t);let o=C(2);return A(o.openPrivacyPopup(r))}),u(7,"Privacy Policy"),l(),u(8," | "),d(9,"a",4),I("click",function(r){T(t);let o=C(2);return A(o.openTermsPopup(r))}),u(10,"Terms & Conditions"),l(),d(11,"div",5)(12,"a",6),g(13,"i",7),l(),d(14,"a",8),g(15,"i",9),l(),d(16,"a",10),g(17,"i",11),l(),d(18,"a",12),g(19,"i",13),l(),d(20,"a",14),g(21,"i",15),l()(),R(22,dk,50,0,"div",0)(23,uk,74,0,"div",0),d(24,"div",16)(25,"a",28),u(26,"www.majema.se"),l()(),Ne()}if(e&2){let t=C(2);m(12),y("href",t.brandService.socialLinksCurrent.linkedin,ee),m(2),y("href",t.brandService.socialLinksCurrent.youtube,ee),m(2),y("href",t.brandService.socialLinksCurrent.facebook,ee),m(2),y("href",t.brandService.socialLinksCurrent.instagram,ee),m(2),y("href",t.brandService.socialLinksCurrent.website,ee),m(2),y("ngIf",t.showPrivacyPopup),m(),y("ngIf",t.showTermsPopup)}}function fk(e,n){if(e&1&&(d(0,"footer"),Re(1,1),R(2,lk,27,7,"ng-container",2)(3,hk,27,7,"ng-container",2),Ne(),l()),e&2){let t=C();m(),y("ngSwitch",t.brandService.name),m(),y("ngSwitchCase","Py-Learn"),m(),y("ngSwitchCase","MJ-Learn")}}var Tl=(()=>{class e{constructor(t){this.brandService=t,this.showPrivacyPopup=!1,this.showTermsPopup=!1}openPrivacyPopup(t){t.preventDefault(),this.showPrivacyPopup=!0}closePrivacyPopup(){this.showPrivacyPopup=!1}openTermsPopup(t){t.preventDefault(),this.showTermsPopup=!0}closeTermsPopup(){this.showTermsPopup=!1}static{this.\u0275fac=function(i){return new(i||e)(w(pn))}}static{this.\u0275cmp=pe({type:e,selectors:[["app-footer"]],standalone:!0,features:[Fe],decls:1,vars:1,consts:[[4,"ngIf"],[3,"ngSwitch"],[4,"ngSwitchCase"],["href","https://pykara.ai/contact-us/","target","blank"],["href","#",3,"click"],[1,"social-icons"],["target","_blank","aria-label","LinkedIn",1,"social-icon","linkedin",3,"href"],[1,"fab","fa-linkedin-in"],["target","_blank","aria-label","YouTube",1,"social-icon","youtube",3,"href"],[1,"fab","fa-youtube"],["target","_blank","aria-label","Facebook",1,"social-icon","facebook",3,"href"],[1,"fab","fa-facebook-f"],["target","_blank","aria-label","Instagram",1,"social-icon","instagram",3,"href"],[1,"fab","fa-instagram"],["target","_blank","aria-label","Website",1,"social-icon","website",3,"href"],[1,"fas","fa-globe"],[1,"footer-watermark-row"],["href","https://www.pykara.ai","target","_blank",1,"footer-watermark"],[1,"user-guide-overlay",3,"click"],["role","dialog","aria-modal","true","aria-labelledby","privacyTitle",1,"user-guide-modal"],["aria-label","Close",1,"user-guide-close-icon",3,"click"],[2,"text-align","justify","font-size","15px"],["id","privacyTitle"],[2,"list-style","unset","margin-left","1.25rem"],["href","mailto:info@pykara.ai"],["role","dialog","aria-modal","true","aria-labelledby","termsTitle",1,"user-guide-modal"],["id","termsTitle"],["href","https://www.majema.se/pages/kontakta-kundtjanst","target","_blank"],["href","https://www.majema.se","target","_blank",1,"footer-watermark"],["href","https://www.google.com/chrome/","target","_blank"],[2,"margin-left","1.5rem"],[2,"list-style","disc","margin-left","1.5rem"]],template:function(i,r){i&1&&R(0,fk,4,3,"footer",0),i&2&&y("ngIf",r.brandService.showFooter)},dependencies:[_t,vt,Mo,Sc],styles:[".user-guide-overlay[_ngcontent-%COMP%]{position:fixed;inset:0;background:#00000059;z-index:2000}.user-guide-modal[_ngcontent-%COMP%]{position:fixed;top:52%;left:50%;transform:translate(-50%,-50%);height:38vw;width:50vw;background:linear-gradient(135deg,#fff 80%,#e3fcec);color:#222;box-shadow:0 12px 40px #5d91c338;border-radius:18px;padding:1vw;z-index:2001;overflow:visible;border:10px solid var(--main-accent-color);box-sizing:border-box;font-weight:lighter}.user-guide-modal[_ngcontent-%COMP%] > ul[_ngcontent-%COMP%], .user-guide-modal[_ngcontent-%COMP%] > ol[_ngcontent-%COMP%]{max-height:34.6vw;overflow-y:auto;padding-right:.5vw;margin:0}.user-guide-close-icon[_ngcontent-%COMP%]{top:-22px;right:-22px}.user-guide-modal[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{line-height:1.7;font-size:1.1vw;background:#5d91c312;padding:.5vw;box-shadow:0 2px 8px #5d91c30f}.user-guide-modal[_ngcontent-%COMP%] li[_ngcontent-%COMP%] b[_ngcontent-%COMP%]{color:#2b6296;font-size:1.15vw}.user-guide-modal[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#137ec4;text-decoration:underline;font-weight:600}.user-guide-modal[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{color:#009688;text-decoration:underline}footer[_ngcontent-%COMP%]{background:linear-gradient(to right,#011022,#01030a);color:#fff;padding:15px 10px;text-align:center;width:100%;position:relative;font-size:18px;font-weight:700;font-family:Inter,Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif}p.footer[_ngcontent-%COMP%]{line-height:1;margin-top:1vw}footer[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#fff;text-decoration:none;margin:0 5px;margin-bottom:.5vw;display:inline-block}footer[_ngcontent-%COMP%] .social-icons[_ngcontent-%COMP%]{margin-top:.5vw;display:flex;justify-content:center;gap:28px;flex-wrap:wrap}footer[_ngcontent-%COMP%] .social-icons[_ngcontent-%COMP%] .social-icon[_ngcontent-%COMP%]{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background-color:#fff;color:#38bdf8;font-size:18px;box-shadow:0 0 0 1px #214055,0 4px 14px #0006;transition:background-color .25s,color .25s,transform .25s,box-shadow .25s;text-decoration:none}footer[_ngcontent-%COMP%] .social-icons[_ngcontent-%COMP%] .social-icon[_ngcontent-%COMP%]:hover{background-color:#38bdf8;color:#fff;transform:translateY(-4px);box-shadow:0 6px 20px #38bdf8aa,0 0 0 2px #38bdf8 inset}footer[_ngcontent-%COMP%] .social-icons[_ngcontent-%COMP%] .social-icon.facebook[_ngcontent-%COMP%]{color:#1877f2}footer[_ngcontent-%COMP%] .social-icons[_ngcontent-%COMP%] .social-icon.youtube[_ngcontent-%COMP%]{color:red}footer[_ngcontent-%COMP%] .social-icons[_ngcontent-%COMP%] .social-icon.linkedin[_ngcontent-%COMP%]{color:#0a66c2}footer[_ngcontent-%COMP%] .social-icons[_ngcontent-%COMP%] .social-icon.instagram[_ngcontent-%COMP%]{color:#fd5949}footer[_ngcontent-%COMP%] .social-icons[_ngcontent-%COMP%] .social-icon.facebook[_ngcontent-%COMP%]:hover{background-color:#1877f2;color:#fff}footer[_ngcontent-%COMP%] .social-icons[_ngcontent-%COMP%] .social-icon.youtube[_ngcontent-%COMP%]:hover{background-color:red;color:#fff}footer[_ngcontent-%COMP%] .social-icons[_ngcontent-%COMP%] .social-icon.linkedin[_ngcontent-%COMP%]:hover{background-color:#0a66c2;color:#fff}footer[_ngcontent-%COMP%] .social-icons[_ngcontent-%COMP%] .social-icon.instagram[_ngcontent-%COMP%]:hover{background:radial-gradient(circle at 30% 110%,#fdf497,#fd5949 45%,#d6249f 60%,#285aeb 90%);color:#fff;filter:brightness(1.15);box-shadow:0 6px 22px #fd594999}.footer-watermark-row[_ngcontent-%COMP%]{width:100%;text-align:right;margin-top:-40px}.footer-watermark[_ngcontent-%COMP%]{color:#38bdf8;font-weight:700;text-decoration:underline;font-size:1.1em;transition:color .2s}.footer-watermark[_ngcontent-%COMP%]:hover{color:#137ec4}@media (max-width: 600px){.user-guide-modal[_ngcontent-%COMP%]{width:90vw;height:60vw;border-radius:12px;padding:4vw 2vw 2vw}.user-guide-modal[_ngcontent-%COMP%] > ul[_ngcontent-%COMP%], .user-guide-modal[_ngcontent-%COMP%] > ol[_ngcontent-%COMP%]{max-height:52vw;overflow-y:auto;padding-right:1.5vw}.user-guide-close-icon[_ngcontent-%COMP%]{font-size:6vw;top:2vw;right:2vw;width:6vw;height:6vw;display:flex;align-items:center;justify-content:center;line-height:1}.footer-watermark-row[_ngcontent-%COMP%]{text-align:center;margin-top:8px}}"]})}}return e})();function mk(e,n){if(e&1){let t=H();d(0,"div",34),I("mouseleave",function(){T(t);let r=C(2);return A(r.closeAccountMenu())}),d(1,"div",35)(2,"div",36),u(3),l(),d(4,"div",37)(5,"div",38),u(6),l(),d(7,"div",39),u(8),l()()(),d(9,"div",40),I("click",function(){T(t);let r=C(2);return A(r.goToAccount())}),u(10,"My account"),l(),g(11,"hr"),d(12,"div",40),I("click",function(){T(t);let r=C(2);return A(r.logout())}),u(13,"Logout"),l()()}if(e&2){let t=C(2);m(3),Ie(t.usernameInitial),m(3),Ie(t.displayName),m(2),Ie(t.displayEmail)}}function gk(e,n){if(e&1){let t=H();Re(0),d(1,"div",32),I("click",function(){T(t);let r=C();return A(r.toggleAccountMenu())}),u(2),l(),R(3,mk,14,3,"div",33),Ne()}if(e&2){let t=C();m(),le("title",t.usernameInitial),m(),Se(" ",t.usernameInitial," "),m(),y("ngIf",t.showAccountMenu)}}function vk(e,n){e&1&&(d(0,"a",41),g(1,"i",42),l()),e&2&&le("title","Login")}function _k(e,n){if(e&1){let t=H();d(0,"div",43),I("click",function(){let r=T(t).$implicit,o=C();return A(o.handleCardAction(r))})("keydown.enter",function(){let r=T(t).$implicit,o=C();return A(o.handleCardAction(r))})("keydown.space",function(){let r=T(t).$implicit,o=C();return A(o.handleCardAction(r))}),d(1,"div",44),g(2,"img",45),l(),d(3,"div",46)(4,"div",47)(5,"button",48),I("click",function(r){let o=T(t).$implicit,s=C();return r.stopPropagation(),A(s.openGuidePopup(o.title))}),u(6,"Know More"),l()()()()}if(e&2){let t=n.$implicit;he("card--disabled",t.disabled),y("tabindex",t.disabled?-1:0),m(2),y("src",t.image,ee)("alt",t.title),m(3),y("disabled",t.disabled)}}function yk(e,n){e&1&&(Re(0),d(1,"ul",54)(2,"li")(3,"b"),u(4,"Introduction"),l(),g(5,"br"),d(6,"ul",55)(7,"li"),u(8,"The Chat Module is an interactive learning environment designed to assist learners through text and voice-based communication."),l(),d(9,"li"),u(10,"Users can type their question or select from follow-up suggestions, using either the text input or the microphone."),l(),d(11,"li"),u(12,"Predefined questions appear above the input field for quick access."),l(),d(13,"li"),u(14,"This creates an engaging and personalised learning experience similar to interacting with a real tutor."),l()()(),d(15,"li")(16,"b"),u(17,"Starting the Chat"),l(),g(18,"br"),d(19,"ul",55)(20,"li"),u(21,"When learners open the module, they will see a text input box and a microphone icon. They can type a question or activate the microphone to speak."),l(),d(22,"li"),u(23,"While the microphone is active, a listening popup appears with options to mute or stop recording. Once the learner finishes speaking or typing, their question is displayed in the chat area along with a timestamp."),l(),d(24,"li"),u(25,"This simple interface ensures that both typing and speaking interactions are smooth and user-friendly."),l()()(),d(26,"li")(27,"b"),u(28,"Accessing the Syllabus"),l(),g(29,"br"),d(30,"ul",55)(31,"li"),u(32,"Before learners begin, an administrator uploads the syllabus or textbook in digital format."),l(),d(33,"li"),u(34,"The system analyses the document and automatically generates a list of predefined questions based on the uploaded syllabus."),l(),d(35,"li"),u(36,"These predefined questions are displayed above the input field, allowing learners to choose any topic without needing to type."),l(),d(37,"li"),u(38,"When a learner selects a question, the system locates the relevant section from the syllabus and prepares an answer. The response appears instantly in the chat area in a clear and readable format."),l()()(),d(39,"li")(40,"b"),u(41,"Receiving the Response"),l(),g(42,"br"),d(43,"ul",55)(44,"li"),u(45," After a question is sent, the system generates an immediate response that includes: "),d(46,"ul")(47,"li"),u(48,"A text-based explanation"),l(),d(49,"li"),u(50,"An audio narration in the tutor's real voice"),l(),d(51,"li"),u(52,"A derived video explanation, when applicable"),l()()(),d(53,"li"),u(54,"The response is first produced as text. If the learner chooses to listen, the system plays an audio narration that has been synthetically generated using the real voice of the teacher."),l(),d(55,"li"),u(56,"The voice is not a generic computer voice; it has been trained and modelled on the actual tutor's speech patterns, ensuring that the tone, pronunciation, and expression closely resemble the teacher's natural way of speaking."),l(),d(57,"li"),u(58,"Similarly, when a video explanation is requested, the system displays a derived video of the teacher. This video is not a pre-recorded clip or animation, but is generated to resemble the real teacher's voice and reactions."),l(),d(59,"li"),u(60,"All audio and video responses are created dynamically for each question, providing unique, real-time explanations. Learners can replay or stop the narration at any time, copy text responses, and follow the conversation naturally with the speaking indicator showing when the tutor's voice is active."),l(),d(61,"li"),u(62,"By default, audio is muted; you can enable it as needed."),l()()(),d(63,"li")(64,"b"),u(65,"Handling Out-of-Syllabus Questions"),l(),g(66,"br"),d(67,"ul",55)(68,"li"),u(69,'If a learner asks a question that is not part of the uploaded syllabus or textbook, the system responds with the message: "This topic is out of syllabus."'),l(),d(70,"li"),u(71,"Only administrators can configure whether such questions can be answered using external information sources."),l(),d(72,"li"),u(73,"This ensures that all discussions remain within the approved syllabus unless authorised otherwise."),l()()(),d(74,"li")(75,"b"),u(76,"Follow-Up and Progressive Learning"),l(),g(77,"br"),d(78,"ul",55)(79,"li"),u(80,"After each response, the system displays related or next-level questions below the chat. This feature helps learners progress through topics in a logical sequence."),l(),d(81,"li"),u(82,"A breadcrumb trail is also displayed, showing the topic flow and subtopics covered during the conversation."),l(),d(83,"li"),u(84,"Learners can easily revisit previous points and continue from where they left off."),l()()(),d(85,"li")(86,"b"),u(87,"Audio, Video, and Mode Controls"),l(),g(88,"br"),d(89,"ul",55)(90,"li"),u(91," At the top of the chat interface, four control buttons provide flexibility and accessibility: "),d(92,"ul")(93,"li"),u(94,"Audio Control \u2013 Enable or disable narration."),l(),d(95,"li"),u(96,"Video Control \u2013 Show or hide derived video explanations."),l(),d(97,"li"),u(98,"Syllabus Mode Control \u2013 Keep learning limited to syllabus topics."),l(),d(99,"li"),u(100,"Breadcrumb Control \u2013 Display or hide the topic trail."),l()()(),d(101,"li"),u(102,"Only administrators can modify the syllabus mode to include out-of-syllabus responses."),l()()(),d(103,"li")(104,"b"),u(105,"Interface and Usability"),l(),g(106,"br"),d(107,"ul",55)(108,"li"),u(109,"The chat interface presents a clear, conversational layout between the learner and the tutor. Each message includes a profile icon and timestamp for a natural reading flow."),l(),d(110,"li"),u(111,"Typing indicators appear while the system prepares responses, and a scroll button allows quick access to the most recent messages."),l(),d(112,"li"),u(113,"The design is responsive and adapts to different devices such as desktops, tablets, etc."),l()()(),d(114,"li")(115,"b"),u(116,"Summary"),l(),g(117,"br"),d(118,"ul",55)(119,"li"),u(120,"The Chat Module provides an engaging, syllabus-focused learning experience where learners can type or speak their questions and receive immediate answers through text, real teacher voice, and derived video."),l(),d(121,"li"),u(122,"With predefined questions, real-time explanations, structured progression, and easy-to-use controls, this module offers a complete and intelligent conversational learning environment\u2014all within a single platform."),l(),d(123,"li"),u(124,"Use this feature for summary-guided training."),l()()()(),Ne())}function bk(e,n){e&1&&(Re(0),d(1,"ul",54)(2,"li")(3,"b"),u(4,"Introduction"),l(),g(5,"br"),d(6,"ul",55)(7,"li"),u(8,"The "),d(9,"b"),u(10,"Generate Questions"),l(),u(11," module helps children practise English grammar with step-by-step questions, instant feedback, and level-based progression."),l(),d(12,"li"),u(13,"All questions, hints, and follow-ups are drawn from a "),d(14,"b"),u(15,"predefined syllabus"),l(),u(16," prepared by your school or administrator."),l(),d(17,"li"),u(18,"The layout is simple and child-friendly, with clear buttons and readable text."),l()()(),d(19,"li")(20,"b"),u(21,"Syllabus Source"),l(),g(22,"br"),d(23,"ul",55)(24,"li"),u(25,"The module uses a "),d(26,"b"),u(27,"predefined syllabus"),l(),u(28," that includes topics, chapters, sections, and pages."),l(),d(29,"li"),u(30,"Predefined content ensures that practice stays aligned with the lessons taught in class."),l(),d(31,"li"),u(32,"If a topic is not found in the syllabus, the system displays a clear message (see \u201COut-of-Syllabus Control\u201D)."),l()()(),d(33,"li")(34,"b"),u(35,"Choose a Topic"),l(),g(36,"br"),d(37,"ul",55)(38,"li"),u(39,"Type a grammar topic (e.g., "),d(40,"i"),u(41,"verbs"),l(),u(42,", "),d(43,"i"),u(44,"nouns"),l(),u(45,", "),d(46,"i"),u(47,"tenses"),l(),u(48,", "),d(49,"i"),u(50,"subject\u2013verb agreement"),l(),u(51,") or select from the suggestion list."),l(),d(52,"li"),u(53,"Use specific terms (e.g., "),d(54,"i"),u(55,"simple past tense"),l(),u(56,") for better results."),l(),d(57,"li"),u(58,"If the topic is unclear or unrelated to grammar, the system may show: \u201CPlease enter a valid "),d(59,"b"),u(60,"grammar topic"),l(),u(61,", not a general word or unrelated question.\u201D"),l()()(),d(62,"li")(63,"b"),u(64,"Generate Questions"),l(),g(65,"br"),d(66,"ul",55)(67,"li"),u(68,"Click "),d(69,"b"),u(70,"Generate"),l(),u(71," to create a set of questions based on the chosen topic from the predefined syllabus."),l(),d(72,"li"),u(73,"A brief loading screen appears while the questions are prepared."),l(),d(74,"li"),u(75,"To keep the practice consistent, the topic may be locked after generation until you reset the session."),l()()(),d(76,"li")(77,"b"),u(78,"Answer the Questions"),l(),g(79,"br"),d(80,"ul",55)(81,"li"),u(82,"Each "),d(83,"b"),u(84,"question"),l(),u(85," presents a sentence with a "),d(86,"b"),u(87,"blank"),l(),u(88,". The learner may type any suitable "),d(89,"b"),u(90,"answer"),l(),u(91," in the blank."),l(),d(92,"li"),u(93,"All blanks must be filled before you can check answers. The "),d(94,"b"),u(95,"Validate/Check Answers"),l(),u(96," button enables automatically."),l(),d(97,"li"),u(98,"The input fields are designed for easy typing and clear visibility."),l()()(),d(99,"li")(100,"b"),u(101,"Check Your Answers"),l(),g(102,"br"),d(103,"ul",55)(104,"li"),u(105,"Click "),d(106,"b"),u(107,"Check Answers"),l(),u(108," to validate all responses together."),l(),d(109,"li")(110,"b"),u(111,"Color guidance:"),l(),u(112," correct answers are shown in green with the label "),d(113,"b"),u(114,"Correct"),l(),u(115,"; incorrect answers are shown in red with the label "),d(116,"b"),u(117,"Wrong"),l(),u(118,"."),l(),d(119,"li"),u(120,"During validation or timed messages, inputs may be temporarily read-only to prevent accidental edits."),l()()(),d(121,"li")(122,"b"),u(123,"Try Again (First Wrong Attempt)"),l(),g(124,"br"),d(125,"ul",55)(126,"li"),u(127,"For each incorrect "),d(128,"b"),u(129,"answer"),l(),u(130,", a "),d(131,"b"),u(132,"\u201CTry Again\u201D"),l(),u(133," message appears with a short countdown."),l(),d(134,"li"),u(135,"After the countdown, the wrong entry is cleared so the learner can attempt again."),l(),d(136,"li"),u(137,"This encourages self-correction with gentle guidance."),l()()(),d(138,"li")(139,"b"),u(140,"Show Correct Answer (Second Wrong Attempt)"),l(),g(141,"br"),d(142,"ul",55)(143,"li"),u(144,"If a "),d(145,"b"),u(146,"question"),l(),u(147," remains incorrect after the second attempt, another countdown appears."),l(),d(148,"li"),u(149,"When the countdown ends, the "),d(150,"b"),u(151,"correct answer"),l(),u(152," is shown and filled automatically."),l(),d(153,"li"),u(154,"This provides closure and allows the learner to continue smoothly."),l()()(),d(155,"li")(156,"b"),u(157,"Hints and Teacher Coaching"),l(),g(158,"br"),d(159,"ul",55)(160,"li"),u(161,"Click the "),d(162,"b"),u(163,"Hint"),l(),u(164," icon to open helpful hints based on the same syllabus section as the questions."),l(),d(165,"li"),u(166,"When a hint is displayed or when an answer is incorrect, the module can also present the teacher\u2019s voice and a short teacher video that explains the idea in simple words."),l(),d(167,"li"),u(168,"Audio is muted by default; you may enable it. You can play, pause, or close the video at any time."),l()()(),d(169,"li")(170,"b"),u(171,"Breadcrumb and Follow-Up Questions"),l(),g(172,"br"),d(173,"ul",55)(174,"li"),u(175,"The "),d(176,"b"),u(177,"breadcrumb"),l(),u(178," shows the learning path (Topic ? Chapter ? Section ? Page). Clicking a level focuses the practice on that part."),l(),d(179,"li")(180,"b"),u(181,"Predefined follow-up questions"),l(),u(182," appear below the main set. They come from the same syllabus section and guide the next step (e.g., identification, transformation, short explanation)."),l(),d(183,"li"),u(184,"As answers are submitted, the follow-ups adjust to reinforce areas that need more practice."),l()()(),d(185,"li")(186,"b"),u(187,"Out-of-Syllabus Control"),l(),g(188,"br"),d(189,"ul",55)(190,"li"),u(191,"If a learner asks about a topic that is not part of the predefined syllabus, the system shows: \u201CThis topic is out of syllabus.\u201D"),l(),d(192,"li"),u(193,"Only administrators can decide whether such questions may be answered using other sources."),l(),d(194,"li"),u(195,"This keeps practice within approved lessons unless specific permission is given."),l()()(),d(196,"li")(197,"b"),u(198,"Level Progress and Progress Bar"),l(),g(199,"br"),d(200,"ul",55)(201,"li"),u(202,"The module uses three levels: "),d(203,"b"),u(204,"Basic ? Intermediate ? Expert"),l(),u(205,"."),l(),d(206,"li"),u(207,"A "),d(208,"b"),u(209,"progress bar"),l(),u(210," with level markers shows the current level and the remaining path."),l(),d(211,"li"),u(212,"Clear labels and gentle animations help children track progress."),l()()(),d(213,"li")(214,"b"),u(215,"Moving to the Next Level"),l(),g(216,"br"),d(217,"ul",55)(218,"li"),u(219,"When all "),d(220,"b"),u(221,"questions"),l(),u(222," in a level are correct, a message and a short countdown appear."),l(),d(223,"li"),u(224,"The module then advances to the next level and updates the progress bar."),l(),d(225,"li"),u(226,"Difficulty increases gradually to build mastery step by step."),l()()(),d(227,"li")(228,"b"),u(229,"Celebrate Success"),l(),g(230,"br"),d(231,"ul",55)(232,"li"),u(233,"After completing all three levels, a "),d(234,"b"),u(235,"celebration"),l(),u(236," screen appears."),l(),d(237,"li"),u(238,"Learners can click "),d(239,"b"),u(240,"Start Over"),l(),u(241," to practise the same topic again or choose a new topic."),l()()(),d(242,"li")(243,"b"),u(244,"Reset or Change Topic"),l(),g(245,"br"),d(246,"ul",55)(247,"li"),u(248,"Use "),d(249,"b"),u(250,"Reset"),l(),u(251," to clear the current session and unlock the topic field."),l(),d(252,"li"),u(253,"Enter a new topic or select another suggestion to begin a new practice set."),l()()(),d(254,"li")(255,"b"),u(256,"Accessibility and Layout"),l(),g(257,"br"),d(258,"ul",55)(259,"li"),u(260,"Countdowns and status messages are written clearly so learners understand what is happening."),l(),d(261,"li"),u(262,"The layout adapts to different screens. Buttons and inputs are sized for comfortable tapping and clicking."),l()()(),d(263,"li")(264,"b"),u(265,"Troubleshooting"),l(),g(266,"br"),d(267,"ul",55)(268,"li")(269,"b"),u(270,"Invalid topic message:"),l(),u(271," Enter a clear grammar term (e.g., "),d(272,"i"),u(273,"articles"),l(),u(274,", "),d(275,"i"),u(276,"comparatives"),l(),u(277,", "),d(278,"i"),u(279,"passive voice"),l(),u(280,")."),l(),d(281,"li")(282,"b"),u(283,"Out of syllabus:"),l(),u(284," Choose a topic that appears in the syllabus list or ask an administrator about permission for extra topics."),l(),d(285,"li")(286,"b"),u(287,"Buttons disabled:"),l(),u(288," The "),d(289,"i"),u(290,"Generate"),l(),u(291," button appears after entering a valid topic; the "),d(292,"i"),u(293,"Validate"),l(),u(294," button appears after all blanks are filled."),l()()(),d(295,"li")(296,"b"),u(297,"Benefits for Children"),l(),g(298,"br"),d(299,"ul",55)(300,"li")(301,"b"),u(302,"Guided practice"),l(),u(303," with clear feedback builds confidence and accuracy."),l(),d(304,"li")(305,"b"),u(306,"Level-based progression"),l(),u(307," supports steady growth from basic understanding to higher skills."),l(),d(308,"li")(309,"b"),u(310,"Hints and teacher coaching"),l(),u(311," help learners correct mistakes and understand rules in simple language."),l(),d(312,"li")(313,"b"),u(314,"Predefined syllabus alignment"),l(),u(315," keeps practice consistent with classroom lessons."),l()()()(),Ne())}function wk(e,n){e&1&&(Re(0),d(1,"ul",54)(2,"li")(3,"b"),u(4,"Feature Currently Disabled"),l(),g(5,"br"),d(6,"ul",55)(7,"li"),u(8,"The Voice feature is currently under development and will be available soon."),l(),d(9,"li"),u(10,"Please check back later or contact support for more information."),l()()()(),Ne())}function Ck(e,n){e&1&&(Re(0),d(1,"ul",54)(2,"li")(3,"b"),u(4,"Feature Currently Disabled"),l(),g(5,"br"),d(6,"ul",55)(7,"li"),u(8,"The Find Word feature is currently under development and will be available soon."),l(),d(9,"li"),u(10,"Please check back later or contact support for more information."),l()()()(),Ne())}function xk(e,n){e&1&&Ii(0)}function Dk(e,n){e&1&&Ii(0)}function Ek(e,n){e&1&&Ii(0)}function Ik(e,n){e&1&&Ii(0)}function Sk(e,n){e&1&&Ii(0)}function Mk(e,n){if(e&1){let t=H();d(0,"div")(1,"div",49),I("click",function(){T(t);let r=C();return A(r.closeGuidePopup())}),l(),d(2,"div",50)(3,"button",51),I("click",function(){T(t);let r=C();return A(r.closeGuidePopup())}),u(4,"\xD7"),l(),Re(5,52),R(6,yk,125,0,"ng-container",53)(7,bk,316,0,"ng-container",53)(8,wk,11,0,"ng-container",53)(9,Ck,11,0,"ng-container",53)(10,xk,1,0,"ng-container",53)(11,Dk,1,0,"ng-container",53)(12,Ek,1,0,"ng-container",53)(13,Ik,1,0,"ng-container",53)(14,Sk,1,0,"ng-container",53),Ne(),l()()}if(e&2){let t=C();m(5),y("ngSwitch",t.selectedCardTitle),m(),y("ngSwitchCase","Grammar Chat"),m(),y("ngSwitchCase","Grammar Quiz"),m(),y("ngSwitchCase","Voice"),m(),y("ngSwitchCase","Find Word"),m(),y("ngSwitchCase","Grammar Quiz"),m(),y("ngSwitchCase","Listening"),m(),y("ngSwitchCase","Reading"),m(),y("ngSwitchCase","Writing"),m(),y("ngSwitchCase","Vocabulary Builder")}}var op=(()=>{class e{constructor(t,i,r,o,s){this.router=t,this.authService=i,this.host=r,this.brand=o,this.dialog=s,this.menuOpen=!1,this.showGuidePopup=!1,this.selectedCardTitle=null,this.showAccountMenu=!1,this.showPrivacyPopup=!1,this.showTermsPopup=!1,this.isAuthenticated=!1,this.username=null,this.cards=[{title:"Grammar Chat",image:"assets/images/home/Grammar_chat.png",action:()=>this.goToChat(),disabled:!1},{title:"Voice",image:"assets/images/home/voice.png",action:()=>this.goToVoice(),disabled:!0},{title:"Find Word",image:"assets/images/home/find_word.png",action:()=>this.goToFindword(),disabled:!0}]}ngOnInit(){this.isAuthenticated=this.authService.isLoggedIn(),this.username=localStorage.getItem("username"),this.authSub=this.authService.isLoggedIn$.subscribe(t=>{this.isAuthenticated=t,this.username=t?localStorage.getItem("username"):null,t||(this.showAccountMenu=!1)})}ngAfterViewInit(){}ngOnDestroy(){this.authSub?.unsubscribe()}get usernameInitial(){return(this.username||"").trim().charAt(0).toUpperCase()||"U"}get displayName(){let t=this.username||"";return t?(t.includes("@")?t.split("@")[0]:t).replace(/\b\w/g,r=>r.toUpperCase()):""}get displayEmail(){return this.username||""}toggleAccountMenu(){this.showAccountMenu=!this.showAccountMenu}openAccountMenu(){this.showAccountMenu=!0}closeAccountMenu(){this.showAccountMenu=!1}onDocClick(t){this.host.nativeElement.contains(t.target)||(this.showAccountMenu=!1)}toggleMenu(){this.menuOpen=!this.menuOpen}reloadPage(){window.location.href="/"}goToChat(){this.router.navigate(["/chat"])}goToVoice(){console.log("Voice feature is currently disabled")}goToFindword(){console.log("Find Word feature is currently disabled")}goToDetails(t){this.router.navigate(["/details"],{queryParams:{topic:t}})}handleCardAction(t){t.disabled||t.action()}openGuidePopup(t){this.selectedCardTitle=t,this.showGuidePopup=!0}closeGuidePopup(){this.showGuidePopup=!1,this.selectedCardTitle=null}goToAccount(){this.router.navigate(["/home"]),this.showAccountMenu=!1}logout(){this.authService.logout().subscribe({next:()=>{localStorage.removeItem("username"),this.showAccountMenu=!1,this.router.navigate(["/login"])},error:()=>{localStorage.removeItem("username"),this.showAccountMenu=!1,this.router.navigate(["/login"])}})}openPrivacyPopup(t){t.preventDefault(),this.showPrivacyPopup=!0}closePrivacyPopup(){this.showPrivacyPopup=!1}openTermsPopup(t){t.preventDefault(),this.showTermsPopup=!0}closeTermsPopup(){this.showTermsPopup=!1}openPronunciation(){let t=this.dialog.open(Jy,{width:"90vw",maxWidth:"95vw",height:"85vh",disableClose:!0})}static{this.\u0275fac=function(i){return new(i||e)(w(ut),w(Gr),w(re),w(pn),w(ip))}}static{this.\u0275cmp=pe({type:e,selectors:[["app-home"]],hostBindings:function(i,r){i&1&&I("click",function(s){return r.onDocClick(s)},!1,Xa)},decls:77,vars:7,consts:[["loginIcon",""],[1,"hero"],[1,"navbar"],[1,"navbar-container"],[1,"logo"],[3,"click","src","alt"],[1,"nav-links"],[1,"main-menu-dropdown"],["href","#","aria-haspopup","true","aria-expanded","false",1,"nav-link",3,"click"],[1,"fas","fa-caret-down"],[1,"submenu"],["routerLink","/chat/1","role","button","aria-pressed","false"],["routerLink","/chat/2","role","button","aria-pressed","false"],["routerLink","/generate-questions","routerLinkActive","active-link",1,"nav-link--disabled"],["routerLink","/voice","routerLinkActive","active-link",1,"nav-link--disabled"],["routerLink","/listen","routerLinkActive","active-link",1,"nav-link--disabled"],["routerLink","/reading","routerLinkActive","active-link",1,"nav-link--disabled"],["routerLink","/writing","routerLinkActive","active-link",1,"nav-link--disabled"],["routerLink","/vocabulary-builder","routerLinkActive","active-link",1,"nav-link--disabled"],["routerLink","/findword","routerLinkActive","active-link",1,"nav-link--disabled"],["href","#","role","button","aria-pressed","false",3,"click"],["routerLink","/personality-improvement","routerLinkActive","active-link",1,"nav-link--disabled"],["routerLink","/body-language-improvement","routerLinkActive","active-link",1,"nav-link--disabled"],[1,"nav-actions"],[4,"ngIf","ngIfElse"],[1,"hero-text"],[1,"cards-section"],[1,"section-title"],[1,"highlight"],[1,"cards-container"],["class","card","role","button",3,"card--disabled","tabindex","click","keydown.enter","keydown.space",4,"ngFor","ngForOf"],[4,"ngIf"],[1,"avatar",3,"click"],["class","account-menu",3,"mouseleave",4,"ngIf"],[1,"account-menu",3,"mouseleave"],[1,"account-header"],[1,"avatar","avatar-lg"],[1,"account-meta"],[1,"account-name"],[1,"account-email"],[1,"account-item",3,"click"],["routerLink","/login","aria-label","Login",1,"login-button"],[1,"fas","fa-user"],["role","button",1,"card",3,"click","keydown.enter","keydown.space","tabindex"],[1,"card-image"],[3,"src","alt"],[1,"card-content"],[1,"card-buttons"],[1,"know-more-btn",3,"click","disabled"],[1,"user-guide-overlay",3,"click"],["role","dialog","aria-modal","true",1,"user-guide-modal"],["aria-label","Close",1,"user-guide-close-icon",3,"click"],[3,"ngSwitch"],[4,"ngSwitchCase"],[2,"text-align","justify","font-size","15px"],[2,"list-style","unset","margin-left","1.25rem"]],template:function(i,r){if(i&1){let o=H();d(0,"div",1)(1,"nav",2)(2,"div",3)(3,"div",4)(4,"img",5),I("click",function(){return T(o),A(r.reloadPage())}),l()(),d(5,"ul",6)(6,"li",7)(7,"a",8),I("click",function(a){return T(o),A(a.preventDefault())}),u(8," Chat "),g(9,"i",9),l(),d(10,"ul",10)(11,"li")(12,"a",11),u(13," Chat D-ID "),l()(),d(14,"li")(15,"a",12),u(16," Chat KD Talker "),l()()()(),d(17,"li")(18,"a",13),u(19,"Grammar"),l()(),d(20,"li")(21,"a",14),u(22,"Voice"),l()(),d(23,"li")(24,"a",15),u(25,"Listening"),l()(),d(26,"li")(27,"a",16),u(28,"Reading"),l()(),d(29,"li")(30,"a",17),u(31,"Writing"),l()(),d(32,"li")(33,"a",18),u(34,"Vocabulary-Builder"),l()(),d(35,"li")(36,"a",19),u(37,"Find Word"),l()(),d(38,"li",7)(39,"a",8),I("click",function(a){return T(o),A(a.preventDefault())}),u(40," General "),g(41,"i",9),l(),d(42,"ul",10)(43,"li")(44,"a",20),I("click",function(a){return T(o),r.openPronunciation(),A(a.preventDefault())}),u(45," Pronunciation Trainer "),l()(),d(46,"li")(47,"a",21),u(48,"Personality Improvement"),l()(),d(49,"li")(50,"a",22),u(51,"Body Language Improvement"),l()()()()(),d(52,"div",23),R(53,gk,4,3,"ng-container",24)(54,vk,2,1,"ng-template",null,0,In),l()()(),d(56,"div",25)(57,"h1"),u(58),l(),d(59,"h2"),u(60,"A Self-Learning System"),l(),d(61,"p"),u(62," It is a personalized self-learning system helps students to improve their language skills through interactive"),g(63,"br"),u(64,"and customized exercises. With engaging activities and instant feedback,"),g(65,"br"),u(66,"learning becomes easy and enjoyable! "),l()(),d(67,"section",26)(68,"h2",27),u(69," What would you like to "),d(70,"span",28),u(71,"learn"),l(),u(72," today? "),l(),d(73,"div",29),R(74,_k,7,6,"div",30),l()(),R(75,Mk,15,10,"div",31),l(),g(76,"app-footer")}if(i&2){let o=Gt(55);m(4),y("src",r.brand.logo,ee)("alt",r.brand.name+" Logo"),m(49),y("ngIf",r.isAuthenticated&&r.username)("ngIfElse",o),m(5),Ie(r.brand.name),m(16),y("ngForOf",r.cards),m(),y("ngIf",r.showGuidePopup)}},dependencies:[br,vt,Mo,Sc,ii,dy,Tl],styles:[".hero[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;position:relative}.hero-text[_ngcontent-%COMP%]{color:#fff;text-align:left;height:100vh;display:flex;flex-direction:column;justify-content:center;padding-left:1vw;background-image:url(/assets/images/home/background.png);background-repeat:no-repeat;background-position:center center;background-size:cover;position:relative;top:5vw;padding-bottom:5vw}h1[_ngcontent-%COMP%]{font-size:7vw;font-family:Amonk_Outline;margin-bottom:3vw}.hero-text[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:1.5vw;font-weight:600;color:#0f0}.hero-text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:1vw;line-height:1.5vw}.navbar[_ngcontent-%COMP%]{background-color:#fff;box-shadow:0 2px 4px #0000001a;position:fixed;font-size:1vw;width:100%;z-index:1000}.navbar-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:0vw 1vw}.logo[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1vw}.logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{height:5vw;width:auto;cursor:pointer}.logo[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:1.5vw;font-weight:700;color:#007bff}.nav-links[_ngcontent-%COMP%]{display:flex;gap:2vw;list-style:none;margin:0;padding:0;flex:1;justify-content:center}.nav-links[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%], .nav-links[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]{text-decoration:none;color:#333;font-size:1.5vw;font-weight:700}.nav-links[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]:hover, .nav-links[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{color:#007bff}.nav-link--disabled[_ngcontent-%COMP%]{opacity:.6;cursor:not-allowed;pointer-events:none}.login-button[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:2.4vw;height:2.4vw;border-radius:50%;border:2px solid #006780;color:#006780;background:#fff;font-size:1.2vw;text-decoration:none;transition:background .2s,color .2s,transform .2s,box-shadow .2s;box-shadow:0 2px 8px #5d91c31f}.login-button[_ngcontent-%COMP%]:hover{background:#006780;color:#fff;transform:translateY(-1px) scale(1.05);box-shadow:0 4px 16px #5d91c32e}.nav-actions[_ngcontent-%COMP%]{position:relative;padding-right:1.5vw}.avatar[_ngcontent-%COMP%]{width:2.4vw;height:2.4vw;min-width:32px;min-height:32px;border-radius:50%;background:#e6f2ff;border:2px solid #137ec4;color:#137ec4;display:inline-flex;align-items:center;justify-content:center;font-weight:800;cursor:pointer;box-shadow:0 2px 8px #5d91c31f}.avatar-lg[_ngcontent-%COMP%]{width:44px;height:44px;border-radius:50%;background:#e6f2ff;border:2px solid #137ec4;color:#137ec4;display:inline-flex;align-items:center;justify-content:center;font-weight:800}.account-menu[_ngcontent-%COMP%]{position:absolute;top:3.2vw;right:0;min-width:260px;background:#fff;border-radius:12px;box-shadow:0 12px 24px #0000001f;padding:12px;z-index:1200}.account-header[_ngcontent-%COMP%]{display:flex;gap:12px;align-items:center;padding:6px 6px 10px}.account-meta[_ngcontent-%COMP%]{display:flex;flex-direction:column}.account-name[_ngcontent-%COMP%]{font-weight:800;color:#111827}.account-email[_ngcontent-%COMP%]{color:#6b7280;font-size:.9rem}.account-item[_ngcontent-%COMP%]{padding:10px;border-radius:8px;cursor:pointer;color:#111827}.account-item[_ngcontent-%COMP%]:hover{background:#f3f4f6}.account-menu[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{margin:8px 0;border:none;border-top:1px solid #e5e7eb}.card[_ngcontent-%COMP%]{background-color:#fff;border-radius:10px;box-shadow:0 4px 8px #0000001a;overflow:hidden;transition:transform .3s ease;width:100%;max-width:460px;margin:auto;cursor:pointer}.card[_ngcontent-%COMP%]:hover{transform:translateY(-10px)}.card--disabled[_ngcontent-%COMP%]{opacity:.6;cursor:not-allowed;pointer-events:none}.card--disabled[_ngcontent-%COMP%]:hover{transform:none}.card--disabled[_ngcontent-%COMP%] .card-image[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{filter:grayscale(100%)}.card--disabled[_ngcontent-%COMP%] .know-more-btn[_ngcontent-%COMP%]{opacity:.5;cursor:not-allowed;background-color:#ccc;border-color:#ccc;color:#666}.card--disabled[_ngcontent-%COMP%] .know-more-btn[_ngcontent-%COMP%]:hover{background-color:#ccc;border-color:#ccc;color:#666;transform:none;box-shadow:none}.card-image[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:100%;height:auto;display:block}.card-content[_ngcontent-%COMP%]{padding:1.5vw;text-align:left}.cards-section[_ngcontent-%COMP%]{text-align:center;padding:3vw 2vw;background-color:#f9f9f9;position:relative}.section-title[_ngcontent-%COMP%]{font-size:2.5vw;font-weight:700;margin-bottom:2vw}.cards-container[_ngcontent-%COMP%]{gap:3vw;justify-content:center;display:grid;grid-template-columns:repeat(3,1fr);margin:0 auto;width:80%}.card-buttons[_ngcontent-%COMP%]{display:flex;gap:1vw;margin-top:1vw;flex-wrap:nowrap;justify-content:center}.card-button[_ngcontent-%COMP%]{white-space:nowrap;padding:.5vw;font-size:1vw;font-weight:700;color:#007bff;background-color:transparent;border:2px solid #007bff;border-radius:5px;cursor:pointer;transition:all .3s ease}.card-button[_ngcontent-%COMP%]:hover{background-color:#007bff;color:#fff}.user-guide-overlay[_ngcontent-%COMP%]{position:fixed;inset:0;background:#00000059;z-index:2000}.user-guide-modal[_ngcontent-%COMP%]{position:fixed;top:52%;left:50%;transform:translate(-50%,-50%);height:38vw;width:50vw;background:linear-gradient(135deg,#fff 80%,#e3fcec);color:#222;box-shadow:0 12px 40px #5d91c338;border-radius:18px;padding:1vw;z-index:2001;overflow:visible;border:10px solid var(--main-accent-color);box-sizing:border-box}.user-guide-modal[_ngcontent-%COMP%] > ul[_ngcontent-%COMP%], .user-guide-modal[_ngcontent-%COMP%] > ol[_ngcontent-%COMP%]{max-height:34.6vw;overflow-y:auto;padding-right:.5vw;margin:0}.user-guide-close-icon[_ngcontent-%COMP%]{top:-22px;right:-22px}.user-guide-modal[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{line-height:1.7;font-size:1.1vw;background:#5d91c312;padding:.5vw;box-shadow:0 2px 8px #5d91c30f}.user-guide-modal[_ngcontent-%COMP%] li[_ngcontent-%COMP%] b[_ngcontent-%COMP%]{color:#2b6296;font-size:1.15vw}@media (max-width: 600px){.user-guide-modal[_ngcontent-%COMP%]{width:90vw;height:60vw;border-radius:12px;padding:4vw 2vw 2vw}.user-guide-modal[_ngcontent-%COMP%] > ul[_ngcontent-%COMP%], .user-guide-modal[_ngcontent-%COMP%] > ol[_ngcontent-%COMP%]{max-height:52vw;overflow-y:auto;padding-right:1.5vw}.user-guide-close-icon[_ngcontent-%COMP%]{font-size:6vw;top:2vw;right:2vw;width:6vw;height:6vw;display:flex;align-items:center;justify-content:center;line-height:1}.card-button[_ngcontent-%COMP%], .know-more-btn[_ngcontent-%COMP%]{font-size:2.8vw;padding:8px 12px}}.card-button[_ngcontent-%COMP%], .know-more-btn[_ngcontent-%COMP%]{padding:10px 18px;background:#006780;color:#fff;border:2px solid #006780;border-radius:8px;font-size:1vw;font-weight:700;cursor:pointer;margin:0 6px 6px 0;box-shadow:0 2px 8px #5d91c31f;transition:background .2s,box-shadow .2s,transform .2s,color .2s}.card-button[_ngcontent-%COMP%]:hover, .know-more-btn[_ngcontent-%COMP%]:hover{background:#fff;color:#006780;box-shadow:0 4px 16px #5d91c32e;transform:scale(1.05)}.privacy-popup-content[_ngcontent-%COMP%]{max-height:60vh;overflow-y:auto;padding-right:1vw}.main-menu-dropdown[_ngcontent-%COMP%]{position:relative}.main-menu-dropdown[_ngcontent-%COMP%] > .nav-link[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer}.main-menu-dropdown[_ngcontent-%COMP%] .fas.fa-caret-down[_ngcontent-%COMP%]{margin-left:.5vw;font-size:1vw;transition:transform .2s}.main-menu-dropdown[_ngcontent-%COMP%]:hover .fas.fa-caret-down[_ngcontent-%COMP%], .main-menu-dropdown[_ngcontent-%COMP%]:focus-within .fas.fa-caret-down[_ngcontent-%COMP%]{transform:rotate(180deg)}.submenu[_ngcontent-%COMP%]{display:none;position:absolute;top:100%;left:50%;transform:translate(-50%);min-width:220px;background:#fff;box-shadow:0 8px 24px #0000001f;border-radius:8px;padding:.5vw 0;z-index:1100;list-style:none;white-space:nowrap}.main-menu-dropdown[_ngcontent-%COMP%]:hover .submenu[_ngcontent-%COMP%], .main-menu-dropdown[_ngcontent-%COMP%]:focus-within .submenu[_ngcontent-%COMP%]{display:block}.submenu[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{display:block;padding:.7vw 1vw;color:#333;font-size:1.2vw;font-weight:600;text-decoration:none;border-radius:6px;transition:background .2s,color .2s}.submenu[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover, .submenu[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a.active-link[_ngcontent-%COMP%]{background:#e6f2ff;color:#137ec4}"]})}}return e})();function Tk(e,n){if(e&1&&(d(0,"div",56),u(1),l()),e&2){let t=C();y("@fadeInOut",void 0),m(),Se(" ",t.errorMessage," ")}}function Ak(e,n){e&1&&(d(0,"small",57),u(1," Email or Username is required. "),l())}function Ok(e,n){e&1&&(d(0,"small",57),u(1," Password is required. "),l())}function kk(e,n){e&1&&(Re(0),u(1," Login "),Ne())}function Pk(e,n){e&1&&(g(0,"span",58),u(1," Logging in... "))}function Rk(e,n){if(e&1){let t=H();d(0,"div",59)(1,"div",60)(2,"h3"),u(3,"Forgot Password"),l(),d(4,"p"),u(5,"Enter your email to receive password reset instructions."),l(),d(6,"input",61),xo("ngModelChange",function(r){T(t);let o=C();return sc(o.forgotEmail,r)||(o.forgotEmail=r),A(r)}),l(),d(7,"button",62),I("click",function(){T(t);let r=C();return A(r.sendPasswordReset())}),u(8,"Send Reset Link"),l(),d(9,"button",63),I("click",function(){T(t);let r=C();return A(r.closeForgotPasswordModal())}),u(10,"Close"),l()()()}if(e&2){let t=C();y("@fadeInOut",void 0),m(6),Co("ngModel",t.forgotEmail)}}var tb=(()=>{class e{constructor(t,i,r,o,s){this.formBuilder=t,this.router=i,this.authService=r,this.changeDetectorRef=o,this.brandService=s,this.close=new ne,this.isLoading=!1,this.isSubmitted=!1,this.showPassword=!1,this.errorMessage="",this.showForgotModal=!1,this.forgotEmail="",this.destroy$=new B,this.REDIRECT_URL_KEY="redirectAfterLogin",this.DEFAULT_REDIRECT="/home",this.learningFacts=["Master grammar with adaptive quizzes","Improve reading with AI-generated passages","Train listening and pronunciation effectively"],this.signInForm=this.createSignInForm()}ngOnInit(){this.initializeComponent()}ngOnDestroy(){this.cleanup()}onSubmit(){if(this.isSubmitted=!0,this.signInForm.markAllAsTouched(),this.signInForm.invalid){this.focusFirstInvalidField();return}this.performSignIn()}togglePasswordVisibility(){this.showPassword=!this.showPassword}openForgotPasswordModal(t){t.preventDefault(),this.showForgotModal=!0}closeForgotPasswordModal(){this.showForgotModal=!1,this.forgotEmail=""}sendPasswordReset(){!this.forgotEmail||!this.isValidEmail(this.forgotEmail)||(this.showSuccessMessage("Password reset link sent to your email"),this.closeForgotPasswordModal())}closeComponent(){this.router.navigate([this.DEFAULT_REDIRECT]),this.close.emit()}get emailControl(){return this.signInForm.get("email")}get passwordControl(){return this.signInForm.get("password")}get isFormValid(){return this.signInForm.valid}get socialLinks(){return this.brandService.socialLinksCurrent}get websiteDisplay(){return"www."+this.socialLinks.website.replace(/^https?:\/\/(www\.)?/,"")}createSignInForm(){return this.formBuilder.group({email:["",[Nn.required,Nn.minLength(3)]],password:["",[Nn.required,Nn.minLength(6)]],rememberMe:[!1]})}initializeComponent(){this.clearErrorMessage(),this.authService.isLoggedIn()&&this.navigateToRedirectUrl()}performSignIn(){let t={username:this.emailControl?.value?.trim()||"",password:this.passwordControl?.value||""};this.setLoadingState(!0),this.clearErrorMessage(),this.authService.login(t).pipe(ot(this.destroy$),rt(()=>this.setLoadingState(!1))).subscribe({next:()=>this.handleSignInSuccess(t.username),error:i=>this.handleSignInError(i)})}handleSignInSuccess(t){this.showSuccessMessage("Sign in successful"),this.navigateToRedirectUrl()}handleSignInError(t){this.errorMessage=t.message||"Sign in failed. Please try again.",this.changeDetectorRef.markForCheck(),setTimeout(()=>{this.clearErrorMessage()},5e3)}navigateToRedirectUrl(){let t=localStorage.getItem(this.REDIRECT_URL_KEY);this.isValidRedirectUrl(t)||(t=this.DEFAULT_REDIRECT),localStorage.removeItem(this.REDIRECT_URL_KEY),this.router.navigate([t])}isValidRedirectUrl(t){return!(!t||t.trim()===""||!t.startsWith("/")||t.includes("..")||t.startsWith("//"))}setLoadingState(t){this.isLoading=t,this.changeDetectorRef.markForCheck()}clearErrorMessage(){this.errorMessage="",this.changeDetectorRef.markForCheck()}showSuccessMessage(t){console.log(t)}focusFirstInvalidField(){setTimeout(()=>{document.querySelector(".ng-invalid")?.focus()},0)}isValidEmail(t){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)}cleanup(){this.destroy$.next(),this.destroy$.complete()}triggerSignIn(){this.onSubmit()}get authStatus$(){return this.authService.isLoggedIn$}get isAuthenticated(){return this.authService.isLoggedIn()}static{this.\u0275fac=function(i){return new(i||e)(w(Kc),w(ut),w(Gr),w(Ve),w(pn))}}static{this.\u0275cmp=pe({type:e,selectors:[["app-sign-in"]],outputs:{close:"close"},standalone:!0,features:[Fe],decls:73,vars:29,consts:[["loggingIn",""],[1,"signin-popup","ai-bg-animate"],["aria-hidden","true",1,"ai-particle-bg"],["role","banner",1,"signin-brand-logo"],["routerLink","/",1,"brand-link"],[1,"brand-logo-img",3,"src","alt"],[1,"social-icons","signin-social-icons"],["target","_blank","rel","noopener noreferrer","aria-label","LinkedIn",1,"social-icon","linkedin",3,"href"],["aria-hidden","true",1,"fab","fa-linkedin-in"],["target","_blank","rel","noopener noreferrer","aria-label","YouTube",1,"social-icon","youtube",3,"href"],["aria-hidden","true",1,"fab","fa-youtube"],["target","_blank","rel","noopener noreferrer","aria-label","Facebook",1,"social-icon","facebook",3,"href"],["aria-hidden","true",1,"fab","fa-facebook-f"],["target","_blank","rel","noopener noreferrer","aria-label","Instagram",1,"social-icon","instagram",3,"href"],["aria-hidden","true",1,"fab","fa-instagram"],["target","_blank","rel","noopener noreferrer","aria-label","Website",1,"social-icon","website",3,"href"],["aria-hidden","true",1,"fas","fa-globe"],[1,"signin-header"],[1,"auth-card"],[1,"card-inner"],[1,"card-front"],[1,"card-content"],[1,"side-panel","side-left"],["src","assets/images/login/lion.png","alt","Lion",1,"side-img"],[1,"side-welcome-overlay"],[1,"welcome-back-title"],[1,"welcome-back-desc"],[1,"main-panel"],[1,"logo-header"],[1,"py-learn-text"],[1,"self-learning-system"],["type","button","aria-label","Close",1,"signin-close",3,"click"],[1,"signin-title"],[1,"login-text"],["class","signin-error-toast","role","alert",4,"ngIf"],["novalidate","",3,"ngSubmit","formGroup"],[1,"signin-row"],[1,"signin-field"],["for","email"],["id","email","type","email","placeholder","you@example.com","formControlName","email"],["class","error",4,"ngIf"],["for","password"],[1,"input-with-icon"],["id","password","placeholder","\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","formControlName","password",3,"type"],["type","button",1,"eye-toggle",3,"click"],[1,"signin-row","signin-options-row"],[1,"remember-me"],[1,"switch"],["id","rememberMe","type","checkbox","formControlName","rememberMe"],[1,"slider"],[1,"forgot-password"],["href","#",1,"forgot-link",3,"click"],["type","submit",1,"signin-btn","ai-pulse",3,"disabled"],[4,"ngIf","ngIfElse"],["class","forgot-modal-bg",4,"ngIf"],["target","_blank","rel","noopener noreferrer",1,"signin-watermark",3,"href"],["role","alert",1,"signin-error-toast"],[1,"error"],[1,"spinner"],[1,"forgot-modal-bg"],[1,"forgot-modal"],["type","email","placeholder","Your email",3,"ngModelChange","ngModel"],[1,"signin-btn",3,"click"],[1,"modal-close",3,"click"]],template:function(i,r){if(i&1){let o=H();d(0,"section",1),g(1,"div",2),d(2,"div",3)(3,"a",4),g(4,"img",5),l()(),d(5,"div",6)(6,"a",7),g(7,"i",8),l(),d(8,"a",9),g(9,"i",10),l(),d(10,"a",11),g(11,"i",12),l(),d(12,"a",13),g(13,"i",14),l(),d(14,"a",15),g(15,"i",16),l()(),g(16,"div",17),d(17,"div",18)(18,"div",19)(19,"div",20)(20,"div",21)(21,"div",22),g(22,"img",23),d(23,"div",24)(24,"div",25),u(25,"Welcome Back!"),l(),d(26,"div",26),u(27,"Sign in to continue your learning journey."),l()()(),d(28,"div",27)(29,"div",28)(30,"span",29),u(31),l(),d(32,"div",30),u(33,"(A Self-Learning System)"),l()(),d(34,"button",31),I("click",function(){return T(o),A(r.closeComponent())}),u(35,"\xD7"),l(),d(36,"h2",32)(37,"span",33),u(38,"Login"),l()(),R(39,Tk,2,2,"div",34),d(40,"form",35),I("ngSubmit",function(){return T(o),A(r.onSubmit())}),d(41,"div",36)(42,"div",37)(43,"label",38),u(44,"Email or Username"),l(),g(45,"input",39),R(46,Ak,2,0,"small",40),l()(),d(47,"div",36)(48,"div",37)(49,"label",41),u(50,"Password"),l(),d(51,"div",42),g(52,"input",43),d(53,"button",44),I("click",function(){return T(o),A(r.togglePasswordVisibility())}),u(54),l()(),R(55,Ok,2,0,"small",40),l()(),d(56,"div",45)(57,"div",46)(58,"label",47),g(59,"input",48)(60,"span",49),l(),d(61,"span"),u(62,"Remember me"),l()(),d(63,"div",50)(64,"a",51),I("click",function(a){return T(o),A(r.openForgotPasswordModal(a))}),u(65,"Forgot password?"),l()()(),d(66,"button",52),R(67,kk,2,0,"ng-container",53)(68,Pk,2,0,"ng-template",null,0,In),l()()()()()()(),R(70,Rk,11,2,"div",54),d(71,"a",55),u(72),l()()}if(i&2){let o=Gt(69);m(3),le("aria-label",r.brandService.name+" Home"),m(),y("src",r.brandService.logo,ee)("alt",r.brandService.name+" Logo"),m(2),y("href",r.socialLinks.linkedin,ee),m(2),y("href",r.socialLinks.youtube,ee),m(2),y("href",r.socialLinks.facebook,ee),m(2),y("href",r.socialLinks.instagram,ee),m(2),y("href",r.socialLinks.website,ee),m(17),Ie(r.brandService.name),m(8),y("ngIf",r.errorMessage),m(),y("formGroup",r.signInForm),m(5),he("invalid",r.isSubmitted&&(r.emailControl==null?null:r.emailControl.invalid)),le("aria-invalid",r.isSubmitted&&(r.emailControl==null?null:r.emailControl.invalid)),m(),y("ngIf",r.isSubmitted&&(r.emailControl==null||r.emailControl.errors==null?null:r.emailControl.errors.required)),m(6),he("invalid",r.isSubmitted&&(r.passwordControl==null?null:r.passwordControl.invalid)),y("type",r.showPassword?"text":"password"),le("aria-invalid",r.isSubmitted&&(r.passwordControl==null?null:r.passwordControl.invalid)),m(),le("aria-label",r.showPassword?"Hide password":"Show password")("aria-pressed",r.showPassword),m(),Se(" ",r.showPassword?"\u{1F648}":"\u{1F441}\uFE0F"," "),m(),y("ngIf",r.isSubmitted&&(r.passwordControl==null||r.passwordControl.errors==null?null:r.passwordControl.errors.required)),m(11),y("disabled",r.isLoading),m(),y("ngIf",!r.isLoading)("ngIfElse",o),m(3),y("ngIf",r.showForgotModal),m(),y("href",r.socialLinks.website,ee),m(),Se(" ",r.websiteDisplay," ")}},dependencies:[_t,vt,Xc,Zc,Jn,Fh,Er,Wc,Bo,Uo,Ir,jo,ii],styles:['.signin-popup[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;background:#05234b;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.ai-bg-animate[_ngcontent-%COMP%]{background:linear-gradient(135deg,#05234b,#0f3460,#1a4b7a,#05234b,#0a2d54);background-size:400% 400%;animation:_ngcontent-%COMP%_aiGradientShift 8s ease-in-out infinite}@keyframes _ngcontent-%COMP%_aiGradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.ai-particle-bg[_ngcontent-%COMP%]{position:absolute;inset:0;overflow:hidden;pointer-events:none}.ai-particle-bg[_ngcontent-%COMP%]:before{content:"";position:absolute;width:100%;height:100%;background-image:radial-gradient(2px 2px at 20px 30px,rgba(255,255,255,.1),transparent),radial-gradient(2px 2px at 40px 70px,rgba(56,189,248,.1),transparent),radial-gradient(1px 1px at 90px 40px,rgba(255,255,255,.1),transparent);background-size:100px 80px,120px 90px,110px 100px;animation:_ngcontent-%COMP%_aiParticles 20s linear infinite}@keyframes _ngcontent-%COMP%_aiParticles{0%{transform:translate(0)}to{transform:translate(-100px,-100px)}}.ai-pulse[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_aiPulse 2s ease-in-out infinite}@keyframes _ngcontent-%COMP%_aiPulse{0%{box-shadow:0 0 #38bdf866}70%{box-shadow:0 0 0 10px #38bdf800}to{box-shadow:0 0 #38bdf800}}.signin-title[_ngcontent-%COMP%]{color:#38bdf8;font-size:2.1rem;font-weight:800;margin-bottom:12px;text-align:center;letter-spacing:1px;text-shadow:0 2px 8px #0008}form[_ngcontent-%COMP%]{width:100%}.signin-row[_ngcontent-%COMP%]{display:flex;gap:24px;margin-bottom:18px}.signin-field[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column}.signin-field[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{color:#fff;font-weight:600;margin-bottom:6px;font-size:1rem;letter-spacing:.5px}.signin-field[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{background:#fff;color:#18314a;border:none;border-radius:8px;padding:12px 14px;font-size:1rem;margin-bottom:2px;box-shadow:0 1px 4px #0002;transition:border .2s,box-shadow .2s}.signin-field[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus{outline:2px solid #1de9b6;border-color:#1de9b6;box-shadow:0 0 0 2px #1de9b688}.signin-field[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder{color:#b0b8c1;opacity:1}.signin-field[_ngcontent-%COMP%] small.error[_ngcontent-%COMP%]{color:#ff5252;font-size:.85rem;margin-top:4px}.signin-options-row[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2vw;margin-top:-8px}.remember-me[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;font-size:1rem;color:#b0b8c1}.remember-me[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]{accent-color:#38bdf8;width:16px;height:16px}.switch[_ngcontent-%COMP%]{position:relative;display:inline-block;width:48px;height:24px}.switch[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{opacity:0;width:0;height:0}.slider[_ngcontent-%COMP%]{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:24px}.slider[_ngcontent-%COMP%]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input[_ngcontent-%COMP%]:checked + .slider[_ngcontent-%COMP%]{background-color:#38bdf8}input[_ngcontent-%COMP%]:checked + .slider[_ngcontent-%COMP%]:before{transform:translate(24px)}.forgot-password[_ngcontent-%COMP%]{font-size:1rem}.forgot-link[_ngcontent-%COMP%]{color:#38bdf8;text-decoration:underline;font-weight:500;cursor:pointer}.signin-btn[_ngcontent-%COMP%]{width:100%;background:#18314a;color:#fff;border:none;border-radius:8px;padding:14px 0;font-size:1.1rem;font-weight:700;margin-bottom:18px;cursor:pointer;transition:background .2s,color .2s}.signin-btn[_ngcontent-%COMP%]:hover{background:#38bdf8}.signin-footer[_ngcontent-%COMP%]{color:#b0b8c1;font-size:.95rem;text-align:center;margin-top:8px}.signin-footer[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#38bdf8;text-decoration:underline;margin-left:4px;font-weight:600;cursor:pointer}.signin-close[_ngcontent-%COMP%]{position:absolute;top:18px;right:18px;width:38px;height:38px;border:none;background:#14263c;color:#fff;border-radius:50%;font-size:2rem;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:background .2s,color .2s;box-shadow:0 2px 8px #0005}.signin-close[_ngcontent-%COMP%]:hover{background:#38bdf8;color:#18314a}.spinner[_ngcontent-%COMP%]{display:inline-block;width:18px;height:18px;border:3px solid #fff;border-top:3px solid #38bdf8;border-radius:50%;animation:_ngcontent-%COMP%_spin .7s linear infinite;vertical-align:middle;margin-right:8px}@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.signin-error-toast[_ngcontent-%COMP%]{background:transparent;color:#ff5252;font-weight:700;border-radius:8px;border:1px solid #ff5252;padding:8px 18px;margin:12px 0;text-align:center;animation:_ngcontent-%COMP%_shakeError .3s cubic-bezier(.39,.58,.57,1)}@keyframes _ngcontent-%COMP%_shakeError{0%{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-8px)}80%{transform:translate(8px)}to{transform:translate(0)}}.forgot-modal-bg[_ngcontent-%COMP%]{position:fixed;inset:0;background:#1e293be6;z-index:2000;display:flex;align-items:center;justify-content:center;animation:_ngcontent-%COMP%_fadeInModalBg .4s}@keyframes _ngcontent-%COMP%_fadeInModalBg{0%{opacity:0}to{opacity:1}}.forgot-modal[_ngcontent-%COMP%]{background:#fff;border-radius:18px;box-shadow:0 8px 32px #38bdf844,0 0 24px #1e293b88;padding:32px 36px 28px;min-width:320px;max-width:90vw;text-align:center;z-index:2001;display:flex;flex-direction:column;align-items:center;animation:_ngcontent-%COMP%_fadeInModal .4s}@keyframes _ngcontent-%COMP%_fadeInModal{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.forgot-modal[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:#38bdf8;margin:12px 0 8px;font-size:1.4em;font-weight:700}.forgot-modal[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#23272b;font-size:1.08em;margin-bottom:18px}.forgot-modal[_ngcontent-%COMP%] input[type=email][_ngcontent-%COMP%]{background:#f4f6fa;color:#18314a;border:none;border-radius:8px;padding:12px 14px;font-size:1rem;margin-bottom:12px;box-shadow:0 1px 4px #0002;width:100%}.modal-close[_ngcontent-%COMP%]{width:23%;background:#18314a;color:#fff;border:none;border-radius:8px;padding:14px 0;font-size:1.1rem;font-weight:700;margin-bottom:0;cursor:pointer;transition:background .2s,color .2s;display:block}.modal-close[_ngcontent-%COMP%]:hover{background:#38bdf8;color:#18314a}.eye-toggle[_ngcontent-%COMP%]{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.3em;color:#888;cursor:pointer;z-index:2;padding:0;line-height:1;opacity:.7;transition:color .2s,opacity .2s}#password[_ngcontent-%COMP%]{padding-right:40px}.auth-card[_ngcontent-%COMP%]{width:1140px;height:700px;perspective:none;overflow:hidden;border-radius:12px;box-shadow:0 8px 24px #0000001f,#fff 1px 1px 51px;margin:0 auto}.card-inner[_ngcontent-%COMP%]{width:200%;height:100%;display:flex;transition:transform .7s cubic-bezier(.22,.9,.32,1);will-change:transform}.auth-card.flipped[_ngcontent-%COMP%] .card-inner[_ngcontent-%COMP%]{transform:translate3d(-50%,0,0)}.auth-card[_ngcontent-%COMP%]:not(.flipped) .card-inner[_ngcontent-%COMP%]{transform:translateZ(0)}.card-front[_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%], .card-back[_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%]{transition:opacity 1s ease .15s}.card-front[aria-hidden=true][_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%], .card-back[aria-hidden=true][_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%]{opacity:0}.card-front[aria-hidden=false][_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%], .card-back[aria-hidden=false][_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%]{opacity:1}.card-front[_ngcontent-%COMP%], .card-back[_ngcontent-%COMP%]{width:50%;height:100%;flex:0 0 50%;box-sizing:border-box;position:relative;overflow:hidden}.card-content[_ngcontent-%COMP%]{display:flex;height:100%;flex-direction:row-reverse}.side-panel[_ngcontent-%COMP%]{width:48%;display:flex;align-items:center;justify-content:center}.main-panel[_ngcontent-%COMP%]{width:55%;padding:48px;box-sizing:border-box;background:#fff;overflow:visible;display:flex;flex-direction:column;align-items:center}.logo-header[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;margin-bottom:8px}.py-learn-text[_ngcontent-%COMP%]{font-size:3vw;font-weight:600;color:#073879;font-family:Amonk_Outline;margin-bottom:1vw}.self-learning-system[_ngcontent-%COMP%]{font-size:1.2vw;font-weight:bolder;color:#073879;margin-top:-.8vw}.card-front[_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%] .signin-title[_ngcontent-%COMP%], .card-back[_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%] .signup-title[_ngcontent-%COMP%]{color:#222}@media (max-width: 900px){.auth-card[_ngcontent-%COMP%]{width:92vw;height:auto}.card-inner[_ngcontent-%COMP%]{width:200%}.card-content[_ngcontent-%COMP%]{flex-direction:column}.side-panel[_ngcontent-%COMP%]{width:100%;height:200px}.main-panel[_ngcontent-%COMP%]{width:100%;overflow:visible}}.card-front[aria-hidden=true][_ngcontent-%COMP%], .card-back[aria-hidden=true][_ngcontent-%COMP%]{pointer-events:none}.side-panel.side-right[_ngcontent-%COMP%]{background:linear-gradient(135deg,#1d608b 0% 100%)}.side-info-box[_ngcontent-%COMP%]{position:absolute;top:164px;left:0;width:88%;padding:0 32px;z-index:2;text-align:left}.side-panel[_ngcontent-%COMP%]{position:relative}.card-front[_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%], .card-front[_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%] .signin-title[_ngcontent-%COMP%], .card-front[_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%] .signin-footer[_ngcontent-%COMP%], .card-front[_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%] label[_ngcontent-%COMP%], .card-front[_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%] .signin-field[_ngcontent-%COMP%] small[_ngcontent-%COMP%], .card-front[_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%] .signin-field[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{color:#23395d!important}.card-front[_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%] .signin-field[_ngcontent-%COMP%] small.error[_ngcontent-%COMP%]{color:#ff5252!important}.card-front[_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#0b57a4!important}.signin-divider-row[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:100%;margin:12px 0 18px}.divider[_ngcontent-%COMP%]{flex:1;height:1px;background:#b0b8c1;margin:0 8px}.divider-or[_ngcontent-%COMP%]{color:#23395d;font-size:1.08em;font-weight:600;margin:0 8px}.google-btn[_ngcontent-%COMP%]{width:100%;height:45px;background:#18314a;color:#fff;border:none;border-radius:8px;padding:14px 0;font-size:1.1rem;font-weight:700;margin-bottom:18px;cursor:pointer;box-shadow:0 2px 8px #0003;display:flex;align-items:center;justify-content:center;gap:12px;transition:background .2s,color .2s}.google-btn[_ngcontent-%COMP%]:hover{background:#38bdf8}.google-logo[_ngcontent-%COMP%]{width:24px;height:24px}.side-panel.side-left[_ngcontent-%COMP%]{position:relative;overflow:hidden;background:#1d608b;min-height:400px}.side-img[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.side-welcome-overlay[_ngcontent-%COMP%]{position:absolute;top:30%;left:50px;width:93%;text-align:start;z-index:2;padding:0 24px;pointer-events:auto}.welcome-back-title[_ngcontent-%COMP%]{font-size:2.1rem;font-weight:800;color:#fff;margin-bottom:8px}.welcome-back-desc[_ngcontent-%COMP%]{font-size:1rem;color:#e0f7fa;margin-bottom:18px}.action-btn[_ngcontent-%COMP%]{width:21%;background:#18314a;color:#fff;border:none;border-radius:8px;padding:14px 0;font-size:1.1rem;font-weight:700;margin-top:18px;margin-bottom:0;display:inline-block;letter-spacing:.5px;box-shadow:0 2px 8px #0003;cursor:pointer;transition:background .2s,color .2s}.action-btn[_ngcontent-%COMP%]:hover{background:#38bdf8;color:#18314a}.input-with-icon[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center}.input-with-icon[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;padding-right:42px}.input-with-icon[_ngcontent-%COMP%] .eye-toggle[_ngcontent-%COMP%]{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.2em;color:#888;cursor:pointer;line-height:1;padding:0;opacity:.8}.input-with-icon[_ngcontent-%COMP%] .eye-toggle[_ngcontent-%COMP%]:hover{opacity:1;color:#555}.signin-field[_ngcontent-%COMP%] input.invalid[_ngcontent-%COMP%]{border:1px solid #ff5252}.side-panel.side-left[_ngcontent-%COMP%]{position:relative}.side-panel.side-left[_ngcontent-%COMP%]:before{content:"";position:absolute;inset:0;background:linear-gradient(205deg,#05192ed9 8%,#05192eb3 40%,#05192e59 75%);z-index:1;pointer-events:none}.side-panel.side-left[_ngcontent-%COMP%] .side-welcome-overlay[_ngcontent-%COMP%]{position:absolute;top:44%;left:10%;z-index:2;background:#0f28468c;backdrop-filter:blur(6px) saturate(140%);-webkit-backdrop-filter:blur(6px) saturate(140%);padding:20px 24px 24px;border-radius:18px;border:1px solid rgba(255,255,255,.15);box-shadow:0 4px 20px -4px #0000008c,0 0 0 1px #ffffff0d;max-width:429px;width:auto;text-align:center}.side-panel.side-left[_ngcontent-%COMP%] .welcome-back-desc[_ngcontent-%COMP%], .side-panel.side-left[_ngcontent-%COMP%] .welcome-back-title[_ngcontent-%COMP%]{text-shadow:0 2px 6px rgba(0,0,0,.6)}.side-panel.side-left[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{background:#38bdf8;color:#082a47;border:1px solid #4fd3ff;box-shadow:0 0 0 1px #ffffff0f,0 6px 18px -4px #0000008c;padding:10px 28px;width:auto;margin-top:4px;letter-spacing:.6px;transition:background .25s,box-shadow .25s,transform .25s}.side-panel.side-left[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]:hover{background:#4fd3ff;box-shadow:0 0 0 1px #ffffff14,0 8px 22px -6px #0009;transform:translateY(-2px)}.side-panel.side-left[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]:active{transform:translateY(0)}.side-panel.side-left[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]:focus-visible{outline:2px solid #fff;outline-offset:3px}@media (max-width: 900px){.side-panel.side-left[_ngcontent-%COMP%] .side-welcome-overlay[_ngcontent-%COMP%]{left:50%;top:auto;bottom:20px;transform:translate(-50%);max-width:92%;padding:18px 20px 22px}}.side-panel.side-right[_ngcontent-%COMP%]{position:relative;overflow:hidden}.side-panel.side-right[_ngcontent-%COMP%]:before{content:"";position:absolute;inset:0;background:linear-gradient(205deg,#05192ed9 10%,#05192eb3 45%,#05192e52 78%);z-index:1;pointer-events:none}.side-panel.side-right[_ngcontent-%COMP%] .side-info-box[_ngcontent-%COMP%]{position:absolute;top:38%;left:7%;z-index:2;background:#0f28468c;backdrop-filter:blur(6px) saturate(140%);-webkit-backdrop-filter:blur(6px) saturate(140%);padding:20px 24px 24px;border-radius:18px;border:1px solid rgba(255,255,255,.15);box-shadow:0 4px 20px -4px #0000008c,0 0 0 1px #ffffff0d;max-width:469px;text-align:center}.side-panel.side-right[_ngcontent-%COMP%] .welcome-back-title[_ngcontent-%COMP%], .side-panel.side-right[_ngcontent-%COMP%] .welcome-back-desc[_ngcontent-%COMP%]{text-shadow:0 2px 6px rgba(0,0,0,.6)}.side-panel.side-right[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{background:#38bdf8;color:#082a47;border:1px solid #4fd3ff;box-shadow:0 0 0 1px #ffffff0f,0 6px 18px -4px #0000008c;padding:10px 28px;width:auto;margin-top:4px;letter-spacing:.6px;transition:background .25s,box-shadow .25s,transform .25s}.side-panel.side-right[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]:hover{background:#4fd3ff;box-shadow:0 0 0 1px #ffffff14,0 8px 22px -6px #0009;transform:translateY(-2px)}.side-panel.side-right[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]:active{transform:translateY(0)}.side-panel.side-right[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]:focus-visible{outline:2px solid #fff;outline-offset:3px}@media (max-width: 900px){.side-panel.side-right[_ngcontent-%COMP%] .side-info-box[_ngcontent-%COMP%]{left:50%;top:auto;bottom:20px;transform:translate(-50%);max-width:92%;padding:18px 20px 22px}}.signin-brand-logo[_ngcontent-%COMP%]{position:absolute;top:18px;left:24px;z-index:1200}.signin-brand-logo[_ngcontent-%COMP%] .brand-link[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-logo-img[_ngcontent-%COMP%]{height:42px;display:block;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4));max-width:5vw;height:auto;background:#fff;border-radius:1vw;margin:.5vw}.brand-text[_ngcontent-%COMP%]{font-size:1.05rem;font-weight:700;letter-spacing:.6px;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.6);font-family:inherit}.signin-brand-logo[_ngcontent-%COMP%]:hover .brand-text[_ngcontent-%COMP%]{color:#4fd3ff}@media (max-width:700px){.signin-brand-logo[_ngcontent-%COMP%]{top:10px;left:10px;padding:6px 12px 6px 8px}.brand-logo-img[_ngcontent-%COMP%]{width:34px;height:34px}.brand-text[_ngcontent-%COMP%]{font-size:.9rem}}.signin-watermark[_ngcontent-%COMP%]{text-decoration:none;position:absolute;bottom:14px;right:22px;font-size:1vw;font-weight:600;letter-spacing:.5px;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.4)}@media (max-width:700px){.signin-watermark[_ngcontent-%COMP%]{bottom:8px;right:12px;font-size:.65rem}}.social-icons.signin-social-icons[_ngcontent-%COMP%]{position:absolute;top:18px;right:24px;z-index:1200;display:flex;gap:18px}.social-icons.signin-social-icons[_ngcontent-%COMP%] .social-icon[_ngcontent-%COMP%]{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background-color:#fff;color:#38bdf8;font-size:18px;box-shadow:0 0 0 1px #214055,0 4px 14px #0006;transition:background-color .25s,color .25s,transform .25s,box-shadow .25s;text-decoration:none}.social-icons.signin-social-icons[_ngcontent-%COMP%] .social-icon.facebook[_ngcontent-%COMP%]{color:#1877f2}.social-icons.signin-social-icons[_ngcontent-%COMP%] .social-icon.youtube[_ngcontent-%COMP%]{color:red}.social-icons.signin-social-icons[_ngcontent-%COMP%] .social-icon.linkedin[_ngcontent-%COMP%]{color:#0a66c2}.social-icons.signin-social-icons[_ngcontent-%COMP%] .social-icon.instagram[_ngcontent-%COMP%]{color:#fd5949}.social-icons.signin-social-icons[_ngcontent-%COMP%] .social-icon.facebook[_ngcontent-%COMP%]:hover{background-color:#1877f2;color:#fff}.social-icons.signin-social-icons[_ngcontent-%COMP%] .social-icon.youtube[_ngcontent-%COMP%]:hover{background-color:red;color:#fff}.social-icons.signin-social-icons[_ngcontent-%COMP%] .social-icon.linkedin[_ngcontent-%COMP%]:hover{background-color:#0a66c2;color:#fff}.social-icons.signin-social-icons[_ngcontent-%COMP%] .social-icon.instagram[_ngcontent-%COMP%]:hover{background:radial-gradient(circle at 30% 110%,#fdf497,#fd5949 45%,#d6249f 60%,#285aeb 90%);color:#fff;filter:brightness(1.15);box-shadow:0 6px 22px #fd594999}.social-icons.signin-social-icons[_ngcontent-%COMP%] .social-icon.website[_ngcontent-%COMP%]:hover{background-color:#009688;color:#fff;transform:translateY(-4px);box-shadow:0 6px 20px #00968888,0 0 0 2px #009688 inset}@media (max-width:700px){.social-icons.signin-social-icons[_ngcontent-%COMP%]{top:10px;right:10px;gap:10px}.social-icons.signin-social-icons[_ngcontent-%COMP%] .social-icon[_ngcontent-%COMP%]{width:28px;height:28px;font-size:1em}}'],data:{animation:[Gy("fadeInOut",[ep(":enter",[Sl({opacity:0}),Jf("300ms ease-in",Sl({opacity:1}))]),ep(":leave",[Jf("300ms ease-out",Sl({opacity:0}))])])]},changeDetection:0})}}return e})();var Ye=[];for(let e=0;e<256;++e)Ye.push((e+256).toString(16).slice(1));function nb(e,n=0){return(Ye[e[n+0]]+Ye[e[n+1]]+Ye[e[n+2]]+Ye[e[n+3]]+"-"+Ye[e[n+4]]+Ye[e[n+5]]+"-"+Ye[e[n+6]]+Ye[e[n+7]]+"-"+Ye[e[n+8]]+Ye[e[n+9]]+"-"+Ye[e[n+10]]+Ye[e[n+11]]+Ye[e[n+12]]+Ye[e[n+13]]+Ye[e[n+14]]+Ye[e[n+15]]).toLowerCase()}var sp,Nk=new Uint8Array(16);function ap(){if(!sp){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");sp=crypto.getRandomValues.bind(crypto)}return sp(Nk)}var Fk=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),cp={randomUUID:Fk};function Lk(e,n,t){e=e||{};let i=e.random??e.rng?.()??ap();if(i.length<16)throw new Error("Random bytes length must be >= 16");if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,n){if(t=t||0,t<0||t+16>n.length)throw new RangeError(`UUID byte range ${t}:${t+15} is out of buffer bounds`);for(let r=0;r<16;++r)n[t+r]=i[r];return n}return nb(i)}function Vk(e,n,t){return cp.randomUUID&&!n&&!e?cp.randomUUID():Lk(e,n,t)}var Al=Vk;var ib=(()=>{class e{constructor(t){this.http=t,this.apiBase=location.hostname.endsWith("hf.space")?"https://pykara-py-learn-backend.hf.space":"http://localhost:5000/staticchat";let i=sessionStorage.getItem("chat_user_id");i?this.userId=i:(this.userId=Al(),sessionStorage.setItem("chat_user_id",this.userId)),console.log("Chat session user_id:",this.userId)}getUserId(){return this.userId}resetSession(){let t=this.userId;return this.userId=Al(),sessionStorage.setItem("chat_user_id",this.userId),console.log("Session reset. New user_id:",this.userId),this.http.post(`${this.apiBase}/context/${t}/clear`,{})}searchQuestion(t){return this.http.post(`${this.apiBase}/search`,{question:t,user_id:this.userId})}getAllQuestions(){return this.http.get(`${this.apiBase}/questions`)}getRandomSuggestions(t=5){return this.http.get(`${this.apiBase}/suggestions`,{params:{count:t.toString()}})}getContextSuggestions(){return this.http.get(`${this.apiBase}/context/suggestions/${this.userId}`)}getContext(){return this.http.get(`${this.apiBase}/context/${this.userId}`)}static{this.\u0275fac=function(i){return new(i||e)(v(Rn))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var Bk=["chatContainer"],Uk=["messageInput"],$k=["videoPlayer"];function Hk(e,n){if(e&1&&(d(0,"div",22)(1,"div",23)(2,"span",24),u(3),l(),d(4,"div",25),u(5),Do(6,"date"),l()(),g(7,"img",26),l()),e&2){let t=C().$implicit;m(3),Ie(t.user.text),m(2),Se(" ",Eo(6,2,t.user.timestamp,"shortTime")," ")}}function zk(e,n){if(e&1){let t=H();d(0,"button",33),I("click",function(){T(t);let r=C(3).$implicit,o=C();return A(o.playAudio(r.bot.rawData==null?null:r.bot.rawData.audio_url))}),u(1," \u{1F50A} Audio "),l()}}function Gk(e,n){if(e&1){let t=H();d(0,"button",33),I("click",function(){T(t);let r=C(3).$implicit,o=C();return A(o.playResponseVideo(r.bot.rawData==null?null:r.bot.rawData.video_url))}),u(1," \u{1F3AC} Video "),l()}}function Wk(e,n){if(e&1){let t=H();d(0,"button",33),I("click",function(){T(t);let r=C(3).$implicit,o=C();return A(o.playResponseVideo(r.bot.rawData==null?null:r.bot.rawData.detail_url))}),u(1," \u{1F4A1} Detail "),l()}}function qk(e,n){if(e&1){let t=H();d(0,"button",33),I("click",function(){T(t);let r=C(3).$implicit,o=C();return A(o.playResponseVideo(r.bot.rawData==null?null:r.bot.rawData.story_url))}),u(1," \u{1F4D6} Story "),l()}}function Yk(e,n){if(e&1){let t=H();d(0,"button",33),I("click",function(){T(t);let r=C(3).$implicit,o=C();return A(o.playResponseVideo(r.bot.rawData==null?null:r.bot.rawData.example_url))}),u(1," \u{1F9EA} Example "),l()}}function Qk(e,n){if(e&1&&(d(0,"div",31),R(1,zk,2,0,"button",32)(2,Gk,2,0,"button",32)(3,Wk,2,0,"button",32)(4,qk,2,0,"button",32)(5,Yk,2,0,"button",32),l()),e&2){let t=C(2).$implicit;m(),y("ngIf",t.bot.rawData==null?null:t.bot.rawData.audio_url),m(),y("ngIf",t.bot.rawData==null?null:t.bot.rawData.video_url),m(),y("ngIf",t.bot.rawData==null?null:t.bot.rawData.detail_url),m(),y("ngIf",t.bot.rawData==null?null:t.bot.rawData.story_url),m(),y("ngIf",t.bot.rawData==null?null:t.bot.rawData.example_url)}}function Zk(e,n){if(e&1&&(d(0,"div",27),g(1,"img",28),d(2,"div",29)(3,"span",24),u(4),l(),R(5,Qk,6,5,"div",30),d(6,"div",25),u(7),Do(8,"date"),l()()()),e&2){let t=C().$implicit;m(4),Ie(t.bot.text),m(),y("ngIf",t.bot.rawData&&((t.bot.rawData==null?null:t.bot.rawData.audio_url)||(t.bot.rawData==null?null:t.bot.rawData.video_url))),m(2),Se(" ",Eo(8,3,t.bot.timestamp,"shortTime")," ")}}function Kk(e,n){if(e&1&&(d(0,"div",19),R(1,Hk,8,5,"div",20)(2,Zk,9,6,"div",21),l()),e&2){let t=n.$implicit,i=n.index;le("data-index",i),m(),y("ngIf",t.user),m(),y("ngIf",t.bot)}}function Xk(e,n){e&1&&(d(0,"div",34),g(1,"div",35)(2,"div",35)(3,"div",35),l())}function Jk(e,n){if(e&1){let t=H();d(0,"div",38),I("click",function(){let r=T(t).$implicit,o=C(2);return A(o.selectQuestion(r))}),u(1),l()}if(e&2){let t=n.$implicit;m(),Se(" ",t," ")}}function eP(e,n){if(e&1&&(d(0,"div",36),R(1,Jk,2,1,"div",37),l()),e&2){let t=C();m(),y("ngForOf",t.suggestedQuestions)}}function tP(e,n){if(e&1){let t=H();d(0,"div",39)(1,"button",40),I("click",function(){T(t);let r=C();return A(r.reject())}),u(2,"\u274C"),l(),d(3,"button",41),I("click",function(){T(t);let r=C();return A(r.accept())}),u(4,"\u2705"),l()()}}var rb=(()=>{class e{constructor(t,i,r,o){this.fb=t,this.chatService=i,this.zone=o,this.messages=[],this.isTyping=!1,this.suggestedQuestions=[],this.showSuggestions=!1,this.allQuestions=[],this.searchQuery=new B,this.selectedQuestions=new Set,this.currentPairIndex=0,this.blinkVideoSrc="assets/staticchat/blink.mp4",this.introVideoSrc="assets/staticchat/intro.mp4",this.currentVideoType="blink",this.currentResponseVideoUrl=null,this.isVideoPlaying=!1,this.audioPlayer=null,this.hasChatStarted=!1,this.lastResponseVideoUrl=null,this.supported=!1,this.isListening=!1,this.showActions=!1,this.isBrowser=!1,this.mediaStream=null,this.recorder=null,this.chunks=[],this.uploadInProgress=!1,this.isSpeechProcessing=!1,this.chatForm=this.fb.group({message:["",Nn.required]}),this.searchQuery.pipe(Qi(300),Zi()).subscribe(s=>{this.searchQuestions(s)}),this.isBrowser=un(r)}ngOnInit(){if(this.messages.push({id:1,text:"Hello children! Today we will learn tenses in a simple and fun way.",sender:"bot",timestamp:new Date}),!this.isBrowser)return;let t=!!navigator.mediaDevices?.getUserMedia,i=typeof window.MediaRecorder<"u";this.supported=t&&i,this.loadAllQuestions(),setTimeout(()=>this.scrollToLastPair(),0)}ngAfterViewInit(){this.playBlinkVideo()}safeVideo(){try{return this.videoRef.nativeElement}catch{return null}}playBlinkVideo(){let t=this.safeVideo();t&&(t.onended=null,t.src=this.blinkVideoSrc,t.loop=!0,t.muted=!0,t.currentTime=0,t.play().catch(()=>{}),this.currentVideoType="blink",this.currentResponseVideoUrl=null,this.isVideoPlaying=!1)}playIntroVideo(){let t=this.safeVideo();t&&(this.audioPlayer&&!this.audioPlayer.paused&&this.audioPlayer.pause(),t.onended=()=>{this.playBlinkVideo()},t.src=this.introVideoSrc,t.loop=!1,t.muted=!1,t.currentTime=0,t.play().catch(()=>{t.muted=!0,t.play().catch(()=>{})}),this.currentVideoType="intro",this.currentResponseVideoUrl=null,this.isVideoPlaying=!0)}playResponseVideo(t){if(!t)return;let i=this.safeVideo();i&&(this.audioPlayer&&!this.audioPlayer.paused&&this.audioPlayer.pause(),i.onended=()=>{this.playBlinkVideo()},this.currentResponseVideoUrl=t,this.currentVideoType="response",i.src=t,i.loop=!1,i.muted=!1,i.currentTime=0,i.play().then(()=>{this.isVideoPlaying=!0}).catch(()=>{i.muted=!0,i.play().catch(()=>{}),this.isVideoPlaying=!i.paused}))}togglePlayPause(){let t=this.safeVideo();if(t){if(this.currentVideoType==="blink"){if(!this.hasChatStarted){this.playIntroVideo();return}this.lastResponseVideoUrl&&this.playResponseVideo(this.lastResponseVideoUrl);return}t.paused?(this.audioPlayer&&!this.audioPlayer.paused&&this.audioPlayer.pause(),t.play().catch(()=>{}),this.isVideoPlaying=!0):(t.pause(),this.isVideoPlaying=!1)}}loadAllQuestions(){this.chatService.getAllQuestions().subscribe({next:t=>{t.success&&(this.allQuestions=t.questions)},error:t=>console.error("Error loading questions:",t)})}onInputFocus(){this.showQuestionSuggestions()}onInputClick(){this.showQuestionSuggestions()}showQuestionSuggestions(){if(this.allQuestions.length===0){this.loadAllQuestions();return}if(this.messages.length<=1){this.suggestedQuestions=this.allQuestions.slice(0,5).map(i=>i.question),this.showSuggestions=!0;return}let t=this.allQuestions.filter(i=>!this.selectedQuestions.has(i.question));if(t.length===0){let i=[...this.allQuestions].sort(()=>.5-Math.random());this.suggestedQuestions=i.slice(0,5).map(r=>r.question)}else this.suggestedQuestions=t.slice(0,5).map(i=>i.question);this.showSuggestions=!0}searchQuestions(t){if(t.length>0){let i=this.allQuestions.filter(r=>r.question.toLowerCase().includes(t.toLowerCase())).slice(0,5);this.suggestedQuestions=i.map(r=>r.question),this.showSuggestions=this.suggestedQuestions.length>0}else this.showQuestionSuggestions()}onInputChange(){let t=this.chatForm.get("message")?.value;t?this.searchQuery.next(t):this.showQuestionSuggestions()}selectQuestion(t){this.selectedQuestions.add(t),this.chatForm.get("message")?.setValue(t),this.showSuggestions=!1,this.suggestedQuestions=this.suggestedQuestions.filter(i=>i!==t),this.sendMessage()}sendMessage(){let t=this.chatForm.get("message")?.value.trim();t&&(this.messages.push({id:this.messages.length+1,text:t,sender:"user",timestamp:new Date}),this.hasChatStarted=!0,this.chatForm.reset(),this.showSuggestions=!1,this.isTyping=!0,setTimeout(()=>this.scrollToLastPair(),50),this.chatService.searchQuestion(t).subscribe({next:i=>{this.isTyping=!1;let r=i.answer?i.answer.replace(/\n/g," "):i.message||"Sorry, I could not find an answer.";this.messages.push({id:this.messages.length+1,text:r,sender:"bot",timestamp:new Date,rawData:i}),setTimeout(()=>this.scrollToLastPair(),50),i.audio_url&&this.playAudio(i.audio_url),i.video_url&&(this.lastResponseVideoUrl=i.video_url,this.playResponseVideo(i.video_url))},error:()=>{this.isTyping=!1,this.messages.push({id:this.messages.length+1,text:"Sorry, I encountered an error. Please try again.",sender:"bot",timestamp:new Date}),setTimeout(()=>this.scrollToLastPair(),50)}}))}playAudio(t){if(t)try{let i=this.safeVideo();i&&this.currentVideoType!=="blink"&&!i.paused&&(i.pause(),this.isVideoPlaying=!1),this.audioPlayer?this.audioPlayer.pause():this.audioPlayer=new Audio,this.audioPlayer.src=t,this.audioPlayer.currentTime=0,this.audioPlayer.play().catch(()=>{})}catch(i){console.error("Audio play failed",i)}}playVideoFromChat(t){t&&this.playResponseVideo(t)}formatAnswer(t){let i="",r=t.answer?.replace(/\n/g,"
")??"No answer available.";return i+=`
${r}
`,(t.audio_url||t.video_url)&&(i+='
',t.audio_url&&(i+=` - - \u{1F3A7} - `),t.video_url&&(i+=` - - \u{1F4FA} - `),i+="
"),i}formatErrorMessage(t){let i=t.message||"I couldn't find an exact match.";return t.sample_questions?.length&&(i+="

Try asking:
    ",t.sample_questions.forEach(r=>i+=`
  • ${r}
  • `),i+="
"),i}get pairedMessages(){let t=[],i=this.messages||[],r=0;for(;r{try{let i=this.chatContainer.nativeElement,r=i.querySelectorAll(".pair");if(!r||r.length===0)return;t<0&&(t=0),t>=r.length&&(t=r.length-1);let o=r[t];if(!o)return;i.scrollTo({top:o.offsetTop,behavior:"smooth"}),this.currentPairIndex=t}catch{try{let r=this.chatContainer.nativeElement;t===0?r.scrollTop=0:r.scrollTop=r.scrollHeight}catch{}}},50)}scrollToLastPair(){setTimeout(()=>{try{let t=this.pairedMessages.length;if(t===0)return;this.scrollToPair(t-1)}catch{}},50)}scrollToTop(){setTimeout(()=>{try{let t=this.chatContainer.nativeElement;typeof t.scrollTo=="function"?t.scrollTo({top:0,behavior:"smooth"}):t.scrollTop=0}catch{}},100)}clearChat(){this.messages=[],this.selectedQuestions.clear(),this.hasChatStarted=!1,this.lastResponseVideoUrl=null,this.ngOnInit(),this.playBlinkVideo()}pickMimeType(){let t=window,i=["audio/webm;codecs=opus","audio/webm","audio/mp4","audio/m4a"];if(!t.MediaRecorder?.isTypeSupported)return"";for(let r of i)if(t.MediaRecorder.isTypeSupported(r))return r;return""}toggleMic(){return tt(this,null,function*(){if(!(!this.supported||this.isListening||this.uploadInProgress))try{this.mediaStream=yield navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0}});let t=this.pickMimeType();this.chunks=[],this.recorder=t?new MediaRecorder(this.mediaStream,{mimeType:t}):new MediaRecorder(this.mediaStream),this.recorder.ondataavailable=i=>{i.data&&i.data.size>0&&this.chunks.push(i.data)},this.recorder.onerror=()=>{this.zone.run(()=>{this.handleTranscriptionError("Audio recording error."),this.cleanupRecorder()})},this.zone.run(()=>{this.isListening=!0,this.showActions=!0}),this.recorder.start()}catch{this.zone.run(()=>{this.handleTranscriptionError("Microphone permission denied or not available."),this.cleanupRecorder()})}})}accept(){if(!(!this.recorder||this.uploadInProgress)){this.uploadInProgress=!0,this.recorder.onstop=()=>tt(this,null,function*(){try{let t=this.recorder?.mimeType||"audio/webm",i=new Blob(this.chunks,{type:t});this.zone.run(()=>{this.isSpeechProcessing=!0,this.showActions=!1,this.isListening=!1,this.chatForm.get("message")?.setValue("\u23F3 Converting speech to text...")});let r=yield this.sendToBackendForTranscription(i);this.zone.run(()=>{this.isSpeechProcessing=!1,r&&r.trim()?this.handleTranscriptionAccepted(r.trim()):this.chatForm.get("message")?.setValue("")})}catch(t){this.zone.run(()=>{this.handleTranscriptionError(typeof t?.message=="string"?t.message:"Transcription failed."),this.showActions=!1,this.isListening=!1})}finally{this.uploadInProgress=!1,this.cleanupRecorder()}});try{this.recorder.stop()}catch{this.uploadInProgress=!1,this.cleanupRecorder()}}}reject(){if(!this.uploadInProgress){try{this.recorder?.stop()}catch{}this.zone.run(()=>{this.handleTranscriptionRejected(),this.showActions=!1,this.isListening=!1}),this.cleanupRecorder()}}sendToBackendForTranscription(t){return tt(this,null,function*(){let i="http://localhost:5000/api/transcribe",r=new FormData;r.append("file",t,"speech.webm");let o=yield fetch(i,{method:"POST",body:r});if(!o.ok){let a=yield o.text().catch(()=>"");throw new Error(a||`Transcribe API failed (${o.status}).`)}return((yield o.json())?.text||"").toString()})}cleanupRecorder(){try{this.recorder?.removeEventListener?.("dataavailable",()=>{})}catch{}if(this.recorder=null,this.chunks=[],this.mediaStream){try{this.mediaStream.getTracks().forEach(t=>t.stop())}catch{}this.mediaStream=null}}handleClickOutside(t){this.showSuggestions&&this.messageInput&&(this.messageInput.nativeElement.contains(t.target)||(this.showSuggestions=!1))}handleTranscriptionAccepted(t){try{this.chatForm.get("message")?.setValue(t),setTimeout(()=>{this.messageInput?.nativeElement.focus()},0)}catch(i){console.error("handleTranscriptionAccepted error",i)}}handleTranscriptionRejected(){try{this.chatForm.get("message")?.setValue("")}catch(t){console.error("handleTranscriptionRejected error",t)}}handleTranscriptionError(t){try{this.isSpeechProcessing=!1,this.chatForm.get("message")?.setValue(""),this.messages.push({id:this.messages.length+1,text:`Transcription error: ${t}`,sender:"bot",timestamp:new Date}),setTimeout(()=>this.scrollToLastPair(),50)}catch(i){console.error("handleTranscriptionError error",i)}}static{this.\u0275fac=function(i){return new(i||e)(w(Kc),w(ib),w(Je),w(F))}}static{this.\u0275cmp=pe({type:e,selectors:[["app-staticchat"]],viewQuery:function(i,r){if(i&1&&(lt(Bk,5),lt(Uk,5),lt($k,5)),i&2){let o;We(o=qe())&&(r.chatContainer=o.first),We(o=qe())&&(r.messageInput=o.first),We(o=qe())&&(r.videoRef=o.first)}},hostBindings:function(i,r){i&1&&I("click",function(s){return r.handleClickOutside(s)},!1,Xa)},decls:23,vars:10,consts:[["chatContainer",""],["messageInput",""],["videoPlayer",""],[1,"chat-container"],[1,"chat-window"],["title","Prev message",1,"arrow-btn","up",3,"click"],[1,"chat-messages"],["class","pair",4,"ngFor","ngForOf"],["class","typing-indicator",4,"ngIf"],["title","Next message",1,"arrow-btn","down",3,"click"],["class","suggestions-box",4,"ngIf"],[1,"chat-input",3,"ngSubmit","formGroup"],["type","text","formControlName","message",3,"focus","input","placeholder","readonly"],["type","button",1,"micBtn",3,"click","disabled"],["class","actions",4,"ngIf"],["type","submit",3,"disabled"],[1,"video-window"],["autoplay","","muted","","playsinline",""],[1,"play-pause-btn",3,"click","src"],[1,"pair"],["class","message-row user-row",4,"ngIf"],["class","message-row bot-row",4,"ngIf"],[1,"message-row","user-row"],[1,"message-bubble","user-message"],[2,"font-size","1.5vw"],[1,"message-time"],["src","assets/staticchat/student.png",1,"avatar"],[1,"message-row","bot-row"],["src","assets/staticchat/teacher.png",1,"avatar"],[1,"message-bubble","bot-message"],["class","mediaRow",4,"ngIf"],[1,"mediaRow"],["class","chip",3,"click",4,"ngIf"],[1,"chip",3,"click"],[1,"typing-indicator"],[1,"dot"],[1,"suggestions-box"],["class","suggestion-item",3,"click",4,"ngFor","ngForOf"],[1,"suggestion-item",3,"click"],[1,"actions"],[1,"reject",3,"click"],[1,"accept",3,"click"]],template:function(i,r){if(i&1){let o=H();d(0,"div",3)(1,"div",4)(2,"button",5),I("click",function(){return T(o),A(r.showPreviousPair())}),u(3,"\u2191"),l(),d(4,"div",6,0),R(6,Kk,3,3,"div",7)(7,Xk,4,0,"div",8),l(),d(8,"button",9),I("click",function(){return T(o),A(r.showNextPair())}),u(9,"\u2193"),l(),R(10,eP,2,1,"div",10),d(11,"form",11),I("ngSubmit",function(){return T(o),A(r.sendMessage())}),d(12,"input",12,1),I("focus",function(){return T(o),A(r.onInputFocus())})("input",function(){return T(o),A(r.onInputChange())}),l(),d(14,"button",13),I("click",function(){return T(o),A(r.toggleMic())}),u(15," \u{1F3A4} "),l(),R(16,tP,5,0,"div",14),d(17,"button",15),u(18," \u27A4 "),l()()(),d(19,"div",16),g(20,"video",17,2),d(22,"img",18),I("click",function(){return T(o),A(r.togglePlayPause())}),l()()()}i&2&&(m(6),y("ngForOf",r.pairedMessages),m(),y("ngIf",r.isTyping),m(3),y("ngIf",r.showSuggestions&&r.suggestedQuestions.length>0),m(),y("formGroup",r.chatForm),m(),y("placeholder",r.isListening?"\u23FA Listening...":"Type your message...")("readonly",r.isSpeechProcessing||r.isListening),m(2),y("disabled",!r.supported||r.isListening),m(2),y("ngIf",r.showActions),m(),y("disabled",!r.chatForm.valid),m(5),y("src",r.currentVideoType!=="blink"&&r.isVideoPlaying?"assets/staticchat/pause.png":"assets/staticchat/play.png",ee))},dependencies:[br,vt,Zc,Jn,Er,Wc,Bo,Uo,Ev],styles:[".chat-container[_ngcontent-%COMP%], .chat-container[_ngcontent-%COMP%] *[_ngcontent-%COMP%]{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,sans-serif!important}.chat-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;height:91vh;padding:2vw;gap:2vw}.chat-window[_ngcontent-%COMP%]{width:100%;max-width:1000px;height:80vh;display:flex;flex-direction:column;border-radius:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff14;box-shadow:0 10px 40px #0006;overflow:hidden}.chat-messages[_ngcontent-%COMP%]{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:7vw}.message-row[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:10px}.avatar[_ngcontent-%COMP%]{width:38px;height:38px;border-radius:50%;object-fit:cover;box-shadow:0 2px 6px #0000004d}.message-bubble[_ngcontent-%COMP%]{max-width:60%;padding:14px 18px 8px;border-radius:18px;font-size:clamp(14px,1vw,18px);line-height:1.6;display:flex;flex-direction:column}.user-message[_ngcontent-%COMP%]{background:linear-gradient(135deg,#09f,#06f);color:#fff;border-bottom-right-radius:6px}.bot-message[_ngcontent-%COMP%]{background:#fffffff2;color:#333;border-bottom-left-radius:6px}.message-time[_ngcontent-%COMP%]{font-size:clamp(10px,.7vw,12px);opacity:.6;margin-top:6px;align-self:flex-end}.typing-indicator[_ngcontent-%COMP%]{display:flex;gap:5px;align-items:center;color:#fff;padding-left:50px}.dot[_ngcontent-%COMP%]{width:6px;height:6px;background:#ccc;border-radius:50%;animation:_ngcontent-%COMP%_blink 1.4s infinite both}.dot[_ngcontent-%COMP%]:nth-child(2){animation-delay:.2s}.dot[_ngcontent-%COMP%]:nth-child(3){animation-delay:.4s}@keyframes _ngcontent-%COMP%_blink{0%{opacity:.2}20%{opacity:1}to{opacity:.2}}.suggestions-box[_ngcontent-%COMP%]{background:linear-gradient(135deg,#0072ff,#00c6ff);max-height:250px;overflow-y:auto;border-radius:12px;margin:0 20px 10px;width:47vw}.suggestion-item[_ngcontent-%COMP%]{padding:10px 14px;cursor:pointer;color:#fff;font-size:1vw;font-weight:700;border-bottom:1px solid rgba(255,255,255,.1);transition:background .2s ease}.suggestion-item[_ngcontent-%COMP%]:hover{background:#ffffff26}.chat-input[_ngcontent-%COMP%]{display:flex;padding:16px;background:#ffffff26;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.2)}.chat-input[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{flex:1;padding:12px 16px;border-radius:25px;border:none;outline:none;font-size:14px}.chat-input[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin-left:10px;width:48px;height:48px;border-radius:50%;border:none;background:linear-gradient(135deg,#00c6ff,#0072ff);color:#fff;font-size:30px;cursor:pointer;transition:transform .2s ease}.chat-input[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{transform:scale(1.08)}.chat-input[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:not-allowed}.chat-messages[_ngcontent-%COMP%]::-webkit-scrollbar{width:6px}.chat-messages[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:10px}.video-window[_ngcontent-%COMP%]{width:100%;max-width:640px;height:80vh;margin-left:20px;border-radius:20px;overflow:hidden;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px #0006;display:flex;flex-direction:column;align-items:center;gap:2vw}.video-window[_ngcontent-%COMP%] video[_ngcontent-%COMP%]{width:100%;height:100%;flex:1;object-fit:cover;background:#000}.play-pause-btn[_ngcontent-%COMP%]{position:relative;top:-1vw;width:4vw;min-width:40px;height:4vw;min-height:40px;cursor:pointer;border:2px solid #3f61ad;border-radius:50px;box-shadow:0 8px 20px #3f61ad2e,0 2px 6px #00000040;transition:transform .16s ease,box-shadow .16s ease;background:linear-gradient(180deg,#ffffff05,#00000008)}.play-pause-btn[_ngcontent-%COMP%]:hover{transform:translateY(-3px);box-shadow:0 16px 36px #3f61ad38,0 6px 12px #00000047}.play-pause-btn[_ngcontent-%COMP%]:active{transform:translateY(0);box-shadow:0 6px 12px #00000038}.bot-answer[_ngcontent-%COMP%]{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,sans-serif!important;font-size:clamp(14px,1vw,18px);line-height:1.6}.micBtn[_ngcontent-%COMP%]{width:44px;height:44px;border:0;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;background:#f3f4f6;font-size:30px!important}.micBtn[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:not-allowed}.micBtn.active[_ngcontent-%COMP%]{background:#111827}.micIcon[_ngcontent-%COMP%]{width:22px;height:22px;fill:#111827}.micBtn.active[_ngcontent-%COMP%] .micIcon[_ngcontent-%COMP%]{fill:#fff}.actions[_ngcontent-%COMP%]{display:inline-flex;gap:8px;margin-left:8px;align-items:center}.okBtn[_ngcontent-%COMP%], .noBtn[_ngcontent-%COMP%]{font-size:18px;width:38px;height:38px;border-radius:999px;border:0;cursor:pointer;background:#f3f4f6}.okBtn[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:not-allowed}.okBtn[_ngcontent-%COMP%]:hover, .noBtn[_ngcontent-%COMP%]:hover{background:#e5e7eb}.mediaRow[_ngcontent-%COMP%]{display:flex;gap:1vw;font-size:1vw;padding-top:2vw}.chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:clamp(30px,2vw,36px);padding:0 12px;background:linear-gradient(135deg,#00c6ff,#0072ff);color:#fff;font-weight:600;font-size:.9rem;border:none;border-radius:999px;box-shadow:0 6px 20px #0072ff2e,0 2px 6px #00000040;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;-webkit-user-select:none;user-select:none}.chip[_ngcontent-%COMP%]:hover{transform:translateY(-3px);box-shadow:0 14px 30px #0072ff33,0 4px 10px #00000047}.chip[_ngcontent-%COMP%]:active{transform:translateY(0);box-shadow:0 6px 14px #00000038;opacity:.98}.chip[_ngcontent-%COMP%]:focus{outline:3px solid rgba(0,114,255,.18);outline-offset:3px}.arrow-btn[_ngcontent-%COMP%]{position:fixed;right:16px;width:51px;height:51px;border-radius:50%;border:none;background:linear-gradient(135deg,#00c6ff,#0072ff);color:#fff;font-size:31px;box-shadow:0 6px 16px #00000040;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,background .2s ease;z-index:20}.up[_ngcontent-%COMP%]{top:1vw}.down[_ngcontent-%COMP%]{bottom:5vw}.chat-messages[_ngcontent-%COMP%]{overflow-y:auto;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch}.pair[_ngcontent-%COMP%]{scroll-snap-align:start;min-height:100%;display:flex;flex-direction:column;justify-content:flex-start;padding:4.5rem 1rem;box-sizing:border-box;gap:2vw}.pair[_ngcontent-%COMP%] + .pair[_ngcontent-%COMP%]{margin-top:8px}.message-row[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.6rem}.bot-row[_ngcontent-%COMP%]{justify-content:flex-start}.user-row[_ngcontent-%COMP%]{justify-content:flex-end}.avatar[_ngcontent-%COMP%]{width:3.2rem;height:3.2rem;border-radius:50%;object-fit:cover}.message-bubble[_ngcontent-%COMP%]{max-width:70%;padding:.6rem .8rem;border-radius:.6rem;position:relative}.bot-message[_ngcontent-%COMP%]{background:#f1f1f1;color:#111}.user-message[_ngcontent-%COMP%]{color:#fff;background:linear-gradient(135deg,#00c6ff,#0072ff)}.message-time[_ngcontent-%COMP%]{font-size:.7rem;color:#000;margin-top:6px;text-align:right}.typing-indicator[_ngcontent-%COMP%]{display:flex;gap:.4rem;padding:.5rem;align-items:center}.typing-indicator[_ngcontent-%COMP%] .dot[_ngcontent-%COMP%]{width:8px;height:8px;border-radius:50%;background:#bbb;animation:_ngcontent-%COMP%_blink 1.2s infinite}@keyframes _ngcontent-%COMP%_blink{0%{opacity:.2}50%{opacity:1}to{opacity:.2}}"]})}}return e})();var nP=[{path:"",component:op,pathMatch:"full",data:{title:"Home"}},{path:"home",component:op,data:{title:"Home"}},{path:"login",component:tb,data:{title:"Sign In"}},{path:"chat",component:Mf,data:{title:"Chat"}},{path:"chat/:id",component:Mf,data:{title:"Chat"}},{path:"mj-chat",component:rb,data:{title:"MJ-CHAT"}},{path:"**",redirectTo:"",data:{title:"Page Not Found"}}],ob=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=G({type:e})}static{this.\u0275inj=z({imports:[ls.forRoot(nP,{enableTracing:!1,scrollPositionRestoration:"top",anchorScrolling:"enabled"}),ls]})}}return e})();var iP=["switch"],rP=["*"];function oP(e,n){e&1&&(d(0,"div",10),Wa(),d(1,"svg",12),g(2,"path",13),l(),d(3,"svg",14),g(4,"path",15),l()())}var sP=new O("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1,hideIcon:!1})}),aP={provide:Dr,useExisting:cn(()=>sb),multi:!0},Ol=class{constructor(n,t){this.source=n,this.checked=t}},cP=0,sb=(()=>{class e{_createChangeEvent(t){return new Ol(this,t)}get buttonId(){return`${this.id||this._uniqueId}-button`}focus(){this._switchElement.nativeElement.focus()}get checked(){return this._checked}set checked(t){this._checked=t,this._changeDetectorRef.markForCheck()}get inputId(){return`${this.id||this._uniqueId}-input`}constructor(t,i,r,o,s,a){this._elementRef=t,this._focusMonitor=i,this._changeDetectorRef=r,this.defaults=s,this._onChange=c=>{},this._onTouched=()=>{},this._validatorOnChange=()=>{},this._checked=!1,this.name=null,this.labelPosition="after",this.ariaLabel=null,this.ariaLabelledby=null,this.disabled=!1,this.disableRipple=!1,this.tabIndex=0,this.change=new ne,this.toggleChange=new ne,this.tabIndex=parseInt(o)||0,this.color=s.color||"accent",this._noopAnimations=a==="NoopAnimations",this.id=this._uniqueId=`mat-mdc-slide-toggle-${++cP}`,this.hideIcon=s.hideIcon??!1,this._labelId=this._uniqueId+"-label"}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{t==="keyboard"||t==="program"?(this._focused=!0,this._changeDetectorRef.markForCheck()):t||Promise.resolve().then(()=>{this._focused=!1,this._onTouched(),this._changeDetectorRef.markForCheck()})})}ngOnChanges(t){t.required&&this._validatorOnChange()}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}writeValue(t){this.checked=!!t}registerOnChange(t){this._onChange=t}registerOnTouched(t){this._onTouched=t}validate(t){return this.required&&t.value!==!0?{required:!0}:null}registerOnValidatorChange(t){this._validatorOnChange=t}setDisabledState(t){this.disabled=t,this._changeDetectorRef.markForCheck()}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(this._createChangeEvent(this.checked))}_handleClick(){this.toggleChange.emit(),this.defaults.disableToggleValue||(this.checked=!this.checked,this._onChange(this.checked),this.change.emit(new Ol(this,this.checked)))}_getAriaLabelledBy(){return this.ariaLabelledby?this.ariaLabelledby:this.ariaLabel?null:this._labelId}static{this.\u0275fac=function(i){return new(i||e)(w(re),w(zr),w(Ve),pr("tabindex"),w(sP),w(wn,8))}}static{this.\u0275cmp=pe({type:e,selectors:[["mat-slide-toggle"]],viewQuery:function(i,r){if(i&1&<(iP,5),i&2){let o;We(o=qe())&&(r._switchElement=o.first)}},hostAttrs:[1,"mat-mdc-slide-toggle"],hostVars:13,hostBindings:function(i,r){i&2&&(vr("id",r.id),le("tabindex",null)("aria-label",null)("name",null)("aria-labelledby",null),Xu(r.color?"mat-"+r.color:""),he("mat-mdc-slide-toggle-focused",r._focused)("mat-mdc-slide-toggle-checked",r.checked)("_mat-animation-noopable",r._noopAnimations))},inputs:{name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:[$.None,"aria-label","ariaLabel"],ariaLabelledby:[$.None,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[$.None,"aria-describedby","ariaDescribedby"],required:[$.HasDecoratorInputTransform,"required","required",et],color:"color",disabled:[$.HasDecoratorInputTransform,"disabled","disabled",et],disableRipple:[$.HasDecoratorInputTransform,"disableRipple","disableRipple",et],tabIndex:[$.HasDecoratorInputTransform,"tabIndex","tabIndex",t=>t==null?0:ih(t)],checked:[$.HasDecoratorInputTransform,"checked","checked",et],hideIcon:[$.HasDecoratorInputTransform,"hideIcon","hideIcon",et]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],standalone:!0,features:[At([aP,{provide:Vo,useExisting:e,multi:!0}]),zt,Ke,Fe],ngContentSelectors:rP,decls:13,vars:24,consts:[["switch",""],["mat-internal-form-field","",3,"labelPosition"],["role","switch","type","button",1,"mdc-switch",3,"click","tabIndex","disabled"],[1,"mdc-switch__track"],[1,"mdc-switch__handle-track"],[1,"mdc-switch__handle"],[1,"mdc-switch__shadow"],[1,"mdc-elevation-overlay"],[1,"mdc-switch__ripple"],["mat-ripple","",1,"mat-mdc-slide-toggle-ripple","mat-mdc-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mdc-switch__icons"],[1,"mdc-label",3,"click","for"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--on"],["d","M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--off"],["d","M20 13H4v-2h16v2z"]],template:function(i,r){if(i&1){let o=H();Dn(),d(0,"div",1)(1,"button",2,0),I("click",function(){return T(o),A(r._handleClick())}),g(3,"div",3),d(4,"div",4)(5,"div",5)(6,"div",6),g(7,"div",7),l(),d(8,"div",8),g(9,"div",9),l(),R(10,oP,5,0,"div",10),l()()(),d(11,"label",11),I("click",function(a){return T(o),A(a.stopPropagation())}),En(12),l()()}if(i&2){let o=Gt(2);y("labelPosition",r.labelPosition),m(),he("mdc-switch--selected",r.checked)("mdc-switch--unselected",!r.checked)("mdc-switch--checked",r.checked)("mdc-switch--disabled",r.disabled),y("tabIndex",r.disabled?-1:r.tabIndex)("disabled",r.disabled),le("id",r.buttonId)("name",r.name)("aria-label",r.ariaLabel)("aria-labelledby",r._getAriaLabelledBy())("aria-describedby",r.ariaDescribedby)("aria-required",r.required||null)("aria-checked",r.checked),m(8),y("matRippleTrigger",o)("matRippleDisabled",r.disableRipple||r.disabled)("matRippleCentered",!0),m(),Ju(10,r.hideIcon?-1:10),m(),y("for",r.buttonId),le("id",r._labelId)}},dependencies:[Hy,zy],styles:['.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:var(--mdc-elevation-overlay-opacity);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1);background-color:var(--mdc-elevation-overlay-color)}.mdc-switch{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;margin:0;outline:none;overflow:visible;padding:0;position:relative}.mdc-switch[hidden]{display:none}.mdc-switch:disabled{cursor:default;pointer-events:none}.mdc-switch__track{overflow:hidden;position:relative;width:100%}.mdc-switch__track::before,.mdc-switch__track::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";height:100%;left:0;position:absolute;width:100%}@media screen and (forced-colors: active){.mdc-switch__track::before,.mdc-switch__track::after{border-color:currentColor}}.mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:translateX(0)}.mdc-switch__track::after{transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transform:translateX(-100%)}[dir=rtl] .mdc-switch__track::after,.mdc-switch__track[dir=rtl]::after{transform:translateX(100%)}.mdc-switch--selected .mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch__track::before,.mdc-switch--selected .mdc-switch__track[dir=rtl]::before{transform:translateX(-100%)}.mdc-switch--selected .mdc-switch__track::after{transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:translateX(0)}.mdc-switch__handle-track{height:100%;pointer-events:none;position:absolute;top:0;transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);left:0;right:auto;transform:translateX(0)}[dir=rtl] .mdc-switch__handle-track,.mdc-switch__handle-track[dir=rtl]{left:auto;right:0}.mdc-switch--selected .mdc-switch__handle-track{transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch__handle-track,.mdc-switch--selected .mdc-switch__handle-track[dir=rtl]{transform:translateX(-100%)}.mdc-switch__handle{display:flex;pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);left:0;right:auto}[dir=rtl] .mdc-switch__handle,.mdc-switch__handle[dir=rtl]{left:auto;right:0}.mdc-switch__handle::before,.mdc-switch__handle::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";width:100%;height:100%;left:0;position:absolute;top:0;transition:background-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1),border-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);z-index:-1}@media screen and (forced-colors: active){.mdc-switch__handle::before,.mdc-switch__handle::after{border-color:currentColor}}.mdc-switch__shadow{border-radius:inherit;bottom:0;left:0;position:absolute;right:0;top:0}.mdc-elevation-overlay{bottom:0;left:0;right:0;top:0}.mdc-switch__ripple{left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);z-index:-1}.mdc-switch:disabled .mdc-switch__ripple{display:none}.mdc-switch__icons{height:100%;position:relative;width:100%;z-index:1}.mdc-switch__icon{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;opacity:0;transition:opacity 30ms 0ms cubic-bezier(0.4, 0, 1, 1)}.mdc-switch--selected .mdc-switch__icon--on,.mdc-switch--unselected .mdc-switch__icon--off{opacity:1;transition:opacity 45ms 30ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle .mdc-switch--disabled+label{color:var(--mdc-switch-disabled-label-text-color)}.mdc-switch{width:var(--mdc-switch-track-width)}.mdc-switch.mdc-switch--selected:enabled .mdc-switch__handle::after{background:var(--mdc-switch-selected-handle-color)}.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-selected-hover-handle-color)}.mdc-switch.mdc-switch--selected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-selected-focus-handle-color)}.mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__handle::after{background:var(--mdc-switch-selected-pressed-handle-color)}.mdc-switch.mdc-switch--selected:disabled .mdc-switch__handle::after{background:var(--mdc-switch-disabled-selected-handle-color)}.mdc-switch.mdc-switch--unselected:enabled .mdc-switch__handle::after{background:var(--mdc-switch-unselected-handle-color)}.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-unselected-hover-handle-color)}.mdc-switch.mdc-switch--unselected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-unselected-focus-handle-color)}.mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__handle::after{background:var(--mdc-switch-unselected-pressed-handle-color)}.mdc-switch.mdc-switch--unselected:disabled .mdc-switch__handle::after{background:var(--mdc-switch-disabled-unselected-handle-color)}.mdc-switch .mdc-switch__handle::before{background:var(--mdc-switch-handle-surface-color)}.mdc-switch:enabled .mdc-switch__shadow{box-shadow:var(--mdc-switch-handle-elevation)}.mdc-switch:disabled .mdc-switch__shadow{box-shadow:var(--mdc-switch-disabled-handle-elevation)}.mdc-switch .mdc-switch__focus-ring-wrapper,.mdc-switch .mdc-switch__handle{height:var(--mdc-switch-handle-height)}.mdc-switch .mdc-switch__handle{border-radius:var(--mdc-switch-handle-shape)}.mdc-switch .mdc-switch__handle{width:var(--mdc-switch-handle-width)}.mdc-switch .mdc-switch__handle-track{width:calc(100% - var(--mdc-switch-handle-width))}.mdc-switch.mdc-switch--selected:enabled .mdc-switch__icon{fill:var(--mdc-switch-selected-icon-color)}.mdc-switch.mdc-switch--selected:disabled .mdc-switch__icon{fill:var(--mdc-switch-disabled-selected-icon-color)}.mdc-switch.mdc-switch--unselected:enabled .mdc-switch__icon{fill:var(--mdc-switch-unselected-icon-color)}.mdc-switch.mdc-switch--unselected:disabled .mdc-switch__icon{fill:var(--mdc-switch-disabled-unselected-icon-color)}.mdc-switch.mdc-switch--selected:disabled .mdc-switch__icons{opacity:var(--mdc-switch-disabled-selected-icon-opacity)}.mdc-switch.mdc-switch--unselected:disabled .mdc-switch__icons{opacity:var(--mdc-switch-disabled-unselected-icon-opacity)}.mdc-switch.mdc-switch--selected .mdc-switch__icon{width:var(--mdc-switch-selected-icon-size);height:var(--mdc-switch-selected-icon-size)}.mdc-switch.mdc-switch--unselected .mdc-switch__icon{width:var(--mdc-switch-unselected-icon-size);height:var(--mdc-switch-unselected-icon-size)}.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background-color:var(--mdc-switch-selected-hover-state-layer-color)}.mdc-switch.mdc-switch--selected:enabled:focus .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:focus .mdc-switch__ripple::after{background-color:var(--mdc-switch-selected-focus-state-layer-color)}.mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__ripple::after{background-color:var(--mdc-switch-selected-pressed-state-layer-color)}.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background-color:var(--mdc-switch-unselected-hover-state-layer-color)}.mdc-switch.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::after{background-color:var(--mdc-switch-unselected-focus-state-layer-color)}.mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__ripple::after{background-color:var(--mdc-switch-unselected-pressed-state-layer-color)}.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus):hover .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus).mdc-ripple-surface--hover .mdc-switch__ripple::before{opacity:var(--mdc-switch-selected-hover-state-layer-opacity)}.mdc-switch.mdc-switch--selected:enabled:focus.mdc-ripple-upgraded--background-focused .mdc-switch__ripple::before,.mdc-switch.mdc-switch--selected:enabled:focus:not(.mdc-ripple-upgraded):focus .mdc-switch__ripple::before{transition-duration:75ms;opacity:var(--mdc-switch-selected-focus-state-layer-opacity)}.mdc-switch.mdc-switch--selected:enabled:active:not(.mdc-ripple-upgraded) .mdc-switch__ripple::after{transition:opacity 150ms linear}.mdc-switch.mdc-switch--selected:enabled:active:not(.mdc-ripple-upgraded):active .mdc-switch__ripple::after{transition-duration:75ms;opacity:var(--mdc-switch-selected-pressed-state-layer-opacity)}.mdc-switch.mdc-switch--selected:enabled:active.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-switch-selected-pressed-state-layer-opacity)}.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus):hover .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus).mdc-ripple-surface--hover .mdc-switch__ripple::before{opacity:var(--mdc-switch-unselected-hover-state-layer-opacity)}.mdc-switch.mdc-switch--unselected:enabled:focus.mdc-ripple-upgraded--background-focused .mdc-switch__ripple::before,.mdc-switch.mdc-switch--unselected:enabled:focus:not(.mdc-ripple-upgraded):focus .mdc-switch__ripple::before{transition-duration:75ms;opacity:var(--mdc-switch-unselected-focus-state-layer-opacity)}.mdc-switch.mdc-switch--unselected:enabled:active:not(.mdc-ripple-upgraded) .mdc-switch__ripple::after{transition:opacity 150ms linear}.mdc-switch.mdc-switch--unselected:enabled:active:not(.mdc-ripple-upgraded):active .mdc-switch__ripple::after{transition-duration:75ms;opacity:var(--mdc-switch-unselected-pressed-state-layer-opacity)}.mdc-switch.mdc-switch--unselected:enabled:active.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-switch-unselected-pressed-state-layer-opacity)}.mdc-switch .mdc-switch__ripple{height:var(--mdc-switch-state-layer-size);width:var(--mdc-switch-state-layer-size)}.mdc-switch .mdc-switch__track{height:var(--mdc-switch-track-height)}.mdc-switch:disabled .mdc-switch__track{opacity:var(--mdc-switch-disabled-track-opacity)}.mdc-switch:enabled .mdc-switch__track::after{background:var(--mdc-switch-selected-track-color)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::after{background:var(--mdc-switch-selected-hover-track-color)}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::after{background:var(--mdc-switch-selected-focus-track-color)}.mdc-switch:enabled:active .mdc-switch__track::after{background:var(--mdc-switch-selected-pressed-track-color)}.mdc-switch:disabled .mdc-switch__track::after{background:var(--mdc-switch-disabled-selected-track-color)}.mdc-switch:enabled .mdc-switch__track::before{background:var(--mdc-switch-unselected-track-color)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::before{background:var(--mdc-switch-unselected-hover-track-color)}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::before{background:var(--mdc-switch-unselected-focus-track-color)}.mdc-switch:enabled:active .mdc-switch__track::before{background:var(--mdc-switch-unselected-pressed-track-color)}.mdc-switch:disabled .mdc-switch__track::before{background:var(--mdc-switch-disabled-unselected-track-color)}.mdc-switch .mdc-switch__track{border-radius:var(--mdc-switch-track-shape)}.mdc-switch:enabled .mdc-switch__shadow{box-shadow:var(--mdc-switch-handle-elevation-shadow)}.mdc-switch:disabled .mdc-switch__shadow{box-shadow:var(--mdc-switch-disabled-handle-elevation-shadow)}.mat-mdc-slide-toggle{display:inline-block;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:0}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple,.mat-mdc-slide-toggle .mdc-switch__ripple::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple:not(:empty),.mat-mdc-slide-toggle .mdc-switch__ripple::after:not(:empty){transform:translateZ(0)}.mat-mdc-slide-toggle .mdc-switch__ripple::after{content:"";opacity:0}.mat-mdc-slide-toggle .mdc-switch:hover .mdc-switch__ripple::after{opacity:.04;transition:opacity 75ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle.mat-mdc-slide-toggle-focused .mdc-switch .mdc-switch__ripple::after{opacity:.12}.mat-mdc-slide-toggle.mat-mdc-slide-toggle-focused .mat-mdc-focus-indicator::before{content:""}.mat-mdc-slide-toggle .mat-ripple-element{opacity:.12}.mat-mdc-slide-toggle .mat-mdc-focus-indicator::before{border-radius:50%}.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle-track,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-elevation-overlay,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__icon,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::after,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::after{transition:none}.mat-mdc-slide-toggle .mdc-switch:enabled+.mdc-label{cursor:pointer}.mdc-switch__handle{transition:width 75ms cubic-bezier(0.4, 0, 0.2, 1),height 75ms cubic-bezier(0.4, 0, 0.2, 1),margin 75ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-switch--selected .mdc-switch__track::before{opacity:var(--mat-switch-hidden-track-opacity);transition:var(--mat-switch-hidden-track-transition)}.mdc-switch--selected .mdc-switch__track::after{opacity:var(--mat-switch-visible-track-opacity);transition:var(--mat-switch-visible-track-transition)}.mdc-switch--unselected .mdc-switch__track::before{opacity:var(--mat-switch-visible-track-opacity);transition:var(--mat-switch-visible-track-transition)}.mdc-switch--unselected .mdc-switch__track::after{opacity:var(--mat-switch-hidden-track-opacity);transition:var(--mat-switch-hidden-track-transition)}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle{width:var(--mat-switch-unselected-handle-size);height:var(--mat-switch-unselected-handle-size)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle{width:var(--mat-switch-selected-handle-size);height:var(--mat-switch-selected-handle-size)}.mat-mdc-slide-toggle .mdc-switch__handle:has(.mdc-switch__icons){width:var(--mat-switch-with-icon-handle-size);height:var(--mat-switch-with-icon-handle-size)}.mat-mdc-slide-toggle:active .mdc-switch:not(.mdc-switch--disabled) .mdc-switch__handle{width:var(--mat-switch-pressed-handle-size);height:var(--mat-switch-pressed-handle-size)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle{margin:var(--mat-switch-selected-handle-horizontal-margin)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-switch-selected-with-icon-handle-horizontal-margin)}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle{margin:var(--mat-switch-unselected-handle-horizontal-margin)}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-switch-unselected-with-icon-handle-horizontal-margin)}.mat-mdc-slide-toggle:active .mdc-switch--selected:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-switch-selected-pressed-handle-horizontal-margin)}.mat-mdc-slide-toggle:active .mdc-switch--unselected:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-switch-unselected-pressed-handle-horizontal-margin)}.mdc-switch__track::after,.mdc-switch__track::before{border-width:var(--mat-switch-track-outline-width);border-color:var(--mat-switch-track-outline-color)}.mdc-switch--selected .mdc-switch__track::after,.mdc-switch--selected .mdc-switch__track::before{border-width:var(--mat-switch-selected-track-outline-width)}.mdc-switch--disabled .mdc-switch__track::after,.mdc-switch--disabled .mdc-switch__track::before{border-width:var(--mat-switch-disabled-unselected-track-outline-width);border-color:var(--mat-switch-disabled-unselected-track-outline-color)}.mdc-switch--disabled.mdc-switch--selected .mdc-switch__handle::after{opacity:var(--mat-switch-disabled-selected-handle-opacity)}.mdc-switch--disabled.mdc-switch--unselected .mdc-switch__handle::after{opacity:var(--mat-switch-disabled-unselected-handle-opacity)}'],encapsulation:2,changeDetection:0})}}return e})();var ab=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=G({type:e})}static{this.\u0275inj=z({imports:[sb,Rt,Rt]})}}return e})();var cb=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=G({type:e})}static{this.\u0275inj=z({imports:[Rt,Rt]})}}return e})();var lb=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=G({type:e})}static{this.\u0275inj=z({imports:[Rt,_t,Rt]})}}return e})();var db=(()=>{class e{constructor(t,i,r,o){this.authService=t,this.brandService=i,this.titleService=r,this.document=o,this.title="Py-Learn"}ngOnInit(){this.titleService.setTitle(this.brandService.name);let t=this.document.querySelector("link[rel*='icon']");t&&(t.href=this.brandService.name==="Py-Learn"?"assets/favicon.png":"assets/majema-favicon.png"),this.authService.checkSession().subscribe(i=>{i&&this.authService.startAutoRefresh()})}static{this.\u0275fac=function(i){return new(i||e)(w(Gr),w(pn),w(Vc),w(W))}}static{this.\u0275cmp=pe({type:e,selectors:[["app-root"]],decls:1,vars:0,template:function(i,r){i&1&&g(0,"router-outlet")},dependencies:[wf],styles:["nav[_ngcontent-%COMP%]{margin:20px}button[_ngcontent-%COMP%]{margin-right:10px;padding:10px 20px;font-size:16px;cursor:pointer}"]})}}return e})();var ub=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=G({type:e,bootstrap:[db]})}static{this.\u0275inj=z({imports:[qv,ob,Ir,Xc,Vv,_t,Zy,ab,cb,lb,Tl,_l]})}}return e})();Wv().bootstrapModule(ub).catch(e=>console.error(e)); diff --git a/dist/gramm-ai/browser/media/Amonk_Outline-LNK3GGJG.ttf b/dist/gramm-ai/browser/media/Amonk_Outline-LNK3GGJG.ttf deleted file mode 100644 index 99bc3494b38bf7640dad65a2e01c3ed2b23b7a1a..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/media/Amonk_Outline-LNK3GGJG.ttf +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5571a943a81cc61f13c85608828f4e831dc971999b14cc31d4888b6a5f1c98ba -size 140868 diff --git a/dist/gramm-ai/browser/media/Raleway-OGE6QTLG.woff2 b/dist/gramm-ai/browser/media/Raleway-OGE6QTLG.woff2 deleted file mode 100644 index 189015b9e6449d6294b9b8133ca0c2378e3411c5..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/media/Raleway-OGE6QTLG.woff2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:47d477915fa5912616e2dc5df8c5780f9202671678cf275472bd39f3381c0098 -size 48336 diff --git a/dist/gramm-ai/browser/media/Raleway-YBWB2BVX.ttf b/dist/gramm-ai/browser/media/Raleway-YBWB2BVX.ttf deleted file mode 100644 index c931f3f964a404451633c81bb63c22778033ee54..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/media/Raleway-YBWB2BVX.ttf +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d92beb04211a805e375a09623508986cb000846ae120c3c8b817480dc0f7e8f1 -size 98472 diff --git a/dist/gramm-ai/browser/media/RetroSigned-FXONQQOR.ttf b/dist/gramm-ai/browser/media/RetroSigned-FXONQQOR.ttf deleted file mode 100644 index 1a68a31a2e08f8e37496401aa0229b60deaf310d..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/media/RetroSigned-FXONQQOR.ttf +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9a98bc74eb06b8c519d11125c601199d60594e51ba148c0c86c5511a4547f123 -size 726760 diff --git a/dist/gramm-ai/browser/media/Super Cartoon-JJ6FODL3.ttf b/dist/gramm-ai/browser/media/Super Cartoon-JJ6FODL3.ttf deleted file mode 100644 index eb802fdb4cd8980c8d0b9b05278c05e663e21e8b..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/media/Super Cartoon-JJ6FODL3.ttf +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a7dfd44abf83aa6b91004efe681d5464093fe438d36ef1045741a514b8f53e71 -size 80436 diff --git a/dist/gramm-ai/browser/media/fa-brands-400-Q3XCMWHQ.woff2 b/dist/gramm-ai/browser/media/fa-brands-400-Q3XCMWHQ.woff2 deleted file mode 100644 index 9282aa2614012329cc49a480d2e9d23c9ba8e5a4..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/media/fa-brands-400-Q3XCMWHQ.woff2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d7236a19bf23cbb2027280e8f51dc99d6c45976a2ed60de73382b034b18a2b68 -size 118684 diff --git a/dist/gramm-ai/browser/media/fa-brands-400-R2XQZCET.ttf b/dist/gramm-ai/browser/media/fa-brands-400-R2XQZCET.ttf deleted file mode 100644 index 4f4f74d5e8bcda87f4be5eb9b9d2294d9296ec22..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/media/fa-brands-400-R2XQZCET.ttf +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:808443ae6c8204395add8543da8a90a60b9376fb0f87ed8e8ea37d109596d805 -size 210792 diff --git a/dist/gramm-ai/browser/media/fa-regular-400-QSNYFYRT.woff2 b/dist/gramm-ai/browser/media/fa-regular-400-QSNYFYRT.woff2 deleted file mode 100644 index 7d3948f6647daaebd33ab264e079464b714c5911..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/media/fa-regular-400-QSNYFYRT.woff2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e3456d1283b9d75337a773dfd147bf908fd02c01b4bf48576d8603a69b13cbe5 -size 25472 diff --git a/dist/gramm-ai/browser/media/fa-regular-400-XUOPSR7E.ttf b/dist/gramm-ai/browser/media/fa-regular-400-XUOPSR7E.ttf deleted file mode 100644 index 22c79d3cb7c5480bd4e22d7d6acd376adeb45727..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/media/fa-regular-400-XUOPSR7E.ttf +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:54cf6086f7bb21f9d072ad494a19b4681fa516dd0a14cee52da01d3651a913a3 -size 68064 diff --git a/dist/gramm-ai/browser/media/fa-solid-900-5ZUYHGA7.woff2 b/dist/gramm-ai/browser/media/fa-solid-900-5ZUYHGA7.woff2 deleted file mode 100644 index d4348340af064ef9c8823f8715a7f146aac1ddd2..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/media/fa-solid-900-5ZUYHGA7.woff2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:aa75998623a391e61c6901794ace832e3ecdd288b56d608f21bea0411acc0b8e -size 158220 diff --git a/dist/gramm-ai/browser/media/fa-solid-900-PJNKLK6W.ttf b/dist/gramm-ai/browser/media/fa-solid-900-PJNKLK6W.ttf deleted file mode 100644 index b8527048bbd22f7cf008ab266761216bee7c9248..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/media/fa-solid-900-PJNKLK6W.ttf +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d2f0593540b0e33ba6de255a54f272d466e31144806956bea8cfdbf7edffc9bd -size 426112 diff --git a/dist/gramm-ai/browser/media/fa-v4compatibility-LFEHZI6Y.woff2 b/dist/gramm-ai/browser/media/fa-v4compatibility-LFEHZI6Y.woff2 deleted file mode 100644 index d6ff0a53dbba29eed70729415931963031467f4a..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/media/fa-v4compatibility-LFEHZI6Y.woff2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0ce9033c69dc714f5f45ef9bf17d55e4c46bcdfad6799a4e92b38e7781bf86bd -size 4796 diff --git a/dist/gramm-ai/browser/media/fa-v4compatibility-YY67RJWG.ttf b/dist/gramm-ai/browser/media/fa-v4compatibility-YY67RJWG.ttf deleted file mode 100644 index 5dfe884002b185e9358d5dde2da69182f1df9333..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/media/fa-v4compatibility-YY67RJWG.ttf +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:30f6abf6baa425825828793d6dfad1fb63765d0e5abaa7af6feafb9bfcece5a0 -size 10836 diff --git a/dist/gramm-ai/browser/polyfills-FFHMD2TL.js b/dist/gramm-ai/browser/polyfills-FFHMD2TL.js deleted file mode 100644 index b01b791166684bb60987db711e758c279dd48c3c..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/polyfills-FFHMD2TL.js +++ /dev/null @@ -1,2 +0,0 @@ -var ce=globalThis;function te(e){return(ce.__Zone_symbol_prefix||"__zone_symbol__")+e}function dt(){let e=ce.performance;function n(M){e&&e.mark&&e.mark(M)}function a(M,s){e&&e.measure&&e.measure(M,s)}n("Zone");class t{static{this.__symbol__=te}static assertZonePatched(){if(ce.Promise!==S.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let s=t.current;for(;s.parent;)s=s.parent;return s}static get current(){return b.zone}static get currentTask(){return D}static __load_patch(s,i,o=!1){if(S.hasOwnProperty(s)){let g=ce[te("forceDuplicateZoneCheck")]===!0;if(!o&&g)throw Error("Already loaded patch: "+s)}else if(!ce["__Zone_disable_"+s]){let g="Zone:"+s;n(g),S[s]=i(ce,t,w),a(g,g)}}get parent(){return this._parent}get name(){return this._name}constructor(s,i){this._parent=s,this._name=i?i.name||"unnamed":"",this._properties=i&&i.properties||{},this._zoneDelegate=new f(this,this._parent&&this._parent._zoneDelegate,i)}get(s){let i=this.getZoneWith(s);if(i)return i._properties[s]}getZoneWith(s){let i=this;for(;i;){if(i._properties.hasOwnProperty(s))return i;i=i._parent}return null}fork(s){if(!s)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,s)}wrap(s,i){if(typeof s!="function")throw new Error("Expecting function got: "+s);let o=this._zoneDelegate.intercept(this,s,i),g=this;return function(){return g.runGuarded(o,this,arguments,i)}}run(s,i,o,g){b={parent:b,zone:this};try{return this._zoneDelegate.invoke(this,s,i,o,g)}finally{b=b.parent}}runGuarded(s,i=null,o,g){b={parent:b,zone:this};try{try{return this._zoneDelegate.invoke(this,s,i,o,g)}catch(V){if(this._zoneDelegate.handleError(this,V))throw V}}finally{b=b.parent}}runTask(s,i,o){if(s.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(s.zone||J).name+"; Execution: "+this.name+")");let g=s,{type:V,data:{isPeriodic:ee=!1,isRefreshable:Z=!1}={}}=s;if(s.state===q&&(V===z||V===y))return;let he=s.state!=A;he&&g._transitionTo(A,d);let _e=D;D=g,b={parent:b,zone:this};try{V==y&&s.data&&!ee&&!Z&&(s.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,g,i,o)}catch(Q){if(this._zoneDelegate.handleError(this,Q))throw Q}}finally{let Q=s.state;if(Q!==q&&Q!==X)if(V==z||ee||Z&&Q===k)he&&g._transitionTo(d,A,k);else{let Ee=g._zoneDelegates;this._updateTaskCount(g,-1),he&&g._transitionTo(q,A,q),Z&&(g._zoneDelegates=Ee)}b=b.parent,D=_e}}scheduleTask(s){if(s.zone&&s.zone!==this){let o=this;for(;o;){if(o===s.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${s.zone.name}`);o=o.parent}}s._transitionTo(k,q);let i=[];s._zoneDelegates=i,s._zone=this;try{s=this._zoneDelegate.scheduleTask(this,s)}catch(o){throw s._transitionTo(X,k,q),this._zoneDelegate.handleError(this,o),o}return s._zoneDelegates===i&&this._updateTaskCount(s,1),s.state==k&&s._transitionTo(d,k),s}scheduleMicroTask(s,i,o,g){return this.scheduleTask(new E(G,s,i,o,g,void 0))}scheduleMacroTask(s,i,o,g,V){return this.scheduleTask(new E(y,s,i,o,g,V))}scheduleEventTask(s,i,o,g,V){return this.scheduleTask(new E(z,s,i,o,g,V))}cancelTask(s){if(s.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(s.zone||J).name+"; Execution: "+this.name+")");if(!(s.state!==d&&s.state!==A)){s._transitionTo(x,d,A);try{this._zoneDelegate.cancelTask(this,s)}catch(i){throw s._transitionTo(X,x),this._zoneDelegate.handleError(this,i),i}return this._updateTaskCount(s,-1),s._transitionTo(q,x),s.runCount=-1,s}}_updateTaskCount(s,i){let o=s._zoneDelegates;i==-1&&(s._zoneDelegates=null);for(let g=0;gM.hasTask(i,o),onScheduleTask:(M,s,i,o)=>M.scheduleTask(i,o),onInvokeTask:(M,s,i,o,g,V)=>M.invokeTask(i,o,g,V),onCancelTask:(M,s,i,o)=>M.cancelTask(i,o)};class f{get zone(){return this._zone}constructor(s,i,o){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this._zone=s,this._parentDelegate=i,this._forkZS=o&&(o&&o.onFork?o:i._forkZS),this._forkDlgt=o&&(o.onFork?i:i._forkDlgt),this._forkCurrZone=o&&(o.onFork?this._zone:i._forkCurrZone),this._interceptZS=o&&(o.onIntercept?o:i._interceptZS),this._interceptDlgt=o&&(o.onIntercept?i:i._interceptDlgt),this._interceptCurrZone=o&&(o.onIntercept?this._zone:i._interceptCurrZone),this._invokeZS=o&&(o.onInvoke?o:i._invokeZS),this._invokeDlgt=o&&(o.onInvoke?i:i._invokeDlgt),this._invokeCurrZone=o&&(o.onInvoke?this._zone:i._invokeCurrZone),this._handleErrorZS=o&&(o.onHandleError?o:i._handleErrorZS),this._handleErrorDlgt=o&&(o.onHandleError?i:i._handleErrorDlgt),this._handleErrorCurrZone=o&&(o.onHandleError?this._zone:i._handleErrorCurrZone),this._scheduleTaskZS=o&&(o.onScheduleTask?o:i._scheduleTaskZS),this._scheduleTaskDlgt=o&&(o.onScheduleTask?i:i._scheduleTaskDlgt),this._scheduleTaskCurrZone=o&&(o.onScheduleTask?this._zone:i._scheduleTaskCurrZone),this._invokeTaskZS=o&&(o.onInvokeTask?o:i._invokeTaskZS),this._invokeTaskDlgt=o&&(o.onInvokeTask?i:i._invokeTaskDlgt),this._invokeTaskCurrZone=o&&(o.onInvokeTask?this._zone:i._invokeTaskCurrZone),this._cancelTaskZS=o&&(o.onCancelTask?o:i._cancelTaskZS),this._cancelTaskDlgt=o&&(o.onCancelTask?i:i._cancelTaskDlgt),this._cancelTaskCurrZone=o&&(o.onCancelTask?this._zone:i._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;let g=o&&o.onHasTask,V=i&&i._hasTaskZS;(g||V)&&(this._hasTaskZS=g?o:c,this._hasTaskDlgt=i,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=this._zone,o.onScheduleTask||(this._scheduleTaskZS=c,this._scheduleTaskDlgt=i,this._scheduleTaskCurrZone=this._zone),o.onInvokeTask||(this._invokeTaskZS=c,this._invokeTaskDlgt=i,this._invokeTaskCurrZone=this._zone),o.onCancelTask||(this._cancelTaskZS=c,this._cancelTaskDlgt=i,this._cancelTaskCurrZone=this._zone))}fork(s,i){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,s,i):new t(s,i)}intercept(s,i,o){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,s,i,o):i}invoke(s,i,o,g,V){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,s,i,o,g,V):i.apply(o,g)}handleError(s,i){return this._handleErrorZS?this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,s,i):!0}scheduleTask(s,i){let o=i;if(this._scheduleTaskZS)this._hasTaskZS&&o._zoneDelegates.push(this._hasTaskDlgtOwner),o=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,s,i),o||(o=i);else if(i.scheduleFn)i.scheduleFn(i);else if(i.type==G)U(i);else throw new Error("Task is missing scheduleFn.");return o}invokeTask(s,i,o,g){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,s,i,o,g):i.callback.apply(o,g)}cancelTask(s,i){let o;if(this._cancelTaskZS)o=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,s,i);else{if(!i.cancelFn)throw Error("Task is not cancelable");o=i.cancelFn(i)}return o}hasTask(s,i){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,s,i)}catch(o){this.handleError(s,o)}}_updateTaskCount(s,i){let o=this._taskCounts,g=o[s],V=o[s]=g+i;if(V<0)throw new Error("More tasks executed then were scheduled.");if(g==0||V==0){let ee={microTask:o.microTask>0,macroTask:o.macroTask>0,eventTask:o.eventTask>0,change:s};this.hasTask(this._zone,ee)}}}class E{constructor(s,i,o,g,V,ee){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=s,this.source=i,this.data=g,this.scheduleFn=V,this.cancelFn=ee,!o)throw new Error("callback is not defined");this.callback=o;let Z=this;s===z&&g&&g.useG?this.invoke=E.invokeTask:this.invoke=function(){return E.invokeTask.call(ce,Z,this,arguments)}}static invokeTask(s,i,o){s||(s=this),K++;try{return s.runCount++,s.zone.runTask(s,i,o)}finally{K==1&&$(),K--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(q,k)}_transitionTo(s,i,o){if(this._state===i||this._state===o)this._state=s,s==q&&(this._zoneDelegates=null);else throw new Error(`${this.type} '${this.source}': can not transition to '${s}', expecting state '${i}'${o?" or '"+o+"'":""}, was '${this._state}'.`)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}let T=te("setTimeout"),p=te("Promise"),C=te("then"),_=[],P=!1,I;function H(M){if(I||ce[p]&&(I=ce[p].resolve(0)),I){let s=I[C];s||(s=I.then),s.call(I,M)}else ce[T](M,0)}function U(M){K===0&&_.length===0&&H($),M&&_.push(M)}function $(){if(!P){for(P=!0;_.length;){let M=_;_=[];for(let s=0;sb,onUnhandledError:W,microtaskDrainDone:W,scheduleMicroTask:U,showUncaughtError:()=>!t[te("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:W,patchMethod:()=>W,bindArguments:()=>[],patchThen:()=>W,patchMacroTask:()=>W,patchEventPrototype:()=>W,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>W,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>W,wrapWithCurrentZone:()=>W,filterProperties:()=>[],attachOriginToPatched:()=>W,_redefineProperty:()=>W,patchCallbacks:()=>W,nativeScheduleMicroTask:H},b={parent:null,zone:new t(null,null)},D=null,K=0;function W(){}return a("Zone","Zone"),t}function _t(){let e=globalThis,n=e[te("forceDuplicateZoneCheck")]===!0;if(e.Zone&&(n||typeof e.Zone.__symbol__!="function"))throw new Error("Zone already loaded.");return e.Zone??=dt(),e.Zone}var be=Object.getOwnPropertyDescriptor,Ae=Object.defineProperty,je=Object.getPrototypeOf,Et=Object.create,Tt=Array.prototype.slice,He="addEventListener",xe="removeEventListener",Le=te(He),Ie=te(xe),ae="true",le="false",Pe=te("");function Ve(e,n){return Zone.current.wrap(e,n)}function Ge(e,n,a,t,c){return Zone.current.scheduleMacroTask(e,n,a,t,c)}var j=te,De=typeof window<"u",pe=De?window:void 0,Y=De&&pe||globalThis,gt="removeAttribute";function Fe(e,n){for(let a=e.length-1;a>=0;a--)typeof e[a]=="function"&&(e[a]=Ve(e[a],n+"_"+a));return e}function yt(e,n){let a=e.constructor.name;for(let t=0;t{let p=function(){return T.apply(this,Fe(arguments,a+"."+c))};return fe(p,T),p})(f)}}}function tt(e){return e?e.writable===!1?!1:!(typeof e.get=="function"&&typeof e.set>"u"):!0}var nt=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Se=!("nw"in Y)&&typeof Y.process<"u"&&Y.process.toString()==="[object process]",Be=!Se&&!nt&&!!(De&&pe.HTMLElement),rt=typeof Y.process<"u"&&Y.process.toString()==="[object process]"&&!nt&&!!(De&&pe.HTMLElement),Ce={},mt=j("enable_beforeunload"),Ye=function(e){if(e=e||Y.event,!e)return;let n=Ce[e.type];n||(n=Ce[e.type]=j("ON_PROPERTY"+e.type));let a=this||e.target||Y,t=a[n],c;if(Be&&a===pe&&e.type==="error"){let f=e;c=t&&t.call(this,f.message,f.filename,f.lineno,f.colno,f.error),c===!0&&e.preventDefault()}else c=t&&t.apply(this,arguments),e.type==="beforeunload"&&Y[mt]&&typeof c=="string"?e.returnValue=c:c!=null&&!c&&e.preventDefault();return c};function $e(e,n,a){let t=be(e,n);if(!t&&a&&be(a,n)&&(t={enumerable:!0,configurable:!0}),!t||!t.configurable)return;let c=j("on"+n+"patched");if(e.hasOwnProperty(c)&&e[c])return;delete t.writable,delete t.value;let f=t.get,E=t.set,T=n.slice(2),p=Ce[T];p||(p=Ce[T]=j("ON_PROPERTY"+T)),t.set=function(C){let _=this;if(!_&&e===Y&&(_=Y),!_)return;typeof _[p]=="function"&&_.removeEventListener(T,Ye),E&&E.call(_,null),_[p]=C,typeof C=="function"&&_.addEventListener(T,Ye,!1)},t.get=function(){let C=this;if(!C&&e===Y&&(C=Y),!C)return null;let _=C[p];if(_)return _;if(f){let P=f.call(this);if(P)return t.set.call(this,P),typeof C[gt]=="function"&&C.removeAttribute(n),P}return null},Ae(e,n,t),e[c]=!0}function ot(e,n,a){if(n)for(let t=0;tfunction(E,T){let p=a(E,T);return p.cbIdx>=0&&typeof T[p.cbIdx]=="function"?Ge(p.name,T[p.cbIdx],p,c):f.apply(E,T)})}function fe(e,n){e[j("OriginalDelegate")]=n}var Je=!1,Me=!1;function kt(){try{let e=pe.navigator.userAgent;if(e.indexOf("MSIE ")!==-1||e.indexOf("Trident/")!==-1)return!0}catch{}return!1}function vt(){if(Je)return Me;Je=!0;try{let e=pe.navigator.userAgent;(e.indexOf("MSIE ")!==-1||e.indexOf("Trident/")!==-1||e.indexOf("Edge/")!==-1)&&(Me=!0)}catch{}return Me}function Ke(e){return typeof e=="function"}function Qe(e){return typeof e=="number"}var me=!1;if(typeof window<"u")try{let e=Object.defineProperty({},"passive",{get:function(){me=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{me=!1}var bt={useG:!0},ne={},st={},it=new RegExp("^"+Pe+"(\\w+)(true|false)$"),ct=j("propagationStopped");function at(e,n){let a=(n?n(e):e)+le,t=(n?n(e):e)+ae,c=Pe+a,f=Pe+t;ne[e]={},ne[e][le]=c,ne[e][ae]=f}function Pt(e,n,a,t){let c=t&&t.add||He,f=t&&t.rm||xe,E=t&&t.listeners||"eventListeners",T=t&&t.rmAll||"removeAllListeners",p=j(c),C="."+c+":",_="prependListener",P="."+_+":",I=function(k,d,A){if(k.isRemoved)return;let x=k.callback;typeof x=="object"&&x.handleEvent&&(k.callback=y=>x.handleEvent(y),k.originalDelegate=x);let X;try{k.invoke(k,d,[A])}catch(y){X=y}let G=k.options;if(G&&typeof G=="object"&&G.once){let y=k.originalDelegate?k.originalDelegate:k.callback;d[f].call(d,A.type,y,G)}return X};function H(k,d,A){if(d=d||e.event,!d)return;let x=k||d.target||e,X=x[ne[d.type][A?ae:le]];if(X){let G=[];if(X.length===1){let y=I(X[0],x,d);y&&G.push(y)}else{let y=X.slice();for(let z=0;z{throw z})}}}let U=function(k){return H(this,k,!1)},$=function(k){return H(this,k,!0)};function J(k,d){if(!k)return!1;let A=!0;d&&d.useG!==void 0&&(A=d.useG);let x=d&&d.vh,X=!0;d&&d.chkDup!==void 0&&(X=d.chkDup);let G=!1;d&&d.rt!==void 0&&(G=d.rt);let y=k;for(;y&&!y.hasOwnProperty(c);)y=je(y);if(!y&&k[c]&&(y=k),!y||y[p])return!1;let z=d&&d.eventNameToString,S={},w=y[p]=y[c],b=y[j(f)]=y[f],D=y[j(E)]=y[E],K=y[j(T)]=y[T],W;d&&d.prepend&&(W=y[j(d.prepend)]=y[d.prepend]);function M(r,u){return!me&&typeof r=="object"&&r?!!r.capture:!me||!u?r:typeof r=="boolean"?{capture:r,passive:!0}:r?typeof r=="object"&&r.passive!==!1?{...r,passive:!0}:r:{passive:!0}}let s=function(r){if(!S.isExisting)return w.call(S.target,S.eventName,S.capture?$:U,S.options)},i=function(r){if(!r.isRemoved){let u=ne[r.eventName],v;u&&(v=u[r.capture?ae:le]);let R=v&&r.target[v];if(R){for(let m=0;mre.zone.cancelTask(re);r.call(Te,"abort",ie,{once:!0}),re.removeAbortListener=()=>Te.removeEventListener("abort",ie)}if(S.target=null,ke&&(ke.taskData=null),Ue&&(S.options.once=!0),!me&&typeof re.options=="boolean"||(re.options=se),re.target=N,re.capture=Oe,re.eventName=L,B&&(re.originalDelegate=F),O?ge.unshift(re):ge.push(re),m)return N}};return y[c]=l(w,C,ee,Z,G),W&&(y[_]=l(W,P,g,Z,G,!0)),y[f]=function(){let r=this||e,u=arguments[0];d&&d.transferEventName&&(u=d.transferEventName(u));let v=arguments[2],R=v?typeof v=="boolean"?!0:v.capture:!1,m=arguments[1];if(!m)return b.apply(this,arguments);if(x&&!x(b,m,r,arguments))return;let O=ne[u],N;O&&(N=O[R?ae:le]);let L=N&&r[N];if(L)for(let F=0;Ffunction(c,f){c[ct]=!0,t&&t.apply(c,f)})}function Rt(e,n){n.patchMethod(e,"queueMicrotask",a=>function(t,c){Zone.current.scheduleMicroTask("queueMicrotask",c[0])})}var Re=j("zoneTask");function ye(e,n,a,t){let c=null,f=null;n+=t,a+=t;let E={};function T(C){let _=C.data;_.args[0]=function(){return C.invoke.apply(this,arguments)};let P=c.apply(e,_.args);return Qe(P)?_.handleId=P:(_.handle=P,_.isRefreshable=Ke(P.refresh)),C}function p(C){let{handle:_,handleId:P}=C.data;return f.call(e,_??P)}c=ue(e,n,C=>function(_,P){if(Ke(P[0])){let I={isRefreshable:!1,isPeriodic:t==="Interval",delay:t==="Timeout"||t==="Interval"?P[1]||0:void 0,args:P},H=P[0];P[0]=function(){try{return H.apply(this,arguments)}finally{let{handle:A,handleId:x,isPeriodic:X,isRefreshable:G}=I;!X&&!G&&(x?delete E[x]:A&&(A[Re]=null))}};let U=Ge(n,P[0],I,T,p);if(!U)return U;let{handleId:$,handle:J,isRefreshable:q,isPeriodic:k}=U.data;if($)E[$]=U;else if(J&&(J[Re]=U,q&&!k)){let d=J.refresh;J.refresh=function(){let{zone:A,state:x}=U;return x==="notScheduled"?(U._state="scheduled",A._updateTaskCount(U,1)):x==="running"&&(U._state="scheduling"),d.call(this)}}return J??$??U}else return C.apply(e,P)}),f=ue(e,a,C=>function(_,P){let I=P[0],H;Qe(I)?(H=E[I],delete E[I]):(H=I?.[Re],H?I[Re]=null:H=I),H?.type?H.cancelFn&&H.zone.cancelTask(H):C.apply(e,P)})}function Ct(e,n){let{isBrowser:a,isMix:t}=n.getGlobalObjects();if(!a&&!t||!e.customElements||!("customElements"in e))return;let c=["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback","formAssociatedCallback","formDisabledCallback","formResetCallback","formStateRestoreCallback"];n.patchCallbacks(n,e.customElements,"customElements","define",c)}function Dt(e,n){if(Zone[n.symbol("patchEventTarget")])return;let{eventNames:a,zoneSymbolEventNames:t,TRUE_STR:c,FALSE_STR:f,ZONE_SYMBOL_PREFIX:E}=n.getGlobalObjects();for(let p=0;pf.target===e);if(!t||t.length===0)return n;let c=t[0].ignoreProperties;return n.filter(f=>c.indexOf(f)===-1)}function et(e,n,a,t){if(!e)return;let c=ut(e,n,a);ot(e,c,t)}function Ze(e){return Object.getOwnPropertyNames(e).filter(n=>n.startsWith("on")&&n.length>2).map(n=>n.substring(2))}function Ot(e,n){if(Se&&!rt||Zone[e.symbol("patchEvents")])return;let a=n.__Zone_ignore_on_properties,t=[];if(Be){let c=window;t=t.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);let f=kt()?[{target:c,ignoreProperties:["error"]}]:[];et(c,Ze(c),a&&a.concat(f),je(c))}t=t.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let c=0;c{let a=n[e.__symbol__("legacyPatch")];a&&a()}),e.__load_patch("timers",n=>{let a="set",t="clear";ye(n,a,t,"Timeout"),ye(n,a,t,"Interval"),ye(n,a,t,"Immediate")}),e.__load_patch("requestAnimationFrame",n=>{ye(n,"request","cancel","AnimationFrame"),ye(n,"mozRequest","mozCancel","AnimationFrame"),ye(n,"webkitRequest","webkitCancel","AnimationFrame")}),e.__load_patch("blocking",(n,a)=>{let t=["alert","prompt","confirm"];for(let c=0;cfunction(C,_){return a.current.run(E,n,_,p)})}}),e.__load_patch("EventTarget",(n,a,t)=>{St(n,t),Dt(n,t);let c=n.XMLHttpRequestEventTarget;c&&c.prototype&&t.patchEventTarget(n,t,[c.prototype])}),e.__load_patch("MutationObserver",(n,a,t)=>{ve("MutationObserver"),ve("WebKitMutationObserver")}),e.__load_patch("IntersectionObserver",(n,a,t)=>{ve("IntersectionObserver")}),e.__load_patch("FileReader",(n,a,t)=>{ve("FileReader")}),e.__load_patch("on_property",(n,a,t)=>{Ot(t,n)}),e.__load_patch("customElements",(n,a,t)=>{Ct(n,t)}),e.__load_patch("XHR",(n,a)=>{C(n);let t=j("xhrTask"),c=j("xhrSync"),f=j("xhrListener"),E=j("xhrScheduled"),T=j("xhrURL"),p=j("xhrErrorBeforeScheduled");function C(_){let P=_.XMLHttpRequest;if(!P)return;let I=P.prototype;function H(w){return w[t]}let U=I[Le],$=I[Ie];if(!U){let w=_.XMLHttpRequestEventTarget;if(w){let b=w.prototype;U=b[Le],$=b[Ie]}}let J="readystatechange",q="scheduled";function k(w){let b=w.data,D=b.target;D[E]=!1,D[p]=!1;let K=D[f];U||(U=D[Le],$=D[Ie]),K&&$.call(D,J,K);let W=D[f]=()=>{if(D.readyState===D.DONE)if(!b.aborted&&D[E]&&w.state===q){let s=D[a.__symbol__("loadfalse")];if(D.status!==0&&s&&s.length>0){let i=w.invoke;w.invoke=function(){let o=D[a.__symbol__("loadfalse")];for(let g=0;gfunction(w,b){return w[c]=b[2]==!1,w[T]=b[1],x.apply(w,b)}),X="XMLHttpRequest.send",G=j("fetchTaskAborting"),y=j("fetchTaskScheduling"),z=ue(I,"send",()=>function(w,b){if(a.current[y]===!0||w[c])return z.apply(w,b);{let D={target:w,url:w[T],isPeriodic:!1,args:b,aborted:!1},K=Ge(X,d,D,k,A);w&&w[p]===!0&&!D.aborted&&K.state===q&&K.invoke()}}),S=ue(I,"abort",()=>function(w,b){let D=H(w);if(D&&typeof D.type=="string"){if(D.cancelFn==null||D.data&&D.data.aborted)return;D.zone.cancelTask(D)}else if(a.current[G]===!0)return S.apply(w,b)})}}),e.__load_patch("geolocation",n=>{n.navigator&&n.navigator.geolocation&&yt(n.navigator.geolocation,["getCurrentPosition","watchPosition"])}),e.__load_patch("PromiseRejectionEvent",(n,a)=>{function t(c){return function(f){lt(n,c).forEach(T=>{let p=n.PromiseRejectionEvent;if(p){let C=new p(c,{promise:f.promise,reason:f.rejection});T.invoke(C)}})}}n.PromiseRejectionEvent&&(a[j("unhandledPromiseRejectionHandler")]=t("unhandledrejection"),a[j("rejectionHandledHandler")]=t("rejectionhandled"))}),e.__load_patch("queueMicrotask",(n,a,t)=>{Rt(n,t)})}function Lt(e){e.__load_patch("ZoneAwarePromise",(n,a,t)=>{let c=Object.getOwnPropertyDescriptor,f=Object.defineProperty;function E(h){if(h&&h.toString===Object.prototype.toString){let l=h.constructor&&h.constructor.name;return(l||"")+": "+JSON.stringify(h)}return h?h.toString():Object.prototype.toString.call(h)}let T=t.symbol,p=[],C=n[T("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")]!==!1,_=T("Promise"),P=T("then"),I="__creationTrace__";t.onUnhandledError=h=>{if(t.showUncaughtError()){let l=h&&h.rejection;l?console.error("Unhandled Promise rejection:",l instanceof Error?l.message:l,"; Zone:",h.zone.name,"; Task:",h.task&&h.task.source,"; Value:",l,l instanceof Error?l.stack:void 0):console.error(h)}},t.microtaskDrainDone=()=>{for(;p.length;){let h=p.shift();try{h.zone.runGuarded(()=>{throw h.throwOriginal?h.rejection:h})}catch(l){U(l)}}};let H=T("unhandledPromiseRejectionHandler");function U(h){t.onUnhandledError(h);try{let l=a[H];typeof l=="function"&&l.call(this,h)}catch{}}function $(h){return h&&h.then}function J(h){return h}function q(h){return Z.reject(h)}let k=T("state"),d=T("value"),A=T("finally"),x=T("parentPromiseValue"),X=T("parentPromiseState"),G="Promise.then",y=null,z=!0,S=!1,w=0;function b(h,l){return r=>{try{M(h,l,r)}catch(u){M(h,!1,u)}}}let D=function(){let h=!1;return function(r){return function(){h||(h=!0,r.apply(null,arguments))}}},K="Promise resolved with itself",W=T("currentTaskTrace");function M(h,l,r){let u=D();if(h===r)throw new TypeError(K);if(h[k]===y){let v=null;try{(typeof r=="object"||typeof r=="function")&&(v=r&&r.then)}catch(R){return u(()=>{M(h,!1,R)})(),h}if(l!==S&&r instanceof Z&&r.hasOwnProperty(k)&&r.hasOwnProperty(d)&&r[k]!==y)i(r),M(h,r[k],r[d]);else if(l!==S&&typeof v=="function")try{v.call(r,u(b(h,l)),u(b(h,!1)))}catch(R){u(()=>{M(h,!1,R)})()}else{h[k]=l;let R=h[d];if(h[d]=r,h[A]===A&&l===z&&(h[k]=h[X],h[d]=h[x]),l===S&&r instanceof Error){let m=a.currentTask&&a.currentTask.data&&a.currentTask.data[I];m&&f(r,W,{configurable:!0,enumerable:!1,writable:!0,value:m})}for(let m=0;m{try{let O=h[d],N=!!r&&A===r[A];N&&(r[x]=O,r[X]=R);let L=l.run(m,void 0,N&&m!==q&&m!==J?[]:[O]);M(r,!0,L)}catch(O){M(r,!1,O)}},r)}let g="function ZoneAwarePromise() { [native code] }",V=function(){},ee=n.AggregateError;class Z{static toString(){return g}static resolve(l){return l instanceof Z?l:M(new this(null),z,l)}static reject(l){return M(new this(null),S,l)}static withResolvers(){let l={};return l.promise=new Z((r,u)=>{l.resolve=r,l.reject=u}),l}static any(l){if(!l||typeof l[Symbol.iterator]!="function")return Promise.reject(new ee([],"All promises were rejected"));let r=[],u=0;try{for(let m of l)u++,r.push(Z.resolve(m))}catch{return Promise.reject(new ee([],"All promises were rejected"))}if(u===0)return Promise.reject(new ee([],"All promises were rejected"));let v=!1,R=[];return new Z((m,O)=>{for(let N=0;N{v||(v=!0,m(L))},L=>{R.push(L),u--,u===0&&(v=!0,O(new ee(R,"All promises were rejected")))})})}static race(l){let r,u,v=new this((O,N)=>{r=O,u=N});function R(O){r(O)}function m(O){u(O)}for(let O of l)$(O)||(O=this.resolve(O)),O.then(R,m);return v}static all(l){return Z.allWithCallback(l)}static allSettled(l){return(this&&this.prototype instanceof Z?this:Z).allWithCallback(l,{thenCallback:u=>({status:"fulfilled",value:u}),errorCallback:u=>({status:"rejected",reason:u})})}static allWithCallback(l,r){let u,v,R=new this((L,F)=>{u=L,v=F}),m=2,O=0,N=[];for(let L of l){$(L)||(L=this.resolve(L));let F=O;try{L.then(B=>{N[F]=r?r.thenCallback(B):B,m--,m===0&&u(N)},B=>{r?(N[F]=r.errorCallback(B),m--,m===0&&u(N)):v(B)})}catch(B){v(B)}m++,O++}return m-=2,m===0&&u(N),R}constructor(l){let r=this;if(!(r instanceof Z))throw new Error("Must be an instanceof Promise.");r[k]=y,r[d]=[];try{let u=D();l&&l(u(b(r,z)),u(b(r,S)))}catch(u){M(r,!1,u)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return Z}then(l,r){let u=this.constructor?.[Symbol.species];(!u||typeof u!="function")&&(u=this.constructor||Z);let v=new u(V),R=a.current;return this[k]==y?this[d].push(R,v,l,r):o(this,R,v,l,r),v}catch(l){return this.then(null,l)}finally(l){let r=this.constructor?.[Symbol.species];(!r||typeof r!="function")&&(r=Z);let u=new r(V);u[A]=A;let v=a.current;return this[k]==y?this[d].push(v,u,l,l):o(this,v,u,l,l),u}}Z.resolve=Z.resolve,Z.reject=Z.reject,Z.race=Z.race,Z.all=Z.all;let he=n[_]=n.Promise;n.Promise=Z;let _e=T("thenPatched");function Q(h){let l=h.prototype,r=c(l,"then");if(r&&(r.writable===!1||!r.configurable))return;let u=l.then;l[P]=u,h.prototype.then=function(v,R){return new Z((O,N)=>{u.call(this,O,N)}).then(v,R)},h[_e]=!0}t.patchThen=Q;function Ee(h){return function(l,r){let u=h.apply(l,r);if(u instanceof Z)return u;let v=u.constructor;return v[_e]||Q(v),u}}return he&&(Q(he),ue(n,"fetch",h=>Ee(h))),Promise[a.__symbol__("uncaughtPromiseErrors")]=p,Z})}function It(e){e.__load_patch("toString",n=>{let a=Function.prototype.toString,t=j("OriginalDelegate"),c=j("Promise"),f=j("Error"),E=function(){if(typeof this=="function"){let _=this[t];if(_)return typeof _=="function"?a.call(_):Object.prototype.toString.call(_);if(this===Promise){let P=n[c];if(P)return a.call(P)}if(this===Error){let P=n[f];if(P)return a.call(P)}}return a.call(this)};E[t]=a,Function.prototype.toString=E;let T=Object.prototype.toString,p="[object Promise]";Object.prototype.toString=function(){return typeof Promise=="function"&&this instanceof Promise?p:T.call(this)}})}function Mt(e,n,a,t,c){let f=Zone.__symbol__(t);if(n[f])return;let E=n[f]=n[t];n[t]=function(T,p,C){return p&&p.prototype&&c.forEach(function(_){let P=`${a}.${t}::`+_,I=p.prototype;try{if(I.hasOwnProperty(_)){let H=e.ObjectGetOwnPropertyDescriptor(I,_);H&&H.value?(H.value=e.wrapWithCurrentZone(H.value,P),e._redefineProperty(p.prototype,_,H)):I[_]&&(I[_]=e.wrapWithCurrentZone(I[_],P))}else I[_]&&(I[_]=e.wrapWithCurrentZone(I[_],P))}catch{}}),E.call(n,T,p,C)},e.attachOriginToPatched(n[t],E)}function Zt(e){e.__load_patch("util",(n,a,t)=>{let c=Ze(n);t.patchOnProperties=ot,t.patchMethod=ue,t.bindArguments=Fe,t.patchMacroTask=pt;let f=a.__symbol__("BLACK_LISTED_EVENTS"),E=a.__symbol__("UNPATCHED_EVENTS");n[E]&&(n[f]=n[E]),n[f]&&(a[f]=a[E]=n[f]),t.patchEventPrototype=wt,t.patchEventTarget=Pt,t.isIEOrEdge=vt,t.ObjectDefineProperty=Ae,t.ObjectGetOwnPropertyDescriptor=be,t.ObjectCreate=Et,t.ArraySlice=Tt,t.patchClass=ve,t.wrapWithCurrentZone=Ve,t.filterProperties=ut,t.attachOriginToPatched=fe,t._redefineProperty=Object.defineProperty,t.patchCallbacks=Mt,t.getGlobalObjects=()=>({globalSources:st,zoneSymbolEventNames:ne,eventNames:c,isBrowser:Be,isMix:rt,isNode:Se,TRUE_STR:ae,FALSE_STR:le,ZONE_SYMBOL_PREFIX:Pe,ADD_EVENT_LISTENER_STR:He,REMOVE_EVENT_LISTENER_STR:xe})})}function At(e){Lt(e),It(e),Zt(e)}var ft=_t();At(ft);Nt(ft); diff --git a/dist/gramm-ai/browser/styles-TX4PRGSR.css b/dist/gramm-ai/browser/styles-TX4PRGSR.css deleted file mode 100644 index 94af39d02a5ba5b97b8778cd48bbdceb59bad2e9..0000000000000000000000000000000000000000 --- a/dist/gramm-ai/browser/styles-TX4PRGSR.css +++ /dev/null @@ -1 +0,0 @@ -.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-regular,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-brands:before,.fa-regular:before,.fa-solid:before,.fa:before,.fab:before,.far:before,.fas:before{content:var(--fa)}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{animation-name:fa-spin;animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation-delay:-1ms;animation-duration:1ms;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-0{--fa:"0"}.fa-1{--fa:"1"}.fa-2{--fa:"2"}.fa-3{--fa:"3"}.fa-4{--fa:"4"}.fa-5{--fa:"5"}.fa-6{--fa:"6"}.fa-7{--fa:"7"}.fa-8{--fa:"8"}.fa-9{--fa:"9"}.fa-fill-drip{--fa:"\f576"}.fa-arrows-to-circle{--fa:"\e4bd"}.fa-chevron-circle-right,.fa-circle-chevron-right{--fa:"\f138"}.fa-at{--fa:"@"}.fa-trash-alt,.fa-trash-can{--fa:"\f2ed"}.fa-text-height{--fa:"\f034"}.fa-user-times,.fa-user-xmark{--fa:"\f235"}.fa-stethoscope{--fa:"\f0f1"}.fa-comment-alt,.fa-message{--fa:"\f27a"}.fa-info{--fa:"\f129"}.fa-compress-alt,.fa-down-left-and-up-right-to-center{--fa:"\f422"}.fa-explosion{--fa:"\e4e9"}.fa-file-alt,.fa-file-lines,.fa-file-text{--fa:"\f15c"}.fa-wave-square{--fa:"\f83e"}.fa-ring{--fa:"\f70b"}.fa-building-un{--fa:"\e4d9"}.fa-dice-three{--fa:"\f527"}.fa-calendar-alt,.fa-calendar-days{--fa:"\f073"}.fa-anchor-circle-check{--fa:"\e4aa"}.fa-building-circle-arrow-right{--fa:"\e4d1"}.fa-volleyball,.fa-volleyball-ball{--fa:"\f45f"}.fa-arrows-up-to-line{--fa:"\e4c2"}.fa-sort-desc,.fa-sort-down{--fa:"\f0dd"}.fa-circle-minus,.fa-minus-circle{--fa:"\f056"}.fa-door-open{--fa:"\f52b"}.fa-right-from-bracket,.fa-sign-out-alt{--fa:"\f2f5"}.fa-atom{--fa:"\f5d2"}.fa-soap{--fa:"\e06e"}.fa-heart-music-camera-bolt,.fa-icons{--fa:"\f86d"}.fa-microphone-alt-slash,.fa-microphone-lines-slash{--fa:"\f539"}.fa-bridge-circle-check{--fa:"\e4c9"}.fa-pump-medical{--fa:"\e06a"}.fa-fingerprint{--fa:"\f577"}.fa-hand-point-right{--fa:"\f0a4"}.fa-magnifying-glass-location,.fa-search-location{--fa:"\f689"}.fa-forward-step,.fa-step-forward{--fa:"\f051"}.fa-face-smile-beam,.fa-smile-beam{--fa:"\f5b8"}.fa-flag-checkered{--fa:"\f11e"}.fa-football,.fa-football-ball{--fa:"\f44e"}.fa-school-circle-exclamation{--fa:"\e56c"}.fa-crop{--fa:"\f125"}.fa-angle-double-down,.fa-angles-down{--fa:"\f103"}.fa-users-rectangle{--fa:"\e594"}.fa-people-roof{--fa:"\e537"}.fa-people-line{--fa:"\e534"}.fa-beer,.fa-beer-mug-empty{--fa:"\f0fc"}.fa-diagram-predecessor{--fa:"\e477"}.fa-arrow-up-long,.fa-long-arrow-up{--fa:"\f176"}.fa-burn,.fa-fire-flame-simple{--fa:"\f46a"}.fa-male,.fa-person{--fa:"\f183"}.fa-laptop{--fa:"\f109"}.fa-file-csv{--fa:"\f6dd"}.fa-menorah{--fa:"\f676"}.fa-truck-plane{--fa:"\e58f"}.fa-record-vinyl{--fa:"\f8d9"}.fa-face-grin-stars,.fa-grin-stars{--fa:"\f587"}.fa-bong{--fa:"\f55c"}.fa-pastafarianism,.fa-spaghetti-monster-flying{--fa:"\f67b"}.fa-arrow-down-up-across-line{--fa:"\e4af"}.fa-spoon,.fa-utensil-spoon{--fa:"\f2e5"}.fa-jar-wheat{--fa:"\e517"}.fa-envelopes-bulk,.fa-mail-bulk{--fa:"\f674"}.fa-file-circle-exclamation{--fa:"\e4eb"}.fa-circle-h,.fa-hospital-symbol{--fa:"\f47e"}.fa-pager{--fa:"\f815"}.fa-address-book,.fa-contact-book{--fa:"\f2b9"}.fa-strikethrough{--fa:"\f0cc"}.fa-k{--fa:"K"}.fa-landmark-flag{--fa:"\e51c"}.fa-pencil,.fa-pencil-alt{--fa:"\f303"}.fa-backward{--fa:"\f04a"}.fa-caret-right{--fa:"\f0da"}.fa-comments{--fa:"\f086"}.fa-file-clipboard,.fa-paste{--fa:"\f0ea"}.fa-code-pull-request{--fa:"\e13c"}.fa-clipboard-list{--fa:"\f46d"}.fa-truck-loading,.fa-truck-ramp-box{--fa:"\f4de"}.fa-user-check{--fa:"\f4fc"}.fa-vial-virus{--fa:"\e597"}.fa-sheet-plastic{--fa:"\e571"}.fa-blog{--fa:"\f781"}.fa-user-ninja{--fa:"\f504"}.fa-person-arrow-up-from-line{--fa:"\e539"}.fa-scroll-torah,.fa-torah{--fa:"\f6a0"}.fa-broom-ball,.fa-quidditch,.fa-quidditch-broom-ball{--fa:"\f458"}.fa-toggle-off{--fa:"\f204"}.fa-archive,.fa-box-archive{--fa:"\f187"}.fa-person-drowning{--fa:"\e545"}.fa-arrow-down-9-1,.fa-sort-numeric-desc,.fa-sort-numeric-down-alt{--fa:"\f886"}.fa-face-grin-tongue-squint,.fa-grin-tongue-squint{--fa:"\f58a"}.fa-spray-can{--fa:"\f5bd"}.fa-truck-monster{--fa:"\f63b"}.fa-w{--fa:"W"}.fa-earth-africa,.fa-globe-africa{--fa:"\f57c"}.fa-rainbow{--fa:"\f75b"}.fa-circle-notch{--fa:"\f1ce"}.fa-tablet-alt,.fa-tablet-screen-button{--fa:"\f3fa"}.fa-paw{--fa:"\f1b0"}.fa-cloud{--fa:"\f0c2"}.fa-trowel-bricks{--fa:"\e58a"}.fa-face-flushed,.fa-flushed{--fa:"\f579"}.fa-hospital-user{--fa:"\f80d"}.fa-tent-arrow-left-right{--fa:"\e57f"}.fa-gavel,.fa-legal{--fa:"\f0e3"}.fa-binoculars{--fa:"\f1e5"}.fa-microphone-slash{--fa:"\f131"}.fa-box-tissue{--fa:"\e05b"}.fa-motorcycle{--fa:"\f21c"}.fa-bell-concierge,.fa-concierge-bell{--fa:"\f562"}.fa-pen-ruler,.fa-pencil-ruler{--fa:"\f5ae"}.fa-people-arrows,.fa-people-arrows-left-right{--fa:"\e068"}.fa-mars-and-venus-burst{--fa:"\e523"}.fa-caret-square-right,.fa-square-caret-right{--fa:"\f152"}.fa-cut,.fa-scissors{--fa:"\f0c4"}.fa-sun-plant-wilt{--fa:"\e57a"}.fa-toilets-portable{--fa:"\e584"}.fa-hockey-puck{--fa:"\f453"}.fa-table{--fa:"\f0ce"}.fa-magnifying-glass-arrow-right{--fa:"\e521"}.fa-digital-tachograph,.fa-tachograph-digital{--fa:"\f566"}.fa-users-slash{--fa:"\e073"}.fa-clover{--fa:"\e139"}.fa-mail-reply,.fa-reply{--fa:"\f3e5"}.fa-star-and-crescent{--fa:"\f699"}.fa-house-fire{--fa:"\e50c"}.fa-minus-square,.fa-square-minus{--fa:"\f146"}.fa-helicopter{--fa:"\f533"}.fa-compass{--fa:"\f14e"}.fa-caret-square-down,.fa-square-caret-down{--fa:"\f150"}.fa-file-circle-question{--fa:"\e4ef"}.fa-laptop-code{--fa:"\f5fc"}.fa-swatchbook{--fa:"\f5c3"}.fa-prescription-bottle{--fa:"\f485"}.fa-bars,.fa-navicon{--fa:"\f0c9"}.fa-people-group{--fa:"\e533"}.fa-hourglass-3,.fa-hourglass-end{--fa:"\f253"}.fa-heart-broken,.fa-heart-crack{--fa:"\f7a9"}.fa-external-link-square-alt,.fa-square-up-right{--fa:"\f360"}.fa-face-kiss-beam,.fa-kiss-beam{--fa:"\f597"}.fa-film{--fa:"\f008"}.fa-ruler-horizontal{--fa:"\f547"}.fa-people-robbery{--fa:"\e536"}.fa-lightbulb{--fa:"\f0eb"}.fa-caret-left{--fa:"\f0d9"}.fa-circle-exclamation,.fa-exclamation-circle{--fa:"\f06a"}.fa-school-circle-xmark{--fa:"\e56d"}.fa-arrow-right-from-bracket,.fa-sign-out{--fa:"\f08b"}.fa-chevron-circle-down,.fa-circle-chevron-down{--fa:"\f13a"}.fa-unlock-alt,.fa-unlock-keyhole{--fa:"\f13e"}.fa-cloud-showers-heavy{--fa:"\f740"}.fa-headphones-alt,.fa-headphones-simple{--fa:"\f58f"}.fa-sitemap{--fa:"\f0e8"}.fa-circle-dollar-to-slot,.fa-donate{--fa:"\f4b9"}.fa-memory{--fa:"\f538"}.fa-road-spikes{--fa:"\e568"}.fa-fire-burner{--fa:"\e4f1"}.fa-flag{--fa:"\f024"}.fa-hanukiah{--fa:"\f6e6"}.fa-feather{--fa:"\f52d"}.fa-volume-down,.fa-volume-low{--fa:"\f027"}.fa-comment-slash{--fa:"\f4b3"}.fa-cloud-sun-rain{--fa:"\f743"}.fa-compress{--fa:"\f066"}.fa-wheat-alt,.fa-wheat-awn{--fa:"\e2cd"}.fa-ankh{--fa:"\f644"}.fa-hands-holding-child{--fa:"\e4fa"}.fa-asterisk{--fa:"*"}.fa-check-square,.fa-square-check{--fa:"\f14a"}.fa-peseta-sign{--fa:"\e221"}.fa-header,.fa-heading{--fa:"\f1dc"}.fa-ghost{--fa:"\f6e2"}.fa-list,.fa-list-squares{--fa:"\f03a"}.fa-phone-square-alt,.fa-square-phone-flip{--fa:"\f87b"}.fa-cart-plus{--fa:"\f217"}.fa-gamepad{--fa:"\f11b"}.fa-circle-dot,.fa-dot-circle{--fa:"\f192"}.fa-dizzy,.fa-face-dizzy{--fa:"\f567"}.fa-egg{--fa:"\f7fb"}.fa-house-medical-circle-xmark{--fa:"\e513"}.fa-campground{--fa:"\f6bb"}.fa-folder-plus{--fa:"\f65e"}.fa-futbol,.fa-futbol-ball,.fa-soccer-ball{--fa:"\f1e3"}.fa-paint-brush,.fa-paintbrush{--fa:"\f1fc"}.fa-lock{--fa:"\f023"}.fa-gas-pump{--fa:"\f52f"}.fa-hot-tub,.fa-hot-tub-person{--fa:"\f593"}.fa-map-location,.fa-map-marked{--fa:"\f59f"}.fa-house-flood-water{--fa:"\e50e"}.fa-tree{--fa:"\f1bb"}.fa-bridge-lock{--fa:"\e4cc"}.fa-sack-dollar{--fa:"\f81d"}.fa-edit,.fa-pen-to-square{--fa:"\f044"}.fa-car-side{--fa:"\f5e4"}.fa-share-alt,.fa-share-nodes{--fa:"\f1e0"}.fa-heart-circle-minus{--fa:"\e4ff"}.fa-hourglass-2,.fa-hourglass-half{--fa:"\f252"}.fa-microscope{--fa:"\f610"}.fa-sink{--fa:"\e06d"}.fa-bag-shopping,.fa-shopping-bag{--fa:"\f290"}.fa-arrow-down-z-a,.fa-sort-alpha-desc,.fa-sort-alpha-down-alt{--fa:"\f881"}.fa-mitten{--fa:"\f7b5"}.fa-person-rays{--fa:"\e54d"}.fa-users{--fa:"\f0c0"}.fa-eye-slash{--fa:"\f070"}.fa-flask-vial{--fa:"\e4f3"}.fa-hand,.fa-hand-paper{--fa:"\f256"}.fa-om{--fa:"\f679"}.fa-worm{--fa:"\e599"}.fa-house-circle-xmark{--fa:"\e50b"}.fa-plug{--fa:"\f1e6"}.fa-chevron-up{--fa:"\f077"}.fa-hand-spock{--fa:"\f259"}.fa-stopwatch{--fa:"\f2f2"}.fa-face-kiss,.fa-kiss{--fa:"\f596"}.fa-bridge-circle-xmark{--fa:"\e4cb"}.fa-face-grin-tongue,.fa-grin-tongue{--fa:"\f589"}.fa-chess-bishop{--fa:"\f43a"}.fa-face-grin-wink,.fa-grin-wink{--fa:"\f58c"}.fa-deaf,.fa-deafness,.fa-ear-deaf,.fa-hard-of-hearing{--fa:"\f2a4"}.fa-road-circle-check{--fa:"\e564"}.fa-dice-five{--fa:"\f523"}.fa-rss-square,.fa-square-rss{--fa:"\f143"}.fa-land-mine-on{--fa:"\e51b"}.fa-i-cursor{--fa:"\f246"}.fa-stamp{--fa:"\f5bf"}.fa-stairs{--fa:"\e289"}.fa-i{--fa:"I"}.fa-hryvnia,.fa-hryvnia-sign{--fa:"\f6f2"}.fa-pills{--fa:"\f484"}.fa-face-grin-wide,.fa-grin-alt{--fa:"\f581"}.fa-tooth{--fa:"\f5c9"}.fa-v{--fa:"V"}.fa-bangladeshi-taka-sign{--fa:"\e2e6"}.fa-bicycle{--fa:"\f206"}.fa-rod-asclepius,.fa-rod-snake,.fa-staff-aesculapius,.fa-staff-snake{--fa:"\e579"}.fa-head-side-cough-slash{--fa:"\e062"}.fa-ambulance,.fa-truck-medical{--fa:"\f0f9"}.fa-wheat-awn-circle-exclamation{--fa:"\e598"}.fa-snowman{--fa:"\f7d0"}.fa-mortar-pestle{--fa:"\f5a7"}.fa-road-barrier{--fa:"\e562"}.fa-school{--fa:"\f549"}.fa-igloo{--fa:"\f7ae"}.fa-joint{--fa:"\f595"}.fa-angle-right{--fa:"\f105"}.fa-horse{--fa:"\f6f0"}.fa-q{--fa:"Q"}.fa-g{--fa:"G"}.fa-notes-medical{--fa:"\f481"}.fa-temperature-2,.fa-temperature-half,.fa-thermometer-2,.fa-thermometer-half{--fa:"\f2c9"}.fa-dong-sign{--fa:"\e169"}.fa-capsules{--fa:"\f46b"}.fa-poo-bolt,.fa-poo-storm{--fa:"\f75a"}.fa-face-frown-open,.fa-frown-open{--fa:"\f57a"}.fa-hand-point-up{--fa:"\f0a6"}.fa-money-bill{--fa:"\f0d6"}.fa-bookmark{--fa:"\f02e"}.fa-align-justify{--fa:"\f039"}.fa-umbrella-beach{--fa:"\f5ca"}.fa-helmet-un{--fa:"\e503"}.fa-bullseye{--fa:"\f140"}.fa-bacon{--fa:"\f7e5"}.fa-hand-point-down{--fa:"\f0a7"}.fa-arrow-up-from-bracket{--fa:"\e09a"}.fa-folder,.fa-folder-blank{--fa:"\f07b"}.fa-file-medical-alt,.fa-file-waveform{--fa:"\f478"}.fa-radiation{--fa:"\f7b9"}.fa-chart-simple{--fa:"\e473"}.fa-mars-stroke{--fa:"\f229"}.fa-vial{--fa:"\f492"}.fa-dashboard,.fa-gauge,.fa-gauge-med,.fa-tachometer-alt-average{--fa:"\f624"}.fa-magic-wand-sparkles,.fa-wand-magic-sparkles{--fa:"\e2ca"}.fa-e{--fa:"E"}.fa-pen-alt,.fa-pen-clip{--fa:"\f305"}.fa-bridge-circle-exclamation{--fa:"\e4ca"}.fa-user{--fa:"\f007"}.fa-school-circle-check{--fa:"\e56b"}.fa-dumpster{--fa:"\f793"}.fa-shuttle-van,.fa-van-shuttle{--fa:"\f5b6"}.fa-building-user{--fa:"\e4da"}.fa-caret-square-left,.fa-square-caret-left{--fa:"\f191"}.fa-highlighter{--fa:"\f591"}.fa-key{--fa:"\f084"}.fa-bullhorn{--fa:"\f0a1"}.fa-globe{--fa:"\f0ac"}.fa-synagogue{--fa:"\f69b"}.fa-person-half-dress{--fa:"\e548"}.fa-road-bridge{--fa:"\e563"}.fa-location-arrow{--fa:"\f124"}.fa-c{--fa:"C"}.fa-tablet-button{--fa:"\f10a"}.fa-building-lock{--fa:"\e4d6"}.fa-pizza-slice{--fa:"\f818"}.fa-money-bill-wave{--fa:"\f53a"}.fa-area-chart,.fa-chart-area{--fa:"\f1fe"}.fa-house-flag{--fa:"\e50d"}.fa-person-circle-minus{--fa:"\e540"}.fa-ban,.fa-cancel{--fa:"\f05e"}.fa-camera-rotate{--fa:"\e0d8"}.fa-air-freshener,.fa-spray-can-sparkles{--fa:"\f5d0"}.fa-star{--fa:"\f005"}.fa-repeat{--fa:"\f363"}.fa-cross{--fa:"\f654"}.fa-box{--fa:"\f466"}.fa-venus-mars{--fa:"\f228"}.fa-arrow-pointer,.fa-mouse-pointer{--fa:"\f245"}.fa-expand-arrows-alt,.fa-maximize{--fa:"\f31e"}.fa-charging-station{--fa:"\f5e7"}.fa-shapes,.fa-triangle-circle-square{--fa:"\f61f"}.fa-random,.fa-shuffle{--fa:"\f074"}.fa-person-running,.fa-running{--fa:"\f70c"}.fa-mobile-retro{--fa:"\e527"}.fa-grip-lines-vertical{--fa:"\f7a5"}.fa-spider{--fa:"\f717"}.fa-hands-bound{--fa:"\e4f9"}.fa-file-invoice-dollar{--fa:"\f571"}.fa-plane-circle-exclamation{--fa:"\e556"}.fa-x-ray{--fa:"\f497"}.fa-spell-check{--fa:"\f891"}.fa-slash{--fa:"\f715"}.fa-computer-mouse,.fa-mouse{--fa:"\f8cc"}.fa-arrow-right-to-bracket,.fa-sign-in{--fa:"\f090"}.fa-shop-slash,.fa-store-alt-slash{--fa:"\e070"}.fa-server{--fa:"\f233"}.fa-virus-covid-slash{--fa:"\e4a9"}.fa-shop-lock{--fa:"\e4a5"}.fa-hourglass-1,.fa-hourglass-start{--fa:"\f251"}.fa-blender-phone{--fa:"\f6b6"}.fa-building-wheat{--fa:"\e4db"}.fa-person-breastfeeding{--fa:"\e53a"}.fa-right-to-bracket,.fa-sign-in-alt{--fa:"\f2f6"}.fa-venus{--fa:"\f221"}.fa-passport{--fa:"\f5ab"}.fa-thumb-tack-slash,.fa-thumbtack-slash{--fa:"\e68f"}.fa-heart-pulse,.fa-heartbeat{--fa:"\f21e"}.fa-people-carry,.fa-people-carry-box{--fa:"\f4ce"}.fa-temperature-high{--fa:"\f769"}.fa-microchip{--fa:"\f2db"}.fa-crown{--fa:"\f521"}.fa-weight-hanging{--fa:"\f5cd"}.fa-xmarks-lines{--fa:"\e59a"}.fa-file-prescription{--fa:"\f572"}.fa-weight,.fa-weight-scale{--fa:"\f496"}.fa-user-friends,.fa-user-group{--fa:"\f500"}.fa-arrow-up-a-z,.fa-sort-alpha-up{--fa:"\f15e"}.fa-chess-knight{--fa:"\f441"}.fa-face-laugh-squint,.fa-laugh-squint{--fa:"\f59b"}.fa-wheelchair{--fa:"\f193"}.fa-arrow-circle-up,.fa-circle-arrow-up{--fa:"\f0aa"}.fa-toggle-on{--fa:"\f205"}.fa-person-walking,.fa-walking{--fa:"\f554"}.fa-l{--fa:"L"}.fa-fire{--fa:"\f06d"}.fa-bed-pulse,.fa-procedures{--fa:"\f487"}.fa-shuttle-space,.fa-space-shuttle{--fa:"\f197"}.fa-face-laugh,.fa-laugh{--fa:"\f599"}.fa-folder-open{--fa:"\f07c"}.fa-heart-circle-plus{--fa:"\e500"}.fa-code-fork{--fa:"\e13b"}.fa-city{--fa:"\f64f"}.fa-microphone-alt,.fa-microphone-lines{--fa:"\f3c9"}.fa-pepper-hot{--fa:"\f816"}.fa-unlock{--fa:"\f09c"}.fa-colon-sign{--fa:"\e140"}.fa-headset{--fa:"\f590"}.fa-store-slash{--fa:"\e071"}.fa-road-circle-xmark{--fa:"\e566"}.fa-user-minus{--fa:"\f503"}.fa-mars-stroke-up,.fa-mars-stroke-v{--fa:"\f22a"}.fa-champagne-glasses,.fa-glass-cheers{--fa:"\f79f"}.fa-clipboard{--fa:"\f328"}.fa-house-circle-exclamation{--fa:"\e50a"}.fa-file-arrow-up,.fa-file-upload{--fa:"\f574"}.fa-wifi,.fa-wifi-3,.fa-wifi-strong{--fa:"\f1eb"}.fa-bath,.fa-bathtub{--fa:"\f2cd"}.fa-underline{--fa:"\f0cd"}.fa-user-edit,.fa-user-pen{--fa:"\f4ff"}.fa-signature{--fa:"\f5b7"}.fa-stroopwafel{--fa:"\f551"}.fa-bold{--fa:"\f032"}.fa-anchor-lock{--fa:"\e4ad"}.fa-building-ngo{--fa:"\e4d7"}.fa-manat-sign{--fa:"\e1d5"}.fa-not-equal{--fa:"\f53e"}.fa-border-style,.fa-border-top-left{--fa:"\f853"}.fa-map-location-dot,.fa-map-marked-alt{--fa:"\f5a0"}.fa-jedi{--fa:"\f669"}.fa-poll,.fa-square-poll-vertical{--fa:"\f681"}.fa-mug-hot{--fa:"\f7b6"}.fa-battery-car,.fa-car-battery{--fa:"\f5df"}.fa-gift{--fa:"\f06b"}.fa-dice-two{--fa:"\f528"}.fa-chess-queen{--fa:"\f445"}.fa-glasses{--fa:"\f530"}.fa-chess-board{--fa:"\f43c"}.fa-building-circle-check{--fa:"\e4d2"}.fa-person-chalkboard{--fa:"\e53d"}.fa-mars-stroke-h,.fa-mars-stroke-right{--fa:"\f22b"}.fa-hand-back-fist,.fa-hand-rock{--fa:"\f255"}.fa-caret-square-up,.fa-square-caret-up{--fa:"\f151"}.fa-cloud-showers-water{--fa:"\e4e4"}.fa-bar-chart,.fa-chart-bar{--fa:"\f080"}.fa-hands-bubbles,.fa-hands-wash{--fa:"\e05e"}.fa-less-than-equal{--fa:"\f537"}.fa-train{--fa:"\f238"}.fa-eye-low-vision,.fa-low-vision{--fa:"\f2a8"}.fa-crow{--fa:"\f520"}.fa-sailboat{--fa:"\e445"}.fa-window-restore{--fa:"\f2d2"}.fa-plus-square,.fa-square-plus{--fa:"\f0fe"}.fa-torii-gate{--fa:"\f6a1"}.fa-frog{--fa:"\f52e"}.fa-bucket{--fa:"\e4cf"}.fa-image{--fa:"\f03e"}.fa-microphone{--fa:"\f130"}.fa-cow{--fa:"\f6c8"}.fa-caret-up{--fa:"\f0d8"}.fa-screwdriver{--fa:"\f54a"}.fa-folder-closed{--fa:"\e185"}.fa-house-tsunami{--fa:"\e515"}.fa-square-nfi{--fa:"\e576"}.fa-arrow-up-from-ground-water{--fa:"\e4b5"}.fa-glass-martini-alt,.fa-martini-glass{--fa:"\f57b"}.fa-square-binary{--fa:"\e69b"}.fa-rotate-back,.fa-rotate-backward,.fa-rotate-left,.fa-undo-alt{--fa:"\f2ea"}.fa-columns,.fa-table-columns{--fa:"\f0db"}.fa-lemon{--fa:"\f094"}.fa-head-side-mask{--fa:"\e063"}.fa-handshake{--fa:"\f2b5"}.fa-gem{--fa:"\f3a5"}.fa-dolly,.fa-dolly-box{--fa:"\f472"}.fa-smoking{--fa:"\f48d"}.fa-compress-arrows-alt,.fa-minimize{--fa:"\f78c"}.fa-monument{--fa:"\f5a6"}.fa-snowplow{--fa:"\f7d2"}.fa-angle-double-right,.fa-angles-right{--fa:"\f101"}.fa-cannabis{--fa:"\f55f"}.fa-circle-play,.fa-play-circle{--fa:"\f144"}.fa-tablets{--fa:"\f490"}.fa-ethernet{--fa:"\f796"}.fa-eur,.fa-euro,.fa-euro-sign{--fa:"\f153"}.fa-chair{--fa:"\f6c0"}.fa-check-circle,.fa-circle-check{--fa:"\f058"}.fa-circle-stop,.fa-stop-circle{--fa:"\f28d"}.fa-compass-drafting,.fa-drafting-compass{--fa:"\f568"}.fa-plate-wheat{--fa:"\e55a"}.fa-icicles{--fa:"\f7ad"}.fa-person-shelter{--fa:"\e54f"}.fa-neuter{--fa:"\f22c"}.fa-id-badge{--fa:"\f2c1"}.fa-marker{--fa:"\f5a1"}.fa-face-laugh-beam,.fa-laugh-beam{--fa:"\f59a"}.fa-helicopter-symbol{--fa:"\e502"}.fa-universal-access{--fa:"\f29a"}.fa-chevron-circle-up,.fa-circle-chevron-up{--fa:"\f139"}.fa-lari-sign{--fa:"\e1c8"}.fa-volcano{--fa:"\f770"}.fa-person-walking-dashed-line-arrow-right{--fa:"\e553"}.fa-gbp,.fa-pound-sign,.fa-sterling-sign{--fa:"\f154"}.fa-viruses{--fa:"\e076"}.fa-square-person-confined{--fa:"\e577"}.fa-user-tie{--fa:"\f508"}.fa-arrow-down-long,.fa-long-arrow-down{--fa:"\f175"}.fa-tent-arrow-down-to-line{--fa:"\e57e"}.fa-certificate{--fa:"\f0a3"}.fa-mail-reply-all,.fa-reply-all{--fa:"\f122"}.fa-suitcase{--fa:"\f0f2"}.fa-person-skating,.fa-skating{--fa:"\f7c5"}.fa-filter-circle-dollar,.fa-funnel-dollar{--fa:"\f662"}.fa-camera-retro{--fa:"\f083"}.fa-arrow-circle-down,.fa-circle-arrow-down{--fa:"\f0ab"}.fa-arrow-right-to-file,.fa-file-import{--fa:"\f56f"}.fa-external-link-square,.fa-square-arrow-up-right{--fa:"\f14c"}.fa-box-open{--fa:"\f49e"}.fa-scroll{--fa:"\f70e"}.fa-spa{--fa:"\f5bb"}.fa-location-pin-lock{--fa:"\e51f"}.fa-pause{--fa:"\f04c"}.fa-hill-avalanche{--fa:"\e507"}.fa-temperature-0,.fa-temperature-empty,.fa-thermometer-0,.fa-thermometer-empty{--fa:"\f2cb"}.fa-bomb{--fa:"\f1e2"}.fa-registered{--fa:"\f25d"}.fa-address-card,.fa-contact-card,.fa-vcard{--fa:"\f2bb"}.fa-balance-scale-right,.fa-scale-unbalanced-flip{--fa:"\f516"}.fa-subscript{--fa:"\f12c"}.fa-diamond-turn-right,.fa-directions{--fa:"\f5eb"}.fa-burst{--fa:"\e4dc"}.fa-house-laptop,.fa-laptop-house{--fa:"\e066"}.fa-face-tired,.fa-tired{--fa:"\f5c8"}.fa-money-bills{--fa:"\e1f3"}.fa-smog{--fa:"\f75f"}.fa-crutch{--fa:"\f7f7"}.fa-cloud-arrow-up,.fa-cloud-upload,.fa-cloud-upload-alt{--fa:"\f0ee"}.fa-palette{--fa:"\f53f"}.fa-arrows-turn-right{--fa:"\e4c0"}.fa-vest{--fa:"\e085"}.fa-ferry{--fa:"\e4ea"}.fa-arrows-down-to-people{--fa:"\e4b9"}.fa-seedling,.fa-sprout{--fa:"\f4d8"}.fa-arrows-alt-h,.fa-left-right{--fa:"\f337"}.fa-boxes-packing{--fa:"\e4c7"}.fa-arrow-circle-left,.fa-circle-arrow-left{--fa:"\f0a8"}.fa-group-arrows-rotate{--fa:"\e4f6"}.fa-bowl-food{--fa:"\e4c6"}.fa-candy-cane{--fa:"\f786"}.fa-arrow-down-wide-short,.fa-sort-amount-asc,.fa-sort-amount-down{--fa:"\f160"}.fa-cloud-bolt,.fa-thunderstorm{--fa:"\f76c"}.fa-remove-format,.fa-text-slash{--fa:"\f87d"}.fa-face-smile-wink,.fa-smile-wink{--fa:"\f4da"}.fa-file-word{--fa:"\f1c2"}.fa-file-powerpoint{--fa:"\f1c4"}.fa-arrows-h,.fa-arrows-left-right{--fa:"\f07e"}.fa-house-lock{--fa:"\e510"}.fa-cloud-arrow-down,.fa-cloud-download,.fa-cloud-download-alt{--fa:"\f0ed"}.fa-children{--fa:"\e4e1"}.fa-blackboard,.fa-chalkboard{--fa:"\f51b"}.fa-user-alt-slash,.fa-user-large-slash{--fa:"\f4fa"}.fa-envelope-open{--fa:"\f2b6"}.fa-handshake-alt-slash,.fa-handshake-simple-slash{--fa:"\e05f"}.fa-mattress-pillow{--fa:"\e525"}.fa-guarani-sign{--fa:"\e19a"}.fa-arrows-rotate,.fa-refresh,.fa-sync{--fa:"\f021"}.fa-fire-extinguisher{--fa:"\f134"}.fa-cruzeiro-sign{--fa:"\e152"}.fa-greater-than-equal{--fa:"\f532"}.fa-shield-alt,.fa-shield-halved{--fa:"\f3ed"}.fa-atlas,.fa-book-atlas{--fa:"\f558"}.fa-virus{--fa:"\e074"}.fa-envelope-circle-check{--fa:"\e4e8"}.fa-layer-group{--fa:"\f5fd"}.fa-arrows-to-dot{--fa:"\e4be"}.fa-archway{--fa:"\f557"}.fa-heart-circle-check{--fa:"\e4fd"}.fa-house-chimney-crack,.fa-house-damage{--fa:"\f6f1"}.fa-file-archive,.fa-file-zipper{--fa:"\f1c6"}.fa-square{--fa:"\f0c8"}.fa-glass-martini,.fa-martini-glass-empty{--fa:"\f000"}.fa-couch{--fa:"\f4b8"}.fa-cedi-sign{--fa:"\e0df"}.fa-italic{--fa:"\f033"}.fa-table-cells-column-lock{--fa:"\e678"}.fa-church{--fa:"\f51d"}.fa-comments-dollar{--fa:"\f653"}.fa-democrat{--fa:"\f747"}.fa-z{--fa:"Z"}.fa-person-skiing,.fa-skiing{--fa:"\f7c9"}.fa-road-lock{--fa:"\e567"}.fa-a{--fa:"A"}.fa-temperature-arrow-down,.fa-temperature-down{--fa:"\e03f"}.fa-feather-alt,.fa-feather-pointed{--fa:"\f56b"}.fa-p{--fa:"P"}.fa-snowflake{--fa:"\f2dc"}.fa-newspaper{--fa:"\f1ea"}.fa-ad,.fa-rectangle-ad{--fa:"\f641"}.fa-arrow-circle-right,.fa-circle-arrow-right{--fa:"\f0a9"}.fa-filter-circle-xmark{--fa:"\e17b"}.fa-locust{--fa:"\e520"}.fa-sort,.fa-unsorted{--fa:"\f0dc"}.fa-list-1-2,.fa-list-numeric,.fa-list-ol{--fa:"\f0cb"}.fa-person-dress-burst{--fa:"\e544"}.fa-money-check-alt,.fa-money-check-dollar{--fa:"\f53d"}.fa-vector-square{--fa:"\f5cb"}.fa-bread-slice{--fa:"\f7ec"}.fa-language{--fa:"\f1ab"}.fa-face-kiss-wink-heart,.fa-kiss-wink-heart{--fa:"\f598"}.fa-filter{--fa:"\f0b0"}.fa-question{--fa:"?"}.fa-file-signature{--fa:"\f573"}.fa-arrows-alt,.fa-up-down-left-right{--fa:"\f0b2"}.fa-house-chimney-user{--fa:"\e065"}.fa-hand-holding-heart{--fa:"\f4be"}.fa-puzzle-piece{--fa:"\f12e"}.fa-money-check{--fa:"\f53c"}.fa-star-half-alt,.fa-star-half-stroke{--fa:"\f5c0"}.fa-code{--fa:"\f121"}.fa-glass-whiskey,.fa-whiskey-glass{--fa:"\f7a0"}.fa-building-circle-exclamation{--fa:"\e4d3"}.fa-magnifying-glass-chart{--fa:"\e522"}.fa-arrow-up-right-from-square,.fa-external-link{--fa:"\f08e"}.fa-cubes-stacked{--fa:"\e4e6"}.fa-krw,.fa-won,.fa-won-sign{--fa:"\f159"}.fa-virus-covid{--fa:"\e4a8"}.fa-austral-sign{--fa:"\e0a9"}.fa-f{--fa:"F"}.fa-leaf{--fa:"\f06c"}.fa-road{--fa:"\f018"}.fa-cab,.fa-taxi{--fa:"\f1ba"}.fa-person-circle-plus{--fa:"\e541"}.fa-chart-pie,.fa-pie-chart{--fa:"\f200"}.fa-bolt-lightning{--fa:"\e0b7"}.fa-sack-xmark{--fa:"\e56a"}.fa-file-excel{--fa:"\f1c3"}.fa-file-contract{--fa:"\f56c"}.fa-fish-fins{--fa:"\e4f2"}.fa-building-flag{--fa:"\e4d5"}.fa-face-grin-beam,.fa-grin-beam{--fa:"\f582"}.fa-object-ungroup{--fa:"\f248"}.fa-poop{--fa:"\f619"}.fa-location-pin,.fa-map-marker{--fa:"\f041"}.fa-kaaba{--fa:"\f66b"}.fa-toilet-paper{--fa:"\f71e"}.fa-hard-hat,.fa-hat-hard,.fa-helmet-safety{--fa:"\f807"}.fa-eject{--fa:"\f052"}.fa-arrow-alt-circle-right,.fa-circle-right{--fa:"\f35a"}.fa-plane-circle-check{--fa:"\e555"}.fa-face-rolling-eyes,.fa-meh-rolling-eyes{--fa:"\f5a5"}.fa-object-group{--fa:"\f247"}.fa-chart-line,.fa-line-chart{--fa:"\f201"}.fa-mask-ventilator{--fa:"\e524"}.fa-arrow-right{--fa:"\f061"}.fa-map-signs,.fa-signs-post{--fa:"\f277"}.fa-cash-register{--fa:"\f788"}.fa-person-circle-question{--fa:"\e542"}.fa-h{--fa:"H"}.fa-tarp{--fa:"\e57b"}.fa-screwdriver-wrench,.fa-tools{--fa:"\f7d9"}.fa-arrows-to-eye{--fa:"\e4bf"}.fa-plug-circle-bolt{--fa:"\e55b"}.fa-heart{--fa:"\f004"}.fa-mars-and-venus{--fa:"\f224"}.fa-home-user,.fa-house-user{--fa:"\e1b0"}.fa-dumpster-fire{--fa:"\f794"}.fa-house-crack{--fa:"\e3b1"}.fa-cocktail,.fa-martini-glass-citrus{--fa:"\f561"}.fa-face-surprise,.fa-surprise{--fa:"\f5c2"}.fa-bottle-water{--fa:"\e4c5"}.fa-circle-pause,.fa-pause-circle{--fa:"\f28b"}.fa-toilet-paper-slash{--fa:"\e072"}.fa-apple-alt,.fa-apple-whole{--fa:"\f5d1"}.fa-kitchen-set{--fa:"\e51a"}.fa-r{--fa:"R"}.fa-temperature-1,.fa-temperature-quarter,.fa-thermometer-1,.fa-thermometer-quarter{--fa:"\f2ca"}.fa-cube{--fa:"\f1b2"}.fa-bitcoin-sign{--fa:"\e0b4"}.fa-shield-dog{--fa:"\e573"}.fa-solar-panel{--fa:"\f5ba"}.fa-lock-open{--fa:"\f3c1"}.fa-elevator{--fa:"\e16d"}.fa-money-bill-transfer{--fa:"\e528"}.fa-money-bill-trend-up{--fa:"\e529"}.fa-house-flood-water-circle-arrow-right{--fa:"\e50f"}.fa-poll-h,.fa-square-poll-horizontal{--fa:"\f682"}.fa-circle{--fa:"\f111"}.fa-backward-fast,.fa-fast-backward{--fa:"\f049"}.fa-recycle{--fa:"\f1b8"}.fa-user-astronaut{--fa:"\f4fb"}.fa-plane-slash{--fa:"\e069"}.fa-trademark{--fa:"\f25c"}.fa-basketball,.fa-basketball-ball{--fa:"\f434"}.fa-satellite-dish{--fa:"\f7c0"}.fa-arrow-alt-circle-up,.fa-circle-up{--fa:"\f35b"}.fa-mobile-alt,.fa-mobile-screen-button{--fa:"\f3cd"}.fa-volume-high,.fa-volume-up{--fa:"\f028"}.fa-users-rays{--fa:"\e593"}.fa-wallet{--fa:"\f555"}.fa-clipboard-check{--fa:"\f46c"}.fa-file-audio{--fa:"\f1c7"}.fa-burger,.fa-hamburger{--fa:"\f805"}.fa-wrench{--fa:"\f0ad"}.fa-bugs{--fa:"\e4d0"}.fa-rupee,.fa-rupee-sign{--fa:"\f156"}.fa-file-image{--fa:"\f1c5"}.fa-circle-question,.fa-question-circle{--fa:"\f059"}.fa-plane-departure{--fa:"\f5b0"}.fa-handshake-slash{--fa:"\e060"}.fa-book-bookmark{--fa:"\e0bb"}.fa-code-branch{--fa:"\f126"}.fa-hat-cowboy{--fa:"\f8c0"}.fa-bridge{--fa:"\e4c8"}.fa-phone-alt,.fa-phone-flip{--fa:"\f879"}.fa-truck-front{--fa:"\e2b7"}.fa-cat{--fa:"\f6be"}.fa-anchor-circle-exclamation{--fa:"\e4ab"}.fa-truck-field{--fa:"\e58d"}.fa-route{--fa:"\f4d7"}.fa-clipboard-question{--fa:"\e4e3"}.fa-panorama{--fa:"\e209"}.fa-comment-medical{--fa:"\f7f5"}.fa-teeth-open{--fa:"\f62f"}.fa-file-circle-minus{--fa:"\e4ed"}.fa-tags{--fa:"\f02c"}.fa-wine-glass{--fa:"\f4e3"}.fa-fast-forward,.fa-forward-fast{--fa:"\f050"}.fa-face-meh-blank,.fa-meh-blank{--fa:"\f5a4"}.fa-parking,.fa-square-parking{--fa:"\f540"}.fa-house-signal{--fa:"\e012"}.fa-bars-progress,.fa-tasks-alt{--fa:"\f828"}.fa-faucet-drip{--fa:"\e006"}.fa-cart-flatbed,.fa-dolly-flatbed{--fa:"\f474"}.fa-ban-smoking,.fa-smoking-ban{--fa:"\f54d"}.fa-terminal{--fa:"\f120"}.fa-mobile-button{--fa:"\f10b"}.fa-house-medical-flag{--fa:"\e514"}.fa-basket-shopping,.fa-shopping-basket{--fa:"\f291"}.fa-tape{--fa:"\f4db"}.fa-bus-alt,.fa-bus-simple{--fa:"\f55e"}.fa-eye{--fa:"\f06e"}.fa-face-sad-cry,.fa-sad-cry{--fa:"\f5b3"}.fa-audio-description{--fa:"\f29e"}.fa-person-military-to-person{--fa:"\e54c"}.fa-file-shield{--fa:"\e4f0"}.fa-user-slash{--fa:"\f506"}.fa-pen{--fa:"\f304"}.fa-tower-observation{--fa:"\e586"}.fa-file-code{--fa:"\f1c9"}.fa-signal,.fa-signal-5,.fa-signal-perfect{--fa:"\f012"}.fa-bus{--fa:"\f207"}.fa-heart-circle-xmark{--fa:"\e501"}.fa-home-lg,.fa-house-chimney{--fa:"\e3af"}.fa-window-maximize{--fa:"\f2d0"}.fa-face-frown,.fa-frown{--fa:"\f119"}.fa-prescription{--fa:"\f5b1"}.fa-shop,.fa-store-alt{--fa:"\f54f"}.fa-floppy-disk,.fa-save{--fa:"\f0c7"}.fa-vihara{--fa:"\f6a7"}.fa-balance-scale-left,.fa-scale-unbalanced{--fa:"\f515"}.fa-sort-asc,.fa-sort-up{--fa:"\f0de"}.fa-comment-dots,.fa-commenting{--fa:"\f4ad"}.fa-plant-wilt{--fa:"\e5aa"}.fa-diamond{--fa:"\f219"}.fa-face-grin-squint,.fa-grin-squint{--fa:"\f585"}.fa-hand-holding-dollar,.fa-hand-holding-usd{--fa:"\f4c0"}.fa-chart-diagram{--fa:"\e695"}.fa-bacterium{--fa:"\e05a"}.fa-hand-pointer{--fa:"\f25a"}.fa-drum-steelpan{--fa:"\f56a"}.fa-hand-scissors{--fa:"\f257"}.fa-hands-praying,.fa-praying-hands{--fa:"\f684"}.fa-arrow-right-rotate,.fa-arrow-rotate-forward,.fa-arrow-rotate-right,.fa-redo{--fa:"\f01e"}.fa-biohazard{--fa:"\f780"}.fa-location,.fa-location-crosshairs{--fa:"\f601"}.fa-mars-double{--fa:"\f227"}.fa-child-dress{--fa:"\e59c"}.fa-users-between-lines{--fa:"\e591"}.fa-lungs-virus{--fa:"\e067"}.fa-face-grin-tears,.fa-grin-tears{--fa:"\f588"}.fa-phone{--fa:"\f095"}.fa-calendar-times,.fa-calendar-xmark{--fa:"\f273"}.fa-child-reaching{--fa:"\e59d"}.fa-head-side-virus{--fa:"\e064"}.fa-user-cog,.fa-user-gear{--fa:"\f4fe"}.fa-arrow-up-1-9,.fa-sort-numeric-up{--fa:"\f163"}.fa-door-closed{--fa:"\f52a"}.fa-shield-virus{--fa:"\e06c"}.fa-dice-six{--fa:"\f526"}.fa-mosquito-net{--fa:"\e52c"}.fa-file-fragment{--fa:"\e697"}.fa-bridge-water{--fa:"\e4ce"}.fa-person-booth{--fa:"\f756"}.fa-text-width{--fa:"\f035"}.fa-hat-wizard{--fa:"\f6e8"}.fa-pen-fancy{--fa:"\f5ac"}.fa-digging,.fa-person-digging{--fa:"\f85e"}.fa-trash{--fa:"\f1f8"}.fa-gauge-simple,.fa-gauge-simple-med,.fa-tachometer-average{--fa:"\f629"}.fa-book-medical{--fa:"\f7e6"}.fa-poo{--fa:"\f2fe"}.fa-quote-right,.fa-quote-right-alt{--fa:"\f10e"}.fa-shirt,.fa-t-shirt,.fa-tshirt{--fa:"\f553"}.fa-cubes{--fa:"\f1b3"}.fa-divide{--fa:"\f529"}.fa-tenge,.fa-tenge-sign{--fa:"\f7d7"}.fa-headphones{--fa:"\f025"}.fa-hands-holding{--fa:"\f4c2"}.fa-hands-clapping{--fa:"\e1a8"}.fa-republican{--fa:"\f75e"}.fa-arrow-left{--fa:"\f060"}.fa-person-circle-xmark{--fa:"\e543"}.fa-ruler{--fa:"\f545"}.fa-align-left{--fa:"\f036"}.fa-dice-d6{--fa:"\f6d1"}.fa-restroom{--fa:"\f7bd"}.fa-j{--fa:"J"}.fa-users-viewfinder{--fa:"\e595"}.fa-file-video{--fa:"\f1c8"}.fa-external-link-alt,.fa-up-right-from-square{--fa:"\f35d"}.fa-table-cells,.fa-th{--fa:"\f00a"}.fa-file-pdf{--fa:"\f1c1"}.fa-bible,.fa-book-bible{--fa:"\f647"}.fa-o{--fa:"O"}.fa-medkit,.fa-suitcase-medical{--fa:"\f0fa"}.fa-user-secret{--fa:"\f21b"}.fa-otter{--fa:"\f700"}.fa-female,.fa-person-dress{--fa:"\f182"}.fa-comment-dollar{--fa:"\f651"}.fa-briefcase-clock,.fa-business-time{--fa:"\f64a"}.fa-table-cells-large,.fa-th-large{--fa:"\f009"}.fa-book-tanakh,.fa-tanakh{--fa:"\f827"}.fa-phone-volume,.fa-volume-control-phone{--fa:"\f2a0"}.fa-hat-cowboy-side{--fa:"\f8c1"}.fa-clipboard-user{--fa:"\f7f3"}.fa-child{--fa:"\f1ae"}.fa-lira-sign{--fa:"\f195"}.fa-satellite{--fa:"\f7bf"}.fa-plane-lock{--fa:"\e558"}.fa-tag{--fa:"\f02b"}.fa-comment{--fa:"\f075"}.fa-birthday-cake,.fa-cake,.fa-cake-candles{--fa:"\f1fd"}.fa-envelope{--fa:"\f0e0"}.fa-angle-double-up,.fa-angles-up{--fa:"\f102"}.fa-paperclip{--fa:"\f0c6"}.fa-arrow-right-to-city{--fa:"\e4b3"}.fa-ribbon{--fa:"\f4d6"}.fa-lungs{--fa:"\f604"}.fa-arrow-up-9-1,.fa-sort-numeric-up-alt{--fa:"\f887"}.fa-litecoin-sign{--fa:"\e1d3"}.fa-border-none{--fa:"\f850"}.fa-circle-nodes{--fa:"\e4e2"}.fa-parachute-box{--fa:"\f4cd"}.fa-indent{--fa:"\f03c"}.fa-truck-field-un{--fa:"\e58e"}.fa-hourglass,.fa-hourglass-empty{--fa:"\f254"}.fa-mountain{--fa:"\f6fc"}.fa-user-doctor,.fa-user-md{--fa:"\f0f0"}.fa-circle-info,.fa-info-circle{--fa:"\f05a"}.fa-cloud-meatball{--fa:"\f73b"}.fa-camera,.fa-camera-alt{--fa:"\f030"}.fa-square-virus{--fa:"\e578"}.fa-meteor{--fa:"\f753"}.fa-car-on{--fa:"\e4dd"}.fa-sleigh{--fa:"\f7cc"}.fa-arrow-down-1-9,.fa-sort-numeric-asc,.fa-sort-numeric-down{--fa:"\f162"}.fa-hand-holding-droplet,.fa-hand-holding-water{--fa:"\f4c1"}.fa-water{--fa:"\f773"}.fa-calendar-check{--fa:"\f274"}.fa-braille{--fa:"\f2a1"}.fa-prescription-bottle-alt,.fa-prescription-bottle-medical{--fa:"\f486"}.fa-landmark{--fa:"\f66f"}.fa-truck{--fa:"\f0d1"}.fa-crosshairs{--fa:"\f05b"}.fa-person-cane{--fa:"\e53c"}.fa-tent{--fa:"\e57d"}.fa-vest-patches{--fa:"\e086"}.fa-check-double{--fa:"\f560"}.fa-arrow-down-a-z,.fa-sort-alpha-asc,.fa-sort-alpha-down{--fa:"\f15d"}.fa-money-bill-wheat{--fa:"\e52a"}.fa-cookie{--fa:"\f563"}.fa-arrow-left-rotate,.fa-arrow-rotate-back,.fa-arrow-rotate-backward,.fa-arrow-rotate-left,.fa-undo{--fa:"\f0e2"}.fa-hard-drive,.fa-hdd{--fa:"\f0a0"}.fa-face-grin-squint-tears,.fa-grin-squint-tears{--fa:"\f586"}.fa-dumbbell{--fa:"\f44b"}.fa-list-alt,.fa-rectangle-list{--fa:"\f022"}.fa-tarp-droplet{--fa:"\e57c"}.fa-house-medical-circle-check{--fa:"\e511"}.fa-person-skiing-nordic,.fa-skiing-nordic{--fa:"\f7ca"}.fa-calendar-plus{--fa:"\f271"}.fa-plane-arrival{--fa:"\f5af"}.fa-arrow-alt-circle-left,.fa-circle-left{--fa:"\f359"}.fa-subway,.fa-train-subway{--fa:"\f239"}.fa-chart-gantt{--fa:"\e0e4"}.fa-indian-rupee,.fa-indian-rupee-sign,.fa-inr{--fa:"\e1bc"}.fa-crop-alt,.fa-crop-simple{--fa:"\f565"}.fa-money-bill-1,.fa-money-bill-alt{--fa:"\f3d1"}.fa-left-long,.fa-long-arrow-alt-left{--fa:"\f30a"}.fa-dna{--fa:"\f471"}.fa-virus-slash{--fa:"\e075"}.fa-minus,.fa-subtract{--fa:"\f068"}.fa-chess{--fa:"\f439"}.fa-arrow-left-long,.fa-long-arrow-left{--fa:"\f177"}.fa-plug-circle-check{--fa:"\e55c"}.fa-street-view{--fa:"\f21d"}.fa-franc-sign{--fa:"\e18f"}.fa-volume-off{--fa:"\f026"}.fa-american-sign-language-interpreting,.fa-asl-interpreting,.fa-hands-american-sign-language-interpreting,.fa-hands-asl-interpreting{--fa:"\f2a3"}.fa-cog,.fa-gear{--fa:"\f013"}.fa-droplet-slash,.fa-tint-slash{--fa:"\f5c7"}.fa-mosque{--fa:"\f678"}.fa-mosquito{--fa:"\e52b"}.fa-star-of-david{--fa:"\f69a"}.fa-person-military-rifle{--fa:"\e54b"}.fa-cart-shopping,.fa-shopping-cart{--fa:"\f07a"}.fa-vials{--fa:"\f493"}.fa-plug-circle-plus{--fa:"\e55f"}.fa-place-of-worship{--fa:"\f67f"}.fa-grip-vertical{--fa:"\f58e"}.fa-hexagon-nodes{--fa:"\e699"}.fa-arrow-turn-up,.fa-level-up{--fa:"\f148"}.fa-u{--fa:"U"}.fa-square-root-alt,.fa-square-root-variable{--fa:"\f698"}.fa-clock,.fa-clock-four{--fa:"\f017"}.fa-backward-step,.fa-step-backward{--fa:"\f048"}.fa-pallet{--fa:"\f482"}.fa-faucet{--fa:"\e005"}.fa-baseball-bat-ball{--fa:"\f432"}.fa-s{--fa:"S"}.fa-timeline{--fa:"\e29c"}.fa-keyboard{--fa:"\f11c"}.fa-caret-down{--fa:"\f0d7"}.fa-clinic-medical,.fa-house-chimney-medical{--fa:"\f7f2"}.fa-temperature-3,.fa-temperature-three-quarters,.fa-thermometer-3,.fa-thermometer-three-quarters{--fa:"\f2c8"}.fa-mobile-android-alt,.fa-mobile-screen{--fa:"\f3cf"}.fa-plane-up{--fa:"\e22d"}.fa-piggy-bank{--fa:"\f4d3"}.fa-battery-3,.fa-battery-half{--fa:"\f242"}.fa-mountain-city{--fa:"\e52e"}.fa-coins{--fa:"\f51e"}.fa-khanda{--fa:"\f66d"}.fa-sliders,.fa-sliders-h{--fa:"\f1de"}.fa-folder-tree{--fa:"\f802"}.fa-network-wired{--fa:"\f6ff"}.fa-map-pin{--fa:"\f276"}.fa-hamsa{--fa:"\f665"}.fa-cent-sign{--fa:"\e3f5"}.fa-flask{--fa:"\f0c3"}.fa-person-pregnant{--fa:"\e31e"}.fa-wand-sparkles{--fa:"\f72b"}.fa-ellipsis-v,.fa-ellipsis-vertical{--fa:"\f142"}.fa-ticket{--fa:"\f145"}.fa-power-off{--fa:"\f011"}.fa-long-arrow-alt-right,.fa-right-long{--fa:"\f30b"}.fa-flag-usa{--fa:"\f74d"}.fa-laptop-file{--fa:"\e51d"}.fa-teletype,.fa-tty{--fa:"\f1e4"}.fa-diagram-next{--fa:"\e476"}.fa-person-rifle{--fa:"\e54e"}.fa-house-medical-circle-exclamation{--fa:"\e512"}.fa-closed-captioning{--fa:"\f20a"}.fa-hiking,.fa-person-hiking{--fa:"\f6ec"}.fa-venus-double{--fa:"\f226"}.fa-images{--fa:"\f302"}.fa-calculator{--fa:"\f1ec"}.fa-people-pulling{--fa:"\e535"}.fa-n{--fa:"N"}.fa-cable-car,.fa-tram{--fa:"\f7da"}.fa-cloud-rain{--fa:"\f73d"}.fa-building-circle-xmark{--fa:"\e4d4"}.fa-ship{--fa:"\f21a"}.fa-arrows-down-to-line{--fa:"\e4b8"}.fa-download{--fa:"\f019"}.fa-face-grin,.fa-grin{--fa:"\f580"}.fa-backspace,.fa-delete-left{--fa:"\f55a"}.fa-eye-dropper,.fa-eye-dropper-empty,.fa-eyedropper{--fa:"\f1fb"}.fa-file-circle-check{--fa:"\e5a0"}.fa-forward{--fa:"\f04e"}.fa-mobile,.fa-mobile-android,.fa-mobile-phone{--fa:"\f3ce"}.fa-face-meh,.fa-meh{--fa:"\f11a"}.fa-align-center{--fa:"\f037"}.fa-book-dead,.fa-book-skull{--fa:"\f6b7"}.fa-drivers-license,.fa-id-card{--fa:"\f2c2"}.fa-dedent,.fa-outdent{--fa:"\f03b"}.fa-heart-circle-exclamation{--fa:"\e4fe"}.fa-home,.fa-home-alt,.fa-home-lg-alt,.fa-house{--fa:"\f015"}.fa-calendar-week{--fa:"\f784"}.fa-laptop-medical{--fa:"\f812"}.fa-b{--fa:"B"}.fa-file-medical{--fa:"\f477"}.fa-dice-one{--fa:"\f525"}.fa-kiwi-bird{--fa:"\f535"}.fa-arrow-right-arrow-left,.fa-exchange{--fa:"\f0ec"}.fa-redo-alt,.fa-rotate-forward,.fa-rotate-right{--fa:"\f2f9"}.fa-cutlery,.fa-utensils{--fa:"\f2e7"}.fa-arrow-up-wide-short,.fa-sort-amount-up{--fa:"\f161"}.fa-mill-sign{--fa:"\e1ed"}.fa-bowl-rice{--fa:"\e2eb"}.fa-skull{--fa:"\f54c"}.fa-broadcast-tower,.fa-tower-broadcast{--fa:"\f519"}.fa-truck-pickup{--fa:"\f63c"}.fa-long-arrow-alt-up,.fa-up-long{--fa:"\f30c"}.fa-stop{--fa:"\f04d"}.fa-code-merge{--fa:"\f387"}.fa-upload{--fa:"\f093"}.fa-hurricane{--fa:"\f751"}.fa-mound{--fa:"\e52d"}.fa-toilet-portable{--fa:"\e583"}.fa-compact-disc{--fa:"\f51f"}.fa-file-arrow-down,.fa-file-download{--fa:"\f56d"}.fa-caravan{--fa:"\f8ff"}.fa-shield-cat{--fa:"\e572"}.fa-bolt,.fa-zap{--fa:"\f0e7"}.fa-glass-water{--fa:"\e4f4"}.fa-oil-well{--fa:"\e532"}.fa-vault{--fa:"\e2c5"}.fa-mars{--fa:"\f222"}.fa-toilet{--fa:"\f7d8"}.fa-plane-circle-xmark{--fa:"\e557"}.fa-cny,.fa-jpy,.fa-rmb,.fa-yen,.fa-yen-sign{--fa:"\f157"}.fa-rouble,.fa-rub,.fa-ruble,.fa-ruble-sign{--fa:"\f158"}.fa-sun{--fa:"\f185"}.fa-guitar{--fa:"\f7a6"}.fa-face-laugh-wink,.fa-laugh-wink{--fa:"\f59c"}.fa-horse-head{--fa:"\f7ab"}.fa-bore-hole{--fa:"\e4c3"}.fa-industry{--fa:"\f275"}.fa-arrow-alt-circle-down,.fa-circle-down{--fa:"\f358"}.fa-arrows-turn-to-dots{--fa:"\e4c1"}.fa-florin-sign{--fa:"\e184"}.fa-arrow-down-short-wide,.fa-sort-amount-desc,.fa-sort-amount-down-alt{--fa:"\f884"}.fa-less-than{--fa:"<"}.fa-angle-down{--fa:"\f107"}.fa-car-tunnel{--fa:"\e4de"}.fa-head-side-cough{--fa:"\e061"}.fa-grip-lines{--fa:"\f7a4"}.fa-thumbs-down{--fa:"\f165"}.fa-user-lock{--fa:"\f502"}.fa-arrow-right-long,.fa-long-arrow-right{--fa:"\f178"}.fa-anchor-circle-xmark{--fa:"\e4ac"}.fa-ellipsis,.fa-ellipsis-h{--fa:"\f141"}.fa-chess-pawn{--fa:"\f443"}.fa-first-aid,.fa-kit-medical{--fa:"\f479"}.fa-person-through-window{--fa:"\e5a9"}.fa-toolbox{--fa:"\f552"}.fa-hands-holding-circle{--fa:"\e4fb"}.fa-bug{--fa:"\f188"}.fa-credit-card,.fa-credit-card-alt{--fa:"\f09d"}.fa-automobile,.fa-car{--fa:"\f1b9"}.fa-hand-holding-hand{--fa:"\e4f7"}.fa-book-open-reader,.fa-book-reader{--fa:"\f5da"}.fa-mountain-sun{--fa:"\e52f"}.fa-arrows-left-right-to-line{--fa:"\e4ba"}.fa-dice-d20{--fa:"\f6cf"}.fa-truck-droplet{--fa:"\e58c"}.fa-file-circle-xmark{--fa:"\e5a1"}.fa-temperature-arrow-up,.fa-temperature-up{--fa:"\e040"}.fa-medal{--fa:"\f5a2"}.fa-bed{--fa:"\f236"}.fa-h-square,.fa-square-h{--fa:"\f0fd"}.fa-podcast{--fa:"\f2ce"}.fa-temperature-4,.fa-temperature-full,.fa-thermometer-4,.fa-thermometer-full{--fa:"\f2c7"}.fa-bell{--fa:"\f0f3"}.fa-superscript{--fa:"\f12b"}.fa-plug-circle-xmark{--fa:"\e560"}.fa-star-of-life{--fa:"\f621"}.fa-phone-slash{--fa:"\f3dd"}.fa-paint-roller{--fa:"\f5aa"}.fa-hands-helping,.fa-handshake-angle{--fa:"\f4c4"}.fa-location-dot,.fa-map-marker-alt{--fa:"\f3c5"}.fa-file{--fa:"\f15b"}.fa-greater-than{--fa:">"}.fa-person-swimming,.fa-swimmer{--fa:"\f5c4"}.fa-arrow-down{--fa:"\f063"}.fa-droplet,.fa-tint{--fa:"\f043"}.fa-eraser{--fa:"\f12d"}.fa-earth,.fa-earth-america,.fa-earth-americas,.fa-globe-americas{--fa:"\f57d"}.fa-person-burst{--fa:"\e53b"}.fa-dove{--fa:"\f4ba"}.fa-battery-0,.fa-battery-empty{--fa:"\f244"}.fa-socks{--fa:"\f696"}.fa-inbox{--fa:"\f01c"}.fa-section{--fa:"\e447"}.fa-gauge-high,.fa-tachometer-alt,.fa-tachometer-alt-fast{--fa:"\f625"}.fa-envelope-open-text{--fa:"\f658"}.fa-hospital,.fa-hospital-alt,.fa-hospital-wide{--fa:"\f0f8"}.fa-wine-bottle{--fa:"\f72f"}.fa-chess-rook{--fa:"\f447"}.fa-bars-staggered,.fa-reorder,.fa-stream{--fa:"\f550"}.fa-dharmachakra{--fa:"\f655"}.fa-hotdog{--fa:"\f80f"}.fa-blind,.fa-person-walking-with-cane{--fa:"\f29d"}.fa-drum{--fa:"\f569"}.fa-ice-cream{--fa:"\f810"}.fa-heart-circle-bolt{--fa:"\e4fc"}.fa-fax{--fa:"\f1ac"}.fa-paragraph{--fa:"\f1dd"}.fa-check-to-slot,.fa-vote-yea{--fa:"\f772"}.fa-star-half{--fa:"\f089"}.fa-boxes,.fa-boxes-alt,.fa-boxes-stacked{--fa:"\f468"}.fa-chain,.fa-link{--fa:"\f0c1"}.fa-assistive-listening-systems,.fa-ear-listen{--fa:"\f2a2"}.fa-tree-city{--fa:"\e587"}.fa-play{--fa:"\f04b"}.fa-font{--fa:"\f031"}.fa-table-cells-row-lock{--fa:"\e67a"}.fa-rupiah-sign{--fa:"\e23d"}.fa-magnifying-glass,.fa-search{--fa:"\f002"}.fa-ping-pong-paddle-ball,.fa-table-tennis,.fa-table-tennis-paddle-ball{--fa:"\f45d"}.fa-diagnoses,.fa-person-dots-from-line{--fa:"\f470"}.fa-trash-can-arrow-up,.fa-trash-restore-alt{--fa:"\f82a"}.fa-naira-sign{--fa:"\e1f6"}.fa-cart-arrow-down{--fa:"\f218"}.fa-walkie-talkie{--fa:"\f8ef"}.fa-file-edit,.fa-file-pen{--fa:"\f31c"}.fa-receipt{--fa:"\f543"}.fa-pen-square,.fa-pencil-square,.fa-square-pen{--fa:"\f14b"}.fa-suitcase-rolling{--fa:"\f5c1"}.fa-person-circle-exclamation{--fa:"\e53f"}.fa-chevron-down{--fa:"\f078"}.fa-battery,.fa-battery-5,.fa-battery-full{--fa:"\f240"}.fa-skull-crossbones{--fa:"\f714"}.fa-code-compare{--fa:"\e13a"}.fa-list-dots,.fa-list-ul{--fa:"\f0ca"}.fa-school-lock{--fa:"\e56f"}.fa-tower-cell{--fa:"\e585"}.fa-down-long,.fa-long-arrow-alt-down{--fa:"\f309"}.fa-ranking-star{--fa:"\e561"}.fa-chess-king{--fa:"\f43f"}.fa-person-harassing{--fa:"\e549"}.fa-brazilian-real-sign{--fa:"\e46c"}.fa-landmark-alt,.fa-landmark-dome{--fa:"\f752"}.fa-arrow-up{--fa:"\f062"}.fa-television,.fa-tv,.fa-tv-alt{--fa:"\f26c"}.fa-shrimp{--fa:"\e448"}.fa-list-check,.fa-tasks{--fa:"\f0ae"}.fa-jug-detergent{--fa:"\e519"}.fa-circle-user,.fa-user-circle{--fa:"\f2bd"}.fa-user-shield{--fa:"\f505"}.fa-wind{--fa:"\f72e"}.fa-car-burst,.fa-car-crash{--fa:"\f5e1"}.fa-y{--fa:"Y"}.fa-person-snowboarding,.fa-snowboarding{--fa:"\f7ce"}.fa-shipping-fast,.fa-truck-fast{--fa:"\f48b"}.fa-fish{--fa:"\f578"}.fa-user-graduate{--fa:"\f501"}.fa-adjust,.fa-circle-half-stroke{--fa:"\f042"}.fa-clapperboard{--fa:"\e131"}.fa-circle-radiation,.fa-radiation-alt{--fa:"\f7ba"}.fa-baseball,.fa-baseball-ball{--fa:"\f433"}.fa-jet-fighter-up{--fa:"\e518"}.fa-diagram-project,.fa-project-diagram{--fa:"\f542"}.fa-copy{--fa:"\f0c5"}.fa-volume-mute,.fa-volume-times,.fa-volume-xmark{--fa:"\f6a9"}.fa-hand-sparkles{--fa:"\e05d"}.fa-grip,.fa-grip-horizontal{--fa:"\f58d"}.fa-share-from-square,.fa-share-square{--fa:"\f14d"}.fa-child-combatant,.fa-child-rifle{--fa:"\e4e0"}.fa-gun{--fa:"\e19b"}.fa-phone-square,.fa-square-phone{--fa:"\f098"}.fa-add,.fa-plus{--fa:"+"}.fa-expand{--fa:"\f065"}.fa-computer{--fa:"\e4e5"}.fa-close,.fa-multiply,.fa-remove,.fa-times,.fa-xmark{--fa:"\f00d"}.fa-arrows,.fa-arrows-up-down-left-right{--fa:"\f047"}.fa-chalkboard-teacher,.fa-chalkboard-user{--fa:"\f51c"}.fa-peso-sign{--fa:"\e222"}.fa-building-shield{--fa:"\e4d8"}.fa-baby{--fa:"\f77c"}.fa-users-line{--fa:"\e592"}.fa-quote-left,.fa-quote-left-alt{--fa:"\f10d"}.fa-tractor{--fa:"\f722"}.fa-trash-arrow-up,.fa-trash-restore{--fa:"\f829"}.fa-arrow-down-up-lock{--fa:"\e4b0"}.fa-lines-leaning{--fa:"\e51e"}.fa-ruler-combined{--fa:"\f546"}.fa-copyright{--fa:"\f1f9"}.fa-equals{--fa:"="}.fa-blender{--fa:"\f517"}.fa-teeth{--fa:"\f62e"}.fa-ils,.fa-shekel,.fa-shekel-sign,.fa-sheqel,.fa-sheqel-sign{--fa:"\f20b"}.fa-map{--fa:"\f279"}.fa-rocket{--fa:"\f135"}.fa-photo-film,.fa-photo-video{--fa:"\f87c"}.fa-folder-minus{--fa:"\f65d"}.fa-hexagon-nodes-bolt{--fa:"\e69a"}.fa-store{--fa:"\f54e"}.fa-arrow-trend-up{--fa:"\e098"}.fa-plug-circle-minus{--fa:"\e55e"}.fa-sign,.fa-sign-hanging{--fa:"\f4d9"}.fa-bezier-curve{--fa:"\f55b"}.fa-bell-slash{--fa:"\f1f6"}.fa-tablet,.fa-tablet-android{--fa:"\f3fb"}.fa-school-flag{--fa:"\e56e"}.fa-fill{--fa:"\f575"}.fa-angle-up{--fa:"\f106"}.fa-drumstick-bite{--fa:"\f6d7"}.fa-holly-berry{--fa:"\f7aa"}.fa-chevron-left{--fa:"\f053"}.fa-bacteria{--fa:"\e059"}.fa-hand-lizard{--fa:"\f258"}.fa-notdef{--fa:"\e1fe"}.fa-disease{--fa:"\f7fa"}.fa-briefcase-medical{--fa:"\f469"}.fa-genderless{--fa:"\f22d"}.fa-chevron-right{--fa:"\f054"}.fa-retweet{--fa:"\f079"}.fa-car-alt,.fa-car-rear{--fa:"\f5de"}.fa-pump-soap{--fa:"\e06b"}.fa-video-slash{--fa:"\f4e2"}.fa-battery-2,.fa-battery-quarter{--fa:"\f243"}.fa-radio{--fa:"\f8d7"}.fa-baby-carriage,.fa-carriage-baby{--fa:"\f77d"}.fa-traffic-light{--fa:"\f637"}.fa-thermometer{--fa:"\f491"}.fa-vr-cardboard{--fa:"\f729"}.fa-hand-middle-finger{--fa:"\f806"}.fa-percent,.fa-percentage{--fa:"%"}.fa-truck-moving{--fa:"\f4df"}.fa-glass-water-droplet{--fa:"\e4f5"}.fa-display{--fa:"\e163"}.fa-face-smile,.fa-smile{--fa:"\f118"}.fa-thumb-tack,.fa-thumbtack{--fa:"\f08d"}.fa-trophy{--fa:"\f091"}.fa-person-praying,.fa-pray{--fa:"\f683"}.fa-hammer{--fa:"\f6e3"}.fa-hand-peace{--fa:"\f25b"}.fa-rotate,.fa-sync-alt{--fa:"\f2f1"}.fa-spinner{--fa:"\f110"}.fa-robot{--fa:"\f544"}.fa-peace{--fa:"\f67c"}.fa-cogs,.fa-gears{--fa:"\f085"}.fa-warehouse{--fa:"\f494"}.fa-arrow-up-right-dots{--fa:"\e4b7"}.fa-splotch{--fa:"\f5bc"}.fa-face-grin-hearts,.fa-grin-hearts{--fa:"\f584"}.fa-dice-four{--fa:"\f524"}.fa-sim-card{--fa:"\f7c4"}.fa-transgender,.fa-transgender-alt{--fa:"\f225"}.fa-mercury{--fa:"\f223"}.fa-arrow-turn-down,.fa-level-down{--fa:"\f149"}.fa-person-falling-burst{--fa:"\e547"}.fa-award{--fa:"\f559"}.fa-ticket-alt,.fa-ticket-simple{--fa:"\f3ff"}.fa-building{--fa:"\f1ad"}.fa-angle-double-left,.fa-angles-left{--fa:"\f100"}.fa-qrcode{--fa:"\f029"}.fa-clock-rotate-left,.fa-history{--fa:"\f1da"}.fa-face-grin-beam-sweat,.fa-grin-beam-sweat{--fa:"\f583"}.fa-arrow-right-from-file,.fa-file-export{--fa:"\f56e"}.fa-shield,.fa-shield-blank{--fa:"\f132"}.fa-arrow-up-short-wide,.fa-sort-amount-up-alt{--fa:"\f885"}.fa-comment-nodes{--fa:"\e696"}.fa-house-medical{--fa:"\e3b2"}.fa-golf-ball,.fa-golf-ball-tee{--fa:"\f450"}.fa-chevron-circle-left,.fa-circle-chevron-left{--fa:"\f137"}.fa-house-chimney-window{--fa:"\e00d"}.fa-pen-nib{--fa:"\f5ad"}.fa-tent-arrow-turn-left{--fa:"\e580"}.fa-tents{--fa:"\e582"}.fa-magic,.fa-wand-magic{--fa:"\f0d0"}.fa-dog{--fa:"\f6d3"}.fa-carrot{--fa:"\f787"}.fa-moon{--fa:"\f186"}.fa-wine-glass-alt,.fa-wine-glass-empty{--fa:"\f5ce"}.fa-cheese{--fa:"\f7ef"}.fa-yin-yang{--fa:"\f6ad"}.fa-music{--fa:"\f001"}.fa-code-commit{--fa:"\f386"}.fa-temperature-low{--fa:"\f76b"}.fa-biking,.fa-person-biking{--fa:"\f84a"}.fa-broom{--fa:"\f51a"}.fa-shield-heart{--fa:"\e574"}.fa-gopuram{--fa:"\f664"}.fa-earth-oceania,.fa-globe-oceania{--fa:"\e47b"}.fa-square-xmark,.fa-times-square,.fa-xmark-square{--fa:"\f2d3"}.fa-hashtag{--fa:"#"}.fa-expand-alt,.fa-up-right-and-down-left-from-center{--fa:"\f424"}.fa-oil-can{--fa:"\f613"}.fa-t{--fa:"T"}.fa-hippo{--fa:"\f6ed"}.fa-chart-column{--fa:"\e0e3"}.fa-infinity{--fa:"\f534"}.fa-vial-circle-check{--fa:"\e596"}.fa-person-arrow-down-to-line{--fa:"\e538"}.fa-voicemail{--fa:"\f897"}.fa-fan{--fa:"\f863"}.fa-person-walking-luggage{--fa:"\e554"}.fa-arrows-alt-v,.fa-up-down{--fa:"\f338"}.fa-cloud-moon-rain{--fa:"\f73c"}.fa-calendar{--fa:"\f133"}.fa-trailer{--fa:"\e041"}.fa-bahai,.fa-haykal{--fa:"\f666"}.fa-sd-card{--fa:"\f7c2"}.fa-dragon{--fa:"\f6d5"}.fa-shoe-prints{--fa:"\f54b"}.fa-circle-plus,.fa-plus-circle{--fa:"\f055"}.fa-face-grin-tongue-wink,.fa-grin-tongue-wink{--fa:"\f58b"}.fa-hand-holding{--fa:"\f4bd"}.fa-plug-circle-exclamation{--fa:"\e55d"}.fa-chain-broken,.fa-chain-slash,.fa-link-slash,.fa-unlink{--fa:"\f127"}.fa-clone{--fa:"\f24d"}.fa-person-walking-arrow-loop-left{--fa:"\e551"}.fa-arrow-up-z-a,.fa-sort-alpha-up-alt{--fa:"\f882"}.fa-fire-alt,.fa-fire-flame-curved{--fa:"\f7e4"}.fa-tornado{--fa:"\f76f"}.fa-file-circle-plus{--fa:"\e494"}.fa-book-quran,.fa-quran{--fa:"\f687"}.fa-anchor{--fa:"\f13d"}.fa-border-all{--fa:"\f84c"}.fa-angry,.fa-face-angry{--fa:"\f556"}.fa-cookie-bite{--fa:"\f564"}.fa-arrow-trend-down{--fa:"\e097"}.fa-feed,.fa-rss{--fa:"\f09e"}.fa-draw-polygon{--fa:"\f5ee"}.fa-balance-scale,.fa-scale-balanced{--fa:"\f24e"}.fa-gauge-simple-high,.fa-tachometer,.fa-tachometer-fast{--fa:"\f62a"}.fa-shower{--fa:"\f2cc"}.fa-desktop,.fa-desktop-alt{--fa:"\f390"}.fa-m{--fa:"M"}.fa-table-list,.fa-th-list{--fa:"\f00b"}.fa-comment-sms,.fa-sms{--fa:"\f7cd"}.fa-book{--fa:"\f02d"}.fa-user-plus{--fa:"\f234"}.fa-check{--fa:"\f00c"}.fa-battery-4,.fa-battery-three-quarters{--fa:"\f241"}.fa-house-circle-check{--fa:"\e509"}.fa-angle-left{--fa:"\f104"}.fa-diagram-successor{--fa:"\e47a"}.fa-truck-arrow-right{--fa:"\e58b"}.fa-arrows-split-up-and-left{--fa:"\e4bc"}.fa-fist-raised,.fa-hand-fist{--fa:"\f6de"}.fa-cloud-moon{--fa:"\f6c3"}.fa-briefcase{--fa:"\f0b1"}.fa-person-falling{--fa:"\e546"}.fa-image-portrait,.fa-portrait{--fa:"\f3e0"}.fa-user-tag{--fa:"\f507"}.fa-rug{--fa:"\e569"}.fa-earth-europe,.fa-globe-europe{--fa:"\f7a2"}.fa-cart-flatbed-suitcase,.fa-luggage-cart{--fa:"\f59d"}.fa-rectangle-times,.fa-rectangle-xmark,.fa-times-rectangle,.fa-window-close{--fa:"\f410"}.fa-baht-sign{--fa:"\e0ac"}.fa-book-open{--fa:"\f518"}.fa-book-journal-whills,.fa-journal-whills{--fa:"\f66a"}.fa-handcuffs{--fa:"\e4f8"}.fa-exclamation-triangle,.fa-triangle-exclamation,.fa-warning{--fa:"\f071"}.fa-database{--fa:"\f1c0"}.fa-mail-forward,.fa-share{--fa:"\f064"}.fa-bottle-droplet{--fa:"\e4c4"}.fa-mask-face{--fa:"\e1d7"}.fa-hill-rockslide{--fa:"\e508"}.fa-exchange-alt,.fa-right-left{--fa:"\f362"}.fa-paper-plane{--fa:"\f1d8"}.fa-road-circle-exclamation{--fa:"\e565"}.fa-dungeon{--fa:"\f6d9"}.fa-align-right{--fa:"\f038"}.fa-money-bill-1-wave,.fa-money-bill-wave-alt{--fa:"\f53b"}.fa-life-ring{--fa:"\f1cd"}.fa-hands,.fa-sign-language,.fa-signing{--fa:"\f2a7"}.fa-calendar-day{--fa:"\f783"}.fa-ladder-water,.fa-swimming-pool,.fa-water-ladder{--fa:"\f5c5"}.fa-arrows-up-down,.fa-arrows-v{--fa:"\f07d"}.fa-face-grimace,.fa-grimace{--fa:"\f57f"}.fa-wheelchair-alt,.fa-wheelchair-move{--fa:"\e2ce"}.fa-level-down-alt,.fa-turn-down{--fa:"\f3be"}.fa-person-walking-arrow-right{--fa:"\e552"}.fa-envelope-square,.fa-square-envelope{--fa:"\f199"}.fa-dice{--fa:"\f522"}.fa-bowling-ball{--fa:"\f436"}.fa-brain{--fa:"\f5dc"}.fa-band-aid,.fa-bandage{--fa:"\f462"}.fa-calendar-minus{--fa:"\f272"}.fa-circle-xmark,.fa-times-circle,.fa-xmark-circle{--fa:"\f057"}.fa-gifts{--fa:"\f79c"}.fa-hotel{--fa:"\f594"}.fa-earth-asia,.fa-globe-asia{--fa:"\f57e"}.fa-id-card-alt,.fa-id-card-clip{--fa:"\f47f"}.fa-magnifying-glass-plus,.fa-search-plus{--fa:"\f00e"}.fa-thumbs-up{--fa:"\f164"}.fa-user-clock{--fa:"\f4fd"}.fa-allergies,.fa-hand-dots{--fa:"\f461"}.fa-file-invoice{--fa:"\f570"}.fa-window-minimize{--fa:"\f2d1"}.fa-coffee,.fa-mug-saucer{--fa:"\f0f4"}.fa-brush{--fa:"\f55d"}.fa-file-half-dashed{--fa:"\e698"}.fa-mask{--fa:"\f6fa"}.fa-magnifying-glass-minus,.fa-search-minus{--fa:"\f010"}.fa-ruler-vertical{--fa:"\f548"}.fa-user-alt,.fa-user-large{--fa:"\f406"}.fa-train-tram{--fa:"\e5b4"}.fa-user-nurse{--fa:"\f82f"}.fa-syringe{--fa:"\f48e"}.fa-cloud-sun{--fa:"\f6c4"}.fa-stopwatch-20{--fa:"\e06f"}.fa-square-full{--fa:"\f45c"}.fa-magnet{--fa:"\f076"}.fa-jar{--fa:"\e516"}.fa-note-sticky,.fa-sticky-note{--fa:"\f249"}.fa-bug-slash{--fa:"\e490"}.fa-arrow-up-from-water-pump{--fa:"\e4b6"}.fa-bone{--fa:"\f5d7"}.fa-table-cells-row-unlock{--fa:"\e691"}.fa-user-injured{--fa:"\f728"}.fa-face-sad-tear,.fa-sad-tear{--fa:"\f5b4"}.fa-plane{--fa:"\f072"}.fa-tent-arrows-down{--fa:"\e581"}.fa-exclamation{--fa:"!"}.fa-arrows-spin{--fa:"\e4bb"}.fa-print{--fa:"\f02f"}.fa-try,.fa-turkish-lira,.fa-turkish-lira-sign{--fa:"\e2bb"}.fa-dollar,.fa-dollar-sign,.fa-usd{--fa:"$"}.fa-x{--fa:"X"}.fa-magnifying-glass-dollar,.fa-search-dollar{--fa:"\f688"}.fa-users-cog,.fa-users-gear{--fa:"\f509"}.fa-person-military-pointing{--fa:"\e54a"}.fa-bank,.fa-building-columns,.fa-institution,.fa-museum,.fa-university{--fa:"\f19c"}.fa-umbrella{--fa:"\f0e9"}.fa-trowel{--fa:"\e589"}.fa-d{--fa:"D"}.fa-stapler{--fa:"\e5af"}.fa-masks-theater,.fa-theater-masks{--fa:"\f630"}.fa-kip-sign{--fa:"\e1c4"}.fa-hand-point-left{--fa:"\f0a5"}.fa-handshake-alt,.fa-handshake-simple{--fa:"\f4c6"}.fa-fighter-jet,.fa-jet-fighter{--fa:"\f0fb"}.fa-share-alt-square,.fa-square-share-nodes{--fa:"\f1e1"}.fa-barcode{--fa:"\f02a"}.fa-plus-minus{--fa:"\e43c"}.fa-video,.fa-video-camera{--fa:"\f03d"}.fa-graduation-cap,.fa-mortar-board{--fa:"\f19d"}.fa-hand-holding-medical{--fa:"\e05c"}.fa-person-circle-check{--fa:"\e53e"}.fa-level-up-alt,.fa-turn-up{--fa:"\f3bf"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:"Font Awesome 6 Brands";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url("./media/fa-brands-400-Q3XCMWHQ.woff2") format("woff2"),url("./media/fa-brands-400-R2XQZCET.ttf") format("truetype")}.fa-brands,.fab{font-weight:400}.fa-monero{--fa:"\f3d0"}.fa-hooli{--fa:"\f427"}.fa-yelp{--fa:"\f1e9"}.fa-cc-visa{--fa:"\f1f0"}.fa-lastfm{--fa:"\f202"}.fa-shopware{--fa:"\f5b5"}.fa-creative-commons-nc{--fa:"\f4e8"}.fa-aws{--fa:"\f375"}.fa-redhat{--fa:"\f7bc"}.fa-yoast{--fa:"\f2b1"}.fa-cloudflare{--fa:"\e07d"}.fa-ups{--fa:"\f7e0"}.fa-pixiv{--fa:"\e640"}.fa-wpexplorer{--fa:"\f2de"}.fa-dyalog{--fa:"\f399"}.fa-bity{--fa:"\f37a"}.fa-stackpath{--fa:"\f842"}.fa-buysellads{--fa:"\f20d"}.fa-first-order{--fa:"\f2b0"}.fa-modx{--fa:"\f285"}.fa-guilded{--fa:"\e07e"}.fa-vnv{--fa:"\f40b"}.fa-js-square,.fa-square-js{--fa:"\f3b9"}.fa-microsoft{--fa:"\f3ca"}.fa-qq{--fa:"\f1d6"}.fa-orcid{--fa:"\f8d2"}.fa-java{--fa:"\f4e4"}.fa-invision{--fa:"\f7b0"}.fa-creative-commons-pd-alt{--fa:"\f4ed"}.fa-centercode{--fa:"\f380"}.fa-glide-g{--fa:"\f2a6"}.fa-drupal{--fa:"\f1a9"}.fa-jxl{--fa:"\e67b"}.fa-dart-lang{--fa:"\e693"}.fa-hire-a-helper{--fa:"\f3b0"}.fa-creative-commons-by{--fa:"\f4e7"}.fa-unity{--fa:"\e049"}.fa-whmcs{--fa:"\f40d"}.fa-rocketchat{--fa:"\f3e8"}.fa-vk{--fa:"\f189"}.fa-untappd{--fa:"\f405"}.fa-mailchimp{--fa:"\f59e"}.fa-css3-alt{--fa:"\f38b"}.fa-reddit-square,.fa-square-reddit{--fa:"\f1a2"}.fa-vimeo-v{--fa:"\f27d"}.fa-contao{--fa:"\f26d"}.fa-square-font-awesome{--fa:"\e5ad"}.fa-deskpro{--fa:"\f38f"}.fa-brave{--fa:"\e63c"}.fa-sistrix{--fa:"\f3ee"}.fa-instagram-square,.fa-square-instagram{--fa:"\e055"}.fa-battle-net{--fa:"\f835"}.fa-the-red-yeti{--fa:"\f69d"}.fa-hacker-news-square,.fa-square-hacker-news{--fa:"\f3af"}.fa-edge{--fa:"\f282"}.fa-threads{--fa:"\e618"}.fa-napster{--fa:"\f3d2"}.fa-snapchat-square,.fa-square-snapchat{--fa:"\f2ad"}.fa-google-plus-g{--fa:"\f0d5"}.fa-artstation{--fa:"\f77a"}.fa-markdown{--fa:"\f60f"}.fa-sourcetree{--fa:"\f7d3"}.fa-google-plus{--fa:"\f2b3"}.fa-diaspora{--fa:"\f791"}.fa-foursquare{--fa:"\f180"}.fa-stack-overflow{--fa:"\f16c"}.fa-github-alt{--fa:"\f113"}.fa-phoenix-squadron{--fa:"\f511"}.fa-pagelines{--fa:"\f18c"}.fa-algolia{--fa:"\f36c"}.fa-red-river{--fa:"\f3e3"}.fa-creative-commons-sa{--fa:"\f4ef"}.fa-safari{--fa:"\f267"}.fa-google{--fa:"\f1a0"}.fa-font-awesome-alt,.fa-square-font-awesome-stroke{--fa:"\f35c"}.fa-atlassian{--fa:"\f77b"}.fa-linkedin-in{--fa:"\f0e1"}.fa-digital-ocean{--fa:"\f391"}.fa-nimblr{--fa:"\f5a8"}.fa-chromecast{--fa:"\f838"}.fa-evernote{--fa:"\f839"}.fa-hacker-news{--fa:"\f1d4"}.fa-creative-commons-sampling{--fa:"\f4f0"}.fa-adversal{--fa:"\f36a"}.fa-creative-commons{--fa:"\f25e"}.fa-watchman-monitoring{--fa:"\e087"}.fa-fonticons{--fa:"\f280"}.fa-weixin{--fa:"\f1d7"}.fa-shirtsinbulk{--fa:"\f214"}.fa-codepen{--fa:"\f1cb"}.fa-git-alt{--fa:"\f841"}.fa-lyft{--fa:"\f3c3"}.fa-rev{--fa:"\f5b2"}.fa-windows{--fa:"\f17a"}.fa-wizards-of-the-coast{--fa:"\f730"}.fa-square-viadeo,.fa-viadeo-square{--fa:"\f2aa"}.fa-meetup{--fa:"\f2e0"}.fa-centos{--fa:"\f789"}.fa-adn{--fa:"\f170"}.fa-cloudsmith{--fa:"\f384"}.fa-opensuse{--fa:"\e62b"}.fa-pied-piper-alt{--fa:"\f1a8"}.fa-dribbble-square,.fa-square-dribbble{--fa:"\f397"}.fa-codiepie{--fa:"\f284"}.fa-node{--fa:"\f419"}.fa-mix{--fa:"\f3cb"}.fa-steam{--fa:"\f1b6"}.fa-cc-apple-pay{--fa:"\f416"}.fa-scribd{--fa:"\f28a"}.fa-debian{--fa:"\e60b"}.fa-openid{--fa:"\f19b"}.fa-instalod{--fa:"\e081"}.fa-files-pinwheel{--fa:"\e69f"}.fa-expeditedssl{--fa:"\f23e"}.fa-sellcast{--fa:"\f2da"}.fa-square-twitter,.fa-twitter-square{--fa:"\f081"}.fa-r-project{--fa:"\f4f7"}.fa-delicious{--fa:"\f1a5"}.fa-freebsd{--fa:"\f3a4"}.fa-vuejs{--fa:"\f41f"}.fa-accusoft{--fa:"\f369"}.fa-ioxhost{--fa:"\f208"}.fa-fonticons-fi{--fa:"\f3a2"}.fa-app-store{--fa:"\f36f"}.fa-cc-mastercard{--fa:"\f1f1"}.fa-itunes-note{--fa:"\f3b5"}.fa-golang{--fa:"\e40f"}.fa-kickstarter,.fa-square-kickstarter{--fa:"\f3bb"}.fa-grav{--fa:"\f2d6"}.fa-weibo{--fa:"\f18a"}.fa-uncharted{--fa:"\e084"}.fa-firstdraft{--fa:"\f3a1"}.fa-square-youtube,.fa-youtube-square{--fa:"\f431"}.fa-wikipedia-w{--fa:"\f266"}.fa-rendact,.fa-wpressr{--fa:"\f3e4"}.fa-angellist{--fa:"\f209"}.fa-galactic-republic{--fa:"\f50c"}.fa-nfc-directional{--fa:"\e530"}.fa-skype{--fa:"\f17e"}.fa-joget{--fa:"\f3b7"}.fa-fedora{--fa:"\f798"}.fa-stripe-s{--fa:"\f42a"}.fa-meta{--fa:"\e49b"}.fa-laravel{--fa:"\f3bd"}.fa-hotjar{--fa:"\f3b1"}.fa-bluetooth-b{--fa:"\f294"}.fa-square-letterboxd{--fa:"\e62e"}.fa-sticker-mule{--fa:"\f3f7"}.fa-creative-commons-zero{--fa:"\f4f3"}.fa-hips{--fa:"\f452"}.fa-css{--fa:"\e6a2"}.fa-behance{--fa:"\f1b4"}.fa-reddit{--fa:"\f1a1"}.fa-discord{--fa:"\f392"}.fa-chrome{--fa:"\f268"}.fa-app-store-ios{--fa:"\f370"}.fa-cc-discover{--fa:"\f1f2"}.fa-wpbeginner{--fa:"\f297"}.fa-confluence{--fa:"\f78d"}.fa-shoelace{--fa:"\e60c"}.fa-mdb{--fa:"\f8ca"}.fa-dochub{--fa:"\f394"}.fa-accessible-icon{--fa:"\f368"}.fa-ebay{--fa:"\f4f4"}.fa-amazon{--fa:"\f270"}.fa-unsplash{--fa:"\e07c"}.fa-yarn{--fa:"\f7e3"}.fa-square-steam,.fa-steam-square{--fa:"\f1b7"}.fa-500px{--fa:"\f26e"}.fa-square-vimeo,.fa-vimeo-square{--fa:"\f194"}.fa-asymmetrik{--fa:"\f372"}.fa-font-awesome,.fa-font-awesome-flag,.fa-font-awesome-logo-full{--fa:"\f2b4"}.fa-gratipay{--fa:"\f184"}.fa-apple{--fa:"\f179"}.fa-hive{--fa:"\e07f"}.fa-gitkraken{--fa:"\f3a6"}.fa-keybase{--fa:"\f4f5"}.fa-apple-pay{--fa:"\f415"}.fa-padlet{--fa:"\e4a0"}.fa-amazon-pay{--fa:"\f42c"}.fa-github-square,.fa-square-github{--fa:"\f092"}.fa-stumbleupon{--fa:"\f1a4"}.fa-fedex{--fa:"\f797"}.fa-phoenix-framework{--fa:"\f3dc"}.fa-shopify{--fa:"\e057"}.fa-neos{--fa:"\f612"}.fa-square-threads{--fa:"\e619"}.fa-hackerrank{--fa:"\f5f7"}.fa-researchgate{--fa:"\f4f8"}.fa-swift{--fa:"\f8e1"}.fa-angular{--fa:"\f420"}.fa-speakap{--fa:"\f3f3"}.fa-angrycreative{--fa:"\f36e"}.fa-y-combinator{--fa:"\f23b"}.fa-empire{--fa:"\f1d1"}.fa-envira{--fa:"\f299"}.fa-google-scholar{--fa:"\e63b"}.fa-gitlab-square,.fa-square-gitlab{--fa:"\e5ae"}.fa-studiovinari{--fa:"\f3f8"}.fa-pied-piper{--fa:"\f2ae"}.fa-wordpress{--fa:"\f19a"}.fa-product-hunt{--fa:"\f288"}.fa-firefox{--fa:"\f269"}.fa-linode{--fa:"\f2b8"}.fa-goodreads{--fa:"\f3a8"}.fa-odnoklassniki-square,.fa-square-odnoklassniki{--fa:"\f264"}.fa-jsfiddle{--fa:"\f1cc"}.fa-sith{--fa:"\f512"}.fa-themeisle{--fa:"\f2b2"}.fa-page4{--fa:"\f3d7"}.fa-hashnode{--fa:"\e499"}.fa-react{--fa:"\f41b"}.fa-cc-paypal{--fa:"\f1f4"}.fa-squarespace{--fa:"\f5be"}.fa-cc-stripe{--fa:"\f1f5"}.fa-creative-commons-share{--fa:"\f4f2"}.fa-bitcoin{--fa:"\f379"}.fa-keycdn{--fa:"\f3ba"}.fa-opera{--fa:"\f26a"}.fa-itch-io{--fa:"\f83a"}.fa-umbraco{--fa:"\f8e8"}.fa-galactic-senate{--fa:"\f50d"}.fa-ubuntu{--fa:"\f7df"}.fa-draft2digital{--fa:"\f396"}.fa-stripe{--fa:"\f429"}.fa-houzz{--fa:"\f27c"}.fa-gg{--fa:"\f260"}.fa-dhl{--fa:"\f790"}.fa-pinterest-square,.fa-square-pinterest{--fa:"\f0d3"}.fa-xing{--fa:"\f168"}.fa-blackberry{--fa:"\f37b"}.fa-creative-commons-pd{--fa:"\f4ec"}.fa-playstation{--fa:"\f3df"}.fa-quinscape{--fa:"\f459"}.fa-less{--fa:"\f41d"}.fa-blogger-b{--fa:"\f37d"}.fa-opencart{--fa:"\f23d"}.fa-vine{--fa:"\f1ca"}.fa-signal-messenger{--fa:"\e663"}.fa-paypal{--fa:"\f1ed"}.fa-gitlab{--fa:"\f296"}.fa-typo3{--fa:"\f42b"}.fa-reddit-alien{--fa:"\f281"}.fa-yahoo{--fa:"\f19e"}.fa-dailymotion{--fa:"\e052"}.fa-affiliatetheme{--fa:"\f36b"}.fa-pied-piper-pp{--fa:"\f1a7"}.fa-bootstrap{--fa:"\f836"}.fa-odnoklassniki{--fa:"\f263"}.fa-nfc-symbol{--fa:"\e531"}.fa-mintbit{--fa:"\e62f"}.fa-ethereum{--fa:"\f42e"}.fa-speaker-deck{--fa:"\f83c"}.fa-creative-commons-nc-eu{--fa:"\f4e9"}.fa-patreon{--fa:"\f3d9"}.fa-avianex{--fa:"\f374"}.fa-ello{--fa:"\f5f1"}.fa-gofore{--fa:"\f3a7"}.fa-bimobject{--fa:"\f378"}.fa-brave-reverse{--fa:"\e63d"}.fa-facebook-f{--fa:"\f39e"}.fa-google-plus-square,.fa-square-google-plus{--fa:"\f0d4"}.fa-web-awesome{--fa:"\e682"}.fa-mandalorian{--fa:"\f50f"}.fa-first-order-alt{--fa:"\f50a"}.fa-osi{--fa:"\f41a"}.fa-google-wallet{--fa:"\f1ee"}.fa-d-and-d-beyond{--fa:"\f6ca"}.fa-periscope{--fa:"\f3da"}.fa-fulcrum{--fa:"\f50b"}.fa-cloudscale{--fa:"\f383"}.fa-forumbee{--fa:"\f211"}.fa-mizuni{--fa:"\f3cc"}.fa-schlix{--fa:"\f3ea"}.fa-square-xing,.fa-xing-square{--fa:"\f169"}.fa-bandcamp{--fa:"\f2d5"}.fa-wpforms{--fa:"\f298"}.fa-cloudversify{--fa:"\f385"}.fa-usps{--fa:"\f7e1"}.fa-megaport{--fa:"\f5a3"}.fa-magento{--fa:"\f3c4"}.fa-spotify{--fa:"\f1bc"}.fa-optin-monster{--fa:"\f23c"}.fa-fly{--fa:"\f417"}.fa-square-bluesky{--fa:"\e6a3"}.fa-aviato{--fa:"\f421"}.fa-itunes{--fa:"\f3b4"}.fa-cuttlefish{--fa:"\f38c"}.fa-blogger{--fa:"\f37c"}.fa-flickr{--fa:"\f16e"}.fa-viber{--fa:"\f409"}.fa-soundcloud{--fa:"\f1be"}.fa-digg{--fa:"\f1a6"}.fa-tencent-weibo{--fa:"\f1d5"}.fa-letterboxd{--fa:"\e62d"}.fa-symfony{--fa:"\f83d"}.fa-maxcdn{--fa:"\f136"}.fa-etsy{--fa:"\f2d7"}.fa-facebook-messenger{--fa:"\f39f"}.fa-audible{--fa:"\f373"}.fa-think-peaks{--fa:"\f731"}.fa-bilibili{--fa:"\e3d9"}.fa-erlang{--fa:"\f39d"}.fa-x-twitter{--fa:"\e61b"}.fa-cotton-bureau{--fa:"\f89e"}.fa-dashcube{--fa:"\f210"}.fa-42-group,.fa-innosoft{--fa:"\e080"}.fa-stack-exchange{--fa:"\f18d"}.fa-elementor{--fa:"\f430"}.fa-pied-piper-square,.fa-square-pied-piper{--fa:"\e01e"}.fa-creative-commons-nd{--fa:"\f4eb"}.fa-palfed{--fa:"\f3d8"}.fa-superpowers{--fa:"\f2dd"}.fa-resolving{--fa:"\f3e7"}.fa-xbox{--fa:"\f412"}.fa-square-web-awesome-stroke{--fa:"\e684"}.fa-searchengin{--fa:"\f3eb"}.fa-tiktok{--fa:"\e07b"}.fa-facebook-square,.fa-square-facebook{--fa:"\f082"}.fa-renren{--fa:"\f18b"}.fa-linux{--fa:"\f17c"}.fa-glide{--fa:"\f2a5"}.fa-linkedin{--fa:"\f08c"}.fa-hubspot{--fa:"\f3b2"}.fa-deploydog{--fa:"\f38e"}.fa-twitch{--fa:"\f1e8"}.fa-flutter{--fa:"\e694"}.fa-ravelry{--fa:"\f2d9"}.fa-mixer{--fa:"\e056"}.fa-lastfm-square,.fa-square-lastfm{--fa:"\f203"}.fa-vimeo{--fa:"\f40a"}.fa-mendeley{--fa:"\f7b3"}.fa-uniregistry{--fa:"\f404"}.fa-figma{--fa:"\f799"}.fa-creative-commons-remix{--fa:"\f4ee"}.fa-cc-amazon-pay{--fa:"\f42d"}.fa-dropbox{--fa:"\f16b"}.fa-instagram{--fa:"\f16d"}.fa-cmplid{--fa:"\e360"}.fa-upwork{--fa:"\e641"}.fa-facebook{--fa:"\f09a"}.fa-gripfire{--fa:"\f3ac"}.fa-jedi-order{--fa:"\f50e"}.fa-uikit{--fa:"\f403"}.fa-fort-awesome-alt{--fa:"\f3a3"}.fa-phabricator{--fa:"\f3db"}.fa-ussunnah{--fa:"\f407"}.fa-earlybirds{--fa:"\f39a"}.fa-trade-federation{--fa:"\f513"}.fa-autoprefixer{--fa:"\f41c"}.fa-whatsapp{--fa:"\f232"}.fa-square-upwork{--fa:"\e67c"}.fa-slideshare{--fa:"\f1e7"}.fa-google-play{--fa:"\f3ab"}.fa-viadeo{--fa:"\f2a9"}.fa-line{--fa:"\f3c0"}.fa-google-drive{--fa:"\f3aa"}.fa-servicestack{--fa:"\f3ec"}.fa-simplybuilt{--fa:"\f215"}.fa-bitbucket{--fa:"\f171"}.fa-imdb{--fa:"\f2d8"}.fa-deezer{--fa:"\e077"}.fa-raspberry-pi{--fa:"\f7bb"}.fa-jira{--fa:"\f7b1"}.fa-docker{--fa:"\f395"}.fa-screenpal{--fa:"\e570"}.fa-bluetooth{--fa:"\f293"}.fa-gitter{--fa:"\f426"}.fa-d-and-d{--fa:"\f38d"}.fa-microblog{--fa:"\e01a"}.fa-cc-diners-club{--fa:"\f24c"}.fa-gg-circle{--fa:"\f261"}.fa-pied-piper-hat{--fa:"\f4e5"}.fa-kickstarter-k{--fa:"\f3bc"}.fa-yandex{--fa:"\f413"}.fa-readme{--fa:"\f4d5"}.fa-html5{--fa:"\f13b"}.fa-sellsy{--fa:"\f213"}.fa-square-web-awesome{--fa:"\e683"}.fa-sass{--fa:"\f41e"}.fa-wirsindhandwerk,.fa-wsh{--fa:"\e2d0"}.fa-buromobelexperte{--fa:"\f37f"}.fa-salesforce{--fa:"\f83b"}.fa-octopus-deploy{--fa:"\e082"}.fa-medapps{--fa:"\f3c6"}.fa-ns8{--fa:"\f3d5"}.fa-pinterest-p{--fa:"\f231"}.fa-apper{--fa:"\f371"}.fa-fort-awesome{--fa:"\f286"}.fa-waze{--fa:"\f83f"}.fa-bluesky{--fa:"\e671"}.fa-cc-jcb{--fa:"\f24b"}.fa-snapchat,.fa-snapchat-ghost{--fa:"\f2ab"}.fa-fantasy-flight-games{--fa:"\f6dc"}.fa-rust{--fa:"\e07a"}.fa-wix{--fa:"\f5cf"}.fa-behance-square,.fa-square-behance{--fa:"\f1b5"}.fa-supple{--fa:"\f3f9"}.fa-webflow{--fa:"\e65c"}.fa-rebel{--fa:"\f1d0"}.fa-css3{--fa:"\f13c"}.fa-staylinked{--fa:"\f3f5"}.fa-kaggle{--fa:"\f5fa"}.fa-space-awesome{--fa:"\e5ac"}.fa-deviantart{--fa:"\f1bd"}.fa-cpanel{--fa:"\f388"}.fa-goodreads-g{--fa:"\f3a9"}.fa-git-square,.fa-square-git{--fa:"\f1d2"}.fa-square-tumblr,.fa-tumblr-square{--fa:"\f174"}.fa-trello{--fa:"\f181"}.fa-creative-commons-nc-jp{--fa:"\f4ea"}.fa-get-pocket{--fa:"\f265"}.fa-perbyte{--fa:"\e083"}.fa-grunt{--fa:"\f3ad"}.fa-weebly{--fa:"\f5cc"}.fa-connectdevelop{--fa:"\f20e"}.fa-leanpub{--fa:"\f212"}.fa-black-tie{--fa:"\f27e"}.fa-themeco{--fa:"\f5c6"}.fa-python{--fa:"\f3e2"}.fa-android{--fa:"\f17b"}.fa-bots{--fa:"\e340"}.fa-free-code-camp{--fa:"\f2c5"}.fa-hornbill{--fa:"\f592"}.fa-js{--fa:"\f3b8"}.fa-ideal{--fa:"\e013"}.fa-git{--fa:"\f1d3"}.fa-dev{--fa:"\f6cc"}.fa-sketch{--fa:"\f7c6"}.fa-yandex-international{--fa:"\f414"}.fa-cc-amex{--fa:"\f1f3"}.fa-uber{--fa:"\f402"}.fa-github{--fa:"\f09b"}.fa-php{--fa:"\f457"}.fa-alipay{--fa:"\f642"}.fa-youtube{--fa:"\f167"}.fa-skyatlas{--fa:"\f216"}.fa-firefox-browser{--fa:"\e007"}.fa-replyd{--fa:"\f3e6"}.fa-suse{--fa:"\f7d6"}.fa-jenkins{--fa:"\f3b6"}.fa-twitter{--fa:"\f099"}.fa-rockrms{--fa:"\f3e9"}.fa-pinterest{--fa:"\f0d2"}.fa-buffer{--fa:"\f837"}.fa-npm{--fa:"\f3d4"}.fa-yammer{--fa:"\f840"}.fa-btc{--fa:"\f15a"}.fa-dribbble{--fa:"\f17d"}.fa-stumbleupon-circle{--fa:"\f1a3"}.fa-internet-explorer{--fa:"\f26b"}.fa-stubber{--fa:"\e5c7"}.fa-telegram,.fa-telegram-plane{--fa:"\f2c6"}.fa-old-republic{--fa:"\f510"}.fa-odysee{--fa:"\e5c6"}.fa-square-whatsapp,.fa-whatsapp-square{--fa:"\f40c"}.fa-node-js{--fa:"\f3d3"}.fa-edge-legacy{--fa:"\e078"}.fa-slack,.fa-slack-hash{--fa:"\f198"}.fa-medrt{--fa:"\f3c8"}.fa-usb{--fa:"\f287"}.fa-tumblr{--fa:"\f173"}.fa-vaadin{--fa:"\f408"}.fa-quora{--fa:"\f2c4"}.fa-square-x-twitter{--fa:"\e61a"}.fa-reacteurope{--fa:"\f75d"}.fa-medium,.fa-medium-m{--fa:"\f23a"}.fa-amilia{--fa:"\f36d"}.fa-mixcloud{--fa:"\f289"}.fa-flipboard{--fa:"\f44d"}.fa-viacoin{--fa:"\f237"}.fa-critical-role{--fa:"\f6c9"}.fa-sitrox{--fa:"\e44a"}.fa-discourse{--fa:"\f393"}.fa-joomla{--fa:"\f1aa"}.fa-mastodon{--fa:"\f4f6"}.fa-airbnb{--fa:"\f834"}.fa-wolf-pack-battalion{--fa:"\f514"}.fa-buy-n-large{--fa:"\f8a6"}.fa-gulp{--fa:"\f3ae"}.fa-creative-commons-sampling-plus{--fa:"\f4f1"}.fa-strava{--fa:"\f428"}.fa-ember{--fa:"\f423"}.fa-canadian-maple-leaf{--fa:"\f785"}.fa-teamspeak{--fa:"\f4f9"}.fa-pushed{--fa:"\f3e1"}.fa-wordpress-simple{--fa:"\f411"}.fa-nutritionix{--fa:"\f3d6"}.fa-wodu{--fa:"\e088"}.fa-google-pay{--fa:"\e079"}.fa-intercom{--fa:"\f7af"}.fa-zhihu{--fa:"\f63f"}.fa-korvue{--fa:"\f42f"}.fa-pix{--fa:"\e43a"}.fa-steam-symbol{--fa:"\f3f6"}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url("./media/fa-regular-400-QSNYFYRT.woff2") format("woff2"),url("./media/fa-regular-400-XUOPSR7E.ttf") format("truetype")}.fa-regular,.far{font-weight:400}:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url("./media/fa-solid-900-5ZUYHGA7.woff2") format("woff2"),url("./media/fa-solid-900-PJNKLK6W.ttf") format("truetype")}.fa-solid,.fas{font-weight:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url("./media/fa-brands-400-Q3XCMWHQ.woff2") format("woff2"),url("./media/fa-brands-400-R2XQZCET.ttf") format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url("./media/fa-solid-900-5ZUYHGA7.woff2") format("woff2"),url("./media/fa-solid-900-PJNKLK6W.ttf") format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url("./media/fa-regular-400-QSNYFYRT.woff2") format("woff2"),url("./media/fa-regular-400-XUOPSR7E.ttf") format("truetype")}@font-face{font-family:FontAwesome;font-display:block;src:url("./media/fa-solid-900-5ZUYHGA7.woff2") format("woff2"),url("./media/fa-solid-900-PJNKLK6W.ttf") format("truetype")}@font-face{font-family:FontAwesome;font-display:block;src:url("./media/fa-brands-400-Q3XCMWHQ.woff2") format("woff2"),url("./media/fa-brands-400-R2XQZCET.ttf") format("truetype")}@font-face{font-family:FontAwesome;font-display:block;src:url("./media/fa-regular-400-QSNYFYRT.woff2") format("woff2"),url("./media/fa-regular-400-XUOPSR7E.ttf") format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:FontAwesome;font-display:block;src:url("./media/fa-v4compatibility-LFEHZI6Y.woff2") format("woff2"),url("./media/fa-v4compatibility-YY67RJWG.ttf") format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0);background-color:var(--mat-ripple-color, rgba(0, 0, 0, .1))}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:""}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.mat-app-background{background-color:var(--mat-app-background-color, transparent);color:var(--mat-app-text-color, inherit)}html{--mat-ripple-color:rgba(0, 0, 0, .1)}html{--mat-option-selected-state-label-text-color:#3f51b5;--mat-option-label-text-color:rgba(0, 0, 0, .87);--mat-option-hover-state-layer-color:rgba(0, 0, 0, .04);--mat-option-focus-state-layer-color:rgba(0, 0, 0, .04);--mat-option-selected-state-layer-color:rgba(0, 0, 0, .04)}.mat-accent{--mat-option-selected-state-label-text-color:#ff4081;--mat-option-label-text-color:rgba(0, 0, 0, .87);--mat-option-hover-state-layer-color:rgba(0, 0, 0, .04);--mat-option-focus-state-layer-color:rgba(0, 0, 0, .04);--mat-option-selected-state-layer-color:rgba(0, 0, 0, .04)}.mat-warn{--mat-option-selected-state-label-text-color:#f44336;--mat-option-label-text-color:rgba(0, 0, 0, .87);--mat-option-hover-state-layer-color:rgba(0, 0, 0, .04);--mat-option-focus-state-layer-color:rgba(0, 0, 0, .04);--mat-option-selected-state-layer-color:rgba(0, 0, 0, .04)}html{--mat-optgroup-label-text-color:rgba(0, 0, 0, .87)}.mat-primary{--mat-full-pseudo-checkbox-selected-icon-color:#3f51b5;--mat-full-pseudo-checkbox-selected-checkmark-color:#fafafa;--mat-full-pseudo-checkbox-unselected-icon-color:rgba(0, 0, 0, .54);--mat-full-pseudo-checkbox-disabled-selected-checkmark-color:#fafafa;--mat-full-pseudo-checkbox-disabled-unselected-icon-color:#b0b0b0;--mat-full-pseudo-checkbox-disabled-selected-icon-color:#b0b0b0;--mat-minimal-pseudo-checkbox-selected-checkmark-color:#3f51b5;--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color:#b0b0b0}html,.mat-accent{--mat-full-pseudo-checkbox-selected-icon-color:#ff4081;--mat-full-pseudo-checkbox-selected-checkmark-color:#fafafa;--mat-full-pseudo-checkbox-unselected-icon-color:rgba(0, 0, 0, .54);--mat-full-pseudo-checkbox-disabled-selected-checkmark-color:#fafafa;--mat-full-pseudo-checkbox-disabled-unselected-icon-color:#b0b0b0;--mat-full-pseudo-checkbox-disabled-selected-icon-color:#b0b0b0;--mat-minimal-pseudo-checkbox-selected-checkmark-color:#ff4081;--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color:#b0b0b0}.mat-warn{--mat-full-pseudo-checkbox-selected-icon-color:#f44336;--mat-full-pseudo-checkbox-selected-checkmark-color:#fafafa;--mat-full-pseudo-checkbox-unselected-icon-color:rgba(0, 0, 0, .54);--mat-full-pseudo-checkbox-disabled-selected-checkmark-color:#fafafa;--mat-full-pseudo-checkbox-disabled-unselected-icon-color:#b0b0b0;--mat-full-pseudo-checkbox-disabled-selected-icon-color:#b0b0b0;--mat-minimal-pseudo-checkbox-selected-checkmark-color:#f44336;--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color:#b0b0b0}html{--mat-app-background-color:#fafafa;--mat-app-text-color:rgba(0, 0, 0, .87)}.mat-elevation-z0,.mat-mdc-elevation-specific.mat-elevation-z0{box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}.mat-elevation-z1,.mat-mdc-elevation-specific.mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}.mat-elevation-z2,.mat-mdc-elevation-specific.mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mat-elevation-z3,.mat-mdc-elevation-specific.mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-elevation-z4,.mat-mdc-elevation-specific.mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.mat-elevation-z5,.mat-mdc-elevation-specific.mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}.mat-elevation-z6,.mat-mdc-elevation-specific.mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.mat-elevation-z7,.mat-mdc-elevation-specific.mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.mat-elevation-z8,.mat-mdc-elevation-specific.mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.mat-elevation-z9,.mat-mdc-elevation-specific.mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.mat-elevation-z10,.mat-mdc-elevation-specific.mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.mat-elevation-z11,.mat-mdc-elevation-specific.mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.mat-elevation-z12,.mat-mdc-elevation-specific.mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.mat-elevation-z13,.mat-mdc-elevation-specific.mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.mat-elevation-z14,.mat-mdc-elevation-specific.mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.mat-elevation-z15,.mat-mdc-elevation-specific.mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.mat-elevation-z16,.mat-mdc-elevation-specific.mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.mat-elevation-z17,.mat-mdc-elevation-specific.mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.mat-elevation-z18,.mat-mdc-elevation-specific.mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.mat-elevation-z19,.mat-mdc-elevation-specific.mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.mat-elevation-z20,.mat-mdc-elevation-specific.mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.mat-elevation-z21,.mat-mdc-elevation-specific.mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.mat-elevation-z22,.mat-mdc-elevation-specific.mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.mat-elevation-z23,.mat-mdc-elevation-specific.mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.mat-elevation-z24,.mat-mdc-elevation-specific.mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-theme-loaded-marker{display:none}html{--mat-option-label-text-font:Roboto, sans-serif;--mat-option-label-text-line-height:24px;--mat-option-label-text-size:16px;--mat-option-label-text-tracking:.03125em;--mat-option-label-text-weight:400}html{--mat-optgroup-label-text-font:Roboto, sans-serif;--mat-optgroup-label-text-line-height:24px;--mat-optgroup-label-text-size:16px;--mat-optgroup-label-text-tracking:.03125em;--mat-optgroup-label-text-weight:400}html{--mdc-elevated-card-container-shape:4px;--mdc-outlined-card-container-shape:4px;--mdc-outlined-card-outline-width:1px}html{--mdc-elevated-card-container-color:white;--mdc-elevated-card-container-elevation:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-outlined-card-container-color:white;--mdc-outlined-card-outline-color:rgba(0, 0, 0, .12);--mdc-outlined-card-container-elevation:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-card-subtitle-text-color:rgba(0, 0, 0, .54)}html{--mat-card-title-text-font:Roboto, sans-serif;--mat-card-title-text-line-height:32px;--mat-card-title-text-size:20px;--mat-card-title-text-tracking:.0125em;--mat-card-title-text-weight:500;--mat-card-subtitle-text-font:Roboto, sans-serif;--mat-card-subtitle-text-line-height:22px;--mat-card-subtitle-text-size:14px;--mat-card-subtitle-text-tracking:.0071428571em;--mat-card-subtitle-text-weight:500}html{--mdc-linear-progress-active-indicator-height:4px;--mdc-linear-progress-track-height:4px;--mdc-linear-progress-track-shape:0}.mat-mdc-progress-bar{--mdc-linear-progress-active-indicator-color:#3f51b5;--mdc-linear-progress-track-color:rgba(63, 81, 181, .25)}.mat-mdc-progress-bar.mat-accent{--mdc-linear-progress-active-indicator-color:#ff4081;--mdc-linear-progress-track-color:rgba(255, 64, 129, .25)}.mat-mdc-progress-bar.mat-warn{--mdc-linear-progress-active-indicator-color:#f44336;--mdc-linear-progress-track-color:rgba(244, 67, 54, .25)}html{--mdc-plain-tooltip-container-shape:4px;--mdc-plain-tooltip-supporting-text-line-height:16px}html{--mdc-plain-tooltip-container-color:#616161;--mdc-plain-tooltip-supporting-text-color:#fff}html{--mdc-plain-tooltip-supporting-text-font:Roboto, sans-serif;--mdc-plain-tooltip-supporting-text-size:12px;--mdc-plain-tooltip-supporting-text-weight:400;--mdc-plain-tooltip-supporting-text-tracking:.0333333333em}html{--mdc-filled-text-field-active-indicator-height:1px;--mdc-filled-text-field-focus-active-indicator-height:2px;--mdc-filled-text-field-container-shape:4px;--mdc-outlined-text-field-outline-width:1px;--mdc-outlined-text-field-focus-outline-width:2px;--mdc-outlined-text-field-container-shape:4px}html{--mdc-filled-text-field-caret-color:#3f51b5;--mdc-filled-text-field-focus-active-indicator-color:#3f51b5;--mdc-filled-text-field-focus-label-text-color:rgba(63, 81, 181, .87);--mdc-filled-text-field-container-color:whitesmoke;--mdc-filled-text-field-disabled-container-color:#fafafa;--mdc-filled-text-field-label-text-color:rgba(0, 0, 0, .6);--mdc-filled-text-field-hover-label-text-color:rgba(0, 0, 0, .6);--mdc-filled-text-field-disabled-label-text-color:rgba(0, 0, 0, .38);--mdc-filled-text-field-input-text-color:rgba(0, 0, 0, .87);--mdc-filled-text-field-disabled-input-text-color:rgba(0, 0, 0, .38);--mdc-filled-text-field-input-text-placeholder-color:rgba(0, 0, 0, .6);--mdc-filled-text-field-error-hover-label-text-color:#f44336;--mdc-filled-text-field-error-focus-label-text-color:#f44336;--mdc-filled-text-field-error-label-text-color:#f44336;--mdc-filled-text-field-error-caret-color:#f44336;--mdc-filled-text-field-active-indicator-color:rgba(0, 0, 0, .42);--mdc-filled-text-field-disabled-active-indicator-color:rgba(0, 0, 0, .06);--mdc-filled-text-field-hover-active-indicator-color:rgba(0, 0, 0, .87);--mdc-filled-text-field-error-active-indicator-color:#f44336;--mdc-filled-text-field-error-focus-active-indicator-color:#f44336;--mdc-filled-text-field-error-hover-active-indicator-color:#f44336;--mdc-outlined-text-field-caret-color:#3f51b5;--mdc-outlined-text-field-focus-outline-color:#3f51b5;--mdc-outlined-text-field-focus-label-text-color:rgba(63, 81, 181, .87);--mdc-outlined-text-field-label-text-color:rgba(0, 0, 0, .6);--mdc-outlined-text-field-hover-label-text-color:rgba(0, 0, 0, .6);--mdc-outlined-text-field-disabled-label-text-color:rgba(0, 0, 0, .38);--mdc-outlined-text-field-input-text-color:rgba(0, 0, 0, .87);--mdc-outlined-text-field-disabled-input-text-color:rgba(0, 0, 0, .38);--mdc-outlined-text-field-input-text-placeholder-color:rgba(0, 0, 0, .6);--mdc-outlined-text-field-error-caret-color:#f44336;--mdc-outlined-text-field-error-focus-label-text-color:#f44336;--mdc-outlined-text-field-error-label-text-color:#f44336;--mdc-outlined-text-field-error-hover-label-text-color:#f44336;--mdc-outlined-text-field-outline-color:rgba(0, 0, 0, .38);--mdc-outlined-text-field-disabled-outline-color:rgba(0, 0, 0, .06);--mdc-outlined-text-field-hover-outline-color:rgba(0, 0, 0, .87);--mdc-outlined-text-field-error-focus-outline-color:#f44336;--mdc-outlined-text-field-error-hover-outline-color:#f44336;--mdc-outlined-text-field-error-outline-color:#f44336;--mat-form-field-focus-select-arrow-color:rgba(63, 81, 181, .87);--mat-form-field-disabled-input-text-placeholder-color:rgba(0, 0, 0, .38);--mat-form-field-state-layer-color:rgba(0, 0, 0, .87);--mat-form-field-error-text-color:#f44336;--mat-form-field-select-option-text-color:inherit;--mat-form-field-select-disabled-option-text-color:GrayText;--mat-form-field-leading-icon-color:unset;--mat-form-field-disabled-leading-icon-color:unset;--mat-form-field-trailing-icon-color:unset;--mat-form-field-disabled-trailing-icon-color:unset;--mat-form-field-error-focus-trailing-icon-color:unset;--mat-form-field-error-hover-trailing-icon-color:unset;--mat-form-field-error-trailing-icon-color:unset;--mat-form-field-enabled-select-arrow-color:rgba(0, 0, 0, .54);--mat-form-field-disabled-select-arrow-color:rgba(0, 0, 0, .38);--mat-form-field-hover-state-layer-opacity:.04;--mat-form-field-focus-state-layer-opacity:.08}.mat-mdc-form-field.mat-accent{--mdc-filled-text-field-caret-color:#ff4081;--mdc-filled-text-field-focus-active-indicator-color:#ff4081;--mdc-filled-text-field-focus-label-text-color:rgba(255, 64, 129, .87);--mdc-outlined-text-field-caret-color:#ff4081;--mdc-outlined-text-field-focus-outline-color:#ff4081;--mdc-outlined-text-field-focus-label-text-color:rgba(255, 64, 129, .87);--mat-form-field-focus-select-arrow-color:rgba(255, 64, 129, .87)}.mat-mdc-form-field.mat-warn{--mdc-filled-text-field-caret-color:#f44336;--mdc-filled-text-field-focus-active-indicator-color:#f44336;--mdc-filled-text-field-focus-label-text-color:rgba(244, 67, 54, .87);--mdc-outlined-text-field-caret-color:#f44336;--mdc-outlined-text-field-focus-outline-color:#f44336;--mdc-outlined-text-field-focus-label-text-color:rgba(244, 67, 54, .87);--mat-form-field-focus-select-arrow-color:rgba(244, 67, 54, .87)}html{--mat-form-field-container-height:56px;--mat-form-field-filled-label-display:block;--mat-form-field-container-vertical-padding:16px;--mat-form-field-filled-with-label-container-padding-top:24px;--mat-form-field-filled-with-label-container-padding-bottom:8px}html{--mdc-filled-text-field-label-text-font:Roboto, sans-serif;--mdc-filled-text-field-label-text-size:16px;--mdc-filled-text-field-label-text-tracking:.03125em;--mdc-filled-text-field-label-text-weight:400;--mdc-outlined-text-field-label-text-font:Roboto, sans-serif;--mdc-outlined-text-field-label-text-size:16px;--mdc-outlined-text-field-label-text-tracking:.03125em;--mdc-outlined-text-field-label-text-weight:400;--mat-form-field-container-text-font:Roboto, sans-serif;--mat-form-field-container-text-line-height:24px;--mat-form-field-container-text-size:16px;--mat-form-field-container-text-tracking:.03125em;--mat-form-field-container-text-weight:400;--mat-form-field-outlined-label-text-populated-size:16px;--mat-form-field-subscript-text-font:Roboto, sans-serif;--mat-form-field-subscript-text-line-height:20px;--mat-form-field-subscript-text-size:12px;--mat-form-field-subscript-text-tracking:.0333333333em;--mat-form-field-subscript-text-weight:400}html{--mat-select-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html{--mat-select-panel-background-color:white;--mat-select-enabled-trigger-text-color:rgba(0, 0, 0, .87);--mat-select-disabled-trigger-text-color:rgba(0, 0, 0, .38);--mat-select-placeholder-text-color:rgba(0, 0, 0, .6);--mat-select-enabled-arrow-color:rgba(0, 0, 0, .54);--mat-select-disabled-arrow-color:rgba(0, 0, 0, .38);--mat-select-focused-arrow-color:rgba(63, 81, 181, .87);--mat-select-invalid-arrow-color:rgba(244, 67, 54, .87)}html .mat-mdc-form-field.mat-accent{--mat-select-panel-background-color:white;--mat-select-enabled-trigger-text-color:rgba(0, 0, 0, .87);--mat-select-disabled-trigger-text-color:rgba(0, 0, 0, .38);--mat-select-placeholder-text-color:rgba(0, 0, 0, .6);--mat-select-enabled-arrow-color:rgba(0, 0, 0, .54);--mat-select-disabled-arrow-color:rgba(0, 0, 0, .38);--mat-select-focused-arrow-color:rgba(255, 64, 129, .87);--mat-select-invalid-arrow-color:rgba(244, 67, 54, .87)}html .mat-mdc-form-field.mat-warn{--mat-select-panel-background-color:white;--mat-select-enabled-trigger-text-color:rgba(0, 0, 0, .87);--mat-select-disabled-trigger-text-color:rgba(0, 0, 0, .38);--mat-select-placeholder-text-color:rgba(0, 0, 0, .6);--mat-select-enabled-arrow-color:rgba(0, 0, 0, .54);--mat-select-disabled-arrow-color:rgba(0, 0, 0, .38);--mat-select-focused-arrow-color:rgba(244, 67, 54, .87);--mat-select-invalid-arrow-color:rgba(244, 67, 54, .87)}html{--mat-select-arrow-transform:translateY(-8px)}html{--mat-select-trigger-text-font:Roboto, sans-serif;--mat-select-trigger-text-line-height:24px;--mat-select-trigger-text-size:16px;--mat-select-trigger-text-tracking:.03125em;--mat-select-trigger-text-weight:400}html{--mat-autocomplete-container-shape:4px;--mat-autocomplete-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html{--mat-autocomplete-background-color:white}html{--mdc-dialog-container-elevation-shadow:0px 11px 15px -7px rgba(0, 0, 0, .2), 0px 24px 38px 3px rgba(0, 0, 0, .14), 0px 9px 46px 8px rgba(0, 0, 0, .12);--mdc-dialog-container-shadow-color:#000;--mdc-dialog-container-shape:4px;--mat-dialog-container-max-width:80vw;--mat-dialog-container-small-max-width:80vw;--mat-dialog-container-min-width:0;--mat-dialog-actions-alignment:start;--mat-dialog-actions-padding:8px;--mat-dialog-content-padding:20px 24px;--mat-dialog-with-actions-content-padding:20px 24px;--mat-dialog-headline-padding:0 24px 9px}html{--mdc-dialog-container-color:white;--mdc-dialog-subhead-color:rgba(0, 0, 0, .87);--mdc-dialog-supporting-text-color:rgba(0, 0, 0, .6)}html{--mdc-dialog-subhead-font:Roboto, sans-serif;--mdc-dialog-subhead-line-height:32px;--mdc-dialog-subhead-size:20px;--mdc-dialog-subhead-weight:500;--mdc-dialog-subhead-tracking:.0125em;--mdc-dialog-supporting-text-font:Roboto, sans-serif;--mdc-dialog-supporting-text-line-height:24px;--mdc-dialog-supporting-text-size:16px;--mdc-dialog-supporting-text-weight:400;--mdc-dialog-supporting-text-tracking:.03125em}.mat-mdc-standard-chip{--mdc-chip-container-shape-family:rounded;--mdc-chip-container-shape-radius:16px 16px 16px 16px;--mdc-chip-with-avatar-avatar-shape-family:rounded;--mdc-chip-with-avatar-avatar-shape-radius:14px 14px 14px 14px;--mdc-chip-with-avatar-avatar-size:28px;--mdc-chip-with-icon-icon-size:18px;--mdc-chip-outline-width:0;--mdc-chip-outline-color:transparent;--mdc-chip-disabled-outline-color:transparent;--mdc-chip-focus-outline-color:transparent;--mdc-chip-hover-state-layer-opacity:.04;--mdc-chip-with-avatar-disabled-avatar-opacity:1;--mdc-chip-flat-selected-outline-width:0;--mdc-chip-selected-hover-state-layer-opacity:.04;--mdc-chip-with-trailing-icon-disabled-trailing-icon-opacity:1;--mdc-chip-with-icon-disabled-icon-opacity:1;--mat-chip-disabled-container-opacity:.4;--mat-chip-trailing-action-opacity:.54;--mat-chip-trailing-action-focus-opacity:1;--mat-chip-trailing-action-state-layer-color:transparent;--mat-chip-selected-trailing-action-state-layer-color:transparent;--mat-chip-trailing-action-hover-state-layer-opacity:0;--mat-chip-trailing-action-focus-state-layer-opacity:0}.mat-mdc-standard-chip{--mdc-chip-disabled-label-text-color:#212121;--mdc-chip-elevated-container-color:#e0e0e0;--mdc-chip-elevated-selected-container-color:#e0e0e0;--mdc-chip-elevated-disabled-container-color:#e0e0e0;--mdc-chip-flat-disabled-selected-container-color:#e0e0e0;--mdc-chip-focus-state-layer-color:black;--mdc-chip-hover-state-layer-color:black;--mdc-chip-selected-hover-state-layer-color:black;--mdc-chip-focus-state-layer-opacity:.12;--mdc-chip-selected-focus-state-layer-color:black;--mdc-chip-selected-focus-state-layer-opacity:.12;--mdc-chip-label-text-color:#212121;--mdc-chip-selected-label-text-color:#212121;--mdc-chip-with-icon-icon-color:#212121;--mdc-chip-with-icon-disabled-icon-color:#212121;--mdc-chip-with-icon-selected-icon-color:#212121;--mdc-chip-with-trailing-icon-disabled-trailing-icon-color:#212121;--mdc-chip-with-trailing-icon-trailing-icon-color:#212121;--mat-chip-selected-disabled-trailing-icon-color:#212121;--mat-chip-selected-trailing-icon-color:#212121}.mat-mdc-standard-chip.mat-mdc-chip-selected.mat-primary,.mat-mdc-standard-chip.mat-mdc-chip-highlighted.mat-primary{--mdc-chip-disabled-label-text-color:white;--mdc-chip-elevated-container-color:#3f51b5;--mdc-chip-elevated-selected-container-color:#3f51b5;--mdc-chip-elevated-disabled-container-color:#3f51b5;--mdc-chip-flat-disabled-selected-container-color:#3f51b5;--mdc-chip-focus-state-layer-color:black;--mdc-chip-hover-state-layer-color:black;--mdc-chip-selected-hover-state-layer-color:black;--mdc-chip-focus-state-layer-opacity:.12;--mdc-chip-selected-focus-state-layer-color:black;--mdc-chip-selected-focus-state-layer-opacity:.12;--mdc-chip-label-text-color:white;--mdc-chip-selected-label-text-color:white;--mdc-chip-with-icon-icon-color:white;--mdc-chip-with-icon-disabled-icon-color:white;--mdc-chip-with-icon-selected-icon-color:white;--mdc-chip-with-trailing-icon-disabled-trailing-icon-color:white;--mdc-chip-with-trailing-icon-trailing-icon-color:white;--mat-chip-selected-disabled-trailing-icon-color:white;--mat-chip-selected-trailing-icon-color:white}.mat-mdc-standard-chip.mat-mdc-chip-selected.mat-accent,.mat-mdc-standard-chip.mat-mdc-chip-highlighted.mat-accent{--mdc-chip-disabled-label-text-color:white;--mdc-chip-elevated-container-color:#ff4081;--mdc-chip-elevated-selected-container-color:#ff4081;--mdc-chip-elevated-disabled-container-color:#ff4081;--mdc-chip-flat-disabled-selected-container-color:#ff4081;--mdc-chip-focus-state-layer-color:black;--mdc-chip-hover-state-layer-color:black;--mdc-chip-selected-hover-state-layer-color:black;--mdc-chip-focus-state-layer-opacity:.12;--mdc-chip-selected-focus-state-layer-color:black;--mdc-chip-selected-focus-state-layer-opacity:.12;--mdc-chip-label-text-color:white;--mdc-chip-selected-label-text-color:white;--mdc-chip-with-icon-icon-color:white;--mdc-chip-with-icon-disabled-icon-color:white;--mdc-chip-with-icon-selected-icon-color:white;--mdc-chip-with-trailing-icon-disabled-trailing-icon-color:white;--mdc-chip-with-trailing-icon-trailing-icon-color:white;--mat-chip-selected-disabled-trailing-icon-color:white;--mat-chip-selected-trailing-icon-color:white}.mat-mdc-standard-chip.mat-mdc-chip-selected.mat-warn,.mat-mdc-standard-chip.mat-mdc-chip-highlighted.mat-warn{--mdc-chip-disabled-label-text-color:white;--mdc-chip-elevated-container-color:#f44336;--mdc-chip-elevated-selected-container-color:#f44336;--mdc-chip-elevated-disabled-container-color:#f44336;--mdc-chip-flat-disabled-selected-container-color:#f44336;--mdc-chip-focus-state-layer-color:black;--mdc-chip-hover-state-layer-color:black;--mdc-chip-selected-hover-state-layer-color:black;--mdc-chip-focus-state-layer-opacity:.12;--mdc-chip-selected-focus-state-layer-color:black;--mdc-chip-selected-focus-state-layer-opacity:.12;--mdc-chip-label-text-color:white;--mdc-chip-selected-label-text-color:white;--mdc-chip-with-icon-icon-color:white;--mdc-chip-with-icon-disabled-icon-color:white;--mdc-chip-with-icon-selected-icon-color:white;--mdc-chip-with-trailing-icon-disabled-trailing-icon-color:white;--mdc-chip-with-trailing-icon-trailing-icon-color:white;--mat-chip-selected-disabled-trailing-icon-color:white;--mat-chip-selected-trailing-icon-color:white}.mat-mdc-chip.mat-mdc-standard-chip{--mdc-chip-container-height:32px}.mat-mdc-standard-chip{--mdc-chip-label-text-font:Roboto, sans-serif;--mdc-chip-label-text-line-height:20px;--mdc-chip-label-text-size:14px;--mdc-chip-label-text-tracking:.0178571429em;--mdc-chip-label-text-weight:400}html{--mdc-switch-disabled-selected-icon-opacity:.38;--mdc-switch-disabled-track-opacity:.12;--mdc-switch-disabled-unselected-icon-opacity:.38;--mdc-switch-handle-height:20px;--mdc-switch-handle-shape:10px;--mdc-switch-handle-width:20px;--mdc-switch-selected-icon-size:18px;--mdc-switch-track-height:14px;--mdc-switch-track-shape:7px;--mdc-switch-track-width:36px;--mdc-switch-unselected-icon-size:18px;--mdc-switch-selected-focus-state-layer-opacity:.12;--mdc-switch-selected-hover-state-layer-opacity:.04;--mdc-switch-selected-pressed-state-layer-opacity:.1;--mdc-switch-unselected-focus-state-layer-opacity:.12;--mdc-switch-unselected-hover-state-layer-opacity:.04;--mdc-switch-unselected-pressed-state-layer-opacity:.1;--mat-switch-disabled-selected-handle-opacity:.38;--mat-switch-disabled-unselected-handle-opacity:.38;--mat-switch-unselected-handle-size:20px;--mat-switch-selected-handle-size:20px;--mat-switch-pressed-handle-size:20px;--mat-switch-with-icon-handle-size:20px;--mat-switch-selected-handle-horizontal-margin:0;--mat-switch-selected-with-icon-handle-horizontal-margin:0;--mat-switch-selected-pressed-handle-horizontal-margin:0;--mat-switch-unselected-handle-horizontal-margin:0;--mat-switch-unselected-with-icon-handle-horizontal-margin:0;--mat-switch-unselected-pressed-handle-horizontal-margin:0;--mat-switch-visible-track-opacity:1;--mat-switch-hidden-track-opacity:1;--mat-switch-visible-track-transition:transform 75ms 0ms cubic-bezier(0, 0, .2, 1);--mat-switch-hidden-track-transition:transform 75ms 0ms cubic-bezier(.4, 0, .6, 1);--mat-switch-track-outline-width:1px;--mat-switch-track-outline-color:transparent;--mat-switch-selected-track-outline-width:1px;--mat-switch-disabled-unselected-track-outline-width:1px;--mat-switch-disabled-unselected-track-outline-color:transparent}html{--mdc-switch-selected-focus-state-layer-color:#3949ab;--mdc-switch-selected-handle-color:#3949ab;--mdc-switch-selected-hover-state-layer-color:#3949ab;--mdc-switch-selected-pressed-state-layer-color:#3949ab;--mdc-switch-selected-focus-handle-color:#1a237e;--mdc-switch-selected-hover-handle-color:#1a237e;--mdc-switch-selected-pressed-handle-color:#1a237e;--mdc-switch-selected-focus-track-color:#7986cb;--mdc-switch-selected-hover-track-color:#7986cb;--mdc-switch-selected-pressed-track-color:#7986cb;--mdc-switch-selected-track-color:#7986cb;--mdc-switch-disabled-selected-handle-color:#424242;--mdc-switch-disabled-selected-icon-color:#fff;--mdc-switch-disabled-selected-track-color:#424242;--mdc-switch-disabled-unselected-handle-color:#424242;--mdc-switch-disabled-unselected-icon-color:#fff;--mdc-switch-disabled-unselected-track-color:#424242;--mdc-switch-handle-surface-color:var(--mdc-theme-surface, #fff);--mdc-switch-handle-elevation-shadow:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mdc-switch-handle-shadow-color:black;--mdc-switch-disabled-handle-elevation-shadow:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mdc-switch-selected-icon-color:#fff;--mdc-switch-unselected-focus-handle-color:#212121;--mdc-switch-unselected-focus-state-layer-color:#424242;--mdc-switch-unselected-focus-track-color:#e0e0e0;--mdc-switch-unselected-handle-color:#616161;--mdc-switch-unselected-hover-handle-color:#212121;--mdc-switch-unselected-hover-state-layer-color:#424242;--mdc-switch-unselected-hover-track-color:#e0e0e0;--mdc-switch-unselected-icon-color:#fff;--mdc-switch-unselected-pressed-handle-color:#212121;--mdc-switch-unselected-pressed-state-layer-color:#424242;--mdc-switch-unselected-pressed-track-color:#e0e0e0;--mdc-switch-unselected-track-color:#e0e0e0;--mdc-switch-disabled-label-text-color: rgba(0, 0, 0, .38)}html .mat-mdc-slide-toggle{--mdc-form-field-label-text-color:rgba(0, 0, 0, .87)}html .mat-mdc-slide-toggle.mat-accent{--mdc-switch-selected-focus-state-layer-color:#d81b60;--mdc-switch-selected-handle-color:#d81b60;--mdc-switch-selected-hover-state-layer-color:#d81b60;--mdc-switch-selected-pressed-state-layer-color:#d81b60;--mdc-switch-selected-focus-handle-color:#880e4f;--mdc-switch-selected-hover-handle-color:#880e4f;--mdc-switch-selected-pressed-handle-color:#880e4f;--mdc-switch-selected-focus-track-color:#f06292;--mdc-switch-selected-hover-track-color:#f06292;--mdc-switch-selected-pressed-track-color:#f06292;--mdc-switch-selected-track-color:#f06292}html .mat-mdc-slide-toggle.mat-warn{--mdc-switch-selected-focus-state-layer-color:#e53935;--mdc-switch-selected-handle-color:#e53935;--mdc-switch-selected-hover-state-layer-color:#e53935;--mdc-switch-selected-pressed-state-layer-color:#e53935;--mdc-switch-selected-focus-handle-color:#b71c1c;--mdc-switch-selected-hover-handle-color:#b71c1c;--mdc-switch-selected-pressed-handle-color:#b71c1c;--mdc-switch-selected-focus-track-color:#e57373;--mdc-switch-selected-hover-track-color:#e57373;--mdc-switch-selected-pressed-track-color:#e57373;--mdc-switch-selected-track-color:#e57373}html{--mdc-switch-state-layer-size:40px}html .mat-mdc-slide-toggle{--mdc-form-field-label-text-font:Roboto, sans-serif;--mdc-form-field-label-text-line-height:20px;--mdc-form-field-label-text-size:14px;--mdc-form-field-label-text-tracking:.0178571429em;--mdc-form-field-label-text-weight:400}html{--mdc-radio-disabled-selected-icon-opacity:.38;--mdc-radio-disabled-unselected-icon-opacity:.38;--mdc-radio-state-layer-size:40px}.mat-mdc-radio-button{--mdc-form-field-label-text-color:rgba(0, 0, 0, .87)}.mat-mdc-radio-button.mat-primary{--mdc-radio-disabled-selected-icon-color:black;--mdc-radio-disabled-unselected-icon-color:black;--mdc-radio-unselected-hover-icon-color:#212121;--mdc-radio-unselected-icon-color:rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color:rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color:#3f51b5;--mdc-radio-selected-hover-icon-color:#3f51b5;--mdc-radio-selected-icon-color:#3f51b5;--mdc-radio-selected-pressed-icon-color:#3f51b5;--mat-radio-ripple-color:black;--mat-radio-checked-ripple-color:#3f51b5;--mat-radio-disabled-label-color:rgba(0, 0, 0, .38)}.mat-mdc-radio-button.mat-accent{--mdc-radio-disabled-selected-icon-color:black;--mdc-radio-disabled-unselected-icon-color:black;--mdc-radio-unselected-hover-icon-color:#212121;--mdc-radio-unselected-icon-color:rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color:rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color:#ff4081;--mdc-radio-selected-hover-icon-color:#ff4081;--mdc-radio-selected-icon-color:#ff4081;--mdc-radio-selected-pressed-icon-color:#ff4081;--mat-radio-ripple-color:black;--mat-radio-checked-ripple-color:#ff4081;--mat-radio-disabled-label-color:rgba(0, 0, 0, .38)}.mat-mdc-radio-button.mat-warn{--mdc-radio-disabled-selected-icon-color:black;--mdc-radio-disabled-unselected-icon-color:black;--mdc-radio-unselected-hover-icon-color:#212121;--mdc-radio-unselected-icon-color:rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color:rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color:#f44336;--mdc-radio-selected-hover-icon-color:#f44336;--mdc-radio-selected-icon-color:#f44336;--mdc-radio-selected-pressed-icon-color:#f44336;--mat-radio-ripple-color:black;--mat-radio-checked-ripple-color:#f44336;--mat-radio-disabled-label-color:rgba(0, 0, 0, .38)}html{--mdc-radio-state-layer-size:40px;--mat-radio-touch-target-display:block}.mat-mdc-radio-button{--mdc-form-field-label-text-font:Roboto, sans-serif;--mdc-form-field-label-text-line-height:20px;--mdc-form-field-label-text-size:14px;--mdc-form-field-label-text-tracking:.0178571429em;--mdc-form-field-label-text-weight:400}html{--mat-slider-value-indicator-width:auto;--mat-slider-value-indicator-height:32px;--mat-slider-value-indicator-caret-display:block;--mat-slider-value-indicator-border-radius:4px;--mat-slider-value-indicator-padding:0 12px;--mat-slider-value-indicator-text-transform:none;--mat-slider-value-indicator-container-transform:translateX(-50%);--mdc-slider-active-track-height:6px;--mdc-slider-active-track-shape:9999px;--mdc-slider-handle-height:20px;--mdc-slider-handle-shape:50%;--mdc-slider-handle-width:20px;--mdc-slider-inactive-track-height:4px;--mdc-slider-inactive-track-shape:9999px;--mdc-slider-with-overlap-handle-outline-width:1px;--mdc-slider-with-tick-marks-active-container-opacity:.6;--mdc-slider-with-tick-marks-container-shape:50%;--mdc-slider-with-tick-marks-container-size:2px;--mdc-slider-with-tick-marks-inactive-container-opacity:.6}html{--mdc-slider-handle-color:#3f51b5;--mdc-slider-focus-handle-color:#3f51b5;--mdc-slider-hover-handle-color:#3f51b5;--mdc-slider-active-track-color:#3f51b5;--mdc-slider-inactive-track-color:#3f51b5;--mdc-slider-with-tick-marks-inactive-container-color:#3f51b5;--mdc-slider-with-tick-marks-active-container-color:white;--mdc-slider-disabled-active-track-color:#000;--mdc-slider-disabled-handle-color:#000;--mdc-slider-disabled-inactive-track-color:#000;--mdc-slider-label-container-color:#000;--mdc-slider-label-label-text-color:#fff;--mdc-slider-with-overlap-handle-outline-color:#fff;--mdc-slider-with-tick-marks-disabled-container-color:#000;--mdc-slider-handle-elevation:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-slider-ripple-color:#3f51b5;--mat-slider-hover-state-layer-color:rgba(63, 81, 181, .05);--mat-slider-focus-state-layer-color:rgba(63, 81, 181, .2);--mat-slider-value-indicator-opacity:.6}html .mat-accent{--mat-slider-ripple-color:#ff4081;--mat-slider-hover-state-layer-color:rgba(255, 64, 129, .05);--mat-slider-focus-state-layer-color:rgba(255, 64, 129, .2);--mdc-slider-handle-color:#ff4081;--mdc-slider-focus-handle-color:#ff4081;--mdc-slider-hover-handle-color:#ff4081;--mdc-slider-active-track-color:#ff4081;--mdc-slider-inactive-track-color:#ff4081;--mdc-slider-with-tick-marks-inactive-container-color:#ff4081;--mdc-slider-with-tick-marks-active-container-color:white}html .mat-warn{--mat-slider-ripple-color:#f44336;--mat-slider-hover-state-layer-color:rgba(244, 67, 54, .05);--mat-slider-focus-state-layer-color:rgba(244, 67, 54, .2);--mdc-slider-handle-color:#f44336;--mdc-slider-focus-handle-color:#f44336;--mdc-slider-hover-handle-color:#f44336;--mdc-slider-active-track-color:#f44336;--mdc-slider-inactive-track-color:#f44336;--mdc-slider-with-tick-marks-inactive-container-color:#f44336;--mdc-slider-with-tick-marks-active-container-color:white}html{--mdc-slider-label-label-text-font:Roboto, sans-serif;--mdc-slider-label-label-text-size:14px;--mdc-slider-label-label-text-line-height:22px;--mdc-slider-label-label-text-tracking:.0071428571em;--mdc-slider-label-label-text-weight:500}html{--mat-menu-container-shape:4px;--mat-menu-divider-bottom-spacing:0;--mat-menu-divider-top-spacing:0;--mat-menu-item-spacing:16px;--mat-menu-item-icon-size:24px;--mat-menu-item-leading-spacing:16px;--mat-menu-item-trailing-spacing:16px;--mat-menu-item-with-icon-leading-spacing:16px;--mat-menu-item-with-icon-trailing-spacing:16px}html{--mat-menu-item-label-text-color:rgba(0, 0, 0, .87);--mat-menu-item-icon-color:rgba(0, 0, 0, .87);--mat-menu-item-hover-state-layer-color:rgba(0, 0, 0, .04);--mat-menu-item-focus-state-layer-color:rgba(0, 0, 0, .04);--mat-menu-container-color:white;--mat-menu-divider-color:rgba(0, 0, 0, .12)}html{--mat-menu-item-label-text-font:Roboto, sans-serif;--mat-menu-item-label-text-size:16px;--mat-menu-item-label-text-tracking:.03125em;--mat-menu-item-label-text-line-height:24px;--mat-menu-item-label-text-weight:400}html{--mdc-list-list-item-container-shape:0;--mdc-list-list-item-leading-avatar-shape:50%;--mdc-list-list-item-container-color:transparent;--mdc-list-list-item-selected-container-color:transparent;--mdc-list-list-item-leading-avatar-color:transparent;--mdc-list-list-item-leading-icon-size:24px;--mdc-list-list-item-leading-avatar-size:40px;--mdc-list-list-item-trailing-icon-size:24px;--mdc-list-list-item-disabled-state-layer-color:transparent;--mdc-list-list-item-disabled-state-layer-opacity:0;--mdc-list-list-item-disabled-label-text-opacity:.38;--mdc-list-list-item-disabled-leading-icon-opacity:.38;--mdc-list-list-item-disabled-trailing-icon-opacity:.38;--mat-list-active-indicator-color:transparent;--mat-list-active-indicator-shape:4px}html{--mdc-list-list-item-label-text-color:rgba(0, 0, 0, .87);--mdc-list-list-item-supporting-text-color:rgba(0, 0, 0, .54);--mdc-list-list-item-leading-icon-color:rgba(0, 0, 0, .38);--mdc-list-list-item-trailing-supporting-text-color:rgba(0, 0, 0, .38);--mdc-list-list-item-trailing-icon-color:rgba(0, 0, 0, .38);--mdc-list-list-item-selected-trailing-icon-color:rgba(0, 0, 0, .38);--mdc-list-list-item-disabled-label-text-color:black;--mdc-list-list-item-disabled-leading-icon-color:black;--mdc-list-list-item-disabled-trailing-icon-color:black;--mdc-list-list-item-hover-label-text-color:rgba(0, 0, 0, .87);--mdc-list-list-item-hover-leading-icon-color:rgba(0, 0, 0, .38);--mdc-list-list-item-hover-trailing-icon-color:rgba(0, 0, 0, .38);--mdc-list-list-item-focus-label-text-color:rgba(0, 0, 0, .87);--mdc-list-list-item-hover-state-layer-color:black;--mdc-list-list-item-hover-state-layer-opacity:.04;--mdc-list-list-item-focus-state-layer-color:black;--mdc-list-list-item-focus-state-layer-opacity:.12}.mdc-list-item__start,.mdc-list-item__end{--mdc-radio-disabled-selected-icon-color:black;--mdc-radio-disabled-unselected-icon-color:black;--mdc-radio-unselected-hover-icon-color:#212121;--mdc-radio-unselected-icon-color:rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color:rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color:#3f51b5;--mdc-radio-selected-hover-icon-color:#3f51b5;--mdc-radio-selected-icon-color:#3f51b5;--mdc-radio-selected-pressed-icon-color:#3f51b5}.mat-accent .mdc-list-item__start,.mat-accent .mdc-list-item__end{--mdc-radio-disabled-selected-icon-color:black;--mdc-radio-disabled-unselected-icon-color:black;--mdc-radio-unselected-hover-icon-color:#212121;--mdc-radio-unselected-icon-color:rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color:rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color:#ff4081;--mdc-radio-selected-hover-icon-color:#ff4081;--mdc-radio-selected-icon-color:#ff4081;--mdc-radio-selected-pressed-icon-color:#ff4081}.mat-warn .mdc-list-item__start,.mat-warn .mdc-list-item__end{--mdc-radio-disabled-selected-icon-color:black;--mdc-radio-disabled-unselected-icon-color:black;--mdc-radio-unselected-hover-icon-color:#212121;--mdc-radio-unselected-icon-color:rgba(0, 0, 0, .54);--mdc-radio-unselected-pressed-icon-color:rgba(0, 0, 0, .54);--mdc-radio-selected-focus-icon-color:#f44336;--mdc-radio-selected-hover-icon-color:#f44336;--mdc-radio-selected-icon-color:#f44336;--mdc-radio-selected-pressed-icon-color:#f44336}.mat-mdc-list-option{--mdc-checkbox-disabled-selected-icon-color:rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color:rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color:white;--mdc-checkbox-selected-focus-icon-color:#3f51b5;--mdc-checkbox-selected-hover-icon-color:#3f51b5;--mdc-checkbox-selected-icon-color:#3f51b5;--mdc-checkbox-selected-pressed-icon-color:#3f51b5;--mdc-checkbox-unselected-focus-icon-color:#212121;--mdc-checkbox-unselected-hover-icon-color:#212121;--mdc-checkbox-unselected-icon-color:rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color:rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color:#3f51b5;--mdc-checkbox-selected-hover-state-layer-color:#3f51b5;--mdc-checkbox-selected-pressed-state-layer-color:#3f51b5;--mdc-checkbox-unselected-focus-state-layer-color:black;--mdc-checkbox-unselected-hover-state-layer-color:black;--mdc-checkbox-unselected-pressed-state-layer-color:black}.mat-mdc-list-option.mat-accent{--mdc-checkbox-disabled-selected-icon-color:rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color:rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color:white;--mdc-checkbox-selected-focus-icon-color:#ff4081;--mdc-checkbox-selected-hover-icon-color:#ff4081;--mdc-checkbox-selected-icon-color:#ff4081;--mdc-checkbox-selected-pressed-icon-color:#ff4081;--mdc-checkbox-unselected-focus-icon-color:#212121;--mdc-checkbox-unselected-hover-icon-color:#212121;--mdc-checkbox-unselected-icon-color:rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color:rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color:#ff4081;--mdc-checkbox-selected-hover-state-layer-color:#ff4081;--mdc-checkbox-selected-pressed-state-layer-color:#ff4081;--mdc-checkbox-unselected-focus-state-layer-color:black;--mdc-checkbox-unselected-hover-state-layer-color:black;--mdc-checkbox-unselected-pressed-state-layer-color:black}.mat-mdc-list-option.mat-warn{--mdc-checkbox-disabled-selected-icon-color:rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color:rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color:white;--mdc-checkbox-selected-focus-icon-color:#f44336;--mdc-checkbox-selected-hover-icon-color:#f44336;--mdc-checkbox-selected-icon-color:#f44336;--mdc-checkbox-selected-pressed-icon-color:#f44336;--mdc-checkbox-unselected-focus-icon-color:#212121;--mdc-checkbox-unselected-hover-icon-color:#212121;--mdc-checkbox-unselected-icon-color:rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color:rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color:#f44336;--mdc-checkbox-selected-hover-state-layer-color:#f44336;--mdc-checkbox-selected-pressed-state-layer-color:#f44336;--mdc-checkbox-unselected-focus-state-layer-color:black;--mdc-checkbox-unselected-hover-state-layer-color:black;--mdc-checkbox-unselected-pressed-state-layer-color:black}.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--selected .mdc-list-item__primary-text,.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--activated .mdc-list-item__primary-text,.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--selected.mdc-list-item--with-leading-icon .mdc-list-item__start,.mat-mdc-list-base.mat-mdc-list-base .mdc-list-item--activated.mdc-list-item--with-leading-icon .mdc-list-item__start{color:#3f51b5}.mat-mdc-list-base .mdc-list-item--disabled .mdc-list-item__start,.mat-mdc-list-base .mdc-list-item--disabled .mdc-list-item__content,.mat-mdc-list-base .mdc-list-item--disabled .mdc-list-item__end{opacity:1}html{--mdc-list-list-item-one-line-container-height:48px;--mdc-list-list-item-two-line-container-height:64px;--mdc-list-list-item-three-line-container-height:88px;--mat-list-list-item-leading-icon-start-space:16px;--mat-list-list-item-leading-icon-end-space:32px}.mdc-list-item__start,.mdc-list-item__end{--mdc-radio-state-layer-size:40px}.mat-mdc-list-item.mdc-list-item--with-leading-avatar.mdc-list-item--with-one-line,.mat-mdc-list-item.mdc-list-item--with-leading-checkbox.mdc-list-item--with-one-line,.mat-mdc-list-item.mdc-list-item--with-leading-icon.mdc-list-item--with-one-line{height:56px}.mat-mdc-list-item.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines,.mat-mdc-list-item.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines,.mat-mdc-list-item.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines{height:72px}html{--mdc-list-list-item-label-text-font:Roboto, sans-serif;--mdc-list-list-item-label-text-line-height:24px;--mdc-list-list-item-label-text-size:16px;--mdc-list-list-item-label-text-tracking:.03125em;--mdc-list-list-item-label-text-weight:400;--mdc-list-list-item-supporting-text-font:Roboto, sans-serif;--mdc-list-list-item-supporting-text-line-height:20px;--mdc-list-list-item-supporting-text-size:14px;--mdc-list-list-item-supporting-text-tracking:.0178571429em;--mdc-list-list-item-supporting-text-weight:400;--mdc-list-list-item-trailing-supporting-text-font:Roboto, sans-serif;--mdc-list-list-item-trailing-supporting-text-line-height:20px;--mdc-list-list-item-trailing-supporting-text-size:12px;--mdc-list-list-item-trailing-supporting-text-tracking:.0333333333em;--mdc-list-list-item-trailing-supporting-text-weight:400}.mdc-list-group__subheader{font:400 16px/28px Roboto,sans-serif;letter-spacing:.009375em}html{--mat-paginator-container-text-color:rgba(0, 0, 0, .87);--mat-paginator-container-background-color:white;--mat-paginator-enabled-icon-color:rgba(0, 0, 0, .54);--mat-paginator-disabled-icon-color:rgba(0, 0, 0, .12)}html{--mat-paginator-container-size:56px;--mat-paginator-form-field-container-height:40px;--mat-paginator-form-field-container-vertical-padding:8px}html{--mat-paginator-container-text-font:Roboto, sans-serif;--mat-paginator-container-text-line-height:20px;--mat-paginator-container-text-size:12px;--mat-paginator-container-text-tracking:.0333333333em;--mat-paginator-container-text-weight:400;--mat-paginator-select-trigger-text-size:12px}html{--mdc-tab-indicator-active-indicator-height:2px;--mdc-tab-indicator-active-indicator-shape:0;--mdc-secondary-navigation-tab-container-height:48px;--mat-tab-header-divider-color:transparent;--mat-tab-header-divider-height:0}.mat-mdc-tab-group,.mat-mdc-tab-nav-bar{--mdc-tab-indicator-active-indicator-color:#3f51b5;--mat-tab-header-disabled-ripple-color:rgba(0, 0, 0, .38);--mat-tab-header-pagination-icon-color:black;--mat-tab-header-inactive-label-text-color:rgba(0, 0, 0, .6);--mat-tab-header-active-label-text-color:#3f51b5;--mat-tab-header-active-ripple-color:#3f51b5;--mat-tab-header-inactive-ripple-color:#3f51b5;--mat-tab-header-inactive-focus-label-text-color:rgba(0, 0, 0, .6);--mat-tab-header-inactive-hover-label-text-color:rgba(0, 0, 0, .6);--mat-tab-header-active-focus-label-text-color:#3f51b5;--mat-tab-header-active-hover-label-text-color:#3f51b5;--mat-tab-header-active-focus-indicator-color:#3f51b5;--mat-tab-header-active-hover-indicator-color:#3f51b5}.mat-mdc-tab-group.mat-accent,.mat-mdc-tab-nav-bar.mat-accent{--mdc-tab-indicator-active-indicator-color:#ff4081;--mat-tab-header-disabled-ripple-color:rgba(0, 0, 0, .38);--mat-tab-header-pagination-icon-color:black;--mat-tab-header-inactive-label-text-color:rgba(0, 0, 0, .6);--mat-tab-header-active-label-text-color:#ff4081;--mat-tab-header-active-ripple-color:#ff4081;--mat-tab-header-inactive-ripple-color:#ff4081;--mat-tab-header-inactive-focus-label-text-color:rgba(0, 0, 0, .6);--mat-tab-header-inactive-hover-label-text-color:rgba(0, 0, 0, .6);--mat-tab-header-active-focus-label-text-color:#ff4081;--mat-tab-header-active-hover-label-text-color:#ff4081;--mat-tab-header-active-focus-indicator-color:#ff4081;--mat-tab-header-active-hover-indicator-color:#ff4081}.mat-mdc-tab-group.mat-warn,.mat-mdc-tab-nav-bar.mat-warn{--mdc-tab-indicator-active-indicator-color:#f44336;--mat-tab-header-disabled-ripple-color:rgba(0, 0, 0, .38);--mat-tab-header-pagination-icon-color:black;--mat-tab-header-inactive-label-text-color:rgba(0, 0, 0, .6);--mat-tab-header-active-label-text-color:#f44336;--mat-tab-header-active-ripple-color:#f44336;--mat-tab-header-inactive-ripple-color:#f44336;--mat-tab-header-inactive-focus-label-text-color:rgba(0, 0, 0, .6);--mat-tab-header-inactive-hover-label-text-color:rgba(0, 0, 0, .6);--mat-tab-header-active-focus-label-text-color:#f44336;--mat-tab-header-active-hover-label-text-color:#f44336;--mat-tab-header-active-focus-indicator-color:#f44336;--mat-tab-header-active-hover-indicator-color:#f44336}.mat-mdc-tab-group.mat-background-primary,.mat-mdc-tab-nav-bar.mat-background-primary{--mat-tab-header-with-background-background-color:#3f51b5;--mat-tab-header-with-background-foreground-color:white}.mat-mdc-tab-group.mat-background-accent,.mat-mdc-tab-nav-bar.mat-background-accent{--mat-tab-header-with-background-background-color:#ff4081;--mat-tab-header-with-background-foreground-color:white}.mat-mdc-tab-group.mat-background-warn,.mat-mdc-tab-nav-bar.mat-background-warn{--mat-tab-header-with-background-background-color:#f44336;--mat-tab-header-with-background-foreground-color:white}.mat-mdc-tab-header{--mdc-secondary-navigation-tab-container-height:48px}.mat-mdc-tab-header{--mat-tab-header-label-text-font:Roboto, sans-serif;--mat-tab-header-label-text-size:14px;--mat-tab-header-label-text-tracking:.0892857143em;--mat-tab-header-label-text-line-height:36px;--mat-tab-header-label-text-weight:500}html{--mdc-checkbox-disabled-selected-checkmark-color:#fff;--mdc-checkbox-selected-focus-state-layer-opacity:.16;--mdc-checkbox-selected-hover-state-layer-opacity:.04;--mdc-checkbox-selected-pressed-state-layer-opacity:.16;--mdc-checkbox-unselected-focus-state-layer-opacity:.16;--mdc-checkbox-unselected-hover-state-layer-opacity:.04;--mdc-checkbox-unselected-pressed-state-layer-opacity:.16}html{--mdc-checkbox-disabled-selected-icon-color:rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color:rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color:white;--mdc-checkbox-selected-focus-icon-color:#ff4081;--mdc-checkbox-selected-hover-icon-color:#ff4081;--mdc-checkbox-selected-icon-color:#ff4081;--mdc-checkbox-selected-pressed-icon-color:#ff4081;--mdc-checkbox-unselected-focus-icon-color:#212121;--mdc-checkbox-unselected-hover-icon-color:#212121;--mdc-checkbox-unselected-icon-color:rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color:rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color:#ff4081;--mdc-checkbox-selected-hover-state-layer-color:#ff4081;--mdc-checkbox-selected-pressed-state-layer-color:#ff4081;--mdc-checkbox-unselected-focus-state-layer-color:black;--mdc-checkbox-unselected-hover-state-layer-color:black;--mdc-checkbox-unselected-pressed-state-layer-color:black;--mat-checkbox-disabled-label-color:rgba(0, 0, 0, .38)}.mat-mdc-checkbox{--mdc-form-field-label-text-color:rgba(0, 0, 0, .87)}.mat-mdc-checkbox.mat-primary{--mdc-checkbox-disabled-selected-icon-color:rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color:rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color:white;--mdc-checkbox-selected-focus-icon-color:#3f51b5;--mdc-checkbox-selected-hover-icon-color:#3f51b5;--mdc-checkbox-selected-icon-color:#3f51b5;--mdc-checkbox-selected-pressed-icon-color:#3f51b5;--mdc-checkbox-unselected-focus-icon-color:#212121;--mdc-checkbox-unselected-hover-icon-color:#212121;--mdc-checkbox-unselected-icon-color:rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color:rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color:#3f51b5;--mdc-checkbox-selected-hover-state-layer-color:#3f51b5;--mdc-checkbox-selected-pressed-state-layer-color:#3f51b5;--mdc-checkbox-unselected-focus-state-layer-color:black;--mdc-checkbox-unselected-hover-state-layer-color:black;--mdc-checkbox-unselected-pressed-state-layer-color:black}.mat-mdc-checkbox.mat-warn{--mdc-checkbox-disabled-selected-icon-color:rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color:rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color:white;--mdc-checkbox-selected-focus-icon-color:#f44336;--mdc-checkbox-selected-hover-icon-color:#f44336;--mdc-checkbox-selected-icon-color:#f44336;--mdc-checkbox-selected-pressed-icon-color:#f44336;--mdc-checkbox-unselected-focus-icon-color:#212121;--mdc-checkbox-unselected-hover-icon-color:#212121;--mdc-checkbox-unselected-icon-color:rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color:rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color:#f44336;--mdc-checkbox-selected-hover-state-layer-color:#f44336;--mdc-checkbox-selected-pressed-state-layer-color:#f44336;--mdc-checkbox-unselected-focus-state-layer-color:black;--mdc-checkbox-unselected-hover-state-layer-color:black;--mdc-checkbox-unselected-pressed-state-layer-color:black}html{--mdc-checkbox-state-layer-size:40px;--mat-checkbox-touch-target-display:block}.mat-mdc-checkbox{--mdc-form-field-label-text-font:Roboto, sans-serif;--mdc-form-field-label-text-line-height:20px;--mdc-form-field-label-text-size:14px;--mdc-form-field-label-text-tracking:.0178571429em;--mdc-form-field-label-text-weight:400}html{--mdc-text-button-container-shape:4px;--mdc-text-button-keep-touch-target:false;--mdc-filled-button-container-shape:4px;--mdc-filled-button-keep-touch-target:false;--mdc-protected-button-container-shape:4px;--mdc-protected-button-keep-touch-target:false;--mdc-outlined-button-keep-touch-target:false;--mdc-outlined-button-outline-width:1px;--mdc-outlined-button-container-shape:4px;--mat-text-button-horizontal-padding:8px;--mat-text-button-with-icon-horizontal-padding:8px;--mat-text-button-icon-spacing:8px;--mat-text-button-icon-offset:0;--mat-filled-button-horizontal-padding:16px;--mat-filled-button-icon-spacing:8px;--mat-filled-button-icon-offset:-4px;--mat-protected-button-horizontal-padding:16px;--mat-protected-button-icon-spacing:8px;--mat-protected-button-icon-offset:-4px;--mat-outlined-button-horizontal-padding:15px;--mat-outlined-button-icon-spacing:8px;--mat-outlined-button-icon-offset:-4px}html{--mdc-text-button-label-text-color:black;--mdc-text-button-disabled-label-text-color:rgba(0, 0, 0, .38);--mat-text-button-state-layer-color:black;--mat-text-button-disabled-state-layer-color:black;--mat-text-button-ripple-color:rgba(0, 0, 0, .1);--mat-text-button-hover-state-layer-opacity:.04;--mat-text-button-focus-state-layer-opacity:.12;--mat-text-button-pressed-state-layer-opacity:.12;--mdc-filled-button-container-color:white;--mdc-filled-button-label-text-color:black;--mdc-filled-button-disabled-container-color:rgba(0, 0, 0, .12);--mdc-filled-button-disabled-label-text-color:rgba(0, 0, 0, .38);--mat-filled-button-state-layer-color:black;--mat-filled-button-disabled-state-layer-color:black;--mat-filled-button-ripple-color:rgba(0, 0, 0, .1);--mat-filled-button-hover-state-layer-opacity:.04;--mat-filled-button-focus-state-layer-opacity:.12;--mat-filled-button-pressed-state-layer-opacity:.12;--mdc-protected-button-container-color:white;--mdc-protected-button-label-text-color:black;--mdc-protected-button-disabled-container-color:rgba(0, 0, 0, .12);--mdc-protected-button-disabled-label-text-color:rgba(0, 0, 0, .38);--mdc-protected-button-container-elevation-shadow:0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mdc-protected-button-disabled-container-elevation-shadow:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mdc-protected-button-focus-container-elevation-shadow:0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mdc-protected-button-hover-container-elevation-shadow:0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mdc-protected-button-pressed-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-protected-button-container-shadow-color:#000;--mat-protected-button-state-layer-color:black;--mat-protected-button-disabled-state-layer-color:black;--mat-protected-button-ripple-color:rgba(0, 0, 0, .1);--mat-protected-button-hover-state-layer-opacity:.04;--mat-protected-button-focus-state-layer-opacity:.12;--mat-protected-button-pressed-state-layer-opacity:.12;--mdc-outlined-button-disabled-outline-color:rgba(0, 0, 0, .12);--mdc-outlined-button-disabled-label-text-color:rgba(0, 0, 0, .38);--mdc-outlined-button-label-text-color:black;--mdc-outlined-button-outline-color:rgba(0, 0, 0, .12);--mat-outlined-button-state-layer-color:black;--mat-outlined-button-disabled-state-layer-color:black;--mat-outlined-button-ripple-color:rgba(0, 0, 0, .1);--mat-outlined-button-hover-state-layer-opacity:.04;--mat-outlined-button-focus-state-layer-opacity:.12;--mat-outlined-button-pressed-state-layer-opacity:.12}.mat-mdc-button.mat-primary{--mdc-text-button-label-text-color:#3f51b5;--mat-text-button-state-layer-color:#3f51b5;--mat-text-button-ripple-color:rgba(63, 81, 181, .1)}.mat-mdc-button.mat-accent{--mdc-text-button-label-text-color:#ff4081;--mat-text-button-state-layer-color:#ff4081;--mat-text-button-ripple-color:rgba(255, 64, 129, .1)}.mat-mdc-button.mat-warn{--mdc-text-button-label-text-color:#f44336;--mat-text-button-state-layer-color:#f44336;--mat-text-button-ripple-color:rgba(244, 67, 54, .1)}.mat-mdc-unelevated-button.mat-primary{--mdc-filled-button-container-color:#3f51b5;--mdc-filled-button-label-text-color:white;--mat-filled-button-state-layer-color:white;--mat-filled-button-ripple-color:rgba(255, 255, 255, .1)}.mat-mdc-unelevated-button.mat-accent{--mdc-filled-button-container-color:#ff4081;--mdc-filled-button-label-text-color:white;--mat-filled-button-state-layer-color:white;--mat-filled-button-ripple-color:rgba(255, 255, 255, .1)}.mat-mdc-unelevated-button.mat-warn{--mdc-filled-button-container-color:#f44336;--mdc-filled-button-label-text-color:white;--mat-filled-button-state-layer-color:white;--mat-filled-button-ripple-color:rgba(255, 255, 255, .1)}.mat-mdc-raised-button.mat-primary{--mdc-protected-button-container-color:#3f51b5;--mdc-protected-button-label-text-color:white;--mat-protected-button-state-layer-color:white;--mat-protected-button-ripple-color:rgba(255, 255, 255, .1)}.mat-mdc-raised-button.mat-accent{--mdc-protected-button-container-color:#ff4081;--mdc-protected-button-label-text-color:white;--mat-protected-button-state-layer-color:white;--mat-protected-button-ripple-color:rgba(255, 255, 255, .1)}.mat-mdc-raised-button.mat-warn{--mdc-protected-button-container-color:#f44336;--mdc-protected-button-label-text-color:white;--mat-protected-button-state-layer-color:white;--mat-protected-button-ripple-color:rgba(255, 255, 255, .1)}.mat-mdc-outlined-button.mat-primary{--mdc-outlined-button-label-text-color:#3f51b5;--mdc-outlined-button-outline-color:rgba(0, 0, 0, .12);--mat-outlined-button-state-layer-color:#3f51b5;--mat-outlined-button-ripple-color:rgba(63, 81, 181, .1)}.mat-mdc-outlined-button.mat-accent{--mdc-outlined-button-label-text-color:#ff4081;--mdc-outlined-button-outline-color:rgba(0, 0, 0, .12);--mat-outlined-button-state-layer-color:#ff4081;--mat-outlined-button-ripple-color:rgba(255, 64, 129, .1)}.mat-mdc-outlined-button.mat-warn{--mdc-outlined-button-label-text-color:#f44336;--mdc-outlined-button-outline-color:rgba(0, 0, 0, .12);--mat-outlined-button-state-layer-color:#f44336;--mat-outlined-button-ripple-color:rgba(244, 67, 54, .1)}html{--mdc-text-button-container-height:36px;--mdc-filled-button-container-height:36px;--mdc-outlined-button-container-height:36px;--mdc-protected-button-container-height:36px;--mat-text-button-touch-target-display:block;--mat-filled-button-touch-target-display:block;--mat-protected-button-touch-target-display:block;--mat-outlined-button-touch-target-display:block}html{--mdc-text-button-label-text-font:Roboto, sans-serif;--mdc-text-button-label-text-size:14px;--mdc-text-button-label-text-tracking:.0892857143em;--mdc-text-button-label-text-weight:500;--mdc-text-button-label-text-transform:none;--mdc-filled-button-label-text-font:Roboto, sans-serif;--mdc-filled-button-label-text-size:14px;--mdc-filled-button-label-text-tracking:.0892857143em;--mdc-filled-button-label-text-weight:500;--mdc-filled-button-label-text-transform:none;--mdc-outlined-button-label-text-font:Roboto, sans-serif;--mdc-outlined-button-label-text-size:14px;--mdc-outlined-button-label-text-tracking:.0892857143em;--mdc-outlined-button-label-text-weight:500;--mdc-outlined-button-label-text-transform:none;--mdc-protected-button-label-text-font:Roboto, sans-serif;--mdc-protected-button-label-text-size:14px;--mdc-protected-button-label-text-tracking:.0892857143em;--mdc-protected-button-label-text-weight:500;--mdc-protected-button-label-text-transform:none}html{--mdc-icon-button-icon-size:24px}html{--mdc-icon-button-icon-color:inherit;--mdc-icon-button-disabled-icon-color:rgba(0, 0, 0, .38);--mat-icon-button-state-layer-color:black;--mat-icon-button-disabled-state-layer-color:black;--mat-icon-button-ripple-color:rgba(0, 0, 0, .1);--mat-icon-button-hover-state-layer-opacity:.04;--mat-icon-button-focus-state-layer-opacity:.12;--mat-icon-button-pressed-state-layer-opacity:.12}html .mat-mdc-icon-button.mat-primary{--mdc-icon-button-icon-color:#3f51b5;--mat-icon-button-state-layer-color:#3f51b5;--mat-icon-button-ripple-color:rgba(63, 81, 181, .1)}html .mat-mdc-icon-button.mat-accent{--mdc-icon-button-icon-color:#ff4081;--mat-icon-button-state-layer-color:#ff4081;--mat-icon-button-ripple-color:rgba(255, 64, 129, .1)}html .mat-mdc-icon-button.mat-warn{--mdc-icon-button-icon-color:#f44336;--mat-icon-button-state-layer-color:#f44336;--mat-icon-button-ripple-color:rgba(244, 67, 54, .1)}html{--mat-icon-button-touch-target-display:block}.mat-mdc-icon-button.mat-mdc-button-base{--mdc-icon-button-state-layer-size:48px;width:var(--mdc-icon-button-state-layer-size);height:var(--mdc-icon-button-state-layer-size);padding:12px}html{--mdc-fab-container-shape:50%;--mdc-fab-icon-size:24px;--mdc-fab-small-container-shape:50%;--mdc-fab-small-icon-size:24px;--mdc-extended-fab-container-height:48px;--mdc-extended-fab-container-shape:24px}html{--mdc-fab-container-color:white;--mdc-fab-container-elevation-shadow:0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-focus-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-fab-hover-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-fab-pressed-container-elevation-shadow:0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mdc-fab-container-shadow-color:#000;--mat-fab-foreground-color:black;--mat-fab-state-layer-color:black;--mat-fab-disabled-state-layer-color:black;--mat-fab-ripple-color:rgba(0, 0, 0, .1);--mat-fab-hover-state-layer-opacity:.04;--mat-fab-focus-state-layer-opacity:.12;--mat-fab-pressed-state-layer-opacity:.12;--mat-fab-disabled-state-container-color:rgba(0, 0, 0, .12);--mat-fab-disabled-state-foreground-color:rgba(0, 0, 0, .38);--mdc-fab-small-container-color:white;--mdc-fab-small-container-elevation-shadow:0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-fab-small-focus-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-fab-small-hover-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-fab-small-pressed-container-elevation-shadow:0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mdc-fab-small-container-shadow-color:#000;--mat-fab-small-foreground-color:black;--mat-fab-small-state-layer-color:black;--mat-fab-small-disabled-state-layer-color:black;--mat-fab-small-ripple-color:rgba(0, 0, 0, .1);--mat-fab-small-hover-state-layer-opacity:.04;--mat-fab-small-focus-state-layer-opacity:.12;--mat-fab-small-pressed-state-layer-opacity:.12;--mat-fab-small-disabled-state-container-color:rgba(0, 0, 0, .12);--mat-fab-small-disabled-state-foreground-color:rgba(0, 0, 0, .38);--mdc-extended-fab-container-elevation-shadow:0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mdc-extended-fab-focus-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-extended-fab-hover-container-elevation-shadow:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mdc-extended-fab-pressed-container-elevation-shadow:0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mdc-extended-fab-container-shadow-color:#000}html .mat-mdc-fab.mat-primary{--mdc-fab-container-color:#3f51b5;--mat-fab-foreground-color:white;--mat-fab-state-layer-color:white;--mat-fab-ripple-color:rgba(255, 255, 255, .1)}html .mat-mdc-fab.mat-accent{--mdc-fab-container-color:#ff4081;--mat-fab-foreground-color:white;--mat-fab-state-layer-color:white;--mat-fab-ripple-color:rgba(255, 255, 255, .1)}html .mat-mdc-fab.mat-warn{--mdc-fab-container-color:#f44336;--mat-fab-foreground-color:white;--mat-fab-state-layer-color:white;--mat-fab-ripple-color:rgba(255, 255, 255, .1)}html .mat-mdc-mini-fab.mat-primary{--mdc-fab-small-container-color:#3f51b5;--mat-fab-small-foreground-color:white;--mat-fab-small-state-layer-color:white;--mat-fab-small-ripple-color:rgba(255, 255, 255, .1)}html .mat-mdc-mini-fab.mat-accent{--mdc-fab-small-container-color:#ff4081;--mat-fab-small-foreground-color:white;--mat-fab-small-state-layer-color:white;--mat-fab-small-ripple-color:rgba(255, 255, 255, .1)}html .mat-mdc-mini-fab.mat-warn{--mdc-fab-small-container-color:#f44336;--mat-fab-small-foreground-color:white;--mat-fab-small-state-layer-color:white;--mat-fab-small-ripple-color:rgba(255, 255, 255, .1)}html{--mat-fab-touch-target-display:block;--mat-fab-small-touch-target-display:block}html{--mdc-extended-fab-label-text-font:Roboto, sans-serif;--mdc-extended-fab-label-text-size:14px;--mdc-extended-fab-label-text-tracking:.0892857143em;--mdc-extended-fab-label-text-weight:500}html{--mdc-snackbar-container-shape:4px}html{--mdc-snackbar-container-color:#333333;--mdc-snackbar-supporting-text-color:rgba(255, 255, 255, .87);--mat-snack-bar-button-color:#ff4081}html{--mdc-snackbar-supporting-text-font:Roboto, sans-serif;--mdc-snackbar-supporting-text-line-height:20px;--mdc-snackbar-supporting-text-size:14px;--mdc-snackbar-supporting-text-weight:400}html{--mat-table-row-item-outline-width:1px}html{--mat-table-background-color:white;--mat-table-header-headline-color:rgba(0, 0, 0, .87);--mat-table-row-item-label-text-color:rgba(0, 0, 0, .87);--mat-table-row-item-outline-color:rgba(0, 0, 0, .12)}html{--mat-table-header-container-height:56px;--mat-table-footer-container-height:52px;--mat-table-row-item-container-height:52px}html{--mat-table-header-headline-font:Roboto, sans-serif;--mat-table-header-headline-line-height:22px;--mat-table-header-headline-size:14px;--mat-table-header-headline-weight:500;--mat-table-header-headline-tracking:.0071428571em;--mat-table-row-item-label-text-font:Roboto, sans-serif;--mat-table-row-item-label-text-line-height:20px;--mat-table-row-item-label-text-size:14px;--mat-table-row-item-label-text-weight:400;--mat-table-row-item-label-text-tracking:.0178571429em;--mat-table-footer-supporting-text-font:Roboto, sans-serif;--mat-table-footer-supporting-text-line-height:20px;--mat-table-footer-supporting-text-size:14px;--mat-table-footer-supporting-text-weight:400;--mat-table-footer-supporting-text-tracking:.0178571429em}html{--mdc-circular-progress-active-indicator-width:4px;--mdc-circular-progress-size:48px}html{--mdc-circular-progress-active-indicator-color:#3f51b5}html .mat-accent{--mdc-circular-progress-active-indicator-color:#ff4081}html .mat-warn{--mdc-circular-progress-active-indicator-color:#f44336}html{--mat-badge-container-shape:50%;--mat-badge-container-size:unset;--mat-badge-small-size-container-size:unset;--mat-badge-large-size-container-size:unset;--mat-badge-legacy-container-size:22px;--mat-badge-legacy-small-size-container-size:16px;--mat-badge-legacy-large-size-container-size:28px;--mat-badge-container-offset:-11px 0;--mat-badge-small-size-container-offset:-8px 0;--mat-badge-large-size-container-offset:-14px 0;--mat-badge-container-overlap-offset:-11px;--mat-badge-small-size-container-overlap-offset:-8px;--mat-badge-large-size-container-overlap-offset:-14px;--mat-badge-container-padding:0;--mat-badge-small-size-container-padding:0;--mat-badge-large-size-container-padding:0}html{--mat-badge-background-color:#3f51b5;--mat-badge-text-color:white;--mat-badge-disabled-state-background-color:#b9b9b9;--mat-badge-disabled-state-text-color:rgba(0, 0, 0, .38)}.mat-badge-accent{--mat-badge-background-color:#ff4081;--mat-badge-text-color:white}.mat-badge-warn{--mat-badge-background-color:#f44336;--mat-badge-text-color:white}html{--mat-badge-text-font:Roboto, sans-serif;--mat-badge-text-size:12px;--mat-badge-text-weight:600;--mat-badge-small-size-text-size:9px;--mat-badge-large-size-text-size:24px}html{--mat-bottom-sheet-container-shape:4px}html{--mat-bottom-sheet-container-text-color:rgba(0, 0, 0, .87);--mat-bottom-sheet-container-background-color:white}html{--mat-bottom-sheet-container-text-font:Roboto, sans-serif;--mat-bottom-sheet-container-text-line-height:20px;--mat-bottom-sheet-container-text-size:14px;--mat-bottom-sheet-container-text-tracking:.0178571429em;--mat-bottom-sheet-container-text-weight:400}html{--mat-legacy-button-toggle-height:36px;--mat-legacy-button-toggle-shape:2px;--mat-legacy-button-toggle-focus-state-layer-opacity:1;--mat-standard-button-toggle-shape:4px;--mat-standard-button-toggle-hover-state-layer-opacity:.04;--mat-standard-button-toggle-focus-state-layer-opacity:.12}html{--mat-legacy-button-toggle-text-color:rgba(0, 0, 0, .38);--mat-legacy-button-toggle-state-layer-color:rgba(0, 0, 0, .12);--mat-legacy-button-toggle-selected-state-text-color:rgba(0, 0, 0, .54);--mat-legacy-button-toggle-selected-state-background-color:#e0e0e0;--mat-legacy-button-toggle-disabled-state-text-color:rgba(0, 0, 0, .26);--mat-legacy-button-toggle-disabled-state-background-color:#eeeeee;--mat-legacy-button-toggle-disabled-selected-state-background-color:#bdbdbd;--mat-standard-button-toggle-text-color:rgba(0, 0, 0, .87);--mat-standard-button-toggle-background-color:white;--mat-standard-button-toggle-state-layer-color:black;--mat-standard-button-toggle-selected-state-background-color:#e0e0e0;--mat-standard-button-toggle-selected-state-text-color:rgba(0, 0, 0, .87);--mat-standard-button-toggle-disabled-state-text-color:rgba(0, 0, 0, .26);--mat-standard-button-toggle-disabled-state-background-color:white;--mat-standard-button-toggle-disabled-selected-state-text-color:rgba(0, 0, 0, .87);--mat-standard-button-toggle-disabled-selected-state-background-color:#bdbdbd;--mat-standard-button-toggle-divider-color:#e0e0e0}html{--mat-standard-button-toggle-height:48px}html{--mat-legacy-button-toggle-label-text-font:Roboto, sans-serif;--mat-legacy-button-toggle-label-text-line-height:24px;--mat-legacy-button-toggle-label-text-size:16px;--mat-legacy-button-toggle-label-text-tracking:.03125em;--mat-legacy-button-toggle-label-text-weight:400;--mat-standard-button-toggle-label-text-font:Roboto, sans-serif;--mat-standard-button-toggle-label-text-line-height:24px;--mat-standard-button-toggle-label-text-size:16px;--mat-standard-button-toggle-label-text-tracking:.03125em;--mat-standard-button-toggle-label-text-weight:400}html{--mat-datepicker-calendar-container-shape:4px;--mat-datepicker-calendar-container-touch-shape:4px;--mat-datepicker-calendar-container-elevation-shadow:0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mat-datepicker-calendar-container-touch-elevation-shadow:0px 11px 15px -7px rgba(0, 0, 0, .2), 0px 24px 38px 3px rgba(0, 0, 0, .14), 0px 9px 46px 8px rgba(0, 0, 0, .12)}html{--mat-datepicker-calendar-date-selected-state-text-color:white;--mat-datepicker-calendar-date-selected-state-background-color:#3f51b5;--mat-datepicker-calendar-date-selected-disabled-state-background-color:rgba(63, 81, 181, .4);--mat-datepicker-calendar-date-today-selected-state-outline-color:white;--mat-datepicker-calendar-date-focus-state-background-color:rgba(63, 81, 181, .3);--mat-datepicker-calendar-date-hover-state-background-color:rgba(63, 81, 181, .3);--mat-datepicker-toggle-active-state-icon-color:#3f51b5;--mat-datepicker-calendar-date-in-range-state-background-color:rgba(63, 81, 181, .2);--mat-datepicker-calendar-date-in-comparison-range-state-background-color:rgba(249, 171, 0, .2);--mat-datepicker-calendar-date-in-overlap-range-state-background-color:#a8dab5;--mat-datepicker-calendar-date-in-overlap-range-selected-state-background-color:#46a35e;--mat-datepicker-toggle-icon-color:rgba(0, 0, 0, .54);--mat-datepicker-calendar-body-label-text-color:rgba(0, 0, 0, .54);--mat-datepicker-calendar-period-button-text-color:black;--mat-datepicker-calendar-period-button-icon-color:rgba(0, 0, 0, .54);--mat-datepicker-calendar-navigation-button-icon-color:rgba(0, 0, 0, .54);--mat-datepicker-calendar-header-divider-color:rgba(0, 0, 0, .12);--mat-datepicker-calendar-header-text-color:rgba(0, 0, 0, .54);--mat-datepicker-calendar-date-today-outline-color:rgba(0, 0, 0, .38);--mat-datepicker-calendar-date-today-disabled-state-outline-color:rgba(0, 0, 0, .18);--mat-datepicker-calendar-date-text-color:rgba(0, 0, 0, .87);--mat-datepicker-calendar-date-outline-color:transparent;--mat-datepicker-calendar-date-disabled-state-text-color:rgba(0, 0, 0, .38);--mat-datepicker-calendar-date-preview-state-outline-color:rgba(0, 0, 0, .24);--mat-datepicker-range-input-separator-color:rgba(0, 0, 0, .87);--mat-datepicker-range-input-disabled-state-separator-color:rgba(0, 0, 0, .38);--mat-datepicker-range-input-disabled-state-text-color:rgba(0, 0, 0, .38);--mat-datepicker-calendar-container-background-color:white;--mat-datepicker-calendar-container-text-color:rgba(0, 0, 0, .87)}.mat-datepicker-content.mat-accent{--mat-datepicker-calendar-date-selected-state-text-color:white;--mat-datepicker-calendar-date-selected-state-background-color:#ff4081;--mat-datepicker-calendar-date-selected-disabled-state-background-color:rgba(255, 64, 129, .4);--mat-datepicker-calendar-date-today-selected-state-outline-color:white;--mat-datepicker-calendar-date-focus-state-background-color:rgba(255, 64, 129, .3);--mat-datepicker-calendar-date-hover-state-background-color:rgba(255, 64, 129, .3);--mat-datepicker-calendar-date-in-range-state-background-color:rgba(255, 64, 129, .2);--mat-datepicker-calendar-date-in-comparison-range-state-background-color:rgba(249, 171, 0, .2);--mat-datepicker-calendar-date-in-overlap-range-state-background-color:#a8dab5;--mat-datepicker-calendar-date-in-overlap-range-selected-state-background-color:#46a35e}.mat-datepicker-content.mat-warn{--mat-datepicker-calendar-date-selected-state-text-color:white;--mat-datepicker-calendar-date-selected-state-background-color:#f44336;--mat-datepicker-calendar-date-selected-disabled-state-background-color:rgba(244, 67, 54, .4);--mat-datepicker-calendar-date-today-selected-state-outline-color:white;--mat-datepicker-calendar-date-focus-state-background-color:rgba(244, 67, 54, .3);--mat-datepicker-calendar-date-hover-state-background-color:rgba(244, 67, 54, .3);--mat-datepicker-calendar-date-in-range-state-background-color:rgba(244, 67, 54, .2);--mat-datepicker-calendar-date-in-comparison-range-state-background-color:rgba(249, 171, 0, .2);--mat-datepicker-calendar-date-in-overlap-range-state-background-color:#a8dab5;--mat-datepicker-calendar-date-in-overlap-range-selected-state-background-color:#46a35e}.mat-datepicker-toggle-active.mat-accent{--mat-datepicker-toggle-active-state-icon-color:#ff4081}.mat-datepicker-toggle-active.mat-warn{--mat-datepicker-toggle-active-state-icon-color:#f44336}.mat-calendar-controls{--mat-icon-button-touch-target-display:none}.mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base{--mdc-icon-button-state-layer-size:40px;width:var(--mdc-icon-button-state-layer-size);height:var(--mdc-icon-button-state-layer-size);padding:8px}html{--mat-datepicker-calendar-text-font:Roboto, sans-serif;--mat-datepicker-calendar-text-size:13px;--mat-datepicker-calendar-body-label-text-size:14px;--mat-datepicker-calendar-body-label-text-weight:500;--mat-datepicker-calendar-period-button-text-size:14px;--mat-datepicker-calendar-period-button-text-weight:500;--mat-datepicker-calendar-header-text-size:11px;--mat-datepicker-calendar-header-text-weight:400}html{--mat-divider-width:1px}html{--mat-divider-color:rgba(0, 0, 0, .12)}html{--mat-expansion-container-shape:4px;--mat-expansion-legacy-header-indicator-display:inline-block;--mat-expansion-header-indicator-display:none}html{--mat-expansion-container-background-color:white;--mat-expansion-container-text-color:rgba(0, 0, 0, .87);--mat-expansion-actions-divider-color:rgba(0, 0, 0, .12);--mat-expansion-header-hover-state-layer-color:rgba(0, 0, 0, .04);--mat-expansion-header-focus-state-layer-color:rgba(0, 0, 0, .04);--mat-expansion-header-disabled-state-text-color:rgba(0, 0, 0, .26);--mat-expansion-header-text-color:rgba(0, 0, 0, .87);--mat-expansion-header-description-color:rgba(0, 0, 0, .54);--mat-expansion-header-indicator-color:rgba(0, 0, 0, .54)}html{--mat-expansion-header-collapsed-state-height:48px;--mat-expansion-header-expanded-state-height:64px}html{--mat-expansion-header-text-font:Roboto, sans-serif;--mat-expansion-header-text-size:14px;--mat-expansion-header-text-weight:500;--mat-expansion-header-text-line-height:inherit;--mat-expansion-header-text-tracking:inherit;--mat-expansion-container-text-font:Roboto, sans-serif;--mat-expansion-container-text-line-height:20px;--mat-expansion-container-text-size:14px;--mat-expansion-container-text-tracking:.0178571429em;--mat-expansion-container-text-weight:400}html{--mat-grid-list-tile-header-primary-text-size:14px;--mat-grid-list-tile-header-secondary-text-size:12px;--mat-grid-list-tile-footer-primary-text-size:14px;--mat-grid-list-tile-footer-secondary-text-size:12px}html{--mat-icon-color:inherit}.mat-icon.mat-primary{--mat-icon-color:#3f51b5}.mat-icon.mat-accent{--mat-icon-color:#ff4081}.mat-icon.mat-warn{--mat-icon-color:#f44336}html{--mat-sidenav-container-shape:0;--mat-sidenav-container-elevation-shadow:0px 8px 10px -5px rgba(0, 0, 0, .2), 0px 16px 24px 2px rgba(0, 0, 0, .14), 0px 6px 30px 5px rgba(0, 0, 0, .12);--mat-sidenav-container-width:auto}html{--mat-sidenav-container-divider-color:rgba(0, 0, 0, .12);--mat-sidenav-container-background-color:white;--mat-sidenav-container-text-color:rgba(0, 0, 0, .87);--mat-sidenav-content-background-color:#fafafa;--mat-sidenav-content-text-color:rgba(0, 0, 0, .87);--mat-sidenav-scrim-color:rgba(0, 0, 0, .6)}html{--mat-stepper-header-icon-foreground-color:white;--mat-stepper-header-selected-state-icon-background-color:#3f51b5;--mat-stepper-header-selected-state-icon-foreground-color:white;--mat-stepper-header-done-state-icon-background-color:#3f51b5;--mat-stepper-header-done-state-icon-foreground-color:white;--mat-stepper-header-edit-state-icon-background-color:#3f51b5;--mat-stepper-header-edit-state-icon-foreground-color:white;--mat-stepper-container-color:white;--mat-stepper-line-color:rgba(0, 0, 0, .12);--mat-stepper-header-hover-state-layer-color:rgba(0, 0, 0, .04);--mat-stepper-header-focus-state-layer-color:rgba(0, 0, 0, .04);--mat-stepper-header-label-text-color:rgba(0, 0, 0, .54);--mat-stepper-header-optional-label-text-color:rgba(0, 0, 0, .54);--mat-stepper-header-selected-state-label-text-color:rgba(0, 0, 0, .87);--mat-stepper-header-error-state-label-text-color:#f44336;--mat-stepper-header-icon-background-color:rgba(0, 0, 0, .54);--mat-stepper-header-error-state-icon-foreground-color:#f44336;--mat-stepper-header-error-state-icon-background-color:transparent}html .mat-step-header.mat-accent{--mat-stepper-header-icon-foreground-color:white;--mat-stepper-header-selected-state-icon-background-color:#ff4081;--mat-stepper-header-selected-state-icon-foreground-color:white;--mat-stepper-header-done-state-icon-background-color:#ff4081;--mat-stepper-header-done-state-icon-foreground-color:white;--mat-stepper-header-edit-state-icon-background-color:#ff4081;--mat-stepper-header-edit-state-icon-foreground-color:white}html .mat-step-header.mat-warn{--mat-stepper-header-icon-foreground-color:white;--mat-stepper-header-selected-state-icon-background-color:#f44336;--mat-stepper-header-selected-state-icon-foreground-color:white;--mat-stepper-header-done-state-icon-background-color:#f44336;--mat-stepper-header-done-state-icon-foreground-color:white;--mat-stepper-header-edit-state-icon-background-color:#f44336;--mat-stepper-header-edit-state-icon-foreground-color:white}html{--mat-stepper-header-height:72px}html{--mat-stepper-container-text-font:Roboto, sans-serif;--mat-stepper-header-label-text-font:Roboto, sans-serif;--mat-stepper-header-label-text-size:14px;--mat-stepper-header-label-text-weight:400;--mat-stepper-header-error-state-label-text-size:16px;--mat-stepper-header-selected-state-label-text-size:16px;--mat-stepper-header-selected-state-label-text-weight:400}html{--mat-sort-arrow-color:#757575}html{--mat-toolbar-container-background-color:whitesmoke;--mat-toolbar-container-text-color:rgba(0, 0, 0, .87)}.mat-toolbar.mat-primary{--mat-toolbar-container-background-color:#3f51b5;--mat-toolbar-container-text-color:white}.mat-toolbar.mat-accent{--mat-toolbar-container-background-color:#ff4081;--mat-toolbar-container-text-color:white}.mat-toolbar.mat-warn{--mat-toolbar-container-background-color:#f44336;--mat-toolbar-container-text-color:white}html{--mat-toolbar-standard-height:64px;--mat-toolbar-mobile-height:56px}html{--mat-toolbar-title-text-font:Roboto, sans-serif;--mat-toolbar-title-text-line-height:32px;--mat-toolbar-title-text-size:20px;--mat-toolbar-title-text-tracking:.0125em;--mat-toolbar-title-text-weight:500}html{--mat-tree-container-background-color:white;--mat-tree-node-text-color:rgba(0, 0, 0, .87)}html{--mat-tree-node-min-height:48px}html{--mat-tree-node-text-font:Roboto, sans-serif;--mat-tree-node-text-size:14px;--mat-tree-node-text-weight:400}.mat-h1,.mat-headline-5,.mat-typography .mat-h1,.mat-typography .mat-headline-5,.mat-typography h1{font:400 24px/32px Roboto,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h2,.mat-headline-6,.mat-typography .mat-h2,.mat-typography .mat-headline-6,.mat-typography h2{font:500 20px/32px Roboto,sans-serif;letter-spacing:.0125em;margin:0 0 16px}.mat-h3,.mat-subtitle-1,.mat-typography .mat-h3,.mat-typography .mat-subtitle-1,.mat-typography h3{font:400 16px/28px Roboto,sans-serif;letter-spacing:.009375em;margin:0 0 16px}.mat-h4,.mat-body-1,.mat-typography .mat-h4,.mat-typography .mat-body-1,.mat-typography h4{font:400 16px/24px Roboto,sans-serif;letter-spacing:.03125em;margin:0 0 16px}.mat-h5,.mat-typography .mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,sans-serif;margin:0 0 12px}.mat-h6,.mat-typography .mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,sans-serif;margin:0 0 12px}.mat-body-strong,.mat-subtitle-2,.mat-typography .mat-body-strong,.mat-typography .mat-subtitle-2{font:500 14px/22px Roboto,sans-serif;letter-spacing:.0071428571em}.mat-body,.mat-body-2,.mat-typography .mat-body,.mat-typography .mat-body-2,.mat-typography{font:400 14px/20px Roboto,sans-serif;letter-spacing:.0178571429em}.mat-body p,.mat-body-2 p,.mat-typography .mat-body p,.mat-typography .mat-body-2 p,.mat-typography p{margin:0 0 12px}.mat-small,.mat-caption,.mat-typography .mat-small,.mat-typography .mat-caption{font:400 12px/20px Roboto,sans-serif;letter-spacing:.0333333333em}.mat-headline-1,.mat-typography .mat-headline-1{font:300 96px/96px Roboto,sans-serif;letter-spacing:-.015625em;margin:0 0 56px}.mat-headline-2,.mat-typography .mat-headline-2{font:300 60px/60px Roboto,sans-serif;letter-spacing:-.0083333333em;margin:0 0 64px}.mat-headline-3,.mat-typography .mat-headline-3{font:400 48px/50px Roboto,sans-serif;letter-spacing:normal;margin:0 0 64px}.mat-headline-4,.mat-typography .mat-headline-4{font:400 34px/40px Roboto,sans-serif;letter-spacing:.0073529412em;margin:0 0 64px}:root{--main-accent-color: #009688}@font-face{font-family:Super Cartoon;src:url("./media/Super Cartoon-JJ6FODL3.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Raleway;src:url("./media/Raleway-OGE6QTLG.woff2") format("woff2"),url("./media/Raleway-YBWB2BVX.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Amonk_Outline;src:url("./media/Amonk_Outline-LNK3GGJG.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:RetroSigned;src:url("./media/RetroSigned-FXONQQOR.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}h1{font-size:3vw;color:#fff;font-family:Super Cartoon}h1,h2,h3,h4,h5,h6{margin:0 0 .6em;line-height:1.2}p{line-height:1.6;margin:0 0 1em}li{line-height:1.6}body,html{margin:0;padding:0;height:100%;display:flex;flex-direction:column;font-family:Raleway,Roboto,Helvetica Neue,sans-serif;background-color:#2322206e}html,body{overflow-x:hidden}.imgbgcontainter{background-image:url(/assets/images/grammar-bg.png);background-size:auto;background-position:center;background-attachment:fixed;width:100%;height:100%}.grammar-bg{position:absolute;top:10%;left:0;width:100%;height:auto;max-height:calc(100vh - 100px);object-fit:fill;z-index:-1;opacity:.2}.mat-mdc-dialog-surface.mdc-dialog__surface{border-radius:1vw!important}.cdk-global-scrollblock{overflow:hidden}.user-guide-close-icon{position:absolute;background:#009688;border:none;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2vw;color:#000;cursor:pointer;z-index:2010;box-shadow:0 2px 8px #5d91c32e;transition:background .2s,color .2s}.user-guide-close-icon:hover{background:#fff;color:#000;border:3px solid #009688}.back-btn{position:absolute;top:1vw;left:1vw;transform:translateY(-50%);cursor:pointer;padding:0 1rem;transition:transform .3s;width:4.5vw}.back-btn:hover{transform:translateY(-50%) scale(1.1)} diff --git a/src/assets/staticchat/already_asked.mp4 b/src/assets/staticchat/already_asked.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..d200efa5a802340d3619c0da8cb18fa3984a282a --- /dev/null +++ b/src/assets/staticchat/already_asked.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96e7f732d9fbc489fc773e415557faec1a377cce25ece61fb51b34b72af8b270 +size 2000683 diff --git a/src/assets/staticchat/blink.mp4 b/src/assets/staticchat/blink.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..ae419c51ebf786e9ac224fc9c439a7b2f84c7fb3 --- /dev/null +++ b/src/assets/staticchat/blink.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31d48851b260cdf2181d542901cffbfc557e71ed66f648516b6a49749ea0b389 +size 1607751 diff --git a/src/assets/staticchat/bye.mp4 b/src/assets/staticchat/bye.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..ea84a503498b971a8d85fad1c28cc38cdef99d8f --- /dev/null +++ b/src/assets/staticchat/bye.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f2676dfd671a42669e6f554f3ed9d35505a377ae5d2dd496ef7648433adcea7 +size 2712009 diff --git a/src/assets/staticchat/intro.mp4 b/src/assets/staticchat/intro.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..32116e5fea6fffbb334b5160bc7642715b960a9a --- /dev/null +++ b/src/assets/staticchat/intro.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0733634409a49b2a44e3e1639ce638e0259b2a501d2f2363932b810459537a11 +size 2513840 diff --git a/src/assets/staticchat/lessonsaudios/1.mp3 b/src/assets/staticchat/lessonsaudios/1.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..e4f4ad106bd8996bfe794f8df2d9f45391e46e0d --- /dev/null +++ b/src/assets/staticchat/lessonsaudios/1.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9058c676d87fdf0fcea11bc5c2eaf0a6e36e8e0c5d9f52ee3201921cf4005b8 +size 417604 diff --git a/src/assets/staticchat/lessonsaudios/10.mp3 b/src/assets/staticchat/lessonsaudios/10.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..c68e1a944ad90296a69c85a09ad21f3f0d5dc14d --- /dev/null +++ b/src/assets/staticchat/lessonsaudios/10.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:553146579f0d2c5383e06fcab1d1a882d88df67374433f52c6b0869298c45595 +size 330220 diff --git a/src/assets/staticchat/lessonsaudios/2.mp3 b/src/assets/staticchat/lessonsaudios/2.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..ece7d400475e3c7bf7cf5b4198d1d09ab8a913de --- /dev/null +++ b/src/assets/staticchat/lessonsaudios/2.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:864d59f4a3aeb3158323c4ed8da239fe9c9b2c83dd1ff898c9f6ae9aff837edd +size 357892 diff --git a/src/assets/staticchat/lessonsaudios/3.mp3 b/src/assets/staticchat/lessonsaudios/3.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..367505d59d9c1dcdee471a6536d4699d5311a967 --- /dev/null +++ b/src/assets/staticchat/lessonsaudios/3.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c951145efef798c28ee0a0c611b3b61c388b21637e989b370205759fe36a18a +size 356572 diff --git a/src/assets/staticchat/lessonsaudios/4.mp3 b/src/assets/staticchat/lessonsaudios/4.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..ff3587374867859262bca57596d774fc720b26fe --- /dev/null +++ b/src/assets/staticchat/lessonsaudios/4.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64b99358981e9e6f8f522a0fa3329f01b017723be72c3f24d805c4979a3048c7 +size 321964 diff --git a/src/assets/staticchat/lessonsaudios/5.mp3 b/src/assets/staticchat/lessonsaudios/5.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..d415077faafef9f84d2c6f9a0d16c260e5e417c6 --- /dev/null +++ b/src/assets/staticchat/lessonsaudios/5.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcb223c5290c0bbc2784709a522e49e90ef3647471010b06bfac35b0603d6b72 +size 324484 diff --git a/src/assets/staticchat/lessonsaudios/6.mp3 b/src/assets/staticchat/lessonsaudios/6.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..e2df1a972156646efce2c2c6725cc3d16b16bcd5 --- /dev/null +++ b/src/assets/staticchat/lessonsaudios/6.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:795aab62ddb622d851b230d5112023182c2d416d9d4421806bb7878037cdcc22 +size 312244 diff --git a/src/assets/staticchat/lessonsaudios/7.mp3 b/src/assets/staticchat/lessonsaudios/7.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..ed000658eca388e2b7adfaf5f637873fc214b641 --- /dev/null +++ b/src/assets/staticchat/lessonsaudios/7.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e35c68bf1dbd7f867f201e57a883385205ecd1576ce6d0c4948d4f500333b47 +size 266404 diff --git a/src/assets/staticchat/lessonsaudios/8.mp3 b/src/assets/staticchat/lessonsaudios/8.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..6b92bcf2338cb49070cc413cf5f57ba6bdbaddd1 --- /dev/null +++ b/src/assets/staticchat/lessonsaudios/8.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f611e996ec78d1b1c34a6eae05738d7e6727eb43480ea72efd31b2ad2d9b580 +size 284860 diff --git a/src/assets/staticchat/lessonsaudios/9.mp3 b/src/assets/staticchat/lessonsaudios/9.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..b3615d8242d95734ca85dc06f0ca047a0883bb9f --- /dev/null +++ b/src/assets/staticchat/lessonsaudios/9.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba59e6e26bfeee7f46b8b2020296b1d0ac0f491e46734bf1ef41f7179971ce52 +size 268588 diff --git a/src/assets/staticchat/lessonsvideos/1.mp4 b/src/assets/staticchat/lessonsvideos/1.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..43c64e5f369de71581d58414e3176fe1001c5075 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/1.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4f43945fae53bfa912d3c3f5cc7bf2cba8b8b18b50e1cccdc914dd7a18b2193 +size 9107142 diff --git a/src/assets/staticchat/lessonsvideos/10.mp4 b/src/assets/staticchat/lessonsvideos/10.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..7b44bb19b6033d5bf64fdc5b7d804927c50f22f8 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/10.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:393cfda7c595951a644db98550279c76c66515f78a38eb174c9e742fddb19de6 +size 7578300 diff --git a/src/assets/staticchat/lessonsvideos/11.mp4 b/src/assets/staticchat/lessonsvideos/11.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..0ff73c3666f1c0803ed9d2297326164b921587d1 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/11.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36dc8bec97ace8dfa12c36d24360b272c9a70ac7478f959b5f296ba108d22a69 +size 4962293 diff --git a/src/assets/staticchat/lessonsvideos/12.mp4 b/src/assets/staticchat/lessonsvideos/12.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..a505bcce6809087be7ff32756d61f94596ced611 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/12.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93ac585c2dc0a46865ae3539603a633869e88de765e88da6eaedb291bc7d929c +size 6548306 diff --git a/src/assets/staticchat/lessonsvideos/13.mp4 b/src/assets/staticchat/lessonsvideos/13.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..182cc52ccc45ccc338225b71783f048e496f2f99 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/13.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7015b37286797d1a787cb1405420934d737fff1f8ce4b9190f53531facd85ba +size 5514528 diff --git a/src/assets/staticchat/lessonsvideos/14.mp4 b/src/assets/staticchat/lessonsvideos/14.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..dd8865c9941e8f748a26674f4e9d85bf71bc2d05 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/14.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42ceeab8089f7361936c916bc583062263dcae22255c1a484b2ed48ede429c2f +size 5916286 diff --git a/src/assets/staticchat/lessonsvideos/14_detail.mp4 b/src/assets/staticchat/lessonsvideos/14_detail.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..9db5549c496da638b6876e324326d50d71a7eb4e --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/14_detail.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22c0887419053dbf63e604898c41fe4f68770809b8949e1bf559dd08a5603cbf +size 12627713 diff --git a/src/assets/staticchat/lessonsvideos/14_story.mp4 b/src/assets/staticchat/lessonsvideos/14_story.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..c52fe23f576cad777cb049020fe3fbcf3b70f214 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/14_story.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5894ebe573e94c7c34074a020d8902858cb20b3ba314ea95552c48699cd60643 +size 26210294 diff --git a/src/assets/staticchat/lessonsvideos/15.mp4 b/src/assets/staticchat/lessonsvideos/15.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..220d2664fc2b03c775b94cadbc28c42f8b26f323 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/15.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0a0da5286988620a448b301e59e98e67472812b3bc80ea60593845452abf164 +size 5625690 diff --git a/src/assets/staticchat/lessonsvideos/16.mp4 b/src/assets/staticchat/lessonsvideos/16.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..181e16b955a9717c50a5ceed7e9530d12dfe3c7b --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/16.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3a63a7544134689110bb5cfe076fd5e67033ac8d6b822a41630fb08c8a6520d +size 5998006 diff --git a/src/assets/staticchat/lessonsvideos/17.mp4 b/src/assets/staticchat/lessonsvideos/17.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..daf8164a8bda713e2f91947e039a2c4687f2487a --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/17.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43fa00f478042da248cd3a95afa84029ae3c1d27cf433745f99cff58be656776 +size 6813540 diff --git a/src/assets/staticchat/lessonsvideos/17_detail.mp4 b/src/assets/staticchat/lessonsvideos/17_detail.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..2fbc928f3abe5c199343f3e74a896712de7670ea --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/17_detail.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16b04c944ae5960a3f0bdece5d82a5561f4239f61609726a58706113071afead +size 16147520 diff --git a/src/assets/staticchat/lessonsvideos/17_story.mp4 b/src/assets/staticchat/lessonsvideos/17_story.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..8f360576ba8ec93893e52129a18ac78e9b3a1854 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/17_story.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9342d2e3912bcd9bc6617a01c7b3ae5ef4e7c6cb829218d4e63271a477f53d84 +size 24048448 diff --git a/src/assets/staticchat/lessonsvideos/18.mp4 b/src/assets/staticchat/lessonsvideos/18.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..ab00b7064b609005192e4acd28bc887ea71508c7 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/18.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4801bb05e9acbad429214b3cf738778fe24f0eb0d3b70d826fa139ee5beec25 +size 5724859 diff --git a/src/assets/staticchat/lessonsvideos/19.mp4 b/src/assets/staticchat/lessonsvideos/19.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..106344bf2054077faef8d083a2fb9aca06973ab7 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/19.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d07237e0e7605d7caae643f9c391ed00a6d37d09db3376559bd5b89d06b00eb +size 6218225 diff --git a/src/assets/staticchat/lessonsvideos/2.mp4 b/src/assets/staticchat/lessonsvideos/2.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..093480c16dbe079bbe0784d6a7a16d40a01bc0f6 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/2.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7ee5fd5ef497ca68f86f7b1669bcb18149748a4a962bb1cb9d454389bd507cc +size 7900389 diff --git a/src/assets/staticchat/lessonsvideos/20.mp4 b/src/assets/staticchat/lessonsvideos/20.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..d95a6b87d223df0ca55351a13c2d5adeb11981fe --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/20.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f008df6204b2a33fd49234cfca31840a0bad9b988adb466ab8f94c2058125665 +size 5010717 diff --git a/src/assets/staticchat/lessonsvideos/21.mp4 b/src/assets/staticchat/lessonsvideos/21.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..45c907ae1a5430ca30eb4b72b5924a8ca26680cd --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/21.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:759da997d44ddce5072ee31ca1b16273a6852b6811704fe0eb202c4785f022e7 +size 4583036 diff --git a/src/assets/staticchat/lessonsvideos/22.mp4 b/src/assets/staticchat/lessonsvideos/22.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..23f5478c40d19173602c4c62853625723f96fa3f --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/22.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a631ccb60afdfede6c1e69adcd693f9835916269cb79e77aab6ec0bbc4606156 +size 4387663 diff --git a/src/assets/staticchat/lessonsvideos/23.mp4 b/src/assets/staticchat/lessonsvideos/23.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..a8ed539154154306d64a2673de419d8b64e9ce4b --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/23.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0c8a5a60c017ad41435d91ece72b336d82a5f0574133940c58a211f4ff692dd +size 4298401 diff --git a/src/assets/staticchat/lessonsvideos/24.mp4 b/src/assets/staticchat/lessonsvideos/24.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..0cc2b75d769ad94b67123c50abc24bbf0a093db2 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/24.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11dad2c1dda33d4a6a6e183f7b0bd91e7af5125e9f9cee25a1268e09cb5c6c71 +size 4261388 diff --git a/src/assets/staticchat/lessonsvideos/25.mp4 b/src/assets/staticchat/lessonsvideos/25.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..75635ab18ef01bf0384de3c39d8cdca7cec51f6a --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/25.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2a9f9e7326c7857a13b969f6beb0d7fb8ccc47d37343b3f162d5ff24bdcc093 +size 4720058 diff --git a/src/assets/staticchat/lessonsvideos/26.mp4 b/src/assets/staticchat/lessonsvideos/26.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..6e306f0e433aa9388846aa4beb630296500c60ec --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/26.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:955dea34d33cc47ca3cbc204e3585b0ee6c5357cfb818aa164f6f4cab4be15ef +size 3673053 diff --git a/src/assets/staticchat/lessonsvideos/27.mp4 b/src/assets/staticchat/lessonsvideos/27.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..8954a4b8d16cd4e3d5dea2cc468b0d8940247f76 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/27.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3718db93aaed26b9b00ff60aa36644a3a38dd270b1e0aabc6c0b3bd0ac5d497f +size 3957527 diff --git a/src/assets/staticchat/lessonsvideos/28.mp4 b/src/assets/staticchat/lessonsvideos/28.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..8a839c417c12c0e9e3b75516b7bb221ff08f9969 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/28.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2481b1c7a3a5af5e1f8fec553f6cae94ed767cd3b501c2a846d192c25f9057fa +size 4057781 diff --git a/src/assets/staticchat/lessonsvideos/29.mp4 b/src/assets/staticchat/lessonsvideos/29.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..1b950c8f27c3d90d5db1d8f32d00b27daa4b5b45 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/29.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d46778a56377c181f9a47b4a169475cc1de779fd3347948310c653bc6921e0bd +size 4228943 diff --git a/src/assets/staticchat/lessonsvideos/3.mp4 b/src/assets/staticchat/lessonsvideos/3.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..b0d44f6081a9dd98cba7678107bc71877e003e22 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/3.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fb08f605091abae972c479a348f67f3121eee3f6835995db97debe268456598 +size 8290473 diff --git a/src/assets/staticchat/lessonsvideos/30.mp4 b/src/assets/staticchat/lessonsvideos/30.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..b6ce077e1551864be689202a8421efe22cc4e401 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/30.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49b687455dfcf720d314ea8d6a6b47fb809a906e2e7fc285df23c7651cbaa2a1 +size 3976258 diff --git a/src/assets/staticchat/lessonsvideos/31.mp4 b/src/assets/staticchat/lessonsvideos/31.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..791c11d587441c23891669a40373e5ff54ff7f24 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/31.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:726bd0c771c9dd77f52afde613d371a6a699c78d2104a5e1cf415c6647c499ff +size 3978612 diff --git a/src/assets/staticchat/lessonsvideos/32.mp4 b/src/assets/staticchat/lessonsvideos/32.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..864152d93d35e4a162617148a33b1220884e647f --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/32.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:559654f7cfe43fc5c16ede510082f6c4c13898127506736abd16ff36f26f0599 +size 3592763 diff --git a/src/assets/staticchat/lessonsvideos/33.mp4 b/src/assets/staticchat/lessonsvideos/33.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..a7d0c1a15f168bb48427c2193dd6ca1419b44cf7 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/33.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43d134031fdc7685d04e2190c6a090b25409974a2c92812792f2b4c1784ef874 +size 4275119 diff --git a/src/assets/staticchat/lessonsvideos/34.mp4 b/src/assets/staticchat/lessonsvideos/34.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..8f358122dac41533faba78df68d7546f7ef69a90 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/34.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13f332163e5741350fbf078c7df4b707ca7e19b179659df62c3d88cde4cdca81 +size 4678482 diff --git a/src/assets/staticchat/lessonsvideos/35.mp4 b/src/assets/staticchat/lessonsvideos/35.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..8e61ae6fd36cb5c1bd6148debba03e1f44bf322d --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/35.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:053372ad9a96db77838ca6762718d49edf8cbf16f3febd0e97b34a140aad1541 +size 4692469 diff --git a/src/assets/staticchat/lessonsvideos/36.mp4 b/src/assets/staticchat/lessonsvideos/36.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..49b36dbeb0cc45075cad4ebabbbd5d63a0f6c03a --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/36.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6dd0e0e0fa799db8080b96ebbabb73994a287eecd136617492028fd571a3d8bf +size 3668648 diff --git a/src/assets/staticchat/lessonsvideos/37.mp4 b/src/assets/staticchat/lessonsvideos/37.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..d36ad214405ad34c34cae1406fb1ae1dc0bf3688 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/37.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:560ac2d855c68b4d1b432ac5429e4b5b8d1ece1dd1a167778f91123e04c09bdf +size 3639486 diff --git a/src/assets/staticchat/lessonsvideos/38.mp4 b/src/assets/staticchat/lessonsvideos/38.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..78e31accd3e0fb6b8b82b60c8c98da07333cbb18 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/38.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26e7b947f2f4e7095347ddd76231ee1f5ed4ef3a76677e470eb1c14f9435ba08 +size 3812982 diff --git a/src/assets/staticchat/lessonsvideos/39.mp4 b/src/assets/staticchat/lessonsvideos/39.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..6553e1a45198b88a029e49684c29ac2a784ee992 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/39.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4753d07b14408f2778ac7671253587d592bf0470a7a7491c41f0be72ca5466ef +size 4275042 diff --git a/src/assets/staticchat/lessonsvideos/4.mp4 b/src/assets/staticchat/lessonsvideos/4.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..4b18173fc0169aa826c4089fdd6aa113020b60c4 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/4.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:624c534001d9ba57beea933c46b798d0f92098c5df9993d6869fc2f872516017 +size 7283063 diff --git a/src/assets/staticchat/lessonsvideos/40.mp4 b/src/assets/staticchat/lessonsvideos/40.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..30d862ba1b8ad1a63defe0192ccdcf689b30ace2 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/40.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9a4655d793ce94f74c3b57b649550761d5a7c18de6993599d9f7c11cd628b1f +size 5459816 diff --git a/src/assets/staticchat/lessonsvideos/4_detail.mp4 b/src/assets/staticchat/lessonsvideos/4_detail.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..a3864a259bd811170b8c5d6237a58ca2f581a1f3 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/4_detail.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed75094502d99d75842ef8a87591c48594113b6954e5aecfcc2f32249fe310ca +size 13887669 diff --git a/src/assets/staticchat/lessonsvideos/4_story.mp4 b/src/assets/staticchat/lessonsvideos/4_story.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..8fa21ee60321d3e59a4879a7ba52e6f3c5f99717 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/4_story.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa09b7c64b6fee25fbcdb443758f845769158f46382586aeb3e591a74ce8a0b6 +size 32831427 diff --git a/src/assets/staticchat/lessonsvideos/5.mp4 b/src/assets/staticchat/lessonsvideos/5.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..fa6beaca5587ce551416430715adbf8ef8d8d73a --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/5.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b4c140fa27589df210aff07cd47f2bc654e5bbcb91fbc265e144faa11d91b42 +size 7171327 diff --git a/src/assets/staticchat/lessonsvideos/6.mp4 b/src/assets/staticchat/lessonsvideos/6.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..9894d6c5f164e54b105a2f67c3d35d669f75f9d7 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/6.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:718af5d6c334ec68cdc2ad8d8a96031e85a5c34d5b47f9c70f4e59c9fe9d5320 +size 6859769 diff --git a/src/assets/staticchat/lessonsvideos/7.mp4 b/src/assets/staticchat/lessonsvideos/7.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..756a29542b214008aaa2c484f10fac876ecb87b5 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/7.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40fa036fb9baee59654488f7a2fc7eeea4deb0c566806d75cb6e2d680125e7f0 +size 6132263 diff --git a/src/assets/staticchat/lessonsvideos/8.mp4 b/src/assets/staticchat/lessonsvideos/8.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..6d6ef8dea70ad7c3ee7d91c887fc0e7a610017ca --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/8.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94f265640ed3976841f34ca16ecf612bc5cadbdabdcde6eeb64a69bf554dcd7c +size 6304013 diff --git a/src/assets/staticchat/lessonsvideos/9.mp4 b/src/assets/staticchat/lessonsvideos/9.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..c8d9337d2bc7222e101c6362dad2fd639212c8c0 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/9.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a426989ac25d4468f694a0f5be009683443f1f4044ec136e98a15fe9a0724536 +size 6122455 diff --git a/src/assets/staticchat/lessonsvideos/9_detail.mp4 b/src/assets/staticchat/lessonsvideos/9_detail.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..1964e40958958406020a5bedfda2558881b69dc8 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/9_detail.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8f2c08c4df5c4c4361e9c58497a15d1eacddf6fe88e704f56680443c0a2ebbb +size 14096889 diff --git a/src/assets/staticchat/lessonsvideos/9_story.mp4 b/src/assets/staticchat/lessonsvideos/9_story.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..8c078464785e9a02b5ff21cc86f9cfbe5d12d025 --- /dev/null +++ b/src/assets/staticchat/lessonsvideos/9_story.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e36f6e3ac364acc9c5301c199933f3cbe9006dd1ce504de1c8e778f1f9d7f37 +size 26083081 diff --git a/src/assets/staticchat/no_db.mp4 b/src/assets/staticchat/no_db.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..24513c9d67c595809404ed0b23faf6c4d9a60e31 --- /dev/null +++ b/src/assets/staticchat/no_db.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0560d774b8f7f6cb584487f67ef9d77d54e0a7a30e6b3c02969c6d883da04522 +size 1556617 diff --git a/src/assets/staticchat/not_understand.mp4 b/src/assets/staticchat/not_understand.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..e816ea28f017188a835a5e671cc9205b5e24ec2d --- /dev/null +++ b/src/assets/staticchat/not_understand.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3a400aa3d5570e4599322a3ec0dba6e1617a535219a0b412545936d169e8e87 +size 1971573 diff --git a/src/assets/staticchat/out_of_topic.mp4 b/src/assets/staticchat/out_of_topic.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..08c19c748838eb49190ef0f425d0a53f233b70fa --- /dev/null +++ b/src/assets/staticchat/out_of_topic.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3cbd461bdff984d4243881d523d3d8de01f3a9a84033397a2f356cbfb92850c +size 1630865 diff --git a/src/assets/staticchat/pause.png b/src/assets/staticchat/pause.png new file mode 100644 index 0000000000000000000000000000000000000000..ca251448acdd7978c7240b21adcbb8d4f3320d36 --- /dev/null +++ b/src/assets/staticchat/pause.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:45890209251f3887c95526467fdeaef223a09caada4e46847de8da3210cc3396 +size 28688 diff --git a/src/assets/staticchat/play.png b/src/assets/staticchat/play.png new file mode 100644 index 0000000000000000000000000000000000000000..027454e11a1f30372774647c1410259a84ed7484 --- /dev/null +++ b/src/assets/staticchat/play.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f3b5da9ce7c36ce5606b97f12c2338c10ad26e5bb911cbf521965d9ff9a70a0 +size 31496 diff --git a/src/assets/staticchat/student.png b/src/assets/staticchat/student.png new file mode 100644 index 0000000000000000000000000000000000000000..12862868d4a93bebc4df4339fa76574dd1c9a53c --- /dev/null +++ b/src/assets/staticchat/student.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe6dfd39bc28f80ba0322e393dc01152705e3f5c53696bdf957e2803ad49af1e +size 15859 diff --git a/src/assets/staticchat/teacher.png b/src/assets/staticchat/teacher.png new file mode 100644 index 0000000000000000000000000000000000000000..1ed578d97f03e3dd5e7bc158d626cd7a924f8424 --- /dev/null +++ b/src/assets/staticchat/teacher.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30a95d2af30d7164b4a471c2a0ff227612bd90dbd5a6a2cabf0859b5a870f718 +size 313017 diff --git a/src/assets/staticchat/you_are_welcome.mp4 b/src/assets/staticchat/you_are_welcome.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..86f5ced2e21a3c6ac67dff2fcbba495d39b96166 --- /dev/null +++ b/src/assets/staticchat/you_are_welcome.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ced3c34037394ebc3cb029e76609872fa1442a0bcc2487fa820c402e81f9a877 +size 867195