@betorigami/games 1.4.2 → 1.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.mjs +82 -85
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames:es}=Object;var os=Object.prototype.hasOwnProperty;var sa=(a,i,e)=>{e=a!=null?as(is(a)):{};let o=i||!a||!a.__esModule?Vr(e,"default",{value:a,enumerable:!0}):e;for(let r of es(a))if(!os.call(o,r))Vr(o,r,{get:()=>a[r],enumerable:!0});return o};var Ia=(a,i)=>()=>(i||a((i={exports:{}}).exports,i),i.exports);var d=function(a,i,e,o){var r=arguments.length,n=r<3?i:o===null?o=Object.getOwnPropertyDescriptor(i,e):o,t;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")n=Reflect.decorate(a,i,e,o);else for(var s=a.length-1;s>=0;s--)if(t=a[s])n=(r<3?t(n):r>3?t(i,e,n):t(i,e))||n;return r>3&&n&&Object.defineProperty(i,e,n),n};var so=Ia((ou,ks)=>{ks.exports={accessibility:{sliderValue:"{value} من {max}"},alerts:{autobetStarted:"تم بدء وضع الرهان التلقائي",autobetStopped:"تم إيقاف وضع الرهان التلقائي",betAmountAboveMaxBet:"الحد الأقصى للرهان هو {value}",betAmountBelowMinBet:"الحد الأدنى للرهان هو {value}",betLimitReached:"تم الوصول إلى حد الرهان",errorProcessingBet:"حدث خطأ أثناء معالجة رهانك. يُرجى المحاولة مرة أخرى.",failedToLoadBetData:"فشل تحميل بيانات الرهان",gameError:"حدث خطأ أثناء معالجة رهانك. يُرجى المحاولة مرة أخرى.",insufficientBalance:"رصيد غير كاف",notEnoughBalance:"ليس هناك توازن كاف"},autobet:{games:"ألعاب",games10:"10 ألعاب",games100:"100 لعبة",games25:"25 لعبة",games5:"5 ألعاب",games50:"50 لعبة",increase:"يزيد",infinite:"لانهائي",onLoss:"عن الخسارة",onWin:"على ويندوز",reset:"إعادة ضبط",startAutobet:"ابدأ الرهان التلقائي",stopAutobet:"إيقاف الرهان التلقائي",stopOnLoss:"وقف الخسارة",stopOnProfit:"إيقاف الربح"},common:{auto:"آلي",back:"خلف",balance:"توازن",bet:"مبلغ الرهان",betAmount:"مبلغ الرهان",cancel:"يلغي",cashOut:"صرف نقدي",classic:"كلاسيكي",confirm:"يتأكد",copied:"تم النسخ",disableHotkeys:"تعطيل مفاتيح التشغيل السريع",disableMaxBet:"تعطيل الرهان الأقصى",deposit:"إيداع",enableHotkeys:"تمكين مفاتيح التشغيل السريع",enableMaxBet:"تمكين الرهان الأقصى",footerNavigation:"التنقل في التذييل",gameInfo:"معلومات اللعبة",high:"عالي",history:"تاريخ",hotkeys:"مفاتيح التشغيل السريع",id:"بطاقة تعريف",instantBet:"الرهان الفوري",loading:"تحميل...",loadMore:"تحميل المزيد",lobby:"العودة إلى الردهة",low:"قليل",manual:"يدوي",max:"الأعلى",medium:"واسطة",multiplier:"المضاعف",payout:"الدفع",placeBet:"وضع الرهان",profit:"ربح",profitOnWin:"الربح على الفوز",provablyFair:"عادلة بشكل يمكن إثباته",risk:"مخاطرة",siteInformation:"معلومات الموقع",space:"فضاء",targetMultiplier:"المضاعف",thisFieldIsRequired:"هذه الخانة مطلوبه",timestamp:"وقت",toggleHotkeys:"تبديل مفاتيح التشغيل السريع",viewFairnessInformation:"عرض معلومات العدالة",viewHistory:"عرض التاريخ",volume:"مقدار",winChance:"فرصة الفوز"},errors:{dice:{multiplierRange:"يجب أن يكون بين {min} و {max}",winChanceRange:"يجب أن يكون بين {min} و {max}"}},fairness:{activeClientSeed:"بذرة العميل النشط",enterClientSeed:"أدخل بذرة العميل",enterProof:"أدخل الدليل",enterPublicKey:"أدخل المفتاح العام",enterRandomness:"أدخل العشوائية",enterRequest:"أدخل الطلب",info:{p1:"نتيجة كل جولة تأتي من عشوائية قابلة للتحقق، وليس من منطق الخادم الخفي. نبني بذرة حتمية من قيم فريدة لجولتك - معرف اللعبة، معرف المستأجر، معرف مستخدم المستأجر، ورقم عشوائي متزايد (واحد لكل جولة مكتملة)، بالإضافة إلى بذرة العميل. هذا يضمن أن تكون كل جولة فريدة وقابلة للتكرار: نفس المدخلات ← نفس التدفق العشوائي ← نفس النتيجة.",p2:"يتم تشغيل هذه البذرة من خلال دالة عشوائية قابلة للتحقق من المنحنى الإهليلجي (ECVRF) وفقًا لمسودة مواصفات IETF-irtf-cfrg-vrf-15. يستخدم خادمنا مفتاحه الخاص لإنتاج قيمة عشوائية ودليل تشفير (proofString). يمكن لأي شخص لديه مفتاحنا العام التحقق بشكل مستقل من هذا الدليل للمدخلات المعطاة، مما يؤكد أن العشوائية جاءت من البذرة ولم يتم التلاعب بها. مجموعة تطوير البرامج (SDK) هي TypeScript، بينما يستخدم نظام التشفير الأساسي مكتبة fastcrypto Rust عبر NAPI-RS لضمان الأداء والأمان.",p3:"بمجرد التحقق، يُنشئ مُخرَج VRF مُولِّد بايتات عشوائية حتمي (hashSequence). تُحوِّل الألعاب هذه البايتات إلى نتائج باستخدام منطق حتمي وغير مُتحيز. ولأن العملية حتمية، ويتقدم الرقم العشوائي مع كل جولة مُكتملة، ستحصل على عمليات تدقيق قابلة للتكرار (إعادة إنشاء نفس الجولة تمامًا) وعشوائية جديدة وغير مُتكررة في كل مرة.",p4:"بعد كل جولة، ستحصل على المدخلات (بما في ذلك بذرة العميل ورمز الجولة)، ومخرجات VRF، وسلسلة الإثبات، ومفتاحنا العام. استخدم أي مُتحقق ECVRF أو مكتباتنا للتحقق من صحة الإثبات باستخدام المدخلات والمفتاح العام، و(2) إعادة إنشاء تسلسل التجزئة نفسه والنتيجة. مفتاحنا الخاص لا يغادر الخوادم الآمنة أبدًا؛ والمفتاح العام آمن للاستخدام من جانب العميل لإجراء عمليات تحقق مستقلة.",step1Desc:"نجمع بين معرف اللعبة، ومعرف المستأجر، ومعرف مستخدم المستأجر، ورقم عشوائي لكل جولة، وبذرة العميل. تُنتج نفس المدخلات دائمًا نفس التدفق العشوائي والنتيجة.",step1Title:"بذرة حتمية",step2Title:"توليد العشوائية",step3Desc:"يمكن لأي شخص التحقق من صحة سلسلة الإثبات (proofString) للمدخلات المُعطاة باستخدام مفتاحنا العام. هذا يؤكد تطابق العشوائية مع البذرة وعدم التلاعب بها.",step3Title:"التحقق من الدليل",step4Title:"استخلاص النتائج",step5Title:"التكاثر"},invalidGame:"تم تقديم نوع لعبة غير صالح.",learnMore:"يتعلم أكثر",newClientSeed:"بذرة العميل الجديد",noBettingHistory:"لا يوجد تاريخ مراهنة",outcomeCalculationInfo:"يتم حساب نتيجة كل لعبة باستخدام قيمة عشوائية كمدخلات.",outcomeNotVerified:"لم يتم التحقق من نتيجة هذه اللعبة",outcomeVerified:"لقد تم التحقق من نتيجة هذه اللعبة ويمكن إثبات أنها عادلة",proof:"دليل",publicKey:"المفتاح العام",randomness:"العشوائية",request:"طلب",saveClientSeed:"حفظ بذرة العميل",verifyOutcome:"التحقق من النتيجة"},gameInfo:{dice:{how1:"اختر التمرير تحت أو التمرير فوق.",how2:"حدد رقم هدفك.",how3:"قم بتحديد مبلغ الرهان الخاص بك ثم ضع رهانك.",how4:"نقوم بإنشاء نتيجة عشوائية واحدة (يتم عرضها على مقياس يتراوح من 0 إلى 99.99 داخل اللعبة).",how5:"ستفوز إذا كانت النتيجة ضمن النطاق الذي اخترته.",how6:"الدفعة الخاصة بك هي رهان x المضاعف الموضح، والذي يتم تحديثه أثناء تحريك شريط التمرير.",overview:"حدد رقمًا مستهدفًا واختر ما إذا كانت الرمية ستقع تحته أم فوقه. تحريك شريط التمرير يغير فرص فوزك ومضاعفه - كلما زادت الفرصة، انخفض المضاعف، وكلما قلت، زاد. كل جولة هي رمية مستقلة على مقياس اللعبة.",provablyFair:"يُولّد نظامنا العشوائي القابل للتحقق كل رمية نرد. بعد كل جولة، يمكنك الاطلاع على المُدخلات والإثبات، والتحقق من النتيجة باستخدام مفتاحنا العام، وإعادة إنتاجها.",strategyTip:"اختر تقلباتك. كلما انخفضت فرصة الفوز، زادت المضاعفات، لكن فرص الفوز نادرة. كلما زادت فرصة الفوز، انخفضت المضاعفات، لكن فرص الفوز أكثر تكرارًا. حدّد حجم رهاناتك بما يتناسب مع رصيدك المالي لتحقيق تقلبات أكثر استقرارًا."},keno:{how1:"اختر 1-10 بلاطات على اللوحة 1-40.",how2:"قم بتحديد مبلغ الرهان الخاص بك ثم ضع رهانك.",how3:"نقوم بسحب 10 أرقام فائزة، ويتم تسليط الضوء على تطابقاتك.",how4:"تعتمد المدفوعات على عدد المربعات التي حددتها وعدد الضربات التي حصلت عليها - تحقق من جدول الدفع.",how5:"لا يمكنك أبدًا الوصول إلى أرقام أكثر من تلك التي قمت بتحديدها، والحد الأقصى للاختيار هو 10.",overview:"اختر أرقامك المحظوظة وحاول مطابقة النتيجة. يمكنك اختيار من 1 إلى 10 أرقام من 1 إلى 40، ثم نقوم بسحب 10 أرقام. كلما زادت اختياراتك الناجحة، زادت أرباحك.",provablyFair:"يُولّد نظامنا العشوائي القابل للتحقق كل قرعة كينو. بعد كل جولة، يمكنك الاطلاع على المُدخلات والإثبات، والتحقق من النتيجة باستخدام مفتاحنا العام، وإعادة إنتاجها.",strategyTip:"اختر تقلباتك. اختيار عدد أقل من المراكز يعني أرباحًا أقل ومضاعفات أكبر بكثير. المزيد من المراكز يعني ضربات أكثر تكرارًا، لكن متوسط عوائد أقل لكل ضربة. يُوازن نطاق متوسط معدل الضربات والعائد. عدّل حجم رهانك بما يتناسب مع تفضيلاتك للمخاطرة ورصيدك المالي."},limbo:{how1:"قم بتعيين مضاعف الهدف الخاص بك.",how2:"قم بتحديد مبلغ الرهان الخاص بك ثم ضع رهانك.",how3:"نحن نولد مضاعف نتيجة عشوائي واحد.",how4:"تفوز إذا كانت النتيجة أكبر من هدفك أو تساويه.",how5:"إن المبلغ المدفوع لك هو رهانك × مضاعف هدفك؛ وإلا فإنك تخسر رهانك.",overview:"في لعبة ليمبو، تُحدد قيمة الدفعة المطلوبة، وتُجري اللعبة مُضاعفًا عشوائيًا واحدًا للنتيجة. إذا كانت النتيجة تساوي هدفك على الأقل، تفوز. أما إذا كانت أقل، فتخسر. كلما زادت الفرصة، قلّ المضاعف، وكلما قلت الفرصة، زاد.",provablyFair:"يُولّد نظامنا العشوائي القابل للتحقق جميع نتائج لعبة Limbo. بعد كل جولة، يمكنك الاطلاع على المُدخلات والإثبات، والتحقق من النتيجة باستخدام مفتاحنا العام، وإعادة إنتاجها.",strategyTip:"الأهداف الأقل فوزًا غالبًا ما تكون أرباحها أقل، بينما الأهداف الأعلى فوزًا نادرًا ما تكون أرباحها أعلى بكثير. فكّر في تحديد هدف ثابت لكل جلسة، أو امزج بين الرهانات الطويلة أحيانًا، وحدّد حجم الرهانات باستمرار لإدارة التباين."},mines:{how1:"اختر عدد الألغام لهذه الجولة.",how2:"قم بتحديد مبلغ الرهان الخاص بك ثم ضع رهانك.",how3:"انقر على المربعات لإظهارها: المربع الآمن يزيد من مضاعفك؛ وينهي المنجم الجولة.",how4:"يمكنك صرف الأموال في أي وقت لتثبيت المضاعف الحالي لديك.",how5:"يتم دفع المبلغ الخاص بك بمقدار الرهان x المضاعف الحالي عند صرف أموالك.",how6:"تنتهي الجولة عندما تقوم بصرف أموالك أو عندما يتم الكشف عن منجم.",overview:'تدور لعبة "الألغام" حول اختيار القطع الآمنة وتحديد وقت صرفها. قبل بدء الجولة، حدد عدد الألغام التي ستخفيها على اللوحة. كل قطعة آمنة تكشفها تزيد من مضاعفك. إذا ضربت لغمًا، تنتهي الجولة دون أي ربح.',provablyFair:"يُولّد نظامنا العشوائي القابل للتحقق تصميمًا مخفيًا لكل لوحة. بعد كل جولة، يمكنك عرض المُدخلات والإثبات، والتحقق من النتيجة باستخدام مفتاحنا العام، وإعادة إنتاج النتيجة نفسها.",strategyTip:"اختر مستوى تقلباتك. كلما قلّت المناجم، زادت أمان كشفك ومضاعفاتك. كلما زادت المناجم، زادت مخاطر كشفك مع زيادة مضاعفاتك. حدد هدفًا أو استخدم أمر إيقاف الخسارة للتحكم في التقلبات. يساعد تحديد حجم الرهانات بشكل ثابت وسحب الأرباح بشكل منضبط على التحكم في التباين."},strategyTitle:"الاستراتيجية",tutorial:"درس تعليمي"},games:{dice:{rollOver:"انقلب",rollUnder:"تدحرج تحت"},keno:{autoPick:"الاختيار التلقائي",clearTable:"واضح",kenoGameGrid:"شبكة لعبة كينو",kenoNumber:"رقم كينو",selectAtLeastOneTile:"الرجاء تحديد بلاطة واحدة على الأقل",selectTileToAutobet:"الرجاء تحديد بلاطة واحدة على الأقل"},limbo:{multiplierError:"يجب أن يكون بين {min} و {max}",targetMultiplier:"المضاعف",winChanceError:"يجب أن يكون بين {min} و {max}"},mines:{cashout:"صرف نقدي",gem:"جوهرة",gems:"الأحجار الكريمة",mine:"مِلكِي",mines:"المناجم",nextGem:"الجوهرة التالية",selectRandomTile:"حدد بلاطة عشوائية",selectTileToAutobet:"الرجاء تحديد بلاطة واحدة على الأقل للمراهنة تلقائيًا",tile:"بلاط",unrevealed:"غير مكشوف"}},hotkeys:{doubleBet:"مبلغ الرهان المزدوج",halveBet:"نصف مبلغ الرهان",higherTarget:"هدف أعلى",info:"عند تفعيل مفاتيح الاختصار، ستبقى مفعلة لهذه اللعبة حتى يتم تعطيلها. على الرغم من أن بعض الألعاب تشترك في روابط مفاتيح متشابهة، يُنصح دائمًا بتأكيد مفاتيح الاختصار لكل لعبة.",lowerTarget:"الهدف الأدنى",makeBet:"وضع الرهان",toggleWinCondition:"تبديل شرط الفوز",zeroBet:"مبلغ الرهان صفر"},modals:{betResult:"نتيجة الرهان",fairnessAndHistory:"العدالة والتاريخ",gameArea:"منطقة اللعبة",gameControls:"عناصر التحكم في اللعبة",gameInfo:"معلومات اللعبة"}}});var lo=Ia((ru,gs)=>{gs.exports={accessibility:{sliderValue:"{value} von {max}"},alerts:{autobetStarted:"Autobet-Modus gestartet",autobetStopped:"Autobet-Modus gestoppt",betAmountAboveMaxBet:"Der Höchsteinsatz beträgt {value}",betAmountBelowMinBet:"Der Mindesteinsatz beträgt {value}",betLimitReached:"Einsatzlimit erreicht",errorProcessingBet:"Bei der Verarbeitung Ihrer Wette ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.",failedToLoadBetData:"Wettdaten konnten nicht geladen werden",gameError:"Bei der Verarbeitung Ihrer Wette ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.",insufficientBalance:"Unzureichendes Gleichgewicht",notEnoughBalance:"Nicht genug Gleichgewicht"},autobet:{games:"Spiele",games10:"10 Spiele",games100:"100 Spiele",games25:"25 Spiele",games5:"5 Spiele",games50:"50 Spiele",increase:"Zunahme",infinite:"Unendlich",onLoss:"Bei Verlust",onWin:"Bei Win",reset:"Zurücksetzen",startAutobet:"Starten Sie Autobet",stopAutobet:"Stoppen Sie Autobet",stopOnLoss:"Stopp bei Verlust",stopOnProfit:"Stoppen Sie den Gewinn"},common:{auto:"Auto",back:"Zurück",balance:"Gleichgewicht",bet:"Einsatzbetrag",betAmount:"Einsatzbetrag",cancel:"Stornieren",cashOut:"Auszahlung",classic:"Klassiker",confirm:"Bestätigen",copied:"Kopiert",disableHotkeys:"Hotkeys deaktivieren",disableMaxBet:"Maximaleinsatz deaktivieren",deposit:"Einzahlung",enableHotkeys:"Hotkeys aktivieren",enableMaxBet:"Maximaleinsatz aktivieren",footerNavigation:"Footer navigation",gameInfo:"Spielinfo",high:"Hoch",history:"Geschichte",hotkeys:"Tastenkombinationen",id:"AUSWEIS",instantBet:"Sofortwette",loading:"Laden...",loadMore:"Mehr laden",lobby:"Zurück zur Lobby",low:"Niedrig",manual:"Handbuch",max:"MAX",medium:"Medium",multiplier:"Multiplikator",payout:"Auszahlung",placeBet:"Wette platzieren",profit:"Profitieren",profitOnWin:"Gewinn beim Gewinn",provablyFair:"Nachweislich fair",risk:"Risiko",siteInformation:"Site-Informationen",space:"RAUM",targetMultiplier:"Multiplikator",thisFieldIsRequired:"Dieses Feld ist erforderlich",timestamp:"Zeit",toggleHotkeys:"Hotkeys umschalten",viewFairnessInformation:"Fairnessinformationen anzeigen",viewHistory:"Verlauf anzeigen",volume:"Volumen",winChance:"Gewinnchance"},errors:{dice:{multiplierRange:"Muss zwischen {min} und {max} liegen",winChanceRange:"Muss zwischen {min} und {max} liegen"}},fairness:{activeClientSeed:"Aktiver Client-Seed",enterClientSeed:"Client-Seed eingeben",enterProof:"Beweis eingeben",enterPublicKey:"Öffentlichen Schlüssel eingeben",enterRandomness:"Geben Sie Zufälligkeit ein",enterRequest:"Anfrage eingeben",info:{p1:"Das Ergebnis jeder Runde basiert auf nachweisbarem Zufall, nicht auf versteckter Serverlogik. Wir erstellen einen deterministischen Seed aus für Ihre Runde eindeutigen Werten – GameId, TenantId, TenantUserId, einem inkrementierenden Nonce (einer pro abgeschlossener Runde) sowie Ihrem ClientSeed. Dies garantiert, dass jede Runde einzigartig und reproduzierbar ist: gleiche Eingaben → gleicher Zufallsstrom → gleiches Ergebnis.",p2:"Dieser Seed wird gemäß der IETF-Spezifikation draft-irtf-cfrg-vrf-15 durch eine Elliptic Curve Verifiable Random Function (ECVRF) ausgeführt. Unser Server verwendet seinen privaten Schlüssel, um einen Zufallswert und einen kryptografischen Beweis (ProofString) zu erzeugen. Jeder mit unserem öffentlichen Schlüssel kann diesen Beweis für die gegebenen Eingaben unabhängig überprüfen und so bestätigen, dass die Zufälligkeit vom Seed stammt und nicht manipuliert wurde. Das SDK ist TypeScript, während die Kern-Kryptowährung die Rust-Bibliothek fastcrypto über NAPI-RS für Leistung und Sicherheit nutzt.",p3:"Nach der Überprüfung wird die VRF-Ausgabe an einen deterministischen Zufallsbytegenerator (Hashsequenz) gesendet. Die Spiele wandeln diese Bytes mithilfe deterministischer, unvoreingenommener Logik in Ergebnisse um. Da der Prozess deterministisch ist und der Nonce mit jeder abgeschlossenen Runde fortschreitet, erhalten Sie sowohl wiederholbare Audits (genaue Wiederholung derselben Runde) als auch jedes Mal neue, sich nicht wiederholende Zufälligkeit.",p4:"Nach einer Runde verfügen Sie über die Eingaben (einschließlich Ihres ClientSeeds und der Nonce der Runde), die VRF-Ausgabe, den ProofString und unseren öffentlichen Schlüssel. Verwenden Sie einen beliebigen ECVRF-Verifizierer oder unsere Bibliotheken, um (1) den Beweis anhand der Eingaben und des öffentlichen Schlüssels zu überprüfen und (2) dieselbe Hash-Sequenz und das gleiche Ergebnis zu regenerieren. Unser privater Schlüssel verlässt niemals sichere Server; der öffentliche Schlüssel kann clientseitig sicher für unabhängige Prüfungen verwendet werden.",step1Desc:"Wir kombinieren GameId, TenantId, TenantUserId, einen Nonce pro Runde und Ihren ClientSeed. Dieselben Eingaben erzeugen immer denselben Zufallsstrom und dasselbe Ergebnis.",step1Title:"Deterministischer Seed",step2Title:"Zufälligkeit erzeugen",step3Desc:"Jeder kann den ProofString für die angegebenen Eingaben mit unserem öffentlichen Schlüssel überprüfen. Dies bestätigt, dass die Zufälligkeit mit dem Seed übereinstimmt und nicht manipuliert wurde.",step3Title:"Nachweis überprüfen",step4Title:"Ergebnisse ableiten",step5Title:"Reproduktion"},invalidGame:"Ungültiger Spieltyp angegeben.",learnMore:"Mehr erfahren",newClientSeed:"Neuer Client-Seed",noBettingHistory:"Kein Wettverlauf",outcomeCalculationInfo:"Das Ergebnis jedes Spiels wird anhand eines Zufallswerts als Eingabe berechnet.",outcomeNotVerified:"Das Ergebnis dieses Spiels konnte nicht verifiziert werden",outcomeVerified:"Das Ergebnis dieses Spiels wurde überprüft und ist nachweislich fair",proof:"Nachweisen",publicKey:"Öffentlicher Schlüssel",randomness:"Zufälligkeit",request:"Anfrage",saveClientSeed:"Client-Seed speichern",verifyOutcome:"Ergebnis überprüfen"},gameInfo:{dice:{how1:"Wählen Sie „Rollen unter“ oder „Rollen darüber“.",how2:"Legen Sie Ihre Zielnummer fest.",how3:"Legen Sie Ihren Einsatzbetrag fest und platzieren Sie Ihre Wette.",how4:"Wir generieren ein zufälliges Ergebnis (im Spiel auf einer Skala von 0–99,99 angezeigt).",how5:"Sie gewinnen, wenn das Ergebnis in Ihrem gewählten Bereich liegt.",how6:"Ihre Auszahlung entspricht dem Einsatz x dem angezeigten Multiplikator, der aktualisiert wird, wenn Sie den Schieberegler bewegen.",overview:"Legen Sie eine Zielzahl fest und wählen Sie, ob der Wurf darunter oder darüber landen soll. Durch Verschieben des Schiebereglers ändern Sie Ihre Gewinnchance und Ihren Multiplikator – eine höhere Chance verringert den Multiplikator, eine niedrigere erhöht ihn. Jede Runde ist ein unabhängiger Wurf auf der Spielskala.",provablyFair:"Unser überprüfbares Zufallssystem generiert jeden Würfelwurf. Nach jeder Runde können Sie die Eingaben und Beweise einsehen, das Ergebnis mit unserem öffentlichen Schlüssel überprüfen und dasselbe Ergebnis reproduzieren.",strategyTip:"Wählen Sie Ihre Volatilität. Eine geringere Gewinnchance führt zu höheren Multiplikatoren, aber selteneren Treffern. Eine höhere Gewinnchance führt zu kleineren Multiplikatoren, aber häufigeren Gewinnen. Passen Sie Ihre Einsätze an Ihr Budget an, um gleichmäßigere Schwankungen zu erzielen."},keno:{how1:"Wählen Sie 1–10 Kacheln auf dem 1–40-Brett.",how2:"Legen Sie Ihren Einsatzbetrag fest und platzieren Sie Ihre Wette.",how3:"Wir ziehen 10 Gewinnzahlen, Ihre Übereinstimmungen werden hervorgehoben.",how4:"Die Auszahlungen hängen davon ab, wie viele Kacheln Sie ausgewählt und wie viele Treffer Sie erzielt haben – sehen Sie sich die Auszahlungstabelle an.",how5:"Sie können nie mehr Zahlen treffen, als Sie ausgewählt haben, und die maximale Auswahl beträgt 10.",overview:"Wählen Sie Ihre Glückszahlen und versuchen Sie, die Ziehung richtig zu treffen. Sie können 1–10 Zahlen von 1–40 wählen, und wir ziehen dann 10 Zahlen. Je mehr Ihrer Tipps stimmen, desto höher ist Ihre Auszahlung.",provablyFair:"Unser überprüfbares Zufallssystem generiert jede Keno-Ziehung. Nach jeder Runde können Sie die Eingaben und Beweise einsehen, das Ergebnis mit unserem öffentlichen Schlüssel überprüfen und dasselbe Ergebnis reproduzieren.",strategyTip:"Wählen Sie Ihre Volatilität. Weniger Felder bedeuten seltenere Gewinne, aber deutlich höhere Multiplikatoren. Mehr Felder bedeuten häufigere Treffer, aber geringere durchschnittliche Gewinne pro Treffer. Ein mittlerer Bereich gleicht Trefferquote und Auszahlung aus. Passen Sie Ihre Einsatzhöhe an Ihre Risikobereitschaft und Ihr Budget an."},limbo:{how1:"Legen Sie Ihren Zielmultiplikator fest.",how2:"Legen Sie Ihren Einsatzbetrag fest und platzieren Sie Ihre Wette.",how3:"Wir generieren einen zufälligen Ergebnismultiplikator.",how4:"Sie gewinnen, wenn das Ergebnis größer oder gleich Ihrem Ziel ist.",how5:"Ihre Auszahlung entspricht dem Einsatz x Ihrem Zielmultiplikator; andernfalls verlieren Sie Ihren Einsatz.",overview:"In Limbo legen Sie Ihre gewünschte Auszahlung fest, und das Spiel zieht einen zufälligen Ergebnismultiplikator. Wenn das Ergebnis mindestens Ihrem Zielwert entspricht, gewinnen Sie. Wenn es niedriger ist, verlieren Sie. Eine höhere Chance senkt den Multiplikator, eine niedrigere Chance erhöht ihn.",provablyFair:"Unser überprüfbares Zufallssystem generiert jedes Limbo-Ergebnis. Nach jeder Runde können Sie die Eingaben und Beweise einsehen, das Ergebnis mit unserem öffentlichen Schlüssel überprüfen und dasselbe Ergebnis reproduzieren.",strategyTip:"Niedrigere Ziele gewinnen häufiger, zahlen aber weniger aus, während höhere Ziele seltener gewinnen, aber dafür deutlich mehr auszahlen. Erwägen Sie ein festes Ziel pro Sitzung oder mischen Sie gelegentlich Außenseiter ein und passen Sie Ihre Einsätze konstant an, um die Varianz zu kontrollieren."},mines:{how1:"Wählen Sie die Anzahl der Minen für diese Runde.",how2:"Legen Sie Ihren Einsatzbetrag fest und platzieren Sie Ihre Wette.",how3:"Klicken Sie auf Kacheln, um sie freizulegen: Eine sichere Kachel erhöht Ihren Multiplikator, eine Mine beendet die Runde.",how4:"Sie können jederzeit auszahlen, um Ihren aktuellen Multiplikator zu sichern.",how5:"Ihre Auszahlung entspricht dem Einsatz x dem aktuellen Multiplikator, wenn Sie auszahlen.",how6:"Die Runde endet, wenn Sie auszahlen oder eine Mine aufgedeckt wird.",overview:"Bei Minen geht es darum, sichere Plättchen auszuwählen und den Auszahlungszeitpunkt zu bestimmen. Wähle vor Beginn der Runde aus, wie viele Minen auf dem Spielfeld versteckt werden sollen. Jedes aufgedeckte sichere Plättchen erhöht deinen Multiplikator. Triffst du eine Mine, endet die Runde ohne Auszahlung.",provablyFair:"Unser überprüfbares Zufallssystem generiert das Layout der versteckten Minen auf jedem Brett. Nach jeder Runde können Sie die Eingaben und Beweise einsehen, das Ergebnis mit unserem öffentlichen Schlüssel überprüfen und dasselbe Ergebnis reproduzieren.",strategyTip:"Wählen Sie Ihre Volatilität. Weniger Minen bedeuten sicherere Enthüllungen und kleinere Multiplikatoren pro Schritt. Mehr Minen führen zu riskanteren Enthüllungen mit höheren Multiplikatoren. Setzen Sie ein Ziel oder verwenden Sie einen Stop-Loss, um Schwankungen zu kontrollieren. Konsistente Einsatzhöhen und disziplinierte Auszahlungen helfen, die Varianz unter Kontrolle zu halten."},strategyTitle:"Strategie",tutorial:"Lernprogramm"},games:{dice:{rollOver:"Sich umdrehen",rollUnder:"Unterrollen"},keno:{autoPick:"Automatische Auswahl",clearTable:"Klar",kenoGameGrid:"Keno-Spielraster",kenoNumber:"Keno-Nummer",selectAtLeastOneTile:"Bitte wählen Sie mindestens eine Kachel aus",selectTileToAutobet:"Bitte wählen Sie mindestens eine Kachel aus"},limbo:{multiplierError:"Muss zwischen {min} und {max} liegen",targetMultiplier:"Multiplikator",winChanceError:"Muss zwischen {min} und {max} liegen"},mines:{cashout:"Auszahlung",gem:"Juwel",gems:"Edelsteine",mine:"Meins",mines:"Minen",nextGem:"Nächster Edelstein",selectRandomTile:"Zufällige Kachel auswählen",selectTileToAutobet:"Bitte wählen Sie mindestens ein Feld für die automatische Wette aus",tile:"Fliese",unrevealed:"Unenthüllt"}},hotkeys:{doubleBet:"Doppelter Einsatzbetrag",halveBet:"Halbieren Sie den Einsatzbetrag",higherTarget:"Höheres Ziel",info:"Wenn Hotkeys aktiviert sind, bleiben sie für dieses Spiel aktiviert, bis sie deaktiviert werden. Obwohl einige Spiele ähnliche Tastenbelegungen haben, ist es immer ratsam, die Hotkeys für jedes Spiel zu bestätigen.",lowerTarget:"Unteres Ziel",makeBet:"Wette platzieren",toggleWinCondition:"Gewinnbedingung umschalten",zeroBet:"Null-Einsatzbetrag"},modals:{betResult:"Wettergebnis",fairnessAndHistory:"Fairness und Geschichte",gameArea:"Spielbereich",gameControls:"Spielsteuerung",gameInfo:"Spielinfo"}}});var uo=Ia((nu,fs)=>{fs.exports={accessibility:{sliderValue:"{value} out of {max}"},alerts:{autobetStarted:"Started autobet mode",autobetStopped:"Stopped autobet mode",betAmountAboveMaxBet:"Maximum bet is {value}",betAmountBelowMinBet:"Minimum bet is {value}",betLimitReached:"Bet limit reached",errorProcessingBet:"There was an error processing your bet. Please try again.",failedToLoadBetData:"Failed to load bet data",gameError:"There was an error processing your bet. Please try again.",insufficientBalance:"Insufficient balance",notEnoughBalance:"Not enough balance"},autobet:{games:"Games",games10:"10 Games",games100:"100 Games",games25:"25 Games",games5:"5 Games",games50:"50 Games",increase:"Increase",infinite:"Infinite",onLoss:"On Loss",onWin:"On Win",reset:"Reset",startAutobet:"Start Autobet",stopAutobet:"Stop Autobet",stopOnLoss:"Stop on Loss",stopOnProfit:"Stop On Profit"},common:{auto:"Auto",back:"Back",balance:"Balance",bet:"Bet Amount",betAmount:"Bet Amount",cancel:"Cancel",cashOut:"Cash Out",classic:"Classic",confirm:"Confirm",copied:"Copied",disableHotkeys:"Disable Hotkeys",disableMaxBet:"Disable Max Bet",deposit:"Deposit",enableHotkeys:"Enable Hotkeys",enableMaxBet:"Enable Max Bet",footerNavigation:"Footer Navigation",gameInfo:"Game Info",high:"High",history:"History",hotkeys:"Hotkeys",id:"ID",instantBet:"Instant Bet",loading:"Loading...",loadMore:"Load More",lobby:"Back to Lobby",low:"Low",manual:"Manual",max:"MAX",medium:"Medium",multiplier:"Multiplier",payout:"Payout",placeBet:"Place Bet",profit:"Profit",profitOnWin:"Profit On Win",provablyFair:"Provably Fair",risk:"Risk",siteInformation:"Game Information",space:"SPACE",targetMultiplier:"Multiplier",thisFieldIsRequired:"This field is required",timestamp:"Time",toggleHotkeys:"Toggle Hotkeys",viewFairnessInformation:"View Fairness Information",viewHistory:"View History",volume:"Volume",winChance:"Win Chance"},errors:{dice:{multiplierRange:"Must be between {min} and {max}",winChanceRange:"Must be between {min} and {max}"}},fairness:{activeClientSeed:"Active Client Seed",enterClientSeed:"Enter Client Seed",enterProof:"Enter Proof",enterPublicKey:"Enter Public Key",enterRandomness:"Enter Randomness",enterRequest:"Enter Request",info:{p1:"Every round’s result comes from verifiable randomness, not hidden server logic. We build a deterministic seed from values unique to your round—gameId, tenantId, tenantUserId, an incrementing nonce (one per completed round), plus your clientSeed. This guarantees each round is unique and reproducible: same inputs → same random stream → same outcome.",p2:"That seed is run through an Elliptic Curve Verifiable Random Function (ECVRF) per the IETF spec draft-irtf-cfrg-vrf-15. Our server uses its private key to produce a random value and a cryptographic proof (proofString). Anyone with our public key can independently verify that proof for the given inputs—confirming the randomness came from the seed and wasn’t tampered with. The SDK is TypeScript, while the core crypto uses the fastcrypto Rust library via NAPI-RS for performance and safety.",p3:"Once verified, the VRF output seeds a deterministic random byte generator (hashSequence). The games transform those bytes into outcomes using deterministic, unbiased logic. Because the process is deterministic and the nonce advances every completed round, you get both replayable audits (recreate the same round exactly) and fresh, non-repeating randomness each time.",p4:"After a round, you have the inputs (including your clientSeed and the round’s nonce), the VRF output, the proofString, and our public key. Use any ECVRF verifier or our libraries to: (1) verify the proof against the inputs and public key, and (2) regenerate the same hashSequence and outcome. Our private key never leaves secure servers; the public key is safe to use client-side for independent checks.",step1Desc:"We combine gameId, tenantId, tenantUserId, a per-round nonce, and your clientSeed. Same inputs always produce the same random stream and outcome.",step1Title:"Deterministic Seed",step2Title:"Generate Randomness",step3Desc:"Anyone can verify the proofString for the given inputs using our public key. This confirms the randomness matches the seed and was not tampered with.",step3Title:"Verify Proof",step4Title:"Derive Outcomes",step5Title:"Reproduction"},invalidGame:"Invalid game type provided.",learnMore:"Learn More",newClientSeed:"New Client Seed",noBettingHistory:"No betting history",outcomeCalculationInfo:"This game uses a provably fair algorithm that ensures the outcome is fair and transparent.",outcomeNotVerified:"The outcome of this game could not be verified. Double check you have entered the correct information and try again.",outcomeVerified:"The outcome of this round has been verified with our public key and is provably fair.",proof:"Proof",publicKey:"Active Public Key",randomness:"Randomness",request:"Request",saveClientSeed:"Save Client Seed",verifyOutcome:"Verify Outcome"},gameInfo:{dice:{how1:"Choose roll under or roll over.",how2:"Set your target number.",how3:"Set your bet amount and place your bet.",how4:"We generate one random result (displayed on the 0–99.99 scale in-game).",how5:"You win if the result is in your chosen range.",how6:"Your payout is bet x the shown multiplier, which updates as you move the slider.",overview:"Set a target number and choose whether the roll will land under or over it. Moving the slider changes your win chance and multiplier—a higher chance lowers the multiplier, a lower chance increases it. Each round is one independent roll on the game’s scale.",provablyFair:"Our verifiable randomness system generates every Dice roll. After every round, you can view the inputs and proof, verify the result with our public key, and reproduce the same result.",strategyTip:"Pick your volatility. A lower win chance yields bigger multipliers but rarer hits. A higher win chance yields smaller multipliers but more frequent wins. Size your bets to your bankroll for steadier swings."},keno:{how1:"Pick 1–10 tiles on the 1–40 board.",how2:"Set your bet amount and place your bet.",how3:"We draw 10 winning numbers; your matches are highlighted.",how4:"Payouts depend on how many tiles you selected and how many hits you got—check the paytable.",how5:"You can never hit more numbers than you selected, and the maximum selection is 10.",overview:"Pick your lucky numbers and try to match the draw. You can choose 1–10 numbers from 1–40, and we then draw 10 numbers. The more of your picks that hit, the higher your payout.",provablyFair:"Our verifiable randomness system generates every Keno draw. After every round, you can view the inputs and proof, verify the result with our public key, and reproduce the same result.",strategyTip:"Choose your volatility. Picking fewer spots means rarer wins but much bigger multipliers. More spots give more frequent hits but smaller average returns per hit. A middle range balances hit rate and payout. Adjust your bet size to match your risk preference and bankroll."},limbo:{how1:"Set your target multiplier.",how2:"Set your bet amount and place your bet.",how3:"We generate one random outcome multiplier.",how4:"You win if the outcome is greater than or equal to your target.",how5:"Your payout is bet x your target multiplier; otherwise, you lose your bet.",overview:"In Limbo, you set your desired payout, and the game draws a single random outcome multiplier. If the outcome is at least your target, you win. If it’s lower, you lose. A higher chance lowers the multiplier; a lower chance increases it.",provablyFair:"Our verifiable randomness system generates every Limbo outcome. After every round, you can view the inputs and proof, verify the result with our public key, and reproduce the same result.",strategyTip:"Lower targets win more often but pay less, while higher targets hit rarely but pay much more. Consider a fixed target per session or mix in occasional long shots, and size bets consistently to manage variance."},mines:{how1:"Choose the number of mines for this round.",how2:"Set your bet amount and place your bet.",how3:"Click tiles to reveal them: a safe tile increases your multiplier; a mine ends the round.",how4:"You can cash out at any time to lock in your current multiplier.",how5:"Your payout is bet x the current multiplier when you cash out.",how6:"The round ends when you cash out or when a mine is revealed.",overview:"Mines is about picking safe tiles and deciding when to cash out. Before the round starts, choose how many mines will be hidden on the board. Each safe tile you reveal increases your multiplier. Hit a mine, and the round ends with no payout.",provablyFair:"Our verifiable randomness system generates each board’s hidden mine layout. After every round, you can view the inputs and proof, verify the result with our public key, and reproduce the same result.",strategyTip:"Pick your volatility. Fewer mines mean safer reveals and smaller multipliers per step. More mines lead to riskier reveals with bigger multipliers. Set a target or use a stop-loss to manage swings. Consistent bet sizing and disciplined cash outs help keep variance in check."},strategyTitle:"Strategy",tutorial:"Tutorial"},games:{dice:{rollOver:"Roll Over",rollUnder:"Roll Under"},keno:{autoPick:"Auto Pick",clearTable:"Clear",kenoGameGrid:"Keno Game Grid",kenoNumber:"Keno Number {value}",selectAtLeastOneTile:"Select at least one tile",selectTileToAutobet:"Select at least one tile"},limbo:{multiplierError:"Must be between {min} and {max}",targetMultiplier:"Multiplier",winChanceError:"Must be between {min} and {max}"},mines:{cashout:"Cash Out",gem:"Gem",gems:"Gems",mine:"Mine",mines:"Mines",nextGem:"Next Gem",selectRandomTile:"Select Random Tile",selectTileToAutobet:"Select at least one tile",tile:"Tile",unrevealed:"Unrevealed"}},hotkeys:{doubleBet:"Double Bet Amount",halveBet:"Halve Bet Amount",higherTarget:"Higher Target",info:"When hotkeys are enabled, they will remain on for this game until disabled. Despite some games sharing similar key binds, it's always advised to confirm hotkeys for each game.",lowerTarget:"Lower Target",makeBet:"Place Bet",toggleWinCondition:"Toggle Win Condition",zeroBet:"Zero Bet Amount"},modals:{betResult:"Bet Result",fairnessAndHistory:"Fairness and History",gameArea:"Game Area",gameControls:"Game Controls",gameInfo:"Game Info"}}});var co=Ia((tu,ws)=>{ws.exports={accessibility:{sliderValue:"{value} de {max}"},alerts:{autobetStarted:"Se inició el modo de apuesta automática",autobetStopped:"Se detuvo el modo de apuesta automática",betAmountAboveMaxBet:"La apuesta máxima es {value}",betAmountBelowMinBet:"La apuesta mínima es {value}",betLimitReached:"Límite de apuesta alcanzado",errorProcessingBet:"Se produjo un error al procesar tu apuesta. Inténtalo de nuevo.",failedToLoadBetData:"No se pudieron cargar los datos de la apuesta",gameError:"Se produjo un error al procesar tu apuesta. Inténtalo de nuevo.",insufficientBalance:"Saldo insuficiente",notEnoughBalance:"No hay suficiente equilibrio"},autobet:{games:"Juegos",games10:"10 juegos",games100:"100 juegos",games25:"25 juegos",games5:"5 juegos",games50:"50 juegos",increase:"Aumentar",infinite:"Infinito",onLoss:"Sobre la pérdida",onWin:"En Win",reset:"Reiniciar",startAutobet:"Iniciar apuesta automática",stopAutobet:"Detener la apuesta automática",stopOnLoss:"Detener la pérdida",stopOnProfit:"Detener las ganancias"},common:{auto:"Auto",back:"Atrás",balance:"Balance",bet:"Monto de la apuesta",betAmount:"Monto de la apuesta",cancel:"Cancelar",cashOut:"Retiro de efectivo",classic:"Clásico",confirm:"Confirmar",copied:"Copiado",disableHotkeys:"Deshabilitar teclas de acceso rápido",disableMaxBet:"Desactivar apuesta máxima",deposit:"Depósito",enableHotkeys:"Habilitar teclas de acceso rápido",enableMaxBet:"Habilitar apuesta máxima",footerNavigation:"Navegación de pie de página",gameInfo:"Información del juego",high:"Alto",history:"Historia",hotkeys:"Teclas de acceso rápido",id:"IDENTIFICACIÓN",instantBet:"Apuesta instantánea",loading:"Cargando...",loadMore:"Cargar más",lobby:"Volver al vestíbulo",low:"Bajo",manual:"Manual",max:"MÁXIMO",medium:"Medio",multiplier:"Multiplicador",payout:"Pago",placeBet:"Realizar apuesta",profit:"Ganancia",profitOnWin:"Ganancias al ganar",provablyFair:"Demostrablemente justo",risk:"Riesgo",siteInformation:"Información del sitio",space:"ESPACIO",targetMultiplier:"Multiplicador",thisFieldIsRequired:"Este campo es obligatorio",timestamp:"Tiempo",toggleHotkeys:"Alternar teclas de acceso rápido",viewFairnessInformation:"Ver información de equidad",viewHistory:"Ver historial",volume:"Volumen",winChance:"Oportunidad de ganar"},errors:{dice:{multiplierRange:"Debe estar entre {min} y {max}",winChanceRange:"Debe estar entre {min} y {max}"}},fairness:{activeClientSeed:"Semilla de cliente activa",enterClientSeed:"Introducir semilla de cliente",enterProof:"Introducir prueba",enterPublicKey:"Introducir clave pública",enterRandomness:"Entra la aleatoriedad",enterRequest:"Introducir solicitud",info:{p1:"El resultado de cada ronda se basa en aleatoriedad verificable, no en lógica oculta del servidor. Creamos una semilla determinista a partir de valores únicos para cada ronda: gameId, tenantId, tenantUserId, un nonce incremental (uno por ronda completada) y clientSeed. Esto garantiza que cada ronda sea única y reproducible: mismas entradas → mismo flujo aleatorio → mismo resultado.",p2:"Esa semilla se ejecuta mediante una Función Aleatoria Verificable de Curva Elíptica (ECVRF) según la especificación IETF draft-irtf-cfrg-vrf-15. Nuestro servidor utiliza su clave privada para generar un valor aleatorio y una prueba criptográfica (proofString). Cualquier persona con nuestra clave pública puede verificar de forma independiente dicha prueba para las entradas dadas, lo que confirma que la aleatoriedad proviene de la semilla y no ha sido alterada. El SDK es TypeScript, mientras que el núcleo criptográfico utiliza la biblioteca fastcrypto de Rust a través de NAPI-RS para garantizar el rendimiento y la seguridad.",p3:"Una vez verificada, la salida VRF genera un generador de bytes aleatorios determinista (secuencia hash). Los juegos transforman esos bytes en resultados mediante lógica determinista e imparcial. Dado que el proceso es determinista y el nonce avanza con cada ronda completada, se obtienen auditorías repetibles (recrean la misma ronda con exactitud) y aleatoriedad nueva y no repetitiva en cada ronda.",p4:"Tras una ronda, dispone de las entradas (incluido su clientSeed y el nonce de la ronda), la salida VRF, la proofString y nuestra clave pública. Utilice cualquier verificador ECVRF o nuestras bibliotecas para: (1) verificar la prueba con las entradas y la clave pública, y (2) regenerar la misma hashSequence y el mismo resultado. Nuestra clave privada nunca sale de servidores seguros; la clave pública se puede usar de forma segura en el lado del cliente para comprobaciones independientes.",step1Desc:"Combinamos gameId, tenantId, tenantUserId, un nonce por ronda y tu clientSeed. Las mismas entradas siempre producen el mismo flujo aleatorio y el mismo resultado.",step1Title:"Semilla determinista",step2Title:"Generar aleatoriedad",step3Desc:"Cualquiera puede verificar la cadena de prueba para las entradas dadas usando nuestra clave pública. Esto confirma que la aleatoriedad coincide con la semilla y no fue alterada.",step3Title:"Verificar prueba",step4Title:"Derivar resultados",step5Title:"Reproducción"},invalidGame:"Tipo de juego proporcionado no válido.",learnMore:"Más información",newClientSeed:"Nueva semilla de cliente",noBettingHistory:"Sin historial de apuestas",outcomeCalculationInfo:"El resultado de cada juego se calcula utilizando un valor aleatorio como entrada.",outcomeNotVerified:"No se pudo verificar el resultado de este juego.",outcomeVerified:"El resultado de este juego ha sido verificado y es demostrablemente justo.",proof:"Prueba",publicKey:"Clave pública",randomness:"Aleatoriedad",request:"Pedido",saveClientSeed:"Guardar semilla de cliente",verifyOutcome:"Verificar resultado"},gameInfo:{dice:{how1:"Elige rodar por debajo o por encima.",how2:"Establezca su número objetivo.",how3:"Establezca el monto de su apuesta y realice su apuesta.",how4:"Generamos un resultado aleatorio (mostrado en la escala de 0 a 99,99 en el juego).",how5:"Ganas si el resultado está dentro del rango elegido.",how6:"Su pago es la apuesta x el multiplicador mostrado, que se actualiza a medida que mueve el control deslizante.",overview:"Establece un número objetivo y elige si la tirada caerá por encima o por debajo de él. Mover el control deslizante cambia tu probabilidad de ganar y el multiplicador: una probabilidad más alta reduce el multiplicador, una probabilidad más baja lo aumenta. Cada ronda es una tirada independiente en la escala del juego.",provablyFair:"Nuestro sistema de aleatoriedad verificable genera cada tirada de dados. Después de cada ronda, puedes ver las entradas y la prueba, verificar el resultado con nuestra clave pública y reproducirlo.",strategyTip:"Elige tu volatilidad. Una menor probabilidad de ganar ofrece multiplicadores más altos, pero aciertos más raros. Una mayor probabilidad de ganar ofrece multiplicadores más bajos, pero ganancias más frecuentes. Ajusta tus apuestas a tu presupuesto para obtener fluctuaciones más estables."},keno:{how1:"Elige entre 1 y 10 fichas en el tablero del 1 al 40.",how2:"Establezca el monto de su apuesta y realice su apuesta.",how3:"Sorteamos 10 números ganadores; tus coincidencias aparecen resaltadas.",how4:"Los pagos dependen de la cantidad de fichas que hayas seleccionado y de cuántos aciertos hayas obtenido: consulta la tabla de pagos.",how5:"Nunca puedes acertar más números que los seleccionados, y la selección máxima es 10.",overview:"Elige tus números de la suerte e intenta acertar el sorteo. Puedes elegir entre 1 y 10 números del 1 al 40, y luego sortearemos 10 números. Cuantos más números aciertes, mayor será tu premio.",provablyFair:"Nuestro sistema de aleatoriedad verificable genera cada sorteo de Keno. Después de cada ronda, puede consultar los datos ingresados y la prueba, verificar el resultado con nuestra clave pública y reproducirlo.",strategyTip:"Elige tu volatilidad. Elegir menos lugares significa ganancias menos frecuentes, pero multiplicadores mucho mayores. Más lugares ofrecen aciertos más frecuentes, pero menores ganancias promedio por acierto. Un rango medio equilibra la tasa de aciertos y el pago. Ajusta el tamaño de tu apuesta a tu preferencia de riesgo y presupuesto."},limbo:{how1:"Establezca su multiplicador objetivo.",how2:"Establezca el monto de su apuesta y realice su apuesta.",how3:"Generamos un multiplicador de resultado aleatorio.",how4:"Ganas si el resultado es mayor o igual a tu objetivo.",how5:"Su pago es su apuesta x su multiplicador objetivo; de lo contrario, perderá su apuesta.",overview:"En Limbo, estableces el pago deseado y el juego genera un multiplicador aleatorio. Si el resultado es al menos el objetivo, ganas. Si es menor, pierdes. Una probabilidad mayor reduce el multiplicador; una probabilidad menor lo aumenta.",provablyFair:"Nuestro sistema de aleatoriedad verificable genera todos los resultados de Limbo. Después de cada ronda, puedes ver las entradas y la prueba, verificar el resultado con nuestra clave pública y reproducirlo.",strategyTip:"Los objetivos más bajos ganan con más frecuencia, pero pagan menos, mientras que los objetivos más altos aciertan raramente, pero pagan mucho más. Considere un objetivo fijo por sesión o añada tiros largos ocasionales, y ajuste las apuestas de forma consistente para gestionar la varianza."},mines:{how1:"Elige el número de minas para esta ronda.",how2:"Establezca el monto de su apuesta y realice su apuesta.",how3:"Haz clic en las fichas para revelarlas: una ficha segura aumenta tu multiplicador; una mina finaliza la ronda.",how4:"Puedes retirar tu dinero en cualquier momento para fijar tu multiplicador actual.",how5:"Su pago es la apuesta x el multiplicador actual cuando retira su dinero.",how6:"La ronda termina cuando retiras tu dinero o cuando se revela una mina.",overview:"Minas consiste en elegir fichas seguras y decidir cuándo retirarlas. Antes de que empiece la ronda, elige cuántas minas estarán ocultas en el tablero. Cada ficha segura que reveles aumenta tu multiplicador. Si golpeas una mina, la ronda termina sin premio.",provablyFair:"Nuestro sistema de aleatoriedad verificable genera la disposición de la mina oculta de cada tablero. Después de cada ronda, puedes ver las entradas y la prueba, verificar el resultado con nuestra clave pública y reproducirlo.",strategyTip:"Elige tu volatilidad. Menos minas implican revelaciones más seguras y multiplicadores más pequeños por paso. Más minas resultan en revelaciones más arriesgadas con multiplicadores más altos. Establece un objetivo o usa un stop loss para gestionar las fluctuaciones. Un tamaño de apuesta consistente y retiros de efectivo disciplinados ayudan a controlar la varianza."},strategyTitle:"Estrategia",tutorial:"Tutorial"},games:{dice:{rollOver:"Dese la vuelta",rollUnder:"Rodar por debajo"},keno:{autoPick:"Selección automática",clearTable:"Claro",kenoGameGrid:"Cuadrícula del juego Keno",kenoNumber:"Número de Keno",selectAtLeastOneTile:"Por favor seleccione al menos un mosaico",selectTileToAutobet:"Por favor seleccione al menos un mosaico"},limbo:{multiplierError:"Debe estar entre {min} y {max}",targetMultiplier:"Multiplicador",winChanceError:"Debe estar entre {min} y {max}"},mines:{cashout:"Retiro de efectivo",gem:"Joya",gems:"Gemas",mine:"Mío",mines:"Minas",nextGem:"Próxima joya",selectRandomTile:"Seleccionar mosaico aleatorio",selectTileToAutobet:"Seleccione al menos una ficha para apostar automáticamente",tile:"Teja",unrevealed:"No revelado"}},hotkeys:{doubleBet:"Monto de apuesta doble",halveBet:"Reducir a la mitad el importe de la apuesta",higherTarget:"Objetivo más alto",info:"Cuando las teclas de acceso rápido estén habilitadas, permanecerán activadas para este juego hasta que se desactiven. Aunque algunos juegos comparten combinaciones de teclas similares, siempre se recomienda confirmar las teclas de acceso rápido para cada juego.",lowerTarget:"Objetivo inferior",makeBet:"Realizar apuesta",toggleWinCondition:"Activar o desactivar condición de victoria",zeroBet:"Monto de apuesta cero"},modals:{betResult:"Resultado de la apuesta",fairnessAndHistory:"Justicia e historia",gameArea:"Área de juego",gameControls:"Controles del juego",gameInfo:"Información del juego"}}});var ho=Ia((su,ys)=>{ys.exports={accessibility:{sliderValue:"{value}/{max}"},alerts:{autobetStarted:"Automaattivedonlyöntitila käynnistetty",autobetStopped:"Automaattivedonlyöntitila pysäytetty",betAmountAboveMaxBet:"Maksimipanos on {value}",betAmountBelowMinBet:"Minimipanos on {value}",betLimitReached:"Panosraja saavutettu",errorProcessingBet:"Vedon käsittelyssä tapahtui virhe. Yritä uudelleen.",failedToLoadBetData:"Vedonlyöntitietojen lataus epäonnistui",gameError:"Vedon käsittelyssä tapahtui virhe. Yritä uudelleen.",insufficientBalance:"Riittämätön saldo",notEnoughBalance:"Ei tarpeeksi tasapainoa"},autobet:{games:"Pelit",games10:"10 peliä",games100:"100 peliä",games25:"25 peliä",games5:"5 peliä",games50:"50 peliä",increase:"Lisätä",infinite:"Ääretön",onLoss:"Tappiossa",onWin:"Voitossa",reset:"Nollaa",startAutobet:"Aloita automaattiveto",stopAutobet:"Pysäytä automaattinen veto",stopOnLoss:"Stop on Loss",stopOnProfit:"Pysäytä voitto"},common:{auto:"Auto",back:"Takaisin",balance:"Saldo",bet:"Panossumma",betAmount:"Panossumma",cancel:"Peruuttaa",cashOut:"Käteisnosto",classic:"Klassinen",confirm:"Vahvistaa",copied:"Kopioitu",disableHotkeys:"Poista pikanäppäimet käytöstä",disableMaxBet:"Poista käytöstä maksimipanos",deposit:"Talletus",enableHotkeys:"Ota pikanäppäimet käyttöön",enableMaxBet:"Ota käyttöön maksimipanos",footerNavigation:"Alatunnisteen navigointi",gameInfo:"Pelin tiedot",high:"Korkea",history:"Historia",hotkeys:"Pikanäppäimet",id:"Henkilöllisyystodistus",instantBet:"Pikaveto",loading:"Ladataan...",loadMore:"Lataa lisää",lobby:"Takaisin aulaan",low:"Matala",manual:"Manuaalinen",max:"MAKSIMI",medium:"Keskikokoinen",multiplier:"Kerroin",payout:"Maksu",placeBet:"Aseta veto",profit:"Voitto",profitOnWin:"Voitto voitosta",provablyFair:"Todistettavasti reilu",risk:"Riski",siteInformation:"Sivuston tiedot",space:"AVARUUS",targetMultiplier:"Kerroin",thisFieldIsRequired:"Tämä kenttä on pakollinen",timestamp:"Aika",toggleHotkeys:"Pikanäppäimet päälle/pois",viewFairnessInformation:"Näytä oikeudenmukaisuustiedot",viewHistory:"Näytä historia",volume:"Äänenvoimakkuus",winChance:"Voita mahdollisuus"},errors:{dice:{multiplierRange:"Täytyy olla välillä {min} ja {max}",winChanceRange:"Täytyy olla välillä {min}–{max}"}},fairness:{activeClientSeed:"Aktiivisen asiakkaan siemen",enterClientSeed:"Syötä asiakkaan siemen",enterProof:"Syötä todiste",enterPublicKey:"Syötä julkinen avain",enterRandomness:"Syötä satunnaisuus",enterRequest:"Syötä pyyntö",info:{p1:"Jokaisen kierroksen tulos perustuu todennettavissa olevaan satunnaisuuteen, ei piilotettuun palvelinlogiikkaan. Rakennamme deterministisen siemenarvon kierroksellesi ainutlaatuisista arvoista – gameId, tenantId, tenantUserId, kasvava nonce-arvo (yksi per päättynyt kierros) sekä clientSeed. Tämä takaa, että jokainen kierros on ainutlaatuinen ja toistettavissa: samat syötteet → sama satunnainen striimi → sama lopputulos.",p2:"Tämä siemen ajetaan elliptisen käyrän todennettavan satunnaisfunktion (ECVRF) läpi IETF-spesifikaation draft-irtf-cfrg-vrf-15 mukaisesti. Palvelimemme käyttää yksityistä avaintaan satunnaisarvon ja kryptografisen todisteen (proofString) tuottamiseen. Kuka tahansa, jolla on julkinen avaimemme, voi itsenäisesti varmistaa todisteen annetuille syötteille – varmistaen, että satunnaisuus tuli siemenestä eikä sitä ole peukaloitu. SDK on TypeScript, kun taas ydinkrypto käyttää fastcrypto Rust -kirjastoa NAPI-RS:n kautta suorituskyvyn ja turvallisuuden takaamiseksi.",p3:"Vahvistuksen jälkeen VRF tuottaa deterministisen satunnaistavugeneraattorin (hashSequence). Pelit muuntavat nämä tavut tuloksiksi käyttämällä determinististä, puolueetonta logiikkaa. Koska prosessi on deterministinen ja nonce etenee jokaisella suoritetulla kierroksella, saat sekä toistettavia auditointeja (luoda saman kierroksen täsmälleen uudelleen) että tuoretta, toistuvaa satunnaisuutta joka kerta.",p4:"Kierroksen jälkeen käytössäsi ovat syötteet (mukaan lukien clientSeed ja kierroksen nonce), VRF-tuloste, proofString ja julkinen avaimemme. Käytä mitä tahansa ECVRF-todentajaa tai kirjastojamme seuraaviin tarkoituksiin: (1) tarkista todistus syötteitä ja julkista avainta vasten ja (2) luo uudelleen sama hashSequence ja tulos. Yksityinen avaimemme ei koskaan poistu suojatuilta palvelimilta; julkinen avain on turvallinen käyttää asiakaspuolella itsenäisiin tarkistuksiin.",step1Desc:"Yhdistämme gameId:n, tenantId:n, tenantUserId:n, kierroskohtaisen nonce-arvon ja clientSeed-koodisi. Samat syötteet tuottavat aina saman satunnaisen streamin ja lopputuloksen.",step1Title:"Deterministinen siemen",step2Title:"Luo satunnaisuutta",step3Desc:"Kuka tahansa voi tarkistaa annettujen syötteiden proofString-merkkijonon julkisen avaimemme avulla. Tämä vahvistaa, että satunnaisuus vastaa siementä eikä sitä ole peukaloitu.",step3Title:"Vahvista todiste",step4Title:"Johda tuloksia",step5Title:"Jäljentäminen"},invalidGame:"Annettu pelityyppi on virheellinen.",learnMore:"Lue lisää",newClientSeed:"Uuden asiakkaan siemen",noBettingHistory:"Ei vedonlyöntihistoriaa",outcomeCalculationInfo:"Kunkin pelin tulos lasketaan käyttämällä syötteenä satunnaista arvoa.",outcomeNotVerified:"Tämän pelin lopputulosta ei voitu vahvistaa",outcomeVerified:"Tämän pelin lopputulos on vahvistettu ja todistettavasti oikeudenmukainen",proof:"Todiste",publicKey:"Julkinen avain",randomness:"Satunnaisuus",request:"Pyytää",saveClientSeed:"Tallenna asiakkaan siemen",verifyOutcome:"Varmista tulos"},gameInfo:{dice:{how1:"Valitse vieriminen alle tai yli.",how2:"Aseta tavoitenumerosi.",how3:"Aseta panossumma ja aseta panoksesi.",how4:"Luomme yhden satunnaisen tuloksen (näytetään pelissä asteikolla 0–99,99).",how5:"Voitat, jos tulos on valitsemassasi vaihteluvälissä.",how6:"Voittosi on panos x näytetty kerroin, joka päivittyy liukusäädintä siirrettäessä.",overview:"Aseta tavoitenumero ja valitse, pysähtyykö heitto sen alle vai yli. Liukusäätimen siirtäminen muuttaa voittomahdollisuuksiasi ja kerrointa – suurempi todennäköisyys pienentää kerrointa, pienempi todennäköisyys suurentaa sitä. Jokainen kierros on yksi itsenäinen heitto pelin mittakaavassa.",provablyFair:"Todennettavissa oleva satunnaisuusjärjestelmämme luo jokaisen nopanheiton. Jokaisen kierroksen jälkeen voit tarkastella syötteitä ja todisteita, varmistaa tuloksen julkisella avaimellamme ja toistaa saman tuloksen.",strategyTip:"Valitse volatiliteettisi. Pienempi voittomahdollisuus tuottaa suurempia kertoimia, mutta harvinaisempia osumia. Suurempi voittomahdollisuus tuottaa pienempiä kertoimia, mutta useammin voittoja. Sovita panoksesi pelikassasi mukaan saadaksesi tasaisemmat heilahtelut."},keno:{how1:"Valitse 1–10 laattaa 1–40-laudalta.",how2:"Aseta panossumma ja aseta panoksesi.",how3:"Arvomme 10 voittonumeroa; osumasi on korostettu.",how4:"Voitot riippuvat valitsemiesi laatojen ja saamiesi osumien määrästä – tarkista voittotaulukko.",how5:"Et voi koskaan osua useampaan numeroon kuin olet valinnut, ja enimmäisvalinta on 10.",overview:"Valitse onnennumerosi ja yritä saada sama numero. Voit valita 1–10 numeroa väliltä 1–40, ja sitten arvomme 10 numeroa. Mitä useampi valintasi osuu oikein, sitä suurempi on voittosi.",provablyFair:"Todennettavissa oleva satunnaisuusjärjestelmämme luo jokaisen Keno-arvonnan. Jokaisen kierroksen jälkeen voit tarkastella syötteitä ja todisteita, varmistaa tuloksen julkisella avaimellamme ja toistaa saman tuloksen.",strategyTip:"Valitse volatiliteettisi. Vähemmän paikkoja valitseminen tarkoittaa harvinaisempia voittoja, mutta paljon suurempia kertoimia. Useampi paikkoja antaa useammin osumia, mutta pienempiä keskimääräisiä tuottoja osumaa kohden. Keskitaso tasapainottaa osumaprosentin ja voitonmaksun. Säädä panoskokoasi vastaamaan riskinottohaluasi ja pelikassaasi."},limbo:{how1:"Aseta tavoitekerroin.",how2:"Aseta panossumma ja aseta panoksesi.",how3:"Luomme yhden satunnaisen tuloskertoimen.",how4:"Voitat, jos tulos on suurempi tai yhtä suuri kuin tavoitteesi.",how5:"Voittosi on panos x tavoitekerroin; muuten häviät panoksesi.",overview:"Limbossa asetat haluamasi voiton, ja peli arpoo yhden satunnaisen kertoimen. Jos tulos on vähintään tavoitteesi, voitat. Jos se on alhaisempi, häviät. Suurempi todennäköisyys pienentää kerrointa; pienempi todennäköisyys kasvattaa sitä.",provablyFair:"Todennettavissa oleva satunnaisuusjärjestelmämme luo jokaisen Limbo-tuloksen. Jokaisen kierroksen jälkeen voit tarkastella syötteitä ja todisteita, varmistaa tuloksen julkisella avaimellamme ja toistaa saman tuloksen.",strategyTip:"Alemmat tavoitteet voittavat useammin, mutta maksavat vähemmän, kun taas korkeammat tavoitteet osuvat harvoin, mutta maksavat paljon enemmän. Harkitse kiinteää tavoitetta pelisessiota kohden tai sekoita satunnaisia pitkiä vetoja ja pienennä panoksia johdonmukaisesti hallitaksesi varianssia."},mines:{how1:"Valitse miinojen lukumäärä tällä kierroksella.",how2:"Aseta panossumma ja aseta panoksesi.",how3:"Napsauta laattoja paljastaaksesi ne: turvallinen laatta kasvattaa kerrointa; miina päättää kierroksen.",how4:"Voit nostaa rahat milloin tahansa lukitaksesi nykyisen kertoimesi.",how5:"Voittosi on panos x nykyinen kerroin, kun teet kotiutuksen.",how6:"Kierros päättyy, kun nostat rahat tai kun paljastuu kaivos.",overview:"Kaivoksissa on kyse turvallisten laattojen valitsemisesta ja siitä, milloin rahat nostetaan. Ennen kierroksen alkua valitse, kuinka monta miinaa pelilaudalle piilotetaan. Jokainen paljastamasi turvallinen laatta kasvattaa kerrointa. Jos osut miinaan, kierros päättyy ilman voittoa.",provablyFair:"Todennettavissa oleva satunnaisuusjärjestelmämme luo jokaisen pelilaudan piilotetun kaivoksen asettelun. Jokaisen kierroksen jälkeen voit tarkastella syötteitä ja todisteita, varmistaa tuloksen julkisella avaimellamme ja toistaa saman tuloksen.",strategyTip:"Valitse volatiliteettisi. Vähemmän miinoja tarkoittaa turvallisempia paljastuksia ja pienempiä kertoimia askelta kohden. Useampi miina johtaa riskialttiimpiin paljastuksiin ja suuremmiin kertoimiin. Aseta tavoite tai käytä stop-loss-rajoitusta heilahtelujen hallintaan. Johdonmukainen panoskoko ja kurinalainen kotiutus auttaa pitämään varianssin kurissa."},strategyTitle:"Strategia",tutorial:"Opastus"},games:{dice:{rollOver:"Kaatuminen",rollUnder:"Rullaa alle"},keno:{autoPick:"Automaattinen valinta",clearTable:"Tyhjennä",kenoGameGrid:"Keno-peliruudukko",kenoNumber:"Keno-numero",selectAtLeastOneTile:"Valitse vähintään yksi laatta",selectTileToAutobet:"Valitse vähintään yksi laatta"},limbo:{multiplierError:"Täytyy olla välillä {min} ja {max}",targetMultiplier:"Kerroin",winChanceError:"Täytyy olla välillä {min} ja {max}"},mines:{cashout:"Käteisnosto",gem:"Helmi",gems:"Jalokivet",mine:"Minun",mines:"Kaivokset",nextGem:"Seuraava helmi",selectRandomTile:"Valitse satunnainen laatta",selectTileToAutobet:"Valitse vähintään yksi ruutu automaattista vetoa varten",tile:"Laatta",unrevealed:"Paljastumaton"}},hotkeys:{doubleBet:"Tuplapanos",halveBet:"Puolita panos",higherTarget:"Korkeampi tavoite",info:"Kun pikanäppäimet ovat käytössä, ne pysyvät käytössä tässä pelissä, kunnes ne poistetaan käytöstä. Vaikka joillakin peleillä on samanlaisia näppäinyhdistelmiä, on aina suositeltavaa vahvistaa pikanäppäimet jokaista peliä varten.",lowerTarget:"Alempi tavoite",makeBet:"Aseta veto",toggleWinCondition:"Vaihda voittoehtoa",zeroBet:"Nollapanos"},modals:{betResult:"Vedon tulos",fairnessAndHistory:"Oikeudenmukaisuus ja historia",gameArea:"Pelialue",gameControls:"Pelin ohjaimet",gameInfo:"Pelin tiedot"}}});var po=Ia((lu,zs)=>{zs.exports={accessibility:{sliderValue:"{value} sur {max}"},alerts:{autobetStarted:"Mode de pari automatique démarré",autobetStopped:"Mode de pari automatique arrêté",betAmountAboveMaxBet:"La mise maximale est {value}",betAmountBelowMinBet:"La mise minimale est {value}",betLimitReached:"Limite de mise atteinte",errorProcessingBet:"Une erreur s'est produite lors du traitement de votre pari. Veuillez réessayer.",failedToLoadBetData:"Échec du chargement des données de pari",gameError:"Une erreur s'est produite lors du traitement de votre pari. Veuillez réessayer.",insufficientBalance:"Solde insuffisant",notEnoughBalance:"Pas assez d'équilibre"},autobet:{games:"Jeux",games10:"10 jeux",games100:"100 jeux",games25:"25 jeux",games5:"5 jeux",games50:"50 jeux",increase:"Augmenter",infinite:"Infini",onLoss:"Sur la perte",onWin:"Sur Win",reset:"Réinitialiser",startAutobet:"Démarrer Autobet",stopAutobet:"Arrêter Autobet",stopOnLoss:"Arrêtez la perte",stopOnProfit:"Arrêtez le profit"},common:{auto:"Auto",back:"Dos",balance:"Équilibre",bet:"Montant de la mise",betAmount:"Montant de la mise",cancel:"Annuler",cashOut:"Encaissement",classic:"Classique",confirm:"Confirmer",copied:"Copié",disableHotkeys:"Désactiver les raccourcis clavier",disableMaxBet:"Désactiver la mise maximale",deposit:"Dépôt",enableHotkeys:"Activer les raccourcis clavier",enableMaxBet:"Activer la mise maximale",footerNavigation:"Navigation de pied de page",gameInfo:"Informations sur le jeu",high:"Haut",history:"Histoire",hotkeys:"Raccourcis clavier",id:"IDENTIFIANT",instantBet:"Pari instantané",loading:"Chargement...",loadMore:"Charger plus",lobby:"Retour au hall",low:"Faible",manual:"Manuel",max:"MAX",medium:"Moyen",multiplier:"Multiplicateur",payout:"Paiement",placeBet:"Placer un pari",profit:"Profit",profitOnWin:"Profit sur victoire",provablyFair:"Prouvablement équitable",risk:"Risque",siteInformation:"Informations sur le site",space:"ESPACE",targetMultiplier:"Multiplicateur",thisFieldIsRequired:"Ce champ est obligatoire",timestamp:"Temps",toggleHotkeys:"Basculer les raccourcis clavier",viewFairnessInformation:"Afficher les informations sur l'équité",viewHistory:"Afficher l'historique",volume:"Volume",winChance:"Chance de gagner"},errors:{dice:{multiplierRange:"Doit être compris entre {min} et {max}",winChanceRange:"Doit être compris entre {min} et {max}"}},fairness:{activeClientSeed:"Graine de client active",enterClientSeed:"Entrez Client Seed",enterProof:"Entrez la preuve",enterPublicKey:"Entrez la clé publique",enterRandomness:"Entrez dans le hasard",enterRequest:"Entrer la demande",info:{p1:"Le résultat de chaque manche est issu d'un hasard vérifiable, et non d'une logique serveur cachée. Nous créons une graine déterministe à partir de valeurs propres à votre manche : gameId, tenantId, tenantUserId, un nonce incrémentiel (un par manche terminée), plus votre clientSeed. Cela garantit que chaque manche est unique et reproductible : mêmes entrées → même flux aléatoire → même résultat.",p2:"Cette graine est exécutée via une fonction aléatoire vérifiable à courbe elliptique (ECVRF) conformément à la spécification IETF draft-irtf-cfrg-vrf-15. Notre serveur utilise sa clé privée pour générer une valeur aléatoire et une preuve cryptographique (proofString). Toute personne disposant de notre clé publique peut vérifier indépendamment cette preuve pour les entrées fournies, confirmant ainsi que le caractère aléatoire provient de la graine et n'a pas été falsifié. Le SDK est en TypeScript, tandis que le chiffrement principal utilise la bibliothèque fastcrypto Rust via NAPI-RS pour des performances et une sécurité optimales.",p3:"Une fois vérifiée, la sortie VRF alimente un générateur d'octets aléatoires déterministe (hashSequence). Les jeux transforment ces octets en résultats grâce à une logique déterministe et impartiale. Comme le processus est déterministe et que le nonce progresse à chaque tour terminé, vous obtenez à la fois des audits rejouables (recréez le même tour à l'identique) et un caractère aléatoire nouveau et non répétitif à chaque fois.",p4:"Après un tour, vous disposez des entrées (y compris votre clientSeed et le nonce du tour), de la sortie VRF, de la chaîne de preuve et de notre clé publique. Utilisez n'importe quel vérificateur ECVRF ou nos bibliothèques pour : (1) vérifier la preuve par rapport aux entrées et à la clé publique, et (2) régénérer la même séquence de hachage et le même résultat. Notre clé privée ne quitte jamais les serveurs sécurisés ; la clé publique peut être utilisée en toute sécurité côté client pour des vérifications indépendantes.",step1Desc:"Nous combinons gameId, tenantId, tenantUserId, un nonce par tour et votre clientSeed. Les mêmes entrées produisent toujours le même flux aléatoire et le même résultat.",step1Title:"Semence déterministe",step2Title:"Générer du hasard",step3Desc:"N'importe qui peut vérifier la chaîne de preuve des entrées fournies à l'aide de notre clé publique. Cela confirme que le caractère aléatoire correspond à la valeur de départ et n'a pas été falsifié.",step3Title:"Vérifier la preuve",step4Title:"Déduire les résultats",step5Title:"Reproduction"},invalidGame:"Type de jeu non valide fourni.",learnMore:"Apprendre encore plus",newClientSeed:"Nouvelle graine de client",noBettingHistory:"Aucun historique de paris",outcomeCalculationInfo:"Le résultat de chaque jeu est calculé à l’aide d’une valeur aléatoire en entrée.",outcomeNotVerified:"Le résultat de ce match n'a pas pu être vérifié",outcomeVerified:"Le résultat de ce jeu a été vérifié et est prouvé équitable",proof:"Preuve",publicKey:"Clé publique",randomness:"caractère aléatoire",request:"Demande",saveClientSeed:"Enregistrer la graine du client",verifyOutcome:"Vérifier le résultat"},gameInfo:{dice:{how1:"Choisissez de rouler en dessous ou de rouler au-dessus.",how2:"Définissez votre numéro cible.",how3:"Définissez le montant de votre mise et placez votre pari.",how4:"Nous générons un résultat aléatoire (affiché sur l'échelle de 0 à 99,99 dans le jeu).",how5:"Vous gagnez si le résultat est dans la fourchette que vous avez choisie.",how6:"Votre paiement est égal à la mise x le multiplicateur affiché, qui se met à jour lorsque vous déplacez le curseur.",overview:"Définissez un objectif et choisissez si le résultat sera inférieur ou supérieur. Déplacer le curseur modifie vos chances de gagner et le multiplicateur : plus le résultat est élevé, plus le multiplicateur est faible, plus il est élevé. Chaque tour représente un résultat indépendant sur l'échelle du jeu.",provablyFair:"Notre système de randomisation vérifiable génère chaque lancer de dés. Après chaque tour, vous pouvez consulter les entrées et les preuves, vérifier le résultat avec notre clé publique et reproduire le même résultat.",strategyTip:"Choisissez votre volatilité. Une faible probabilité de gain génère des multiplicateurs plus importants, mais des gains plus rares. Une probabilité élevée génère des multiplicateurs plus faibles, mais des gains plus fréquents. Adaptez vos mises à votre bankroll pour des fluctuations plus stables."},keno:{how1:"Choisissez 1 à 10 tuiles sur le plateau 1 à 40.",how2:"Définissez le montant de votre mise et placez votre pari.",how3:"Nous tirons au sort 10 numéros gagnants ; vos correspondances sont mises en avant.",how4:"Les gains dépendent du nombre de tuiles que vous avez sélectionnées et du nombre de coups que vous avez obtenus. Consultez le tableau des gains.",how5:"Vous ne pouvez jamais toucher plus de numéros que vous n'en avez sélectionnés, et la sélection maximale est de 10.",overview:"Choisissez vos numéros porte-bonheur et tentez de les faire correspondre. Vous pouvez choisir de 1 à 10 numéros parmi ceux de 1 à 40, puis nous en tirons 10. Plus vous avez de numéros gagnants, plus vos gains sont élevés.",provablyFair:"Notre système de tirage aléatoire vérifiable génère chaque tirage de Keno. Après chaque tour, vous pouvez consulter les entrées et les preuves, vérifier le résultat avec notre clé publique et reproduire le même résultat.",strategyTip:"Choisissez votre volatilité. Moins de spots signifie des gains plus rares, mais des multiplicateurs bien plus importants. Plus de spots donnent des gains plus fréquents, mais des rendements moyens par coup plus faibles. Une fourchette moyenne équilibre le taux de réussite et les gains. Ajustez la taille de votre mise en fonction de votre préférence de risque et de votre bankroll."},limbo:{how1:"Définissez votre multiplicateur cible.",how2:"Définissez le montant de votre mise et placez votre pari.",how3:"Nous générons un multiplicateur de résultat aléatoire.",how4:"Vous gagnez si le résultat est supérieur ou égal à votre objectif.",how5:"Votre gain est égal à la mise x votre multiplicateur cible ; sinon, vous perdez votre mise.",overview:"Dans Limbo, vous définissez le gain souhaité et le jeu tire un multiplicateur de résultat aléatoire. Si le résultat est au moins égal à votre objectif, vous gagnez. S'il est inférieur, vous perdez. Une probabilité élevée diminue le multiplicateur ; une probabilité faible l'augmente.",provablyFair:"Notre système d'aléatoire vérifiable génère chaque résultat Limbo. Après chaque tour, vous pouvez consulter les entrées et les preuves, vérifier le résultat avec notre clé publique et reproduire le même résultat.",strategyTip:"Les cibles basses gagnent plus souvent mais paient moins, tandis que les cibles hautes touchent rarement mais paient beaucoup plus. Envisagez un objectif fixe par session ou intégrez des paris occasionnels et ajustez la taille des mises pour gérer la variance."},mines:{how1:"Choisissez le nombre de mines pour ce tour.",how2:"Définissez le montant de votre mise et placez votre pari.",how3:"Cliquez sur les tuiles pour les révéler : une tuile sûre augmente votre multiplicateur ; une mine met fin au tour.",how4:"Vous pouvez retirer votre argent à tout moment pour verrouiller votre multiplicateur actuel.",how5:"Votre paiement est égal à la mise x le multiplicateur actuel lorsque vous encaissez.",how6:"Le tour se termine lorsque vous encaissez ou lorsqu'une mine est révélée.",overview:"Dans Mines, il faut choisir des tuiles sûres et décider quand encaisser. Avant le début de la partie, choisissez le nombre de mines cachées sur le plateau. Chaque tuile sûre révélée augmente votre multiplicateur. Touchez une mine et la partie se termine sans aucun gain.",provablyFair:"Notre système de vérification aléatoire génère la disposition des mines cachées de chaque plateau. Après chaque tour, vous pouvez consulter les entrées et les preuves, vérifier le résultat avec notre clé publique et reproduire le même résultat.",strategyTip:"Choisissez votre volatilité. Moins de mines signifie des révélations plus sûres et des multiplicateurs plus faibles par étape. Plus de mines entraînent des révélations plus risquées avec des multiplicateurs plus importants. Fixez-vous un objectif ou utilisez un stop-loss pour gérer les fluctuations. Une taille de mise constante et des retraits disciplinés permettent de maîtriser la variance."},strategyTitle:"Stratégie",tutorial:"Tutoriel"},games:{dice:{rollOver:"Rouler sur",rollUnder:"Rouler sous"},keno:{autoPick:"Sélection automatique",clearTable:"Clair",kenoGameGrid:"Grille de jeu Keno",kenoNumber:"Numéro de Keno",selectAtLeastOneTile:"Veuillez sélectionner au moins une tuile",selectTileToAutobet:"Veuillez sélectionner au moins une tuile"},limbo:{multiplierError:"Doit être compris entre {min} et {max}",targetMultiplier:"Multiplicateur",winChanceError:"Doit être compris entre {min} et {max}"},mines:{cashout:"Encaissement",gem:"Gemme",gems:"Gemmes",mine:"Le mien",mines:"Mines",nextGem:"Prochain joyau",selectRandomTile:"Sélectionner une tuile aléatoire",selectTileToAutobet:"Veuillez sélectionner au moins une tuile pour effectuer un pari automatique",tile:"Tuile",unrevealed:"Non révélé"}},hotkeys:{doubleBet:"Montant de la mise double",halveBet:"Diviser par deux le montant de la mise",higherTarget:"Objectif plus élevé",info:"Lorsque les raccourcis clavier sont activés, ils restent actifs pour ce jeu jusqu'à leur désactivation. Bien que certains jeux partagent des raccourcis clavier similaires, il est toujours conseillé de confirmer les raccourcis clavier pour chaque jeu.",lowerTarget:"Objectif inférieur",makeBet:"Placer un pari",toggleWinCondition:"Basculer la condition de victoire",zeroBet:"Montant de mise zéro"},modals:{betResult:"Résultat du pari",fairnessAndHistory:"Équité et histoire",gameArea:"Zone de jeu",gameControls:"Commandes du jeu",gameInfo:"Informations sur le jeu"}}});var mo=Ia((du,xs)=>{xs.exports={accessibility:{sliderValue:"{value} में से {max}"},alerts:{autobetStarted:"ऑटोबेट मोड शुरू किया गया",autobetStopped:"ऑटोबेट मोड बंद कर दिया गया",betAmountAboveMaxBet:"अधिकतम दांव {value} है",betAmountBelowMinBet:"न्यूनतम दांव {value} है",betLimitReached:"दांव की सीमा पूरी हो गई",errorProcessingBet:"आपकी शर्त संसाधित करते समय एक त्रुटि हुई। कृपया पुनः प्रयास करें।",failedToLoadBetData:"दांव डेटा लोड करने में विफल",gameError:"आपकी शर्त संसाधित करते समय एक त्रुटि हुई। कृपया पुनः प्रयास करें।",insufficientBalance:"अपर्याप्त शेषराशि",notEnoughBalance:"पर्याप्त संतुलन नहीं"},autobet:{games:"खेल",games10:"10 खेल",games100:"100 खेल",games25:"25 खेल",games5:"5 खेल",games50:"50 खेल",increase:"बढ़ोतरी",infinite:"अनंत",onLoss:"हानि पर",onWin:"जीत पर",reset:"रीसेट करें",startAutobet:"ऑटोबेट शुरू करें",stopAutobet:"ऑटोबेट रोकें",stopOnLoss:"हानि पर रोक",stopOnProfit:"लाभ पर रोक"},common:{auto:"ऑटो",back:"पीछे",balance:"संतुलन",bet:"दांव राशि",betAmount:"दांव राशि",cancel:"रद्द करना",cashOut:"नकदी निकलना",classic:"क्लासिक",confirm:"पुष्टि करना",copied:"कॉपी किया गया",disableHotkeys:"हॉटकीज़ अक्षम करें",disableMaxBet:"अधिकतम दांव अक्षम करें",deposit:"जमा",enableHotkeys:"हॉटकीज़ सक्षम करें",enableMaxBet:"अधिकतम दांव सक्षम करें",footerNavigation:"पाद नेविगेशन",gameInfo:"गेम जानकारी",high:"उच्च",history:"इतिहास",hotkeys:"हॉटकी",id:"पहचान",instantBet:"तत्काल शर्त",loading:"लोड हो रहा है...",loadMore:"और लोड करें",lobby:"लॉबी पर वापस जाएँ",low:"कम",manual:"नियमावली",max:"मैक्स",medium:"मध्यम",multiplier:"गुणक",payout:"भुगतान",placeBet:"दांव लगाओ",profit:"लाभ",profitOnWin:"जीत पर लाभ",provablyFair:"सिद्धतः निष्पक्ष",risk:"जोखिम",siteInformation:"साइट जानकारी",space:"अंतरिक्ष",targetMultiplier:"गुणक",thisFieldIsRequired:"यह फ़ील्ड आवश्यक है",timestamp:"समय",toggleHotkeys:"टॉगल हॉटकीज़",viewFairnessInformation:"निष्पक्षता जानकारी देखें",viewHistory:"इतिहास देखें",volume:"आयतन",winChance:"जीत का मौका"},errors:{dice:{multiplierRange:"{min} और {max} के बीच होना चाहिए",winChanceRange:"{min} और {max} के बीच होना चाहिए"}},fairness:{activeClientSeed:"सक्रिय क्लाइंट बीज",enterClientSeed:"क्लाइंट सीड दर्ज करें",enterProof:"प्रमाण दर्ज करें",enterPublicKey:"सार्वजनिक कुंजी दर्ज करें",enterRandomness:"यादृच्छिकता दर्ज करें",enterRequest:"अनुरोध दर्ज करें",info:{p1:"हर राउंड का परिणाम सत्यापन योग्य यादृच्छिकता से आता है, न कि छिपे हुए सर्वर तर्क से। हम आपके राउंड के विशिष्ट मानों—गेमआईडी, टेनेंटआईडी, टेनेंटयूज़रआईडी, एक बढ़ता हुआ नॉन्स (प्रत्येक पूर्ण राउंड के लिए एक), और आपके क्लाइंटसीड से एक नियतात्मक बीज बनाते हैं। यह सुनिश्चित करता है कि प्रत्येक राउंड अद्वितीय और पुनरुत्पादनीय हो: समान इनपुट → समान रैंडम स्ट्रीम → समान परिणाम।",p2:"उस बीज को IETF विनिर्देश draft-irtf-cfrg-vrf-15 के अनुसार एक एलिप्टिक कर्व वेरिफ़िएबल रैंडम फंक्शन (ECVRF) के माध्यम से चलाया जाता है। हमारा सर्वर एक यादृच्छिक मान और एक क्रिप्टोग्राफ़िक प्रमाण (proofString) उत्पन्न करने के लिए अपनी निजी कुंजी का उपयोग करता है। हमारी सार्वजनिक कुंजी वाला कोई भी व्यक्ति दिए गए इनपुट के लिए उस प्रमाण को स्वतंत्र रूप से सत्यापित कर सकता है—यह पुष्टि करते हुए कि यादृच्छिकता बीज से आई है और उसमें कोई छेड़छाड़ नहीं की गई है। SDK टाइपस्क्रिप्ट है, जबकि कोर क्रिप्टो प्रदर्शन और सुरक्षा के लिए NAPI-RS के माध्यम से फास्टक्रिप्टो रस्ट लाइब्रेरी का उपयोग करता है।",p3:"एक बार सत्यापित होने के बाद, VRF आउटपुट एक नियतात्मक यादृच्छिक बाइट जनरेटर (hashSequence) को सीड करता है। खेल उन बाइट्स को नियतात्मक, निष्पक्ष तर्क का उपयोग करके परिणामों में बदल देते हैं। चूँकि यह प्रक्रिया नियतात्मक है और प्रत्येक पूर्ण राउंड में नॉन्स आगे बढ़ता है, इसलिए आपको हर बार पुनः खेलने योग्य ऑडिट (उसी राउंड को हूबहू दोहराना) और ताज़ा, गैर-दोहराव वाली यादृच्छिकता दोनों मिलती है।",p4:"एक राउंड के बाद, आपके पास इनपुट (आपके क्लाइंटसीड और राउंड के नॉन्स सहित), VRF आउटपुट, प्रूफ़स्ट्रिंग और हमारी पब्लिक कुंजी होती है। किसी भी ECVRF सत्यापनकर्ता या हमारी लाइब्रेरी का उपयोग करके: (1) इनपुट और पब्लिक कुंजी के विरुद्ध प्रूफ़ की पुष्टि करें, और (2) समान हैशसीक्वेंस और परिणाम पुनः उत्पन्न करें। हमारी प्राइवेट कुंजी कभी भी सुरक्षित सर्वर से बाहर नहीं जाती; स्वतंत्र जाँच के लिए क्लाइंट-साइड पर पब्लिक कुंजी का उपयोग सुरक्षित है।",step1Desc:"हम गेमआईडी, टेनेंटआईडी, टेनेंटयूज़रआईडी, प्रति-राउंड नॉन्स और आपके क्लाइंटसीड को मिलाते हैं। समान इनपुट हमेशा एक ही रैंडम स्ट्रीम और परिणाम उत्पन्न करते हैं।",step1Title:"नियतात्मक बीज",step2Title:"यादृच्छिकता उत्पन्न करें",step3Desc:"कोई भी हमारी सार्वजनिक कुंजी का उपयोग करके दिए गए इनपुट के लिए प्रूफ़स्ट्रिंग की पुष्टि कर सकता है। इससे यह पुष्टि होती है कि यादृच्छिकता बीज से मेल खाती है और उसमें कोई छेड़छाड़ नहीं की गई है।",step3Title:"प्रमाण सत्यापित करें",step4Title:"परिणाम प्राप्त करें",step5Title:"प्रजनन"},invalidGame:"अमान्य खेल प्रकार प्रदान किया गया.",learnMore:"और अधिक जानें",newClientSeed:"नया ग्राहक बीज",noBettingHistory:"कोई सट्टेबाजी इतिहास नहीं",outcomeCalculationInfo:"प्रत्येक खेल का परिणाम इनपुट के रूप में एक यादृच्छिक मान का उपयोग करके गणना किया जाता है।",outcomeNotVerified:"इस खेल का परिणाम सत्यापित नहीं किया जा सका",outcomeVerified:"इस खेल का परिणाम सत्यापित हो चुका है और यह निष्पक्ष साबित हो चुका है",proof:"सबूत",publicKey:"सार्वजनिक कुंजी",randomness:"अनियमितता",request:"अनुरोध",saveClientSeed:"क्लाइंट सीड सहेजें",verifyOutcome:"परिणाम सत्यापित करें"},gameInfo:{dice:{how1:"रोल अंडर या रोल ओवर चुनें.",how2:"अपना लक्ष्य संख्या निर्धारित करें.",how3:"अपनी शर्त की राशि निर्धारित करें और अपना दांव लगाएं।",how4:"हम एक यादृच्छिक परिणाम उत्पन्न करते हैं (खेल में 0-99.99 पैमाने पर प्रदर्शित)।",how5:"यदि परिणाम आपकी चुनी हुई सीमा में आता है तो आप जीत जाते हैं।",how6:"आपका भुगतान दिखाए गए गुणक का दांव x है, जो स्लाइडर को स्थानांतरित करने पर अपडेट होता है।",overview:"एक लक्ष्य संख्या निर्धारित करें और चुनें कि रोल उसके नीचे आएगा या ऊपर। स्लाइडर को हिलाने से आपकी जीत की संभावना और गुणक बदल जाता है—जितनी ज़्यादा संभावना होगी, गुणक कम होगा और जितनी कम संभावना होगी, गुणक बढ़ेगा। खेल के पैमाने पर हर राउंड एक स्वतंत्र रोल होता है।",provablyFair:"हमारी सत्यापन योग्य यादृच्छिकता प्रणाली प्रत्येक पासा रोल उत्पन्न करती है। प्रत्येक राउंड के बाद, आप इनपुट और प्रूफ देख सकते हैं, हमारी सार्वजनिक कुंजी से परिणाम सत्यापित कर सकते हैं, और उसी परिणाम को पुनः प्राप्त कर सकते हैं।",strategyTip:"अपनी अस्थिरता चुनें। जीत की कम संभावना से गुणक ज़्यादा मिलते हैं, लेकिन हिट कम मिलते हैं। जीत की ज़्यादा संभावना से गुणक कम मिलते हैं, लेकिन जीत ज़्यादा बार मिलती है। स्थिर उतार-चढ़ाव के लिए अपने दांव को अपने बैंकरोल के अनुसार रखें।"},keno:{how1:"1-40 बोर्ड पर 1-10 टाइलें चुनें।",how2:"अपनी शर्त की राशि निर्धारित करें और अपना दांव लगाएं।",how3:"हम 10 विजेता संख्याएं निकालते हैं; आपके मिलान हाइलाइट किए जाते हैं।",how4:"भुगतान इस बात पर निर्भर करता है कि आपने कितने टाइल्स चुने और आपको कितने हिट मिले - भुगतान तालिका देखें।",how5:"आप कभी भी अपने द्वारा चयनित संख्याओं से अधिक संख्याएं नहीं चुन सकते, तथा अधिकतम चयन 10 है।",overview:"अपने भाग्यशाली अंक चुनें और ड्रॉ में उनका मिलान करने का प्रयास करें। आप 1-40 में से 1-10 अंक चुन सकते हैं, और फिर हम 10 अंक निकालेंगे। आपके द्वारा चुने गए जितने ज़्यादा अंक आएंगे, आपका भुगतान उतना ही ज़्यादा होगा।",provablyFair:"हमारी सत्यापन योग्य यादृच्छिकता प्रणाली प्रत्येक केनो ड्रॉ उत्पन्न करती है। प्रत्येक राउंड के बाद, आप इनपुट और प्रूफ देख सकते हैं, हमारी सार्वजनिक कुंजी से परिणाम सत्यापित कर सकते हैं, और उसी परिणाम को पुनः प्राप्त कर सकते हैं।",strategyTip:"अपनी अस्थिरता चुनें। कम स्पॉट चुनने का मतलब है कम जीत लेकिन ज़्यादा गुणक। ज़्यादा स्पॉट ज़्यादा बार हिट देते हैं लेकिन प्रति हिट औसत रिटर्न कम होता है। एक मध्यम श्रेणी हिट दर और भुगतान को संतुलित करती है। अपनी जोखिम वरीयता और बैंकरोल के अनुसार अपने दांव का आकार समायोजित करें।"},limbo:{how1:"अपना लक्ष्य गुणक निर्धारित करें.",how2:"अपनी शर्त की राशि निर्धारित करें और अपना दांव लगाएं।",how3:"हम एक यादृच्छिक परिणाम गुणक उत्पन्न करते हैं।",how4:"यदि परिणाम आपके लक्ष्य से अधिक या बराबर हो तो आप जीत जाते हैं।",how5:"आपका भुगतान दांव x आपके लक्ष्य गुणक के बराबर है; अन्यथा, आप अपना दांव हार जाएंगे।",overview:"लिम्बो में, आप अपनी इच्छित राशि निर्धारित करते हैं, और खेल एक यादृच्छिक परिणाम गुणक निकालता है। यदि परिणाम कम से कम आपके लक्ष्य के बराबर है, तो आप जीत जाते हैं। यदि यह कम है, तो आप हार जाते हैं। ज़्यादा संभावना गुणक को कम करती है; कम संभावना गुणक को बढ़ाती है।",provablyFair:"हमारी सत्यापन योग्य यादृच्छिकता प्रणाली प्रत्येक लिम्बो परिणाम उत्पन्न करती है। प्रत्येक राउंड के बाद, आप इनपुट और प्रूफ देख सकते हैं, हमारी सार्वजनिक कुंजी से परिणाम सत्यापित कर सकते हैं, और उसी परिणाम को पुनः प्रस्तुत कर सकते हैं।",strategyTip:"कम लक्ष्य ज़्यादा बार जीतते हैं लेकिन कम भुगतान करते हैं, जबकि उच्च लक्ष्य कम ही हिट होते हैं लेकिन ज़्यादा भुगतान करते हैं। प्रति सत्र एक निश्चित लक्ष्य पर विचार करें या कभी-कभार लंबे शॉट भी शामिल करें, और भिन्नता को प्रबंधित करने के लिए दांव का आकार लगातार रखें।"},mines:{how1:"इस दौर के लिए खानों की संख्या चुनें।",how2:"अपनी शर्त की राशि निर्धारित करें और अपना दांव लगाएं।",how3:"टाइल्स को दिखाने के लिए उन पर क्लिक करें: एक सुरक्षित टाइल आपके गुणक को बढ़ा देती है; एक खदान से राउंड समाप्त हो जाता है।",how4:"आप अपने वर्तमान गुणक को लॉक करने के लिए किसी भी समय नकद निकाल सकते हैं।",how5:"जब आप नकद निकालते हैं तो आपका भुगतान बेट x वर्तमान गुणक के बराबर होता है।",how6:"यह चक्र तब समाप्त होता है जब आप नकद निकाल लेते हैं या जब कोई खदान सामने आ जाती है।",overview:"माइंस का मतलब है सुरक्षित टाइलें चुनना और यह तय करना कि कब कैश आउट करना है। राउंड शुरू होने से पहले, बोर्ड पर कितनी माइंस छिपी होंगी, यह तय कर लें। आपके द्वारा बताई गई प्रत्येक सुरक्षित टाइल आपके गुणक को बढ़ाती है। एक माइन पर हिट करें, और राउंड बिना किसी भुगतान के समाप्त हो जाएगा।",provablyFair:"हमारी सत्यापन योग्य यादृच्छिकता प्रणाली प्रत्येक बोर्ड के छिपे हुए खदान लेआउट को उत्पन्न करती है। प्रत्येक राउंड के बाद, आप इनपुट और प्रूफ देख सकते हैं, हमारी सार्वजनिक कुंजी से परिणाम सत्यापित कर सकते हैं, और उसी परिणाम को पुनः प्राप्त कर सकते हैं।",strategyTip:"अपनी अस्थिरता चुनें। कम माइन्स का मतलब है सुरक्षित खुलासे और प्रति चरण छोटे गुणक। ज़्यादा माइन्स का मतलब है ज़्यादा जोखिम भरे खुलासे और बड़े गुणक। उतार-चढ़ाव को नियंत्रित करने के लिए एक लक्ष्य निर्धारित करें या स्टॉप-लॉस का उपयोग करें। लगातार दांव का आकार और अनुशासित कैश आउट, भिन्नता को नियंत्रित रखने में मदद करते हैं।"},strategyTitle:"रणनीति",tutorial:"ट्यूटोरियल"},games:{dice:{rollOver:"रोल ओवर",rollUnder:"रोल अंडर"},keno:{autoPick:"ऑटो पिक",clearTable:"स्पष्ट",kenoGameGrid:"केनो गेम ग्रिड",kenoNumber:"केनो नंबर",selectAtLeastOneTile:"कृपया कम से कम एक टाइल चुनें",selectTileToAutobet:"कृपया कम से कम एक टाइल चुनें"},limbo:{multiplierError:"{min} और {max} के बीच होना चाहिए",targetMultiplier:"गुणक",winChanceError:"{min} और {max} के बीच होना चाहिए"},mines:{cashout:"नकदी निकलना",gem:"रत्न",gems:"रत्न",mine:"मेरा",mines:"खानों",nextGem:"अगला रत्न",selectRandomTile:"यादृच्छिक टाइल का चयन करें",selectTileToAutobet:"कृपया ऑटोबेट के लिए कम से कम एक टाइल चुनें",tile:"टाइल",unrevealed:"अप्रकट"}},hotkeys:{doubleBet:"दांव की राशि दोगुनी करें",halveBet:"दांव राशि आधी करें",higherTarget:"उच्च लक्ष्य",info:"जब हॉटकीज़ सक्षम होती हैं, तो वे इस गेम के लिए तब तक चालू रहेंगी जब तक उन्हें अक्षम नहीं कर दिया जाता। हालाँकि कुछ गेम में समान कुंजी बाइंडिंग होती है, फिर भी प्रत्येक गेम के लिए हॉटकीज़ की पुष्टि करना हमेशा सलाह दी जाती है।",lowerTarget:"निचला लक्ष्य",makeBet:"दांव लगाओ",toggleWinCondition:"जीत की स्थिति टॉगल करें",zeroBet:"शून्य दांव राशि"},modals:{betResult:"दांव परिणाम",fairnessAndHistory:"निष्पक्षता और इतिहास",gameArea:"खेल क्षेत्र",gameControls:"खेल नियंत्रण",gameInfo:"गेम जानकारी"}}});var bo=Ia((uu,Ss)=>{Ss.exports={accessibility:{sliderValue:"{value} keluar dari {max}"},alerts:{autobetStarted:"Memulai mode taruhan otomatis",autobetStopped:"Menghentikan mode taruhan otomatis",betAmountAboveMaxBet:"Taruhan maksimum adalah {value}",betAmountBelowMinBet:"Taruhan minimum adalah {value}",betLimitReached:"Batas taruhan tercapai",errorProcessingBet:"Terjadi kesalahan saat memproses taruhan Anda. Silakan coba lagi.",failedToLoadBetData:"Gagal memuat data taruhan",gameError:"Terjadi kesalahan saat memproses taruhan Anda. Silakan coba lagi.",insufficientBalance:"Saldo tidak mencukupi",notEnoughBalance:"Saldo tidak cukup"},autobet:{games:"Pertandingan",games10:"10 permainan",games100:"100 permainan",games25:"25 permainan",games5:"5 permainan",games50:"50 permainan",increase:"Meningkatkan",infinite:"Tak terbatas",onLoss:"Tentang Kehilangan",onWin:"Pada Kemenangan",reset:"Mengatur ulang",startAutobet:"Mulai Autobet",stopAutobet:"Hentikan Autobet",stopOnLoss:"Berhenti saat Kerugian",stopOnProfit:"Berhenti Saat Untung"},common:{auto:"Mobil",back:"Kembali",balance:"Keseimbangan",bet:"Jumlah Taruhan",betAmount:"Jumlah Taruhan",cancel:"Membatalkan",cashOut:"Penarikan Tunai",classic:"Klasik",confirm:"Mengonfirmasi",copied:"Disalin",disableHotkeys:"Nonaktifkan Tombol Pintasan",disableMaxBet:"Nonaktifkan Taruhan Maksimum",deposit:"Setoran",enableHotkeys:"Aktifkan Tombol Pintasan",enableMaxBet:"Aktifkan Taruhan Maksimum",footerNavigation:"Navigasi kaki",gameInfo:"Info Permainan",high:"Tinggi",history:"Sejarah",hotkeys:"Tombol pintas",id:"PENGENAL",instantBet:"Taruhan Instan",loading:"Memuat...",loadMore:"Muat Lebih Banyak",lobby:"Kembali ke Lobi",low:"Rendah",manual:"Buku petunjuk",max:"MAKS",medium:"Sedang",multiplier:"Pengali",payout:"Pembayaran",placeBet:"Pasang Taruhan",profit:"Laba",profitOnWin:"Untung Saat Menang",provablyFair:"Terbukti Adil",risk:"Mempertaruhkan",siteInformation:"Informasi situs",space:"RUANG ANGKASA",targetMultiplier:"Pengali",thisFieldIsRequired:"Bidang ini wajib diisi",timestamp:"Waktu",toggleHotkeys:"Beralih Tombol Pintasan",viewFairnessInformation:"Lihat informasi keadilan",viewHistory:"Lihat Riwayat",volume:"Volume",winChance:"Kesempatan Menang"},errors:{dice:{multiplierRange:"Harus antara {min} dan {max}",winChanceRange:"Harus antara {min} dan {max}"}},fairness:{activeClientSeed:"Benih Klien Aktif",enterClientSeed:"Masukkan Benih Klien",enterProof:"Masukkan Bukti",enterPublicKey:"Masukkan Kunci Publik",enterRandomness:"Masuk Acak",enterRequest:"Masukkan Permintaan",info:{p1:"Hasil setiap putaran berasal dari keacakan yang dapat diverifikasi, bukan logika server tersembunyi. Kami membangun seed deterministik dari nilai-nilai unik untuk putaran Anda—gameId, tenantId, tenantUserId, nonce yang bertambah (satu per putaran yang telah selesai), ditambah clientSeed Anda. Ini menjamin setiap putaran unik dan dapat direproduksi: input yang sama → aliran acak yang sama → hasil yang sama.",p2:"Benih tersebut dijalankan melalui Fungsi Acak Terverifikasi Kurva Eliptik (ECVRF) sesuai spesifikasi IETF draft-irtf-cfrg-vrf-15. Server kami menggunakan kunci privatnya untuk menghasilkan nilai acak dan bukti kriptografi (proofString). Siapa pun yang memiliki kunci publik kami dapat memverifikasi bukti tersebut secara independen untuk input yang diberikan—yang memastikan keacakan tersebut berasal dari benih dan tidak dimanipulasi. SDK-nya adalah TypeScript, sementara kripto inti menggunakan pustaka fastcrypto Rust melalui NAPI-RS untuk performa dan keamanan.",p3:"Setelah diverifikasi, keluaran VRF menghasilkan generator byte acak deterministik (hashSequence). Permainan mengubah byte tersebut menjadi hasil menggunakan logika deterministik dan tidak bias. Karena prosesnya deterministik dan nonce berlanjut setiap putaran yang diselesaikan, Anda mendapatkan audit yang dapat diputar ulang (membuat ulang putaran yang sama persis) dan keacakan yang baru dan tidak berulang setiap kali.",p4:"Setelah satu putaran, Anda akan mendapatkan input (termasuk clientSeed dan nonce putaran), output VRF, proofString, dan kunci publik kami. Gunakan verifikator ECVRF atau pustaka kami untuk: (1) memverifikasi bukti terhadap input dan kunci publik, dan (2) menghasilkan kembali hashSequence dan hasil yang sama. Kunci privat kami tidak pernah meninggalkan server aman; kunci publik aman digunakan di sisi klien untuk pemeriksaan independen.",step1Desc:"Kami menggabungkan gameId, tenantId, tenantUserId, nonce per ronde, dan clientSeed Anda. Input yang sama selalu menghasilkan aliran dan hasil acak yang sama.",step1Title:"Benih Deterministik",step2Title:"Hasilkan Keacakan",step3Desc:"Siapa pun dapat memverifikasi proofString untuk input yang diberikan menggunakan kunci publik kami. Ini memastikan keacakan sesuai dengan seed dan tidak ada manipulasi.",step3Title:"Verifikasi Bukti",step4Title:"Dapatkan Hasil",step5Title:"Reproduksi"},invalidGame:"Jenis permainan yang diberikan tidak valid.",learnMore:"Pelajari Lebih Lanjut",newClientSeed:"Benih Klien Baru",noBettingHistory:"Tidak ada riwayat taruhan",outcomeCalculationInfo:"Hasil setiap permainan dihitung menggunakan nilai acak sebagai masukan.",outcomeNotVerified:"Hasil pertandingan ini tidak dapat diverifikasi",outcomeVerified:"Hasil permainan ini telah diverifikasi dan terbukti adil",proof:"Bukti",publicKey:"Kunci Publik",randomness:"Keserampangan",request:"Meminta",saveClientSeed:"Simpan Benih Klien",verifyOutcome:"Verifikasi Hasil"},gameInfo:{dice:{how1:"Pilih roll under atau roll over.",how2:"Tetapkan angka target Anda.",how3:"Tetapkan jumlah taruhan Anda dan pasang taruhan Anda.",how4:"Kami menghasilkan satu hasil acak (ditampilkan pada skala 0–99,99 dalam permainan).",how5:"Anda menang jika hasilnya berada dalam rentang pilihan Anda.",how6:"Pembayaran Anda dipertaruhkan x pengali yang ditampilkan, yang diperbarui saat Anda menggerakkan penggeser.",overview:"Tetapkan angka target dan pilih apakah lemparan akan mendarat di bawah atau di atasnya. Menggerakkan slider akan mengubah peluang menang dan pengali Anda—peluang yang lebih tinggi akan menurunkan pengali, peluang yang lebih rendah akan meningkatkannya. Setiap putaran adalah satu lemparan independen dalam skala permainan.",provablyFair:"Sistem keacakan terverifikasi kami menghasilkan setiap lemparan dadu. Setelah setiap putaran, Anda dapat melihat input dan bukti, memverifikasi hasilnya dengan kunci publik kami, dan mereproduksi hasil yang sama.",strategyTip:"Pilih volatilitas Anda. Peluang menang yang lebih rendah menghasilkan pengganda yang lebih besar tetapi kemenangan yang lebih jarang. Peluang menang yang lebih tinggi menghasilkan pengganda yang lebih kecil tetapi kemenangan yang lebih sering. Sesuaikan taruhan Anda dengan modal Anda untuk ayunan yang lebih stabil."},keno:{how1:"Pilih 1–10 ubin pada papan 1–40.",how2:"Tetapkan jumlah taruhan Anda dan pasang taruhan Anda.",how3:"Kami mengundi 10 nomor pemenang; kecocokan Anda disorot.",how4:"Pembayaran bergantung pada berapa banyak ubin yang Anda pilih dan berapa banyak pukulan yang Anda dapatkan—periksa tabel pembayaran.",how5:"Anda tidak akan pernah bisa mendapatkan angka lebih banyak dari yang Anda pilih, dan pilihan maksimalnya adalah 10.",overview:"Pilih angka keberuntungan Anda dan cobalah untuk mencocokkan angka yang keluar. Anda dapat memilih angka 1–10 dari 1–40, lalu kami akan mengundi 10 angka. Semakin banyak angka yang Anda pilih, semakin tinggi pembayaran Anda.",provablyFair:"Sistem keacakan terverifikasi kami menghasilkan setiap undian Keno. Setelah setiap putaran, Anda dapat melihat input dan bukti, memverifikasi hasilnya dengan kunci publik kami, dan mereproduksi hasil yang sama.",strategyTip:"Pilih volatilitas Anda. Memilih lebih sedikit spot berarti kemenangan lebih jarang tetapi penggandanya jauh lebih besar. Lebih banyak spot memberikan lebih banyak hit tetapi rata-rata imbal hasil per hit lebih kecil. Rentang tengah menyeimbangkan tingkat hit dan pembayaran. Sesuaikan ukuran taruhan Anda dengan preferensi risiko dan modal Anda."},limbo:{how1:"Tetapkan pengali target Anda.",how2:"Tetapkan jumlah taruhan Anda dan pasang taruhan Anda.",how3:"Kami menghasilkan satu pengali hasil acak.",how4:"Anda menang jika hasilnya lebih besar atau sama dengan target Anda.",how5:"Pembayaran Anda adalah taruhan x pengali target Anda; jika tidak, Anda kalah taruhan.",overview:"Di Limbo, Anda menentukan pembayaran yang diinginkan, dan permainan akan memberikan satu pengali hasil acak. Jika hasilnya setidaknya sesuai target Anda, Anda menang. Jika lebih rendah, Anda kalah. Peluang yang lebih tinggi akan menurunkan pengali; peluang yang lebih rendah akan meningkatkannya.",provablyFair:"Sistem keacakan terverifikasi kami menghasilkan setiap hasil Limbo. Setelah setiap putaran, Anda dapat melihat input dan bukti, memverifikasi hasilnya dengan kunci publik kami, dan mereproduksi hasil yang sama.",strategyTip:"Target yang lebih rendah lebih sering menang tetapi bayarannya lebih rendah, sementara target yang lebih tinggi jarang kena tetapi bayarannya jauh lebih besar. Pertimbangkan target tetap per sesi atau gabungkan dengan taruhan yang jarang menang sesekali, dan tingkatkan taruhan secara konsisten untuk mengelola varians."},mines:{how1:"Pilih jumlah ranjau untuk ronde ini.",how2:"Tetapkan jumlah taruhan Anda dan pasang taruhan Anda.",how3:"Klik ubin untuk mengungkapkannya: ubin yang aman akan meningkatkan pengali Anda; ranjau akan mengakhiri ronde.",how4:"Anda dapat mencairkan dana kapan saja untuk mengunci pengali Anda saat ini.",how5:"Pembayaran Anda dipertaruhkan x pengali saat Anda menguangkan.",how6:"Putaran berakhir saat Anda menguangkan atau saat ranjau ditemukan.",overview:'"Tambang" adalah tentang memilih ubin yang aman dan memutuskan kapan harus menguangkan. Sebelum ronde dimulai, tentukan berapa banyak ranjau yang akan disembunyikan di papan. Setiap ubin aman yang Anda temukan akan meningkatkan pengali Anda. Jika terkena ranjau, ronde berakhir tanpa pembayaran.',provablyFair:"Sistem keacakan terverifikasi kami menghasilkan tata letak ranjau tersembunyi di setiap papan. Setelah setiap putaran, Anda dapat melihat input dan bukti, memverifikasi hasilnya dengan kunci publik kami, dan mereproduksi hasil yang sama.",strategyTip:"Pilih volatilitas Anda. Lebih sedikit tambang berarti pengungkapan yang lebih aman dan pengganda yang lebih kecil per langkah. Lebih banyak tambang menghasilkan pengungkapan yang lebih berisiko dengan pengganda yang lebih besar. Tetapkan target atau gunakan stop-loss untuk mengelola ayunan. Ukuran taruhan yang konsisten dan penarikan dana yang disiplin membantu menjaga varians tetap terkendali."},strategyTitle:"Strategi",tutorial:"Tutorial"},games:{dice:{rollOver:"Berguling",rollUnder:"Gulung ke Bawah"},keno:{autoPick:"Pilih Otomatis",clearTable:"Jernih",kenoGameGrid:"Kisi Permainan Keno",kenoNumber:"Nomor Keno",selectAtLeastOneTile:"Silakan pilih setidaknya satu ubin",selectTileToAutobet:"Silakan pilih setidaknya satu ubin"},limbo:{multiplierError:"Harus antara {min} dan {max}",targetMultiplier:"Pengali",winChanceError:"Harus antara {min} dan {max}"},mines:{cashout:"Penarikan Tunai",gem:"Permata",gems:"Permata",mine:"Milikku",mines:"Tambang",nextGem:"Permata Berikutnya",selectRandomTile:"Pilih Ubin Acak",selectTileToAutobet:"Silakan pilih setidaknya satu ubin untuk taruhan otomatis",tile:"Ubin",unrevealed:"Belum terungkap"}},hotkeys:{doubleBet:"Jumlah Taruhan Ganda",halveBet:"Membagi Dua Jumlah Taruhan",higherTarget:"Target Lebih Tinggi",info:"Saat tombol pintas diaktifkan, tombol tersebut akan tetap aktif untuk game ini hingga dinonaktifkan. Meskipun beberapa game memiliki pengaturan tombol yang serupa, selalu disarankan untuk mengonfirmasi tombol pintas untuk setiap game.",lowerTarget:"Target Bawah",makeBet:"Pasang Taruhan",toggleWinCondition:"Beralih Kondisi Kemenangan",zeroBet:"Jumlah Taruhan Nol"},modals:{betResult:"Hasil Taruhan",fairnessAndHistory:"Keadilan dan Sejarah",gameArea:"Area Permainan",gameControls:"Kontrol Permainan",gameInfo:"Info Permainan"}}});var vo=Ia((cu,Is)=>{Is.exports={accessibility:{sliderValue:"{value} 件中 {max} 件"},alerts:{autobetStarted:"自動ベットモードを開始しました",autobetStopped:"自動ベットモードを停止しました",betAmountAboveMaxBet:"最大賭け金は{value}です",betAmountBelowMinBet:"最低賭け金は{value}です",betLimitReached:"賭け金の上限に達しました",errorProcessingBet:"賭けの処理中にエラーが発生しました。もう一度お試しください。",failedToLoadBetData:"賭けデータの読み込みに失敗しました",gameError:"賭けの処理中にエラーが発生しました。もう一度お試しください。",insufficientBalance:"残高不足",notEnoughBalance:"残高が足りない"},autobet:{games:"ゲーム",games10:"10ゲーム",games100:"100ゲーム",games25:"25ゲーム",games5:"5ゲーム",games50:"50ゲーム",increase:"増加",infinite:"無限",onLoss:"損失について",onWin:"勝利時",reset:"リセット",startAutobet:"オートベットを始める",stopAutobet:"オートベットを停止",stopOnLoss:"損失でストップ",stopOnProfit:"利益でストップ"},common:{auto:"オート",back:"戻る",balance:"バランス",bet:"賭け金額",betAmount:"賭け金額",cancel:"キャンセル",cashOut:"キャッシュアウト",classic:"クラシック",confirm:"確認する",copied:"コピーしました",disableHotkeys:"ホットキーを無効にする",disableMaxBet:"最大ベットを無効にする",deposit:"入金",enableHotkeys:"ホットキーを有効にする",enableMaxBet:"最大ベットを有効にする",footerNavigation:"フッターナビゲーション",gameInfo:"ゲーム情報",high:"高い",history:"歴史",hotkeys:"ホットキー",id:"ID",instantBet:"インスタントベット",loading:"読み込み中...",loadMore:"もっと読み込む",lobby:"ロビーに戻る",low:"低い",manual:"マニュアル",max:"マックス",medium:"中くらい",multiplier:"乗数",payout:"支払い",placeBet:"ベットする",profit:"利益",profitOnWin:"勝利で利益",provablyFair:"証明可能公平",risk:"リスク",siteInformation:"サイト情報",space:"空間",targetMultiplier:"乗数",thisFieldIsRequired:"この項目は必須です",timestamp:"時間",toggleHotkeys:"ホットキーを切り替える",viewFairnessInformation:"公平性情報を見る",viewHistory:"履歴を表示",volume:"音量",winChance:"勝利のチャンス"},errors:{dice:{multiplierRange:"{min}から{max}の間でなければなりません",winChanceRange:"{min}~{max}の間でなければなりません"}},fairness:{activeClientSeed:"アクティブクライアントシード",enterClientSeed:"クライアントシードを入力",enterProof:"証明を入力",enterPublicKey:"公開鍵を入力",enterRandomness:"ランダム性を導入する",enterRequest:"リクエストを入力",info:{p1:"各ラウンドの結果は、サーバーロジックではなく、検証可能なランダム性によって決定されます。ラウンド固有の値(gameId、tenantId、tenantUserId、増加していくノンス(ラウンド完了ごとに1つ)、そしてclientSeed)から決定論的なシード値を生成します。これにより、各ラウンドが一意かつ再現可能であることが保証されます。つまり、同じ入力 → 同じランダムストリーム → 同じ結果となります。",p2:"このシードは、IETF仕様 draft-irtf-cfrg-vrf-15 に基づき、楕円曲線検証可能乱数関数 (ECVRF) にかけられます。当社のサーバーは秘密鍵を用いて乱数と暗号証明 (proofString) を生成します。公開鍵を持つ人なら誰でも、与えられた入力値に対してその証明を独立して検証でき、乱数がシードに由来し、改ざんされていないことを確認できます。SDKはTypeScriptで、コアとなる暗号にはパフォーマンスと安全性を確保するために、NAPI-RS経由でfastcrypto Rustライブラリを使用しています。",p3:"検証が完了すると、VRF出力は決定論的ランダムバイトジェネレータ(hashSequence)にシードされます。ゲームは、これらのバイトを決定論的かつバイアスのないロジックを用いて結果に変換します。このプロセスは決定論的であり、ナンスはラウンドが完了するたびに更新されるため、再プレイ可能な監査(同じラウンドを再現する)と、毎回新鮮で繰り返しのないランダム性の両方が得られます。",p4:"ラウンド終了後、入力(clientSeedとラウンドのノンスを含む)、VRF出力、proofString、そして公開鍵が得られます。任意のECVRF検証器またはライブラリを使用して、(1) 入力と公開鍵を用いて証明を検証し、(2) 同じhashSequenceと結果を再生成します。秘密鍵は安全なサーバーから外部に送信されることはありません。公開鍵はクライアント側で独立した検証に安全に使用できます。",step1Desc:"gameId、tenantId、tenantUserId、ラウンドごとのノンス、そしてclientSeedを組み合わせます。同じ入力は常に同じランダムストリームと結果を生成します。",step1Title:"決定論的シード",step2Title:"ランダム性を生成する",step3Desc:"誰でも、公開鍵を使って与えられた入力に対するproofStringを検証できます。これにより、乱数がシードと一致し、改ざんされていないことが確認できます。",step3Title:"証明を検証する",step4Title:"結果を導き出す",step5Title:"再生"},invalidGame:"無効なゲームタイプが指定されました。",learnMore:"もっと詳しく知る",newClientSeed:"新規クライアントシード",noBettingHistory:"賭け履歴なし",outcomeCalculationInfo:"各ゲームの結果は、ランダムな値を入力として使用して計算されます。",outcomeNotVerified:"この試合の結果は確認できなかった",outcomeVerified:"このゲームの結果は検証されており、公平であることが証明されています",proof:"証拠",publicKey:"公開鍵",randomness:"ランダム性",request:"リクエスト",saveClientSeed:"クライアントシードを保存",verifyOutcome:"結果を確認する"},gameInfo:{dice:{how1:"ロールアンダーまたはロールオーバーを選択します。",how2:"目標数値を設定します。",how3:"賭け金額を設定して賭けをします。",how4:"ランダムな結果を 1 つ生成します (ゲーム内では 0 ~ 99.99 のスケールで表示されます)。",how5:"結果が選択した範囲内であれば勝ちとなります。",how6:"支払額は賭け金×表示されている乗数で、スライダーを動かすと更新されます。",overview:"目標値を設定し、その数値を下回るか上回るかを選択します。スライダーを動かすと、勝率と倍率が変わります。勝率が高いほど倍率は下がり、低いほど倍率は上がります。各ラウンドは、ゲームのスケール上で独立した1回のロールとなります。",provablyFair:"当社の検証可能な乱数生成システムにより、すべてのサイコロの出目が生成されます。各ラウンド終了後、入力と証明を確認し、公開鍵で結果を検証し、同じ結果を再現することができます。",strategyTip:"ボラティリティを選びましょう。勝率が低いほどマルチプライヤーは大きくなりますが、当たりが出る確率は低くなります。勝率が高いほどマルチプライヤーは小さくなりますが、当たりが出る頻度は高くなります。安定した変動を得るには、資金に合わせて賭け金を調整しましょう。"},keno:{how1:"1~40 のボードから 1~10 のタイルを 1 つ選びます。",how2:"賭け金額を設定して賭けをします。",how3:"当選番号を 10 個抽選します。当選番号がハイライト表示されます。",how4:"支払額は、選択したタイルの数とヒット数によって異なります。支払表を確認してください。",how5:"選択した数字より多くを当てることはできません。最大選択数は 10 です。",overview:"ラッキーナンバーを選んで、抽選結果と照らし合わせてみましょう。1~40の数字の中から1~10個を選んで、その中から10個の数字を抽選します。当選番号が多いほど、配当金も高くなります。",provablyFair:"検証可能なランダム性システムにより、すべてのキノの抽選が生成されます。各ラウンド終了後、入力と証明を確認し、公開鍵で結果を検証し、同じ結果を再現することができます。",strategyTip:"ボラティリティはお好みで。スポットを少なくすると、当たりは少なくなりますが、マルチプライヤーは大きくなります。スポットを多くすると、当たりの頻度は高くなりますが、1ヒットあたりの平均リターンは少なくなります。中程度のボラティリティは、当たり率と配当のバランスが取れています。リスク許容度と資金に合わせてベットサイズを調整しましょう。"},limbo:{how1:"目標乗数を設定します。",how2:"賭け金額を設定して賭けをします。",how3:"ランダムな結果乗数を 1 つ生成します。",how4:"結果が目標値以上であれば勝利となります。",how5:"支払額は賭け金×目標乗数です。それ以外の場合は賭け金を失います。",overview:"Limboでは、希望する配当額を設定すると、ゲームがランダムに1つの結果乗数を決定します。結果が目標額以上であれば勝ち、目標額より低ければ負けです。確率が高いほど乗数は下がり、低いほど乗数は上がります。",provablyFair:"検証可能なランダム性システムによって、Limbo のすべての結果が生成されます。各ラウンド終了後、入力と証明を確認し、公開鍵で結果を検証し、同じ結果を再現することができます。",strategyTip:"低いターゲットは勝率が高いものの配当は少なく、高いターゲットは当たりにくいものの配当ははるかに高くなります。セッションごとに固定ターゲットを設定するか、時折ロングシュートを混ぜることを検討し、ベット額を一定に保つことで変動を管理しましょう。"},mines:{how1:"このラウンドの地雷の数を選択します。",how2:"賭け金額を設定して賭けをします。",how3:"タイルをクリックすると表示されます。安全なタイルは乗数を増やし、地雷はラウンドを終了します。",how4:"いつでもキャッシュアウトして、現在の乗数を固定することができます。",how5:"キャッシュアウト時に支払われる金額は、賭け金×現在の乗数です。",how6:"キャッシュアウトするか地雷が公開されるとラウンドは終了します。",overview:"鉱山は、安全なタイルを選び、いつキャッシュアウトするかを決めるゲームです。ラウンド開始前に、ボード上に隠す地雷の数を選択します。地雷を1つ隠すごとに、マルチプライヤーが増加します。地雷に当たると、ラウンドは配当なしで終了します。",provablyFair:"当社の検証可能なランダム性システムは、各ボードの地雷配置を生成します。各ラウンド終了後、入力と証明を確認し、公開鍵で結果を検証し、同じ結果を再現することができます。",strategyTip:"ボラティリティはお好みで。地雷が少ないほど、より安全な展開となり、ステップごとの乗数も小さくなります。地雷が多いほど、よりリスクの高い展開となり、乗数も大きくなります。目標を設定するか、ストップロスを設定して変動を管理しましょう。一貫したベットサイズと規律あるキャッシュアウトは、変動を抑制します。"},strategyTitle:"戦略",tutorial:"チュートリアル"},games:{dice:{rollOver:"転がる",rollUnder:"ロールアンダー"},keno:{autoPick:"自動選択",clearTable:"クリア",kenoGameGrid:"キノゲームグリッド",kenoNumber:"キノ番号",selectAtLeastOneTile:"少なくとも1つのタイルを選択してください",selectTileToAutobet:"少なくとも1つのタイルを選択してください"},limbo:{multiplierError:"{min}から{max}の間でなければなりません",targetMultiplier:"乗数",winChanceError:"{min}~{max}の範囲でなければなりません"},mines:{cashout:"キャッシュアウト",gem:"宝石",gems:"宝石",mine:"私の",mines:"鉱山",nextGem:"次の宝石",selectRandomTile:"ランダムタイルを選択",selectTileToAutobet:"自動ベットするには少なくとも1つのタイルを選択してください",tile:"タイル",unrevealed:"未公開"}},hotkeys:{doubleBet:"ダブルベット額",halveBet:"賭け金を半分にする",higherTarget:"より高い目標",info:"ホットキーを有効にすると、無効にするまでそのゲームで有効のままになります。一部のゲームでは同様のキーバインドが設定されている場合もありますが、ゲームごとにホットキーを確認することをお勧めします。",lowerTarget:"下限目標",makeBet:"ベットする",toggleWinCondition:"勝利条件を切り替える",zeroBet:"ゼロベット額"},modals:{betResult:"賭けの結果",fairnessAndHistory:"公平性と歴史",gameArea:"ゲームエリア",gameControls:"ゲームコントロール",gameInfo:"ゲーム情報"}}});var ko=Ia((hu,js)=>{js.exports={accessibility:{sliderValue:"{value}개 중 {max}개"},alerts:{autobetStarted:"자동 베팅 모드 시작",autobetStopped:"자동 베팅 모드가 중지되었습니다",betAmountAboveMaxBet:"최대 배팅 금액은 {value}입니다",betAmountBelowMinBet:"최소 배팅 금액은 {value}입니다",betLimitReached:"배팅 한도에 도달했습니다",errorProcessingBet:"베팅을 처리하는 중에 오류가 발생했습니다. 다시 시도해 주세요.",failedToLoadBetData:"베팅 데이터를 불러오는 데 실패했습니다.",gameError:"베팅을 처리하는 중에 오류가 발생했습니다. 다시 시도해 주세요.",insufficientBalance:"잔액이 부족합니다",notEnoughBalance:"잔액이 부족합니다"},autobet:{games:"계략",games10:"10개의 게임",games100:"100개의 게임",games25:"25개의 게임",games5:"5개의 게임",games50:"50개의 게임",increase:"증가하다",infinite:"무한",onLoss:"손실에 대하여",onWin:"승리에 대하여",reset:"다시 놓기",startAutobet:"자동 베팅 시작",stopAutobet:"자동 베팅 중지",stopOnLoss:"손실 중지",stopOnProfit:"이익에 대한 중단"},common:{auto:"자동",back:"뒤쪽에",balance:"균형",bet:"배팅 금액",betAmount:"배팅 금액",cancel:"취소",cashOut:"현금 인출",classic:"권위 있는",confirm:"확인하다",copied:"복사됨",disableHotkeys:"단축키 비활성화",disableMaxBet:"최대 베팅 비활성화",deposit:"예금",enableHotkeys:"단축키 활성화",enableMaxBet:"최대 베팅 활성화",footerNavigation:"푸터 탐색",gameInfo:"게임 정보",high:"높은",history:"역사",hotkeys:"단축키",id:"ID",instantBet:"즉시 베팅",loading:"로딩중...",loadMore:"더 보기",lobby:"로비로 돌아가기",low:"낮은",manual:"수동",max:"맥스",medium:"중간",multiplier:"승수",payout:"지불금",placeBet:"배팅하기",profit:"이익",profitOnWin:"승리에 따른 이익",provablyFair:"공정성이 입증됨",risk:"위험",siteInformation:"사이트 정보",space:"공간",targetMultiplier:"승수",thisFieldIsRequired:"이 필드는 필수입니다",timestamp:"시간",toggleHotkeys:"단축키 전환",viewFairnessInformation:"공정성 정보 보기",viewHistory:"기록 보기",volume:"용량",winChance:"승리 확률"},errors:{dice:{multiplierRange:"{min}와 {max} 사이여야 합니다.",winChanceRange:"{min}~{max} 사이여야 합니다."}},fairness:{activeClientSeed:"활성 클라이언트 시드",enterClientSeed:"클라이언트 시드 입력",enterProof:"증거를 입력하세요",enterPublicKey:"공개 키 입력",enterRandomness:"무작위성을 입력하세요",enterRequest:"요청 입력",info:{p1:"각 라운드의 결과는 숨겨진 서버 로직이 아닌 검증 가능한 무작위성에서 비롯됩니다. 저희는 각 라운드에 고유한 값(gameId, tenantId, tenantUserId, 증가하는 논스(완료된 라운드당 하나씩), 그리고 clientSeed)을 기반으로 결정론적 시드를 구축합니다. 이를 통해 각 라운드의 고유성과 재현성을 보장합니다. 즉, 동일한 입력 → 동일한 무작위 스트림 → 동일한 결과입니다.",p2:"해당 시드는 IETF 사양 draft-irtf-cfrg-vrf-15에 따라 타원 곡선 검증 가능 난수 함수(ECVRF)를 통해 실행됩니다. 저희 서버는 개인 키를 사용하여 난수 값과 암호화 증명(proofString)을 생성합니다. 공개 키를 가진 사람은 누구나 주어진 입력에 대한 증명을 독립적으로 검증할 수 있습니다. 즉, 난수가 시드에서 비롯되었으며 변조되지 않았음을 확인할 수 있습니다. SDK는 TypeScript이며, 핵심 암호화는 성능과 안전성을 위해 NAPI-RS를 통해 fastcrypto Rust 라이브러리를 사용합니다.",p3:"검증이 완료되면 VRF 출력은 결정론적 난수 바이트 생성기(hashSequence)에 시드를 생성합니다. 게임은 결정론적이고 편향되지 않은 논리를 사용하여 해당 바이트를 결과로 변환합니다. 이 프로세스는 결정론적이고 논스가 완료된 라운드마다 증가하기 때문에, 매번 재생 가능한 감사(동일한 라운드를 정확하게 재생성)와 새롭고 반복되지 않는 난수성을 모두 얻을 수 있습니다.",p4:"한 라운드가 끝나면 입력(클라이언트 시드와 라운드의 논스 포함), VRF 출력, proofString, 그리고 공개 키를 얻게 됩니다. ECVRF 검증 도구나 저희 라이브러리를 사용하여 (1) 입력과 공개 키에 대한 증명을 검증하고, (2) 동일한 해시 시퀀스와 결과를 다시 생성합니다. 저희의 개인 키는 보안 서버를 절대 벗어나지 않으므로, 공개 키는 클라이언트 측에서 독립적인 검증을 위해 안전하게 사용할 수 있습니다.",step1Desc:"gameId, tenantId, tenantUserId, 라운드별 nonce, 그리고 clientSeed를 결합합니다. 동일한 입력은 항상 동일한 랜덤 스트림과 결과를 생성합니다.",step1Title:"결정론적 시드",step2Title:"무작위성 생성",step3Desc:"누구든지 우리의 공개 키를 사용하여 주어진 입력에 대한 증명 문자열을 검증할 수 있습니다. 이를 통해 난수성이 시드 값과 일치하며 변조되지 않았음을 확인할 수 있습니다.",step3Title:"증명을 확인하세요",step4Title:"결과 도출",step5Title:"생식"},invalidGame:"잘못된 게임 유형이 제공되었습니다.",learnMore:"자세히 알아보기",newClientSeed:"신규 고객 시드",noBettingHistory:"베팅 내역 없음",outcomeCalculationInfo:"각 게임의 결과는 난수 값을 입력으로 사용하여 계산됩니다.",outcomeNotVerified:"이 게임의 결과는 확인할 수 없습니다.",outcomeVerified:"이 게임의 결과는 검증되었으며 공정성이 입증되었습니다.",proof:"증거",publicKey:"공개 키",randomness:"무작위성",request:"요구",saveClientSeed:"클라이언트 시드 저장",verifyOutcome:"결과 확인"},gameInfo:{dice:{how1:"롤 언더나 롤 오버를 선택하세요.",how2:"목표 수치를 설정하세요.",how3:"배팅 금액을 설정하고 배팅하세요.",how4:"우리는 하나의 무작위 결과를 생성합니다(게임 내에서 0~99.99 척도로 표시됨).",how5:"선택한 범위 내에 결과가 나오면 승리합니다.",how6:"지불금은 슬라이더를 움직일 때마다 업데이트되는 표시된 승수에 베팅 금액을 곱한 값입니다.",overview:"목표 숫자를 설정하고 주사위를 굴려 목표 숫자보다 낮게 나올지, 아니면 그보다 높게 나올지 선택하세요. 슬라이더를 움직이면 승률과 승률이 변경됩니다. 승률이 높을수록 승률은 낮아지고, 낮을수록 승률은 높아집니다. 각 라운드는 게임 규모에 따라 하나의 독립적인 주사위를 굴리는 것입니다.",provablyFair:"검증 가능한 무작위성 시스템은 모든 주사위 굴림을 생성합니다. 매 라운드마다 입력값과 증명을 확인하고, 공개 키로 결과를 검증하고, 동일한 결과를 재현할 수 있습니다.",strategyTip:"변동성을 선택하세요. 승률이 낮으면 승률은 높아지지만 당첨 확률은 낮아집니다. 승률이 높으면 승률은 낮아지지만 당첨 확률은 높아집니다. 안정적인 변동을 위해 자금 규모에 맞춰 베팅 규모를 조정하세요."},keno:{how1:"1~40 보드에서 1~10 타일을 고르세요.",how2:"배팅 금액을 설정하고 배팅하세요.",how3:"당첨 번호 10개를 추첨합니다. 귀하와 일치하는 번호는 강조 표시됩니다.",how4:"지불금은 선택한 타일의 수와 적중 횟수에 따라 달라집니다. 지불표를 확인하세요.",how5:"선택한 숫자보다 많은 숫자를 맞출 수는 없으며, 최대 선택 수는 10개입니다.",overview:"행운의 숫자를 고르고 추첨에 참여해 보세요. 1~40개 숫자 중 1~10개를 선택하시면 10개의 숫자를 추첨합니다. 선택하신 숫자가 많을수록 당첨금이 높아집니다.",provablyFair:"검증 가능한 무작위성 시스템이 모든 케노 추첨을 생성합니다. 매 라운드가 끝날 때마다 입력값과 증명을 확인하고, 공개 키로 결과를 검증하고, 동일한 결과를 재현할 수 있습니다.",strategyTip:"변동성을 선택하세요. 스팟을 적게 선택하면 당첨 확률은 낮아지지만 승률은 훨씬 높아집니다. 스팟이 많을수록 당첨 빈도는 높아지지만, 당첨당 평균 수익률은 낮아집니다. 중간 범위는 당첨률과 배당률의 균형을 이룹니다. 위험 선호도와 자금에 맞게 베팅 규모를 조정하세요."},limbo:{how1:"목표 배수를 설정하세요.",how2:"배팅 금액을 설정하고 배팅하세요.",how3:"우리는 하나의 무작위 결과 승수를 생성합니다.",how4:"결과가 목표보다 크거나 같으면 승리합니다.",how5:"지불 금액은 베팅 금액 x 목표 배수입니다. 그렇지 않으면 베팅 금액을 잃게 됩니다.",overview:"림보에서는 원하는 배당금을 설정하면 무작위로 하나의 결과 배수가 추첨됩니다. 결과가 목표 금액 이상이면 승리하고, 목표 금액보다 낮으면 패배합니다. 배당률이 높을수록 배수는 낮아지고, 배당률이 낮을수록 배수는 높아집니다.",provablyFair:"검증 가능한 무작위성 시스템은 모든 림보 결과를 생성합니다. 매 라운드마다 입력값과 증명을 확인하고, 공개 키로 결과를 검증하고, 동일한 결과를 재현할 수 있습니다.",strategyTip:"낮은 목표 금액은 더 자주 당첨되지만 배당률은 낮고, 높은 목표 금액은 당첨 확률이 낮지만 배당률은 훨씬 높습니다. 세션당 고정된 목표 금액을 설정하거나 가끔씩 롱샷을 섞어 베팅하고, 변동성을 관리하기 위해 베팅 규모를 일관되게 조정하세요."},mines:{how1:"이번 라운드에 사용할 지뢰의 개수를 선택하세요.",how2:"배팅 금액을 설정하고 배팅하세요.",how3:"타일을 클릭하면 타일이 드러납니다. 안전한 타일은 배수를 증가시키고, 광산은 라운드를 끝냅니다.",how4:"언제든지 현금화하여 현재 배수를 고정할 수 있습니다.",how5:"현금화할 때 지불되는 금액은 베팅 금액에 현재 승수를 곱한 금액입니다.",how6:"라운드는 현금을 인출하거나 광산이 발견되면 종료됩니다.",overview:"지뢰 찾기는 안전한 타일을 선택하고 언제 현금화할지 결정하는 게임입니다. 라운드가 시작되기 전에 보드에 숨길 지뢰의 개수를 정하세요. 안전한 타일을 하나 공개할 때마다 배수가 증가합니다. 지뢰를 발견하면 라운드는 보상 없이 종료됩니다.",provablyFair:"검증 가능한 무작위성 시스템은 각 보드의 숨겨진 광산 레이아웃을 생성합니다. 매 라운드가 끝날 때마다 입력값과 증명을 확인하고, 공개 키로 결과를 검증하고, 동일한 결과를 재현할 수 있습니다.",strategyTip:"변동성을 선택하세요. 마인(Mining)이 적을수록 더 안전한 시장 공개와 단계당 승수(multiplier)가 줄어듭니다. 마인(Mining)이 많을수록 더 큰 승수와 함께 더 위험한 시장 공개로 이어집니다. 목표가를 설정하거나 손절매를 사용하여 변동성을 관리하세요. 일관된 베팅 규모와 규칙적인 현금 인출은 변동성을 관리하는 데 도움이 됩니다."},strategyTitle:"전략",tutorial:"지도 시간"},games:{dice:{rollOver:"롤오버",rollUnder:"롤 언더"},keno:{autoPick:"자동 선택",clearTable:"분명한",kenoGameGrid:"케노 게임 그리드",kenoNumber:"케노 번호",selectAtLeastOneTile:"최소한 하나의 타일을 선택해주세요",selectTileToAutobet:"최소한 하나의 타일을 선택해주세요"},limbo:{multiplierError:"{min}와 {max} 사이여야 합니다",targetMultiplier:"승수",winChanceError:"{min}~{max} 사이여야 합니다."},mines:{cashout:"현금 인출",gem:"보석",gems:"보석",mine:"내 거",mines:"광산",nextGem:"다음 보석",selectRandomTile:"무작위 타일 선택",selectTileToAutobet:"자동 베팅을 위해 최소 하나의 타일을 선택하세요",tile:"타일",unrevealed:"공개되지 않은"}},hotkeys:{doubleBet:"더블 베팅 금액",halveBet:"배팅 금액 절반",higherTarget:"더 높은 목표",info:"단축키를 활성화하면 비활성화할 때까지 해당 게임에서 계속 활성화됩니다. 일부 게임의 단축키 설정이 비슷하더라도, 각 게임의 단축키를 확인하는 것이 좋습니다.",lowerTarget:"낮은 목표",makeBet:"배팅하기",toggleWinCondition:"승리 조건 전환",zeroBet:"0 배팅 금액"},modals:{betResult:"배팅 결과",fairnessAndHistory:"공정성과 역사",gameArea:"게임 구역",gameControls:"게임 컨트롤",gameInfo:"게임 정보"}}});var go=Ia((pu,Hs)=>{Hs.exports={accessibility:{sliderValue:"{value} z {max}"},alerts:{autobetStarted:"Uruchomiono tryb autozakładu",autobetStopped:"Zatrzymano tryb autozakładu",betAmountAboveMaxBet:"Maksymalny zakład to {value}",betAmountBelowMinBet:"Minimalny zakład to {value}",betLimitReached:"Osiągnięto limit zakładów",errorProcessingBet:"Wystąpił błąd podczas przetwarzania Twojego zakładu. Spróbuj ponownie.",failedToLoadBetData:"Nie udało się załadować danych zakładu",gameError:"Wystąpił błąd podczas przetwarzania Twojego zakładu. Spróbuj ponownie.",insufficientBalance:"Niewystarczające saldo",notEnoughBalance:"Za mało równowagi"},autobet:{games:"Zawody sportowe",games10:"10 gier",games100:"100 gier",games25:"25 gier",games5:"5 gier",games50:"50 gier",increase:"Zwiększyć",infinite:"Nieskończony",onLoss:"O stracie",onWin:"W zwycięstwie",reset:"Nastawić",startAutobet:"Uruchom autozakład",stopAutobet:"Zatrzymaj autozakład",stopOnLoss:"Zatrzymaj stratę",stopOnProfit:"Zatrzymaj zysk"},common:{auto:"Automatyczny",back:"Z powrotem",balance:"Balansować",bet:"Kwota zakładu",betAmount:"Kwota zakładu",cancel:"Anulować",cashOut:"Wypłata gotówki",classic:"Klasyczny",confirm:"Potwierdzać",copied:"Skopiowano",disableHotkeys:"Wyłącz klawisze skrótu",disableMaxBet:"Wyłącz maksymalny zakład",deposit:"Depozyt",enableHotkeys:"Włącz klawisze skrótu",enableMaxBet:"Włącz maksymalny zakład",footerNavigation:"Nawigacja stopki",gameInfo:"Informacje o grze",high:"Wysoki",history:"Historia",hotkeys:"Klawisze skrótu",id:"ID",instantBet:"Zakład natychmiastowy",loading:"Załadunek...",loadMore:"Załaduj więcej",lobby:"Powrót do lobby",low:"Niski",manual:"Podręcznik",max:"MAX",medium:"Średni",multiplier:"Mnożnik",payout:"Wypłata",placeBet:"Postaw zakład",profit:"Zysk",profitOnWin:"Zysk z wygranej",provablyFair:"Udowodniona uczciwość",risk:"Ryzyko",siteInformation:"Informacje o witrynie",space:"PRZESTRZEŃ",targetMultiplier:"Mnożnik",thisFieldIsRequired:"To pole jest wymagane",timestamp:"Czas",toggleHotkeys:"Przełącz klawisze skrótu",viewFairnessInformation:"Wyświetl informacje o uczciwości",viewHistory:"Wyświetl historię",volume:"Tom",winChance:"Szansa na wygraną"},errors:{dice:{multiplierRange:"Musi mieścić się w przedziale od {min} do {max}",winChanceRange:"Musi mieścić się w przedziale od {min} do {max}"}},fairness:{activeClientSeed:"Aktywny klient nasion",enterClientSeed:"Wprowadź ziarno klienta",enterProof:"Wprowadź dowód",enterPublicKey:"Wprowadź klucz publiczny",enterRandomness:"Wprowadź losowość",enterRequest:"Wprowadź żądanie",info:{p1:"Wynik każdej rundy wynika z weryfikowalnej losowości, a nie z ukrytej logiki serwera. Budujemy deterministyczny seed z wartości unikalnych dla danej rundy – gameId, tenantId, tenantUserId, rosnącego nonce'a (jednego na każdą ukończoną rundę) oraz Twojego clientSeed. Gwarantuje to unikalność i powtarzalność każdej rundy: te same dane wejściowe → ten sam strumień losowy → ten sam wynik.",p2:"To ziarno jest przepuszczane przez funkcję losową z weryfikowalną krzywą eliptyczną (ECVRF) zgodnie ze specyfikacją IETF draft-irtf-cfrg-vrf-15. Nasz serwer używa swojego klucza prywatnego do wygenerowania losowej wartości i dowodu kryptograficznego (proofString). Każdy, kto posiada nasz klucz publiczny, może samodzielnie zweryfikować ten dowód dla podanych danych wejściowych – potwierdzając, że losowość pochodzi z ziarna i nie została zmodyfikowana. SDK to TypeScript, a rdzeń kryptografii wykorzystuje bibliotekę Rust fastcrypto za pośrednictwem NAPI-RS dla zapewnienia wydajności i bezpieczeństwa.",p3:"Po weryfikacji, wyjście VRF generuje deterministyczny generator bajtów losowych (hashSequence). Gry przekształcają te bajty w wyniki za pomocą deterministycznej, bezstronnej logiki. Ponieważ proces jest deterministyczny, a wartość nonce zmienia się w każdej ukończonej rundzie, otrzymujesz zarówno powtarzalne audyty (dokładnie tę samą rundę), jak i świeżą, niepowtarzalną losowość za każdym razem.",p4:"Po rundzie masz dane wejściowe (w tym clientSeed i nonce rundy), dane wyjściowe VRF, proofString i nasz klucz publiczny. Użyj dowolnego weryfikatora ECVRF lub naszych bibliotek, aby: (1) zweryfikować dowód względem danych wejściowych i klucza publicznego oraz (2) wygenerować ponownie tę samą sekwencję hashSequence i wynik. Nasz klucz prywatny nigdy nie opuszcza bezpiecznych serwerów; klucz publiczny jest bezpieczny do użycia po stronie klienta w celu niezależnych kontroli.",step1Desc:"Łączymy gameId, tenantId, tenantUserId, nonce na rundę i Twój clientSeed. Te same dane wejściowe zawsze generują ten sam strumień losowy i wynik.",step1Title:"Deterministyczne ziarno",step2Title:"Generuj losowość",step3Desc:"Każdy może zweryfikować proofString dla podanych danych wejściowych za pomocą naszego klucza publicznego. To potwierdza, że losowość jest zgodna z wartością referencyjną i nie została zmodyfikowana.",step3Title:"Zweryfikuj dowód",step4Title:"Wyprowadź wyniki",step5Title:"Reprodukcja"},invalidGame:"Podano nieprawidłowy typ gry.",learnMore:"Dowiedz się więcej",newClientSeed:"Nowe ziarno klienta",noBettingHistory:"Brak historii zakładów",outcomeCalculationInfo:"Wynik każdej gry obliczany jest na podstawie losowej wartości.",outcomeNotVerified:"Wyniku tej gry nie można zweryfikować",outcomeVerified:"Wynik tej gry został zweryfikowany i można go uznać za uczciwy",proof:"Dowód",publicKey:"Klucz publiczny",randomness:"Losowość",request:"Wniosek",saveClientSeed:"Zapisz ziarno klienta",verifyOutcome:"Sprawdź wynik"},gameInfo:{dice:{how1:"Wybierz opcję „zwiń pod” lub „zwiń nad”.",how2:"Ustaw liczbę docelową.",how3:"Ustaw stawkę zakładu i postaw zakład.",how4:"Generujemy jeden losowy wynik (wyświetlany w grze w skali 0–99,99).",how5:"Wygrywasz, jeśli wynik będzie mieścił się w wybranym przez Ciebie zakresie.",how6:"Twoja wygrana to zakład pomnożony przez pokazany mnożnik, który aktualizuje się podczas przesuwania suwaka.",overview:"Ustaw liczbę docelową i wybierz, czy rzut wyląduje pod nią, czy nad nią. Przesuwanie suwaka zmienia szansę na wygraną i mnożnik – wyższa szansa obniża mnożnik, niższa – go zwiększa. Każda runda to jeden niezależny rzut w skali gry.",provablyFair:"Nasz weryfikowalny system losowości generuje każdy rzut kostką. Po każdej rundzie możesz przejrzeć dane wejściowe i dowód, zweryfikować wynik za pomocą naszego klucza publicznego i odtworzyć ten sam wynik.",strategyTip:"Wybierz swoją zmienność. Niższa szansa na wygraną daje większe mnożniki, ale rzadsze trafienia. Wyższa szansa na wygraną daje mniejsze mnożniki, ale częstsze wygrane. Dopasuj wysokość zakładów do swojego budżetu, aby zapewnić sobie stabilniejsze wahania."},keno:{how1:"Wybierz 1–10 kafelków na planszy 1–40.",how2:"Ustaw stawkę zakładu i postaw zakład.",how3:"Losujemy 10 zwycięskich liczb, a Twoje trafienia zostaną podświetlone.",how4:"Wypłaty zależą od liczby wybranych kafelków i liczby trafień — sprawdź tabelę wypłat.",how5:"Nigdy nie możesz trafić więcej liczb niż wybrałeś. Maksymalny wybór wynosi 10.",overview:"Wybierz swoje szczęśliwe liczby i spróbuj trafić w losowaniu. Możesz wybrać od 1 do 10 liczb z zakresu od 1 do 40, a my wylosujemy 10 liczb. Im więcej Twoich typów trafi, tym wyższa wygrana.",provablyFair:"Nasz weryfikowalny system losowości generuje każde losowanie Keno. Po każdej rundzie możesz przejrzeć wprowadzone dane i dowody, zweryfikować wynik za pomocą naszego klucza publicznego i odtworzyć ten sam wynik.",strategyTip:"Wybierz swoją zmienność. Wybór mniejszej liczby spotów oznacza rzadsze wygrane, ale znacznie wyższe mnożniki. Więcej spotów oznacza częstsze trafienia, ale niższe średnie zwroty z każdego trafienia. Średni zakres równoważy częstotliwość trafień i wypłatę. Dostosuj wysokość zakładu do swoich preferencji ryzyka i budżetu."},limbo:{how1:"Ustaw mnożnik docelowy.",how2:"Ustaw stawkę zakładu i postaw zakład.",how3:"Generujemy jeden losowy mnożnik wyniku.",how4:"Wygrywasz, jeśli wynik jest większy lub równy twojemu celowi.",how5:"Twoja wypłata to zakład pomnożony przez Twój docelowy mnożnik; w przeciwnym wypadku przegrywasz zakład.",overview:"W Limbo ustawiasz swoją pożądaną wygraną, a gra losuje jeden mnożnik. Jeśli wynik jest co najmniej równy Twojemu celowi, wygrywasz. Jeśli jest niższy, przegrywasz. Wyższa szansa obniża mnożnik; niższa szansa go zwiększa.",provablyFair:"Nasz weryfikowalny system losowości generuje każdy wynik Limbo. Po każdej rundzie możesz przejrzeć dane wejściowe i dowód, zweryfikować wynik za pomocą naszego klucza publicznego i odtworzyć ten sam wynik.",strategyTip:"Niższe cele wygrywają częściej, ale przynoszą mniejsze zyski, podczas gdy wyższe cele trafiają rzadko, ale przynoszą znacznie większe zyski. Rozważ stały cel na sesję lub dodawaj sporadyczne strzały z dystansu i konsekwentnie ustalaj wysokość zakładów, aby kontrolować wariancję."},mines:{how1:"Wybierz liczbę min na tę rundę.",how2:"Ustaw stawkę zakładu i postaw zakład.",how3:"Klikaj kafelki, aby je odsłonić: bezpieczny kafelek zwiększa mnożnik, mina kończy rundę.",how4:"Możesz wypłacić środki w dowolnym momencie, aby zablokować swój obecny mnożnik.",how5:"Twoja wypłata to zakład pomnożony przez aktualny mnożnik w momencie wypłaty.",how6:"Runda kończy się w momencie wypłaty środków lub odkrycia kopalni.",overview:"W Mines chodzi o wybieranie bezpiecznych pól i decydowanie, kiedy wypłacić wygraną. Przed rozpoczęciem rundy wybierz, ile min będzie ukrytych na planszy. Każdy odkryty bezpieczny pole zwiększa Twój mnożnik. Trafienie na minę kończy rundę bez wypłaty.",provablyFair:"Nasz weryfikowalny system losowości generuje układ ukrytych min na każdej planszy. Po każdej rundzie możesz przejrzeć dane wejściowe i dowód, zweryfikować wynik za pomocą naszego klucza publicznego i odtworzyć ten sam wynik.",strategyTip:"Wybierz swoją zmienność. Mniej kopalń oznacza bezpieczniejsze odkrycia i niższe mnożniki na krok. Więcej kopalń prowadzi do bardziej ryzykownych odkryć z wyższymi mnożnikami. Ustaw cel lub użyj stop-loss, aby zarządzać wahaniami. Konsekwentne ustalanie wielkości zakładów i zdyscyplinowane wypłaty pomagają kontrolować wariancję."},strategyTitle:"Strategia",tutorial:"Seminarium"},games:{dice:{rollOver:"Przetoczyć się",rollUnder:"Przetoczyć się pod"},keno:{autoPick:"Automatyczne wybieranie",clearTable:"Jasne",kenoGameGrid:"Siatka gry Keno",kenoNumber:"Numer keno",selectAtLeastOneTile:"Proszę wybrać co najmniej jeden kafelek",selectTileToAutobet:"Proszę wybrać co najmniej jeden kafelek"},limbo:{multiplierError:"Musi mieścić się w przedziale od {min} do {max}",targetMultiplier:"Mnożnik",winChanceError:"Musi mieścić się w przedziale od {min} do {max}"},mines:{cashout:"Wypłata gotówki",gem:"Klejnot",gems:"Klejnoty",mine:"Kopalnia",mines:"Kopalnie",nextGem:"Następny klejnot",selectRandomTile:"Wybierz losowy kafelek",selectTileToAutobet:"Proszę wybrać co najmniej jeden kafelek do automatycznego obstawiania",tile:"Płytka",unrevealed:"Nieujawnione"}},hotkeys:{doubleBet:"Podwójna kwota zakładu",halveBet:"Połowa kwoty zakładu",higherTarget:"Wyższy cel",info:"Po włączeniu skrótów klawiszowych będą one aktywne w tej grze, dopóki nie zostaną wyłączone. Pomimo że niektóre gry mają podobne przypisania klawiszy, zawsze zaleca się potwierdzenie skrótów klawiszowych dla każdej gry.",lowerTarget:"Dolny cel",makeBet:"Postaw zakład",toggleWinCondition:"Przełącz warunek wygranej",zeroBet:"Kwota zakładu zerowa"},modals:{betResult:"Wynik zakładu",fairnessAndHistory:"Sprawiedliwość i historia",gameArea:"Obszar gry",gameControls:"Sterowanie grą",gameInfo:"Informacje o grze"}}});var fo=Ia((mu,qs)=>{qs.exports={accessibility:{sliderValue:"{value} fora de {max}"},alerts:{autobetStarted:"Modo de aposta automática iniciado",autobetStopped:"Modo de aposta automática interrompido",betAmountAboveMaxBet:"A aposta máxima é {value}",betAmountBelowMinBet:"A aposta mínima é {value}",betLimitReached:"Limite de aposta atingido",errorProcessingBet:"Ocorreu um erro ao processar sua aposta. Tente novamente.",failedToLoadBetData:"Falha ao carregar dados de aposta",gameError:"Ocorreu um erro ao processar sua aposta. Tente novamente.",insufficientBalance:"Saldo insuficiente",notEnoughBalance:"Não há equilíbrio suficiente"},autobet:{games:"Jogos",games10:"10 jogos",games100:"100 jogos",games25:"25 jogos",games5:"5 jogos",games50:"50 jogos",increase:"Aumentar",infinite:"Infinito",onLoss:"Em Perda",onWin:"Na vitória",reset:"Reiniciar",startAutobet:"Iniciar aposta automática",stopAutobet:"Pare a aposta automática",stopOnLoss:"Parar na perda",stopOnProfit:"Pare no lucro"},common:{auto:"Auto",back:"Voltar",balance:"Equilíbrio",bet:"Valor da aposta",betAmount:"Valor da aposta",cancel:"Cancelar",cashOut:"Saque",classic:"Clássico",confirm:"Confirmar",copied:"Copiado",disableHotkeys:"Desativar teclas de atalho",disableMaxBet:"Desativar aposta máxima",deposit:"Depósito",enableHotkeys:"Habilitar teclas de atalho",enableMaxBet:"Habilitar aposta máxima",footerNavigation:"Navegação de rodapé",gameInfo:"Informações do jogo",high:"Alto",history:"História",hotkeys:"Teclas de atalho",id:"EU IA",instantBet:"Aposta instantânea",loading:"Carregando...",loadMore:"Carregar mais",lobby:"Voltar ao Lobby",low:"Baixo",manual:"Manual",max:"MÁXIMO",medium:"Médio",multiplier:"Multiplicador",payout:"Pagamento",placeBet:"Fazer aposta",profit:"Lucro",profitOnWin:"Lucro na vitória",provablyFair:"Provavelmente justo",risk:"Risco",siteInformation:"Informações do site",space:"ESPAÇO",targetMultiplier:"Multiplicador",thisFieldIsRequired:"Este campo é obrigatório",timestamp:"Tempo",toggleHotkeys:"Alternar teclas de atalho",viewFairnessInformation:"Ver informações sobre justiça",viewHistory:"Ver histórico",volume:"Volume",winChance:"Chance de ganhar"},errors:{dice:{multiplierRange:"Deve estar entre {min} e {max}",winChanceRange:"Deve estar entre {min} e {max}"}},fairness:{activeClientSeed:"Semente de cliente ativo",enterClientSeed:"Insira a semente do cliente",enterProof:"Insira a prova",enterPublicKey:"Digite a chave pública",enterRandomness:"Digite Aleatoriedade",enterRequest:"Solicitação de entrada",info:{p1:"O resultado de cada rodada provém de uma aleatoriedade verificável, não de uma lógica oculta do servidor. Construímos uma semente determinística a partir de valores exclusivos da sua rodada — gameId, tenantId, tenantUserId, um nonce incremental (um por rodada concluída) e sua clientSeed. Isso garante que cada rodada seja única e reproduzível: mesmas entradas → mesmo fluxo aleatório → mesmo resultado.",p2:"Essa semente é executada por meio de uma Função Aleatória Verificável de Curva Elíptica (ECVRF), de acordo com o rascunho de especificação da IETF - irtf-cfrg-vrf-15. Nosso servidor usa sua chave privada para produzir um valor aleatório e uma prova criptográfica (proofString). Qualquer pessoa com nossa chave pública pode verificar essa prova de forma independente para as entradas fornecidas, confirmando que a aleatoriedade veio da semente e não foi adulterada. O SDK é TypeScript, enquanto a criptografia principal usa a biblioteca Rust fastcrypto via NAPI-RS para desempenho e segurança.",p3:"Uma vez verificada, a saída VRF gera um gerador de bytes aleatórios determinísticos (hashSequence). Os jogos transformam esses bytes em resultados usando lógica determinística e imparcial. Como o processo é determinístico e o nonce avança a cada rodada concluída, você obtém auditorias repetíveis (recria a mesma rodada exatamente) e aleatoriedade nova e não repetitiva a cada vez.",p4:"Após uma rodada, você terá as entradas (incluindo seu clientSeed e o nonce da rodada), a saída VRF, a proofString e nossa chave pública. Use qualquer verificador ECVRF ou nossas bibliotecas para: (1) verificar a prova em relação às entradas e à chave pública e (2) regenerar a mesma hashSequence e o mesmo resultado. Nossa chave privada nunca sai de servidores seguros; a chave pública é segura para uso no lado do cliente para verificações independentes.",step1Desc:"Combinamos gameId, tenantId, tenantUserId, um nonce por rodada e seu clientSeed. As mesmas entradas sempre produzem o mesmo fluxo e resultado aleatórios.",step1Title:"Semente Determinística",step2Title:"Gerar Aleatoriedade",step3Desc:"Qualquer pessoa pode verificar a proofString para as entradas fornecidas usando nossa chave pública. Isso confirma que a aleatoriedade corresponde à semente e não foi adulterada.",step3Title:"Verificar Prova",step4Title:"Derivar resultados",step5Title:"Reprodução"},invalidGame:"Tipo de jogo fornecido inválido.",learnMore:"Saber mais",newClientSeed:"Nova semente de cliente",noBettingHistory:"Nenhum histórico de apostas",outcomeCalculationInfo:"O resultado de cada jogo é calculado usando um valor aleatório como entrada.",outcomeNotVerified:"O resultado deste jogo não pôde ser verificado",outcomeVerified:"O resultado deste jogo foi verificado e é comprovadamente justo",proof:"Prova",publicKey:"Chave Pública",randomness:"Aleatoriedade",request:"Solicitar",saveClientSeed:"Salvar Semente do Cliente",verifyOutcome:"Verificar resultado"},gameInfo:{dice:{how1:"Escolha rolar para baixo ou rolar para cima.",how2:"Defina seu número alvo.",how3:"Defina o valor da sua aposta e faça sua aposta.",how4:"Nós geramos um resultado aleatório (exibido na escala de 0 a 99,99 no jogo).",how5:"Você ganha se o resultado estiver no intervalo escolhido.",how6:"Seu pagamento é a aposta x o multiplicador mostrado, que é atualizado conforme você move o controle deslizante.",overview:"Defina um número-alvo e escolha se o resultado ficará abaixo ou acima dele. Mover o controle deslizante altera sua chance de vitória e seu multiplicador — uma chance maior diminui o multiplicador, uma chance menor o aumenta. Cada rodada é um resultado independente na escala do jogo.",provablyFair:"Nosso sistema de aleatoriedade verificável gera cada lançamento de dados. Após cada rodada, você pode visualizar as entradas e a prova, verificar o resultado com nossa chave pública e reproduzir o mesmo resultado.",strategyTip:"Escolha sua volatilidade. Uma chance de vitória menor gera multiplicadores maiores, mas acertos mais raros. Uma chance de vitória maior gera multiplicadores menores, mas acertos mais frequentes. Ajuste suas apostas ao seu saldo para obter oscilações mais estáveis."},keno:{how1:"Escolha de 1 a 10 peças no tabuleiro de 1 a 40.",how2:"Defina o valor da sua aposta e faça sua aposta.",how3:"Sorteamos 10 números ganhadores; seus acertos são destacados.",how4:"Os pagamentos dependem de quantas peças você selecionou e de quantos acertos obteve — confira a tabela de pagamentos.",how5:"Você nunca poderá acertar mais números do que os selecionados, e a seleção máxima é 10.",overview:"Escolha seus números da sorte e tente acertar o resultado. Você pode escolher de 1 a 10 números de 1 a 40, e então sortearemos 10 números. Quanto mais números você acertar, maior será o seu pagamento.",provablyFair:"Nosso sistema de aleatoriedade verificável gera cada sorteio do Keno. Após cada rodada, você pode visualizar as entradas e a prova, verificar o resultado com nossa chave pública e reproduzir o mesmo resultado.",strategyTip:"Escolha sua volatilidade. Escolher menos posições significa vitórias mais raras, mas multiplicadores muito maiores. Mais posições proporcionam acertos mais frequentes, mas retornos médios por acerto menores. Uma faixa intermediária equilibra a taxa de acerto e o pagamento. Ajuste o tamanho da sua aposta de acordo com sua preferência de risco e seu saldo."},limbo:{how1:"Defina seu multiplicador de meta.",how2:"Defina o valor da sua aposta e faça sua aposta.",how3:"Geramos um multiplicador de resultado aleatório.",how4:"Você ganha se o resultado for maior ou igual à sua meta.",how5:"Seu pagamento é a aposta x seu multiplicador alvo; caso contrário, você perde sua aposta.",overview:"No Limbo, você define o pagamento desejado e o jogo sorteia um único multiplicador de resultado aleatório. Se o resultado for pelo menos o seu alvo, você ganha. Se for menor, você perde. Uma chance maior diminui o multiplicador; uma chance menor o aumenta.",provablyFair:"Nosso sistema de aleatoriedade verificável gera todos os resultados do Limbo. Após cada rodada, você pode visualizar as entradas e a prova, verificar o resultado com nossa chave pública e reproduzir o mesmo resultado.",strategyTip:"Alvos mais baixos vencem com mais frequência, mas pagam menos, enquanto alvos mais altos acertam raramente, mas pagam muito mais. Considere um alvo fixo por sessão ou misture apostas arriscadas ocasionais e dimensione as apostas de forma consistente para gerenciar a variância."},mines:{how1:"Escolha o número de minas para esta rodada.",how2:"Defina o valor da sua aposta e faça sua aposta.",how3:"Clique nas peças para revelá-las: uma peça segura aumenta seu multiplicador; uma mina encerra a rodada.",how4:"Você pode sacar a qualquer momento para garantir seu multiplicador atual.",how5:"Seu pagamento é a aposta x o multiplicador atual quando você saca.",how6:"A rodada termina quando você sacar o dinheiro ou quando uma mina for revelada.",overview:"Minas consiste em escolher peças seguras e decidir quando sacar. Antes do início da rodada, escolha quantas minas ficarão escondidas no tabuleiro. Cada peça segura que você revelar aumenta seu multiplicador. Acerte uma mina e a rodada termina sem pagamento.",provablyFair:"Nosso sistema de aleatoriedade verificável gera o layout da mina oculta de cada tabuleiro. Após cada rodada, você pode visualizar as entradas e a prova, verificar o resultado com nossa chave pública e reproduzir o mesmo resultado.",strategyTip:"Escolha sua volatilidade. Menos minas significam revelações mais seguras e multiplicadores menores por passo. Mais minas levam a revelações mais arriscadas com multiplicadores maiores. Defina uma meta ou use um stop-loss para gerenciar as oscilações. Tamanhos de apostas consistentes e saques disciplinados ajudam a manter a variância sob controle."},strategyTitle:"Estratégia",tutorial:"Tutorial"},games:{dice:{rollOver:"Rolar sobre",rollUnder:"Rolar para baixo"},keno:{autoPick:"Seleção automática",clearTable:"Claro",kenoGameGrid:"Grade do jogo Keno",kenoNumber:"Número Keno",selectAtLeastOneTile:"Selecione pelo menos um bloco",selectTileToAutobet:"Selecione pelo menos um bloco"},limbo:{multiplierError:"Deve estar entre {min} e {max}",targetMultiplier:"Multiplicador",winChanceError:"Deve estar entre {min} e {max}"},mines:{cashout:"Saque",gem:"Jóia",gems:"Gemas",mine:"Meu",mines:"Minas",nextGem:"Próxima Joia",selectRandomTile:"Selecione uma peça aleatória",selectTileToAutobet:"Selecione pelo menos uma peça para apostar automaticamente",tile:"Telha",unrevealed:"Não revelado"}},hotkeys:{doubleBet:"Valor da aposta dupla",halveBet:"Reduzir pela metade o valor da aposta",higherTarget:"Alvo mais alto",info:"Quando as teclas de atalho estão ativadas, elas permanecerão ativas neste jogo até serem desativadas. Embora alguns jogos compartilhem atalhos de teclado semelhantes, é sempre recomendável confirmar as teclas de atalho para cada jogo.",lowerTarget:"Alvo Inferior",makeBet:"Fazer aposta",toggleWinCondition:"Alternar condição de vitória",zeroBet:"Valor da aposta zero"},modals:{betResult:"Resultado da aposta",fairnessAndHistory:"Justiça e História",gameArea:"Área de jogos",gameControls:"Controles do jogo",gameInfo:"Informações do jogo"}}});var wo=Ia((bu,Fs)=>{Fs.exports={accessibility:{sliderValue:"{value} из {max}"},alerts:{autobetStarted:"Запущен режим автоставки",autobetStopped:"Остановлен режим автоставки",betAmountAboveMaxBet:"Максимальная ставка {value}",betAmountBelowMinBet:"Минимальная ставка {value}",betLimitReached:"Лимит ставок достигнут",errorProcessingBet:"При обработке вашей ставки произошла ошибка. Попробуйте ещё раз.",failedToLoadBetData:"Не удалось загрузить данные о ставках",gameError:"При обработке вашей ставки произошла ошибка. Попробуйте ещё раз.",insufficientBalance:"Недостаточный баланс",notEnoughBalance:"Недостаточный баланс"},autobet:{games:"Игры",games10:"10 игр",games100:"100 игр",games25:"25 игр",games5:"5 игр",games50:"50 игр",increase:"Увеличивать",infinite:"Бесконечный",onLoss:"При убытке",onWin:"На Победе",reset:"Перезагрузить",startAutobet:"Начать автоставку",stopAutobet:"Остановить автоставку",stopOnLoss:"Stop on Loss",stopOnProfit:"Stop On Profit"},common:{auto:"Авто",back:"Назад",balance:"Баланс",bet:"Сумма ставки",betAmount:"Сумма ставки",cancel:"Отмена",cashOut:"Выплата наличных",classic:"Классический",confirm:"Подтверждать",copied:"Скопировано",disableHotkeys:"Отключить горячие клавиши",disableMaxBet:"Отключить максимальную ставку",deposit:"Депозит",enableHotkeys:"Включить горячие клавиши",enableMaxBet:"Включить максимальную ставку",footerNavigation:"Навигация по нижнему колонтитулу",gameInfo:"Информация об игре",high:"Высокий",history:"История",hotkeys:"Горячие клавиши",id:"ИДЕНТИФИКАТОР",instantBet:"Мгновенная ставка",loading:"Загрузка...",loadMore:"Загрузить больше",lobby:"Вернуться в вестибюль",low:"Низкий",manual:"Руководство",max:"МАКС",medium:"Середина",multiplier:"Множитель",payout:"Выплата",placeBet:"Сделать ставку",profit:"Выгода",profitOnWin:"Прибыль от победы",provablyFair:"Доказуемо справедливо",risk:"Риск",siteInformation:"Информация о сайте",space:"КОСМОС",targetMultiplier:"Множитель",thisFieldIsRequired:"Это поле обязательно к заполнению",timestamp:"Время",toggleHotkeys:"Переключить горячие клавиши",viewFairnessInformation:"Просмотреть информацию о справедливости",viewHistory:"Просмотреть историю",volume:"Объем",winChance:"Шанс выиграть"},errors:{dice:{multiplierRange:"Должно быть от {min} до {max}",winChanceRange:"Должно быть от {min} до {max}"}},fairness:{activeClientSeed:"Активный клиентский посев",enterClientSeed:"Введите клиентское семя",enterProof:"Введите доказательство",enterPublicKey:"Введите открытый ключ",enterRandomness:"Введите случайность",enterRequest:"Введите запрос",info:{p1:"Результат каждого раунда определяется проверяемой случайностью, а не скрытой серверной логикой. Мы создаём детерминированное начальное число из значений, уникальных для каждого раунда: gameId, tenantId, tenantUserId, увеличивающегося одноразового числа (по одному за каждый завершенный раунд) и вашего clientSeed. Это гарантирует уникальность и воспроизводимость каждого раунда: одни и те же входные данные → один и тот же случайный поток → один и тот же результат.",p2:"Эта начальная фраза пропускается через эллиптически проверяемую случайную функцию (ECVRF) в соответствии со спецификацией IETF draft-irtf-cfrg-vrf-15. Наш сервер использует свой закрытый ключ для генерации случайного значения и криптографического доказательства (proofString). Любой, у кого есть наш открытый ключ, может самостоятельно проверить это доказательство для заданных входных данных, подтверждая, что случайность получена из начальной фразы и не была подделана. SDK написан на TypeScript, а ядро криптографии использует библиотеку fastcrypto Rust через NAPI-RS для обеспечения производительности и безопасности.",p3:"После проверки выходные данные VRF задаются детерминированным генератором случайных байтов (hashSequence). Игры преобразуют эти байты в результаты, используя детерминированную, непредвзятую логику. Поскольку процесс детерминирован, а одноразовое число увеличивается с каждым завершенным раундом, вы получаете как воспроизводимые аудиты (точное воссоздание того же раунда), так и свежую, неповторяющуюся случайность.",p4:"После раунда вы получаете входные данные (включая clientSeed и одноразовый код раунда), выходные данные VRF, proofString и наш открытый ключ. Используйте любой верификатор ECVRF или наши библиотеки, чтобы: (1) проверить доказательство на соответствие входным данным и открытому ключу и (2) повторно сгенерировать тот же hashSequence и результат. Наш закрытый ключ никогда не покидает защищённые серверы; открытый ключ можно безопасно использовать на стороне клиента для независимых проверок.",step1Desc:"Мы объединяем gameId, tenantId, tenantUserId, одноразовый код для каждого раунда и ваше значение clientSeed. Одинаковые входные данные всегда дают один и тот же случайный поток и результат.",step1Title:"Детерминированное семя",step2Title:"Генерировать случайность",step3Desc:"Любой желающий может проверить proofString для заданных входных данных, используя наш открытый ключ. Это подтверждает, что случайность соответствует начальному значению и не была изменена.",step3Title:"Проверить доказательство",step4Title:"Вывести результаты",step5Title:"Репродукция"},invalidGame:"Указан неверный тип игры.",learnMore:"Узнать больше",newClientSeed:"Новый клиентский посев",noBettingHistory:"Нет истории ставок",outcomeCalculationInfo:"Результат каждой игры рассчитывается с использованием случайного значения в качестве входных данных.",outcomeNotVerified:"Результат этой игры не удалось проверить.",outcomeVerified:"Результат этой игры проверен и доказуемо честен.",proof:"Доказательство",publicKey:"Открытый ключ",randomness:"Случайность",request:"Запрос",saveClientSeed:"Сохранить клиентское семя",verifyOutcome:"Проверить результат"},gameInfo:{dice:{how1:"Выберите «перевернуть» или «подвернуть».",how2:"Установите целевое число.",how3:"Установите сумму ставки и сделайте ставку.",how4:"Мы генерируем один случайный результат (отображается в игре по шкале от 0 до 99,99).",how5:"Вы выигрываете, если результат попадает в выбранный вами диапазон.",how6:"Ваша выплата составляет ставку, умноженную на указанный множитель, который обновляется по мере перемещения ползунка.",overview:"Задайте целевое число и выберите, будет ли результат броска ниже или выше него. Перемещение ползунка изменяет ваш шанс на победу и множитель: чем выше шанс, тем меньше множитель, а чем ниже — тем больше. Каждый раунд — это один независимый бросок на шкале игры.",provablyFair:"Наша проверяемая система случайности генерирует каждый бросок кубика. После каждого раунда вы можете просмотреть входные данные и доказательство, проверить результат с помощью нашего открытого ключа и воспроизвести тот же результат.",strategyTip:"Выберите свою волатильность. Чем ниже шанс выигрыша, тем больше множители, но реже выпадают выигрыши. Чем выше шанс выигрыша, тем меньше множители, но чаще выпадают выигрыши. Размер ставок должен соответствовать вашему банкроллу для более стабильной динамики."},keno:{how1:"Выберите плитки от 1 до 10 на доске от 1 до 40.",how2:"Установите сумму ставки и сделайте ставку.",how3:"Мы разыгрываем 10 выигрышных номеров; ваши совпадения выделены цветом.",how4:"Выплаты зависят от того, сколько плиток вы выбрали и сколько раз вы их выпали — сверьтесь с таблицей выплат.",how5:"Вы никогда не сможете выбрать больше чисел, чем выбрали, а максимальный выбор — 10.",overview:"Выберите свои счастливые номера и постарайтесь угадать их. Вы можете выбрать от 1 до 10 номеров в диапазоне от 1 до 40, и мы разыграем 10 номеров. Чем больше совпадёт выбранных вами номеров, тем выше ваш выигрыш.",provablyFair:"Наша проверяемая система случайности генерирует каждый розыгрыш кено. После каждого раунда вы можете просмотреть входные данные и доказательство, проверить результат с помощью нашего открытого ключа и воспроизвести тот же результат.",strategyTip:"Выберите свою волатильность. Выбор меньшего количества точек означает более редкие выигрыши, но гораздо большие множители. Большее количество точек обеспечивает более частые совпадения, но меньший средний доход за одно совпадение. Средний диапазон обеспечивает баланс между вероятностью совпадений и выплатой. Отрегулируйте размер ставки в соответствии с вашими предпочтениями в отношении риска и банкроллом."},limbo:{how1:"Установите целевой множитель.",how2:"Установите сумму ставки и сделайте ставку.",how3:"Мы генерируем один случайный множитель результата.",how4:"Вы выигрываете, если результат больше или равен вашей цели.",how5:"Ваша выплата составляет ставку, умноженную на целевой множитель. В противном случае вы проигрываете ставку.",overview:"В Limbo вы устанавливаете желаемую выплату, и игра выбирает один случайный множитель исхода. Если результат не меньше вашего целевого значения, вы выигрываете. Если меньше — проигрываете. Более высокий шанс уменьшает множитель, более низкий — увеличивает.",provablyFair:"Наша проверяемая система случайности генерирует каждый результат Limbo. После каждого раунда вы можете просмотреть входные данные и доказательство, проверить результат с помощью нашего открытого ключа и воспроизвести тот же результат.",strategyTip:"Более низкие цели выигрывают чаще, но приносят меньше, в то время как более высокие цели попадают реже, но приносят гораздо больше. Рассмотрите фиксированную цель на сессию или добавьте редкие дальние броски, а также устанавливайте размер ставок последовательно, чтобы контролировать дисперсию."},mines:{how1:"Выберите количество мин для этого раунда.",how2:"Установите сумму ставки и сделайте ставку.",how3:"Нажимайте на плитки, чтобы открыть их: безопасная плитка увеличивает ваш множитель; мина заканчивает раунд.",how4:"Вы можете вывести средства в любое время, чтобы зафиксировать свой текущий множитель.",how5:"При выводе средств ваша выплата составляет ставку, умноженную на текущий множитель.",how6:"Раунд заканчивается, когда вы обналичиваете деньги или когда обнаруживается мина.",overview:"В игре «Мины» нужно выбирать безопасные плитки и решать, когда выставлять деньги. Перед началом раунда выберите, сколько мин будет спрятано на игровом поле. Каждая открытая безопасная плитка увеличивает ваш множитель. Если вы наткнётесь на мину, раунд закончится без выплаты.",provablyFair:"Наша проверяемая система случайности генерирует схему скрытых шахт для каждой доски. После каждого раунда вы можете просмотреть входные данные и доказательство, проверить результат с помощью нашего открытого ключа и воспроизвести тот же результат.",strategyTip:"Выбирайте свою волатильность. Меньше мин означает более безопасные открытия и меньшие множители за шаг. Больше мин приводит к более рискованным открытиям с большими множителями. Установите цель или используйте стоп-лосс для управления колебаниями. Постоянный размер ставок и дисциплинированные выводы средств помогают контролировать дисперсию."},strategyTitle:"Стратегия",tutorial:"Учебное пособие"},games:{dice:{rollOver:"Перекатывать",rollUnder:"Подкатиться"},keno:{autoPick:"Автоматический выбор",clearTable:"Прозрачный",kenoGameGrid:"Сетка игры Кено",kenoNumber:"Номер Кено",selectAtLeastOneTile:"Пожалуйста, выберите хотя бы одну плитку",selectTileToAutobet:"Пожалуйста, выберите хотя бы одну плитку"},limbo:{multiplierError:"Должно быть от {min} до {max}",targetMultiplier:"Множитель",winChanceError:"Должно быть от {min} до {max}"},mines:{cashout:"Выплата наличных",gem:"Драгоценный камень",gems:"Драгоценные камни",mine:"Мой",mines:"Шахты",nextGem:"Следующий драгоценный камень",selectRandomTile:"Выбрать случайную плитку",selectTileToAutobet:"Пожалуйста, выберите хотя бы одну плитку для автоматической ставки.",tile:"Плитка",unrevealed:"Нераскрыто"}},hotkeys:{doubleBet:"Удвоить сумму ставки",halveBet:"Уменьшить сумму ставки вдвое",higherTarget:"Более высокая цель",info:"Если горячие клавиши включены, они будут активны в этой игре до тех пор, пока не будут отключены. Несмотря на то, что в некоторых играх используются похожие сочетания клавиш, всегда рекомендуется подтверждать горячие клавиши для каждой игры.",lowerTarget:"Нижняя цель",makeBet:"Сделать ставку",toggleWinCondition:"Переключить условие выигрыша",zeroBet:"Сумма нулевой ставки"},modals:{betResult:"Результат ставки",fairnessAndHistory:"Справедливость и история",gameArea:"Игровая зона",gameControls:"Управление игрой",gameInfo:"Информация об игре"}}});var yo=Ia((vu,Ks)=>{Ks.exports={accessibility:{sliderValue:"{value} / {max}"},alerts:{autobetStarted:"Otomatik bahis modu başlatıldı",autobetStopped:"Otomatik bahis modu durduruldu",betAmountAboveMaxBet:"Maksimum bahis {value}",betAmountBelowMinBet:"Minimum bahis {value}",betLimitReached:"Bahis limitine ulaşıldı",errorProcessingBet:"Bahsiniz işlenirken bir hata oluştu. Lütfen tekrar deneyin.",failedToLoadBetData:"Bahis verileri yüklenemedi",gameError:"Bahsiniz işlenirken bir hata oluştu. Lütfen tekrar deneyin.",insufficientBalance:"Yetersiz bakiye",notEnoughBalance:"Yeterli denge yok"},autobet:{games:"Oyunlar",games10:"10 oyun",games100:"100 oyun",games25:"25 oyun",games5:"5 oyun",games50:"50 oyun",increase:"Arttırmak",infinite:"Sonsuz",onLoss:"Kayıp Üzerine",onWin:"Kazanmak Üzerine",reset:"Sıfırla",startAutobet:"Otomatik Bahis Başlat",stopAutobet:"Otomatik Bahsi Durdur",stopOnLoss:"Zararda Dur",stopOnProfit:"Kârda Dur"},common:{auto:"Otomatik",back:"Geri",balance:"Denge",bet:"Bahis Miktarı",betAmount:"Bahis Miktarı",cancel:"İptal etmek",cashOut:"Nakit Çekme",classic:"Klasik",confirm:"Onaylamak",copied:"Kopyalandı",disableHotkeys:"Kısayolları Devre Dışı Bırak",disableMaxBet:"Maksimum Bahsi Devre Dışı Bırak",deposit:"Mevduat",enableHotkeys:"Kısayolları Etkinleştir",enableMaxBet:"Maksimum Bahsi Etkinleştir",footerNavigation:"Alt bilgi gezintisi",gameInfo:"Oyun Bilgileri",high:"Yüksek",history:"Tarih",hotkeys:"Kısayollar",id:"İD",instantBet:"Anında Bahis",loading:"Yükleniyor...",loadMore:"Daha Fazlasını Yükle",lobby:"Lobiye Geri Dön",low:"Düşük",manual:"Manuel",max:"MAKSİMUM",medium:"Orta",multiplier:"Çarpan",payout:"Ödeme",placeBet:"Bahis",profit:"Kâr",profitOnWin:"Kazanç Üzerine Kar",provablyFair:"Kanıtlanabilir Adil",risk:"Risk",siteInformation:"Site bilgileri",space:"UZAY",targetMultiplier:"Çarpan",thisFieldIsRequired:"Bu alan gereklidir",timestamp:"Zaman",toggleHotkeys:"Kısayolları Değiştir",viewFairnessInformation:"Adalet bilgilerini görüntüle",viewHistory:"Geçmişi Görüntüle",volume:"Hacim",winChance:"Kazanma Şansı"},errors:{dice:{multiplierRange:"{min} ile {max} arasında olmalıdır",winChanceRange:"{min} ile {max} arasında olmalıdır"}},fairness:{activeClientSeed:"Aktif İstemci Tohumu",enterClientSeed:"İstemci Tohumunu Girin",enterProof:"Kanıtı Girin",enterPublicKey:"Genel Anahtarı Girin",enterRandomness:"Rastgeleliğe Girin",enterRequest:"İstek Girin",info:{p1:"Her turun sonucu gizli sunucu mantığından değil, doğrulanabilir rastgelelikten gelir. Turunuza özgü değerlerden (gameId, tenantId, tenantUserId, artan bir nonce (tamamlanan tur başına bir tane) ve clientSeed'inizden) deterministik bir başlangıç noktası oluşturuyoruz. Bu, her turun benzersiz ve tekrarlanabilir olmasını garanti eder: aynı girdiler → aynı rastgele akış → aynı sonuç.",p2:"Bu tohum, IETF draft-irtf-cfrg-vrf-15 spesifikasyonuna uygun olarak Eliptik Eğri Doğrulanabilir Rastgele Fonksiyon (ECVRF) üzerinden çalıştırılır. Sunucumuz, rastgele bir değer ve kriptografik bir kanıt (proofString) üretmek için özel anahtarını kullanır. Genel anahtarımıza sahip olan herkes, verilen girdiler için bu kanıtı bağımsız olarak doğrulayabilir ve rastgeleliğin tohumdan geldiğini ve değiştirilmediğini doğrulayabilir. SDK TypeScript iken, çekirdek kripto, performans ve güvenlik için NAPI-RS aracılığıyla fastcrypto Rust kütüphanesini kullanır.",p3:"Doğrulandıktan sonra, VRF çıktısı kesin bir rastgele bayt üreteci (hashSequence) üretir. Oyunlar, kesin ve tarafsız bir mantık kullanarak bu baytları sonuçlara dönüştürür. Süreç kesin olduğundan ve rastgele sayı her tamamlanan turda ilerlediğinden, hem tekrar oynanabilir denetimler (aynı turu birebir yeniden oluşturma) hem de her seferinde yeni, tekrarlanmayan bir rastgelelik elde edersiniz.",p4:"Bir turdan sonra, girdileriniz (clientSeed ve turun rastgele değeri dahil), VRF çıktınız, proofString'iniz ve genel anahtarımız elinizde olur. Herhangi bir ECVRF doğrulayıcısını veya kütüphanelerimizi kullanarak şunları yapabilirsiniz: (1) kanıtı girdilere ve genel anahtara göre doğrulayın ve (2) aynı hashSequence'ı ve sonucu yeniden oluşturun. Özel anahtarımız asla güvenli sunuculardan çıkmaz; genel anahtar, bağımsız kontroller için istemci tarafında güvenle kullanılabilir.",step1Desc:"gameId, tenantId, tenantUserId, tur başına bir nonce ve clientSeed'inizi birleştiriyoruz. Aynı girdiler her zaman aynı rastgele akışı ve sonucu üretir.",step1Title:"Deterministik Tohum",step2Title:"Rastgelelik Oluştur",step3Desc:"Verilen girdiler için proofString'i herkes açık anahtarımızı kullanarak doğrulayabilir. Bu, rastgeleliğin seed ile eşleştiğini ve değiştirilmediğini doğrular.",step3Title:"Kanıtı Doğrula",step4Title:"Sonuçları Türet",step5Title:"Üreme"},invalidGame:"Geçersiz oyun türü sağlandı.",learnMore:"Daha fazla bilgi edin",newClientSeed:"Yeni Müşteri Tohumu",noBettingHistory:"Bahis geçmişi yok",outcomeCalculationInfo:"Her oyunun sonucu, girdi olarak rastgele bir değer kullanılarak hesaplanır.",outcomeNotVerified:"Bu oyunun sonucu doğrulanamadı",outcomeVerified:"Bu oyunun sonucu doğrulandı ve kanıtlanabilir şekilde adildir",proof:"Kanıt",publicKey:"Genel Anahtar",randomness:"Rastgelelik",request:"Rica etmek",saveClientSeed:"İstemci Tohumunu Kaydet",verifyOutcome:"Sonucu Doğrula"},gameInfo:{dice:{how1:"Alttan veya üstten yuvarlanmayı seçin.",how2:"Hedef sayınızı belirleyin.",how3:"Bahis tutarınızı belirleyin ve bahsinizi yapın.",how4:"Oyunda 0-99,99 ölçeğinde gösterilen rastgele bir sonuç üretiyoruz.",how5:"Sonuç seçtiğiniz aralıkta olursa kazanırsınız.",how6:"Ödemeniz, kaydırıcıyı hareket ettirdikçe güncellenen gösterilen çarpanın x'i kadar bahistir.",overview:"Bir hedef sayı belirleyin ve zarın bu sayının altında mı yoksa üstünde mi geleceğini seçin. Kaydırıcıyı hareket ettirmek kazanma şansınızı ve çarpanınızı değiştirir; daha yüksek bir şans çarpanı düşürür, daha düşük bir şans ise artırır. Her tur, oyun ölçeğinde bağımsız bir zar atışından oluşur.",provablyFair:"Doğrulanabilir rastgelelik sistemimiz her Zar atışında sonuç üretir. Her turdan sonra girdileri ve kanıtları görüntüleyebilir, sonucu açık anahtarımızla doğrulayabilir ve aynı sonucu yeniden üretebilirsiniz.",strategyTip:"Volatilitenizi seçin. Daha düşük kazanma şansı, daha büyük çarpanlar ancak daha nadir kazançlar sağlar. Daha yüksek kazanma şansı, daha küçük çarpanlar ancak daha sık kazançlar sağlar. Daha istikrarlı dalgalanmalar için bahislerinizi bütçenize göre ayarlayın."},keno:{how1:"1-40 tahtasından 1-10 arası taş seçin.",how2:"Bahis tutarınızı belirleyin ve bahsinizi yapın.",how3:"10 kazanan numara çekilişle belirleniyor; eşleşmeleriniz vurgulanıyor.",how4:"Ödemeler seçtiğiniz taş sayısına ve aldığınız isabet sayısına göre değişir; ödeme tablosunu kontrol edin.",how5:"Seçtiğinizden daha fazla sayıya asla ulaşamazsınız ve maksimum seçim 10'dur.",overview:"Şanslı numaralarınızı seçin ve çekilişe katılmaya çalışın. 1-40 arasından 1-10 numara seçebilirsiniz, ardından 10 numara çekeriz. Ne kadar çok tahmininiz tutarsa, kazancınız o kadar yüksek olur.",provablyFair:"Doğrulanabilir rastgelelik sistemimiz her Keno çekilişini oluşturur. Her turdan sonra girdileri ve kanıtları görüntüleyebilir, sonucu genel anahtarımızla doğrulayabilir ve aynı sonucu yeniden üretebilirsiniz.",strategyTip:"Volatilitenizi seçin. Daha az nokta seçmek, daha nadir kazançlar ancak çok daha büyük çarpanlar anlamına gelir. Daha fazla nokta, daha sık isabet sağlar ancak isabet başına daha düşük ortalama getiri sağlar. Orta seviye, isabet oranı ve ödeme arasında denge sağlar. Bahis miktarınızı risk tercihinize ve bütçenize göre ayarlayın."},limbo:{how1:"Hedef çarpanınızı belirleyin.",how2:"Bahis tutarınızı belirleyin ve bahsinizi yapın.",how3:"Bir adet rastgele sonuç çarpanı üretiyoruz.",how4:"Sonuç hedefinize eşit veya büyükse kazanırsınız.",how5:"Ödemeniz, bahis miktarınızın hedef çarpanınızla çarpımı kadardır; aksi takdirde bahsinizi kaybedersiniz.",overview:"Limbo'da istediğiniz ödemeyi belirlersiniz ve oyun tek bir rastgele sonuç çarpanı çeker. Sonuç en az hedeflediğiniz değerdeyse kazanırsınız. Daha düşükse kaybedersiniz. Daha yüksek bir olasılık çarpanı düşürür; daha düşük bir olasılık ise artırır.",provablyFair:"Doğrulanabilir rastgelelik sistemimiz her Limbo sonucunu üretir. Her turdan sonra girdileri ve kanıtları görüntüleyebilir, sonucu açık anahtarımızla doğrulayabilir ve aynı sonucu yeniden üretebilirsiniz.",strategyTip:"Daha düşük hedefler daha sık kazanır ancak daha az ödeme yapar; daha yüksek hedefler ise nadiren isabet sağlar ancak çok daha fazla ödeme yapar. Varyansı yönetmek için seans başına sabit bir hedef belirleyin veya ara sıra uzun vadeli vuruşlar ve tutarlı bahisler ekleyin."},mines:{how1:"Bu tur için mayın sayısını seçin.",how2:"Bahis tutarınızı belirleyin ve bahsinizi yapın.",how3:"Kutucukları ortaya çıkarmak için kutucuklara tıklayın: Güvenli bir kutucuk çarpanınızı artırır; bir mayın ise turu sonlandırır.",how4:"Mevcut çarpanınızı sabitlemek için istediğiniz zaman nakde çevirebilirsiniz.",how5:"Nakit çektiğinizde kazancınız bahis tutarının mevcut çarpanla çarpımı kadardır.",how6:"Tur, parayı çektiğinizde veya bir mayın ortaya çıktığında sona erer.",overview:"Mayınlar, güvenli taşları seçmek ve ne zaman para çekeceğinize karar vermekle ilgilidir. Tur başlamadan önce, tahtada kaç tane mayın gizleneceğini seçin. Ortaya çıkardığınız her güvenli taş, çarpanınızı artırır. Bir mayına çarparsanız, tur ödeme yapılmadan sona erer.",provablyFair:"Doğrulanabilir rastgelelik sistemimiz, her tahtanın gizli maden düzenini oluşturur. Her turdan sonra girdileri ve kanıtları görüntüleyebilir, sonucu genel anahtarımızla doğrulayabilir ve aynı sonucu yeniden üretebilirsiniz.",strategyTip:"Volatilitenizi seçin. Daha az maden, daha güvenli pozisyonlar ve adım başına daha küçük çarpanlar anlamına gelir. Daha fazla maden, daha büyük çarpanlarla daha riskli pozisyonlara yol açar. Bir hedef belirleyin veya dalgalanmaları yönetmek için bir stop-loss kullanın. Tutarlı bahis büyüklüğü ve disiplinli nakit çıkışları, varyansı kontrol altında tutmaya yardımcı olur."},strategyTitle:"Strateji",tutorial:"Eğitim"},games:{dice:{rollOver:"Yuvarlanmak",rollUnder:"Altına Yuvarlan"},keno:{autoPick:"Otomatik Seçim",clearTable:"Temizlemek",kenoGameGrid:"Keno Oyun Izgarası",kenoNumber:"Keno numarası",selectAtLeastOneTile:"Lütfen en az bir kutucuk seçin",selectTileToAutobet:"Lütfen en az bir kutucuk seçin"},limbo:{multiplierError:"{min} ile {max} arasında olmalıdır",targetMultiplier:"Çarpan",winChanceError:"{min} ile {max} arasında olmalıdır"},mines:{cashout:"Nakit Çekme",gem:"Mücevher",gems:"Mücevherler",mine:"Bana ait",mines:"Madenler",nextGem:"Sonraki Mücevher",selectRandomTile:"Rastgele Döşeme Seç",selectTileToAutobet:"Lütfen otomatik bahis yapmak için en az bir karo seçin",tile:"Fayans",unrevealed:"Açıklanmamış"}},hotkeys:{doubleBet:"Çift Bahis Miktarı",halveBet:"Bahis Miktarını Yarıya İndir",higherTarget:"Daha Yüksek Hedef",info:"Kısayol tuşları etkinleştirildiğinde, devre dışı bırakılana kadar bu oyun için etkin kalırlar. Bazı oyunlar benzer tuş atamalarını paylaşsa da, her oyun için kısayol tuşlarını onaylamanız her zaman önerilir.",lowerTarget:"Daha Düşük Hedef",makeBet:"Bahis",toggleWinCondition:"Kazanma Koşulunu Değiştir",zeroBet:"Sıfır Bahis Miktarı"},modals:{betResult:"Bahis Sonucu",fairnessAndHistory:"Adalet ve Tarih",gameArea:"Oyun Alanı",gameControls:"Oyun Kontrolleri",gameInfo:"Oyun Bilgileri"}}});var zo=Ia((ku,Rs)=>{Rs.exports={accessibility:{sliderValue:"{value} trong số {max}"},alerts:{autobetStarted:"Đã bắt đầu chế độ đặt cược tự động",autobetStopped:"Đã dừng chế độ đặt cược tự động",betAmountAboveMaxBet:"Mức cược tối đa là {value}",betAmountBelowMinBet:"Mức cược tối thiểu là {value}",betLimitReached:"Đã đạt đến giới hạn đặt cược",errorProcessingBet:"Đã xảy ra lỗi khi xử lý cược của bạn. Vui lòng thử lại.",failedToLoadBetData:"Không tải được dữ liệu cược",gameError:"Đã xảy ra lỗi khi xử lý cược của bạn. Vui lòng thử lại.",insufficientBalance:"Số dư không đủ",notEnoughBalance:"Không đủ cân bằng"},autobet:{games:"Trò chơi",games10:"10 trò chơi",games100:"100 trò chơi",games25:"25 trò chơi",games5:"5 trò chơi",games50:"50 trò chơi",increase:"Tăng",infinite:"Vô hạn",onLoss:"Về sự mất mát",onWin:"Trên chiến thắng",reset:"Cài lại",startAutobet:"Bắt đầu Autobet",stopAutobet:"Dừng Autobet",stopOnLoss:"Dừng lại khi mất mát",stopOnProfit:"Dừng lại ở lợi nhuận"},common:{auto:"Tự động",back:"Mặt sau",balance:"Sự cân bằng",bet:"Số tiền đặt cược",betAmount:"Số tiền đặt cược",cancel:"Hủy bỏ",cashOut:"Rút tiền",classic:"Cổ điển",confirm:"Xác nhận",copied:"Đã sao chép",disableHotkeys:"Vô hiệu hóa phím nóng",disableMaxBet:"Vô hiệu hóa cược tối đa",deposit:"Đặt cọc",enableHotkeys:"Bật phím nóng",enableMaxBet:"Kích hoạt cược tối đa",footerNavigation:"Điều hướng chân trang",gameInfo:"Thông tin trò chơi",high:"Cao",history:"Lịch sử",hotkeys:"Phím nóng",id:"NHẬN DẠNG",instantBet:"Cược tức thì",loading:"Đang tải...",loadMore:"Tải thêm",lobby:"Quay lại Sảnh",low:"Thấp",manual:"Thủ công",max:"TỐI ĐA",medium:"Trung bình",multiplier:"Hệ số nhân",payout:"Thanh toán",placeBet:"Đặt cược",profit:"Lợi nhuận",profitOnWin:"Lợi nhuận khi thắng",provablyFair:"Có thể chứng minh là công bằng",risk:"Rủi ro",siteInformation:"Thông tin trang web",space:"KHÔNG GIAN",targetMultiplier:"Hệ số nhân",thisFieldIsRequired:"Trường này là bắt buộc",timestamp:"Thời gian",toggleHotkeys:"Chuyển đổi phím nóng",viewFairnessInformation:"Xem thông tin công bằng",viewHistory:"Xem Lịch sử",volume:"Âm lượng",winChance:"Cơ hội chiến thắng"},errors:{dice:{multiplierRange:"Phải nằm trong khoảng từ {min} đến {max}",winChanceRange:"Phải nằm trong khoảng từ {min} đến {max}"}},fairness:{activeClientSeed:"Hạt giống khách hàng đang hoạt động",enterClientSeed:"Nhập hạt giống khách hàng",enterProof:"Nhập bằng chứng",enterPublicKey:"Nhập khóa công khai",enterRandomness:"Nhập ngẫu nhiên",enterRequest:"Nhập yêu cầu",info:{p1:"Kết quả của mỗi vòng đều đến từ tính ngẫu nhiên có thể kiểm chứng, chứ không phải logic máy chủ ẩn. Chúng tôi xây dựng một hạt giống xác định từ các giá trị duy nhất cho vòng của bạn—gameId, tenantId, tenantUserId, một nonce tăng dần (một cho mỗi vòng hoàn thành), cộng với clientSeed của bạn. Điều này đảm bảo mỗi vòng là duy nhất và có thể tái tạo: cùng một đầu vào → cùng một luồng ngẫu nhiên → cùng một kết quả.",p2:"Hạt giống đó được chạy qua Hàm Ngẫu nhiên Có thể Xác minh Đường cong Elliptic (ECVRF) theo bản thảo đặc tả IETF draft-irtf-cfrg-vrf-15. Máy chủ của chúng tôi sử dụng khóa riêng để tạo ra một giá trị ngẫu nhiên và một bằng chứng mật mã (proofString). Bất kỳ ai có khóa công khai của chúng tôi đều có thể tự mình xác minh bằng chứng đó cho các đầu vào đã cho—xác nhận tính ngẫu nhiên đến từ hạt giống và không bị can thiệp. SDK là TypeScript, trong khi mã hóa cốt lõi sử dụng thư viện fastcrypto Rust thông qua NAPI-RS để đảm bảo hiệu suất và an toàn.",p3:"Sau khi được xác minh, đầu ra VRF sẽ gieo một bộ tạo byte ngẫu nhiên xác định (hashSequence). Các trò chơi sẽ biến đổi các byte đó thành kết quả bằng logic xác định, không thiên vị. Vì quá trình này mang tính xác định và nonce tăng dần sau mỗi vòng chơi hoàn thành, bạn sẽ có được cả các lần kiểm tra có thể chơi lại (tái tạo chính xác cùng một vòng chơi) và tính ngẫu nhiên mới, không lặp lại mỗi lần.",p4:"Sau một vòng, bạn sẽ có các dữ liệu đầu vào (bao gồm clientSeed của bạn và nonce của vòng), đầu ra VRF, proofString và khóa công khai của chúng tôi. Sử dụng bất kỳ trình xác minh ECVRF nào hoặc thư viện của chúng tôi để: (1) xác minh bằng chứng với các dữ liệu đầu vào và khóa công khai, và (2) tạo lại cùng một hashSequence và kết quả. Khóa riêng của chúng tôi không bao giờ rời khỏi các máy chủ an toàn; khóa công khai an toàn để sử dụng ở phía máy khách cho các kiểm tra độc lập.",step1Desc:"Chúng tôi kết hợp gameId, tenantId, tenantUserId, nonce mỗi vòng và clientSeed của bạn. Cùng một đầu vào luôn tạo ra cùng một luồng ngẫu nhiên và kết quả.",step1Title:"Hạt giống xác định",step2Title:"Tạo ra sự ngẫu nhiên",step3Desc:"Bất kỳ ai cũng có thể xác minh proofString cho các đầu vào đã cho bằng khóa công khai của chúng tôi. Điều này xác nhận tính ngẫu nhiên khớp với giá trị khởi tạo và không bị can thiệp.",step3Title:"Xác minh bằng chứng",step4Title:"Đưa ra kết quả",step5Title:"Sinh sản"},invalidGame:"Loại trò chơi được cung cấp không hợp lệ.",learnMore:"Tìm hiểu thêm",newClientSeed:"Hạt giống khách hàng mới",noBettingHistory:"Không có lịch sử cá cược",outcomeCalculationInfo:"Kết quả của mỗi trò chơi được tính toán bằng cách sử dụng giá trị ngẫu nhiên làm đầu vào.",outcomeNotVerified:"Kết quả của trò chơi này không thể được xác minh",outcomeVerified:"Kết quả của trò chơi này đã được xác minh và có thể chứng minh là công bằng",proof:"Bằng chứng",publicKey:"Khóa công khai",randomness:"Tính ngẫu nhiên",request:"Lời yêu cầu",saveClientSeed:"Lưu hạt giống khách hàng",verifyOutcome:"Xác minh kết quả"},gameInfo:{dice:{how1:"Chọn lăn xuống hoặc lăn qua.",how2:"Đặt số mục tiêu của bạn.",how3:"Đặt số tiền cược và tiến hành đặt cược.",how4:"Chúng tôi tạo ra một kết quả ngẫu nhiên (hiển thị theo thang điểm 0–99,99 trong trò chơi).",how5:"Bạn thắng nếu kết quả nằm trong phạm vi bạn chọn.",how6:"Tiền thanh toán của bạn là cược x hệ số hiển thị, hệ số này sẽ cập nhật khi bạn di chuyển thanh trượt.",overview:"Đặt một số mục tiêu và chọn xem kết quả sẽ rơi xuống dưới hay trên số đó. Di chuyển thanh trượt sẽ thay đổi cơ hội chiến thắng và hệ số nhân của bạn—cơ hội cao hơn sẽ giảm hệ số nhân, cơ hội thấp hơn sẽ tăng hệ số nhân. Mỗi vòng là một lần tung xúc xắc độc lập trên thang điểm của trò chơi.",provablyFair:"Hệ thống ngẫu nhiên có thể kiểm chứng của chúng tôi tạo ra mỗi lần tung Xúc xắc. Sau mỗi vòng, bạn có thể xem dữ liệu đầu vào và bằng chứng, xác minh kết quả bằng khóa công khai của chúng tôi và tái tạo kết quả tương tự.",strategyTip:"Chọn mức độ biến động của bạn. Cơ hội thắng thấp mang lại hệ số nhân lớn hơn nhưng ít trúng hơn. Cơ hội thắng cao mang lại hệ số nhân nhỏ hơn nhưng thắng thường xuyên hơn. Điều chỉnh mức cược phù hợp với ngân sách của bạn để có những biến động ổn định hơn."},keno:{how1:"Chọn 1–10 ô trên bảng 1–40.",how2:"Đặt số tiền cược và tiến hành đặt cược.",how3:"Chúng tôi rút ra 10 số trúng thưởng; số trùng khớp với bạn sẽ được đánh dấu.",how4:"Tiền thưởng phụ thuộc vào số ô bạn chọn và số lượt trúng thưởng - hãy kiểm tra bảng trả thưởng.",how5:"Bạn không bao giờ có thể chọn nhiều số hơn số bạn đã chọn và số lượng tối đa bạn có thể chọn là 10.",overview:"Hãy chọn những con số may mắn của bạn và cố gắng khớp với kết quả quay số. Bạn có thể chọn từ 1 đến 10 số trong khoảng từ 1 đến 40, sau đó chúng tôi sẽ quay số 10 số. Càng nhiều số bạn chọn trúng, tiền thưởng của bạn càng cao.",provablyFair:"Hệ thống ngẫu nhiên có thể kiểm chứng của chúng tôi tạo ra mọi lượt quay Keno. Sau mỗi vòng, bạn có thể xem dữ liệu đầu vào và bằng chứng, xác minh kết quả bằng khóa công khai của chúng tôi và tái tạo kết quả tương tự.",strategyTip:"Chọn mức biến động của bạn. Chọn ít vị trí hơn đồng nghĩa với việc thắng ít hơn nhưng hệ số nhân lớn hơn nhiều. Nhiều vị trí hơn mang lại tỷ lệ trúng cao hơn nhưng lợi nhuận trung bình trên mỗi lần trúng thấp hơn. Phạm vi trung bình cân bằng tỷ lệ trúng và tiền trả thưởng. Điều chỉnh kích thước cược cho phù hợp với sở thích rủi ro và ngân sách của bạn."},limbo:{how1:"Đặt hệ số nhân mục tiêu của bạn.",how2:"Đặt số tiền cược và tiến hành đặt cược.",how3:"Chúng tôi tạo ra một hệ số nhân kết quả ngẫu nhiên.",how4:"Bạn thắng nếu kết quả lớn hơn hoặc bằng mục tiêu của bạn.",how5:"Tiền thưởng của bạn là số tiền cược x hệ số mục tiêu; nếu không, bạn sẽ thua cược.",overview:"Trong Limbo, bạn đặt mức trả thưởng mong muốn và trò chơi sẽ rút ra một hệ số nhân kết quả ngẫu nhiên duy nhất. Nếu kết quả ít nhất đạt được mục tiêu của bạn, bạn thắng. Nếu thấp hơn, bạn thua. Cơ hội cao hơn sẽ giảm hệ số nhân; cơ hội thấp hơn sẽ tăng hệ số nhân.",provablyFair:"Hệ thống ngẫu nhiên có thể kiểm chứng của chúng tôi tạo ra mọi kết quả Limbo. Sau mỗi vòng, bạn có thể xem dữ liệu đầu vào và bằng chứng, xác minh kết quả bằng khóa công khai của chúng tôi và tái tạo kết quả tương tự.",strategyTip:"Mục tiêu thấp hơn thường thắng nhiều hơn nhưng trả ít hơn, trong khi mục tiêu cao hơn hiếm khi trúng nhưng trả nhiều hơn. Hãy cân nhắc đặt mục tiêu cố định cho mỗi phiên hoặc kết hợp các cú đánh dài thỉnh thoảng, và đặt cược một cách nhất quán để quản lý phương sai."},mines:{how1:"Chọn số lượng mìn cho vòng này.",how2:"Đặt số tiền cược và tiến hành đặt cược.",how3:"Nhấp vào các ô để lộ chúng: ô an toàn sẽ tăng hệ số nhân của bạn; ô mìn sẽ kết thúc vòng chơi.",how4:"Bạn có thể rút tiền bất cứ lúc nào để khóa hệ số nhân hiện tại của mình.",how5:"Số tiền thanh toán của bạn là cược x hệ số nhân hiện tại khi bạn rút tiền.",how6:"Vòng chơi kết thúc khi bạn rút tiền hoặc khi mỏ được phát hiện.",overview:"Mines là trò chơi chọn ô an toàn và quyết định thời điểm rút tiền. Trước khi vòng chơi bắt đầu, hãy chọn số lượng mìn sẽ được giấu trên bảng. Mỗi ô an toàn bạn lật ra sẽ tăng hệ số nhân của bạn. Bắn trúng một quả mìn, và vòng chơi kết thúc mà không có khoản tiền thưởng nào.",provablyFair:"Hệ thống ngẫu nhiên có thể kiểm chứng của chúng tôi tạo ra sơ đồ mỏ ẩn của mỗi bảng. Sau mỗi vòng, bạn có thể xem dữ liệu đầu vào và bằng chứng, xác minh kết quả bằng khóa công khai của chúng tôi và tái tạo kết quả tương tự.",strategyTip:"Chọn mức độ biến động của bạn. Ít mỏ hơn đồng nghĩa với việc tìm kiếm an toàn hơn và hệ số nhân nhỏ hơn cho mỗi bước. Nhiều mỏ hơn dẫn đến việc tìm kiếm rủi ro hơn với hệ số nhân lớn hơn. Hãy đặt mục tiêu hoặc sử dụng lệnh dừng lỗ để quản lý biến động. Việc đặt cược nhất quán và rút tiền mặt có kỷ luật giúp kiểm soát biến động."},strategyTitle:"Chiến lược",tutorial:"Hướng dẫn"},games:{dice:{rollOver:"Lăn qua",rollUnder:"Lăn dưới"},keno:{autoPick:"Tự động chọn",clearTable:"Thông thoáng",kenoGameGrid:"Lưới trò chơi Keno",kenoNumber:"Số Keno",selectAtLeastOneTile:"Vui lòng chọn ít nhất một ô",selectTileToAutobet:"Vui lòng chọn ít nhất một ô"},limbo:{multiplierError:"Phải nằm trong khoảng từ {min} đến {max}",targetMultiplier:"Hệ số nhân",winChanceError:"Phải nằm trong khoảng từ {min} đến {max}"},mines:{cashout:"Rút tiền",gem:"Đá quý",gems:"Đá quý",mine:"Của tôi",mines:"Mỏ",nextGem:"Viên ngọc tiếp theo",selectRandomTile:"Chọn ô ngẫu nhiên",selectTileToAutobet:"Vui lòng chọn ít nhất một ô để tự động đặt cược",tile:"Ngói",unrevealed:"Chưa tiết lộ"}},hotkeys:{doubleBet:"Số tiền cược gấp đôi",halveBet:"Giảm một nửa số tiền cược",higherTarget:"Mục tiêu cao hơn",info:"Khi phím tắt được bật, chúng sẽ vẫn hoạt động trong trò chơi này cho đến khi bị tắt. Mặc dù một số trò chơi có các phím tắt tương tự nhau, bạn vẫn nên kiểm tra phím tắt cho từng trò chơi.",lowerTarget:"Mục tiêu thấp hơn",makeBet:"Đặt cược",toggleWinCondition:"Chuyển đổi điều kiện chiến thắng",zeroBet:"Số tiền cược bằng không"},modals:{betResult:"Kết quả cược",fairnessAndHistory:"Công bằng và Lịch sử",gameArea:"Khu vực trò chơi",gameControls:"Điều khiển trò chơi",gameInfo:"Thông tin trò chơi"}}});var xo=Ia((gu,Zs)=>{Zs.exports={accessibility:{sliderValue:"{value} 个,共 {max} 个"},alerts:{autobetStarted:"已启动自动投注模式",autobetStopped:"停止自动投注模式",betAmountAboveMaxBet:"最高投注额为 {value}",betAmountBelowMinBet:"最低投注额为 {value}",betLimitReached:"已达到投注限额",errorProcessingBet:"处理您的投注时出错。请重试。",failedToLoadBetData:"无法加载投注数据",gameError:"处理您的投注时出错。请重试。",insufficientBalance:"余额不足",notEnoughBalance:"余额不足"},autobet:{games:"游戏",games10:"10场比赛",games100:"100场比赛",games25:"25场比赛",games5:"5场比赛",games50:"50场比赛",increase:"增加",infinite:"无限",onLoss:"关于损失",onWin:"胜利",reset:"重置",startAutobet:"开始自动投注",stopAutobet:"停止自动投注",stopOnLoss:"止损",stopOnProfit:"止盈"},common:{auto:"汽车",back:"后退",balance:"平衡",bet:"投注金额",betAmount:"投注金额",cancel:"取消",cashOut:"提现",classic:"经典的",confirm:"确认",copied:"已复制",disableHotkeys:"禁用热键",disableMaxBet:"禁用最大赌注",deposit:"存款",enableHotkeys:"启用热键",enableMaxBet:"启用最大赌注",footerNavigation:"页脚导航",gameInfo:"游戏信息",high:"高的",history:"历史",hotkeys:"热键",id:"ID",instantBet:"即时投注",loading:"加载中...",loadMore:"加载更多",lobby:"返回大厅",low:"低的",manual:"手动的",max:"最大限度",medium:"中等的",multiplier:"乘数",payout:"付款",placeBet:"下注",profit:"利润",profitOnWin:"赢利",provablyFair:"可证明公平",risk:"风险",siteInformation:"站点信息",space:"空间",targetMultiplier:"乘数",thisFieldIsRequired:"此字段是必需的",timestamp:"时间",toggleHotkeys:"切换热键",viewFairnessInformation:"查看公平性信息",viewHistory:"查看历史记录",volume:"体积",winChance:"获胜机会"},errors:{dice:{multiplierRange:"必须介于 {min} 和 {max} 之间",winChanceRange:"必须介于 {min} 和 {max} 之间"}},fairness:{activeClientSeed:"活跃客户种子",enterClientSeed:"输入客户种子",enterProof:"输入证明",enterPublicKey:"输入公钥",enterRandomness:"输入随机性",enterRequest:"输入请求",info:{p1:"每一轮的结果都来自可验证的随机性,而非隐藏的服务器逻辑。我们会根据您回合特有的值(例如 gameId、tenantId、tenantUserId、一个递增的 nonce(每完成一轮产生一个)以及您的 clientSeed)构建一个确定性种子。这确保了每一轮都是唯一且可重复的:相同的输入 → 相同的随机流 → 相同的结果。",p2:"该种子根据 IETF 规范 draft-irtf-cfrg-vrf-15 通过椭圆曲线可验证随机函数 (ECVRF) 运行。我们的服务器使用其私钥生成一个随机值和一个加密证明 (proofString)。任何拥有我们公钥的人都可以独立验证给定输入的证明——确认随机性来自种子且未被篡改。SDK 采用 TypeScript 编写,而核心加密通过 NAPI-RS 使用 fastcrypto Rust 库来确保性能和安全性。",p3:"验证完成后,VRF 的输出会将种子植入一个确定性随机字节生成器 (hashSequence)。游戏使用确定性、无偏差的逻辑将这些字节转换为结果。由于该过程是确定性的,并且随机数会在每轮游戏结束后递增,因此您每次都能获得可重玩的审核(完全相同的轮次),以及全新的、不重复的随机性。",p4:"一轮之后,您将获得输入(包括您的客户端种子和本轮的随机数)、VRF 输出、证明字符串以及我们的公钥。您可以使用任何 ECVRF 验证器或我们的库来:(1) 根据输入和公钥验证证明,以及 (2) 重新生成相同的哈希序列和结果。我们的私钥永远不会离开安全的服务器;公钥可以在客户端安全地用于独立验证。",step1Desc:"我们将 gameId、tenantId、tenantUserId、每轮随机数以及你的 clientSeed 组合在一起。相同的输入始终会产生相同的随机流和结果。",step1Title:"确定性种子",step2Title:"生成随机数",step3Desc:"任何人都可以使用我们的公钥验证给定输入的 proofString。这证实了随机数与种子匹配,并且未被篡改。",step3Title:"验证证明",step4Title:"得出结果",step5Title:"生殖"},invalidGame:"提供的游戏类型无效。",learnMore:"了解更多",newClientSeed:"新客户种子",noBettingHistory:"没有投注记录",outcomeCalculationInfo:"每场比赛的结果都是使用随机值作为输入来计算的。",outcomeNotVerified:"这场比赛的结果无法核实",outcomeVerified:"本场比赛的结果已经过验证,且可证明是公平的",proof:"证明",publicKey:"公钥",randomness:"随机性",request:"要求",saveClientSeed:"保存客户端种子",verifyOutcome:"验证结果"},gameInfo:{dice:{how1:"选择向下滚动或向上滚动。",how2:"设定你的目标数字。",how3:"设置您的投注金额并下注。",how4:"我们生成一个随机结果(在游戏中以 0-99.99 的刻度显示)。",how5:"如果结果在您选择的范围内,您就获胜。",how6:"您的支出是赌注 x 显示的乘数,该乘数会随着您移动滑块而更新。",overview:"设定目标数字,并选择掷出的点数低于或高于该数字。移动滑块可以改变您的获胜概率和乘数——概率越高,乘数越低;概率越低,乘数越高。游戏的每个回合都是一次独立的掷骰。",provablyFair:"我们的可验证随机数系统生成每次掷骰的结果。每一轮结束后,您都可以查看输入和证明,使用我们的公钥验证结果,并重现相同的结果。",strategyTip:"选择您的波动性。较低的获胜概率会产生较大的乘数,但中奖的概率较低。较高的获胜概率会产生较小的乘数,但中奖的概率较高。根据你的资金规模调整投注,以获得更稳定的波动。"},keno:{how1:"在 1–40 的棋盘上选择 1–10 块牌。",how2:"设置您的投注金额并下注。",how3:"我们抽取 10 个中奖号码;您的匹配结果将被突出显示。",how4:"赔付取决于您选择的牌的数量和您击中的次数 - 请查看赔付表。",how5:"您输入的数字不能超过您选择的数字,最大选择数为 10。",overview:"选择您的幸运数字,并尝试匹配抽奖。您可以从1-40个数字中选择1-10个数字,然后我们抽取10个数字。您选择的数字中奖次数越多,您的奖金就越高。",provablyFair:"我们的可验证随机数系统生成每一次基诺彩票开奖。每一轮结束后,您都可以查看输入和证明,使用我们的公钥验证结果,并重现相同的结果。",strategyTip:"选择您的波动性。选择较少的点数意味着中奖机会较少,但乘数更高。选择较多的点数意味着中奖频率更高,但每次中奖的平均回报较低。中等波动性可以平衡中奖率和赔付。根据您的风险偏好和资金规模调整您的投注额。"},limbo:{how1:"设定您的目标乘数。",how2:"设置您的投注金额并下注。",how3:"我们生成一个随机结果乘数。",how4:"如果结果大于或等于您的目标,您就获胜。",how5:"您的支出是赌注 x 您的目标乘数;否则,您将输掉赌注。",overview:"在《Limbo》中,您可以设定期望的赔付金额,游戏会随机抽取一个结果乘数。如果结果至少达到您的目标金额,您就赢了。如果结果低于您的目标金额,您就输了。概率越高,乘数越低;概率越低,乘数越高。",provablyFair:"我们的可验证随机数系统生成 Limbo 的每一个结果。每一轮结束后,您都可以查看输入和证明,使用我们的公钥验证结果,并重现相同的结果。",strategyTip:"目标较低者获胜概率更高,但回报较低;目标较高者获胜概率较低,但回报较高。建议每局游戏设定固定目标,或偶尔进行一些高风险投注,并持续调整投注规模以控制波动。"},mines:{how1:"选择本轮的地雷数量。",how2:"设置您的投注金额并下注。",how3:"单击方块即可将其显示出来:安全的方块会增加您的乘数;地雷会结束回合。",how4:"您可以随时兑现以锁定当前的乘数。",how5:"当您兑现时,您的支出是赌注 x 当前乘数。",how6:"当您兑现或发现地雷时,回合结束。",overview:"地雷游戏的玩法是选择安全牌并决定何时支付。回合开始前,选择棋盘上隐藏的地雷数量。每显示一个安全牌,您的倍数就会增加。击中一个地雷,回合结束,不支付任何奖励。",provablyFair:"我们的可验证随机数系统会生成每个棋盘的隐藏矿井布局。每一轮结束后,您都可以查看输入和证明,使用我们的公钥验证结果,并重现相同的结果。",strategyTip:"选择您的波动性。地雷数量越少,每次开局的乘数越小,开局风险也越高。地雷数量越多,开局风险也越大,乘数也越大。设定目标或使用止损来管理波动。保持一致的投注规模和有纪律的套现有助于控制波动。"},strategyTitle:"战略",tutorial:"教程"},games:{dice:{rollOver:"滚下",rollUnder:"滚下"},keno:{autoPick:"自动选择",clearTable:"清除",kenoGameGrid:"基诺游戏网格",kenoNumber:"基诺号码",selectAtLeastOneTile:"请至少选择一个图块",selectTileToAutobet:"请至少选择一个图块"},limbo:{multiplierError:"必须介于 {min} 和 {max} 之间",targetMultiplier:"乘数",winChanceError:"必须介于 {min} 和 {max} 之间"},mines:{cashout:"提现",gem:"宝石",gems:"宝石",mine:"矿",mines:"矿山",nextGem:"下一颗宝石",selectRandomTile:"选择随机图块",selectTileToAutobet:"请至少选择一张牌进行自动下注",tile:"瓦",unrevealed:"未披露"}},hotkeys:{doubleBet:"双倍投注金额",halveBet:"投注金额减半",higherTarget:"更高的目标",info:"启用快捷键后,该游戏将一直保持启用状态,直至禁用为止。尽管有些游戏的按键绑定类似,但始终建议确认每款游戏的快捷键。",lowerTarget:"降低目标",makeBet:"下注",toggleWinCondition:"切换胜利条件",zeroBet:"零投注金额"},modals:{betResult:"投注结果",fairnessAndHistory:"公平与历史",gameArea:"游戏区",gameControls:"游戏控制",gameInfo:"游戏信息"}}});var it=Ia((Ci,ae)=>{typeof document!=="undefined"&&typeof navigator!=="undefined"&&function(a,i){typeof Ci==="object"&&typeof ae!=="undefined"?ae.exports=i():typeof define==="function"&&define.amd?define(i):(a=typeof globalThis!=="undefined"?globalThis:a||self,a.lottie=i())}(Ci,function(){var svgNS="http://www.w3.org/2000/svg",locationHref="",_useWebWorker=!1,initialDefaultFrame=-999999,setWebWorker=function a(i){_useWebWorker=!!i},getWebWorker=function a(){return _useWebWorker},setLocationHref=function a(i){locationHref=i},getLocationHref=function a(){return locationHref};function createTag(a){return document.createElement(a)}function extendPrototype(a,i){var e,o=a.length,r;for(e=0;e<o;e+=1){r=a[e].prototype;for(var n in r)if(Object.prototype.hasOwnProperty.call(r,n))i.prototype[n]=r[n]}}function getDescriptor(a,i){return Object.getOwnPropertyDescriptor(a,i)}function createProxyFunction(a){function i(){}return i.prototype=a,i}var audioControllerFactory=function(){function a(i){this.audios=[],this.audioFactory=i,this._volume=1,this._isMuted=!1}return a.prototype={addAudio:function i(e){this.audios.push(e)},pause:function i(){var e,o=this.audios.length;for(e=0;e<o;e+=1)this.audios[e].pause()},resume:function i(){var e,o=this.audios.length;for(e=0;e<o;e+=1)this.audios[e].resume()},setRate:function i(e){var o,r=this.audios.length;for(o=0;o<r;o+=1)this.audios[o].setRate(e)},createAudio:function i(e){if(this.audioFactory)return this.audioFactory(e);if(window.Howl)return new window.Howl({src:[e]});return{isPlaying:!1,play:function o(){this.isPlaying=!0},seek:function o(){this.isPlaying=!1},playing:function o(){},rate:function o(){},setVolume:function o(){}}},setAudioFactory:function i(e){this.audioFactory=e},setVolume:function i(e){this._volume=e,this._updateVolume()},mute:function i(){this._isMuted=!0,this._updateVolume()},unmute:function i(){this._isMuted=!1,this._updateVolume()},getVolume:function i(){return this._volume},_updateVolume:function i(){var e,o=this.audios.length;for(e=0;e<o;e+=1)this.audios[e].volume(this._volume*(this._isMuted?0:1))}},function(){return new a}}(),createTypedArray=function(){function a(e,o){var r=0,n=[],t;switch(e){case"int16":case"uint8c":t=1;break;default:t=1.1;break}for(r=0;r<o;r+=1)n.push(t);return n}function i(e,o){if(e==="float32")return new Float32Array(o);if(e==="int16")return new Int16Array(o);if(e==="uint8c")return new Uint8ClampedArray(o);return a(e,o)}if(typeof Uint8ClampedArray==="function"&&typeof Float32Array==="function")return i;return a}();function createSizedArray(a){return Array.apply(null,{length:a})}function _typeof$6(a){return _typeof$6=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(i){return typeof i}:function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},_typeof$6(a)}var subframeEnabled=!0,expressionsPlugin=null,expressionsInterfaces=null,idPrefix$1="",isSafari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),_shouldRoundValues=!1,bmPow=Math.pow,bmSqrt=Math.sqrt,bmFloor=Math.floor,bmMax=Math.max,bmMin=Math.min,BMMath={};(function(){var a=["abs","acos","acosh","asin","asinh","atan","atanh","atan2","ceil","cbrt","expm1","clz32","cos","cosh","exp","floor","fround","hypot","imul","log","log1p","log2","log10","max","min","pow","random","round","sign","sin","sinh","sqrt","tan","tanh","trunc","E","LN10","LN2","LOG10E","LOG2E","PI","SQRT1_2","SQRT2"],i,e=a.length;for(i=0;i<e;i+=1)BMMath[a[i]]=Math[a[i]]})();function ProjectInterface$1(){return{}}BMMath.random=Math.random,BMMath.abs=function(a){var i=_typeof$6(a);if(i==="object"&&a.length){var e=createSizedArray(a.length),o,r=a.length;for(o=0;o<r;o+=1)e[o]=Math.abs(a[o]);return e}return Math.abs(a)};var defaultCurveSegments=150,degToRads=Math.PI/180,roundCorner=0.5519;function roundValues(a){_shouldRoundValues=!!a}function bmRnd(a){if(_shouldRoundValues)return Math.round(a);return a}function styleDiv(a){a.style.position="absolute",a.style.top=0,a.style.left=0,a.style.display="block",a.style.transformOrigin="0 0",a.style.webkitTransformOrigin="0 0",a.style.backfaceVisibility="visible",a.style.webkitBackfaceVisibility="visible",a.style.transformStyle="preserve-3d",a.style.webkitTransformStyle="preserve-3d",a.style.mozTransformStyle="preserve-3d"}function BMEnterFrameEvent(a,i,e,o){this.type=a,this.currentTime=i,this.totalTime=e,this.direction=o<0?-1:1}function BMCompleteEvent(a,i){this.type=a,this.direction=i<0?-1:1}function BMCompleteLoopEvent(a,i,e,o){this.type=a,this.currentLoop=e,this.totalLoops=i,this.direction=o<0?-1:1}function BMSegmentStartEvent(a,i,e){this.type=a,this.firstFrame=i,this.totalFrames=e}function BMDestroyEvent(a,i){this.type=a,this.target=i}function BMRenderFrameErrorEvent(a,i){this.type="renderFrameError",this.nativeError=a,this.currentTime=i}function BMConfigErrorEvent(a){this.type="configError",this.nativeError=a}function BMAnimationConfigErrorEvent(a,i){this.type=a,this.nativeError=i}var createElementID=function(){var a=0;return function i(){return a+=1,idPrefix$1+"__lottie_element_"+a}}();function HSVtoRGB(a,i,e){var o,r,n,t,s,l,u,h;switch(t=Math.floor(a*6),s=a*6-t,l=e*(1-i),u=e*(1-s*i),h=e*(1-(1-s)*i),t%6){case 0:o=e,r=h,n=l;break;case 1:o=u,r=e,n=l;break;case 2:o=l,r=e,n=h;break;case 3:o=l,r=u,n=e;break;case 4:o=h,r=l,n=e;break;case 5:o=e,r=l,n=u;break;default:break}return[o,r,n]}function RGBtoHSV(a,i,e){var o=Math.max(a,i,e),r=Math.min(a,i,e),n=o-r,t,s=o===0?0:n/o,l=o/255;switch(o){case r:t=0;break;case a:t=i-e+n*(i<e?6:0),t/=6*n;break;case i:t=e-a+n*2,t/=6*n;break;case e:t=a-i+n*4,t/=6*n;break;default:break}return[t,s,l]}function addSaturationToRGB(a,i){var e=RGBtoHSV(a[0]*255,a[1]*255,a[2]*255);if(e[1]+=i,e[1]>1)e[1]=1;else if(e[1]<=0)e[1]=0;return HSVtoRGB(e[0],e[1],e[2])}function addBrightnessToRGB(a,i){var e=RGBtoHSV(a[0]*255,a[1]*255,a[2]*255);if(e[2]+=i,e[2]>1)e[2]=1;else if(e[2]<0)e[2]=0;return HSVtoRGB(e[0],e[1],e[2])}function addHueToRGB(a,i){var e=RGBtoHSV(a[0]*255,a[1]*255,a[2]*255);if(e[0]+=i/360,e[0]>1)e[0]-=1;else if(e[0]<0)e[0]+=1;return HSVtoRGB(e[0],e[1],e[2])}var rgbToHex=function(){var a=[],i,e;for(i=0;i<256;i+=1)e=i.toString(16),a[i]=e.length===1?"0"+e:e;return function(o,r,n){if(o<0)o=0;if(r<0)r=0;if(n<0)n=0;return"#"+a[o]+a[r]+a[n]}}(),setSubframeEnabled=function a(i){subframeEnabled=!!i},getSubframeEnabled=function a(){return subframeEnabled},setExpressionsPlugin=function a(i){expressionsPlugin=i},getExpressionsPlugin=function a(){return expressionsPlugin},setExpressionInterfaces=function a(i){expressionsInterfaces=i},getExpressionInterfaces=function a(){return expressionsInterfaces},setDefaultCurveSegments=function a(i){defaultCurveSegments=i},getDefaultCurveSegments=function a(){return defaultCurveSegments},setIdPrefix=function a(i){idPrefix$1=i},getIdPrefix=function a(){return idPrefix$1};function createNS(a){return document.createElementNS(svgNS,a)}function _typeof$5(a){return _typeof$5=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(i){return typeof i}:function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},_typeof$5(a)}var dataManager=function(){var a=1,i=[],e,o,r={onmessage:function c(){},postMessage:function c(y){e({data:y})}},n={postMessage:function c(y){r.onmessage({data:y})}};function t(c){if(window.Worker&&window.Blob&&getWebWorker()){var y=new Blob(["var _workerSelf = self; self.onmessage = ",c.toString()],{type:"text/javascript"}),g=URL.createObjectURL(y);return new Worker(g)}return e=c,r}function s(){if(!o)o=t(function c(y){function g(){function I(O,H){var Z,w,x=O.length,V,B,A,ia;for(w=0;w<x;w+=1)if(Z=O[w],"ks"in Z&&!Z.completed){if(Z.completed=!0,Z.hasMask){var ra=Z.masksProperties;B=ra.length;for(V=0;V<B;V+=1)if(ra[V].pt.k.i)S(ra[V].pt.k);else{ia=ra[V].pt.k.length;for(A=0;A<ia;A+=1){if(ra[V].pt.k[A].s)S(ra[V].pt.k[A].s[0]);if(ra[V].pt.k[A].e)S(ra[V].pt.k[A].e[0])}}}if(Z.ty===0)Z.layers=p(Z.refId,H),I(Z.layers,H);else if(Z.ty===4)k(Z.shapes);else if(Z.ty===5)U(Z)}}function m(O,H){if(O){var Z=0,w=O.length;for(Z=0;Z<w;Z+=1)if(O[Z].t===1)O[Z].data.layers=p(O[Z].data.refId,H),I(O[Z].data.layers,H)}}function v(O,H){var Z=0,w=H.length;while(Z<w){if(H[Z].id===O)return H[Z];Z+=1}return null}function p(O,H){var Z=v(O,H);if(Z){if(!Z.layers.__used)return Z.layers.__used=!0,Z.layers;return JSON.parse(JSON.stringify(Z.layers))}return null}function k(O){var H,Z=O.length,w,x;for(H=Z-1;H>=0;H-=1)if(O[H].ty==="sh")if(O[H].ks.k.i)S(O[H].ks.k);else{x=O[H].ks.k.length;for(w=0;w<x;w+=1){if(O[H].ks.k[w].s)S(O[H].ks.k[w].s[0]);if(O[H].ks.k[w].e)S(O[H].ks.k[w].e[0])}}else if(O[H].ty==="gr")k(O[H].it)}function S(O){var H,Z=O.i.length;for(H=0;H<Z;H+=1)O.i[H][0]+=O.v[H][0],O.i[H][1]+=O.v[H][1],O.o[H][0]+=O.v[H][0],O.o[H][1]+=O.v[H][1]}function F(O,H){var Z=H?H.split("."):[100,100,100];if(O[0]>Z[0])return!0;if(Z[0]>O[0])return!1;if(O[1]>Z[1])return!0;if(Z[1]>O[1])return!1;if(O[2]>Z[2])return!0;if(Z[2]>O[2])return!1;return null}var K=function(){var O=[4,4,14];function H(w){var x=w.t.d;w.t.d={k:[{s:x,t:0}]}}function Z(w){var x,V=w.length;for(x=0;x<V;x+=1)if(w[x].ty===5)H(w[x])}return function(w){if(F(O,w.v)){if(Z(w.layers),w.assets){var x,V=w.assets.length;for(x=0;x<V;x+=1)if(w.assets[x].layers)Z(w.assets[x].layers)}}}}(),R=function(){var O=[4,7,99];return function(H){if(H.chars&&!F(O,H.v)){var Z,w=H.chars.length;for(Z=0;Z<w;Z+=1){var x=H.chars[Z];if(x.data&&x.data.shapes){if(k(x.data.shapes),x.data.ip=0,x.data.op=99999,x.data.st=0,x.data.sr=1,x.data.ks={p:{k:[0,0],a:0},s:{k:[100,100],a:0},a:{k:[0,0],a:0},r:{k:0,a:0},o:{k:100,a:0}},!H.chars[Z].t)x.data.shapes.push({ty:"no"}),x.data.shapes[0].it.push({p:{k:[0,0],a:0},s:{k:[100,100],a:0},a:{k:[0,0],a:0},r:{k:0,a:0},o:{k:100,a:0},sk:{k:0,a:0},sa:{k:0,a:0},ty:"tr"})}}}}}(),L=function(){var O=[5,7,15];function H(w){var x=w.t.p;if(typeof x.a==="number")x.a={a:0,k:x.a};if(typeof x.p==="number")x.p={a:0,k:x.p};if(typeof x.r==="number")x.r={a:0,k:x.r}}function Z(w){var x,V=w.length;for(x=0;x<V;x+=1)if(w[x].ty===5)H(w[x])}return function(w){if(F(O,w.v)){if(Z(w.layers),w.assets){var x,V=w.assets.length;for(x=0;x<V;x+=1)if(w.assets[x].layers)Z(w.assets[x].layers)}}}}(),M=function(){var O=[4,1,9];function H(w){var x,V=w.length,B,A;for(x=0;x<V;x+=1)if(w[x].ty==="gr")H(w[x].it);else if(w[x].ty==="fl"||w[x].ty==="st")if(w[x].c.k&&w[x].c.k[0].i){A=w[x].c.k.length;for(B=0;B<A;B+=1){if(w[x].c.k[B].s)w[x].c.k[B].s[0]/=255,w[x].c.k[B].s[1]/=255,w[x].c.k[B].s[2]/=255,w[x].c.k[B].s[3]/=255;if(w[x].c.k[B].e)w[x].c.k[B].e[0]/=255,w[x].c.k[B].e[1]/=255,w[x].c.k[B].e[2]/=255,w[x].c.k[B].e[3]/=255}}else w[x].c.k[0]/=255,w[x].c.k[1]/=255,w[x].c.k[2]/=255,w[x].c.k[3]/=255}function Z(w){var x,V=w.length;for(x=0;x<V;x+=1)if(w[x].ty===4)H(w[x].shapes)}return function(w){if(F(O,w.v)){if(Z(w.layers),w.assets){var x,V=w.assets.length;for(x=0;x<V;x+=1)if(w.assets[x].layers)Z(w.assets[x].layers)}}}}(),X=function(){var O=[4,4,18];function H(w){var x,V=w.length,B,A;for(x=V-1;x>=0;x-=1)if(w[x].ty==="sh")if(w[x].ks.k.i)w[x].ks.k.c=w[x].closed;else{A=w[x].ks.k.length;for(B=0;B<A;B+=1){if(w[x].ks.k[B].s)w[x].ks.k[B].s[0].c=w[x].closed;if(w[x].ks.k[B].e)w[x].ks.k[B].e[0].c=w[x].closed}}else if(w[x].ty==="gr")H(w[x].it)}function Z(w){var x,V,B=w.length,A,ia,ra,la;for(V=0;V<B;V+=1){if(x=w[V],x.hasMask){var da=x.masksProperties;ia=da.length;for(A=0;A<ia;A+=1)if(da[A].pt.k.i)da[A].pt.k.c=da[A].cl;else{la=da[A].pt.k.length;for(ra=0;ra<la;ra+=1){if(da[A].pt.k[ra].s)da[A].pt.k[ra].s[0].c=da[A].cl;if(da[A].pt.k[ra].e)da[A].pt.k[ra].e[0].c=da[A].cl}}}if(x.ty===4)H(x.shapes)}}return function(w){if(F(O,w.v)){if(Z(w.layers),w.assets){var x,V=w.assets.length;for(x=0;x<V;x+=1)if(w.assets[x].layers)Z(w.assets[x].layers)}}}}();function _(O){if(O.__complete)return;M(O),K(O),R(O),L(O),X(O),I(O.layers,O.assets),m(O.chars,O.assets),O.__complete=!0}function U(O){if(O.t.a.length===0&&!("m"in O.t.p));}var G={};return G.completeData=_,G.checkColors=M,G.checkChars=R,G.checkPathProperties=L,G.checkShapes=X,G.completeLayers=I,G}if(!n.dataManager)n.dataManager=g();if(!n.assetLoader)n.assetLoader=function(){function I(v){var p=v.getResponseHeader("content-type");if(p&&v.responseType==="json"&&p.indexOf("json")!==-1)return v.response;if(v.response&&_typeof$5(v.response)==="object")return v.response;if(v.response&&typeof v.response==="string")return JSON.parse(v.response);if(v.responseText)return JSON.parse(v.responseText);return null}function m(v,p,k,S){var F,K=new XMLHttpRequest;try{K.responseType="json"}catch(R){}K.onreadystatechange=function(){if(K.readyState===4)if(K.status===200)F=I(K),k(F);else try{F=I(K),k(F)}catch(R){if(S)S(R)}};try{K.open(["G","E","T"].join(""),v,!0)}catch(R){K.open(["G","E","T"].join(""),p+"/"+v,!0)}K.send()}return{load:m}}();if(y.data.type==="loadAnimation")n.assetLoader.load(y.data.path,y.data.fullPath,function(I){n.dataManager.completeData(I),n.postMessage({id:y.data.id,payload:I,status:"success"})},function(){n.postMessage({id:y.data.id,status:"error"})});else if(y.data.type==="complete"){var b=y.data.animation;n.dataManager.completeData(b),n.postMessage({id:y.data.id,payload:b,status:"success"})}else if(y.data.type==="loadData")n.assetLoader.load(y.data.path,y.data.fullPath,function(I){n.postMessage({id:y.data.id,payload:I,status:"success"})},function(){n.postMessage({id:y.data.id,status:"error"})})}),o.onmessage=function(c){var y=c.data,g=y.id,b=i[g];if(i[g]=null,y.status==="success")b.onComplete(y.payload);else if(b.onError)b.onError()}}function l(c,y){a+=1;var g="processId_"+a;return i[g]={onComplete:c,onError:y},g}function u(c,y,g){s();var b=l(y,g);o.postMessage({type:"loadAnimation",path:c,fullPath:window.location.origin+window.location.pathname,id:b})}function h(c,y,g){s();var b=l(y,g);o.postMessage({type:"loadData",path:c,fullPath:window.location.origin+window.location.pathname,id:b})}function f(c,y,g){s();var b=l(y,g);o.postMessage({type:"complete",animation:c,id:b})}return{loadAnimation:u,loadData:h,completeAnimation:f}}(),ImagePreloader=function(){var a=function(){var m=createTag("canvas");m.width=1,m.height=1;var v=m.getContext("2d");return v.fillStyle="rgba(0,0,0,0)",v.fillRect(0,0,1,1),m}();function i(){if(this.loadedAssets+=1,this.loadedAssets===this.totalImages&&this.loadedFootagesCount===this.totalFootages){if(this.imagesLoadedCb)this.imagesLoadedCb(null)}}function e(){if(this.loadedFootagesCount+=1,this.loadedAssets===this.totalImages&&this.loadedFootagesCount===this.totalFootages){if(this.imagesLoadedCb)this.imagesLoadedCb(null)}}function o(m,v,p){var k="";if(m.e)k=m.p;else if(v){var S=m.p;if(S.indexOf("images/")!==-1)S=S.split("/")[1];k=v+S}else k=p,k+=m.u?m.u:"",k+=m.p;return k}function r(m){var v=0,p=setInterval(function(){var k=m.getBBox();if(k.width||v>500)this._imageLoaded(),clearInterval(p);v+=1}.bind(this),50)}function n(m){var v=o(m,this.assetsPath,this.path),p=createNS("image");if(isSafari)this.testImageLoaded(p);else p.addEventListener("load",this._imageLoaded,!1);if(p.addEventListener("error",function(){k.img=a,this._imageLoaded()}.bind(this),!1),p.setAttributeNS("http://www.w3.org/1999/xlink","href",v),this._elementHelper.append)this._elementHelper.append(p);else this._elementHelper.appendChild(p);var k={img:p,assetData:m};return k}function t(m){var v=o(m,this.assetsPath,this.path),p=createTag("img");p.crossOrigin="anonymous",p.addEventListener("load",this._imageLoaded,!1),p.addEventListener("error",function(){k.img=a,this._imageLoaded()}.bind(this),!1),p.src=v;var k={img:p,assetData:m};return k}function s(m){var v={assetData:m},p=o(m,this.assetsPath,this.path);return dataManager.loadData(p,function(k){v.img=k,this._footageLoaded()}.bind(this),function(){v.img={},this._footageLoaded()}.bind(this)),v}function l(m,v){this.imagesLoadedCb=v;var p,k=m.length;for(p=0;p<k;p+=1)if(!m[p].layers){if(!m[p].t||m[p].t==="seq")this.totalImages+=1,this.images.push(this._createImageData(m[p]));else if(m[p].t===3)this.totalFootages+=1,this.images.push(this.createFootageData(m[p]))}}function u(m){this.path=m||""}function h(m){this.assetsPath=m||""}function f(m){var v=0,p=this.images.length;while(v<p){if(this.images[v].assetData===m)return this.images[v].img;v+=1}return null}function c(){this.imagesLoadedCb=null,this.images.length=0}function y(){return this.totalImages===this.loadedAssets}function g(){return this.totalFootages===this.loadedFootagesCount}function b(m,v){if(m==="svg")this._elementHelper=v,this._createImageData=this.createImageData.bind(this);else this._createImageData=this.createImgData.bind(this)}function I(){this._imageLoaded=i.bind(this),this._footageLoaded=e.bind(this),this.testImageLoaded=r.bind(this),this.createFootageData=s.bind(this),this.assetsPath="",this.path="",this.totalImages=0,this.totalFootages=0,this.loadedAssets=0,this.loadedFootagesCount=0,this.imagesLoadedCb=null,this.images=[]}return I.prototype={loadAssets:l,setAssetsPath:h,setPath:u,loadedImages:y,loadedFootages:g,destroy:c,getAsset:f,createImgData:t,createImageData:n,imageLoaded:i,footageLoaded:e,setCacheType:b},I}();function BaseEvent(){}BaseEvent.prototype={triggerEvent:function a(i,e){if(this._cbs[i]){var o=this._cbs[i];for(var r=0;r<o.length;r+=1)o[r](e)}},addEventListener:function a(i,e){if(!this._cbs[i])this._cbs[i]=[];return this._cbs[i].push(e),function(){this.removeEventListener(i,e)}.bind(this)},removeEventListener:function a(i,e){if(!e)this._cbs[i]=null;else if(this._cbs[i]){var o=0,r=this._cbs[i].length;while(o<r){if(this._cbs[i][o]===e)this._cbs[i].splice(o,1),o-=1,r-=1;o+=1}if(!this._cbs[i].length)this._cbs[i]=null}}};var markerParser=function(){function a(i){var e=i.split(`\r
|
|
2
|
-
`),o={},r,n=0;for(var t=0;t<e.length;t+=1)if(r=e[t].split(":"),r.length===2)o[r[0]]=r[1].trim(),n+=1;if(n===0)throw new Error;return o}return function(i){var e=[];for(var o=0;o<i.length;o+=1){var r=i[o],n={time:r.tm,duration:r.dr};try{n.payload=JSON.parse(i[o].cm)}catch(t){try{n.payload=a(i[o].cm)}catch(s){n.payload={name:i[o].cm}}}e.push(n)}return e}}(),ProjectInterface=function(){function a(i){this.compositions.push(i)}return function(){function i(e){var o=0,r=this.compositions.length;while(o<r){if(this.compositions[o].data&&this.compositions[o].data.nm===e){if(this.compositions[o].prepareFrame&&this.compositions[o].data.xt)this.compositions[o].prepareFrame(this.currentFrame);return this.compositions[o].compInterface}o+=1}return null}return i.compositions=[],i.currentFrame=0,i.registerComposition=a,i}}(),renderers={},registerRenderer=function a(i,e){renderers[i]=e};function getRenderer(a){return renderers[a]}function getRegisteredRenderer(){if(renderers.canvas)return"canvas";for(var a in renderers)if(renderers[a])return a;return""}function _typeof$4(a){return _typeof$4=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(i){return typeof i}:function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},_typeof$4(a)}var AnimationItem=function a(){this._cbs=[],this.name="",this.path="",this.isLoaded=!1,this.currentFrame=0,this.currentRawFrame=0,this.firstFrame=0,this.totalFrames=0,this.frameRate=0,this.frameMult=0,this.playSpeed=1,this.playDirection=1,this.playCount=0,this.animationData={},this.assets=[],this.isPaused=!0,this.autoplay=!1,this.loop=!0,this.renderer=null,this.animationID=createElementID(),this.assetsPath="",this.timeCompleted=0,this.segmentPos=0,this.isSubframeEnabled=getSubframeEnabled(),this.segments=[],this._idle=!0,this._completedLoop=!1,this.projectInterface=ProjectInterface(),this.imagePreloader=new ImagePreloader,this.audioController=audioControllerFactory(),this.markers=[],this.configAnimation=this.configAnimation.bind(this),this.onSetupError=this.onSetupError.bind(this),this.onSegmentComplete=this.onSegmentComplete.bind(this),this.drawnFrameEvent=new BMEnterFrameEvent("drawnFrame",0,0,0),this.expressionsPlugin=getExpressionsPlugin()};extendPrototype([BaseEvent],AnimationItem),AnimationItem.prototype.setParams=function(a){if(a.wrapper||a.container)this.wrapper=a.wrapper||a.container;var i="svg";if(a.animType)i=a.animType;else if(a.renderer)i=a.renderer;var e=getRenderer(i);if(this.renderer=new e(this,a.rendererSettings),this.imagePreloader.setCacheType(i,this.renderer.globalData.defs),this.renderer.setProjectInterface(this.projectInterface),this.animType=i,a.loop===""||a.loop===null||a.loop===void 0||a.loop===!0)this.loop=!0;else if(a.loop===!1)this.loop=!1;else this.loop=parseInt(a.loop,10);if(this.autoplay="autoplay"in a?a.autoplay:!0,this.name=a.name?a.name:"",this.autoloadSegments=Object.prototype.hasOwnProperty.call(a,"autoloadSegments")?a.autoloadSegments:!0,this.assetsPath=a.assetsPath,this.initialSegment=a.initialSegment,a.audioFactory)this.audioController.setAudioFactory(a.audioFactory);if(a.animationData)this.setupAnimation(a.animationData);else if(a.path){if(a.path.lastIndexOf("\\")!==-1)this.path=a.path.substr(0,a.path.lastIndexOf("\\")+1);else this.path=a.path.substr(0,a.path.lastIndexOf("/")+1);this.fileName=a.path.substr(a.path.lastIndexOf("/")+1),this.fileName=this.fileName.substr(0,this.fileName.lastIndexOf(".json")),dataManager.loadAnimation(a.path,this.configAnimation,this.onSetupError)}},AnimationItem.prototype.onSetupError=function(){this.trigger("data_failed")},AnimationItem.prototype.setupAnimation=function(a){dataManager.completeAnimation(a,this.configAnimation)},AnimationItem.prototype.setData=function(a,i){if(i){if(_typeof$4(i)!=="object")i=JSON.parse(i)}var e={wrapper:a,animationData:i},o=a.attributes;e.path=o.getNamedItem("data-animation-path")?o.getNamedItem("data-animation-path").value:o.getNamedItem("data-bm-path")?o.getNamedItem("data-bm-path").value:o.getNamedItem("bm-path")?o.getNamedItem("bm-path").value:"",e.animType=o.getNamedItem("data-anim-type")?o.getNamedItem("data-anim-type").value:o.getNamedItem("data-bm-type")?o.getNamedItem("data-bm-type").value:o.getNamedItem("bm-type")?o.getNamedItem("bm-type").value:o.getNamedItem("data-bm-renderer")?o.getNamedItem("data-bm-renderer").value:o.getNamedItem("bm-renderer")?o.getNamedItem("bm-renderer").value:getRegisteredRenderer()||"canvas";var r=o.getNamedItem("data-anim-loop")?o.getNamedItem("data-anim-loop").value:o.getNamedItem("data-bm-loop")?o.getNamedItem("data-bm-loop").value:o.getNamedItem("bm-loop")?o.getNamedItem("bm-loop").value:"";if(r==="false")e.loop=!1;else if(r==="true")e.loop=!0;else if(r!=="")e.loop=parseInt(r,10);var n=o.getNamedItem("data-anim-autoplay")?o.getNamedItem("data-anim-autoplay").value:o.getNamedItem("data-bm-autoplay")?o.getNamedItem("data-bm-autoplay").value:o.getNamedItem("bm-autoplay")?o.getNamedItem("bm-autoplay").value:!0;e.autoplay=n!=="false",e.name=o.getNamedItem("data-name")?o.getNamedItem("data-name").value:o.getNamedItem("data-bm-name")?o.getNamedItem("data-bm-name").value:o.getNamedItem("bm-name")?o.getNamedItem("bm-name").value:"";var t=o.getNamedItem("data-anim-prerender")?o.getNamedItem("data-anim-prerender").value:o.getNamedItem("data-bm-prerender")?o.getNamedItem("data-bm-prerender").value:o.getNamedItem("bm-prerender")?o.getNamedItem("bm-prerender").value:"";if(t==="false")e.prerender=!1;if(!e.path)this.trigger("destroy");else this.setParams(e)},AnimationItem.prototype.includeLayers=function(a){if(a.op>this.animationData.op)this.animationData.op=a.op,this.totalFrames=Math.floor(a.op-this.animationData.ip);var i=this.animationData.layers,e,o=i.length,r=a.layers,n,t=r.length;for(n=0;n<t;n+=1){e=0;while(e<o){if(i[e].id===r[n].id){i[e]=r[n];break}e+=1}}if(a.chars||a.fonts)this.renderer.globalData.fontManager.addChars(a.chars),this.renderer.globalData.fontManager.addFonts(a.fonts,this.renderer.globalData.defs);if(a.assets){o=a.assets.length;for(e=0;e<o;e+=1)this.animationData.assets.push(a.assets[e])}this.animationData.__complete=!1,dataManager.completeAnimation(this.animationData,this.onSegmentComplete)},AnimationItem.prototype.onSegmentComplete=function(a){this.animationData=a;var i=getExpressionsPlugin();if(i)i.initExpressions(this);this.loadNextSegment()},AnimationItem.prototype.loadNextSegment=function(){var a=this.animationData.segments;if(!a||a.length===0||!this.autoloadSegments){this.trigger("data_ready"),this.timeCompleted=this.totalFrames;return}var i=a.shift();this.timeCompleted=i.time*this.frameRate;var e=this.path+this.fileName+"_"+this.segmentPos+".json";this.segmentPos+=1,dataManager.loadData(e,this.includeLayers.bind(this),function(){this.trigger("data_failed")}.bind(this))},AnimationItem.prototype.loadSegments=function(){var a=this.animationData.segments;if(!a)this.timeCompleted=this.totalFrames;this.loadNextSegment()},AnimationItem.prototype.imagesLoaded=function(){this.trigger("loaded_images"),this.checkLoaded()},AnimationItem.prototype.preloadImages=function(){this.imagePreloader.setAssetsPath(this.assetsPath),this.imagePreloader.setPath(this.path),this.imagePreloader.loadAssets(this.animationData.assets,this.imagesLoaded.bind(this))},AnimationItem.prototype.configAnimation=function(a){if(!this.renderer)return;try{if(this.animationData=a,this.initialSegment)this.totalFrames=Math.floor(this.initialSegment[1]-this.initialSegment[0]),this.firstFrame=Math.round(this.initialSegment[0]);else this.totalFrames=Math.floor(this.animationData.op-this.animationData.ip),this.firstFrame=Math.round(this.animationData.ip);if(this.renderer.configAnimation(a),!a.assets)a.assets=[];if(this.assets=this.animationData.assets,this.frameRate=this.animationData.fr,this.frameMult=this.animationData.fr/1000,this.renderer.searchExtraCompositions(a.assets),this.markers=markerParser(a.markers||[]),this.trigger("config_ready"),this.preloadImages(),this.loadSegments(),this.updaFrameModifier(),this.waitForFontsLoaded(),this.isPaused)this.audioController.pause()}catch(i){this.triggerConfigError(i)}},AnimationItem.prototype.waitForFontsLoaded=function(){if(!this.renderer)return;if(this.renderer.globalData.fontManager.isLoaded)this.checkLoaded();else setTimeout(this.waitForFontsLoaded.bind(this),20)},AnimationItem.prototype.checkLoaded=function(){if(!this.isLoaded&&this.renderer.globalData.fontManager.isLoaded&&(this.imagePreloader.loadedImages()||this.renderer.rendererType!=="canvas")&&this.imagePreloader.loadedFootages()){this.isLoaded=!0;var a=getExpressionsPlugin();if(a)a.initExpressions(this);if(this.renderer.initItems(),setTimeout(function(){this.trigger("DOMLoaded")}.bind(this),0),this.gotoFrame(),this.autoplay)this.play()}},AnimationItem.prototype.resize=function(a,i){var e=typeof a==="number"?a:void 0,o=typeof i==="number"?i:void 0;this.renderer.updateContainerSize(e,o)},AnimationItem.prototype.setSubframe=function(a){this.isSubframeEnabled=!!a},AnimationItem.prototype.gotoFrame=function(){if(this.currentFrame=this.isSubframeEnabled?this.currentRawFrame:~~this.currentRawFrame,this.timeCompleted!==this.totalFrames&&this.currentFrame>this.timeCompleted)this.currentFrame=this.timeCompleted;this.trigger("enterFrame"),this.renderFrame(),this.trigger("drawnFrame")},AnimationItem.prototype.renderFrame=function(){if(this.isLoaded===!1||!this.renderer)return;try{if(this.expressionsPlugin)this.expressionsPlugin.resetFrame();this.renderer.renderFrame(this.currentFrame+this.firstFrame)}catch(a){this.triggerRenderFrameError(a)}},AnimationItem.prototype.play=function(a){if(a&&this.name!==a)return;if(this.isPaused===!0){if(this.isPaused=!1,this.trigger("_play"),this.audioController.resume(),this._idle)this._idle=!1,this.trigger("_active")}},AnimationItem.prototype.pause=function(a){if(a&&this.name!==a)return;if(this.isPaused===!1)this.isPaused=!0,this.trigger("_pause"),this._idle=!0,this.trigger("_idle"),this.audioController.pause()},AnimationItem.prototype.togglePause=function(a){if(a&&this.name!==a)return;if(this.isPaused===!0)this.play();else this.pause()},AnimationItem.prototype.stop=function(a){if(a&&this.name!==a)return;this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0)},AnimationItem.prototype.getMarkerData=function(a){var i;for(var e=0;e<this.markers.length;e+=1)if(i=this.markers[e],i.payload&&i.payload.name===a)return i;return null},AnimationItem.prototype.goToAndStop=function(a,i,e){if(e&&this.name!==e)return;var o=Number(a);if(isNaN(o)){var r=this.getMarkerData(a);if(r)this.goToAndStop(r.time,!0)}else if(i)this.setCurrentRawFrameValue(a);else this.setCurrentRawFrameValue(a*this.frameModifier);this.pause()},AnimationItem.prototype.goToAndPlay=function(a,i,e){if(e&&this.name!==e)return;var o=Number(a);if(isNaN(o)){var r=this.getMarkerData(a);if(r)if(!r.duration)this.goToAndStop(r.time,!0);else this.playSegments([r.time,r.time+r.duration],!0)}else this.goToAndStop(o,i,e);this.play()},AnimationItem.prototype.advanceTime=function(a){if(this.isPaused===!0||this.isLoaded===!1)return;var i=this.currentRawFrame+a*this.frameModifier,e=!1;if(i>=this.totalFrames-1&&this.frameModifier>0)if(!this.loop||this.playCount===this.loop){if(!this.checkSegments(i>this.totalFrames?i%this.totalFrames:0))e=!0,i=this.totalFrames-1}else if(i>=this.totalFrames){if(this.playCount+=1,!this.checkSegments(i%this.totalFrames))this.setCurrentRawFrameValue(i%this.totalFrames),this._completedLoop=!0,this.trigger("loopComplete")}else this.setCurrentRawFrameValue(i);else if(i<0){if(!this.checkSegments(i%this.totalFrames))if(this.loop&&!(this.playCount--<=0&&this.loop!==!0))if(this.setCurrentRawFrameValue(this.totalFrames+i%this.totalFrames),!this._completedLoop)this._completedLoop=!0;else this.trigger("loopComplete");else e=!0,i=0}else this.setCurrentRawFrameValue(i);if(e)this.setCurrentRawFrameValue(i),this.pause(),this.trigger("complete")},AnimationItem.prototype.adjustSegment=function(a,i){if(this.playCount=0,a[1]<a[0]){if(this.frameModifier>0)if(this.playSpeed<0)this.setSpeed(-this.playSpeed);else this.setDirection(-1);this.totalFrames=a[0]-a[1],this.timeCompleted=this.totalFrames,this.firstFrame=a[1],this.setCurrentRawFrameValue(this.totalFrames-0.001-i)}else if(a[1]>a[0]){if(this.frameModifier<0)if(this.playSpeed<0)this.setSpeed(-this.playSpeed);else this.setDirection(1);this.totalFrames=a[1]-a[0],this.timeCompleted=this.totalFrames,this.firstFrame=a[0],this.setCurrentRawFrameValue(0.001+i)}this.trigger("segmentStart")},AnimationItem.prototype.setSegment=function(a,i){var e=-1;if(this.isPaused){if(this.currentRawFrame+this.firstFrame<a)e=a;else if(this.currentRawFrame+this.firstFrame>i)e=i-a}if(this.firstFrame=a,this.totalFrames=i-a,this.timeCompleted=this.totalFrames,e!==-1)this.goToAndStop(e,!0)},AnimationItem.prototype.playSegments=function(a,i){if(i)this.segments.length=0;if(_typeof$4(a[0])==="object"){var e,o=a.length;for(e=0;e<o;e+=1)this.segments.push(a[e])}else this.segments.push(a);if(this.segments.length&&i)this.adjustSegment(this.segments.shift(),0);if(this.isPaused)this.play()},AnimationItem.prototype.resetSegments=function(a){if(this.segments.length=0,this.segments.push([this.animationData.ip,this.animationData.op]),a)this.checkSegments(0)},AnimationItem.prototype.checkSegments=function(a){if(this.segments.length)return this.adjustSegment(this.segments.shift(),a),!0;return!1},AnimationItem.prototype.destroy=function(a){if(a&&this.name!==a||!this.renderer)return;this.renderer.destroy(),this.imagePreloader.destroy(),this.trigger("destroy"),this._cbs=null,this.onEnterFrame=null,this.onLoopComplete=null,this.onComplete=null,this.onSegmentStart=null,this.onDestroy=null,this.renderer=null,this.expressionsPlugin=null,this.imagePreloader=null,this.projectInterface=null},AnimationItem.prototype.setCurrentRawFrameValue=function(a){this.currentRawFrame=a,this.gotoFrame()},AnimationItem.prototype.setSpeed=function(a){this.playSpeed=a,this.updaFrameModifier()},AnimationItem.prototype.setDirection=function(a){this.playDirection=a<0?-1:1,this.updaFrameModifier()},AnimationItem.prototype.setLoop=function(a){this.loop=a},AnimationItem.prototype.setVolume=function(a,i){if(i&&this.name!==i)return;this.audioController.setVolume(a)},AnimationItem.prototype.getVolume=function(){return this.audioController.getVolume()},AnimationItem.prototype.mute=function(a){if(a&&this.name!==a)return;this.audioController.mute()},AnimationItem.prototype.unmute=function(a){if(a&&this.name!==a)return;this.audioController.unmute()},AnimationItem.prototype.updaFrameModifier=function(){this.frameModifier=this.frameMult*this.playSpeed*this.playDirection,this.audioController.setRate(this.playSpeed*this.playDirection)},AnimationItem.prototype.getPath=function(){return this.path},AnimationItem.prototype.getAssetsPath=function(a){var i="";if(a.e)i=a.p;else if(this.assetsPath){var e=a.p;if(e.indexOf("images/")!==-1)e=e.split("/")[1];i=this.assetsPath+e}else i=this.path,i+=a.u?a.u:"",i+=a.p;return i},AnimationItem.prototype.getAssetData=function(a){var i=0,e=this.assets.length;while(i<e){if(a===this.assets[i].id)return this.assets[i];i+=1}return null},AnimationItem.prototype.hide=function(){this.renderer.hide()},AnimationItem.prototype.show=function(){this.renderer.show()},AnimationItem.prototype.getDuration=function(a){return a?this.totalFrames:this.totalFrames/this.frameRate},AnimationItem.prototype.updateDocumentData=function(a,i,e){try{var o=this.renderer.getElementByPath(a);o.updateDocumentData(i,e)}catch(r){}},AnimationItem.prototype.trigger=function(a){if(this._cbs&&this._cbs[a])switch(a){case"enterFrame":this.triggerEvent(a,new BMEnterFrameEvent(a,this.currentFrame,this.totalFrames,this.frameModifier));break;case"drawnFrame":this.drawnFrameEvent.currentTime=this.currentFrame,this.drawnFrameEvent.totalTime=this.totalFrames,this.drawnFrameEvent.direction=this.frameModifier,this.triggerEvent(a,this.drawnFrameEvent);break;case"loopComplete":this.triggerEvent(a,new BMCompleteLoopEvent(a,this.loop,this.playCount,this.frameMult));break;case"complete":this.triggerEvent(a,new BMCompleteEvent(a,this.frameMult));break;case"segmentStart":this.triggerEvent(a,new BMSegmentStartEvent(a,this.firstFrame,this.totalFrames));break;case"destroy":this.triggerEvent(a,new BMDestroyEvent(a,this));break;default:this.triggerEvent(a)}if(a==="enterFrame"&&this.onEnterFrame)this.onEnterFrame.call(this,new BMEnterFrameEvent(a,this.currentFrame,this.totalFrames,this.frameMult));if(a==="loopComplete"&&this.onLoopComplete)this.onLoopComplete.call(this,new BMCompleteLoopEvent(a,this.loop,this.playCount,this.frameMult));if(a==="complete"&&this.onComplete)this.onComplete.call(this,new BMCompleteEvent(a,this.frameMult));if(a==="segmentStart"&&this.onSegmentStart)this.onSegmentStart.call(this,new BMSegmentStartEvent(a,this.firstFrame,this.totalFrames));if(a==="destroy"&&this.onDestroy)this.onDestroy.call(this,new BMDestroyEvent(a,this))},AnimationItem.prototype.triggerRenderFrameError=function(a){var i=new BMRenderFrameErrorEvent(a,this.currentFrame);if(this.triggerEvent("error",i),this.onError)this.onError.call(this,i)},AnimationItem.prototype.triggerConfigError=function(a){var i=new BMConfigErrorEvent(a,this.currentFrame);if(this.triggerEvent("error",i),this.onError)this.onError.call(this,i)};var animationManager=function(){var a={},i=[],e=0,o=0,r=0,n=!0,t=!1;function s(H){var Z=0,w=H.target;while(Z<o){if(i[Z].animation===w){if(i.splice(Z,1),Z-=1,o-=1,!w.isPaused)f()}Z+=1}}function l(H,Z){if(!H)return null;var w=0;while(w<o){if(i[w].elem===H&&i[w].elem!==null)return i[w].animation;w+=1}var x=new AnimationItem;return c(x,H),x.setData(H,Z),x}function u(){var H,Z=i.length,w=[];for(H=0;H<Z;H+=1)w.push(i[H].animation);return w}function h(){r+=1,M()}function f(){r-=1}function c(H,Z){H.addEventListener("destroy",s),H.addEventListener("_active",h),H.addEventListener("_idle",f),i.push({elem:Z,animation:H}),o+=1}function y(H){var Z=new AnimationItem;return c(Z,null),Z.setParams(H),Z}function g(H,Z){var w;for(w=0;w<o;w+=1)i[w].animation.setSpeed(H,Z)}function b(H,Z){var w;for(w=0;w<o;w+=1)i[w].animation.setDirection(H,Z)}function I(H){var Z;for(Z=0;Z<o;Z+=1)i[Z].animation.play(H)}function m(H){var Z=H-e,w;for(w=0;w<o;w+=1)i[w].animation.advanceTime(Z);if(e=H,r&&!t)window.requestAnimationFrame(m);else n=!0}function v(H){e=H,window.requestAnimationFrame(m)}function p(H){var Z;for(Z=0;Z<o;Z+=1)i[Z].animation.pause(H)}function k(H,Z,w){var x;for(x=0;x<o;x+=1)i[x].animation.goToAndStop(H,Z,w)}function S(H){var Z;for(Z=0;Z<o;Z+=1)i[Z].animation.stop(H)}function F(H){var Z;for(Z=0;Z<o;Z+=1)i[Z].animation.togglePause(H)}function K(H){var Z;for(Z=o-1;Z>=0;Z-=1)i[Z].animation.destroy(H)}function R(H,Z,w){var x=[].concat([].slice.call(document.getElementsByClassName("lottie")),[].slice.call(document.getElementsByClassName("bodymovin"))),V,B=x.length;for(V=0;V<B;V+=1){if(w)x[V].setAttribute("data-bm-type",w);l(x[V],H)}if(Z&&B===0){if(!w)w="svg";var A=document.getElementsByTagName("body")[0];A.innerText="";var ia=createTag("div");ia.style.width="100%",ia.style.height="100%",ia.setAttribute("data-bm-type",w),A.appendChild(ia),l(ia,H)}}function L(){var H;for(H=0;H<o;H+=1)i[H].animation.resize()}function M(){if(!t&&r){if(n)window.requestAnimationFrame(v),n=!1}}function X(){t=!0}function _(){t=!1,M()}function U(H,Z){var w;for(w=0;w<o;w+=1)i[w].animation.setVolume(H,Z)}function G(H){var Z;for(Z=0;Z<o;Z+=1)i[Z].animation.mute(H)}function O(H){var Z;for(Z=0;Z<o;Z+=1)i[Z].animation.unmute(H)}return a.registerAnimation=l,a.loadAnimation=y,a.setSpeed=g,a.setDirection=b,a.play=I,a.pause=p,a.stop=S,a.togglePause=F,a.searchAnimations=R,a.resize=L,a.goToAndStop=k,a.destroy=K,a.freeze=X,a.unfreeze=_,a.setVolume=U,a.mute=G,a.unmute=O,a.getRegisteredAnimations=u,a}(),BezierFactory=function(){var a={};a.getBezierEasing=e;var i={};function e(v,p,k,S,F){var K=F||("bez_"+v+"_"+p+"_"+k+"_"+S).replace(/\./g,"p");if(i[K])return i[K];var R=new m([v,p,k,S]);return i[K]=R,R}var o=4,r=0.001,n=0.0000001,t=10,s=11,l=1/(s-1),u=typeof Float32Array==="function";function h(v,p){return 1-3*p+3*v}function f(v,p){return 3*p-6*v}function c(v){return 3*v}function y(v,p,k){return((h(p,k)*v+f(p,k))*v+c(p))*v}function g(v,p,k){return 3*h(p,k)*v*v+2*f(p,k)*v+c(p)}function b(v,p,k,S,F){var K,R,L=0;do if(R=p+(k-p)/2,K=y(R,S,F)-v,K>0)k=R;else p=R;while(Math.abs(K)>n&&++L<t);return R}function I(v,p,k,S){for(var F=0;F<o;++F){var K=g(p,k,S);if(K===0)return p;var R=y(p,k,S)-v;p-=R/K}return p}function m(v){this._p=v,this._mSampleValues=u?new Float32Array(s):new Array(s),this._precomputed=!1,this.get=this.get.bind(this)}return m.prototype={get:function v(p){var k=this._p[0],S=this._p[1],F=this._p[2],K=this._p[3];if(!this._precomputed)this._precompute();if(k===S&&F===K)return p;if(p===0)return 0;if(p===1)return 1;return y(this._getTForX(p),S,K)},_precompute:function v(){var p=this._p[0],k=this._p[1],S=this._p[2],F=this._p[3];if(this._precomputed=!0,p!==k||S!==F)this._calcSampleValues()},_calcSampleValues:function v(){var p=this._p[0],k=this._p[2];for(var S=0;S<s;++S)this._mSampleValues[S]=y(S*l,p,k)},_getTForX:function v(p){var k=this._p[0],S=this._p[2],F=this._mSampleValues,K=0,R=1,L=s-1;for(;R!==L&&F[R]<=p;++R)K+=l;--R;var M=(p-F[R])/(F[R+1]-F[R]),X=K+M*l,_=g(X,k,S);if(_>=r)return I(p,X,k,S);if(_===0)return X;return b(p,K,K+l,k,S)}},a}(),pooling=function(){function a(i){return i.concat(createSizedArray(i.length))}return{double:a}}(),poolFactory=function(){return function(a,i,e){var o=0,r=a,n=createSizedArray(r),t={newElement:s,release:l};function s(){var u;if(o)o-=1,u=n[o];else u=i();return u}function l(u){if(o===r)n=pooling.double(n),r*=2;if(e)e(u);n[o]=u,o+=1}return t}}(),bezierLengthPool=function(){function a(){return{addedLength:0,percents:createTypedArray("float32",getDefaultCurveSegments()),lengths:createTypedArray("float32",getDefaultCurveSegments())}}return poolFactory(8,a)}(),segmentsLengthPool=function(){function a(){return{lengths:[],totalLength:0}}function i(e){var o,r=e.lengths.length;for(o=0;o<r;o+=1)bezierLengthPool.release(e.lengths[o]);e.lengths.length=0}return poolFactory(8,a,i)}();function bezFunction(){var a=Math;function i(c,y,g,b,I,m){var v=c*b+y*I+g*m-I*b-m*c-g*y;return v>-0.001&&v<0.001}function e(c,y,g,b,I,m,v,p,k){if(g===0&&m===0&&k===0)return i(c,y,b,I,v,p);var S=a.sqrt(a.pow(b-c,2)+a.pow(I-y,2)+a.pow(m-g,2)),F=a.sqrt(a.pow(v-c,2)+a.pow(p-y,2)+a.pow(k-g,2)),K=a.sqrt(a.pow(v-b,2)+a.pow(p-I,2)+a.pow(k-m,2)),R;if(S>F)if(S>K)R=S-F-K;else R=K-F-S;else if(K>F)R=K-F-S;else R=F-S-K;return R>-0.0001&&R<0.0001}var o=function(){return function(c,y,g,b){var I=getDefaultCurveSegments(),m,v,p,k,S,F=0,K,R=[],L=[],M=bezierLengthPool.newElement();p=g.length;for(m=0;m<I;m+=1){S=m/(I-1),K=0;for(v=0;v<p;v+=1){if(k=bmPow(1-S,3)*c[v]+3*bmPow(1-S,2)*S*g[v]+3*(1-S)*bmPow(S,2)*b[v]+bmPow(S,3)*y[v],R[v]=k,L[v]!==null)K+=bmPow(R[v]-L[v],2);L[v]=R[v]}if(K)K=bmSqrt(K),F+=K;M.percents[m]=S,M.lengths[m]=F}return M.addedLength=F,M}}();function r(c){var y=segmentsLengthPool.newElement(),g=c.c,b=c.v,I=c.o,m=c.i,v,p=c._length,k=y.lengths,S=0;for(v=0;v<p-1;v+=1)k[v]=o(b[v],b[v+1],I[v],m[v+1]),S+=k[v].addedLength;if(g&&p)k[v]=o(b[v],b[0],I[v],m[0]),S+=k[v].addedLength;return y.totalLength=S,y}function n(c){this.segmentLength=0,this.points=new Array(c)}function t(c,y){this.partialLength=c,this.point=y}var s=function(){var c={};return function(y,g,b,I){var m=(y[0]+"_"+y[1]+"_"+g[0]+"_"+g[1]+"_"+b[0]+"_"+b[1]+"_"+I[0]+"_"+I[1]).replace(/\./g,"p");if(!c[m]){var v=getDefaultCurveSegments(),p,k,S,F,K,R=0,L,M,X=null;if(y.length===2&&(y[0]!==g[0]||y[1]!==g[1])&&i(y[0],y[1],g[0],g[1],y[0]+b[0],y[1]+b[1])&&i(y[0],y[1],g[0],g[1],g[0]+I[0],g[1]+I[1]))v=2;var _=new n(v);S=b.length;for(p=0;p<v;p+=1){M=createSizedArray(S),K=p/(v-1),L=0;for(k=0;k<S;k+=1)if(F=bmPow(1-K,3)*y[k]+3*bmPow(1-K,2)*K*(y[k]+b[k])+3*(1-K)*bmPow(K,2)*(g[k]+I[k])+bmPow(K,3)*g[k],M[k]=F,X!==null)L+=bmPow(M[k]-X[k],2);L=bmSqrt(L),R+=L,_.points[p]=new t(L,M),X=M}_.segmentLength=R,c[m]=_}return c[m]}}();function l(c,y){var{percents:g,lengths:b}=y,I=g.length,m=bmFloor((I-1)*c),v=c*y.addedLength,p=0;if(m===I-1||m===0||v===b[m])return g[m];var k=b[m]>v?-1:1,S=!0;while(S){if(b[m]<=v&&b[m+1]>v)p=(v-b[m])/(b[m+1]-b[m]),S=!1;else m+=k;if(m<0||m>=I-1){if(m===I-1)return g[m];S=!1}}return g[m]+(g[m+1]-g[m])*p}function u(c,y,g,b,I,m){var v=l(I,m),p=1-v,k=a.round((p*p*p*c[0]+(v*p*p+p*v*p+p*p*v)*g[0]+(v*v*p+p*v*v+v*p*v)*b[0]+v*v*v*y[0])*1000)/1000,S=a.round((p*p*p*c[1]+(v*p*p+p*v*p+p*p*v)*g[1]+(v*v*p+p*v*v+v*p*v)*b[1]+v*v*v*y[1])*1000)/1000;return[k,S]}var h=createTypedArray("float32",8);function f(c,y,g,b,I,m,v){if(I<0)I=0;else if(I>1)I=1;var p=l(I,v);m=m>1?1:m;var k=l(m,v),S,F=c.length,K=1-p,R=1-k,L=K*K*K,M=p*K*K*3,X=p*p*K*3,_=p*p*p,U=K*K*R,G=p*K*R+K*p*R+K*K*k,O=p*p*R+K*p*k+p*K*k,H=p*p*k,Z=K*R*R,w=p*R*R+K*k*R+K*R*k,x=p*k*R+K*k*k+p*R*k,V=p*k*k,B=R*R*R,A=k*R*R+R*k*R+R*R*k,ia=k*k*R+R*k*k+k*R*k,ra=k*k*k;for(S=0;S<F;S+=1)h[S*4]=a.round((L*c[S]+M*g[S]+X*b[S]+_*y[S])*1000)/1000,h[S*4+1]=a.round((U*c[S]+G*g[S]+O*b[S]+H*y[S])*1000)/1000,h[S*4+2]=a.round((Z*c[S]+w*g[S]+x*b[S]+V*y[S])*1000)/1000,h[S*4+3]=a.round((B*c[S]+A*g[S]+ia*b[S]+ra*y[S])*1000)/1000;return h}return{getSegmentsLength:r,getNewSegment:f,getPointInSegment:u,buildBezierData:s,pointOnLine2D:i,pointOnLine3D:e}}var bez=bezFunction(),initFrame=initialDefaultFrame,mathAbs=Math.abs;function interpolateValue(a,i){var e=this.offsetTime,o;if(this.propType==="multidimensional")o=createTypedArray("float32",this.pv.length);var r=i.lastIndex,n=r,t=this.keyframes.length-1,s=!0,l,u,h;while(s){if(l=this.keyframes[n],u=this.keyframes[n+1],n===t-1&&a>=u.t-e){if(l.h)l=u;r=0;break}if(u.t-e>a){r=n;break}if(n<t-1)n+=1;else r=0,s=!1}h=this.keyframesMetadata[n]||{};var f,c,y,g,b,I,m=u.t-e,v=l.t-e,p;if(l.to){if(!h.bezierData)h.bezierData=bez.buildBezierData(l.s,u.s||l.e,l.to,l.ti);var k=h.bezierData;if(a>=m||a<v){var S=a>=m?k.points.length-1:0;c=k.points[S].point.length;for(f=0;f<c;f+=1)o[f]=k.points[S].point[f]}else{if(h.__fnct)I=h.__fnct;else I=BezierFactory.getBezierEasing(l.o.x,l.o.y,l.i.x,l.i.y,l.n).get,h.__fnct=I;y=I((a-v)/(m-v));var F=k.segmentLength*y,K,R=i.lastFrame<a&&i._lastKeyframeIndex===n?i._lastAddedLength:0;b=i.lastFrame<a&&i._lastKeyframeIndex===n?i._lastPoint:0,s=!0,g=k.points.length;while(s){if(R+=k.points[b].partialLength,F===0||y===0||b===k.points.length-1){c=k.points[b].point.length;for(f=0;f<c;f+=1)o[f]=k.points[b].point[f];break}else if(F>=R&&F<R+k.points[b+1].partialLength){K=(F-R)/k.points[b+1].partialLength,c=k.points[b].point.length;for(f=0;f<c;f+=1)o[f]=k.points[b].point[f]+(k.points[b+1].point[f]-k.points[b].point[f])*K;break}if(b<g-1)b+=1;else s=!1}i._lastPoint=b,i._lastAddedLength=R-k.points[b].partialLength,i._lastKeyframeIndex=n}}else{var L,M,X,_,U;if(t=l.s.length,p=u.s||l.e,this.sh&&l.h!==1)if(a>=m)o[0]=p[0],o[1]=p[1],o[2]=p[2];else if(a<=v)o[0]=l.s[0],o[1]=l.s[1],o[2]=l.s[2];else{var G=createQuaternion(l.s),O=createQuaternion(p),H=(a-v)/(m-v);quaternionToEuler(o,slerp(G,O,H))}else for(n=0;n<t;n+=1){if(l.h!==1)if(a>=m)y=1;else if(a<v)y=0;else{if(l.o.x.constructor===Array){if(!h.__fnct)h.__fnct=[];if(!h.__fnct[n])L=l.o.x[n]===void 0?l.o.x[0]:l.o.x[n],M=l.o.y[n]===void 0?l.o.y[0]:l.o.y[n],X=l.i.x[n]===void 0?l.i.x[0]:l.i.x[n],_=l.i.y[n]===void 0?l.i.y[0]:l.i.y[n],I=BezierFactory.getBezierEasing(L,M,X,_).get,h.__fnct[n]=I;else I=h.__fnct[n]}else if(!h.__fnct)L=l.o.x,M=l.o.y,X=l.i.x,_=l.i.y,I=BezierFactory.getBezierEasing(L,M,X,_).get,l.keyframeMetadata=I;else I=h.__fnct;y=I((a-v)/(m-v))}if(p=u.s||l.e,U=l.h===1?l.s[n]:l.s[n]+(p[n]-l.s[n])*y,this.propType==="multidimensional")o[n]=U;else o=U}}return i.lastIndex=r,o}function slerp(a,i,e){var o=[],r=a[0],n=a[1],t=a[2],s=a[3],l=i[0],u=i[1],h=i[2],f=i[3],c,y,g,b,I;if(y=r*l+n*u+t*h+s*f,y<0)y=-y,l=-l,u=-u,h=-h,f=-f;if(1-y>0.000001)c=Math.acos(y),g=Math.sin(c),b=Math.sin((1-e)*c)/g,I=Math.sin(e*c)/g;else b=1-e,I=e;return o[0]=b*r+I*l,o[1]=b*n+I*u,o[2]=b*t+I*h,o[3]=b*s+I*f,o}function quaternionToEuler(a,i){var e=i[0],o=i[1],r=i[2],n=i[3],t=Math.atan2(2*o*n-2*e*r,1-2*o*o-2*r*r),s=Math.asin(2*e*o+2*r*n),l=Math.atan2(2*e*n-2*o*r,1-2*e*e-2*r*r);a[0]=t/degToRads,a[1]=s/degToRads,a[2]=l/degToRads}function createQuaternion(a){var i=a[0]*degToRads,e=a[1]*degToRads,o=a[2]*degToRads,r=Math.cos(i/2),n=Math.cos(e/2),t=Math.cos(o/2),s=Math.sin(i/2),l=Math.sin(e/2),u=Math.sin(o/2),h=r*n*t-s*l*u,f=s*l*t+r*n*u,c=s*n*t+r*l*u,y=r*l*t-s*n*u;return[f,c,y,h]}function getValueAtCurrentTime(){var a=this.comp.renderedFrame-this.offsetTime,i=this.keyframes[0].t-this.offsetTime,e=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(a===this._caching.lastFrame||this._caching.lastFrame!==initFrame&&(this._caching.lastFrame>=e&&a>=e||this._caching.lastFrame<i&&a<i))){if(this._caching.lastFrame>=a)this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0;var o=this.interpolateValue(a,this._caching);this.pv=o}return this._caching.lastFrame=a,this.pv}function setVValue(a){var i;if(this.propType==="unidimensional"){if(i=a*this.mult,mathAbs(this.v-i)>0.00001)this.v=i,this._mdf=!0}else{var e=0,o=this.v.length;while(e<o){if(i=a[e]*this.mult,mathAbs(this.v[e]-i)>0.00001)this.v[e]=i,this._mdf=!0;e+=1}}}function processEffectsSequence(){if(this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)return;if(this.lock){this.setVValue(this.pv);return}this.lock=!0,this._mdf=this._isFirstFrame;var a,i=this.effectsSequence.length,e=this.kf?this.pv:this.data.k;for(a=0;a<i;a+=1)e=this.effectsSequence[a](e);this.setVValue(e),this._isFirstFrame=!1,this.lock=!1,this.frameId=this.elem.globalData.frameId}function addEffect(a){this.effectsSequence.push(a),this.container.addDynamicProperty(this)}function ValueProperty(a,i,e,o){this.propType="unidimensional",this.mult=e||1,this.data=i,this.v=e?i.k*e:i.k,this.pv=i.k,this._mdf=!1,this.elem=a,this.container=o,this.comp=a.comp,this.k=!1,this.kf=!1,this.vel=0,this.effectsSequence=[],this._isFirstFrame=!0,this.getValue=processEffectsSequence,this.setVValue=setVValue,this.addEffect=addEffect}function MultiDimensionalProperty(a,i,e,o){this.propType="multidimensional",this.mult=e||1,this.data=i,this._mdf=!1,this.elem=a,this.container=o,this.comp=a.comp,this.k=!1,this.kf=!1,this.frameId=-1;var r,n=i.k.length;this.v=createTypedArray("float32",n),this.pv=createTypedArray("float32",n),this.vel=createTypedArray("float32",n);for(r=0;r<n;r+=1)this.v[r]=i.k[r]*this.mult,this.pv[r]=i.k[r];this._isFirstFrame=!0,this.effectsSequence=[],this.getValue=processEffectsSequence,this.setVValue=setVValue,this.addEffect=addEffect}function KeyframedValueProperty(a,i,e,o){this.propType="unidimensional",this.keyframes=i.k,this.keyframesMetadata=[],this.offsetTime=a.data.st,this.frameId=-1,this._caching={lastFrame:initFrame,lastIndex:0,value:0,_lastKeyframeIndex:-1},this.k=!0,this.kf=!0,this.data=i,this.mult=e||1,this.elem=a,this.container=o,this.comp=a.comp,this.v=initFrame,this.pv=initFrame,this._isFirstFrame=!0,this.getValue=processEffectsSequence,this.setVValue=setVValue,this.interpolateValue=interpolateValue,this.effectsSequence=[getValueAtCurrentTime.bind(this)],this.addEffect=addEffect}function KeyframedMultidimensionalProperty(a,i,e,o){this.propType="multidimensional";var r,n=i.k.length,t,s,l,u;for(r=0;r<n-1;r+=1)if(i.k[r].to&&i.k[r].s&&i.k[r+1]&&i.k[r+1].s){if(t=i.k[r].s,s=i.k[r+1].s,l=i.k[r].to,u=i.k[r].ti,t.length===2&&!(t[0]===s[0]&&t[1]===s[1])&&bez.pointOnLine2D(t[0],t[1],s[0],s[1],t[0]+l[0],t[1]+l[1])&&bez.pointOnLine2D(t[0],t[1],s[0],s[1],s[0]+u[0],s[1]+u[1])||t.length===3&&!(t[0]===s[0]&&t[1]===s[1]&&t[2]===s[2])&&bez.pointOnLine3D(t[0],t[1],t[2],s[0],s[1],s[2],t[0]+l[0],t[1]+l[1],t[2]+l[2])&&bez.pointOnLine3D(t[0],t[1],t[2],s[0],s[1],s[2],s[0]+u[0],s[1]+u[1],s[2]+u[2]))i.k[r].to=null,i.k[r].ti=null;if(t[0]===s[0]&&t[1]===s[1]&&l[0]===0&&l[1]===0&&u[0]===0&&u[1]===0){if(t.length===2||t[2]===s[2]&&l[2]===0&&u[2]===0)i.k[r].to=null,i.k[r].ti=null}}this.effectsSequence=[getValueAtCurrentTime.bind(this)],this.data=i,this.keyframes=i.k,this.keyframesMetadata=[],this.offsetTime=a.data.st,this.k=!0,this.kf=!0,this._isFirstFrame=!0,this.mult=e||1,this.elem=a,this.container=o,this.comp=a.comp,this.getValue=processEffectsSequence,this.setVValue=setVValue,this.interpolateValue=interpolateValue,this.frameId=-1;var h=i.k[0].s.length;this.v=createTypedArray("float32",h),this.pv=createTypedArray("float32",h);for(r=0;r<h;r+=1)this.v[r]=initFrame,this.pv[r]=initFrame;this._caching={lastFrame:initFrame,lastIndex:0,value:createTypedArray("float32",h)},this.addEffect=addEffect}var PropertyFactory=function(){function a(e,o,r,n,t){if(o.sid)o=e.globalData.slotManager.getProp(o);var s;if(!o.k.length)s=new ValueProperty(e,o,n,t);else if(typeof o.k[0]==="number")s=new MultiDimensionalProperty(e,o,n,t);else switch(r){case 0:s=new KeyframedValueProperty(e,o,n,t);break;case 1:s=new KeyframedMultidimensionalProperty(e,o,n,t);break;default:break}if(s.effectsSequence.length)t.addDynamicProperty(s);return s}var i={getProp:a};return i}();function DynamicPropertyContainer(){}DynamicPropertyContainer.prototype={addDynamicProperty:function a(i){if(this.dynamicProperties.indexOf(i)===-1)this.dynamicProperties.push(i),this.container.addDynamicProperty(this),this._isAnimated=!0},iterateDynamicProperties:function a(){this._mdf=!1;var i,e=this.dynamicProperties.length;for(i=0;i<e;i+=1)if(this.dynamicProperties[i].getValue(),this.dynamicProperties[i]._mdf)this._mdf=!0},initDynamicPropertyContainer:function a(i){this.container=i,this.dynamicProperties=[],this._mdf=!1,this._isAnimated=!1}};var pointPool=function(){function a(){return createTypedArray("float32",2)}return poolFactory(8,a)}();function ShapePath(){this.c=!1,this._length=0,this._maxLength=8,this.v=createSizedArray(this._maxLength),this.o=createSizedArray(this._maxLength),this.i=createSizedArray(this._maxLength)}ShapePath.prototype.setPathData=function(a,i){this.c=a,this.setLength(i);var e=0;while(e<i)this.v[e]=pointPool.newElement(),this.o[e]=pointPool.newElement(),this.i[e]=pointPool.newElement(),e+=1},ShapePath.prototype.setLength=function(a){while(this._maxLength<a)this.doubleArrayLength();this._length=a},ShapePath.prototype.doubleArrayLength=function(){this.v=this.v.concat(createSizedArray(this._maxLength)),this.i=this.i.concat(createSizedArray(this._maxLength)),this.o=this.o.concat(createSizedArray(this._maxLength)),this._maxLength*=2},ShapePath.prototype.setXYAt=function(a,i,e,o,r){var n;if(this._length=Math.max(this._length,o+1),this._length>=this._maxLength)this.doubleArrayLength();switch(e){case"v":n=this.v;break;case"i":n=this.i;break;case"o":n=this.o;break;default:n=[];break}if(!n[o]||n[o]&&!r)n[o]=pointPool.newElement();n[o][0]=a,n[o][1]=i},ShapePath.prototype.setTripleAt=function(a,i,e,o,r,n,t,s){this.setXYAt(a,i,"v",t,s),this.setXYAt(e,o,"o",t,s),this.setXYAt(r,n,"i",t,s)},ShapePath.prototype.reverse=function(){var a=new ShapePath;a.setPathData(this.c,this._length);var i=this.v,e=this.o,o=this.i,r=0;if(this.c)a.setTripleAt(i[0][0],i[0][1],o[0][0],o[0][1],e[0][0],e[0][1],0,!1),r=1;var n=this._length-1,t=this._length,s;for(s=r;s<t;s+=1)a.setTripleAt(i[n][0],i[n][1],o[n][0],o[n][1],e[n][0],e[n][1],s,!1),n-=1;return a},ShapePath.prototype.length=function(){return this._length};var shapePool=function(){function a(){return new ShapePath}function i(r){var n=r._length,t;for(t=0;t<n;t+=1)pointPool.release(r.v[t]),pointPool.release(r.i[t]),pointPool.release(r.o[t]),r.v[t]=null,r.i[t]=null,r.o[t]=null;r._length=0,r.c=!1}function e(r){var n=o.newElement(),t,s=r._length===void 0?r.v.length:r._length;n.setLength(s),n.c=r.c;for(t=0;t<s;t+=1)n.setTripleAt(r.v[t][0],r.v[t][1],r.o[t][0],r.o[t][1],r.i[t][0],r.i[t][1],t);return n}var o=poolFactory(4,a,i);return o.clone=e,o}();function ShapeCollection(){this._length=0,this._maxLength=4,this.shapes=createSizedArray(this._maxLength)}ShapeCollection.prototype.addShape=function(a){if(this._length===this._maxLength)this.shapes=this.shapes.concat(createSizedArray(this._maxLength)),this._maxLength*=2;this.shapes[this._length]=a,this._length+=1},ShapeCollection.prototype.releaseShapes=function(){var a;for(a=0;a<this._length;a+=1)shapePool.release(this.shapes[a]);this._length=0};var shapeCollectionPool=function(){var a={newShapeCollection:r,release:n},i=0,e=4,o=createSizedArray(e);function r(){var t;if(i)i-=1,t=o[i];else t=new ShapeCollection;return t}function n(t){var s,l=t._length;for(s=0;s<l;s+=1)shapePool.release(t.shapes[s]);if(t._length=0,i===e)o=pooling.double(o),e*=2;o[i]=t,i+=1}return a}(),ShapePropertyFactory=function(){var a=-999999;function i(m,v,p){var k=p.lastIndex,S,F,K,R,L,M,X,_,U,G=this.keyframes;if(m<G[0].t-this.offsetTime)S=G[0].s[0],K=!0,k=0;else if(m>=G[G.length-1].t-this.offsetTime)S=G[G.length-1].s?G[G.length-1].s[0]:G[G.length-2].e[0],K=!0;else{var O=k,H=G.length-1,Z=!0,w,x,V;while(Z){if(w=G[O],x=G[O+1],x.t-this.offsetTime>m)break;if(O<H-1)O+=1;else Z=!1}if(V=this.keyframesMetadata[O]||{},K=w.h===1,k=O,!K){if(m>=x.t-this.offsetTime)_=1;else if(m<w.t-this.offsetTime)_=0;else{var B;if(V.__fnct)B=V.__fnct;else B=BezierFactory.getBezierEasing(w.o.x,w.o.y,w.i.x,w.i.y).get,V.__fnct=B;_=B((m-(w.t-this.offsetTime))/(x.t-this.offsetTime-(w.t-this.offsetTime)))}F=x.s?x.s[0]:w.e[0]}S=w.s[0]}M=v._length,X=S.i[0].length,p.lastIndex=k;for(R=0;R<M;R+=1)for(L=0;L<X;L+=1)U=K?S.i[R][L]:S.i[R][L]+(F.i[R][L]-S.i[R][L])*_,v.i[R][L]=U,U=K?S.o[R][L]:S.o[R][L]+(F.o[R][L]-S.o[R][L])*_,v.o[R][L]=U,U=K?S.v[R][L]:S.v[R][L]+(F.v[R][L]-S.v[R][L])*_,v.v[R][L]=U}function e(){var m=this.comp.renderedFrame-this.offsetTime,v=this.keyframes[0].t-this.offsetTime,p=this.keyframes[this.keyframes.length-1].t-this.offsetTime,k=this._caching.lastFrame;if(!(k!==a&&(k<v&&m<v||k>p&&m>p)))this._caching.lastIndex=k<m?this._caching.lastIndex:0,this.interpolateShape(m,this.pv,this._caching);return this._caching.lastFrame=m,this.pv}function o(){this.paths=this.localShapeCollection}function r(m,v){if(m._length!==v._length||m.c!==v.c)return!1;var p,k=m._length;for(p=0;p<k;p+=1)if(m.v[p][0]!==v.v[p][0]||m.v[p][1]!==v.v[p][1]||m.o[p][0]!==v.o[p][0]||m.o[p][1]!==v.o[p][1]||m.i[p][0]!==v.i[p][0]||m.i[p][1]!==v.i[p][1])return!1;return!0}function n(m){if(!r(this.v,m))this.v=shapePool.clone(m),this.localShapeCollection.releaseShapes(),this.localShapeCollection.addShape(this.v),this._mdf=!0,this.paths=this.localShapeCollection}function t(){if(this.elem.globalData.frameId===this.frameId)return;if(!this.effectsSequence.length){this._mdf=!1;return}if(this.lock){this.setVValue(this.pv);return}this.lock=!0,this._mdf=!1;var m;if(this.kf)m=this.pv;else if(this.data.ks)m=this.data.ks.k;else m=this.data.pt.k;var v,p=this.effectsSequence.length;for(v=0;v<p;v+=1)m=this.effectsSequence[v](m);this.setVValue(m),this.lock=!1,this.frameId=this.elem.globalData.frameId}function s(m,v,p){this.propType="shape",this.comp=m.comp,this.container=m,this.elem=m,this.data=v,this.k=!1,this.kf=!1,this._mdf=!1;var k=p===3?v.pt.k:v.ks.k;this.v=shapePool.clone(k),this.pv=shapePool.clone(this.v),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.paths.addShape(this.v),this.reset=o,this.effectsSequence=[]}function l(m){this.effectsSequence.push(m),this.container.addDynamicProperty(this)}s.prototype.interpolateShape=i,s.prototype.getValue=t,s.prototype.setVValue=n,s.prototype.addEffect=l;function u(m,v,p){this.propType="shape",this.comp=m.comp,this.elem=m,this.container=m,this.offsetTime=m.data.st,this.keyframes=p===3?v.pt.k:v.ks.k,this.keyframesMetadata=[],this.k=!0,this.kf=!0;var k=this.keyframes[0].s[0].i.length;this.v=shapePool.newElement(),this.v.setPathData(this.keyframes[0].s[0].c,k),this.pv=shapePool.clone(this.v),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.paths.addShape(this.v),this.lastFrame=a,this.reset=o,this._caching={lastFrame:a,lastIndex:0},this.effectsSequence=[e.bind(this)]}u.prototype.getValue=t,u.prototype.interpolateShape=i,u.prototype.setVValue=n,u.prototype.addEffect=l;var h=function(){var m=roundCorner;function v(p,k){if(this.v=shapePool.newElement(),this.v.setPathData(!0,4),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.localShapeCollection.addShape(this.v),this.d=k.d,this.elem=p,this.comp=p.comp,this.frameId=-1,this.initDynamicPropertyContainer(p),this.p=PropertyFactory.getProp(p,k.p,1,0,this),this.s=PropertyFactory.getProp(p,k.s,1,0,this),this.dynamicProperties.length)this.k=!0;else this.k=!1,this.convertEllToPath()}return v.prototype={reset:o,getValue:function p(){if(this.elem.globalData.frameId===this.frameId)return;if(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf)this.convertEllToPath()},convertEllToPath:function p(){var k=this.p.v[0],S=this.p.v[1],F=this.s.v[0]/2,K=this.s.v[1]/2,R=this.d!==3,L=this.v;L.v[0][0]=k,L.v[0][1]=S-K,L.v[1][0]=R?k+F:k-F,L.v[1][1]=S,L.v[2][0]=k,L.v[2][1]=S+K,L.v[3][0]=R?k-F:k+F,L.v[3][1]=S,L.i[0][0]=R?k-F*m:k+F*m,L.i[0][1]=S-K,L.i[1][0]=R?k+F:k-F,L.i[1][1]=S-K*m,L.i[2][0]=R?k+F*m:k-F*m,L.i[2][1]=S+K,L.i[3][0]=R?k-F:k+F,L.i[3][1]=S+K*m,L.o[0][0]=R?k+F*m:k-F*m,L.o[0][1]=S-K,L.o[1][0]=R?k+F:k-F,L.o[1][1]=S+K*m,L.o[2][0]=R?k-F*m:k+F*m,L.o[2][1]=S+K,L.o[3][0]=R?k-F:k+F,L.o[3][1]=S-K*m}},extendPrototype([DynamicPropertyContainer],v),v}(),f=function(){function m(v,p){if(this.v=shapePool.newElement(),this.v.setPathData(!0,0),this.elem=v,this.comp=v.comp,this.data=p,this.frameId=-1,this.d=p.d,this.initDynamicPropertyContainer(v),p.sy===1)this.ir=PropertyFactory.getProp(v,p.ir,0,0,this),this.is=PropertyFactory.getProp(v,p.is,0,0.01,this),this.convertToPath=this.convertStarToPath;else this.convertToPath=this.convertPolygonToPath;if(this.pt=PropertyFactory.getProp(v,p.pt,0,0,this),this.p=PropertyFactory.getProp(v,p.p,1,0,this),this.r=PropertyFactory.getProp(v,p.r,0,degToRads,this),this.or=PropertyFactory.getProp(v,p.or,0,0,this),this.os=PropertyFactory.getProp(v,p.os,0,0.01,this),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.localShapeCollection.addShape(this.v),this.paths=this.localShapeCollection,this.dynamicProperties.length)this.k=!0;else this.k=!1,this.convertToPath()}return m.prototype={reset:o,getValue:function v(){if(this.elem.globalData.frameId===this.frameId)return;if(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf)this.convertToPath()},convertStarToPath:function v(){var p=Math.floor(this.pt.v)*2,k=Math.PI*2/p,S=!0,F=this.or.v,K=this.ir.v,R=this.os.v,L=this.is.v,M=2*Math.PI*F/(p*2),X=2*Math.PI*K/(p*2),_,U,G,O,H=-Math.PI/2;H+=this.r.v;var Z=this.data.d===3?-1:1;this.v._length=0;for(_=0;_<p;_+=1){U=S?F:K,G=S?R:L,O=S?M:X;var w=U*Math.cos(H),x=U*Math.sin(H),V=w===0&&x===0?0:x/Math.sqrt(w*w+x*x),B=w===0&&x===0?0:-w/Math.sqrt(w*w+x*x);w+=+this.p.v[0],x+=+this.p.v[1],this.v.setTripleAt(w,x,w-V*O*G*Z,x-B*O*G*Z,w+V*O*G*Z,x+B*O*G*Z,_,!0),S=!S,H+=k*Z}},convertPolygonToPath:function v(){var p=Math.floor(this.pt.v),k=Math.PI*2/p,S=this.or.v,F=this.os.v,K=2*Math.PI*S/(p*4),R,L=-Math.PI*0.5,M=this.data.d===3?-1:1;L+=this.r.v,this.v._length=0;for(R=0;R<p;R+=1){var X=S*Math.cos(L),_=S*Math.sin(L),U=X===0&&_===0?0:_/Math.sqrt(X*X+_*_),G=X===0&&_===0?0:-X/Math.sqrt(X*X+_*_);X+=+this.p.v[0],_+=+this.p.v[1],this.v.setTripleAt(X,_,X-U*K*F*M,_-G*K*F*M,X+U*K*F*M,_+G*K*F*M,R,!0),L+=k*M}this.paths.length=0,this.paths[0]=this.v}},extendPrototype([DynamicPropertyContainer],m),m}(),c=function(){function m(v,p){if(this.v=shapePool.newElement(),this.v.c=!0,this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.localShapeCollection.addShape(this.v),this.paths=this.localShapeCollection,this.elem=v,this.comp=v.comp,this.frameId=-1,this.d=p.d,this.initDynamicPropertyContainer(v),this.p=PropertyFactory.getProp(v,p.p,1,0,this),this.s=PropertyFactory.getProp(v,p.s,1,0,this),this.r=PropertyFactory.getProp(v,p.r,0,0,this),this.dynamicProperties.length)this.k=!0;else this.k=!1,this.convertRectToPath()}return m.prototype={convertRectToPath:function v(){var p=this.p.v[0],k=this.p.v[1],S=this.s.v[0]/2,F=this.s.v[1]/2,K=bmMin(S,F,this.r.v),R=K*(1-roundCorner);if(this.v._length=0,this.d===2||this.d===1)if(this.v.setTripleAt(p+S,k-F+K,p+S,k-F+K,p+S,k-F+R,0,!0),this.v.setTripleAt(p+S,k+F-K,p+S,k+F-R,p+S,k+F-K,1,!0),K!==0)this.v.setTripleAt(p+S-K,k+F,p+S-K,k+F,p+S-R,k+F,2,!0),this.v.setTripleAt(p-S+K,k+F,p-S+R,k+F,p-S+K,k+F,3,!0),this.v.setTripleAt(p-S,k+F-K,p-S,k+F-K,p-S,k+F-R,4,!0),this.v.setTripleAt(p-S,k-F+K,p-S,k-F+R,p-S,k-F+K,5,!0),this.v.setTripleAt(p-S+K,k-F,p-S+K,k-F,p-S+R,k-F,6,!0),this.v.setTripleAt(p+S-K,k-F,p+S-R,k-F,p+S-K,k-F,7,!0);else this.v.setTripleAt(p-S,k+F,p-S+R,k+F,p-S,k+F,2),this.v.setTripleAt(p-S,k-F,p-S,k-F+R,p-S,k-F,3);else if(this.v.setTripleAt(p+S,k-F+K,p+S,k-F+R,p+S,k-F+K,0,!0),K!==0)this.v.setTripleAt(p+S-K,k-F,p+S-K,k-F,p+S-R,k-F,1,!0),this.v.setTripleAt(p-S+K,k-F,p-S+R,k-F,p-S+K,k-F,2,!0),this.v.setTripleAt(p-S,k-F+K,p-S,k-F+K,p-S,k-F+R,3,!0),this.v.setTripleAt(p-S,k+F-K,p-S,k+F-R,p-S,k+F-K,4,!0),this.v.setTripleAt(p-S+K,k+F,p-S+K,k+F,p-S+R,k+F,5,!0),this.v.setTripleAt(p+S-K,k+F,p+S-R,k+F,p+S-K,k+F,6,!0),this.v.setTripleAt(p+S,k+F-K,p+S,k+F-K,p+S,k+F-R,7,!0);else this.v.setTripleAt(p-S,k-F,p-S+R,k-F,p-S,k-F,1,!0),this.v.setTripleAt(p-S,k+F,p-S,k+F-R,p-S,k+F,2,!0),this.v.setTripleAt(p+S,k+F,p+S-R,k+F,p+S,k+F,3,!0)},getValue:function v(){if(this.elem.globalData.frameId===this.frameId)return;if(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf)this.convertRectToPath()},reset:o},extendPrototype([DynamicPropertyContainer],m),m}();function y(m,v,p){var k;if(p===3||p===4){var S=p===3?v.pt:v.ks,F=S.k;if(F.length)k=new u(m,v,p);else k=new s(m,v,p)}else if(p===5)k=new c(m,v);else if(p===6)k=new h(m,v);else if(p===7)k=new f(m,v);if(k.k)m.addDynamicProperty(k);return k}function g(){return s}function b(){return u}var I={};return I.getShapeProp=y,I.getConstructorFunction=g,I.getKeyframedConstructorFunction=b,I}();/*!
|
|
1
|
+
var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames:es}=Object;var os=Object.prototype.hasOwnProperty;var sa=(a,i,e)=>{e=a!=null?as(is(a)):{};let o=i||!a||!a.__esModule?Vr(e,"default",{value:a,enumerable:!0}):e;for(let r of es(a))if(!os.call(o,r))Vr(o,r,{get:()=>a[r],enumerable:!0});return o};var Ia=(a,i)=>()=>(i||a((i={exports:{}}).exports,i),i.exports);var d=function(a,i,e,o){var r=arguments.length,n=r<3?i:o===null?o=Object.getOwnPropertyDescriptor(i,e):o,t;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")n=Reflect.decorate(a,i,e,o);else for(var s=a.length-1;s>=0;s--)if(t=a[s])n=(r<3?t(n):r>3?t(i,e,n):t(i,e))||n;return r>3&&n&&Object.defineProperty(i,e,n),n};var so=Ia((ou,vs)=>{vs.exports={accessibility:{sliderValue:"{value} من {max}"},alerts:{autobetStarted:"تم بدء وضع الرهان التلقائي",autobetStopped:"تم إيقاف وضع الرهان التلقائي",betAmountAboveMaxBet:"الحد الأقصى للرهان هو {value}",betAmountBelowMinBet:"الحد الأدنى للرهان هو {value}",betLimitReached:"تم الوصول إلى حد الرهان",errorProcessingBet:"حدث خطأ أثناء معالجة رهانك. يُرجى المحاولة مرة أخرى.",failedToLoadBetData:"فشل تحميل بيانات الرهان",gameError:"حدث خطأ أثناء معالجة رهانك. يُرجى المحاولة مرة أخرى.",insufficientBalance:"رصيد غير كاف",notEnoughBalance:"ليس هناك توازن كاف"},autobet:{games:"ألعاب",games10:"10 ألعاب",games100:"100 لعبة",games25:"25 لعبة",games5:"5 ألعاب",games50:"50 لعبة",increase:"يزيد",infinite:"لانهائي",onLoss:"عن الخسارة",onWin:"على ويندوز",reset:"إعادة ضبط",startAutobet:"ابدأ الرهان التلقائي",stopAutobet:"إيقاف الرهان التلقائي",stopOnLoss:"وقف الخسارة",stopOnProfit:"إيقاف الربح"},common:{auto:"آلي",back:"خلف",balance:"توازن",bet:"مبلغ الرهان",betAmount:"مبلغ الرهان",cancel:"يلغي",cashOut:"صرف نقدي",classic:"كلاسيكي",confirm:"يتأكد",copied:"تم النسخ",disableHotkeys:"تعطيل مفاتيح التشغيل السريع",disableMaxBet:"تعطيل الرهان الأقصى",deposit:"إيداع",enableHotkeys:"تمكين مفاتيح التشغيل السريع",enableMaxBet:"تمكين الرهان الأقصى",footerNavigation:"التنقل في التذييل",gameInfo:"معلومات اللعبة",high:"عالي",history:"تاريخ",hotkeys:"مفاتيح التشغيل السريع",id:"بطاقة تعريف",instantBet:"الرهان الفوري",loading:"تحميل...",loadMore:"تحميل المزيد",lobby:"العودة إلى الردهة",low:"قليل",manual:"يدوي",max:"الأعلى",medium:"واسطة",multiplier:"المضاعف",payout:"الدفع",placeBet:"وضع الرهان",profit:"ربح",profitOnWin:"الربح على الفوز",provablyFair:"عادلة بشكل يمكن إثباته",risk:"مخاطرة",siteInformation:"معلومات الموقع",space:"فضاء",targetMultiplier:"المضاعف",thisFieldIsRequired:"هذه الخانة مطلوبه",timestamp:"وقت",toggleHotkeys:"تبديل مفاتيح التشغيل السريع",viewFairnessInformation:"عرض معلومات العدالة",viewHistory:"عرض التاريخ",volume:"مقدار",winChance:"فرصة الفوز"},errors:{dice:{multiplierRange:"يجب أن يكون بين {min} و {max}",winChanceRange:"يجب أن يكون بين {min} و {max}"}},fairness:{activeClientSeed:"بذرة العميل النشط",enterClientSeed:"أدخل بذرة العميل",enterProof:"أدخل الدليل",enterPublicKey:"أدخل المفتاح العام",enterRandomness:"أدخل العشوائية",enterRequest:"أدخل الطلب",info:{p1:"نتيجة كل جولة تأتي من عشوائية قابلة للتحقق، وليس من منطق الخادم الخفي. نبني بذرة حتمية من قيم فريدة لجولتك - معرف اللعبة، معرف المستأجر، معرف مستخدم المستأجر، ورقم عشوائي متزايد (واحد لكل جولة مكتملة)، بالإضافة إلى بذرة العميل. هذا يضمن أن تكون كل جولة فريدة وقابلة للتكرار: نفس المدخلات ← نفس التدفق العشوائي ← نفس النتيجة.",p2:"يتم تشغيل هذه البذرة من خلال دالة عشوائية قابلة للتحقق من المنحنى الإهليلجي (ECVRF) وفقًا لمسودة مواصفات IETF-irtf-cfrg-vrf-15. يستخدم خادمنا مفتاحه الخاص لإنتاج قيمة عشوائية ودليل تشفير (proofString). يمكن لأي شخص لديه مفتاحنا العام التحقق بشكل مستقل من هذا الدليل للمدخلات المعطاة، مما يؤكد أن العشوائية جاءت من البذرة ولم يتم التلاعب بها. مجموعة تطوير البرامج (SDK) هي TypeScript، بينما يستخدم نظام التشفير الأساسي مكتبة fastcrypto Rust عبر NAPI-RS لضمان الأداء والأمان.",p3:"بمجرد التحقق، يُنشئ مُخرَج VRF مُولِّد بايتات عشوائية حتمي (hashSequence). تُحوِّل الألعاب هذه البايتات إلى نتائج باستخدام منطق حتمي وغير مُتحيز. ولأن العملية حتمية، ويتقدم الرقم العشوائي مع كل جولة مُكتملة، ستحصل على عمليات تدقيق قابلة للتكرار (إعادة إنشاء نفس الجولة تمامًا) وعشوائية جديدة وغير مُتكررة في كل مرة.",p4:"بعد كل جولة، ستحصل على المدخلات (بما في ذلك بذرة العميل ورمز الجولة)، ومخرجات VRF، وسلسلة الإثبات، ومفتاحنا العام. استخدم أي مُتحقق ECVRF أو مكتباتنا للتحقق من صحة الإثبات باستخدام المدخلات والمفتاح العام، و(2) إعادة إنشاء تسلسل التجزئة نفسه والنتيجة. مفتاحنا الخاص لا يغادر الخوادم الآمنة أبدًا؛ والمفتاح العام آمن للاستخدام من جانب العميل لإجراء عمليات تحقق مستقلة.",step1Desc:"نجمع بين معرف اللعبة، ومعرف المستأجر، ومعرف مستخدم المستأجر، ورقم عشوائي لكل جولة، وبذرة العميل. تُنتج نفس المدخلات دائمًا نفس التدفق العشوائي والنتيجة.",step1Title:"بذرة حتمية",step2Title:"توليد العشوائية",step3Desc:"يمكن لأي شخص التحقق من صحة سلسلة الإثبات (proofString) للمدخلات المُعطاة باستخدام مفتاحنا العام. هذا يؤكد تطابق العشوائية مع البذرة وعدم التلاعب بها.",step3Title:"التحقق من الدليل",step4Title:"استخلاص النتائج",step5Title:"التكاثر"},invalidGame:"تم تقديم نوع لعبة غير صالح.",learnMore:"يتعلم أكثر",newClientSeed:"بذرة العميل الجديد",noBettingHistory:"لا يوجد تاريخ مراهنة",outcomeCalculationInfo:"يتم حساب نتيجة كل لعبة باستخدام قيمة عشوائية كمدخلات.",outcomeNotVerified:"لم يتم التحقق من نتيجة هذه اللعبة",outcomeVerified:"لقد تم التحقق من نتيجة هذه اللعبة ويمكن إثبات أنها عادلة",proof:"دليل",publicKey:"المفتاح العام",randomness:"العشوائية",request:"طلب",saveClientSeed:"حفظ بذرة العميل",verifyOutcome:"التحقق من النتيجة"},gameInfo:{dice:{how1:"اختر التمرير تحت أو التمرير فوق.",how2:"حدد رقم هدفك.",how3:"قم بتحديد مبلغ الرهان الخاص بك ثم ضع رهانك.",how4:"نقوم بإنشاء نتيجة عشوائية واحدة (يتم عرضها على مقياس يتراوح من 0 إلى 99.99 داخل اللعبة).",how5:"ستفوز إذا كانت النتيجة ضمن النطاق الذي اخترته.",how6:"الدفعة الخاصة بك هي رهان x المضاعف الموضح، والذي يتم تحديثه أثناء تحريك شريط التمرير.",overview:"حدد رقمًا مستهدفًا واختر ما إذا كانت الرمية ستقع تحته أم فوقه. تحريك شريط التمرير يغير فرص فوزك ومضاعفه - كلما زادت الفرصة، انخفض المضاعف، وكلما قلت، زاد. كل جولة هي رمية مستقلة على مقياس اللعبة.",provablyFair:"يُولّد نظامنا العشوائي القابل للتحقق كل رمية نرد. بعد كل جولة، يمكنك الاطلاع على المُدخلات والإثبات، والتحقق من النتيجة باستخدام مفتاحنا العام، وإعادة إنتاجها.",strategyTip:"اختر تقلباتك. كلما انخفضت فرصة الفوز، زادت المضاعفات، لكن فرص الفوز نادرة. كلما زادت فرصة الفوز، انخفضت المضاعفات، لكن فرص الفوز أكثر تكرارًا. حدّد حجم رهاناتك بما يتناسب مع رصيدك المالي لتحقيق تقلبات أكثر استقرارًا."},keno:{how1:"اختر 1-10 بلاطات على اللوحة 1-40.",how2:"قم بتحديد مبلغ الرهان الخاص بك ثم ضع رهانك.",how3:"نقوم بسحب 10 أرقام فائزة، ويتم تسليط الضوء على تطابقاتك.",how4:"تعتمد المدفوعات على عدد المربعات التي حددتها وعدد الضربات التي حصلت عليها - تحقق من جدول الدفع.",how5:"لا يمكنك أبدًا الوصول إلى أرقام أكثر من تلك التي قمت بتحديدها، والحد الأقصى للاختيار هو 10.",overview:"اختر أرقامك المحظوظة وحاول مطابقة النتيجة. يمكنك اختيار من 1 إلى 10 أرقام من 1 إلى 40، ثم نقوم بسحب 10 أرقام. كلما زادت اختياراتك الناجحة، زادت أرباحك.",provablyFair:"يُولّد نظامنا العشوائي القابل للتحقق كل قرعة كينو. بعد كل جولة، يمكنك الاطلاع على المُدخلات والإثبات، والتحقق من النتيجة باستخدام مفتاحنا العام، وإعادة إنتاجها.",strategyTip:"اختر تقلباتك. اختيار عدد أقل من المراكز يعني أرباحًا أقل ومضاعفات أكبر بكثير. المزيد من المراكز يعني ضربات أكثر تكرارًا، لكن متوسط عوائد أقل لكل ضربة. يُوازن نطاق متوسط معدل الضربات والعائد. عدّل حجم رهانك بما يتناسب مع تفضيلاتك للمخاطرة ورصيدك المالي."},limbo:{how1:"قم بتعيين مضاعف الهدف الخاص بك.",how2:"قم بتحديد مبلغ الرهان الخاص بك ثم ضع رهانك.",how3:"نحن نولد مضاعف نتيجة عشوائي واحد.",how4:"تفوز إذا كانت النتيجة أكبر من هدفك أو تساويه.",how5:"إن المبلغ المدفوع لك هو رهانك × مضاعف هدفك؛ وإلا فإنك تخسر رهانك.",overview:"في لعبة ليمبو، تُحدد قيمة الدفعة المطلوبة، وتُجري اللعبة مُضاعفًا عشوائيًا واحدًا للنتيجة. إذا كانت النتيجة تساوي هدفك على الأقل، تفوز. أما إذا كانت أقل، فتخسر. كلما زادت الفرصة، قلّ المضاعف، وكلما قلت الفرصة، زاد.",provablyFair:"يُولّد نظامنا العشوائي القابل للتحقق جميع نتائج لعبة Limbo. بعد كل جولة، يمكنك الاطلاع على المُدخلات والإثبات، والتحقق من النتيجة باستخدام مفتاحنا العام، وإعادة إنتاجها.",strategyTip:"الأهداف الأقل فوزًا غالبًا ما تكون أرباحها أقل، بينما الأهداف الأعلى فوزًا نادرًا ما تكون أرباحها أعلى بكثير. فكّر في تحديد هدف ثابت لكل جلسة، أو امزج بين الرهانات الطويلة أحيانًا، وحدّد حجم الرهانات باستمرار لإدارة التباين."},mines:{how1:"اختر عدد الألغام لهذه الجولة.",how2:"قم بتحديد مبلغ الرهان الخاص بك ثم ضع رهانك.",how3:"انقر على المربعات لإظهارها: المربع الآمن يزيد من مضاعفك؛ وينهي المنجم الجولة.",how4:"يمكنك صرف الأموال في أي وقت لتثبيت المضاعف الحالي لديك.",how5:"يتم دفع المبلغ الخاص بك بمقدار الرهان x المضاعف الحالي عند صرف أموالك.",how6:"تنتهي الجولة عندما تقوم بصرف أموالك أو عندما يتم الكشف عن منجم.",overview:'تدور لعبة "الألغام" حول اختيار القطع الآمنة وتحديد وقت صرفها. قبل بدء الجولة، حدد عدد الألغام التي ستخفيها على اللوحة. كل قطعة آمنة تكشفها تزيد من مضاعفك. إذا ضربت لغمًا، تنتهي الجولة دون أي ربح.',provablyFair:"يُولّد نظامنا العشوائي القابل للتحقق تصميمًا مخفيًا لكل لوحة. بعد كل جولة، يمكنك عرض المُدخلات والإثبات، والتحقق من النتيجة باستخدام مفتاحنا العام، وإعادة إنتاج النتيجة نفسها.",strategyTip:"اختر مستوى تقلباتك. كلما قلّت المناجم، زادت أمان كشفك ومضاعفاتك. كلما زادت المناجم، زادت مخاطر كشفك مع زيادة مضاعفاتك. حدد هدفًا أو استخدم أمر إيقاف الخسارة للتحكم في التقلبات. يساعد تحديد حجم الرهانات بشكل ثابت وسحب الأرباح بشكل منضبط على التحكم في التباين."},strategyTitle:"الاستراتيجية",tutorial:"درس تعليمي"},games:{dice:{rollOver:"انقلب",rollUnder:"تدحرج تحت"},keno:{autoPick:"الاختيار التلقائي",clearTable:"واضح",kenoGameGrid:"شبكة لعبة كينو",kenoNumber:"رقم كينو",selectAtLeastOneTile:"الرجاء تحديد بلاطة واحدة على الأقل",selectTileToAutobet:"الرجاء تحديد بلاطة واحدة على الأقل"},limbo:{multiplierError:"يجب أن يكون بين {min} و {max}",targetMultiplier:"المضاعف",winChanceError:"يجب أن يكون بين {min} و {max}"},mines:{cashout:"صرف نقدي",gem:"جوهرة",gems:"الأحجار الكريمة",mine:"مِلكِي",mines:"المناجم",nextGem:"الجوهرة التالية",selectRandomTile:"حدد بلاطة عشوائية",selectTileToAutobet:"الرجاء تحديد بلاطة واحدة على الأقل للمراهنة تلقائيًا",tile:"بلاط",unrevealed:"غير مكشوف"}},hotkeys:{doubleBet:"مبلغ الرهان المزدوج",halveBet:"نصف مبلغ الرهان",higherTarget:"هدف أعلى",info:"عند تفعيل مفاتيح الاختصار، ستبقى مفعلة لهذه اللعبة حتى يتم تعطيلها. على الرغم من أن بعض الألعاب تشترك في روابط مفاتيح متشابهة، يُنصح دائمًا بتأكيد مفاتيح الاختصار لكل لعبة.",lowerTarget:"الهدف الأدنى",makeBet:"وضع الرهان",toggleWinCondition:"تبديل شرط الفوز",zeroBet:"مبلغ الرهان صفر"},modals:{betResult:"نتيجة الرهان",fairnessAndHistory:"العدالة والتاريخ",gameArea:"منطقة اللعبة",gameControls:"عناصر التحكم في اللعبة",gameInfo:"معلومات اللعبة"}}});var lo=Ia((ru,gs)=>{gs.exports={accessibility:{sliderValue:"{value} von {max}"},alerts:{autobetStarted:"Autobet-Modus gestartet",autobetStopped:"Autobet-Modus gestoppt",betAmountAboveMaxBet:"Der Höchsteinsatz beträgt {value}",betAmountBelowMinBet:"Der Mindesteinsatz beträgt {value}",betLimitReached:"Einsatzlimit erreicht",errorProcessingBet:"Bei der Verarbeitung Ihrer Wette ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.",failedToLoadBetData:"Wettdaten konnten nicht geladen werden",gameError:"Bei der Verarbeitung Ihrer Wette ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.",insufficientBalance:"Unzureichendes Gleichgewicht",notEnoughBalance:"Nicht genug Gleichgewicht"},autobet:{games:"Spiele",games10:"10 Spiele",games100:"100 Spiele",games25:"25 Spiele",games5:"5 Spiele",games50:"50 Spiele",increase:"Zunahme",infinite:"Unendlich",onLoss:"Bei Verlust",onWin:"Bei Win",reset:"Zurücksetzen",startAutobet:"Starten Sie Autobet",stopAutobet:"Stoppen Sie Autobet",stopOnLoss:"Stopp bei Verlust",stopOnProfit:"Stoppen Sie den Gewinn"},common:{auto:"Auto",back:"Zurück",balance:"Gleichgewicht",bet:"Einsatzbetrag",betAmount:"Einsatzbetrag",cancel:"Stornieren",cashOut:"Auszahlung",classic:"Klassiker",confirm:"Bestätigen",copied:"Kopiert",disableHotkeys:"Hotkeys deaktivieren",disableMaxBet:"Maximaleinsatz deaktivieren",deposit:"Einzahlung",enableHotkeys:"Hotkeys aktivieren",enableMaxBet:"Maximaleinsatz aktivieren",footerNavigation:"Footer navigation",gameInfo:"Spielinfo",high:"Hoch",history:"Geschichte",hotkeys:"Tastenkombinationen",id:"AUSWEIS",instantBet:"Sofortwette",loading:"Laden...",loadMore:"Mehr laden",lobby:"Zurück zur Lobby",low:"Niedrig",manual:"Handbuch",max:"MAX",medium:"Medium",multiplier:"Multiplikator",payout:"Auszahlung",placeBet:"Wette platzieren",profit:"Profitieren",profitOnWin:"Gewinn beim Gewinn",provablyFair:"Nachweislich fair",risk:"Risiko",siteInformation:"Site-Informationen",space:"RAUM",targetMultiplier:"Multiplikator",thisFieldIsRequired:"Dieses Feld ist erforderlich",timestamp:"Zeit",toggleHotkeys:"Hotkeys umschalten",viewFairnessInformation:"Fairnessinformationen anzeigen",viewHistory:"Verlauf anzeigen",volume:"Volumen",winChance:"Gewinnchance"},errors:{dice:{multiplierRange:"Muss zwischen {min} und {max} liegen",winChanceRange:"Muss zwischen {min} und {max} liegen"}},fairness:{activeClientSeed:"Aktiver Client-Seed",enterClientSeed:"Client-Seed eingeben",enterProof:"Beweis eingeben",enterPublicKey:"Öffentlichen Schlüssel eingeben",enterRandomness:"Geben Sie Zufälligkeit ein",enterRequest:"Anfrage eingeben",info:{p1:"Das Ergebnis jeder Runde basiert auf nachweisbarem Zufall, nicht auf versteckter Serverlogik. Wir erstellen einen deterministischen Seed aus für Ihre Runde eindeutigen Werten – GameId, TenantId, TenantUserId, einem inkrementierenden Nonce (einer pro abgeschlossener Runde) sowie Ihrem ClientSeed. Dies garantiert, dass jede Runde einzigartig und reproduzierbar ist: gleiche Eingaben → gleicher Zufallsstrom → gleiches Ergebnis.",p2:"Dieser Seed wird gemäß der IETF-Spezifikation draft-irtf-cfrg-vrf-15 durch eine Elliptic Curve Verifiable Random Function (ECVRF) ausgeführt. Unser Server verwendet seinen privaten Schlüssel, um einen Zufallswert und einen kryptografischen Beweis (ProofString) zu erzeugen. Jeder mit unserem öffentlichen Schlüssel kann diesen Beweis für die gegebenen Eingaben unabhängig überprüfen und so bestätigen, dass die Zufälligkeit vom Seed stammt und nicht manipuliert wurde. Das SDK ist TypeScript, während die Kern-Kryptowährung die Rust-Bibliothek fastcrypto über NAPI-RS für Leistung und Sicherheit nutzt.",p3:"Nach der Überprüfung wird die VRF-Ausgabe an einen deterministischen Zufallsbytegenerator (Hashsequenz) gesendet. Die Spiele wandeln diese Bytes mithilfe deterministischer, unvoreingenommener Logik in Ergebnisse um. Da der Prozess deterministisch ist und der Nonce mit jeder abgeschlossenen Runde fortschreitet, erhalten Sie sowohl wiederholbare Audits (genaue Wiederholung derselben Runde) als auch jedes Mal neue, sich nicht wiederholende Zufälligkeit.",p4:"Nach einer Runde verfügen Sie über die Eingaben (einschließlich Ihres ClientSeeds und der Nonce der Runde), die VRF-Ausgabe, den ProofString und unseren öffentlichen Schlüssel. Verwenden Sie einen beliebigen ECVRF-Verifizierer oder unsere Bibliotheken, um (1) den Beweis anhand der Eingaben und des öffentlichen Schlüssels zu überprüfen und (2) dieselbe Hash-Sequenz und das gleiche Ergebnis zu regenerieren. Unser privater Schlüssel verlässt niemals sichere Server; der öffentliche Schlüssel kann clientseitig sicher für unabhängige Prüfungen verwendet werden.",step1Desc:"Wir kombinieren GameId, TenantId, TenantUserId, einen Nonce pro Runde und Ihren ClientSeed. Dieselben Eingaben erzeugen immer denselben Zufallsstrom und dasselbe Ergebnis.",step1Title:"Deterministischer Seed",step2Title:"Zufälligkeit erzeugen",step3Desc:"Jeder kann den ProofString für die angegebenen Eingaben mit unserem öffentlichen Schlüssel überprüfen. Dies bestätigt, dass die Zufälligkeit mit dem Seed übereinstimmt und nicht manipuliert wurde.",step3Title:"Nachweis überprüfen",step4Title:"Ergebnisse ableiten",step5Title:"Reproduktion"},invalidGame:"Ungültiger Spieltyp angegeben.",learnMore:"Mehr erfahren",newClientSeed:"Neuer Client-Seed",noBettingHistory:"Kein Wettverlauf",outcomeCalculationInfo:"Das Ergebnis jedes Spiels wird anhand eines Zufallswerts als Eingabe berechnet.",outcomeNotVerified:"Das Ergebnis dieses Spiels konnte nicht verifiziert werden",outcomeVerified:"Das Ergebnis dieses Spiels wurde überprüft und ist nachweislich fair",proof:"Nachweisen",publicKey:"Öffentlicher Schlüssel",randomness:"Zufälligkeit",request:"Anfrage",saveClientSeed:"Client-Seed speichern",verifyOutcome:"Ergebnis überprüfen"},gameInfo:{dice:{how1:"Wählen Sie „Rollen unter“ oder „Rollen darüber“.",how2:"Legen Sie Ihre Zielnummer fest.",how3:"Legen Sie Ihren Einsatzbetrag fest und platzieren Sie Ihre Wette.",how4:"Wir generieren ein zufälliges Ergebnis (im Spiel auf einer Skala von 0–99,99 angezeigt).",how5:"Sie gewinnen, wenn das Ergebnis in Ihrem gewählten Bereich liegt.",how6:"Ihre Auszahlung entspricht dem Einsatz x dem angezeigten Multiplikator, der aktualisiert wird, wenn Sie den Schieberegler bewegen.",overview:"Legen Sie eine Zielzahl fest und wählen Sie, ob der Wurf darunter oder darüber landen soll. Durch Verschieben des Schiebereglers ändern Sie Ihre Gewinnchance und Ihren Multiplikator – eine höhere Chance verringert den Multiplikator, eine niedrigere erhöht ihn. Jede Runde ist ein unabhängiger Wurf auf der Spielskala.",provablyFair:"Unser überprüfbares Zufallssystem generiert jeden Würfelwurf. Nach jeder Runde können Sie die Eingaben und Beweise einsehen, das Ergebnis mit unserem öffentlichen Schlüssel überprüfen und dasselbe Ergebnis reproduzieren.",strategyTip:"Wählen Sie Ihre Volatilität. Eine geringere Gewinnchance führt zu höheren Multiplikatoren, aber selteneren Treffern. Eine höhere Gewinnchance führt zu kleineren Multiplikatoren, aber häufigeren Gewinnen. Passen Sie Ihre Einsätze an Ihr Budget an, um gleichmäßigere Schwankungen zu erzielen."},keno:{how1:"Wählen Sie 1–10 Kacheln auf dem 1–40-Brett.",how2:"Legen Sie Ihren Einsatzbetrag fest und platzieren Sie Ihre Wette.",how3:"Wir ziehen 10 Gewinnzahlen, Ihre Übereinstimmungen werden hervorgehoben.",how4:"Die Auszahlungen hängen davon ab, wie viele Kacheln Sie ausgewählt und wie viele Treffer Sie erzielt haben – sehen Sie sich die Auszahlungstabelle an.",how5:"Sie können nie mehr Zahlen treffen, als Sie ausgewählt haben, und die maximale Auswahl beträgt 10.",overview:"Wählen Sie Ihre Glückszahlen und versuchen Sie, die Ziehung richtig zu treffen. Sie können 1–10 Zahlen von 1–40 wählen, und wir ziehen dann 10 Zahlen. Je mehr Ihrer Tipps stimmen, desto höher ist Ihre Auszahlung.",provablyFair:"Unser überprüfbares Zufallssystem generiert jede Keno-Ziehung. Nach jeder Runde können Sie die Eingaben und Beweise einsehen, das Ergebnis mit unserem öffentlichen Schlüssel überprüfen und dasselbe Ergebnis reproduzieren.",strategyTip:"Wählen Sie Ihre Volatilität. Weniger Felder bedeuten seltenere Gewinne, aber deutlich höhere Multiplikatoren. Mehr Felder bedeuten häufigere Treffer, aber geringere durchschnittliche Gewinne pro Treffer. Ein mittlerer Bereich gleicht Trefferquote und Auszahlung aus. Passen Sie Ihre Einsatzhöhe an Ihre Risikobereitschaft und Ihr Budget an."},limbo:{how1:"Legen Sie Ihren Zielmultiplikator fest.",how2:"Legen Sie Ihren Einsatzbetrag fest und platzieren Sie Ihre Wette.",how3:"Wir generieren einen zufälligen Ergebnismultiplikator.",how4:"Sie gewinnen, wenn das Ergebnis größer oder gleich Ihrem Ziel ist.",how5:"Ihre Auszahlung entspricht dem Einsatz x Ihrem Zielmultiplikator; andernfalls verlieren Sie Ihren Einsatz.",overview:"In Limbo legen Sie Ihre gewünschte Auszahlung fest, und das Spiel zieht einen zufälligen Ergebnismultiplikator. Wenn das Ergebnis mindestens Ihrem Zielwert entspricht, gewinnen Sie. Wenn es niedriger ist, verlieren Sie. Eine höhere Chance senkt den Multiplikator, eine niedrigere Chance erhöht ihn.",provablyFair:"Unser überprüfbares Zufallssystem generiert jedes Limbo-Ergebnis. Nach jeder Runde können Sie die Eingaben und Beweise einsehen, das Ergebnis mit unserem öffentlichen Schlüssel überprüfen und dasselbe Ergebnis reproduzieren.",strategyTip:"Niedrigere Ziele gewinnen häufiger, zahlen aber weniger aus, während höhere Ziele seltener gewinnen, aber dafür deutlich mehr auszahlen. Erwägen Sie ein festes Ziel pro Sitzung oder mischen Sie gelegentlich Außenseiter ein und passen Sie Ihre Einsätze konstant an, um die Varianz zu kontrollieren."},mines:{how1:"Wählen Sie die Anzahl der Minen für diese Runde.",how2:"Legen Sie Ihren Einsatzbetrag fest und platzieren Sie Ihre Wette.",how3:"Klicken Sie auf Kacheln, um sie freizulegen: Eine sichere Kachel erhöht Ihren Multiplikator, eine Mine beendet die Runde.",how4:"Sie können jederzeit auszahlen, um Ihren aktuellen Multiplikator zu sichern.",how5:"Ihre Auszahlung entspricht dem Einsatz x dem aktuellen Multiplikator, wenn Sie auszahlen.",how6:"Die Runde endet, wenn Sie auszahlen oder eine Mine aufgedeckt wird.",overview:"Bei Minen geht es darum, sichere Plättchen auszuwählen und den Auszahlungszeitpunkt zu bestimmen. Wähle vor Beginn der Runde aus, wie viele Minen auf dem Spielfeld versteckt werden sollen. Jedes aufgedeckte sichere Plättchen erhöht deinen Multiplikator. Triffst du eine Mine, endet die Runde ohne Auszahlung.",provablyFair:"Unser überprüfbares Zufallssystem generiert das Layout der versteckten Minen auf jedem Brett. Nach jeder Runde können Sie die Eingaben und Beweise einsehen, das Ergebnis mit unserem öffentlichen Schlüssel überprüfen und dasselbe Ergebnis reproduzieren.",strategyTip:"Wählen Sie Ihre Volatilität. Weniger Minen bedeuten sicherere Enthüllungen und kleinere Multiplikatoren pro Schritt. Mehr Minen führen zu riskanteren Enthüllungen mit höheren Multiplikatoren. Setzen Sie ein Ziel oder verwenden Sie einen Stop-Loss, um Schwankungen zu kontrollieren. Konsistente Einsatzhöhen und disziplinierte Auszahlungen helfen, die Varianz unter Kontrolle zu halten."},strategyTitle:"Strategie",tutorial:"Lernprogramm"},games:{dice:{rollOver:"Sich umdrehen",rollUnder:"Unterrollen"},keno:{autoPick:"Automatische Auswahl",clearTable:"Klar",kenoGameGrid:"Keno-Spielraster",kenoNumber:"Keno-Nummer",selectAtLeastOneTile:"Bitte wählen Sie mindestens eine Kachel aus",selectTileToAutobet:"Bitte wählen Sie mindestens eine Kachel aus"},limbo:{multiplierError:"Muss zwischen {min} und {max} liegen",targetMultiplier:"Multiplikator",winChanceError:"Muss zwischen {min} und {max} liegen"},mines:{cashout:"Auszahlung",gem:"Juwel",gems:"Edelsteine",mine:"Meins",mines:"Minen",nextGem:"Nächster Edelstein",selectRandomTile:"Zufällige Kachel auswählen",selectTileToAutobet:"Bitte wählen Sie mindestens ein Feld für die automatische Wette aus",tile:"Fliese",unrevealed:"Unenthüllt"}},hotkeys:{doubleBet:"Doppelter Einsatzbetrag",halveBet:"Halbieren Sie den Einsatzbetrag",higherTarget:"Höheres Ziel",info:"Wenn Hotkeys aktiviert sind, bleiben sie für dieses Spiel aktiviert, bis sie deaktiviert werden. Obwohl einige Spiele ähnliche Tastenbelegungen haben, ist es immer ratsam, die Hotkeys für jedes Spiel zu bestätigen.",lowerTarget:"Unteres Ziel",makeBet:"Wette platzieren",toggleWinCondition:"Gewinnbedingung umschalten",zeroBet:"Null-Einsatzbetrag"},modals:{betResult:"Wettergebnis",fairnessAndHistory:"Fairness und Geschichte",gameArea:"Spielbereich",gameControls:"Spielsteuerung",gameInfo:"Spielinfo"}}});var uo=Ia((nu,fs)=>{fs.exports={accessibility:{sliderValue:"{value} out of {max}"},alerts:{autobetStarted:"Started autobet mode",autobetStopped:"Stopped autobet mode",betAmountAboveMaxBet:"Maximum bet is {value}",betAmountBelowMinBet:"Minimum bet is {value}",betLimitReached:"Bet limit reached",errorProcessingBet:"There was an error processing your bet. Please try again.",failedToLoadBetData:"Failed to load bet data",gameError:"There was an error processing your bet. Please try again.",insufficientBalance:"Insufficient balance",notEnoughBalance:"Not enough balance"},autobet:{games:"Games",games10:"10 Games",games100:"100 Games",games25:"25 Games",games5:"5 Games",games50:"50 Games",increase:"Increase",infinite:"Infinite",onLoss:"On Loss",onWin:"On Win",reset:"Reset",startAutobet:"Start Autobet",stopAutobet:"Stop Autobet",stopOnLoss:"Stop on Loss",stopOnProfit:"Stop On Profit"},common:{auto:"Auto",back:"Back",balance:"Balance",bet:"Bet Amount",betAmount:"Bet Amount",cancel:"Cancel",cashOut:"Cash Out",classic:"Classic",confirm:"Confirm",copied:"Copied",disableHotkeys:"Disable Hotkeys",disableMaxBet:"Disable Max Bet",deposit:"Deposit",enableHotkeys:"Enable Hotkeys",enableMaxBet:"Enable Max Bet",footerNavigation:"Footer Navigation",gameInfo:"Game Info",high:"High",history:"History",hotkeys:"Hotkeys",id:"ID",instantBet:"Instant Bet",loading:"Loading...",loadMore:"Load More",lobby:"Back to Lobby",low:"Low",manual:"Manual",max:"MAX",medium:"Medium",multiplier:"Multiplier",payout:"Payout",placeBet:"Place Bet",profit:"Profit",profitOnWin:"Profit On Win",provablyFair:"Provably Fair",risk:"Risk",siteInformation:"Game Information",space:"SPACE",targetMultiplier:"Multiplier",thisFieldIsRequired:"This field is required",timestamp:"Time",toggleHotkeys:"Toggle Hotkeys",viewFairnessInformation:"View Fairness Information",viewHistory:"View History",volume:"Volume",winChance:"Win Chance"},errors:{dice:{multiplierRange:"Must be between {min} and {max}",winChanceRange:"Must be between {min} and {max}"}},fairness:{activeClientSeed:"Active Client Seed",enterClientSeed:"Enter Client Seed",enterProof:"Enter Proof",enterPublicKey:"Enter Public Key",enterRandomness:"Enter Randomness",enterRequest:"Enter Request",info:{p1:"Every round’s result comes from verifiable randomness, not hidden server logic. We build a deterministic seed from values unique to your round—gameId, tenantId, tenantUserId, an incrementing nonce (one per completed round), plus your clientSeed. This guarantees each round is unique and reproducible: same inputs → same random stream → same outcome.",p2:"That seed is run through an Elliptic Curve Verifiable Random Function (ECVRF) per the IETF spec draft-irtf-cfrg-vrf-15. Our server uses its private key to produce a random value and a cryptographic proof (proofString). Anyone with our public key can independently verify that proof for the given inputs—confirming the randomness came from the seed and wasn’t tampered with. The SDK is TypeScript, while the core crypto uses the fastcrypto Rust library via NAPI-RS for performance and safety.",p3:"Once verified, the VRF output seeds a deterministic random byte generator (hashSequence). The games transform those bytes into outcomes using deterministic, unbiased logic. Because the process is deterministic and the nonce advances every completed round, you get both replayable audits (recreate the same round exactly) and fresh, non-repeating randomness each time.",p4:"After a round, you have the inputs (including your clientSeed and the round’s nonce), the VRF output, the proofString, and our public key. Use any ECVRF verifier or our libraries to: (1) verify the proof against the inputs and public key, and (2) regenerate the same hashSequence and outcome. Our private key never leaves secure servers; the public key is safe to use client-side for independent checks.",step1Desc:"We combine gameId, tenantId, tenantUserId, a per-round nonce, and your clientSeed. Same inputs always produce the same random stream and outcome.",step1Title:"Deterministic Seed",step2Title:"Generate Randomness",step3Desc:"Anyone can verify the proofString for the given inputs using our public key. This confirms the randomness matches the seed and was not tampered with.",step3Title:"Verify Proof",step4Title:"Derive Outcomes",step5Title:"Reproduction"},invalidGame:"Invalid game type provided.",learnMore:"Learn More",newClientSeed:"New Client Seed",noBettingHistory:"No betting history",outcomeCalculationInfo:"This game uses a provably fair algorithm that ensures the outcome is fair and transparent.",outcomeNotVerified:"The outcome of this game could not be verified. Double check you have entered the correct information and try again.",outcomeVerified:"The outcome of this round has been verified with our public key and is provably fair.",proof:"Proof",publicKey:"Active Public Key",randomness:"Randomness",request:"Request",saveClientSeed:"Save Client Seed",verifyOutcome:"Verify Outcome"},gameInfo:{dice:{how1:"Choose roll under or roll over.",how2:"Set your target number.",how3:"Set your bet amount and place your bet.",how4:"We generate one random result (displayed on the 0–99.99 scale in-game).",how5:"You win if the result is in your chosen range.",how6:"Your payout is bet x the shown multiplier, which updates as you move the slider.",overview:"Set a target number and choose whether the roll will land under or over it. Moving the slider changes your win chance and multiplier—a higher chance lowers the multiplier, a lower chance increases it. Each round is one independent roll on the game’s scale.",provablyFair:"Our verifiable randomness system generates every Dice roll. After every round, you can view the inputs and proof, verify the result with our public key, and reproduce the same result.",strategyTip:"Pick your volatility. A lower win chance yields bigger multipliers but rarer hits. A higher win chance yields smaller multipliers but more frequent wins. Size your bets to your bankroll for steadier swings."},keno:{how1:"Pick 1–10 tiles on the 1–40 board.",how2:"Set your bet amount and place your bet.",how3:"We draw 10 winning numbers; your matches are highlighted.",how4:"Payouts depend on how many tiles you selected and how many hits you got—check the paytable.",how5:"You can never hit more numbers than you selected, and the maximum selection is 10.",overview:"Pick your lucky numbers and try to match the draw. You can choose 1–10 numbers from 1–40, and we then draw 10 numbers. The more of your picks that hit, the higher your payout.",provablyFair:"Our verifiable randomness system generates every Keno draw. After every round, you can view the inputs and proof, verify the result with our public key, and reproduce the same result.",strategyTip:"Choose your volatility. Picking fewer spots means rarer wins but much bigger multipliers. More spots give more frequent hits but smaller average returns per hit. A middle range balances hit rate and payout. Adjust your bet size to match your risk preference and bankroll."},limbo:{how1:"Set your target multiplier.",how2:"Set your bet amount and place your bet.",how3:"We generate one random outcome multiplier.",how4:"You win if the outcome is greater than or equal to your target.",how5:"Your payout is bet x your target multiplier; otherwise, you lose your bet.",overview:"In Limbo, you set your desired payout, and the game draws a single random outcome multiplier. If the outcome is at least your target, you win. If it’s lower, you lose. A higher chance lowers the multiplier; a lower chance increases it.",provablyFair:"Our verifiable randomness system generates every Limbo outcome. After every round, you can view the inputs and proof, verify the result with our public key, and reproduce the same result.",strategyTip:"Lower targets win more often but pay less, while higher targets hit rarely but pay much more. Consider a fixed target per session or mix in occasional long shots, and size bets consistently to manage variance."},mines:{how1:"Choose the number of mines for this round.",how2:"Set your bet amount and place your bet.",how3:"Click tiles to reveal them: a safe tile increases your multiplier; a mine ends the round.",how4:"You can cash out at any time to lock in your current multiplier.",how5:"Your payout is bet x the current multiplier when you cash out.",how6:"The round ends when you cash out or when a mine is revealed.",overview:"Mines is about picking safe tiles and deciding when to cash out. Before the round starts, choose how many mines will be hidden on the board. Each safe tile you reveal increases your multiplier. Hit a mine, and the round ends with no payout.",provablyFair:"Our verifiable randomness system generates each board’s hidden mine layout. After every round, you can view the inputs and proof, verify the result with our public key, and reproduce the same result.",strategyTip:"Pick your volatility. Fewer mines mean safer reveals and smaller multipliers per step. More mines lead to riskier reveals with bigger multipliers. Set a target or use a stop-loss to manage swings. Consistent bet sizing and disciplined cash outs help keep variance in check."},strategyTitle:"Strategy",tutorial:"Tutorial"},games:{dice:{rollOver:"Roll Over",rollUnder:"Roll Under"},keno:{autoPick:"Auto Pick",clearTable:"Clear",kenoGameGrid:"Keno Game Grid",kenoNumber:"Keno Number {value}",selectAtLeastOneTile:"Select at least one tile",selectTileToAutobet:"Select at least one tile"},limbo:{multiplierError:"Must be between {min} and {max}",targetMultiplier:"Multiplier",winChanceError:"Must be between {min} and {max}"},mines:{cashout:"Cash Out",gem:"Gem",gems:"Gems",mine:"Mine",mines:"Mines",nextGem:"Next Gem",selectRandomTile:"Select Random Tile",selectTileToAutobet:"Select at least one tile",tile:"Tile",unrevealed:"Unrevealed"}},hotkeys:{doubleBet:"Double Bet Amount",halveBet:"Halve Bet Amount",higherTarget:"Higher Target",info:"When hotkeys are enabled, they will remain on for this game until disabled. Despite some games sharing similar key binds, it's always advised to confirm hotkeys for each game.",lowerTarget:"Lower Target",makeBet:"Place Bet",toggleWinCondition:"Toggle Win Condition",zeroBet:"Zero Bet Amount"},modals:{betResult:"Bet Result",fairnessAndHistory:"Fairness and History",gameArea:"Game Area",gameControls:"Game Controls",gameInfo:"Game Info"}}});var co=Ia((tu,ws)=>{ws.exports={accessibility:{sliderValue:"{value} de {max}"},alerts:{autobetStarted:"Se inició el modo de apuesta automática",autobetStopped:"Se detuvo el modo de apuesta automática",betAmountAboveMaxBet:"La apuesta máxima es {value}",betAmountBelowMinBet:"La apuesta mínima es {value}",betLimitReached:"Límite de apuesta alcanzado",errorProcessingBet:"Se produjo un error al procesar tu apuesta. Inténtalo de nuevo.",failedToLoadBetData:"No se pudieron cargar los datos de la apuesta",gameError:"Se produjo un error al procesar tu apuesta. Inténtalo de nuevo.",insufficientBalance:"Saldo insuficiente",notEnoughBalance:"No hay suficiente equilibrio"},autobet:{games:"Juegos",games10:"10 juegos",games100:"100 juegos",games25:"25 juegos",games5:"5 juegos",games50:"50 juegos",increase:"Aumentar",infinite:"Infinito",onLoss:"Sobre la pérdida",onWin:"En Win",reset:"Reiniciar",startAutobet:"Iniciar apuesta automática",stopAutobet:"Detener la apuesta automática",stopOnLoss:"Detener la pérdida",stopOnProfit:"Detener las ganancias"},common:{auto:"Auto",back:"Atrás",balance:"Balance",bet:"Monto de la apuesta",betAmount:"Monto de la apuesta",cancel:"Cancelar",cashOut:"Retiro de efectivo",classic:"Clásico",confirm:"Confirmar",copied:"Copiado",disableHotkeys:"Deshabilitar teclas de acceso rápido",disableMaxBet:"Desactivar apuesta máxima",deposit:"Depósito",enableHotkeys:"Habilitar teclas de acceso rápido",enableMaxBet:"Habilitar apuesta máxima",footerNavigation:"Navegación de pie de página",gameInfo:"Información del juego",high:"Alto",history:"Historia",hotkeys:"Teclas de acceso rápido",id:"IDENTIFICACIÓN",instantBet:"Apuesta instantánea",loading:"Cargando...",loadMore:"Cargar más",lobby:"Volver al vestíbulo",low:"Bajo",manual:"Manual",max:"MÁXIMO",medium:"Medio",multiplier:"Multiplicador",payout:"Pago",placeBet:"Realizar apuesta",profit:"Ganancia",profitOnWin:"Ganancias al ganar",provablyFair:"Demostrablemente justo",risk:"Riesgo",siteInformation:"Información del sitio",space:"ESPACIO",targetMultiplier:"Multiplicador",thisFieldIsRequired:"Este campo es obligatorio",timestamp:"Tiempo",toggleHotkeys:"Alternar teclas de acceso rápido",viewFairnessInformation:"Ver información de equidad",viewHistory:"Ver historial",volume:"Volumen",winChance:"Oportunidad de ganar"},errors:{dice:{multiplierRange:"Debe estar entre {min} y {max}",winChanceRange:"Debe estar entre {min} y {max}"}},fairness:{activeClientSeed:"Semilla de cliente activa",enterClientSeed:"Introducir semilla de cliente",enterProof:"Introducir prueba",enterPublicKey:"Introducir clave pública",enterRandomness:"Entra la aleatoriedad",enterRequest:"Introducir solicitud",info:{p1:"El resultado de cada ronda se basa en aleatoriedad verificable, no en lógica oculta del servidor. Creamos una semilla determinista a partir de valores únicos para cada ronda: gameId, tenantId, tenantUserId, un nonce incremental (uno por ronda completada) y clientSeed. Esto garantiza que cada ronda sea única y reproducible: mismas entradas → mismo flujo aleatorio → mismo resultado.",p2:"Esa semilla se ejecuta mediante una Función Aleatoria Verificable de Curva Elíptica (ECVRF) según la especificación IETF draft-irtf-cfrg-vrf-15. Nuestro servidor utiliza su clave privada para generar un valor aleatorio y una prueba criptográfica (proofString). Cualquier persona con nuestra clave pública puede verificar de forma independiente dicha prueba para las entradas dadas, lo que confirma que la aleatoriedad proviene de la semilla y no ha sido alterada. El SDK es TypeScript, mientras que el núcleo criptográfico utiliza la biblioteca fastcrypto de Rust a través de NAPI-RS para garantizar el rendimiento y la seguridad.",p3:"Una vez verificada, la salida VRF genera un generador de bytes aleatorios determinista (secuencia hash). Los juegos transforman esos bytes en resultados mediante lógica determinista e imparcial. Dado que el proceso es determinista y el nonce avanza con cada ronda completada, se obtienen auditorías repetibles (recrean la misma ronda con exactitud) y aleatoriedad nueva y no repetitiva en cada ronda.",p4:"Tras una ronda, dispone de las entradas (incluido su clientSeed y el nonce de la ronda), la salida VRF, la proofString y nuestra clave pública. Utilice cualquier verificador ECVRF o nuestras bibliotecas para: (1) verificar la prueba con las entradas y la clave pública, y (2) regenerar la misma hashSequence y el mismo resultado. Nuestra clave privada nunca sale de servidores seguros; la clave pública se puede usar de forma segura en el lado del cliente para comprobaciones independientes.",step1Desc:"Combinamos gameId, tenantId, tenantUserId, un nonce por ronda y tu clientSeed. Las mismas entradas siempre producen el mismo flujo aleatorio y el mismo resultado.",step1Title:"Semilla determinista",step2Title:"Generar aleatoriedad",step3Desc:"Cualquiera puede verificar la cadena de prueba para las entradas dadas usando nuestra clave pública. Esto confirma que la aleatoriedad coincide con la semilla y no fue alterada.",step3Title:"Verificar prueba",step4Title:"Derivar resultados",step5Title:"Reproducción"},invalidGame:"Tipo de juego proporcionado no válido.",learnMore:"Más información",newClientSeed:"Nueva semilla de cliente",noBettingHistory:"Sin historial de apuestas",outcomeCalculationInfo:"El resultado de cada juego se calcula utilizando un valor aleatorio como entrada.",outcomeNotVerified:"No se pudo verificar el resultado de este juego.",outcomeVerified:"El resultado de este juego ha sido verificado y es demostrablemente justo.",proof:"Prueba",publicKey:"Clave pública",randomness:"Aleatoriedad",request:"Pedido",saveClientSeed:"Guardar semilla de cliente",verifyOutcome:"Verificar resultado"},gameInfo:{dice:{how1:"Elige rodar por debajo o por encima.",how2:"Establezca su número objetivo.",how3:"Establezca el monto de su apuesta y realice su apuesta.",how4:"Generamos un resultado aleatorio (mostrado en la escala de 0 a 99,99 en el juego).",how5:"Ganas si el resultado está dentro del rango elegido.",how6:"Su pago es la apuesta x el multiplicador mostrado, que se actualiza a medida que mueve el control deslizante.",overview:"Establece un número objetivo y elige si la tirada caerá por encima o por debajo de él. Mover el control deslizante cambia tu probabilidad de ganar y el multiplicador: una probabilidad más alta reduce el multiplicador, una probabilidad más baja lo aumenta. Cada ronda es una tirada independiente en la escala del juego.",provablyFair:"Nuestro sistema de aleatoriedad verificable genera cada tirada de dados. Después de cada ronda, puedes ver las entradas y la prueba, verificar el resultado con nuestra clave pública y reproducirlo.",strategyTip:"Elige tu volatilidad. Una menor probabilidad de ganar ofrece multiplicadores más altos, pero aciertos más raros. Una mayor probabilidad de ganar ofrece multiplicadores más bajos, pero ganancias más frecuentes. Ajusta tus apuestas a tu presupuesto para obtener fluctuaciones más estables."},keno:{how1:"Elige entre 1 y 10 fichas en el tablero del 1 al 40.",how2:"Establezca el monto de su apuesta y realice su apuesta.",how3:"Sorteamos 10 números ganadores; tus coincidencias aparecen resaltadas.",how4:"Los pagos dependen de la cantidad de fichas que hayas seleccionado y de cuántos aciertos hayas obtenido: consulta la tabla de pagos.",how5:"Nunca puedes acertar más números que los seleccionados, y la selección máxima es 10.",overview:"Elige tus números de la suerte e intenta acertar el sorteo. Puedes elegir entre 1 y 10 números del 1 al 40, y luego sortearemos 10 números. Cuantos más números aciertes, mayor será tu premio.",provablyFair:"Nuestro sistema de aleatoriedad verificable genera cada sorteo de Keno. Después de cada ronda, puede consultar los datos ingresados y la prueba, verificar el resultado con nuestra clave pública y reproducirlo.",strategyTip:"Elige tu volatilidad. Elegir menos lugares significa ganancias menos frecuentes, pero multiplicadores mucho mayores. Más lugares ofrecen aciertos más frecuentes, pero menores ganancias promedio por acierto. Un rango medio equilibra la tasa de aciertos y el pago. Ajusta el tamaño de tu apuesta a tu preferencia de riesgo y presupuesto."},limbo:{how1:"Establezca su multiplicador objetivo.",how2:"Establezca el monto de su apuesta y realice su apuesta.",how3:"Generamos un multiplicador de resultado aleatorio.",how4:"Ganas si el resultado es mayor o igual a tu objetivo.",how5:"Su pago es su apuesta x su multiplicador objetivo; de lo contrario, perderá su apuesta.",overview:"En Limbo, estableces el pago deseado y el juego genera un multiplicador aleatorio. Si el resultado es al menos el objetivo, ganas. Si es menor, pierdes. Una probabilidad mayor reduce el multiplicador; una probabilidad menor lo aumenta.",provablyFair:"Nuestro sistema de aleatoriedad verificable genera todos los resultados de Limbo. Después de cada ronda, puedes ver las entradas y la prueba, verificar el resultado con nuestra clave pública y reproducirlo.",strategyTip:"Los objetivos más bajos ganan con más frecuencia, pero pagan menos, mientras que los objetivos más altos aciertan raramente, pero pagan mucho más. Considere un objetivo fijo por sesión o añada tiros largos ocasionales, y ajuste las apuestas de forma consistente para gestionar la varianza."},mines:{how1:"Elige el número de minas para esta ronda.",how2:"Establezca el monto de su apuesta y realice su apuesta.",how3:"Haz clic en las fichas para revelarlas: una ficha segura aumenta tu multiplicador; una mina finaliza la ronda.",how4:"Puedes retirar tu dinero en cualquier momento para fijar tu multiplicador actual.",how5:"Su pago es la apuesta x el multiplicador actual cuando retira su dinero.",how6:"La ronda termina cuando retiras tu dinero o cuando se revela una mina.",overview:"Minas consiste en elegir fichas seguras y decidir cuándo retirarlas. Antes de que empiece la ronda, elige cuántas minas estarán ocultas en el tablero. Cada ficha segura que reveles aumenta tu multiplicador. Si golpeas una mina, la ronda termina sin premio.",provablyFair:"Nuestro sistema de aleatoriedad verificable genera la disposición de la mina oculta de cada tablero. Después de cada ronda, puedes ver las entradas y la prueba, verificar el resultado con nuestra clave pública y reproducirlo.",strategyTip:"Elige tu volatilidad. Menos minas implican revelaciones más seguras y multiplicadores más pequeños por paso. Más minas resultan en revelaciones más arriesgadas con multiplicadores más altos. Establece un objetivo o usa un stop loss para gestionar las fluctuaciones. Un tamaño de apuesta consistente y retiros de efectivo disciplinados ayudan a controlar la varianza."},strategyTitle:"Estrategia",tutorial:"Tutorial"},games:{dice:{rollOver:"Dese la vuelta",rollUnder:"Rodar por debajo"},keno:{autoPick:"Selección automática",clearTable:"Claro",kenoGameGrid:"Cuadrícula del juego Keno",kenoNumber:"Número de Keno",selectAtLeastOneTile:"Por favor seleccione al menos un mosaico",selectTileToAutobet:"Por favor seleccione al menos un mosaico"},limbo:{multiplierError:"Debe estar entre {min} y {max}",targetMultiplier:"Multiplicador",winChanceError:"Debe estar entre {min} y {max}"},mines:{cashout:"Retiro de efectivo",gem:"Joya",gems:"Gemas",mine:"Mío",mines:"Minas",nextGem:"Próxima joya",selectRandomTile:"Seleccionar mosaico aleatorio",selectTileToAutobet:"Seleccione al menos una ficha para apostar automáticamente",tile:"Teja",unrevealed:"No revelado"}},hotkeys:{doubleBet:"Monto de apuesta doble",halveBet:"Reducir a la mitad el importe de la apuesta",higherTarget:"Objetivo más alto",info:"Cuando las teclas de acceso rápido estén habilitadas, permanecerán activadas para este juego hasta que se desactiven. Aunque algunos juegos comparten combinaciones de teclas similares, siempre se recomienda confirmar las teclas de acceso rápido para cada juego.",lowerTarget:"Objetivo inferior",makeBet:"Realizar apuesta",toggleWinCondition:"Activar o desactivar condición de victoria",zeroBet:"Monto de apuesta cero"},modals:{betResult:"Resultado de la apuesta",fairnessAndHistory:"Justicia e historia",gameArea:"Área de juego",gameControls:"Controles del juego",gameInfo:"Información del juego"}}});var ho=Ia((su,ys)=>{ys.exports={accessibility:{sliderValue:"{value}/{max}"},alerts:{autobetStarted:"Automaattivedonlyöntitila käynnistetty",autobetStopped:"Automaattivedonlyöntitila pysäytetty",betAmountAboveMaxBet:"Maksimipanos on {value}",betAmountBelowMinBet:"Minimipanos on {value}",betLimitReached:"Panosraja saavutettu",errorProcessingBet:"Vedon käsittelyssä tapahtui virhe. Yritä uudelleen.",failedToLoadBetData:"Vedonlyöntitietojen lataus epäonnistui",gameError:"Vedon käsittelyssä tapahtui virhe. Yritä uudelleen.",insufficientBalance:"Riittämätön saldo",notEnoughBalance:"Ei tarpeeksi tasapainoa"},autobet:{games:"Pelit",games10:"10 peliä",games100:"100 peliä",games25:"25 peliä",games5:"5 peliä",games50:"50 peliä",increase:"Lisätä",infinite:"Ääretön",onLoss:"Tappiossa",onWin:"Voitossa",reset:"Nollaa",startAutobet:"Aloita automaattiveto",stopAutobet:"Pysäytä automaattinen veto",stopOnLoss:"Stop on Loss",stopOnProfit:"Pysäytä voitto"},common:{auto:"Auto",back:"Takaisin",balance:"Saldo",bet:"Panossumma",betAmount:"Panossumma",cancel:"Peruuttaa",cashOut:"Käteisnosto",classic:"Klassinen",confirm:"Vahvistaa",copied:"Kopioitu",disableHotkeys:"Poista pikanäppäimet käytöstä",disableMaxBet:"Poista käytöstä maksimipanos",deposit:"Talletus",enableHotkeys:"Ota pikanäppäimet käyttöön",enableMaxBet:"Ota käyttöön maksimipanos",footerNavigation:"Alatunnisteen navigointi",gameInfo:"Pelin tiedot",high:"Korkea",history:"Historia",hotkeys:"Pikanäppäimet",id:"Henkilöllisyystodistus",instantBet:"Pikaveto",loading:"Ladataan...",loadMore:"Lataa lisää",lobby:"Takaisin aulaan",low:"Matala",manual:"Manuaalinen",max:"MAKSIMI",medium:"Keskikokoinen",multiplier:"Kerroin",payout:"Maksu",placeBet:"Aseta veto",profit:"Voitto",profitOnWin:"Voitto voitosta",provablyFair:"Todistettavasti reilu",risk:"Riski",siteInformation:"Sivuston tiedot",space:"AVARUUS",targetMultiplier:"Kerroin",thisFieldIsRequired:"Tämä kenttä on pakollinen",timestamp:"Aika",toggleHotkeys:"Pikanäppäimet päälle/pois",viewFairnessInformation:"Näytä oikeudenmukaisuustiedot",viewHistory:"Näytä historia",volume:"Äänenvoimakkuus",winChance:"Voita mahdollisuus"},errors:{dice:{multiplierRange:"Täytyy olla välillä {min} ja {max}",winChanceRange:"Täytyy olla välillä {min}–{max}"}},fairness:{activeClientSeed:"Aktiivisen asiakkaan siemen",enterClientSeed:"Syötä asiakkaan siemen",enterProof:"Syötä todiste",enterPublicKey:"Syötä julkinen avain",enterRandomness:"Syötä satunnaisuus",enterRequest:"Syötä pyyntö",info:{p1:"Jokaisen kierroksen tulos perustuu todennettavissa olevaan satunnaisuuteen, ei piilotettuun palvelinlogiikkaan. Rakennamme deterministisen siemenarvon kierroksellesi ainutlaatuisista arvoista – gameId, tenantId, tenantUserId, kasvava nonce-arvo (yksi per päättynyt kierros) sekä clientSeed. Tämä takaa, että jokainen kierros on ainutlaatuinen ja toistettavissa: samat syötteet → sama satunnainen striimi → sama lopputulos.",p2:"Tämä siemen ajetaan elliptisen käyrän todennettavan satunnaisfunktion (ECVRF) läpi IETF-spesifikaation draft-irtf-cfrg-vrf-15 mukaisesti. Palvelimemme käyttää yksityistä avaintaan satunnaisarvon ja kryptografisen todisteen (proofString) tuottamiseen. Kuka tahansa, jolla on julkinen avaimemme, voi itsenäisesti varmistaa todisteen annetuille syötteille – varmistaen, että satunnaisuus tuli siemenestä eikä sitä ole peukaloitu. SDK on TypeScript, kun taas ydinkrypto käyttää fastcrypto Rust -kirjastoa NAPI-RS:n kautta suorituskyvyn ja turvallisuuden takaamiseksi.",p3:"Vahvistuksen jälkeen VRF tuottaa deterministisen satunnaistavugeneraattorin (hashSequence). Pelit muuntavat nämä tavut tuloksiksi käyttämällä determinististä, puolueetonta logiikkaa. Koska prosessi on deterministinen ja nonce etenee jokaisella suoritetulla kierroksella, saat sekä toistettavia auditointeja (luoda saman kierroksen täsmälleen uudelleen) että tuoretta, toistuvaa satunnaisuutta joka kerta.",p4:"Kierroksen jälkeen käytössäsi ovat syötteet (mukaan lukien clientSeed ja kierroksen nonce), VRF-tuloste, proofString ja julkinen avaimemme. Käytä mitä tahansa ECVRF-todentajaa tai kirjastojamme seuraaviin tarkoituksiin: (1) tarkista todistus syötteitä ja julkista avainta vasten ja (2) luo uudelleen sama hashSequence ja tulos. Yksityinen avaimemme ei koskaan poistu suojatuilta palvelimilta; julkinen avain on turvallinen käyttää asiakaspuolella itsenäisiin tarkistuksiin.",step1Desc:"Yhdistämme gameId:n, tenantId:n, tenantUserId:n, kierroskohtaisen nonce-arvon ja clientSeed-koodisi. Samat syötteet tuottavat aina saman satunnaisen streamin ja lopputuloksen.",step1Title:"Deterministinen siemen",step2Title:"Luo satunnaisuutta",step3Desc:"Kuka tahansa voi tarkistaa annettujen syötteiden proofString-merkkijonon julkisen avaimemme avulla. Tämä vahvistaa, että satunnaisuus vastaa siementä eikä sitä ole peukaloitu.",step3Title:"Vahvista todiste",step4Title:"Johda tuloksia",step5Title:"Jäljentäminen"},invalidGame:"Annettu pelityyppi on virheellinen.",learnMore:"Lue lisää",newClientSeed:"Uuden asiakkaan siemen",noBettingHistory:"Ei vedonlyöntihistoriaa",outcomeCalculationInfo:"Kunkin pelin tulos lasketaan käyttämällä syötteenä satunnaista arvoa.",outcomeNotVerified:"Tämän pelin lopputulosta ei voitu vahvistaa",outcomeVerified:"Tämän pelin lopputulos on vahvistettu ja todistettavasti oikeudenmukainen",proof:"Todiste",publicKey:"Julkinen avain",randomness:"Satunnaisuus",request:"Pyytää",saveClientSeed:"Tallenna asiakkaan siemen",verifyOutcome:"Varmista tulos"},gameInfo:{dice:{how1:"Valitse vieriminen alle tai yli.",how2:"Aseta tavoitenumerosi.",how3:"Aseta panossumma ja aseta panoksesi.",how4:"Luomme yhden satunnaisen tuloksen (näytetään pelissä asteikolla 0–99,99).",how5:"Voitat, jos tulos on valitsemassasi vaihteluvälissä.",how6:"Voittosi on panos x näytetty kerroin, joka päivittyy liukusäädintä siirrettäessä.",overview:"Aseta tavoitenumero ja valitse, pysähtyykö heitto sen alle vai yli. Liukusäätimen siirtäminen muuttaa voittomahdollisuuksiasi ja kerrointa – suurempi todennäköisyys pienentää kerrointa, pienempi todennäköisyys suurentaa sitä. Jokainen kierros on yksi itsenäinen heitto pelin mittakaavassa.",provablyFair:"Todennettavissa oleva satunnaisuusjärjestelmämme luo jokaisen nopanheiton. Jokaisen kierroksen jälkeen voit tarkastella syötteitä ja todisteita, varmistaa tuloksen julkisella avaimellamme ja toistaa saman tuloksen.",strategyTip:"Valitse volatiliteettisi. Pienempi voittomahdollisuus tuottaa suurempia kertoimia, mutta harvinaisempia osumia. Suurempi voittomahdollisuus tuottaa pienempiä kertoimia, mutta useammin voittoja. Sovita panoksesi pelikassasi mukaan saadaksesi tasaisemmat heilahtelut."},keno:{how1:"Valitse 1–10 laattaa 1–40-laudalta.",how2:"Aseta panossumma ja aseta panoksesi.",how3:"Arvomme 10 voittonumeroa; osumasi on korostettu.",how4:"Voitot riippuvat valitsemiesi laatojen ja saamiesi osumien määrästä – tarkista voittotaulukko.",how5:"Et voi koskaan osua useampaan numeroon kuin olet valinnut, ja enimmäisvalinta on 10.",overview:"Valitse onnennumerosi ja yritä saada sama numero. Voit valita 1–10 numeroa väliltä 1–40, ja sitten arvomme 10 numeroa. Mitä useampi valintasi osuu oikein, sitä suurempi on voittosi.",provablyFair:"Todennettavissa oleva satunnaisuusjärjestelmämme luo jokaisen Keno-arvonnan. Jokaisen kierroksen jälkeen voit tarkastella syötteitä ja todisteita, varmistaa tuloksen julkisella avaimellamme ja toistaa saman tuloksen.",strategyTip:"Valitse volatiliteettisi. Vähemmän paikkoja valitseminen tarkoittaa harvinaisempia voittoja, mutta paljon suurempia kertoimia. Useampi paikkoja antaa useammin osumia, mutta pienempiä keskimääräisiä tuottoja osumaa kohden. Keskitaso tasapainottaa osumaprosentin ja voitonmaksun. Säädä panoskokoasi vastaamaan riskinottohaluasi ja pelikassaasi."},limbo:{how1:"Aseta tavoitekerroin.",how2:"Aseta panossumma ja aseta panoksesi.",how3:"Luomme yhden satunnaisen tuloskertoimen.",how4:"Voitat, jos tulos on suurempi tai yhtä suuri kuin tavoitteesi.",how5:"Voittosi on panos x tavoitekerroin; muuten häviät panoksesi.",overview:"Limbossa asetat haluamasi voiton, ja peli arpoo yhden satunnaisen kertoimen. Jos tulos on vähintään tavoitteesi, voitat. Jos se on alhaisempi, häviät. Suurempi todennäköisyys pienentää kerrointa; pienempi todennäköisyys kasvattaa sitä.",provablyFair:"Todennettavissa oleva satunnaisuusjärjestelmämme luo jokaisen Limbo-tuloksen. Jokaisen kierroksen jälkeen voit tarkastella syötteitä ja todisteita, varmistaa tuloksen julkisella avaimellamme ja toistaa saman tuloksen.",strategyTip:"Alemmat tavoitteet voittavat useammin, mutta maksavat vähemmän, kun taas korkeammat tavoitteet osuvat harvoin, mutta maksavat paljon enemmän. Harkitse kiinteää tavoitetta pelisessiota kohden tai sekoita satunnaisia pitkiä vetoja ja pienennä panoksia johdonmukaisesti hallitaksesi varianssia."},mines:{how1:"Valitse miinojen lukumäärä tällä kierroksella.",how2:"Aseta panossumma ja aseta panoksesi.",how3:"Napsauta laattoja paljastaaksesi ne: turvallinen laatta kasvattaa kerrointa; miina päättää kierroksen.",how4:"Voit nostaa rahat milloin tahansa lukitaksesi nykyisen kertoimesi.",how5:"Voittosi on panos x nykyinen kerroin, kun teet kotiutuksen.",how6:"Kierros päättyy, kun nostat rahat tai kun paljastuu kaivos.",overview:"Kaivoksissa on kyse turvallisten laattojen valitsemisesta ja siitä, milloin rahat nostetaan. Ennen kierroksen alkua valitse, kuinka monta miinaa pelilaudalle piilotetaan. Jokainen paljastamasi turvallinen laatta kasvattaa kerrointa. Jos osut miinaan, kierros päättyy ilman voittoa.",provablyFair:"Todennettavissa oleva satunnaisuusjärjestelmämme luo jokaisen pelilaudan piilotetun kaivoksen asettelun. Jokaisen kierroksen jälkeen voit tarkastella syötteitä ja todisteita, varmistaa tuloksen julkisella avaimellamme ja toistaa saman tuloksen.",strategyTip:"Valitse volatiliteettisi. Vähemmän miinoja tarkoittaa turvallisempia paljastuksia ja pienempiä kertoimia askelta kohden. Useampi miina johtaa riskialttiimpiin paljastuksiin ja suuremmiin kertoimiin. Aseta tavoite tai käytä stop-loss-rajoitusta heilahtelujen hallintaan. Johdonmukainen panoskoko ja kurinalainen kotiutus auttaa pitämään varianssin kurissa."},strategyTitle:"Strategia",tutorial:"Opastus"},games:{dice:{rollOver:"Kaatuminen",rollUnder:"Rullaa alle"},keno:{autoPick:"Automaattinen valinta",clearTable:"Tyhjennä",kenoGameGrid:"Keno-peliruudukko",kenoNumber:"Keno-numero",selectAtLeastOneTile:"Valitse vähintään yksi laatta",selectTileToAutobet:"Valitse vähintään yksi laatta"},limbo:{multiplierError:"Täytyy olla välillä {min} ja {max}",targetMultiplier:"Kerroin",winChanceError:"Täytyy olla välillä {min} ja {max}"},mines:{cashout:"Käteisnosto",gem:"Helmi",gems:"Jalokivet",mine:"Minun",mines:"Kaivokset",nextGem:"Seuraava helmi",selectRandomTile:"Valitse satunnainen laatta",selectTileToAutobet:"Valitse vähintään yksi ruutu automaattista vetoa varten",tile:"Laatta",unrevealed:"Paljastumaton"}},hotkeys:{doubleBet:"Tuplapanos",halveBet:"Puolita panos",higherTarget:"Korkeampi tavoite",info:"Kun pikanäppäimet ovat käytössä, ne pysyvät käytössä tässä pelissä, kunnes ne poistetaan käytöstä. Vaikka joillakin peleillä on samanlaisia näppäinyhdistelmiä, on aina suositeltavaa vahvistaa pikanäppäimet jokaista peliä varten.",lowerTarget:"Alempi tavoite",makeBet:"Aseta veto",toggleWinCondition:"Vaihda voittoehtoa",zeroBet:"Nollapanos"},modals:{betResult:"Vedon tulos",fairnessAndHistory:"Oikeudenmukaisuus ja historia",gameArea:"Pelialue",gameControls:"Pelin ohjaimet",gameInfo:"Pelin tiedot"}}});var po=Ia((lu,zs)=>{zs.exports={accessibility:{sliderValue:"{value} sur {max}"},alerts:{autobetStarted:"Mode de pari automatique démarré",autobetStopped:"Mode de pari automatique arrêté",betAmountAboveMaxBet:"La mise maximale est {value}",betAmountBelowMinBet:"La mise minimale est {value}",betLimitReached:"Limite de mise atteinte",errorProcessingBet:"Une erreur s'est produite lors du traitement de votre pari. Veuillez réessayer.",failedToLoadBetData:"Échec du chargement des données de pari",gameError:"Une erreur s'est produite lors du traitement de votre pari. Veuillez réessayer.",insufficientBalance:"Solde insuffisant",notEnoughBalance:"Pas assez d'équilibre"},autobet:{games:"Jeux",games10:"10 jeux",games100:"100 jeux",games25:"25 jeux",games5:"5 jeux",games50:"50 jeux",increase:"Augmenter",infinite:"Infini",onLoss:"Sur la perte",onWin:"Sur Win",reset:"Réinitialiser",startAutobet:"Démarrer Autobet",stopAutobet:"Arrêter Autobet",stopOnLoss:"Arrêtez la perte",stopOnProfit:"Arrêtez le profit"},common:{auto:"Auto",back:"Dos",balance:"Équilibre",bet:"Montant de la mise",betAmount:"Montant de la mise",cancel:"Annuler",cashOut:"Encaissement",classic:"Classique",confirm:"Confirmer",copied:"Copié",disableHotkeys:"Désactiver les raccourcis clavier",disableMaxBet:"Désactiver la mise maximale",deposit:"Dépôt",enableHotkeys:"Activer les raccourcis clavier",enableMaxBet:"Activer la mise maximale",footerNavigation:"Navigation de pied de page",gameInfo:"Informations sur le jeu",high:"Haut",history:"Histoire",hotkeys:"Raccourcis clavier",id:"IDENTIFIANT",instantBet:"Pari instantané",loading:"Chargement...",loadMore:"Charger plus",lobby:"Retour au hall",low:"Faible",manual:"Manuel",max:"MAX",medium:"Moyen",multiplier:"Multiplicateur",payout:"Paiement",placeBet:"Placer un pari",profit:"Profit",profitOnWin:"Profit sur victoire",provablyFair:"Prouvablement équitable",risk:"Risque",siteInformation:"Informations sur le site",space:"ESPACE",targetMultiplier:"Multiplicateur",thisFieldIsRequired:"Ce champ est obligatoire",timestamp:"Temps",toggleHotkeys:"Basculer les raccourcis clavier",viewFairnessInformation:"Afficher les informations sur l'équité",viewHistory:"Afficher l'historique",volume:"Volume",winChance:"Chance de gagner"},errors:{dice:{multiplierRange:"Doit être compris entre {min} et {max}",winChanceRange:"Doit être compris entre {min} et {max}"}},fairness:{activeClientSeed:"Graine de client active",enterClientSeed:"Entrez Client Seed",enterProof:"Entrez la preuve",enterPublicKey:"Entrez la clé publique",enterRandomness:"Entrez dans le hasard",enterRequest:"Entrer la demande",info:{p1:"Le résultat de chaque manche est issu d'un hasard vérifiable, et non d'une logique serveur cachée. Nous créons une graine déterministe à partir de valeurs propres à votre manche : gameId, tenantId, tenantUserId, un nonce incrémentiel (un par manche terminée), plus votre clientSeed. Cela garantit que chaque manche est unique et reproductible : mêmes entrées → même flux aléatoire → même résultat.",p2:"Cette graine est exécutée via une fonction aléatoire vérifiable à courbe elliptique (ECVRF) conformément à la spécification IETF draft-irtf-cfrg-vrf-15. Notre serveur utilise sa clé privée pour générer une valeur aléatoire et une preuve cryptographique (proofString). Toute personne disposant de notre clé publique peut vérifier indépendamment cette preuve pour les entrées fournies, confirmant ainsi que le caractère aléatoire provient de la graine et n'a pas été falsifié. Le SDK est en TypeScript, tandis que le chiffrement principal utilise la bibliothèque fastcrypto Rust via NAPI-RS pour des performances et une sécurité optimales.",p3:"Une fois vérifiée, la sortie VRF alimente un générateur d'octets aléatoires déterministe (hashSequence). Les jeux transforment ces octets en résultats grâce à une logique déterministe et impartiale. Comme le processus est déterministe et que le nonce progresse à chaque tour terminé, vous obtenez à la fois des audits rejouables (recréez le même tour à l'identique) et un caractère aléatoire nouveau et non répétitif à chaque fois.",p4:"Après un tour, vous disposez des entrées (y compris votre clientSeed et le nonce du tour), de la sortie VRF, de la chaîne de preuve et de notre clé publique. Utilisez n'importe quel vérificateur ECVRF ou nos bibliothèques pour : (1) vérifier la preuve par rapport aux entrées et à la clé publique, et (2) régénérer la même séquence de hachage et le même résultat. Notre clé privée ne quitte jamais les serveurs sécurisés ; la clé publique peut être utilisée en toute sécurité côté client pour des vérifications indépendantes.",step1Desc:"Nous combinons gameId, tenantId, tenantUserId, un nonce par tour et votre clientSeed. Les mêmes entrées produisent toujours le même flux aléatoire et le même résultat.",step1Title:"Semence déterministe",step2Title:"Générer du hasard",step3Desc:"N'importe qui peut vérifier la chaîne de preuve des entrées fournies à l'aide de notre clé publique. Cela confirme que le caractère aléatoire correspond à la valeur de départ et n'a pas été falsifié.",step3Title:"Vérifier la preuve",step4Title:"Déduire les résultats",step5Title:"Reproduction"},invalidGame:"Type de jeu non valide fourni.",learnMore:"Apprendre encore plus",newClientSeed:"Nouvelle graine de client",noBettingHistory:"Aucun historique de paris",outcomeCalculationInfo:"Le résultat de chaque jeu est calculé à l’aide d’une valeur aléatoire en entrée.",outcomeNotVerified:"Le résultat de ce match n'a pas pu être vérifié",outcomeVerified:"Le résultat de ce jeu a été vérifié et est prouvé équitable",proof:"Preuve",publicKey:"Clé publique",randomness:"caractère aléatoire",request:"Demande",saveClientSeed:"Enregistrer la graine du client",verifyOutcome:"Vérifier le résultat"},gameInfo:{dice:{how1:"Choisissez de rouler en dessous ou de rouler au-dessus.",how2:"Définissez votre numéro cible.",how3:"Définissez le montant de votre mise et placez votre pari.",how4:"Nous générons un résultat aléatoire (affiché sur l'échelle de 0 à 99,99 dans le jeu).",how5:"Vous gagnez si le résultat est dans la fourchette que vous avez choisie.",how6:"Votre paiement est égal à la mise x le multiplicateur affiché, qui se met à jour lorsque vous déplacez le curseur.",overview:"Définissez un objectif et choisissez si le résultat sera inférieur ou supérieur. Déplacer le curseur modifie vos chances de gagner et le multiplicateur : plus le résultat est élevé, plus le multiplicateur est faible, plus il est élevé. Chaque tour représente un résultat indépendant sur l'échelle du jeu.",provablyFair:"Notre système de randomisation vérifiable génère chaque lancer de dés. Après chaque tour, vous pouvez consulter les entrées et les preuves, vérifier le résultat avec notre clé publique et reproduire le même résultat.",strategyTip:"Choisissez votre volatilité. Une faible probabilité de gain génère des multiplicateurs plus importants, mais des gains plus rares. Une probabilité élevée génère des multiplicateurs plus faibles, mais des gains plus fréquents. Adaptez vos mises à votre bankroll pour des fluctuations plus stables."},keno:{how1:"Choisissez 1 à 10 tuiles sur le plateau 1 à 40.",how2:"Définissez le montant de votre mise et placez votre pari.",how3:"Nous tirons au sort 10 numéros gagnants ; vos correspondances sont mises en avant.",how4:"Les gains dépendent du nombre de tuiles que vous avez sélectionnées et du nombre de coups que vous avez obtenus. Consultez le tableau des gains.",how5:"Vous ne pouvez jamais toucher plus de numéros que vous n'en avez sélectionnés, et la sélection maximale est de 10.",overview:"Choisissez vos numéros porte-bonheur et tentez de les faire correspondre. Vous pouvez choisir de 1 à 10 numéros parmi ceux de 1 à 40, puis nous en tirons 10. Plus vous avez de numéros gagnants, plus vos gains sont élevés.",provablyFair:"Notre système de tirage aléatoire vérifiable génère chaque tirage de Keno. Après chaque tour, vous pouvez consulter les entrées et les preuves, vérifier le résultat avec notre clé publique et reproduire le même résultat.",strategyTip:"Choisissez votre volatilité. Moins de spots signifie des gains plus rares, mais des multiplicateurs bien plus importants. Plus de spots donnent des gains plus fréquents, mais des rendements moyens par coup plus faibles. Une fourchette moyenne équilibre le taux de réussite et les gains. Ajustez la taille de votre mise en fonction de votre préférence de risque et de votre bankroll."},limbo:{how1:"Définissez votre multiplicateur cible.",how2:"Définissez le montant de votre mise et placez votre pari.",how3:"Nous générons un multiplicateur de résultat aléatoire.",how4:"Vous gagnez si le résultat est supérieur ou égal à votre objectif.",how5:"Votre gain est égal à la mise x votre multiplicateur cible ; sinon, vous perdez votre mise.",overview:"Dans Limbo, vous définissez le gain souhaité et le jeu tire un multiplicateur de résultat aléatoire. Si le résultat est au moins égal à votre objectif, vous gagnez. S'il est inférieur, vous perdez. Une probabilité élevée diminue le multiplicateur ; une probabilité faible l'augmente.",provablyFair:"Notre système d'aléatoire vérifiable génère chaque résultat Limbo. Après chaque tour, vous pouvez consulter les entrées et les preuves, vérifier le résultat avec notre clé publique et reproduire le même résultat.",strategyTip:"Les cibles basses gagnent plus souvent mais paient moins, tandis que les cibles hautes touchent rarement mais paient beaucoup plus. Envisagez un objectif fixe par session ou intégrez des paris occasionnels et ajustez la taille des mises pour gérer la variance."},mines:{how1:"Choisissez le nombre de mines pour ce tour.",how2:"Définissez le montant de votre mise et placez votre pari.",how3:"Cliquez sur les tuiles pour les révéler : une tuile sûre augmente votre multiplicateur ; une mine met fin au tour.",how4:"Vous pouvez retirer votre argent à tout moment pour verrouiller votre multiplicateur actuel.",how5:"Votre paiement est égal à la mise x le multiplicateur actuel lorsque vous encaissez.",how6:"Le tour se termine lorsque vous encaissez ou lorsqu'une mine est révélée.",overview:"Dans Mines, il faut choisir des tuiles sûres et décider quand encaisser. Avant le début de la partie, choisissez le nombre de mines cachées sur le plateau. Chaque tuile sûre révélée augmente votre multiplicateur. Touchez une mine et la partie se termine sans aucun gain.",provablyFair:"Notre système de vérification aléatoire génère la disposition des mines cachées de chaque plateau. Après chaque tour, vous pouvez consulter les entrées et les preuves, vérifier le résultat avec notre clé publique et reproduire le même résultat.",strategyTip:"Choisissez votre volatilité. Moins de mines signifie des révélations plus sûres et des multiplicateurs plus faibles par étape. Plus de mines entraînent des révélations plus risquées avec des multiplicateurs plus importants. Fixez-vous un objectif ou utilisez un stop-loss pour gérer les fluctuations. Une taille de mise constante et des retraits disciplinés permettent de maîtriser la variance."},strategyTitle:"Stratégie",tutorial:"Tutoriel"},games:{dice:{rollOver:"Rouler sur",rollUnder:"Rouler sous"},keno:{autoPick:"Sélection automatique",clearTable:"Clair",kenoGameGrid:"Grille de jeu Keno",kenoNumber:"Numéro de Keno",selectAtLeastOneTile:"Veuillez sélectionner au moins une tuile",selectTileToAutobet:"Veuillez sélectionner au moins une tuile"},limbo:{multiplierError:"Doit être compris entre {min} et {max}",targetMultiplier:"Multiplicateur",winChanceError:"Doit être compris entre {min} et {max}"},mines:{cashout:"Encaissement",gem:"Gemme",gems:"Gemmes",mine:"Le mien",mines:"Mines",nextGem:"Prochain joyau",selectRandomTile:"Sélectionner une tuile aléatoire",selectTileToAutobet:"Veuillez sélectionner au moins une tuile pour effectuer un pari automatique",tile:"Tuile",unrevealed:"Non révélé"}},hotkeys:{doubleBet:"Montant de la mise double",halveBet:"Diviser par deux le montant de la mise",higherTarget:"Objectif plus élevé",info:"Lorsque les raccourcis clavier sont activés, ils restent actifs pour ce jeu jusqu'à leur désactivation. Bien que certains jeux partagent des raccourcis clavier similaires, il est toujours conseillé de confirmer les raccourcis clavier pour chaque jeu.",lowerTarget:"Objectif inférieur",makeBet:"Placer un pari",toggleWinCondition:"Basculer la condition de victoire",zeroBet:"Montant de mise zéro"},modals:{betResult:"Résultat du pari",fairnessAndHistory:"Équité et histoire",gameArea:"Zone de jeu",gameControls:"Commandes du jeu",gameInfo:"Informations sur le jeu"}}});var mo=Ia((du,xs)=>{xs.exports={accessibility:{sliderValue:"{value} में से {max}"},alerts:{autobetStarted:"ऑटोबेट मोड शुरू किया गया",autobetStopped:"ऑटोबेट मोड बंद कर दिया गया",betAmountAboveMaxBet:"अधिकतम दांव {value} है",betAmountBelowMinBet:"न्यूनतम दांव {value} है",betLimitReached:"दांव की सीमा पूरी हो गई",errorProcessingBet:"आपकी शर्त संसाधित करते समय एक त्रुटि हुई। कृपया पुनः प्रयास करें।",failedToLoadBetData:"दांव डेटा लोड करने में विफल",gameError:"आपकी शर्त संसाधित करते समय एक त्रुटि हुई। कृपया पुनः प्रयास करें।",insufficientBalance:"अपर्याप्त शेषराशि",notEnoughBalance:"पर्याप्त संतुलन नहीं"},autobet:{games:"खेल",games10:"10 खेल",games100:"100 खेल",games25:"25 खेल",games5:"5 खेल",games50:"50 खेल",increase:"बढ़ोतरी",infinite:"अनंत",onLoss:"हानि पर",onWin:"जीत पर",reset:"रीसेट करें",startAutobet:"ऑटोबेट शुरू करें",stopAutobet:"ऑटोबेट रोकें",stopOnLoss:"हानि पर रोक",stopOnProfit:"लाभ पर रोक"},common:{auto:"ऑटो",back:"पीछे",balance:"संतुलन",bet:"दांव राशि",betAmount:"दांव राशि",cancel:"रद्द करना",cashOut:"नकदी निकलना",classic:"क्लासिक",confirm:"पुष्टि करना",copied:"कॉपी किया गया",disableHotkeys:"हॉटकीज़ अक्षम करें",disableMaxBet:"अधिकतम दांव अक्षम करें",deposit:"जमा",enableHotkeys:"हॉटकीज़ सक्षम करें",enableMaxBet:"अधिकतम दांव सक्षम करें",footerNavigation:"पाद नेविगेशन",gameInfo:"गेम जानकारी",high:"उच्च",history:"इतिहास",hotkeys:"हॉटकी",id:"पहचान",instantBet:"तत्काल शर्त",loading:"लोड हो रहा है...",loadMore:"और लोड करें",lobby:"लॉबी पर वापस जाएँ",low:"कम",manual:"नियमावली",max:"मैक्स",medium:"मध्यम",multiplier:"गुणक",payout:"भुगतान",placeBet:"दांव लगाओ",profit:"लाभ",profitOnWin:"जीत पर लाभ",provablyFair:"सिद्धतः निष्पक्ष",risk:"जोखिम",siteInformation:"साइट जानकारी",space:"अंतरिक्ष",targetMultiplier:"गुणक",thisFieldIsRequired:"यह फ़ील्ड आवश्यक है",timestamp:"समय",toggleHotkeys:"टॉगल हॉटकीज़",viewFairnessInformation:"निष्पक्षता जानकारी देखें",viewHistory:"इतिहास देखें",volume:"आयतन",winChance:"जीत का मौका"},errors:{dice:{multiplierRange:"{min} और {max} के बीच होना चाहिए",winChanceRange:"{min} और {max} के बीच होना चाहिए"}},fairness:{activeClientSeed:"सक्रिय क्लाइंट बीज",enterClientSeed:"क्लाइंट सीड दर्ज करें",enterProof:"प्रमाण दर्ज करें",enterPublicKey:"सार्वजनिक कुंजी दर्ज करें",enterRandomness:"यादृच्छिकता दर्ज करें",enterRequest:"अनुरोध दर्ज करें",info:{p1:"हर राउंड का परिणाम सत्यापन योग्य यादृच्छिकता से आता है, न कि छिपे हुए सर्वर तर्क से। हम आपके राउंड के विशिष्ट मानों—गेमआईडी, टेनेंटआईडी, टेनेंटयूज़रआईडी, एक बढ़ता हुआ नॉन्स (प्रत्येक पूर्ण राउंड के लिए एक), और आपके क्लाइंटसीड से एक नियतात्मक बीज बनाते हैं। यह सुनिश्चित करता है कि प्रत्येक राउंड अद्वितीय और पुनरुत्पादनीय हो: समान इनपुट → समान रैंडम स्ट्रीम → समान परिणाम।",p2:"उस बीज को IETF विनिर्देश draft-irtf-cfrg-vrf-15 के अनुसार एक एलिप्टिक कर्व वेरिफ़िएबल रैंडम फंक्शन (ECVRF) के माध्यम से चलाया जाता है। हमारा सर्वर एक यादृच्छिक मान और एक क्रिप्टोग्राफ़िक प्रमाण (proofString) उत्पन्न करने के लिए अपनी निजी कुंजी का उपयोग करता है। हमारी सार्वजनिक कुंजी वाला कोई भी व्यक्ति दिए गए इनपुट के लिए उस प्रमाण को स्वतंत्र रूप से सत्यापित कर सकता है—यह पुष्टि करते हुए कि यादृच्छिकता बीज से आई है और उसमें कोई छेड़छाड़ नहीं की गई है। SDK टाइपस्क्रिप्ट है, जबकि कोर क्रिप्टो प्रदर्शन और सुरक्षा के लिए NAPI-RS के माध्यम से फास्टक्रिप्टो रस्ट लाइब्रेरी का उपयोग करता है।",p3:"एक बार सत्यापित होने के बाद, VRF आउटपुट एक नियतात्मक यादृच्छिक बाइट जनरेटर (hashSequence) को सीड करता है। खेल उन बाइट्स को नियतात्मक, निष्पक्ष तर्क का उपयोग करके परिणामों में बदल देते हैं। चूँकि यह प्रक्रिया नियतात्मक है और प्रत्येक पूर्ण राउंड में नॉन्स आगे बढ़ता है, इसलिए आपको हर बार पुनः खेलने योग्य ऑडिट (उसी राउंड को हूबहू दोहराना) और ताज़ा, गैर-दोहराव वाली यादृच्छिकता दोनों मिलती है।",p4:"एक राउंड के बाद, आपके पास इनपुट (आपके क्लाइंटसीड और राउंड के नॉन्स सहित), VRF आउटपुट, प्रूफ़स्ट्रिंग और हमारी पब्लिक कुंजी होती है। किसी भी ECVRF सत्यापनकर्ता या हमारी लाइब्रेरी का उपयोग करके: (1) इनपुट और पब्लिक कुंजी के विरुद्ध प्रूफ़ की पुष्टि करें, और (2) समान हैशसीक्वेंस और परिणाम पुनः उत्पन्न करें। हमारी प्राइवेट कुंजी कभी भी सुरक्षित सर्वर से बाहर नहीं जाती; स्वतंत्र जाँच के लिए क्लाइंट-साइड पर पब्लिक कुंजी का उपयोग सुरक्षित है।",step1Desc:"हम गेमआईडी, टेनेंटआईडी, टेनेंटयूज़रआईडी, प्रति-राउंड नॉन्स और आपके क्लाइंटसीड को मिलाते हैं। समान इनपुट हमेशा एक ही रैंडम स्ट्रीम और परिणाम उत्पन्न करते हैं।",step1Title:"नियतात्मक बीज",step2Title:"यादृच्छिकता उत्पन्न करें",step3Desc:"कोई भी हमारी सार्वजनिक कुंजी का उपयोग करके दिए गए इनपुट के लिए प्रूफ़स्ट्रिंग की पुष्टि कर सकता है। इससे यह पुष्टि होती है कि यादृच्छिकता बीज से मेल खाती है और उसमें कोई छेड़छाड़ नहीं की गई है।",step3Title:"प्रमाण सत्यापित करें",step4Title:"परिणाम प्राप्त करें",step5Title:"प्रजनन"},invalidGame:"अमान्य खेल प्रकार प्रदान किया गया.",learnMore:"और अधिक जानें",newClientSeed:"नया ग्राहक बीज",noBettingHistory:"कोई सट्टेबाजी इतिहास नहीं",outcomeCalculationInfo:"प्रत्येक खेल का परिणाम इनपुट के रूप में एक यादृच्छिक मान का उपयोग करके गणना किया जाता है।",outcomeNotVerified:"इस खेल का परिणाम सत्यापित नहीं किया जा सका",outcomeVerified:"इस खेल का परिणाम सत्यापित हो चुका है और यह निष्पक्ष साबित हो चुका है",proof:"सबूत",publicKey:"सार्वजनिक कुंजी",randomness:"अनियमितता",request:"अनुरोध",saveClientSeed:"क्लाइंट सीड सहेजें",verifyOutcome:"परिणाम सत्यापित करें"},gameInfo:{dice:{how1:"रोल अंडर या रोल ओवर चुनें.",how2:"अपना लक्ष्य संख्या निर्धारित करें.",how3:"अपनी शर्त की राशि निर्धारित करें और अपना दांव लगाएं।",how4:"हम एक यादृच्छिक परिणाम उत्पन्न करते हैं (खेल में 0-99.99 पैमाने पर प्रदर्शित)।",how5:"यदि परिणाम आपकी चुनी हुई सीमा में आता है तो आप जीत जाते हैं।",how6:"आपका भुगतान दिखाए गए गुणक का दांव x है, जो स्लाइडर को स्थानांतरित करने पर अपडेट होता है।",overview:"एक लक्ष्य संख्या निर्धारित करें और चुनें कि रोल उसके नीचे आएगा या ऊपर। स्लाइडर को हिलाने से आपकी जीत की संभावना और गुणक बदल जाता है—जितनी ज़्यादा संभावना होगी, गुणक कम होगा और जितनी कम संभावना होगी, गुणक बढ़ेगा। खेल के पैमाने पर हर राउंड एक स्वतंत्र रोल होता है।",provablyFair:"हमारी सत्यापन योग्य यादृच्छिकता प्रणाली प्रत्येक पासा रोल उत्पन्न करती है। प्रत्येक राउंड के बाद, आप इनपुट और प्रूफ देख सकते हैं, हमारी सार्वजनिक कुंजी से परिणाम सत्यापित कर सकते हैं, और उसी परिणाम को पुनः प्राप्त कर सकते हैं।",strategyTip:"अपनी अस्थिरता चुनें। जीत की कम संभावना से गुणक ज़्यादा मिलते हैं, लेकिन हिट कम मिलते हैं। जीत की ज़्यादा संभावना से गुणक कम मिलते हैं, लेकिन जीत ज़्यादा बार मिलती है। स्थिर उतार-चढ़ाव के लिए अपने दांव को अपने बैंकरोल के अनुसार रखें।"},keno:{how1:"1-40 बोर्ड पर 1-10 टाइलें चुनें।",how2:"अपनी शर्त की राशि निर्धारित करें और अपना दांव लगाएं।",how3:"हम 10 विजेता संख्याएं निकालते हैं; आपके मिलान हाइलाइट किए जाते हैं।",how4:"भुगतान इस बात पर निर्भर करता है कि आपने कितने टाइल्स चुने और आपको कितने हिट मिले - भुगतान तालिका देखें।",how5:"आप कभी भी अपने द्वारा चयनित संख्याओं से अधिक संख्याएं नहीं चुन सकते, तथा अधिकतम चयन 10 है।",overview:"अपने भाग्यशाली अंक चुनें और ड्रॉ में उनका मिलान करने का प्रयास करें। आप 1-40 में से 1-10 अंक चुन सकते हैं, और फिर हम 10 अंक निकालेंगे। आपके द्वारा चुने गए जितने ज़्यादा अंक आएंगे, आपका भुगतान उतना ही ज़्यादा होगा।",provablyFair:"हमारी सत्यापन योग्य यादृच्छिकता प्रणाली प्रत्येक केनो ड्रॉ उत्पन्न करती है। प्रत्येक राउंड के बाद, आप इनपुट और प्रूफ देख सकते हैं, हमारी सार्वजनिक कुंजी से परिणाम सत्यापित कर सकते हैं, और उसी परिणाम को पुनः प्राप्त कर सकते हैं।",strategyTip:"अपनी अस्थिरता चुनें। कम स्पॉट चुनने का मतलब है कम जीत लेकिन ज़्यादा गुणक। ज़्यादा स्पॉट ज़्यादा बार हिट देते हैं लेकिन प्रति हिट औसत रिटर्न कम होता है। एक मध्यम श्रेणी हिट दर और भुगतान को संतुलित करती है। अपनी जोखिम वरीयता और बैंकरोल के अनुसार अपने दांव का आकार समायोजित करें।"},limbo:{how1:"अपना लक्ष्य गुणक निर्धारित करें.",how2:"अपनी शर्त की राशि निर्धारित करें और अपना दांव लगाएं।",how3:"हम एक यादृच्छिक परिणाम गुणक उत्पन्न करते हैं।",how4:"यदि परिणाम आपके लक्ष्य से अधिक या बराबर हो तो आप जीत जाते हैं।",how5:"आपका भुगतान दांव x आपके लक्ष्य गुणक के बराबर है; अन्यथा, आप अपना दांव हार जाएंगे।",overview:"लिम्बो में, आप अपनी इच्छित राशि निर्धारित करते हैं, और खेल एक यादृच्छिक परिणाम गुणक निकालता है। यदि परिणाम कम से कम आपके लक्ष्य के बराबर है, तो आप जीत जाते हैं। यदि यह कम है, तो आप हार जाते हैं। ज़्यादा संभावना गुणक को कम करती है; कम संभावना गुणक को बढ़ाती है।",provablyFair:"हमारी सत्यापन योग्य यादृच्छिकता प्रणाली प्रत्येक लिम्बो परिणाम उत्पन्न करती है। प्रत्येक राउंड के बाद, आप इनपुट और प्रूफ देख सकते हैं, हमारी सार्वजनिक कुंजी से परिणाम सत्यापित कर सकते हैं, और उसी परिणाम को पुनः प्रस्तुत कर सकते हैं।",strategyTip:"कम लक्ष्य ज़्यादा बार जीतते हैं लेकिन कम भुगतान करते हैं, जबकि उच्च लक्ष्य कम ही हिट होते हैं लेकिन ज़्यादा भुगतान करते हैं। प्रति सत्र एक निश्चित लक्ष्य पर विचार करें या कभी-कभार लंबे शॉट भी शामिल करें, और भिन्नता को प्रबंधित करने के लिए दांव का आकार लगातार रखें।"},mines:{how1:"इस दौर के लिए खानों की संख्या चुनें।",how2:"अपनी शर्त की राशि निर्धारित करें और अपना दांव लगाएं।",how3:"टाइल्स को दिखाने के लिए उन पर क्लिक करें: एक सुरक्षित टाइल आपके गुणक को बढ़ा देती है; एक खदान से राउंड समाप्त हो जाता है।",how4:"आप अपने वर्तमान गुणक को लॉक करने के लिए किसी भी समय नकद निकाल सकते हैं।",how5:"जब आप नकद निकालते हैं तो आपका भुगतान बेट x वर्तमान गुणक के बराबर होता है।",how6:"यह चक्र तब समाप्त होता है जब आप नकद निकाल लेते हैं या जब कोई खदान सामने आ जाती है।",overview:"माइंस का मतलब है सुरक्षित टाइलें चुनना और यह तय करना कि कब कैश आउट करना है। राउंड शुरू होने से पहले, बोर्ड पर कितनी माइंस छिपी होंगी, यह तय कर लें। आपके द्वारा बताई गई प्रत्येक सुरक्षित टाइल आपके गुणक को बढ़ाती है। एक माइन पर हिट करें, और राउंड बिना किसी भुगतान के समाप्त हो जाएगा।",provablyFair:"हमारी सत्यापन योग्य यादृच्छिकता प्रणाली प्रत्येक बोर्ड के छिपे हुए खदान लेआउट को उत्पन्न करती है। प्रत्येक राउंड के बाद, आप इनपुट और प्रूफ देख सकते हैं, हमारी सार्वजनिक कुंजी से परिणाम सत्यापित कर सकते हैं, और उसी परिणाम को पुनः प्राप्त कर सकते हैं।",strategyTip:"अपनी अस्थिरता चुनें। कम माइन्स का मतलब है सुरक्षित खुलासे और प्रति चरण छोटे गुणक। ज़्यादा माइन्स का मतलब है ज़्यादा जोखिम भरे खुलासे और बड़े गुणक। उतार-चढ़ाव को नियंत्रित करने के लिए एक लक्ष्य निर्धारित करें या स्टॉप-लॉस का उपयोग करें। लगातार दांव का आकार और अनुशासित कैश आउट, भिन्नता को नियंत्रित रखने में मदद करते हैं।"},strategyTitle:"रणनीति",tutorial:"ट्यूटोरियल"},games:{dice:{rollOver:"रोल ओवर",rollUnder:"रोल अंडर"},keno:{autoPick:"ऑटो पिक",clearTable:"स्पष्ट",kenoGameGrid:"केनो गेम ग्रिड",kenoNumber:"केनो नंबर",selectAtLeastOneTile:"कृपया कम से कम एक टाइल चुनें",selectTileToAutobet:"कृपया कम से कम एक टाइल चुनें"},limbo:{multiplierError:"{min} और {max} के बीच होना चाहिए",targetMultiplier:"गुणक",winChanceError:"{min} और {max} के बीच होना चाहिए"},mines:{cashout:"नकदी निकलना",gem:"रत्न",gems:"रत्न",mine:"मेरा",mines:"खानों",nextGem:"अगला रत्न",selectRandomTile:"यादृच्छिक टाइल का चयन करें",selectTileToAutobet:"कृपया ऑटोबेट के लिए कम से कम एक टाइल चुनें",tile:"टाइल",unrevealed:"अप्रकट"}},hotkeys:{doubleBet:"दांव की राशि दोगुनी करें",halveBet:"दांव राशि आधी करें",higherTarget:"उच्च लक्ष्य",info:"जब हॉटकीज़ सक्षम होती हैं, तो वे इस गेम के लिए तब तक चालू रहेंगी जब तक उन्हें अक्षम नहीं कर दिया जाता। हालाँकि कुछ गेम में समान कुंजी बाइंडिंग होती है, फिर भी प्रत्येक गेम के लिए हॉटकीज़ की पुष्टि करना हमेशा सलाह दी जाती है।",lowerTarget:"निचला लक्ष्य",makeBet:"दांव लगाओ",toggleWinCondition:"जीत की स्थिति टॉगल करें",zeroBet:"शून्य दांव राशि"},modals:{betResult:"दांव परिणाम",fairnessAndHistory:"निष्पक्षता और इतिहास",gameArea:"खेल क्षेत्र",gameControls:"खेल नियंत्रण",gameInfo:"गेम जानकारी"}}});var bo=Ia((uu,Ss)=>{Ss.exports={accessibility:{sliderValue:"{value} keluar dari {max}"},alerts:{autobetStarted:"Memulai mode taruhan otomatis",autobetStopped:"Menghentikan mode taruhan otomatis",betAmountAboveMaxBet:"Taruhan maksimum adalah {value}",betAmountBelowMinBet:"Taruhan minimum adalah {value}",betLimitReached:"Batas taruhan tercapai",errorProcessingBet:"Terjadi kesalahan saat memproses taruhan Anda. Silakan coba lagi.",failedToLoadBetData:"Gagal memuat data taruhan",gameError:"Terjadi kesalahan saat memproses taruhan Anda. Silakan coba lagi.",insufficientBalance:"Saldo tidak mencukupi",notEnoughBalance:"Saldo tidak cukup"},autobet:{games:"Pertandingan",games10:"10 permainan",games100:"100 permainan",games25:"25 permainan",games5:"5 permainan",games50:"50 permainan",increase:"Meningkatkan",infinite:"Tak terbatas",onLoss:"Tentang Kehilangan",onWin:"Pada Kemenangan",reset:"Mengatur ulang",startAutobet:"Mulai Autobet",stopAutobet:"Hentikan Autobet",stopOnLoss:"Berhenti saat Kerugian",stopOnProfit:"Berhenti Saat Untung"},common:{auto:"Mobil",back:"Kembali",balance:"Keseimbangan",bet:"Jumlah Taruhan",betAmount:"Jumlah Taruhan",cancel:"Membatalkan",cashOut:"Penarikan Tunai",classic:"Klasik",confirm:"Mengonfirmasi",copied:"Disalin",disableHotkeys:"Nonaktifkan Tombol Pintasan",disableMaxBet:"Nonaktifkan Taruhan Maksimum",deposit:"Setoran",enableHotkeys:"Aktifkan Tombol Pintasan",enableMaxBet:"Aktifkan Taruhan Maksimum",footerNavigation:"Navigasi kaki",gameInfo:"Info Permainan",high:"Tinggi",history:"Sejarah",hotkeys:"Tombol pintas",id:"PENGENAL",instantBet:"Taruhan Instan",loading:"Memuat...",loadMore:"Muat Lebih Banyak",lobby:"Kembali ke Lobi",low:"Rendah",manual:"Buku petunjuk",max:"MAKS",medium:"Sedang",multiplier:"Pengali",payout:"Pembayaran",placeBet:"Pasang Taruhan",profit:"Laba",profitOnWin:"Untung Saat Menang",provablyFair:"Terbukti Adil",risk:"Mempertaruhkan",siteInformation:"Informasi situs",space:"RUANG ANGKASA",targetMultiplier:"Pengali",thisFieldIsRequired:"Bidang ini wajib diisi",timestamp:"Waktu",toggleHotkeys:"Beralih Tombol Pintasan",viewFairnessInformation:"Lihat informasi keadilan",viewHistory:"Lihat Riwayat",volume:"Volume",winChance:"Kesempatan Menang"},errors:{dice:{multiplierRange:"Harus antara {min} dan {max}",winChanceRange:"Harus antara {min} dan {max}"}},fairness:{activeClientSeed:"Benih Klien Aktif",enterClientSeed:"Masukkan Benih Klien",enterProof:"Masukkan Bukti",enterPublicKey:"Masukkan Kunci Publik",enterRandomness:"Masuk Acak",enterRequest:"Masukkan Permintaan",info:{p1:"Hasil setiap putaran berasal dari keacakan yang dapat diverifikasi, bukan logika server tersembunyi. Kami membangun seed deterministik dari nilai-nilai unik untuk putaran Anda—gameId, tenantId, tenantUserId, nonce yang bertambah (satu per putaran yang telah selesai), ditambah clientSeed Anda. Ini menjamin setiap putaran unik dan dapat direproduksi: input yang sama → aliran acak yang sama → hasil yang sama.",p2:"Benih tersebut dijalankan melalui Fungsi Acak Terverifikasi Kurva Eliptik (ECVRF) sesuai spesifikasi IETF draft-irtf-cfrg-vrf-15. Server kami menggunakan kunci privatnya untuk menghasilkan nilai acak dan bukti kriptografi (proofString). Siapa pun yang memiliki kunci publik kami dapat memverifikasi bukti tersebut secara independen untuk input yang diberikan—yang memastikan keacakan tersebut berasal dari benih dan tidak dimanipulasi. SDK-nya adalah TypeScript, sementara kripto inti menggunakan pustaka fastcrypto Rust melalui NAPI-RS untuk performa dan keamanan.",p3:"Setelah diverifikasi, keluaran VRF menghasilkan generator byte acak deterministik (hashSequence). Permainan mengubah byte tersebut menjadi hasil menggunakan logika deterministik dan tidak bias. Karena prosesnya deterministik dan nonce berlanjut setiap putaran yang diselesaikan, Anda mendapatkan audit yang dapat diputar ulang (membuat ulang putaran yang sama persis) dan keacakan yang baru dan tidak berulang setiap kali.",p4:"Setelah satu putaran, Anda akan mendapatkan input (termasuk clientSeed dan nonce putaran), output VRF, proofString, dan kunci publik kami. Gunakan verifikator ECVRF atau pustaka kami untuk: (1) memverifikasi bukti terhadap input dan kunci publik, dan (2) menghasilkan kembali hashSequence dan hasil yang sama. Kunci privat kami tidak pernah meninggalkan server aman; kunci publik aman digunakan di sisi klien untuk pemeriksaan independen.",step1Desc:"Kami menggabungkan gameId, tenantId, tenantUserId, nonce per ronde, dan clientSeed Anda. Input yang sama selalu menghasilkan aliran dan hasil acak yang sama.",step1Title:"Benih Deterministik",step2Title:"Hasilkan Keacakan",step3Desc:"Siapa pun dapat memverifikasi proofString untuk input yang diberikan menggunakan kunci publik kami. Ini memastikan keacakan sesuai dengan seed dan tidak ada manipulasi.",step3Title:"Verifikasi Bukti",step4Title:"Dapatkan Hasil",step5Title:"Reproduksi"},invalidGame:"Jenis permainan yang diberikan tidak valid.",learnMore:"Pelajari Lebih Lanjut",newClientSeed:"Benih Klien Baru",noBettingHistory:"Tidak ada riwayat taruhan",outcomeCalculationInfo:"Hasil setiap permainan dihitung menggunakan nilai acak sebagai masukan.",outcomeNotVerified:"Hasil pertandingan ini tidak dapat diverifikasi",outcomeVerified:"Hasil permainan ini telah diverifikasi dan terbukti adil",proof:"Bukti",publicKey:"Kunci Publik",randomness:"Keserampangan",request:"Meminta",saveClientSeed:"Simpan Benih Klien",verifyOutcome:"Verifikasi Hasil"},gameInfo:{dice:{how1:"Pilih roll under atau roll over.",how2:"Tetapkan angka target Anda.",how3:"Tetapkan jumlah taruhan Anda dan pasang taruhan Anda.",how4:"Kami menghasilkan satu hasil acak (ditampilkan pada skala 0–99,99 dalam permainan).",how5:"Anda menang jika hasilnya berada dalam rentang pilihan Anda.",how6:"Pembayaran Anda dipertaruhkan x pengali yang ditampilkan, yang diperbarui saat Anda menggerakkan penggeser.",overview:"Tetapkan angka target dan pilih apakah lemparan akan mendarat di bawah atau di atasnya. Menggerakkan slider akan mengubah peluang menang dan pengali Anda—peluang yang lebih tinggi akan menurunkan pengali, peluang yang lebih rendah akan meningkatkannya. Setiap putaran adalah satu lemparan independen dalam skala permainan.",provablyFair:"Sistem keacakan terverifikasi kami menghasilkan setiap lemparan dadu. Setelah setiap putaran, Anda dapat melihat input dan bukti, memverifikasi hasilnya dengan kunci publik kami, dan mereproduksi hasil yang sama.",strategyTip:"Pilih volatilitas Anda. Peluang menang yang lebih rendah menghasilkan pengganda yang lebih besar tetapi kemenangan yang lebih jarang. Peluang menang yang lebih tinggi menghasilkan pengganda yang lebih kecil tetapi kemenangan yang lebih sering. Sesuaikan taruhan Anda dengan modal Anda untuk ayunan yang lebih stabil."},keno:{how1:"Pilih 1–10 ubin pada papan 1–40.",how2:"Tetapkan jumlah taruhan Anda dan pasang taruhan Anda.",how3:"Kami mengundi 10 nomor pemenang; kecocokan Anda disorot.",how4:"Pembayaran bergantung pada berapa banyak ubin yang Anda pilih dan berapa banyak pukulan yang Anda dapatkan—periksa tabel pembayaran.",how5:"Anda tidak akan pernah bisa mendapatkan angka lebih banyak dari yang Anda pilih, dan pilihan maksimalnya adalah 10.",overview:"Pilih angka keberuntungan Anda dan cobalah untuk mencocokkan angka yang keluar. Anda dapat memilih angka 1–10 dari 1–40, lalu kami akan mengundi 10 angka. Semakin banyak angka yang Anda pilih, semakin tinggi pembayaran Anda.",provablyFair:"Sistem keacakan terverifikasi kami menghasilkan setiap undian Keno. Setelah setiap putaran, Anda dapat melihat input dan bukti, memverifikasi hasilnya dengan kunci publik kami, dan mereproduksi hasil yang sama.",strategyTip:"Pilih volatilitas Anda. Memilih lebih sedikit spot berarti kemenangan lebih jarang tetapi penggandanya jauh lebih besar. Lebih banyak spot memberikan lebih banyak hit tetapi rata-rata imbal hasil per hit lebih kecil. Rentang tengah menyeimbangkan tingkat hit dan pembayaran. Sesuaikan ukuran taruhan Anda dengan preferensi risiko dan modal Anda."},limbo:{how1:"Tetapkan pengali target Anda.",how2:"Tetapkan jumlah taruhan Anda dan pasang taruhan Anda.",how3:"Kami menghasilkan satu pengali hasil acak.",how4:"Anda menang jika hasilnya lebih besar atau sama dengan target Anda.",how5:"Pembayaran Anda adalah taruhan x pengali target Anda; jika tidak, Anda kalah taruhan.",overview:"Di Limbo, Anda menentukan pembayaran yang diinginkan, dan permainan akan memberikan satu pengali hasil acak. Jika hasilnya setidaknya sesuai target Anda, Anda menang. Jika lebih rendah, Anda kalah. Peluang yang lebih tinggi akan menurunkan pengali; peluang yang lebih rendah akan meningkatkannya.",provablyFair:"Sistem keacakan terverifikasi kami menghasilkan setiap hasil Limbo. Setelah setiap putaran, Anda dapat melihat input dan bukti, memverifikasi hasilnya dengan kunci publik kami, dan mereproduksi hasil yang sama.",strategyTip:"Target yang lebih rendah lebih sering menang tetapi bayarannya lebih rendah, sementara target yang lebih tinggi jarang kena tetapi bayarannya jauh lebih besar. Pertimbangkan target tetap per sesi atau gabungkan dengan taruhan yang jarang menang sesekali, dan tingkatkan taruhan secara konsisten untuk mengelola varians."},mines:{how1:"Pilih jumlah ranjau untuk ronde ini.",how2:"Tetapkan jumlah taruhan Anda dan pasang taruhan Anda.",how3:"Klik ubin untuk mengungkapkannya: ubin yang aman akan meningkatkan pengali Anda; ranjau akan mengakhiri ronde.",how4:"Anda dapat mencairkan dana kapan saja untuk mengunci pengali Anda saat ini.",how5:"Pembayaran Anda dipertaruhkan x pengali saat Anda menguangkan.",how6:"Putaran berakhir saat Anda menguangkan atau saat ranjau ditemukan.",overview:'"Tambang" adalah tentang memilih ubin yang aman dan memutuskan kapan harus menguangkan. Sebelum ronde dimulai, tentukan berapa banyak ranjau yang akan disembunyikan di papan. Setiap ubin aman yang Anda temukan akan meningkatkan pengali Anda. Jika terkena ranjau, ronde berakhir tanpa pembayaran.',provablyFair:"Sistem keacakan terverifikasi kami menghasilkan tata letak ranjau tersembunyi di setiap papan. Setelah setiap putaran, Anda dapat melihat input dan bukti, memverifikasi hasilnya dengan kunci publik kami, dan mereproduksi hasil yang sama.",strategyTip:"Pilih volatilitas Anda. Lebih sedikit tambang berarti pengungkapan yang lebih aman dan pengganda yang lebih kecil per langkah. Lebih banyak tambang menghasilkan pengungkapan yang lebih berisiko dengan pengganda yang lebih besar. Tetapkan target atau gunakan stop-loss untuk mengelola ayunan. Ukuran taruhan yang konsisten dan penarikan dana yang disiplin membantu menjaga varians tetap terkendali."},strategyTitle:"Strategi",tutorial:"Tutorial"},games:{dice:{rollOver:"Berguling",rollUnder:"Gulung ke Bawah"},keno:{autoPick:"Pilih Otomatis",clearTable:"Jernih",kenoGameGrid:"Kisi Permainan Keno",kenoNumber:"Nomor Keno",selectAtLeastOneTile:"Silakan pilih setidaknya satu ubin",selectTileToAutobet:"Silakan pilih setidaknya satu ubin"},limbo:{multiplierError:"Harus antara {min} dan {max}",targetMultiplier:"Pengali",winChanceError:"Harus antara {min} dan {max}"},mines:{cashout:"Penarikan Tunai",gem:"Permata",gems:"Permata",mine:"Milikku",mines:"Tambang",nextGem:"Permata Berikutnya",selectRandomTile:"Pilih Ubin Acak",selectTileToAutobet:"Silakan pilih setidaknya satu ubin untuk taruhan otomatis",tile:"Ubin",unrevealed:"Belum terungkap"}},hotkeys:{doubleBet:"Jumlah Taruhan Ganda",halveBet:"Membagi Dua Jumlah Taruhan",higherTarget:"Target Lebih Tinggi",info:"Saat tombol pintas diaktifkan, tombol tersebut akan tetap aktif untuk game ini hingga dinonaktifkan. Meskipun beberapa game memiliki pengaturan tombol yang serupa, selalu disarankan untuk mengonfirmasi tombol pintas untuk setiap game.",lowerTarget:"Target Bawah",makeBet:"Pasang Taruhan",toggleWinCondition:"Beralih Kondisi Kemenangan",zeroBet:"Jumlah Taruhan Nol"},modals:{betResult:"Hasil Taruhan",fairnessAndHistory:"Keadilan dan Sejarah",gameArea:"Area Permainan",gameControls:"Kontrol Permainan",gameInfo:"Info Permainan"}}});var ko=Ia((cu,Is)=>{Is.exports={accessibility:{sliderValue:"{value} 件中 {max} 件"},alerts:{autobetStarted:"自動ベットモードを開始しました",autobetStopped:"自動ベットモードを停止しました",betAmountAboveMaxBet:"最大賭け金は{value}です",betAmountBelowMinBet:"最低賭け金は{value}です",betLimitReached:"賭け金の上限に達しました",errorProcessingBet:"賭けの処理中にエラーが発生しました。もう一度お試しください。",failedToLoadBetData:"賭けデータの読み込みに失敗しました",gameError:"賭けの処理中にエラーが発生しました。もう一度お試しください。",insufficientBalance:"残高不足",notEnoughBalance:"残高が足りない"},autobet:{games:"ゲーム",games10:"10ゲーム",games100:"100ゲーム",games25:"25ゲーム",games5:"5ゲーム",games50:"50ゲーム",increase:"増加",infinite:"無限",onLoss:"損失について",onWin:"勝利時",reset:"リセット",startAutobet:"オートベットを始める",stopAutobet:"オートベットを停止",stopOnLoss:"損失でストップ",stopOnProfit:"利益でストップ"},common:{auto:"オート",back:"戻る",balance:"バランス",bet:"賭け金額",betAmount:"賭け金額",cancel:"キャンセル",cashOut:"キャッシュアウト",classic:"クラシック",confirm:"確認する",copied:"コピーしました",disableHotkeys:"ホットキーを無効にする",disableMaxBet:"最大ベットを無効にする",deposit:"入金",enableHotkeys:"ホットキーを有効にする",enableMaxBet:"最大ベットを有効にする",footerNavigation:"フッターナビゲーション",gameInfo:"ゲーム情報",high:"高い",history:"歴史",hotkeys:"ホットキー",id:"ID",instantBet:"インスタントベット",loading:"読み込み中...",loadMore:"もっと読み込む",lobby:"ロビーに戻る",low:"低い",manual:"マニュアル",max:"マックス",medium:"中くらい",multiplier:"乗数",payout:"支払い",placeBet:"ベットする",profit:"利益",profitOnWin:"勝利で利益",provablyFair:"証明可能公平",risk:"リスク",siteInformation:"サイト情報",space:"空間",targetMultiplier:"乗数",thisFieldIsRequired:"この項目は必須です",timestamp:"時間",toggleHotkeys:"ホットキーを切り替える",viewFairnessInformation:"公平性情報を見る",viewHistory:"履歴を表示",volume:"音量",winChance:"勝利のチャンス"},errors:{dice:{multiplierRange:"{min}から{max}の間でなければなりません",winChanceRange:"{min}~{max}の間でなければなりません"}},fairness:{activeClientSeed:"アクティブクライアントシード",enterClientSeed:"クライアントシードを入力",enterProof:"証明を入力",enterPublicKey:"公開鍵を入力",enterRandomness:"ランダム性を導入する",enterRequest:"リクエストを入力",info:{p1:"各ラウンドの結果は、サーバーロジックではなく、検証可能なランダム性によって決定されます。ラウンド固有の値(gameId、tenantId、tenantUserId、増加していくノンス(ラウンド完了ごとに1つ)、そしてclientSeed)から決定論的なシード値を生成します。これにより、各ラウンドが一意かつ再現可能であることが保証されます。つまり、同じ入力 → 同じランダムストリーム → 同じ結果となります。",p2:"このシードは、IETF仕様 draft-irtf-cfrg-vrf-15 に基づき、楕円曲線検証可能乱数関数 (ECVRF) にかけられます。当社のサーバーは秘密鍵を用いて乱数と暗号証明 (proofString) を生成します。公開鍵を持つ人なら誰でも、与えられた入力値に対してその証明を独立して検証でき、乱数がシードに由来し、改ざんされていないことを確認できます。SDKはTypeScriptで、コアとなる暗号にはパフォーマンスと安全性を確保するために、NAPI-RS経由でfastcrypto Rustライブラリを使用しています。",p3:"検証が完了すると、VRF出力は決定論的ランダムバイトジェネレータ(hashSequence)にシードされます。ゲームは、これらのバイトを決定論的かつバイアスのないロジックを用いて結果に変換します。このプロセスは決定論的であり、ナンスはラウンドが完了するたびに更新されるため、再プレイ可能な監査(同じラウンドを再現する)と、毎回新鮮で繰り返しのないランダム性の両方が得られます。",p4:"ラウンド終了後、入力(clientSeedとラウンドのノンスを含む)、VRF出力、proofString、そして公開鍵が得られます。任意のECVRF検証器またはライブラリを使用して、(1) 入力と公開鍵を用いて証明を検証し、(2) 同じhashSequenceと結果を再生成します。秘密鍵は安全なサーバーから外部に送信されることはありません。公開鍵はクライアント側で独立した検証に安全に使用できます。",step1Desc:"gameId、tenantId、tenantUserId、ラウンドごとのノンス、そしてclientSeedを組み合わせます。同じ入力は常に同じランダムストリームと結果を生成します。",step1Title:"決定論的シード",step2Title:"ランダム性を生成する",step3Desc:"誰でも、公開鍵を使って与えられた入力に対するproofStringを検証できます。これにより、乱数がシードと一致し、改ざんされていないことが確認できます。",step3Title:"証明を検証する",step4Title:"結果を導き出す",step5Title:"再生"},invalidGame:"無効なゲームタイプが指定されました。",learnMore:"もっと詳しく知る",newClientSeed:"新規クライアントシード",noBettingHistory:"賭け履歴なし",outcomeCalculationInfo:"各ゲームの結果は、ランダムな値を入力として使用して計算されます。",outcomeNotVerified:"この試合の結果は確認できなかった",outcomeVerified:"このゲームの結果は検証されており、公平であることが証明されています",proof:"証拠",publicKey:"公開鍵",randomness:"ランダム性",request:"リクエスト",saveClientSeed:"クライアントシードを保存",verifyOutcome:"結果を確認する"},gameInfo:{dice:{how1:"ロールアンダーまたはロールオーバーを選択します。",how2:"目標数値を設定します。",how3:"賭け金額を設定して賭けをします。",how4:"ランダムな結果を 1 つ生成します (ゲーム内では 0 ~ 99.99 のスケールで表示されます)。",how5:"結果が選択した範囲内であれば勝ちとなります。",how6:"支払額は賭け金×表示されている乗数で、スライダーを動かすと更新されます。",overview:"目標値を設定し、その数値を下回るか上回るかを選択します。スライダーを動かすと、勝率と倍率が変わります。勝率が高いほど倍率は下がり、低いほど倍率は上がります。各ラウンドは、ゲームのスケール上で独立した1回のロールとなります。",provablyFair:"当社の検証可能な乱数生成システムにより、すべてのサイコロの出目が生成されます。各ラウンド終了後、入力と証明を確認し、公開鍵で結果を検証し、同じ結果を再現することができます。",strategyTip:"ボラティリティを選びましょう。勝率が低いほどマルチプライヤーは大きくなりますが、当たりが出る確率は低くなります。勝率が高いほどマルチプライヤーは小さくなりますが、当たりが出る頻度は高くなります。安定した変動を得るには、資金に合わせて賭け金を調整しましょう。"},keno:{how1:"1~40 のボードから 1~10 のタイルを 1 つ選びます。",how2:"賭け金額を設定して賭けをします。",how3:"当選番号を 10 個抽選します。当選番号がハイライト表示されます。",how4:"支払額は、選択したタイルの数とヒット数によって異なります。支払表を確認してください。",how5:"選択した数字より多くを当てることはできません。最大選択数は 10 です。",overview:"ラッキーナンバーを選んで、抽選結果と照らし合わせてみましょう。1~40の数字の中から1~10個を選んで、その中から10個の数字を抽選します。当選番号が多いほど、配当金も高くなります。",provablyFair:"検証可能なランダム性システムにより、すべてのキノの抽選が生成されます。各ラウンド終了後、入力と証明を確認し、公開鍵で結果を検証し、同じ結果を再現することができます。",strategyTip:"ボラティリティはお好みで。スポットを少なくすると、当たりは少なくなりますが、マルチプライヤーは大きくなります。スポットを多くすると、当たりの頻度は高くなりますが、1ヒットあたりの平均リターンは少なくなります。中程度のボラティリティは、当たり率と配当のバランスが取れています。リスク許容度と資金に合わせてベットサイズを調整しましょう。"},limbo:{how1:"目標乗数を設定します。",how2:"賭け金額を設定して賭けをします。",how3:"ランダムな結果乗数を 1 つ生成します。",how4:"結果が目標値以上であれば勝利となります。",how5:"支払額は賭け金×目標乗数です。それ以外の場合は賭け金を失います。",overview:"Limboでは、希望する配当額を設定すると、ゲームがランダムに1つの結果乗数を決定します。結果が目標額以上であれば勝ち、目標額より低ければ負けです。確率が高いほど乗数は下がり、低いほど乗数は上がります。",provablyFair:"検証可能なランダム性システムによって、Limbo のすべての結果が生成されます。各ラウンド終了後、入力と証明を確認し、公開鍵で結果を検証し、同じ結果を再現することができます。",strategyTip:"低いターゲットは勝率が高いものの配当は少なく、高いターゲットは当たりにくいものの配当ははるかに高くなります。セッションごとに固定ターゲットを設定するか、時折ロングシュートを混ぜることを検討し、ベット額を一定に保つことで変動を管理しましょう。"},mines:{how1:"このラウンドの地雷の数を選択します。",how2:"賭け金額を設定して賭けをします。",how3:"タイルをクリックすると表示されます。安全なタイルは乗数を増やし、地雷はラウンドを終了します。",how4:"いつでもキャッシュアウトして、現在の乗数を固定することができます。",how5:"キャッシュアウト時に支払われる金額は、賭け金×現在の乗数です。",how6:"キャッシュアウトするか地雷が公開されるとラウンドは終了します。",overview:"鉱山は、安全なタイルを選び、いつキャッシュアウトするかを決めるゲームです。ラウンド開始前に、ボード上に隠す地雷の数を選択します。地雷を1つ隠すごとに、マルチプライヤーが増加します。地雷に当たると、ラウンドは配当なしで終了します。",provablyFair:"当社の検証可能なランダム性システムは、各ボードの地雷配置を生成します。各ラウンド終了後、入力と証明を確認し、公開鍵で結果を検証し、同じ結果を再現することができます。",strategyTip:"ボラティリティはお好みで。地雷が少ないほど、より安全な展開となり、ステップごとの乗数も小さくなります。地雷が多いほど、よりリスクの高い展開となり、乗数も大きくなります。目標を設定するか、ストップロスを設定して変動を管理しましょう。一貫したベットサイズと規律あるキャッシュアウトは、変動を抑制します。"},strategyTitle:"戦略",tutorial:"チュートリアル"},games:{dice:{rollOver:"転がる",rollUnder:"ロールアンダー"},keno:{autoPick:"自動選択",clearTable:"クリア",kenoGameGrid:"キノゲームグリッド",kenoNumber:"キノ番号",selectAtLeastOneTile:"少なくとも1つのタイルを選択してください",selectTileToAutobet:"少なくとも1つのタイルを選択してください"},limbo:{multiplierError:"{min}から{max}の間でなければなりません",targetMultiplier:"乗数",winChanceError:"{min}~{max}の範囲でなければなりません"},mines:{cashout:"キャッシュアウト",gem:"宝石",gems:"宝石",mine:"私の",mines:"鉱山",nextGem:"次の宝石",selectRandomTile:"ランダムタイルを選択",selectTileToAutobet:"自動ベットするには少なくとも1つのタイルを選択してください",tile:"タイル",unrevealed:"未公開"}},hotkeys:{doubleBet:"ダブルベット額",halveBet:"賭け金を半分にする",higherTarget:"より高い目標",info:"ホットキーを有効にすると、無効にするまでそのゲームで有効のままになります。一部のゲームでは同様のキーバインドが設定されている場合もありますが、ゲームごとにホットキーを確認することをお勧めします。",lowerTarget:"下限目標",makeBet:"ベットする",toggleWinCondition:"勝利条件を切り替える",zeroBet:"ゼロベット額"},modals:{betResult:"賭けの結果",fairnessAndHistory:"公平性と歴史",gameArea:"ゲームエリア",gameControls:"ゲームコントロール",gameInfo:"ゲーム情報"}}});var vo=Ia((hu,js)=>{js.exports={accessibility:{sliderValue:"{value}개 중 {max}개"},alerts:{autobetStarted:"자동 베팅 모드 시작",autobetStopped:"자동 베팅 모드가 중지되었습니다",betAmountAboveMaxBet:"최대 배팅 금액은 {value}입니다",betAmountBelowMinBet:"최소 배팅 금액은 {value}입니다",betLimitReached:"배팅 한도에 도달했습니다",errorProcessingBet:"베팅을 처리하는 중에 오류가 발생했습니다. 다시 시도해 주세요.",failedToLoadBetData:"베팅 데이터를 불러오는 데 실패했습니다.",gameError:"베팅을 처리하는 중에 오류가 발생했습니다. 다시 시도해 주세요.",insufficientBalance:"잔액이 부족합니다",notEnoughBalance:"잔액이 부족합니다"},autobet:{games:"계략",games10:"10개의 게임",games100:"100개의 게임",games25:"25개의 게임",games5:"5개의 게임",games50:"50개의 게임",increase:"증가하다",infinite:"무한",onLoss:"손실에 대하여",onWin:"승리에 대하여",reset:"다시 놓기",startAutobet:"자동 베팅 시작",stopAutobet:"자동 베팅 중지",stopOnLoss:"손실 중지",stopOnProfit:"이익에 대한 중단"},common:{auto:"자동",back:"뒤쪽에",balance:"균형",bet:"배팅 금액",betAmount:"배팅 금액",cancel:"취소",cashOut:"현금 인출",classic:"권위 있는",confirm:"확인하다",copied:"복사됨",disableHotkeys:"단축키 비활성화",disableMaxBet:"최대 베팅 비활성화",deposit:"예금",enableHotkeys:"단축키 활성화",enableMaxBet:"최대 베팅 활성화",footerNavigation:"푸터 탐색",gameInfo:"게임 정보",high:"높은",history:"역사",hotkeys:"단축키",id:"ID",instantBet:"즉시 베팅",loading:"로딩중...",loadMore:"더 보기",lobby:"로비로 돌아가기",low:"낮은",manual:"수동",max:"맥스",medium:"중간",multiplier:"승수",payout:"지불금",placeBet:"배팅하기",profit:"이익",profitOnWin:"승리에 따른 이익",provablyFair:"공정성이 입증됨",risk:"위험",siteInformation:"사이트 정보",space:"공간",targetMultiplier:"승수",thisFieldIsRequired:"이 필드는 필수입니다",timestamp:"시간",toggleHotkeys:"단축키 전환",viewFairnessInformation:"공정성 정보 보기",viewHistory:"기록 보기",volume:"용량",winChance:"승리 확률"},errors:{dice:{multiplierRange:"{min}와 {max} 사이여야 합니다.",winChanceRange:"{min}~{max} 사이여야 합니다."}},fairness:{activeClientSeed:"활성 클라이언트 시드",enterClientSeed:"클라이언트 시드 입력",enterProof:"증거를 입력하세요",enterPublicKey:"공개 키 입력",enterRandomness:"무작위성을 입력하세요",enterRequest:"요청 입력",info:{p1:"각 라운드의 결과는 숨겨진 서버 로직이 아닌 검증 가능한 무작위성에서 비롯됩니다. 저희는 각 라운드에 고유한 값(gameId, tenantId, tenantUserId, 증가하는 논스(완료된 라운드당 하나씩), 그리고 clientSeed)을 기반으로 결정론적 시드를 구축합니다. 이를 통해 각 라운드의 고유성과 재현성을 보장합니다. 즉, 동일한 입력 → 동일한 무작위 스트림 → 동일한 결과입니다.",p2:"해당 시드는 IETF 사양 draft-irtf-cfrg-vrf-15에 따라 타원 곡선 검증 가능 난수 함수(ECVRF)를 통해 실행됩니다. 저희 서버는 개인 키를 사용하여 난수 값과 암호화 증명(proofString)을 생성합니다. 공개 키를 가진 사람은 누구나 주어진 입력에 대한 증명을 독립적으로 검증할 수 있습니다. 즉, 난수가 시드에서 비롯되었으며 변조되지 않았음을 확인할 수 있습니다. SDK는 TypeScript이며, 핵심 암호화는 성능과 안전성을 위해 NAPI-RS를 통해 fastcrypto Rust 라이브러리를 사용합니다.",p3:"검증이 완료되면 VRF 출력은 결정론적 난수 바이트 생성기(hashSequence)에 시드를 생성합니다. 게임은 결정론적이고 편향되지 않은 논리를 사용하여 해당 바이트를 결과로 변환합니다. 이 프로세스는 결정론적이고 논스가 완료된 라운드마다 증가하기 때문에, 매번 재생 가능한 감사(동일한 라운드를 정확하게 재생성)와 새롭고 반복되지 않는 난수성을 모두 얻을 수 있습니다.",p4:"한 라운드가 끝나면 입력(클라이언트 시드와 라운드의 논스 포함), VRF 출력, proofString, 그리고 공개 키를 얻게 됩니다. ECVRF 검증 도구나 저희 라이브러리를 사용하여 (1) 입력과 공개 키에 대한 증명을 검증하고, (2) 동일한 해시 시퀀스와 결과를 다시 생성합니다. 저희의 개인 키는 보안 서버를 절대 벗어나지 않으므로, 공개 키는 클라이언트 측에서 독립적인 검증을 위해 안전하게 사용할 수 있습니다.",step1Desc:"gameId, tenantId, tenantUserId, 라운드별 nonce, 그리고 clientSeed를 결합합니다. 동일한 입력은 항상 동일한 랜덤 스트림과 결과를 생성합니다.",step1Title:"결정론적 시드",step2Title:"무작위성 생성",step3Desc:"누구든지 우리의 공개 키를 사용하여 주어진 입력에 대한 증명 문자열을 검증할 수 있습니다. 이를 통해 난수성이 시드 값과 일치하며 변조되지 않았음을 확인할 수 있습니다.",step3Title:"증명을 확인하세요",step4Title:"결과 도출",step5Title:"생식"},invalidGame:"잘못된 게임 유형이 제공되었습니다.",learnMore:"자세히 알아보기",newClientSeed:"신규 고객 시드",noBettingHistory:"베팅 내역 없음",outcomeCalculationInfo:"각 게임의 결과는 난수 값을 입력으로 사용하여 계산됩니다.",outcomeNotVerified:"이 게임의 결과는 확인할 수 없습니다.",outcomeVerified:"이 게임의 결과는 검증되었으며 공정성이 입증되었습니다.",proof:"증거",publicKey:"공개 키",randomness:"무작위성",request:"요구",saveClientSeed:"클라이언트 시드 저장",verifyOutcome:"결과 확인"},gameInfo:{dice:{how1:"롤 언더나 롤 오버를 선택하세요.",how2:"목표 수치를 설정하세요.",how3:"배팅 금액을 설정하고 배팅하세요.",how4:"우리는 하나의 무작위 결과를 생성합니다(게임 내에서 0~99.99 척도로 표시됨).",how5:"선택한 범위 내에 결과가 나오면 승리합니다.",how6:"지불금은 슬라이더를 움직일 때마다 업데이트되는 표시된 승수에 베팅 금액을 곱한 값입니다.",overview:"목표 숫자를 설정하고 주사위를 굴려 목표 숫자보다 낮게 나올지, 아니면 그보다 높게 나올지 선택하세요. 슬라이더를 움직이면 승률과 승률이 변경됩니다. 승률이 높을수록 승률은 낮아지고, 낮을수록 승률은 높아집니다. 각 라운드는 게임 규모에 따라 하나의 독립적인 주사위를 굴리는 것입니다.",provablyFair:"검증 가능한 무작위성 시스템은 모든 주사위 굴림을 생성합니다. 매 라운드마다 입력값과 증명을 확인하고, 공개 키로 결과를 검증하고, 동일한 결과를 재현할 수 있습니다.",strategyTip:"변동성을 선택하세요. 승률이 낮으면 승률은 높아지지만 당첨 확률은 낮아집니다. 승률이 높으면 승률은 낮아지지만 당첨 확률은 높아집니다. 안정적인 변동을 위해 자금 규모에 맞춰 베팅 규모를 조정하세요."},keno:{how1:"1~40 보드에서 1~10 타일을 고르세요.",how2:"배팅 금액을 설정하고 배팅하세요.",how3:"당첨 번호 10개를 추첨합니다. 귀하와 일치하는 번호는 강조 표시됩니다.",how4:"지불금은 선택한 타일의 수와 적중 횟수에 따라 달라집니다. 지불표를 확인하세요.",how5:"선택한 숫자보다 많은 숫자를 맞출 수는 없으며, 최대 선택 수는 10개입니다.",overview:"행운의 숫자를 고르고 추첨에 참여해 보세요. 1~40개 숫자 중 1~10개를 선택하시면 10개의 숫자를 추첨합니다. 선택하신 숫자가 많을수록 당첨금이 높아집니다.",provablyFair:"검증 가능한 무작위성 시스템이 모든 케노 추첨을 생성합니다. 매 라운드가 끝날 때마다 입력값과 증명을 확인하고, 공개 키로 결과를 검증하고, 동일한 결과를 재현할 수 있습니다.",strategyTip:"변동성을 선택하세요. 스팟을 적게 선택하면 당첨 확률은 낮아지지만 승률은 훨씬 높아집니다. 스팟이 많을수록 당첨 빈도는 높아지지만, 당첨당 평균 수익률은 낮아집니다. 중간 범위는 당첨률과 배당률의 균형을 이룹니다. 위험 선호도와 자금에 맞게 베팅 규모를 조정하세요."},limbo:{how1:"목표 배수를 설정하세요.",how2:"배팅 금액을 설정하고 배팅하세요.",how3:"우리는 하나의 무작위 결과 승수를 생성합니다.",how4:"결과가 목표보다 크거나 같으면 승리합니다.",how5:"지불 금액은 베팅 금액 x 목표 배수입니다. 그렇지 않으면 베팅 금액을 잃게 됩니다.",overview:"림보에서는 원하는 배당금을 설정하면 무작위로 하나의 결과 배수가 추첨됩니다. 결과가 목표 금액 이상이면 승리하고, 목표 금액보다 낮으면 패배합니다. 배당률이 높을수록 배수는 낮아지고, 배당률이 낮을수록 배수는 높아집니다.",provablyFair:"검증 가능한 무작위성 시스템은 모든 림보 결과를 생성합니다. 매 라운드마다 입력값과 증명을 확인하고, 공개 키로 결과를 검증하고, 동일한 결과를 재현할 수 있습니다.",strategyTip:"낮은 목표 금액은 더 자주 당첨되지만 배당률은 낮고, 높은 목표 금액은 당첨 확률이 낮지만 배당률은 훨씬 높습니다. 세션당 고정된 목표 금액을 설정하거나 가끔씩 롱샷을 섞어 베팅하고, 변동성을 관리하기 위해 베팅 규모를 일관되게 조정하세요."},mines:{how1:"이번 라운드에 사용할 지뢰의 개수를 선택하세요.",how2:"배팅 금액을 설정하고 배팅하세요.",how3:"타일을 클릭하면 타일이 드러납니다. 안전한 타일은 배수를 증가시키고, 광산은 라운드를 끝냅니다.",how4:"언제든지 현금화하여 현재 배수를 고정할 수 있습니다.",how5:"현금화할 때 지불되는 금액은 베팅 금액에 현재 승수를 곱한 금액입니다.",how6:"라운드는 현금을 인출하거나 광산이 발견되면 종료됩니다.",overview:"지뢰 찾기는 안전한 타일을 선택하고 언제 현금화할지 결정하는 게임입니다. 라운드가 시작되기 전에 보드에 숨길 지뢰의 개수를 정하세요. 안전한 타일을 하나 공개할 때마다 배수가 증가합니다. 지뢰를 발견하면 라운드는 보상 없이 종료됩니다.",provablyFair:"검증 가능한 무작위성 시스템은 각 보드의 숨겨진 광산 레이아웃을 생성합니다. 매 라운드가 끝날 때마다 입력값과 증명을 확인하고, 공개 키로 결과를 검증하고, 동일한 결과를 재현할 수 있습니다.",strategyTip:"변동성을 선택하세요. 마인(Mining)이 적을수록 더 안전한 시장 공개와 단계당 승수(multiplier)가 줄어듭니다. 마인(Mining)이 많을수록 더 큰 승수와 함께 더 위험한 시장 공개로 이어집니다. 목표가를 설정하거나 손절매를 사용하여 변동성을 관리하세요. 일관된 베팅 규모와 규칙적인 현금 인출은 변동성을 관리하는 데 도움이 됩니다."},strategyTitle:"전략",tutorial:"지도 시간"},games:{dice:{rollOver:"롤오버",rollUnder:"롤 언더"},keno:{autoPick:"자동 선택",clearTable:"분명한",kenoGameGrid:"케노 게임 그리드",kenoNumber:"케노 번호",selectAtLeastOneTile:"최소한 하나의 타일을 선택해주세요",selectTileToAutobet:"최소한 하나의 타일을 선택해주세요"},limbo:{multiplierError:"{min}와 {max} 사이여야 합니다",targetMultiplier:"승수",winChanceError:"{min}~{max} 사이여야 합니다."},mines:{cashout:"현금 인출",gem:"보석",gems:"보석",mine:"내 거",mines:"광산",nextGem:"다음 보석",selectRandomTile:"무작위 타일 선택",selectTileToAutobet:"자동 베팅을 위해 최소 하나의 타일을 선택하세요",tile:"타일",unrevealed:"공개되지 않은"}},hotkeys:{doubleBet:"더블 베팅 금액",halveBet:"배팅 금액 절반",higherTarget:"더 높은 목표",info:"단축키를 활성화하면 비활성화할 때까지 해당 게임에서 계속 활성화됩니다. 일부 게임의 단축키 설정이 비슷하더라도, 각 게임의 단축키를 확인하는 것이 좋습니다.",lowerTarget:"낮은 목표",makeBet:"배팅하기",toggleWinCondition:"승리 조건 전환",zeroBet:"0 배팅 금액"},modals:{betResult:"배팅 결과",fairnessAndHistory:"공정성과 역사",gameArea:"게임 구역",gameControls:"게임 컨트롤",gameInfo:"게임 정보"}}});var go=Ia((pu,Hs)=>{Hs.exports={accessibility:{sliderValue:"{value} z {max}"},alerts:{autobetStarted:"Uruchomiono tryb autozakładu",autobetStopped:"Zatrzymano tryb autozakładu",betAmountAboveMaxBet:"Maksymalny zakład to {value}",betAmountBelowMinBet:"Minimalny zakład to {value}",betLimitReached:"Osiągnięto limit zakładów",errorProcessingBet:"Wystąpił błąd podczas przetwarzania Twojego zakładu. Spróbuj ponownie.",failedToLoadBetData:"Nie udało się załadować danych zakładu",gameError:"Wystąpił błąd podczas przetwarzania Twojego zakładu. Spróbuj ponownie.",insufficientBalance:"Niewystarczające saldo",notEnoughBalance:"Za mało równowagi"},autobet:{games:"Zawody sportowe",games10:"10 gier",games100:"100 gier",games25:"25 gier",games5:"5 gier",games50:"50 gier",increase:"Zwiększyć",infinite:"Nieskończony",onLoss:"O stracie",onWin:"W zwycięstwie",reset:"Nastawić",startAutobet:"Uruchom autozakład",stopAutobet:"Zatrzymaj autozakład",stopOnLoss:"Zatrzymaj stratę",stopOnProfit:"Zatrzymaj zysk"},common:{auto:"Automatyczny",back:"Z powrotem",balance:"Balansować",bet:"Kwota zakładu",betAmount:"Kwota zakładu",cancel:"Anulować",cashOut:"Wypłata gotówki",classic:"Klasyczny",confirm:"Potwierdzać",copied:"Skopiowano",disableHotkeys:"Wyłącz klawisze skrótu",disableMaxBet:"Wyłącz maksymalny zakład",deposit:"Depozyt",enableHotkeys:"Włącz klawisze skrótu",enableMaxBet:"Włącz maksymalny zakład",footerNavigation:"Nawigacja stopki",gameInfo:"Informacje o grze",high:"Wysoki",history:"Historia",hotkeys:"Klawisze skrótu",id:"ID",instantBet:"Zakład natychmiastowy",loading:"Załadunek...",loadMore:"Załaduj więcej",lobby:"Powrót do lobby",low:"Niski",manual:"Podręcznik",max:"MAX",medium:"Średni",multiplier:"Mnożnik",payout:"Wypłata",placeBet:"Postaw zakład",profit:"Zysk",profitOnWin:"Zysk z wygranej",provablyFair:"Udowodniona uczciwość",risk:"Ryzyko",siteInformation:"Informacje o witrynie",space:"PRZESTRZEŃ",targetMultiplier:"Mnożnik",thisFieldIsRequired:"To pole jest wymagane",timestamp:"Czas",toggleHotkeys:"Przełącz klawisze skrótu",viewFairnessInformation:"Wyświetl informacje o uczciwości",viewHistory:"Wyświetl historię",volume:"Tom",winChance:"Szansa na wygraną"},errors:{dice:{multiplierRange:"Musi mieścić się w przedziale od {min} do {max}",winChanceRange:"Musi mieścić się w przedziale od {min} do {max}"}},fairness:{activeClientSeed:"Aktywny klient nasion",enterClientSeed:"Wprowadź ziarno klienta",enterProof:"Wprowadź dowód",enterPublicKey:"Wprowadź klucz publiczny",enterRandomness:"Wprowadź losowość",enterRequest:"Wprowadź żądanie",info:{p1:"Wynik każdej rundy wynika z weryfikowalnej losowości, a nie z ukrytej logiki serwera. Budujemy deterministyczny seed z wartości unikalnych dla danej rundy – gameId, tenantId, tenantUserId, rosnącego nonce'a (jednego na każdą ukończoną rundę) oraz Twojego clientSeed. Gwarantuje to unikalność i powtarzalność każdej rundy: te same dane wejściowe → ten sam strumień losowy → ten sam wynik.",p2:"To ziarno jest przepuszczane przez funkcję losową z weryfikowalną krzywą eliptyczną (ECVRF) zgodnie ze specyfikacją IETF draft-irtf-cfrg-vrf-15. Nasz serwer używa swojego klucza prywatnego do wygenerowania losowej wartości i dowodu kryptograficznego (proofString). Każdy, kto posiada nasz klucz publiczny, może samodzielnie zweryfikować ten dowód dla podanych danych wejściowych – potwierdzając, że losowość pochodzi z ziarna i nie została zmodyfikowana. SDK to TypeScript, a rdzeń kryptografii wykorzystuje bibliotekę Rust fastcrypto za pośrednictwem NAPI-RS dla zapewnienia wydajności i bezpieczeństwa.",p3:"Po weryfikacji, wyjście VRF generuje deterministyczny generator bajtów losowych (hashSequence). Gry przekształcają te bajty w wyniki za pomocą deterministycznej, bezstronnej logiki. Ponieważ proces jest deterministyczny, a wartość nonce zmienia się w każdej ukończonej rundzie, otrzymujesz zarówno powtarzalne audyty (dokładnie tę samą rundę), jak i świeżą, niepowtarzalną losowość za każdym razem.",p4:"Po rundzie masz dane wejściowe (w tym clientSeed i nonce rundy), dane wyjściowe VRF, proofString i nasz klucz publiczny. Użyj dowolnego weryfikatora ECVRF lub naszych bibliotek, aby: (1) zweryfikować dowód względem danych wejściowych i klucza publicznego oraz (2) wygenerować ponownie tę samą sekwencję hashSequence i wynik. Nasz klucz prywatny nigdy nie opuszcza bezpiecznych serwerów; klucz publiczny jest bezpieczny do użycia po stronie klienta w celu niezależnych kontroli.",step1Desc:"Łączymy gameId, tenantId, tenantUserId, nonce na rundę i Twój clientSeed. Te same dane wejściowe zawsze generują ten sam strumień losowy i wynik.",step1Title:"Deterministyczne ziarno",step2Title:"Generuj losowość",step3Desc:"Każdy może zweryfikować proofString dla podanych danych wejściowych za pomocą naszego klucza publicznego. To potwierdza, że losowość jest zgodna z wartością referencyjną i nie została zmodyfikowana.",step3Title:"Zweryfikuj dowód",step4Title:"Wyprowadź wyniki",step5Title:"Reprodukcja"},invalidGame:"Podano nieprawidłowy typ gry.",learnMore:"Dowiedz się więcej",newClientSeed:"Nowe ziarno klienta",noBettingHistory:"Brak historii zakładów",outcomeCalculationInfo:"Wynik każdej gry obliczany jest na podstawie losowej wartości.",outcomeNotVerified:"Wyniku tej gry nie można zweryfikować",outcomeVerified:"Wynik tej gry został zweryfikowany i można go uznać za uczciwy",proof:"Dowód",publicKey:"Klucz publiczny",randomness:"Losowość",request:"Wniosek",saveClientSeed:"Zapisz ziarno klienta",verifyOutcome:"Sprawdź wynik"},gameInfo:{dice:{how1:"Wybierz opcję „zwiń pod” lub „zwiń nad”.",how2:"Ustaw liczbę docelową.",how3:"Ustaw stawkę zakładu i postaw zakład.",how4:"Generujemy jeden losowy wynik (wyświetlany w grze w skali 0–99,99).",how5:"Wygrywasz, jeśli wynik będzie mieścił się w wybranym przez Ciebie zakresie.",how6:"Twoja wygrana to zakład pomnożony przez pokazany mnożnik, który aktualizuje się podczas przesuwania suwaka.",overview:"Ustaw liczbę docelową i wybierz, czy rzut wyląduje pod nią, czy nad nią. Przesuwanie suwaka zmienia szansę na wygraną i mnożnik – wyższa szansa obniża mnożnik, niższa – go zwiększa. Każda runda to jeden niezależny rzut w skali gry.",provablyFair:"Nasz weryfikowalny system losowości generuje każdy rzut kostką. Po każdej rundzie możesz przejrzeć dane wejściowe i dowód, zweryfikować wynik za pomocą naszego klucza publicznego i odtworzyć ten sam wynik.",strategyTip:"Wybierz swoją zmienność. Niższa szansa na wygraną daje większe mnożniki, ale rzadsze trafienia. Wyższa szansa na wygraną daje mniejsze mnożniki, ale częstsze wygrane. Dopasuj wysokość zakładów do swojego budżetu, aby zapewnić sobie stabilniejsze wahania."},keno:{how1:"Wybierz 1–10 kafelków na planszy 1–40.",how2:"Ustaw stawkę zakładu i postaw zakład.",how3:"Losujemy 10 zwycięskich liczb, a Twoje trafienia zostaną podświetlone.",how4:"Wypłaty zależą od liczby wybranych kafelków i liczby trafień — sprawdź tabelę wypłat.",how5:"Nigdy nie możesz trafić więcej liczb niż wybrałeś. Maksymalny wybór wynosi 10.",overview:"Wybierz swoje szczęśliwe liczby i spróbuj trafić w losowaniu. Możesz wybrać od 1 do 10 liczb z zakresu od 1 do 40, a my wylosujemy 10 liczb. Im więcej Twoich typów trafi, tym wyższa wygrana.",provablyFair:"Nasz weryfikowalny system losowości generuje każde losowanie Keno. Po każdej rundzie możesz przejrzeć wprowadzone dane i dowody, zweryfikować wynik za pomocą naszego klucza publicznego i odtworzyć ten sam wynik.",strategyTip:"Wybierz swoją zmienność. Wybór mniejszej liczby spotów oznacza rzadsze wygrane, ale znacznie wyższe mnożniki. Więcej spotów oznacza częstsze trafienia, ale niższe średnie zwroty z każdego trafienia. Średni zakres równoważy częstotliwość trafień i wypłatę. Dostosuj wysokość zakładu do swoich preferencji ryzyka i budżetu."},limbo:{how1:"Ustaw mnożnik docelowy.",how2:"Ustaw stawkę zakładu i postaw zakład.",how3:"Generujemy jeden losowy mnożnik wyniku.",how4:"Wygrywasz, jeśli wynik jest większy lub równy twojemu celowi.",how5:"Twoja wypłata to zakład pomnożony przez Twój docelowy mnożnik; w przeciwnym wypadku przegrywasz zakład.",overview:"W Limbo ustawiasz swoją pożądaną wygraną, a gra losuje jeden mnożnik. Jeśli wynik jest co najmniej równy Twojemu celowi, wygrywasz. Jeśli jest niższy, przegrywasz. Wyższa szansa obniża mnożnik; niższa szansa go zwiększa.",provablyFair:"Nasz weryfikowalny system losowości generuje każdy wynik Limbo. Po każdej rundzie możesz przejrzeć dane wejściowe i dowód, zweryfikować wynik za pomocą naszego klucza publicznego i odtworzyć ten sam wynik.",strategyTip:"Niższe cele wygrywają częściej, ale przynoszą mniejsze zyski, podczas gdy wyższe cele trafiają rzadko, ale przynoszą znacznie większe zyski. Rozważ stały cel na sesję lub dodawaj sporadyczne strzały z dystansu i konsekwentnie ustalaj wysokość zakładów, aby kontrolować wariancję."},mines:{how1:"Wybierz liczbę min na tę rundę.",how2:"Ustaw stawkę zakładu i postaw zakład.",how3:"Klikaj kafelki, aby je odsłonić: bezpieczny kafelek zwiększa mnożnik, mina kończy rundę.",how4:"Możesz wypłacić środki w dowolnym momencie, aby zablokować swój obecny mnożnik.",how5:"Twoja wypłata to zakład pomnożony przez aktualny mnożnik w momencie wypłaty.",how6:"Runda kończy się w momencie wypłaty środków lub odkrycia kopalni.",overview:"W Mines chodzi o wybieranie bezpiecznych pól i decydowanie, kiedy wypłacić wygraną. Przed rozpoczęciem rundy wybierz, ile min będzie ukrytych na planszy. Każdy odkryty bezpieczny pole zwiększa Twój mnożnik. Trafienie na minę kończy rundę bez wypłaty.",provablyFair:"Nasz weryfikowalny system losowości generuje układ ukrytych min na każdej planszy. Po każdej rundzie możesz przejrzeć dane wejściowe i dowód, zweryfikować wynik za pomocą naszego klucza publicznego i odtworzyć ten sam wynik.",strategyTip:"Wybierz swoją zmienność. Mniej kopalń oznacza bezpieczniejsze odkrycia i niższe mnożniki na krok. Więcej kopalń prowadzi do bardziej ryzykownych odkryć z wyższymi mnożnikami. Ustaw cel lub użyj stop-loss, aby zarządzać wahaniami. Konsekwentne ustalanie wielkości zakładów i zdyscyplinowane wypłaty pomagają kontrolować wariancję."},strategyTitle:"Strategia",tutorial:"Seminarium"},games:{dice:{rollOver:"Przetoczyć się",rollUnder:"Przetoczyć się pod"},keno:{autoPick:"Automatyczne wybieranie",clearTable:"Jasne",kenoGameGrid:"Siatka gry Keno",kenoNumber:"Numer keno",selectAtLeastOneTile:"Proszę wybrać co najmniej jeden kafelek",selectTileToAutobet:"Proszę wybrać co najmniej jeden kafelek"},limbo:{multiplierError:"Musi mieścić się w przedziale od {min} do {max}",targetMultiplier:"Mnożnik",winChanceError:"Musi mieścić się w przedziale od {min} do {max}"},mines:{cashout:"Wypłata gotówki",gem:"Klejnot",gems:"Klejnoty",mine:"Kopalnia",mines:"Kopalnie",nextGem:"Następny klejnot",selectRandomTile:"Wybierz losowy kafelek",selectTileToAutobet:"Proszę wybrać co najmniej jeden kafelek do automatycznego obstawiania",tile:"Płytka",unrevealed:"Nieujawnione"}},hotkeys:{doubleBet:"Podwójna kwota zakładu",halveBet:"Połowa kwoty zakładu",higherTarget:"Wyższy cel",info:"Po włączeniu skrótów klawiszowych będą one aktywne w tej grze, dopóki nie zostaną wyłączone. Pomimo że niektóre gry mają podobne przypisania klawiszy, zawsze zaleca się potwierdzenie skrótów klawiszowych dla każdej gry.",lowerTarget:"Dolny cel",makeBet:"Postaw zakład",toggleWinCondition:"Przełącz warunek wygranej",zeroBet:"Kwota zakładu zerowa"},modals:{betResult:"Wynik zakładu",fairnessAndHistory:"Sprawiedliwość i historia",gameArea:"Obszar gry",gameControls:"Sterowanie grą",gameInfo:"Informacje o grze"}}});var fo=Ia((mu,qs)=>{qs.exports={accessibility:{sliderValue:"{value} fora de {max}"},alerts:{autobetStarted:"Modo de aposta automática iniciado",autobetStopped:"Modo de aposta automática interrompido",betAmountAboveMaxBet:"A aposta máxima é {value}",betAmountBelowMinBet:"A aposta mínima é {value}",betLimitReached:"Limite de aposta atingido",errorProcessingBet:"Ocorreu um erro ao processar sua aposta. Tente novamente.",failedToLoadBetData:"Falha ao carregar dados de aposta",gameError:"Ocorreu um erro ao processar sua aposta. Tente novamente.",insufficientBalance:"Saldo insuficiente",notEnoughBalance:"Não há equilíbrio suficiente"},autobet:{games:"Jogos",games10:"10 jogos",games100:"100 jogos",games25:"25 jogos",games5:"5 jogos",games50:"50 jogos",increase:"Aumentar",infinite:"Infinito",onLoss:"Em Perda",onWin:"Na vitória",reset:"Reiniciar",startAutobet:"Iniciar aposta automática",stopAutobet:"Pare a aposta automática",stopOnLoss:"Parar na perda",stopOnProfit:"Pare no lucro"},common:{auto:"Auto",back:"Voltar",balance:"Equilíbrio",bet:"Valor da aposta",betAmount:"Valor da aposta",cancel:"Cancelar",cashOut:"Saque",classic:"Clássico",confirm:"Confirmar",copied:"Copiado",disableHotkeys:"Desativar teclas de atalho",disableMaxBet:"Desativar aposta máxima",deposit:"Depósito",enableHotkeys:"Habilitar teclas de atalho",enableMaxBet:"Habilitar aposta máxima",footerNavigation:"Navegação de rodapé",gameInfo:"Informações do jogo",high:"Alto",history:"História",hotkeys:"Teclas de atalho",id:"EU IA",instantBet:"Aposta instantânea",loading:"Carregando...",loadMore:"Carregar mais",lobby:"Voltar ao Lobby",low:"Baixo",manual:"Manual",max:"MÁXIMO",medium:"Médio",multiplier:"Multiplicador",payout:"Pagamento",placeBet:"Fazer aposta",profit:"Lucro",profitOnWin:"Lucro na vitória",provablyFair:"Provavelmente justo",risk:"Risco",siteInformation:"Informações do site",space:"ESPAÇO",targetMultiplier:"Multiplicador",thisFieldIsRequired:"Este campo é obrigatório",timestamp:"Tempo",toggleHotkeys:"Alternar teclas de atalho",viewFairnessInformation:"Ver informações sobre justiça",viewHistory:"Ver histórico",volume:"Volume",winChance:"Chance de ganhar"},errors:{dice:{multiplierRange:"Deve estar entre {min} e {max}",winChanceRange:"Deve estar entre {min} e {max}"}},fairness:{activeClientSeed:"Semente de cliente ativo",enterClientSeed:"Insira a semente do cliente",enterProof:"Insira a prova",enterPublicKey:"Digite a chave pública",enterRandomness:"Digite Aleatoriedade",enterRequest:"Solicitação de entrada",info:{p1:"O resultado de cada rodada provém de uma aleatoriedade verificável, não de uma lógica oculta do servidor. Construímos uma semente determinística a partir de valores exclusivos da sua rodada — gameId, tenantId, tenantUserId, um nonce incremental (um por rodada concluída) e sua clientSeed. Isso garante que cada rodada seja única e reproduzível: mesmas entradas → mesmo fluxo aleatório → mesmo resultado.",p2:"Essa semente é executada por meio de uma Função Aleatória Verificável de Curva Elíptica (ECVRF), de acordo com o rascunho de especificação da IETF - irtf-cfrg-vrf-15. Nosso servidor usa sua chave privada para produzir um valor aleatório e uma prova criptográfica (proofString). Qualquer pessoa com nossa chave pública pode verificar essa prova de forma independente para as entradas fornecidas, confirmando que a aleatoriedade veio da semente e não foi adulterada. O SDK é TypeScript, enquanto a criptografia principal usa a biblioteca Rust fastcrypto via NAPI-RS para desempenho e segurança.",p3:"Uma vez verificada, a saída VRF gera um gerador de bytes aleatórios determinísticos (hashSequence). Os jogos transformam esses bytes em resultados usando lógica determinística e imparcial. Como o processo é determinístico e o nonce avança a cada rodada concluída, você obtém auditorias repetíveis (recria a mesma rodada exatamente) e aleatoriedade nova e não repetitiva a cada vez.",p4:"Após uma rodada, você terá as entradas (incluindo seu clientSeed e o nonce da rodada), a saída VRF, a proofString e nossa chave pública. Use qualquer verificador ECVRF ou nossas bibliotecas para: (1) verificar a prova em relação às entradas e à chave pública e (2) regenerar a mesma hashSequence e o mesmo resultado. Nossa chave privada nunca sai de servidores seguros; a chave pública é segura para uso no lado do cliente para verificações independentes.",step1Desc:"Combinamos gameId, tenantId, tenantUserId, um nonce por rodada e seu clientSeed. As mesmas entradas sempre produzem o mesmo fluxo e resultado aleatórios.",step1Title:"Semente Determinística",step2Title:"Gerar Aleatoriedade",step3Desc:"Qualquer pessoa pode verificar a proofString para as entradas fornecidas usando nossa chave pública. Isso confirma que a aleatoriedade corresponde à semente e não foi adulterada.",step3Title:"Verificar Prova",step4Title:"Derivar resultados",step5Title:"Reprodução"},invalidGame:"Tipo de jogo fornecido inválido.",learnMore:"Saber mais",newClientSeed:"Nova semente de cliente",noBettingHistory:"Nenhum histórico de apostas",outcomeCalculationInfo:"O resultado de cada jogo é calculado usando um valor aleatório como entrada.",outcomeNotVerified:"O resultado deste jogo não pôde ser verificado",outcomeVerified:"O resultado deste jogo foi verificado e é comprovadamente justo",proof:"Prova",publicKey:"Chave Pública",randomness:"Aleatoriedade",request:"Solicitar",saveClientSeed:"Salvar Semente do Cliente",verifyOutcome:"Verificar resultado"},gameInfo:{dice:{how1:"Escolha rolar para baixo ou rolar para cima.",how2:"Defina seu número alvo.",how3:"Defina o valor da sua aposta e faça sua aposta.",how4:"Nós geramos um resultado aleatório (exibido na escala de 0 a 99,99 no jogo).",how5:"Você ganha se o resultado estiver no intervalo escolhido.",how6:"Seu pagamento é a aposta x o multiplicador mostrado, que é atualizado conforme você move o controle deslizante.",overview:"Defina um número-alvo e escolha se o resultado ficará abaixo ou acima dele. Mover o controle deslizante altera sua chance de vitória e seu multiplicador — uma chance maior diminui o multiplicador, uma chance menor o aumenta. Cada rodada é um resultado independente na escala do jogo.",provablyFair:"Nosso sistema de aleatoriedade verificável gera cada lançamento de dados. Após cada rodada, você pode visualizar as entradas e a prova, verificar o resultado com nossa chave pública e reproduzir o mesmo resultado.",strategyTip:"Escolha sua volatilidade. Uma chance de vitória menor gera multiplicadores maiores, mas acertos mais raros. Uma chance de vitória maior gera multiplicadores menores, mas acertos mais frequentes. Ajuste suas apostas ao seu saldo para obter oscilações mais estáveis."},keno:{how1:"Escolha de 1 a 10 peças no tabuleiro de 1 a 40.",how2:"Defina o valor da sua aposta e faça sua aposta.",how3:"Sorteamos 10 números ganhadores; seus acertos são destacados.",how4:"Os pagamentos dependem de quantas peças você selecionou e de quantos acertos obteve — confira a tabela de pagamentos.",how5:"Você nunca poderá acertar mais números do que os selecionados, e a seleção máxima é 10.",overview:"Escolha seus números da sorte e tente acertar o resultado. Você pode escolher de 1 a 10 números de 1 a 40, e então sortearemos 10 números. Quanto mais números você acertar, maior será o seu pagamento.",provablyFair:"Nosso sistema de aleatoriedade verificável gera cada sorteio do Keno. Após cada rodada, você pode visualizar as entradas e a prova, verificar o resultado com nossa chave pública e reproduzir o mesmo resultado.",strategyTip:"Escolha sua volatilidade. Escolher menos posições significa vitórias mais raras, mas multiplicadores muito maiores. Mais posições proporcionam acertos mais frequentes, mas retornos médios por acerto menores. Uma faixa intermediária equilibra a taxa de acerto e o pagamento. Ajuste o tamanho da sua aposta de acordo com sua preferência de risco e seu saldo."},limbo:{how1:"Defina seu multiplicador de meta.",how2:"Defina o valor da sua aposta e faça sua aposta.",how3:"Geramos um multiplicador de resultado aleatório.",how4:"Você ganha se o resultado for maior ou igual à sua meta.",how5:"Seu pagamento é a aposta x seu multiplicador alvo; caso contrário, você perde sua aposta.",overview:"No Limbo, você define o pagamento desejado e o jogo sorteia um único multiplicador de resultado aleatório. Se o resultado for pelo menos o seu alvo, você ganha. Se for menor, você perde. Uma chance maior diminui o multiplicador; uma chance menor o aumenta.",provablyFair:"Nosso sistema de aleatoriedade verificável gera todos os resultados do Limbo. Após cada rodada, você pode visualizar as entradas e a prova, verificar o resultado com nossa chave pública e reproduzir o mesmo resultado.",strategyTip:"Alvos mais baixos vencem com mais frequência, mas pagam menos, enquanto alvos mais altos acertam raramente, mas pagam muito mais. Considere um alvo fixo por sessão ou misture apostas arriscadas ocasionais e dimensione as apostas de forma consistente para gerenciar a variância."},mines:{how1:"Escolha o número de minas para esta rodada.",how2:"Defina o valor da sua aposta e faça sua aposta.",how3:"Clique nas peças para revelá-las: uma peça segura aumenta seu multiplicador; uma mina encerra a rodada.",how4:"Você pode sacar a qualquer momento para garantir seu multiplicador atual.",how5:"Seu pagamento é a aposta x o multiplicador atual quando você saca.",how6:"A rodada termina quando você sacar o dinheiro ou quando uma mina for revelada.",overview:"Minas consiste em escolher peças seguras e decidir quando sacar. Antes do início da rodada, escolha quantas minas ficarão escondidas no tabuleiro. Cada peça segura que você revelar aumenta seu multiplicador. Acerte uma mina e a rodada termina sem pagamento.",provablyFair:"Nosso sistema de aleatoriedade verificável gera o layout da mina oculta de cada tabuleiro. Após cada rodada, você pode visualizar as entradas e a prova, verificar o resultado com nossa chave pública e reproduzir o mesmo resultado.",strategyTip:"Escolha sua volatilidade. Menos minas significam revelações mais seguras e multiplicadores menores por passo. Mais minas levam a revelações mais arriscadas com multiplicadores maiores. Defina uma meta ou use um stop-loss para gerenciar as oscilações. Tamanhos de apostas consistentes e saques disciplinados ajudam a manter a variância sob controle."},strategyTitle:"Estratégia",tutorial:"Tutorial"},games:{dice:{rollOver:"Rolar sobre",rollUnder:"Rolar para baixo"},keno:{autoPick:"Seleção automática",clearTable:"Claro",kenoGameGrid:"Grade do jogo Keno",kenoNumber:"Número Keno",selectAtLeastOneTile:"Selecione pelo menos um bloco",selectTileToAutobet:"Selecione pelo menos um bloco"},limbo:{multiplierError:"Deve estar entre {min} e {max}",targetMultiplier:"Multiplicador",winChanceError:"Deve estar entre {min} e {max}"},mines:{cashout:"Saque",gem:"Jóia",gems:"Gemas",mine:"Meu",mines:"Minas",nextGem:"Próxima Joia",selectRandomTile:"Selecione uma peça aleatória",selectTileToAutobet:"Selecione pelo menos uma peça para apostar automaticamente",tile:"Telha",unrevealed:"Não revelado"}},hotkeys:{doubleBet:"Valor da aposta dupla",halveBet:"Reduzir pela metade o valor da aposta",higherTarget:"Alvo mais alto",info:"Quando as teclas de atalho estão ativadas, elas permanecerão ativas neste jogo até serem desativadas. Embora alguns jogos compartilhem atalhos de teclado semelhantes, é sempre recomendável confirmar as teclas de atalho para cada jogo.",lowerTarget:"Alvo Inferior",makeBet:"Fazer aposta",toggleWinCondition:"Alternar condição de vitória",zeroBet:"Valor da aposta zero"},modals:{betResult:"Resultado da aposta",fairnessAndHistory:"Justiça e História",gameArea:"Área de jogos",gameControls:"Controles do jogo",gameInfo:"Informações do jogo"}}});var wo=Ia((bu,Fs)=>{Fs.exports={accessibility:{sliderValue:"{value} из {max}"},alerts:{autobetStarted:"Запущен режим автоставки",autobetStopped:"Остановлен режим автоставки",betAmountAboveMaxBet:"Максимальная ставка {value}",betAmountBelowMinBet:"Минимальная ставка {value}",betLimitReached:"Лимит ставок достигнут",errorProcessingBet:"При обработке вашей ставки произошла ошибка. Попробуйте ещё раз.",failedToLoadBetData:"Не удалось загрузить данные о ставках",gameError:"При обработке вашей ставки произошла ошибка. Попробуйте ещё раз.",insufficientBalance:"Недостаточный баланс",notEnoughBalance:"Недостаточный баланс"},autobet:{games:"Игры",games10:"10 игр",games100:"100 игр",games25:"25 игр",games5:"5 игр",games50:"50 игр",increase:"Увеличивать",infinite:"Бесконечный",onLoss:"При убытке",onWin:"На Победе",reset:"Перезагрузить",startAutobet:"Начать автоставку",stopAutobet:"Остановить автоставку",stopOnLoss:"Stop on Loss",stopOnProfit:"Stop On Profit"},common:{auto:"Авто",back:"Назад",balance:"Баланс",bet:"Сумма ставки",betAmount:"Сумма ставки",cancel:"Отмена",cashOut:"Выплата наличных",classic:"Классический",confirm:"Подтверждать",copied:"Скопировано",disableHotkeys:"Отключить горячие клавиши",disableMaxBet:"Отключить максимальную ставку",deposit:"Депозит",enableHotkeys:"Включить горячие клавиши",enableMaxBet:"Включить максимальную ставку",footerNavigation:"Навигация по нижнему колонтитулу",gameInfo:"Информация об игре",high:"Высокий",history:"История",hotkeys:"Горячие клавиши",id:"ИДЕНТИФИКАТОР",instantBet:"Мгновенная ставка",loading:"Загрузка...",loadMore:"Загрузить больше",lobby:"Вернуться в вестибюль",low:"Низкий",manual:"Руководство",max:"МАКС",medium:"Середина",multiplier:"Множитель",payout:"Выплата",placeBet:"Сделать ставку",profit:"Выгода",profitOnWin:"Прибыль от победы",provablyFair:"Доказуемо справедливо",risk:"Риск",siteInformation:"Информация о сайте",space:"КОСМОС",targetMultiplier:"Множитель",thisFieldIsRequired:"Это поле обязательно к заполнению",timestamp:"Время",toggleHotkeys:"Переключить горячие клавиши",viewFairnessInformation:"Просмотреть информацию о справедливости",viewHistory:"Просмотреть историю",volume:"Объем",winChance:"Шанс выиграть"},errors:{dice:{multiplierRange:"Должно быть от {min} до {max}",winChanceRange:"Должно быть от {min} до {max}"}},fairness:{activeClientSeed:"Активный клиентский посев",enterClientSeed:"Введите клиентское семя",enterProof:"Введите доказательство",enterPublicKey:"Введите открытый ключ",enterRandomness:"Введите случайность",enterRequest:"Введите запрос",info:{p1:"Результат каждого раунда определяется проверяемой случайностью, а не скрытой серверной логикой. Мы создаём детерминированное начальное число из значений, уникальных для каждого раунда: gameId, tenantId, tenantUserId, увеличивающегося одноразового числа (по одному за каждый завершенный раунд) и вашего clientSeed. Это гарантирует уникальность и воспроизводимость каждого раунда: одни и те же входные данные → один и тот же случайный поток → один и тот же результат.",p2:"Эта начальная фраза пропускается через эллиптически проверяемую случайную функцию (ECVRF) в соответствии со спецификацией IETF draft-irtf-cfrg-vrf-15. Наш сервер использует свой закрытый ключ для генерации случайного значения и криптографического доказательства (proofString). Любой, у кого есть наш открытый ключ, может самостоятельно проверить это доказательство для заданных входных данных, подтверждая, что случайность получена из начальной фразы и не была подделана. SDK написан на TypeScript, а ядро криптографии использует библиотеку fastcrypto Rust через NAPI-RS для обеспечения производительности и безопасности.",p3:"После проверки выходные данные VRF задаются детерминированным генератором случайных байтов (hashSequence). Игры преобразуют эти байты в результаты, используя детерминированную, непредвзятую логику. Поскольку процесс детерминирован, а одноразовое число увеличивается с каждым завершенным раундом, вы получаете как воспроизводимые аудиты (точное воссоздание того же раунда), так и свежую, неповторяющуюся случайность.",p4:"После раунда вы получаете входные данные (включая clientSeed и одноразовый код раунда), выходные данные VRF, proofString и наш открытый ключ. Используйте любой верификатор ECVRF или наши библиотеки, чтобы: (1) проверить доказательство на соответствие входным данным и открытому ключу и (2) повторно сгенерировать тот же hashSequence и результат. Наш закрытый ключ никогда не покидает защищённые серверы; открытый ключ можно безопасно использовать на стороне клиента для независимых проверок.",step1Desc:"Мы объединяем gameId, tenantId, tenantUserId, одноразовый код для каждого раунда и ваше значение clientSeed. Одинаковые входные данные всегда дают один и тот же случайный поток и результат.",step1Title:"Детерминированное семя",step2Title:"Генерировать случайность",step3Desc:"Любой желающий может проверить proofString для заданных входных данных, используя наш открытый ключ. Это подтверждает, что случайность соответствует начальному значению и не была изменена.",step3Title:"Проверить доказательство",step4Title:"Вывести результаты",step5Title:"Репродукция"},invalidGame:"Указан неверный тип игры.",learnMore:"Узнать больше",newClientSeed:"Новый клиентский посев",noBettingHistory:"Нет истории ставок",outcomeCalculationInfo:"Результат каждой игры рассчитывается с использованием случайного значения в качестве входных данных.",outcomeNotVerified:"Результат этой игры не удалось проверить.",outcomeVerified:"Результат этой игры проверен и доказуемо честен.",proof:"Доказательство",publicKey:"Открытый ключ",randomness:"Случайность",request:"Запрос",saveClientSeed:"Сохранить клиентское семя",verifyOutcome:"Проверить результат"},gameInfo:{dice:{how1:"Выберите «перевернуть» или «подвернуть».",how2:"Установите целевое число.",how3:"Установите сумму ставки и сделайте ставку.",how4:"Мы генерируем один случайный результат (отображается в игре по шкале от 0 до 99,99).",how5:"Вы выигрываете, если результат попадает в выбранный вами диапазон.",how6:"Ваша выплата составляет ставку, умноженную на указанный множитель, который обновляется по мере перемещения ползунка.",overview:"Задайте целевое число и выберите, будет ли результат броска ниже или выше него. Перемещение ползунка изменяет ваш шанс на победу и множитель: чем выше шанс, тем меньше множитель, а чем ниже — тем больше. Каждый раунд — это один независимый бросок на шкале игры.",provablyFair:"Наша проверяемая система случайности генерирует каждый бросок кубика. После каждого раунда вы можете просмотреть входные данные и доказательство, проверить результат с помощью нашего открытого ключа и воспроизвести тот же результат.",strategyTip:"Выберите свою волатильность. Чем ниже шанс выигрыша, тем больше множители, но реже выпадают выигрыши. Чем выше шанс выигрыша, тем меньше множители, но чаще выпадают выигрыши. Размер ставок должен соответствовать вашему банкроллу для более стабильной динамики."},keno:{how1:"Выберите плитки от 1 до 10 на доске от 1 до 40.",how2:"Установите сумму ставки и сделайте ставку.",how3:"Мы разыгрываем 10 выигрышных номеров; ваши совпадения выделены цветом.",how4:"Выплаты зависят от того, сколько плиток вы выбрали и сколько раз вы их выпали — сверьтесь с таблицей выплат.",how5:"Вы никогда не сможете выбрать больше чисел, чем выбрали, а максимальный выбор — 10.",overview:"Выберите свои счастливые номера и постарайтесь угадать их. Вы можете выбрать от 1 до 10 номеров в диапазоне от 1 до 40, и мы разыграем 10 номеров. Чем больше совпадёт выбранных вами номеров, тем выше ваш выигрыш.",provablyFair:"Наша проверяемая система случайности генерирует каждый розыгрыш кено. После каждого раунда вы можете просмотреть входные данные и доказательство, проверить результат с помощью нашего открытого ключа и воспроизвести тот же результат.",strategyTip:"Выберите свою волатильность. Выбор меньшего количества точек означает более редкие выигрыши, но гораздо большие множители. Большее количество точек обеспечивает более частые совпадения, но меньший средний доход за одно совпадение. Средний диапазон обеспечивает баланс между вероятностью совпадений и выплатой. Отрегулируйте размер ставки в соответствии с вашими предпочтениями в отношении риска и банкроллом."},limbo:{how1:"Установите целевой множитель.",how2:"Установите сумму ставки и сделайте ставку.",how3:"Мы генерируем один случайный множитель результата.",how4:"Вы выигрываете, если результат больше или равен вашей цели.",how5:"Ваша выплата составляет ставку, умноженную на целевой множитель. В противном случае вы проигрываете ставку.",overview:"В Limbo вы устанавливаете желаемую выплату, и игра выбирает один случайный множитель исхода. Если результат не меньше вашего целевого значения, вы выигрываете. Если меньше — проигрываете. Более высокий шанс уменьшает множитель, более низкий — увеличивает.",provablyFair:"Наша проверяемая система случайности генерирует каждый результат Limbo. После каждого раунда вы можете просмотреть входные данные и доказательство, проверить результат с помощью нашего открытого ключа и воспроизвести тот же результат.",strategyTip:"Более низкие цели выигрывают чаще, но приносят меньше, в то время как более высокие цели попадают реже, но приносят гораздо больше. Рассмотрите фиксированную цель на сессию или добавьте редкие дальние броски, а также устанавливайте размер ставок последовательно, чтобы контролировать дисперсию."},mines:{how1:"Выберите количество мин для этого раунда.",how2:"Установите сумму ставки и сделайте ставку.",how3:"Нажимайте на плитки, чтобы открыть их: безопасная плитка увеличивает ваш множитель; мина заканчивает раунд.",how4:"Вы можете вывести средства в любое время, чтобы зафиксировать свой текущий множитель.",how5:"При выводе средств ваша выплата составляет ставку, умноженную на текущий множитель.",how6:"Раунд заканчивается, когда вы обналичиваете деньги или когда обнаруживается мина.",overview:"В игре «Мины» нужно выбирать безопасные плитки и решать, когда выставлять деньги. Перед началом раунда выберите, сколько мин будет спрятано на игровом поле. Каждая открытая безопасная плитка увеличивает ваш множитель. Если вы наткнётесь на мину, раунд закончится без выплаты.",provablyFair:"Наша проверяемая система случайности генерирует схему скрытых шахт для каждой доски. После каждого раунда вы можете просмотреть входные данные и доказательство, проверить результат с помощью нашего открытого ключа и воспроизвести тот же результат.",strategyTip:"Выбирайте свою волатильность. Меньше мин означает более безопасные открытия и меньшие множители за шаг. Больше мин приводит к более рискованным открытиям с большими множителями. Установите цель или используйте стоп-лосс для управления колебаниями. Постоянный размер ставок и дисциплинированные выводы средств помогают контролировать дисперсию."},strategyTitle:"Стратегия",tutorial:"Учебное пособие"},games:{dice:{rollOver:"Перекатывать",rollUnder:"Подкатиться"},keno:{autoPick:"Автоматический выбор",clearTable:"Прозрачный",kenoGameGrid:"Сетка игры Кено",kenoNumber:"Номер Кено",selectAtLeastOneTile:"Пожалуйста, выберите хотя бы одну плитку",selectTileToAutobet:"Пожалуйста, выберите хотя бы одну плитку"},limbo:{multiplierError:"Должно быть от {min} до {max}",targetMultiplier:"Множитель",winChanceError:"Должно быть от {min} до {max}"},mines:{cashout:"Выплата наличных",gem:"Драгоценный камень",gems:"Драгоценные камни",mine:"Мой",mines:"Шахты",nextGem:"Следующий драгоценный камень",selectRandomTile:"Выбрать случайную плитку",selectTileToAutobet:"Пожалуйста, выберите хотя бы одну плитку для автоматической ставки.",tile:"Плитка",unrevealed:"Нераскрыто"}},hotkeys:{doubleBet:"Удвоить сумму ставки",halveBet:"Уменьшить сумму ставки вдвое",higherTarget:"Более высокая цель",info:"Если горячие клавиши включены, они будут активны в этой игре до тех пор, пока не будут отключены. Несмотря на то, что в некоторых играх используются похожие сочетания клавиш, всегда рекомендуется подтверждать горячие клавиши для каждой игры.",lowerTarget:"Нижняя цель",makeBet:"Сделать ставку",toggleWinCondition:"Переключить условие выигрыша",zeroBet:"Сумма нулевой ставки"},modals:{betResult:"Результат ставки",fairnessAndHistory:"Справедливость и история",gameArea:"Игровая зона",gameControls:"Управление игрой",gameInfo:"Информация об игре"}}});var yo=Ia((ku,Ks)=>{Ks.exports={accessibility:{sliderValue:"{value} / {max}"},alerts:{autobetStarted:"Otomatik bahis modu başlatıldı",autobetStopped:"Otomatik bahis modu durduruldu",betAmountAboveMaxBet:"Maksimum bahis {value}",betAmountBelowMinBet:"Minimum bahis {value}",betLimitReached:"Bahis limitine ulaşıldı",errorProcessingBet:"Bahsiniz işlenirken bir hata oluştu. Lütfen tekrar deneyin.",failedToLoadBetData:"Bahis verileri yüklenemedi",gameError:"Bahsiniz işlenirken bir hata oluştu. Lütfen tekrar deneyin.",insufficientBalance:"Yetersiz bakiye",notEnoughBalance:"Yeterli denge yok"},autobet:{games:"Oyunlar",games10:"10 oyun",games100:"100 oyun",games25:"25 oyun",games5:"5 oyun",games50:"50 oyun",increase:"Arttırmak",infinite:"Sonsuz",onLoss:"Kayıp Üzerine",onWin:"Kazanmak Üzerine",reset:"Sıfırla",startAutobet:"Otomatik Bahis Başlat",stopAutobet:"Otomatik Bahsi Durdur",stopOnLoss:"Zararda Dur",stopOnProfit:"Kârda Dur"},common:{auto:"Otomatik",back:"Geri",balance:"Denge",bet:"Bahis Miktarı",betAmount:"Bahis Miktarı",cancel:"İptal etmek",cashOut:"Nakit Çekme",classic:"Klasik",confirm:"Onaylamak",copied:"Kopyalandı",disableHotkeys:"Kısayolları Devre Dışı Bırak",disableMaxBet:"Maksimum Bahsi Devre Dışı Bırak",deposit:"Mevduat",enableHotkeys:"Kısayolları Etkinleştir",enableMaxBet:"Maksimum Bahsi Etkinleştir",footerNavigation:"Alt bilgi gezintisi",gameInfo:"Oyun Bilgileri",high:"Yüksek",history:"Tarih",hotkeys:"Kısayollar",id:"İD",instantBet:"Anında Bahis",loading:"Yükleniyor...",loadMore:"Daha Fazlasını Yükle",lobby:"Lobiye Geri Dön",low:"Düşük",manual:"Manuel",max:"MAKSİMUM",medium:"Orta",multiplier:"Çarpan",payout:"Ödeme",placeBet:"Bahis",profit:"Kâr",profitOnWin:"Kazanç Üzerine Kar",provablyFair:"Kanıtlanabilir Adil",risk:"Risk",siteInformation:"Site bilgileri",space:"UZAY",targetMultiplier:"Çarpan",thisFieldIsRequired:"Bu alan gereklidir",timestamp:"Zaman",toggleHotkeys:"Kısayolları Değiştir",viewFairnessInformation:"Adalet bilgilerini görüntüle",viewHistory:"Geçmişi Görüntüle",volume:"Hacim",winChance:"Kazanma Şansı"},errors:{dice:{multiplierRange:"{min} ile {max} arasında olmalıdır",winChanceRange:"{min} ile {max} arasında olmalıdır"}},fairness:{activeClientSeed:"Aktif İstemci Tohumu",enterClientSeed:"İstemci Tohumunu Girin",enterProof:"Kanıtı Girin",enterPublicKey:"Genel Anahtarı Girin",enterRandomness:"Rastgeleliğe Girin",enterRequest:"İstek Girin",info:{p1:"Her turun sonucu gizli sunucu mantığından değil, doğrulanabilir rastgelelikten gelir. Turunuza özgü değerlerden (gameId, tenantId, tenantUserId, artan bir nonce (tamamlanan tur başına bir tane) ve clientSeed'inizden) deterministik bir başlangıç noktası oluşturuyoruz. Bu, her turun benzersiz ve tekrarlanabilir olmasını garanti eder: aynı girdiler → aynı rastgele akış → aynı sonuç.",p2:"Bu tohum, IETF draft-irtf-cfrg-vrf-15 spesifikasyonuna uygun olarak Eliptik Eğri Doğrulanabilir Rastgele Fonksiyon (ECVRF) üzerinden çalıştırılır. Sunucumuz, rastgele bir değer ve kriptografik bir kanıt (proofString) üretmek için özel anahtarını kullanır. Genel anahtarımıza sahip olan herkes, verilen girdiler için bu kanıtı bağımsız olarak doğrulayabilir ve rastgeleliğin tohumdan geldiğini ve değiştirilmediğini doğrulayabilir. SDK TypeScript iken, çekirdek kripto, performans ve güvenlik için NAPI-RS aracılığıyla fastcrypto Rust kütüphanesini kullanır.",p3:"Doğrulandıktan sonra, VRF çıktısı kesin bir rastgele bayt üreteci (hashSequence) üretir. Oyunlar, kesin ve tarafsız bir mantık kullanarak bu baytları sonuçlara dönüştürür. Süreç kesin olduğundan ve rastgele sayı her tamamlanan turda ilerlediğinden, hem tekrar oynanabilir denetimler (aynı turu birebir yeniden oluşturma) hem de her seferinde yeni, tekrarlanmayan bir rastgelelik elde edersiniz.",p4:"Bir turdan sonra, girdileriniz (clientSeed ve turun rastgele değeri dahil), VRF çıktınız, proofString'iniz ve genel anahtarımız elinizde olur. Herhangi bir ECVRF doğrulayıcısını veya kütüphanelerimizi kullanarak şunları yapabilirsiniz: (1) kanıtı girdilere ve genel anahtara göre doğrulayın ve (2) aynı hashSequence'ı ve sonucu yeniden oluşturun. Özel anahtarımız asla güvenli sunuculardan çıkmaz; genel anahtar, bağımsız kontroller için istemci tarafında güvenle kullanılabilir.",step1Desc:"gameId, tenantId, tenantUserId, tur başına bir nonce ve clientSeed'inizi birleştiriyoruz. Aynı girdiler her zaman aynı rastgele akışı ve sonucu üretir.",step1Title:"Deterministik Tohum",step2Title:"Rastgelelik Oluştur",step3Desc:"Verilen girdiler için proofString'i herkes açık anahtarımızı kullanarak doğrulayabilir. Bu, rastgeleliğin seed ile eşleştiğini ve değiştirilmediğini doğrular.",step3Title:"Kanıtı Doğrula",step4Title:"Sonuçları Türet",step5Title:"Üreme"},invalidGame:"Geçersiz oyun türü sağlandı.",learnMore:"Daha fazla bilgi edin",newClientSeed:"Yeni Müşteri Tohumu",noBettingHistory:"Bahis geçmişi yok",outcomeCalculationInfo:"Her oyunun sonucu, girdi olarak rastgele bir değer kullanılarak hesaplanır.",outcomeNotVerified:"Bu oyunun sonucu doğrulanamadı",outcomeVerified:"Bu oyunun sonucu doğrulandı ve kanıtlanabilir şekilde adildir",proof:"Kanıt",publicKey:"Genel Anahtar",randomness:"Rastgelelik",request:"Rica etmek",saveClientSeed:"İstemci Tohumunu Kaydet",verifyOutcome:"Sonucu Doğrula"},gameInfo:{dice:{how1:"Alttan veya üstten yuvarlanmayı seçin.",how2:"Hedef sayınızı belirleyin.",how3:"Bahis tutarınızı belirleyin ve bahsinizi yapın.",how4:"Oyunda 0-99,99 ölçeğinde gösterilen rastgele bir sonuç üretiyoruz.",how5:"Sonuç seçtiğiniz aralıkta olursa kazanırsınız.",how6:"Ödemeniz, kaydırıcıyı hareket ettirdikçe güncellenen gösterilen çarpanın x'i kadar bahistir.",overview:"Bir hedef sayı belirleyin ve zarın bu sayının altında mı yoksa üstünde mi geleceğini seçin. Kaydırıcıyı hareket ettirmek kazanma şansınızı ve çarpanınızı değiştirir; daha yüksek bir şans çarpanı düşürür, daha düşük bir şans ise artırır. Her tur, oyun ölçeğinde bağımsız bir zar atışından oluşur.",provablyFair:"Doğrulanabilir rastgelelik sistemimiz her Zar atışında sonuç üretir. Her turdan sonra girdileri ve kanıtları görüntüleyebilir, sonucu açık anahtarımızla doğrulayabilir ve aynı sonucu yeniden üretebilirsiniz.",strategyTip:"Volatilitenizi seçin. Daha düşük kazanma şansı, daha büyük çarpanlar ancak daha nadir kazançlar sağlar. Daha yüksek kazanma şansı, daha küçük çarpanlar ancak daha sık kazançlar sağlar. Daha istikrarlı dalgalanmalar için bahislerinizi bütçenize göre ayarlayın."},keno:{how1:"1-40 tahtasından 1-10 arası taş seçin.",how2:"Bahis tutarınızı belirleyin ve bahsinizi yapın.",how3:"10 kazanan numara çekilişle belirleniyor; eşleşmeleriniz vurgulanıyor.",how4:"Ödemeler seçtiğiniz taş sayısına ve aldığınız isabet sayısına göre değişir; ödeme tablosunu kontrol edin.",how5:"Seçtiğinizden daha fazla sayıya asla ulaşamazsınız ve maksimum seçim 10'dur.",overview:"Şanslı numaralarınızı seçin ve çekilişe katılmaya çalışın. 1-40 arasından 1-10 numara seçebilirsiniz, ardından 10 numara çekeriz. Ne kadar çok tahmininiz tutarsa, kazancınız o kadar yüksek olur.",provablyFair:"Doğrulanabilir rastgelelik sistemimiz her Keno çekilişini oluşturur. Her turdan sonra girdileri ve kanıtları görüntüleyebilir, sonucu genel anahtarımızla doğrulayabilir ve aynı sonucu yeniden üretebilirsiniz.",strategyTip:"Volatilitenizi seçin. Daha az nokta seçmek, daha nadir kazançlar ancak çok daha büyük çarpanlar anlamına gelir. Daha fazla nokta, daha sık isabet sağlar ancak isabet başına daha düşük ortalama getiri sağlar. Orta seviye, isabet oranı ve ödeme arasında denge sağlar. Bahis miktarınızı risk tercihinize ve bütçenize göre ayarlayın."},limbo:{how1:"Hedef çarpanınızı belirleyin.",how2:"Bahis tutarınızı belirleyin ve bahsinizi yapın.",how3:"Bir adet rastgele sonuç çarpanı üretiyoruz.",how4:"Sonuç hedefinize eşit veya büyükse kazanırsınız.",how5:"Ödemeniz, bahis miktarınızın hedef çarpanınızla çarpımı kadardır; aksi takdirde bahsinizi kaybedersiniz.",overview:"Limbo'da istediğiniz ödemeyi belirlersiniz ve oyun tek bir rastgele sonuç çarpanı çeker. Sonuç en az hedeflediğiniz değerdeyse kazanırsınız. Daha düşükse kaybedersiniz. Daha yüksek bir olasılık çarpanı düşürür; daha düşük bir olasılık ise artırır.",provablyFair:"Doğrulanabilir rastgelelik sistemimiz her Limbo sonucunu üretir. Her turdan sonra girdileri ve kanıtları görüntüleyebilir, sonucu açık anahtarımızla doğrulayabilir ve aynı sonucu yeniden üretebilirsiniz.",strategyTip:"Daha düşük hedefler daha sık kazanır ancak daha az ödeme yapar; daha yüksek hedefler ise nadiren isabet sağlar ancak çok daha fazla ödeme yapar. Varyansı yönetmek için seans başına sabit bir hedef belirleyin veya ara sıra uzun vadeli vuruşlar ve tutarlı bahisler ekleyin."},mines:{how1:"Bu tur için mayın sayısını seçin.",how2:"Bahis tutarınızı belirleyin ve bahsinizi yapın.",how3:"Kutucukları ortaya çıkarmak için kutucuklara tıklayın: Güvenli bir kutucuk çarpanınızı artırır; bir mayın ise turu sonlandırır.",how4:"Mevcut çarpanınızı sabitlemek için istediğiniz zaman nakde çevirebilirsiniz.",how5:"Nakit çektiğinizde kazancınız bahis tutarının mevcut çarpanla çarpımı kadardır.",how6:"Tur, parayı çektiğinizde veya bir mayın ortaya çıktığında sona erer.",overview:"Mayınlar, güvenli taşları seçmek ve ne zaman para çekeceğinize karar vermekle ilgilidir. Tur başlamadan önce, tahtada kaç tane mayın gizleneceğini seçin. Ortaya çıkardığınız her güvenli taş, çarpanınızı artırır. Bir mayına çarparsanız, tur ödeme yapılmadan sona erer.",provablyFair:"Doğrulanabilir rastgelelik sistemimiz, her tahtanın gizli maden düzenini oluşturur. Her turdan sonra girdileri ve kanıtları görüntüleyebilir, sonucu genel anahtarımızla doğrulayabilir ve aynı sonucu yeniden üretebilirsiniz.",strategyTip:"Volatilitenizi seçin. Daha az maden, daha güvenli pozisyonlar ve adım başına daha küçük çarpanlar anlamına gelir. Daha fazla maden, daha büyük çarpanlarla daha riskli pozisyonlara yol açar. Bir hedef belirleyin veya dalgalanmaları yönetmek için bir stop-loss kullanın. Tutarlı bahis büyüklüğü ve disiplinli nakit çıkışları, varyansı kontrol altında tutmaya yardımcı olur."},strategyTitle:"Strateji",tutorial:"Eğitim"},games:{dice:{rollOver:"Yuvarlanmak",rollUnder:"Altına Yuvarlan"},keno:{autoPick:"Otomatik Seçim",clearTable:"Temizlemek",kenoGameGrid:"Keno Oyun Izgarası",kenoNumber:"Keno numarası",selectAtLeastOneTile:"Lütfen en az bir kutucuk seçin",selectTileToAutobet:"Lütfen en az bir kutucuk seçin"},limbo:{multiplierError:"{min} ile {max} arasında olmalıdır",targetMultiplier:"Çarpan",winChanceError:"{min} ile {max} arasında olmalıdır"},mines:{cashout:"Nakit Çekme",gem:"Mücevher",gems:"Mücevherler",mine:"Bana ait",mines:"Madenler",nextGem:"Sonraki Mücevher",selectRandomTile:"Rastgele Döşeme Seç",selectTileToAutobet:"Lütfen otomatik bahis yapmak için en az bir karo seçin",tile:"Fayans",unrevealed:"Açıklanmamış"}},hotkeys:{doubleBet:"Çift Bahis Miktarı",halveBet:"Bahis Miktarını Yarıya İndir",higherTarget:"Daha Yüksek Hedef",info:"Kısayol tuşları etkinleştirildiğinde, devre dışı bırakılana kadar bu oyun için etkin kalırlar. Bazı oyunlar benzer tuş atamalarını paylaşsa da, her oyun için kısayol tuşlarını onaylamanız her zaman önerilir.",lowerTarget:"Daha Düşük Hedef",makeBet:"Bahis",toggleWinCondition:"Kazanma Koşulunu Değiştir",zeroBet:"Sıfır Bahis Miktarı"},modals:{betResult:"Bahis Sonucu",fairnessAndHistory:"Adalet ve Tarih",gameArea:"Oyun Alanı",gameControls:"Oyun Kontrolleri",gameInfo:"Oyun Bilgileri"}}});var zo=Ia((vu,Rs)=>{Rs.exports={accessibility:{sliderValue:"{value} trong số {max}"},alerts:{autobetStarted:"Đã bắt đầu chế độ đặt cược tự động",autobetStopped:"Đã dừng chế độ đặt cược tự động",betAmountAboveMaxBet:"Mức cược tối đa là {value}",betAmountBelowMinBet:"Mức cược tối thiểu là {value}",betLimitReached:"Đã đạt đến giới hạn đặt cược",errorProcessingBet:"Đã xảy ra lỗi khi xử lý cược của bạn. Vui lòng thử lại.",failedToLoadBetData:"Không tải được dữ liệu cược",gameError:"Đã xảy ra lỗi khi xử lý cược của bạn. Vui lòng thử lại.",insufficientBalance:"Số dư không đủ",notEnoughBalance:"Không đủ cân bằng"},autobet:{games:"Trò chơi",games10:"10 trò chơi",games100:"100 trò chơi",games25:"25 trò chơi",games5:"5 trò chơi",games50:"50 trò chơi",increase:"Tăng",infinite:"Vô hạn",onLoss:"Về sự mất mát",onWin:"Trên chiến thắng",reset:"Cài lại",startAutobet:"Bắt đầu Autobet",stopAutobet:"Dừng Autobet",stopOnLoss:"Dừng lại khi mất mát",stopOnProfit:"Dừng lại ở lợi nhuận"},common:{auto:"Tự động",back:"Mặt sau",balance:"Sự cân bằng",bet:"Số tiền đặt cược",betAmount:"Số tiền đặt cược",cancel:"Hủy bỏ",cashOut:"Rút tiền",classic:"Cổ điển",confirm:"Xác nhận",copied:"Đã sao chép",disableHotkeys:"Vô hiệu hóa phím nóng",disableMaxBet:"Vô hiệu hóa cược tối đa",deposit:"Đặt cọc",enableHotkeys:"Bật phím nóng",enableMaxBet:"Kích hoạt cược tối đa",footerNavigation:"Điều hướng chân trang",gameInfo:"Thông tin trò chơi",high:"Cao",history:"Lịch sử",hotkeys:"Phím nóng",id:"NHẬN DẠNG",instantBet:"Cược tức thì",loading:"Đang tải...",loadMore:"Tải thêm",lobby:"Quay lại Sảnh",low:"Thấp",manual:"Thủ công",max:"TỐI ĐA",medium:"Trung bình",multiplier:"Hệ số nhân",payout:"Thanh toán",placeBet:"Đặt cược",profit:"Lợi nhuận",profitOnWin:"Lợi nhuận khi thắng",provablyFair:"Có thể chứng minh là công bằng",risk:"Rủi ro",siteInformation:"Thông tin trang web",space:"KHÔNG GIAN",targetMultiplier:"Hệ số nhân",thisFieldIsRequired:"Trường này là bắt buộc",timestamp:"Thời gian",toggleHotkeys:"Chuyển đổi phím nóng",viewFairnessInformation:"Xem thông tin công bằng",viewHistory:"Xem Lịch sử",volume:"Âm lượng",winChance:"Cơ hội chiến thắng"},errors:{dice:{multiplierRange:"Phải nằm trong khoảng từ {min} đến {max}",winChanceRange:"Phải nằm trong khoảng từ {min} đến {max}"}},fairness:{activeClientSeed:"Hạt giống khách hàng đang hoạt động",enterClientSeed:"Nhập hạt giống khách hàng",enterProof:"Nhập bằng chứng",enterPublicKey:"Nhập khóa công khai",enterRandomness:"Nhập ngẫu nhiên",enterRequest:"Nhập yêu cầu",info:{p1:"Kết quả của mỗi vòng đều đến từ tính ngẫu nhiên có thể kiểm chứng, chứ không phải logic máy chủ ẩn. Chúng tôi xây dựng một hạt giống xác định từ các giá trị duy nhất cho vòng của bạn—gameId, tenantId, tenantUserId, một nonce tăng dần (một cho mỗi vòng hoàn thành), cộng với clientSeed của bạn. Điều này đảm bảo mỗi vòng là duy nhất và có thể tái tạo: cùng một đầu vào → cùng một luồng ngẫu nhiên → cùng một kết quả.",p2:"Hạt giống đó được chạy qua Hàm Ngẫu nhiên Có thể Xác minh Đường cong Elliptic (ECVRF) theo bản thảo đặc tả IETF draft-irtf-cfrg-vrf-15. Máy chủ của chúng tôi sử dụng khóa riêng để tạo ra một giá trị ngẫu nhiên và một bằng chứng mật mã (proofString). Bất kỳ ai có khóa công khai của chúng tôi đều có thể tự mình xác minh bằng chứng đó cho các đầu vào đã cho—xác nhận tính ngẫu nhiên đến từ hạt giống và không bị can thiệp. SDK là TypeScript, trong khi mã hóa cốt lõi sử dụng thư viện fastcrypto Rust thông qua NAPI-RS để đảm bảo hiệu suất và an toàn.",p3:"Sau khi được xác minh, đầu ra VRF sẽ gieo một bộ tạo byte ngẫu nhiên xác định (hashSequence). Các trò chơi sẽ biến đổi các byte đó thành kết quả bằng logic xác định, không thiên vị. Vì quá trình này mang tính xác định và nonce tăng dần sau mỗi vòng chơi hoàn thành, bạn sẽ có được cả các lần kiểm tra có thể chơi lại (tái tạo chính xác cùng một vòng chơi) và tính ngẫu nhiên mới, không lặp lại mỗi lần.",p4:"Sau một vòng, bạn sẽ có các dữ liệu đầu vào (bao gồm clientSeed của bạn và nonce của vòng), đầu ra VRF, proofString và khóa công khai của chúng tôi. Sử dụng bất kỳ trình xác minh ECVRF nào hoặc thư viện của chúng tôi để: (1) xác minh bằng chứng với các dữ liệu đầu vào và khóa công khai, và (2) tạo lại cùng một hashSequence và kết quả. Khóa riêng của chúng tôi không bao giờ rời khỏi các máy chủ an toàn; khóa công khai an toàn để sử dụng ở phía máy khách cho các kiểm tra độc lập.",step1Desc:"Chúng tôi kết hợp gameId, tenantId, tenantUserId, nonce mỗi vòng và clientSeed của bạn. Cùng một đầu vào luôn tạo ra cùng một luồng ngẫu nhiên và kết quả.",step1Title:"Hạt giống xác định",step2Title:"Tạo ra sự ngẫu nhiên",step3Desc:"Bất kỳ ai cũng có thể xác minh proofString cho các đầu vào đã cho bằng khóa công khai của chúng tôi. Điều này xác nhận tính ngẫu nhiên khớp với giá trị khởi tạo và không bị can thiệp.",step3Title:"Xác minh bằng chứng",step4Title:"Đưa ra kết quả",step5Title:"Sinh sản"},invalidGame:"Loại trò chơi được cung cấp không hợp lệ.",learnMore:"Tìm hiểu thêm",newClientSeed:"Hạt giống khách hàng mới",noBettingHistory:"Không có lịch sử cá cược",outcomeCalculationInfo:"Kết quả của mỗi trò chơi được tính toán bằng cách sử dụng giá trị ngẫu nhiên làm đầu vào.",outcomeNotVerified:"Kết quả của trò chơi này không thể được xác minh",outcomeVerified:"Kết quả của trò chơi này đã được xác minh và có thể chứng minh là công bằng",proof:"Bằng chứng",publicKey:"Khóa công khai",randomness:"Tính ngẫu nhiên",request:"Lời yêu cầu",saveClientSeed:"Lưu hạt giống khách hàng",verifyOutcome:"Xác minh kết quả"},gameInfo:{dice:{how1:"Chọn lăn xuống hoặc lăn qua.",how2:"Đặt số mục tiêu của bạn.",how3:"Đặt số tiền cược và tiến hành đặt cược.",how4:"Chúng tôi tạo ra một kết quả ngẫu nhiên (hiển thị theo thang điểm 0–99,99 trong trò chơi).",how5:"Bạn thắng nếu kết quả nằm trong phạm vi bạn chọn.",how6:"Tiền thanh toán của bạn là cược x hệ số hiển thị, hệ số này sẽ cập nhật khi bạn di chuyển thanh trượt.",overview:"Đặt một số mục tiêu và chọn xem kết quả sẽ rơi xuống dưới hay trên số đó. Di chuyển thanh trượt sẽ thay đổi cơ hội chiến thắng và hệ số nhân của bạn—cơ hội cao hơn sẽ giảm hệ số nhân, cơ hội thấp hơn sẽ tăng hệ số nhân. Mỗi vòng là một lần tung xúc xắc độc lập trên thang điểm của trò chơi.",provablyFair:"Hệ thống ngẫu nhiên có thể kiểm chứng của chúng tôi tạo ra mỗi lần tung Xúc xắc. Sau mỗi vòng, bạn có thể xem dữ liệu đầu vào và bằng chứng, xác minh kết quả bằng khóa công khai của chúng tôi và tái tạo kết quả tương tự.",strategyTip:"Chọn mức độ biến động của bạn. Cơ hội thắng thấp mang lại hệ số nhân lớn hơn nhưng ít trúng hơn. Cơ hội thắng cao mang lại hệ số nhân nhỏ hơn nhưng thắng thường xuyên hơn. Điều chỉnh mức cược phù hợp với ngân sách của bạn để có những biến động ổn định hơn."},keno:{how1:"Chọn 1–10 ô trên bảng 1–40.",how2:"Đặt số tiền cược và tiến hành đặt cược.",how3:"Chúng tôi rút ra 10 số trúng thưởng; số trùng khớp với bạn sẽ được đánh dấu.",how4:"Tiền thưởng phụ thuộc vào số ô bạn chọn và số lượt trúng thưởng - hãy kiểm tra bảng trả thưởng.",how5:"Bạn không bao giờ có thể chọn nhiều số hơn số bạn đã chọn và số lượng tối đa bạn có thể chọn là 10.",overview:"Hãy chọn những con số may mắn của bạn và cố gắng khớp với kết quả quay số. Bạn có thể chọn từ 1 đến 10 số trong khoảng từ 1 đến 40, sau đó chúng tôi sẽ quay số 10 số. Càng nhiều số bạn chọn trúng, tiền thưởng của bạn càng cao.",provablyFair:"Hệ thống ngẫu nhiên có thể kiểm chứng của chúng tôi tạo ra mọi lượt quay Keno. Sau mỗi vòng, bạn có thể xem dữ liệu đầu vào và bằng chứng, xác minh kết quả bằng khóa công khai của chúng tôi và tái tạo kết quả tương tự.",strategyTip:"Chọn mức biến động của bạn. Chọn ít vị trí hơn đồng nghĩa với việc thắng ít hơn nhưng hệ số nhân lớn hơn nhiều. Nhiều vị trí hơn mang lại tỷ lệ trúng cao hơn nhưng lợi nhuận trung bình trên mỗi lần trúng thấp hơn. Phạm vi trung bình cân bằng tỷ lệ trúng và tiền trả thưởng. Điều chỉnh kích thước cược cho phù hợp với sở thích rủi ro và ngân sách của bạn."},limbo:{how1:"Đặt hệ số nhân mục tiêu của bạn.",how2:"Đặt số tiền cược và tiến hành đặt cược.",how3:"Chúng tôi tạo ra một hệ số nhân kết quả ngẫu nhiên.",how4:"Bạn thắng nếu kết quả lớn hơn hoặc bằng mục tiêu của bạn.",how5:"Tiền thưởng của bạn là số tiền cược x hệ số mục tiêu; nếu không, bạn sẽ thua cược.",overview:"Trong Limbo, bạn đặt mức trả thưởng mong muốn và trò chơi sẽ rút ra một hệ số nhân kết quả ngẫu nhiên duy nhất. Nếu kết quả ít nhất đạt được mục tiêu của bạn, bạn thắng. Nếu thấp hơn, bạn thua. Cơ hội cao hơn sẽ giảm hệ số nhân; cơ hội thấp hơn sẽ tăng hệ số nhân.",provablyFair:"Hệ thống ngẫu nhiên có thể kiểm chứng của chúng tôi tạo ra mọi kết quả Limbo. Sau mỗi vòng, bạn có thể xem dữ liệu đầu vào và bằng chứng, xác minh kết quả bằng khóa công khai của chúng tôi và tái tạo kết quả tương tự.",strategyTip:"Mục tiêu thấp hơn thường thắng nhiều hơn nhưng trả ít hơn, trong khi mục tiêu cao hơn hiếm khi trúng nhưng trả nhiều hơn. Hãy cân nhắc đặt mục tiêu cố định cho mỗi phiên hoặc kết hợp các cú đánh dài thỉnh thoảng, và đặt cược một cách nhất quán để quản lý phương sai."},mines:{how1:"Chọn số lượng mìn cho vòng này.",how2:"Đặt số tiền cược và tiến hành đặt cược.",how3:"Nhấp vào các ô để lộ chúng: ô an toàn sẽ tăng hệ số nhân của bạn; ô mìn sẽ kết thúc vòng chơi.",how4:"Bạn có thể rút tiền bất cứ lúc nào để khóa hệ số nhân hiện tại của mình.",how5:"Số tiền thanh toán của bạn là cược x hệ số nhân hiện tại khi bạn rút tiền.",how6:"Vòng chơi kết thúc khi bạn rút tiền hoặc khi mỏ được phát hiện.",overview:"Mines là trò chơi chọn ô an toàn và quyết định thời điểm rút tiền. Trước khi vòng chơi bắt đầu, hãy chọn số lượng mìn sẽ được giấu trên bảng. Mỗi ô an toàn bạn lật ra sẽ tăng hệ số nhân của bạn. Bắn trúng một quả mìn, và vòng chơi kết thúc mà không có khoản tiền thưởng nào.",provablyFair:"Hệ thống ngẫu nhiên có thể kiểm chứng của chúng tôi tạo ra sơ đồ mỏ ẩn của mỗi bảng. Sau mỗi vòng, bạn có thể xem dữ liệu đầu vào và bằng chứng, xác minh kết quả bằng khóa công khai của chúng tôi và tái tạo kết quả tương tự.",strategyTip:"Chọn mức độ biến động của bạn. Ít mỏ hơn đồng nghĩa với việc tìm kiếm an toàn hơn và hệ số nhân nhỏ hơn cho mỗi bước. Nhiều mỏ hơn dẫn đến việc tìm kiếm rủi ro hơn với hệ số nhân lớn hơn. Hãy đặt mục tiêu hoặc sử dụng lệnh dừng lỗ để quản lý biến động. Việc đặt cược nhất quán và rút tiền mặt có kỷ luật giúp kiểm soát biến động."},strategyTitle:"Chiến lược",tutorial:"Hướng dẫn"},games:{dice:{rollOver:"Lăn qua",rollUnder:"Lăn dưới"},keno:{autoPick:"Tự động chọn",clearTable:"Thông thoáng",kenoGameGrid:"Lưới trò chơi Keno",kenoNumber:"Số Keno",selectAtLeastOneTile:"Vui lòng chọn ít nhất một ô",selectTileToAutobet:"Vui lòng chọn ít nhất một ô"},limbo:{multiplierError:"Phải nằm trong khoảng từ {min} đến {max}",targetMultiplier:"Hệ số nhân",winChanceError:"Phải nằm trong khoảng từ {min} đến {max}"},mines:{cashout:"Rút tiền",gem:"Đá quý",gems:"Đá quý",mine:"Của tôi",mines:"Mỏ",nextGem:"Viên ngọc tiếp theo",selectRandomTile:"Chọn ô ngẫu nhiên",selectTileToAutobet:"Vui lòng chọn ít nhất một ô để tự động đặt cược",tile:"Ngói",unrevealed:"Chưa tiết lộ"}},hotkeys:{doubleBet:"Số tiền cược gấp đôi",halveBet:"Giảm một nửa số tiền cược",higherTarget:"Mục tiêu cao hơn",info:"Khi phím tắt được bật, chúng sẽ vẫn hoạt động trong trò chơi này cho đến khi bị tắt. Mặc dù một số trò chơi có các phím tắt tương tự nhau, bạn vẫn nên kiểm tra phím tắt cho từng trò chơi.",lowerTarget:"Mục tiêu thấp hơn",makeBet:"Đặt cược",toggleWinCondition:"Chuyển đổi điều kiện chiến thắng",zeroBet:"Số tiền cược bằng không"},modals:{betResult:"Kết quả cược",fairnessAndHistory:"Công bằng và Lịch sử",gameArea:"Khu vực trò chơi",gameControls:"Điều khiển trò chơi",gameInfo:"Thông tin trò chơi"}}});var xo=Ia((gu,Zs)=>{Zs.exports={accessibility:{sliderValue:"{value} 个,共 {max} 个"},alerts:{autobetStarted:"已启动自动投注模式",autobetStopped:"停止自动投注模式",betAmountAboveMaxBet:"最高投注额为 {value}",betAmountBelowMinBet:"最低投注额为 {value}",betLimitReached:"已达到投注限额",errorProcessingBet:"处理您的投注时出错。请重试。",failedToLoadBetData:"无法加载投注数据",gameError:"处理您的投注时出错。请重试。",insufficientBalance:"余额不足",notEnoughBalance:"余额不足"},autobet:{games:"游戏",games10:"10场比赛",games100:"100场比赛",games25:"25场比赛",games5:"5场比赛",games50:"50场比赛",increase:"增加",infinite:"无限",onLoss:"关于损失",onWin:"胜利",reset:"重置",startAutobet:"开始自动投注",stopAutobet:"停止自动投注",stopOnLoss:"止损",stopOnProfit:"止盈"},common:{auto:"汽车",back:"后退",balance:"平衡",bet:"投注金额",betAmount:"投注金额",cancel:"取消",cashOut:"提现",classic:"经典的",confirm:"确认",copied:"已复制",disableHotkeys:"禁用热键",disableMaxBet:"禁用最大赌注",deposit:"存款",enableHotkeys:"启用热键",enableMaxBet:"启用最大赌注",footerNavigation:"页脚导航",gameInfo:"游戏信息",high:"高的",history:"历史",hotkeys:"热键",id:"ID",instantBet:"即时投注",loading:"加载中...",loadMore:"加载更多",lobby:"返回大厅",low:"低的",manual:"手动的",max:"最大限度",medium:"中等的",multiplier:"乘数",payout:"付款",placeBet:"下注",profit:"利润",profitOnWin:"赢利",provablyFair:"可证明公平",risk:"风险",siteInformation:"站点信息",space:"空间",targetMultiplier:"乘数",thisFieldIsRequired:"此字段是必需的",timestamp:"时间",toggleHotkeys:"切换热键",viewFairnessInformation:"查看公平性信息",viewHistory:"查看历史记录",volume:"体积",winChance:"获胜机会"},errors:{dice:{multiplierRange:"必须介于 {min} 和 {max} 之间",winChanceRange:"必须介于 {min} 和 {max} 之间"}},fairness:{activeClientSeed:"活跃客户种子",enterClientSeed:"输入客户种子",enterProof:"输入证明",enterPublicKey:"输入公钥",enterRandomness:"输入随机性",enterRequest:"输入请求",info:{p1:"每一轮的结果都来自可验证的随机性,而非隐藏的服务器逻辑。我们会根据您回合特有的值(例如 gameId、tenantId、tenantUserId、一个递增的 nonce(每完成一轮产生一个)以及您的 clientSeed)构建一个确定性种子。这确保了每一轮都是唯一且可重复的:相同的输入 → 相同的随机流 → 相同的结果。",p2:"该种子根据 IETF 规范 draft-irtf-cfrg-vrf-15 通过椭圆曲线可验证随机函数 (ECVRF) 运行。我们的服务器使用其私钥生成一个随机值和一个加密证明 (proofString)。任何拥有我们公钥的人都可以独立验证给定输入的证明——确认随机性来自种子且未被篡改。SDK 采用 TypeScript 编写,而核心加密通过 NAPI-RS 使用 fastcrypto Rust 库来确保性能和安全性。",p3:"验证完成后,VRF 的输出会将种子植入一个确定性随机字节生成器 (hashSequence)。游戏使用确定性、无偏差的逻辑将这些字节转换为结果。由于该过程是确定性的,并且随机数会在每轮游戏结束后递增,因此您每次都能获得可重玩的审核(完全相同的轮次),以及全新的、不重复的随机性。",p4:"一轮之后,您将获得输入(包括您的客户端种子和本轮的随机数)、VRF 输出、证明字符串以及我们的公钥。您可以使用任何 ECVRF 验证器或我们的库来:(1) 根据输入和公钥验证证明,以及 (2) 重新生成相同的哈希序列和结果。我们的私钥永远不会离开安全的服务器;公钥可以在客户端安全地用于独立验证。",step1Desc:"我们将 gameId、tenantId、tenantUserId、每轮随机数以及你的 clientSeed 组合在一起。相同的输入始终会产生相同的随机流和结果。",step1Title:"确定性种子",step2Title:"生成随机数",step3Desc:"任何人都可以使用我们的公钥验证给定输入的 proofString。这证实了随机数与种子匹配,并且未被篡改。",step3Title:"验证证明",step4Title:"得出结果",step5Title:"生殖"},invalidGame:"提供的游戏类型无效。",learnMore:"了解更多",newClientSeed:"新客户种子",noBettingHistory:"没有投注记录",outcomeCalculationInfo:"每场比赛的结果都是使用随机值作为输入来计算的。",outcomeNotVerified:"这场比赛的结果无法核实",outcomeVerified:"本场比赛的结果已经过验证,且可证明是公平的",proof:"证明",publicKey:"公钥",randomness:"随机性",request:"要求",saveClientSeed:"保存客户端种子",verifyOutcome:"验证结果"},gameInfo:{dice:{how1:"选择向下滚动或向上滚动。",how2:"设定你的目标数字。",how3:"设置您的投注金额并下注。",how4:"我们生成一个随机结果(在游戏中以 0-99.99 的刻度显示)。",how5:"如果结果在您选择的范围内,您就获胜。",how6:"您的支出是赌注 x 显示的乘数,该乘数会随着您移动滑块而更新。",overview:"设定目标数字,并选择掷出的点数低于或高于该数字。移动滑块可以改变您的获胜概率和乘数——概率越高,乘数越低;概率越低,乘数越高。游戏的每个回合都是一次独立的掷骰。",provablyFair:"我们的可验证随机数系统生成每次掷骰的结果。每一轮结束后,您都可以查看输入和证明,使用我们的公钥验证结果,并重现相同的结果。",strategyTip:"选择您的波动性。较低的获胜概率会产生较大的乘数,但中奖的概率较低。较高的获胜概率会产生较小的乘数,但中奖的概率较高。根据你的资金规模调整投注,以获得更稳定的波动。"},keno:{how1:"在 1–40 的棋盘上选择 1–10 块牌。",how2:"设置您的投注金额并下注。",how3:"我们抽取 10 个中奖号码;您的匹配结果将被突出显示。",how4:"赔付取决于您选择的牌的数量和您击中的次数 - 请查看赔付表。",how5:"您输入的数字不能超过您选择的数字,最大选择数为 10。",overview:"选择您的幸运数字,并尝试匹配抽奖。您可以从1-40个数字中选择1-10个数字,然后我们抽取10个数字。您选择的数字中奖次数越多,您的奖金就越高。",provablyFair:"我们的可验证随机数系统生成每一次基诺彩票开奖。每一轮结束后,您都可以查看输入和证明,使用我们的公钥验证结果,并重现相同的结果。",strategyTip:"选择您的波动性。选择较少的点数意味着中奖机会较少,但乘数更高。选择较多的点数意味着中奖频率更高,但每次中奖的平均回报较低。中等波动性可以平衡中奖率和赔付。根据您的风险偏好和资金规模调整您的投注额。"},limbo:{how1:"设定您的目标乘数。",how2:"设置您的投注金额并下注。",how3:"我们生成一个随机结果乘数。",how4:"如果结果大于或等于您的目标,您就获胜。",how5:"您的支出是赌注 x 您的目标乘数;否则,您将输掉赌注。",overview:"在《Limbo》中,您可以设定期望的赔付金额,游戏会随机抽取一个结果乘数。如果结果至少达到您的目标金额,您就赢了。如果结果低于您的目标金额,您就输了。概率越高,乘数越低;概率越低,乘数越高。",provablyFair:"我们的可验证随机数系统生成 Limbo 的每一个结果。每一轮结束后,您都可以查看输入和证明,使用我们的公钥验证结果,并重现相同的结果。",strategyTip:"目标较低者获胜概率更高,但回报较低;目标较高者获胜概率较低,但回报较高。建议每局游戏设定固定目标,或偶尔进行一些高风险投注,并持续调整投注规模以控制波动。"},mines:{how1:"选择本轮的地雷数量。",how2:"设置您的投注金额并下注。",how3:"单击方块即可将其显示出来:安全的方块会增加您的乘数;地雷会结束回合。",how4:"您可以随时兑现以锁定当前的乘数。",how5:"当您兑现时,您的支出是赌注 x 当前乘数。",how6:"当您兑现或发现地雷时,回合结束。",overview:"地雷游戏的玩法是选择安全牌并决定何时支付。回合开始前,选择棋盘上隐藏的地雷数量。每显示一个安全牌,您的倍数就会增加。击中一个地雷,回合结束,不支付任何奖励。",provablyFair:"我们的可验证随机数系统会生成每个棋盘的隐藏矿井布局。每一轮结束后,您都可以查看输入和证明,使用我们的公钥验证结果,并重现相同的结果。",strategyTip:"选择您的波动性。地雷数量越少,每次开局的乘数越小,开局风险也越高。地雷数量越多,开局风险也越大,乘数也越大。设定目标或使用止损来管理波动。保持一致的投注规模和有纪律的套现有助于控制波动。"},strategyTitle:"战略",tutorial:"教程"},games:{dice:{rollOver:"滚下",rollUnder:"滚下"},keno:{autoPick:"自动选择",clearTable:"清除",kenoGameGrid:"基诺游戏网格",kenoNumber:"基诺号码",selectAtLeastOneTile:"请至少选择一个图块",selectTileToAutobet:"请至少选择一个图块"},limbo:{multiplierError:"必须介于 {min} 和 {max} 之间",targetMultiplier:"乘数",winChanceError:"必须介于 {min} 和 {max} 之间"},mines:{cashout:"提现",gem:"宝石",gems:"宝石",mine:"矿",mines:"矿山",nextGem:"下一颗宝石",selectRandomTile:"选择随机图块",selectTileToAutobet:"请至少选择一张牌进行自动下注",tile:"瓦",unrevealed:"未披露"}},hotkeys:{doubleBet:"双倍投注金额",halveBet:"投注金额减半",higherTarget:"更高的目标",info:"启用快捷键后,该游戏将一直保持启用状态,直至禁用为止。尽管有些游戏的按键绑定类似,但始终建议确认每款游戏的快捷键。",lowerTarget:"降低目标",makeBet:"下注",toggleWinCondition:"切换胜利条件",zeroBet:"零投注金额"},modals:{betResult:"投注结果",fairnessAndHistory:"公平与历史",gameArea:"游戏区",gameControls:"游戏控制",gameInfo:"游戏信息"}}});var it=Ia((Ci,ae)=>{typeof document!=="undefined"&&typeof navigator!=="undefined"&&function(a,i){typeof Ci==="object"&&typeof ae!=="undefined"?ae.exports=i():typeof define==="function"&&define.amd?define(i):(a=typeof globalThis!=="undefined"?globalThis:a||self,a.lottie=i())}(Ci,function(){var svgNS="http://www.w3.org/2000/svg",locationHref="",_useWebWorker=!1,initialDefaultFrame=-999999,setWebWorker=function a(i){_useWebWorker=!!i},getWebWorker=function a(){return _useWebWorker},setLocationHref=function a(i){locationHref=i},getLocationHref=function a(){return locationHref};function createTag(a){return document.createElement(a)}function extendPrototype(a,i){var e,o=a.length,r;for(e=0;e<o;e+=1){r=a[e].prototype;for(var n in r)if(Object.prototype.hasOwnProperty.call(r,n))i.prototype[n]=r[n]}}function getDescriptor(a,i){return Object.getOwnPropertyDescriptor(a,i)}function createProxyFunction(a){function i(){}return i.prototype=a,i}var audioControllerFactory=function(){function a(i){this.audios=[],this.audioFactory=i,this._volume=1,this._isMuted=!1}return a.prototype={addAudio:function i(e){this.audios.push(e)},pause:function i(){var e,o=this.audios.length;for(e=0;e<o;e+=1)this.audios[e].pause()},resume:function i(){var e,o=this.audios.length;for(e=0;e<o;e+=1)this.audios[e].resume()},setRate:function i(e){var o,r=this.audios.length;for(o=0;o<r;o+=1)this.audios[o].setRate(e)},createAudio:function i(e){if(this.audioFactory)return this.audioFactory(e);if(window.Howl)return new window.Howl({src:[e]});return{isPlaying:!1,play:function o(){this.isPlaying=!0},seek:function o(){this.isPlaying=!1},playing:function o(){},rate:function o(){},setVolume:function o(){}}},setAudioFactory:function i(e){this.audioFactory=e},setVolume:function i(e){this._volume=e,this._updateVolume()},mute:function i(){this._isMuted=!0,this._updateVolume()},unmute:function i(){this._isMuted=!1,this._updateVolume()},getVolume:function i(){return this._volume},_updateVolume:function i(){var e,o=this.audios.length;for(e=0;e<o;e+=1)this.audios[e].volume(this._volume*(this._isMuted?0:1))}},function(){return new a}}(),createTypedArray=function(){function a(e,o){var r=0,n=[],t;switch(e){case"int16":case"uint8c":t=1;break;default:t=1.1;break}for(r=0;r<o;r+=1)n.push(t);return n}function i(e,o){if(e==="float32")return new Float32Array(o);if(e==="int16")return new Int16Array(o);if(e==="uint8c")return new Uint8ClampedArray(o);return a(e,o)}if(typeof Uint8ClampedArray==="function"&&typeof Float32Array==="function")return i;return a}();function createSizedArray(a){return Array.apply(null,{length:a})}function _typeof$6(a){return _typeof$6=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(i){return typeof i}:function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},_typeof$6(a)}var subframeEnabled=!0,expressionsPlugin=null,expressionsInterfaces=null,idPrefix$1="",isSafari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),_shouldRoundValues=!1,bmPow=Math.pow,bmSqrt=Math.sqrt,bmFloor=Math.floor,bmMax=Math.max,bmMin=Math.min,BMMath={};(function(){var a=["abs","acos","acosh","asin","asinh","atan","atanh","atan2","ceil","cbrt","expm1","clz32","cos","cosh","exp","floor","fround","hypot","imul","log","log1p","log2","log10","max","min","pow","random","round","sign","sin","sinh","sqrt","tan","tanh","trunc","E","LN10","LN2","LOG10E","LOG2E","PI","SQRT1_2","SQRT2"],i,e=a.length;for(i=0;i<e;i+=1)BMMath[a[i]]=Math[a[i]]})();function ProjectInterface$1(){return{}}BMMath.random=Math.random,BMMath.abs=function(a){var i=_typeof$6(a);if(i==="object"&&a.length){var e=createSizedArray(a.length),o,r=a.length;for(o=0;o<r;o+=1)e[o]=Math.abs(a[o]);return e}return Math.abs(a)};var defaultCurveSegments=150,degToRads=Math.PI/180,roundCorner=0.5519;function roundValues(a){_shouldRoundValues=!!a}function bmRnd(a){if(_shouldRoundValues)return Math.round(a);return a}function styleDiv(a){a.style.position="absolute",a.style.top=0,a.style.left=0,a.style.display="block",a.style.transformOrigin="0 0",a.style.webkitTransformOrigin="0 0",a.style.backfaceVisibility="visible",a.style.webkitBackfaceVisibility="visible",a.style.transformStyle="preserve-3d",a.style.webkitTransformStyle="preserve-3d",a.style.mozTransformStyle="preserve-3d"}function BMEnterFrameEvent(a,i,e,o){this.type=a,this.currentTime=i,this.totalTime=e,this.direction=o<0?-1:1}function BMCompleteEvent(a,i){this.type=a,this.direction=i<0?-1:1}function BMCompleteLoopEvent(a,i,e,o){this.type=a,this.currentLoop=e,this.totalLoops=i,this.direction=o<0?-1:1}function BMSegmentStartEvent(a,i,e){this.type=a,this.firstFrame=i,this.totalFrames=e}function BMDestroyEvent(a,i){this.type=a,this.target=i}function BMRenderFrameErrorEvent(a,i){this.type="renderFrameError",this.nativeError=a,this.currentTime=i}function BMConfigErrorEvent(a){this.type="configError",this.nativeError=a}function BMAnimationConfigErrorEvent(a,i){this.type=a,this.nativeError=i}var createElementID=function(){var a=0;return function i(){return a+=1,idPrefix$1+"__lottie_element_"+a}}();function HSVtoRGB(a,i,e){var o,r,n,t,s,l,u,h;switch(t=Math.floor(a*6),s=a*6-t,l=e*(1-i),u=e*(1-s*i),h=e*(1-(1-s)*i),t%6){case 0:o=e,r=h,n=l;break;case 1:o=u,r=e,n=l;break;case 2:o=l,r=e,n=h;break;case 3:o=l,r=u,n=e;break;case 4:o=h,r=l,n=e;break;case 5:o=e,r=l,n=u;break;default:break}return[o,r,n]}function RGBtoHSV(a,i,e){var o=Math.max(a,i,e),r=Math.min(a,i,e),n=o-r,t,s=o===0?0:n/o,l=o/255;switch(o){case r:t=0;break;case a:t=i-e+n*(i<e?6:0),t/=6*n;break;case i:t=e-a+n*2,t/=6*n;break;case e:t=a-i+n*4,t/=6*n;break;default:break}return[t,s,l]}function addSaturationToRGB(a,i){var e=RGBtoHSV(a[0]*255,a[1]*255,a[2]*255);if(e[1]+=i,e[1]>1)e[1]=1;else if(e[1]<=0)e[1]=0;return HSVtoRGB(e[0],e[1],e[2])}function addBrightnessToRGB(a,i){var e=RGBtoHSV(a[0]*255,a[1]*255,a[2]*255);if(e[2]+=i,e[2]>1)e[2]=1;else if(e[2]<0)e[2]=0;return HSVtoRGB(e[0],e[1],e[2])}function addHueToRGB(a,i){var e=RGBtoHSV(a[0]*255,a[1]*255,a[2]*255);if(e[0]+=i/360,e[0]>1)e[0]-=1;else if(e[0]<0)e[0]+=1;return HSVtoRGB(e[0],e[1],e[2])}var rgbToHex=function(){var a=[],i,e;for(i=0;i<256;i+=1)e=i.toString(16),a[i]=e.length===1?"0"+e:e;return function(o,r,n){if(o<0)o=0;if(r<0)r=0;if(n<0)n=0;return"#"+a[o]+a[r]+a[n]}}(),setSubframeEnabled=function a(i){subframeEnabled=!!i},getSubframeEnabled=function a(){return subframeEnabled},setExpressionsPlugin=function a(i){expressionsPlugin=i},getExpressionsPlugin=function a(){return expressionsPlugin},setExpressionInterfaces=function a(i){expressionsInterfaces=i},getExpressionInterfaces=function a(){return expressionsInterfaces},setDefaultCurveSegments=function a(i){defaultCurveSegments=i},getDefaultCurveSegments=function a(){return defaultCurveSegments},setIdPrefix=function a(i){idPrefix$1=i},getIdPrefix=function a(){return idPrefix$1};function createNS(a){return document.createElementNS(svgNS,a)}function _typeof$5(a){return _typeof$5=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(i){return typeof i}:function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},_typeof$5(a)}var dataManager=function(){var a=1,i=[],e,o,r={onmessage:function c(){},postMessage:function c(y){e({data:y})}},n={postMessage:function c(y){r.onmessage({data:y})}};function t(c){if(window.Worker&&window.Blob&&getWebWorker()){var y=new Blob(["var _workerSelf = self; self.onmessage = ",c.toString()],{type:"text/javascript"}),g=URL.createObjectURL(y);return new Worker(g)}return e=c,r}function s(){if(!o)o=t(function c(y){function g(){function I(O,H){var Z,w,x=O.length,V,B,A,ia;for(w=0;w<x;w+=1)if(Z=O[w],"ks"in Z&&!Z.completed){if(Z.completed=!0,Z.hasMask){var ra=Z.masksProperties;B=ra.length;for(V=0;V<B;V+=1)if(ra[V].pt.k.i)S(ra[V].pt.k);else{ia=ra[V].pt.k.length;for(A=0;A<ia;A+=1){if(ra[V].pt.k[A].s)S(ra[V].pt.k[A].s[0]);if(ra[V].pt.k[A].e)S(ra[V].pt.k[A].e[0])}}}if(Z.ty===0)Z.layers=p(Z.refId,H),I(Z.layers,H);else if(Z.ty===4)v(Z.shapes);else if(Z.ty===5)U(Z)}}function m(O,H){if(O){var Z=0,w=O.length;for(Z=0;Z<w;Z+=1)if(O[Z].t===1)O[Z].data.layers=p(O[Z].data.refId,H),I(O[Z].data.layers,H)}}function k(O,H){var Z=0,w=H.length;while(Z<w){if(H[Z].id===O)return H[Z];Z+=1}return null}function p(O,H){var Z=k(O,H);if(Z){if(!Z.layers.__used)return Z.layers.__used=!0,Z.layers;return JSON.parse(JSON.stringify(Z.layers))}return null}function v(O){var H,Z=O.length,w,x;for(H=Z-1;H>=0;H-=1)if(O[H].ty==="sh")if(O[H].ks.k.i)S(O[H].ks.k);else{x=O[H].ks.k.length;for(w=0;w<x;w+=1){if(O[H].ks.k[w].s)S(O[H].ks.k[w].s[0]);if(O[H].ks.k[w].e)S(O[H].ks.k[w].e[0])}}else if(O[H].ty==="gr")v(O[H].it)}function S(O){var H,Z=O.i.length;for(H=0;H<Z;H+=1)O.i[H][0]+=O.v[H][0],O.i[H][1]+=O.v[H][1],O.o[H][0]+=O.v[H][0],O.o[H][1]+=O.v[H][1]}function F(O,H){var Z=H?H.split("."):[100,100,100];if(O[0]>Z[0])return!0;if(Z[0]>O[0])return!1;if(O[1]>Z[1])return!0;if(Z[1]>O[1])return!1;if(O[2]>Z[2])return!0;if(Z[2]>O[2])return!1;return null}var K=function(){var O=[4,4,14];function H(w){var x=w.t.d;w.t.d={k:[{s:x,t:0}]}}function Z(w){var x,V=w.length;for(x=0;x<V;x+=1)if(w[x].ty===5)H(w[x])}return function(w){if(F(O,w.v)){if(Z(w.layers),w.assets){var x,V=w.assets.length;for(x=0;x<V;x+=1)if(w.assets[x].layers)Z(w.assets[x].layers)}}}}(),R=function(){var O=[4,7,99];return function(H){if(H.chars&&!F(O,H.v)){var Z,w=H.chars.length;for(Z=0;Z<w;Z+=1){var x=H.chars[Z];if(x.data&&x.data.shapes){if(v(x.data.shapes),x.data.ip=0,x.data.op=99999,x.data.st=0,x.data.sr=1,x.data.ks={p:{k:[0,0],a:0},s:{k:[100,100],a:0},a:{k:[0,0],a:0},r:{k:0,a:0},o:{k:100,a:0}},!H.chars[Z].t)x.data.shapes.push({ty:"no"}),x.data.shapes[0].it.push({p:{k:[0,0],a:0},s:{k:[100,100],a:0},a:{k:[0,0],a:0},r:{k:0,a:0},o:{k:100,a:0},sk:{k:0,a:0},sa:{k:0,a:0},ty:"tr"})}}}}}(),P=function(){var O=[5,7,15];function H(w){var x=w.t.p;if(typeof x.a==="number")x.a={a:0,k:x.a};if(typeof x.p==="number")x.p={a:0,k:x.p};if(typeof x.r==="number")x.r={a:0,k:x.r}}function Z(w){var x,V=w.length;for(x=0;x<V;x+=1)if(w[x].ty===5)H(w[x])}return function(w){if(F(O,w.v)){if(Z(w.layers),w.assets){var x,V=w.assets.length;for(x=0;x<V;x+=1)if(w.assets[x].layers)Z(w.assets[x].layers)}}}}(),M=function(){var O=[4,1,9];function H(w){var x,V=w.length,B,A;for(x=0;x<V;x+=1)if(w[x].ty==="gr")H(w[x].it);else if(w[x].ty==="fl"||w[x].ty==="st")if(w[x].c.k&&w[x].c.k[0].i){A=w[x].c.k.length;for(B=0;B<A;B+=1){if(w[x].c.k[B].s)w[x].c.k[B].s[0]/=255,w[x].c.k[B].s[1]/=255,w[x].c.k[B].s[2]/=255,w[x].c.k[B].s[3]/=255;if(w[x].c.k[B].e)w[x].c.k[B].e[0]/=255,w[x].c.k[B].e[1]/=255,w[x].c.k[B].e[2]/=255,w[x].c.k[B].e[3]/=255}}else w[x].c.k[0]/=255,w[x].c.k[1]/=255,w[x].c.k[2]/=255,w[x].c.k[3]/=255}function Z(w){var x,V=w.length;for(x=0;x<V;x+=1)if(w[x].ty===4)H(w[x].shapes)}return function(w){if(F(O,w.v)){if(Z(w.layers),w.assets){var x,V=w.assets.length;for(x=0;x<V;x+=1)if(w.assets[x].layers)Z(w.assets[x].layers)}}}}(),X=function(){var O=[4,4,18];function H(w){var x,V=w.length,B,A;for(x=V-1;x>=0;x-=1)if(w[x].ty==="sh")if(w[x].ks.k.i)w[x].ks.k.c=w[x].closed;else{A=w[x].ks.k.length;for(B=0;B<A;B+=1){if(w[x].ks.k[B].s)w[x].ks.k[B].s[0].c=w[x].closed;if(w[x].ks.k[B].e)w[x].ks.k[B].e[0].c=w[x].closed}}else if(w[x].ty==="gr")H(w[x].it)}function Z(w){var x,V,B=w.length,A,ia,ra,la;for(V=0;V<B;V+=1){if(x=w[V],x.hasMask){var da=x.masksProperties;ia=da.length;for(A=0;A<ia;A+=1)if(da[A].pt.k.i)da[A].pt.k.c=da[A].cl;else{la=da[A].pt.k.length;for(ra=0;ra<la;ra+=1){if(da[A].pt.k[ra].s)da[A].pt.k[ra].s[0].c=da[A].cl;if(da[A].pt.k[ra].e)da[A].pt.k[ra].e[0].c=da[A].cl}}}if(x.ty===4)H(x.shapes)}}return function(w){if(F(O,w.v)){if(Z(w.layers),w.assets){var x,V=w.assets.length;for(x=0;x<V;x+=1)if(w.assets[x].layers)Z(w.assets[x].layers)}}}}();function _(O){if(O.__complete)return;M(O),K(O),R(O),P(O),X(O),I(O.layers,O.assets),m(O.chars,O.assets),O.__complete=!0}function U(O){if(O.t.a.length===0&&!("m"in O.t.p));}var G={};return G.completeData=_,G.checkColors=M,G.checkChars=R,G.checkPathProperties=P,G.checkShapes=X,G.completeLayers=I,G}if(!n.dataManager)n.dataManager=g();if(!n.assetLoader)n.assetLoader=function(){function I(k){var p=k.getResponseHeader("content-type");if(p&&k.responseType==="json"&&p.indexOf("json")!==-1)return k.response;if(k.response&&_typeof$5(k.response)==="object")return k.response;if(k.response&&typeof k.response==="string")return JSON.parse(k.response);if(k.responseText)return JSON.parse(k.responseText);return null}function m(k,p,v,S){var F,K=new XMLHttpRequest;try{K.responseType="json"}catch(R){}K.onreadystatechange=function(){if(K.readyState===4)if(K.status===200)F=I(K),v(F);else try{F=I(K),v(F)}catch(R){if(S)S(R)}};try{K.open(["G","E","T"].join(""),k,!0)}catch(R){K.open(["G","E","T"].join(""),p+"/"+k,!0)}K.send()}return{load:m}}();if(y.data.type==="loadAnimation")n.assetLoader.load(y.data.path,y.data.fullPath,function(I){n.dataManager.completeData(I),n.postMessage({id:y.data.id,payload:I,status:"success"})},function(){n.postMessage({id:y.data.id,status:"error"})});else if(y.data.type==="complete"){var b=y.data.animation;n.dataManager.completeData(b),n.postMessage({id:y.data.id,payload:b,status:"success"})}else if(y.data.type==="loadData")n.assetLoader.load(y.data.path,y.data.fullPath,function(I){n.postMessage({id:y.data.id,payload:I,status:"success"})},function(){n.postMessage({id:y.data.id,status:"error"})})}),o.onmessage=function(c){var y=c.data,g=y.id,b=i[g];if(i[g]=null,y.status==="success")b.onComplete(y.payload);else if(b.onError)b.onError()}}function l(c,y){a+=1;var g="processId_"+a;return i[g]={onComplete:c,onError:y},g}function u(c,y,g){s();var b=l(y,g);o.postMessage({type:"loadAnimation",path:c,fullPath:window.location.origin+window.location.pathname,id:b})}function h(c,y,g){s();var b=l(y,g);o.postMessage({type:"loadData",path:c,fullPath:window.location.origin+window.location.pathname,id:b})}function f(c,y,g){s();var b=l(y,g);o.postMessage({type:"complete",animation:c,id:b})}return{loadAnimation:u,loadData:h,completeAnimation:f}}(),ImagePreloader=function(){var a=function(){var m=createTag("canvas");m.width=1,m.height=1;var k=m.getContext("2d");return k.fillStyle="rgba(0,0,0,0)",k.fillRect(0,0,1,1),m}();function i(){if(this.loadedAssets+=1,this.loadedAssets===this.totalImages&&this.loadedFootagesCount===this.totalFootages){if(this.imagesLoadedCb)this.imagesLoadedCb(null)}}function e(){if(this.loadedFootagesCount+=1,this.loadedAssets===this.totalImages&&this.loadedFootagesCount===this.totalFootages){if(this.imagesLoadedCb)this.imagesLoadedCb(null)}}function o(m,k,p){var v="";if(m.e)v=m.p;else if(k){var S=m.p;if(S.indexOf("images/")!==-1)S=S.split("/")[1];v=k+S}else v=p,v+=m.u?m.u:"",v+=m.p;return v}function r(m){var k=0,p=setInterval(function(){var v=m.getBBox();if(v.width||k>500)this._imageLoaded(),clearInterval(p);k+=1}.bind(this),50)}function n(m){var k=o(m,this.assetsPath,this.path),p=createNS("image");if(isSafari)this.testImageLoaded(p);else p.addEventListener("load",this._imageLoaded,!1);if(p.addEventListener("error",function(){v.img=a,this._imageLoaded()}.bind(this),!1),p.setAttributeNS("http://www.w3.org/1999/xlink","href",k),this._elementHelper.append)this._elementHelper.append(p);else this._elementHelper.appendChild(p);var v={img:p,assetData:m};return v}function t(m){var k=o(m,this.assetsPath,this.path),p=createTag("img");p.crossOrigin="anonymous",p.addEventListener("load",this._imageLoaded,!1),p.addEventListener("error",function(){v.img=a,this._imageLoaded()}.bind(this),!1),p.src=k;var v={img:p,assetData:m};return v}function s(m){var k={assetData:m},p=o(m,this.assetsPath,this.path);return dataManager.loadData(p,function(v){k.img=v,this._footageLoaded()}.bind(this),function(){k.img={},this._footageLoaded()}.bind(this)),k}function l(m,k){this.imagesLoadedCb=k;var p,v=m.length;for(p=0;p<v;p+=1)if(!m[p].layers){if(!m[p].t||m[p].t==="seq")this.totalImages+=1,this.images.push(this._createImageData(m[p]));else if(m[p].t===3)this.totalFootages+=1,this.images.push(this.createFootageData(m[p]))}}function u(m){this.path=m||""}function h(m){this.assetsPath=m||""}function f(m){var k=0,p=this.images.length;while(k<p){if(this.images[k].assetData===m)return this.images[k].img;k+=1}return null}function c(){this.imagesLoadedCb=null,this.images.length=0}function y(){return this.totalImages===this.loadedAssets}function g(){return this.totalFootages===this.loadedFootagesCount}function b(m,k){if(m==="svg")this._elementHelper=k,this._createImageData=this.createImageData.bind(this);else this._createImageData=this.createImgData.bind(this)}function I(){this._imageLoaded=i.bind(this),this._footageLoaded=e.bind(this),this.testImageLoaded=r.bind(this),this.createFootageData=s.bind(this),this.assetsPath="",this.path="",this.totalImages=0,this.totalFootages=0,this.loadedAssets=0,this.loadedFootagesCount=0,this.imagesLoadedCb=null,this.images=[]}return I.prototype={loadAssets:l,setAssetsPath:h,setPath:u,loadedImages:y,loadedFootages:g,destroy:c,getAsset:f,createImgData:t,createImageData:n,imageLoaded:i,footageLoaded:e,setCacheType:b},I}();function BaseEvent(){}BaseEvent.prototype={triggerEvent:function a(i,e){if(this._cbs[i]){var o=this._cbs[i];for(var r=0;r<o.length;r+=1)o[r](e)}},addEventListener:function a(i,e){if(!this._cbs[i])this._cbs[i]=[];return this._cbs[i].push(e),function(){this.removeEventListener(i,e)}.bind(this)},removeEventListener:function a(i,e){if(!e)this._cbs[i]=null;else if(this._cbs[i]){var o=0,r=this._cbs[i].length;while(o<r){if(this._cbs[i][o]===e)this._cbs[i].splice(o,1),o-=1,r-=1;o+=1}if(!this._cbs[i].length)this._cbs[i]=null}}};var markerParser=function(){function a(i){var e=i.split(`\r
|
|
2
|
+
`),o={},r,n=0;for(var t=0;t<e.length;t+=1)if(r=e[t].split(":"),r.length===2)o[r[0]]=r[1].trim(),n+=1;if(n===0)throw new Error;return o}return function(i){var e=[];for(var o=0;o<i.length;o+=1){var r=i[o],n={time:r.tm,duration:r.dr};try{n.payload=JSON.parse(i[o].cm)}catch(t){try{n.payload=a(i[o].cm)}catch(s){n.payload={name:i[o].cm}}}e.push(n)}return e}}(),ProjectInterface=function(){function a(i){this.compositions.push(i)}return function(){function i(e){var o=0,r=this.compositions.length;while(o<r){if(this.compositions[o].data&&this.compositions[o].data.nm===e){if(this.compositions[o].prepareFrame&&this.compositions[o].data.xt)this.compositions[o].prepareFrame(this.currentFrame);return this.compositions[o].compInterface}o+=1}return null}return i.compositions=[],i.currentFrame=0,i.registerComposition=a,i}}(),renderers={},registerRenderer=function a(i,e){renderers[i]=e};function getRenderer(a){return renderers[a]}function getRegisteredRenderer(){if(renderers.canvas)return"canvas";for(var a in renderers)if(renderers[a])return a;return""}function _typeof$4(a){return _typeof$4=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(i){return typeof i}:function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},_typeof$4(a)}var AnimationItem=function a(){this._cbs=[],this.name="",this.path="",this.isLoaded=!1,this.currentFrame=0,this.currentRawFrame=0,this.firstFrame=0,this.totalFrames=0,this.frameRate=0,this.frameMult=0,this.playSpeed=1,this.playDirection=1,this.playCount=0,this.animationData={},this.assets=[],this.isPaused=!0,this.autoplay=!1,this.loop=!0,this.renderer=null,this.animationID=createElementID(),this.assetsPath="",this.timeCompleted=0,this.segmentPos=0,this.isSubframeEnabled=getSubframeEnabled(),this.segments=[],this._idle=!0,this._completedLoop=!1,this.projectInterface=ProjectInterface(),this.imagePreloader=new ImagePreloader,this.audioController=audioControllerFactory(),this.markers=[],this.configAnimation=this.configAnimation.bind(this),this.onSetupError=this.onSetupError.bind(this),this.onSegmentComplete=this.onSegmentComplete.bind(this),this.drawnFrameEvent=new BMEnterFrameEvent("drawnFrame",0,0,0),this.expressionsPlugin=getExpressionsPlugin()};extendPrototype([BaseEvent],AnimationItem),AnimationItem.prototype.setParams=function(a){if(a.wrapper||a.container)this.wrapper=a.wrapper||a.container;var i="svg";if(a.animType)i=a.animType;else if(a.renderer)i=a.renderer;var e=getRenderer(i);if(this.renderer=new e(this,a.rendererSettings),this.imagePreloader.setCacheType(i,this.renderer.globalData.defs),this.renderer.setProjectInterface(this.projectInterface),this.animType=i,a.loop===""||a.loop===null||a.loop===void 0||a.loop===!0)this.loop=!0;else if(a.loop===!1)this.loop=!1;else this.loop=parseInt(a.loop,10);if(this.autoplay="autoplay"in a?a.autoplay:!0,this.name=a.name?a.name:"",this.autoloadSegments=Object.prototype.hasOwnProperty.call(a,"autoloadSegments")?a.autoloadSegments:!0,this.assetsPath=a.assetsPath,this.initialSegment=a.initialSegment,a.audioFactory)this.audioController.setAudioFactory(a.audioFactory);if(a.animationData)this.setupAnimation(a.animationData);else if(a.path){if(a.path.lastIndexOf("\\")!==-1)this.path=a.path.substr(0,a.path.lastIndexOf("\\")+1);else this.path=a.path.substr(0,a.path.lastIndexOf("/")+1);this.fileName=a.path.substr(a.path.lastIndexOf("/")+1),this.fileName=this.fileName.substr(0,this.fileName.lastIndexOf(".json")),dataManager.loadAnimation(a.path,this.configAnimation,this.onSetupError)}},AnimationItem.prototype.onSetupError=function(){this.trigger("data_failed")},AnimationItem.prototype.setupAnimation=function(a){dataManager.completeAnimation(a,this.configAnimation)},AnimationItem.prototype.setData=function(a,i){if(i){if(_typeof$4(i)!=="object")i=JSON.parse(i)}var e={wrapper:a,animationData:i},o=a.attributes;e.path=o.getNamedItem("data-animation-path")?o.getNamedItem("data-animation-path").value:o.getNamedItem("data-bm-path")?o.getNamedItem("data-bm-path").value:o.getNamedItem("bm-path")?o.getNamedItem("bm-path").value:"",e.animType=o.getNamedItem("data-anim-type")?o.getNamedItem("data-anim-type").value:o.getNamedItem("data-bm-type")?o.getNamedItem("data-bm-type").value:o.getNamedItem("bm-type")?o.getNamedItem("bm-type").value:o.getNamedItem("data-bm-renderer")?o.getNamedItem("data-bm-renderer").value:o.getNamedItem("bm-renderer")?o.getNamedItem("bm-renderer").value:getRegisteredRenderer()||"canvas";var r=o.getNamedItem("data-anim-loop")?o.getNamedItem("data-anim-loop").value:o.getNamedItem("data-bm-loop")?o.getNamedItem("data-bm-loop").value:o.getNamedItem("bm-loop")?o.getNamedItem("bm-loop").value:"";if(r==="false")e.loop=!1;else if(r==="true")e.loop=!0;else if(r!=="")e.loop=parseInt(r,10);var n=o.getNamedItem("data-anim-autoplay")?o.getNamedItem("data-anim-autoplay").value:o.getNamedItem("data-bm-autoplay")?o.getNamedItem("data-bm-autoplay").value:o.getNamedItem("bm-autoplay")?o.getNamedItem("bm-autoplay").value:!0;e.autoplay=n!=="false",e.name=o.getNamedItem("data-name")?o.getNamedItem("data-name").value:o.getNamedItem("data-bm-name")?o.getNamedItem("data-bm-name").value:o.getNamedItem("bm-name")?o.getNamedItem("bm-name").value:"";var t=o.getNamedItem("data-anim-prerender")?o.getNamedItem("data-anim-prerender").value:o.getNamedItem("data-bm-prerender")?o.getNamedItem("data-bm-prerender").value:o.getNamedItem("bm-prerender")?o.getNamedItem("bm-prerender").value:"";if(t==="false")e.prerender=!1;if(!e.path)this.trigger("destroy");else this.setParams(e)},AnimationItem.prototype.includeLayers=function(a){if(a.op>this.animationData.op)this.animationData.op=a.op,this.totalFrames=Math.floor(a.op-this.animationData.ip);var i=this.animationData.layers,e,o=i.length,r=a.layers,n,t=r.length;for(n=0;n<t;n+=1){e=0;while(e<o){if(i[e].id===r[n].id){i[e]=r[n];break}e+=1}}if(a.chars||a.fonts)this.renderer.globalData.fontManager.addChars(a.chars),this.renderer.globalData.fontManager.addFonts(a.fonts,this.renderer.globalData.defs);if(a.assets){o=a.assets.length;for(e=0;e<o;e+=1)this.animationData.assets.push(a.assets[e])}this.animationData.__complete=!1,dataManager.completeAnimation(this.animationData,this.onSegmentComplete)},AnimationItem.prototype.onSegmentComplete=function(a){this.animationData=a;var i=getExpressionsPlugin();if(i)i.initExpressions(this);this.loadNextSegment()},AnimationItem.prototype.loadNextSegment=function(){var a=this.animationData.segments;if(!a||a.length===0||!this.autoloadSegments){this.trigger("data_ready"),this.timeCompleted=this.totalFrames;return}var i=a.shift();this.timeCompleted=i.time*this.frameRate;var e=this.path+this.fileName+"_"+this.segmentPos+".json";this.segmentPos+=1,dataManager.loadData(e,this.includeLayers.bind(this),function(){this.trigger("data_failed")}.bind(this))},AnimationItem.prototype.loadSegments=function(){var a=this.animationData.segments;if(!a)this.timeCompleted=this.totalFrames;this.loadNextSegment()},AnimationItem.prototype.imagesLoaded=function(){this.trigger("loaded_images"),this.checkLoaded()},AnimationItem.prototype.preloadImages=function(){this.imagePreloader.setAssetsPath(this.assetsPath),this.imagePreloader.setPath(this.path),this.imagePreloader.loadAssets(this.animationData.assets,this.imagesLoaded.bind(this))},AnimationItem.prototype.configAnimation=function(a){if(!this.renderer)return;try{if(this.animationData=a,this.initialSegment)this.totalFrames=Math.floor(this.initialSegment[1]-this.initialSegment[0]),this.firstFrame=Math.round(this.initialSegment[0]);else this.totalFrames=Math.floor(this.animationData.op-this.animationData.ip),this.firstFrame=Math.round(this.animationData.ip);if(this.renderer.configAnimation(a),!a.assets)a.assets=[];if(this.assets=this.animationData.assets,this.frameRate=this.animationData.fr,this.frameMult=this.animationData.fr/1000,this.renderer.searchExtraCompositions(a.assets),this.markers=markerParser(a.markers||[]),this.trigger("config_ready"),this.preloadImages(),this.loadSegments(),this.updaFrameModifier(),this.waitForFontsLoaded(),this.isPaused)this.audioController.pause()}catch(i){this.triggerConfigError(i)}},AnimationItem.prototype.waitForFontsLoaded=function(){if(!this.renderer)return;if(this.renderer.globalData.fontManager.isLoaded)this.checkLoaded();else setTimeout(this.waitForFontsLoaded.bind(this),20)},AnimationItem.prototype.checkLoaded=function(){if(!this.isLoaded&&this.renderer.globalData.fontManager.isLoaded&&(this.imagePreloader.loadedImages()||this.renderer.rendererType!=="canvas")&&this.imagePreloader.loadedFootages()){this.isLoaded=!0;var a=getExpressionsPlugin();if(a)a.initExpressions(this);if(this.renderer.initItems(),setTimeout(function(){this.trigger("DOMLoaded")}.bind(this),0),this.gotoFrame(),this.autoplay)this.play()}},AnimationItem.prototype.resize=function(a,i){var e=typeof a==="number"?a:void 0,o=typeof i==="number"?i:void 0;this.renderer.updateContainerSize(e,o)},AnimationItem.prototype.setSubframe=function(a){this.isSubframeEnabled=!!a},AnimationItem.prototype.gotoFrame=function(){if(this.currentFrame=this.isSubframeEnabled?this.currentRawFrame:~~this.currentRawFrame,this.timeCompleted!==this.totalFrames&&this.currentFrame>this.timeCompleted)this.currentFrame=this.timeCompleted;this.trigger("enterFrame"),this.renderFrame(),this.trigger("drawnFrame")},AnimationItem.prototype.renderFrame=function(){if(this.isLoaded===!1||!this.renderer)return;try{if(this.expressionsPlugin)this.expressionsPlugin.resetFrame();this.renderer.renderFrame(this.currentFrame+this.firstFrame)}catch(a){this.triggerRenderFrameError(a)}},AnimationItem.prototype.play=function(a){if(a&&this.name!==a)return;if(this.isPaused===!0){if(this.isPaused=!1,this.trigger("_play"),this.audioController.resume(),this._idle)this._idle=!1,this.trigger("_active")}},AnimationItem.prototype.pause=function(a){if(a&&this.name!==a)return;if(this.isPaused===!1)this.isPaused=!0,this.trigger("_pause"),this._idle=!0,this.trigger("_idle"),this.audioController.pause()},AnimationItem.prototype.togglePause=function(a){if(a&&this.name!==a)return;if(this.isPaused===!0)this.play();else this.pause()},AnimationItem.prototype.stop=function(a){if(a&&this.name!==a)return;this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0)},AnimationItem.prototype.getMarkerData=function(a){var i;for(var e=0;e<this.markers.length;e+=1)if(i=this.markers[e],i.payload&&i.payload.name===a)return i;return null},AnimationItem.prototype.goToAndStop=function(a,i,e){if(e&&this.name!==e)return;var o=Number(a);if(isNaN(o)){var r=this.getMarkerData(a);if(r)this.goToAndStop(r.time,!0)}else if(i)this.setCurrentRawFrameValue(a);else this.setCurrentRawFrameValue(a*this.frameModifier);this.pause()},AnimationItem.prototype.goToAndPlay=function(a,i,e){if(e&&this.name!==e)return;var o=Number(a);if(isNaN(o)){var r=this.getMarkerData(a);if(r)if(!r.duration)this.goToAndStop(r.time,!0);else this.playSegments([r.time,r.time+r.duration],!0)}else this.goToAndStop(o,i,e);this.play()},AnimationItem.prototype.advanceTime=function(a){if(this.isPaused===!0||this.isLoaded===!1)return;var i=this.currentRawFrame+a*this.frameModifier,e=!1;if(i>=this.totalFrames-1&&this.frameModifier>0)if(!this.loop||this.playCount===this.loop){if(!this.checkSegments(i>this.totalFrames?i%this.totalFrames:0))e=!0,i=this.totalFrames-1}else if(i>=this.totalFrames){if(this.playCount+=1,!this.checkSegments(i%this.totalFrames))this.setCurrentRawFrameValue(i%this.totalFrames),this._completedLoop=!0,this.trigger("loopComplete")}else this.setCurrentRawFrameValue(i);else if(i<0){if(!this.checkSegments(i%this.totalFrames))if(this.loop&&!(this.playCount--<=0&&this.loop!==!0))if(this.setCurrentRawFrameValue(this.totalFrames+i%this.totalFrames),!this._completedLoop)this._completedLoop=!0;else this.trigger("loopComplete");else e=!0,i=0}else this.setCurrentRawFrameValue(i);if(e)this.setCurrentRawFrameValue(i),this.pause(),this.trigger("complete")},AnimationItem.prototype.adjustSegment=function(a,i){if(this.playCount=0,a[1]<a[0]){if(this.frameModifier>0)if(this.playSpeed<0)this.setSpeed(-this.playSpeed);else this.setDirection(-1);this.totalFrames=a[0]-a[1],this.timeCompleted=this.totalFrames,this.firstFrame=a[1],this.setCurrentRawFrameValue(this.totalFrames-0.001-i)}else if(a[1]>a[0]){if(this.frameModifier<0)if(this.playSpeed<0)this.setSpeed(-this.playSpeed);else this.setDirection(1);this.totalFrames=a[1]-a[0],this.timeCompleted=this.totalFrames,this.firstFrame=a[0],this.setCurrentRawFrameValue(0.001+i)}this.trigger("segmentStart")},AnimationItem.prototype.setSegment=function(a,i){var e=-1;if(this.isPaused){if(this.currentRawFrame+this.firstFrame<a)e=a;else if(this.currentRawFrame+this.firstFrame>i)e=i-a}if(this.firstFrame=a,this.totalFrames=i-a,this.timeCompleted=this.totalFrames,e!==-1)this.goToAndStop(e,!0)},AnimationItem.prototype.playSegments=function(a,i){if(i)this.segments.length=0;if(_typeof$4(a[0])==="object"){var e,o=a.length;for(e=0;e<o;e+=1)this.segments.push(a[e])}else this.segments.push(a);if(this.segments.length&&i)this.adjustSegment(this.segments.shift(),0);if(this.isPaused)this.play()},AnimationItem.prototype.resetSegments=function(a){if(this.segments.length=0,this.segments.push([this.animationData.ip,this.animationData.op]),a)this.checkSegments(0)},AnimationItem.prototype.checkSegments=function(a){if(this.segments.length)return this.adjustSegment(this.segments.shift(),a),!0;return!1},AnimationItem.prototype.destroy=function(a){if(a&&this.name!==a||!this.renderer)return;this.renderer.destroy(),this.imagePreloader.destroy(),this.trigger("destroy"),this._cbs=null,this.onEnterFrame=null,this.onLoopComplete=null,this.onComplete=null,this.onSegmentStart=null,this.onDestroy=null,this.renderer=null,this.expressionsPlugin=null,this.imagePreloader=null,this.projectInterface=null},AnimationItem.prototype.setCurrentRawFrameValue=function(a){this.currentRawFrame=a,this.gotoFrame()},AnimationItem.prototype.setSpeed=function(a){this.playSpeed=a,this.updaFrameModifier()},AnimationItem.prototype.setDirection=function(a){this.playDirection=a<0?-1:1,this.updaFrameModifier()},AnimationItem.prototype.setLoop=function(a){this.loop=a},AnimationItem.prototype.setVolume=function(a,i){if(i&&this.name!==i)return;this.audioController.setVolume(a)},AnimationItem.prototype.getVolume=function(){return this.audioController.getVolume()},AnimationItem.prototype.mute=function(a){if(a&&this.name!==a)return;this.audioController.mute()},AnimationItem.prototype.unmute=function(a){if(a&&this.name!==a)return;this.audioController.unmute()},AnimationItem.prototype.updaFrameModifier=function(){this.frameModifier=this.frameMult*this.playSpeed*this.playDirection,this.audioController.setRate(this.playSpeed*this.playDirection)},AnimationItem.prototype.getPath=function(){return this.path},AnimationItem.prototype.getAssetsPath=function(a){var i="";if(a.e)i=a.p;else if(this.assetsPath){var e=a.p;if(e.indexOf("images/")!==-1)e=e.split("/")[1];i=this.assetsPath+e}else i=this.path,i+=a.u?a.u:"",i+=a.p;return i},AnimationItem.prototype.getAssetData=function(a){var i=0,e=this.assets.length;while(i<e){if(a===this.assets[i].id)return this.assets[i];i+=1}return null},AnimationItem.prototype.hide=function(){this.renderer.hide()},AnimationItem.prototype.show=function(){this.renderer.show()},AnimationItem.prototype.getDuration=function(a){return a?this.totalFrames:this.totalFrames/this.frameRate},AnimationItem.prototype.updateDocumentData=function(a,i,e){try{var o=this.renderer.getElementByPath(a);o.updateDocumentData(i,e)}catch(r){}},AnimationItem.prototype.trigger=function(a){if(this._cbs&&this._cbs[a])switch(a){case"enterFrame":this.triggerEvent(a,new BMEnterFrameEvent(a,this.currentFrame,this.totalFrames,this.frameModifier));break;case"drawnFrame":this.drawnFrameEvent.currentTime=this.currentFrame,this.drawnFrameEvent.totalTime=this.totalFrames,this.drawnFrameEvent.direction=this.frameModifier,this.triggerEvent(a,this.drawnFrameEvent);break;case"loopComplete":this.triggerEvent(a,new BMCompleteLoopEvent(a,this.loop,this.playCount,this.frameMult));break;case"complete":this.triggerEvent(a,new BMCompleteEvent(a,this.frameMult));break;case"segmentStart":this.triggerEvent(a,new BMSegmentStartEvent(a,this.firstFrame,this.totalFrames));break;case"destroy":this.triggerEvent(a,new BMDestroyEvent(a,this));break;default:this.triggerEvent(a)}if(a==="enterFrame"&&this.onEnterFrame)this.onEnterFrame.call(this,new BMEnterFrameEvent(a,this.currentFrame,this.totalFrames,this.frameMult));if(a==="loopComplete"&&this.onLoopComplete)this.onLoopComplete.call(this,new BMCompleteLoopEvent(a,this.loop,this.playCount,this.frameMult));if(a==="complete"&&this.onComplete)this.onComplete.call(this,new BMCompleteEvent(a,this.frameMult));if(a==="segmentStart"&&this.onSegmentStart)this.onSegmentStart.call(this,new BMSegmentStartEvent(a,this.firstFrame,this.totalFrames));if(a==="destroy"&&this.onDestroy)this.onDestroy.call(this,new BMDestroyEvent(a,this))},AnimationItem.prototype.triggerRenderFrameError=function(a){var i=new BMRenderFrameErrorEvent(a,this.currentFrame);if(this.triggerEvent("error",i),this.onError)this.onError.call(this,i)},AnimationItem.prototype.triggerConfigError=function(a){var i=new BMConfigErrorEvent(a,this.currentFrame);if(this.triggerEvent("error",i),this.onError)this.onError.call(this,i)};var animationManager=function(){var a={},i=[],e=0,o=0,r=0,n=!0,t=!1;function s(H){var Z=0,w=H.target;while(Z<o){if(i[Z].animation===w){if(i.splice(Z,1),Z-=1,o-=1,!w.isPaused)f()}Z+=1}}function l(H,Z){if(!H)return null;var w=0;while(w<o){if(i[w].elem===H&&i[w].elem!==null)return i[w].animation;w+=1}var x=new AnimationItem;return c(x,H),x.setData(H,Z),x}function u(){var H,Z=i.length,w=[];for(H=0;H<Z;H+=1)w.push(i[H].animation);return w}function h(){r+=1,M()}function f(){r-=1}function c(H,Z){H.addEventListener("destroy",s),H.addEventListener("_active",h),H.addEventListener("_idle",f),i.push({elem:Z,animation:H}),o+=1}function y(H){var Z=new AnimationItem;return c(Z,null),Z.setParams(H),Z}function g(H,Z){var w;for(w=0;w<o;w+=1)i[w].animation.setSpeed(H,Z)}function b(H,Z){var w;for(w=0;w<o;w+=1)i[w].animation.setDirection(H,Z)}function I(H){var Z;for(Z=0;Z<o;Z+=1)i[Z].animation.play(H)}function m(H){var Z=H-e,w;for(w=0;w<o;w+=1)i[w].animation.advanceTime(Z);if(e=H,r&&!t)window.requestAnimationFrame(m);else n=!0}function k(H){e=H,window.requestAnimationFrame(m)}function p(H){var Z;for(Z=0;Z<o;Z+=1)i[Z].animation.pause(H)}function v(H,Z,w){var x;for(x=0;x<o;x+=1)i[x].animation.goToAndStop(H,Z,w)}function S(H){var Z;for(Z=0;Z<o;Z+=1)i[Z].animation.stop(H)}function F(H){var Z;for(Z=0;Z<o;Z+=1)i[Z].animation.togglePause(H)}function K(H){var Z;for(Z=o-1;Z>=0;Z-=1)i[Z].animation.destroy(H)}function R(H,Z,w){var x=[].concat([].slice.call(document.getElementsByClassName("lottie")),[].slice.call(document.getElementsByClassName("bodymovin"))),V,B=x.length;for(V=0;V<B;V+=1){if(w)x[V].setAttribute("data-bm-type",w);l(x[V],H)}if(Z&&B===0){if(!w)w="svg";var A=document.getElementsByTagName("body")[0];A.innerText="";var ia=createTag("div");ia.style.width="100%",ia.style.height="100%",ia.setAttribute("data-bm-type",w),A.appendChild(ia),l(ia,H)}}function P(){var H;for(H=0;H<o;H+=1)i[H].animation.resize()}function M(){if(!t&&r){if(n)window.requestAnimationFrame(k),n=!1}}function X(){t=!0}function _(){t=!1,M()}function U(H,Z){var w;for(w=0;w<o;w+=1)i[w].animation.setVolume(H,Z)}function G(H){var Z;for(Z=0;Z<o;Z+=1)i[Z].animation.mute(H)}function O(H){var Z;for(Z=0;Z<o;Z+=1)i[Z].animation.unmute(H)}return a.registerAnimation=l,a.loadAnimation=y,a.setSpeed=g,a.setDirection=b,a.play=I,a.pause=p,a.stop=S,a.togglePause=F,a.searchAnimations=R,a.resize=P,a.goToAndStop=v,a.destroy=K,a.freeze=X,a.unfreeze=_,a.setVolume=U,a.mute=G,a.unmute=O,a.getRegisteredAnimations=u,a}(),BezierFactory=function(){var a={};a.getBezierEasing=e;var i={};function e(k,p,v,S,F){var K=F||("bez_"+k+"_"+p+"_"+v+"_"+S).replace(/\./g,"p");if(i[K])return i[K];var R=new m([k,p,v,S]);return i[K]=R,R}var o=4,r=0.001,n=0.0000001,t=10,s=11,l=1/(s-1),u=typeof Float32Array==="function";function h(k,p){return 1-3*p+3*k}function f(k,p){return 3*p-6*k}function c(k){return 3*k}function y(k,p,v){return((h(p,v)*k+f(p,v))*k+c(p))*k}function g(k,p,v){return 3*h(p,v)*k*k+2*f(p,v)*k+c(p)}function b(k,p,v,S,F){var K,R,P=0;do if(R=p+(v-p)/2,K=y(R,S,F)-k,K>0)v=R;else p=R;while(Math.abs(K)>n&&++P<t);return R}function I(k,p,v,S){for(var F=0;F<o;++F){var K=g(p,v,S);if(K===0)return p;var R=y(p,v,S)-k;p-=R/K}return p}function m(k){this._p=k,this._mSampleValues=u?new Float32Array(s):new Array(s),this._precomputed=!1,this.get=this.get.bind(this)}return m.prototype={get:function k(p){var v=this._p[0],S=this._p[1],F=this._p[2],K=this._p[3];if(!this._precomputed)this._precompute();if(v===S&&F===K)return p;if(p===0)return 0;if(p===1)return 1;return y(this._getTForX(p),S,K)},_precompute:function k(){var p=this._p[0],v=this._p[1],S=this._p[2],F=this._p[3];if(this._precomputed=!0,p!==v||S!==F)this._calcSampleValues()},_calcSampleValues:function k(){var p=this._p[0],v=this._p[2];for(var S=0;S<s;++S)this._mSampleValues[S]=y(S*l,p,v)},_getTForX:function k(p){var v=this._p[0],S=this._p[2],F=this._mSampleValues,K=0,R=1,P=s-1;for(;R!==P&&F[R]<=p;++R)K+=l;--R;var M=(p-F[R])/(F[R+1]-F[R]),X=K+M*l,_=g(X,v,S);if(_>=r)return I(p,X,v,S);if(_===0)return X;return b(p,K,K+l,v,S)}},a}(),pooling=function(){function a(i){return i.concat(createSizedArray(i.length))}return{double:a}}(),poolFactory=function(){return function(a,i,e){var o=0,r=a,n=createSizedArray(r),t={newElement:s,release:l};function s(){var u;if(o)o-=1,u=n[o];else u=i();return u}function l(u){if(o===r)n=pooling.double(n),r*=2;if(e)e(u);n[o]=u,o+=1}return t}}(),bezierLengthPool=function(){function a(){return{addedLength:0,percents:createTypedArray("float32",getDefaultCurveSegments()),lengths:createTypedArray("float32",getDefaultCurveSegments())}}return poolFactory(8,a)}(),segmentsLengthPool=function(){function a(){return{lengths:[],totalLength:0}}function i(e){var o,r=e.lengths.length;for(o=0;o<r;o+=1)bezierLengthPool.release(e.lengths[o]);e.lengths.length=0}return poolFactory(8,a,i)}();function bezFunction(){var a=Math;function i(c,y,g,b,I,m){var k=c*b+y*I+g*m-I*b-m*c-g*y;return k>-0.001&&k<0.001}function e(c,y,g,b,I,m,k,p,v){if(g===0&&m===0&&v===0)return i(c,y,b,I,k,p);var S=a.sqrt(a.pow(b-c,2)+a.pow(I-y,2)+a.pow(m-g,2)),F=a.sqrt(a.pow(k-c,2)+a.pow(p-y,2)+a.pow(v-g,2)),K=a.sqrt(a.pow(k-b,2)+a.pow(p-I,2)+a.pow(v-m,2)),R;if(S>F)if(S>K)R=S-F-K;else R=K-F-S;else if(K>F)R=K-F-S;else R=F-S-K;return R>-0.0001&&R<0.0001}var o=function(){return function(c,y,g,b){var I=getDefaultCurveSegments(),m,k,p,v,S,F=0,K,R=[],P=[],M=bezierLengthPool.newElement();p=g.length;for(m=0;m<I;m+=1){S=m/(I-1),K=0;for(k=0;k<p;k+=1){if(v=bmPow(1-S,3)*c[k]+3*bmPow(1-S,2)*S*g[k]+3*(1-S)*bmPow(S,2)*b[k]+bmPow(S,3)*y[k],R[k]=v,P[k]!==null)K+=bmPow(R[k]-P[k],2);P[k]=R[k]}if(K)K=bmSqrt(K),F+=K;M.percents[m]=S,M.lengths[m]=F}return M.addedLength=F,M}}();function r(c){var y=segmentsLengthPool.newElement(),g=c.c,b=c.v,I=c.o,m=c.i,k,p=c._length,v=y.lengths,S=0;for(k=0;k<p-1;k+=1)v[k]=o(b[k],b[k+1],I[k],m[k+1]),S+=v[k].addedLength;if(g&&p)v[k]=o(b[k],b[0],I[k],m[0]),S+=v[k].addedLength;return y.totalLength=S,y}function n(c){this.segmentLength=0,this.points=new Array(c)}function t(c,y){this.partialLength=c,this.point=y}var s=function(){var c={};return function(y,g,b,I){var m=(y[0]+"_"+y[1]+"_"+g[0]+"_"+g[1]+"_"+b[0]+"_"+b[1]+"_"+I[0]+"_"+I[1]).replace(/\./g,"p");if(!c[m]){var k=getDefaultCurveSegments(),p,v,S,F,K,R=0,P,M,X=null;if(y.length===2&&(y[0]!==g[0]||y[1]!==g[1])&&i(y[0],y[1],g[0],g[1],y[0]+b[0],y[1]+b[1])&&i(y[0],y[1],g[0],g[1],g[0]+I[0],g[1]+I[1]))k=2;var _=new n(k);S=b.length;for(p=0;p<k;p+=1){M=createSizedArray(S),K=p/(k-1),P=0;for(v=0;v<S;v+=1)if(F=bmPow(1-K,3)*y[v]+3*bmPow(1-K,2)*K*(y[v]+b[v])+3*(1-K)*bmPow(K,2)*(g[v]+I[v])+bmPow(K,3)*g[v],M[v]=F,X!==null)P+=bmPow(M[v]-X[v],2);P=bmSqrt(P),R+=P,_.points[p]=new t(P,M),X=M}_.segmentLength=R,c[m]=_}return c[m]}}();function l(c,y){var{percents:g,lengths:b}=y,I=g.length,m=bmFloor((I-1)*c),k=c*y.addedLength,p=0;if(m===I-1||m===0||k===b[m])return g[m];var v=b[m]>k?-1:1,S=!0;while(S){if(b[m]<=k&&b[m+1]>k)p=(k-b[m])/(b[m+1]-b[m]),S=!1;else m+=v;if(m<0||m>=I-1){if(m===I-1)return g[m];S=!1}}return g[m]+(g[m+1]-g[m])*p}function u(c,y,g,b,I,m){var k=l(I,m),p=1-k,v=a.round((p*p*p*c[0]+(k*p*p+p*k*p+p*p*k)*g[0]+(k*k*p+p*k*k+k*p*k)*b[0]+k*k*k*y[0])*1000)/1000,S=a.round((p*p*p*c[1]+(k*p*p+p*k*p+p*p*k)*g[1]+(k*k*p+p*k*k+k*p*k)*b[1]+k*k*k*y[1])*1000)/1000;return[v,S]}var h=createTypedArray("float32",8);function f(c,y,g,b,I,m,k){if(I<0)I=0;else if(I>1)I=1;var p=l(I,k);m=m>1?1:m;var v=l(m,k),S,F=c.length,K=1-p,R=1-v,P=K*K*K,M=p*K*K*3,X=p*p*K*3,_=p*p*p,U=K*K*R,G=p*K*R+K*p*R+K*K*v,O=p*p*R+K*p*v+p*K*v,H=p*p*v,Z=K*R*R,w=p*R*R+K*v*R+K*R*v,x=p*v*R+K*v*v+p*R*v,V=p*v*v,B=R*R*R,A=v*R*R+R*v*R+R*R*v,ia=v*v*R+R*v*v+v*R*v,ra=v*v*v;for(S=0;S<F;S+=1)h[S*4]=a.round((P*c[S]+M*g[S]+X*b[S]+_*y[S])*1000)/1000,h[S*4+1]=a.round((U*c[S]+G*g[S]+O*b[S]+H*y[S])*1000)/1000,h[S*4+2]=a.round((Z*c[S]+w*g[S]+x*b[S]+V*y[S])*1000)/1000,h[S*4+3]=a.round((B*c[S]+A*g[S]+ia*b[S]+ra*y[S])*1000)/1000;return h}return{getSegmentsLength:r,getNewSegment:f,getPointInSegment:u,buildBezierData:s,pointOnLine2D:i,pointOnLine3D:e}}var bez=bezFunction(),initFrame=initialDefaultFrame,mathAbs=Math.abs;function interpolateValue(a,i){var e=this.offsetTime,o;if(this.propType==="multidimensional")o=createTypedArray("float32",this.pv.length);var r=i.lastIndex,n=r,t=this.keyframes.length-1,s=!0,l,u,h;while(s){if(l=this.keyframes[n],u=this.keyframes[n+1],n===t-1&&a>=u.t-e){if(l.h)l=u;r=0;break}if(u.t-e>a){r=n;break}if(n<t-1)n+=1;else r=0,s=!1}h=this.keyframesMetadata[n]||{};var f,c,y,g,b,I,m=u.t-e,k=l.t-e,p;if(l.to){if(!h.bezierData)h.bezierData=bez.buildBezierData(l.s,u.s||l.e,l.to,l.ti);var v=h.bezierData;if(a>=m||a<k){var S=a>=m?v.points.length-1:0;c=v.points[S].point.length;for(f=0;f<c;f+=1)o[f]=v.points[S].point[f]}else{if(h.__fnct)I=h.__fnct;else I=BezierFactory.getBezierEasing(l.o.x,l.o.y,l.i.x,l.i.y,l.n).get,h.__fnct=I;y=I((a-k)/(m-k));var F=v.segmentLength*y,K,R=i.lastFrame<a&&i._lastKeyframeIndex===n?i._lastAddedLength:0;b=i.lastFrame<a&&i._lastKeyframeIndex===n?i._lastPoint:0,s=!0,g=v.points.length;while(s){if(R+=v.points[b].partialLength,F===0||y===0||b===v.points.length-1){c=v.points[b].point.length;for(f=0;f<c;f+=1)o[f]=v.points[b].point[f];break}else if(F>=R&&F<R+v.points[b+1].partialLength){K=(F-R)/v.points[b+1].partialLength,c=v.points[b].point.length;for(f=0;f<c;f+=1)o[f]=v.points[b].point[f]+(v.points[b+1].point[f]-v.points[b].point[f])*K;break}if(b<g-1)b+=1;else s=!1}i._lastPoint=b,i._lastAddedLength=R-v.points[b].partialLength,i._lastKeyframeIndex=n}}else{var P,M,X,_,U;if(t=l.s.length,p=u.s||l.e,this.sh&&l.h!==1)if(a>=m)o[0]=p[0],o[1]=p[1],o[2]=p[2];else if(a<=k)o[0]=l.s[0],o[1]=l.s[1],o[2]=l.s[2];else{var G=createQuaternion(l.s),O=createQuaternion(p),H=(a-k)/(m-k);quaternionToEuler(o,slerp(G,O,H))}else for(n=0;n<t;n+=1){if(l.h!==1)if(a>=m)y=1;else if(a<k)y=0;else{if(l.o.x.constructor===Array){if(!h.__fnct)h.__fnct=[];if(!h.__fnct[n])P=l.o.x[n]===void 0?l.o.x[0]:l.o.x[n],M=l.o.y[n]===void 0?l.o.y[0]:l.o.y[n],X=l.i.x[n]===void 0?l.i.x[0]:l.i.x[n],_=l.i.y[n]===void 0?l.i.y[0]:l.i.y[n],I=BezierFactory.getBezierEasing(P,M,X,_).get,h.__fnct[n]=I;else I=h.__fnct[n]}else if(!h.__fnct)P=l.o.x,M=l.o.y,X=l.i.x,_=l.i.y,I=BezierFactory.getBezierEasing(P,M,X,_).get,l.keyframeMetadata=I;else I=h.__fnct;y=I((a-k)/(m-k))}if(p=u.s||l.e,U=l.h===1?l.s[n]:l.s[n]+(p[n]-l.s[n])*y,this.propType==="multidimensional")o[n]=U;else o=U}}return i.lastIndex=r,o}function slerp(a,i,e){var o=[],r=a[0],n=a[1],t=a[2],s=a[3],l=i[0],u=i[1],h=i[2],f=i[3],c,y,g,b,I;if(y=r*l+n*u+t*h+s*f,y<0)y=-y,l=-l,u=-u,h=-h,f=-f;if(1-y>0.000001)c=Math.acos(y),g=Math.sin(c),b=Math.sin((1-e)*c)/g,I=Math.sin(e*c)/g;else b=1-e,I=e;return o[0]=b*r+I*l,o[1]=b*n+I*u,o[2]=b*t+I*h,o[3]=b*s+I*f,o}function quaternionToEuler(a,i){var e=i[0],o=i[1],r=i[2],n=i[3],t=Math.atan2(2*o*n-2*e*r,1-2*o*o-2*r*r),s=Math.asin(2*e*o+2*r*n),l=Math.atan2(2*e*n-2*o*r,1-2*e*e-2*r*r);a[0]=t/degToRads,a[1]=s/degToRads,a[2]=l/degToRads}function createQuaternion(a){var i=a[0]*degToRads,e=a[1]*degToRads,o=a[2]*degToRads,r=Math.cos(i/2),n=Math.cos(e/2),t=Math.cos(o/2),s=Math.sin(i/2),l=Math.sin(e/2),u=Math.sin(o/2),h=r*n*t-s*l*u,f=s*l*t+r*n*u,c=s*n*t+r*l*u,y=r*l*t-s*n*u;return[f,c,y,h]}function getValueAtCurrentTime(){var a=this.comp.renderedFrame-this.offsetTime,i=this.keyframes[0].t-this.offsetTime,e=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(a===this._caching.lastFrame||this._caching.lastFrame!==initFrame&&(this._caching.lastFrame>=e&&a>=e||this._caching.lastFrame<i&&a<i))){if(this._caching.lastFrame>=a)this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0;var o=this.interpolateValue(a,this._caching);this.pv=o}return this._caching.lastFrame=a,this.pv}function setVValue(a){var i;if(this.propType==="unidimensional"){if(i=a*this.mult,mathAbs(this.v-i)>0.00001)this.v=i,this._mdf=!0}else{var e=0,o=this.v.length;while(e<o){if(i=a[e]*this.mult,mathAbs(this.v[e]-i)>0.00001)this.v[e]=i,this._mdf=!0;e+=1}}}function processEffectsSequence(){if(this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)return;if(this.lock){this.setVValue(this.pv);return}this.lock=!0,this._mdf=this._isFirstFrame;var a,i=this.effectsSequence.length,e=this.kf?this.pv:this.data.k;for(a=0;a<i;a+=1)e=this.effectsSequence[a](e);this.setVValue(e),this._isFirstFrame=!1,this.lock=!1,this.frameId=this.elem.globalData.frameId}function addEffect(a){this.effectsSequence.push(a),this.container.addDynamicProperty(this)}function ValueProperty(a,i,e,o){this.propType="unidimensional",this.mult=e||1,this.data=i,this.v=e?i.k*e:i.k,this.pv=i.k,this._mdf=!1,this.elem=a,this.container=o,this.comp=a.comp,this.k=!1,this.kf=!1,this.vel=0,this.effectsSequence=[],this._isFirstFrame=!0,this.getValue=processEffectsSequence,this.setVValue=setVValue,this.addEffect=addEffect}function MultiDimensionalProperty(a,i,e,o){this.propType="multidimensional",this.mult=e||1,this.data=i,this._mdf=!1,this.elem=a,this.container=o,this.comp=a.comp,this.k=!1,this.kf=!1,this.frameId=-1;var r,n=i.k.length;this.v=createTypedArray("float32",n),this.pv=createTypedArray("float32",n),this.vel=createTypedArray("float32",n);for(r=0;r<n;r+=1)this.v[r]=i.k[r]*this.mult,this.pv[r]=i.k[r];this._isFirstFrame=!0,this.effectsSequence=[],this.getValue=processEffectsSequence,this.setVValue=setVValue,this.addEffect=addEffect}function KeyframedValueProperty(a,i,e,o){this.propType="unidimensional",this.keyframes=i.k,this.keyframesMetadata=[],this.offsetTime=a.data.st,this.frameId=-1,this._caching={lastFrame:initFrame,lastIndex:0,value:0,_lastKeyframeIndex:-1},this.k=!0,this.kf=!0,this.data=i,this.mult=e||1,this.elem=a,this.container=o,this.comp=a.comp,this.v=initFrame,this.pv=initFrame,this._isFirstFrame=!0,this.getValue=processEffectsSequence,this.setVValue=setVValue,this.interpolateValue=interpolateValue,this.effectsSequence=[getValueAtCurrentTime.bind(this)],this.addEffect=addEffect}function KeyframedMultidimensionalProperty(a,i,e,o){this.propType="multidimensional";var r,n=i.k.length,t,s,l,u;for(r=0;r<n-1;r+=1)if(i.k[r].to&&i.k[r].s&&i.k[r+1]&&i.k[r+1].s){if(t=i.k[r].s,s=i.k[r+1].s,l=i.k[r].to,u=i.k[r].ti,t.length===2&&!(t[0]===s[0]&&t[1]===s[1])&&bez.pointOnLine2D(t[0],t[1],s[0],s[1],t[0]+l[0],t[1]+l[1])&&bez.pointOnLine2D(t[0],t[1],s[0],s[1],s[0]+u[0],s[1]+u[1])||t.length===3&&!(t[0]===s[0]&&t[1]===s[1]&&t[2]===s[2])&&bez.pointOnLine3D(t[0],t[1],t[2],s[0],s[1],s[2],t[0]+l[0],t[1]+l[1],t[2]+l[2])&&bez.pointOnLine3D(t[0],t[1],t[2],s[0],s[1],s[2],s[0]+u[0],s[1]+u[1],s[2]+u[2]))i.k[r].to=null,i.k[r].ti=null;if(t[0]===s[0]&&t[1]===s[1]&&l[0]===0&&l[1]===0&&u[0]===0&&u[1]===0){if(t.length===2||t[2]===s[2]&&l[2]===0&&u[2]===0)i.k[r].to=null,i.k[r].ti=null}}this.effectsSequence=[getValueAtCurrentTime.bind(this)],this.data=i,this.keyframes=i.k,this.keyframesMetadata=[],this.offsetTime=a.data.st,this.k=!0,this.kf=!0,this._isFirstFrame=!0,this.mult=e||1,this.elem=a,this.container=o,this.comp=a.comp,this.getValue=processEffectsSequence,this.setVValue=setVValue,this.interpolateValue=interpolateValue,this.frameId=-1;var h=i.k[0].s.length;this.v=createTypedArray("float32",h),this.pv=createTypedArray("float32",h);for(r=0;r<h;r+=1)this.v[r]=initFrame,this.pv[r]=initFrame;this._caching={lastFrame:initFrame,lastIndex:0,value:createTypedArray("float32",h)},this.addEffect=addEffect}var PropertyFactory=function(){function a(e,o,r,n,t){if(o.sid)o=e.globalData.slotManager.getProp(o);var s;if(!o.k.length)s=new ValueProperty(e,o,n,t);else if(typeof o.k[0]==="number")s=new MultiDimensionalProperty(e,o,n,t);else switch(r){case 0:s=new KeyframedValueProperty(e,o,n,t);break;case 1:s=new KeyframedMultidimensionalProperty(e,o,n,t);break;default:break}if(s.effectsSequence.length)t.addDynamicProperty(s);return s}var i={getProp:a};return i}();function DynamicPropertyContainer(){}DynamicPropertyContainer.prototype={addDynamicProperty:function a(i){if(this.dynamicProperties.indexOf(i)===-1)this.dynamicProperties.push(i),this.container.addDynamicProperty(this),this._isAnimated=!0},iterateDynamicProperties:function a(){this._mdf=!1;var i,e=this.dynamicProperties.length;for(i=0;i<e;i+=1)if(this.dynamicProperties[i].getValue(),this.dynamicProperties[i]._mdf)this._mdf=!0},initDynamicPropertyContainer:function a(i){this.container=i,this.dynamicProperties=[],this._mdf=!1,this._isAnimated=!1}};var pointPool=function(){function a(){return createTypedArray("float32",2)}return poolFactory(8,a)}();function ShapePath(){this.c=!1,this._length=0,this._maxLength=8,this.v=createSizedArray(this._maxLength),this.o=createSizedArray(this._maxLength),this.i=createSizedArray(this._maxLength)}ShapePath.prototype.setPathData=function(a,i){this.c=a,this.setLength(i);var e=0;while(e<i)this.v[e]=pointPool.newElement(),this.o[e]=pointPool.newElement(),this.i[e]=pointPool.newElement(),e+=1},ShapePath.prototype.setLength=function(a){while(this._maxLength<a)this.doubleArrayLength();this._length=a},ShapePath.prototype.doubleArrayLength=function(){this.v=this.v.concat(createSizedArray(this._maxLength)),this.i=this.i.concat(createSizedArray(this._maxLength)),this.o=this.o.concat(createSizedArray(this._maxLength)),this._maxLength*=2},ShapePath.prototype.setXYAt=function(a,i,e,o,r){var n;if(this._length=Math.max(this._length,o+1),this._length>=this._maxLength)this.doubleArrayLength();switch(e){case"v":n=this.v;break;case"i":n=this.i;break;case"o":n=this.o;break;default:n=[];break}if(!n[o]||n[o]&&!r)n[o]=pointPool.newElement();n[o][0]=a,n[o][1]=i},ShapePath.prototype.setTripleAt=function(a,i,e,o,r,n,t,s){this.setXYAt(a,i,"v",t,s),this.setXYAt(e,o,"o",t,s),this.setXYAt(r,n,"i",t,s)},ShapePath.prototype.reverse=function(){var a=new ShapePath;a.setPathData(this.c,this._length);var i=this.v,e=this.o,o=this.i,r=0;if(this.c)a.setTripleAt(i[0][0],i[0][1],o[0][0],o[0][1],e[0][0],e[0][1],0,!1),r=1;var n=this._length-1,t=this._length,s;for(s=r;s<t;s+=1)a.setTripleAt(i[n][0],i[n][1],o[n][0],o[n][1],e[n][0],e[n][1],s,!1),n-=1;return a},ShapePath.prototype.length=function(){return this._length};var shapePool=function(){function a(){return new ShapePath}function i(r){var n=r._length,t;for(t=0;t<n;t+=1)pointPool.release(r.v[t]),pointPool.release(r.i[t]),pointPool.release(r.o[t]),r.v[t]=null,r.i[t]=null,r.o[t]=null;r._length=0,r.c=!1}function e(r){var n=o.newElement(),t,s=r._length===void 0?r.v.length:r._length;n.setLength(s),n.c=r.c;for(t=0;t<s;t+=1)n.setTripleAt(r.v[t][0],r.v[t][1],r.o[t][0],r.o[t][1],r.i[t][0],r.i[t][1],t);return n}var o=poolFactory(4,a,i);return o.clone=e,o}();function ShapeCollection(){this._length=0,this._maxLength=4,this.shapes=createSizedArray(this._maxLength)}ShapeCollection.prototype.addShape=function(a){if(this._length===this._maxLength)this.shapes=this.shapes.concat(createSizedArray(this._maxLength)),this._maxLength*=2;this.shapes[this._length]=a,this._length+=1},ShapeCollection.prototype.releaseShapes=function(){var a;for(a=0;a<this._length;a+=1)shapePool.release(this.shapes[a]);this._length=0};var shapeCollectionPool=function(){var a={newShapeCollection:r,release:n},i=0,e=4,o=createSizedArray(e);function r(){var t;if(i)i-=1,t=o[i];else t=new ShapeCollection;return t}function n(t){var s,l=t._length;for(s=0;s<l;s+=1)shapePool.release(t.shapes[s]);if(t._length=0,i===e)o=pooling.double(o),e*=2;o[i]=t,i+=1}return a}(),ShapePropertyFactory=function(){var a=-999999;function i(m,k,p){var v=p.lastIndex,S,F,K,R,P,M,X,_,U,G=this.keyframes;if(m<G[0].t-this.offsetTime)S=G[0].s[0],K=!0,v=0;else if(m>=G[G.length-1].t-this.offsetTime)S=G[G.length-1].s?G[G.length-1].s[0]:G[G.length-2].e[0],K=!0;else{var O=v,H=G.length-1,Z=!0,w,x,V;while(Z){if(w=G[O],x=G[O+1],x.t-this.offsetTime>m)break;if(O<H-1)O+=1;else Z=!1}if(V=this.keyframesMetadata[O]||{},K=w.h===1,v=O,!K){if(m>=x.t-this.offsetTime)_=1;else if(m<w.t-this.offsetTime)_=0;else{var B;if(V.__fnct)B=V.__fnct;else B=BezierFactory.getBezierEasing(w.o.x,w.o.y,w.i.x,w.i.y).get,V.__fnct=B;_=B((m-(w.t-this.offsetTime))/(x.t-this.offsetTime-(w.t-this.offsetTime)))}F=x.s?x.s[0]:w.e[0]}S=w.s[0]}M=k._length,X=S.i[0].length,p.lastIndex=v;for(R=0;R<M;R+=1)for(P=0;P<X;P+=1)U=K?S.i[R][P]:S.i[R][P]+(F.i[R][P]-S.i[R][P])*_,k.i[R][P]=U,U=K?S.o[R][P]:S.o[R][P]+(F.o[R][P]-S.o[R][P])*_,k.o[R][P]=U,U=K?S.v[R][P]:S.v[R][P]+(F.v[R][P]-S.v[R][P])*_,k.v[R][P]=U}function e(){var m=this.comp.renderedFrame-this.offsetTime,k=this.keyframes[0].t-this.offsetTime,p=this.keyframes[this.keyframes.length-1].t-this.offsetTime,v=this._caching.lastFrame;if(!(v!==a&&(v<k&&m<k||v>p&&m>p)))this._caching.lastIndex=v<m?this._caching.lastIndex:0,this.interpolateShape(m,this.pv,this._caching);return this._caching.lastFrame=m,this.pv}function o(){this.paths=this.localShapeCollection}function r(m,k){if(m._length!==k._length||m.c!==k.c)return!1;var p,v=m._length;for(p=0;p<v;p+=1)if(m.v[p][0]!==k.v[p][0]||m.v[p][1]!==k.v[p][1]||m.o[p][0]!==k.o[p][0]||m.o[p][1]!==k.o[p][1]||m.i[p][0]!==k.i[p][0]||m.i[p][1]!==k.i[p][1])return!1;return!0}function n(m){if(!r(this.v,m))this.v=shapePool.clone(m),this.localShapeCollection.releaseShapes(),this.localShapeCollection.addShape(this.v),this._mdf=!0,this.paths=this.localShapeCollection}function t(){if(this.elem.globalData.frameId===this.frameId)return;if(!this.effectsSequence.length){this._mdf=!1;return}if(this.lock){this.setVValue(this.pv);return}this.lock=!0,this._mdf=!1;var m;if(this.kf)m=this.pv;else if(this.data.ks)m=this.data.ks.k;else m=this.data.pt.k;var k,p=this.effectsSequence.length;for(k=0;k<p;k+=1)m=this.effectsSequence[k](m);this.setVValue(m),this.lock=!1,this.frameId=this.elem.globalData.frameId}function s(m,k,p){this.propType="shape",this.comp=m.comp,this.container=m,this.elem=m,this.data=k,this.k=!1,this.kf=!1,this._mdf=!1;var v=p===3?k.pt.k:k.ks.k;this.v=shapePool.clone(v),this.pv=shapePool.clone(this.v),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.paths.addShape(this.v),this.reset=o,this.effectsSequence=[]}function l(m){this.effectsSequence.push(m),this.container.addDynamicProperty(this)}s.prototype.interpolateShape=i,s.prototype.getValue=t,s.prototype.setVValue=n,s.prototype.addEffect=l;function u(m,k,p){this.propType="shape",this.comp=m.comp,this.elem=m,this.container=m,this.offsetTime=m.data.st,this.keyframes=p===3?k.pt.k:k.ks.k,this.keyframesMetadata=[],this.k=!0,this.kf=!0;var v=this.keyframes[0].s[0].i.length;this.v=shapePool.newElement(),this.v.setPathData(this.keyframes[0].s[0].c,v),this.pv=shapePool.clone(this.v),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.paths.addShape(this.v),this.lastFrame=a,this.reset=o,this._caching={lastFrame:a,lastIndex:0},this.effectsSequence=[e.bind(this)]}u.prototype.getValue=t,u.prototype.interpolateShape=i,u.prototype.setVValue=n,u.prototype.addEffect=l;var h=function(){var m=roundCorner;function k(p,v){if(this.v=shapePool.newElement(),this.v.setPathData(!0,4),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.localShapeCollection.addShape(this.v),this.d=v.d,this.elem=p,this.comp=p.comp,this.frameId=-1,this.initDynamicPropertyContainer(p),this.p=PropertyFactory.getProp(p,v.p,1,0,this),this.s=PropertyFactory.getProp(p,v.s,1,0,this),this.dynamicProperties.length)this.k=!0;else this.k=!1,this.convertEllToPath()}return k.prototype={reset:o,getValue:function p(){if(this.elem.globalData.frameId===this.frameId)return;if(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf)this.convertEllToPath()},convertEllToPath:function p(){var v=this.p.v[0],S=this.p.v[1],F=this.s.v[0]/2,K=this.s.v[1]/2,R=this.d!==3,P=this.v;P.v[0][0]=v,P.v[0][1]=S-K,P.v[1][0]=R?v+F:v-F,P.v[1][1]=S,P.v[2][0]=v,P.v[2][1]=S+K,P.v[3][0]=R?v-F:v+F,P.v[3][1]=S,P.i[0][0]=R?v-F*m:v+F*m,P.i[0][1]=S-K,P.i[1][0]=R?v+F:v-F,P.i[1][1]=S-K*m,P.i[2][0]=R?v+F*m:v-F*m,P.i[2][1]=S+K,P.i[3][0]=R?v-F:v+F,P.i[3][1]=S+K*m,P.o[0][0]=R?v+F*m:v-F*m,P.o[0][1]=S-K,P.o[1][0]=R?v+F:v-F,P.o[1][1]=S+K*m,P.o[2][0]=R?v-F*m:v+F*m,P.o[2][1]=S+K,P.o[3][0]=R?v-F:v+F,P.o[3][1]=S-K*m}},extendPrototype([DynamicPropertyContainer],k),k}(),f=function(){function m(k,p){if(this.v=shapePool.newElement(),this.v.setPathData(!0,0),this.elem=k,this.comp=k.comp,this.data=p,this.frameId=-1,this.d=p.d,this.initDynamicPropertyContainer(k),p.sy===1)this.ir=PropertyFactory.getProp(k,p.ir,0,0,this),this.is=PropertyFactory.getProp(k,p.is,0,0.01,this),this.convertToPath=this.convertStarToPath;else this.convertToPath=this.convertPolygonToPath;if(this.pt=PropertyFactory.getProp(k,p.pt,0,0,this),this.p=PropertyFactory.getProp(k,p.p,1,0,this),this.r=PropertyFactory.getProp(k,p.r,0,degToRads,this),this.or=PropertyFactory.getProp(k,p.or,0,0,this),this.os=PropertyFactory.getProp(k,p.os,0,0.01,this),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.localShapeCollection.addShape(this.v),this.paths=this.localShapeCollection,this.dynamicProperties.length)this.k=!0;else this.k=!1,this.convertToPath()}return m.prototype={reset:o,getValue:function k(){if(this.elem.globalData.frameId===this.frameId)return;if(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf)this.convertToPath()},convertStarToPath:function k(){var p=Math.floor(this.pt.v)*2,v=Math.PI*2/p,S=!0,F=this.or.v,K=this.ir.v,R=this.os.v,P=this.is.v,M=2*Math.PI*F/(p*2),X=2*Math.PI*K/(p*2),_,U,G,O,H=-Math.PI/2;H+=this.r.v;var Z=this.data.d===3?-1:1;this.v._length=0;for(_=0;_<p;_+=1){U=S?F:K,G=S?R:P,O=S?M:X;var w=U*Math.cos(H),x=U*Math.sin(H),V=w===0&&x===0?0:x/Math.sqrt(w*w+x*x),B=w===0&&x===0?0:-w/Math.sqrt(w*w+x*x);w+=+this.p.v[0],x+=+this.p.v[1],this.v.setTripleAt(w,x,w-V*O*G*Z,x-B*O*G*Z,w+V*O*G*Z,x+B*O*G*Z,_,!0),S=!S,H+=v*Z}},convertPolygonToPath:function k(){var p=Math.floor(this.pt.v),v=Math.PI*2/p,S=this.or.v,F=this.os.v,K=2*Math.PI*S/(p*4),R,P=-Math.PI*0.5,M=this.data.d===3?-1:1;P+=this.r.v,this.v._length=0;for(R=0;R<p;R+=1){var X=S*Math.cos(P),_=S*Math.sin(P),U=X===0&&_===0?0:_/Math.sqrt(X*X+_*_),G=X===0&&_===0?0:-X/Math.sqrt(X*X+_*_);X+=+this.p.v[0],_+=+this.p.v[1],this.v.setTripleAt(X,_,X-U*K*F*M,_-G*K*F*M,X+U*K*F*M,_+G*K*F*M,R,!0),P+=v*M}this.paths.length=0,this.paths[0]=this.v}},extendPrototype([DynamicPropertyContainer],m),m}(),c=function(){function m(k,p){if(this.v=shapePool.newElement(),this.v.c=!0,this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.localShapeCollection.addShape(this.v),this.paths=this.localShapeCollection,this.elem=k,this.comp=k.comp,this.frameId=-1,this.d=p.d,this.initDynamicPropertyContainer(k),this.p=PropertyFactory.getProp(k,p.p,1,0,this),this.s=PropertyFactory.getProp(k,p.s,1,0,this),this.r=PropertyFactory.getProp(k,p.r,0,0,this),this.dynamicProperties.length)this.k=!0;else this.k=!1,this.convertRectToPath()}return m.prototype={convertRectToPath:function k(){var p=this.p.v[0],v=this.p.v[1],S=this.s.v[0]/2,F=this.s.v[1]/2,K=bmMin(S,F,this.r.v),R=K*(1-roundCorner);if(this.v._length=0,this.d===2||this.d===1)if(this.v.setTripleAt(p+S,v-F+K,p+S,v-F+K,p+S,v-F+R,0,!0),this.v.setTripleAt(p+S,v+F-K,p+S,v+F-R,p+S,v+F-K,1,!0),K!==0)this.v.setTripleAt(p+S-K,v+F,p+S-K,v+F,p+S-R,v+F,2,!0),this.v.setTripleAt(p-S+K,v+F,p-S+R,v+F,p-S+K,v+F,3,!0),this.v.setTripleAt(p-S,v+F-K,p-S,v+F-K,p-S,v+F-R,4,!0),this.v.setTripleAt(p-S,v-F+K,p-S,v-F+R,p-S,v-F+K,5,!0),this.v.setTripleAt(p-S+K,v-F,p-S+K,v-F,p-S+R,v-F,6,!0),this.v.setTripleAt(p+S-K,v-F,p+S-R,v-F,p+S-K,v-F,7,!0);else this.v.setTripleAt(p-S,v+F,p-S+R,v+F,p-S,v+F,2),this.v.setTripleAt(p-S,v-F,p-S,v-F+R,p-S,v-F,3);else if(this.v.setTripleAt(p+S,v-F+K,p+S,v-F+R,p+S,v-F+K,0,!0),K!==0)this.v.setTripleAt(p+S-K,v-F,p+S-K,v-F,p+S-R,v-F,1,!0),this.v.setTripleAt(p-S+K,v-F,p-S+R,v-F,p-S+K,v-F,2,!0),this.v.setTripleAt(p-S,v-F+K,p-S,v-F+K,p-S,v-F+R,3,!0),this.v.setTripleAt(p-S,v+F-K,p-S,v+F-R,p-S,v+F-K,4,!0),this.v.setTripleAt(p-S+K,v+F,p-S+K,v+F,p-S+R,v+F,5,!0),this.v.setTripleAt(p+S-K,v+F,p+S-R,v+F,p+S-K,v+F,6,!0),this.v.setTripleAt(p+S,v+F-K,p+S,v+F-K,p+S,v+F-R,7,!0);else this.v.setTripleAt(p-S,v-F,p-S+R,v-F,p-S,v-F,1,!0),this.v.setTripleAt(p-S,v+F,p-S,v+F-R,p-S,v+F,2,!0),this.v.setTripleAt(p+S,v+F,p+S-R,v+F,p+S,v+F,3,!0)},getValue:function k(){if(this.elem.globalData.frameId===this.frameId)return;if(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf)this.convertRectToPath()},reset:o},extendPrototype([DynamicPropertyContainer],m),m}();function y(m,k,p){var v;if(p===3||p===4){var S=p===3?k.pt:k.ks,F=S.k;if(F.length)v=new u(m,k,p);else v=new s(m,k,p)}else if(p===5)v=new c(m,k);else if(p===6)v=new h(m,k);else if(p===7)v=new f(m,k);if(v.k)m.addDynamicProperty(v);return v}function g(){return s}function b(){return u}var I={};return I.getShapeProp=y,I.getConstructorFunction=g,I.getKeyframedConstructorFunction=b,I}();/*!
|
|
3
3
|
Transformation Matrix v2.0
|
|
4
4
|
(c) Epistemex 2014-2015
|
|
5
5
|
www.epistemex.com
|
|
6
6
|
By Ken Fyrstenberg
|
|
7
7
|
Contributions by leeoniya.
|
|
8
8
|
License: MIT, header required.
|
|
9
|
-
*/var Matrix=function(){var{cos:a,sin:i,tan:e,round:o}=Math;function r(){return this.props[0]=1,this.props[1]=0,this.props[2]=0,this.props[3]=0,this.props[4]=0,this.props[5]=1,this.props[6]=0,this.props[7]=0,this.props[8]=0,this.props[9]=0,this.props[10]=1,this.props[11]=0,this.props[12]=0,this.props[13]=0,this.props[14]=0,this.props[15]=1,this}function n(w){if(w===0)return this;var x=a(w),V=i(w);return this._t(x,-V,0,0,V,x,0,0,0,0,1,0,0,0,0,1)}function t(w){if(w===0)return this;var x=a(w),V=i(w);return this._t(1,0,0,0,0,x,-V,0,0,V,x,0,0,0,0,1)}function s(w){if(w===0)return this;var x=a(w),V=i(w);return this._t(x,0,V,0,0,1,0,0,-V,0,x,0,0,0,0,1)}function l(w){if(w===0)return this;var x=a(w),V=i(w);return this._t(x,-V,0,0,V,x,0,0,0,0,1,0,0,0,0,1)}function u(w,x){return this._t(1,x,w,1,0,0)}function h(w,x){return this.shear(e(w),e(x))}function f(w,x){var V=a(x),B=i(x);return this._t(V,B,0,0,-B,V,0,0,0,0,1,0,0,0,0,1)._t(1,0,0,0,e(w),1,0,0,0,0,1,0,0,0,0,1)._t(V,-B,0,0,B,V,0,0,0,0,1,0,0,0,0,1)}function c(w,x,V){if(!V&&V!==0)V=1;if(w===1&&x===1&&V===1)return this;return this._t(w,0,0,0,0,x,0,0,0,0,V,0,0,0,0,1)}function y(w,x,V,B,A,ia,ra,la,da,ya,Fa,Ma,Ka,Sa,Wa,pa){return this.props[0]=w,this.props[1]=x,this.props[2]=V,this.props[3]=B,this.props[4]=A,this.props[5]=ia,this.props[6]=ra,this.props[7]=la,this.props[8]=da,this.props[9]=ya,this.props[10]=Fa,this.props[11]=Ma,this.props[12]=Ka,this.props[13]=Sa,this.props[14]=Wa,this.props[15]=pa,this}function g(w,x,V){if(V=V||0,w!==0||x!==0||V!==0)return this._t(1,0,0,0,0,1,0,0,0,0,1,0,w,x,V,1);return this}function b(w,x,V,B,A,ia,ra,la,da,ya,Fa,Ma,Ka,Sa,Wa,pa){var D=this.props;if(w===1&&x===0&&V===0&&B===0&&A===0&&ia===1&&ra===0&&la===0&&da===0&&ya===0&&Fa===1&&Ma===0)return D[12]=D[12]*w+D[15]*Ka,D[13]=D[13]*ia+D[15]*Sa,D[14]=D[14]*Fa+D[15]*Wa,D[15]*=pa,this._identityCalculated=!1,this;var ii=D[0],li=D[1],ei=D[2],Ua=D[3],oi=D[4],ri=D[5],Ra=D[6],di=D[7],ui=D[8],Qa=D[9],ci=D[10],Ya=D[11],fi=D[12],le=D[13],de=D[14],ue=D[15];return D[0]=ii*w+li*A+ei*da+Ua*Ka,D[1]=ii*x+li*ia+ei*ya+Ua*Sa,D[2]=ii*V+li*ra+ei*Fa+Ua*Wa,D[3]=ii*B+li*la+ei*Ma+Ua*pa,D[4]=oi*w+ri*A+Ra*da+di*Ka,D[5]=oi*x+ri*ia+Ra*ya+di*Sa,D[6]=oi*V+ri*ra+Ra*Fa+di*Wa,D[7]=oi*B+ri*la+Ra*Ma+di*pa,D[8]=ui*w+Qa*A+ci*da+Ya*Ka,D[9]=ui*x+Qa*ia+ci*ya+Ya*Sa,D[10]=ui*V+Qa*ra+ci*Fa+Ya*Wa,D[11]=ui*B+Qa*la+ci*Ma+Ya*pa,D[12]=fi*w+le*A+de*da+ue*Ka,D[13]=fi*x+le*ia+de*ya+ue*Sa,D[14]=fi*V+le*ra+de*Fa+ue*Wa,D[15]=fi*B+le*la+de*Ma+ue*pa,this._identityCalculated=!1,this}function I(w){var x=w.props;return this.transform(x[0],x[1],x[2],x[3],x[4],x[5],x[6],x[7],x[8],x[9],x[10],x[11],x[12],x[13],x[14],x[15])}function m(){if(!this._identityCalculated)this._identity=!(this.props[0]!==1||this.props[1]!==0||this.props[2]!==0||this.props[3]!==0||this.props[4]!==0||this.props[5]!==1||this.props[6]!==0||this.props[7]!==0||this.props[8]!==0||this.props[9]!==0||this.props[10]!==1||this.props[11]!==0||this.props[12]!==0||this.props[13]!==0||this.props[14]!==0||this.props[15]!==1),this._identityCalculated=!0;return this._identity}function v(w){var x=0;while(x<16){if(w.props[x]!==this.props[x])return!1;x+=1}return!0}function p(w){var x;for(x=0;x<16;x+=1)w.props[x]=this.props[x];return w}function k(w){var x;for(x=0;x<16;x+=1)this.props[x]=w[x]}function S(w,x,V){return{x:w*this.props[0]+x*this.props[4]+V*this.props[8]+this.props[12],y:w*this.props[1]+x*this.props[5]+V*this.props[9]+this.props[13],z:w*this.props[2]+x*this.props[6]+V*this.props[10]+this.props[14]}}function F(w,x,V){return w*this.props[0]+x*this.props[4]+V*this.props[8]+this.props[12]}function K(w,x,V){return w*this.props[1]+x*this.props[5]+V*this.props[9]+this.props[13]}function R(w,x,V){return w*this.props[2]+x*this.props[6]+V*this.props[10]+this.props[14]}function L(){var w=this.props[0]*this.props[5]-this.props[1]*this.props[4],x=this.props[5]/w,V=-this.props[1]/w,B=-this.props[4]/w,A=this.props[0]/w,ia=(this.props[4]*this.props[13]-this.props[5]*this.props[12])/w,ra=-(this.props[0]*this.props[13]-this.props[1]*this.props[12])/w,la=new Matrix;return la.props[0]=x,la.props[1]=V,la.props[4]=B,la.props[5]=A,la.props[12]=ia,la.props[13]=ra,la}function M(w){var x=this.getInverseMatrix();return x.applyToPointArray(w[0],w[1],w[2]||0)}function X(w){var x,V=w.length,B=[];for(x=0;x<V;x+=1)B[x]=M(w[x]);return B}function _(w,x,V){var B=createTypedArray("float32",6);if(this.isIdentity())B[0]=w[0],B[1]=w[1],B[2]=x[0],B[3]=x[1],B[4]=V[0],B[5]=V[1];else{var A=this.props[0],ia=this.props[1],ra=this.props[4],la=this.props[5],da=this.props[12],ya=this.props[13];B[0]=w[0]*A+w[1]*ra+da,B[1]=w[0]*ia+w[1]*la+ya,B[2]=x[0]*A+x[1]*ra+da,B[3]=x[0]*ia+x[1]*la+ya,B[4]=V[0]*A+V[1]*ra+da,B[5]=V[0]*ia+V[1]*la+ya}return B}function U(w,x,V){var B;if(this.isIdentity())B=[w,x,V];else B=[w*this.props[0]+x*this.props[4]+V*this.props[8]+this.props[12],w*this.props[1]+x*this.props[5]+V*this.props[9]+this.props[13],w*this.props[2]+x*this.props[6]+V*this.props[10]+this.props[14]];return B}function G(w,x){if(this.isIdentity())return w+","+x;var V=this.props;return Math.round((w*V[0]+x*V[4]+V[12])*100)/100+","+Math.round((w*V[1]+x*V[5]+V[13])*100)/100}function O(){var w=0,x=this.props,V="matrix3d(",B=1e4;while(w<16)V+=o(x[w]*B)/B,V+=w===15?")":",",w+=1;return V}function H(w){var x=1e4;if(w<0.000001&&w>0||w>-0.000001&&w<0)return o(w*x)/x;return w}function Z(){var w=this.props,x=H(w[0]),V=H(w[1]),B=H(w[4]),A=H(w[5]),ia=H(w[12]),ra=H(w[13]);return"matrix("+x+","+V+","+B+","+A+","+ia+","+ra+")"}return function(){this.reset=r,this.rotate=n,this.rotateX=t,this.rotateY=s,this.rotateZ=l,this.skew=h,this.skewFromAxis=f,this.shear=u,this.scale=c,this.setTransform=y,this.translate=g,this.transform=b,this.multiply=I,this.applyToPoint=S,this.applyToX=F,this.applyToY=K,this.applyToZ=R,this.applyToPointArray=U,this.applyToTriplePoints=_,this.applyToPointStringified=G,this.toCSS=O,this.to2dCSS=Z,this.clone=p,this.cloneFromProps=k,this.equals=v,this.inversePoints=X,this.inversePoint=M,this.getInverseMatrix=L,this._t=this.transform,this.isIdentity=m,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray("float32",16),this.reset()}}();function _typeof$3(a){return _typeof$3=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(i){return typeof i}:function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},_typeof$3(a)}var lottie={},standalone="__[STANDALONE]__",animationData="__[ANIMATIONDATA]__",renderer="";function setLocation(a){setLocationHref(a)}function searchAnimations(){if(standalone===!0)animationManager.searchAnimations(animationData,standalone,renderer);else animationManager.searchAnimations()}function setSubframeRendering(a){setSubframeEnabled(a)}function setPrefix(a){setIdPrefix(a)}function loadAnimation(a){if(standalone===!0)a.animationData=JSON.parse(animationData);return animationManager.loadAnimation(a)}function setQuality(a){if(typeof a==="string")switch(a){case"high":setDefaultCurveSegments(200);break;default:case"medium":setDefaultCurveSegments(50);break;case"low":setDefaultCurveSegments(10);break}else if(!isNaN(a)&&a>1)setDefaultCurveSegments(a);if(getDefaultCurveSegments()>=50)roundValues(!1);else roundValues(!0)}function inBrowser(){return typeof navigator!=="undefined"}function installPlugin(a,i){if(a==="expressions")setExpressionsPlugin(i)}function getFactory(a){switch(a){case"propertyFactory":return PropertyFactory;case"shapePropertyFactory":return ShapePropertyFactory;case"matrix":return Matrix;default:return null}}lottie.play=animationManager.play,lottie.pause=animationManager.pause,lottie.setLocationHref=setLocation,lottie.togglePause=animationManager.togglePause,lottie.setSpeed=animationManager.setSpeed,lottie.setDirection=animationManager.setDirection,lottie.stop=animationManager.stop,lottie.searchAnimations=searchAnimations,lottie.registerAnimation=animationManager.registerAnimation,lottie.loadAnimation=loadAnimation,lottie.setSubframeRendering=setSubframeRendering,lottie.resize=animationManager.resize,lottie.goToAndStop=animationManager.goToAndStop,lottie.destroy=animationManager.destroy,lottie.setQuality=setQuality,lottie.inBrowser=inBrowser,lottie.installPlugin=installPlugin,lottie.freeze=animationManager.freeze,lottie.unfreeze=animationManager.unfreeze,lottie.setVolume=animationManager.setVolume,lottie.mute=animationManager.mute,lottie.unmute=animationManager.unmute,lottie.getRegisteredAnimations=animationManager.getRegisteredAnimations,lottie.useWebWorker=setWebWorker,lottie.setIDPrefix=setPrefix,lottie.__getFactory=getFactory,lottie.version="5.13.0";function checkReady(){if(document.readyState==="complete")clearInterval(readyStateCheckInterval),searchAnimations()}function getQueryVariable(a){var i=queryString.split("&");for(var e=0;e<i.length;e+=1){var o=i[e].split("=");if(decodeURIComponent(o[0])==a)return decodeURIComponent(o[1])}return null}var queryString="";if(standalone){var scripts=document.getElementsByTagName("script"),index=scripts.length-1,myScript=scripts[index]||{src:""};queryString=myScript.src?myScript.src.replace(/^[^\?]+\??/,""):"",renderer=getQueryVariable("renderer")}var readyStateCheckInterval=setInterval(checkReady,100);try{if(!((typeof Ci==="undefined"?"undefined":_typeof$3(Ci))==="object"&&typeof ae!=="undefined")&&!(typeof define==="function"&&define.amd))window.bodymovin=lottie}catch(a){}var ShapeModifiers=function(){var a={},i={};a.registerModifier=e,a.getModifier=o;function e(r,n){if(!i[r])i[r]=n}function o(r,n,t){return new i[r](n,t)}return a}();function ShapeModifier(){}ShapeModifier.prototype.initModifierProperties=function(){},ShapeModifier.prototype.addShapeToModifier=function(){},ShapeModifier.prototype.addShape=function(a){if(!this.closed){a.sh.container.addDynamicProperty(a.sh);var i={shape:a.sh,data:a,localShapeCollection:shapeCollectionPool.newShapeCollection()};if(this.shapes.push(i),this.addShapeToModifier(i),this._isAnimated)a.setAsAnimated()}},ShapeModifier.prototype.init=function(a,i){if(this.shapes=[],this.elem=a,this.initDynamicPropertyContainer(a),this.initModifierProperties(a,i),this.frameId=initialDefaultFrame,this.closed=!1,this.k=!1,this.dynamicProperties.length)this.k=!0;else this.getValue(!0)},ShapeModifier.prototype.processKeys=function(){if(this.elem.globalData.frameId===this.frameId)return;this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties()},extendPrototype([DynamicPropertyContainer],ShapeModifier);function TrimModifier(){}extendPrototype([ShapeModifier],TrimModifier),TrimModifier.prototype.initModifierProperties=function(a,i){this.s=PropertyFactory.getProp(a,i.s,0,0.01,this),this.e=PropertyFactory.getProp(a,i.e,0,0.01,this),this.o=PropertyFactory.getProp(a,i.o,0,0,this),this.sValue=0,this.eValue=0,this.getValue=this.processKeys,this.m=i.m,this._isAnimated=!!this.s.effectsSequence.length||!!this.e.effectsSequence.length||!!this.o.effectsSequence.length},TrimModifier.prototype.addShapeToModifier=function(a){a.pathsData=[]},TrimModifier.prototype.calculateShapeEdges=function(a,i,e,o,r){var n=[];if(i<=1)n.push({s:a,e:i});else if(a>=1)n.push({s:a-1,e:i-1});else n.push({s:a,e:1}),n.push({s:0,e:i-1});var t=[],s,l=n.length,u;for(s=0;s<l;s+=1)if(u=n[s],!(u.e*r<o||u.s*r>o+e)){var h,f;if(u.s*r<=o)h=0;else h=(u.s*r-o)/e;if(u.e*r>=o+e)f=1;else f=(u.e*r-o)/e;t.push([h,f])}if(!t.length)t.push([0,0]);return t},TrimModifier.prototype.releasePathsData=function(a){var i,e=a.length;for(i=0;i<e;i+=1)segmentsLengthPool.release(a[i]);return a.length=0,a},TrimModifier.prototype.processShapes=function(a){var i,e;if(this._mdf||a){var o=this.o.v%360/360;if(o<0)o+=1;if(this.s.v>1)i=1+o;else if(this.s.v<0)i=0+o;else i=this.s.v+o;if(this.e.v>1)e=1+o;else if(this.e.v<0)e=0+o;else e=this.e.v+o;if(i>e){var r=i;i=e,e=r}i=Math.round(i*1e4)*0.0001,e=Math.round(e*1e4)*0.0001,this.sValue=i,this.eValue=e}else i=this.sValue,e=this.eValue;var n,t,s=this.shapes.length,l,u,h,f,c,y=0;if(e===i){for(t=0;t<s;t+=1)if(this.shapes[t].localShapeCollection.releaseShapes(),this.shapes[t].shape._mdf=!0,this.shapes[t].shape.paths=this.shapes[t].localShapeCollection,this._mdf)this.shapes[t].pathsData.length=0}else if(!(e===1&&i===0||e===0&&i===1)){var g=[],b,I;for(t=0;t<s;t+=1)if(b=this.shapes[t],!b.shape._mdf&&!this._mdf&&!a&&this.m!==2)b.shape.paths=b.localShapeCollection;else{if(n=b.shape.paths,u=n._length,c=0,!b.shape._mdf&&b.pathsData.length)c=b.totalShapeLength;else{h=this.releasePathsData(b.pathsData);for(l=0;l<u;l+=1)f=bez.getSegmentsLength(n.shapes[l]),h.push(f),c+=f.totalLength;b.totalShapeLength=c,b.pathsData=h}y+=c,b.shape._mdf=!0}var m=i,v=e,p=0,k;for(t=s-1;t>=0;t-=1)if(b=this.shapes[t],b.shape._mdf){if(I=b.localShapeCollection,I.releaseShapes(),this.m===2&&s>1)k=this.calculateShapeEdges(i,e,b.totalShapeLength,p,y),p+=b.totalShapeLength;else k=[[m,v]];u=k.length;for(l=0;l<u;l+=1){if(m=k[l][0],v=k[l][1],g.length=0,v<=1)g.push({s:b.totalShapeLength*m,e:b.totalShapeLength*v});else if(m>=1)g.push({s:b.totalShapeLength*(m-1),e:b.totalShapeLength*(v-1)});else g.push({s:b.totalShapeLength*m,e:b.totalShapeLength}),g.push({s:0,e:b.totalShapeLength*(v-1)});var S=this.addShapes(b,g[0]);if(g[0].s!==g[0].e){if(g.length>1){var F=b.shape.paths.shapes[b.shape.paths._length-1];if(F.c){var K=S.pop();this.addPaths(S,I),S=this.addShapes(b,g[1],K)}else this.addPaths(S,I),S=this.addShapes(b,g[1])}this.addPaths(S,I)}}b.shape.paths=I}}else if(this._mdf)for(t=0;t<s;t+=1)this.shapes[t].pathsData.length=0,this.shapes[t].shape._mdf=!0},TrimModifier.prototype.addPaths=function(a,i){var e,o=a.length;for(e=0;e<o;e+=1)i.addShape(a[e])},TrimModifier.prototype.addSegment=function(a,i,e,o,r,n,t){if(r.setXYAt(i[0],i[1],"o",n),r.setXYAt(e[0],e[1],"i",n+1),t)r.setXYAt(a[0],a[1],"v",n);r.setXYAt(o[0],o[1],"v",n+1)},TrimModifier.prototype.addSegmentFromArray=function(a,i,e,o){if(i.setXYAt(a[1],a[5],"o",e),i.setXYAt(a[2],a[6],"i",e+1),o)i.setXYAt(a[0],a[4],"v",e);i.setXYAt(a[3],a[7],"v",e+1)},TrimModifier.prototype.addShapes=function(a,i,e){var o=a.pathsData,r=a.shape.paths.shapes,n,t=a.shape.paths._length,s,l,u=0,h,f,c,y,g=[],b,I=!0;if(!e)e=shapePool.newElement(),f=0,b=0;else f=e._length,b=e._length;g.push(e);for(n=0;n<t;n+=1){c=o[n].lengths,e.c=r[n].c,l=r[n].c?c.length:c.length+1;for(s=1;s<l;s+=1)if(h=c[s-1],u+h.addedLength<i.s)u+=h.addedLength,e.c=!1;else if(u>i.e){e.c=!1;break}else{if(i.s<=u&&i.e>=u+h.addedLength)this.addSegment(r[n].v[s-1],r[n].o[s-1],r[n].i[s],r[n].v[s],e,f,I),I=!1;else y=bez.getNewSegment(r[n].v[s-1],r[n].v[s],r[n].o[s-1],r[n].i[s],(i.s-u)/h.addedLength,(i.e-u)/h.addedLength,c[s-1]),this.addSegmentFromArray(y,e,f,I),I=!1,e.c=!1;u+=h.addedLength,f+=1}if(r[n].c&&c.length){if(h=c[s-1],u<=i.e){var m=c[s-1].addedLength;if(i.s<=u&&i.e>=u+m)this.addSegment(r[n].v[s-1],r[n].o[s-1],r[n].i[0],r[n].v[0],e,f,I),I=!1;else y=bez.getNewSegment(r[n].v[s-1],r[n].v[0],r[n].o[s-1],r[n].i[0],(i.s-u)/m,(i.e-u)/m,c[s-1]),this.addSegmentFromArray(y,e,f,I),I=!1,e.c=!1}else e.c=!1;u+=h.addedLength,f+=1}if(e._length)e.setXYAt(e.v[b][0],e.v[b][1],"i",b),e.setXYAt(e.v[e._length-1][0],e.v[e._length-1][1],"o",e._length-1);if(u>i.e)break;if(n<t-1)e=shapePool.newElement(),I=!0,g.push(e),f=0}return g};function PuckerAndBloatModifier(){}extendPrototype([ShapeModifier],PuckerAndBloatModifier),PuckerAndBloatModifier.prototype.initModifierProperties=function(a,i){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(a,i.a,0,null,this),this._isAnimated=!!this.amount.effectsSequence.length},PuckerAndBloatModifier.prototype.processPath=function(a,i){var e=i/100,o=[0,0],r=a._length,n=0;for(n=0;n<r;n+=1)o[0]+=a.v[n][0],o[1]+=a.v[n][1];o[0]/=r,o[1]/=r;var t=shapePool.newElement();t.c=a.c;var s,l,u,h,f,c;for(n=0;n<r;n+=1)s=a.v[n][0]+(o[0]-a.v[n][0])*e,l=a.v[n][1]+(o[1]-a.v[n][1])*e,u=a.o[n][0]+(o[0]-a.o[n][0])*-e,h=a.o[n][1]+(o[1]-a.o[n][1])*-e,f=a.i[n][0]+(o[0]-a.i[n][0])*-e,c=a.i[n][1]+(o[1]-a.i[n][1])*-e,t.setTripleAt(s,l,u,h,f,c,n);return t},PuckerAndBloatModifier.prototype.processShapes=function(a){var i,e,o=this.shapes.length,r,n,t=this.amount.v;if(t!==0){var s,l;for(e=0;e<o;e+=1){if(s=this.shapes[e],l=s.localShapeCollection,!(!s.shape._mdf&&!this._mdf&&!a)){l.releaseShapes(),s.shape._mdf=!0,i=s.shape.paths.shapes,n=s.shape.paths._length;for(r=0;r<n;r+=1)l.addShape(this.processPath(i[r],t))}s.shape.paths=s.localShapeCollection}}if(!this.dynamicProperties.length)this._mdf=!1};var TransformPropertyFactory=function(){var a=[0,0];function i(l){var u=this._mdf;if(this.iterateDynamicProperties(),this._mdf=this._mdf||u,this.a)l.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]);if(this.s)l.scale(this.s.v[0],this.s.v[1],this.s.v[2]);if(this.sk)l.skewFromAxis(-this.sk.v,this.sa.v);if(this.r)l.rotate(-this.r.v);else l.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);if(this.data.p.s)if(this.data.p.z)l.translate(this.px.v,this.py.v,-this.pz.v);else l.translate(this.px.v,this.py.v,0);else l.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}function e(l){if(this.elem.globalData.frameId===this.frameId)return;if(this._isDirty)this.precalculateMatrix(),this._isDirty=!1;if(this.iterateDynamicProperties(),this._mdf||l){var u;if(this.v.cloneFromProps(this.pre.props),this.appliedTransformations<1)this.v.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]);if(this.appliedTransformations<2)this.v.scale(this.s.v[0],this.s.v[1],this.s.v[2]);if(this.sk&&this.appliedTransformations<3)this.v.skewFromAxis(-this.sk.v,this.sa.v);if(this.r&&this.appliedTransformations<4)this.v.rotate(-this.r.v);else if(!this.r&&this.appliedTransformations<4)this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);if(this.autoOriented){var h,f;if(u=this.elem.globalData.frameRate,this.p&&this.p.keyframes&&this.p.getValueAtTime)if(this.p._caching.lastFrame+this.p.offsetTime<=this.p.keyframes[0].t)h=this.p.getValueAtTime((this.p.keyframes[0].t+0.01)/u,0),f=this.p.getValueAtTime(this.p.keyframes[0].t/u,0);else if(this.p._caching.lastFrame+this.p.offsetTime>=this.p.keyframes[this.p.keyframes.length-1].t)h=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/u,0),f=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-0.05)/u,0);else h=this.p.pv,f=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-0.01)/u,this.p.offsetTime);else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){h=[],f=[];var c=this.px,y=this.py;if(c._caching.lastFrame+c.offsetTime<=c.keyframes[0].t)h[0]=c.getValueAtTime((c.keyframes[0].t+0.01)/u,0),h[1]=y.getValueAtTime((y.keyframes[0].t+0.01)/u,0),f[0]=c.getValueAtTime(c.keyframes[0].t/u,0),f[1]=y.getValueAtTime(y.keyframes[0].t/u,0);else if(c._caching.lastFrame+c.offsetTime>=c.keyframes[c.keyframes.length-1].t)h[0]=c.getValueAtTime(c.keyframes[c.keyframes.length-1].t/u,0),h[1]=y.getValueAtTime(y.keyframes[y.keyframes.length-1].t/u,0),f[0]=c.getValueAtTime((c.keyframes[c.keyframes.length-1].t-0.01)/u,0),f[1]=y.getValueAtTime((y.keyframes[y.keyframes.length-1].t-0.01)/u,0);else h=[c.pv,y.pv],f[0]=c.getValueAtTime((c._caching.lastFrame+c.offsetTime-0.01)/u,c.offsetTime),f[1]=y.getValueAtTime((y._caching.lastFrame+y.offsetTime-0.01)/u,y.offsetTime)}else f=a,h=f;this.v.rotate(-Math.atan2(h[1]-f[1],h[0]-f[0]))}if(this.data.p&&this.data.p.s)if(this.data.p.z)this.v.translate(this.px.v,this.py.v,-this.pz.v);else this.v.translate(this.px.v,this.py.v,0);else this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}this.frameId=this.elem.globalData.frameId}function o(){if(this.appliedTransformations=0,this.pre.reset(),!this.a.effectsSequence.length)this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1;else return;if(!this.s.effectsSequence.length)this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2;else return;if(this.sk)if(!this.sk.effectsSequence.length&&!this.sa.effectsSequence.length)this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3;else return;if(this.r){if(!this.r.effectsSequence.length)this.pre.rotate(-this.r.v),this.appliedTransformations=4}else if(!this.rz.effectsSequence.length&&!this.ry.effectsSequence.length&&!this.rx.effectsSequence.length&&!this.or.effectsSequence.length)this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4}function r(){}function n(l){this._addDynamicProperty(l),this.elem.addDynamicProperty(l),this._isDirty=!0}function t(l,u,h){if(this.elem=l,this.frameId=-1,this.propType="transform",this.data=u,this.v=new Matrix,this.pre=new Matrix,this.appliedTransformations=0,this.initDynamicPropertyContainer(h||l),u.p&&u.p.s){if(this.px=PropertyFactory.getProp(l,u.p.x,0,0,this),this.py=PropertyFactory.getProp(l,u.p.y,0,0,this),u.p.z)this.pz=PropertyFactory.getProp(l,u.p.z,0,0,this)}else this.p=PropertyFactory.getProp(l,u.p||{k:[0,0,0]},1,0,this);if(u.rx){if(this.rx=PropertyFactory.getProp(l,u.rx,0,degToRads,this),this.ry=PropertyFactory.getProp(l,u.ry,0,degToRads,this),this.rz=PropertyFactory.getProp(l,u.rz,0,degToRads,this),u.or.k[0].ti){var f,c=u.or.k.length;for(f=0;f<c;f+=1)u.or.k[f].to=null,u.or.k[f].ti=null}this.or=PropertyFactory.getProp(l,u.or,1,degToRads,this),this.or.sh=!0}else this.r=PropertyFactory.getProp(l,u.r||{k:0},0,degToRads,this);if(u.sk)this.sk=PropertyFactory.getProp(l,u.sk,0,degToRads,this),this.sa=PropertyFactory.getProp(l,u.sa,0,degToRads,this);if(this.a=PropertyFactory.getProp(l,u.a||{k:[0,0,0]},1,0,this),this.s=PropertyFactory.getProp(l,u.s||{k:[100,100,100]},1,0.01,this),u.o)this.o=PropertyFactory.getProp(l,u.o,0,0.01,l);else this.o={_mdf:!1,v:1};if(this._isDirty=!0,!this.dynamicProperties.length)this.getValue(!0)}t.prototype={applyToMatrix:i,getValue:e,precalculateMatrix:o,autoOrient:r},extendPrototype([DynamicPropertyContainer],t),t.prototype.addDynamicProperty=n,t.prototype._addDynamicProperty=DynamicPropertyContainer.prototype.addDynamicProperty;function s(l,u,h){return new t(l,u,h)}return{getTransformProperty:s}}();function RepeaterModifier(){}extendPrototype([ShapeModifier],RepeaterModifier),RepeaterModifier.prototype.initModifierProperties=function(a,i){if(this.getValue=this.processKeys,this.c=PropertyFactory.getProp(a,i.c,0,null,this),this.o=PropertyFactory.getProp(a,i.o,0,null,this),this.tr=TransformPropertyFactory.getTransformProperty(a,i.tr,this),this.so=PropertyFactory.getProp(a,i.tr.so,0,0.01,this),this.eo=PropertyFactory.getProp(a,i.tr.eo,0,0.01,this),this.data=i,!this.dynamicProperties.length)this.getValue(!0);this._isAnimated=!!this.dynamicProperties.length,this.pMatrix=new Matrix,this.rMatrix=new Matrix,this.sMatrix=new Matrix,this.tMatrix=new Matrix,this.matrix=new Matrix},RepeaterModifier.prototype.applyTransforms=function(a,i,e,o,r,n){var t=n?-1:1,s=o.s.v[0]+(1-o.s.v[0])*(1-r),l=o.s.v[1]+(1-o.s.v[1])*(1-r);a.translate(o.p.v[0]*t*r,o.p.v[1]*t*r,o.p.v[2]),i.translate(-o.a.v[0],-o.a.v[1],o.a.v[2]),i.rotate(-o.r.v*t*r),i.translate(o.a.v[0],o.a.v[1],o.a.v[2]),e.translate(-o.a.v[0],-o.a.v[1],o.a.v[2]),e.scale(n?1/s:s,n?1/l:l),e.translate(o.a.v[0],o.a.v[1],o.a.v[2])},RepeaterModifier.prototype.init=function(a,i,e,o){this.elem=a,this.arr=i,this.pos=e,this.elemsData=o,this._currentCopies=0,this._elements=[],this._groups=[],this.frameId=-1,this.initDynamicPropertyContainer(a),this.initModifierProperties(a,i[e]);while(e>0)e-=1,this._elements.unshift(i[e]);if(this.dynamicProperties.length)this.k=!0;else this.getValue(!0)},RepeaterModifier.prototype.resetElements=function(a){var i,e=a.length;for(i=0;i<e;i+=1)if(a[i]._processed=!1,a[i].ty==="gr")this.resetElements(a[i].it)},RepeaterModifier.prototype.cloneElements=function(a){var i=JSON.parse(JSON.stringify(a));return this.resetElements(i),i},RepeaterModifier.prototype.changeGroupRender=function(a,i){var e,o=a.length;for(e=0;e<o;e+=1)if(a[e]._render=i,a[e].ty==="gr")this.changeGroupRender(a[e].it,i)},RepeaterModifier.prototype.processShapes=function(a){var i,e,o,r,n,t=!1;if(this._mdf||a){var s=Math.ceil(this.c.v);if(this._groups.length<s){while(this._groups.length<s){var l={it:this.cloneElements(this._elements),ty:"gr"};l.it.push({a:{a:0,ix:1,k:[0,0]},nm:"Transform",o:{a:0,ix:7,k:100},p:{a:0,ix:2,k:[0,0]},r:{a:1,ix:6,k:[{s:0,e:0,t:0},{s:0,e:0,t:1}]},s:{a:0,ix:3,k:[100,100]},sa:{a:0,ix:5,k:0},sk:{a:0,ix:4,k:0},ty:"tr"}),this.arr.splice(0,0,l),this._groups.splice(0,0,l),this._currentCopies+=1}this.elem.reloadShapes(),t=!0}n=0;var u;for(o=0;o<=this._groups.length-1;o+=1){if(u=n<s,this._groups[o]._render=u,this.changeGroupRender(this._groups[o].it,u),!u){var h=this.elemsData[o].it,f=h[h.length-1];if(f.transform.op.v!==0)f.transform.op._mdf=!0,f.transform.op.v=0;else f.transform.op._mdf=!1}n+=1}this._currentCopies=s;var c=this.o.v,y=c%1,g=c>0?Math.floor(c):Math.ceil(c),b=this.pMatrix.props,I=this.rMatrix.props,m=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var v=0;if(c>0){while(v<g)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),v+=1;if(y)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,y,!1),v+=y}else if(c<0){while(v>g)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),v-=1;if(y)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-y,!0),v-=y}o=this.data.m===1?0:this._currentCopies-1,r=this.data.m===1?1:-1,n=this._currentCopies;var p,k;while(n){if(i=this.elemsData[o].it,e=i[i.length-1].transform.mProps.v.props,k=e.length,i[i.length-1].transform.mProps._mdf=!0,i[i.length-1].transform.op._mdf=!0,i[i.length-1].transform.op.v=this._currentCopies===1?this.so.v:this.so.v+(this.eo.v-this.so.v)*(o/(this._currentCopies-1)),v!==0){if(o!==0&&r===1||o!==this._currentCopies-1&&r===-1)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1);this.matrix.transform(I[0],I[1],I[2],I[3],I[4],I[5],I[6],I[7],I[8],I[9],I[10],I[11],I[12],I[13],I[14],I[15]),this.matrix.transform(m[0],m[1],m[2],m[3],m[4],m[5],m[6],m[7],m[8],m[9],m[10],m[11],m[12],m[13],m[14],m[15]),this.matrix.transform(b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],b[9],b[10],b[11],b[12],b[13],b[14],b[15]);for(p=0;p<k;p+=1)e[p]=this.matrix.props[p];this.matrix.reset()}else{this.matrix.reset();for(p=0;p<k;p+=1)e[p]=this.matrix.props[p]}v+=1,n-=1,o+=r}}else{n=this._currentCopies,o=0,r=1;while(n)i=this.elemsData[o].it,e=i[i.length-1].transform.mProps.v.props,i[i.length-1].transform.mProps._mdf=!1,i[i.length-1].transform.op._mdf=!1,n-=1,o+=r}return t},RepeaterModifier.prototype.addShape=function(){};function RoundCornersModifier(){}extendPrototype([ShapeModifier],RoundCornersModifier),RoundCornersModifier.prototype.initModifierProperties=function(a,i){this.getValue=this.processKeys,this.rd=PropertyFactory.getProp(a,i.r,0,null,this),this._isAnimated=!!this.rd.effectsSequence.length},RoundCornersModifier.prototype.processPath=function(a,i){var e=shapePool.newElement();e.c=a.c;var o,r=a._length,n,t,s,l,u,h,f=0,c,y,g,b,I,m;for(o=0;o<r;o+=1)if(n=a.v[o],s=a.o[o],t=a.i[o],n[0]===s[0]&&n[1]===s[1]&&n[0]===t[0]&&n[1]===t[1])if((o===0||o===r-1)&&!a.c)e.setTripleAt(n[0],n[1],s[0],s[1],t[0],t[1],f),f+=1;else{if(o===0)l=a.v[r-1];else l=a.v[o-1];if(u=Math.sqrt(Math.pow(n[0]-l[0],2)+Math.pow(n[1]-l[1],2)),h=u?Math.min(u/2,i)/u:0,I=n[0]+(l[0]-n[0])*h,c=I,m=n[1]-(n[1]-l[1])*h,y=m,g=c-(c-n[0])*roundCorner,b=y-(y-n[1])*roundCorner,e.setTripleAt(c,y,g,b,I,m,f),f+=1,o===r-1)l=a.v[0];else l=a.v[o+1];u=Math.sqrt(Math.pow(n[0]-l[0],2)+Math.pow(n[1]-l[1],2)),h=u?Math.min(u/2,i)/u:0,g=n[0]+(l[0]-n[0])*h,c=g,b=n[1]+(l[1]-n[1])*h,y=b,I=c-(c-n[0])*roundCorner,m=y-(y-n[1])*roundCorner,e.setTripleAt(c,y,g,b,I,m,f),f+=1}else e.setTripleAt(a.v[o][0],a.v[o][1],a.o[o][0],a.o[o][1],a.i[o][0],a.i[o][1],f),f+=1;return e},RoundCornersModifier.prototype.processShapes=function(a){var i,e,o=this.shapes.length,r,n,t=this.rd.v;if(t!==0){var s,l;for(e=0;e<o;e+=1){if(s=this.shapes[e],l=s.localShapeCollection,!(!s.shape._mdf&&!this._mdf&&!a)){l.releaseShapes(),s.shape._mdf=!0,i=s.shape.paths.shapes,n=s.shape.paths._length;for(r=0;r<n;r+=1)l.addShape(this.processPath(i[r],t))}s.shape.paths=s.localShapeCollection}}if(!this.dynamicProperties.length)this._mdf=!1};function floatEqual(a,i){return Math.abs(a-i)*1e5<=Math.min(Math.abs(a),Math.abs(i))}function floatZero(a){return Math.abs(a)<=0.00001}function lerp(a,i,e){return a*(1-e)+i*e}function lerpPoint(a,i,e){return[lerp(a[0],i[0],e),lerp(a[1],i[1],e)]}function quadRoots(a,i,e){if(a===0)return[];var o=i*i-4*a*e;if(o<0)return[];var r=-i/(2*a);if(o===0)return[r];var n=Math.sqrt(o)/(2*a);return[r-n,r+n]}function polynomialCoefficients(a,i,e,o){return[-a+3*i-3*e+o,3*a-6*i+3*e,-3*a+3*i,a]}function singlePoint(a){return new PolynomialBezier(a,a,a,a,!1)}function PolynomialBezier(a,i,e,o,r){if(r&&pointEqual(a,i))i=lerpPoint(a,o,0.3333333333333333);if(r&&pointEqual(e,o))e=lerpPoint(a,o,0.6666666666666666);var n=polynomialCoefficients(a[0],i[0],e[0],o[0]),t=polynomialCoefficients(a[1],i[1],e[1],o[1]);this.a=[n[0],t[0]],this.b=[n[1],t[1]],this.c=[n[2],t[2]],this.d=[n[3],t[3]],this.points=[a,i,e,o]}PolynomialBezier.prototype.point=function(a){return[((this.a[0]*a+this.b[0])*a+this.c[0])*a+this.d[0],((this.a[1]*a+this.b[1])*a+this.c[1])*a+this.d[1]]},PolynomialBezier.prototype.derivative=function(a){return[(3*a*this.a[0]+2*this.b[0])*a+this.c[0],(3*a*this.a[1]+2*this.b[1])*a+this.c[1]]},PolynomialBezier.prototype.tangentAngle=function(a){var i=this.derivative(a);return Math.atan2(i[1],i[0])},PolynomialBezier.prototype.normalAngle=function(a){var i=this.derivative(a);return Math.atan2(i[0],i[1])},PolynomialBezier.prototype.inflectionPoints=function(){var a=this.a[1]*this.b[0]-this.a[0]*this.b[1];if(floatZero(a))return[];var i=-0.5*(this.a[1]*this.c[0]-this.a[0]*this.c[1])/a,e=i*i-0.3333333333333333*(this.b[1]*this.c[0]-this.b[0]*this.c[1])/a;if(e<0)return[];var o=Math.sqrt(e);if(floatZero(o)){if(o>0&&o<1)return[i];return[]}return[i-o,i+o].filter(function(r){return r>0&&r<1})},PolynomialBezier.prototype.split=function(a){if(a<=0)return[singlePoint(this.points[0]),this];if(a>=1)return[this,singlePoint(this.points[this.points.length-1])];var i=lerpPoint(this.points[0],this.points[1],a),e=lerpPoint(this.points[1],this.points[2],a),o=lerpPoint(this.points[2],this.points[3],a),r=lerpPoint(i,e,a),n=lerpPoint(e,o,a),t=lerpPoint(r,n,a);return[new PolynomialBezier(this.points[0],i,r,t,!0),new PolynomialBezier(t,n,o,this.points[3],!0)]};function extrema(a,i){var e=a.points[0][i],o=a.points[a.points.length-1][i];if(e>o){var r=o;o=e,e=r}var n=quadRoots(3*a.a[i],2*a.b[i],a.c[i]);for(var t=0;t<n.length;t+=1)if(n[t]>0&&n[t]<1){var s=a.point(n[t])[i];if(s<e)e=s;else if(s>o)o=s}return{min:e,max:o}}PolynomialBezier.prototype.bounds=function(){return{x:extrema(this,0),y:extrema(this,1)}},PolynomialBezier.prototype.boundingBox=function(){var a=this.bounds();return{left:a.x.min,right:a.x.max,top:a.y.min,bottom:a.y.max,width:a.x.max-a.x.min,height:a.y.max-a.y.min,cx:(a.x.max+a.x.min)/2,cy:(a.y.max+a.y.min)/2}};function intersectData(a,i,e){var o=a.boundingBox();return{cx:o.cx,cy:o.cy,width:o.width,height:o.height,bez:a,t:(i+e)/2,t1:i,t2:e}}function splitData(a){var i=a.bez.split(0.5);return[intersectData(i[0],a.t1,a.t),intersectData(i[1],a.t,a.t2)]}function boxIntersect(a,i){return Math.abs(a.cx-i.cx)*2<a.width+i.width&&Math.abs(a.cy-i.cy)*2<a.height+i.height}function intersectsImpl(a,i,e,o,r,n){if(!boxIntersect(a,i))return;if(e>=n||a.width<=o&&a.height<=o&&i.width<=o&&i.height<=o){r.push([a.t,i.t]);return}var t=splitData(a),s=splitData(i);intersectsImpl(t[0],s[0],e+1,o,r,n),intersectsImpl(t[0],s[1],e+1,o,r,n),intersectsImpl(t[1],s[0],e+1,o,r,n),intersectsImpl(t[1],s[1],e+1,o,r,n)}PolynomialBezier.prototype.intersections=function(a,i,e){if(i===void 0)i=2;if(e===void 0)e=7;var o=[];return intersectsImpl(intersectData(this,0,1),intersectData(a,0,1),0,i,o,e),o},PolynomialBezier.shapeSegment=function(a,i){var e=(i+1)%a.length();return new PolynomialBezier(a.v[i],a.o[i],a.i[e],a.v[e],!0)},PolynomialBezier.shapeSegmentInverted=function(a,i){var e=(i+1)%a.length();return new PolynomialBezier(a.v[e],a.i[e],a.o[i],a.v[i],!0)};function crossProduct(a,i){return[a[1]*i[2]-a[2]*i[1],a[2]*i[0]-a[0]*i[2],a[0]*i[1]-a[1]*i[0]]}function lineIntersection(a,i,e,o){var r=[a[0],a[1],1],n=[i[0],i[1],1],t=[e[0],e[1],1],s=[o[0],o[1],1],l=crossProduct(crossProduct(r,n),crossProduct(t,s));if(floatZero(l[2]))return null;return[l[0]/l[2],l[1]/l[2]]}function polarOffset(a,i,e){return[a[0]+Math.cos(i)*e,a[1]-Math.sin(i)*e]}function pointDistance(a,i){return Math.hypot(a[0]-i[0],a[1]-i[1])}function pointEqual(a,i){return floatEqual(a[0],i[0])&&floatEqual(a[1],i[1])}function ZigZagModifier(){}extendPrototype([ShapeModifier],ZigZagModifier),ZigZagModifier.prototype.initModifierProperties=function(a,i){this.getValue=this.processKeys,this.amplitude=PropertyFactory.getProp(a,i.s,0,null,this),this.frequency=PropertyFactory.getProp(a,i.r,0,null,this),this.pointsType=PropertyFactory.getProp(a,i.pt,0,null,this),this._isAnimated=this.amplitude.effectsSequence.length!==0||this.frequency.effectsSequence.length!==0||this.pointsType.effectsSequence.length!==0};function setPoint(a,i,e,o,r,n,t){var s=e-Math.PI/2,l=e+Math.PI/2,u=i[0]+Math.cos(e)*o*r,h=i[1]-Math.sin(e)*o*r;a.setTripleAt(u,h,u+Math.cos(s)*n,h-Math.sin(s)*n,u+Math.cos(l)*t,h-Math.sin(l)*t,a.length())}function getPerpendicularVector(a,i){var e=[i[0]-a[0],i[1]-a[1]],o=-Math.PI*0.5,r=[Math.cos(o)*e[0]-Math.sin(o)*e[1],Math.sin(o)*e[0]+Math.cos(o)*e[1]];return r}function getProjectingAngle(a,i){var e=i===0?a.length()-1:i-1,o=(i+1)%a.length(),r=a.v[e],n=a.v[o],t=getPerpendicularVector(r,n);return Math.atan2(0,1)-Math.atan2(t[1],t[0])}function zigZagCorner(a,i,e,o,r,n,t){var s=getProjectingAngle(i,e),l=i.v[e%i._length],u=i.v[e===0?i._length-1:e-1],h=i.v[(e+1)%i._length],f=n===2?Math.sqrt(Math.pow(l[0]-u[0],2)+Math.pow(l[1]-u[1],2)):0,c=n===2?Math.sqrt(Math.pow(l[0]-h[0],2)+Math.pow(l[1]-h[1],2)):0;setPoint(a,i.v[e%i._length],s,t,o,c/((r+1)*2),f/((r+1)*2),n)}function zigZagSegment(a,i,e,o,r,n){for(var t=0;t<o;t+=1){var s=(t+1)/(o+1),l=r===2?Math.sqrt(Math.pow(i.points[3][0]-i.points[0][0],2)+Math.pow(i.points[3][1]-i.points[0][1],2)):0,u=i.normalAngle(s),h=i.point(s);setPoint(a,h,u,n,e,l/((o+1)*2),l/((o+1)*2),r),n=-n}return n}ZigZagModifier.prototype.processPath=function(a,i,e,o){var r=a._length,n=shapePool.newElement();if(n.c=a.c,!a.c)r-=1;if(r===0)return n;var t=-1,s=PolynomialBezier.shapeSegment(a,0);zigZagCorner(n,a,0,i,e,o,t);for(var l=0;l<r;l+=1){if(t=zigZagSegment(n,s,i,e,o,-t),l===r-1&&!a.c)s=null;else s=PolynomialBezier.shapeSegment(a,(l+1)%r);zigZagCorner(n,a,l+1,i,e,o,t)}return n},ZigZagModifier.prototype.processShapes=function(a){var i,e,o=this.shapes.length,r,n,t=this.amplitude.v,s=Math.max(0,Math.round(this.frequency.v)),l=this.pointsType.v;if(t!==0){var u,h;for(e=0;e<o;e+=1){if(u=this.shapes[e],h=u.localShapeCollection,!(!u.shape._mdf&&!this._mdf&&!a)){h.releaseShapes(),u.shape._mdf=!0,i=u.shape.paths.shapes,n=u.shape.paths._length;for(r=0;r<n;r+=1)h.addShape(this.processPath(i[r],t,s,l))}u.shape.paths=u.localShapeCollection}}if(!this.dynamicProperties.length)this._mdf=!1};function linearOffset(a,i,e){var o=Math.atan2(i[0]-a[0],i[1]-a[1]);return[polarOffset(a,o,e),polarOffset(i,o,e)]}function offsetSegment(a,i){var e,o,r,n,t,s,l;l=linearOffset(a.points[0],a.points[1],i),e=l[0],o=l[1],l=linearOffset(a.points[1],a.points[2],i),r=l[0],n=l[1],l=linearOffset(a.points[2],a.points[3],i),t=l[0],s=l[1];var u=lineIntersection(e,o,r,n);if(u===null)u=o;var h=lineIntersection(t,s,r,n);if(h===null)h=t;return new PolynomialBezier(e,u,h,s)}function joinLines(a,i,e,o,r){var n=i.points[3],t=e.points[0];if(o===3)return n;if(pointEqual(n,t))return n;if(o===2){var s=-i.tangentAngle(1),l=-e.tangentAngle(0)+Math.PI,u=lineIntersection(n,polarOffset(n,s+Math.PI/2,100),t,polarOffset(t,s+Math.PI/2,100)),h=u?pointDistance(u,n):pointDistance(n,t)/2,f=polarOffset(n,s,2*h*roundCorner);return a.setXYAt(f[0],f[1],"o",a.length()-1),f=polarOffset(t,l,2*h*roundCorner),a.setTripleAt(t[0],t[1],t[0],t[1],f[0],f[1],a.length()),t}var c=pointEqual(n,i.points[2])?i.points[0]:i.points[2],y=pointEqual(t,e.points[1])?e.points[3]:e.points[1],g=lineIntersection(c,n,t,y);if(g&&pointDistance(g,n)<r)return a.setTripleAt(g[0],g[1],g[0],g[1],g[0],g[1],a.length()),g;return n}function getIntersection(a,i){var e=a.intersections(i);if(e.length&&floatEqual(e[0][0],1))e.shift();if(e.length)return e[0];return null}function pruneSegmentIntersection(a,i){var e=a.slice(),o=i.slice(),r=getIntersection(a[a.length-1],i[0]);if(r)e[a.length-1]=a[a.length-1].split(r[0])[0],o[0]=i[0].split(r[1])[1];if(a.length>1&&i.length>1){if(r=getIntersection(a[0],i[i.length-1]),r)return[[a[0].split(r[0])[0]],[i[i.length-1].split(r[1])[1]]]}return[e,o]}function pruneIntersections(a){var i;for(var e=1;e<a.length;e+=1)i=pruneSegmentIntersection(a[e-1],a[e]),a[e-1]=i[0],a[e]=i[1];if(a.length>1)i=pruneSegmentIntersection(a[a.length-1],a[0]),a[a.length-1]=i[0],a[0]=i[1];return a}function offsetSegmentSplit(a,i){var e=a.inflectionPoints(),o,r,n,t;if(e.length===0)return[offsetSegment(a,i)];if(e.length===1||floatEqual(e[1],1))return n=a.split(e[0]),o=n[0],r=n[1],[offsetSegment(o,i),offsetSegment(r,i)];n=a.split(e[0]),o=n[0];var s=(e[1]-e[0])/(1-e[0]);return n=n[1].split(s),t=n[0],r=n[1],[offsetSegment(o,i),offsetSegment(t,i),offsetSegment(r,i)]}function OffsetPathModifier(){}extendPrototype([ShapeModifier],OffsetPathModifier),OffsetPathModifier.prototype.initModifierProperties=function(a,i){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(a,i.a,0,null,this),this.miterLimit=PropertyFactory.getProp(a,i.ml,0,null,this),this.lineJoin=i.lj,this._isAnimated=this.amount.effectsSequence.length!==0},OffsetPathModifier.prototype.processPath=function(a,i,e,o){var r=shapePool.newElement();r.c=a.c;var n=a.length();if(!a.c)n-=1;var t,s,l,u=[];for(t=0;t<n;t+=1)l=PolynomialBezier.shapeSegment(a,t),u.push(offsetSegmentSplit(l,i));if(!a.c)for(t=n-1;t>=0;t-=1)l=PolynomialBezier.shapeSegmentInverted(a,t),u.push(offsetSegmentSplit(l,i));u=pruneIntersections(u);var h=null,f=null;for(t=0;t<u.length;t+=1){var c=u[t];if(f)h=joinLines(r,f,c[0],e,o);f=c[c.length-1];for(s=0;s<c.length;s+=1){if(l=c[s],h&&pointEqual(l.points[0],h))r.setXYAt(l.points[1][0],l.points[1][1],"o",r.length()-1);else r.setTripleAt(l.points[0][0],l.points[0][1],l.points[1][0],l.points[1][1],l.points[0][0],l.points[0][1],r.length());r.setTripleAt(l.points[3][0],l.points[3][1],l.points[3][0],l.points[3][1],l.points[2][0],l.points[2][1],r.length()),h=l.points[3]}}if(u.length)joinLines(r,f,u[0][0],e,o);return r},OffsetPathModifier.prototype.processShapes=function(a){var i,e,o=this.shapes.length,r,n,t=this.amount.v,s=this.miterLimit.v,l=this.lineJoin;if(t!==0){var u,h;for(e=0;e<o;e+=1){if(u=this.shapes[e],h=u.localShapeCollection,!(!u.shape._mdf&&!this._mdf&&!a)){h.releaseShapes(),u.shape._mdf=!0,i=u.shape.paths.shapes,n=u.shape.paths._length;for(r=0;r<n;r+=1)h.addShape(this.processPath(i[r],t,l,s))}u.shape.paths=u.localShapeCollection}}if(!this.dynamicProperties.length)this._mdf=!1};function getFontProperties(a){var i=a.fStyle?a.fStyle.split(" "):[],e="normal",o="normal",r=i.length,n;for(var t=0;t<r;t+=1)switch(n=i[t].toLowerCase(),n){case"italic":o="italic";break;case"bold":e="700";break;case"black":e="900";break;case"medium":e="500";break;case"regular":case"normal":e="400";break;case"light":case"thin":e="200";break;default:break}return{style:o,weight:a.fWeight||e}}var FontManager=function(){var a=5000,i={w:0,size:0,shapes:[],data:{shapes:[]}},e=[];e=e.concat([2304,2305,2306,2307,2362,2363,2364,2364,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2387,2388,2389,2390,2391,2402,2403]);var o=127988,r=917631,n=917601,t=917626,s=65039,l=8205,u=127462,h=127487,f=["d83cdffb","d83cdffc","d83cdffd","d83cdffe","d83cdfff"];function c(H){var Z=H.split(","),w,x=Z.length,V=[];for(w=0;w<x;w+=1)if(Z[w]!=="sans-serif"&&Z[w]!=="monospace")V.push(Z[w]);return V.join(",")}function y(H,Z){var w=createTag("span");w.setAttribute("aria-hidden",!0),w.style.fontFamily=Z;var x=createTag("span");x.innerText="giItT1WQy@!-/#",w.style.position="absolute",w.style.left="-10000px",w.style.top="-10000px",w.style.fontSize="300px",w.style.fontVariant="normal",w.style.fontStyle="normal",w.style.fontWeight="normal",w.style.letterSpacing="0",w.appendChild(x),document.body.appendChild(w);var V=x.offsetWidth;return x.style.fontFamily=c(H)+", "+Z,{node:x,w:V,parent:w}}function g(){var H,Z=this.fonts.length,w,x,V=Z;for(H=0;H<Z;H+=1)if(this.fonts[H].loaded)V-=1;else if(this.fonts[H].fOrigin==="n"||this.fonts[H].origin===0)this.fonts[H].loaded=!0;else{if(w=this.fonts[H].monoCase.node,x=this.fonts[H].monoCase.w,w.offsetWidth!==x)V-=1,this.fonts[H].loaded=!0;else if(w=this.fonts[H].sansCase.node,x=this.fonts[H].sansCase.w,w.offsetWidth!==x)V-=1,this.fonts[H].loaded=!0;if(this.fonts[H].loaded)this.fonts[H].sansCase.parent.parentNode.removeChild(this.fonts[H].sansCase.parent),this.fonts[H].monoCase.parent.parentNode.removeChild(this.fonts[H].monoCase.parent)}if(V!==0&&Date.now()-this.initTime<a)setTimeout(this.checkLoadedFontsBinded,20);else setTimeout(this.setIsLoadedBinded,10)}function b(H,Z){var w=document.body&&Z?"svg":"canvas",x,V=getFontProperties(H);if(w==="svg"){var B=createNS("text");if(B.style.fontSize="100px",B.setAttribute("font-family",H.fFamily),B.setAttribute("font-style",V.style),B.setAttribute("font-weight",V.weight),B.textContent="1",H.fClass)B.style.fontFamily="inherit",B.setAttribute("class",H.fClass);else B.style.fontFamily=H.fFamily;Z.appendChild(B),x=B}else{var A=new OffscreenCanvas(500,500).getContext("2d");A.font=V.style+" "+V.weight+" 100px "+H.fFamily,x=A}function ia(ra){if(w==="svg")return x.textContent=ra,x.getComputedTextLength();return x.measureText(ra).width}return{measureText:ia}}function I(H,Z){if(!H){this.isLoaded=!0;return}if(this.chars){this.isLoaded=!0,this.fonts=H.list;return}if(!document.body){this.isLoaded=!0,H.list.forEach(function(Fa){Fa.helper=b(Fa),Fa.cache={}}),this.fonts=H.list;return}var w=H.list,x,V=w.length,B=V;for(x=0;x<V;x+=1){var A=!0,ia,ra;if(w[x].loaded=!1,w[x].monoCase=y(w[x].fFamily,"monospace"),w[x].sansCase=y(w[x].fFamily,"sans-serif"),!w[x].fPath)w[x].loaded=!0,B-=1;else if(w[x].fOrigin==="p"||w[x].origin===3){if(ia=document.querySelectorAll('style[f-forigin="p"][f-family="'+w[x].fFamily+'"], style[f-origin="3"][f-family="'+w[x].fFamily+'"]'),ia.length>0)A=!1;if(A){var la=createTag("style");la.setAttribute("f-forigin",w[x].fOrigin),la.setAttribute("f-origin",w[x].origin),la.setAttribute("f-family",w[x].fFamily),la.type="text/css",la.innerText="@font-face {font-family: "+w[x].fFamily+"; font-style: normal; src: url('"+w[x].fPath+"');}",Z.appendChild(la)}}else if(w[x].fOrigin==="g"||w[x].origin===1){ia=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]');for(ra=0;ra<ia.length;ra+=1)if(ia[ra].href.indexOf(w[x].fPath)!==-1)A=!1;if(A){var da=createTag("link");da.setAttribute("f-forigin",w[x].fOrigin),da.setAttribute("f-origin",w[x].origin),da.type="text/css",da.rel="stylesheet",da.href=w[x].fPath,document.body.appendChild(da)}}else if(w[x].fOrigin==="t"||w[x].origin===2){ia=document.querySelectorAll('script[f-forigin="t"], script[f-origin="2"]');for(ra=0;ra<ia.length;ra+=1)if(w[x].fPath===ia[ra].src)A=!1;if(A){var ya=createTag("link");ya.setAttribute("f-forigin",w[x].fOrigin),ya.setAttribute("f-origin",w[x].origin),ya.setAttribute("rel","stylesheet"),ya.setAttribute("href",w[x].fPath),Z.appendChild(ya)}}w[x].helper=b(w[x],Z),w[x].cache={},this.fonts.push(w[x])}if(B===0)this.isLoaded=!0;else setTimeout(this.checkLoadedFonts.bind(this),100)}function m(H){if(!H)return;if(!this.chars)this.chars=[];var Z,w=H.length,x,V=this.chars.length,B;for(Z=0;Z<w;Z+=1){x=0,B=!1;while(x<V){if(this.chars[x].style===H[Z].style&&this.chars[x].fFamily===H[Z].fFamily&&this.chars[x].ch===H[Z].ch)B=!0;x+=1}if(!B)this.chars.push(H[Z]),V+=1}}function v(H,Z,w){var x=0,V=this.chars.length;while(x<V){if(this.chars[x].ch===H&&this.chars[x].style===Z&&this.chars[x].fFamily===w)return this.chars[x];x+=1}if((typeof H==="string"&&H.charCodeAt(0)!==13||!H)&&console&&console.warn&&!this._warned)this._warned=!0,console.warn("Missing character from exported characters list: ",H,Z,w);return i}function p(H,Z,w){var x=this.getFontByName(Z),V=H;if(!x.cache[V]){var B=x.helper;if(H===" "){var A=B.measureText("|"+H+"|"),ia=B.measureText("||");x.cache[V]=(A-ia)/100}else x.cache[V]=B.measureText(H)/100}return x.cache[V]*w}function k(H){var Z=0,w=this.fonts.length;while(Z<w){if(this.fonts[Z].fName===H)return this.fonts[Z];Z+=1}return this.fonts[0]}function S(H){var Z=0,w=H.charCodeAt(0);if(w>=55296&&w<=56319){var x=H.charCodeAt(1);if(x>=56320&&x<=57343)Z=(w-55296)*1024+x-56320+65536}return Z}function F(H,Z){var w=H.toString(16)+Z.toString(16);return f.indexOf(w)!==-1}function K(H){return H===l}function R(H){return H===s}function L(H){var Z=S(H);if(Z>=u&&Z<=h)return!0;return!1}function M(H){return L(H.substr(0,2))&&L(H.substr(2,2))}function X(H){return e.indexOf(H)!==-1}function _(H,Z){var w=S(H.substr(Z,2));if(w!==o)return!1;var x=0;Z+=2;while(x<5){if(w=S(H.substr(Z,2)),w<n||w>t)return!1;x+=1,Z+=2}return S(H.substr(Z,2))===r}function U(){this.isLoaded=!0}var G=function H(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this)};G.isModifier=F,G.isZeroWidthJoiner=K,G.isFlagEmoji=M,G.isRegionalCode=L,G.isCombinedCharacter=X,G.isRegionalFlag=_,G.isVariationSelector=R,G.BLACK_FLAG_CODE_POINT=o;var O={addChars:m,addFonts:I,getCharData:v,getFontByName:k,measureText:p,checkLoadedFonts:g,setIsLoaded:U};return G.prototype=O,G}();function SlotManager(a){this.animationData=a}SlotManager.prototype.getProp=function(a){if(this.animationData.slots&&this.animationData.slots[a.sid])return Object.assign(a,this.animationData.slots[a.sid].p);return a};function slotFactory(a){return new SlotManager(a)}function RenderableElement(){}RenderableElement.prototype={initRenderable:function a(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[]},addRenderableComponent:function a(i){if(this.renderableComponents.indexOf(i)===-1)this.renderableComponents.push(i)},removeRenderableComponent:function a(i){if(this.renderableComponents.indexOf(i)!==-1)this.renderableComponents.splice(this.renderableComponents.indexOf(i),1)},prepareRenderableFrame:function a(i){this.checkLayerLimits(i)},checkTransparency:function a(){if(this.finalTransform.mProp.o.v<=0){if(!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent)this.isTransparent=!0,this.hide()}else if(this.isTransparent)this.isTransparent=!1,this.show()},checkLayerLimits:function a(i){if(this.data.ip-this.data.st<=i&&this.data.op-this.data.st>i){if(this.isInRange!==!0)this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()}else if(this.isInRange!==!1)this.globalData._mdf=!0,this.isInRange=!1,this.hide()},renderRenderable:function a(){var i,e=this.renderableComponents.length;for(i=0;i<e;i+=1)this.renderableComponents[i].renderFrame(this._isFirstFrame)},sourceRectAtTime:function a(){return{top:0,left:0,width:100,height:100}},getLayerSize:function a(){if(this.data.ty===5)return{w:this.data.textData.width,h:this.data.textData.height};return{w:this.data.width,h:this.data.height}}};var getBlendMode=function(){var a={0:"source-over",1:"multiply",2:"screen",3:"overlay",4:"darken",5:"lighten",6:"color-dodge",7:"color-burn",8:"hard-light",9:"soft-light",10:"difference",11:"exclusion",12:"hue",13:"saturation",14:"color",15:"luminosity"};return function(i){return a[i]||""}}();function SliderEffect(a,i,e){this.p=PropertyFactory.getProp(i,a.v,0,0,e)}function AngleEffect(a,i,e){this.p=PropertyFactory.getProp(i,a.v,0,0,e)}function ColorEffect(a,i,e){this.p=PropertyFactory.getProp(i,a.v,1,0,e)}function PointEffect(a,i,e){this.p=PropertyFactory.getProp(i,a.v,1,0,e)}function LayerIndexEffect(a,i,e){this.p=PropertyFactory.getProp(i,a.v,0,0,e)}function MaskIndexEffect(a,i,e){this.p=PropertyFactory.getProp(i,a.v,0,0,e)}function CheckboxEffect(a,i,e){this.p=PropertyFactory.getProp(i,a.v,0,0,e)}function NoValueEffect(){this.p={}}function EffectsManager(a,i){var e=a.ef||[];this.effectElements=[];var o,r=e.length,n;for(o=0;o<r;o+=1)n=new GroupEffect(e[o],i),this.effectElements.push(n)}function GroupEffect(a,i){this.init(a,i)}extendPrototype([DynamicPropertyContainer],GroupEffect),GroupEffect.prototype.getValue=GroupEffect.prototype.iterateDynamicProperties,GroupEffect.prototype.init=function(a,i){this.data=a,this.effectElements=[],this.initDynamicPropertyContainer(i);var e,o=this.data.ef.length,r,n=this.data.ef;for(e=0;e<o;e+=1){switch(r=null,n[e].ty){case 0:r=new SliderEffect(n[e],i,this);break;case 1:r=new AngleEffect(n[e],i,this);break;case 2:r=new ColorEffect(n[e],i,this);break;case 3:r=new PointEffect(n[e],i,this);break;case 4:case 7:r=new CheckboxEffect(n[e],i,this);break;case 10:r=new LayerIndexEffect(n[e],i,this);break;case 11:r=new MaskIndexEffect(n[e],i,this);break;case 5:r=new EffectsManager(n[e],i,this);break;default:r=new NoValueEffect(n[e],i,this);break}if(r)this.effectElements.push(r)}};function BaseElement(){}BaseElement.prototype={checkMasks:function a(){if(!this.data.hasMask)return!1;var i=0,e=this.data.masksProperties.length;while(i<e){if(this.data.masksProperties[i].mode!=="n"&&this.data.masksProperties[i].cl!==!1)return!0;i+=1}return!1},initExpressions:function a(){var i=getExpressionInterfaces();if(!i)return;var e=i("layer"),o=i("effects"),r=i("shape"),n=i("text"),t=i("comp");if(this.layerInterface=e(this),this.data.hasMask&&this.maskManager)this.layerInterface.registerMaskInterface(this.maskManager);var s=o.createEffectsInterface(this,this.layerInterface);if(this.layerInterface.registerEffectsInterface(s),this.data.ty===0||this.data.xt)this.compInterface=t(this);else if(this.data.ty===4)this.layerInterface.shapeInterface=r(this.shapesData,this.itemsData,this.layerInterface),this.layerInterface.content=this.layerInterface.shapeInterface;else if(this.data.ty===5)this.layerInterface.textInterface=n(this),this.layerInterface.text=this.layerInterface.textInterface},setBlendMode:function a(){var i=getBlendMode(this.data.bm),e=this.baseElement||this.layerElement;e.style["mix-blend-mode"]=i},initBaseData:function a(i,e,o){if(this.globalData=e,this.comp=o,this.data=i,this.layerId=createElementID(),!this.data.sr)this.data.sr=1;this.effectsManager=new EffectsManager(this.data,this,this.dynamicProperties)},getType:function a(){return this.type},sourceRectAtTime:function a(){}};function FrameElement(){}FrameElement.prototype={initFrame:function a(){this._isFirstFrame=!1,this.dynamicProperties=[],this._mdf=!1},prepareProperties:function a(i,e){var o,r=this.dynamicProperties.length;for(o=0;o<r;o+=1)if(e||this._isParent&&this.dynamicProperties[o].propType==="transform"){if(this.dynamicProperties[o].getValue(),this.dynamicProperties[o]._mdf)this.globalData._mdf=!0,this._mdf=!0}},addDynamicProperty:function a(i){if(this.dynamicProperties.indexOf(i)===-1)this.dynamicProperties.push(i)}};function FootageElement(a,i,e){this.initFrame(),this.initRenderable(),this.assetData=i.getAssetData(a.refId),this.footageData=i.imageLoader.getAsset(this.assetData),this.initBaseData(a,i,e)}FootageElement.prototype.prepareFrame=function(){},extendPrototype([RenderableElement,BaseElement,FrameElement],FootageElement),FootageElement.prototype.getBaseElement=function(){return null},FootageElement.prototype.renderFrame=function(){},FootageElement.prototype.destroy=function(){},FootageElement.prototype.initExpressions=function(){var a=getExpressionInterfaces();if(!a)return;var i=a("footage");this.layerInterface=i(this)},FootageElement.prototype.getFootageData=function(){return this.footageData};function AudioElement(a,i,e){this.initFrame(),this.initRenderable(),this.assetData=i.getAssetData(a.refId),this.initBaseData(a,i,e),this._isPlaying=!1,this._canPlay=!1;var o=this.globalData.getAssetsPath(this.assetData);this.audio=this.globalData.audioController.createAudio(o),this._currentTime=0,this.globalData.audioController.addAudio(this),this._volumeMultiplier=1,this._volume=1,this._previousVolume=null,this.tm=a.tm?PropertyFactory.getProp(this,a.tm,0,i.frameRate,this):{_placeholder:!0},this.lv=PropertyFactory.getProp(this,a.au&&a.au.lv?a.au.lv:{k:[100]},1,0.01,this)}AudioElement.prototype.prepareFrame=function(a){if(this.prepareRenderableFrame(a,!0),this.prepareProperties(a,!0),!this.tm._placeholder){var i=this.tm.v;this._currentTime=i}else this._currentTime=a/this.data.sr;this._volume=this.lv.v[0];var e=this._volume*this._volumeMultiplier;if(this._previousVolume!==e)this._previousVolume=e,this.audio.volume(e)},extendPrototype([RenderableElement,BaseElement,FrameElement],AudioElement),AudioElement.prototype.renderFrame=function(){if(this.isInRange&&this._canPlay){if(!this._isPlaying)this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0;else if(!this.audio.playing()||Math.abs(this._currentTime/this.globalData.frameRate-this.audio.seek())>0.1)this.audio.seek(this._currentTime/this.globalData.frameRate)}},AudioElement.prototype.show=function(){},AudioElement.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1},AudioElement.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1},AudioElement.prototype.resume=function(){this._canPlay=!0},AudioElement.prototype.setRate=function(a){this.audio.rate(a)},AudioElement.prototype.volume=function(a){this._volumeMultiplier=a,this._previousVolume=a*this._volume,this.audio.volume(this._previousVolume)},AudioElement.prototype.getBaseElement=function(){return null},AudioElement.prototype.destroy=function(){},AudioElement.prototype.sourceRectAtTime=function(){},AudioElement.prototype.initExpressions=function(){};function BaseRenderer(){}BaseRenderer.prototype.checkLayers=function(a){var i,e=this.layers.length,o;this.completeLayers=!0;for(i=e-1;i>=0;i-=1){if(!this.elements[i]){if(o=this.layers[i],o.ip-o.st<=a-this.layers[i].st&&o.op-o.st>a-this.layers[i].st)this.buildItem(i)}this.completeLayers=this.elements[i]?this.completeLayers:!1}this.checkPendingElements()},BaseRenderer.prototype.createItem=function(a){switch(a.ty){case 2:return this.createImage(a);case 0:return this.createComp(a);case 1:return this.createSolid(a);case 3:return this.createNull(a);case 4:return this.createShape(a);case 5:return this.createText(a);case 6:return this.createAudio(a);case 13:return this.createCamera(a);case 15:return this.createFootage(a);default:return this.createNull(a)}},BaseRenderer.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},BaseRenderer.prototype.createAudio=function(a){return new AudioElement(a,this.globalData,this)},BaseRenderer.prototype.createFootage=function(a){return new FootageElement(a,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var a,i=this.layers.length;for(a=0;a<i;a+=1)this.buildItem(a);this.checkPendingElements()},BaseRenderer.prototype.includeLayers=function(a){this.completeLayers=!1;var i,e=a.length,o,r=this.layers.length;for(i=0;i<e;i+=1){o=0;while(o<r){if(this.layers[o].id===a[i].id){this.layers[o]=a[i];break}o+=1}}},BaseRenderer.prototype.setProjectInterface=function(a){this.globalData.projectInterface=a},BaseRenderer.prototype.initItems=function(){if(!this.globalData.progressiveLoad)this.buildAllItems()},BaseRenderer.prototype.buildElementParenting=function(a,i,e){var o=this.elements,r=this.layers,n=0,t=r.length;while(n<t){if(r[n].ind==i)if(!o[n]||o[n]===!0)this.buildItem(n),this.addPendingElement(a);else if(e.push(o[n]),o[n].setAsParent(),r[n].parent!==void 0)this.buildElementParenting(a,r[n].parent,e);else a.setHierarchy(e);n+=1}},BaseRenderer.prototype.addPendingElement=function(a){this.pendingElements.push(a)},BaseRenderer.prototype.searchExtraCompositions=function(a){var i,e=a.length;for(i=0;i<e;i+=1)if(a[i].xt){var o=this.createComp(a[i]);o.initExpressions(),this.globalData.projectInterface.registerComposition(o)}},BaseRenderer.prototype.getElementById=function(a){var i,e=this.elements.length;for(i=0;i<e;i+=1)if(this.elements[i].data.ind===a)return this.elements[i];return null},BaseRenderer.prototype.getElementByPath=function(a){var i=a.shift(),e;if(typeof i==="number")e=this.elements[i];else{var o,r=this.elements.length;for(o=0;o<r;o+=1)if(this.elements[o].data.nm===i){e=this.elements[o];break}}if(a.length===0)return e;return e.getElementByPath(a)},BaseRenderer.prototype.setupGlobalData=function(a,i){this.globalData.fontManager=new FontManager,this.globalData.slotManager=slotFactory(a),this.globalData.fontManager.addChars(a.chars),this.globalData.fontManager.addFonts(a.fonts,i),this.globalData.getAssetData=this.animationItem.getAssetData.bind(this.animationItem),this.globalData.getAssetsPath=this.animationItem.getAssetsPath.bind(this.animationItem),this.globalData.imageLoader=this.animationItem.imagePreloader,this.globalData.audioController=this.animationItem.audioController,this.globalData.frameId=0,this.globalData.frameRate=a.fr,this.globalData.nm=a.nm,this.globalData.compSize={w:a.w,h:a.h}};var effectTypes={TRANSFORM_EFFECT:"transformEFfect"};function TransformElement(){}TransformElement.prototype={initTransform:function a(){var i=new Matrix;if(this.finalTransform={mProp:this.data.ks?TransformPropertyFactory.getTransformProperty(this,this.data.ks,this):{o:0},_matMdf:!1,_localMatMdf:!1,_opMdf:!1,mat:i,localMat:i,localOpacity:1},this.data.ao)this.finalTransform.mProp.autoOriented=!0;if(this.data.ty!==11);},renderTransform:function a(){if(this.finalTransform._opMdf=this.finalTransform.mProp.o._mdf||this._isFirstFrame,this.finalTransform._matMdf=this.finalTransform.mProp._mdf||this._isFirstFrame,this.hierarchy){var i,e=this.finalTransform.mat,o=0,r=this.hierarchy.length;if(!this.finalTransform._matMdf)while(o<r){if(this.hierarchy[o].finalTransform.mProp._mdf){this.finalTransform._matMdf=!0;break}o+=1}if(this.finalTransform._matMdf){i=this.finalTransform.mProp.v.props,e.cloneFromProps(i);for(o=0;o<r;o+=1)e.multiply(this.hierarchy[o].finalTransform.mProp.v)}}if(!this.localTransforms||this.finalTransform._matMdf)this.finalTransform._localMatMdf=this.finalTransform._matMdf;if(this.finalTransform._opMdf)this.finalTransform.localOpacity=this.finalTransform.mProp.o.v},renderLocalTransform:function a(){if(this.localTransforms){var i=0,e=this.localTransforms.length;if(this.finalTransform._localMatMdf=this.finalTransform._matMdf,!this.finalTransform._localMatMdf||!this.finalTransform._opMdf)while(i<e){if(this.localTransforms[i]._mdf)this.finalTransform._localMatMdf=!0;if(this.localTransforms[i]._opMdf&&!this.finalTransform._opMdf)this.finalTransform.localOpacity=this.finalTransform.mProp.o.v,this.finalTransform._opMdf=!0;i+=1}if(this.finalTransform._localMatMdf){var o=this.finalTransform.localMat;this.localTransforms[0].matrix.clone(o);for(i=1;i<e;i+=1){var r=this.localTransforms[i].matrix;o.multiply(r)}o.multiply(this.finalTransform.mat)}if(this.finalTransform._opMdf){var n=this.finalTransform.localOpacity;for(i=0;i<e;i+=1)n*=this.localTransforms[i].opacity*0.01;this.finalTransform.localOpacity=n}}},searchEffectTransforms:function a(){if(this.renderableEffectsManager){var i=this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);if(i.length){this.localTransforms=[],this.finalTransform.localMat=new Matrix;var e=0,o=i.length;for(e=0;e<o;e+=1)this.localTransforms.push(i[e])}}},globalToLocal:function a(i){var e=[];e.push(this.finalTransform);var o=!0,r=this.comp;while(o)if(r.finalTransform){if(r.data.hasMask)e.splice(0,0,r.finalTransform);r=r.comp}else o=!1;var n,t=e.length,s;for(n=0;n<t;n+=1)s=e[n].mat.applyToPointArray(0,0,0),i=[i[0]-s[0],i[1]-s[1],0];return i},mHelper:new Matrix};function MaskElement(a,i,e){this.data=a,this.element=i,this.globalData=e,this.storedData=[],this.masksProperties=this.data.masksProperties||[],this.maskElement=null;var o=this.globalData.defs,r,n=this.masksProperties?this.masksProperties.length:0;this.viewData=createSizedArray(n),this.solidPath="";var t,s=this.masksProperties,l=0,u=[],h,f,c=createElementID(),y,g,b,I,m="clipPath",v="clip-path";for(r=0;r<n;r+=1){if(s[r].mode!=="a"&&s[r].mode!=="n"||s[r].inv||s[r].o.k!==100||s[r].o.x)m="mask",v="mask";if((s[r].mode==="s"||s[r].mode==="i")&&l===0)y=createNS("rect"),y.setAttribute("fill","#ffffff"),y.setAttribute("width",this.element.comp.data.w||0),y.setAttribute("height",this.element.comp.data.h||0),u.push(y);else y=null;if(t=createNS("path"),s[r].mode==="n")this.viewData[r]={op:PropertyFactory.getProp(this.element,s[r].o,0,0.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,s[r],3),elem:t,lastPath:""},o.appendChild(t);else{l+=1,t.setAttribute("fill",s[r].mode==="s"?"#000000":"#ffffff"),t.setAttribute("clip-rule","nonzero");var p;if(s[r].x.k!==0)m="mask",v="mask",I=PropertyFactory.getProp(this.element,s[r].x,0,null,this.element),p=createElementID(),g=createNS("filter"),g.setAttribute("id",p),b=createNS("feMorphology"),b.setAttribute("operator","erode"),b.setAttribute("in","SourceGraphic"),b.setAttribute("radius","0"),g.appendChild(b),o.appendChild(g),t.setAttribute("stroke",s[r].mode==="s"?"#000000":"#ffffff");else b=null,I=null;if(this.storedData[r]={elem:t,x:I,expan:b,lastPath:"",lastOperator:"",filterId:p,lastRadius:0},s[r].mode==="i"){f=u.length;var k=createNS("g");for(h=0;h<f;h+=1)k.appendChild(u[h]);var S=createNS("mask");S.setAttribute("mask-type","alpha"),S.setAttribute("id",c+"_"+l),S.appendChild(t),o.appendChild(S),k.setAttribute("mask","url("+getLocationHref()+"#"+c+"_"+l+")"),u.length=0,u.push(k)}else u.push(t);if(s[r].inv&&!this.solidPath)this.solidPath=this.createLayerSolidPath();if(this.viewData[r]={elem:t,lastPath:"",op:PropertyFactory.getProp(this.element,s[r].o,0,0.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,s[r],3),invRect:y},!this.viewData[r].prop.k)this.drawPath(s[r],this.viewData[r].prop.v,this.viewData[r])}}this.maskElement=createNS(m),n=u.length;for(r=0;r<n;r+=1)this.maskElement.appendChild(u[r]);if(l>0)this.maskElement.setAttribute("id",c),this.element.maskedElement.setAttribute(v,"url("+getLocationHref()+"#"+c+")"),o.appendChild(this.maskElement);if(this.viewData.length)this.element.addRenderableComponent(this)}MaskElement.prototype.getMaskProperty=function(a){return this.viewData[a].prop},MaskElement.prototype.renderFrame=function(a){var i=this.element.finalTransform.mat,e,o=this.masksProperties.length;for(e=0;e<o;e+=1){if(this.viewData[e].prop._mdf||a)this.drawPath(this.masksProperties[e],this.viewData[e].prop.v,this.viewData[e]);if(this.viewData[e].op._mdf||a)this.viewData[e].elem.setAttribute("fill-opacity",this.viewData[e].op.v);if(this.masksProperties[e].mode!=="n"){if(this.viewData[e].invRect&&(this.element.finalTransform.mProp._mdf||a))this.viewData[e].invRect.setAttribute("transform",i.getInverseMatrix().to2dCSS());if(this.storedData[e].x&&(this.storedData[e].x._mdf||a)){var r=this.storedData[e].expan;if(this.storedData[e].x.v<0){if(this.storedData[e].lastOperator!=="erode")this.storedData[e].lastOperator="erode",this.storedData[e].elem.setAttribute("filter","url("+getLocationHref()+"#"+this.storedData[e].filterId+")");r.setAttribute("radius",-this.storedData[e].x.v)}else{if(this.storedData[e].lastOperator!=="dilate")this.storedData[e].lastOperator="dilate",this.storedData[e].elem.setAttribute("filter",null);this.storedData[e].elem.setAttribute("stroke-width",this.storedData[e].x.v*2)}}}}},MaskElement.prototype.getMaskelement=function(){return this.maskElement},MaskElement.prototype.createLayerSolidPath=function(){var a="M0,0 ";return a+=" h"+this.globalData.compSize.w,a+=" v"+this.globalData.compSize.h,a+=" h-"+this.globalData.compSize.w,a+=" v-"+this.globalData.compSize.h+" ",a},MaskElement.prototype.drawPath=function(a,i,e){var o=" M"+i.v[0][0]+","+i.v[0][1],r,n;n=i._length;for(r=1;r<n;r+=1)o+=" C"+i.o[r-1][0]+","+i.o[r-1][1]+" "+i.i[r][0]+","+i.i[r][1]+" "+i.v[r][0]+","+i.v[r][1];if(i.c&&n>1)o+=" C"+i.o[r-1][0]+","+i.o[r-1][1]+" "+i.i[0][0]+","+i.i[0][1]+" "+i.v[0][0]+","+i.v[0][1];if(e.lastPath!==o){var t="";if(e.elem){if(i.c)t=a.inv?this.solidPath+o:o;e.elem.setAttribute("d",t)}e.lastPath=o}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null};var filtersFactory=function(){var a={};a.createFilter=i,a.createAlphaToLuminanceFilter=e;function i(o,r){var n=createNS("filter");if(n.setAttribute("id",o),r!==!0)n.setAttribute("filterUnits","objectBoundingBox"),n.setAttribute("x","0%"),n.setAttribute("y","0%"),n.setAttribute("width","100%"),n.setAttribute("height","100%");return n}function e(){var o=createNS("feColorMatrix");return o.setAttribute("type","matrix"),o.setAttribute("color-interpolation-filters","sRGB"),o.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),o}return a}(),featureSupport=function(){var a={maskType:!0,svgLumaHidden:!0,offscreenCanvas:typeof OffscreenCanvas!=="undefined"};if(/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))a.maskType=!1;if(/firefox/i.test(navigator.userAgent))a.svgLumaHidden=!1;return a}(),registeredEffects$1={},idPrefix="filter_result_";function SVGEffects(a){var i,e="SourceGraphic",o=a.data.ef?a.data.ef.length:0,r=createElementID(),n=filtersFactory.createFilter(r,!0),t=0;this.filters=[];var s;for(i=0;i<o;i+=1){s=null;var l=a.data.ef[i].ty;if(registeredEffects$1[l]){var u=registeredEffects$1[l].effect;if(s=new u(n,a.effectsManager.effectElements[i],a,idPrefix+t,e),e=idPrefix+t,registeredEffects$1[l].countsAsEffect)t+=1}if(s)this.filters.push(s)}if(t)a.globalData.defs.appendChild(n),a.layerElement.setAttribute("filter","url("+getLocationHref()+"#"+r+")");if(this.filters.length)a.addRenderableComponent(this)}SVGEffects.prototype.renderFrame=function(a){var i,e=this.filters.length;for(i=0;i<e;i+=1)this.filters[i].renderFrame(a)},SVGEffects.prototype.getEffects=function(a){var i,e=this.filters.length,o=[];for(i=0;i<e;i+=1)if(this.filters[i].type===a)o.push(this.filters[i]);return o};function registerEffect$1(a,i,e){registeredEffects$1[a]={effect:i,countsAsEffect:e}}function SVGBaseElement(){}SVGBaseElement.prototype={initRendererElement:function a(){this.layerElement=createNS("g")},createContainerElements:function a(){this.matteElement=createNS("g"),this.transformedElement=this.layerElement,this.maskedElement=this.layerElement,this._sizeChanged=!1;var i=null;if(this.data.td){this.matteMasks={};var e=createNS("g");e.setAttribute("id",this.layerId),e.appendChild(this.layerElement),i=e,this.globalData.defs.appendChild(e)}else if(this.data.tt)this.matteElement.appendChild(this.layerElement),i=this.matteElement,this.baseElement=this.matteElement;else this.baseElement=this.layerElement;if(this.data.ln)this.layerElement.setAttribute("id",this.data.ln);if(this.data.cl)this.layerElement.setAttribute("class",this.data.cl);if(this.data.ty===0&&!this.data.hd){var o=createNS("clipPath"),r=createNS("path");r.setAttribute("d","M0,0 L"+this.data.w+",0 L"+this.data.w+","+this.data.h+" L0,"+this.data.h+"z");var n=createElementID();if(o.setAttribute("id",n),o.appendChild(r),this.globalData.defs.appendChild(o),this.checkMasks()){var t=createNS("g");if(t.setAttribute("clip-path","url("+getLocationHref()+"#"+n+")"),t.appendChild(this.layerElement),this.transformedElement=t,i)i.appendChild(this.transformedElement);else this.baseElement=this.transformedElement}else this.layerElement.setAttribute("clip-path","url("+getLocationHref()+"#"+n+")")}if(this.data.bm!==0)this.setBlendMode()},renderElement:function a(){if(this.finalTransform._localMatMdf)this.transformedElement.setAttribute("transform",this.finalTransform.localMat.to2dCSS());if(this.finalTransform._opMdf)this.transformedElement.setAttribute("opacity",this.finalTransform.localOpacity)},destroyBaseElement:function a(){this.layerElement=null,this.matteElement=null,this.maskManager.destroy()},getBaseElement:function a(){if(this.data.hd)return null;return this.baseElement},createRenderableComponents:function a(){this.maskManager=new MaskElement(this.data,this,this.globalData),this.renderableEffectsManager=new SVGEffects(this),this.searchEffectTransforms()},getMatte:function a(i){if(!this.matteMasks)this.matteMasks={};if(!this.matteMasks[i]){var e=this.layerId+"_"+i,o,r,n,t;if(i===1||i===3){var s=createNS("mask");if(s.setAttribute("id",e),s.setAttribute("mask-type",i===3?"luminance":"alpha"),n=createNS("use"),n.setAttributeNS("http://www.w3.org/1999/xlink","href","#"+this.layerId),s.appendChild(n),this.globalData.defs.appendChild(s),!featureSupport.maskType&&i===1)s.setAttribute("mask-type","luminance"),o=createElementID(),r=filtersFactory.createFilter(o),this.globalData.defs.appendChild(r),r.appendChild(filtersFactory.createAlphaToLuminanceFilter()),t=createNS("g"),t.appendChild(n),s.appendChild(t),t.setAttribute("filter","url("+getLocationHref()+"#"+o+")")}else if(i===2){var l=createNS("mask");l.setAttribute("id",e),l.setAttribute("mask-type","alpha");var u=createNS("g");l.appendChild(u),o=createElementID(),r=filtersFactory.createFilter(o);var h=createNS("feComponentTransfer");h.setAttribute("in","SourceGraphic"),r.appendChild(h);var f=createNS("feFuncA");f.setAttribute("type","table"),f.setAttribute("tableValues","1.0 0.0"),h.appendChild(f),this.globalData.defs.appendChild(r);var c=createNS("rect");if(c.setAttribute("width",this.comp.data.w),c.setAttribute("height",this.comp.data.h),c.setAttribute("x","0"),c.setAttribute("y","0"),c.setAttribute("fill","#ffffff"),c.setAttribute("opacity","0"),u.setAttribute("filter","url("+getLocationHref()+"#"+o+")"),u.appendChild(c),n=createNS("use"),n.setAttributeNS("http://www.w3.org/1999/xlink","href","#"+this.layerId),u.appendChild(n),!featureSupport.maskType)l.setAttribute("mask-type","luminance"),r.appendChild(filtersFactory.createAlphaToLuminanceFilter()),t=createNS("g"),u.appendChild(c),t.appendChild(this.layerElement),u.appendChild(t);this.globalData.defs.appendChild(l)}this.matteMasks[i]=e}return this.matteMasks[i]},setMatte:function a(i){if(!this.matteElement)return;this.matteElement.setAttribute("mask","url("+getLocationHref()+"#"+i+")")}};function HierarchyElement(){}HierarchyElement.prototype={initHierarchy:function a(){this.hierarchy=[],this._isParent=!1,this.checkParenting()},setHierarchy:function a(i){this.hierarchy=i},setAsParent:function a(){this._isParent=!0},checkParenting:function a(){if(this.data.parent!==void 0)this.comp.buildElementParenting(this,this.data.parent,[])}};function RenderableDOMElement(){}(function(){var a={initElement:function i(e,o,r){this.initFrame(),this.initBaseData(e,o,r),this.initTransform(e,o,r),this.initHierarchy(),this.initRenderable(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.createContent(),this.hide()},hide:function i(){if(!this.hidden&&(!this.isInRange||this.isTransparent)){var e=this.baseElement||this.layerElement;e.style.display="none",this.hidden=!0}},show:function i(){if(this.isInRange&&!this.isTransparent){if(!this.data.hd){var e=this.baseElement||this.layerElement;e.style.display="block"}this.hidden=!1,this._isFirstFrame=!0}},renderFrame:function i(){if(this.data.hd||this.hidden)return;if(this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame)this._isFirstFrame=!1},renderInnerContent:function i(){},prepareFrame:function i(e){this._mdf=!1,this.prepareRenderableFrame(e),this.prepareProperties(e,this.isInRange),this.checkTransparency()},destroy:function i(){this.innerElem=null,this.destroyBaseElement()}};extendPrototype([RenderableElement,createProxyFunction(a)],RenderableDOMElement)})();function IImageElement(a,i,e){if(this.assetData=i.getAssetData(a.refId),this.assetData&&this.assetData.sid)this.assetData=i.slotManager.getProp(this.assetData);this.initElement(a,i,e),this.sourceRect={top:0,left:0,width:this.assetData.w,height:this.assetData.h}}extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],IImageElement),IImageElement.prototype.createContent=function(){var a=this.globalData.getAssetsPath(this.assetData);this.innerElem=createNS("image"),this.innerElem.setAttribute("width",this.assetData.w+"px"),this.innerElem.setAttribute("height",this.assetData.h+"px"),this.innerElem.setAttribute("preserveAspectRatio",this.assetData.pr||this.globalData.renderConfig.imagePreserveAspectRatio),this.innerElem.setAttributeNS("http://www.w3.org/1999/xlink","href",a),this.layerElement.appendChild(this.innerElem)},IImageElement.prototype.sourceRectAtTime=function(){return this.sourceRect};function ProcessedElement(a,i){this.elem=a,this.pos=i}function IShapeElement(){}IShapeElement.prototype={addShapeToModifiers:function a(i){var e,o=this.shapeModifiers.length;for(e=0;e<o;e+=1)this.shapeModifiers[e].addShape(i)},isShapeInAnimatedModifiers:function a(i){var e=0,o=this.shapeModifiers.length;while(e<o)if(this.shapeModifiers[e].isAnimatedWithShape(i))return!0;return!1},renderModifiers:function a(){if(!this.shapeModifiers.length)return;var i,e=this.shapes.length;for(i=0;i<e;i+=1)this.shapes[i].sh.reset();e=this.shapeModifiers.length;var o;for(i=e-1;i>=0;i-=1)if(o=this.shapeModifiers[i].processShapes(this._isFirstFrame),o)break},searchProcessedElement:function a(i){var e=this.processedElements,o=0,r=e.length;while(o<r){if(e[o].elem===i)return e[o].pos;o+=1}return 0},addProcessedElement:function a(i,e){var o=this.processedElements,r=o.length;while(r)if(r-=1,o[r].elem===i){o[r].pos=e;return}o.push(new ProcessedElement(i,e))},prepareFrame:function a(i){this.prepareRenderableFrame(i),this.prepareProperties(i,this.isInRange)}};var lineCapEnum={1:"butt",2:"round",3:"square"},lineJoinEnum={1:"miter",2:"round",3:"bevel"};function SVGShapeData(a,i,e){this.caches=[],this.styles=[],this.transformers=a,this.lStr="",this.sh=e,this.lvl=i,this._isAnimated=!!e.k;var o=0,r=a.length;while(o<r){if(a[o].mProps.dynamicProperties.length){this._isAnimated=!0;break}o+=1}}SVGShapeData.prototype.setAsAnimated=function(){this._isAnimated=!0};function SVGStyleData(a,i){this.data=a,this.type=a.ty,this.d="",this.lvl=i,this._mdf=!1,this.closed=a.hd===!0,this.pElem=createNS("path"),this.msElem=null}SVGStyleData.prototype.reset=function(){this.d="",this._mdf=!1};function DashProperty(a,i,e,o){this.elem=a,this.frameId=-1,this.dataProps=createSizedArray(i.length),this.renderer=e,this.k=!1,this.dashStr="",this.dashArray=createTypedArray("float32",i.length?i.length-1:0),this.dashoffset=createTypedArray("float32",1),this.initDynamicPropertyContainer(o);var r,n=i.length||0,t;for(r=0;r<n;r+=1)t=PropertyFactory.getProp(a,i[r].v,0,0,this),this.k=t.k||this.k,this.dataProps[r]={n:i[r].n,p:t};if(!this.k)this.getValue(!0);this._isAnimated=this.k}DashProperty.prototype.getValue=function(a){if(this.elem.globalData.frameId===this.frameId&&!a)return;if(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf=this._mdf||a,this._mdf){var i=0,e=this.dataProps.length;if(this.renderer==="svg")this.dashStr="";for(i=0;i<e;i+=1)if(this.dataProps[i].n!=="o")if(this.renderer==="svg")this.dashStr+=" "+this.dataProps[i].p.v;else this.dashArray[i]=this.dataProps[i].p.v;else this.dashoffset[0]=this.dataProps[i].p.v}},extendPrototype([DynamicPropertyContainer],DashProperty);function SVGStrokeStyleData(a,i,e){this.initDynamicPropertyContainer(a),this.getValue=this.iterateDynamicProperties,this.o=PropertyFactory.getProp(a,i.o,0,0.01,this),this.w=PropertyFactory.getProp(a,i.w,0,null,this),this.d=new DashProperty(a,i.d||{},"svg",this),this.c=PropertyFactory.getProp(a,i.c,1,255,this),this.style=e,this._isAnimated=!!this._isAnimated}extendPrototype([DynamicPropertyContainer],SVGStrokeStyleData);function SVGFillStyleData(a,i,e){this.initDynamicPropertyContainer(a),this.getValue=this.iterateDynamicProperties,this.o=PropertyFactory.getProp(a,i.o,0,0.01,this),this.c=PropertyFactory.getProp(a,i.c,1,255,this),this.style=e}extendPrototype([DynamicPropertyContainer],SVGFillStyleData);function SVGNoStyleData(a,i,e){this.initDynamicPropertyContainer(a),this.getValue=this.iterateDynamicProperties,this.style=e}extendPrototype([DynamicPropertyContainer],SVGNoStyleData);function GradientProperty(a,i,e){this.data=i,this.c=createTypedArray("uint8c",i.p*4);var o=i.k.k[0].s?i.k.k[0].s.length-i.p*4:i.k.k.length-i.p*4;this.o=createTypedArray("float32",o),this._cmdf=!1,this._omdf=!1,this._collapsable=this.checkCollapsable(),this._hasOpacity=o,this.initDynamicPropertyContainer(e),this.prop=PropertyFactory.getProp(a,i.k,1,null,this),this.k=this.prop.k,this.getValue(!0)}GradientProperty.prototype.comparePoints=function(a,i){var e=0,o=this.o.length/2,r;while(e<o){if(r=Math.abs(a[e*4]-a[i*4+e*2]),r>0.01)return!1;e+=1}return!0},GradientProperty.prototype.checkCollapsable=function(){if(this.o.length/2!==this.c.length/4)return!1;if(this.data.k.k[0].s){var a=0,i=this.data.k.k.length;while(a<i){if(!this.comparePoints(this.data.k.k[a].s,this.data.p))return!1;a+=1}}else if(!this.comparePoints(this.data.k.k,this.data.p))return!1;return!0},GradientProperty.prototype.getValue=function(a){if(this.prop.getValue(),this._mdf=!1,this._cmdf=!1,this._omdf=!1,this.prop._mdf||a){var i,e=this.data.p*4,o,r;for(i=0;i<e;i+=1)if(o=i%4===0?100:255,r=Math.round(this.prop.v[i]*o),this.c[i]!==r)this.c[i]=r,this._cmdf=!a;if(this.o.length){e=this.prop.v.length;for(i=this.data.p*4;i<e;i+=1)if(o=i%2===0?100:1,r=i%2===0?Math.round(this.prop.v[i]*100):this.prop.v[i],this.o[i-this.data.p*4]!==r)this.o[i-this.data.p*4]=r,this._omdf=!a}this._mdf=!a}},extendPrototype([DynamicPropertyContainer],GradientProperty);function SVGGradientFillStyleData(a,i,e){this.initDynamicPropertyContainer(a),this.getValue=this.iterateDynamicProperties,this.initGradientData(a,i,e)}SVGGradientFillStyleData.prototype.initGradientData=function(a,i,e){this.o=PropertyFactory.getProp(a,i.o,0,0.01,this),this.s=PropertyFactory.getProp(a,i.s,1,null,this),this.e=PropertyFactory.getProp(a,i.e,1,null,this),this.h=PropertyFactory.getProp(a,i.h||{k:0},0,0.01,this),this.a=PropertyFactory.getProp(a,i.a||{k:0},0,degToRads,this),this.g=new GradientProperty(a,i.g,this),this.style=e,this.stops=[],this.setGradientData(e.pElem,i),this.setGradientOpacity(i,e),this._isAnimated=!!this._isAnimated},SVGGradientFillStyleData.prototype.setGradientData=function(a,i){var e=createElementID(),o=createNS(i.t===1?"linearGradient":"radialGradient");o.setAttribute("id",e),o.setAttribute("spreadMethod","pad"),o.setAttribute("gradientUnits","userSpaceOnUse");var r=[],n,t,s;s=i.g.p*4;for(t=0;t<s;t+=4)n=createNS("stop"),o.appendChild(n),r.push(n);a.setAttribute(i.ty==="gf"?"fill":"stroke","url("+getLocationHref()+"#"+e+")"),this.gf=o,this.cst=r},SVGGradientFillStyleData.prototype.setGradientOpacity=function(a,i){if(this.g._hasOpacity&&!this.g._collapsable){var e,o,r,n=createNS("mask"),t=createNS("path");n.appendChild(t);var s=createElementID(),l=createElementID();n.setAttribute("id",l);var u=createNS(a.t===1?"linearGradient":"radialGradient");u.setAttribute("id",s),u.setAttribute("spreadMethod","pad"),u.setAttribute("gradientUnits","userSpaceOnUse"),r=a.g.k.k[0].s?a.g.k.k[0].s.length:a.g.k.k.length;var h=this.stops;for(o=a.g.p*4;o<r;o+=2)e=createNS("stop"),e.setAttribute("stop-color","rgb(255,255,255)"),u.appendChild(e),h.push(e);if(t.setAttribute(a.ty==="gf"?"fill":"stroke","url("+getLocationHref()+"#"+s+")"),a.ty==="gs"){if(t.setAttribute("stroke-linecap",lineCapEnum[a.lc||2]),t.setAttribute("stroke-linejoin",lineJoinEnum[a.lj||2]),a.lj===1)t.setAttribute("stroke-miterlimit",a.ml)}this.of=u,this.ms=n,this.ost=h,this.maskId=l,i.msElem=t}},extendPrototype([DynamicPropertyContainer],SVGGradientFillStyleData);function SVGGradientStrokeStyleData(a,i,e){this.initDynamicPropertyContainer(a),this.getValue=this.iterateDynamicProperties,this.w=PropertyFactory.getProp(a,i.w,0,null,this),this.d=new DashProperty(a,i.d||{},"svg",this),this.initGradientData(a,i,e),this._isAnimated=!!this._isAnimated}extendPrototype([SVGGradientFillStyleData,DynamicPropertyContainer],SVGGradientStrokeStyleData);function ShapeGroupData(){this.it=[],this.prevViewData=[],this.gr=createNS("g")}function SVGTransformData(a,i,e){this.transform={mProps:a,op:i,container:e},this.elements=[],this._isAnimated=this.transform.mProps.dynamicProperties.length||this.transform.op.effectsSequence.length}var buildShapeString=function a(i,e,o,r){if(e===0)return"";var{o:n,i:t,v:s}=i,l,u=" M"+r.applyToPointStringified(s[0][0],s[0][1]);for(l=1;l<e;l+=1)u+=" C"+r.applyToPointStringified(n[l-1][0],n[l-1][1])+" "+r.applyToPointStringified(t[l][0],t[l][1])+" "+r.applyToPointStringified(s[l][0],s[l][1]);if(o&&e)u+=" C"+r.applyToPointStringified(n[l-1][0],n[l-1][1])+" "+r.applyToPointStringified(t[0][0],t[0][1])+" "+r.applyToPointStringified(s[0][0],s[0][1]),u+="z";return u},SVGElementsRenderer=function(){var a=new Matrix,i=new Matrix,e={createRenderFunction:o};function o(f){switch(f.ty){case"fl":return s;case"gf":return u;case"gs":return l;case"st":return h;case"sh":case"el":case"rc":case"sr":return t;case"tr":return r;case"no":return n;default:return null}}function r(f,c,y){if(y||c.transform.op._mdf)c.transform.container.setAttribute("opacity",c.transform.op.v);if(y||c.transform.mProps._mdf)c.transform.container.setAttribute("transform",c.transform.mProps.v.to2dCSS())}function n(){}function t(f,c,y){var g,b,I,m,v,p,k=c.styles.length,S=c.lvl,F,K,R,L;for(p=0;p<k;p+=1){if(m=c.sh._mdf||y,c.styles[p].lvl<S){K=i.reset(),R=S-c.styles[p].lvl,L=c.transformers.length-1;while(!m&&R>0)m=c.transformers[L].mProps._mdf||m,R-=1,L-=1;if(m){R=S-c.styles[p].lvl,L=c.transformers.length-1;while(R>0)K.multiply(c.transformers[L].mProps.v),R-=1,L-=1}}else K=a;if(F=c.sh.paths,b=F._length,m){I="";for(g=0;g<b;g+=1)if(v=F.shapes[g],v&&v._length)I+=buildShapeString(v,v._length,v.c,K);c.caches[p]=I}else I=c.caches[p];c.styles[p].d+=f.hd===!0?"":I,c.styles[p]._mdf=m||c.styles[p]._mdf}}function s(f,c,y){var g=c.style;if(c.c._mdf||y)g.pElem.setAttribute("fill","rgb("+bmFloor(c.c.v[0])+","+bmFloor(c.c.v[1])+","+bmFloor(c.c.v[2])+")");if(c.o._mdf||y)g.pElem.setAttribute("fill-opacity",c.o.v)}function l(f,c,y){u(f,c,y),h(f,c,y)}function u(f,c,y){var g=c.gf,b=c.g._hasOpacity,I=c.s.v,m=c.e.v;if(c.o._mdf||y){var v=f.ty==="gf"?"fill-opacity":"stroke-opacity";c.style.pElem.setAttribute(v,c.o.v)}if(c.s._mdf||y){var p=f.t===1?"x1":"cx",k=p==="x1"?"y1":"cy";if(g.setAttribute(p,I[0]),g.setAttribute(k,I[1]),b&&!c.g._collapsable)c.of.setAttribute(p,I[0]),c.of.setAttribute(k,I[1])}var S,F,K,R;if(c.g._cmdf||y){S=c.cst;var L=c.g.c;K=S.length;for(F=0;F<K;F+=1)R=S[F],R.setAttribute("offset",L[F*4]+"%"),R.setAttribute("stop-color","rgb("+L[F*4+1]+","+L[F*4+2]+","+L[F*4+3]+")")}if(b&&(c.g._omdf||y)){var M=c.g.o;if(c.g._collapsable)S=c.cst;else S=c.ost;K=S.length;for(F=0;F<K;F+=1){if(R=S[F],!c.g._collapsable)R.setAttribute("offset",M[F*2]+"%");R.setAttribute("stop-opacity",M[F*2+1])}}if(f.t===1){if(c.e._mdf||y){if(g.setAttribute("x2",m[0]),g.setAttribute("y2",m[1]),b&&!c.g._collapsable)c.of.setAttribute("x2",m[0]),c.of.setAttribute("y2",m[1])}}else{var X;if(c.s._mdf||c.e._mdf||y){if(X=Math.sqrt(Math.pow(I[0]-m[0],2)+Math.pow(I[1]-m[1],2)),g.setAttribute("r",X),b&&!c.g._collapsable)c.of.setAttribute("r",X)}if(c.s._mdf||c.e._mdf||c.h._mdf||c.a._mdf||y){if(!X)X=Math.sqrt(Math.pow(I[0]-m[0],2)+Math.pow(I[1]-m[1],2));var _=Math.atan2(m[1]-I[1],m[0]-I[0]),U=c.h.v;if(U>=1)U=0.99;else if(U<=-1)U=-0.99;var G=X*U,O=Math.cos(_+c.a.v)*G+I[0],H=Math.sin(_+c.a.v)*G+I[1];if(g.setAttribute("fx",O),g.setAttribute("fy",H),b&&!c.g._collapsable)c.of.setAttribute("fx",O),c.of.setAttribute("fy",H)}}}function h(f,c,y){var{style:g,d:b}=c;if(b&&(b._mdf||y)&&b.dashStr)g.pElem.setAttribute("stroke-dasharray",b.dashStr),g.pElem.setAttribute("stroke-dashoffset",b.dashoffset[0]);if(c.c&&(c.c._mdf||y))g.pElem.setAttribute("stroke","rgb("+bmFloor(c.c.v[0])+","+bmFloor(c.c.v[1])+","+bmFloor(c.c.v[2])+")");if(c.o._mdf||y)g.pElem.setAttribute("stroke-opacity",c.o.v);if(c.w._mdf||y){if(g.pElem.setAttribute("stroke-width",c.w.v),g.msElem)g.msElem.setAttribute("stroke-width",c.w.v)}}return e}();function SVGShapeElement(a,i,e){this.shapes=[],this.shapesData=a.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(a,i,e),this.prevViewData=[]}extendPrototype([BaseElement,TransformElement,SVGBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableDOMElement],SVGShapeElement),SVGShapeElement.prototype.initSecondaryElement=function(){},SVGShapeElement.prototype.identityMatrix=new Matrix,SVGShapeElement.prototype.buildExpressionInterface=function(){},SVGShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes()},SVGShapeElement.prototype.filterUniqueShapes=function(){var a,i=this.shapes.length,e,o,r=this.stylesList.length,n,t=[],s=!1;for(o=0;o<r;o+=1){n=this.stylesList[o],s=!1,t.length=0;for(a=0;a<i;a+=1)if(e=this.shapes[a],e.styles.indexOf(n)!==-1)t.push(e),s=e._isAnimated||s;if(t.length>1&&s)this.setShapesAsAnimated(t)}},SVGShapeElement.prototype.setShapesAsAnimated=function(a){var i,e=a.length;for(i=0;i<e;i+=1)a[i].setAsAnimated()},SVGShapeElement.prototype.createStyleElement=function(a,i){var e,o=new SVGStyleData(a,i),r=o.pElem;if(a.ty==="st")e=new SVGStrokeStyleData(this,a,o);else if(a.ty==="fl")e=new SVGFillStyleData(this,a,o);else if(a.ty==="gf"||a.ty==="gs"){var n=a.ty==="gf"?SVGGradientFillStyleData:SVGGradientStrokeStyleData;if(e=new n(this,a,o),this.globalData.defs.appendChild(e.gf),e.maskId)this.globalData.defs.appendChild(e.ms),this.globalData.defs.appendChild(e.of),r.setAttribute("mask","url("+getLocationHref()+"#"+e.maskId+")")}else if(a.ty==="no")e=new SVGNoStyleData(this,a,o);if(a.ty==="st"||a.ty==="gs"){if(r.setAttribute("stroke-linecap",lineCapEnum[a.lc||2]),r.setAttribute("stroke-linejoin",lineJoinEnum[a.lj||2]),r.setAttribute("fill-opacity","0"),a.lj===1)r.setAttribute("stroke-miterlimit",a.ml)}if(a.r===2)r.setAttribute("fill-rule","evenodd");if(a.ln)r.setAttribute("id",a.ln);if(a.cl)r.setAttribute("class",a.cl);if(a.bm)r.style["mix-blend-mode"]=getBlendMode(a.bm);return this.stylesList.push(o),this.addToAnimatedContents(a,e),e},SVGShapeElement.prototype.createGroupElement=function(a){var i=new ShapeGroupData;if(a.ln)i.gr.setAttribute("id",a.ln);if(a.cl)i.gr.setAttribute("class",a.cl);if(a.bm)i.gr.style["mix-blend-mode"]=getBlendMode(a.bm);return i},SVGShapeElement.prototype.createTransformElement=function(a,i){var e=TransformPropertyFactory.getTransformProperty(this,a,this),o=new SVGTransformData(e,e.o,i);return this.addToAnimatedContents(a,o),o},SVGShapeElement.prototype.createShapeElement=function(a,i,e){var o=4;if(a.ty==="rc")o=5;else if(a.ty==="el")o=6;else if(a.ty==="sr")o=7;var r=ShapePropertyFactory.getShapeProp(this,a,o,this),n=new SVGShapeData(i,e,r);return this.shapes.push(n),this.addShapeToModifiers(n),this.addToAnimatedContents(a,n),n},SVGShapeElement.prototype.addToAnimatedContents=function(a,i){var e=0,o=this.animatedContents.length;while(e<o){if(this.animatedContents[e].element===i)return;e+=1}this.animatedContents.push({fn:SVGElementsRenderer.createRenderFunction(a),element:i,data:a})},SVGShapeElement.prototype.setElementStyles=function(a){var i=a.styles,e,o=this.stylesList.length;for(e=0;e<o;e+=1)if(i.indexOf(this.stylesList[e])===-1&&!this.stylesList[e].closed)i.push(this.stylesList[e])},SVGShapeElement.prototype.reloadShapes=function(){this._isFirstFrame=!0;var a,i=this.itemsData.length;for(a=0;a<i;a+=1)this.prevViewData[a]=this.itemsData[a];this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes(),i=this.dynamicProperties.length;for(a=0;a<i;a+=1)this.dynamicProperties[a].getValue();this.renderModifiers()},SVGShapeElement.prototype.searchShapes=function(a,i,e,o,r,n,t){var s=[].concat(n),l,u=a.length-1,h,f,c=[],y=[],g,b,I;for(l=u;l>=0;l-=1){if(I=this.searchProcessedElement(a[l]),!I)a[l]._render=t;else i[l]=e[I-1];if(a[l].ty==="fl"||a[l].ty==="st"||a[l].ty==="gf"||a[l].ty==="gs"||a[l].ty==="no"){if(!I)i[l]=this.createStyleElement(a[l],r);else i[l].style.closed=a[l].hd;if(a[l]._render){if(i[l].style.pElem.parentNode!==o)o.appendChild(i[l].style.pElem)}c.push(i[l].style)}else if(a[l].ty==="gr"){if(!I)i[l]=this.createGroupElement(a[l]);else{f=i[l].it.length;for(h=0;h<f;h+=1)i[l].prevViewData[h]=i[l].it[h]}if(this.searchShapes(a[l].it,i[l].it,i[l].prevViewData,i[l].gr,r+1,s,t),a[l]._render){if(i[l].gr.parentNode!==o)o.appendChild(i[l].gr)}}else if(a[l].ty==="tr"){if(!I)i[l]=this.createTransformElement(a[l],o);g=i[l].transform,s.push(g)}else if(a[l].ty==="sh"||a[l].ty==="rc"||a[l].ty==="el"||a[l].ty==="sr"){if(!I)i[l]=this.createShapeElement(a[l],s,r);this.setElementStyles(i[l])}else if(a[l].ty==="tm"||a[l].ty==="rd"||a[l].ty==="ms"||a[l].ty==="pb"||a[l].ty==="zz"||a[l].ty==="op"){if(!I)b=ShapeModifiers.getModifier(a[l].ty),b.init(this,a[l]),i[l]=b,this.shapeModifiers.push(b);else b=i[l],b.closed=!1;y.push(b)}else if(a[l].ty==="rp"){if(!I)b=ShapeModifiers.getModifier(a[l].ty),i[l]=b,b.init(this,a,l,i),this.shapeModifiers.push(b),t=!1;else b=i[l],b.closed=!0;y.push(b)}this.addProcessedElement(a[l],l+1)}u=c.length;for(l=0;l<u;l+=1)c[l].closed=!0;u=y.length;for(l=0;l<u;l+=1)y[l].closed=!0},SVGShapeElement.prototype.renderInnerContent=function(){this.renderModifiers();var a,i=this.stylesList.length;for(a=0;a<i;a+=1)this.stylesList[a].reset();this.renderShape();for(a=0;a<i;a+=1)if(this.stylesList[a]._mdf||this._isFirstFrame){if(this.stylesList[a].msElem)this.stylesList[a].msElem.setAttribute("d",this.stylesList[a].d),this.stylesList[a].d="M0 0"+this.stylesList[a].d;this.stylesList[a].pElem.setAttribute("d",this.stylesList[a].d||"M0 0")}},SVGShapeElement.prototype.renderShape=function(){var a,i=this.animatedContents.length,e;for(a=0;a<i;a+=1)if(e=this.animatedContents[a],(this._isFirstFrame||e.element._isAnimated)&&e.data!==!0)e.fn(e.data,e.element,this._isFirstFrame)},SVGShapeElement.prototype.destroy=function(){this.destroyBaseElement(),this.shapesData=null,this.itemsData=null};function LetterProps(a,i,e,o,r,n){this.o=a,this.sw=i,this.sc=e,this.fc=o,this.m=r,this.p=n,this._mdf={o:!0,sw:!!i,sc:!!e,fc:!!o,m:!0,p:!0}}LetterProps.prototype.update=function(a,i,e,o,r,n){this._mdf.o=!1,this._mdf.sw=!1,this._mdf.sc=!1,this._mdf.fc=!1,this._mdf.m=!1,this._mdf.p=!1;var t=!1;if(this.o!==a)this.o=a,this._mdf.o=!0,t=!0;if(this.sw!==i)this.sw=i,this._mdf.sw=!0,t=!0;if(this.sc!==e)this.sc=e,this._mdf.sc=!0,t=!0;if(this.fc!==o)this.fc=o,this._mdf.fc=!0,t=!0;if(this.m!==r)this.m=r,this._mdf.m=!0,t=!0;if(n.length&&(this.p[0]!==n[0]||this.p[1]!==n[1]||this.p[4]!==n[4]||this.p[5]!==n[5]||this.p[12]!==n[12]||this.p[13]!==n[13]))this.p=n,this._mdf.p=!0,t=!0;return t};function TextProperty(a,i){if(this._frameId=initialDefaultFrame,this.pv="",this.v="",this.kf=!1,this._isFirstFrame=!0,this._mdf=!1,i.d&&i.d.sid)i.d=a.globalData.slotManager.getProp(i.d);if(this.data=i,this.elem=a,this.comp=this.elem.comp,this.keysIndex=0,this.canResize=!1,this.minimumFontSize=1,this.effectsSequence=[],this.currentData={ascent:0,boxWidth:this.defaultBoxWidth,f:"",fStyle:"",fWeight:"",fc:"",j:"",justifyOffset:"",l:[],lh:0,lineWidths:[],ls:"",of:"",s:"",sc:"",sw:0,t:0,tr:0,sz:0,ps:null,fillColorAnim:!1,strokeColorAnim:!1,strokeWidthAnim:!1,yOffset:0,finalSize:0,finalText:[],finalLineHeight:0,__complete:!1},this.copyData(this.currentData,this.data.d.k[0].s),!this.searchProperty())this.completeTextData(this.currentData)}TextProperty.prototype.defaultBoxWidth=[0,0],TextProperty.prototype.copyData=function(a,i){for(var e in i)if(Object.prototype.hasOwnProperty.call(i,e))a[e]=i[e];return a},TextProperty.prototype.setCurrentData=function(a){if(!a.__complete)this.completeTextData(a);this.currentData=a,this.currentData.boxWidth=this.currentData.boxWidth||this.defaultBoxWidth,this._mdf=!0},TextProperty.prototype.searchProperty=function(){return this.searchKeyframes()},TextProperty.prototype.searchKeyframes=function(){if(this.kf=this.data.d.k.length>1,this.kf)this.addEffect(this.getKeyframeValue.bind(this));return this.kf},TextProperty.prototype.addEffect=function(a){this.effectsSequence.push(a),this.elem.addDynamicProperty(this)},TextProperty.prototype.getValue=function(a){if((this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)&&!a)return;this.currentData.t=this.data.d.k[this.keysIndex].s.t;var i=this.currentData,e=this.keysIndex;if(this.lock){this.setCurrentData(this.currentData);return}this.lock=!0,this._mdf=!1;var o,r=this.effectsSequence.length,n=a||this.data.d.k[this.keysIndex].s;for(o=0;o<r;o+=1)if(e!==this.keysIndex)n=this.effectsSequence[o](n,n.t);else n=this.effectsSequence[o](this.currentData,n.t);if(i!==n)this.setCurrentData(n);this.v=this.currentData,this.pv=this.v,this.lock=!1,this.frameId=this.elem.globalData.frameId},TextProperty.prototype.getKeyframeValue=function(){var a=this.data.d.k,i=this.elem.comp.renderedFrame,e=0,o=a.length;while(e<=o-1){if(e===o-1||a[e+1].t>i)break;e+=1}if(this.keysIndex!==e)this.keysIndex=e;return this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(a){var i=[],e=0,o=a.length,r,n,t=!1,s=!1,l="";while(e<o){if(t=s,s=!1,r=a.charCodeAt(e),l=a.charAt(e),FontManager.isCombinedCharacter(r))t=!0;else if(r>=55296&&r<=56319){if(FontManager.isRegionalFlag(a,e))l=a.substr(e,14);else if(n=a.charCodeAt(e+1),n>=56320&&n<=57343)if(FontManager.isModifier(r,n))l=a.substr(e,2),t=!0;else if(FontManager.isFlagEmoji(a.substr(e,4)))l=a.substr(e,4);else l=a.substr(e,2)}else if(r>56319){if(n=a.charCodeAt(e+1),FontManager.isVariationSelector(r))t=!0}else if(FontManager.isZeroWidthJoiner(r))t=!0,s=!0;if(t)i[i.length-1]+=l,t=!1;else i.push(l);e+=l.length}return i},TextProperty.prototype.completeTextData=function(a){a.__complete=!0;var i=this.elem.globalData.fontManager,e=this.data,o=[],r,n,t,s=0,l,u=e.m.g,h=0,f=0,c=0,y=[],g=0,b=0,I,m,v=i.getFontByName(a.f),p,k=0,S=getFontProperties(v);a.fWeight=S.weight,a.fStyle=S.style,a.finalSize=a.s,a.finalText=this.buildFinalText(a.t),n=a.finalText.length,a.finalLineHeight=a.lh;var F=a.tr/1000*a.finalSize,K;if(a.sz){var R=!0,L=a.sz[0],M=a.sz[1],X,_;while(R){_=this.buildFinalText(a.t),X=0,g=0,n=_.length,F=a.tr/1000*a.finalSize;var U=-1;for(r=0;r<n;r+=1){if(K=_[r].charCodeAt(0),t=!1,_[r]===" ")U=r;else if(K===13||K===3)g=0,t=!0,X+=a.finalLineHeight||a.finalSize*1.2;if(i.chars)p=i.getCharData(_[r],v.fStyle,v.fFamily),k=t?0:p.w*a.finalSize/100;else k=i.measureText(_[r],a.f,a.finalSize);if(g+k>L&&_[r]!==" "){if(U===-1)n+=1;else r=U;X+=a.finalLineHeight||a.finalSize*1.2,_.splice(r,U===r?1:0,"\r"),U=-1,g=0}else g+=k,g+=F}if(X+=v.ascent*a.finalSize/100,this.canResize&&a.finalSize>this.minimumFontSize&&M<X)a.finalSize-=1,a.finalLineHeight=a.finalSize*a.lh/a.s;else a.finalText=_,n=a.finalText.length,R=!1}}g=-F,k=0;var G=0,O;for(r=0;r<n;r+=1){if(t=!1,O=a.finalText[r],K=O.charCodeAt(0),K===13||K===3)G=0,y.push(g),b=g>b?g:b,g=-2*F,l="",t=!0,c+=1;else l=O;if(i.chars)p=i.getCharData(O,v.fStyle,i.getFontByName(a.f).fFamily),k=t?0:p.w*a.finalSize/100;else k=i.measureText(l,a.f,a.finalSize);if(O===" ")G+=k+F;else g+=k+F+G,G=0;if(o.push({l:k,an:k,add:h,n:t,anIndexes:[],val:l,line:c,animatorJustifyOffset:0}),u==2){if(h+=k,l===""||l===" "||r===n-1){if(l===""||l===" ")h-=k;while(f<=r)o[f].an=h,o[f].ind=s,o[f].extra=k,f+=1;s+=1,h=0}}else if(u==3){if(h+=k,l===""||r===n-1){if(l==="")h-=k;while(f<=r)o[f].an=h,o[f].ind=s,o[f].extra=k,f+=1;h=0,s+=1}}else o[s].ind=s,o[s].extra=0,s+=1}if(a.l=o,b=g>b?g:b,y.push(g),a.sz)a.boxWidth=a.sz[0],a.justifyOffset=0;else switch(a.boxWidth=b,a.j){case 1:a.justifyOffset=-a.boxWidth;break;case 2:a.justifyOffset=-a.boxWidth/2;break;default:a.justifyOffset=0}a.lineWidths=y;var H=e.a,Z,w;m=H.length;var x,V,B=[];for(I=0;I<m;I+=1){if(Z=H[I],Z.a.sc)a.strokeColorAnim=!0;if(Z.a.sw)a.strokeWidthAnim=!0;if(Z.a.fc||Z.a.fh||Z.a.fs||Z.a.fb)a.fillColorAnim=!0;V=0,x=Z.s.b;for(r=0;r<n;r+=1)if(w=o[r],w.anIndexes[I]=V,x==1&&w.val!==""||x==2&&w.val!==""&&w.val!==" "||x==3&&(w.n||w.val==" "||r==n-1)||x==4&&(w.n||r==n-1)){if(Z.s.rn===1)B.push(V);V+=1}e.a[I].s.totalChars=V;var A=-1,ia;if(Z.s.rn===1)for(r=0;r<n;r+=1){if(w=o[r],A!=w.anIndexes[I])A=w.anIndexes[I],ia=B.splice(Math.floor(Math.random()*B.length),1)[0];w.anIndexes[I]=ia}}a.yOffset=a.finalLineHeight||a.finalSize*1.2,a.ls=a.ls||0,a.ascent=v.ascent*a.finalSize/100},TextProperty.prototype.updateDocumentData=function(a,i){i=i===void 0?this.keysIndex:i;var e=this.copyData({},this.data.d.k[i].s);e=this.copyData(e,a),this.data.d.k[i].s=e,this.recalculate(i),this.setCurrentData(e),this.elem.addDynamicProperty(this)},TextProperty.prototype.recalculate=function(a){var i=this.data.d.k[a].s;i.__complete=!1,this.keysIndex=0,this._isFirstFrame=!0,this.getValue(i)},TextProperty.prototype.canResizeFont=function(a){this.canResize=a,this.recalculate(this.keysIndex),this.elem.addDynamicProperty(this)},TextProperty.prototype.setMinimumFontSize=function(a){this.minimumFontSize=Math.floor(a)||1,this.recalculate(this.keysIndex),this.elem.addDynamicProperty(this)};var TextSelectorProp=function(){var{max:a,min:i,floor:e}=Math;function o(n,t){if(this._currentTextLength=-1,this.k=!1,this.data=t,this.elem=n,this.comp=n.comp,this.finalS=0,this.finalE=0,this.initDynamicPropertyContainer(n),this.s=PropertyFactory.getProp(n,t.s||{k:0},0,0,this),"e"in t)this.e=PropertyFactory.getProp(n,t.e,0,0,this);else this.e={v:100};if(this.o=PropertyFactory.getProp(n,t.o||{k:0},0,0,this),this.xe=PropertyFactory.getProp(n,t.xe||{k:0},0,0,this),this.ne=PropertyFactory.getProp(n,t.ne||{k:0},0,0,this),this.sm=PropertyFactory.getProp(n,t.sm||{k:100},0,0,this),this.a=PropertyFactory.getProp(n,t.a,0,0.01,this),!this.dynamicProperties.length)this.getValue()}o.prototype={getMult:function n(t){if(this._currentTextLength!==this.elem.textProperty.currentData.l.length)this.getValue();var s=0,l=0,u=1,h=1;if(this.ne.v>0)s=this.ne.v/100;else l=-this.ne.v/100;if(this.xe.v>0)u=1-this.xe.v/100;else h=1+this.xe.v/100;var f=BezierFactory.getBezierEasing(s,l,u,h).get,c=0,y=this.finalS,g=this.finalE,b=this.data.sh;if(b===2){if(g===y)c=t>=g?1:0;else c=a(0,i(0.5/(g-y)+(t-y)/(g-y),1));c=f(c)}else if(b===3){if(g===y)c=t>=g?0:1;else c=1-a(0,i(0.5/(g-y)+(t-y)/(g-y),1));c=f(c)}else if(b===4){if(g===y)c=0;else if(c=a(0,i(0.5/(g-y)+(t-y)/(g-y),1)),c<0.5)c*=2;else c=1-2*(c-0.5);c=f(c)}else if(b===5){if(g===y)c=0;else{var I=g-y;t=i(a(0,t+0.5-y),g-y);var m=-I/2+t,v=I/2;c=Math.sqrt(1-m*m/(v*v))}c=f(c)}else if(b===6){if(g===y)c=0;else t=i(a(0,t+0.5-y),g-y),c=(1+Math.cos(Math.PI+Math.PI*2*t/(g-y)))/2;c=f(c)}else{if(t>=e(y))if(t-y<0)c=a(0,i(i(g,1)-(y-t),1));else c=a(0,i(g-t,1));c=f(c)}if(this.sm.v!==100){var p=this.sm.v*0.01;if(p===0)p=0.00000001;var k=0.5-p*0.5;if(c<k)c=0;else if(c=(c-k)/p,c>1)c=1}return c*this.a.v},getValue:function n(t){if(this.iterateDynamicProperties(),this._mdf=t||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,t&&this.data.r===2)this.e.v=this._currentTextLength;var s=this.data.r===2?1:100/this.data.totalChars,l=this.o.v/s,u=this.s.v/s+l,h=this.e.v/s+l;if(u>h){var f=u;u=h,h=f}this.finalS=u,this.finalE=h}},extendPrototype([DynamicPropertyContainer],o);function r(n,t,s){return new o(n,t,s)}return{getTextSelectorProp:r}}();function TextAnimatorDataProperty(a,i,e){var o={propType:!1},r=PropertyFactory.getProp,n=i.a;this.a={r:n.r?r(a,n.r,0,degToRads,e):o,rx:n.rx?r(a,n.rx,0,degToRads,e):o,ry:n.ry?r(a,n.ry,0,degToRads,e):o,sk:n.sk?r(a,n.sk,0,degToRads,e):o,sa:n.sa?r(a,n.sa,0,degToRads,e):o,s:n.s?r(a,n.s,1,0.01,e):o,a:n.a?r(a,n.a,1,0,e):o,o:n.o?r(a,n.o,0,0.01,e):o,p:n.p?r(a,n.p,1,0,e):o,sw:n.sw?r(a,n.sw,0,0,e):o,sc:n.sc?r(a,n.sc,1,0,e):o,fc:n.fc?r(a,n.fc,1,0,e):o,fh:n.fh?r(a,n.fh,0,0,e):o,fs:n.fs?r(a,n.fs,0,0.01,e):o,fb:n.fb?r(a,n.fb,0,0.01,e):o,t:n.t?r(a,n.t,0,0,e):o},this.s=TextSelectorProp.getTextSelectorProp(a,i.s,e),this.s.t=i.s.t}function TextAnimatorProperty(a,i,e){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=a,this._renderType=i,this._elem=e,this._animatorsData=createSizedArray(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(e)}TextAnimatorProperty.prototype.searchProperties=function(){var a,i=this._textData.a.length,e,o=PropertyFactory.getProp;for(a=0;a<i;a+=1)e=this._textData.a[a],this._animatorsData[a]=new TextAnimatorDataProperty(this._elem,e,this);if(this._textData.p&&"m"in this._textData.p)this._pathData={a:o(this._elem,this._textData.p.a,0,0,this),f:o(this._elem,this._textData.p.f,0,0,this),l:o(this._elem,this._textData.p.l,0,0,this),r:o(this._elem,this._textData.p.r,0,0,this),p:o(this._elem,this._textData.p.p,0,0,this),m:this._elem.maskManager.getMaskProperty(this._textData.p.m)},this._hasMaskedPath=!0;else this._hasMaskedPath=!1;this._moreOptions.alignment=o(this._elem,this._textData.m.a,1,0,this)},TextAnimatorProperty.prototype.getMeasures=function(a,i){if(this.lettersChangedFlag=i,!this._mdf&&!this._isFirstFrame&&!i&&(!this._hasMaskedPath||!this._pathData.m._mdf))return;this._isFirstFrame=!1;var e=this._moreOptions.alignment.v,o=this._animatorsData,r=this._textData,n=this.mHelper,t=this._renderType,s=this.renderedLetters.length,l,u,h,f,c=a.l,y,g,b,I,m,v,p,k,S,F,K,R,L,M,X;if(this._hasMaskedPath){if(X=this._pathData.m,!this._pathData.n||this._pathData._mdf){var _=X.v;if(this._pathData.r.v)_=_.reverse();y={tLength:0,segments:[]},f=_._length-1;var U;R=0;for(h=0;h<f;h+=1)U=bez.buildBezierData(_.v[h],_.v[h+1],[_.o[h][0]-_.v[h][0],_.o[h][1]-_.v[h][1]],[_.i[h+1][0]-_.v[h+1][0],_.i[h+1][1]-_.v[h+1][1]]),y.tLength+=U.segmentLength,y.segments.push(U),R+=U.segmentLength;if(h=f,X.v.c)U=bez.buildBezierData(_.v[h],_.v[0],[_.o[h][0]-_.v[h][0],_.o[h][1]-_.v[h][1]],[_.i[0][0]-_.v[0][0],_.i[0][1]-_.v[0][1]]),y.tLength+=U.segmentLength,y.segments.push(U),R+=U.segmentLength;this._pathData.pi=y}if(y=this._pathData.pi,g=this._pathData.f.v,p=0,v=1,I=0,m=!0,F=y.segments,g<0&&X.v.c){if(y.tLength<Math.abs(g))g=-Math.abs(g)%y.tLength;p=F.length-1,S=F[p].points,v=S.length-1;while(g<0)if(g+=S[v].partialLength,v-=1,v<0)p-=1,S=F[p].points,v=S.length-1}S=F[p].points,k=S[v-1],b=S[v],K=b.partialLength}f=c.length,l=0,u=0;var G=a.finalSize*1.2*0.714,O=!0,H,Z,w,x,V;x=o.length;var B,A=-1,ia,ra,la,da=g,ya=p,Fa=v,Ma=-1,Ka,Sa,Wa,pa,D,ii,li,ei,Ua="",oi=this.defaultPropsArray,ri;if(a.j===2||a.j===1){var Ra=0,di=0,ui=a.j===2?-0.5:-1,Qa=0,ci=!0;for(h=0;h<f;h+=1)if(c[h].n){if(Ra)Ra+=di;while(Qa<h)c[Qa].animatorJustifyOffset=Ra,Qa+=1;Ra=0,ci=!0}else{for(w=0;w<x;w+=1)if(H=o[w].a,H.t.propType){if(ci&&a.j===2)di+=H.t.v*ui;if(Z=o[w].s,B=Z.getMult(c[h].anIndexes[w],r.a[w].s.totalChars),B.length)Ra+=H.t.v*B[0]*ui;else Ra+=H.t.v*B*ui}ci=!1}if(Ra)Ra+=di;while(Qa<h)c[Qa].animatorJustifyOffset=Ra,Qa+=1}for(h=0;h<f;h+=1){if(n.reset(),Ka=1,c[h].n){if(l=0,u+=a.yOffset,u+=O?1:0,g=da,O=!1,this._hasMaskedPath)p=ya,v=Fa,S=F[p].points,k=S[v-1],b=S[v],K=b.partialLength,I=0;Ua="",ei="",ii="",ri="",oi=this.defaultPropsArray}else{if(this._hasMaskedPath){if(Ma!==c[h].line){switch(a.j){case 1:g+=R-a.lineWidths[c[h].line];break;case 2:g+=(R-a.lineWidths[c[h].line])/2;break;default:break}Ma=c[h].line}if(A!==c[h].ind){if(c[A])g+=c[A].extra;g+=c[h].an/2,A=c[h].ind}g+=e[0]*c[h].an*0.005;var Ya=0;for(w=0;w<x;w+=1){if(H=o[w].a,H.p.propType)if(Z=o[w].s,B=Z.getMult(c[h].anIndexes[w],r.a[w].s.totalChars),B.length)Ya+=H.p.v[0]*B[0];else Ya+=H.p.v[0]*B;if(H.a.propType)if(Z=o[w].s,B=Z.getMult(c[h].anIndexes[w],r.a[w].s.totalChars),B.length)Ya+=H.a.v[0]*B[0];else Ya+=H.a.v[0]*B}if(m=!0,this._pathData.a.v)g=c[0].an*0.5+(R-this._pathData.f.v-c[0].an*0.5-c[c.length-1].an*0.5)*A/(f-1),g+=this._pathData.f.v;while(m)if(I+K>=g+Ya||!S)L=(g+Ya-I)/b.partialLength,ra=k.point[0]+(b.point[0]-k.point[0])*L,la=k.point[1]+(b.point[1]-k.point[1])*L,n.translate(-e[0]*c[h].an*0.005,-(e[1]*G)*0.01),m=!1;else if(S){if(I+=b.partialLength,v+=1,v>=S.length)if(v=0,p+=1,!F[p])if(X.v.c)v=0,p=0,S=F[p].points;else I-=b.partialLength,S=null;else S=F[p].points;if(S)k=b,b=S[v],K=b.partialLength}ia=c[h].an/2-c[h].add,n.translate(-ia,0,0)}else ia=c[h].an/2-c[h].add,n.translate(-ia,0,0),n.translate(-e[0]*c[h].an*0.005,-e[1]*G*0.01,0);for(w=0;w<x;w+=1)if(H=o[w].a,H.t.propType){if(Z=o[w].s,B=Z.getMult(c[h].anIndexes[w],r.a[w].s.totalChars),l!==0||a.j!==0)if(this._hasMaskedPath)if(B.length)g+=H.t.v*B[0];else g+=H.t.v*B;else if(B.length)l+=H.t.v*B[0];else l+=H.t.v*B}if(a.strokeWidthAnim)Wa=a.sw||0;if(a.strokeColorAnim)if(a.sc)Sa=[a.sc[0],a.sc[1],a.sc[2]];else Sa=[0,0,0];if(a.fillColorAnim&&a.fc)pa=[a.fc[0],a.fc[1],a.fc[2]];for(w=0;w<x;w+=1)if(H=o[w].a,H.a.propType)if(Z=o[w].s,B=Z.getMult(c[h].anIndexes[w],r.a[w].s.totalChars),B.length)n.translate(-H.a.v[0]*B[0],-H.a.v[1]*B[1],H.a.v[2]*B[2]);else n.translate(-H.a.v[0]*B,-H.a.v[1]*B,H.a.v[2]*B);for(w=0;w<x;w+=1)if(H=o[w].a,H.s.propType)if(Z=o[w].s,B=Z.getMult(c[h].anIndexes[w],r.a[w].s.totalChars),B.length)n.scale(1+(H.s.v[0]-1)*B[0],1+(H.s.v[1]-1)*B[1],1);else n.scale(1+(H.s.v[0]-1)*B,1+(H.s.v[1]-1)*B,1);for(w=0;w<x;w+=1){if(H=o[w].a,Z=o[w].s,B=Z.getMult(c[h].anIndexes[w],r.a[w].s.totalChars),H.sk.propType)if(B.length)n.skewFromAxis(-H.sk.v*B[0],H.sa.v*B[1]);else n.skewFromAxis(-H.sk.v*B,H.sa.v*B);if(H.r.propType)if(B.length)n.rotateZ(-H.r.v*B[2]);else n.rotateZ(-H.r.v*B);if(H.ry.propType)if(B.length)n.rotateY(H.ry.v*B[1]);else n.rotateY(H.ry.v*B);if(H.rx.propType)if(B.length)n.rotateX(H.rx.v*B[0]);else n.rotateX(H.rx.v*B);if(H.o.propType)if(B.length)Ka+=(H.o.v*B[0]-Ka)*B[0];else Ka+=(H.o.v*B-Ka)*B;if(a.strokeWidthAnim&&H.sw.propType)if(B.length)Wa+=H.sw.v*B[0];else Wa+=H.sw.v*B;if(a.strokeColorAnim&&H.sc.propType)for(D=0;D<3;D+=1)if(B.length)Sa[D]+=(H.sc.v[D]-Sa[D])*B[0];else Sa[D]+=(H.sc.v[D]-Sa[D])*B;if(a.fillColorAnim&&a.fc){if(H.fc.propType)for(D=0;D<3;D+=1)if(B.length)pa[D]+=(H.fc.v[D]-pa[D])*B[0];else pa[D]+=(H.fc.v[D]-pa[D])*B;if(H.fh.propType)if(B.length)pa=addHueToRGB(pa,H.fh.v*B[0]);else pa=addHueToRGB(pa,H.fh.v*B);if(H.fs.propType)if(B.length)pa=addSaturationToRGB(pa,H.fs.v*B[0]);else pa=addSaturationToRGB(pa,H.fs.v*B);if(H.fb.propType)if(B.length)pa=addBrightnessToRGB(pa,H.fb.v*B[0]);else pa=addBrightnessToRGB(pa,H.fb.v*B)}}for(w=0;w<x;w+=1)if(H=o[w].a,H.p.propType)if(Z=o[w].s,B=Z.getMult(c[h].anIndexes[w],r.a[w].s.totalChars),this._hasMaskedPath)if(B.length)n.translate(0,H.p.v[1]*B[0],-H.p.v[2]*B[1]);else n.translate(0,H.p.v[1]*B,-H.p.v[2]*B);else if(B.length)n.translate(H.p.v[0]*B[0],H.p.v[1]*B[1],-H.p.v[2]*B[2]);else n.translate(H.p.v[0]*B,H.p.v[1]*B,-H.p.v[2]*B);if(a.strokeWidthAnim)ii=Wa<0?0:Wa;if(a.strokeColorAnim)li="rgb("+Math.round(Sa[0]*255)+","+Math.round(Sa[1]*255)+","+Math.round(Sa[2]*255)+")";if(a.fillColorAnim&&a.fc)ei="rgb("+Math.round(pa[0]*255)+","+Math.round(pa[1]*255)+","+Math.round(pa[2]*255)+")";if(this._hasMaskedPath){if(n.translate(0,-a.ls),n.translate(0,e[1]*G*0.01+u,0),this._pathData.p.v){M=(b.point[1]-k.point[1])/(b.point[0]-k.point[0]);var fi=Math.atan(M)*180/Math.PI;if(b.point[0]<k.point[0])fi+=180;n.rotate(-fi*Math.PI/180)}if(n.translate(ra,la,0),g-=e[0]*c[h].an*0.005,c[h+1]&&A!==c[h+1].ind)g+=c[h].an/2,g+=a.tr*0.001*a.finalSize}else{if(n.translate(l,u,0),a.ps)n.translate(a.ps[0],a.ps[1]+a.ascent,0);switch(a.j){case 1:n.translate(c[h].animatorJustifyOffset+a.justifyOffset+(a.boxWidth-a.lineWidths[c[h].line]),0,0);break;case 2:n.translate(c[h].animatorJustifyOffset+a.justifyOffset+(a.boxWidth-a.lineWidths[c[h].line])/2,0,0);break;default:break}n.translate(0,-a.ls),n.translate(ia,0,0),n.translate(e[0]*c[h].an*0.005,e[1]*G*0.01,0),l+=c[h].l+a.tr*0.001*a.finalSize}if(t==="html")Ua=n.toCSS();else if(t==="svg")Ua=n.to2dCSS();else oi=[n.props[0],n.props[1],n.props[2],n.props[3],n.props[4],n.props[5],n.props[6],n.props[7],n.props[8],n.props[9],n.props[10],n.props[11],n.props[12],n.props[13],n.props[14],n.props[15]];ri=Ka}if(s<=h)V=new LetterProps(ri,ii,li,ei,Ua,oi),this.renderedLetters.push(V),s+=1,this.lettersChangedFlag=!0;else V=this.renderedLetters[h],this.lettersChangedFlag=V.update(ri,ii,li,ei,Ua,oi)||this.lettersChangedFlag}},TextAnimatorProperty.prototype.getValue=function(){if(this._elem.globalData.frameId===this._frameId)return;this._frameId=this._elem.globalData.frameId,this.iterateDynamicProperties()},TextAnimatorProperty.prototype.mHelper=new Matrix,TextAnimatorProperty.prototype.defaultPropsArray=[],extendPrototype([DynamicPropertyContainer],TextAnimatorProperty);function ITextElement(){}ITextElement.prototype.initElement=function(a,i,e){this.lettersChangedFlag=!0,this.initFrame(),this.initBaseData(a,i,e),this.textProperty=new TextProperty(this,a.t,this.dynamicProperties),this.textAnimator=new TextAnimatorProperty(a.t,this.renderType,this),this.initTransform(a,i,e),this.initHierarchy(),this.initRenderable(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.createContent(),this.hide(),this.textAnimator.searchProperties(this.dynamicProperties)},ITextElement.prototype.prepareFrame=function(a){this._mdf=!1,this.prepareRenderableFrame(a),this.prepareProperties(a,this.isInRange)},ITextElement.prototype.createPathShape=function(a,i){var e,o=i.length,r,n="";for(e=0;e<o;e+=1)if(i[e].ty==="sh")r=i[e].ks.k,n+=buildShapeString(r,r.i.length,!0,a);return n},ITextElement.prototype.updateDocumentData=function(a,i){this.textProperty.updateDocumentData(a,i)},ITextElement.prototype.canResizeFont=function(a){this.textProperty.canResizeFont(a)},ITextElement.prototype.setMinimumFontSize=function(a){this.textProperty.setMinimumFontSize(a)},ITextElement.prototype.applyTextPropertiesToMatrix=function(a,i,e,o,r){if(a.ps)i.translate(a.ps[0],a.ps[1]+a.ascent,0);switch(i.translate(0,-a.ls,0),a.j){case 1:i.translate(a.justifyOffset+(a.boxWidth-a.lineWidths[e]),0,0);break;case 2:i.translate(a.justifyOffset+(a.boxWidth-a.lineWidths[e])/2,0,0);break;default:break}i.translate(o,r,0)},ITextElement.prototype.buildColor=function(a){return"rgb("+Math.round(a[0]*255)+","+Math.round(a[1]*255)+","+Math.round(a[2]*255)+")"},ITextElement.prototype.emptyProp=new LetterProps,ITextElement.prototype.destroy=function(){},ITextElement.prototype.validateText=function(){if(this.textProperty._mdf||this.textProperty._isFirstFrame)this.buildNewText(),this.textProperty._isFirstFrame=!1,this.textProperty._mdf=!1};var emptyShapeData={shapes:[]};function SVGTextLottieElement(a,i,e){this.textSpans=[],this.renderType="svg",this.initElement(a,i,e)}extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement],SVGTextLottieElement),SVGTextLottieElement.prototype.createContent=function(){if(this.data.singleShape&&!this.globalData.fontManager.chars)this.textContainer=createNS("text")},SVGTextLottieElement.prototype.buildTextContents=function(a){var i=0,e=a.length,o=[],r="";while(i<e){if(a[i]===String.fromCharCode(13)||a[i]===String.fromCharCode(3))o.push(r),r="";else r+=a[i];i+=1}return o.push(r),o},SVGTextLottieElement.prototype.buildShapeData=function(a,i){if(a.shapes&&a.shapes.length){var e=a.shapes[0];if(e.it){var o=e.it[e.it.length-1];if(o.s)o.s.k[0]=i,o.s.k[1]=i}}return a},SVGTextLottieElement.prototype.buildNewText=function(){this.addDynamicProperty(this);var a,i,e=this.textProperty.currentData;if(this.renderedLetters=createSizedArray(e?e.l.length:0),e.fc)this.layerElement.setAttribute("fill",this.buildColor(e.fc));else this.layerElement.setAttribute("fill","rgba(0,0,0,0)");if(e.sc)this.layerElement.setAttribute("stroke",this.buildColor(e.sc)),this.layerElement.setAttribute("stroke-width",e.sw);this.layerElement.setAttribute("font-size",e.finalSize);var o=this.globalData.fontManager.getFontByName(e.f);if(o.fClass)this.layerElement.setAttribute("class",o.fClass);else{this.layerElement.setAttribute("font-family",o.fFamily);var{fWeight:r,fStyle:n}=e;this.layerElement.setAttribute("font-style",n),this.layerElement.setAttribute("font-weight",r)}this.layerElement.setAttribute("aria-label",e.t);var t=e.l||[],s=!!this.globalData.fontManager.chars;i=t.length;var l,u=this.mHelper,h="",f=this.data.singleShape,c=0,y=0,g=!0,b=e.tr*0.001*e.finalSize;if(f&&!s&&!e.sz){var I=this.textContainer,m="start";switch(e.j){case 1:m="end";break;case 2:m="middle";break;default:m="start";break}I.setAttribute("text-anchor",m),I.setAttribute("letter-spacing",b);var v=this.buildTextContents(e.finalText);i=v.length,y=e.ps?e.ps[1]+e.ascent:0;for(a=0;a<i;a+=1){if(l=this.textSpans[a].span||createNS("tspan"),l.textContent=v[a],l.setAttribute("x",0),l.setAttribute("y",y),l.style.display="inherit",I.appendChild(l),!this.textSpans[a])this.textSpans[a]={span:null,glyph:null};this.textSpans[a].span=l,y+=e.finalLineHeight}this.layerElement.appendChild(I)}else{var p=this.textSpans.length,k;for(a=0;a<i;a+=1){if(!this.textSpans[a])this.textSpans[a]={span:null,childSpan:null,glyph:null};if(!s||!f||a===0){if(l=p>a?this.textSpans[a].span:createNS(s?"g":"text"),p<=a){if(l.setAttribute("stroke-linecap","butt"),l.setAttribute("stroke-linejoin","round"),l.setAttribute("stroke-miterlimit","4"),this.textSpans[a].span=l,s){var S=createNS("g");l.appendChild(S),this.textSpans[a].childSpan=S}this.textSpans[a].span=l,this.layerElement.appendChild(l)}l.style.display="inherit"}if(u.reset(),f){if(t[a].n)c=-b,y+=e.yOffset,y+=g?1:0,g=!1;this.applyTextPropertiesToMatrix(e,u,t[a].line,c,y),c+=t[a].l||0,c+=b}if(s){k=this.globalData.fontManager.getCharData(e.finalText[a],o.fStyle,this.globalData.fontManager.getFontByName(e.f).fFamily);var F;if(k.t===1)F=new SVGCompElement(k.data,this.globalData,this);else{var K=emptyShapeData;if(k.data&&k.data.shapes)K=this.buildShapeData(k.data,e.finalSize);F=new SVGShapeElement(K,this.globalData,this)}if(this.textSpans[a].glyph){var R=this.textSpans[a].glyph;this.textSpans[a].childSpan.removeChild(R.layerElement),R.destroy()}if(this.textSpans[a].glyph=F,F._debug=!0,F.prepareFrame(0),F.renderFrame(),this.textSpans[a].childSpan.appendChild(F.layerElement),k.t===1)this.textSpans[a].childSpan.setAttribute("transform","scale("+e.finalSize/100+","+e.finalSize/100+")")}else{if(f)l.setAttribute("transform","translate("+u.props[12]+","+u.props[13]+")");l.textContent=t[a].val,l.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve")}}if(f&&l)l.setAttribute("d",h)}while(a<this.textSpans.length)this.textSpans[a].span.style.display="none",a+=1;this._sizeChanged=!0},SVGTextLottieElement.prototype.sourceRectAtTime=function(){if(this.prepareFrame(this.comp.renderedFrame-this.data.st),this.renderInnerContent(),this._sizeChanged){this._sizeChanged=!1;var a=this.layerElement.getBBox();this.bbox={top:a.y,left:a.x,width:a.width,height:a.height}}return this.bbox},SVGTextLottieElement.prototype.getValue=function(){var a,i=this.textSpans.length,e;this.renderedFrame=this.comp.renderedFrame;for(a=0;a<i;a+=1)if(e=this.textSpans[a].glyph,e){if(e.prepareFrame(this.comp.renderedFrame-this.data.st),e._mdf)this._mdf=!0}},SVGTextLottieElement.prototype.renderInnerContent=function(){if(this.validateText(),!this.data.singleShape||this._mdf){if(this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag),this.lettersChangedFlag||this.textAnimator.lettersChangedFlag){this._sizeChanged=!0;var a,i,e=this.textAnimator.renderedLetters,o=this.textProperty.currentData.l;i=o.length;var r,n,t;for(a=0;a<i;a+=1)if(!o[a].n){if(r=e[a],n=this.textSpans[a].span,t=this.textSpans[a].glyph,t)t.renderFrame();if(r._mdf.m)n.setAttribute("transform",r.m);if(r._mdf.o)n.setAttribute("opacity",r.o);if(r._mdf.sw)n.setAttribute("stroke-width",r.sw);if(r._mdf.sc)n.setAttribute("stroke",r.sc);if(r._mdf.fc)n.setAttribute("fill",r.fc)}}}};function ISolidElement(a,i,e){this.initElement(a,i,e)}extendPrototype([IImageElement],ISolidElement),ISolidElement.prototype.createContent=function(){var a=createNS("rect");a.setAttribute("width",this.data.sw),a.setAttribute("height",this.data.sh),a.setAttribute("fill",this.data.sc),this.layerElement.appendChild(a)};function NullElement(a,i,e){this.initFrame(),this.initBaseData(a,i,e),this.initFrame(),this.initTransform(a,i,e),this.initHierarchy()}NullElement.prototype.prepareFrame=function(a){this.prepareProperties(a,!0)},NullElement.prototype.renderFrame=function(){},NullElement.prototype.getBaseElement=function(){return null},NullElement.prototype.destroy=function(){},NullElement.prototype.sourceRectAtTime=function(){},NullElement.prototype.hide=function(){},extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement],NullElement);function SVGRendererBase(){}extendPrototype([BaseRenderer],SVGRendererBase),SVGRendererBase.prototype.createNull=function(a){return new NullElement(a,this.globalData,this)},SVGRendererBase.prototype.createShape=function(a){return new SVGShapeElement(a,this.globalData,this)},SVGRendererBase.prototype.createText=function(a){return new SVGTextLottieElement(a,this.globalData,this)},SVGRendererBase.prototype.createImage=function(a){return new IImageElement(a,this.globalData,this)},SVGRendererBase.prototype.createSolid=function(a){return new ISolidElement(a,this.globalData,this)},SVGRendererBase.prototype.configAnimation=function(a){if(this.svgElement.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.svgElement.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink"),this.renderConfig.viewBoxSize)this.svgElement.setAttribute("viewBox",this.renderConfig.viewBoxSize);else this.svgElement.setAttribute("viewBox","0 0 "+a.w+" "+a.h);if(!this.renderConfig.viewBoxOnly)this.svgElement.setAttribute("width",a.w),this.svgElement.setAttribute("height",a.h),this.svgElement.style.width="100%",this.svgElement.style.height="100%",this.svgElement.style.transform="translate3d(0,0,0)",this.svgElement.style.contentVisibility=this.renderConfig.contentVisibility;if(this.renderConfig.width)this.svgElement.setAttribute("width",this.renderConfig.width);if(this.renderConfig.height)this.svgElement.setAttribute("height",this.renderConfig.height);if(this.renderConfig.className)this.svgElement.setAttribute("class",this.renderConfig.className);if(this.renderConfig.id)this.svgElement.setAttribute("id",this.renderConfig.id);if(this.renderConfig.focusable!==void 0)this.svgElement.setAttribute("focusable",this.renderConfig.focusable);this.svgElement.setAttribute("preserveAspectRatio",this.renderConfig.preserveAspectRatio),this.animationItem.wrapper.appendChild(this.svgElement);var i=this.globalData.defs;this.setupGlobalData(a,i),this.globalData.progressiveLoad=this.renderConfig.progressiveLoad,this.data=a;var e=createNS("clipPath"),o=createNS("rect");o.setAttribute("width",a.w),o.setAttribute("height",a.h),o.setAttribute("x",0),o.setAttribute("y",0);var r=createElementID();e.setAttribute("id",r),e.appendChild(o),this.layerElement.setAttribute("clip-path","url("+getLocationHref()+"#"+r+")"),i.appendChild(e),this.layers=a.layers,this.elements=createSizedArray(a.layers.length)},SVGRendererBase.prototype.destroy=function(){if(this.animationItem.wrapper)this.animationItem.wrapper.innerText="";this.layerElement=null,this.globalData.defs=null;var a,i=this.layers?this.layers.length:0;for(a=0;a<i;a+=1)if(this.elements[a]&&this.elements[a].destroy)this.elements[a].destroy();this.elements.length=0,this.destroyed=!0,this.animationItem=null},SVGRendererBase.prototype.updateContainerSize=function(){},SVGRendererBase.prototype.findIndexByInd=function(a){var i=0,e=this.layers.length;for(i=0;i<e;i+=1)if(this.layers[i].ind===a)return i;return-1},SVGRendererBase.prototype.buildItem=function(a){var i=this.elements;if(i[a]||this.layers[a].ty===99)return;i[a]=!0;var e=this.createItem(this.layers[a]);if(i[a]=e,getExpressionsPlugin()){if(this.layers[a].ty===0)this.globalData.projectInterface.registerComposition(e);e.initExpressions()}if(this.appendElementInPos(e,a),this.layers[a].tt){var o="tp"in this.layers[a]?this.findIndexByInd(this.layers[a].tp):a-1;if(o===-1)return;if(!this.elements[o]||this.elements[o]===!0)this.buildItem(o),this.addPendingElement(e);else{var r=i[o],n=r.getMatte(this.layers[a].tt);e.setMatte(n)}}},SVGRendererBase.prototype.checkPendingElements=function(){while(this.pendingElements.length){var a=this.pendingElements.pop();if(a.checkParenting(),a.data.tt){var i=0,e=this.elements.length;while(i<e){if(this.elements[i]===a){var o="tp"in a.data?this.findIndexByInd(a.data.tp):i-1,r=this.elements[o],n=r.getMatte(this.layers[i].tt);a.setMatte(n);break}i+=1}}}},SVGRendererBase.prototype.renderFrame=function(a){if(this.renderedFrame===a||this.destroyed)return;if(a===null)a=this.renderedFrame;else this.renderedFrame=a;this.globalData.frameNum=a,this.globalData.frameId+=1,this.globalData.projectInterface.currentFrame=a,this.globalData._mdf=!1;var i,e=this.layers.length;if(!this.completeLayers)this.checkLayers(a);for(i=e-1;i>=0;i-=1)if(this.completeLayers||this.elements[i])this.elements[i].prepareFrame(a-this.layers[i].st);if(this.globalData._mdf){for(i=0;i<e;i+=1)if(this.completeLayers||this.elements[i])this.elements[i].renderFrame()}},SVGRendererBase.prototype.appendElementInPos=function(a,i){var e=a.getBaseElement();if(!e)return;var o=0,r;while(o<i){if(this.elements[o]&&this.elements[o]!==!0&&this.elements[o].getBaseElement())r=this.elements[o].getBaseElement();o+=1}if(r)this.layerElement.insertBefore(e,r);else this.layerElement.appendChild(e)},SVGRendererBase.prototype.hide=function(){this.layerElement.style.display="none"},SVGRendererBase.prototype.show=function(){this.layerElement.style.display="block"};function ICompElement(){}extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement,RenderableDOMElement],ICompElement),ICompElement.prototype.initElement=function(a,i,e){if(this.initFrame(),this.initBaseData(a,i,e),this.initTransform(a,i,e),this.initRenderable(),this.initHierarchy(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.data.xt||!i.progressiveLoad)this.buildAllItems();this.hide()},ICompElement.prototype.prepareFrame=function(a){if(this._mdf=!1,this.prepareRenderableFrame(a),this.prepareProperties(a,this.isInRange),!this.isInRange&&!this.data.xt)return;if(!this.tm._placeholder){var i=this.tm.v;if(i===this.data.op)i=this.data.op-1;this.renderedFrame=i}else this.renderedFrame=a/this.data.sr;var e,o=this.elements.length;if(!this.completeLayers)this.checkLayers(this.renderedFrame);for(e=o-1;e>=0;e-=1)if(this.completeLayers||this.elements[e]){if(this.elements[e].prepareFrame(this.renderedFrame-this.layers[e].st),this.elements[e]._mdf)this._mdf=!0}},ICompElement.prototype.renderInnerContent=function(){var a,i=this.layers.length;for(a=0;a<i;a+=1)if(this.completeLayers||this.elements[a])this.elements[a].renderFrame()},ICompElement.prototype.setElements=function(a){this.elements=a},ICompElement.prototype.getElements=function(){return this.elements},ICompElement.prototype.destroyElements=function(){var a,i=this.layers.length;for(a=0;a<i;a+=1)if(this.elements[a])this.elements[a].destroy()},ICompElement.prototype.destroy=function(){this.destroyElements(),this.destroyBaseElement()};function SVGCompElement(a,i,e){this.layers=a.layers,this.supports3d=!0,this.completeLayers=!1,this.pendingElements=[],this.elements=this.layers?createSizedArray(this.layers.length):[],this.initElement(a,i,e),this.tm=a.tm?PropertyFactory.getProp(this,a.tm,0,i.frameRate,this):{_placeholder:!0}}extendPrototype([SVGRendererBase,ICompElement,SVGBaseElement],SVGCompElement),SVGCompElement.prototype.createComp=function(a){return new SVGCompElement(a,this.globalData,this)};function SVGRenderer(a,i){this.animationItem=a,this.layers=null,this.renderedFrame=-1,this.svgElement=createNS("svg");var e="";if(i&&i.title){var o=createNS("title"),r=createElementID();o.setAttribute("id",r),o.textContent=i.title,this.svgElement.appendChild(o),e+=r}if(i&&i.description){var n=createNS("desc"),t=createElementID();n.setAttribute("id",t),n.textContent=i.description,this.svgElement.appendChild(n),e+=" "+t}if(e)this.svgElement.setAttribute("aria-labelledby",e);var s=createNS("defs");this.svgElement.appendChild(s);var l=createNS("g");this.svgElement.appendChild(l),this.layerElement=l,this.renderConfig={preserveAspectRatio:i&&i.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:i&&i.imagePreserveAspectRatio||"xMidYMid slice",contentVisibility:i&&i.contentVisibility||"visible",progressiveLoad:i&&i.progressiveLoad||!1,hideOnTransparent:!(i&&i.hideOnTransparent===!1),viewBoxOnly:i&&i.viewBoxOnly||!1,viewBoxSize:i&&i.viewBoxSize||!1,className:i&&i.className||"",id:i&&i.id||"",focusable:i&&i.focusable,filterSize:{width:i&&i.filterSize&&i.filterSize.width||"100%",height:i&&i.filterSize&&i.filterSize.height||"100%",x:i&&i.filterSize&&i.filterSize.x||"0%",y:i&&i.filterSize&&i.filterSize.y||"0%"},width:i&&i.width,height:i&&i.height,runExpressions:!i||i.runExpressions===void 0||i.runExpressions},this.globalData={_mdf:!1,frameNum:-1,defs:s,renderConfig:this.renderConfig},this.elements=[],this.pendingElements=[],this.destroyed=!1,this.rendererType="svg"}extendPrototype([SVGRendererBase],SVGRenderer),SVGRenderer.prototype.createComp=function(a){return new SVGCompElement(a,this.globalData,this)};function ShapeTransformManager(){this.sequences={},this.sequenceList=[],this.transform_key_count=0}ShapeTransformManager.prototype={addTransformSequence:function a(i){var e,o=i.length,r="_";for(e=0;e<o;e+=1)r+=i[e].transform.key+"_";var n=this.sequences[r];if(!n)n={transforms:[].concat(i),finalTransform:new Matrix,_mdf:!1},this.sequences[r]=n,this.sequenceList.push(n);return n},processSequence:function a(i,e){var o=0,r=i.transforms.length,n=e;while(o<r&&!e){if(i.transforms[o].transform.mProps._mdf){n=!0;break}o+=1}if(n){i.finalTransform.reset();for(o=r-1;o>=0;o-=1)i.finalTransform.multiply(i.transforms[o].transform.mProps.v)}i._mdf=n},processSequences:function a(i){var e,o=this.sequenceList.length;for(e=0;e<o;e+=1)this.processSequence(this.sequenceList[e],i)},getNewKey:function a(){return this.transform_key_count+=1,"_"+this.transform_key_count}};var lumaLoader=function a(){var i="__lottie_element_luma_buffer",e=null,o=null,r=null;function n(){var l=createNS("svg"),u=createNS("filter"),h=createNS("feColorMatrix");if(u.setAttribute("id",i),h.setAttribute("type","matrix"),h.setAttribute("color-interpolation-filters","sRGB"),h.setAttribute("values","0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0"),u.appendChild(h),l.appendChild(u),l.setAttribute("id",i+"_svg"),featureSupport.svgLumaHidden)l.style.display="none";return l}function t(){if(!e)r=n(),document.body.appendChild(r),e=createTag("canvas"),o=e.getContext("2d"),o.filter="url(#"+i+")",o.fillStyle="rgba(0,0,0,0)",o.fillRect(0,0,1,1)}function s(l){if(!e)t();return e.width=l.width,e.height=l.height,o.filter="url(#"+i+")",e}return{load:t,get:s}};function createCanvas(a,i){if(featureSupport.offscreenCanvas)return new OffscreenCanvas(a,i);var e=createTag("canvas");return e.width=a,e.height=i,e}var assetLoader=function(){return{loadLumaCanvas:lumaLoader.load,getLumaCanvas:lumaLoader.get,createCanvas}}(),registeredEffects={};function CVEffects(a){var i,e=a.data.ef?a.data.ef.length:0;this.filters=[];var o;for(i=0;i<e;i+=1){o=null;var r=a.data.ef[i].ty;if(registeredEffects[r]){var n=registeredEffects[r].effect;o=new n(a.effectsManager.effectElements[i],a)}if(o)this.filters.push(o)}if(this.filters.length)a.addRenderableComponent(this)}CVEffects.prototype.renderFrame=function(a){var i,e=this.filters.length;for(i=0;i<e;i+=1)this.filters[i].renderFrame(a)},CVEffects.prototype.getEffects=function(a){var i,e=this.filters.length,o=[];for(i=0;i<e;i+=1)if(this.filters[i].type===a)o.push(this.filters[i]);return o};function registerEffect(a,i){registeredEffects[a]={effect:i}}function CVMaskElement(a,i){this.data=a,this.element=i,this.masksProperties=this.data.masksProperties||[],this.viewData=createSizedArray(this.masksProperties.length);var e,o=this.masksProperties.length,r=!1;for(e=0;e<o;e+=1){if(this.masksProperties[e].mode!=="n")r=!0;this.viewData[e]=ShapePropertyFactory.getShapeProp(this.element,this.masksProperties[e],3)}if(this.hasMasks=r,r)this.element.addRenderableComponent(this)}CVMaskElement.prototype.renderFrame=function(){if(!this.hasMasks)return;var a=this.element.finalTransform.mat,i=this.element.canvasContext,e,o=this.masksProperties.length,r,n,t;i.beginPath();for(e=0;e<o;e+=1)if(this.masksProperties[e].mode!=="n"){if(this.masksProperties[e].inv)i.moveTo(0,0),i.lineTo(this.element.globalData.compSize.w,0),i.lineTo(this.element.globalData.compSize.w,this.element.globalData.compSize.h),i.lineTo(0,this.element.globalData.compSize.h),i.lineTo(0,0);t=this.viewData[e].v,r=a.applyToPointArray(t.v[0][0],t.v[0][1],0),i.moveTo(r[0],r[1]);var s,l=t._length;for(s=1;s<l;s+=1)n=a.applyToTriplePoints(t.o[s-1],t.i[s],t.v[s]),i.bezierCurveTo(n[0],n[1],n[2],n[3],n[4],n[5]);n=a.applyToTriplePoints(t.o[s-1],t.i[0],t.v[0]),i.bezierCurveTo(n[0],n[1],n[2],n[3],n[4],n[5])}this.element.globalData.renderer.save(!0),i.clip()},CVMaskElement.prototype.getMaskProperty=MaskElement.prototype.getMaskProperty,CVMaskElement.prototype.destroy=function(){this.element=null};function CVBaseElement(){}var operationsMap={1:"source-in",2:"source-out",3:"source-in",4:"source-out"};CVBaseElement.prototype={createElements:function a(){},initRendererElement:function a(){},createContainerElements:function a(){if(this.data.tt>=1){this.buffers=[];var i=this.globalData.canvasContext,e=assetLoader.createCanvas(i.canvas.width,i.canvas.height);this.buffers.push(e);var o=assetLoader.createCanvas(i.canvas.width,i.canvas.height);if(this.buffers.push(o),this.data.tt>=3&&!document._isProxy)assetLoader.loadLumaCanvas()}this.canvasContext=this.globalData.canvasContext,this.transformCanvas=this.globalData.transformCanvas,this.renderableEffectsManager=new CVEffects(this),this.searchEffectTransforms()},createContent:function a(){},setBlendMode:function a(){var i=this.globalData;if(i.blendMode!==this.data.bm){i.blendMode=this.data.bm;var e=getBlendMode(this.data.bm);i.canvasContext.globalCompositeOperation=e}},createRenderableComponents:function a(){this.maskManager=new CVMaskElement(this.data,this),this.transformEffects=this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT)},hideElement:function a(){if(!this.hidden&&(!this.isInRange||this.isTransparent))this.hidden=!0},showElement:function a(){if(this.isInRange&&!this.isTransparent)this.hidden=!1,this._isFirstFrame=!0,this.maskManager._isFirstFrame=!0},clearCanvas:function a(i){i.clearRect(this.transformCanvas.tx,this.transformCanvas.ty,this.transformCanvas.w*this.transformCanvas.sx,this.transformCanvas.h*this.transformCanvas.sy)},prepareLayer:function a(){if(this.data.tt>=1){var i=this.buffers[0],e=i.getContext("2d");this.clearCanvas(e),e.drawImage(this.canvasContext.canvas,0,0),this.currentTransform=this.canvasContext.getTransform(),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform)}},exitLayer:function a(){if(this.data.tt>=1){var i=this.buffers[1],e=i.getContext("2d");this.clearCanvas(e),e.drawImage(this.canvasContext.canvas,0,0),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform);var o=this.comp.getElementById("tp"in this.data?this.data.tp:this.data.ind-1);if(o.renderFrame(!0),this.canvasContext.setTransform(1,0,0,1,0,0),this.data.tt>=3&&!document._isProxy){var r=assetLoader.getLumaCanvas(this.canvasContext.canvas),n=r.getContext("2d");n.drawImage(this.canvasContext.canvas,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.drawImage(r,0,0)}this.canvasContext.globalCompositeOperation=operationsMap[this.data.tt],this.canvasContext.drawImage(i,0,0),this.canvasContext.globalCompositeOperation="destination-over",this.canvasContext.drawImage(this.buffers[0],0,0),this.canvasContext.setTransform(this.currentTransform),this.canvasContext.globalCompositeOperation="source-over"}},renderFrame:function a(i){if(this.hidden||this.data.hd)return;if(this.data.td===1&&!i)return;this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.setBlendMode();var e=this.data.ty===0;if(this.prepareLayer(),this.globalData.renderer.save(e),this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props),this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity),this.renderInnerContent(),this.globalData.renderer.restore(e),this.exitLayer(),this.maskManager.hasMasks)this.globalData.renderer.restore(!0);if(this._isFirstFrame)this._isFirstFrame=!1},destroy:function a(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager.destroy()},mHelper:new Matrix},CVBaseElement.prototype.hide=CVBaseElement.prototype.hideElement,CVBaseElement.prototype.show=CVBaseElement.prototype.showElement;function CVShapeData(a,i,e,o){this.styledShapes=[],this.tr=[0,0,0,0,0,0];var r=4;if(i.ty==="rc")r=5;else if(i.ty==="el")r=6;else if(i.ty==="sr")r=7;this.sh=ShapePropertyFactory.getShapeProp(a,i,r,a);var n,t=e.length,s;for(n=0;n<t;n+=1)if(!e[n].closed)s={transforms:o.addTransformSequence(e[n].transforms),trNodes:[]},this.styledShapes.push(s),e[n].elements.push(s)}CVShapeData.prototype.setAsAnimated=SVGShapeData.prototype.setAsAnimated;function CVShapeElement(a,i,e){this.shapes=[],this.shapesData=a.shapes,this.stylesList=[],this.itemsData=[],this.prevViewData=[],this.shapeModifiers=[],this.processedElements=[],this.transformsManager=new ShapeTransformManager,this.initElement(a,i,e)}extendPrototype([BaseElement,TransformElement,CVBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableElement],CVShapeElement),CVShapeElement.prototype.initElement=RenderableDOMElement.prototype.initElement,CVShapeElement.prototype.transformHelper={opacity:1,_opMdf:!1},CVShapeElement.prototype.dashResetter=[],CVShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,!0,[])},CVShapeElement.prototype.createStyleElement=function(a,i){var e={data:a,type:a.ty,preTransforms:this.transformsManager.addTransformSequence(i),transforms:[],elements:[],closed:a.hd===!0},o={};if(a.ty==="fl"||a.ty==="st"){if(o.c=PropertyFactory.getProp(this,a.c,1,255,this),!o.c.k)e.co="rgb("+bmFloor(o.c.v[0])+","+bmFloor(o.c.v[1])+","+bmFloor(o.c.v[2])+")"}else if(a.ty==="gf"||a.ty==="gs")o.s=PropertyFactory.getProp(this,a.s,1,null,this),o.e=PropertyFactory.getProp(this,a.e,1,null,this),o.h=PropertyFactory.getProp(this,a.h||{k:0},0,0.01,this),o.a=PropertyFactory.getProp(this,a.a||{k:0},0,degToRads,this),o.g=new GradientProperty(this,a.g,this);if(o.o=PropertyFactory.getProp(this,a.o,0,0.01,this),a.ty==="st"||a.ty==="gs"){if(e.lc=lineCapEnum[a.lc||2],e.lj=lineJoinEnum[a.lj||2],a.lj==1)e.ml=a.ml;if(o.w=PropertyFactory.getProp(this,a.w,0,null,this),!o.w.k)e.wi=o.w.v;if(a.d){var r=new DashProperty(this,a.d,"canvas",this);if(o.d=r,!o.d.k)e.da=o.d.dashArray,e.do=o.d.dashoffset[0]}}else e.r=a.r===2?"evenodd":"nonzero";return this.stylesList.push(e),o.style=e,o},CVShapeElement.prototype.createGroupElement=function(){var a={it:[],prevViewData:[]};return a},CVShapeElement.prototype.createTransformElement=function(a){var i={transform:{opacity:1,_opMdf:!1,key:this.transformsManager.getNewKey(),op:PropertyFactory.getProp(this,a.o,0,0.01,this),mProps:TransformPropertyFactory.getTransformProperty(this,a,this)}};return i},CVShapeElement.prototype.createShapeElement=function(a){var i=new CVShapeData(this,a,this.stylesList,this.transformsManager);return this.shapes.push(i),this.addShapeToModifiers(i),i},CVShapeElement.prototype.reloadShapes=function(){this._isFirstFrame=!0;var a,i=this.itemsData.length;for(a=0;a<i;a+=1)this.prevViewData[a]=this.itemsData[a];this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,!0,[]),i=this.dynamicProperties.length;for(a=0;a<i;a+=1)this.dynamicProperties[a].getValue();this.renderModifiers(),this.transformsManager.processSequences(this._isFirstFrame)},CVShapeElement.prototype.addTransformToStyleList=function(a){var i,e=this.stylesList.length;for(i=0;i<e;i+=1)if(!this.stylesList[i].closed)this.stylesList[i].transforms.push(a)},CVShapeElement.prototype.removeTransformFromStyleList=function(){var a,i=this.stylesList.length;for(a=0;a<i;a+=1)if(!this.stylesList[a].closed)this.stylesList[a].transforms.pop()},CVShapeElement.prototype.closeStyles=function(a){var i,e=a.length;for(i=0;i<e;i+=1)a[i].closed=!0},CVShapeElement.prototype.searchShapes=function(a,i,e,o,r){var n,t=a.length-1,s,l,u=[],h=[],f,c,y,g=[].concat(r);for(n=t;n>=0;n-=1){if(f=this.searchProcessedElement(a[n]),!f)a[n]._shouldRender=o;else i[n]=e[f-1];if(a[n].ty==="fl"||a[n].ty==="st"||a[n].ty==="gf"||a[n].ty==="gs"){if(!f)i[n]=this.createStyleElement(a[n],g);else i[n].style.closed=!1;u.push(i[n].style)}else if(a[n].ty==="gr"){if(!f)i[n]=this.createGroupElement(a[n]);else{l=i[n].it.length;for(s=0;s<l;s+=1)i[n].prevViewData[s]=i[n].it[s]}this.searchShapes(a[n].it,i[n].it,i[n].prevViewData,o,g)}else if(a[n].ty==="tr"){if(!f)y=this.createTransformElement(a[n]),i[n]=y;g.push(i[n]),this.addTransformToStyleList(i[n])}else if(a[n].ty==="sh"||a[n].ty==="rc"||a[n].ty==="el"||a[n].ty==="sr"){if(!f)i[n]=this.createShapeElement(a[n])}else if(a[n].ty==="tm"||a[n].ty==="rd"||a[n].ty==="pb"||a[n].ty==="zz"||a[n].ty==="op"){if(!f)c=ShapeModifiers.getModifier(a[n].ty),c.init(this,a[n]),i[n]=c,this.shapeModifiers.push(c);else c=i[n],c.closed=!1;h.push(c)}else if(a[n].ty==="rp"){if(!f)c=ShapeModifiers.getModifier(a[n].ty),i[n]=c,c.init(this,a,n,i),this.shapeModifiers.push(c),o=!1;else c=i[n],c.closed=!0;h.push(c)}this.addProcessedElement(a[n],n+1)}this.removeTransformFromStyleList(),this.closeStyles(u),t=h.length;for(n=0;n<t;n+=1)h[n].closed=!0},CVShapeElement.prototype.renderInnerContent=function(){this.transformHelper.opacity=1,this.transformHelper._opMdf=!1,this.renderModifiers(),this.transformsManager.processSequences(this._isFirstFrame),this.renderShape(this.transformHelper,this.shapesData,this.itemsData,!0)},CVShapeElement.prototype.renderShapeTransform=function(a,i){if(a._opMdf||i.op._mdf||this._isFirstFrame)i.opacity=a.opacity,i.opacity*=i.op.v,i._opMdf=!0},CVShapeElement.prototype.drawLayer=function(){var a,i=this.stylesList.length,e,o,r,n,t,s,l=this.globalData.renderer,u=this.globalData.canvasContext,h,f;for(a=0;a<i;a+=1)if(f=this.stylesList[a],h=f.type,!((h==="st"||h==="gs")&&f.wi===0||!f.data._shouldRender||f.coOp===0||this.globalData.currentGlobalAlpha===0)){if(l.save(),t=f.elements,h==="st"||h==="gs")l.ctxStrokeStyle(h==="st"?f.co:f.grd),l.ctxLineWidth(f.wi),l.ctxLineCap(f.lc),l.ctxLineJoin(f.lj),l.ctxMiterLimit(f.ml||0);else l.ctxFillStyle(h==="fl"?f.co:f.grd);if(l.ctxOpacity(f.coOp),h!=="st"&&h!=="gs")u.beginPath();l.ctxTransform(f.preTransforms.finalTransform.props),o=t.length;for(e=0;e<o;e+=1){if(h==="st"||h==="gs"){if(u.beginPath(),f.da)u.setLineDash(f.da),u.lineDashOffset=f.do}s=t[e].trNodes,n=s.length;for(r=0;r<n;r+=1)if(s[r].t==="m")u.moveTo(s[r].p[0],s[r].p[1]);else if(s[r].t==="c")u.bezierCurveTo(s[r].pts[0],s[r].pts[1],s[r].pts[2],s[r].pts[3],s[r].pts[4],s[r].pts[5]);else u.closePath();if(h==="st"||h==="gs"){if(l.ctxStroke(),f.da)u.setLineDash(this.dashResetter)}}if(h!=="st"&&h!=="gs")this.globalData.renderer.ctxFill(f.r);l.restore()}},CVShapeElement.prototype.renderShape=function(a,i,e,o){var r,n=i.length-1,t;t=a;for(r=n;r>=0;r-=1)if(i[r].ty==="tr")t=e[r].transform,this.renderShapeTransform(a,t);else if(i[r].ty==="sh"||i[r].ty==="el"||i[r].ty==="rc"||i[r].ty==="sr")this.renderPath(i[r],e[r]);else if(i[r].ty==="fl")this.renderFill(i[r],e[r],t);else if(i[r].ty==="st")this.renderStroke(i[r],e[r],t);else if(i[r].ty==="gf"||i[r].ty==="gs")this.renderGradientFill(i[r],e[r],t);else if(i[r].ty==="gr")this.renderShape(t,i[r].it,e[r].it);else if(i[r].ty==="tm");if(o)this.drawLayer()},CVShapeElement.prototype.renderStyledShape=function(a,i){if(this._isFirstFrame||i._mdf||a.transforms._mdf){var e=a.trNodes,o=i.paths,r,n,t,s=o._length;e.length=0;var l=a.transforms.finalTransform;for(t=0;t<s;t+=1){var u=o.shapes[t];if(u&&u.v){n=u._length;for(r=1;r<n;r+=1){if(r===1)e.push({t:"m",p:l.applyToPointArray(u.v[0][0],u.v[0][1],0)});e.push({t:"c",pts:l.applyToTriplePoints(u.o[r-1],u.i[r],u.v[r])})}if(n===1)e.push({t:"m",p:l.applyToPointArray(u.v[0][0],u.v[0][1],0)});if(u.c&&n)e.push({t:"c",pts:l.applyToTriplePoints(u.o[r-1],u.i[0],u.v[0])}),e.push({t:"z"})}}a.trNodes=e}},CVShapeElement.prototype.renderPath=function(a,i){if(a.hd!==!0&&a._shouldRender){var e,o=i.styledShapes.length;for(e=0;e<o;e+=1)this.renderStyledShape(i.styledShapes[e],i.sh)}},CVShapeElement.prototype.renderFill=function(a,i,e){var o=i.style;if(i.c._mdf||this._isFirstFrame)o.co="rgb("+bmFloor(i.c.v[0])+","+bmFloor(i.c.v[1])+","+bmFloor(i.c.v[2])+")";if(i.o._mdf||e._opMdf||this._isFirstFrame)o.coOp=i.o.v*e.opacity},CVShapeElement.prototype.renderGradientFill=function(a,i,e){var o=i.style,r;if(!o.grd||i.g._mdf||i.s._mdf||i.e._mdf||a.t!==1&&(i.h._mdf||i.a._mdf)){var n=this.globalData.canvasContext,t=i.s.v,s=i.e.v;if(a.t===1)r=n.createLinearGradient(t[0],t[1],s[0],s[1]);else{var l=Math.sqrt(Math.pow(t[0]-s[0],2)+Math.pow(t[1]-s[1],2)),u=Math.atan2(s[1]-t[1],s[0]-t[0]),h=i.h.v;if(h>=1)h=0.99;else if(h<=-1)h=-0.99;var f=l*h,c=Math.cos(u+i.a.v)*f+t[0],y=Math.sin(u+i.a.v)*f+t[1];r=n.createRadialGradient(c,y,0,t[0],t[1],l)}var g,b=a.g.p,I=i.g.c,m=1;for(g=0;g<b;g+=1){if(i.g._hasOpacity&&i.g._collapsable)m=i.g.o[g*2+1];r.addColorStop(I[g*4]/100,"rgba("+I[g*4+1]+","+I[g*4+2]+","+I[g*4+3]+","+m+")")}o.grd=r}o.coOp=i.o.v*e.opacity},CVShapeElement.prototype.renderStroke=function(a,i,e){var{style:o,d:r}=i;if(r&&(r._mdf||this._isFirstFrame))o.da=r.dashArray,o.do=r.dashoffset[0];if(i.c._mdf||this._isFirstFrame)o.co="rgb("+bmFloor(i.c.v[0])+","+bmFloor(i.c.v[1])+","+bmFloor(i.c.v[2])+")";if(i.o._mdf||e._opMdf||this._isFirstFrame)o.coOp=i.o.v*e.opacity;if(i.w._mdf||this._isFirstFrame)o.wi=i.w.v},CVShapeElement.prototype.destroy=function(){this.shapesData=null,this.globalData=null,this.canvasContext=null,this.stylesList.length=0,this.itemsData.length=0};function CVTextElement(a,i,e){this.textSpans=[],this.yOffset=0,this.fillColorAnim=!1,this.strokeColorAnim=!1,this.strokeWidthAnim=!1,this.stroke=!1,this.fill=!1,this.justifyOffset=0,this.currentRender=null,this.renderType="canvas",this.values={fill:"rgba(0,0,0,0)",stroke:"rgba(0,0,0,0)",sWidth:0,fValue:""},this.initElement(a,i,e)}extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement,ITextElement],CVTextElement),CVTextElement.prototype.tHelper=createTag("canvas").getContext("2d"),CVTextElement.prototype.buildNewText=function(){var a=this.textProperty.currentData;this.renderedLetters=createSizedArray(a.l?a.l.length:0);var i=!1;if(a.fc)i=!0,this.values.fill=this.buildColor(a.fc);else this.values.fill="rgba(0,0,0,0)";this.fill=i;var e=!1;if(a.sc)e=!0,this.values.stroke=this.buildColor(a.sc),this.values.sWidth=a.sw;var o=this.globalData.fontManager.getFontByName(a.f),r,n,t=a.l,s=this.mHelper;this.stroke=e,this.values.fValue=a.finalSize+"px "+this.globalData.fontManager.getFontByName(a.f).fFamily,n=a.finalText.length;var l,u,h,f,c,y,g,b,I,m,v=this.data.singleShape,p=a.tr*0.001*a.finalSize,k=0,S=0,F=!0,K=0;for(r=0;r<n;r+=1){if(l=this.globalData.fontManager.getCharData(a.finalText[r],o.fStyle,this.globalData.fontManager.getFontByName(a.f).fFamily),u=l&&l.data||{},s.reset(),v&&t[r].n)k=-p,S+=a.yOffset,S+=F?1:0,F=!1;if(c=u.shapes?u.shapes[0].it:[],g=c.length,s.scale(a.finalSize/100,a.finalSize/100),v)this.applyTextPropertiesToMatrix(a,s,t[r].line,k,S);I=createSizedArray(g-1);var R=0;for(y=0;y<g;y+=1)if(c[y].ty==="sh"){f=c[y].ks.k.i.length,b=c[y].ks.k,m=[];for(h=1;h<f;h+=1){if(h===1)m.push(s.applyToX(b.v[0][0],b.v[0][1],0),s.applyToY(b.v[0][0],b.v[0][1],0));m.push(s.applyToX(b.o[h-1][0],b.o[h-1][1],0),s.applyToY(b.o[h-1][0],b.o[h-1][1],0),s.applyToX(b.i[h][0],b.i[h][1],0),s.applyToY(b.i[h][0],b.i[h][1],0),s.applyToX(b.v[h][0],b.v[h][1],0),s.applyToY(b.v[h][0],b.v[h][1],0))}m.push(s.applyToX(b.o[h-1][0],b.o[h-1][1],0),s.applyToY(b.o[h-1][0],b.o[h-1][1],0),s.applyToX(b.i[0][0],b.i[0][1],0),s.applyToY(b.i[0][0],b.i[0][1],0),s.applyToX(b.v[0][0],b.v[0][1],0),s.applyToY(b.v[0][0],b.v[0][1],0)),I[R]=m,R+=1}if(v)k+=t[r].l,k+=p;if(this.textSpans[K])this.textSpans[K].elem=I;else this.textSpans[K]={elem:I};K+=1}},CVTextElement.prototype.renderInnerContent=function(){this.validateText();var a=this.canvasContext;if(a.font=this.values.fValue,this.globalData.renderer.ctxLineCap("butt"),this.globalData.renderer.ctxLineJoin("miter"),this.globalData.renderer.ctxMiterLimit(4),!this.data.singleShape)this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag);var i,e,o,r,n,t,s=this.textAnimator.renderedLetters,l=this.textProperty.currentData.l;e=l.length;var u,h=null,f=null,c=null,y,g,b=this.globalData.renderer;for(i=0;i<e;i+=1)if(!l[i].n){if(u=s[i],u)b.save(),b.ctxTransform(u.p),b.ctxOpacity(u.o);if(this.fill){if(u&&u.fc){if(h!==u.fc)b.ctxFillStyle(u.fc),h=u.fc}else if(h!==this.values.fill)h=this.values.fill,b.ctxFillStyle(this.values.fill);y=this.textSpans[i].elem,r=y.length,this.globalData.canvasContext.beginPath();for(o=0;o<r;o+=1){g=y[o],t=g.length,this.globalData.canvasContext.moveTo(g[0],g[1]);for(n=2;n<t;n+=6)this.globalData.canvasContext.bezierCurveTo(g[n],g[n+1],g[n+2],g[n+3],g[n+4],g[n+5])}this.globalData.canvasContext.closePath(),b.ctxFill()}if(this.stroke){if(u&&u.sw){if(c!==u.sw)c=u.sw,b.ctxLineWidth(u.sw)}else if(c!==this.values.sWidth)c=this.values.sWidth,b.ctxLineWidth(this.values.sWidth);if(u&&u.sc){if(f!==u.sc)f=u.sc,b.ctxStrokeStyle(u.sc)}else if(f!==this.values.stroke)f=this.values.stroke,b.ctxStrokeStyle(this.values.stroke);y=this.textSpans[i].elem,r=y.length,this.globalData.canvasContext.beginPath();for(o=0;o<r;o+=1){g=y[o],t=g.length,this.globalData.canvasContext.moveTo(g[0],g[1]);for(n=2;n<t;n+=6)this.globalData.canvasContext.bezierCurveTo(g[n],g[n+1],g[n+2],g[n+3],g[n+4],g[n+5])}this.globalData.canvasContext.closePath(),b.ctxStroke()}if(u)this.globalData.renderer.restore()}};function CVImageElement(a,i,e){this.assetData=i.getAssetData(a.refId),this.img=i.imageLoader.getAsset(this.assetData),this.initElement(a,i,e)}extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement],CVImageElement),CVImageElement.prototype.initElement=SVGShapeElement.prototype.initElement,CVImageElement.prototype.prepareFrame=IImageElement.prototype.prepareFrame,CVImageElement.prototype.createContent=function(){if(this.img.width&&(this.assetData.w!==this.img.width||this.assetData.h!==this.img.height)){var a=createTag("canvas");a.width=this.assetData.w,a.height=this.assetData.h;var i=a.getContext("2d"),e=this.img.width,o=this.img.height,r=e/o,n=this.assetData.w/this.assetData.h,t,s,l=this.assetData.pr||this.globalData.renderConfig.imagePreserveAspectRatio;if(r>n&&l==="xMidYMid slice"||r<n&&l!=="xMidYMid slice")s=o,t=s*n;else t=e,s=t/n;i.drawImage(this.img,(e-t)/2,(o-s)/2,t,s,0,0,this.assetData.w,this.assetData.h),this.img=a}},CVImageElement.prototype.renderInnerContent=function(){this.canvasContext.drawImage(this.img,0,0)},CVImageElement.prototype.destroy=function(){this.img=null};function CVSolidElement(a,i,e){this.initElement(a,i,e)}extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement],CVSolidElement),CVSolidElement.prototype.initElement=SVGShapeElement.prototype.initElement,CVSolidElement.prototype.prepareFrame=IImageElement.prototype.prepareFrame,CVSolidElement.prototype.renderInnerContent=function(){this.globalData.renderer.ctxFillStyle(this.data.sc),this.globalData.renderer.ctxFillRect(0,0,this.data.sw,this.data.sh)};function CanvasRendererBase(){}extendPrototype([BaseRenderer],CanvasRendererBase),CanvasRendererBase.prototype.createShape=function(a){return new CVShapeElement(a,this.globalData,this)},CanvasRendererBase.prototype.createText=function(a){return new CVTextElement(a,this.globalData,this)},CanvasRendererBase.prototype.createImage=function(a){return new CVImageElement(a,this.globalData,this)},CanvasRendererBase.prototype.createSolid=function(a){return new CVSolidElement(a,this.globalData,this)},CanvasRendererBase.prototype.createNull=SVGRenderer.prototype.createNull,CanvasRendererBase.prototype.ctxTransform=function(a){if(a[0]===1&&a[1]===0&&a[4]===0&&a[5]===1&&a[12]===0&&a[13]===0)return;this.canvasContext.transform(a[0],a[1],a[4],a[5],a[12],a[13])},CanvasRendererBase.prototype.ctxOpacity=function(a){this.canvasContext.globalAlpha*=a<0?0:a},CanvasRendererBase.prototype.ctxFillStyle=function(a){this.canvasContext.fillStyle=a},CanvasRendererBase.prototype.ctxStrokeStyle=function(a){this.canvasContext.strokeStyle=a},CanvasRendererBase.prototype.ctxLineWidth=function(a){this.canvasContext.lineWidth=a},CanvasRendererBase.prototype.ctxLineCap=function(a){this.canvasContext.lineCap=a},CanvasRendererBase.prototype.ctxLineJoin=function(a){this.canvasContext.lineJoin=a},CanvasRendererBase.prototype.ctxMiterLimit=function(a){this.canvasContext.miterLimit=a},CanvasRendererBase.prototype.ctxFill=function(a){this.canvasContext.fill(a)},CanvasRendererBase.prototype.ctxFillRect=function(a,i,e,o){this.canvasContext.fillRect(a,i,e,o)},CanvasRendererBase.prototype.ctxStroke=function(){this.canvasContext.stroke()},CanvasRendererBase.prototype.reset=function(){if(!this.renderConfig.clearCanvas){this.canvasContext.restore();return}this.contextData.reset()},CanvasRendererBase.prototype.save=function(){this.canvasContext.save()},CanvasRendererBase.prototype.restore=function(a){if(!this.renderConfig.clearCanvas){this.canvasContext.restore();return}if(a)this.globalData.blendMode="source-over";this.contextData.restore(a)},CanvasRendererBase.prototype.configAnimation=function(a){if(this.animationItem.wrapper){this.animationItem.container=createTag("canvas");var i=this.animationItem.container.style;i.width="100%",i.height="100%";var e="0px 0px 0px";if(i.transformOrigin=e,i.mozTransformOrigin=e,i.webkitTransformOrigin=e,i["-webkit-transform"]=e,i.contentVisibility=this.renderConfig.contentVisibility,this.animationItem.wrapper.appendChild(this.animationItem.container),this.canvasContext=this.animationItem.container.getContext("2d"),this.renderConfig.className)this.animationItem.container.setAttribute("class",this.renderConfig.className);if(this.renderConfig.id)this.animationItem.container.setAttribute("id",this.renderConfig.id)}else this.canvasContext=this.renderConfig.context;this.contextData.setContext(this.canvasContext),this.data=a,this.layers=a.layers,this.transformCanvas={w:a.w,h:a.h,sx:0,sy:0,tx:0,ty:0},this.setupGlobalData(a,document.body),this.globalData.canvasContext=this.canvasContext,this.globalData.renderer=this,this.globalData.isDashed=!1,this.globalData.progressiveLoad=this.renderConfig.progressiveLoad,this.globalData.transformCanvas=this.transformCanvas,this.elements=createSizedArray(a.layers.length),this.updateContainerSize()},CanvasRendererBase.prototype.updateContainerSize=function(a,i){this.reset();var e,o;if(a)e=a,o=i,this.canvasContext.canvas.width=e,this.canvasContext.canvas.height=o;else{if(this.animationItem.wrapper&&this.animationItem.container)e=this.animationItem.wrapper.offsetWidth,o=this.animationItem.wrapper.offsetHeight;else e=this.canvasContext.canvas.width,o=this.canvasContext.canvas.height;this.canvasContext.canvas.width=e*this.renderConfig.dpr,this.canvasContext.canvas.height=o*this.renderConfig.dpr}var r,n;if(this.renderConfig.preserveAspectRatio.indexOf("meet")!==-1||this.renderConfig.preserveAspectRatio.indexOf("slice")!==-1){var t=this.renderConfig.preserveAspectRatio.split(" "),s=t[1]||"meet",l=t[0]||"xMidYMid",u=l.substr(0,4),h=l.substr(4);if(r=e/o,n=this.transformCanvas.w/this.transformCanvas.h,n>r&&s==="meet"||n<r&&s==="slice")this.transformCanvas.sx=e/(this.transformCanvas.w/this.renderConfig.dpr),this.transformCanvas.sy=e/(this.transformCanvas.w/this.renderConfig.dpr);else this.transformCanvas.sx=o/(this.transformCanvas.h/this.renderConfig.dpr),this.transformCanvas.sy=o/(this.transformCanvas.h/this.renderConfig.dpr);if(u==="xMid"&&(n<r&&s==="meet"||n>r&&s==="slice"))this.transformCanvas.tx=(e-this.transformCanvas.w*(o/this.transformCanvas.h))/2*this.renderConfig.dpr;else if(u==="xMax"&&(n<r&&s==="meet"||n>r&&s==="slice"))this.transformCanvas.tx=(e-this.transformCanvas.w*(o/this.transformCanvas.h))*this.renderConfig.dpr;else this.transformCanvas.tx=0;if(h==="YMid"&&(n>r&&s==="meet"||n<r&&s==="slice"))this.transformCanvas.ty=(o-this.transformCanvas.h*(e/this.transformCanvas.w))/2*this.renderConfig.dpr;else if(h==="YMax"&&(n>r&&s==="meet"||n<r&&s==="slice"))this.transformCanvas.ty=(o-this.transformCanvas.h*(e/this.transformCanvas.w))*this.renderConfig.dpr;else this.transformCanvas.ty=0}else if(this.renderConfig.preserveAspectRatio==="none")this.transformCanvas.sx=e/(this.transformCanvas.w/this.renderConfig.dpr),this.transformCanvas.sy=o/(this.transformCanvas.h/this.renderConfig.dpr),this.transformCanvas.tx=0,this.transformCanvas.ty=0;else this.transformCanvas.sx=this.renderConfig.dpr,this.transformCanvas.sy=this.renderConfig.dpr,this.transformCanvas.tx=0,this.transformCanvas.ty=0;this.transformCanvas.props=[this.transformCanvas.sx,0,0,0,0,this.transformCanvas.sy,0,0,0,0,1,0,this.transformCanvas.tx,this.transformCanvas.ty,0,1],this.ctxTransform(this.transformCanvas.props),this.canvasContext.beginPath(),this.canvasContext.rect(0,0,this.transformCanvas.w,this.transformCanvas.h),this.canvasContext.closePath(),this.canvasContext.clip(),this.renderFrame(this.renderedFrame,!0)},CanvasRendererBase.prototype.destroy=function(){if(this.renderConfig.clearCanvas&&this.animationItem.wrapper)this.animationItem.wrapper.innerText="";var a,i=this.layers?this.layers.length:0;for(a=i-1;a>=0;a-=1)if(this.elements[a]&&this.elements[a].destroy)this.elements[a].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0},CanvasRendererBase.prototype.renderFrame=function(a,i){if(this.renderedFrame===a&&this.renderConfig.clearCanvas===!0&&!i||this.destroyed||a===-1)return;this.renderedFrame=a,this.globalData.frameNum=a-this.animationItem._isFirstFrame,this.globalData.frameId+=1,this.globalData._mdf=!this.renderConfig.clearCanvas||i,this.globalData.projectInterface.currentFrame=a;var e,o=this.layers.length;if(!this.completeLayers)this.checkLayers(a);for(e=o-1;e>=0;e-=1)if(this.completeLayers||this.elements[e])this.elements[e].prepareFrame(a-this.layers[e].st);if(this.globalData._mdf){if(this.renderConfig.clearCanvas===!0)this.canvasContext.clearRect(0,0,this.transformCanvas.w,this.transformCanvas.h);else this.save();for(e=o-1;e>=0;e-=1)if(this.completeLayers||this.elements[e])this.elements[e].renderFrame();if(this.renderConfig.clearCanvas!==!0)this.restore()}},CanvasRendererBase.prototype.buildItem=function(a){var i=this.elements;if(i[a]||this.layers[a].ty===99)return;var e=this.createItem(this.layers[a],this,this.globalData);i[a]=e,e.initExpressions()},CanvasRendererBase.prototype.checkPendingElements=function(){while(this.pendingElements.length){var a=this.pendingElements.pop();a.checkParenting()}},CanvasRendererBase.prototype.hide=function(){this.animationItem.container.style.display="none"},CanvasRendererBase.prototype.show=function(){this.animationItem.container.style.display="block"};function CanvasContext(){this.opacity=-1,this.transform=createTypedArray("float32",16),this.fillStyle="",this.strokeStyle="",this.lineWidth="",this.lineCap="",this.lineJoin="",this.miterLimit="",this.id=Math.random()}function CVContextData(){this.stack=[],this.cArrPos=0,this.cTr=new Matrix;var a,i=15;for(a=0;a<i;a+=1){var e=new CanvasContext;this.stack[a]=e}this._length=i,this.nativeContext=null,this.transformMat=new Matrix,this.currentOpacity=1,this.currentFillStyle="",this.appliedFillStyle="",this.currentStrokeStyle="",this.appliedStrokeStyle="",this.currentLineWidth="",this.appliedLineWidth="",this.currentLineCap="",this.appliedLineCap="",this.currentLineJoin="",this.appliedLineJoin="",this.appliedMiterLimit="",this.currentMiterLimit=""}CVContextData.prototype.duplicate=function(){var a=this._length*2,i=0;for(i=this._length;i<a;i+=1)this.stack[i]=new CanvasContext;this._length=a},CVContextData.prototype.reset=function(){this.cArrPos=0,this.cTr.reset(),this.stack[this.cArrPos].opacity=1},CVContextData.prototype.restore=function(a){this.cArrPos-=1;var i=this.stack[this.cArrPos],e=i.transform,o,r=this.cTr.props;for(o=0;o<16;o+=1)r[o]=e[o];if(a){this.nativeContext.restore();var n=this.stack[this.cArrPos+1];this.appliedFillStyle=n.fillStyle,this.appliedStrokeStyle=n.strokeStyle,this.appliedLineWidth=n.lineWidth,this.appliedLineCap=n.lineCap,this.appliedLineJoin=n.lineJoin,this.appliedMiterLimit=n.miterLimit}if(this.nativeContext.setTransform(e[0],e[1],e[4],e[5],e[12],e[13]),a||i.opacity!==-1&&this.currentOpacity!==i.opacity)this.nativeContext.globalAlpha=i.opacity,this.currentOpacity=i.opacity;this.currentFillStyle=i.fillStyle,this.currentStrokeStyle=i.strokeStyle,this.currentLineWidth=i.lineWidth,this.currentLineCap=i.lineCap,this.currentLineJoin=i.lineJoin,this.currentMiterLimit=i.miterLimit},CVContextData.prototype.save=function(a){if(a)this.nativeContext.save();var i=this.cTr.props;if(this._length<=this.cArrPos)this.duplicate();var e=this.stack[this.cArrPos],o;for(o=0;o<16;o+=1)e.transform[o]=i[o];this.cArrPos+=1;var r=this.stack[this.cArrPos];r.opacity=e.opacity,r.fillStyle=e.fillStyle,r.strokeStyle=e.strokeStyle,r.lineWidth=e.lineWidth,r.lineCap=e.lineCap,r.lineJoin=e.lineJoin,r.miterLimit=e.miterLimit},CVContextData.prototype.setOpacity=function(a){this.stack[this.cArrPos].opacity=a},CVContextData.prototype.setContext=function(a){this.nativeContext=a},CVContextData.prototype.fillStyle=function(a){if(this.stack[this.cArrPos].fillStyle!==a)this.currentFillStyle=a,this.stack[this.cArrPos].fillStyle=a},CVContextData.prototype.strokeStyle=function(a){if(this.stack[this.cArrPos].strokeStyle!==a)this.currentStrokeStyle=a,this.stack[this.cArrPos].strokeStyle=a},CVContextData.prototype.lineWidth=function(a){if(this.stack[this.cArrPos].lineWidth!==a)this.currentLineWidth=a,this.stack[this.cArrPos].lineWidth=a},CVContextData.prototype.lineCap=function(a){if(this.stack[this.cArrPos].lineCap!==a)this.currentLineCap=a,this.stack[this.cArrPos].lineCap=a},CVContextData.prototype.lineJoin=function(a){if(this.stack[this.cArrPos].lineJoin!==a)this.currentLineJoin=a,this.stack[this.cArrPos].lineJoin=a},CVContextData.prototype.miterLimit=function(a){if(this.stack[this.cArrPos].miterLimit!==a)this.currentMiterLimit=a,this.stack[this.cArrPos].miterLimit=a},CVContextData.prototype.transform=function(a){this.transformMat.cloneFromProps(a);var i=this.cTr;this.transformMat.multiply(i),i.cloneFromProps(this.transformMat.props);var e=i.props;this.nativeContext.setTransform(e[0],e[1],e[4],e[5],e[12],e[13])},CVContextData.prototype.opacity=function(a){var i=this.stack[this.cArrPos].opacity;if(i*=a<0?0:a,this.stack[this.cArrPos].opacity!==i){if(this.currentOpacity!==a)this.nativeContext.globalAlpha=a,this.currentOpacity=a;this.stack[this.cArrPos].opacity=i}},CVContextData.prototype.fill=function(a){if(this.appliedFillStyle!==this.currentFillStyle)this.appliedFillStyle=this.currentFillStyle,this.nativeContext.fillStyle=this.appliedFillStyle;this.nativeContext.fill(a)},CVContextData.prototype.fillRect=function(a,i,e,o){if(this.appliedFillStyle!==this.currentFillStyle)this.appliedFillStyle=this.currentFillStyle,this.nativeContext.fillStyle=this.appliedFillStyle;this.nativeContext.fillRect(a,i,e,o)},CVContextData.prototype.stroke=function(){if(this.appliedStrokeStyle!==this.currentStrokeStyle)this.appliedStrokeStyle=this.currentStrokeStyle,this.nativeContext.strokeStyle=this.appliedStrokeStyle;if(this.appliedLineWidth!==this.currentLineWidth)this.appliedLineWidth=this.currentLineWidth,this.nativeContext.lineWidth=this.appliedLineWidth;if(this.appliedLineCap!==this.currentLineCap)this.appliedLineCap=this.currentLineCap,this.nativeContext.lineCap=this.appliedLineCap;if(this.appliedLineJoin!==this.currentLineJoin)this.appliedLineJoin=this.currentLineJoin,this.nativeContext.lineJoin=this.appliedLineJoin;if(this.appliedMiterLimit!==this.currentMiterLimit)this.appliedMiterLimit=this.currentMiterLimit,this.nativeContext.miterLimit=this.appliedMiterLimit;this.nativeContext.stroke()};function CVCompElement(a,i,e){this.completeLayers=!1,this.layers=a.layers,this.pendingElements=[],this.elements=createSizedArray(this.layers.length),this.initElement(a,i,e),this.tm=a.tm?PropertyFactory.getProp(this,a.tm,0,i.frameRate,this):{_placeholder:!0}}extendPrototype([CanvasRendererBase,ICompElement,CVBaseElement],CVCompElement),CVCompElement.prototype.renderInnerContent=function(){var a=this.canvasContext;a.beginPath(),a.moveTo(0,0),a.lineTo(this.data.w,0),a.lineTo(this.data.w,this.data.h),a.lineTo(0,this.data.h),a.lineTo(0,0),a.clip();var i,e=this.layers.length;for(i=e-1;i>=0;i-=1)if(this.completeLayers||this.elements[i])this.elements[i].renderFrame()},CVCompElement.prototype.destroy=function(){var a,i=this.layers.length;for(a=i-1;a>=0;a-=1)if(this.elements[a])this.elements[a].destroy();this.layers=null,this.elements=null},CVCompElement.prototype.createComp=function(a){return new CVCompElement(a,this.globalData,this)};function CanvasRenderer(a,i){if(this.animationItem=a,this.renderConfig={clearCanvas:i&&i.clearCanvas!==void 0?i.clearCanvas:!0,context:i&&i.context||null,progressiveLoad:i&&i.progressiveLoad||!1,preserveAspectRatio:i&&i.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:i&&i.imagePreserveAspectRatio||"xMidYMid slice",contentVisibility:i&&i.contentVisibility||"visible",className:i&&i.className||"",id:i&&i.id||"",runExpressions:!i||i.runExpressions===void 0||i.runExpressions},this.renderConfig.dpr=i&&i.dpr||1,this.animationItem.wrapper)this.renderConfig.dpr=i&&i.dpr||window.devicePixelRatio||1;if(this.renderedFrame=-1,this.globalData={frameNum:-1,_mdf:!1,renderConfig:this.renderConfig,currentGlobalAlpha:-1},this.contextData=new CVContextData,this.elements=[],this.pendingElements=[],this.transformMat=new Matrix,this.completeLayers=!1,this.rendererType="canvas",this.renderConfig.clearCanvas)this.ctxTransform=this.contextData.transform.bind(this.contextData),this.ctxOpacity=this.contextData.opacity.bind(this.contextData),this.ctxFillStyle=this.contextData.fillStyle.bind(this.contextData),this.ctxStrokeStyle=this.contextData.strokeStyle.bind(this.contextData),this.ctxLineWidth=this.contextData.lineWidth.bind(this.contextData),this.ctxLineCap=this.contextData.lineCap.bind(this.contextData),this.ctxLineJoin=this.contextData.lineJoin.bind(this.contextData),this.ctxMiterLimit=this.contextData.miterLimit.bind(this.contextData),this.ctxFill=this.contextData.fill.bind(this.contextData),this.ctxFillRect=this.contextData.fillRect.bind(this.contextData),this.ctxStroke=this.contextData.stroke.bind(this.contextData),this.save=this.contextData.save.bind(this.contextData)}extendPrototype([CanvasRendererBase],CanvasRenderer),CanvasRenderer.prototype.createComp=function(a){return new CVCompElement(a,this.globalData,this)};function HBaseElement(){}HBaseElement.prototype={checkBlendMode:function a(){},initRendererElement:function a(){if(this.baseElement=createTag(this.data.tg||"div"),this.data.hasMask)this.svgElement=createNS("svg"),this.layerElement=createNS("g"),this.maskedElement=this.layerElement,this.svgElement.appendChild(this.layerElement),this.baseElement.appendChild(this.svgElement);else this.layerElement=this.baseElement;styleDiv(this.baseElement)},createContainerElements:function a(){if(this.renderableEffectsManager=new CVEffects(this),this.transformedElement=this.baseElement,this.maskedElement=this.layerElement,this.data.ln)this.layerElement.setAttribute("id",this.data.ln);if(this.data.cl)this.layerElement.setAttribute("class",this.data.cl);if(this.data.bm!==0)this.setBlendMode()},renderElement:function a(){var i=this.transformedElement?this.transformedElement.style:{};if(this.finalTransform._matMdf){var e=this.finalTransform.mat.toCSS();i.transform=e,i.webkitTransform=e}if(this.finalTransform._opMdf)i.opacity=this.finalTransform.mProp.o.v},renderFrame:function a(){if(this.data.hd||this.hidden)return;if(this.renderTransform(),this.renderRenderable(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame)this._isFirstFrame=!1},destroy:function a(){if(this.layerElement=null,this.transformedElement=null,this.matteElement)this.matteElement=null;if(this.maskManager)this.maskManager.destroy(),this.maskManager=null},createRenderableComponents:function a(){this.maskManager=new MaskElement(this.data,this,this.globalData)},addEffects:function a(){},setMatte:function a(){}},HBaseElement.prototype.getBaseElement=SVGBaseElement.prototype.getBaseElement,HBaseElement.prototype.destroyBaseElement=HBaseElement.prototype.destroy,HBaseElement.prototype.buildElementParenting=BaseRenderer.prototype.buildElementParenting;function HSolidElement(a,i,e){this.initElement(a,i,e)}extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],HSolidElement),HSolidElement.prototype.createContent=function(){var a;if(this.data.hasMask)a=createNS("rect"),a.setAttribute("width",this.data.sw),a.setAttribute("height",this.data.sh),a.setAttribute("fill",this.data.sc),this.svgElement.setAttribute("width",this.data.sw),this.svgElement.setAttribute("height",this.data.sh);else a=createTag("div"),a.style.width=this.data.sw+"px",a.style.height=this.data.sh+"px",a.style.backgroundColor=this.data.sc;this.layerElement.appendChild(a)};function HShapeElement(a,i,e){this.shapes=[],this.shapesData=a.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.shapesContainer=createNS("g"),this.initElement(a,i,e),this.prevViewData=[],this.currentBBox={x:999999,y:-999999,h:0,w:0}}extendPrototype([BaseElement,TransformElement,HSolidElement,SVGShapeElement,HBaseElement,HierarchyElement,FrameElement,RenderableElement],HShapeElement),HShapeElement.prototype._renderShapeFrame=HShapeElement.prototype.renderInnerContent,HShapeElement.prototype.createContent=function(){var a;if(this.baseElement.style.fontSize=0,this.data.hasMask)this.layerElement.appendChild(this.shapesContainer),a=this.svgElement;else{a=createNS("svg");var i=this.comp.data?this.comp.data:this.globalData.compSize;a.setAttribute("width",i.w),a.setAttribute("height",i.h),a.appendChild(this.shapesContainer),this.layerElement.appendChild(a)}this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.shapesContainer,0,[],!0),this.filterUniqueShapes(),this.shapeCont=a},HShapeElement.prototype.getTransformedPoint=function(a,i){var e,o=a.length;for(e=0;e<o;e+=1)i=a[e].mProps.v.applyToPointArray(i[0],i[1],0);return i},HShapeElement.prototype.calculateShapeBoundingBox=function(a,i){var e=a.sh.v,o=a.transformers,r,n=e._length,t,s,l,u;if(n<=1)return;for(r=0;r<n-1;r+=1)t=this.getTransformedPoint(o,e.v[r]),s=this.getTransformedPoint(o,e.o[r]),l=this.getTransformedPoint(o,e.i[r+1]),u=this.getTransformedPoint(o,e.v[r+1]),this.checkBounds(t,s,l,u,i);if(e.c)t=this.getTransformedPoint(o,e.v[r]),s=this.getTransformedPoint(o,e.o[r]),l=this.getTransformedPoint(o,e.i[0]),u=this.getTransformedPoint(o,e.v[0]),this.checkBounds(t,s,l,u,i)},HShapeElement.prototype.checkBounds=function(a,i,e,o,r){this.getBoundsOfCurve(a,i,e,o);var n=this.shapeBoundingBox;r.x=bmMin(n.left,r.x),r.xMax=bmMax(n.right,r.xMax),r.y=bmMin(n.top,r.y),r.yMax=bmMax(n.bottom,r.yMax)},HShapeElement.prototype.shapeBoundingBox={left:0,right:0,top:0,bottom:0},HShapeElement.prototype.tempBoundingBox={x:0,xMax:0,y:0,yMax:0,width:0,height:0},HShapeElement.prototype.getBoundsOfCurve=function(a,i,e,o){var r=[[a[0],o[0]],[a[1],o[1]]];for(var n,t,s,l,u,h,f,c=0;c<2;++c)if(t=6*a[c]-12*i[c]+6*e[c],n=-3*a[c]+9*i[c]-9*e[c]+3*o[c],s=3*i[c]-3*a[c],t|=0,n|=0,s|=0,n===0&&t===0);else if(n===0){if(l=-s/t,l>0&&l<1)r[c].push(this.calculateF(l,a,i,e,o,c))}else if(u=t*t-4*s*n,u>=0){if(h=(-t+bmSqrt(u))/(2*n),h>0&&h<1)r[c].push(this.calculateF(h,a,i,e,o,c));if(f=(-t-bmSqrt(u))/(2*n),f>0&&f<1)r[c].push(this.calculateF(f,a,i,e,o,c))}this.shapeBoundingBox.left=bmMin.apply(null,r[0]),this.shapeBoundingBox.top=bmMin.apply(null,r[1]),this.shapeBoundingBox.right=bmMax.apply(null,r[0]),this.shapeBoundingBox.bottom=bmMax.apply(null,r[1])},HShapeElement.prototype.calculateF=function(a,i,e,o,r,n){return bmPow(1-a,3)*i[n]+3*bmPow(1-a,2)*a*e[n]+3*(1-a)*bmPow(a,2)*o[n]+bmPow(a,3)*r[n]},HShapeElement.prototype.calculateBoundingBox=function(a,i){var e,o=a.length;for(e=0;e<o;e+=1)if(a[e]&&a[e].sh)this.calculateShapeBoundingBox(a[e],i);else if(a[e]&&a[e].it)this.calculateBoundingBox(a[e].it,i);else if(a[e]&&a[e].style&&a[e].w)this.expandStrokeBoundingBox(a[e].w,i)},HShapeElement.prototype.expandStrokeBoundingBox=function(a,i){var e=0;if(a.keyframes){for(var o=0;o<a.keyframes.length;o+=1){var r=a.keyframes[o].s;if(r>e)e=r}e*=a.mult}else e=a.v*a.mult;i.x-=e,i.xMax+=e,i.y-=e,i.yMax+=e},HShapeElement.prototype.currentBoxContains=function(a){return this.currentBBox.x<=a.x&&this.currentBBox.y<=a.y&&this.currentBBox.width+this.currentBBox.x>=a.x+a.width&&this.currentBBox.height+this.currentBBox.y>=a.y+a.height},HShapeElement.prototype.renderInnerContent=function(){if(this._renderShapeFrame(),!this.hidden&&(this._isFirstFrame||this._mdf)){var a=this.tempBoundingBox,i=999999;if(a.x=i,a.xMax=-i,a.y=i,a.yMax=-i,this.calculateBoundingBox(this.itemsData,a),a.width=a.xMax<a.x?0:a.xMax-a.x,a.height=a.yMax<a.y?0:a.yMax-a.y,this.currentBoxContains(a))return;var e=!1;if(this.currentBBox.w!==a.width)this.currentBBox.w=a.width,this.shapeCont.setAttribute("width",a.width),e=!0;if(this.currentBBox.h!==a.height)this.currentBBox.h=a.height,this.shapeCont.setAttribute("height",a.height),e=!0;if(e||this.currentBBox.x!==a.x||this.currentBBox.y!==a.y){this.currentBBox.w=a.width,this.currentBBox.h=a.height,this.currentBBox.x=a.x,this.currentBBox.y=a.y,this.shapeCont.setAttribute("viewBox",this.currentBBox.x+" "+this.currentBBox.y+" "+this.currentBBox.w+" "+this.currentBBox.h);var o=this.shapeCont.style,r="translate("+this.currentBBox.x+"px,"+this.currentBBox.y+"px)";o.transform=r,o.webkitTransform=r}}};function HTextElement(a,i,e){this.textSpans=[],this.textPaths=[],this.currentBBox={x:999999,y:-999999,h:0,w:0},this.renderType="svg",this.isMasked=!1,this.initElement(a,i,e)}extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement],HTextElement),HTextElement.prototype.createContent=function(){if(this.isMasked=this.checkMasks(),this.isMasked){this.renderType="svg",this.compW=this.comp.data.w,this.compH=this.comp.data.h,this.svgElement.setAttribute("width",this.compW),this.svgElement.setAttribute("height",this.compH);var a=createNS("g");this.maskedElement.appendChild(a),this.innerElem=a}else this.renderType="html",this.innerElem=this.layerElement;this.checkParenting()},HTextElement.prototype.buildNewText=function(){var a=this.textProperty.currentData;this.renderedLetters=createSizedArray(a.l?a.l.length:0);var i=this.innerElem.style,e=a.fc?this.buildColor(a.fc):"rgba(0,0,0,0)";if(i.fill=e,i.color=e,a.sc)i.stroke=this.buildColor(a.sc),i.strokeWidth=a.sw+"px";var o=this.globalData.fontManager.getFontByName(a.f);if(!this.globalData.fontManager.chars)if(i.fontSize=a.finalSize+"px",i.lineHeight=a.finalSize+"px",o.fClass)this.innerElem.className=o.fClass;else{i.fontFamily=o.fFamily;var{fWeight:r,fStyle:n}=a;i.fontStyle=n,i.fontWeight=r}var t,s,l=a.l;s=l.length;var u,h,f,c=this.mHelper,y,g="",b=0;for(t=0;t<s;t+=1){if(this.globalData.fontManager.chars){if(!this.textPaths[b])u=createNS("path"),u.setAttribute("stroke-linecap",lineCapEnum[1]),u.setAttribute("stroke-linejoin",lineJoinEnum[2]),u.setAttribute("stroke-miterlimit","4");else u=this.textPaths[b];if(!this.isMasked)if(this.textSpans[b])h=this.textSpans[b],f=h.children[0];else h=createTag("div"),h.style.lineHeight=0,f=createNS("svg"),f.appendChild(u),styleDiv(h)}else if(!this.isMasked)if(this.textSpans[b])h=this.textSpans[b],u=this.textPaths[b];else h=createTag("span"),styleDiv(h),u=createTag("span"),styleDiv(u),h.appendChild(u);else u=this.textPaths[b]?this.textPaths[b]:createNS("text");if(this.globalData.fontManager.chars){var I=this.globalData.fontManager.getCharData(a.finalText[t],o.fStyle,this.globalData.fontManager.getFontByName(a.f).fFamily),m;if(I)m=I.data;else m=null;if(c.reset(),m&&m.shapes&&m.shapes.length)y=m.shapes[0].it,c.scale(a.finalSize/100,a.finalSize/100),g=this.createPathShape(c,y),u.setAttribute("d",g);if(!this.isMasked){if(this.innerElem.appendChild(h),m&&m.shapes){document.body.appendChild(f);var v=f.getBBox();f.setAttribute("width",v.width+2),f.setAttribute("height",v.height+2),f.setAttribute("viewBox",v.x-1+" "+(v.y-1)+" "+(v.width+2)+" "+(v.height+2));var p=f.style,k="translate("+(v.x-1)+"px,"+(v.y-1)+"px)";p.transform=k,p.webkitTransform=k,l[t].yOffset=v.y-1}else f.setAttribute("width",1),f.setAttribute("height",1);h.appendChild(f)}else this.innerElem.appendChild(u)}else if(u.textContent=l[t].val,u.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),!this.isMasked){this.innerElem.appendChild(h);var S=u.style,F="translate3d(0,"+-a.finalSize/1.2+"px,0)";S.transform=F,S.webkitTransform=F}else this.innerElem.appendChild(u);if(!this.isMasked)this.textSpans[b]=h;else this.textSpans[b]=u;this.textSpans[b].style.display="block",this.textPaths[b]=u,b+=1}while(b<this.textSpans.length)this.textSpans[b].style.display="none",b+=1},HTextElement.prototype.renderInnerContent=function(){this.validateText();var a;if(this.data.singleShape){if(!this._isFirstFrame&&!this.lettersChangedFlag)return;if(this.isMasked&&this.finalTransform._matMdf){this.svgElement.setAttribute("viewBox",-this.finalTransform.mProp.p.v[0]+" "+-this.finalTransform.mProp.p.v[1]+" "+this.compW+" "+this.compH),a=this.svgElement.style;var i="translate("+-this.finalTransform.mProp.p.v[0]+"px,"+-this.finalTransform.mProp.p.v[1]+"px)";a.transform=i,a.webkitTransform=i}}if(this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag),!this.lettersChangedFlag&&!this.textAnimator.lettersChangedFlag)return;var e,o,r=0,n=this.textAnimator.renderedLetters,t=this.textProperty.currentData.l;o=t.length;var s,l,u;for(e=0;e<o;e+=1)if(t[e].n)r+=1;else{if(l=this.textSpans[e],u=this.textPaths[e],s=n[r],r+=1,s._mdf.m)if(!this.isMasked)l.style.webkitTransform=s.m,l.style.transform=s.m;else l.setAttribute("transform",s.m);if(l.style.opacity=s.o,s.sw&&s._mdf.sw)u.setAttribute("stroke-width",s.sw);if(s.sc&&s._mdf.sc)u.setAttribute("stroke",s.sc);if(s.fc&&s._mdf.fc)u.setAttribute("fill",s.fc),u.style.color=s.fc}if(this.innerElem.getBBox&&!this.hidden&&(this._isFirstFrame||this._mdf)){var h=this.innerElem.getBBox();if(this.currentBBox.w!==h.width)this.currentBBox.w=h.width,this.svgElement.setAttribute("width",h.width);if(this.currentBBox.h!==h.height)this.currentBBox.h=h.height,this.svgElement.setAttribute("height",h.height);var f=1;if(this.currentBBox.w!==h.width+f*2||this.currentBBox.h!==h.height+f*2||this.currentBBox.x!==h.x-f||this.currentBBox.y!==h.y-f){this.currentBBox.w=h.width+f*2,this.currentBBox.h=h.height+f*2,this.currentBBox.x=h.x-f,this.currentBBox.y=h.y-f,this.svgElement.setAttribute("viewBox",this.currentBBox.x+" "+this.currentBBox.y+" "+this.currentBBox.w+" "+this.currentBBox.h),a=this.svgElement.style;var c="translate("+this.currentBBox.x+"px,"+this.currentBBox.y+"px)";a.transform=c,a.webkitTransform=c}}};function HCameraElement(a,i,e){this.initFrame(),this.initBaseData(a,i,e),this.initHierarchy();var o=PropertyFactory.getProp;if(this.pe=o(this,a.pe,0,0,this),a.ks.p.s)this.px=o(this,a.ks.p.x,1,0,this),this.py=o(this,a.ks.p.y,1,0,this),this.pz=o(this,a.ks.p.z,1,0,this);else this.p=o(this,a.ks.p,1,0,this);if(a.ks.a)this.a=o(this,a.ks.a,1,0,this);if(a.ks.or.k.length&&a.ks.or.k[0].to){var r,n=a.ks.or.k.length;for(r=0;r<n;r+=1)a.ks.or.k[r].to=null,a.ks.or.k[r].ti=null}this.or=o(this,a.ks.or,1,degToRads,this),this.or.sh=!0,this.rx=o(this,a.ks.rx,0,degToRads,this),this.ry=o(this,a.ks.ry,0,degToRads,this),this.rz=o(this,a.ks.rz,0,degToRads,this),this.mat=new Matrix,this._prevMat=new Matrix,this._isFirstFrame=!0,this.finalTransform={mProp:this}}extendPrototype([BaseElement,FrameElement,HierarchyElement],HCameraElement),HCameraElement.prototype.setup=function(){var a,i=this.comp.threeDElements.length,e,o,r;for(a=0;a<i;a+=1)if(e=this.comp.threeDElements[a],e.type==="3d"){o=e.perspectiveElem.style,r=e.container.style;var n=this.pe.v+"px",t="0px 0px 0px",s="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";o.perspective=n,o.webkitPerspective=n,r.transformOrigin=t,r.mozTransformOrigin=t,r.webkitTransformOrigin=t,o.transform=s,o.webkitTransform=s}},HCameraElement.prototype.createElements=function(){},HCameraElement.prototype.hide=function(){},HCameraElement.prototype.renderFrame=function(){var a=this._isFirstFrame,i,e;if(this.hierarchy){e=this.hierarchy.length;for(i=0;i<e;i+=1)a=this.hierarchy[i].finalTransform.mProp._mdf||a}if(a||this.pe._mdf||this.p&&this.p._mdf||this.px&&(this.px._mdf||this.py._mdf||this.pz._mdf)||this.rx._mdf||this.ry._mdf||this.rz._mdf||this.or._mdf||this.a&&this.a._mdf){if(this.mat.reset(),this.hierarchy){e=this.hierarchy.length-1;for(i=e;i>=0;i-=1){var o=this.hierarchy[i].finalTransform.mProp;this.mat.translate(-o.p.v[0],-o.p.v[1],o.p.v[2]),this.mat.rotateX(-o.or.v[0]).rotateY(-o.or.v[1]).rotateZ(o.or.v[2]),this.mat.rotateX(-o.rx.v).rotateY(-o.ry.v).rotateZ(o.rz.v),this.mat.scale(1/o.s.v[0],1/o.s.v[1],1/o.s.v[2]),this.mat.translate(o.a.v[0],o.a.v[1],o.a.v[2])}}if(this.p)this.mat.translate(-this.p.v[0],-this.p.v[1],this.p.v[2]);else this.mat.translate(-this.px.v,-this.py.v,this.pz.v);if(this.a){var r;if(this.p)r=[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]];else r=[this.px.v-this.a.v[0],this.py.v-this.a.v[1],this.pz.v-this.a.v[2]];var n=Math.sqrt(Math.pow(r[0],2)+Math.pow(r[1],2)+Math.pow(r[2],2)),t=[r[0]/n,r[1]/n,r[2]/n],s=Math.sqrt(t[2]*t[2]+t[0]*t[0]),l=Math.atan2(t[1],s),u=Math.atan2(t[0],-t[2]);this.mat.rotateY(u).rotateX(-l)}this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v),this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]),this.mat.translate(this.globalData.compSize.w/2,this.globalData.compSize.h/2,0),this.mat.translate(0,0,this.pe.v);var h=!this._prevMat.equals(this.mat);if((h||this.pe._mdf)&&this.comp.threeDElements){e=this.comp.threeDElements.length;var f,c,y;for(i=0;i<e;i+=1)if(f=this.comp.threeDElements[i],f.type==="3d"){if(h){var g=this.mat.toCSS();y=f.container.style,y.transform=g,y.webkitTransform=g}if(this.pe._mdf)c=f.perspectiveElem.style,c.perspective=this.pe.v+"px",c.webkitPerspective=this.pe.v+"px"}this.mat.clone(this._prevMat)}}this._isFirstFrame=!1},HCameraElement.prototype.prepareFrame=function(a){this.prepareProperties(a,!0)},HCameraElement.prototype.destroy=function(){},HCameraElement.prototype.getBaseElement=function(){return null};function HImageElement(a,i,e){this.assetData=i.getAssetData(a.refId),this.initElement(a,i,e)}extendPrototype([BaseElement,TransformElement,HBaseElement,HSolidElement,HierarchyElement,FrameElement,RenderableElement],HImageElement),HImageElement.prototype.createContent=function(){var a=this.globalData.getAssetsPath(this.assetData),i=new Image;if(this.data.hasMask)this.imageElem=createNS("image"),this.imageElem.setAttribute("width",this.assetData.w+"px"),this.imageElem.setAttribute("height",this.assetData.h+"px"),this.imageElem.setAttributeNS("http://www.w3.org/1999/xlink","href",a),this.layerElement.appendChild(this.imageElem),this.baseElement.setAttribute("width",this.assetData.w),this.baseElement.setAttribute("height",this.assetData.h);else this.layerElement.appendChild(i);if(i.crossOrigin="anonymous",i.src=a,this.data.ln)this.baseElement.setAttribute("id",this.data.ln)};function HybridRendererBase(a,i){this.animationItem=a,this.layers=null,this.renderedFrame=-1,this.renderConfig={className:i&&i.className||"",imagePreserveAspectRatio:i&&i.imagePreserveAspectRatio||"xMidYMid slice",hideOnTransparent:!(i&&i.hideOnTransparent===!1),filterSize:{width:i&&i.filterSize&&i.filterSize.width||"400%",height:i&&i.filterSize&&i.filterSize.height||"400%",x:i&&i.filterSize&&i.filterSize.x||"-100%",y:i&&i.filterSize&&i.filterSize.y||"-100%"}},this.globalData={_mdf:!1,frameNum:-1,renderConfig:this.renderConfig},this.pendingElements=[],this.elements=[],this.threeDElements=[],this.destroyed=!1,this.camera=null,this.supports3d=!0,this.rendererType="html"}extendPrototype([BaseRenderer],HybridRendererBase),HybridRendererBase.prototype.buildItem=SVGRenderer.prototype.buildItem,HybridRendererBase.prototype.checkPendingElements=function(){while(this.pendingElements.length){var a=this.pendingElements.pop();a.checkParenting()}},HybridRendererBase.prototype.appendElementInPos=function(a,i){var e=a.getBaseElement();if(!e)return;var o=this.layers[i];if(!o.ddd||!this.supports3d)if(this.threeDElements)this.addTo3dContainer(e,i);else{var r=0,n,t,s;while(r<i){if(this.elements[r]&&this.elements[r]!==!0&&this.elements[r].getBaseElement)t=this.elements[r],s=this.layers[r].ddd?this.getThreeDContainerByPos(r):t.getBaseElement(),n=s||n;r+=1}if(n){if(!o.ddd||!this.supports3d)this.layerElement.insertBefore(e,n)}else if(!o.ddd||!this.supports3d)this.layerElement.appendChild(e)}else this.addTo3dContainer(e,i)},HybridRendererBase.prototype.createShape=function(a){if(!this.supports3d)return new SVGShapeElement(a,this.globalData,this);return new HShapeElement(a,this.globalData,this)},HybridRendererBase.prototype.createText=function(a){if(!this.supports3d)return new SVGTextLottieElement(a,this.globalData,this);return new HTextElement(a,this.globalData,this)},HybridRendererBase.prototype.createCamera=function(a){return this.camera=new HCameraElement(a,this.globalData,this),this.camera},HybridRendererBase.prototype.createImage=function(a){if(!this.supports3d)return new IImageElement(a,this.globalData,this);return new HImageElement(a,this.globalData,this)},HybridRendererBase.prototype.createSolid=function(a){if(!this.supports3d)return new ISolidElement(a,this.globalData,this);return new HSolidElement(a,this.globalData,this)},HybridRendererBase.prototype.createNull=SVGRenderer.prototype.createNull,HybridRendererBase.prototype.getThreeDContainerByPos=function(a){var i=0,e=this.threeDElements.length;while(i<e){if(this.threeDElements[i].startPos<=a&&this.threeDElements[i].endPos>=a)return this.threeDElements[i].perspectiveElem;i+=1}return null},HybridRendererBase.prototype.createThreeDContainer=function(a,i){var e=createTag("div"),o,r;styleDiv(e);var n=createTag("div");if(styleDiv(n),i==="3d"){o=e.style,o.width=this.globalData.compSize.w+"px",o.height=this.globalData.compSize.h+"px";var t="50% 50%";o.webkitTransformOrigin=t,o.mozTransformOrigin=t,o.transformOrigin=t,r=n.style;var s="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";r.transform=s,r.webkitTransform=s}e.appendChild(n);var l={container:n,perspectiveElem:e,startPos:a,endPos:a,type:i};return this.threeDElements.push(l),l},HybridRendererBase.prototype.build3dContainers=function(){var a,i=this.layers.length,e,o="";for(a=0;a<i;a+=1)if(this.layers[a].ddd&&this.layers[a].ty!==3){if(o!=="3d")o="3d",e=this.createThreeDContainer(a,"3d");e.endPos=Math.max(e.endPos,a)}else{if(o!=="2d")o="2d",e=this.createThreeDContainer(a,"2d");e.endPos=Math.max(e.endPos,a)}i=this.threeDElements.length;for(a=i-1;a>=0;a-=1)this.resizerElem.appendChild(this.threeDElements[a].perspectiveElem)},HybridRendererBase.prototype.addTo3dContainer=function(a,i){var e=0,o=this.threeDElements.length;while(e<o){if(i<=this.threeDElements[e].endPos){var r=this.threeDElements[e].startPos,n;while(r<i){if(this.elements[r]&&this.elements[r].getBaseElement)n=this.elements[r].getBaseElement();r+=1}if(n)this.threeDElements[e].container.insertBefore(a,n);else this.threeDElements[e].container.appendChild(a);break}e+=1}},HybridRendererBase.prototype.configAnimation=function(a){var i=createTag("div"),e=this.animationItem.wrapper,o=i.style;if(o.width=a.w+"px",o.height=a.h+"px",this.resizerElem=i,styleDiv(i),o.transformStyle="flat",o.mozTransformStyle="flat",o.webkitTransformStyle="flat",this.renderConfig.className)i.setAttribute("class",this.renderConfig.className);e.appendChild(i),o.overflow="hidden";var r=createNS("svg");r.setAttribute("width","1"),r.setAttribute("height","1"),styleDiv(r),this.resizerElem.appendChild(r);var n=createNS("defs");r.appendChild(n),this.data=a,this.setupGlobalData(a,r),this.globalData.defs=n,this.layers=a.layers,this.layerElement=this.resizerElem,this.build3dContainers(),this.updateContainerSize()},HybridRendererBase.prototype.destroy=function(){if(this.animationItem.wrapper)this.animationItem.wrapper.innerText="";this.animationItem.container=null,this.globalData.defs=null;var a,i=this.layers?this.layers.length:0;for(a=0;a<i;a+=1)if(this.elements[a]&&this.elements[a].destroy)this.elements[a].destroy();this.elements.length=0,this.destroyed=!0,this.animationItem=null},HybridRendererBase.prototype.updateContainerSize=function(){var a=this.animationItem.wrapper.offsetWidth,i=this.animationItem.wrapper.offsetHeight,e=a/i,o=this.globalData.compSize.w/this.globalData.compSize.h,r,n,t,s;if(o>e)r=a/this.globalData.compSize.w,n=a/this.globalData.compSize.w,t=0,s=(i-this.globalData.compSize.h*(a/this.globalData.compSize.w))/2;else r=i/this.globalData.compSize.h,n=i/this.globalData.compSize.h,t=(a-this.globalData.compSize.w*(i/this.globalData.compSize.h))/2,s=0;var l=this.resizerElem.style;l.webkitTransform="matrix3d("+r+",0,0,0,0,"+n+",0,0,0,0,1,0,"+t+","+s+",0,1)",l.transform=l.webkitTransform},HybridRendererBase.prototype.renderFrame=SVGRenderer.prototype.renderFrame,HybridRendererBase.prototype.hide=function(){this.resizerElem.style.display="none"},HybridRendererBase.prototype.show=function(){this.resizerElem.style.display="block"},HybridRendererBase.prototype.initItems=function(){if(this.buildAllItems(),this.camera)this.camera.setup();else{var a=this.globalData.compSize.w,i=this.globalData.compSize.h,e,o=this.threeDElements.length;for(e=0;e<o;e+=1){var r=this.threeDElements[e].perspectiveElem.style;r.webkitPerspective=Math.sqrt(Math.pow(a,2)+Math.pow(i,2))+"px",r.perspective=r.webkitPerspective}}},HybridRendererBase.prototype.searchExtraCompositions=function(a){var i,e=a.length,o=createTag("div");for(i=0;i<e;i+=1)if(a[i].xt){var r=this.createComp(a[i],o,this.globalData.comp,null);r.initExpressions(),this.globalData.projectInterface.registerComposition(r)}};function HCompElement(a,i,e){this.layers=a.layers,this.supports3d=!a.hasMask,this.completeLayers=!1,this.pendingElements=[],this.elements=this.layers?createSizedArray(this.layers.length):[],this.initElement(a,i,e),this.tm=a.tm?PropertyFactory.getProp(this,a.tm,0,i.frameRate,this):{_placeholder:!0}}extendPrototype([HybridRendererBase,ICompElement,HBaseElement],HCompElement),HCompElement.prototype._createBaseContainerElements=HCompElement.prototype.createContainerElements,HCompElement.prototype.createContainerElements=function(){if(this._createBaseContainerElements(),this.data.hasMask)this.svgElement.setAttribute("width",this.data.w),this.svgElement.setAttribute("height",this.data.h),this.transformedElement=this.baseElement;else this.transformedElement=this.layerElement},HCompElement.prototype.addTo3dContainer=function(a,i){var e=0,o;while(e<i){if(this.elements[e]&&this.elements[e].getBaseElement)o=this.elements[e].getBaseElement();e+=1}if(o)this.layerElement.insertBefore(a,o);else this.layerElement.appendChild(a)},HCompElement.prototype.createComp=function(a){if(!this.supports3d)return new SVGCompElement(a,this.globalData,this);return new HCompElement(a,this.globalData,this)};function HybridRenderer(a,i){this.animationItem=a,this.layers=null,this.renderedFrame=-1,this.renderConfig={className:i&&i.className||"",imagePreserveAspectRatio:i&&i.imagePreserveAspectRatio||"xMidYMid slice",hideOnTransparent:!(i&&i.hideOnTransparent===!1),filterSize:{width:i&&i.filterSize&&i.filterSize.width||"400%",height:i&&i.filterSize&&i.filterSize.height||"400%",x:i&&i.filterSize&&i.filterSize.x||"-100%",y:i&&i.filterSize&&i.filterSize.y||"-100%"},runExpressions:!i||i.runExpressions===void 0||i.runExpressions},this.globalData={_mdf:!1,frameNum:-1,renderConfig:this.renderConfig},this.pendingElements=[],this.elements=[],this.threeDElements=[],this.destroyed=!1,this.camera=null,this.supports3d=!0,this.rendererType="html"}extendPrototype([HybridRendererBase],HybridRenderer),HybridRenderer.prototype.createComp=function(a){if(!this.supports3d)return new SVGCompElement(a,this.globalData,this);return new HCompElement(a,this.globalData,this)};var CompExpressionInterface=function(){return function(a){function i(e){var o=0,r=a.layers.length;while(o<r){if(a.layers[o].nm===e||a.layers[o].ind===e)return a.elements[o].layerInterface;o+=1}return null}return Object.defineProperty(i,"_name",{value:a.data.nm}),i.layer=i,i.pixelAspect=1,i.height=a.data.h||a.globalData.compSize.h,i.width=a.data.w||a.globalData.compSize.w,i.pixelAspect=1,i.frameDuration=1/a.globalData.frameRate,i.displayStartTime=0,i.numLayers=a.layers.length,i}}();function _typeof$2(a){return _typeof$2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(i){return typeof i}:function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},_typeof$2(a)}function seedRandom(a,i){var e=this,o=256,r=6,n=52,t="random",s=i.pow(o,r),l=i.pow(2,n),u=l*2,h=o-1,f;function c(p,k,S){var F=[];k=k===!0?{entropy:!0}:k||{};var K=I(b(k.entropy?[p,v(a)]:p===null?m():p,3),F),R=new y(F),L=function M(){var X=R.g(r),_=s,U=0;while(X<l)X=(X+U)*o,_*=o,U=R.g(1);while(X>=u)X/=2,_/=2,U>>>=1;return(X+U)/_};return L.int32=function(){return R.g(4)|0},L.quick=function(){return R.g(4)/4294967296},L.double=L,I(v(R.S),a),(k.pass||S||function(M,X,_,U){if(U){if(U.S)g(U,R);M.state=function(){return g(R,{})}}if(_)return i[t]=M,X;else return M})(L,K,"global"in k?k.global:this==i,k.state)}i["seed"+t]=c;function y(p){var k,S=p.length,F=this,K=0,R=F.i=F.j=0,L=F.S=[];if(!S)p=[S++];while(K<o)L[K]=K++;for(K=0;K<o;K++)L[K]=L[R=h&R+p[K%S]+(k=L[K])],L[R]=k;F.g=function(M){var X,_=0,U=F.i,G=F.j,O=F.S;while(M--)X=O[U=h&U+1],_=_*o+O[h&(O[U]=O[G=h&G+X])+(O[G]=X)];return F.i=U,F.j=G,_}}function g(p,k){return k.i=p.i,k.j=p.j,k.S=p.S.slice(),k}function b(p,k){var S=[],F=_typeof$2(p),K;if(k&&F=="object")for(K in p)try{S.push(b(p[K],k-1))}catch(R){}return S.length?S:F=="string"?p:p+"\x00"}function I(p,k){var S=p+"",F,K=0;while(K<S.length)k[h&K]=h&(F^=k[h&K]*19)+S.charCodeAt(K++);return v(k)}function m(){try{if(f)return v(f.randomBytes(o));var p=new Uint8Array(o);return(e.crypto||e.msCrypto).getRandomValues(p),v(p)}catch(F){var k=e.navigator,S=k&&k.plugins;return[+new Date,e,S,e.screen,v(a)]}}function v(p){return String.fromCharCode.apply(0,p)}I(i.random(),a)}function initialize$2(a){seedRandom([],a)}var propTypes={SHAPE:"shape"};function _typeof$1(a){return _typeof$1=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(i){return typeof i}:function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},_typeof$1(a)}var ExpressionManager=function(){var ob={},Math=BMMath,window=null,document=null,XMLHttpRequest=null,fetch=null,frames=null,_lottieGlobal={};initialize$2(BMMath);function resetFrame(){_lottieGlobal={}}function $bm_isInstanceOfArray(a){return a.constructor===Array||a.constructor===Float32Array}function isNumerable(a,i){return a==="number"||i instanceof Number||a==="boolean"||a==="string"}function $bm_neg(a){var i=_typeof$1(a);if(i==="number"||a instanceof Number||i==="boolean")return-a;if($bm_isInstanceOfArray(a)){var e,o=a.length,r=[];for(e=0;e<o;e+=1)r[e]=-a[e];return r}if(a.propType)return a.v;return-a}var easeInBez=BezierFactory.getBezierEasing(0.333,0,0.833,0.833,"easeIn").get,easeOutBez=BezierFactory.getBezierEasing(0.167,0.167,0.667,1,"easeOut").get,easeInOutBez=BezierFactory.getBezierEasing(0.33,0,0.667,1,"easeInOut").get;function sum(a,i){var e=_typeof$1(a),o=_typeof$1(i);if(isNumerable(e,a)&&isNumerable(o,i)||e==="string"||o==="string")return a+i;if($bm_isInstanceOfArray(a)&&isNumerable(o,i))return a=a.slice(0),a[0]+=i,a;if(isNumerable(e,a)&&$bm_isInstanceOfArray(i))return i=i.slice(0),i[0]=a+i[0],i;if($bm_isInstanceOfArray(a)&&$bm_isInstanceOfArray(i)){var r=0,n=a.length,t=i.length,s=[];while(r<n||r<t){if((typeof a[r]==="number"||a[r]instanceof Number)&&(typeof i[r]==="number"||i[r]instanceof Number))s[r]=a[r]+i[r];else s[r]=i[r]===void 0?a[r]:a[r]||i[r];r+=1}return s}return 0}var add=sum;function sub(a,i){var e=_typeof$1(a),o=_typeof$1(i);if(isNumerable(e,a)&&isNumerable(o,i)){if(e==="string")a=parseInt(a,10);if(o==="string")i=parseInt(i,10);return a-i}if($bm_isInstanceOfArray(a)&&isNumerable(o,i))return a=a.slice(0),a[0]-=i,a;if(isNumerable(e,a)&&$bm_isInstanceOfArray(i))return i=i.slice(0),i[0]=a-i[0],i;if($bm_isInstanceOfArray(a)&&$bm_isInstanceOfArray(i)){var r=0,n=a.length,t=i.length,s=[];while(r<n||r<t){if((typeof a[r]==="number"||a[r]instanceof Number)&&(typeof i[r]==="number"||i[r]instanceof Number))s[r]=a[r]-i[r];else s[r]=i[r]===void 0?a[r]:a[r]||i[r];r+=1}return s}return 0}function mul(a,i){var e=_typeof$1(a),o=_typeof$1(i),r;if(isNumerable(e,a)&&isNumerable(o,i))return a*i;var n,t;if($bm_isInstanceOfArray(a)&&isNumerable(o,i)){t=a.length,r=createTypedArray("float32",t);for(n=0;n<t;n+=1)r[n]=a[n]*i;return r}if(isNumerable(e,a)&&$bm_isInstanceOfArray(i)){t=i.length,r=createTypedArray("float32",t);for(n=0;n<t;n+=1)r[n]=a*i[n];return r}return 0}function div(a,i){var e=_typeof$1(a),o=_typeof$1(i),r;if(isNumerable(e,a)&&isNumerable(o,i))return a/i;var n,t;if($bm_isInstanceOfArray(a)&&isNumerable(o,i)){t=a.length,r=createTypedArray("float32",t);for(n=0;n<t;n+=1)r[n]=a[n]/i;return r}if(isNumerable(e,a)&&$bm_isInstanceOfArray(i)){t=i.length,r=createTypedArray("float32",t);for(n=0;n<t;n+=1)r[n]=a/i[n];return r}return 0}function mod(a,i){if(typeof a==="string")a=parseInt(a,10);if(typeof i==="string")i=parseInt(i,10);return a%i}var $bm_sum=sum,$bm_sub=sub,$bm_mul=mul,$bm_div=div,$bm_mod=mod;function clamp(a,i,e){if(i>e){var o=e;e=i,i=o}return Math.min(Math.max(a,i),e)}function radiansToDegrees(a){return a/degToRads}var radians_to_degrees=radiansToDegrees;function degreesToRadians(a){return a*degToRads}var degrees_to_radians=radiansToDegrees,helperLengthArray=[0,0,0,0,0,0];function length(a,i){if(typeof a==="number"||a instanceof Number)return i=i||0,Math.abs(a-i);if(!i)i=helperLengthArray;var e,o=Math.min(a.length,i.length),r=0;for(e=0;e<o;e+=1)r+=Math.pow(i[e]-a[e],2);return Math.sqrt(r)}function normalize(a){return div(a,length(a))}function rgbToHsl(a){var i=a[0],e=a[1],o=a[2],r=Math.max(i,e,o),n=Math.min(i,e,o),t,s,l=(r+n)/2;if(r===n)t=0,s=0;else{var u=r-n;switch(s=l>0.5?u/(2-r-n):u/(r+n),r){case i:t=(e-o)/u+(e<o?6:0);break;case e:t=(o-i)/u+2;break;case o:t=(i-e)/u+4;break;default:break}t/=6}return[t,s,l,a[3]]}function hue2rgb(a,i,e){if(e<0)e+=1;if(e>1)e-=1;if(e<0.16666666666666666)return a+(i-a)*6*e;if(e<0.5)return i;if(e<0.6666666666666666)return a+(i-a)*(0.6666666666666666-e)*6;return a}function hslToRgb(a){var i=a[0],e=a[1],o=a[2],r,n,t;if(e===0)r=o,t=o,n=o;else{var s=o<0.5?o*(1+e):o+e-o*e,l=2*o-s;r=hue2rgb(l,s,i+0.3333333333333333),n=hue2rgb(l,s,i),t=hue2rgb(l,s,i-0.3333333333333333)}return[r,n,t,a[3]]}function linear(a,i,e,o,r){if(o===void 0||r===void 0)o=i,r=e,i=0,e=1;if(e<i){var n=e;e=i,i=n}if(a<=i)return o;if(a>=e)return r;var t=e===i?0:(a-i)/(e-i);if(!o.length)return o+(r-o)*t;var s,l=o.length,u=createTypedArray("float32",l);for(s=0;s<l;s+=1)u[s]=o[s]+(r[s]-o[s])*t;return u}function random(a,i){if(i===void 0)if(a===void 0)a=0,i=1;else i=a,a=void 0;if(i.length){var e,o=i.length;if(!a)a=createTypedArray("float32",o);var r=createTypedArray("float32",o),n=BMMath.random();for(e=0;e<o;e+=1)r[e]=a[e]+n*(i[e]-a[e]);return r}if(a===void 0)a=0;var t=BMMath.random();return a+t*(i-a)}function createPath(a,i,e,o){var r,n=a.length,t=shapePool.newElement();t.setPathData(!!o,n);var s=[0,0],l,u;for(r=0;r<n;r+=1)l=i&&i[r]?i[r]:s,u=e&&e[r]?e[r]:s,t.setTripleAt(a[r][0],a[r][1],u[0]+a[r][0],u[1]+a[r][1],l[0]+a[r][0],l[1]+a[r][1],r,!0);return t}function initiateExpression(elem,data,property){function noOp(a){return a}if(!elem.globalData.renderConfig.runExpressions)return noOp;var val=data.x,needsVelocity=/velocity(?![\w\d])/.test(val),_needsRandom=val.indexOf("random")!==-1,elemType=elem.data.ty,transform,$bm_transform,content,effect,thisProperty=property;thisProperty._name=elem.data.nm,thisProperty.valueAtTime=thisProperty.getValueAtTime,Object.defineProperty(thisProperty,"value",{get:function a(){return thisProperty.v}}),elem.comp.frameDuration=1/elem.comp.globalData.frameRate,elem.comp.displayStartTime=0;var inPoint=elem.data.ip/elem.comp.globalData.frameRate,outPoint=elem.data.op/elem.comp.globalData.frameRate,width=elem.data.sw?elem.data.sw:0,height=elem.data.sh?elem.data.sh:0,name=elem.data.nm,loopIn,loop_in,loopOut,loop_out,smooth,toWorld,fromWorld,fromComp,toComp,fromCompToSurface,position,rotation,anchorPoint,scale,thisLayer,thisComp,mask,valueAtTime,velocityAtTime,scoped_bm_rt,expression_function=eval("[function _expression_function(){"+val+";scoped_bm_rt=$bm_rt}]")[0],numKeys=property.kf?data.k.length:0,active=!this.data||this.data.hd!==!0,wiggle=function a(i,e){var o,r,n=this.pv.length?this.pv.length:1,t=createTypedArray("float32",n);i=5;var s=Math.floor(time*i);o=0,r=0;while(o<s){for(r=0;r<n;r+=1)t[r]+=-e+e*2*BMMath.random();o+=1}var l=time*i,u=l-Math.floor(l),h=createTypedArray("float32",n);if(n>1){for(r=0;r<n;r+=1)h[r]=this.pv[r]+t[r]+(-e+e*2*BMMath.random())*u;return h}return this.pv+t[0]+(-e+e*2*BMMath.random())*u}.bind(this);if(thisProperty.loopIn)loopIn=thisProperty.loopIn.bind(thisProperty),loop_in=loopIn;if(thisProperty.loopOut)loopOut=thisProperty.loopOut.bind(thisProperty),loop_out=loopOut;if(thisProperty.smooth)smooth=thisProperty.smooth.bind(thisProperty);function loopInDuration(a,i){return loopIn(a,i,!0)}function loopOutDuration(a,i){return loopOut(a,i,!0)}if(this.getValueAtTime)valueAtTime=this.getValueAtTime.bind(this);if(this.getVelocityAtTime)velocityAtTime=this.getVelocityAtTime.bind(this);var comp=elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);function lookAt(a,i){var e=[i[0]-a[0],i[1]-a[1],i[2]-a[2]],o=Math.atan2(e[0],Math.sqrt(e[1]*e[1]+e[2]*e[2]))/degToRads,r=-Math.atan2(e[1],e[2])/degToRads;return[r,o,0]}function easeOut(a,i,e,o,r){return applyEase(easeOutBez,a,i,e,o,r)}function easeIn(a,i,e,o,r){return applyEase(easeInBez,a,i,e,o,r)}function ease(a,i,e,o,r){return applyEase(easeInOutBez,a,i,e,o,r)}function applyEase(a,i,e,o,r,n){if(r===void 0)r=e,n=o;else i=(i-e)/(o-e);if(i>1)i=1;else if(i<0)i=0;var t=a(i);if($bm_isInstanceOfArray(r)){var s,l=r.length,u=createTypedArray("float32",l);for(s=0;s<l;s+=1)u[s]=(n[s]-r[s])*t+r[s];return u}return(n-r)*t+r}function nearestKey(a){var i,e=data.k.length,o,r;if(!data.k.length||typeof data.k[0]==="number")o=0,r=0;else if(o=-1,a*=elem.comp.globalData.frameRate,a<data.k[0].t)o=1,r=data.k[0].t;else{for(i=0;i<e-1;i+=1)if(a===data.k[i].t){o=i+1,r=data.k[i].t;break}else if(a>data.k[i].t&&a<data.k[i+1].t){if(a-data.k[i].t>data.k[i+1].t-a)o=i+2,r=data.k[i+1].t;else o=i+1,r=data.k[i].t;break}if(o===-1)o=i+1,r=data.k[i].t}var n={};return n.index=o,n.time=r/elem.comp.globalData.frameRate,n}function key(a){var i,e,o;if(!data.k.length||typeof data.k[0]==="number")throw new Error("The property has no keyframe at index "+a);a-=1,i={time:data.k[a].t/elem.comp.globalData.frameRate,value:[]};var r=Object.prototype.hasOwnProperty.call(data.k[a],"s")?data.k[a].s:data.k[a-1].e;o=r.length;for(e=0;e<o;e+=1)i[e]=r[e],i.value[e]=r[e];return i}function framesToTime(a,i){if(!i)i=elem.comp.globalData.frameRate;return a/i}function timeToFrames(a,i){if(!a&&a!==0)a=time;if(!i)i=elem.comp.globalData.frameRate;return a*i}function seedRandom(a){BMMath.seedrandom(randSeed+a)}function sourceRectAtTime(){return elem.sourceRectAtTime()}function substring(a,i){if(typeof value==="string"){if(i===void 0)return value.substring(a);return value.substring(a,i)}return""}function substr(a,i){if(typeof value==="string"){if(i===void 0)return value.substr(a);return value.substr(a,i)}return""}function posterizeTime(a){time=a===0?0:Math.floor(time*a)/a,value=valueAtTime(time)}var time,velocity,value,text,textIndex,textTotal,selectorValue,index=elem.data.ind,hasParent=!!(elem.hierarchy&&elem.hierarchy.length),parent,randSeed=Math.floor(Math.random()*1e6),globalData=elem.globalData;function executeExpression(a){if(value=a,this.frameExpressionId===elem.globalData.frameId&&this.propType!=="textSelector")return value;if(this.propType==="textSelector")textIndex=this.textIndex,textTotal=this.textTotal,selectorValue=this.selectorValue;if(!thisLayer)text=elem.layerInterface.text,thisLayer=elem.layerInterface,thisComp=elem.comp.compInterface,toWorld=thisLayer.toWorld.bind(thisLayer),fromWorld=thisLayer.fromWorld.bind(thisLayer),fromComp=thisLayer.fromComp.bind(thisLayer),toComp=thisLayer.toComp.bind(thisLayer),mask=thisLayer.mask?thisLayer.mask.bind(thisLayer):null,fromCompToSurface=fromComp;if(!transform){if(transform=elem.layerInterface("ADBE Transform Group"),$bm_transform=transform,transform)anchorPoint=transform.anchorPoint}if(elemType===4&&!content)content=thisLayer("ADBE Root Vectors Group");if(!effect)effect=thisLayer(4);if(hasParent=!!(elem.hierarchy&&elem.hierarchy.length),hasParent&&!parent)parent=elem.hierarchy[0].layerInterface;if(time=this.comp.renderedFrame/this.comp.globalData.frameRate,_needsRandom)seedRandom(randSeed+time);if(needsVelocity)velocity=velocityAtTime(time);return expression_function(),this.frameExpressionId=elem.globalData.frameId,scoped_bm_rt=scoped_bm_rt.propType===propTypes.SHAPE?scoped_bm_rt.v:scoped_bm_rt,scoped_bm_rt}return executeExpression.__preventDeadCodeRemoval=[$bm_transform,anchorPoint,time,velocity,inPoint,outPoint,width,height,name,loop_in,loop_out,smooth,toComp,fromCompToSurface,toWorld,fromWorld,mask,position,rotation,scale,thisComp,numKeys,active,wiggle,loopInDuration,loopOutDuration,comp,lookAt,easeOut,easeIn,ease,nearestKey,key,text,textIndex,textTotal,selectorValue,framesToTime,timeToFrames,sourceRectAtTime,substring,substr,posterizeTime,index,globalData],executeExpression}return ob.initiateExpression=initiateExpression,ob.__preventDeadCodeRemoval=[window,document,XMLHttpRequest,fetch,frames,$bm_neg,add,$bm_sum,$bm_sub,$bm_mul,$bm_div,$bm_mod,clamp,radians_to_degrees,degreesToRadians,degrees_to_radians,normalize,rgbToHsl,hslToRgb,linear,random,createPath,_lottieGlobal],ob.resetFrame=resetFrame,ob}(),Expressions=function(){var a={};a.initExpressions=i,a.resetFrame=ExpressionManager.resetFrame;function i(e){var o=0,r=[];function n(){o+=1}function t(){if(o-=1,o===0)l()}function s(u){if(r.indexOf(u)===-1)r.push(u)}function l(){var u,h=r.length;for(u=0;u<h;u+=1)r[u].release();r.length=0}e.renderer.compInterface=CompExpressionInterface(e.renderer),e.renderer.globalData.projectInterface.registerComposition(e.renderer),e.renderer.globalData.pushExpression=n,e.renderer.globalData.popExpression=t,e.renderer.globalData.registerExpressionProperty=s}return a}(),MaskManagerInterface=function(){function a(e,o){this._mask=e,this._data=o}Object.defineProperty(a.prototype,"maskPath",{get:function e(){if(this._mask.prop.k)this._mask.prop.getValue();return this._mask.prop}}),Object.defineProperty(a.prototype,"maskOpacity",{get:function e(){if(this._mask.op.k)this._mask.op.getValue();return this._mask.op.v*100}});var i=function e(o){var r=createSizedArray(o.viewData.length),n,t=o.viewData.length;for(n=0;n<t;n+=1)r[n]=new a(o.viewData[n],o.masksProperties[n]);var s=function l(u){n=0;while(n<t){if(o.masksProperties[n].nm===u)return r[n];n+=1}return null};return s};return i}(),ExpressionPropertyInterface=function(){var a={pv:0,v:0,mult:1},i={pv:[0,0,0],v:[0,0,0],mult:1};function e(t,s,l){Object.defineProperty(t,"velocity",{get:function u(){return s.getVelocityAtTime(s.comp.currentFrame)}}),t.numKeys=s.keyframes?s.keyframes.length:0,t.key=function(u){if(!t.numKeys)return 0;var h="";if("s"in s.keyframes[u-1])h=s.keyframes[u-1].s;else if("e"in s.keyframes[u-2])h=s.keyframes[u-2].e;else h=s.keyframes[u-2].s;var f=l==="unidimensional"?new Number(h):Object.assign({},h);return f.time=s.keyframes[u-1].t/s.elem.comp.globalData.frameRate,f.value=l==="unidimensional"?h[0]:h,f},t.valueAtTime=s.getValueAtTime,t.speedAtTime=s.getSpeedAtTime,t.velocityAtTime=s.getVelocityAtTime,t.propertyGroup=s.propertyGroup}function o(t){if(!t||!("pv"in t))t=a;var s=1/t.mult,l=t.pv*s,u=new Number(l);return u.value=l,e(u,t,"unidimensional"),function(){if(t.k)t.getValue();if(l=t.v*s,u.value!==l)u=new Number(l),u.value=l,u[0]=l,e(u,t,"unidimensional");return u}}function r(t){if(!t||!("pv"in t))t=i;var s=1/t.mult,l=t.data&&t.data.l||t.pv.length,u=createTypedArray("float32",l),h=createTypedArray("float32",l);return u.value=h,e(u,t,"multidimensional"),function(){if(t.k)t.getValue();for(var f=0;f<l;f+=1)h[f]=t.v[f]*s,u[f]=h[f];return u}}function n(){return a}return function(t){if(!t)return n;if(t.propType==="unidimensional")return o(t);return r(t)}}(),TransformExpressionInterface=function(){return function(a){function i(t){switch(t){case"scale":case"Scale":case"ADBE Scale":case 6:return i.scale;case"rotation":case"Rotation":case"ADBE Rotation":case"ADBE Rotate Z":case 10:return i.rotation;case"ADBE Rotate X":return i.xRotation;case"ADBE Rotate Y":return i.yRotation;case"position":case"Position":case"ADBE Position":case 2:return i.position;case"ADBE Position_0":return i.xPosition;case"ADBE Position_1":return i.yPosition;case"ADBE Position_2":return i.zPosition;case"anchorPoint":case"AnchorPoint":case"Anchor Point":case"ADBE AnchorPoint":case 1:return i.anchorPoint;case"opacity":case"Opacity":case 11:return i.opacity;default:return null}}Object.defineProperty(i,"rotation",{get:ExpressionPropertyInterface(a.r||a.rz)}),Object.defineProperty(i,"zRotation",{get:ExpressionPropertyInterface(a.rz||a.r)}),Object.defineProperty(i,"xRotation",{get:ExpressionPropertyInterface(a.rx)}),Object.defineProperty(i,"yRotation",{get:ExpressionPropertyInterface(a.ry)}),Object.defineProperty(i,"scale",{get:ExpressionPropertyInterface(a.s)});var e,o,r,n;if(a.p)n=ExpressionPropertyInterface(a.p);else if(e=ExpressionPropertyInterface(a.px),o=ExpressionPropertyInterface(a.py),a.pz)r=ExpressionPropertyInterface(a.pz);return Object.defineProperty(i,"position",{get:function t(){if(a.p)return n();return[e(),o(),r?r():0]}}),Object.defineProperty(i,"xPosition",{get:ExpressionPropertyInterface(a.px)}),Object.defineProperty(i,"yPosition",{get:ExpressionPropertyInterface(a.py)}),Object.defineProperty(i,"zPosition",{get:ExpressionPropertyInterface(a.pz)}),Object.defineProperty(i,"anchorPoint",{get:ExpressionPropertyInterface(a.a)}),Object.defineProperty(i,"opacity",{get:ExpressionPropertyInterface(a.o)}),Object.defineProperty(i,"skew",{get:ExpressionPropertyInterface(a.sk)}),Object.defineProperty(i,"skewAxis",{get:ExpressionPropertyInterface(a.sa)}),Object.defineProperty(i,"orientation",{get:ExpressionPropertyInterface(a.or)}),i}}(),LayerExpressionInterface=function(){function a(u){var h=new Matrix;if(u!==void 0){var f=this._elem.finalTransform.mProp.getValueAtTime(u);f.clone(h)}else{var c=this._elem.finalTransform.mProp;c.applyToMatrix(h)}return h}function i(u,h){var f=this.getMatrix(h);return f.props[12]=0,f.props[13]=0,f.props[14]=0,this.applyPoint(f,u)}function e(u,h){var f=this.getMatrix(h);return this.applyPoint(f,u)}function o(u,h){var f=this.getMatrix(h);return f.props[12]=0,f.props[13]=0,f.props[14]=0,this.invertPoint(f,u)}function r(u,h){var f=this.getMatrix(h);return this.invertPoint(f,u)}function n(u,h){if(this._elem.hierarchy&&this._elem.hierarchy.length){var f,c=this._elem.hierarchy.length;for(f=0;f<c;f+=1)this._elem.hierarchy[f].finalTransform.mProp.applyToMatrix(u)}return u.applyToPointArray(h[0],h[1],h[2]||0)}function t(u,h){if(this._elem.hierarchy&&this._elem.hierarchy.length){var f,c=this._elem.hierarchy.length;for(f=0;f<c;f+=1)this._elem.hierarchy[f].finalTransform.mProp.applyToMatrix(u)}return u.inversePoint(h)}function s(u){var h=new Matrix;if(h.reset(),this._elem.finalTransform.mProp.applyToMatrix(h),this._elem.hierarchy&&this._elem.hierarchy.length){var f,c=this._elem.hierarchy.length;for(f=0;f<c;f+=1)this._elem.hierarchy[f].finalTransform.mProp.applyToMatrix(h);return h.inversePoint(u)}return h.inversePoint(u)}function l(){return[1,1,1,1]}return function(u){var h;function f(b){y.mask=new MaskManagerInterface(b,u)}function c(b){y.effect=b}function y(b){switch(b){case"ADBE Root Vectors Group":case"Contents":case 2:return y.shapeInterface;case 1:case 6:case"Transform":case"transform":case"ADBE Transform Group":return h;case 4:case"ADBE Effect Parade":case"effects":case"Effects":return y.effect;case"ADBE Text Properties":return y.textInterface;default:return null}}y.getMatrix=a,y.invertPoint=t,y.applyPoint=n,y.toWorld=e,y.toWorldVec=i,y.fromWorld=r,y.fromWorldVec=o,y.toComp=e,y.fromComp=s,y.sampleImage=l,y.sourceRectAtTime=u.sourceRectAtTime.bind(u),y._elem=u,h=TransformExpressionInterface(u.finalTransform.mProp);var g=getDescriptor(h,"anchorPoint");return Object.defineProperties(y,{hasParent:{get:function b(){return u.hierarchy.length}},parent:{get:function b(){return u.hierarchy[0].layerInterface}},rotation:getDescriptor(h,"rotation"),scale:getDescriptor(h,"scale"),position:getDescriptor(h,"position"),opacity:getDescriptor(h,"opacity"),anchorPoint:g,anchor_point:g,transform:{get:function b(){return h}},active:{get:function b(){return u.isInRange}}}),y.startTime=u.data.st,y.index=u.data.ind,y.source=u.data.refId,y.height=u.data.ty===0?u.data.h:100,y.width=u.data.ty===0?u.data.w:100,y.inPoint=u.data.ip/u.comp.globalData.frameRate,y.outPoint=u.data.op/u.comp.globalData.frameRate,y._name=u.data.nm,y.registerMaskInterface=f,y.registerEffectsInterface=c,y}}(),propertyGroupFactory=function(){return function(a,i){return function(e){if(e=e===void 0?1:e,e<=0)return a;return i(e-1)}}}(),PropertyInterface=function(){return function(a,i){var e={_name:a};function o(r){if(r=r===void 0?1:r,r<=0)return e;return i(r-1)}return o}}(),EffectsExpressionInterface=function(){var a={createEffectsInterface:i};function i(r,n){if(r.effectsManager){var t=[],s=r.data.ef,l,u=r.effectsManager.effectElements.length;for(l=0;l<u;l+=1)t.push(e(s[l],r.effectsManager.effectElements[l],n,r));var h=r.data.ef||[],f=function c(y){l=0,u=h.length;while(l<u){if(y===h[l].nm||y===h[l].mn||y===h[l].ix)return t[l];l+=1}return null};return Object.defineProperty(f,"numProperties",{get:function c(){return h.length}}),f}return null}function e(r,n,t,s){function l(y){var g=r.ef,b=0,I=g.length;while(b<I){if(y===g[b].nm||y===g[b].mn||y===g[b].ix){if(g[b].ty===5)return h[b];return h[b]()}b+=1}throw new Error}var u=propertyGroupFactory(l,t),h=[],f,c=r.ef.length;for(f=0;f<c;f+=1)if(r.ef[f].ty===5)h.push(e(r.ef[f],n.effectElements[f],n.effectElements[f].propertyGroup,s));else h.push(o(n.effectElements[f],r.ef[f].ty,s,u));if(r.mn==="ADBE Color Control")Object.defineProperty(l,"color",{get:function y(){return h[0]()}});return Object.defineProperties(l,{numProperties:{get:function y(){return r.np}},_name:{value:r.nm},propertyGroup:{value:u}}),l.enabled=r.en!==0,l.active=l.enabled,l}function o(r,n,t,s){var l=ExpressionPropertyInterface(r.p);function u(){if(n===10)return t.comp.compInterface(r.p.v);return l()}if(r.p.setGroupProperty)r.p.setGroupProperty(PropertyInterface("",s));return u}return a}(),ShapePathInterface=function(){return function a(i,e,o){var r=e.sh;function n(s){if(s==="Shape"||s==="shape"||s==="Path"||s==="path"||s==="ADBE Vector Shape"||s===2)return n.path;return null}var t=propertyGroupFactory(n,o);return r.setGroupProperty(PropertyInterface("Path",t)),Object.defineProperties(n,{path:{get:function s(){if(r.k)r.getValue();return r}},shape:{get:function s(){if(r.k)r.getValue();return r}},_name:{value:i.nm},ix:{value:i.ix},propertyIndex:{value:i.ix},mn:{value:i.mn},propertyGroup:{value:o}}),n}}(),ShapeExpressionInterface=function(){function a(g,b,I){var m=[],v,p=g?g.length:0;for(v=0;v<p;v+=1)if(g[v].ty==="gr")m.push(e(g[v],b[v],I));else if(g[v].ty==="fl")m.push(o(g[v],b[v],I));else if(g[v].ty==="st")m.push(t(g[v],b[v],I));else if(g[v].ty==="tm")m.push(s(g[v],b[v],I));else if(g[v].ty==="tr");else if(g[v].ty==="el")m.push(u(g[v],b[v],I));else if(g[v].ty==="sr")m.push(h(g[v],b[v],I));else if(g[v].ty==="sh")m.push(ShapePathInterface(g[v],b[v],I));else if(g[v].ty==="rc")m.push(f(g[v],b[v],I));else if(g[v].ty==="rd")m.push(c(g[v],b[v],I));else if(g[v].ty==="rp")m.push(y(g[v],b[v],I));else if(g[v].ty==="gf")m.push(r(g[v],b[v],I));else m.push(n(g[v],b[v],I));return m}function i(g,b,I){var m,v=function k(S){var F=0,K=m.length;while(F<K){if(m[F]._name===S||m[F].mn===S||m[F].propertyIndex===S||m[F].ix===S||m[F].ind===S)return m[F];F+=1}if(typeof S==="number")return m[S-1];return null};v.propertyGroup=propertyGroupFactory(v,I),m=a(g.it,b.it,v.propertyGroup),v.numProperties=m.length;var p=l(g.it[g.it.length-1],b.it[b.it.length-1],v.propertyGroup);return v.transform=p,v.propertyIndex=g.cix,v._name=g.nm,v}function e(g,b,I){var m=function k(S){switch(S){case"ADBE Vectors Group":case"Contents":case 2:return m.content;default:return m.transform}};m.propertyGroup=propertyGroupFactory(m,I);var v=i(g,b,m.propertyGroup),p=l(g.it[g.it.length-1],b.it[b.it.length-1],m.propertyGroup);return m.content=v,m.transform=p,Object.defineProperty(m,"_name",{get:function k(){return g.nm}}),m.numProperties=g.np,m.propertyIndex=g.ix,m.nm=g.nm,m.mn=g.mn,m}function o(g,b,I){function m(v){if(v==="Color"||v==="color")return m.color;if(v==="Opacity"||v==="opacity")return m.opacity;return null}return Object.defineProperties(m,{color:{get:ExpressionPropertyInterface(b.c)},opacity:{get:ExpressionPropertyInterface(b.o)},_name:{value:g.nm},mn:{value:g.mn}}),b.c.setGroupProperty(PropertyInterface("Color",I)),b.o.setGroupProperty(PropertyInterface("Opacity",I)),m}function r(g,b,I){function m(v){if(v==="Start Point"||v==="start point")return m.startPoint;if(v==="End Point"||v==="end point")return m.endPoint;if(v==="Opacity"||v==="opacity")return m.opacity;return null}return Object.defineProperties(m,{startPoint:{get:ExpressionPropertyInterface(b.s)},endPoint:{get:ExpressionPropertyInterface(b.e)},opacity:{get:ExpressionPropertyInterface(b.o)},type:{get:function v(){return"a"}},_name:{value:g.nm},mn:{value:g.mn}}),b.s.setGroupProperty(PropertyInterface("Start Point",I)),b.e.setGroupProperty(PropertyInterface("End Point",I)),b.o.setGroupProperty(PropertyInterface("Opacity",I)),m}function n(){function g(){return null}return g}function t(g,b,I){var m=propertyGroupFactory(K,I),v=propertyGroupFactory(F,m);function p(R){Object.defineProperty(F,g.d[R].nm,{get:ExpressionPropertyInterface(b.d.dataProps[R].p)})}var k,S=g.d?g.d.length:0,F={};for(k=0;k<S;k+=1)p(k),b.d.dataProps[k].p.setGroupProperty(v);function K(R){if(R==="Color"||R==="color")return K.color;if(R==="Opacity"||R==="opacity")return K.opacity;if(R==="Stroke Width"||R==="stroke width")return K.strokeWidth;return null}return Object.defineProperties(K,{color:{get:ExpressionPropertyInterface(b.c)},opacity:{get:ExpressionPropertyInterface(b.o)},strokeWidth:{get:ExpressionPropertyInterface(b.w)},dash:{get:function R(){return F}},_name:{value:g.nm},mn:{value:g.mn}}),b.c.setGroupProperty(PropertyInterface("Color",m)),b.o.setGroupProperty(PropertyInterface("Opacity",m)),b.w.setGroupProperty(PropertyInterface("Stroke Width",m)),K}function s(g,b,I){function m(p){if(p===g.e.ix||p==="End"||p==="end")return m.end;if(p===g.s.ix)return m.start;if(p===g.o.ix)return m.offset;return null}var v=propertyGroupFactory(m,I);return m.propertyIndex=g.ix,b.s.setGroupProperty(PropertyInterface("Start",v)),b.e.setGroupProperty(PropertyInterface("End",v)),b.o.setGroupProperty(PropertyInterface("Offset",v)),m.propertyIndex=g.ix,m.propertyGroup=I,Object.defineProperties(m,{start:{get:ExpressionPropertyInterface(b.s)},end:{get:ExpressionPropertyInterface(b.e)},offset:{get:ExpressionPropertyInterface(b.o)},_name:{value:g.nm}}),m.mn=g.mn,m}function l(g,b,I){function m(p){if(g.a.ix===p||p==="Anchor Point")return m.anchorPoint;if(g.o.ix===p||p==="Opacity")return m.opacity;if(g.p.ix===p||p==="Position")return m.position;if(g.r.ix===p||p==="Rotation"||p==="ADBE Vector Rotation")return m.rotation;if(g.s.ix===p||p==="Scale")return m.scale;if(g.sk&&g.sk.ix===p||p==="Skew")return m.skew;if(g.sa&&g.sa.ix===p||p==="Skew Axis")return m.skewAxis;return null}var v=propertyGroupFactory(m,I);if(b.transform.mProps.o.setGroupProperty(PropertyInterface("Opacity",v)),b.transform.mProps.p.setGroupProperty(PropertyInterface("Position",v)),b.transform.mProps.a.setGroupProperty(PropertyInterface("Anchor Point",v)),b.transform.mProps.s.setGroupProperty(PropertyInterface("Scale",v)),b.transform.mProps.r.setGroupProperty(PropertyInterface("Rotation",v)),b.transform.mProps.sk)b.transform.mProps.sk.setGroupProperty(PropertyInterface("Skew",v)),b.transform.mProps.sa.setGroupProperty(PropertyInterface("Skew Angle",v));return b.transform.op.setGroupProperty(PropertyInterface("Opacity",v)),Object.defineProperties(m,{opacity:{get:ExpressionPropertyInterface(b.transform.mProps.o)},position:{get:ExpressionPropertyInterface(b.transform.mProps.p)},anchorPoint:{get:ExpressionPropertyInterface(b.transform.mProps.a)},scale:{get:ExpressionPropertyInterface(b.transform.mProps.s)},rotation:{get:ExpressionPropertyInterface(b.transform.mProps.r)},skew:{get:ExpressionPropertyInterface(b.transform.mProps.sk)},skewAxis:{get:ExpressionPropertyInterface(b.transform.mProps.sa)},_name:{value:g.nm}}),m.ty="tr",m.mn=g.mn,m.propertyGroup=I,m}function u(g,b,I){function m(k){if(g.p.ix===k)return m.position;if(g.s.ix===k)return m.size;return null}var v=propertyGroupFactory(m,I);m.propertyIndex=g.ix;var p=b.sh.ty==="tm"?b.sh.prop:b.sh;return p.s.setGroupProperty(PropertyInterface("Size",v)),p.p.setGroupProperty(PropertyInterface("Position",v)),Object.defineProperties(m,{size:{get:ExpressionPropertyInterface(p.s)},position:{get:ExpressionPropertyInterface(p.p)},_name:{value:g.nm}}),m.mn=g.mn,m}function h(g,b,I){function m(k){if(g.p.ix===k)return m.position;if(g.r.ix===k)return m.rotation;if(g.pt.ix===k)return m.points;if(g.or.ix===k||k==="ADBE Vector Star Outer Radius")return m.outerRadius;if(g.os.ix===k)return m.outerRoundness;if(g.ir&&(g.ir.ix===k||k==="ADBE Vector Star Inner Radius"))return m.innerRadius;if(g.is&&g.is.ix===k)return m.innerRoundness;return null}var v=propertyGroupFactory(m,I),p=b.sh.ty==="tm"?b.sh.prop:b.sh;if(m.propertyIndex=g.ix,p.or.setGroupProperty(PropertyInterface("Outer Radius",v)),p.os.setGroupProperty(PropertyInterface("Outer Roundness",v)),p.pt.setGroupProperty(PropertyInterface("Points",v)),p.p.setGroupProperty(PropertyInterface("Position",v)),p.r.setGroupProperty(PropertyInterface("Rotation",v)),g.ir)p.ir.setGroupProperty(PropertyInterface("Inner Radius",v)),p.is.setGroupProperty(PropertyInterface("Inner Roundness",v));return Object.defineProperties(m,{position:{get:ExpressionPropertyInterface(p.p)},rotation:{get:ExpressionPropertyInterface(p.r)},points:{get:ExpressionPropertyInterface(p.pt)},outerRadius:{get:ExpressionPropertyInterface(p.or)},outerRoundness:{get:ExpressionPropertyInterface(p.os)},innerRadius:{get:ExpressionPropertyInterface(p.ir)},innerRoundness:{get:ExpressionPropertyInterface(p.is)},_name:{value:g.nm}}),m.mn=g.mn,m}function f(g,b,I){function m(k){if(g.p.ix===k)return m.position;if(g.r.ix===k)return m.roundness;if(g.s.ix===k||k==="Size"||k==="ADBE Vector Rect Size")return m.size;return null}var v=propertyGroupFactory(m,I),p=b.sh.ty==="tm"?b.sh.prop:b.sh;return m.propertyIndex=g.ix,p.p.setGroupProperty(PropertyInterface("Position",v)),p.s.setGroupProperty(PropertyInterface("Size",v)),p.r.setGroupProperty(PropertyInterface("Rotation",v)),Object.defineProperties(m,{position:{get:ExpressionPropertyInterface(p.p)},roundness:{get:ExpressionPropertyInterface(p.r)},size:{get:ExpressionPropertyInterface(p.s)},_name:{value:g.nm}}),m.mn=g.mn,m}function c(g,b,I){function m(k){if(g.r.ix===k||k==="Round Corners 1")return m.radius;return null}var v=propertyGroupFactory(m,I),p=b;return m.propertyIndex=g.ix,p.rd.setGroupProperty(PropertyInterface("Radius",v)),Object.defineProperties(m,{radius:{get:ExpressionPropertyInterface(p.rd)},_name:{value:g.nm}}),m.mn=g.mn,m}function y(g,b,I){function m(k){if(g.c.ix===k||k==="Copies")return m.copies;if(g.o.ix===k||k==="Offset")return m.offset;return null}var v=propertyGroupFactory(m,I),p=b;return m.propertyIndex=g.ix,p.c.setGroupProperty(PropertyInterface("Copies",v)),p.o.setGroupProperty(PropertyInterface("Offset",v)),Object.defineProperties(m,{copies:{get:ExpressionPropertyInterface(p.c)},offset:{get:ExpressionPropertyInterface(p.o)},_name:{value:g.nm}}),m.mn=g.mn,m}return function(g,b,I){var m;function v(k){if(typeof k==="number"){if(k=k===void 0?1:k,k===0)return I;return m[k-1]}var S=0,F=m.length;while(S<F){if(m[S]._name===k)return m[S];S+=1}return null}function p(){return I}return v.propertyGroup=propertyGroupFactory(v,p),m=a(g,b,v.propertyGroup),v.numProperties=m.length,v._name="Contents",v}}(),TextExpressionInterface=function(){return function(a){var i;function e(o){switch(o){case"ADBE Text Document":return e.sourceText;default:return null}}return Object.defineProperty(e,"sourceText",{get:function o(){a.textProperty.getValue();var r=a.textProperty.currentData.t;if(!i||r!==i.value)i=new String(r),i.value=r||new String(r),Object.defineProperty(i,"style",{get:function n(){return{fillColor:a.textProperty.currentData.fc}}});return i}}),e}}();function _typeof(a){return _typeof=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(i){return typeof i}:function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},_typeof(a)}var FootageInterface=function(){var a=function e(o){var r="",n=o.getFootageData();function t(){return r="",n=o.getFootageData(),s}function s(l){if(n[l]){if(r=l,n=n[l],_typeof(n)==="object")return s;return n}var u=l.indexOf(r);if(u!==-1){var h=parseInt(l.substr(u+r.length),10);if(n=n[h],_typeof(n)==="object")return s;return n}return""}return t},i=function e(o){function r(n){if(n==="Outline")return r.outlineInterface();return null}return r._name="Outline",r.outlineInterface=a(o),r};return function(e){function o(r){if(r==="Data")return o.dataInterface;return null}return o._name="Data",o.dataInterface=i(e),o}}(),interfaces={layer:LayerExpressionInterface,effects:EffectsExpressionInterface,comp:CompExpressionInterface,shape:ShapeExpressionInterface,text:TextExpressionInterface,footage:FootageInterface};function getInterface(a){return interfaces[a]||null}var expressionHelpers=function(){function a(t,s,l){if(s.x)l.k=!0,l.x=!0,l.initiateExpression=ExpressionManager.initiateExpression,l.effectsSequence.push(l.initiateExpression(t,s,l).bind(l))}function i(t){if(t*=this.elem.globalData.frameRate,t-=this.offsetTime,t!==this._cachingAtTime.lastFrame)this._cachingAtTime.lastIndex=this._cachingAtTime.lastFrame<t?this._cachingAtTime.lastIndex:0,this._cachingAtTime.value=this.interpolateValue(t,this._cachingAtTime),this._cachingAtTime.lastFrame=t;return this._cachingAtTime.value}function e(t){var s=-0.01,l=this.getValueAtTime(t),u=this.getValueAtTime(t+s),h=0;if(l.length){var f;for(f=0;f<l.length;f+=1)h+=Math.pow(u[f]-l[f],2);h=Math.sqrt(h)*100}else h=0;return h}function o(t){if(this.vel!==void 0)return this.vel;var s=-0.001,l=this.getValueAtTime(t),u=this.getValueAtTime(t+s),h;if(l.length){h=createTypedArray("float32",l.length);var f;for(f=0;f<l.length;f+=1)h[f]=(u[f]-l[f])/s}else h=(u-l)/s;return h}function r(){return this.pv}function n(t){this.propertyGroup=t}return{searchExpressions:a,getSpeedAtTime:e,getVelocityAtTime:o,getValueAtTime:i,getStaticValueAtTime:r,setGroupProperty:n}}();function addPropertyDecorator(){function a(c,y,g){if(!this.k||!this.keyframes)return this.pv;c=c?c.toLowerCase():"";var b=this.comp.renderedFrame,I=this.keyframes,m=I[I.length-1].t;if(b<=m)return this.pv;var v,p;if(!g){if(!y||y>I.length-1)y=I.length-1;p=I[I.length-1-y].t,v=m-p}else{if(!y)v=Math.max(0,m-this.elem.data.ip);else v=Math.abs(m-this.elem.comp.globalData.frameRate*y);p=m-v}var k,S,F;if(c==="pingpong"){var K=Math.floor((b-p)/v);if(K%2!==0)return this.getValueAtTime((v-(b-p)%v+p)/this.comp.globalData.frameRate,0)}else if(c==="offset"){var R=this.getValueAtTime(p/this.comp.globalData.frameRate,0),L=this.getValueAtTime(m/this.comp.globalData.frameRate,0),M=this.getValueAtTime(((b-p)%v+p)/this.comp.globalData.frameRate,0),X=Math.floor((b-p)/v);if(this.pv.length){F=new Array(R.length),S=F.length;for(k=0;k<S;k+=1)F[k]=(L[k]-R[k])*X+M[k];return F}return(L-R)*X+M}else if(c==="continue"){var _=this.getValueAtTime(m/this.comp.globalData.frameRate,0),U=this.getValueAtTime((m-0.001)/this.comp.globalData.frameRate,0);if(this.pv.length){F=new Array(_.length),S=F.length;for(k=0;k<S;k+=1)F[k]=_[k]+(_[k]-U[k])*((b-m)/this.comp.globalData.frameRate)/0.0005;return F}return _+(_-U)*((b-m)/0.001)}return this.getValueAtTime(((b-p)%v+p)/this.comp.globalData.frameRate,0)}function i(c,y,g){if(!this.k)return this.pv;c=c?c.toLowerCase():"";var b=this.comp.renderedFrame,I=this.keyframes,m=I[0].t;if(b>=m)return this.pv;var v,p;if(!g){if(!y||y>I.length-1)y=I.length-1;p=I[y].t,v=p-m}else{if(!y)v=Math.max(0,this.elem.data.op-m);else v=Math.abs(this.elem.comp.globalData.frameRate*y);p=m+v}var k,S,F;if(c==="pingpong"){var K=Math.floor((m-b)/v);if(K%2===0)return this.getValueAtTime(((m-b)%v+m)/this.comp.globalData.frameRate,0)}else if(c==="offset"){var R=this.getValueAtTime(m/this.comp.globalData.frameRate,0),L=this.getValueAtTime(p/this.comp.globalData.frameRate,0),M=this.getValueAtTime((v-(m-b)%v+m)/this.comp.globalData.frameRate,0),X=Math.floor((m-b)/v)+1;if(this.pv.length){F=new Array(R.length),S=F.length;for(k=0;k<S;k+=1)F[k]=M[k]-(L[k]-R[k])*X;return F}return M-(L-R)*X}else if(c==="continue"){var _=this.getValueAtTime(m/this.comp.globalData.frameRate,0),U=this.getValueAtTime((m+0.001)/this.comp.globalData.frameRate,0);if(this.pv.length){F=new Array(_.length),S=F.length;for(k=0;k<S;k+=1)F[k]=_[k]+(_[k]-U[k])*(m-b)/0.001;return F}return _+(_-U)*(m-b)/0.001}return this.getValueAtTime((v-((m-b)%v+m))/this.comp.globalData.frameRate,0)}function e(c,y){if(!this.k)return this.pv;if(c=(c||0.4)*0.5,y=Math.floor(y||5),y<=1)return this.pv;var g=this.comp.renderedFrame/this.comp.globalData.frameRate,b=g-c,I=g+c,m=y>1?(I-b)/(y-1):1,v=0,p=0,k;if(this.pv.length)k=createTypedArray("float32",this.pv.length);else k=0;var S;while(v<y){if(S=this.getValueAtTime(b+v*m),this.pv.length)for(p=0;p<this.pv.length;p+=1)k[p]+=S[p];else k+=S;v+=1}if(this.pv.length)for(p=0;p<this.pv.length;p+=1)k[p]/=y;else k/=y;return k}function o(c){if(!this._transformCachingAtTime)this._transformCachingAtTime={v:new Matrix};var y=this._transformCachingAtTime.v;if(y.cloneFromProps(this.pre.props),this.appliedTransformations<1){var g=this.a.getValueAtTime(c);y.translate(-g[0]*this.a.mult,-g[1]*this.a.mult,g[2]*this.a.mult)}if(this.appliedTransformations<2){var b=this.s.getValueAtTime(c);y.scale(b[0]*this.s.mult,b[1]*this.s.mult,b[2]*this.s.mult)}if(this.sk&&this.appliedTransformations<3){var I=this.sk.getValueAtTime(c),m=this.sa.getValueAtTime(c);y.skewFromAxis(-I*this.sk.mult,m*this.sa.mult)}if(this.r&&this.appliedTransformations<4){var v=this.r.getValueAtTime(c);y.rotate(-v*this.r.mult)}else if(!this.r&&this.appliedTransformations<4){var p=this.rz.getValueAtTime(c),k=this.ry.getValueAtTime(c),S=this.rx.getValueAtTime(c),F=this.or.getValueAtTime(c);y.rotateZ(-p*this.rz.mult).rotateY(k*this.ry.mult).rotateX(S*this.rx.mult).rotateZ(-F[2]*this.or.mult).rotateY(F[1]*this.or.mult).rotateX(F[0]*this.or.mult)}if(this.data.p&&this.data.p.s){var K=this.px.getValueAtTime(c),R=this.py.getValueAtTime(c);if(this.data.p.z){var L=this.pz.getValueAtTime(c);y.translate(K*this.px.mult,R*this.py.mult,-L*this.pz.mult)}else y.translate(K*this.px.mult,R*this.py.mult,0)}else{var M=this.p.getValueAtTime(c);y.translate(M[0]*this.p.mult,M[1]*this.p.mult,-M[2]*this.p.mult)}return y}function r(){return this.v.clone(new Matrix)}var n=TransformPropertyFactory.getTransformProperty;TransformPropertyFactory.getTransformProperty=function(c,y,g){var b=n(c,y,g);if(b.dynamicProperties.length)b.getValueAtTime=o.bind(b);else b.getValueAtTime=r.bind(b);return b.setGroupProperty=expressionHelpers.setGroupProperty,b};var t=PropertyFactory.getProp;PropertyFactory.getProp=function(c,y,g,b,I){var m=t(c,y,g,b,I);if(m.kf)m.getValueAtTime=expressionHelpers.getValueAtTime.bind(m);else m.getValueAtTime=expressionHelpers.getStaticValueAtTime.bind(m);m.setGroupProperty=expressionHelpers.setGroupProperty,m.loopOut=a,m.loopIn=i,m.smooth=e,m.getVelocityAtTime=expressionHelpers.getVelocityAtTime.bind(m),m.getSpeedAtTime=expressionHelpers.getSpeedAtTime.bind(m),m.numKeys=y.a===1?y.k.length:0,m.propertyIndex=y.ix;var v=0;if(g!==0)v=createTypedArray("float32",y.a===1?y.k[0].s.length:y.k.length);if(m._cachingAtTime={lastFrame:initialDefaultFrame,lastIndex:0,value:v},expressionHelpers.searchExpressions(c,y,m),m.k)I.addDynamicProperty(m);return m};function s(c){if(!this._cachingAtTime)this._cachingAtTime={shapeValue:shapePool.clone(this.pv),lastIndex:0,lastTime:initialDefaultFrame};if(c*=this.elem.globalData.frameRate,c-=this.offsetTime,c!==this._cachingAtTime.lastTime)this._cachingAtTime.lastIndex=this._cachingAtTime.lastTime<c?this._caching.lastIndex:0,this._cachingAtTime.lastTime=c,this.interpolateShape(c,this._cachingAtTime.shapeValue,this._cachingAtTime);return this._cachingAtTime.shapeValue}var l=ShapePropertyFactory.getConstructorFunction(),u=ShapePropertyFactory.getKeyframedConstructorFunction();function h(){}h.prototype={vertices:function c(y,g){if(this.k)this.getValue();var b=this.v;if(g!==void 0)b=this.getValueAtTime(g,0);var I,m=b._length,v=b[y],p=b.v,k=createSizedArray(m);for(I=0;I<m;I+=1)if(y==="i"||y==="o")k[I]=[v[I][0]-p[I][0],v[I][1]-p[I][1]];else k[I]=[v[I][0],v[I][1]];return k},points:function c(y){return this.vertices("v",y)},inTangents:function c(y){return this.vertices("i",y)},outTangents:function c(y){return this.vertices("o",y)},isClosed:function c(){return this.v.c},pointOnPath:function c(y,g){var b=this.v;if(g!==void 0)b=this.getValueAtTime(g,0);if(!this._segmentsLength)this._segmentsLength=bez.getSegmentsLength(b);var I=this._segmentsLength,m=I.lengths,v=I.totalLength*y,p=0,k=m.length,S=0,F;while(p<k){if(S+m[p].addedLength>v){var K=p,R=b.c&&p===k-1?0:p+1,L=(v-S)/m[p].addedLength;F=bez.getPointInSegment(b.v[K],b.v[R],b.o[K],b.i[R],L,m[p]);break}else S+=m[p].addedLength;p+=1}if(!F)F=b.c?[b.v[0][0],b.v[0][1]]:[b.v[b._length-1][0],b.v[b._length-1][1]];return F},vectorOnPath:function c(y,g,b){if(y==1)y=this.v.c;else if(y==0)y=0.999;var I=this.pointOnPath(y,g),m=this.pointOnPath(y+0.001,g),v=m[0]-I[0],p=m[1]-I[1],k=Math.sqrt(Math.pow(v,2)+Math.pow(p,2));if(k===0)return[0,0];var S=b==="tangent"?[v/k,p/k]:[-p/k,v/k];return S},tangentOnPath:function c(y,g){return this.vectorOnPath(y,g,"tangent")},normalOnPath:function c(y,g){return this.vectorOnPath(y,g,"normal")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([h],l),extendPrototype([h],u),u.prototype.getValueAtTime=s,u.prototype.initiateExpression=ExpressionManager.initiateExpression;var f=ShapePropertyFactory.getShapeProp;ShapePropertyFactory.getShapeProp=function(c,y,g,b,I){var m=f(c,y,g,b,I);if(m.propertyIndex=y.ix,m.lock=!1,g===3)expressionHelpers.searchExpressions(c,y.pt,m);else if(g===4)expressionHelpers.searchExpressions(c,y.ks,m);if(m.k)c.addDynamicProperty(m);return m}}function initialize$1(){addPropertyDecorator()}function addDecorator(){function a(){if(this.data.d.x)return this.calculateExpression=ExpressionManager.initiateExpression.bind(this)(this.elem,this.data.d,this),this.addEffect(this.getExpressionValue.bind(this)),!0;return null}TextProperty.prototype.getExpressionValue=function(i,e){var o=this.calculateExpression(e);if(i.t!==o){var r={};return this.copyData(r,i),r.t=o.toString(),r.__complete=!1,r}return i},TextProperty.prototype.searchProperty=function(){var i=this.searchKeyframes(),e=this.searchExpressions();return this.kf=i||e,this.kf},TextProperty.prototype.searchExpressions=a}function initialize(){addDecorator()}function SVGComposableEffect(){}SVGComposableEffect.prototype={createMergeNode:function a(i,e){var o=createNS("feMerge");o.setAttribute("result",i);var r,n;for(n=0;n<e.length;n+=1)r=createNS("feMergeNode"),r.setAttribute("in",e[n]),o.appendChild(r),o.appendChild(r);return o}};var linearFilterValue="0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0";function SVGTintFilter(a,i,e,o,r){this.filterManager=i;var n=createNS("feColorMatrix");n.setAttribute("type","matrix"),n.setAttribute("color-interpolation-filters","linearRGB"),n.setAttribute("values",linearFilterValue+" 1 0"),this.linearFilter=n,n.setAttribute("result",o+"_tint_1"),a.appendChild(n),n=createNS("feColorMatrix"),n.setAttribute("type","matrix"),n.setAttribute("color-interpolation-filters","sRGB"),n.setAttribute("values","1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"),n.setAttribute("result",o+"_tint_2"),a.appendChild(n),this.matrixFilter=n;var t=this.createMergeNode(o,[r,o+"_tint_1",o+"_tint_2"]);a.appendChild(t)}extendPrototype([SVGComposableEffect],SVGTintFilter),SVGTintFilter.prototype.renderFrame=function(a){if(a||this.filterManager._mdf){var i=this.filterManager.effectElements[0].p.v,e=this.filterManager.effectElements[1].p.v,o=this.filterManager.effectElements[2].p.v/100;this.linearFilter.setAttribute("values",linearFilterValue+" "+o+" 0"),this.matrixFilter.setAttribute("values",e[0]-i[0]+" 0 0 0 "+i[0]+" "+(e[1]-i[1])+" 0 0 0 "+i[1]+" "+(e[2]-i[2])+" 0 0 0 "+i[2]+" 0 0 0 1 0")}};function SVGFillFilter(a,i,e,o){this.filterManager=i;var r=createNS("feColorMatrix");r.setAttribute("type","matrix"),r.setAttribute("color-interpolation-filters","sRGB"),r.setAttribute("values","1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"),r.setAttribute("result",o),a.appendChild(r),this.matrixFilter=r}SVGFillFilter.prototype.renderFrame=function(a){if(a||this.filterManager._mdf){var i=this.filterManager.effectElements[2].p.v,e=this.filterManager.effectElements[6].p.v;this.matrixFilter.setAttribute("values","0 0 0 0 "+i[0]+" 0 0 0 0 "+i[1]+" 0 0 0 0 "+i[2]+" 0 0 0 "+e+" 0")}};function SVGStrokeEffect(a,i,e){this.initialized=!1,this.filterManager=i,this.elem=e,this.paths=[]}SVGStrokeEffect.prototype.initialize=function(){var a=this.elem.layerElement.children||this.elem.layerElement.childNodes,i,e,o,r;if(this.filterManager.effectElements[1].p.v===1)r=this.elem.maskManager.masksProperties.length,o=0;else o=this.filterManager.effectElements[0].p.v-1,r=o+1;e=createNS("g"),e.setAttribute("fill","none"),e.setAttribute("stroke-linecap","round"),e.setAttribute("stroke-dashoffset",1);for(o;o<r;o+=1)i=createNS("path"),e.appendChild(i),this.paths.push({p:i,m:o});if(this.filterManager.effectElements[10].p.v===3){var n=createNS("mask"),t=createElementID();n.setAttribute("id",t),n.setAttribute("mask-type","alpha"),n.appendChild(e),this.elem.globalData.defs.appendChild(n);var s=createNS("g");s.setAttribute("mask","url("+getLocationHref()+"#"+t+")");while(a[0])s.appendChild(a[0]);this.elem.layerElement.appendChild(s),this.masker=n,e.setAttribute("stroke","#fff")}else if(this.filterManager.effectElements[10].p.v===1||this.filterManager.effectElements[10].p.v===2){if(this.filterManager.effectElements[10].p.v===2){a=this.elem.layerElement.children||this.elem.layerElement.childNodes;while(a.length)this.elem.layerElement.removeChild(a[0])}this.elem.layerElement.appendChild(e),this.elem.layerElement.removeAttribute("mask"),e.setAttribute("stroke","#fff")}this.initialized=!0,this.pathMasker=e},SVGStrokeEffect.prototype.renderFrame=function(a){if(!this.initialized)this.initialize();var i,e=this.paths.length,o,r;for(i=0;i<e;i+=1)if(this.paths[i].m!==-1){if(o=this.elem.maskManager.viewData[this.paths[i].m],r=this.paths[i].p,a||this.filterManager._mdf||o.prop._mdf)r.setAttribute("d",o.lastPath);if(a||this.filterManager.effectElements[9].p._mdf||this.filterManager.effectElements[4].p._mdf||this.filterManager.effectElements[7].p._mdf||this.filterManager.effectElements[8].p._mdf||o.prop._mdf){var n;if(this.filterManager.effectElements[7].p.v!==0||this.filterManager.effectElements[8].p.v!==100){var t=Math.min(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v)*0.01,s=Math.max(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v)*0.01,l=r.getTotalLength();n="0 0 0 "+l*t+" ";var u=l*(s-t),h=1+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v*0.01,f=Math.floor(u/h),c;for(c=0;c<f;c+=1)n+="1 "+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v*0.01+" ";n+="0 "+l*10+" 0 0"}else n="1 "+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v*0.01;r.setAttribute("stroke-dasharray",n)}}if(a||this.filterManager.effectElements[4].p._mdf)this.pathMasker.setAttribute("stroke-width",this.filterManager.effectElements[4].p.v*2);if(a||this.filterManager.effectElements[6].p._mdf)this.pathMasker.setAttribute("opacity",this.filterManager.effectElements[6].p.v);if(this.filterManager.effectElements[10].p.v===1||this.filterManager.effectElements[10].p.v===2){if(a||this.filterManager.effectElements[3].p._mdf){var y=this.filterManager.effectElements[3].p.v;this.pathMasker.setAttribute("stroke","rgb("+bmFloor(y[0]*255)+","+bmFloor(y[1]*255)+","+bmFloor(y[2]*255)+")")}}};function SVGTritoneFilter(a,i,e,o){this.filterManager=i;var r=createNS("feColorMatrix");r.setAttribute("type","matrix"),r.setAttribute("color-interpolation-filters","linearRGB"),r.setAttribute("values","0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"),a.appendChild(r);var n=createNS("feComponentTransfer");n.setAttribute("color-interpolation-filters","sRGB"),n.setAttribute("result",o),this.matrixFilter=n;var t=createNS("feFuncR");t.setAttribute("type","table"),n.appendChild(t),this.feFuncR=t;var s=createNS("feFuncG");s.setAttribute("type","table"),n.appendChild(s),this.feFuncG=s;var l=createNS("feFuncB");l.setAttribute("type","table"),n.appendChild(l),this.feFuncB=l,a.appendChild(n)}SVGTritoneFilter.prototype.renderFrame=function(a){if(a||this.filterManager._mdf){var i=this.filterManager.effectElements[0].p.v,e=this.filterManager.effectElements[1].p.v,o=this.filterManager.effectElements[2].p.v,r=o[0]+" "+e[0]+" "+i[0],n=o[1]+" "+e[1]+" "+i[1],t=o[2]+" "+e[2]+" "+i[2];this.feFuncR.setAttribute("tableValues",r),this.feFuncG.setAttribute("tableValues",n),this.feFuncB.setAttribute("tableValues",t)}};function SVGProLevelsFilter(a,i,e,o){this.filterManager=i;var r=this.filterManager.effectElements,n=createNS("feComponentTransfer");if(r[10].p.k||r[10].p.v!==0||r[11].p.k||r[11].p.v!==1||r[12].p.k||r[12].p.v!==1||r[13].p.k||r[13].p.v!==0||r[14].p.k||r[14].p.v!==1)this.feFuncR=this.createFeFunc("feFuncR",n);if(r[17].p.k||r[17].p.v!==0||r[18].p.k||r[18].p.v!==1||r[19].p.k||r[19].p.v!==1||r[20].p.k||r[20].p.v!==0||r[21].p.k||r[21].p.v!==1)this.feFuncG=this.createFeFunc("feFuncG",n);if(r[24].p.k||r[24].p.v!==0||r[25].p.k||r[25].p.v!==1||r[26].p.k||r[26].p.v!==1||r[27].p.k||r[27].p.v!==0||r[28].p.k||r[28].p.v!==1)this.feFuncB=this.createFeFunc("feFuncB",n);if(r[31].p.k||r[31].p.v!==0||r[32].p.k||r[32].p.v!==1||r[33].p.k||r[33].p.v!==1||r[34].p.k||r[34].p.v!==0||r[35].p.k||r[35].p.v!==1)this.feFuncA=this.createFeFunc("feFuncA",n);if(this.feFuncR||this.feFuncG||this.feFuncB||this.feFuncA)n.setAttribute("color-interpolation-filters","sRGB"),a.appendChild(n);if(r[3].p.k||r[3].p.v!==0||r[4].p.k||r[4].p.v!==1||r[5].p.k||r[5].p.v!==1||r[6].p.k||r[6].p.v!==0||r[7].p.k||r[7].p.v!==1)n=createNS("feComponentTransfer"),n.setAttribute("color-interpolation-filters","sRGB"),n.setAttribute("result",o),a.appendChild(n),this.feFuncRComposed=this.createFeFunc("feFuncR",n),this.feFuncGComposed=this.createFeFunc("feFuncG",n),this.feFuncBComposed=this.createFeFunc("feFuncB",n)}SVGProLevelsFilter.prototype.createFeFunc=function(a,i){var e=createNS(a);return e.setAttribute("type","table"),i.appendChild(e),e},SVGProLevelsFilter.prototype.getTableValue=function(a,i,e,o,r){var n=0,t=256,s,l=Math.min(a,i),u=Math.max(a,i),h=Array.call(null,{length:t}),f,c=0,y=r-o,g=i-a;while(n<=256){if(s=n/256,s<=l)f=g<0?r:o;else if(s>=u)f=g<0?o:r;else f=o+y*Math.pow((s-a)/g,1/e);h[c]=f,c+=1,n+=256/(t-1)}return h.join(" ")},SVGProLevelsFilter.prototype.renderFrame=function(a){if(a||this.filterManager._mdf){var i,e=this.filterManager.effectElements;if(this.feFuncRComposed&&(a||e[3].p._mdf||e[4].p._mdf||e[5].p._mdf||e[6].p._mdf||e[7].p._mdf))i=this.getTableValue(e[3].p.v,e[4].p.v,e[5].p.v,e[6].p.v,e[7].p.v),this.feFuncRComposed.setAttribute("tableValues",i),this.feFuncGComposed.setAttribute("tableValues",i),this.feFuncBComposed.setAttribute("tableValues",i);if(this.feFuncR&&(a||e[10].p._mdf||e[11].p._mdf||e[12].p._mdf||e[13].p._mdf||e[14].p._mdf))i=this.getTableValue(e[10].p.v,e[11].p.v,e[12].p.v,e[13].p.v,e[14].p.v),this.feFuncR.setAttribute("tableValues",i);if(this.feFuncG&&(a||e[17].p._mdf||e[18].p._mdf||e[19].p._mdf||e[20].p._mdf||e[21].p._mdf))i=this.getTableValue(e[17].p.v,e[18].p.v,e[19].p.v,e[20].p.v,e[21].p.v),this.feFuncG.setAttribute("tableValues",i);if(this.feFuncB&&(a||e[24].p._mdf||e[25].p._mdf||e[26].p._mdf||e[27].p._mdf||e[28].p._mdf))i=this.getTableValue(e[24].p.v,e[25].p.v,e[26].p.v,e[27].p.v,e[28].p.v),this.feFuncB.setAttribute("tableValues",i);if(this.feFuncA&&(a||e[31].p._mdf||e[32].p._mdf||e[33].p._mdf||e[34].p._mdf||e[35].p._mdf))i=this.getTableValue(e[31].p.v,e[32].p.v,e[33].p.v,e[34].p.v,e[35].p.v),this.feFuncA.setAttribute("tableValues",i)}};function SVGDropShadowEffect(a,i,e,o,r){var n=i.container.globalData.renderConfig.filterSize,t=i.data.fs||n;a.setAttribute("x",t.x||n.x),a.setAttribute("y",t.y||n.y),a.setAttribute("width",t.width||n.width),a.setAttribute("height",t.height||n.height),this.filterManager=i;var s=createNS("feGaussianBlur");s.setAttribute("in","SourceAlpha"),s.setAttribute("result",o+"_drop_shadow_1"),s.setAttribute("stdDeviation","0"),this.feGaussianBlur=s,a.appendChild(s);var l=createNS("feOffset");l.setAttribute("dx","25"),l.setAttribute("dy","0"),l.setAttribute("in",o+"_drop_shadow_1"),l.setAttribute("result",o+"_drop_shadow_2"),this.feOffset=l,a.appendChild(l);var u=createNS("feFlood");u.setAttribute("flood-color","#00ff00"),u.setAttribute("flood-opacity","1"),u.setAttribute("result",o+"_drop_shadow_3"),this.feFlood=u,a.appendChild(u);var h=createNS("feComposite");h.setAttribute("in",o+"_drop_shadow_3"),h.setAttribute("in2",o+"_drop_shadow_2"),h.setAttribute("operator","in"),h.setAttribute("result",o+"_drop_shadow_4"),a.appendChild(h);var f=this.createMergeNode(o,[o+"_drop_shadow_4",r]);a.appendChild(f)}extendPrototype([SVGComposableEffect],SVGDropShadowEffect),SVGDropShadowEffect.prototype.renderFrame=function(a){if(a||this.filterManager._mdf){if(a||this.filterManager.effectElements[4].p._mdf)this.feGaussianBlur.setAttribute("stdDeviation",this.filterManager.effectElements[4].p.v/4);if(a||this.filterManager.effectElements[0].p._mdf){var i=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute("flood-color",rgbToHex(Math.round(i[0]*255),Math.round(i[1]*255),Math.round(i[2]*255)))}if(a||this.filterManager.effectElements[1].p._mdf)this.feFlood.setAttribute("flood-opacity",this.filterManager.effectElements[1].p.v/255);if(a||this.filterManager.effectElements[2].p._mdf||this.filterManager.effectElements[3].p._mdf){var e=this.filterManager.effectElements[3].p.v,o=(this.filterManager.effectElements[2].p.v-90)*degToRads,r=e*Math.cos(o),n=e*Math.sin(o);this.feOffset.setAttribute("dx",r),this.feOffset.setAttribute("dy",n)}}};var _svgMatteSymbols=[];function SVGMatte3Effect(a,i,e){this.initialized=!1,this.filterManager=i,this.filterElem=a,this.elem=e,e.matteElement=createNS("g"),e.matteElement.appendChild(e.layerElement),e.matteElement.appendChild(e.transformedElement),e.baseElement=e.matteElement}SVGMatte3Effect.prototype.findSymbol=function(a){var i=0,e=_svgMatteSymbols.length;while(i<e){if(_svgMatteSymbols[i]===a)return _svgMatteSymbols[i];i+=1}return null},SVGMatte3Effect.prototype.replaceInParent=function(a,i){var e=a.layerElement.parentNode;if(!e)return;var o=e.children,r=0,n=o.length;while(r<n){if(o[r]===a.layerElement)break;r+=1}var t;if(r<=n-2)t=o[r+1];var s=createNS("use");if(s.setAttribute("href","#"+i),t)e.insertBefore(s,t);else e.appendChild(s)},SVGMatte3Effect.prototype.setElementAsMask=function(a,i){if(!this.findSymbol(i)){var e=createElementID(),o=createNS("mask");o.setAttribute("id",i.layerId),o.setAttribute("mask-type","alpha"),_svgMatteSymbols.push(i);var r=a.globalData.defs;r.appendChild(o);var n=createNS("symbol");n.setAttribute("id",e),this.replaceInParent(i,e),n.appendChild(i.layerElement),r.appendChild(n);var t=createNS("use");t.setAttribute("href","#"+e),o.appendChild(t),i.data.hd=!1,i.show()}a.setMatte(i.layerId)},SVGMatte3Effect.prototype.initialize=function(){var a=this.filterManager.effectElements[0].p.v,i=this.elem.comp.elements,e=0,o=i.length;while(e<o){if(i[e]&&i[e].data.ind===a)this.setElementAsMask(this.elem,i[e]);e+=1}this.initialized=!0},SVGMatte3Effect.prototype.renderFrame=function(){if(!this.initialized)this.initialize()};function SVGGaussianBlurEffect(a,i,e,o){a.setAttribute("x","-100%"),a.setAttribute("y","-100%"),a.setAttribute("width","300%"),a.setAttribute("height","300%"),this.filterManager=i;var r=createNS("feGaussianBlur");r.setAttribute("result",o),a.appendChild(r),this.feGaussianBlur=r}SVGGaussianBlurEffect.prototype.renderFrame=function(a){if(a||this.filterManager._mdf){var i=0.3,e=this.filterManager.effectElements[0].p.v*i,o=this.filterManager.effectElements[1].p.v,r=o==3?0:e,n=o==2?0:e;this.feGaussianBlur.setAttribute("stdDeviation",r+" "+n);var t=this.filterManager.effectElements[2].p.v==1?"wrap":"duplicate";this.feGaussianBlur.setAttribute("edgeMode",t)}};function TransformEffect(){}TransformEffect.prototype.init=function(a){this.effectsManager=a,this.type=effectTypes.TRANSFORM_EFFECT,this.matrix=new Matrix,this.opacity=-1,this._mdf=!1,this._opMdf=!1},TransformEffect.prototype.renderFrame=function(a){if(this._opMdf=!1,this._mdf=!1,a||this.effectsManager._mdf){var i=this.effectsManager.effectElements,e=i[0].p.v,o=i[1].p.v,r=i[2].p.v===1,n=i[3].p.v,t=r?n:i[4].p.v,s=i[5].p.v,l=i[6].p.v,u=i[7].p.v;if(this.matrix.reset(),this.matrix.translate(-e[0],-e[1],e[2]),this.matrix.scale(t*0.01,n*0.01,1),this.matrix.rotate(-u*degToRads),this.matrix.skewFromAxis(-s*degToRads,(l+90)*degToRads),this.matrix.translate(o[0],o[1],0),this._mdf=!0,this.opacity!==i[8].p.v)this.opacity=i[8].p.v,this._opMdf=!0}};function SVGTransformEffect(a,i){this.init(i)}extendPrototype([TransformEffect],SVGTransformEffect);function CVTransformEffect(a){this.init(a)}return extendPrototype([TransformEffect],CVTransformEffect),registerRenderer("canvas",CanvasRenderer),registerRenderer("html",HybridRenderer),registerRenderer("svg",SVGRenderer),ShapeModifiers.registerModifier("tm",TrimModifier),ShapeModifiers.registerModifier("pb",PuckerAndBloatModifier),ShapeModifiers.registerModifier("rp",RepeaterModifier),ShapeModifiers.registerModifier("rd",RoundCornersModifier),ShapeModifiers.registerModifier("zz",ZigZagModifier),ShapeModifiers.registerModifier("op",OffsetPathModifier),setExpressionsPlugin(Expressions),setExpressionInterfaces(getInterface),initialize$1(),initialize(),registerEffect$1(20,SVGTintFilter,!0),registerEffect$1(21,SVGFillFilter,!0),registerEffect$1(22,SVGStrokeEffect,!1),registerEffect$1(23,SVGTritoneFilter,!0),registerEffect$1(24,SVGProLevelsFilter,!0),registerEffect$1(25,SVGDropShadowEffect,!0),registerEffect$1(28,SVGMatte3Effect,!1),registerEffect$1(29,SVGGaussianBlurEffect,!0),registerEffect$1(35,SVGTransformEffect,!1),registerEffect(35,CVTransformEffect),lottie})});class wi extends Event{constructor(a,i,e,o){super("context-request",{bubbles:!0,composed:!0}),this.context=a,this.contextTarget=i,this.callback=e,this.subscribe=o??!1}}function ni(a){return a}class ma{constructor(a,i,e,o){if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=(r,n)=>{this.unsubscribe&&(this.unsubscribe!==n&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=r,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(r,n)),this.unsubscribe=n},this.host=a,i.context!==void 0){let r=i;this.context=r.context,this.callback=r.callback,this.subscribe=r.subscribe??!1}else this.context=i,this.callback=e,this.subscribe=o??!1;this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}dispatchRequest(){this.host.dispatchEvent(new wi(this.context,this.host,this.t,this.subscribe))}}class Ne{get value(){return this.o}set value(a){this.setValue(a)}setValue(a,i=!1){let e=i||!Object.is(a,this.o);this.o=a,e&&this.updateObservers()}constructor(a){this.subscriptions=new Map,this.updateObservers=()=>{for(let[i,{disposer:e}]of this.subscriptions)i(this.o,e)},a!==void 0&&(this.value=a)}addCallback(a,i,e){if(!e)return void a(this.value);this.subscriptions.has(a)||this.subscriptions.set(a,{disposer:()=>{this.subscriptions.delete(a)},consumerHost:i});let{disposer:o}=this.subscriptions.get(a);a(this.value,o)}clearCallbacks(){this.subscriptions.clear()}}class Pr extends Event{constructor(a,i){super("context-provider",{bubbles:!0,composed:!0}),this.context=a,this.contextTarget=i}}class yi extends Ne{constructor(a,i,e){super(i.context!==void 0?i.initialValue:e),this.onContextRequest=(o)=>{if(o.context!==this.context)return;let r=o.contextTarget??o.composedPath()[0];r!==this.host&&(o.stopPropagation(),this.addCallback(o.callback,r,o.subscribe))},this.onProviderRequest=(o)=>{if(o.context!==this.context)return;if((o.contextTarget??o.composedPath()[0])===this.host)return;let r=new Set;for(let[n,{consumerHost:t}]of this.subscriptions)r.has(n)||(r.add(n),t.dispatchEvent(new wi(this.context,t,n,!0)));o.stopPropagation()},this.host=a,i.context!==void 0?this.context=i.context:this.context=i,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener("context-request",this.onContextRequest),this.host.addEventListener("context-provider",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new Pr(this.context,this.host))}}function aa({context:a,subscribe:i}){return(e,o)=>{typeof o=="object"?o.addInitializer(function(){new ma(this,{context:a,callback:(r)=>{e.set.call(this,r)},subscribe:i})}):e.constructor.addInitializer((r)=>{new ma(r,{context:a,callback:(n)=>{r[o]=n},subscribe:i})})}}var ce=globalThis,he=ce.ShadowRoot&&(ce.ShadyCSS===void 0||ce.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Xe=Symbol(),Lr=new WeakMap;class pe{constructor(a,i,e){if(this._$cssResult$=!0,e!==Xe)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=a,this.t=i}get styleSheet(){let a=this.o,i=this.t;if(he&&a===void 0){let e=i!==void 0&&i.length===1;e&&(a=Lr.get(i)),a===void 0&&((this.o=a=new CSSStyleSheet).replaceSync(this.cssText),e&&Lr.set(i,a))}return a}toString(){return this.cssText}}var Cr=(a)=>new pe(typeof a=="string"?a:a+"",void 0,Xe),Q=(a,...i)=>{let e=a.length===1?a[0]:i.reduce((o,r,n)=>o+((t)=>{if(t._$cssResult$===!0)return t.cssText;if(typeof t=="number")return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(r)+a[n+1],a[0]);return new pe(e,a,Xe)},Jr=(a,i)=>{if(he)a.adoptedStyleSheets=i.map((e)=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let e of i){let o=document.createElement("style"),r=ce.litNonce;r!==void 0&&o.setAttribute("nonce",r),o.textContent=e.cssText,a.appendChild(o)}},Te=he?(a)=>a:(a)=>a instanceof CSSStyleSheet?((i)=>{let e="";for(let o of i.cssRules)e+=o.cssText;return Cr(e)})(a):a;var{is:rs,defineProperty:ns,getOwnPropertyDescriptor:ts,getOwnPropertyNames:ss,getOwnPropertySymbols:ls,getPrototypeOf:ds}=Object,me=globalThis,Or=me.trustedTypes,us=Or?Or.emptyScript:"",cs=me.reactiveElementPolyfillSupport,Qi=(a,i)=>a,Yi={toAttribute(a,i){switch(i){case Boolean:a=a?us:null;break;case Object:case Array:a=a==null?a:JSON.stringify(a)}return a},fromAttribute(a,i){let e=a;switch(i){case Boolean:e=a!==null;break;case Number:e=a===null?null:Number(a);break;case Object:case Array:try{e=JSON.parse(a)}catch(o){e=null}}return e}},be=(a,i)=>!rs(a,i),$r={attribute:!0,type:String,converter:Yi,reflect:!1,useDefault:!1,hasChanged:be};Symbol.metadata??=Symbol("metadata"),me.litPropertyMetadata??=new WeakMap;class hi extends HTMLElement{static addInitializer(a){this._$Ei(),(this.l??=[]).push(a)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(a,i=$r){if(i.state&&(i.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(a)&&((i=Object.create(i)).wrapped=!0),this.elementProperties.set(a,i),!i.noAccessor){let e=Symbol(),o=this.getPropertyDescriptor(a,e,i);o!==void 0&&ns(this.prototype,a,o)}}static getPropertyDescriptor(a,i,e){let{get:o,set:r}=ts(this.prototype,a)??{get(){return this[i]},set(n){this[i]=n}};return{get:o,set(n){let t=o?.call(this);r?.call(this,n),this.requestUpdate(a,t,e)},configurable:!0,enumerable:!0}}static getPropertyOptions(a){return this.elementProperties.get(a)??$r}static _$Ei(){if(this.hasOwnProperty(Qi("elementProperties")))return;let a=ds(this);a.finalize(),a.l!==void 0&&(this.l=[...a.l]),this.elementProperties=new Map(a.elementProperties)}static finalize(){if(this.hasOwnProperty(Qi("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Qi("properties"))){let i=this.properties,e=[...ss(i),...ls(i)];for(let o of e)this.createProperty(o,i[o])}let a=this[Symbol.metadata];if(a!==null){let i=litPropertyMetadata.get(a);if(i!==void 0)for(let[e,o]of i)this.elementProperties.set(e,o)}this._$Eh=new Map;for(let[i,e]of this.elementProperties){let o=this._$Eu(i,e);o!==void 0&&this._$Eh.set(o,i)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(a){let i=[];if(Array.isArray(a)){let e=new Set(a.flat(1/0).reverse());for(let o of e)i.unshift(Te(o))}else a!==void 0&&i.push(Te(a));return i}static _$Eu(a,i){let e=i.attribute;return e===!1?void 0:typeof e=="string"?e:typeof a=="string"?a.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((a)=>this.enableUpdating=a),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((a)=>a(this))}addController(a){(this._$EO??=new Set).add(a),this.renderRoot!==void 0&&this.isConnected&&a.hostConnected?.()}removeController(a){this._$EO?.delete(a)}_$E_(){let a=new Map,i=this.constructor.elementProperties;for(let e of i.keys())this.hasOwnProperty(e)&&(a.set(e,this[e]),delete this[e]);a.size>0&&(this._$Ep=a)}createRenderRoot(){let a=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Jr(a,this.constructor.elementStyles),a}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((a)=>a.hostConnected?.())}enableUpdating(a){}disconnectedCallback(){this._$EO?.forEach((a)=>a.hostDisconnected?.())}attributeChangedCallback(a,i,e){this._$AK(a,e)}_$ET(a,i){let e=this.constructor.elementProperties.get(a),o=this.constructor._$Eu(a,e);if(o!==void 0&&e.reflect===!0){let r=(e.converter?.toAttribute!==void 0?e.converter:Yi).toAttribute(i,e.type);this._$Em=a,r==null?this.removeAttribute(o):this.setAttribute(o,r),this._$Em=null}}_$AK(a,i){let e=this.constructor,o=e._$Eh.get(a);if(o!==void 0&&this._$Em!==o){let r=e.getPropertyOptions(o),n=typeof r.converter=="function"?{fromAttribute:r.converter}:r.converter?.fromAttribute!==void 0?r.converter:Yi;this._$Em=o,this[o]=n.fromAttribute(i,r.type)??this._$Ej?.get(o)??null,this._$Em=null}}requestUpdate(a,i,e){if(a!==void 0){let o=this.constructor,r=this[a];if(e??=o.getPropertyOptions(a),!((e.hasChanged??be)(r,i)||e.useDefault&&e.reflect&&r===this._$Ej?.get(a)&&!this.hasAttribute(o._$Eu(a,e))))return;this.C(a,i,e)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(a,i,{useDefault:e,reflect:o,wrapped:r},n){e&&!(this._$Ej??=new Map).has(a)&&(this._$Ej.set(a,n??i??this[a]),r!==!0||n!==void 0)||(this._$AL.has(a)||(this.hasUpdated||e||(i=void 0),this._$AL.set(a,i)),o===!0&&this._$Em!==a&&(this._$Eq??=new Set).add(a))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(i){Promise.reject(i)}let a=this.scheduleUpdate();return a!=null&&await a,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[o,r]of this._$Ep)this[o]=r;this._$Ep=void 0}let e=this.constructor.elementProperties;if(e.size>0)for(let[o,r]of e){let{wrapped:n}=r,t=this[o];n!==!0||this._$AL.has(o)||t===void 0||this.C(o,void 0,r,t)}}let a=!1,i=this._$AL;try{a=this.shouldUpdate(i),a?(this.willUpdate(i),this._$EO?.forEach((e)=>e.hostUpdate?.()),this.update(i)):this._$EM()}catch(e){throw a=!1,this._$EM(),e}a&&this._$AE(i)}willUpdate(a){}_$AE(a){this._$EO?.forEach((i)=>i.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(a)),this.updated(a)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(a){return!0}update(a){this._$Eq&&=this._$Eq.forEach((i)=>this._$ET(i,this[i])),this._$EM()}updated(a){}firstUpdated(a){}}hi.elementStyles=[],hi.shadowRootOptions={mode:"open"},hi[Qi("elementProperties")]=new Map,hi[Qi("finalized")]=new Map,cs?.({ReactiveElement:hi}),(me.reactiveElementVersions??=[]).push("2.1.0");var Me=globalThis,ve=Me.trustedTypes,_r=ve?ve.createPolicy("lit-html",{createHTML:(a)=>a}):void 0;var ti=`lit$${Math.random().toFixed(9).slice(2)}$`,Ue="?"+ti,hs=`<${Ue}>`,Si=document,Xi=()=>Si.createComment(""),Ti=(a)=>a===null||typeof a!="object"&&typeof a!="function",Ae=Array.isArray,Mr=(a)=>Ae(a)||typeof a?.[Symbol.iterator]=="function";var Ni=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Qr=/-->/g,Yr=/>/g,zi=RegExp(`>|[
|
|
9
|
+
*/var Matrix=function(){var{cos:a,sin:i,tan:e,round:o}=Math;function r(){return this.props[0]=1,this.props[1]=0,this.props[2]=0,this.props[3]=0,this.props[4]=0,this.props[5]=1,this.props[6]=0,this.props[7]=0,this.props[8]=0,this.props[9]=0,this.props[10]=1,this.props[11]=0,this.props[12]=0,this.props[13]=0,this.props[14]=0,this.props[15]=1,this}function n(w){if(w===0)return this;var x=a(w),V=i(w);return this._t(x,-V,0,0,V,x,0,0,0,0,1,0,0,0,0,1)}function t(w){if(w===0)return this;var x=a(w),V=i(w);return this._t(1,0,0,0,0,x,-V,0,0,V,x,0,0,0,0,1)}function s(w){if(w===0)return this;var x=a(w),V=i(w);return this._t(x,0,V,0,0,1,0,0,-V,0,x,0,0,0,0,1)}function l(w){if(w===0)return this;var x=a(w),V=i(w);return this._t(x,-V,0,0,V,x,0,0,0,0,1,0,0,0,0,1)}function u(w,x){return this._t(1,x,w,1,0,0)}function h(w,x){return this.shear(e(w),e(x))}function f(w,x){var V=a(x),B=i(x);return this._t(V,B,0,0,-B,V,0,0,0,0,1,0,0,0,0,1)._t(1,0,0,0,e(w),1,0,0,0,0,1,0,0,0,0,1)._t(V,-B,0,0,B,V,0,0,0,0,1,0,0,0,0,1)}function c(w,x,V){if(!V&&V!==0)V=1;if(w===1&&x===1&&V===1)return this;return this._t(w,0,0,0,0,x,0,0,0,0,V,0,0,0,0,1)}function y(w,x,V,B,A,ia,ra,la,da,ya,Fa,Ma,Ka,Sa,Wa,pa){return this.props[0]=w,this.props[1]=x,this.props[2]=V,this.props[3]=B,this.props[4]=A,this.props[5]=ia,this.props[6]=ra,this.props[7]=la,this.props[8]=da,this.props[9]=ya,this.props[10]=Fa,this.props[11]=Ma,this.props[12]=Ka,this.props[13]=Sa,this.props[14]=Wa,this.props[15]=pa,this}function g(w,x,V){if(V=V||0,w!==0||x!==0||V!==0)return this._t(1,0,0,0,0,1,0,0,0,0,1,0,w,x,V,1);return this}function b(w,x,V,B,A,ia,ra,la,da,ya,Fa,Ma,Ka,Sa,Wa,pa){var D=this.props;if(w===1&&x===0&&V===0&&B===0&&A===0&&ia===1&&ra===0&&la===0&&da===0&&ya===0&&Fa===1&&Ma===0)return D[12]=D[12]*w+D[15]*Ka,D[13]=D[13]*ia+D[15]*Sa,D[14]=D[14]*Fa+D[15]*Wa,D[15]*=pa,this._identityCalculated=!1,this;var ii=D[0],li=D[1],ei=D[2],Ua=D[3],oi=D[4],ri=D[5],Ra=D[6],di=D[7],ui=D[8],Qa=D[9],ci=D[10],Ya=D[11],fi=D[12],le=D[13],de=D[14],ue=D[15];return D[0]=ii*w+li*A+ei*da+Ua*Ka,D[1]=ii*x+li*ia+ei*ya+Ua*Sa,D[2]=ii*V+li*ra+ei*Fa+Ua*Wa,D[3]=ii*B+li*la+ei*Ma+Ua*pa,D[4]=oi*w+ri*A+Ra*da+di*Ka,D[5]=oi*x+ri*ia+Ra*ya+di*Sa,D[6]=oi*V+ri*ra+Ra*Fa+di*Wa,D[7]=oi*B+ri*la+Ra*Ma+di*pa,D[8]=ui*w+Qa*A+ci*da+Ya*Ka,D[9]=ui*x+Qa*ia+ci*ya+Ya*Sa,D[10]=ui*V+Qa*ra+ci*Fa+Ya*Wa,D[11]=ui*B+Qa*la+ci*Ma+Ya*pa,D[12]=fi*w+le*A+de*da+ue*Ka,D[13]=fi*x+le*ia+de*ya+ue*Sa,D[14]=fi*V+le*ra+de*Fa+ue*Wa,D[15]=fi*B+le*la+de*Ma+ue*pa,this._identityCalculated=!1,this}function I(w){var x=w.props;return this.transform(x[0],x[1],x[2],x[3],x[4],x[5],x[6],x[7],x[8],x[9],x[10],x[11],x[12],x[13],x[14],x[15])}function m(){if(!this._identityCalculated)this._identity=!(this.props[0]!==1||this.props[1]!==0||this.props[2]!==0||this.props[3]!==0||this.props[4]!==0||this.props[5]!==1||this.props[6]!==0||this.props[7]!==0||this.props[8]!==0||this.props[9]!==0||this.props[10]!==1||this.props[11]!==0||this.props[12]!==0||this.props[13]!==0||this.props[14]!==0||this.props[15]!==1),this._identityCalculated=!0;return this._identity}function k(w){var x=0;while(x<16){if(w.props[x]!==this.props[x])return!1;x+=1}return!0}function p(w){var x;for(x=0;x<16;x+=1)w.props[x]=this.props[x];return w}function v(w){var x;for(x=0;x<16;x+=1)this.props[x]=w[x]}function S(w,x,V){return{x:w*this.props[0]+x*this.props[4]+V*this.props[8]+this.props[12],y:w*this.props[1]+x*this.props[5]+V*this.props[9]+this.props[13],z:w*this.props[2]+x*this.props[6]+V*this.props[10]+this.props[14]}}function F(w,x,V){return w*this.props[0]+x*this.props[4]+V*this.props[8]+this.props[12]}function K(w,x,V){return w*this.props[1]+x*this.props[5]+V*this.props[9]+this.props[13]}function R(w,x,V){return w*this.props[2]+x*this.props[6]+V*this.props[10]+this.props[14]}function P(){var w=this.props[0]*this.props[5]-this.props[1]*this.props[4],x=this.props[5]/w,V=-this.props[1]/w,B=-this.props[4]/w,A=this.props[0]/w,ia=(this.props[4]*this.props[13]-this.props[5]*this.props[12])/w,ra=-(this.props[0]*this.props[13]-this.props[1]*this.props[12])/w,la=new Matrix;return la.props[0]=x,la.props[1]=V,la.props[4]=B,la.props[5]=A,la.props[12]=ia,la.props[13]=ra,la}function M(w){var x=this.getInverseMatrix();return x.applyToPointArray(w[0],w[1],w[2]||0)}function X(w){var x,V=w.length,B=[];for(x=0;x<V;x+=1)B[x]=M(w[x]);return B}function _(w,x,V){var B=createTypedArray("float32",6);if(this.isIdentity())B[0]=w[0],B[1]=w[1],B[2]=x[0],B[3]=x[1],B[4]=V[0],B[5]=V[1];else{var A=this.props[0],ia=this.props[1],ra=this.props[4],la=this.props[5],da=this.props[12],ya=this.props[13];B[0]=w[0]*A+w[1]*ra+da,B[1]=w[0]*ia+w[1]*la+ya,B[2]=x[0]*A+x[1]*ra+da,B[3]=x[0]*ia+x[1]*la+ya,B[4]=V[0]*A+V[1]*ra+da,B[5]=V[0]*ia+V[1]*la+ya}return B}function U(w,x,V){var B;if(this.isIdentity())B=[w,x,V];else B=[w*this.props[0]+x*this.props[4]+V*this.props[8]+this.props[12],w*this.props[1]+x*this.props[5]+V*this.props[9]+this.props[13],w*this.props[2]+x*this.props[6]+V*this.props[10]+this.props[14]];return B}function G(w,x){if(this.isIdentity())return w+","+x;var V=this.props;return Math.round((w*V[0]+x*V[4]+V[12])*100)/100+","+Math.round((w*V[1]+x*V[5]+V[13])*100)/100}function O(){var w=0,x=this.props,V="matrix3d(",B=1e4;while(w<16)V+=o(x[w]*B)/B,V+=w===15?")":",",w+=1;return V}function H(w){var x=1e4;if(w<0.000001&&w>0||w>-0.000001&&w<0)return o(w*x)/x;return w}function Z(){var w=this.props,x=H(w[0]),V=H(w[1]),B=H(w[4]),A=H(w[5]),ia=H(w[12]),ra=H(w[13]);return"matrix("+x+","+V+","+B+","+A+","+ia+","+ra+")"}return function(){this.reset=r,this.rotate=n,this.rotateX=t,this.rotateY=s,this.rotateZ=l,this.skew=h,this.skewFromAxis=f,this.shear=u,this.scale=c,this.setTransform=y,this.translate=g,this.transform=b,this.multiply=I,this.applyToPoint=S,this.applyToX=F,this.applyToY=K,this.applyToZ=R,this.applyToPointArray=U,this.applyToTriplePoints=_,this.applyToPointStringified=G,this.toCSS=O,this.to2dCSS=Z,this.clone=p,this.cloneFromProps=v,this.equals=k,this.inversePoints=X,this.inversePoint=M,this.getInverseMatrix=P,this._t=this.transform,this.isIdentity=m,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray("float32",16),this.reset()}}();function _typeof$3(a){return _typeof$3=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(i){return typeof i}:function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},_typeof$3(a)}var lottie={},standalone="__[STANDALONE]__",animationData="__[ANIMATIONDATA]__",renderer="";function setLocation(a){setLocationHref(a)}function searchAnimations(){if(standalone===!0)animationManager.searchAnimations(animationData,standalone,renderer);else animationManager.searchAnimations()}function setSubframeRendering(a){setSubframeEnabled(a)}function setPrefix(a){setIdPrefix(a)}function loadAnimation(a){if(standalone===!0)a.animationData=JSON.parse(animationData);return animationManager.loadAnimation(a)}function setQuality(a){if(typeof a==="string")switch(a){case"high":setDefaultCurveSegments(200);break;default:case"medium":setDefaultCurveSegments(50);break;case"low":setDefaultCurveSegments(10);break}else if(!isNaN(a)&&a>1)setDefaultCurveSegments(a);if(getDefaultCurveSegments()>=50)roundValues(!1);else roundValues(!0)}function inBrowser(){return typeof navigator!=="undefined"}function installPlugin(a,i){if(a==="expressions")setExpressionsPlugin(i)}function getFactory(a){switch(a){case"propertyFactory":return PropertyFactory;case"shapePropertyFactory":return ShapePropertyFactory;case"matrix":return Matrix;default:return null}}lottie.play=animationManager.play,lottie.pause=animationManager.pause,lottie.setLocationHref=setLocation,lottie.togglePause=animationManager.togglePause,lottie.setSpeed=animationManager.setSpeed,lottie.setDirection=animationManager.setDirection,lottie.stop=animationManager.stop,lottie.searchAnimations=searchAnimations,lottie.registerAnimation=animationManager.registerAnimation,lottie.loadAnimation=loadAnimation,lottie.setSubframeRendering=setSubframeRendering,lottie.resize=animationManager.resize,lottie.goToAndStop=animationManager.goToAndStop,lottie.destroy=animationManager.destroy,lottie.setQuality=setQuality,lottie.inBrowser=inBrowser,lottie.installPlugin=installPlugin,lottie.freeze=animationManager.freeze,lottie.unfreeze=animationManager.unfreeze,lottie.setVolume=animationManager.setVolume,lottie.mute=animationManager.mute,lottie.unmute=animationManager.unmute,lottie.getRegisteredAnimations=animationManager.getRegisteredAnimations,lottie.useWebWorker=setWebWorker,lottie.setIDPrefix=setPrefix,lottie.__getFactory=getFactory,lottie.version="5.13.0";function checkReady(){if(document.readyState==="complete")clearInterval(readyStateCheckInterval),searchAnimations()}function getQueryVariable(a){var i=queryString.split("&");for(var e=0;e<i.length;e+=1){var o=i[e].split("=");if(decodeURIComponent(o[0])==a)return decodeURIComponent(o[1])}return null}var queryString="";if(standalone){var scripts=document.getElementsByTagName("script"),index=scripts.length-1,myScript=scripts[index]||{src:""};queryString=myScript.src?myScript.src.replace(/^[^\?]+\??/,""):"",renderer=getQueryVariable("renderer")}var readyStateCheckInterval=setInterval(checkReady,100);try{if(!((typeof Ci==="undefined"?"undefined":_typeof$3(Ci))==="object"&&typeof ae!=="undefined")&&!(typeof define==="function"&&define.amd))window.bodymovin=lottie}catch(a){}var ShapeModifiers=function(){var a={},i={};a.registerModifier=e,a.getModifier=o;function e(r,n){if(!i[r])i[r]=n}function o(r,n,t){return new i[r](n,t)}return a}();function ShapeModifier(){}ShapeModifier.prototype.initModifierProperties=function(){},ShapeModifier.prototype.addShapeToModifier=function(){},ShapeModifier.prototype.addShape=function(a){if(!this.closed){a.sh.container.addDynamicProperty(a.sh);var i={shape:a.sh,data:a,localShapeCollection:shapeCollectionPool.newShapeCollection()};if(this.shapes.push(i),this.addShapeToModifier(i),this._isAnimated)a.setAsAnimated()}},ShapeModifier.prototype.init=function(a,i){if(this.shapes=[],this.elem=a,this.initDynamicPropertyContainer(a),this.initModifierProperties(a,i),this.frameId=initialDefaultFrame,this.closed=!1,this.k=!1,this.dynamicProperties.length)this.k=!0;else this.getValue(!0)},ShapeModifier.prototype.processKeys=function(){if(this.elem.globalData.frameId===this.frameId)return;this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties()},extendPrototype([DynamicPropertyContainer],ShapeModifier);function TrimModifier(){}extendPrototype([ShapeModifier],TrimModifier),TrimModifier.prototype.initModifierProperties=function(a,i){this.s=PropertyFactory.getProp(a,i.s,0,0.01,this),this.e=PropertyFactory.getProp(a,i.e,0,0.01,this),this.o=PropertyFactory.getProp(a,i.o,0,0,this),this.sValue=0,this.eValue=0,this.getValue=this.processKeys,this.m=i.m,this._isAnimated=!!this.s.effectsSequence.length||!!this.e.effectsSequence.length||!!this.o.effectsSequence.length},TrimModifier.prototype.addShapeToModifier=function(a){a.pathsData=[]},TrimModifier.prototype.calculateShapeEdges=function(a,i,e,o,r){var n=[];if(i<=1)n.push({s:a,e:i});else if(a>=1)n.push({s:a-1,e:i-1});else n.push({s:a,e:1}),n.push({s:0,e:i-1});var t=[],s,l=n.length,u;for(s=0;s<l;s+=1)if(u=n[s],!(u.e*r<o||u.s*r>o+e)){var h,f;if(u.s*r<=o)h=0;else h=(u.s*r-o)/e;if(u.e*r>=o+e)f=1;else f=(u.e*r-o)/e;t.push([h,f])}if(!t.length)t.push([0,0]);return t},TrimModifier.prototype.releasePathsData=function(a){var i,e=a.length;for(i=0;i<e;i+=1)segmentsLengthPool.release(a[i]);return a.length=0,a},TrimModifier.prototype.processShapes=function(a){var i,e;if(this._mdf||a){var o=this.o.v%360/360;if(o<0)o+=1;if(this.s.v>1)i=1+o;else if(this.s.v<0)i=0+o;else i=this.s.v+o;if(this.e.v>1)e=1+o;else if(this.e.v<0)e=0+o;else e=this.e.v+o;if(i>e){var r=i;i=e,e=r}i=Math.round(i*1e4)*0.0001,e=Math.round(e*1e4)*0.0001,this.sValue=i,this.eValue=e}else i=this.sValue,e=this.eValue;var n,t,s=this.shapes.length,l,u,h,f,c,y=0;if(e===i){for(t=0;t<s;t+=1)if(this.shapes[t].localShapeCollection.releaseShapes(),this.shapes[t].shape._mdf=!0,this.shapes[t].shape.paths=this.shapes[t].localShapeCollection,this._mdf)this.shapes[t].pathsData.length=0}else if(!(e===1&&i===0||e===0&&i===1)){var g=[],b,I;for(t=0;t<s;t+=1)if(b=this.shapes[t],!b.shape._mdf&&!this._mdf&&!a&&this.m!==2)b.shape.paths=b.localShapeCollection;else{if(n=b.shape.paths,u=n._length,c=0,!b.shape._mdf&&b.pathsData.length)c=b.totalShapeLength;else{h=this.releasePathsData(b.pathsData);for(l=0;l<u;l+=1)f=bez.getSegmentsLength(n.shapes[l]),h.push(f),c+=f.totalLength;b.totalShapeLength=c,b.pathsData=h}y+=c,b.shape._mdf=!0}var m=i,k=e,p=0,v;for(t=s-1;t>=0;t-=1)if(b=this.shapes[t],b.shape._mdf){if(I=b.localShapeCollection,I.releaseShapes(),this.m===2&&s>1)v=this.calculateShapeEdges(i,e,b.totalShapeLength,p,y),p+=b.totalShapeLength;else v=[[m,k]];u=v.length;for(l=0;l<u;l+=1){if(m=v[l][0],k=v[l][1],g.length=0,k<=1)g.push({s:b.totalShapeLength*m,e:b.totalShapeLength*k});else if(m>=1)g.push({s:b.totalShapeLength*(m-1),e:b.totalShapeLength*(k-1)});else g.push({s:b.totalShapeLength*m,e:b.totalShapeLength}),g.push({s:0,e:b.totalShapeLength*(k-1)});var S=this.addShapes(b,g[0]);if(g[0].s!==g[0].e){if(g.length>1){var F=b.shape.paths.shapes[b.shape.paths._length-1];if(F.c){var K=S.pop();this.addPaths(S,I),S=this.addShapes(b,g[1],K)}else this.addPaths(S,I),S=this.addShapes(b,g[1])}this.addPaths(S,I)}}b.shape.paths=I}}else if(this._mdf)for(t=0;t<s;t+=1)this.shapes[t].pathsData.length=0,this.shapes[t].shape._mdf=!0},TrimModifier.prototype.addPaths=function(a,i){var e,o=a.length;for(e=0;e<o;e+=1)i.addShape(a[e])},TrimModifier.prototype.addSegment=function(a,i,e,o,r,n,t){if(r.setXYAt(i[0],i[1],"o",n),r.setXYAt(e[0],e[1],"i",n+1),t)r.setXYAt(a[0],a[1],"v",n);r.setXYAt(o[0],o[1],"v",n+1)},TrimModifier.prototype.addSegmentFromArray=function(a,i,e,o){if(i.setXYAt(a[1],a[5],"o",e),i.setXYAt(a[2],a[6],"i",e+1),o)i.setXYAt(a[0],a[4],"v",e);i.setXYAt(a[3],a[7],"v",e+1)},TrimModifier.prototype.addShapes=function(a,i,e){var o=a.pathsData,r=a.shape.paths.shapes,n,t=a.shape.paths._length,s,l,u=0,h,f,c,y,g=[],b,I=!0;if(!e)e=shapePool.newElement(),f=0,b=0;else f=e._length,b=e._length;g.push(e);for(n=0;n<t;n+=1){c=o[n].lengths,e.c=r[n].c,l=r[n].c?c.length:c.length+1;for(s=1;s<l;s+=1)if(h=c[s-1],u+h.addedLength<i.s)u+=h.addedLength,e.c=!1;else if(u>i.e){e.c=!1;break}else{if(i.s<=u&&i.e>=u+h.addedLength)this.addSegment(r[n].v[s-1],r[n].o[s-1],r[n].i[s],r[n].v[s],e,f,I),I=!1;else y=bez.getNewSegment(r[n].v[s-1],r[n].v[s],r[n].o[s-1],r[n].i[s],(i.s-u)/h.addedLength,(i.e-u)/h.addedLength,c[s-1]),this.addSegmentFromArray(y,e,f,I),I=!1,e.c=!1;u+=h.addedLength,f+=1}if(r[n].c&&c.length){if(h=c[s-1],u<=i.e){var m=c[s-1].addedLength;if(i.s<=u&&i.e>=u+m)this.addSegment(r[n].v[s-1],r[n].o[s-1],r[n].i[0],r[n].v[0],e,f,I),I=!1;else y=bez.getNewSegment(r[n].v[s-1],r[n].v[0],r[n].o[s-1],r[n].i[0],(i.s-u)/m,(i.e-u)/m,c[s-1]),this.addSegmentFromArray(y,e,f,I),I=!1,e.c=!1}else e.c=!1;u+=h.addedLength,f+=1}if(e._length)e.setXYAt(e.v[b][0],e.v[b][1],"i",b),e.setXYAt(e.v[e._length-1][0],e.v[e._length-1][1],"o",e._length-1);if(u>i.e)break;if(n<t-1)e=shapePool.newElement(),I=!0,g.push(e),f=0}return g};function PuckerAndBloatModifier(){}extendPrototype([ShapeModifier],PuckerAndBloatModifier),PuckerAndBloatModifier.prototype.initModifierProperties=function(a,i){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(a,i.a,0,null,this),this._isAnimated=!!this.amount.effectsSequence.length},PuckerAndBloatModifier.prototype.processPath=function(a,i){var e=i/100,o=[0,0],r=a._length,n=0;for(n=0;n<r;n+=1)o[0]+=a.v[n][0],o[1]+=a.v[n][1];o[0]/=r,o[1]/=r;var t=shapePool.newElement();t.c=a.c;var s,l,u,h,f,c;for(n=0;n<r;n+=1)s=a.v[n][0]+(o[0]-a.v[n][0])*e,l=a.v[n][1]+(o[1]-a.v[n][1])*e,u=a.o[n][0]+(o[0]-a.o[n][0])*-e,h=a.o[n][1]+(o[1]-a.o[n][1])*-e,f=a.i[n][0]+(o[0]-a.i[n][0])*-e,c=a.i[n][1]+(o[1]-a.i[n][1])*-e,t.setTripleAt(s,l,u,h,f,c,n);return t},PuckerAndBloatModifier.prototype.processShapes=function(a){var i,e,o=this.shapes.length,r,n,t=this.amount.v;if(t!==0){var s,l;for(e=0;e<o;e+=1){if(s=this.shapes[e],l=s.localShapeCollection,!(!s.shape._mdf&&!this._mdf&&!a)){l.releaseShapes(),s.shape._mdf=!0,i=s.shape.paths.shapes,n=s.shape.paths._length;for(r=0;r<n;r+=1)l.addShape(this.processPath(i[r],t))}s.shape.paths=s.localShapeCollection}}if(!this.dynamicProperties.length)this._mdf=!1};var TransformPropertyFactory=function(){var a=[0,0];function i(l){var u=this._mdf;if(this.iterateDynamicProperties(),this._mdf=this._mdf||u,this.a)l.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]);if(this.s)l.scale(this.s.v[0],this.s.v[1],this.s.v[2]);if(this.sk)l.skewFromAxis(-this.sk.v,this.sa.v);if(this.r)l.rotate(-this.r.v);else l.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);if(this.data.p.s)if(this.data.p.z)l.translate(this.px.v,this.py.v,-this.pz.v);else l.translate(this.px.v,this.py.v,0);else l.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}function e(l){if(this.elem.globalData.frameId===this.frameId)return;if(this._isDirty)this.precalculateMatrix(),this._isDirty=!1;if(this.iterateDynamicProperties(),this._mdf||l){var u;if(this.v.cloneFromProps(this.pre.props),this.appliedTransformations<1)this.v.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]);if(this.appliedTransformations<2)this.v.scale(this.s.v[0],this.s.v[1],this.s.v[2]);if(this.sk&&this.appliedTransformations<3)this.v.skewFromAxis(-this.sk.v,this.sa.v);if(this.r&&this.appliedTransformations<4)this.v.rotate(-this.r.v);else if(!this.r&&this.appliedTransformations<4)this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);if(this.autoOriented){var h,f;if(u=this.elem.globalData.frameRate,this.p&&this.p.keyframes&&this.p.getValueAtTime)if(this.p._caching.lastFrame+this.p.offsetTime<=this.p.keyframes[0].t)h=this.p.getValueAtTime((this.p.keyframes[0].t+0.01)/u,0),f=this.p.getValueAtTime(this.p.keyframes[0].t/u,0);else if(this.p._caching.lastFrame+this.p.offsetTime>=this.p.keyframes[this.p.keyframes.length-1].t)h=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/u,0),f=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-0.05)/u,0);else h=this.p.pv,f=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-0.01)/u,this.p.offsetTime);else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){h=[],f=[];var c=this.px,y=this.py;if(c._caching.lastFrame+c.offsetTime<=c.keyframes[0].t)h[0]=c.getValueAtTime((c.keyframes[0].t+0.01)/u,0),h[1]=y.getValueAtTime((y.keyframes[0].t+0.01)/u,0),f[0]=c.getValueAtTime(c.keyframes[0].t/u,0),f[1]=y.getValueAtTime(y.keyframes[0].t/u,0);else if(c._caching.lastFrame+c.offsetTime>=c.keyframes[c.keyframes.length-1].t)h[0]=c.getValueAtTime(c.keyframes[c.keyframes.length-1].t/u,0),h[1]=y.getValueAtTime(y.keyframes[y.keyframes.length-1].t/u,0),f[0]=c.getValueAtTime((c.keyframes[c.keyframes.length-1].t-0.01)/u,0),f[1]=y.getValueAtTime((y.keyframes[y.keyframes.length-1].t-0.01)/u,0);else h=[c.pv,y.pv],f[0]=c.getValueAtTime((c._caching.lastFrame+c.offsetTime-0.01)/u,c.offsetTime),f[1]=y.getValueAtTime((y._caching.lastFrame+y.offsetTime-0.01)/u,y.offsetTime)}else f=a,h=f;this.v.rotate(-Math.atan2(h[1]-f[1],h[0]-f[0]))}if(this.data.p&&this.data.p.s)if(this.data.p.z)this.v.translate(this.px.v,this.py.v,-this.pz.v);else this.v.translate(this.px.v,this.py.v,0);else this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}this.frameId=this.elem.globalData.frameId}function o(){if(this.appliedTransformations=0,this.pre.reset(),!this.a.effectsSequence.length)this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1;else return;if(!this.s.effectsSequence.length)this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2;else return;if(this.sk)if(!this.sk.effectsSequence.length&&!this.sa.effectsSequence.length)this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3;else return;if(this.r){if(!this.r.effectsSequence.length)this.pre.rotate(-this.r.v),this.appliedTransformations=4}else if(!this.rz.effectsSequence.length&&!this.ry.effectsSequence.length&&!this.rx.effectsSequence.length&&!this.or.effectsSequence.length)this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4}function r(){}function n(l){this._addDynamicProperty(l),this.elem.addDynamicProperty(l),this._isDirty=!0}function t(l,u,h){if(this.elem=l,this.frameId=-1,this.propType="transform",this.data=u,this.v=new Matrix,this.pre=new Matrix,this.appliedTransformations=0,this.initDynamicPropertyContainer(h||l),u.p&&u.p.s){if(this.px=PropertyFactory.getProp(l,u.p.x,0,0,this),this.py=PropertyFactory.getProp(l,u.p.y,0,0,this),u.p.z)this.pz=PropertyFactory.getProp(l,u.p.z,0,0,this)}else this.p=PropertyFactory.getProp(l,u.p||{k:[0,0,0]},1,0,this);if(u.rx){if(this.rx=PropertyFactory.getProp(l,u.rx,0,degToRads,this),this.ry=PropertyFactory.getProp(l,u.ry,0,degToRads,this),this.rz=PropertyFactory.getProp(l,u.rz,0,degToRads,this),u.or.k[0].ti){var f,c=u.or.k.length;for(f=0;f<c;f+=1)u.or.k[f].to=null,u.or.k[f].ti=null}this.or=PropertyFactory.getProp(l,u.or,1,degToRads,this),this.or.sh=!0}else this.r=PropertyFactory.getProp(l,u.r||{k:0},0,degToRads,this);if(u.sk)this.sk=PropertyFactory.getProp(l,u.sk,0,degToRads,this),this.sa=PropertyFactory.getProp(l,u.sa,0,degToRads,this);if(this.a=PropertyFactory.getProp(l,u.a||{k:[0,0,0]},1,0,this),this.s=PropertyFactory.getProp(l,u.s||{k:[100,100,100]},1,0.01,this),u.o)this.o=PropertyFactory.getProp(l,u.o,0,0.01,l);else this.o={_mdf:!1,v:1};if(this._isDirty=!0,!this.dynamicProperties.length)this.getValue(!0)}t.prototype={applyToMatrix:i,getValue:e,precalculateMatrix:o,autoOrient:r},extendPrototype([DynamicPropertyContainer],t),t.prototype.addDynamicProperty=n,t.prototype._addDynamicProperty=DynamicPropertyContainer.prototype.addDynamicProperty;function s(l,u,h){return new t(l,u,h)}return{getTransformProperty:s}}();function RepeaterModifier(){}extendPrototype([ShapeModifier],RepeaterModifier),RepeaterModifier.prototype.initModifierProperties=function(a,i){if(this.getValue=this.processKeys,this.c=PropertyFactory.getProp(a,i.c,0,null,this),this.o=PropertyFactory.getProp(a,i.o,0,null,this),this.tr=TransformPropertyFactory.getTransformProperty(a,i.tr,this),this.so=PropertyFactory.getProp(a,i.tr.so,0,0.01,this),this.eo=PropertyFactory.getProp(a,i.tr.eo,0,0.01,this),this.data=i,!this.dynamicProperties.length)this.getValue(!0);this._isAnimated=!!this.dynamicProperties.length,this.pMatrix=new Matrix,this.rMatrix=new Matrix,this.sMatrix=new Matrix,this.tMatrix=new Matrix,this.matrix=new Matrix},RepeaterModifier.prototype.applyTransforms=function(a,i,e,o,r,n){var t=n?-1:1,s=o.s.v[0]+(1-o.s.v[0])*(1-r),l=o.s.v[1]+(1-o.s.v[1])*(1-r);a.translate(o.p.v[0]*t*r,o.p.v[1]*t*r,o.p.v[2]),i.translate(-o.a.v[0],-o.a.v[1],o.a.v[2]),i.rotate(-o.r.v*t*r),i.translate(o.a.v[0],o.a.v[1],o.a.v[2]),e.translate(-o.a.v[0],-o.a.v[1],o.a.v[2]),e.scale(n?1/s:s,n?1/l:l),e.translate(o.a.v[0],o.a.v[1],o.a.v[2])},RepeaterModifier.prototype.init=function(a,i,e,o){this.elem=a,this.arr=i,this.pos=e,this.elemsData=o,this._currentCopies=0,this._elements=[],this._groups=[],this.frameId=-1,this.initDynamicPropertyContainer(a),this.initModifierProperties(a,i[e]);while(e>0)e-=1,this._elements.unshift(i[e]);if(this.dynamicProperties.length)this.k=!0;else this.getValue(!0)},RepeaterModifier.prototype.resetElements=function(a){var i,e=a.length;for(i=0;i<e;i+=1)if(a[i]._processed=!1,a[i].ty==="gr")this.resetElements(a[i].it)},RepeaterModifier.prototype.cloneElements=function(a){var i=JSON.parse(JSON.stringify(a));return this.resetElements(i),i},RepeaterModifier.prototype.changeGroupRender=function(a,i){var e,o=a.length;for(e=0;e<o;e+=1)if(a[e]._render=i,a[e].ty==="gr")this.changeGroupRender(a[e].it,i)},RepeaterModifier.prototype.processShapes=function(a){var i,e,o,r,n,t=!1;if(this._mdf||a){var s=Math.ceil(this.c.v);if(this._groups.length<s){while(this._groups.length<s){var l={it:this.cloneElements(this._elements),ty:"gr"};l.it.push({a:{a:0,ix:1,k:[0,0]},nm:"Transform",o:{a:0,ix:7,k:100},p:{a:0,ix:2,k:[0,0]},r:{a:1,ix:6,k:[{s:0,e:0,t:0},{s:0,e:0,t:1}]},s:{a:0,ix:3,k:[100,100]},sa:{a:0,ix:5,k:0},sk:{a:0,ix:4,k:0},ty:"tr"}),this.arr.splice(0,0,l),this._groups.splice(0,0,l),this._currentCopies+=1}this.elem.reloadShapes(),t=!0}n=0;var u;for(o=0;o<=this._groups.length-1;o+=1){if(u=n<s,this._groups[o]._render=u,this.changeGroupRender(this._groups[o].it,u),!u){var h=this.elemsData[o].it,f=h[h.length-1];if(f.transform.op.v!==0)f.transform.op._mdf=!0,f.transform.op.v=0;else f.transform.op._mdf=!1}n+=1}this._currentCopies=s;var c=this.o.v,y=c%1,g=c>0?Math.floor(c):Math.ceil(c),b=this.pMatrix.props,I=this.rMatrix.props,m=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var k=0;if(c>0){while(k<g)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),k+=1;if(y)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,y,!1),k+=y}else if(c<0){while(k>g)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),k-=1;if(y)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-y,!0),k-=y}o=this.data.m===1?0:this._currentCopies-1,r=this.data.m===1?1:-1,n=this._currentCopies;var p,v;while(n){if(i=this.elemsData[o].it,e=i[i.length-1].transform.mProps.v.props,v=e.length,i[i.length-1].transform.mProps._mdf=!0,i[i.length-1].transform.op._mdf=!0,i[i.length-1].transform.op.v=this._currentCopies===1?this.so.v:this.so.v+(this.eo.v-this.so.v)*(o/(this._currentCopies-1)),k!==0){if(o!==0&&r===1||o!==this._currentCopies-1&&r===-1)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1);this.matrix.transform(I[0],I[1],I[2],I[3],I[4],I[5],I[6],I[7],I[8],I[9],I[10],I[11],I[12],I[13],I[14],I[15]),this.matrix.transform(m[0],m[1],m[2],m[3],m[4],m[5],m[6],m[7],m[8],m[9],m[10],m[11],m[12],m[13],m[14],m[15]),this.matrix.transform(b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],b[9],b[10],b[11],b[12],b[13],b[14],b[15]);for(p=0;p<v;p+=1)e[p]=this.matrix.props[p];this.matrix.reset()}else{this.matrix.reset();for(p=0;p<v;p+=1)e[p]=this.matrix.props[p]}k+=1,n-=1,o+=r}}else{n=this._currentCopies,o=0,r=1;while(n)i=this.elemsData[o].it,e=i[i.length-1].transform.mProps.v.props,i[i.length-1].transform.mProps._mdf=!1,i[i.length-1].transform.op._mdf=!1,n-=1,o+=r}return t},RepeaterModifier.prototype.addShape=function(){};function RoundCornersModifier(){}extendPrototype([ShapeModifier],RoundCornersModifier),RoundCornersModifier.prototype.initModifierProperties=function(a,i){this.getValue=this.processKeys,this.rd=PropertyFactory.getProp(a,i.r,0,null,this),this._isAnimated=!!this.rd.effectsSequence.length},RoundCornersModifier.prototype.processPath=function(a,i){var e=shapePool.newElement();e.c=a.c;var o,r=a._length,n,t,s,l,u,h,f=0,c,y,g,b,I,m;for(o=0;o<r;o+=1)if(n=a.v[o],s=a.o[o],t=a.i[o],n[0]===s[0]&&n[1]===s[1]&&n[0]===t[0]&&n[1]===t[1])if((o===0||o===r-1)&&!a.c)e.setTripleAt(n[0],n[1],s[0],s[1],t[0],t[1],f),f+=1;else{if(o===0)l=a.v[r-1];else l=a.v[o-1];if(u=Math.sqrt(Math.pow(n[0]-l[0],2)+Math.pow(n[1]-l[1],2)),h=u?Math.min(u/2,i)/u:0,I=n[0]+(l[0]-n[0])*h,c=I,m=n[1]-(n[1]-l[1])*h,y=m,g=c-(c-n[0])*roundCorner,b=y-(y-n[1])*roundCorner,e.setTripleAt(c,y,g,b,I,m,f),f+=1,o===r-1)l=a.v[0];else l=a.v[o+1];u=Math.sqrt(Math.pow(n[0]-l[0],2)+Math.pow(n[1]-l[1],2)),h=u?Math.min(u/2,i)/u:0,g=n[0]+(l[0]-n[0])*h,c=g,b=n[1]+(l[1]-n[1])*h,y=b,I=c-(c-n[0])*roundCorner,m=y-(y-n[1])*roundCorner,e.setTripleAt(c,y,g,b,I,m,f),f+=1}else e.setTripleAt(a.v[o][0],a.v[o][1],a.o[o][0],a.o[o][1],a.i[o][0],a.i[o][1],f),f+=1;return e},RoundCornersModifier.prototype.processShapes=function(a){var i,e,o=this.shapes.length,r,n,t=this.rd.v;if(t!==0){var s,l;for(e=0;e<o;e+=1){if(s=this.shapes[e],l=s.localShapeCollection,!(!s.shape._mdf&&!this._mdf&&!a)){l.releaseShapes(),s.shape._mdf=!0,i=s.shape.paths.shapes,n=s.shape.paths._length;for(r=0;r<n;r+=1)l.addShape(this.processPath(i[r],t))}s.shape.paths=s.localShapeCollection}}if(!this.dynamicProperties.length)this._mdf=!1};function floatEqual(a,i){return Math.abs(a-i)*1e5<=Math.min(Math.abs(a),Math.abs(i))}function floatZero(a){return Math.abs(a)<=0.00001}function lerp(a,i,e){return a*(1-e)+i*e}function lerpPoint(a,i,e){return[lerp(a[0],i[0],e),lerp(a[1],i[1],e)]}function quadRoots(a,i,e){if(a===0)return[];var o=i*i-4*a*e;if(o<0)return[];var r=-i/(2*a);if(o===0)return[r];var n=Math.sqrt(o)/(2*a);return[r-n,r+n]}function polynomialCoefficients(a,i,e,o){return[-a+3*i-3*e+o,3*a-6*i+3*e,-3*a+3*i,a]}function singlePoint(a){return new PolynomialBezier(a,a,a,a,!1)}function PolynomialBezier(a,i,e,o,r){if(r&&pointEqual(a,i))i=lerpPoint(a,o,0.3333333333333333);if(r&&pointEqual(e,o))e=lerpPoint(a,o,0.6666666666666666);var n=polynomialCoefficients(a[0],i[0],e[0],o[0]),t=polynomialCoefficients(a[1],i[1],e[1],o[1]);this.a=[n[0],t[0]],this.b=[n[1],t[1]],this.c=[n[2],t[2]],this.d=[n[3],t[3]],this.points=[a,i,e,o]}PolynomialBezier.prototype.point=function(a){return[((this.a[0]*a+this.b[0])*a+this.c[0])*a+this.d[0],((this.a[1]*a+this.b[1])*a+this.c[1])*a+this.d[1]]},PolynomialBezier.prototype.derivative=function(a){return[(3*a*this.a[0]+2*this.b[0])*a+this.c[0],(3*a*this.a[1]+2*this.b[1])*a+this.c[1]]},PolynomialBezier.prototype.tangentAngle=function(a){var i=this.derivative(a);return Math.atan2(i[1],i[0])},PolynomialBezier.prototype.normalAngle=function(a){var i=this.derivative(a);return Math.atan2(i[0],i[1])},PolynomialBezier.prototype.inflectionPoints=function(){var a=this.a[1]*this.b[0]-this.a[0]*this.b[1];if(floatZero(a))return[];var i=-0.5*(this.a[1]*this.c[0]-this.a[0]*this.c[1])/a,e=i*i-0.3333333333333333*(this.b[1]*this.c[0]-this.b[0]*this.c[1])/a;if(e<0)return[];var o=Math.sqrt(e);if(floatZero(o)){if(o>0&&o<1)return[i];return[]}return[i-o,i+o].filter(function(r){return r>0&&r<1})},PolynomialBezier.prototype.split=function(a){if(a<=0)return[singlePoint(this.points[0]),this];if(a>=1)return[this,singlePoint(this.points[this.points.length-1])];var i=lerpPoint(this.points[0],this.points[1],a),e=lerpPoint(this.points[1],this.points[2],a),o=lerpPoint(this.points[2],this.points[3],a),r=lerpPoint(i,e,a),n=lerpPoint(e,o,a),t=lerpPoint(r,n,a);return[new PolynomialBezier(this.points[0],i,r,t,!0),new PolynomialBezier(t,n,o,this.points[3],!0)]};function extrema(a,i){var e=a.points[0][i],o=a.points[a.points.length-1][i];if(e>o){var r=o;o=e,e=r}var n=quadRoots(3*a.a[i],2*a.b[i],a.c[i]);for(var t=0;t<n.length;t+=1)if(n[t]>0&&n[t]<1){var s=a.point(n[t])[i];if(s<e)e=s;else if(s>o)o=s}return{min:e,max:o}}PolynomialBezier.prototype.bounds=function(){return{x:extrema(this,0),y:extrema(this,1)}},PolynomialBezier.prototype.boundingBox=function(){var a=this.bounds();return{left:a.x.min,right:a.x.max,top:a.y.min,bottom:a.y.max,width:a.x.max-a.x.min,height:a.y.max-a.y.min,cx:(a.x.max+a.x.min)/2,cy:(a.y.max+a.y.min)/2}};function intersectData(a,i,e){var o=a.boundingBox();return{cx:o.cx,cy:o.cy,width:o.width,height:o.height,bez:a,t:(i+e)/2,t1:i,t2:e}}function splitData(a){var i=a.bez.split(0.5);return[intersectData(i[0],a.t1,a.t),intersectData(i[1],a.t,a.t2)]}function boxIntersect(a,i){return Math.abs(a.cx-i.cx)*2<a.width+i.width&&Math.abs(a.cy-i.cy)*2<a.height+i.height}function intersectsImpl(a,i,e,o,r,n){if(!boxIntersect(a,i))return;if(e>=n||a.width<=o&&a.height<=o&&i.width<=o&&i.height<=o){r.push([a.t,i.t]);return}var t=splitData(a),s=splitData(i);intersectsImpl(t[0],s[0],e+1,o,r,n),intersectsImpl(t[0],s[1],e+1,o,r,n),intersectsImpl(t[1],s[0],e+1,o,r,n),intersectsImpl(t[1],s[1],e+1,o,r,n)}PolynomialBezier.prototype.intersections=function(a,i,e){if(i===void 0)i=2;if(e===void 0)e=7;var o=[];return intersectsImpl(intersectData(this,0,1),intersectData(a,0,1),0,i,o,e),o},PolynomialBezier.shapeSegment=function(a,i){var e=(i+1)%a.length();return new PolynomialBezier(a.v[i],a.o[i],a.i[e],a.v[e],!0)},PolynomialBezier.shapeSegmentInverted=function(a,i){var e=(i+1)%a.length();return new PolynomialBezier(a.v[e],a.i[e],a.o[i],a.v[i],!0)};function crossProduct(a,i){return[a[1]*i[2]-a[2]*i[1],a[2]*i[0]-a[0]*i[2],a[0]*i[1]-a[1]*i[0]]}function lineIntersection(a,i,e,o){var r=[a[0],a[1],1],n=[i[0],i[1],1],t=[e[0],e[1],1],s=[o[0],o[1],1],l=crossProduct(crossProduct(r,n),crossProduct(t,s));if(floatZero(l[2]))return null;return[l[0]/l[2],l[1]/l[2]]}function polarOffset(a,i,e){return[a[0]+Math.cos(i)*e,a[1]-Math.sin(i)*e]}function pointDistance(a,i){return Math.hypot(a[0]-i[0],a[1]-i[1])}function pointEqual(a,i){return floatEqual(a[0],i[0])&&floatEqual(a[1],i[1])}function ZigZagModifier(){}extendPrototype([ShapeModifier],ZigZagModifier),ZigZagModifier.prototype.initModifierProperties=function(a,i){this.getValue=this.processKeys,this.amplitude=PropertyFactory.getProp(a,i.s,0,null,this),this.frequency=PropertyFactory.getProp(a,i.r,0,null,this),this.pointsType=PropertyFactory.getProp(a,i.pt,0,null,this),this._isAnimated=this.amplitude.effectsSequence.length!==0||this.frequency.effectsSequence.length!==0||this.pointsType.effectsSequence.length!==0};function setPoint(a,i,e,o,r,n,t){var s=e-Math.PI/2,l=e+Math.PI/2,u=i[0]+Math.cos(e)*o*r,h=i[1]-Math.sin(e)*o*r;a.setTripleAt(u,h,u+Math.cos(s)*n,h-Math.sin(s)*n,u+Math.cos(l)*t,h-Math.sin(l)*t,a.length())}function getPerpendicularVector(a,i){var e=[i[0]-a[0],i[1]-a[1]],o=-Math.PI*0.5,r=[Math.cos(o)*e[0]-Math.sin(o)*e[1],Math.sin(o)*e[0]+Math.cos(o)*e[1]];return r}function getProjectingAngle(a,i){var e=i===0?a.length()-1:i-1,o=(i+1)%a.length(),r=a.v[e],n=a.v[o],t=getPerpendicularVector(r,n);return Math.atan2(0,1)-Math.atan2(t[1],t[0])}function zigZagCorner(a,i,e,o,r,n,t){var s=getProjectingAngle(i,e),l=i.v[e%i._length],u=i.v[e===0?i._length-1:e-1],h=i.v[(e+1)%i._length],f=n===2?Math.sqrt(Math.pow(l[0]-u[0],2)+Math.pow(l[1]-u[1],2)):0,c=n===2?Math.sqrt(Math.pow(l[0]-h[0],2)+Math.pow(l[1]-h[1],2)):0;setPoint(a,i.v[e%i._length],s,t,o,c/((r+1)*2),f/((r+1)*2),n)}function zigZagSegment(a,i,e,o,r,n){for(var t=0;t<o;t+=1){var s=(t+1)/(o+1),l=r===2?Math.sqrt(Math.pow(i.points[3][0]-i.points[0][0],2)+Math.pow(i.points[3][1]-i.points[0][1],2)):0,u=i.normalAngle(s),h=i.point(s);setPoint(a,h,u,n,e,l/((o+1)*2),l/((o+1)*2),r),n=-n}return n}ZigZagModifier.prototype.processPath=function(a,i,e,o){var r=a._length,n=shapePool.newElement();if(n.c=a.c,!a.c)r-=1;if(r===0)return n;var t=-1,s=PolynomialBezier.shapeSegment(a,0);zigZagCorner(n,a,0,i,e,o,t);for(var l=0;l<r;l+=1){if(t=zigZagSegment(n,s,i,e,o,-t),l===r-1&&!a.c)s=null;else s=PolynomialBezier.shapeSegment(a,(l+1)%r);zigZagCorner(n,a,l+1,i,e,o,t)}return n},ZigZagModifier.prototype.processShapes=function(a){var i,e,o=this.shapes.length,r,n,t=this.amplitude.v,s=Math.max(0,Math.round(this.frequency.v)),l=this.pointsType.v;if(t!==0){var u,h;for(e=0;e<o;e+=1){if(u=this.shapes[e],h=u.localShapeCollection,!(!u.shape._mdf&&!this._mdf&&!a)){h.releaseShapes(),u.shape._mdf=!0,i=u.shape.paths.shapes,n=u.shape.paths._length;for(r=0;r<n;r+=1)h.addShape(this.processPath(i[r],t,s,l))}u.shape.paths=u.localShapeCollection}}if(!this.dynamicProperties.length)this._mdf=!1};function linearOffset(a,i,e){var o=Math.atan2(i[0]-a[0],i[1]-a[1]);return[polarOffset(a,o,e),polarOffset(i,o,e)]}function offsetSegment(a,i){var e,o,r,n,t,s,l;l=linearOffset(a.points[0],a.points[1],i),e=l[0],o=l[1],l=linearOffset(a.points[1],a.points[2],i),r=l[0],n=l[1],l=linearOffset(a.points[2],a.points[3],i),t=l[0],s=l[1];var u=lineIntersection(e,o,r,n);if(u===null)u=o;var h=lineIntersection(t,s,r,n);if(h===null)h=t;return new PolynomialBezier(e,u,h,s)}function joinLines(a,i,e,o,r){var n=i.points[3],t=e.points[0];if(o===3)return n;if(pointEqual(n,t))return n;if(o===2){var s=-i.tangentAngle(1),l=-e.tangentAngle(0)+Math.PI,u=lineIntersection(n,polarOffset(n,s+Math.PI/2,100),t,polarOffset(t,s+Math.PI/2,100)),h=u?pointDistance(u,n):pointDistance(n,t)/2,f=polarOffset(n,s,2*h*roundCorner);return a.setXYAt(f[0],f[1],"o",a.length()-1),f=polarOffset(t,l,2*h*roundCorner),a.setTripleAt(t[0],t[1],t[0],t[1],f[0],f[1],a.length()),t}var c=pointEqual(n,i.points[2])?i.points[0]:i.points[2],y=pointEqual(t,e.points[1])?e.points[3]:e.points[1],g=lineIntersection(c,n,t,y);if(g&&pointDistance(g,n)<r)return a.setTripleAt(g[0],g[1],g[0],g[1],g[0],g[1],a.length()),g;return n}function getIntersection(a,i){var e=a.intersections(i);if(e.length&&floatEqual(e[0][0],1))e.shift();if(e.length)return e[0];return null}function pruneSegmentIntersection(a,i){var e=a.slice(),o=i.slice(),r=getIntersection(a[a.length-1],i[0]);if(r)e[a.length-1]=a[a.length-1].split(r[0])[0],o[0]=i[0].split(r[1])[1];if(a.length>1&&i.length>1){if(r=getIntersection(a[0],i[i.length-1]),r)return[[a[0].split(r[0])[0]],[i[i.length-1].split(r[1])[1]]]}return[e,o]}function pruneIntersections(a){var i;for(var e=1;e<a.length;e+=1)i=pruneSegmentIntersection(a[e-1],a[e]),a[e-1]=i[0],a[e]=i[1];if(a.length>1)i=pruneSegmentIntersection(a[a.length-1],a[0]),a[a.length-1]=i[0],a[0]=i[1];return a}function offsetSegmentSplit(a,i){var e=a.inflectionPoints(),o,r,n,t;if(e.length===0)return[offsetSegment(a,i)];if(e.length===1||floatEqual(e[1],1))return n=a.split(e[0]),o=n[0],r=n[1],[offsetSegment(o,i),offsetSegment(r,i)];n=a.split(e[0]),o=n[0];var s=(e[1]-e[0])/(1-e[0]);return n=n[1].split(s),t=n[0],r=n[1],[offsetSegment(o,i),offsetSegment(t,i),offsetSegment(r,i)]}function OffsetPathModifier(){}extendPrototype([ShapeModifier],OffsetPathModifier),OffsetPathModifier.prototype.initModifierProperties=function(a,i){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(a,i.a,0,null,this),this.miterLimit=PropertyFactory.getProp(a,i.ml,0,null,this),this.lineJoin=i.lj,this._isAnimated=this.amount.effectsSequence.length!==0},OffsetPathModifier.prototype.processPath=function(a,i,e,o){var r=shapePool.newElement();r.c=a.c;var n=a.length();if(!a.c)n-=1;var t,s,l,u=[];for(t=0;t<n;t+=1)l=PolynomialBezier.shapeSegment(a,t),u.push(offsetSegmentSplit(l,i));if(!a.c)for(t=n-1;t>=0;t-=1)l=PolynomialBezier.shapeSegmentInverted(a,t),u.push(offsetSegmentSplit(l,i));u=pruneIntersections(u);var h=null,f=null;for(t=0;t<u.length;t+=1){var c=u[t];if(f)h=joinLines(r,f,c[0],e,o);f=c[c.length-1];for(s=0;s<c.length;s+=1){if(l=c[s],h&&pointEqual(l.points[0],h))r.setXYAt(l.points[1][0],l.points[1][1],"o",r.length()-1);else r.setTripleAt(l.points[0][0],l.points[0][1],l.points[1][0],l.points[1][1],l.points[0][0],l.points[0][1],r.length());r.setTripleAt(l.points[3][0],l.points[3][1],l.points[3][0],l.points[3][1],l.points[2][0],l.points[2][1],r.length()),h=l.points[3]}}if(u.length)joinLines(r,f,u[0][0],e,o);return r},OffsetPathModifier.prototype.processShapes=function(a){var i,e,o=this.shapes.length,r,n,t=this.amount.v,s=this.miterLimit.v,l=this.lineJoin;if(t!==0){var u,h;for(e=0;e<o;e+=1){if(u=this.shapes[e],h=u.localShapeCollection,!(!u.shape._mdf&&!this._mdf&&!a)){h.releaseShapes(),u.shape._mdf=!0,i=u.shape.paths.shapes,n=u.shape.paths._length;for(r=0;r<n;r+=1)h.addShape(this.processPath(i[r],t,l,s))}u.shape.paths=u.localShapeCollection}}if(!this.dynamicProperties.length)this._mdf=!1};function getFontProperties(a){var i=a.fStyle?a.fStyle.split(" "):[],e="normal",o="normal",r=i.length,n;for(var t=0;t<r;t+=1)switch(n=i[t].toLowerCase(),n){case"italic":o="italic";break;case"bold":e="700";break;case"black":e="900";break;case"medium":e="500";break;case"regular":case"normal":e="400";break;case"light":case"thin":e="200";break;default:break}return{style:o,weight:a.fWeight||e}}var FontManager=function(){var a=5000,i={w:0,size:0,shapes:[],data:{shapes:[]}},e=[];e=e.concat([2304,2305,2306,2307,2362,2363,2364,2364,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2387,2388,2389,2390,2391,2402,2403]);var o=127988,r=917631,n=917601,t=917626,s=65039,l=8205,u=127462,h=127487,f=["d83cdffb","d83cdffc","d83cdffd","d83cdffe","d83cdfff"];function c(H){var Z=H.split(","),w,x=Z.length,V=[];for(w=0;w<x;w+=1)if(Z[w]!=="sans-serif"&&Z[w]!=="monospace")V.push(Z[w]);return V.join(",")}function y(H,Z){var w=createTag("span");w.setAttribute("aria-hidden",!0),w.style.fontFamily=Z;var x=createTag("span");x.innerText="giItT1WQy@!-/#",w.style.position="absolute",w.style.left="-10000px",w.style.top="-10000px",w.style.fontSize="300px",w.style.fontVariant="normal",w.style.fontStyle="normal",w.style.fontWeight="normal",w.style.letterSpacing="0",w.appendChild(x),document.body.appendChild(w);var V=x.offsetWidth;return x.style.fontFamily=c(H)+", "+Z,{node:x,w:V,parent:w}}function g(){var H,Z=this.fonts.length,w,x,V=Z;for(H=0;H<Z;H+=1)if(this.fonts[H].loaded)V-=1;else if(this.fonts[H].fOrigin==="n"||this.fonts[H].origin===0)this.fonts[H].loaded=!0;else{if(w=this.fonts[H].monoCase.node,x=this.fonts[H].monoCase.w,w.offsetWidth!==x)V-=1,this.fonts[H].loaded=!0;else if(w=this.fonts[H].sansCase.node,x=this.fonts[H].sansCase.w,w.offsetWidth!==x)V-=1,this.fonts[H].loaded=!0;if(this.fonts[H].loaded)this.fonts[H].sansCase.parent.parentNode.removeChild(this.fonts[H].sansCase.parent),this.fonts[H].monoCase.parent.parentNode.removeChild(this.fonts[H].monoCase.parent)}if(V!==0&&Date.now()-this.initTime<a)setTimeout(this.checkLoadedFontsBinded,20);else setTimeout(this.setIsLoadedBinded,10)}function b(H,Z){var w=document.body&&Z?"svg":"canvas",x,V=getFontProperties(H);if(w==="svg"){var B=createNS("text");if(B.style.fontSize="100px",B.setAttribute("font-family",H.fFamily),B.setAttribute("font-style",V.style),B.setAttribute("font-weight",V.weight),B.textContent="1",H.fClass)B.style.fontFamily="inherit",B.setAttribute("class",H.fClass);else B.style.fontFamily=H.fFamily;Z.appendChild(B),x=B}else{var A=new OffscreenCanvas(500,500).getContext("2d");A.font=V.style+" "+V.weight+" 100px "+H.fFamily,x=A}function ia(ra){if(w==="svg")return x.textContent=ra,x.getComputedTextLength();return x.measureText(ra).width}return{measureText:ia}}function I(H,Z){if(!H){this.isLoaded=!0;return}if(this.chars){this.isLoaded=!0,this.fonts=H.list;return}if(!document.body){this.isLoaded=!0,H.list.forEach(function(Fa){Fa.helper=b(Fa),Fa.cache={}}),this.fonts=H.list;return}var w=H.list,x,V=w.length,B=V;for(x=0;x<V;x+=1){var A=!0,ia,ra;if(w[x].loaded=!1,w[x].monoCase=y(w[x].fFamily,"monospace"),w[x].sansCase=y(w[x].fFamily,"sans-serif"),!w[x].fPath)w[x].loaded=!0,B-=1;else if(w[x].fOrigin==="p"||w[x].origin===3){if(ia=document.querySelectorAll('style[f-forigin="p"][f-family="'+w[x].fFamily+'"], style[f-origin="3"][f-family="'+w[x].fFamily+'"]'),ia.length>0)A=!1;if(A){var la=createTag("style");la.setAttribute("f-forigin",w[x].fOrigin),la.setAttribute("f-origin",w[x].origin),la.setAttribute("f-family",w[x].fFamily),la.type="text/css",la.innerText="@font-face {font-family: "+w[x].fFamily+"; font-style: normal; src: url('"+w[x].fPath+"');}",Z.appendChild(la)}}else if(w[x].fOrigin==="g"||w[x].origin===1){ia=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]');for(ra=0;ra<ia.length;ra+=1)if(ia[ra].href.indexOf(w[x].fPath)!==-1)A=!1;if(A){var da=createTag("link");da.setAttribute("f-forigin",w[x].fOrigin),da.setAttribute("f-origin",w[x].origin),da.type="text/css",da.rel="stylesheet",da.href=w[x].fPath,document.body.appendChild(da)}}else if(w[x].fOrigin==="t"||w[x].origin===2){ia=document.querySelectorAll('script[f-forigin="t"], script[f-origin="2"]');for(ra=0;ra<ia.length;ra+=1)if(w[x].fPath===ia[ra].src)A=!1;if(A){var ya=createTag("link");ya.setAttribute("f-forigin",w[x].fOrigin),ya.setAttribute("f-origin",w[x].origin),ya.setAttribute("rel","stylesheet"),ya.setAttribute("href",w[x].fPath),Z.appendChild(ya)}}w[x].helper=b(w[x],Z),w[x].cache={},this.fonts.push(w[x])}if(B===0)this.isLoaded=!0;else setTimeout(this.checkLoadedFonts.bind(this),100)}function m(H){if(!H)return;if(!this.chars)this.chars=[];var Z,w=H.length,x,V=this.chars.length,B;for(Z=0;Z<w;Z+=1){x=0,B=!1;while(x<V){if(this.chars[x].style===H[Z].style&&this.chars[x].fFamily===H[Z].fFamily&&this.chars[x].ch===H[Z].ch)B=!0;x+=1}if(!B)this.chars.push(H[Z]),V+=1}}function k(H,Z,w){var x=0,V=this.chars.length;while(x<V){if(this.chars[x].ch===H&&this.chars[x].style===Z&&this.chars[x].fFamily===w)return this.chars[x];x+=1}if((typeof H==="string"&&H.charCodeAt(0)!==13||!H)&&console&&console.warn&&!this._warned)this._warned=!0,console.warn("Missing character from exported characters list: ",H,Z,w);return i}function p(H,Z,w){var x=this.getFontByName(Z),V=H;if(!x.cache[V]){var B=x.helper;if(H===" "){var A=B.measureText("|"+H+"|"),ia=B.measureText("||");x.cache[V]=(A-ia)/100}else x.cache[V]=B.measureText(H)/100}return x.cache[V]*w}function v(H){var Z=0,w=this.fonts.length;while(Z<w){if(this.fonts[Z].fName===H)return this.fonts[Z];Z+=1}return this.fonts[0]}function S(H){var Z=0,w=H.charCodeAt(0);if(w>=55296&&w<=56319){var x=H.charCodeAt(1);if(x>=56320&&x<=57343)Z=(w-55296)*1024+x-56320+65536}return Z}function F(H,Z){var w=H.toString(16)+Z.toString(16);return f.indexOf(w)!==-1}function K(H){return H===l}function R(H){return H===s}function P(H){var Z=S(H);if(Z>=u&&Z<=h)return!0;return!1}function M(H){return P(H.substr(0,2))&&P(H.substr(2,2))}function X(H){return e.indexOf(H)!==-1}function _(H,Z){var w=S(H.substr(Z,2));if(w!==o)return!1;var x=0;Z+=2;while(x<5){if(w=S(H.substr(Z,2)),w<n||w>t)return!1;x+=1,Z+=2}return S(H.substr(Z,2))===r}function U(){this.isLoaded=!0}var G=function H(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this)};G.isModifier=F,G.isZeroWidthJoiner=K,G.isFlagEmoji=M,G.isRegionalCode=P,G.isCombinedCharacter=X,G.isRegionalFlag=_,G.isVariationSelector=R,G.BLACK_FLAG_CODE_POINT=o;var O={addChars:m,addFonts:I,getCharData:k,getFontByName:v,measureText:p,checkLoadedFonts:g,setIsLoaded:U};return G.prototype=O,G}();function SlotManager(a){this.animationData=a}SlotManager.prototype.getProp=function(a){if(this.animationData.slots&&this.animationData.slots[a.sid])return Object.assign(a,this.animationData.slots[a.sid].p);return a};function slotFactory(a){return new SlotManager(a)}function RenderableElement(){}RenderableElement.prototype={initRenderable:function a(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[]},addRenderableComponent:function a(i){if(this.renderableComponents.indexOf(i)===-1)this.renderableComponents.push(i)},removeRenderableComponent:function a(i){if(this.renderableComponents.indexOf(i)!==-1)this.renderableComponents.splice(this.renderableComponents.indexOf(i),1)},prepareRenderableFrame:function a(i){this.checkLayerLimits(i)},checkTransparency:function a(){if(this.finalTransform.mProp.o.v<=0){if(!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent)this.isTransparent=!0,this.hide()}else if(this.isTransparent)this.isTransparent=!1,this.show()},checkLayerLimits:function a(i){if(this.data.ip-this.data.st<=i&&this.data.op-this.data.st>i){if(this.isInRange!==!0)this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()}else if(this.isInRange!==!1)this.globalData._mdf=!0,this.isInRange=!1,this.hide()},renderRenderable:function a(){var i,e=this.renderableComponents.length;for(i=0;i<e;i+=1)this.renderableComponents[i].renderFrame(this._isFirstFrame)},sourceRectAtTime:function a(){return{top:0,left:0,width:100,height:100}},getLayerSize:function a(){if(this.data.ty===5)return{w:this.data.textData.width,h:this.data.textData.height};return{w:this.data.width,h:this.data.height}}};var getBlendMode=function(){var a={0:"source-over",1:"multiply",2:"screen",3:"overlay",4:"darken",5:"lighten",6:"color-dodge",7:"color-burn",8:"hard-light",9:"soft-light",10:"difference",11:"exclusion",12:"hue",13:"saturation",14:"color",15:"luminosity"};return function(i){return a[i]||""}}();function SliderEffect(a,i,e){this.p=PropertyFactory.getProp(i,a.v,0,0,e)}function AngleEffect(a,i,e){this.p=PropertyFactory.getProp(i,a.v,0,0,e)}function ColorEffect(a,i,e){this.p=PropertyFactory.getProp(i,a.v,1,0,e)}function PointEffect(a,i,e){this.p=PropertyFactory.getProp(i,a.v,1,0,e)}function LayerIndexEffect(a,i,e){this.p=PropertyFactory.getProp(i,a.v,0,0,e)}function MaskIndexEffect(a,i,e){this.p=PropertyFactory.getProp(i,a.v,0,0,e)}function CheckboxEffect(a,i,e){this.p=PropertyFactory.getProp(i,a.v,0,0,e)}function NoValueEffect(){this.p={}}function EffectsManager(a,i){var e=a.ef||[];this.effectElements=[];var o,r=e.length,n;for(o=0;o<r;o+=1)n=new GroupEffect(e[o],i),this.effectElements.push(n)}function GroupEffect(a,i){this.init(a,i)}extendPrototype([DynamicPropertyContainer],GroupEffect),GroupEffect.prototype.getValue=GroupEffect.prototype.iterateDynamicProperties,GroupEffect.prototype.init=function(a,i){this.data=a,this.effectElements=[],this.initDynamicPropertyContainer(i);var e,o=this.data.ef.length,r,n=this.data.ef;for(e=0;e<o;e+=1){switch(r=null,n[e].ty){case 0:r=new SliderEffect(n[e],i,this);break;case 1:r=new AngleEffect(n[e],i,this);break;case 2:r=new ColorEffect(n[e],i,this);break;case 3:r=new PointEffect(n[e],i,this);break;case 4:case 7:r=new CheckboxEffect(n[e],i,this);break;case 10:r=new LayerIndexEffect(n[e],i,this);break;case 11:r=new MaskIndexEffect(n[e],i,this);break;case 5:r=new EffectsManager(n[e],i,this);break;default:r=new NoValueEffect(n[e],i,this);break}if(r)this.effectElements.push(r)}};function BaseElement(){}BaseElement.prototype={checkMasks:function a(){if(!this.data.hasMask)return!1;var i=0,e=this.data.masksProperties.length;while(i<e){if(this.data.masksProperties[i].mode!=="n"&&this.data.masksProperties[i].cl!==!1)return!0;i+=1}return!1},initExpressions:function a(){var i=getExpressionInterfaces();if(!i)return;var e=i("layer"),o=i("effects"),r=i("shape"),n=i("text"),t=i("comp");if(this.layerInterface=e(this),this.data.hasMask&&this.maskManager)this.layerInterface.registerMaskInterface(this.maskManager);var s=o.createEffectsInterface(this,this.layerInterface);if(this.layerInterface.registerEffectsInterface(s),this.data.ty===0||this.data.xt)this.compInterface=t(this);else if(this.data.ty===4)this.layerInterface.shapeInterface=r(this.shapesData,this.itemsData,this.layerInterface),this.layerInterface.content=this.layerInterface.shapeInterface;else if(this.data.ty===5)this.layerInterface.textInterface=n(this),this.layerInterface.text=this.layerInterface.textInterface},setBlendMode:function a(){var i=getBlendMode(this.data.bm),e=this.baseElement||this.layerElement;e.style["mix-blend-mode"]=i},initBaseData:function a(i,e,o){if(this.globalData=e,this.comp=o,this.data=i,this.layerId=createElementID(),!this.data.sr)this.data.sr=1;this.effectsManager=new EffectsManager(this.data,this,this.dynamicProperties)},getType:function a(){return this.type},sourceRectAtTime:function a(){}};function FrameElement(){}FrameElement.prototype={initFrame:function a(){this._isFirstFrame=!1,this.dynamicProperties=[],this._mdf=!1},prepareProperties:function a(i,e){var o,r=this.dynamicProperties.length;for(o=0;o<r;o+=1)if(e||this._isParent&&this.dynamicProperties[o].propType==="transform"){if(this.dynamicProperties[o].getValue(),this.dynamicProperties[o]._mdf)this.globalData._mdf=!0,this._mdf=!0}},addDynamicProperty:function a(i){if(this.dynamicProperties.indexOf(i)===-1)this.dynamicProperties.push(i)}};function FootageElement(a,i,e){this.initFrame(),this.initRenderable(),this.assetData=i.getAssetData(a.refId),this.footageData=i.imageLoader.getAsset(this.assetData),this.initBaseData(a,i,e)}FootageElement.prototype.prepareFrame=function(){},extendPrototype([RenderableElement,BaseElement,FrameElement],FootageElement),FootageElement.prototype.getBaseElement=function(){return null},FootageElement.prototype.renderFrame=function(){},FootageElement.prototype.destroy=function(){},FootageElement.prototype.initExpressions=function(){var a=getExpressionInterfaces();if(!a)return;var i=a("footage");this.layerInterface=i(this)},FootageElement.prototype.getFootageData=function(){return this.footageData};function AudioElement(a,i,e){this.initFrame(),this.initRenderable(),this.assetData=i.getAssetData(a.refId),this.initBaseData(a,i,e),this._isPlaying=!1,this._canPlay=!1;var o=this.globalData.getAssetsPath(this.assetData);this.audio=this.globalData.audioController.createAudio(o),this._currentTime=0,this.globalData.audioController.addAudio(this),this._volumeMultiplier=1,this._volume=1,this._previousVolume=null,this.tm=a.tm?PropertyFactory.getProp(this,a.tm,0,i.frameRate,this):{_placeholder:!0},this.lv=PropertyFactory.getProp(this,a.au&&a.au.lv?a.au.lv:{k:[100]},1,0.01,this)}AudioElement.prototype.prepareFrame=function(a){if(this.prepareRenderableFrame(a,!0),this.prepareProperties(a,!0),!this.tm._placeholder){var i=this.tm.v;this._currentTime=i}else this._currentTime=a/this.data.sr;this._volume=this.lv.v[0];var e=this._volume*this._volumeMultiplier;if(this._previousVolume!==e)this._previousVolume=e,this.audio.volume(e)},extendPrototype([RenderableElement,BaseElement,FrameElement],AudioElement),AudioElement.prototype.renderFrame=function(){if(this.isInRange&&this._canPlay){if(!this._isPlaying)this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0;else if(!this.audio.playing()||Math.abs(this._currentTime/this.globalData.frameRate-this.audio.seek())>0.1)this.audio.seek(this._currentTime/this.globalData.frameRate)}},AudioElement.prototype.show=function(){},AudioElement.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1},AudioElement.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1},AudioElement.prototype.resume=function(){this._canPlay=!0},AudioElement.prototype.setRate=function(a){this.audio.rate(a)},AudioElement.prototype.volume=function(a){this._volumeMultiplier=a,this._previousVolume=a*this._volume,this.audio.volume(this._previousVolume)},AudioElement.prototype.getBaseElement=function(){return null},AudioElement.prototype.destroy=function(){},AudioElement.prototype.sourceRectAtTime=function(){},AudioElement.prototype.initExpressions=function(){};function BaseRenderer(){}BaseRenderer.prototype.checkLayers=function(a){var i,e=this.layers.length,o;this.completeLayers=!0;for(i=e-1;i>=0;i-=1){if(!this.elements[i]){if(o=this.layers[i],o.ip-o.st<=a-this.layers[i].st&&o.op-o.st>a-this.layers[i].st)this.buildItem(i)}this.completeLayers=this.elements[i]?this.completeLayers:!1}this.checkPendingElements()},BaseRenderer.prototype.createItem=function(a){switch(a.ty){case 2:return this.createImage(a);case 0:return this.createComp(a);case 1:return this.createSolid(a);case 3:return this.createNull(a);case 4:return this.createShape(a);case 5:return this.createText(a);case 6:return this.createAudio(a);case 13:return this.createCamera(a);case 15:return this.createFootage(a);default:return this.createNull(a)}},BaseRenderer.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},BaseRenderer.prototype.createAudio=function(a){return new AudioElement(a,this.globalData,this)},BaseRenderer.prototype.createFootage=function(a){return new FootageElement(a,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var a,i=this.layers.length;for(a=0;a<i;a+=1)this.buildItem(a);this.checkPendingElements()},BaseRenderer.prototype.includeLayers=function(a){this.completeLayers=!1;var i,e=a.length,o,r=this.layers.length;for(i=0;i<e;i+=1){o=0;while(o<r){if(this.layers[o].id===a[i].id){this.layers[o]=a[i];break}o+=1}}},BaseRenderer.prototype.setProjectInterface=function(a){this.globalData.projectInterface=a},BaseRenderer.prototype.initItems=function(){if(!this.globalData.progressiveLoad)this.buildAllItems()},BaseRenderer.prototype.buildElementParenting=function(a,i,e){var o=this.elements,r=this.layers,n=0,t=r.length;while(n<t){if(r[n].ind==i)if(!o[n]||o[n]===!0)this.buildItem(n),this.addPendingElement(a);else if(e.push(o[n]),o[n].setAsParent(),r[n].parent!==void 0)this.buildElementParenting(a,r[n].parent,e);else a.setHierarchy(e);n+=1}},BaseRenderer.prototype.addPendingElement=function(a){this.pendingElements.push(a)},BaseRenderer.prototype.searchExtraCompositions=function(a){var i,e=a.length;for(i=0;i<e;i+=1)if(a[i].xt){var o=this.createComp(a[i]);o.initExpressions(),this.globalData.projectInterface.registerComposition(o)}},BaseRenderer.prototype.getElementById=function(a){var i,e=this.elements.length;for(i=0;i<e;i+=1)if(this.elements[i].data.ind===a)return this.elements[i];return null},BaseRenderer.prototype.getElementByPath=function(a){var i=a.shift(),e;if(typeof i==="number")e=this.elements[i];else{var o,r=this.elements.length;for(o=0;o<r;o+=1)if(this.elements[o].data.nm===i){e=this.elements[o];break}}if(a.length===0)return e;return e.getElementByPath(a)},BaseRenderer.prototype.setupGlobalData=function(a,i){this.globalData.fontManager=new FontManager,this.globalData.slotManager=slotFactory(a),this.globalData.fontManager.addChars(a.chars),this.globalData.fontManager.addFonts(a.fonts,i),this.globalData.getAssetData=this.animationItem.getAssetData.bind(this.animationItem),this.globalData.getAssetsPath=this.animationItem.getAssetsPath.bind(this.animationItem),this.globalData.imageLoader=this.animationItem.imagePreloader,this.globalData.audioController=this.animationItem.audioController,this.globalData.frameId=0,this.globalData.frameRate=a.fr,this.globalData.nm=a.nm,this.globalData.compSize={w:a.w,h:a.h}};var effectTypes={TRANSFORM_EFFECT:"transformEFfect"};function TransformElement(){}TransformElement.prototype={initTransform:function a(){var i=new Matrix;if(this.finalTransform={mProp:this.data.ks?TransformPropertyFactory.getTransformProperty(this,this.data.ks,this):{o:0},_matMdf:!1,_localMatMdf:!1,_opMdf:!1,mat:i,localMat:i,localOpacity:1},this.data.ao)this.finalTransform.mProp.autoOriented=!0;if(this.data.ty!==11);},renderTransform:function a(){if(this.finalTransform._opMdf=this.finalTransform.mProp.o._mdf||this._isFirstFrame,this.finalTransform._matMdf=this.finalTransform.mProp._mdf||this._isFirstFrame,this.hierarchy){var i,e=this.finalTransform.mat,o=0,r=this.hierarchy.length;if(!this.finalTransform._matMdf)while(o<r){if(this.hierarchy[o].finalTransform.mProp._mdf){this.finalTransform._matMdf=!0;break}o+=1}if(this.finalTransform._matMdf){i=this.finalTransform.mProp.v.props,e.cloneFromProps(i);for(o=0;o<r;o+=1)e.multiply(this.hierarchy[o].finalTransform.mProp.v)}}if(!this.localTransforms||this.finalTransform._matMdf)this.finalTransform._localMatMdf=this.finalTransform._matMdf;if(this.finalTransform._opMdf)this.finalTransform.localOpacity=this.finalTransform.mProp.o.v},renderLocalTransform:function a(){if(this.localTransforms){var i=0,e=this.localTransforms.length;if(this.finalTransform._localMatMdf=this.finalTransform._matMdf,!this.finalTransform._localMatMdf||!this.finalTransform._opMdf)while(i<e){if(this.localTransforms[i]._mdf)this.finalTransform._localMatMdf=!0;if(this.localTransforms[i]._opMdf&&!this.finalTransform._opMdf)this.finalTransform.localOpacity=this.finalTransform.mProp.o.v,this.finalTransform._opMdf=!0;i+=1}if(this.finalTransform._localMatMdf){var o=this.finalTransform.localMat;this.localTransforms[0].matrix.clone(o);for(i=1;i<e;i+=1){var r=this.localTransforms[i].matrix;o.multiply(r)}o.multiply(this.finalTransform.mat)}if(this.finalTransform._opMdf){var n=this.finalTransform.localOpacity;for(i=0;i<e;i+=1)n*=this.localTransforms[i].opacity*0.01;this.finalTransform.localOpacity=n}}},searchEffectTransforms:function a(){if(this.renderableEffectsManager){var i=this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);if(i.length){this.localTransforms=[],this.finalTransform.localMat=new Matrix;var e=0,o=i.length;for(e=0;e<o;e+=1)this.localTransforms.push(i[e])}}},globalToLocal:function a(i){var e=[];e.push(this.finalTransform);var o=!0,r=this.comp;while(o)if(r.finalTransform){if(r.data.hasMask)e.splice(0,0,r.finalTransform);r=r.comp}else o=!1;var n,t=e.length,s;for(n=0;n<t;n+=1)s=e[n].mat.applyToPointArray(0,0,0),i=[i[0]-s[0],i[1]-s[1],0];return i},mHelper:new Matrix};function MaskElement(a,i,e){this.data=a,this.element=i,this.globalData=e,this.storedData=[],this.masksProperties=this.data.masksProperties||[],this.maskElement=null;var o=this.globalData.defs,r,n=this.masksProperties?this.masksProperties.length:0;this.viewData=createSizedArray(n),this.solidPath="";var t,s=this.masksProperties,l=0,u=[],h,f,c=createElementID(),y,g,b,I,m="clipPath",k="clip-path";for(r=0;r<n;r+=1){if(s[r].mode!=="a"&&s[r].mode!=="n"||s[r].inv||s[r].o.k!==100||s[r].o.x)m="mask",k="mask";if((s[r].mode==="s"||s[r].mode==="i")&&l===0)y=createNS("rect"),y.setAttribute("fill","#ffffff"),y.setAttribute("width",this.element.comp.data.w||0),y.setAttribute("height",this.element.comp.data.h||0),u.push(y);else y=null;if(t=createNS("path"),s[r].mode==="n")this.viewData[r]={op:PropertyFactory.getProp(this.element,s[r].o,0,0.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,s[r],3),elem:t,lastPath:""},o.appendChild(t);else{l+=1,t.setAttribute("fill",s[r].mode==="s"?"#000000":"#ffffff"),t.setAttribute("clip-rule","nonzero");var p;if(s[r].x.k!==0)m="mask",k="mask",I=PropertyFactory.getProp(this.element,s[r].x,0,null,this.element),p=createElementID(),g=createNS("filter"),g.setAttribute("id",p),b=createNS("feMorphology"),b.setAttribute("operator","erode"),b.setAttribute("in","SourceGraphic"),b.setAttribute("radius","0"),g.appendChild(b),o.appendChild(g),t.setAttribute("stroke",s[r].mode==="s"?"#000000":"#ffffff");else b=null,I=null;if(this.storedData[r]={elem:t,x:I,expan:b,lastPath:"",lastOperator:"",filterId:p,lastRadius:0},s[r].mode==="i"){f=u.length;var v=createNS("g");for(h=0;h<f;h+=1)v.appendChild(u[h]);var S=createNS("mask");S.setAttribute("mask-type","alpha"),S.setAttribute("id",c+"_"+l),S.appendChild(t),o.appendChild(S),v.setAttribute("mask","url("+getLocationHref()+"#"+c+"_"+l+")"),u.length=0,u.push(v)}else u.push(t);if(s[r].inv&&!this.solidPath)this.solidPath=this.createLayerSolidPath();if(this.viewData[r]={elem:t,lastPath:"",op:PropertyFactory.getProp(this.element,s[r].o,0,0.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,s[r],3),invRect:y},!this.viewData[r].prop.k)this.drawPath(s[r],this.viewData[r].prop.v,this.viewData[r])}}this.maskElement=createNS(m),n=u.length;for(r=0;r<n;r+=1)this.maskElement.appendChild(u[r]);if(l>0)this.maskElement.setAttribute("id",c),this.element.maskedElement.setAttribute(k,"url("+getLocationHref()+"#"+c+")"),o.appendChild(this.maskElement);if(this.viewData.length)this.element.addRenderableComponent(this)}MaskElement.prototype.getMaskProperty=function(a){return this.viewData[a].prop},MaskElement.prototype.renderFrame=function(a){var i=this.element.finalTransform.mat,e,o=this.masksProperties.length;for(e=0;e<o;e+=1){if(this.viewData[e].prop._mdf||a)this.drawPath(this.masksProperties[e],this.viewData[e].prop.v,this.viewData[e]);if(this.viewData[e].op._mdf||a)this.viewData[e].elem.setAttribute("fill-opacity",this.viewData[e].op.v);if(this.masksProperties[e].mode!=="n"){if(this.viewData[e].invRect&&(this.element.finalTransform.mProp._mdf||a))this.viewData[e].invRect.setAttribute("transform",i.getInverseMatrix().to2dCSS());if(this.storedData[e].x&&(this.storedData[e].x._mdf||a)){var r=this.storedData[e].expan;if(this.storedData[e].x.v<0){if(this.storedData[e].lastOperator!=="erode")this.storedData[e].lastOperator="erode",this.storedData[e].elem.setAttribute("filter","url("+getLocationHref()+"#"+this.storedData[e].filterId+")");r.setAttribute("radius",-this.storedData[e].x.v)}else{if(this.storedData[e].lastOperator!=="dilate")this.storedData[e].lastOperator="dilate",this.storedData[e].elem.setAttribute("filter",null);this.storedData[e].elem.setAttribute("stroke-width",this.storedData[e].x.v*2)}}}}},MaskElement.prototype.getMaskelement=function(){return this.maskElement},MaskElement.prototype.createLayerSolidPath=function(){var a="M0,0 ";return a+=" h"+this.globalData.compSize.w,a+=" v"+this.globalData.compSize.h,a+=" h-"+this.globalData.compSize.w,a+=" v-"+this.globalData.compSize.h+" ",a},MaskElement.prototype.drawPath=function(a,i,e){var o=" M"+i.v[0][0]+","+i.v[0][1],r,n;n=i._length;for(r=1;r<n;r+=1)o+=" C"+i.o[r-1][0]+","+i.o[r-1][1]+" "+i.i[r][0]+","+i.i[r][1]+" "+i.v[r][0]+","+i.v[r][1];if(i.c&&n>1)o+=" C"+i.o[r-1][0]+","+i.o[r-1][1]+" "+i.i[0][0]+","+i.i[0][1]+" "+i.v[0][0]+","+i.v[0][1];if(e.lastPath!==o){var t="";if(e.elem){if(i.c)t=a.inv?this.solidPath+o:o;e.elem.setAttribute("d",t)}e.lastPath=o}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null};var filtersFactory=function(){var a={};a.createFilter=i,a.createAlphaToLuminanceFilter=e;function i(o,r){var n=createNS("filter");if(n.setAttribute("id",o),r!==!0)n.setAttribute("filterUnits","objectBoundingBox"),n.setAttribute("x","0%"),n.setAttribute("y","0%"),n.setAttribute("width","100%"),n.setAttribute("height","100%");return n}function e(){var o=createNS("feColorMatrix");return o.setAttribute("type","matrix"),o.setAttribute("color-interpolation-filters","sRGB"),o.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),o}return a}(),featureSupport=function(){var a={maskType:!0,svgLumaHidden:!0,offscreenCanvas:typeof OffscreenCanvas!=="undefined"};if(/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))a.maskType=!1;if(/firefox/i.test(navigator.userAgent))a.svgLumaHidden=!1;return a}(),registeredEffects$1={},idPrefix="filter_result_";function SVGEffects(a){var i,e="SourceGraphic",o=a.data.ef?a.data.ef.length:0,r=createElementID(),n=filtersFactory.createFilter(r,!0),t=0;this.filters=[];var s;for(i=0;i<o;i+=1){s=null;var l=a.data.ef[i].ty;if(registeredEffects$1[l]){var u=registeredEffects$1[l].effect;if(s=new u(n,a.effectsManager.effectElements[i],a,idPrefix+t,e),e=idPrefix+t,registeredEffects$1[l].countsAsEffect)t+=1}if(s)this.filters.push(s)}if(t)a.globalData.defs.appendChild(n),a.layerElement.setAttribute("filter","url("+getLocationHref()+"#"+r+")");if(this.filters.length)a.addRenderableComponent(this)}SVGEffects.prototype.renderFrame=function(a){var i,e=this.filters.length;for(i=0;i<e;i+=1)this.filters[i].renderFrame(a)},SVGEffects.prototype.getEffects=function(a){var i,e=this.filters.length,o=[];for(i=0;i<e;i+=1)if(this.filters[i].type===a)o.push(this.filters[i]);return o};function registerEffect$1(a,i,e){registeredEffects$1[a]={effect:i,countsAsEffect:e}}function SVGBaseElement(){}SVGBaseElement.prototype={initRendererElement:function a(){this.layerElement=createNS("g")},createContainerElements:function a(){this.matteElement=createNS("g"),this.transformedElement=this.layerElement,this.maskedElement=this.layerElement,this._sizeChanged=!1;var i=null;if(this.data.td){this.matteMasks={};var e=createNS("g");e.setAttribute("id",this.layerId),e.appendChild(this.layerElement),i=e,this.globalData.defs.appendChild(e)}else if(this.data.tt)this.matteElement.appendChild(this.layerElement),i=this.matteElement,this.baseElement=this.matteElement;else this.baseElement=this.layerElement;if(this.data.ln)this.layerElement.setAttribute("id",this.data.ln);if(this.data.cl)this.layerElement.setAttribute("class",this.data.cl);if(this.data.ty===0&&!this.data.hd){var o=createNS("clipPath"),r=createNS("path");r.setAttribute("d","M0,0 L"+this.data.w+",0 L"+this.data.w+","+this.data.h+" L0,"+this.data.h+"z");var n=createElementID();if(o.setAttribute("id",n),o.appendChild(r),this.globalData.defs.appendChild(o),this.checkMasks()){var t=createNS("g");if(t.setAttribute("clip-path","url("+getLocationHref()+"#"+n+")"),t.appendChild(this.layerElement),this.transformedElement=t,i)i.appendChild(this.transformedElement);else this.baseElement=this.transformedElement}else this.layerElement.setAttribute("clip-path","url("+getLocationHref()+"#"+n+")")}if(this.data.bm!==0)this.setBlendMode()},renderElement:function a(){if(this.finalTransform._localMatMdf)this.transformedElement.setAttribute("transform",this.finalTransform.localMat.to2dCSS());if(this.finalTransform._opMdf)this.transformedElement.setAttribute("opacity",this.finalTransform.localOpacity)},destroyBaseElement:function a(){this.layerElement=null,this.matteElement=null,this.maskManager.destroy()},getBaseElement:function a(){if(this.data.hd)return null;return this.baseElement},createRenderableComponents:function a(){this.maskManager=new MaskElement(this.data,this,this.globalData),this.renderableEffectsManager=new SVGEffects(this),this.searchEffectTransforms()},getMatte:function a(i){if(!this.matteMasks)this.matteMasks={};if(!this.matteMasks[i]){var e=this.layerId+"_"+i,o,r,n,t;if(i===1||i===3){var s=createNS("mask");if(s.setAttribute("id",e),s.setAttribute("mask-type",i===3?"luminance":"alpha"),n=createNS("use"),n.setAttributeNS("http://www.w3.org/1999/xlink","href","#"+this.layerId),s.appendChild(n),this.globalData.defs.appendChild(s),!featureSupport.maskType&&i===1)s.setAttribute("mask-type","luminance"),o=createElementID(),r=filtersFactory.createFilter(o),this.globalData.defs.appendChild(r),r.appendChild(filtersFactory.createAlphaToLuminanceFilter()),t=createNS("g"),t.appendChild(n),s.appendChild(t),t.setAttribute("filter","url("+getLocationHref()+"#"+o+")")}else if(i===2){var l=createNS("mask");l.setAttribute("id",e),l.setAttribute("mask-type","alpha");var u=createNS("g");l.appendChild(u),o=createElementID(),r=filtersFactory.createFilter(o);var h=createNS("feComponentTransfer");h.setAttribute("in","SourceGraphic"),r.appendChild(h);var f=createNS("feFuncA");f.setAttribute("type","table"),f.setAttribute("tableValues","1.0 0.0"),h.appendChild(f),this.globalData.defs.appendChild(r);var c=createNS("rect");if(c.setAttribute("width",this.comp.data.w),c.setAttribute("height",this.comp.data.h),c.setAttribute("x","0"),c.setAttribute("y","0"),c.setAttribute("fill","#ffffff"),c.setAttribute("opacity","0"),u.setAttribute("filter","url("+getLocationHref()+"#"+o+")"),u.appendChild(c),n=createNS("use"),n.setAttributeNS("http://www.w3.org/1999/xlink","href","#"+this.layerId),u.appendChild(n),!featureSupport.maskType)l.setAttribute("mask-type","luminance"),r.appendChild(filtersFactory.createAlphaToLuminanceFilter()),t=createNS("g"),u.appendChild(c),t.appendChild(this.layerElement),u.appendChild(t);this.globalData.defs.appendChild(l)}this.matteMasks[i]=e}return this.matteMasks[i]},setMatte:function a(i){if(!this.matteElement)return;this.matteElement.setAttribute("mask","url("+getLocationHref()+"#"+i+")")}};function HierarchyElement(){}HierarchyElement.prototype={initHierarchy:function a(){this.hierarchy=[],this._isParent=!1,this.checkParenting()},setHierarchy:function a(i){this.hierarchy=i},setAsParent:function a(){this._isParent=!0},checkParenting:function a(){if(this.data.parent!==void 0)this.comp.buildElementParenting(this,this.data.parent,[])}};function RenderableDOMElement(){}(function(){var a={initElement:function i(e,o,r){this.initFrame(),this.initBaseData(e,o,r),this.initTransform(e,o,r),this.initHierarchy(),this.initRenderable(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.createContent(),this.hide()},hide:function i(){if(!this.hidden&&(!this.isInRange||this.isTransparent)){var e=this.baseElement||this.layerElement;e.style.display="none",this.hidden=!0}},show:function i(){if(this.isInRange&&!this.isTransparent){if(!this.data.hd){var e=this.baseElement||this.layerElement;e.style.display="block"}this.hidden=!1,this._isFirstFrame=!0}},renderFrame:function i(){if(this.data.hd||this.hidden)return;if(this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame)this._isFirstFrame=!1},renderInnerContent:function i(){},prepareFrame:function i(e){this._mdf=!1,this.prepareRenderableFrame(e),this.prepareProperties(e,this.isInRange),this.checkTransparency()},destroy:function i(){this.innerElem=null,this.destroyBaseElement()}};extendPrototype([RenderableElement,createProxyFunction(a)],RenderableDOMElement)})();function IImageElement(a,i,e){if(this.assetData=i.getAssetData(a.refId),this.assetData&&this.assetData.sid)this.assetData=i.slotManager.getProp(this.assetData);this.initElement(a,i,e),this.sourceRect={top:0,left:0,width:this.assetData.w,height:this.assetData.h}}extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],IImageElement),IImageElement.prototype.createContent=function(){var a=this.globalData.getAssetsPath(this.assetData);this.innerElem=createNS("image"),this.innerElem.setAttribute("width",this.assetData.w+"px"),this.innerElem.setAttribute("height",this.assetData.h+"px"),this.innerElem.setAttribute("preserveAspectRatio",this.assetData.pr||this.globalData.renderConfig.imagePreserveAspectRatio),this.innerElem.setAttributeNS("http://www.w3.org/1999/xlink","href",a),this.layerElement.appendChild(this.innerElem)},IImageElement.prototype.sourceRectAtTime=function(){return this.sourceRect};function ProcessedElement(a,i){this.elem=a,this.pos=i}function IShapeElement(){}IShapeElement.prototype={addShapeToModifiers:function a(i){var e,o=this.shapeModifiers.length;for(e=0;e<o;e+=1)this.shapeModifiers[e].addShape(i)},isShapeInAnimatedModifiers:function a(i){var e=0,o=this.shapeModifiers.length;while(e<o)if(this.shapeModifiers[e].isAnimatedWithShape(i))return!0;return!1},renderModifiers:function a(){if(!this.shapeModifiers.length)return;var i,e=this.shapes.length;for(i=0;i<e;i+=1)this.shapes[i].sh.reset();e=this.shapeModifiers.length;var o;for(i=e-1;i>=0;i-=1)if(o=this.shapeModifiers[i].processShapes(this._isFirstFrame),o)break},searchProcessedElement:function a(i){var e=this.processedElements,o=0,r=e.length;while(o<r){if(e[o].elem===i)return e[o].pos;o+=1}return 0},addProcessedElement:function a(i,e){var o=this.processedElements,r=o.length;while(r)if(r-=1,o[r].elem===i){o[r].pos=e;return}o.push(new ProcessedElement(i,e))},prepareFrame:function a(i){this.prepareRenderableFrame(i),this.prepareProperties(i,this.isInRange)}};var lineCapEnum={1:"butt",2:"round",3:"square"},lineJoinEnum={1:"miter",2:"round",3:"bevel"};function SVGShapeData(a,i,e){this.caches=[],this.styles=[],this.transformers=a,this.lStr="",this.sh=e,this.lvl=i,this._isAnimated=!!e.k;var o=0,r=a.length;while(o<r){if(a[o].mProps.dynamicProperties.length){this._isAnimated=!0;break}o+=1}}SVGShapeData.prototype.setAsAnimated=function(){this._isAnimated=!0};function SVGStyleData(a,i){this.data=a,this.type=a.ty,this.d="",this.lvl=i,this._mdf=!1,this.closed=a.hd===!0,this.pElem=createNS("path"),this.msElem=null}SVGStyleData.prototype.reset=function(){this.d="",this._mdf=!1};function DashProperty(a,i,e,o){this.elem=a,this.frameId=-1,this.dataProps=createSizedArray(i.length),this.renderer=e,this.k=!1,this.dashStr="",this.dashArray=createTypedArray("float32",i.length?i.length-1:0),this.dashoffset=createTypedArray("float32",1),this.initDynamicPropertyContainer(o);var r,n=i.length||0,t;for(r=0;r<n;r+=1)t=PropertyFactory.getProp(a,i[r].v,0,0,this),this.k=t.k||this.k,this.dataProps[r]={n:i[r].n,p:t};if(!this.k)this.getValue(!0);this._isAnimated=this.k}DashProperty.prototype.getValue=function(a){if(this.elem.globalData.frameId===this.frameId&&!a)return;if(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf=this._mdf||a,this._mdf){var i=0,e=this.dataProps.length;if(this.renderer==="svg")this.dashStr="";for(i=0;i<e;i+=1)if(this.dataProps[i].n!=="o")if(this.renderer==="svg")this.dashStr+=" "+this.dataProps[i].p.v;else this.dashArray[i]=this.dataProps[i].p.v;else this.dashoffset[0]=this.dataProps[i].p.v}},extendPrototype([DynamicPropertyContainer],DashProperty);function SVGStrokeStyleData(a,i,e){this.initDynamicPropertyContainer(a),this.getValue=this.iterateDynamicProperties,this.o=PropertyFactory.getProp(a,i.o,0,0.01,this),this.w=PropertyFactory.getProp(a,i.w,0,null,this),this.d=new DashProperty(a,i.d||{},"svg",this),this.c=PropertyFactory.getProp(a,i.c,1,255,this),this.style=e,this._isAnimated=!!this._isAnimated}extendPrototype([DynamicPropertyContainer],SVGStrokeStyleData);function SVGFillStyleData(a,i,e){this.initDynamicPropertyContainer(a),this.getValue=this.iterateDynamicProperties,this.o=PropertyFactory.getProp(a,i.o,0,0.01,this),this.c=PropertyFactory.getProp(a,i.c,1,255,this),this.style=e}extendPrototype([DynamicPropertyContainer],SVGFillStyleData);function SVGNoStyleData(a,i,e){this.initDynamicPropertyContainer(a),this.getValue=this.iterateDynamicProperties,this.style=e}extendPrototype([DynamicPropertyContainer],SVGNoStyleData);function GradientProperty(a,i,e){this.data=i,this.c=createTypedArray("uint8c",i.p*4);var o=i.k.k[0].s?i.k.k[0].s.length-i.p*4:i.k.k.length-i.p*4;this.o=createTypedArray("float32",o),this._cmdf=!1,this._omdf=!1,this._collapsable=this.checkCollapsable(),this._hasOpacity=o,this.initDynamicPropertyContainer(e),this.prop=PropertyFactory.getProp(a,i.k,1,null,this),this.k=this.prop.k,this.getValue(!0)}GradientProperty.prototype.comparePoints=function(a,i){var e=0,o=this.o.length/2,r;while(e<o){if(r=Math.abs(a[e*4]-a[i*4+e*2]),r>0.01)return!1;e+=1}return!0},GradientProperty.prototype.checkCollapsable=function(){if(this.o.length/2!==this.c.length/4)return!1;if(this.data.k.k[0].s){var a=0,i=this.data.k.k.length;while(a<i){if(!this.comparePoints(this.data.k.k[a].s,this.data.p))return!1;a+=1}}else if(!this.comparePoints(this.data.k.k,this.data.p))return!1;return!0},GradientProperty.prototype.getValue=function(a){if(this.prop.getValue(),this._mdf=!1,this._cmdf=!1,this._omdf=!1,this.prop._mdf||a){var i,e=this.data.p*4,o,r;for(i=0;i<e;i+=1)if(o=i%4===0?100:255,r=Math.round(this.prop.v[i]*o),this.c[i]!==r)this.c[i]=r,this._cmdf=!a;if(this.o.length){e=this.prop.v.length;for(i=this.data.p*4;i<e;i+=1)if(o=i%2===0?100:1,r=i%2===0?Math.round(this.prop.v[i]*100):this.prop.v[i],this.o[i-this.data.p*4]!==r)this.o[i-this.data.p*4]=r,this._omdf=!a}this._mdf=!a}},extendPrototype([DynamicPropertyContainer],GradientProperty);function SVGGradientFillStyleData(a,i,e){this.initDynamicPropertyContainer(a),this.getValue=this.iterateDynamicProperties,this.initGradientData(a,i,e)}SVGGradientFillStyleData.prototype.initGradientData=function(a,i,e){this.o=PropertyFactory.getProp(a,i.o,0,0.01,this),this.s=PropertyFactory.getProp(a,i.s,1,null,this),this.e=PropertyFactory.getProp(a,i.e,1,null,this),this.h=PropertyFactory.getProp(a,i.h||{k:0},0,0.01,this),this.a=PropertyFactory.getProp(a,i.a||{k:0},0,degToRads,this),this.g=new GradientProperty(a,i.g,this),this.style=e,this.stops=[],this.setGradientData(e.pElem,i),this.setGradientOpacity(i,e),this._isAnimated=!!this._isAnimated},SVGGradientFillStyleData.prototype.setGradientData=function(a,i){var e=createElementID(),o=createNS(i.t===1?"linearGradient":"radialGradient");o.setAttribute("id",e),o.setAttribute("spreadMethod","pad"),o.setAttribute("gradientUnits","userSpaceOnUse");var r=[],n,t,s;s=i.g.p*4;for(t=0;t<s;t+=4)n=createNS("stop"),o.appendChild(n),r.push(n);a.setAttribute(i.ty==="gf"?"fill":"stroke","url("+getLocationHref()+"#"+e+")"),this.gf=o,this.cst=r},SVGGradientFillStyleData.prototype.setGradientOpacity=function(a,i){if(this.g._hasOpacity&&!this.g._collapsable){var e,o,r,n=createNS("mask"),t=createNS("path");n.appendChild(t);var s=createElementID(),l=createElementID();n.setAttribute("id",l);var u=createNS(a.t===1?"linearGradient":"radialGradient");u.setAttribute("id",s),u.setAttribute("spreadMethod","pad"),u.setAttribute("gradientUnits","userSpaceOnUse"),r=a.g.k.k[0].s?a.g.k.k[0].s.length:a.g.k.k.length;var h=this.stops;for(o=a.g.p*4;o<r;o+=2)e=createNS("stop"),e.setAttribute("stop-color","rgb(255,255,255)"),u.appendChild(e),h.push(e);if(t.setAttribute(a.ty==="gf"?"fill":"stroke","url("+getLocationHref()+"#"+s+")"),a.ty==="gs"){if(t.setAttribute("stroke-linecap",lineCapEnum[a.lc||2]),t.setAttribute("stroke-linejoin",lineJoinEnum[a.lj||2]),a.lj===1)t.setAttribute("stroke-miterlimit",a.ml)}this.of=u,this.ms=n,this.ost=h,this.maskId=l,i.msElem=t}},extendPrototype([DynamicPropertyContainer],SVGGradientFillStyleData);function SVGGradientStrokeStyleData(a,i,e){this.initDynamicPropertyContainer(a),this.getValue=this.iterateDynamicProperties,this.w=PropertyFactory.getProp(a,i.w,0,null,this),this.d=new DashProperty(a,i.d||{},"svg",this),this.initGradientData(a,i,e),this._isAnimated=!!this._isAnimated}extendPrototype([SVGGradientFillStyleData,DynamicPropertyContainer],SVGGradientStrokeStyleData);function ShapeGroupData(){this.it=[],this.prevViewData=[],this.gr=createNS("g")}function SVGTransformData(a,i,e){this.transform={mProps:a,op:i,container:e},this.elements=[],this._isAnimated=this.transform.mProps.dynamicProperties.length||this.transform.op.effectsSequence.length}var buildShapeString=function a(i,e,o,r){if(e===0)return"";var{o:n,i:t,v:s}=i,l,u=" M"+r.applyToPointStringified(s[0][0],s[0][1]);for(l=1;l<e;l+=1)u+=" C"+r.applyToPointStringified(n[l-1][0],n[l-1][1])+" "+r.applyToPointStringified(t[l][0],t[l][1])+" "+r.applyToPointStringified(s[l][0],s[l][1]);if(o&&e)u+=" C"+r.applyToPointStringified(n[l-1][0],n[l-1][1])+" "+r.applyToPointStringified(t[0][0],t[0][1])+" "+r.applyToPointStringified(s[0][0],s[0][1]),u+="z";return u},SVGElementsRenderer=function(){var a=new Matrix,i=new Matrix,e={createRenderFunction:o};function o(f){switch(f.ty){case"fl":return s;case"gf":return u;case"gs":return l;case"st":return h;case"sh":case"el":case"rc":case"sr":return t;case"tr":return r;case"no":return n;default:return null}}function r(f,c,y){if(y||c.transform.op._mdf)c.transform.container.setAttribute("opacity",c.transform.op.v);if(y||c.transform.mProps._mdf)c.transform.container.setAttribute("transform",c.transform.mProps.v.to2dCSS())}function n(){}function t(f,c,y){var g,b,I,m,k,p,v=c.styles.length,S=c.lvl,F,K,R,P;for(p=0;p<v;p+=1){if(m=c.sh._mdf||y,c.styles[p].lvl<S){K=i.reset(),R=S-c.styles[p].lvl,P=c.transformers.length-1;while(!m&&R>0)m=c.transformers[P].mProps._mdf||m,R-=1,P-=1;if(m){R=S-c.styles[p].lvl,P=c.transformers.length-1;while(R>0)K.multiply(c.transformers[P].mProps.v),R-=1,P-=1}}else K=a;if(F=c.sh.paths,b=F._length,m){I="";for(g=0;g<b;g+=1)if(k=F.shapes[g],k&&k._length)I+=buildShapeString(k,k._length,k.c,K);c.caches[p]=I}else I=c.caches[p];c.styles[p].d+=f.hd===!0?"":I,c.styles[p]._mdf=m||c.styles[p]._mdf}}function s(f,c,y){var g=c.style;if(c.c._mdf||y)g.pElem.setAttribute("fill","rgb("+bmFloor(c.c.v[0])+","+bmFloor(c.c.v[1])+","+bmFloor(c.c.v[2])+")");if(c.o._mdf||y)g.pElem.setAttribute("fill-opacity",c.o.v)}function l(f,c,y){u(f,c,y),h(f,c,y)}function u(f,c,y){var g=c.gf,b=c.g._hasOpacity,I=c.s.v,m=c.e.v;if(c.o._mdf||y){var k=f.ty==="gf"?"fill-opacity":"stroke-opacity";c.style.pElem.setAttribute(k,c.o.v)}if(c.s._mdf||y){var p=f.t===1?"x1":"cx",v=p==="x1"?"y1":"cy";if(g.setAttribute(p,I[0]),g.setAttribute(v,I[1]),b&&!c.g._collapsable)c.of.setAttribute(p,I[0]),c.of.setAttribute(v,I[1])}var S,F,K,R;if(c.g._cmdf||y){S=c.cst;var P=c.g.c;K=S.length;for(F=0;F<K;F+=1)R=S[F],R.setAttribute("offset",P[F*4]+"%"),R.setAttribute("stop-color","rgb("+P[F*4+1]+","+P[F*4+2]+","+P[F*4+3]+")")}if(b&&(c.g._omdf||y)){var M=c.g.o;if(c.g._collapsable)S=c.cst;else S=c.ost;K=S.length;for(F=0;F<K;F+=1){if(R=S[F],!c.g._collapsable)R.setAttribute("offset",M[F*2]+"%");R.setAttribute("stop-opacity",M[F*2+1])}}if(f.t===1){if(c.e._mdf||y){if(g.setAttribute("x2",m[0]),g.setAttribute("y2",m[1]),b&&!c.g._collapsable)c.of.setAttribute("x2",m[0]),c.of.setAttribute("y2",m[1])}}else{var X;if(c.s._mdf||c.e._mdf||y){if(X=Math.sqrt(Math.pow(I[0]-m[0],2)+Math.pow(I[1]-m[1],2)),g.setAttribute("r",X),b&&!c.g._collapsable)c.of.setAttribute("r",X)}if(c.s._mdf||c.e._mdf||c.h._mdf||c.a._mdf||y){if(!X)X=Math.sqrt(Math.pow(I[0]-m[0],2)+Math.pow(I[1]-m[1],2));var _=Math.atan2(m[1]-I[1],m[0]-I[0]),U=c.h.v;if(U>=1)U=0.99;else if(U<=-1)U=-0.99;var G=X*U,O=Math.cos(_+c.a.v)*G+I[0],H=Math.sin(_+c.a.v)*G+I[1];if(g.setAttribute("fx",O),g.setAttribute("fy",H),b&&!c.g._collapsable)c.of.setAttribute("fx",O),c.of.setAttribute("fy",H)}}}function h(f,c,y){var{style:g,d:b}=c;if(b&&(b._mdf||y)&&b.dashStr)g.pElem.setAttribute("stroke-dasharray",b.dashStr),g.pElem.setAttribute("stroke-dashoffset",b.dashoffset[0]);if(c.c&&(c.c._mdf||y))g.pElem.setAttribute("stroke","rgb("+bmFloor(c.c.v[0])+","+bmFloor(c.c.v[1])+","+bmFloor(c.c.v[2])+")");if(c.o._mdf||y)g.pElem.setAttribute("stroke-opacity",c.o.v);if(c.w._mdf||y){if(g.pElem.setAttribute("stroke-width",c.w.v),g.msElem)g.msElem.setAttribute("stroke-width",c.w.v)}}return e}();function SVGShapeElement(a,i,e){this.shapes=[],this.shapesData=a.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(a,i,e),this.prevViewData=[]}extendPrototype([BaseElement,TransformElement,SVGBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableDOMElement],SVGShapeElement),SVGShapeElement.prototype.initSecondaryElement=function(){},SVGShapeElement.prototype.identityMatrix=new Matrix,SVGShapeElement.prototype.buildExpressionInterface=function(){},SVGShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes()},SVGShapeElement.prototype.filterUniqueShapes=function(){var a,i=this.shapes.length,e,o,r=this.stylesList.length,n,t=[],s=!1;for(o=0;o<r;o+=1){n=this.stylesList[o],s=!1,t.length=0;for(a=0;a<i;a+=1)if(e=this.shapes[a],e.styles.indexOf(n)!==-1)t.push(e),s=e._isAnimated||s;if(t.length>1&&s)this.setShapesAsAnimated(t)}},SVGShapeElement.prototype.setShapesAsAnimated=function(a){var i,e=a.length;for(i=0;i<e;i+=1)a[i].setAsAnimated()},SVGShapeElement.prototype.createStyleElement=function(a,i){var e,o=new SVGStyleData(a,i),r=o.pElem;if(a.ty==="st")e=new SVGStrokeStyleData(this,a,o);else if(a.ty==="fl")e=new SVGFillStyleData(this,a,o);else if(a.ty==="gf"||a.ty==="gs"){var n=a.ty==="gf"?SVGGradientFillStyleData:SVGGradientStrokeStyleData;if(e=new n(this,a,o),this.globalData.defs.appendChild(e.gf),e.maskId)this.globalData.defs.appendChild(e.ms),this.globalData.defs.appendChild(e.of),r.setAttribute("mask","url("+getLocationHref()+"#"+e.maskId+")")}else if(a.ty==="no")e=new SVGNoStyleData(this,a,o);if(a.ty==="st"||a.ty==="gs"){if(r.setAttribute("stroke-linecap",lineCapEnum[a.lc||2]),r.setAttribute("stroke-linejoin",lineJoinEnum[a.lj||2]),r.setAttribute("fill-opacity","0"),a.lj===1)r.setAttribute("stroke-miterlimit",a.ml)}if(a.r===2)r.setAttribute("fill-rule","evenodd");if(a.ln)r.setAttribute("id",a.ln);if(a.cl)r.setAttribute("class",a.cl);if(a.bm)r.style["mix-blend-mode"]=getBlendMode(a.bm);return this.stylesList.push(o),this.addToAnimatedContents(a,e),e},SVGShapeElement.prototype.createGroupElement=function(a){var i=new ShapeGroupData;if(a.ln)i.gr.setAttribute("id",a.ln);if(a.cl)i.gr.setAttribute("class",a.cl);if(a.bm)i.gr.style["mix-blend-mode"]=getBlendMode(a.bm);return i},SVGShapeElement.prototype.createTransformElement=function(a,i){var e=TransformPropertyFactory.getTransformProperty(this,a,this),o=new SVGTransformData(e,e.o,i);return this.addToAnimatedContents(a,o),o},SVGShapeElement.prototype.createShapeElement=function(a,i,e){var o=4;if(a.ty==="rc")o=5;else if(a.ty==="el")o=6;else if(a.ty==="sr")o=7;var r=ShapePropertyFactory.getShapeProp(this,a,o,this),n=new SVGShapeData(i,e,r);return this.shapes.push(n),this.addShapeToModifiers(n),this.addToAnimatedContents(a,n),n},SVGShapeElement.prototype.addToAnimatedContents=function(a,i){var e=0,o=this.animatedContents.length;while(e<o){if(this.animatedContents[e].element===i)return;e+=1}this.animatedContents.push({fn:SVGElementsRenderer.createRenderFunction(a),element:i,data:a})},SVGShapeElement.prototype.setElementStyles=function(a){var i=a.styles,e,o=this.stylesList.length;for(e=0;e<o;e+=1)if(i.indexOf(this.stylesList[e])===-1&&!this.stylesList[e].closed)i.push(this.stylesList[e])},SVGShapeElement.prototype.reloadShapes=function(){this._isFirstFrame=!0;var a,i=this.itemsData.length;for(a=0;a<i;a+=1)this.prevViewData[a]=this.itemsData[a];this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes(),i=this.dynamicProperties.length;for(a=0;a<i;a+=1)this.dynamicProperties[a].getValue();this.renderModifiers()},SVGShapeElement.prototype.searchShapes=function(a,i,e,o,r,n,t){var s=[].concat(n),l,u=a.length-1,h,f,c=[],y=[],g,b,I;for(l=u;l>=0;l-=1){if(I=this.searchProcessedElement(a[l]),!I)a[l]._render=t;else i[l]=e[I-1];if(a[l].ty==="fl"||a[l].ty==="st"||a[l].ty==="gf"||a[l].ty==="gs"||a[l].ty==="no"){if(!I)i[l]=this.createStyleElement(a[l],r);else i[l].style.closed=a[l].hd;if(a[l]._render){if(i[l].style.pElem.parentNode!==o)o.appendChild(i[l].style.pElem)}c.push(i[l].style)}else if(a[l].ty==="gr"){if(!I)i[l]=this.createGroupElement(a[l]);else{f=i[l].it.length;for(h=0;h<f;h+=1)i[l].prevViewData[h]=i[l].it[h]}if(this.searchShapes(a[l].it,i[l].it,i[l].prevViewData,i[l].gr,r+1,s,t),a[l]._render){if(i[l].gr.parentNode!==o)o.appendChild(i[l].gr)}}else if(a[l].ty==="tr"){if(!I)i[l]=this.createTransformElement(a[l],o);g=i[l].transform,s.push(g)}else if(a[l].ty==="sh"||a[l].ty==="rc"||a[l].ty==="el"||a[l].ty==="sr"){if(!I)i[l]=this.createShapeElement(a[l],s,r);this.setElementStyles(i[l])}else if(a[l].ty==="tm"||a[l].ty==="rd"||a[l].ty==="ms"||a[l].ty==="pb"||a[l].ty==="zz"||a[l].ty==="op"){if(!I)b=ShapeModifiers.getModifier(a[l].ty),b.init(this,a[l]),i[l]=b,this.shapeModifiers.push(b);else b=i[l],b.closed=!1;y.push(b)}else if(a[l].ty==="rp"){if(!I)b=ShapeModifiers.getModifier(a[l].ty),i[l]=b,b.init(this,a,l,i),this.shapeModifiers.push(b),t=!1;else b=i[l],b.closed=!0;y.push(b)}this.addProcessedElement(a[l],l+1)}u=c.length;for(l=0;l<u;l+=1)c[l].closed=!0;u=y.length;for(l=0;l<u;l+=1)y[l].closed=!0},SVGShapeElement.prototype.renderInnerContent=function(){this.renderModifiers();var a,i=this.stylesList.length;for(a=0;a<i;a+=1)this.stylesList[a].reset();this.renderShape();for(a=0;a<i;a+=1)if(this.stylesList[a]._mdf||this._isFirstFrame){if(this.stylesList[a].msElem)this.stylesList[a].msElem.setAttribute("d",this.stylesList[a].d),this.stylesList[a].d="M0 0"+this.stylesList[a].d;this.stylesList[a].pElem.setAttribute("d",this.stylesList[a].d||"M0 0")}},SVGShapeElement.prototype.renderShape=function(){var a,i=this.animatedContents.length,e;for(a=0;a<i;a+=1)if(e=this.animatedContents[a],(this._isFirstFrame||e.element._isAnimated)&&e.data!==!0)e.fn(e.data,e.element,this._isFirstFrame)},SVGShapeElement.prototype.destroy=function(){this.destroyBaseElement(),this.shapesData=null,this.itemsData=null};function LetterProps(a,i,e,o,r,n){this.o=a,this.sw=i,this.sc=e,this.fc=o,this.m=r,this.p=n,this._mdf={o:!0,sw:!!i,sc:!!e,fc:!!o,m:!0,p:!0}}LetterProps.prototype.update=function(a,i,e,o,r,n){this._mdf.o=!1,this._mdf.sw=!1,this._mdf.sc=!1,this._mdf.fc=!1,this._mdf.m=!1,this._mdf.p=!1;var t=!1;if(this.o!==a)this.o=a,this._mdf.o=!0,t=!0;if(this.sw!==i)this.sw=i,this._mdf.sw=!0,t=!0;if(this.sc!==e)this.sc=e,this._mdf.sc=!0,t=!0;if(this.fc!==o)this.fc=o,this._mdf.fc=!0,t=!0;if(this.m!==r)this.m=r,this._mdf.m=!0,t=!0;if(n.length&&(this.p[0]!==n[0]||this.p[1]!==n[1]||this.p[4]!==n[4]||this.p[5]!==n[5]||this.p[12]!==n[12]||this.p[13]!==n[13]))this.p=n,this._mdf.p=!0,t=!0;return t};function TextProperty(a,i){if(this._frameId=initialDefaultFrame,this.pv="",this.v="",this.kf=!1,this._isFirstFrame=!0,this._mdf=!1,i.d&&i.d.sid)i.d=a.globalData.slotManager.getProp(i.d);if(this.data=i,this.elem=a,this.comp=this.elem.comp,this.keysIndex=0,this.canResize=!1,this.minimumFontSize=1,this.effectsSequence=[],this.currentData={ascent:0,boxWidth:this.defaultBoxWidth,f:"",fStyle:"",fWeight:"",fc:"",j:"",justifyOffset:"",l:[],lh:0,lineWidths:[],ls:"",of:"",s:"",sc:"",sw:0,t:0,tr:0,sz:0,ps:null,fillColorAnim:!1,strokeColorAnim:!1,strokeWidthAnim:!1,yOffset:0,finalSize:0,finalText:[],finalLineHeight:0,__complete:!1},this.copyData(this.currentData,this.data.d.k[0].s),!this.searchProperty())this.completeTextData(this.currentData)}TextProperty.prototype.defaultBoxWidth=[0,0],TextProperty.prototype.copyData=function(a,i){for(var e in i)if(Object.prototype.hasOwnProperty.call(i,e))a[e]=i[e];return a},TextProperty.prototype.setCurrentData=function(a){if(!a.__complete)this.completeTextData(a);this.currentData=a,this.currentData.boxWidth=this.currentData.boxWidth||this.defaultBoxWidth,this._mdf=!0},TextProperty.prototype.searchProperty=function(){return this.searchKeyframes()},TextProperty.prototype.searchKeyframes=function(){if(this.kf=this.data.d.k.length>1,this.kf)this.addEffect(this.getKeyframeValue.bind(this));return this.kf},TextProperty.prototype.addEffect=function(a){this.effectsSequence.push(a),this.elem.addDynamicProperty(this)},TextProperty.prototype.getValue=function(a){if((this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)&&!a)return;this.currentData.t=this.data.d.k[this.keysIndex].s.t;var i=this.currentData,e=this.keysIndex;if(this.lock){this.setCurrentData(this.currentData);return}this.lock=!0,this._mdf=!1;var o,r=this.effectsSequence.length,n=a||this.data.d.k[this.keysIndex].s;for(o=0;o<r;o+=1)if(e!==this.keysIndex)n=this.effectsSequence[o](n,n.t);else n=this.effectsSequence[o](this.currentData,n.t);if(i!==n)this.setCurrentData(n);this.v=this.currentData,this.pv=this.v,this.lock=!1,this.frameId=this.elem.globalData.frameId},TextProperty.prototype.getKeyframeValue=function(){var a=this.data.d.k,i=this.elem.comp.renderedFrame,e=0,o=a.length;while(e<=o-1){if(e===o-1||a[e+1].t>i)break;e+=1}if(this.keysIndex!==e)this.keysIndex=e;return this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(a){var i=[],e=0,o=a.length,r,n,t=!1,s=!1,l="";while(e<o){if(t=s,s=!1,r=a.charCodeAt(e),l=a.charAt(e),FontManager.isCombinedCharacter(r))t=!0;else if(r>=55296&&r<=56319){if(FontManager.isRegionalFlag(a,e))l=a.substr(e,14);else if(n=a.charCodeAt(e+1),n>=56320&&n<=57343)if(FontManager.isModifier(r,n))l=a.substr(e,2),t=!0;else if(FontManager.isFlagEmoji(a.substr(e,4)))l=a.substr(e,4);else l=a.substr(e,2)}else if(r>56319){if(n=a.charCodeAt(e+1),FontManager.isVariationSelector(r))t=!0}else if(FontManager.isZeroWidthJoiner(r))t=!0,s=!0;if(t)i[i.length-1]+=l,t=!1;else i.push(l);e+=l.length}return i},TextProperty.prototype.completeTextData=function(a){a.__complete=!0;var i=this.elem.globalData.fontManager,e=this.data,o=[],r,n,t,s=0,l,u=e.m.g,h=0,f=0,c=0,y=[],g=0,b=0,I,m,k=i.getFontByName(a.f),p,v=0,S=getFontProperties(k);a.fWeight=S.weight,a.fStyle=S.style,a.finalSize=a.s,a.finalText=this.buildFinalText(a.t),n=a.finalText.length,a.finalLineHeight=a.lh;var F=a.tr/1000*a.finalSize,K;if(a.sz){var R=!0,P=a.sz[0],M=a.sz[1],X,_;while(R){_=this.buildFinalText(a.t),X=0,g=0,n=_.length,F=a.tr/1000*a.finalSize;var U=-1;for(r=0;r<n;r+=1){if(K=_[r].charCodeAt(0),t=!1,_[r]===" ")U=r;else if(K===13||K===3)g=0,t=!0,X+=a.finalLineHeight||a.finalSize*1.2;if(i.chars)p=i.getCharData(_[r],k.fStyle,k.fFamily),v=t?0:p.w*a.finalSize/100;else v=i.measureText(_[r],a.f,a.finalSize);if(g+v>P&&_[r]!==" "){if(U===-1)n+=1;else r=U;X+=a.finalLineHeight||a.finalSize*1.2,_.splice(r,U===r?1:0,"\r"),U=-1,g=0}else g+=v,g+=F}if(X+=k.ascent*a.finalSize/100,this.canResize&&a.finalSize>this.minimumFontSize&&M<X)a.finalSize-=1,a.finalLineHeight=a.finalSize*a.lh/a.s;else a.finalText=_,n=a.finalText.length,R=!1}}g=-F,v=0;var G=0,O;for(r=0;r<n;r+=1){if(t=!1,O=a.finalText[r],K=O.charCodeAt(0),K===13||K===3)G=0,y.push(g),b=g>b?g:b,g=-2*F,l="",t=!0,c+=1;else l=O;if(i.chars)p=i.getCharData(O,k.fStyle,i.getFontByName(a.f).fFamily),v=t?0:p.w*a.finalSize/100;else v=i.measureText(l,a.f,a.finalSize);if(O===" ")G+=v+F;else g+=v+F+G,G=0;if(o.push({l:v,an:v,add:h,n:t,anIndexes:[],val:l,line:c,animatorJustifyOffset:0}),u==2){if(h+=v,l===""||l===" "||r===n-1){if(l===""||l===" ")h-=v;while(f<=r)o[f].an=h,o[f].ind=s,o[f].extra=v,f+=1;s+=1,h=0}}else if(u==3){if(h+=v,l===""||r===n-1){if(l==="")h-=v;while(f<=r)o[f].an=h,o[f].ind=s,o[f].extra=v,f+=1;h=0,s+=1}}else o[s].ind=s,o[s].extra=0,s+=1}if(a.l=o,b=g>b?g:b,y.push(g),a.sz)a.boxWidth=a.sz[0],a.justifyOffset=0;else switch(a.boxWidth=b,a.j){case 1:a.justifyOffset=-a.boxWidth;break;case 2:a.justifyOffset=-a.boxWidth/2;break;default:a.justifyOffset=0}a.lineWidths=y;var H=e.a,Z,w;m=H.length;var x,V,B=[];for(I=0;I<m;I+=1){if(Z=H[I],Z.a.sc)a.strokeColorAnim=!0;if(Z.a.sw)a.strokeWidthAnim=!0;if(Z.a.fc||Z.a.fh||Z.a.fs||Z.a.fb)a.fillColorAnim=!0;V=0,x=Z.s.b;for(r=0;r<n;r+=1)if(w=o[r],w.anIndexes[I]=V,x==1&&w.val!==""||x==2&&w.val!==""&&w.val!==" "||x==3&&(w.n||w.val==" "||r==n-1)||x==4&&(w.n||r==n-1)){if(Z.s.rn===1)B.push(V);V+=1}e.a[I].s.totalChars=V;var A=-1,ia;if(Z.s.rn===1)for(r=0;r<n;r+=1){if(w=o[r],A!=w.anIndexes[I])A=w.anIndexes[I],ia=B.splice(Math.floor(Math.random()*B.length),1)[0];w.anIndexes[I]=ia}}a.yOffset=a.finalLineHeight||a.finalSize*1.2,a.ls=a.ls||0,a.ascent=k.ascent*a.finalSize/100},TextProperty.prototype.updateDocumentData=function(a,i){i=i===void 0?this.keysIndex:i;var e=this.copyData({},this.data.d.k[i].s);e=this.copyData(e,a),this.data.d.k[i].s=e,this.recalculate(i),this.setCurrentData(e),this.elem.addDynamicProperty(this)},TextProperty.prototype.recalculate=function(a){var i=this.data.d.k[a].s;i.__complete=!1,this.keysIndex=0,this._isFirstFrame=!0,this.getValue(i)},TextProperty.prototype.canResizeFont=function(a){this.canResize=a,this.recalculate(this.keysIndex),this.elem.addDynamicProperty(this)},TextProperty.prototype.setMinimumFontSize=function(a){this.minimumFontSize=Math.floor(a)||1,this.recalculate(this.keysIndex),this.elem.addDynamicProperty(this)};var TextSelectorProp=function(){var{max:a,min:i,floor:e}=Math;function o(n,t){if(this._currentTextLength=-1,this.k=!1,this.data=t,this.elem=n,this.comp=n.comp,this.finalS=0,this.finalE=0,this.initDynamicPropertyContainer(n),this.s=PropertyFactory.getProp(n,t.s||{k:0},0,0,this),"e"in t)this.e=PropertyFactory.getProp(n,t.e,0,0,this);else this.e={v:100};if(this.o=PropertyFactory.getProp(n,t.o||{k:0},0,0,this),this.xe=PropertyFactory.getProp(n,t.xe||{k:0},0,0,this),this.ne=PropertyFactory.getProp(n,t.ne||{k:0},0,0,this),this.sm=PropertyFactory.getProp(n,t.sm||{k:100},0,0,this),this.a=PropertyFactory.getProp(n,t.a,0,0.01,this),!this.dynamicProperties.length)this.getValue()}o.prototype={getMult:function n(t){if(this._currentTextLength!==this.elem.textProperty.currentData.l.length)this.getValue();var s=0,l=0,u=1,h=1;if(this.ne.v>0)s=this.ne.v/100;else l=-this.ne.v/100;if(this.xe.v>0)u=1-this.xe.v/100;else h=1+this.xe.v/100;var f=BezierFactory.getBezierEasing(s,l,u,h).get,c=0,y=this.finalS,g=this.finalE,b=this.data.sh;if(b===2){if(g===y)c=t>=g?1:0;else c=a(0,i(0.5/(g-y)+(t-y)/(g-y),1));c=f(c)}else if(b===3){if(g===y)c=t>=g?0:1;else c=1-a(0,i(0.5/(g-y)+(t-y)/(g-y),1));c=f(c)}else if(b===4){if(g===y)c=0;else if(c=a(0,i(0.5/(g-y)+(t-y)/(g-y),1)),c<0.5)c*=2;else c=1-2*(c-0.5);c=f(c)}else if(b===5){if(g===y)c=0;else{var I=g-y;t=i(a(0,t+0.5-y),g-y);var m=-I/2+t,k=I/2;c=Math.sqrt(1-m*m/(k*k))}c=f(c)}else if(b===6){if(g===y)c=0;else t=i(a(0,t+0.5-y),g-y),c=(1+Math.cos(Math.PI+Math.PI*2*t/(g-y)))/2;c=f(c)}else{if(t>=e(y))if(t-y<0)c=a(0,i(i(g,1)-(y-t),1));else c=a(0,i(g-t,1));c=f(c)}if(this.sm.v!==100){var p=this.sm.v*0.01;if(p===0)p=0.00000001;var v=0.5-p*0.5;if(c<v)c=0;else if(c=(c-v)/p,c>1)c=1}return c*this.a.v},getValue:function n(t){if(this.iterateDynamicProperties(),this._mdf=t||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,t&&this.data.r===2)this.e.v=this._currentTextLength;var s=this.data.r===2?1:100/this.data.totalChars,l=this.o.v/s,u=this.s.v/s+l,h=this.e.v/s+l;if(u>h){var f=u;u=h,h=f}this.finalS=u,this.finalE=h}},extendPrototype([DynamicPropertyContainer],o);function r(n,t,s){return new o(n,t,s)}return{getTextSelectorProp:r}}();function TextAnimatorDataProperty(a,i,e){var o={propType:!1},r=PropertyFactory.getProp,n=i.a;this.a={r:n.r?r(a,n.r,0,degToRads,e):o,rx:n.rx?r(a,n.rx,0,degToRads,e):o,ry:n.ry?r(a,n.ry,0,degToRads,e):o,sk:n.sk?r(a,n.sk,0,degToRads,e):o,sa:n.sa?r(a,n.sa,0,degToRads,e):o,s:n.s?r(a,n.s,1,0.01,e):o,a:n.a?r(a,n.a,1,0,e):o,o:n.o?r(a,n.o,0,0.01,e):o,p:n.p?r(a,n.p,1,0,e):o,sw:n.sw?r(a,n.sw,0,0,e):o,sc:n.sc?r(a,n.sc,1,0,e):o,fc:n.fc?r(a,n.fc,1,0,e):o,fh:n.fh?r(a,n.fh,0,0,e):o,fs:n.fs?r(a,n.fs,0,0.01,e):o,fb:n.fb?r(a,n.fb,0,0.01,e):o,t:n.t?r(a,n.t,0,0,e):o},this.s=TextSelectorProp.getTextSelectorProp(a,i.s,e),this.s.t=i.s.t}function TextAnimatorProperty(a,i,e){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=a,this._renderType=i,this._elem=e,this._animatorsData=createSizedArray(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(e)}TextAnimatorProperty.prototype.searchProperties=function(){var a,i=this._textData.a.length,e,o=PropertyFactory.getProp;for(a=0;a<i;a+=1)e=this._textData.a[a],this._animatorsData[a]=new TextAnimatorDataProperty(this._elem,e,this);if(this._textData.p&&"m"in this._textData.p)this._pathData={a:o(this._elem,this._textData.p.a,0,0,this),f:o(this._elem,this._textData.p.f,0,0,this),l:o(this._elem,this._textData.p.l,0,0,this),r:o(this._elem,this._textData.p.r,0,0,this),p:o(this._elem,this._textData.p.p,0,0,this),m:this._elem.maskManager.getMaskProperty(this._textData.p.m)},this._hasMaskedPath=!0;else this._hasMaskedPath=!1;this._moreOptions.alignment=o(this._elem,this._textData.m.a,1,0,this)},TextAnimatorProperty.prototype.getMeasures=function(a,i){if(this.lettersChangedFlag=i,!this._mdf&&!this._isFirstFrame&&!i&&(!this._hasMaskedPath||!this._pathData.m._mdf))return;this._isFirstFrame=!1;var e=this._moreOptions.alignment.v,o=this._animatorsData,r=this._textData,n=this.mHelper,t=this._renderType,s=this.renderedLetters.length,l,u,h,f,c=a.l,y,g,b,I,m,k,p,v,S,F,K,R,P,M,X;if(this._hasMaskedPath){if(X=this._pathData.m,!this._pathData.n||this._pathData._mdf){var _=X.v;if(this._pathData.r.v)_=_.reverse();y={tLength:0,segments:[]},f=_._length-1;var U;R=0;for(h=0;h<f;h+=1)U=bez.buildBezierData(_.v[h],_.v[h+1],[_.o[h][0]-_.v[h][0],_.o[h][1]-_.v[h][1]],[_.i[h+1][0]-_.v[h+1][0],_.i[h+1][1]-_.v[h+1][1]]),y.tLength+=U.segmentLength,y.segments.push(U),R+=U.segmentLength;if(h=f,X.v.c)U=bez.buildBezierData(_.v[h],_.v[0],[_.o[h][0]-_.v[h][0],_.o[h][1]-_.v[h][1]],[_.i[0][0]-_.v[0][0],_.i[0][1]-_.v[0][1]]),y.tLength+=U.segmentLength,y.segments.push(U),R+=U.segmentLength;this._pathData.pi=y}if(y=this._pathData.pi,g=this._pathData.f.v,p=0,k=1,I=0,m=!0,F=y.segments,g<0&&X.v.c){if(y.tLength<Math.abs(g))g=-Math.abs(g)%y.tLength;p=F.length-1,S=F[p].points,k=S.length-1;while(g<0)if(g+=S[k].partialLength,k-=1,k<0)p-=1,S=F[p].points,k=S.length-1}S=F[p].points,v=S[k-1],b=S[k],K=b.partialLength}f=c.length,l=0,u=0;var G=a.finalSize*1.2*0.714,O=!0,H,Z,w,x,V;x=o.length;var B,A=-1,ia,ra,la,da=g,ya=p,Fa=k,Ma=-1,Ka,Sa,Wa,pa,D,ii,li,ei,Ua="",oi=this.defaultPropsArray,ri;if(a.j===2||a.j===1){var Ra=0,di=0,ui=a.j===2?-0.5:-1,Qa=0,ci=!0;for(h=0;h<f;h+=1)if(c[h].n){if(Ra)Ra+=di;while(Qa<h)c[Qa].animatorJustifyOffset=Ra,Qa+=1;Ra=0,ci=!0}else{for(w=0;w<x;w+=1)if(H=o[w].a,H.t.propType){if(ci&&a.j===2)di+=H.t.v*ui;if(Z=o[w].s,B=Z.getMult(c[h].anIndexes[w],r.a[w].s.totalChars),B.length)Ra+=H.t.v*B[0]*ui;else Ra+=H.t.v*B*ui}ci=!1}if(Ra)Ra+=di;while(Qa<h)c[Qa].animatorJustifyOffset=Ra,Qa+=1}for(h=0;h<f;h+=1){if(n.reset(),Ka=1,c[h].n){if(l=0,u+=a.yOffset,u+=O?1:0,g=da,O=!1,this._hasMaskedPath)p=ya,k=Fa,S=F[p].points,v=S[k-1],b=S[k],K=b.partialLength,I=0;Ua="",ei="",ii="",ri="",oi=this.defaultPropsArray}else{if(this._hasMaskedPath){if(Ma!==c[h].line){switch(a.j){case 1:g+=R-a.lineWidths[c[h].line];break;case 2:g+=(R-a.lineWidths[c[h].line])/2;break;default:break}Ma=c[h].line}if(A!==c[h].ind){if(c[A])g+=c[A].extra;g+=c[h].an/2,A=c[h].ind}g+=e[0]*c[h].an*0.005;var Ya=0;for(w=0;w<x;w+=1){if(H=o[w].a,H.p.propType)if(Z=o[w].s,B=Z.getMult(c[h].anIndexes[w],r.a[w].s.totalChars),B.length)Ya+=H.p.v[0]*B[0];else Ya+=H.p.v[0]*B;if(H.a.propType)if(Z=o[w].s,B=Z.getMult(c[h].anIndexes[w],r.a[w].s.totalChars),B.length)Ya+=H.a.v[0]*B[0];else Ya+=H.a.v[0]*B}if(m=!0,this._pathData.a.v)g=c[0].an*0.5+(R-this._pathData.f.v-c[0].an*0.5-c[c.length-1].an*0.5)*A/(f-1),g+=this._pathData.f.v;while(m)if(I+K>=g+Ya||!S)P=(g+Ya-I)/b.partialLength,ra=v.point[0]+(b.point[0]-v.point[0])*P,la=v.point[1]+(b.point[1]-v.point[1])*P,n.translate(-e[0]*c[h].an*0.005,-(e[1]*G)*0.01),m=!1;else if(S){if(I+=b.partialLength,k+=1,k>=S.length)if(k=0,p+=1,!F[p])if(X.v.c)k=0,p=0,S=F[p].points;else I-=b.partialLength,S=null;else S=F[p].points;if(S)v=b,b=S[k],K=b.partialLength}ia=c[h].an/2-c[h].add,n.translate(-ia,0,0)}else ia=c[h].an/2-c[h].add,n.translate(-ia,0,0),n.translate(-e[0]*c[h].an*0.005,-e[1]*G*0.01,0);for(w=0;w<x;w+=1)if(H=o[w].a,H.t.propType){if(Z=o[w].s,B=Z.getMult(c[h].anIndexes[w],r.a[w].s.totalChars),l!==0||a.j!==0)if(this._hasMaskedPath)if(B.length)g+=H.t.v*B[0];else g+=H.t.v*B;else if(B.length)l+=H.t.v*B[0];else l+=H.t.v*B}if(a.strokeWidthAnim)Wa=a.sw||0;if(a.strokeColorAnim)if(a.sc)Sa=[a.sc[0],a.sc[1],a.sc[2]];else Sa=[0,0,0];if(a.fillColorAnim&&a.fc)pa=[a.fc[0],a.fc[1],a.fc[2]];for(w=0;w<x;w+=1)if(H=o[w].a,H.a.propType)if(Z=o[w].s,B=Z.getMult(c[h].anIndexes[w],r.a[w].s.totalChars),B.length)n.translate(-H.a.v[0]*B[0],-H.a.v[1]*B[1],H.a.v[2]*B[2]);else n.translate(-H.a.v[0]*B,-H.a.v[1]*B,H.a.v[2]*B);for(w=0;w<x;w+=1)if(H=o[w].a,H.s.propType)if(Z=o[w].s,B=Z.getMult(c[h].anIndexes[w],r.a[w].s.totalChars),B.length)n.scale(1+(H.s.v[0]-1)*B[0],1+(H.s.v[1]-1)*B[1],1);else n.scale(1+(H.s.v[0]-1)*B,1+(H.s.v[1]-1)*B,1);for(w=0;w<x;w+=1){if(H=o[w].a,Z=o[w].s,B=Z.getMult(c[h].anIndexes[w],r.a[w].s.totalChars),H.sk.propType)if(B.length)n.skewFromAxis(-H.sk.v*B[0],H.sa.v*B[1]);else n.skewFromAxis(-H.sk.v*B,H.sa.v*B);if(H.r.propType)if(B.length)n.rotateZ(-H.r.v*B[2]);else n.rotateZ(-H.r.v*B);if(H.ry.propType)if(B.length)n.rotateY(H.ry.v*B[1]);else n.rotateY(H.ry.v*B);if(H.rx.propType)if(B.length)n.rotateX(H.rx.v*B[0]);else n.rotateX(H.rx.v*B);if(H.o.propType)if(B.length)Ka+=(H.o.v*B[0]-Ka)*B[0];else Ka+=(H.o.v*B-Ka)*B;if(a.strokeWidthAnim&&H.sw.propType)if(B.length)Wa+=H.sw.v*B[0];else Wa+=H.sw.v*B;if(a.strokeColorAnim&&H.sc.propType)for(D=0;D<3;D+=1)if(B.length)Sa[D]+=(H.sc.v[D]-Sa[D])*B[0];else Sa[D]+=(H.sc.v[D]-Sa[D])*B;if(a.fillColorAnim&&a.fc){if(H.fc.propType)for(D=0;D<3;D+=1)if(B.length)pa[D]+=(H.fc.v[D]-pa[D])*B[0];else pa[D]+=(H.fc.v[D]-pa[D])*B;if(H.fh.propType)if(B.length)pa=addHueToRGB(pa,H.fh.v*B[0]);else pa=addHueToRGB(pa,H.fh.v*B);if(H.fs.propType)if(B.length)pa=addSaturationToRGB(pa,H.fs.v*B[0]);else pa=addSaturationToRGB(pa,H.fs.v*B);if(H.fb.propType)if(B.length)pa=addBrightnessToRGB(pa,H.fb.v*B[0]);else pa=addBrightnessToRGB(pa,H.fb.v*B)}}for(w=0;w<x;w+=1)if(H=o[w].a,H.p.propType)if(Z=o[w].s,B=Z.getMult(c[h].anIndexes[w],r.a[w].s.totalChars),this._hasMaskedPath)if(B.length)n.translate(0,H.p.v[1]*B[0],-H.p.v[2]*B[1]);else n.translate(0,H.p.v[1]*B,-H.p.v[2]*B);else if(B.length)n.translate(H.p.v[0]*B[0],H.p.v[1]*B[1],-H.p.v[2]*B[2]);else n.translate(H.p.v[0]*B,H.p.v[1]*B,-H.p.v[2]*B);if(a.strokeWidthAnim)ii=Wa<0?0:Wa;if(a.strokeColorAnim)li="rgb("+Math.round(Sa[0]*255)+","+Math.round(Sa[1]*255)+","+Math.round(Sa[2]*255)+")";if(a.fillColorAnim&&a.fc)ei="rgb("+Math.round(pa[0]*255)+","+Math.round(pa[1]*255)+","+Math.round(pa[2]*255)+")";if(this._hasMaskedPath){if(n.translate(0,-a.ls),n.translate(0,e[1]*G*0.01+u,0),this._pathData.p.v){M=(b.point[1]-v.point[1])/(b.point[0]-v.point[0]);var fi=Math.atan(M)*180/Math.PI;if(b.point[0]<v.point[0])fi+=180;n.rotate(-fi*Math.PI/180)}if(n.translate(ra,la,0),g-=e[0]*c[h].an*0.005,c[h+1]&&A!==c[h+1].ind)g+=c[h].an/2,g+=a.tr*0.001*a.finalSize}else{if(n.translate(l,u,0),a.ps)n.translate(a.ps[0],a.ps[1]+a.ascent,0);switch(a.j){case 1:n.translate(c[h].animatorJustifyOffset+a.justifyOffset+(a.boxWidth-a.lineWidths[c[h].line]),0,0);break;case 2:n.translate(c[h].animatorJustifyOffset+a.justifyOffset+(a.boxWidth-a.lineWidths[c[h].line])/2,0,0);break;default:break}n.translate(0,-a.ls),n.translate(ia,0,0),n.translate(e[0]*c[h].an*0.005,e[1]*G*0.01,0),l+=c[h].l+a.tr*0.001*a.finalSize}if(t==="html")Ua=n.toCSS();else if(t==="svg")Ua=n.to2dCSS();else oi=[n.props[0],n.props[1],n.props[2],n.props[3],n.props[4],n.props[5],n.props[6],n.props[7],n.props[8],n.props[9],n.props[10],n.props[11],n.props[12],n.props[13],n.props[14],n.props[15]];ri=Ka}if(s<=h)V=new LetterProps(ri,ii,li,ei,Ua,oi),this.renderedLetters.push(V),s+=1,this.lettersChangedFlag=!0;else V=this.renderedLetters[h],this.lettersChangedFlag=V.update(ri,ii,li,ei,Ua,oi)||this.lettersChangedFlag}},TextAnimatorProperty.prototype.getValue=function(){if(this._elem.globalData.frameId===this._frameId)return;this._frameId=this._elem.globalData.frameId,this.iterateDynamicProperties()},TextAnimatorProperty.prototype.mHelper=new Matrix,TextAnimatorProperty.prototype.defaultPropsArray=[],extendPrototype([DynamicPropertyContainer],TextAnimatorProperty);function ITextElement(){}ITextElement.prototype.initElement=function(a,i,e){this.lettersChangedFlag=!0,this.initFrame(),this.initBaseData(a,i,e),this.textProperty=new TextProperty(this,a.t,this.dynamicProperties),this.textAnimator=new TextAnimatorProperty(a.t,this.renderType,this),this.initTransform(a,i,e),this.initHierarchy(),this.initRenderable(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.createContent(),this.hide(),this.textAnimator.searchProperties(this.dynamicProperties)},ITextElement.prototype.prepareFrame=function(a){this._mdf=!1,this.prepareRenderableFrame(a),this.prepareProperties(a,this.isInRange)},ITextElement.prototype.createPathShape=function(a,i){var e,o=i.length,r,n="";for(e=0;e<o;e+=1)if(i[e].ty==="sh")r=i[e].ks.k,n+=buildShapeString(r,r.i.length,!0,a);return n},ITextElement.prototype.updateDocumentData=function(a,i){this.textProperty.updateDocumentData(a,i)},ITextElement.prototype.canResizeFont=function(a){this.textProperty.canResizeFont(a)},ITextElement.prototype.setMinimumFontSize=function(a){this.textProperty.setMinimumFontSize(a)},ITextElement.prototype.applyTextPropertiesToMatrix=function(a,i,e,o,r){if(a.ps)i.translate(a.ps[0],a.ps[1]+a.ascent,0);switch(i.translate(0,-a.ls,0),a.j){case 1:i.translate(a.justifyOffset+(a.boxWidth-a.lineWidths[e]),0,0);break;case 2:i.translate(a.justifyOffset+(a.boxWidth-a.lineWidths[e])/2,0,0);break;default:break}i.translate(o,r,0)},ITextElement.prototype.buildColor=function(a){return"rgb("+Math.round(a[0]*255)+","+Math.round(a[1]*255)+","+Math.round(a[2]*255)+")"},ITextElement.prototype.emptyProp=new LetterProps,ITextElement.prototype.destroy=function(){},ITextElement.prototype.validateText=function(){if(this.textProperty._mdf||this.textProperty._isFirstFrame)this.buildNewText(),this.textProperty._isFirstFrame=!1,this.textProperty._mdf=!1};var emptyShapeData={shapes:[]};function SVGTextLottieElement(a,i,e){this.textSpans=[],this.renderType="svg",this.initElement(a,i,e)}extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement],SVGTextLottieElement),SVGTextLottieElement.prototype.createContent=function(){if(this.data.singleShape&&!this.globalData.fontManager.chars)this.textContainer=createNS("text")},SVGTextLottieElement.prototype.buildTextContents=function(a){var i=0,e=a.length,o=[],r="";while(i<e){if(a[i]===String.fromCharCode(13)||a[i]===String.fromCharCode(3))o.push(r),r="";else r+=a[i];i+=1}return o.push(r),o},SVGTextLottieElement.prototype.buildShapeData=function(a,i){if(a.shapes&&a.shapes.length){var e=a.shapes[0];if(e.it){var o=e.it[e.it.length-1];if(o.s)o.s.k[0]=i,o.s.k[1]=i}}return a},SVGTextLottieElement.prototype.buildNewText=function(){this.addDynamicProperty(this);var a,i,e=this.textProperty.currentData;if(this.renderedLetters=createSizedArray(e?e.l.length:0),e.fc)this.layerElement.setAttribute("fill",this.buildColor(e.fc));else this.layerElement.setAttribute("fill","rgba(0,0,0,0)");if(e.sc)this.layerElement.setAttribute("stroke",this.buildColor(e.sc)),this.layerElement.setAttribute("stroke-width",e.sw);this.layerElement.setAttribute("font-size",e.finalSize);var o=this.globalData.fontManager.getFontByName(e.f);if(o.fClass)this.layerElement.setAttribute("class",o.fClass);else{this.layerElement.setAttribute("font-family",o.fFamily);var{fWeight:r,fStyle:n}=e;this.layerElement.setAttribute("font-style",n),this.layerElement.setAttribute("font-weight",r)}this.layerElement.setAttribute("aria-label",e.t);var t=e.l||[],s=!!this.globalData.fontManager.chars;i=t.length;var l,u=this.mHelper,h="",f=this.data.singleShape,c=0,y=0,g=!0,b=e.tr*0.001*e.finalSize;if(f&&!s&&!e.sz){var I=this.textContainer,m="start";switch(e.j){case 1:m="end";break;case 2:m="middle";break;default:m="start";break}I.setAttribute("text-anchor",m),I.setAttribute("letter-spacing",b);var k=this.buildTextContents(e.finalText);i=k.length,y=e.ps?e.ps[1]+e.ascent:0;for(a=0;a<i;a+=1){if(l=this.textSpans[a].span||createNS("tspan"),l.textContent=k[a],l.setAttribute("x",0),l.setAttribute("y",y),l.style.display="inherit",I.appendChild(l),!this.textSpans[a])this.textSpans[a]={span:null,glyph:null};this.textSpans[a].span=l,y+=e.finalLineHeight}this.layerElement.appendChild(I)}else{var p=this.textSpans.length,v;for(a=0;a<i;a+=1){if(!this.textSpans[a])this.textSpans[a]={span:null,childSpan:null,glyph:null};if(!s||!f||a===0){if(l=p>a?this.textSpans[a].span:createNS(s?"g":"text"),p<=a){if(l.setAttribute("stroke-linecap","butt"),l.setAttribute("stroke-linejoin","round"),l.setAttribute("stroke-miterlimit","4"),this.textSpans[a].span=l,s){var S=createNS("g");l.appendChild(S),this.textSpans[a].childSpan=S}this.textSpans[a].span=l,this.layerElement.appendChild(l)}l.style.display="inherit"}if(u.reset(),f){if(t[a].n)c=-b,y+=e.yOffset,y+=g?1:0,g=!1;this.applyTextPropertiesToMatrix(e,u,t[a].line,c,y),c+=t[a].l||0,c+=b}if(s){v=this.globalData.fontManager.getCharData(e.finalText[a],o.fStyle,this.globalData.fontManager.getFontByName(e.f).fFamily);var F;if(v.t===1)F=new SVGCompElement(v.data,this.globalData,this);else{var K=emptyShapeData;if(v.data&&v.data.shapes)K=this.buildShapeData(v.data,e.finalSize);F=new SVGShapeElement(K,this.globalData,this)}if(this.textSpans[a].glyph){var R=this.textSpans[a].glyph;this.textSpans[a].childSpan.removeChild(R.layerElement),R.destroy()}if(this.textSpans[a].glyph=F,F._debug=!0,F.prepareFrame(0),F.renderFrame(),this.textSpans[a].childSpan.appendChild(F.layerElement),v.t===1)this.textSpans[a].childSpan.setAttribute("transform","scale("+e.finalSize/100+","+e.finalSize/100+")")}else{if(f)l.setAttribute("transform","translate("+u.props[12]+","+u.props[13]+")");l.textContent=t[a].val,l.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve")}}if(f&&l)l.setAttribute("d",h)}while(a<this.textSpans.length)this.textSpans[a].span.style.display="none",a+=1;this._sizeChanged=!0},SVGTextLottieElement.prototype.sourceRectAtTime=function(){if(this.prepareFrame(this.comp.renderedFrame-this.data.st),this.renderInnerContent(),this._sizeChanged){this._sizeChanged=!1;var a=this.layerElement.getBBox();this.bbox={top:a.y,left:a.x,width:a.width,height:a.height}}return this.bbox},SVGTextLottieElement.prototype.getValue=function(){var a,i=this.textSpans.length,e;this.renderedFrame=this.comp.renderedFrame;for(a=0;a<i;a+=1)if(e=this.textSpans[a].glyph,e){if(e.prepareFrame(this.comp.renderedFrame-this.data.st),e._mdf)this._mdf=!0}},SVGTextLottieElement.prototype.renderInnerContent=function(){if(this.validateText(),!this.data.singleShape||this._mdf){if(this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag),this.lettersChangedFlag||this.textAnimator.lettersChangedFlag){this._sizeChanged=!0;var a,i,e=this.textAnimator.renderedLetters,o=this.textProperty.currentData.l;i=o.length;var r,n,t;for(a=0;a<i;a+=1)if(!o[a].n){if(r=e[a],n=this.textSpans[a].span,t=this.textSpans[a].glyph,t)t.renderFrame();if(r._mdf.m)n.setAttribute("transform",r.m);if(r._mdf.o)n.setAttribute("opacity",r.o);if(r._mdf.sw)n.setAttribute("stroke-width",r.sw);if(r._mdf.sc)n.setAttribute("stroke",r.sc);if(r._mdf.fc)n.setAttribute("fill",r.fc)}}}};function ISolidElement(a,i,e){this.initElement(a,i,e)}extendPrototype([IImageElement],ISolidElement),ISolidElement.prototype.createContent=function(){var a=createNS("rect");a.setAttribute("width",this.data.sw),a.setAttribute("height",this.data.sh),a.setAttribute("fill",this.data.sc),this.layerElement.appendChild(a)};function NullElement(a,i,e){this.initFrame(),this.initBaseData(a,i,e),this.initFrame(),this.initTransform(a,i,e),this.initHierarchy()}NullElement.prototype.prepareFrame=function(a){this.prepareProperties(a,!0)},NullElement.prototype.renderFrame=function(){},NullElement.prototype.getBaseElement=function(){return null},NullElement.prototype.destroy=function(){},NullElement.prototype.sourceRectAtTime=function(){},NullElement.prototype.hide=function(){},extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement],NullElement);function SVGRendererBase(){}extendPrototype([BaseRenderer],SVGRendererBase),SVGRendererBase.prototype.createNull=function(a){return new NullElement(a,this.globalData,this)},SVGRendererBase.prototype.createShape=function(a){return new SVGShapeElement(a,this.globalData,this)},SVGRendererBase.prototype.createText=function(a){return new SVGTextLottieElement(a,this.globalData,this)},SVGRendererBase.prototype.createImage=function(a){return new IImageElement(a,this.globalData,this)},SVGRendererBase.prototype.createSolid=function(a){return new ISolidElement(a,this.globalData,this)},SVGRendererBase.prototype.configAnimation=function(a){if(this.svgElement.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.svgElement.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink"),this.renderConfig.viewBoxSize)this.svgElement.setAttribute("viewBox",this.renderConfig.viewBoxSize);else this.svgElement.setAttribute("viewBox","0 0 "+a.w+" "+a.h);if(!this.renderConfig.viewBoxOnly)this.svgElement.setAttribute("width",a.w),this.svgElement.setAttribute("height",a.h),this.svgElement.style.width="100%",this.svgElement.style.height="100%",this.svgElement.style.transform="translate3d(0,0,0)",this.svgElement.style.contentVisibility=this.renderConfig.contentVisibility;if(this.renderConfig.width)this.svgElement.setAttribute("width",this.renderConfig.width);if(this.renderConfig.height)this.svgElement.setAttribute("height",this.renderConfig.height);if(this.renderConfig.className)this.svgElement.setAttribute("class",this.renderConfig.className);if(this.renderConfig.id)this.svgElement.setAttribute("id",this.renderConfig.id);if(this.renderConfig.focusable!==void 0)this.svgElement.setAttribute("focusable",this.renderConfig.focusable);this.svgElement.setAttribute("preserveAspectRatio",this.renderConfig.preserveAspectRatio),this.animationItem.wrapper.appendChild(this.svgElement);var i=this.globalData.defs;this.setupGlobalData(a,i),this.globalData.progressiveLoad=this.renderConfig.progressiveLoad,this.data=a;var e=createNS("clipPath"),o=createNS("rect");o.setAttribute("width",a.w),o.setAttribute("height",a.h),o.setAttribute("x",0),o.setAttribute("y",0);var r=createElementID();e.setAttribute("id",r),e.appendChild(o),this.layerElement.setAttribute("clip-path","url("+getLocationHref()+"#"+r+")"),i.appendChild(e),this.layers=a.layers,this.elements=createSizedArray(a.layers.length)},SVGRendererBase.prototype.destroy=function(){if(this.animationItem.wrapper)this.animationItem.wrapper.innerText="";this.layerElement=null,this.globalData.defs=null;var a,i=this.layers?this.layers.length:0;for(a=0;a<i;a+=1)if(this.elements[a]&&this.elements[a].destroy)this.elements[a].destroy();this.elements.length=0,this.destroyed=!0,this.animationItem=null},SVGRendererBase.prototype.updateContainerSize=function(){},SVGRendererBase.prototype.findIndexByInd=function(a){var i=0,e=this.layers.length;for(i=0;i<e;i+=1)if(this.layers[i].ind===a)return i;return-1},SVGRendererBase.prototype.buildItem=function(a){var i=this.elements;if(i[a]||this.layers[a].ty===99)return;i[a]=!0;var e=this.createItem(this.layers[a]);if(i[a]=e,getExpressionsPlugin()){if(this.layers[a].ty===0)this.globalData.projectInterface.registerComposition(e);e.initExpressions()}if(this.appendElementInPos(e,a),this.layers[a].tt){var o="tp"in this.layers[a]?this.findIndexByInd(this.layers[a].tp):a-1;if(o===-1)return;if(!this.elements[o]||this.elements[o]===!0)this.buildItem(o),this.addPendingElement(e);else{var r=i[o],n=r.getMatte(this.layers[a].tt);e.setMatte(n)}}},SVGRendererBase.prototype.checkPendingElements=function(){while(this.pendingElements.length){var a=this.pendingElements.pop();if(a.checkParenting(),a.data.tt){var i=0,e=this.elements.length;while(i<e){if(this.elements[i]===a){var o="tp"in a.data?this.findIndexByInd(a.data.tp):i-1,r=this.elements[o],n=r.getMatte(this.layers[i].tt);a.setMatte(n);break}i+=1}}}},SVGRendererBase.prototype.renderFrame=function(a){if(this.renderedFrame===a||this.destroyed)return;if(a===null)a=this.renderedFrame;else this.renderedFrame=a;this.globalData.frameNum=a,this.globalData.frameId+=1,this.globalData.projectInterface.currentFrame=a,this.globalData._mdf=!1;var i,e=this.layers.length;if(!this.completeLayers)this.checkLayers(a);for(i=e-1;i>=0;i-=1)if(this.completeLayers||this.elements[i])this.elements[i].prepareFrame(a-this.layers[i].st);if(this.globalData._mdf){for(i=0;i<e;i+=1)if(this.completeLayers||this.elements[i])this.elements[i].renderFrame()}},SVGRendererBase.prototype.appendElementInPos=function(a,i){var e=a.getBaseElement();if(!e)return;var o=0,r;while(o<i){if(this.elements[o]&&this.elements[o]!==!0&&this.elements[o].getBaseElement())r=this.elements[o].getBaseElement();o+=1}if(r)this.layerElement.insertBefore(e,r);else this.layerElement.appendChild(e)},SVGRendererBase.prototype.hide=function(){this.layerElement.style.display="none"},SVGRendererBase.prototype.show=function(){this.layerElement.style.display="block"};function ICompElement(){}extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement,RenderableDOMElement],ICompElement),ICompElement.prototype.initElement=function(a,i,e){if(this.initFrame(),this.initBaseData(a,i,e),this.initTransform(a,i,e),this.initRenderable(),this.initHierarchy(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.data.xt||!i.progressiveLoad)this.buildAllItems();this.hide()},ICompElement.prototype.prepareFrame=function(a){if(this._mdf=!1,this.prepareRenderableFrame(a),this.prepareProperties(a,this.isInRange),!this.isInRange&&!this.data.xt)return;if(!this.tm._placeholder){var i=this.tm.v;if(i===this.data.op)i=this.data.op-1;this.renderedFrame=i}else this.renderedFrame=a/this.data.sr;var e,o=this.elements.length;if(!this.completeLayers)this.checkLayers(this.renderedFrame);for(e=o-1;e>=0;e-=1)if(this.completeLayers||this.elements[e]){if(this.elements[e].prepareFrame(this.renderedFrame-this.layers[e].st),this.elements[e]._mdf)this._mdf=!0}},ICompElement.prototype.renderInnerContent=function(){var a,i=this.layers.length;for(a=0;a<i;a+=1)if(this.completeLayers||this.elements[a])this.elements[a].renderFrame()},ICompElement.prototype.setElements=function(a){this.elements=a},ICompElement.prototype.getElements=function(){return this.elements},ICompElement.prototype.destroyElements=function(){var a,i=this.layers.length;for(a=0;a<i;a+=1)if(this.elements[a])this.elements[a].destroy()},ICompElement.prototype.destroy=function(){this.destroyElements(),this.destroyBaseElement()};function SVGCompElement(a,i,e){this.layers=a.layers,this.supports3d=!0,this.completeLayers=!1,this.pendingElements=[],this.elements=this.layers?createSizedArray(this.layers.length):[],this.initElement(a,i,e),this.tm=a.tm?PropertyFactory.getProp(this,a.tm,0,i.frameRate,this):{_placeholder:!0}}extendPrototype([SVGRendererBase,ICompElement,SVGBaseElement],SVGCompElement),SVGCompElement.prototype.createComp=function(a){return new SVGCompElement(a,this.globalData,this)};function SVGRenderer(a,i){this.animationItem=a,this.layers=null,this.renderedFrame=-1,this.svgElement=createNS("svg");var e="";if(i&&i.title){var o=createNS("title"),r=createElementID();o.setAttribute("id",r),o.textContent=i.title,this.svgElement.appendChild(o),e+=r}if(i&&i.description){var n=createNS("desc"),t=createElementID();n.setAttribute("id",t),n.textContent=i.description,this.svgElement.appendChild(n),e+=" "+t}if(e)this.svgElement.setAttribute("aria-labelledby",e);var s=createNS("defs");this.svgElement.appendChild(s);var l=createNS("g");this.svgElement.appendChild(l),this.layerElement=l,this.renderConfig={preserveAspectRatio:i&&i.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:i&&i.imagePreserveAspectRatio||"xMidYMid slice",contentVisibility:i&&i.contentVisibility||"visible",progressiveLoad:i&&i.progressiveLoad||!1,hideOnTransparent:!(i&&i.hideOnTransparent===!1),viewBoxOnly:i&&i.viewBoxOnly||!1,viewBoxSize:i&&i.viewBoxSize||!1,className:i&&i.className||"",id:i&&i.id||"",focusable:i&&i.focusable,filterSize:{width:i&&i.filterSize&&i.filterSize.width||"100%",height:i&&i.filterSize&&i.filterSize.height||"100%",x:i&&i.filterSize&&i.filterSize.x||"0%",y:i&&i.filterSize&&i.filterSize.y||"0%"},width:i&&i.width,height:i&&i.height,runExpressions:!i||i.runExpressions===void 0||i.runExpressions},this.globalData={_mdf:!1,frameNum:-1,defs:s,renderConfig:this.renderConfig},this.elements=[],this.pendingElements=[],this.destroyed=!1,this.rendererType="svg"}extendPrototype([SVGRendererBase],SVGRenderer),SVGRenderer.prototype.createComp=function(a){return new SVGCompElement(a,this.globalData,this)};function ShapeTransformManager(){this.sequences={},this.sequenceList=[],this.transform_key_count=0}ShapeTransformManager.prototype={addTransformSequence:function a(i){var e,o=i.length,r="_";for(e=0;e<o;e+=1)r+=i[e].transform.key+"_";var n=this.sequences[r];if(!n)n={transforms:[].concat(i),finalTransform:new Matrix,_mdf:!1},this.sequences[r]=n,this.sequenceList.push(n);return n},processSequence:function a(i,e){var o=0,r=i.transforms.length,n=e;while(o<r&&!e){if(i.transforms[o].transform.mProps._mdf){n=!0;break}o+=1}if(n){i.finalTransform.reset();for(o=r-1;o>=0;o-=1)i.finalTransform.multiply(i.transforms[o].transform.mProps.v)}i._mdf=n},processSequences:function a(i){var e,o=this.sequenceList.length;for(e=0;e<o;e+=1)this.processSequence(this.sequenceList[e],i)},getNewKey:function a(){return this.transform_key_count+=1,"_"+this.transform_key_count}};var lumaLoader=function a(){var i="__lottie_element_luma_buffer",e=null,o=null,r=null;function n(){var l=createNS("svg"),u=createNS("filter"),h=createNS("feColorMatrix");if(u.setAttribute("id",i),h.setAttribute("type","matrix"),h.setAttribute("color-interpolation-filters","sRGB"),h.setAttribute("values","0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0"),u.appendChild(h),l.appendChild(u),l.setAttribute("id",i+"_svg"),featureSupport.svgLumaHidden)l.style.display="none";return l}function t(){if(!e)r=n(),document.body.appendChild(r),e=createTag("canvas"),o=e.getContext("2d"),o.filter="url(#"+i+")",o.fillStyle="rgba(0,0,0,0)",o.fillRect(0,0,1,1)}function s(l){if(!e)t();return e.width=l.width,e.height=l.height,o.filter="url(#"+i+")",e}return{load:t,get:s}};function createCanvas(a,i){if(featureSupport.offscreenCanvas)return new OffscreenCanvas(a,i);var e=createTag("canvas");return e.width=a,e.height=i,e}var assetLoader=function(){return{loadLumaCanvas:lumaLoader.load,getLumaCanvas:lumaLoader.get,createCanvas}}(),registeredEffects={};function CVEffects(a){var i,e=a.data.ef?a.data.ef.length:0;this.filters=[];var o;for(i=0;i<e;i+=1){o=null;var r=a.data.ef[i].ty;if(registeredEffects[r]){var n=registeredEffects[r].effect;o=new n(a.effectsManager.effectElements[i],a)}if(o)this.filters.push(o)}if(this.filters.length)a.addRenderableComponent(this)}CVEffects.prototype.renderFrame=function(a){var i,e=this.filters.length;for(i=0;i<e;i+=1)this.filters[i].renderFrame(a)},CVEffects.prototype.getEffects=function(a){var i,e=this.filters.length,o=[];for(i=0;i<e;i+=1)if(this.filters[i].type===a)o.push(this.filters[i]);return o};function registerEffect(a,i){registeredEffects[a]={effect:i}}function CVMaskElement(a,i){this.data=a,this.element=i,this.masksProperties=this.data.masksProperties||[],this.viewData=createSizedArray(this.masksProperties.length);var e,o=this.masksProperties.length,r=!1;for(e=0;e<o;e+=1){if(this.masksProperties[e].mode!=="n")r=!0;this.viewData[e]=ShapePropertyFactory.getShapeProp(this.element,this.masksProperties[e],3)}if(this.hasMasks=r,r)this.element.addRenderableComponent(this)}CVMaskElement.prototype.renderFrame=function(){if(!this.hasMasks)return;var a=this.element.finalTransform.mat,i=this.element.canvasContext,e,o=this.masksProperties.length,r,n,t;i.beginPath();for(e=0;e<o;e+=1)if(this.masksProperties[e].mode!=="n"){if(this.masksProperties[e].inv)i.moveTo(0,0),i.lineTo(this.element.globalData.compSize.w,0),i.lineTo(this.element.globalData.compSize.w,this.element.globalData.compSize.h),i.lineTo(0,this.element.globalData.compSize.h),i.lineTo(0,0);t=this.viewData[e].v,r=a.applyToPointArray(t.v[0][0],t.v[0][1],0),i.moveTo(r[0],r[1]);var s,l=t._length;for(s=1;s<l;s+=1)n=a.applyToTriplePoints(t.o[s-1],t.i[s],t.v[s]),i.bezierCurveTo(n[0],n[1],n[2],n[3],n[4],n[5]);n=a.applyToTriplePoints(t.o[s-1],t.i[0],t.v[0]),i.bezierCurveTo(n[0],n[1],n[2],n[3],n[4],n[5])}this.element.globalData.renderer.save(!0),i.clip()},CVMaskElement.prototype.getMaskProperty=MaskElement.prototype.getMaskProperty,CVMaskElement.prototype.destroy=function(){this.element=null};function CVBaseElement(){}var operationsMap={1:"source-in",2:"source-out",3:"source-in",4:"source-out"};CVBaseElement.prototype={createElements:function a(){},initRendererElement:function a(){},createContainerElements:function a(){if(this.data.tt>=1){this.buffers=[];var i=this.globalData.canvasContext,e=assetLoader.createCanvas(i.canvas.width,i.canvas.height);this.buffers.push(e);var o=assetLoader.createCanvas(i.canvas.width,i.canvas.height);if(this.buffers.push(o),this.data.tt>=3&&!document._isProxy)assetLoader.loadLumaCanvas()}this.canvasContext=this.globalData.canvasContext,this.transformCanvas=this.globalData.transformCanvas,this.renderableEffectsManager=new CVEffects(this),this.searchEffectTransforms()},createContent:function a(){},setBlendMode:function a(){var i=this.globalData;if(i.blendMode!==this.data.bm){i.blendMode=this.data.bm;var e=getBlendMode(this.data.bm);i.canvasContext.globalCompositeOperation=e}},createRenderableComponents:function a(){this.maskManager=new CVMaskElement(this.data,this),this.transformEffects=this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT)},hideElement:function a(){if(!this.hidden&&(!this.isInRange||this.isTransparent))this.hidden=!0},showElement:function a(){if(this.isInRange&&!this.isTransparent)this.hidden=!1,this._isFirstFrame=!0,this.maskManager._isFirstFrame=!0},clearCanvas:function a(i){i.clearRect(this.transformCanvas.tx,this.transformCanvas.ty,this.transformCanvas.w*this.transformCanvas.sx,this.transformCanvas.h*this.transformCanvas.sy)},prepareLayer:function a(){if(this.data.tt>=1){var i=this.buffers[0],e=i.getContext("2d");this.clearCanvas(e),e.drawImage(this.canvasContext.canvas,0,0),this.currentTransform=this.canvasContext.getTransform(),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform)}},exitLayer:function a(){if(this.data.tt>=1){var i=this.buffers[1],e=i.getContext("2d");this.clearCanvas(e),e.drawImage(this.canvasContext.canvas,0,0),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform);var o=this.comp.getElementById("tp"in this.data?this.data.tp:this.data.ind-1);if(o.renderFrame(!0),this.canvasContext.setTransform(1,0,0,1,0,0),this.data.tt>=3&&!document._isProxy){var r=assetLoader.getLumaCanvas(this.canvasContext.canvas),n=r.getContext("2d");n.drawImage(this.canvasContext.canvas,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.drawImage(r,0,0)}this.canvasContext.globalCompositeOperation=operationsMap[this.data.tt],this.canvasContext.drawImage(i,0,0),this.canvasContext.globalCompositeOperation="destination-over",this.canvasContext.drawImage(this.buffers[0],0,0),this.canvasContext.setTransform(this.currentTransform),this.canvasContext.globalCompositeOperation="source-over"}},renderFrame:function a(i){if(this.hidden||this.data.hd)return;if(this.data.td===1&&!i)return;this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.setBlendMode();var e=this.data.ty===0;if(this.prepareLayer(),this.globalData.renderer.save(e),this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props),this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity),this.renderInnerContent(),this.globalData.renderer.restore(e),this.exitLayer(),this.maskManager.hasMasks)this.globalData.renderer.restore(!0);if(this._isFirstFrame)this._isFirstFrame=!1},destroy:function a(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager.destroy()},mHelper:new Matrix},CVBaseElement.prototype.hide=CVBaseElement.prototype.hideElement,CVBaseElement.prototype.show=CVBaseElement.prototype.showElement;function CVShapeData(a,i,e,o){this.styledShapes=[],this.tr=[0,0,0,0,0,0];var r=4;if(i.ty==="rc")r=5;else if(i.ty==="el")r=6;else if(i.ty==="sr")r=7;this.sh=ShapePropertyFactory.getShapeProp(a,i,r,a);var n,t=e.length,s;for(n=0;n<t;n+=1)if(!e[n].closed)s={transforms:o.addTransformSequence(e[n].transforms),trNodes:[]},this.styledShapes.push(s),e[n].elements.push(s)}CVShapeData.prototype.setAsAnimated=SVGShapeData.prototype.setAsAnimated;function CVShapeElement(a,i,e){this.shapes=[],this.shapesData=a.shapes,this.stylesList=[],this.itemsData=[],this.prevViewData=[],this.shapeModifiers=[],this.processedElements=[],this.transformsManager=new ShapeTransformManager,this.initElement(a,i,e)}extendPrototype([BaseElement,TransformElement,CVBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableElement],CVShapeElement),CVShapeElement.prototype.initElement=RenderableDOMElement.prototype.initElement,CVShapeElement.prototype.transformHelper={opacity:1,_opMdf:!1},CVShapeElement.prototype.dashResetter=[],CVShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,!0,[])},CVShapeElement.prototype.createStyleElement=function(a,i){var e={data:a,type:a.ty,preTransforms:this.transformsManager.addTransformSequence(i),transforms:[],elements:[],closed:a.hd===!0},o={};if(a.ty==="fl"||a.ty==="st"){if(o.c=PropertyFactory.getProp(this,a.c,1,255,this),!o.c.k)e.co="rgb("+bmFloor(o.c.v[0])+","+bmFloor(o.c.v[1])+","+bmFloor(o.c.v[2])+")"}else if(a.ty==="gf"||a.ty==="gs")o.s=PropertyFactory.getProp(this,a.s,1,null,this),o.e=PropertyFactory.getProp(this,a.e,1,null,this),o.h=PropertyFactory.getProp(this,a.h||{k:0},0,0.01,this),o.a=PropertyFactory.getProp(this,a.a||{k:0},0,degToRads,this),o.g=new GradientProperty(this,a.g,this);if(o.o=PropertyFactory.getProp(this,a.o,0,0.01,this),a.ty==="st"||a.ty==="gs"){if(e.lc=lineCapEnum[a.lc||2],e.lj=lineJoinEnum[a.lj||2],a.lj==1)e.ml=a.ml;if(o.w=PropertyFactory.getProp(this,a.w,0,null,this),!o.w.k)e.wi=o.w.v;if(a.d){var r=new DashProperty(this,a.d,"canvas",this);if(o.d=r,!o.d.k)e.da=o.d.dashArray,e.do=o.d.dashoffset[0]}}else e.r=a.r===2?"evenodd":"nonzero";return this.stylesList.push(e),o.style=e,o},CVShapeElement.prototype.createGroupElement=function(){var a={it:[],prevViewData:[]};return a},CVShapeElement.prototype.createTransformElement=function(a){var i={transform:{opacity:1,_opMdf:!1,key:this.transformsManager.getNewKey(),op:PropertyFactory.getProp(this,a.o,0,0.01,this),mProps:TransformPropertyFactory.getTransformProperty(this,a,this)}};return i},CVShapeElement.prototype.createShapeElement=function(a){var i=new CVShapeData(this,a,this.stylesList,this.transformsManager);return this.shapes.push(i),this.addShapeToModifiers(i),i},CVShapeElement.prototype.reloadShapes=function(){this._isFirstFrame=!0;var a,i=this.itemsData.length;for(a=0;a<i;a+=1)this.prevViewData[a]=this.itemsData[a];this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,!0,[]),i=this.dynamicProperties.length;for(a=0;a<i;a+=1)this.dynamicProperties[a].getValue();this.renderModifiers(),this.transformsManager.processSequences(this._isFirstFrame)},CVShapeElement.prototype.addTransformToStyleList=function(a){var i,e=this.stylesList.length;for(i=0;i<e;i+=1)if(!this.stylesList[i].closed)this.stylesList[i].transforms.push(a)},CVShapeElement.prototype.removeTransformFromStyleList=function(){var a,i=this.stylesList.length;for(a=0;a<i;a+=1)if(!this.stylesList[a].closed)this.stylesList[a].transforms.pop()},CVShapeElement.prototype.closeStyles=function(a){var i,e=a.length;for(i=0;i<e;i+=1)a[i].closed=!0},CVShapeElement.prototype.searchShapes=function(a,i,e,o,r){var n,t=a.length-1,s,l,u=[],h=[],f,c,y,g=[].concat(r);for(n=t;n>=0;n-=1){if(f=this.searchProcessedElement(a[n]),!f)a[n]._shouldRender=o;else i[n]=e[f-1];if(a[n].ty==="fl"||a[n].ty==="st"||a[n].ty==="gf"||a[n].ty==="gs"){if(!f)i[n]=this.createStyleElement(a[n],g);else i[n].style.closed=!1;u.push(i[n].style)}else if(a[n].ty==="gr"){if(!f)i[n]=this.createGroupElement(a[n]);else{l=i[n].it.length;for(s=0;s<l;s+=1)i[n].prevViewData[s]=i[n].it[s]}this.searchShapes(a[n].it,i[n].it,i[n].prevViewData,o,g)}else if(a[n].ty==="tr"){if(!f)y=this.createTransformElement(a[n]),i[n]=y;g.push(i[n]),this.addTransformToStyleList(i[n])}else if(a[n].ty==="sh"||a[n].ty==="rc"||a[n].ty==="el"||a[n].ty==="sr"){if(!f)i[n]=this.createShapeElement(a[n])}else if(a[n].ty==="tm"||a[n].ty==="rd"||a[n].ty==="pb"||a[n].ty==="zz"||a[n].ty==="op"){if(!f)c=ShapeModifiers.getModifier(a[n].ty),c.init(this,a[n]),i[n]=c,this.shapeModifiers.push(c);else c=i[n],c.closed=!1;h.push(c)}else if(a[n].ty==="rp"){if(!f)c=ShapeModifiers.getModifier(a[n].ty),i[n]=c,c.init(this,a,n,i),this.shapeModifiers.push(c),o=!1;else c=i[n],c.closed=!0;h.push(c)}this.addProcessedElement(a[n],n+1)}this.removeTransformFromStyleList(),this.closeStyles(u),t=h.length;for(n=0;n<t;n+=1)h[n].closed=!0},CVShapeElement.prototype.renderInnerContent=function(){this.transformHelper.opacity=1,this.transformHelper._opMdf=!1,this.renderModifiers(),this.transformsManager.processSequences(this._isFirstFrame),this.renderShape(this.transformHelper,this.shapesData,this.itemsData,!0)},CVShapeElement.prototype.renderShapeTransform=function(a,i){if(a._opMdf||i.op._mdf||this._isFirstFrame)i.opacity=a.opacity,i.opacity*=i.op.v,i._opMdf=!0},CVShapeElement.prototype.drawLayer=function(){var a,i=this.stylesList.length,e,o,r,n,t,s,l=this.globalData.renderer,u=this.globalData.canvasContext,h,f;for(a=0;a<i;a+=1)if(f=this.stylesList[a],h=f.type,!((h==="st"||h==="gs")&&f.wi===0||!f.data._shouldRender||f.coOp===0||this.globalData.currentGlobalAlpha===0)){if(l.save(),t=f.elements,h==="st"||h==="gs")l.ctxStrokeStyle(h==="st"?f.co:f.grd),l.ctxLineWidth(f.wi),l.ctxLineCap(f.lc),l.ctxLineJoin(f.lj),l.ctxMiterLimit(f.ml||0);else l.ctxFillStyle(h==="fl"?f.co:f.grd);if(l.ctxOpacity(f.coOp),h!=="st"&&h!=="gs")u.beginPath();l.ctxTransform(f.preTransforms.finalTransform.props),o=t.length;for(e=0;e<o;e+=1){if(h==="st"||h==="gs"){if(u.beginPath(),f.da)u.setLineDash(f.da),u.lineDashOffset=f.do}s=t[e].trNodes,n=s.length;for(r=0;r<n;r+=1)if(s[r].t==="m")u.moveTo(s[r].p[0],s[r].p[1]);else if(s[r].t==="c")u.bezierCurveTo(s[r].pts[0],s[r].pts[1],s[r].pts[2],s[r].pts[3],s[r].pts[4],s[r].pts[5]);else u.closePath();if(h==="st"||h==="gs"){if(l.ctxStroke(),f.da)u.setLineDash(this.dashResetter)}}if(h!=="st"&&h!=="gs")this.globalData.renderer.ctxFill(f.r);l.restore()}},CVShapeElement.prototype.renderShape=function(a,i,e,o){var r,n=i.length-1,t;t=a;for(r=n;r>=0;r-=1)if(i[r].ty==="tr")t=e[r].transform,this.renderShapeTransform(a,t);else if(i[r].ty==="sh"||i[r].ty==="el"||i[r].ty==="rc"||i[r].ty==="sr")this.renderPath(i[r],e[r]);else if(i[r].ty==="fl")this.renderFill(i[r],e[r],t);else if(i[r].ty==="st")this.renderStroke(i[r],e[r],t);else if(i[r].ty==="gf"||i[r].ty==="gs")this.renderGradientFill(i[r],e[r],t);else if(i[r].ty==="gr")this.renderShape(t,i[r].it,e[r].it);else if(i[r].ty==="tm");if(o)this.drawLayer()},CVShapeElement.prototype.renderStyledShape=function(a,i){if(this._isFirstFrame||i._mdf||a.transforms._mdf){var e=a.trNodes,o=i.paths,r,n,t,s=o._length;e.length=0;var l=a.transforms.finalTransform;for(t=0;t<s;t+=1){var u=o.shapes[t];if(u&&u.v){n=u._length;for(r=1;r<n;r+=1){if(r===1)e.push({t:"m",p:l.applyToPointArray(u.v[0][0],u.v[0][1],0)});e.push({t:"c",pts:l.applyToTriplePoints(u.o[r-1],u.i[r],u.v[r])})}if(n===1)e.push({t:"m",p:l.applyToPointArray(u.v[0][0],u.v[0][1],0)});if(u.c&&n)e.push({t:"c",pts:l.applyToTriplePoints(u.o[r-1],u.i[0],u.v[0])}),e.push({t:"z"})}}a.trNodes=e}},CVShapeElement.prototype.renderPath=function(a,i){if(a.hd!==!0&&a._shouldRender){var e,o=i.styledShapes.length;for(e=0;e<o;e+=1)this.renderStyledShape(i.styledShapes[e],i.sh)}},CVShapeElement.prototype.renderFill=function(a,i,e){var o=i.style;if(i.c._mdf||this._isFirstFrame)o.co="rgb("+bmFloor(i.c.v[0])+","+bmFloor(i.c.v[1])+","+bmFloor(i.c.v[2])+")";if(i.o._mdf||e._opMdf||this._isFirstFrame)o.coOp=i.o.v*e.opacity},CVShapeElement.prototype.renderGradientFill=function(a,i,e){var o=i.style,r;if(!o.grd||i.g._mdf||i.s._mdf||i.e._mdf||a.t!==1&&(i.h._mdf||i.a._mdf)){var n=this.globalData.canvasContext,t=i.s.v,s=i.e.v;if(a.t===1)r=n.createLinearGradient(t[0],t[1],s[0],s[1]);else{var l=Math.sqrt(Math.pow(t[0]-s[0],2)+Math.pow(t[1]-s[1],2)),u=Math.atan2(s[1]-t[1],s[0]-t[0]),h=i.h.v;if(h>=1)h=0.99;else if(h<=-1)h=-0.99;var f=l*h,c=Math.cos(u+i.a.v)*f+t[0],y=Math.sin(u+i.a.v)*f+t[1];r=n.createRadialGradient(c,y,0,t[0],t[1],l)}var g,b=a.g.p,I=i.g.c,m=1;for(g=0;g<b;g+=1){if(i.g._hasOpacity&&i.g._collapsable)m=i.g.o[g*2+1];r.addColorStop(I[g*4]/100,"rgba("+I[g*4+1]+","+I[g*4+2]+","+I[g*4+3]+","+m+")")}o.grd=r}o.coOp=i.o.v*e.opacity},CVShapeElement.prototype.renderStroke=function(a,i,e){var{style:o,d:r}=i;if(r&&(r._mdf||this._isFirstFrame))o.da=r.dashArray,o.do=r.dashoffset[0];if(i.c._mdf||this._isFirstFrame)o.co="rgb("+bmFloor(i.c.v[0])+","+bmFloor(i.c.v[1])+","+bmFloor(i.c.v[2])+")";if(i.o._mdf||e._opMdf||this._isFirstFrame)o.coOp=i.o.v*e.opacity;if(i.w._mdf||this._isFirstFrame)o.wi=i.w.v},CVShapeElement.prototype.destroy=function(){this.shapesData=null,this.globalData=null,this.canvasContext=null,this.stylesList.length=0,this.itemsData.length=0};function CVTextElement(a,i,e){this.textSpans=[],this.yOffset=0,this.fillColorAnim=!1,this.strokeColorAnim=!1,this.strokeWidthAnim=!1,this.stroke=!1,this.fill=!1,this.justifyOffset=0,this.currentRender=null,this.renderType="canvas",this.values={fill:"rgba(0,0,0,0)",stroke:"rgba(0,0,0,0)",sWidth:0,fValue:""},this.initElement(a,i,e)}extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement,ITextElement],CVTextElement),CVTextElement.prototype.tHelper=createTag("canvas").getContext("2d"),CVTextElement.prototype.buildNewText=function(){var a=this.textProperty.currentData;this.renderedLetters=createSizedArray(a.l?a.l.length:0);var i=!1;if(a.fc)i=!0,this.values.fill=this.buildColor(a.fc);else this.values.fill="rgba(0,0,0,0)";this.fill=i;var e=!1;if(a.sc)e=!0,this.values.stroke=this.buildColor(a.sc),this.values.sWidth=a.sw;var o=this.globalData.fontManager.getFontByName(a.f),r,n,t=a.l,s=this.mHelper;this.stroke=e,this.values.fValue=a.finalSize+"px "+this.globalData.fontManager.getFontByName(a.f).fFamily,n=a.finalText.length;var l,u,h,f,c,y,g,b,I,m,k=this.data.singleShape,p=a.tr*0.001*a.finalSize,v=0,S=0,F=!0,K=0;for(r=0;r<n;r+=1){if(l=this.globalData.fontManager.getCharData(a.finalText[r],o.fStyle,this.globalData.fontManager.getFontByName(a.f).fFamily),u=l&&l.data||{},s.reset(),k&&t[r].n)v=-p,S+=a.yOffset,S+=F?1:0,F=!1;if(c=u.shapes?u.shapes[0].it:[],g=c.length,s.scale(a.finalSize/100,a.finalSize/100),k)this.applyTextPropertiesToMatrix(a,s,t[r].line,v,S);I=createSizedArray(g-1);var R=0;for(y=0;y<g;y+=1)if(c[y].ty==="sh"){f=c[y].ks.k.i.length,b=c[y].ks.k,m=[];for(h=1;h<f;h+=1){if(h===1)m.push(s.applyToX(b.v[0][0],b.v[0][1],0),s.applyToY(b.v[0][0],b.v[0][1],0));m.push(s.applyToX(b.o[h-1][0],b.o[h-1][1],0),s.applyToY(b.o[h-1][0],b.o[h-1][1],0),s.applyToX(b.i[h][0],b.i[h][1],0),s.applyToY(b.i[h][0],b.i[h][1],0),s.applyToX(b.v[h][0],b.v[h][1],0),s.applyToY(b.v[h][0],b.v[h][1],0))}m.push(s.applyToX(b.o[h-1][0],b.o[h-1][1],0),s.applyToY(b.o[h-1][0],b.o[h-1][1],0),s.applyToX(b.i[0][0],b.i[0][1],0),s.applyToY(b.i[0][0],b.i[0][1],0),s.applyToX(b.v[0][0],b.v[0][1],0),s.applyToY(b.v[0][0],b.v[0][1],0)),I[R]=m,R+=1}if(k)v+=t[r].l,v+=p;if(this.textSpans[K])this.textSpans[K].elem=I;else this.textSpans[K]={elem:I};K+=1}},CVTextElement.prototype.renderInnerContent=function(){this.validateText();var a=this.canvasContext;if(a.font=this.values.fValue,this.globalData.renderer.ctxLineCap("butt"),this.globalData.renderer.ctxLineJoin("miter"),this.globalData.renderer.ctxMiterLimit(4),!this.data.singleShape)this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag);var i,e,o,r,n,t,s=this.textAnimator.renderedLetters,l=this.textProperty.currentData.l;e=l.length;var u,h=null,f=null,c=null,y,g,b=this.globalData.renderer;for(i=0;i<e;i+=1)if(!l[i].n){if(u=s[i],u)b.save(),b.ctxTransform(u.p),b.ctxOpacity(u.o);if(this.fill){if(u&&u.fc){if(h!==u.fc)b.ctxFillStyle(u.fc),h=u.fc}else if(h!==this.values.fill)h=this.values.fill,b.ctxFillStyle(this.values.fill);y=this.textSpans[i].elem,r=y.length,this.globalData.canvasContext.beginPath();for(o=0;o<r;o+=1){g=y[o],t=g.length,this.globalData.canvasContext.moveTo(g[0],g[1]);for(n=2;n<t;n+=6)this.globalData.canvasContext.bezierCurveTo(g[n],g[n+1],g[n+2],g[n+3],g[n+4],g[n+5])}this.globalData.canvasContext.closePath(),b.ctxFill()}if(this.stroke){if(u&&u.sw){if(c!==u.sw)c=u.sw,b.ctxLineWidth(u.sw)}else if(c!==this.values.sWidth)c=this.values.sWidth,b.ctxLineWidth(this.values.sWidth);if(u&&u.sc){if(f!==u.sc)f=u.sc,b.ctxStrokeStyle(u.sc)}else if(f!==this.values.stroke)f=this.values.stroke,b.ctxStrokeStyle(this.values.stroke);y=this.textSpans[i].elem,r=y.length,this.globalData.canvasContext.beginPath();for(o=0;o<r;o+=1){g=y[o],t=g.length,this.globalData.canvasContext.moveTo(g[0],g[1]);for(n=2;n<t;n+=6)this.globalData.canvasContext.bezierCurveTo(g[n],g[n+1],g[n+2],g[n+3],g[n+4],g[n+5])}this.globalData.canvasContext.closePath(),b.ctxStroke()}if(u)this.globalData.renderer.restore()}};function CVImageElement(a,i,e){this.assetData=i.getAssetData(a.refId),this.img=i.imageLoader.getAsset(this.assetData),this.initElement(a,i,e)}extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement],CVImageElement),CVImageElement.prototype.initElement=SVGShapeElement.prototype.initElement,CVImageElement.prototype.prepareFrame=IImageElement.prototype.prepareFrame,CVImageElement.prototype.createContent=function(){if(this.img.width&&(this.assetData.w!==this.img.width||this.assetData.h!==this.img.height)){var a=createTag("canvas");a.width=this.assetData.w,a.height=this.assetData.h;var i=a.getContext("2d"),e=this.img.width,o=this.img.height,r=e/o,n=this.assetData.w/this.assetData.h,t,s,l=this.assetData.pr||this.globalData.renderConfig.imagePreserveAspectRatio;if(r>n&&l==="xMidYMid slice"||r<n&&l!=="xMidYMid slice")s=o,t=s*n;else t=e,s=t/n;i.drawImage(this.img,(e-t)/2,(o-s)/2,t,s,0,0,this.assetData.w,this.assetData.h),this.img=a}},CVImageElement.prototype.renderInnerContent=function(){this.canvasContext.drawImage(this.img,0,0)},CVImageElement.prototype.destroy=function(){this.img=null};function CVSolidElement(a,i,e){this.initElement(a,i,e)}extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement],CVSolidElement),CVSolidElement.prototype.initElement=SVGShapeElement.prototype.initElement,CVSolidElement.prototype.prepareFrame=IImageElement.prototype.prepareFrame,CVSolidElement.prototype.renderInnerContent=function(){this.globalData.renderer.ctxFillStyle(this.data.sc),this.globalData.renderer.ctxFillRect(0,0,this.data.sw,this.data.sh)};function CanvasRendererBase(){}extendPrototype([BaseRenderer],CanvasRendererBase),CanvasRendererBase.prototype.createShape=function(a){return new CVShapeElement(a,this.globalData,this)},CanvasRendererBase.prototype.createText=function(a){return new CVTextElement(a,this.globalData,this)},CanvasRendererBase.prototype.createImage=function(a){return new CVImageElement(a,this.globalData,this)},CanvasRendererBase.prototype.createSolid=function(a){return new CVSolidElement(a,this.globalData,this)},CanvasRendererBase.prototype.createNull=SVGRenderer.prototype.createNull,CanvasRendererBase.prototype.ctxTransform=function(a){if(a[0]===1&&a[1]===0&&a[4]===0&&a[5]===1&&a[12]===0&&a[13]===0)return;this.canvasContext.transform(a[0],a[1],a[4],a[5],a[12],a[13])},CanvasRendererBase.prototype.ctxOpacity=function(a){this.canvasContext.globalAlpha*=a<0?0:a},CanvasRendererBase.prototype.ctxFillStyle=function(a){this.canvasContext.fillStyle=a},CanvasRendererBase.prototype.ctxStrokeStyle=function(a){this.canvasContext.strokeStyle=a},CanvasRendererBase.prototype.ctxLineWidth=function(a){this.canvasContext.lineWidth=a},CanvasRendererBase.prototype.ctxLineCap=function(a){this.canvasContext.lineCap=a},CanvasRendererBase.prototype.ctxLineJoin=function(a){this.canvasContext.lineJoin=a},CanvasRendererBase.prototype.ctxMiterLimit=function(a){this.canvasContext.miterLimit=a},CanvasRendererBase.prototype.ctxFill=function(a){this.canvasContext.fill(a)},CanvasRendererBase.prototype.ctxFillRect=function(a,i,e,o){this.canvasContext.fillRect(a,i,e,o)},CanvasRendererBase.prototype.ctxStroke=function(){this.canvasContext.stroke()},CanvasRendererBase.prototype.reset=function(){if(!this.renderConfig.clearCanvas){this.canvasContext.restore();return}this.contextData.reset()},CanvasRendererBase.prototype.save=function(){this.canvasContext.save()},CanvasRendererBase.prototype.restore=function(a){if(!this.renderConfig.clearCanvas){this.canvasContext.restore();return}if(a)this.globalData.blendMode="source-over";this.contextData.restore(a)},CanvasRendererBase.prototype.configAnimation=function(a){if(this.animationItem.wrapper){this.animationItem.container=createTag("canvas");var i=this.animationItem.container.style;i.width="100%",i.height="100%";var e="0px 0px 0px";if(i.transformOrigin=e,i.mozTransformOrigin=e,i.webkitTransformOrigin=e,i["-webkit-transform"]=e,i.contentVisibility=this.renderConfig.contentVisibility,this.animationItem.wrapper.appendChild(this.animationItem.container),this.canvasContext=this.animationItem.container.getContext("2d"),this.renderConfig.className)this.animationItem.container.setAttribute("class",this.renderConfig.className);if(this.renderConfig.id)this.animationItem.container.setAttribute("id",this.renderConfig.id)}else this.canvasContext=this.renderConfig.context;this.contextData.setContext(this.canvasContext),this.data=a,this.layers=a.layers,this.transformCanvas={w:a.w,h:a.h,sx:0,sy:0,tx:0,ty:0},this.setupGlobalData(a,document.body),this.globalData.canvasContext=this.canvasContext,this.globalData.renderer=this,this.globalData.isDashed=!1,this.globalData.progressiveLoad=this.renderConfig.progressiveLoad,this.globalData.transformCanvas=this.transformCanvas,this.elements=createSizedArray(a.layers.length),this.updateContainerSize()},CanvasRendererBase.prototype.updateContainerSize=function(a,i){this.reset();var e,o;if(a)e=a,o=i,this.canvasContext.canvas.width=e,this.canvasContext.canvas.height=o;else{if(this.animationItem.wrapper&&this.animationItem.container)e=this.animationItem.wrapper.offsetWidth,o=this.animationItem.wrapper.offsetHeight;else e=this.canvasContext.canvas.width,o=this.canvasContext.canvas.height;this.canvasContext.canvas.width=e*this.renderConfig.dpr,this.canvasContext.canvas.height=o*this.renderConfig.dpr}var r,n;if(this.renderConfig.preserveAspectRatio.indexOf("meet")!==-1||this.renderConfig.preserveAspectRatio.indexOf("slice")!==-1){var t=this.renderConfig.preserveAspectRatio.split(" "),s=t[1]||"meet",l=t[0]||"xMidYMid",u=l.substr(0,4),h=l.substr(4);if(r=e/o,n=this.transformCanvas.w/this.transformCanvas.h,n>r&&s==="meet"||n<r&&s==="slice")this.transformCanvas.sx=e/(this.transformCanvas.w/this.renderConfig.dpr),this.transformCanvas.sy=e/(this.transformCanvas.w/this.renderConfig.dpr);else this.transformCanvas.sx=o/(this.transformCanvas.h/this.renderConfig.dpr),this.transformCanvas.sy=o/(this.transformCanvas.h/this.renderConfig.dpr);if(u==="xMid"&&(n<r&&s==="meet"||n>r&&s==="slice"))this.transformCanvas.tx=(e-this.transformCanvas.w*(o/this.transformCanvas.h))/2*this.renderConfig.dpr;else if(u==="xMax"&&(n<r&&s==="meet"||n>r&&s==="slice"))this.transformCanvas.tx=(e-this.transformCanvas.w*(o/this.transformCanvas.h))*this.renderConfig.dpr;else this.transformCanvas.tx=0;if(h==="YMid"&&(n>r&&s==="meet"||n<r&&s==="slice"))this.transformCanvas.ty=(o-this.transformCanvas.h*(e/this.transformCanvas.w))/2*this.renderConfig.dpr;else if(h==="YMax"&&(n>r&&s==="meet"||n<r&&s==="slice"))this.transformCanvas.ty=(o-this.transformCanvas.h*(e/this.transformCanvas.w))*this.renderConfig.dpr;else this.transformCanvas.ty=0}else if(this.renderConfig.preserveAspectRatio==="none")this.transformCanvas.sx=e/(this.transformCanvas.w/this.renderConfig.dpr),this.transformCanvas.sy=o/(this.transformCanvas.h/this.renderConfig.dpr),this.transformCanvas.tx=0,this.transformCanvas.ty=0;else this.transformCanvas.sx=this.renderConfig.dpr,this.transformCanvas.sy=this.renderConfig.dpr,this.transformCanvas.tx=0,this.transformCanvas.ty=0;this.transformCanvas.props=[this.transformCanvas.sx,0,0,0,0,this.transformCanvas.sy,0,0,0,0,1,0,this.transformCanvas.tx,this.transformCanvas.ty,0,1],this.ctxTransform(this.transformCanvas.props),this.canvasContext.beginPath(),this.canvasContext.rect(0,0,this.transformCanvas.w,this.transformCanvas.h),this.canvasContext.closePath(),this.canvasContext.clip(),this.renderFrame(this.renderedFrame,!0)},CanvasRendererBase.prototype.destroy=function(){if(this.renderConfig.clearCanvas&&this.animationItem.wrapper)this.animationItem.wrapper.innerText="";var a,i=this.layers?this.layers.length:0;for(a=i-1;a>=0;a-=1)if(this.elements[a]&&this.elements[a].destroy)this.elements[a].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0},CanvasRendererBase.prototype.renderFrame=function(a,i){if(this.renderedFrame===a&&this.renderConfig.clearCanvas===!0&&!i||this.destroyed||a===-1)return;this.renderedFrame=a,this.globalData.frameNum=a-this.animationItem._isFirstFrame,this.globalData.frameId+=1,this.globalData._mdf=!this.renderConfig.clearCanvas||i,this.globalData.projectInterface.currentFrame=a;var e,o=this.layers.length;if(!this.completeLayers)this.checkLayers(a);for(e=o-1;e>=0;e-=1)if(this.completeLayers||this.elements[e])this.elements[e].prepareFrame(a-this.layers[e].st);if(this.globalData._mdf){if(this.renderConfig.clearCanvas===!0)this.canvasContext.clearRect(0,0,this.transformCanvas.w,this.transformCanvas.h);else this.save();for(e=o-1;e>=0;e-=1)if(this.completeLayers||this.elements[e])this.elements[e].renderFrame();if(this.renderConfig.clearCanvas!==!0)this.restore()}},CanvasRendererBase.prototype.buildItem=function(a){var i=this.elements;if(i[a]||this.layers[a].ty===99)return;var e=this.createItem(this.layers[a],this,this.globalData);i[a]=e,e.initExpressions()},CanvasRendererBase.prototype.checkPendingElements=function(){while(this.pendingElements.length){var a=this.pendingElements.pop();a.checkParenting()}},CanvasRendererBase.prototype.hide=function(){this.animationItem.container.style.display="none"},CanvasRendererBase.prototype.show=function(){this.animationItem.container.style.display="block"};function CanvasContext(){this.opacity=-1,this.transform=createTypedArray("float32",16),this.fillStyle="",this.strokeStyle="",this.lineWidth="",this.lineCap="",this.lineJoin="",this.miterLimit="",this.id=Math.random()}function CVContextData(){this.stack=[],this.cArrPos=0,this.cTr=new Matrix;var a,i=15;for(a=0;a<i;a+=1){var e=new CanvasContext;this.stack[a]=e}this._length=i,this.nativeContext=null,this.transformMat=new Matrix,this.currentOpacity=1,this.currentFillStyle="",this.appliedFillStyle="",this.currentStrokeStyle="",this.appliedStrokeStyle="",this.currentLineWidth="",this.appliedLineWidth="",this.currentLineCap="",this.appliedLineCap="",this.currentLineJoin="",this.appliedLineJoin="",this.appliedMiterLimit="",this.currentMiterLimit=""}CVContextData.prototype.duplicate=function(){var a=this._length*2,i=0;for(i=this._length;i<a;i+=1)this.stack[i]=new CanvasContext;this._length=a},CVContextData.prototype.reset=function(){this.cArrPos=0,this.cTr.reset(),this.stack[this.cArrPos].opacity=1},CVContextData.prototype.restore=function(a){this.cArrPos-=1;var i=this.stack[this.cArrPos],e=i.transform,o,r=this.cTr.props;for(o=0;o<16;o+=1)r[o]=e[o];if(a){this.nativeContext.restore();var n=this.stack[this.cArrPos+1];this.appliedFillStyle=n.fillStyle,this.appliedStrokeStyle=n.strokeStyle,this.appliedLineWidth=n.lineWidth,this.appliedLineCap=n.lineCap,this.appliedLineJoin=n.lineJoin,this.appliedMiterLimit=n.miterLimit}if(this.nativeContext.setTransform(e[0],e[1],e[4],e[5],e[12],e[13]),a||i.opacity!==-1&&this.currentOpacity!==i.opacity)this.nativeContext.globalAlpha=i.opacity,this.currentOpacity=i.opacity;this.currentFillStyle=i.fillStyle,this.currentStrokeStyle=i.strokeStyle,this.currentLineWidth=i.lineWidth,this.currentLineCap=i.lineCap,this.currentLineJoin=i.lineJoin,this.currentMiterLimit=i.miterLimit},CVContextData.prototype.save=function(a){if(a)this.nativeContext.save();var i=this.cTr.props;if(this._length<=this.cArrPos)this.duplicate();var e=this.stack[this.cArrPos],o;for(o=0;o<16;o+=1)e.transform[o]=i[o];this.cArrPos+=1;var r=this.stack[this.cArrPos];r.opacity=e.opacity,r.fillStyle=e.fillStyle,r.strokeStyle=e.strokeStyle,r.lineWidth=e.lineWidth,r.lineCap=e.lineCap,r.lineJoin=e.lineJoin,r.miterLimit=e.miterLimit},CVContextData.prototype.setOpacity=function(a){this.stack[this.cArrPos].opacity=a},CVContextData.prototype.setContext=function(a){this.nativeContext=a},CVContextData.prototype.fillStyle=function(a){if(this.stack[this.cArrPos].fillStyle!==a)this.currentFillStyle=a,this.stack[this.cArrPos].fillStyle=a},CVContextData.prototype.strokeStyle=function(a){if(this.stack[this.cArrPos].strokeStyle!==a)this.currentStrokeStyle=a,this.stack[this.cArrPos].strokeStyle=a},CVContextData.prototype.lineWidth=function(a){if(this.stack[this.cArrPos].lineWidth!==a)this.currentLineWidth=a,this.stack[this.cArrPos].lineWidth=a},CVContextData.prototype.lineCap=function(a){if(this.stack[this.cArrPos].lineCap!==a)this.currentLineCap=a,this.stack[this.cArrPos].lineCap=a},CVContextData.prototype.lineJoin=function(a){if(this.stack[this.cArrPos].lineJoin!==a)this.currentLineJoin=a,this.stack[this.cArrPos].lineJoin=a},CVContextData.prototype.miterLimit=function(a){if(this.stack[this.cArrPos].miterLimit!==a)this.currentMiterLimit=a,this.stack[this.cArrPos].miterLimit=a},CVContextData.prototype.transform=function(a){this.transformMat.cloneFromProps(a);var i=this.cTr;this.transformMat.multiply(i),i.cloneFromProps(this.transformMat.props);var e=i.props;this.nativeContext.setTransform(e[0],e[1],e[4],e[5],e[12],e[13])},CVContextData.prototype.opacity=function(a){var i=this.stack[this.cArrPos].opacity;if(i*=a<0?0:a,this.stack[this.cArrPos].opacity!==i){if(this.currentOpacity!==a)this.nativeContext.globalAlpha=a,this.currentOpacity=a;this.stack[this.cArrPos].opacity=i}},CVContextData.prototype.fill=function(a){if(this.appliedFillStyle!==this.currentFillStyle)this.appliedFillStyle=this.currentFillStyle,this.nativeContext.fillStyle=this.appliedFillStyle;this.nativeContext.fill(a)},CVContextData.prototype.fillRect=function(a,i,e,o){if(this.appliedFillStyle!==this.currentFillStyle)this.appliedFillStyle=this.currentFillStyle,this.nativeContext.fillStyle=this.appliedFillStyle;this.nativeContext.fillRect(a,i,e,o)},CVContextData.prototype.stroke=function(){if(this.appliedStrokeStyle!==this.currentStrokeStyle)this.appliedStrokeStyle=this.currentStrokeStyle,this.nativeContext.strokeStyle=this.appliedStrokeStyle;if(this.appliedLineWidth!==this.currentLineWidth)this.appliedLineWidth=this.currentLineWidth,this.nativeContext.lineWidth=this.appliedLineWidth;if(this.appliedLineCap!==this.currentLineCap)this.appliedLineCap=this.currentLineCap,this.nativeContext.lineCap=this.appliedLineCap;if(this.appliedLineJoin!==this.currentLineJoin)this.appliedLineJoin=this.currentLineJoin,this.nativeContext.lineJoin=this.appliedLineJoin;if(this.appliedMiterLimit!==this.currentMiterLimit)this.appliedMiterLimit=this.currentMiterLimit,this.nativeContext.miterLimit=this.appliedMiterLimit;this.nativeContext.stroke()};function CVCompElement(a,i,e){this.completeLayers=!1,this.layers=a.layers,this.pendingElements=[],this.elements=createSizedArray(this.layers.length),this.initElement(a,i,e),this.tm=a.tm?PropertyFactory.getProp(this,a.tm,0,i.frameRate,this):{_placeholder:!0}}extendPrototype([CanvasRendererBase,ICompElement,CVBaseElement],CVCompElement),CVCompElement.prototype.renderInnerContent=function(){var a=this.canvasContext;a.beginPath(),a.moveTo(0,0),a.lineTo(this.data.w,0),a.lineTo(this.data.w,this.data.h),a.lineTo(0,this.data.h),a.lineTo(0,0),a.clip();var i,e=this.layers.length;for(i=e-1;i>=0;i-=1)if(this.completeLayers||this.elements[i])this.elements[i].renderFrame()},CVCompElement.prototype.destroy=function(){var a,i=this.layers.length;for(a=i-1;a>=0;a-=1)if(this.elements[a])this.elements[a].destroy();this.layers=null,this.elements=null},CVCompElement.prototype.createComp=function(a){return new CVCompElement(a,this.globalData,this)};function CanvasRenderer(a,i){if(this.animationItem=a,this.renderConfig={clearCanvas:i&&i.clearCanvas!==void 0?i.clearCanvas:!0,context:i&&i.context||null,progressiveLoad:i&&i.progressiveLoad||!1,preserveAspectRatio:i&&i.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:i&&i.imagePreserveAspectRatio||"xMidYMid slice",contentVisibility:i&&i.contentVisibility||"visible",className:i&&i.className||"",id:i&&i.id||"",runExpressions:!i||i.runExpressions===void 0||i.runExpressions},this.renderConfig.dpr=i&&i.dpr||1,this.animationItem.wrapper)this.renderConfig.dpr=i&&i.dpr||window.devicePixelRatio||1;if(this.renderedFrame=-1,this.globalData={frameNum:-1,_mdf:!1,renderConfig:this.renderConfig,currentGlobalAlpha:-1},this.contextData=new CVContextData,this.elements=[],this.pendingElements=[],this.transformMat=new Matrix,this.completeLayers=!1,this.rendererType="canvas",this.renderConfig.clearCanvas)this.ctxTransform=this.contextData.transform.bind(this.contextData),this.ctxOpacity=this.contextData.opacity.bind(this.contextData),this.ctxFillStyle=this.contextData.fillStyle.bind(this.contextData),this.ctxStrokeStyle=this.contextData.strokeStyle.bind(this.contextData),this.ctxLineWidth=this.contextData.lineWidth.bind(this.contextData),this.ctxLineCap=this.contextData.lineCap.bind(this.contextData),this.ctxLineJoin=this.contextData.lineJoin.bind(this.contextData),this.ctxMiterLimit=this.contextData.miterLimit.bind(this.contextData),this.ctxFill=this.contextData.fill.bind(this.contextData),this.ctxFillRect=this.contextData.fillRect.bind(this.contextData),this.ctxStroke=this.contextData.stroke.bind(this.contextData),this.save=this.contextData.save.bind(this.contextData)}extendPrototype([CanvasRendererBase],CanvasRenderer),CanvasRenderer.prototype.createComp=function(a){return new CVCompElement(a,this.globalData,this)};function HBaseElement(){}HBaseElement.prototype={checkBlendMode:function a(){},initRendererElement:function a(){if(this.baseElement=createTag(this.data.tg||"div"),this.data.hasMask)this.svgElement=createNS("svg"),this.layerElement=createNS("g"),this.maskedElement=this.layerElement,this.svgElement.appendChild(this.layerElement),this.baseElement.appendChild(this.svgElement);else this.layerElement=this.baseElement;styleDiv(this.baseElement)},createContainerElements:function a(){if(this.renderableEffectsManager=new CVEffects(this),this.transformedElement=this.baseElement,this.maskedElement=this.layerElement,this.data.ln)this.layerElement.setAttribute("id",this.data.ln);if(this.data.cl)this.layerElement.setAttribute("class",this.data.cl);if(this.data.bm!==0)this.setBlendMode()},renderElement:function a(){var i=this.transformedElement?this.transformedElement.style:{};if(this.finalTransform._matMdf){var e=this.finalTransform.mat.toCSS();i.transform=e,i.webkitTransform=e}if(this.finalTransform._opMdf)i.opacity=this.finalTransform.mProp.o.v},renderFrame:function a(){if(this.data.hd||this.hidden)return;if(this.renderTransform(),this.renderRenderable(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame)this._isFirstFrame=!1},destroy:function a(){if(this.layerElement=null,this.transformedElement=null,this.matteElement)this.matteElement=null;if(this.maskManager)this.maskManager.destroy(),this.maskManager=null},createRenderableComponents:function a(){this.maskManager=new MaskElement(this.data,this,this.globalData)},addEffects:function a(){},setMatte:function a(){}},HBaseElement.prototype.getBaseElement=SVGBaseElement.prototype.getBaseElement,HBaseElement.prototype.destroyBaseElement=HBaseElement.prototype.destroy,HBaseElement.prototype.buildElementParenting=BaseRenderer.prototype.buildElementParenting;function HSolidElement(a,i,e){this.initElement(a,i,e)}extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],HSolidElement),HSolidElement.prototype.createContent=function(){var a;if(this.data.hasMask)a=createNS("rect"),a.setAttribute("width",this.data.sw),a.setAttribute("height",this.data.sh),a.setAttribute("fill",this.data.sc),this.svgElement.setAttribute("width",this.data.sw),this.svgElement.setAttribute("height",this.data.sh);else a=createTag("div"),a.style.width=this.data.sw+"px",a.style.height=this.data.sh+"px",a.style.backgroundColor=this.data.sc;this.layerElement.appendChild(a)};function HShapeElement(a,i,e){this.shapes=[],this.shapesData=a.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.shapesContainer=createNS("g"),this.initElement(a,i,e),this.prevViewData=[],this.currentBBox={x:999999,y:-999999,h:0,w:0}}extendPrototype([BaseElement,TransformElement,HSolidElement,SVGShapeElement,HBaseElement,HierarchyElement,FrameElement,RenderableElement],HShapeElement),HShapeElement.prototype._renderShapeFrame=HShapeElement.prototype.renderInnerContent,HShapeElement.prototype.createContent=function(){var a;if(this.baseElement.style.fontSize=0,this.data.hasMask)this.layerElement.appendChild(this.shapesContainer),a=this.svgElement;else{a=createNS("svg");var i=this.comp.data?this.comp.data:this.globalData.compSize;a.setAttribute("width",i.w),a.setAttribute("height",i.h),a.appendChild(this.shapesContainer),this.layerElement.appendChild(a)}this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.shapesContainer,0,[],!0),this.filterUniqueShapes(),this.shapeCont=a},HShapeElement.prototype.getTransformedPoint=function(a,i){var e,o=a.length;for(e=0;e<o;e+=1)i=a[e].mProps.v.applyToPointArray(i[0],i[1],0);return i},HShapeElement.prototype.calculateShapeBoundingBox=function(a,i){var e=a.sh.v,o=a.transformers,r,n=e._length,t,s,l,u;if(n<=1)return;for(r=0;r<n-1;r+=1)t=this.getTransformedPoint(o,e.v[r]),s=this.getTransformedPoint(o,e.o[r]),l=this.getTransformedPoint(o,e.i[r+1]),u=this.getTransformedPoint(o,e.v[r+1]),this.checkBounds(t,s,l,u,i);if(e.c)t=this.getTransformedPoint(o,e.v[r]),s=this.getTransformedPoint(o,e.o[r]),l=this.getTransformedPoint(o,e.i[0]),u=this.getTransformedPoint(o,e.v[0]),this.checkBounds(t,s,l,u,i)},HShapeElement.prototype.checkBounds=function(a,i,e,o,r){this.getBoundsOfCurve(a,i,e,o);var n=this.shapeBoundingBox;r.x=bmMin(n.left,r.x),r.xMax=bmMax(n.right,r.xMax),r.y=bmMin(n.top,r.y),r.yMax=bmMax(n.bottom,r.yMax)},HShapeElement.prototype.shapeBoundingBox={left:0,right:0,top:0,bottom:0},HShapeElement.prototype.tempBoundingBox={x:0,xMax:0,y:0,yMax:0,width:0,height:0},HShapeElement.prototype.getBoundsOfCurve=function(a,i,e,o){var r=[[a[0],o[0]],[a[1],o[1]]];for(var n,t,s,l,u,h,f,c=0;c<2;++c)if(t=6*a[c]-12*i[c]+6*e[c],n=-3*a[c]+9*i[c]-9*e[c]+3*o[c],s=3*i[c]-3*a[c],t|=0,n|=0,s|=0,n===0&&t===0);else if(n===0){if(l=-s/t,l>0&&l<1)r[c].push(this.calculateF(l,a,i,e,o,c))}else if(u=t*t-4*s*n,u>=0){if(h=(-t+bmSqrt(u))/(2*n),h>0&&h<1)r[c].push(this.calculateF(h,a,i,e,o,c));if(f=(-t-bmSqrt(u))/(2*n),f>0&&f<1)r[c].push(this.calculateF(f,a,i,e,o,c))}this.shapeBoundingBox.left=bmMin.apply(null,r[0]),this.shapeBoundingBox.top=bmMin.apply(null,r[1]),this.shapeBoundingBox.right=bmMax.apply(null,r[0]),this.shapeBoundingBox.bottom=bmMax.apply(null,r[1])},HShapeElement.prototype.calculateF=function(a,i,e,o,r,n){return bmPow(1-a,3)*i[n]+3*bmPow(1-a,2)*a*e[n]+3*(1-a)*bmPow(a,2)*o[n]+bmPow(a,3)*r[n]},HShapeElement.prototype.calculateBoundingBox=function(a,i){var e,o=a.length;for(e=0;e<o;e+=1)if(a[e]&&a[e].sh)this.calculateShapeBoundingBox(a[e],i);else if(a[e]&&a[e].it)this.calculateBoundingBox(a[e].it,i);else if(a[e]&&a[e].style&&a[e].w)this.expandStrokeBoundingBox(a[e].w,i)},HShapeElement.prototype.expandStrokeBoundingBox=function(a,i){var e=0;if(a.keyframes){for(var o=0;o<a.keyframes.length;o+=1){var r=a.keyframes[o].s;if(r>e)e=r}e*=a.mult}else e=a.v*a.mult;i.x-=e,i.xMax+=e,i.y-=e,i.yMax+=e},HShapeElement.prototype.currentBoxContains=function(a){return this.currentBBox.x<=a.x&&this.currentBBox.y<=a.y&&this.currentBBox.width+this.currentBBox.x>=a.x+a.width&&this.currentBBox.height+this.currentBBox.y>=a.y+a.height},HShapeElement.prototype.renderInnerContent=function(){if(this._renderShapeFrame(),!this.hidden&&(this._isFirstFrame||this._mdf)){var a=this.tempBoundingBox,i=999999;if(a.x=i,a.xMax=-i,a.y=i,a.yMax=-i,this.calculateBoundingBox(this.itemsData,a),a.width=a.xMax<a.x?0:a.xMax-a.x,a.height=a.yMax<a.y?0:a.yMax-a.y,this.currentBoxContains(a))return;var e=!1;if(this.currentBBox.w!==a.width)this.currentBBox.w=a.width,this.shapeCont.setAttribute("width",a.width),e=!0;if(this.currentBBox.h!==a.height)this.currentBBox.h=a.height,this.shapeCont.setAttribute("height",a.height),e=!0;if(e||this.currentBBox.x!==a.x||this.currentBBox.y!==a.y){this.currentBBox.w=a.width,this.currentBBox.h=a.height,this.currentBBox.x=a.x,this.currentBBox.y=a.y,this.shapeCont.setAttribute("viewBox",this.currentBBox.x+" "+this.currentBBox.y+" "+this.currentBBox.w+" "+this.currentBBox.h);var o=this.shapeCont.style,r="translate("+this.currentBBox.x+"px,"+this.currentBBox.y+"px)";o.transform=r,o.webkitTransform=r}}};function HTextElement(a,i,e){this.textSpans=[],this.textPaths=[],this.currentBBox={x:999999,y:-999999,h:0,w:0},this.renderType="svg",this.isMasked=!1,this.initElement(a,i,e)}extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement],HTextElement),HTextElement.prototype.createContent=function(){if(this.isMasked=this.checkMasks(),this.isMasked){this.renderType="svg",this.compW=this.comp.data.w,this.compH=this.comp.data.h,this.svgElement.setAttribute("width",this.compW),this.svgElement.setAttribute("height",this.compH);var a=createNS("g");this.maskedElement.appendChild(a),this.innerElem=a}else this.renderType="html",this.innerElem=this.layerElement;this.checkParenting()},HTextElement.prototype.buildNewText=function(){var a=this.textProperty.currentData;this.renderedLetters=createSizedArray(a.l?a.l.length:0);var i=this.innerElem.style,e=a.fc?this.buildColor(a.fc):"rgba(0,0,0,0)";if(i.fill=e,i.color=e,a.sc)i.stroke=this.buildColor(a.sc),i.strokeWidth=a.sw+"px";var o=this.globalData.fontManager.getFontByName(a.f);if(!this.globalData.fontManager.chars)if(i.fontSize=a.finalSize+"px",i.lineHeight=a.finalSize+"px",o.fClass)this.innerElem.className=o.fClass;else{i.fontFamily=o.fFamily;var{fWeight:r,fStyle:n}=a;i.fontStyle=n,i.fontWeight=r}var t,s,l=a.l;s=l.length;var u,h,f,c=this.mHelper,y,g="",b=0;for(t=0;t<s;t+=1){if(this.globalData.fontManager.chars){if(!this.textPaths[b])u=createNS("path"),u.setAttribute("stroke-linecap",lineCapEnum[1]),u.setAttribute("stroke-linejoin",lineJoinEnum[2]),u.setAttribute("stroke-miterlimit","4");else u=this.textPaths[b];if(!this.isMasked)if(this.textSpans[b])h=this.textSpans[b],f=h.children[0];else h=createTag("div"),h.style.lineHeight=0,f=createNS("svg"),f.appendChild(u),styleDiv(h)}else if(!this.isMasked)if(this.textSpans[b])h=this.textSpans[b],u=this.textPaths[b];else h=createTag("span"),styleDiv(h),u=createTag("span"),styleDiv(u),h.appendChild(u);else u=this.textPaths[b]?this.textPaths[b]:createNS("text");if(this.globalData.fontManager.chars){var I=this.globalData.fontManager.getCharData(a.finalText[t],o.fStyle,this.globalData.fontManager.getFontByName(a.f).fFamily),m;if(I)m=I.data;else m=null;if(c.reset(),m&&m.shapes&&m.shapes.length)y=m.shapes[0].it,c.scale(a.finalSize/100,a.finalSize/100),g=this.createPathShape(c,y),u.setAttribute("d",g);if(!this.isMasked){if(this.innerElem.appendChild(h),m&&m.shapes){document.body.appendChild(f);var k=f.getBBox();f.setAttribute("width",k.width+2),f.setAttribute("height",k.height+2),f.setAttribute("viewBox",k.x-1+" "+(k.y-1)+" "+(k.width+2)+" "+(k.height+2));var p=f.style,v="translate("+(k.x-1)+"px,"+(k.y-1)+"px)";p.transform=v,p.webkitTransform=v,l[t].yOffset=k.y-1}else f.setAttribute("width",1),f.setAttribute("height",1);h.appendChild(f)}else this.innerElem.appendChild(u)}else if(u.textContent=l[t].val,u.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),!this.isMasked){this.innerElem.appendChild(h);var S=u.style,F="translate3d(0,"+-a.finalSize/1.2+"px,0)";S.transform=F,S.webkitTransform=F}else this.innerElem.appendChild(u);if(!this.isMasked)this.textSpans[b]=h;else this.textSpans[b]=u;this.textSpans[b].style.display="block",this.textPaths[b]=u,b+=1}while(b<this.textSpans.length)this.textSpans[b].style.display="none",b+=1},HTextElement.prototype.renderInnerContent=function(){this.validateText();var a;if(this.data.singleShape){if(!this._isFirstFrame&&!this.lettersChangedFlag)return;if(this.isMasked&&this.finalTransform._matMdf){this.svgElement.setAttribute("viewBox",-this.finalTransform.mProp.p.v[0]+" "+-this.finalTransform.mProp.p.v[1]+" "+this.compW+" "+this.compH),a=this.svgElement.style;var i="translate("+-this.finalTransform.mProp.p.v[0]+"px,"+-this.finalTransform.mProp.p.v[1]+"px)";a.transform=i,a.webkitTransform=i}}if(this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag),!this.lettersChangedFlag&&!this.textAnimator.lettersChangedFlag)return;var e,o,r=0,n=this.textAnimator.renderedLetters,t=this.textProperty.currentData.l;o=t.length;var s,l,u;for(e=0;e<o;e+=1)if(t[e].n)r+=1;else{if(l=this.textSpans[e],u=this.textPaths[e],s=n[r],r+=1,s._mdf.m)if(!this.isMasked)l.style.webkitTransform=s.m,l.style.transform=s.m;else l.setAttribute("transform",s.m);if(l.style.opacity=s.o,s.sw&&s._mdf.sw)u.setAttribute("stroke-width",s.sw);if(s.sc&&s._mdf.sc)u.setAttribute("stroke",s.sc);if(s.fc&&s._mdf.fc)u.setAttribute("fill",s.fc),u.style.color=s.fc}if(this.innerElem.getBBox&&!this.hidden&&(this._isFirstFrame||this._mdf)){var h=this.innerElem.getBBox();if(this.currentBBox.w!==h.width)this.currentBBox.w=h.width,this.svgElement.setAttribute("width",h.width);if(this.currentBBox.h!==h.height)this.currentBBox.h=h.height,this.svgElement.setAttribute("height",h.height);var f=1;if(this.currentBBox.w!==h.width+f*2||this.currentBBox.h!==h.height+f*2||this.currentBBox.x!==h.x-f||this.currentBBox.y!==h.y-f){this.currentBBox.w=h.width+f*2,this.currentBBox.h=h.height+f*2,this.currentBBox.x=h.x-f,this.currentBBox.y=h.y-f,this.svgElement.setAttribute("viewBox",this.currentBBox.x+" "+this.currentBBox.y+" "+this.currentBBox.w+" "+this.currentBBox.h),a=this.svgElement.style;var c="translate("+this.currentBBox.x+"px,"+this.currentBBox.y+"px)";a.transform=c,a.webkitTransform=c}}};function HCameraElement(a,i,e){this.initFrame(),this.initBaseData(a,i,e),this.initHierarchy();var o=PropertyFactory.getProp;if(this.pe=o(this,a.pe,0,0,this),a.ks.p.s)this.px=o(this,a.ks.p.x,1,0,this),this.py=o(this,a.ks.p.y,1,0,this),this.pz=o(this,a.ks.p.z,1,0,this);else this.p=o(this,a.ks.p,1,0,this);if(a.ks.a)this.a=o(this,a.ks.a,1,0,this);if(a.ks.or.k.length&&a.ks.or.k[0].to){var r,n=a.ks.or.k.length;for(r=0;r<n;r+=1)a.ks.or.k[r].to=null,a.ks.or.k[r].ti=null}this.or=o(this,a.ks.or,1,degToRads,this),this.or.sh=!0,this.rx=o(this,a.ks.rx,0,degToRads,this),this.ry=o(this,a.ks.ry,0,degToRads,this),this.rz=o(this,a.ks.rz,0,degToRads,this),this.mat=new Matrix,this._prevMat=new Matrix,this._isFirstFrame=!0,this.finalTransform={mProp:this}}extendPrototype([BaseElement,FrameElement,HierarchyElement],HCameraElement),HCameraElement.prototype.setup=function(){var a,i=this.comp.threeDElements.length,e,o,r;for(a=0;a<i;a+=1)if(e=this.comp.threeDElements[a],e.type==="3d"){o=e.perspectiveElem.style,r=e.container.style;var n=this.pe.v+"px",t="0px 0px 0px",s="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";o.perspective=n,o.webkitPerspective=n,r.transformOrigin=t,r.mozTransformOrigin=t,r.webkitTransformOrigin=t,o.transform=s,o.webkitTransform=s}},HCameraElement.prototype.createElements=function(){},HCameraElement.prototype.hide=function(){},HCameraElement.prototype.renderFrame=function(){var a=this._isFirstFrame,i,e;if(this.hierarchy){e=this.hierarchy.length;for(i=0;i<e;i+=1)a=this.hierarchy[i].finalTransform.mProp._mdf||a}if(a||this.pe._mdf||this.p&&this.p._mdf||this.px&&(this.px._mdf||this.py._mdf||this.pz._mdf)||this.rx._mdf||this.ry._mdf||this.rz._mdf||this.or._mdf||this.a&&this.a._mdf){if(this.mat.reset(),this.hierarchy){e=this.hierarchy.length-1;for(i=e;i>=0;i-=1){var o=this.hierarchy[i].finalTransform.mProp;this.mat.translate(-o.p.v[0],-o.p.v[1],o.p.v[2]),this.mat.rotateX(-o.or.v[0]).rotateY(-o.or.v[1]).rotateZ(o.or.v[2]),this.mat.rotateX(-o.rx.v).rotateY(-o.ry.v).rotateZ(o.rz.v),this.mat.scale(1/o.s.v[0],1/o.s.v[1],1/o.s.v[2]),this.mat.translate(o.a.v[0],o.a.v[1],o.a.v[2])}}if(this.p)this.mat.translate(-this.p.v[0],-this.p.v[1],this.p.v[2]);else this.mat.translate(-this.px.v,-this.py.v,this.pz.v);if(this.a){var r;if(this.p)r=[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]];else r=[this.px.v-this.a.v[0],this.py.v-this.a.v[1],this.pz.v-this.a.v[2]];var n=Math.sqrt(Math.pow(r[0],2)+Math.pow(r[1],2)+Math.pow(r[2],2)),t=[r[0]/n,r[1]/n,r[2]/n],s=Math.sqrt(t[2]*t[2]+t[0]*t[0]),l=Math.atan2(t[1],s),u=Math.atan2(t[0],-t[2]);this.mat.rotateY(u).rotateX(-l)}this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v),this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]),this.mat.translate(this.globalData.compSize.w/2,this.globalData.compSize.h/2,0),this.mat.translate(0,0,this.pe.v);var h=!this._prevMat.equals(this.mat);if((h||this.pe._mdf)&&this.comp.threeDElements){e=this.comp.threeDElements.length;var f,c,y;for(i=0;i<e;i+=1)if(f=this.comp.threeDElements[i],f.type==="3d"){if(h){var g=this.mat.toCSS();y=f.container.style,y.transform=g,y.webkitTransform=g}if(this.pe._mdf)c=f.perspectiveElem.style,c.perspective=this.pe.v+"px",c.webkitPerspective=this.pe.v+"px"}this.mat.clone(this._prevMat)}}this._isFirstFrame=!1},HCameraElement.prototype.prepareFrame=function(a){this.prepareProperties(a,!0)},HCameraElement.prototype.destroy=function(){},HCameraElement.prototype.getBaseElement=function(){return null};function HImageElement(a,i,e){this.assetData=i.getAssetData(a.refId),this.initElement(a,i,e)}extendPrototype([BaseElement,TransformElement,HBaseElement,HSolidElement,HierarchyElement,FrameElement,RenderableElement],HImageElement),HImageElement.prototype.createContent=function(){var a=this.globalData.getAssetsPath(this.assetData),i=new Image;if(this.data.hasMask)this.imageElem=createNS("image"),this.imageElem.setAttribute("width",this.assetData.w+"px"),this.imageElem.setAttribute("height",this.assetData.h+"px"),this.imageElem.setAttributeNS("http://www.w3.org/1999/xlink","href",a),this.layerElement.appendChild(this.imageElem),this.baseElement.setAttribute("width",this.assetData.w),this.baseElement.setAttribute("height",this.assetData.h);else this.layerElement.appendChild(i);if(i.crossOrigin="anonymous",i.src=a,this.data.ln)this.baseElement.setAttribute("id",this.data.ln)};function HybridRendererBase(a,i){this.animationItem=a,this.layers=null,this.renderedFrame=-1,this.renderConfig={className:i&&i.className||"",imagePreserveAspectRatio:i&&i.imagePreserveAspectRatio||"xMidYMid slice",hideOnTransparent:!(i&&i.hideOnTransparent===!1),filterSize:{width:i&&i.filterSize&&i.filterSize.width||"400%",height:i&&i.filterSize&&i.filterSize.height||"400%",x:i&&i.filterSize&&i.filterSize.x||"-100%",y:i&&i.filterSize&&i.filterSize.y||"-100%"}},this.globalData={_mdf:!1,frameNum:-1,renderConfig:this.renderConfig},this.pendingElements=[],this.elements=[],this.threeDElements=[],this.destroyed=!1,this.camera=null,this.supports3d=!0,this.rendererType="html"}extendPrototype([BaseRenderer],HybridRendererBase),HybridRendererBase.prototype.buildItem=SVGRenderer.prototype.buildItem,HybridRendererBase.prototype.checkPendingElements=function(){while(this.pendingElements.length){var a=this.pendingElements.pop();a.checkParenting()}},HybridRendererBase.prototype.appendElementInPos=function(a,i){var e=a.getBaseElement();if(!e)return;var o=this.layers[i];if(!o.ddd||!this.supports3d)if(this.threeDElements)this.addTo3dContainer(e,i);else{var r=0,n,t,s;while(r<i){if(this.elements[r]&&this.elements[r]!==!0&&this.elements[r].getBaseElement)t=this.elements[r],s=this.layers[r].ddd?this.getThreeDContainerByPos(r):t.getBaseElement(),n=s||n;r+=1}if(n){if(!o.ddd||!this.supports3d)this.layerElement.insertBefore(e,n)}else if(!o.ddd||!this.supports3d)this.layerElement.appendChild(e)}else this.addTo3dContainer(e,i)},HybridRendererBase.prototype.createShape=function(a){if(!this.supports3d)return new SVGShapeElement(a,this.globalData,this);return new HShapeElement(a,this.globalData,this)},HybridRendererBase.prototype.createText=function(a){if(!this.supports3d)return new SVGTextLottieElement(a,this.globalData,this);return new HTextElement(a,this.globalData,this)},HybridRendererBase.prototype.createCamera=function(a){return this.camera=new HCameraElement(a,this.globalData,this),this.camera},HybridRendererBase.prototype.createImage=function(a){if(!this.supports3d)return new IImageElement(a,this.globalData,this);return new HImageElement(a,this.globalData,this)},HybridRendererBase.prototype.createSolid=function(a){if(!this.supports3d)return new ISolidElement(a,this.globalData,this);return new HSolidElement(a,this.globalData,this)},HybridRendererBase.prototype.createNull=SVGRenderer.prototype.createNull,HybridRendererBase.prototype.getThreeDContainerByPos=function(a){var i=0,e=this.threeDElements.length;while(i<e){if(this.threeDElements[i].startPos<=a&&this.threeDElements[i].endPos>=a)return this.threeDElements[i].perspectiveElem;i+=1}return null},HybridRendererBase.prototype.createThreeDContainer=function(a,i){var e=createTag("div"),o,r;styleDiv(e);var n=createTag("div");if(styleDiv(n),i==="3d"){o=e.style,o.width=this.globalData.compSize.w+"px",o.height=this.globalData.compSize.h+"px";var t="50% 50%";o.webkitTransformOrigin=t,o.mozTransformOrigin=t,o.transformOrigin=t,r=n.style;var s="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";r.transform=s,r.webkitTransform=s}e.appendChild(n);var l={container:n,perspectiveElem:e,startPos:a,endPos:a,type:i};return this.threeDElements.push(l),l},HybridRendererBase.prototype.build3dContainers=function(){var a,i=this.layers.length,e,o="";for(a=0;a<i;a+=1)if(this.layers[a].ddd&&this.layers[a].ty!==3){if(o!=="3d")o="3d",e=this.createThreeDContainer(a,"3d");e.endPos=Math.max(e.endPos,a)}else{if(o!=="2d")o="2d",e=this.createThreeDContainer(a,"2d");e.endPos=Math.max(e.endPos,a)}i=this.threeDElements.length;for(a=i-1;a>=0;a-=1)this.resizerElem.appendChild(this.threeDElements[a].perspectiveElem)},HybridRendererBase.prototype.addTo3dContainer=function(a,i){var e=0,o=this.threeDElements.length;while(e<o){if(i<=this.threeDElements[e].endPos){var r=this.threeDElements[e].startPos,n;while(r<i){if(this.elements[r]&&this.elements[r].getBaseElement)n=this.elements[r].getBaseElement();r+=1}if(n)this.threeDElements[e].container.insertBefore(a,n);else this.threeDElements[e].container.appendChild(a);break}e+=1}},HybridRendererBase.prototype.configAnimation=function(a){var i=createTag("div"),e=this.animationItem.wrapper,o=i.style;if(o.width=a.w+"px",o.height=a.h+"px",this.resizerElem=i,styleDiv(i),o.transformStyle="flat",o.mozTransformStyle="flat",o.webkitTransformStyle="flat",this.renderConfig.className)i.setAttribute("class",this.renderConfig.className);e.appendChild(i),o.overflow="hidden";var r=createNS("svg");r.setAttribute("width","1"),r.setAttribute("height","1"),styleDiv(r),this.resizerElem.appendChild(r);var n=createNS("defs");r.appendChild(n),this.data=a,this.setupGlobalData(a,r),this.globalData.defs=n,this.layers=a.layers,this.layerElement=this.resizerElem,this.build3dContainers(),this.updateContainerSize()},HybridRendererBase.prototype.destroy=function(){if(this.animationItem.wrapper)this.animationItem.wrapper.innerText="";this.animationItem.container=null,this.globalData.defs=null;var a,i=this.layers?this.layers.length:0;for(a=0;a<i;a+=1)if(this.elements[a]&&this.elements[a].destroy)this.elements[a].destroy();this.elements.length=0,this.destroyed=!0,this.animationItem=null},HybridRendererBase.prototype.updateContainerSize=function(){var a=this.animationItem.wrapper.offsetWidth,i=this.animationItem.wrapper.offsetHeight,e=a/i,o=this.globalData.compSize.w/this.globalData.compSize.h,r,n,t,s;if(o>e)r=a/this.globalData.compSize.w,n=a/this.globalData.compSize.w,t=0,s=(i-this.globalData.compSize.h*(a/this.globalData.compSize.w))/2;else r=i/this.globalData.compSize.h,n=i/this.globalData.compSize.h,t=(a-this.globalData.compSize.w*(i/this.globalData.compSize.h))/2,s=0;var l=this.resizerElem.style;l.webkitTransform="matrix3d("+r+",0,0,0,0,"+n+",0,0,0,0,1,0,"+t+","+s+",0,1)",l.transform=l.webkitTransform},HybridRendererBase.prototype.renderFrame=SVGRenderer.prototype.renderFrame,HybridRendererBase.prototype.hide=function(){this.resizerElem.style.display="none"},HybridRendererBase.prototype.show=function(){this.resizerElem.style.display="block"},HybridRendererBase.prototype.initItems=function(){if(this.buildAllItems(),this.camera)this.camera.setup();else{var a=this.globalData.compSize.w,i=this.globalData.compSize.h,e,o=this.threeDElements.length;for(e=0;e<o;e+=1){var r=this.threeDElements[e].perspectiveElem.style;r.webkitPerspective=Math.sqrt(Math.pow(a,2)+Math.pow(i,2))+"px",r.perspective=r.webkitPerspective}}},HybridRendererBase.prototype.searchExtraCompositions=function(a){var i,e=a.length,o=createTag("div");for(i=0;i<e;i+=1)if(a[i].xt){var r=this.createComp(a[i],o,this.globalData.comp,null);r.initExpressions(),this.globalData.projectInterface.registerComposition(r)}};function HCompElement(a,i,e){this.layers=a.layers,this.supports3d=!a.hasMask,this.completeLayers=!1,this.pendingElements=[],this.elements=this.layers?createSizedArray(this.layers.length):[],this.initElement(a,i,e),this.tm=a.tm?PropertyFactory.getProp(this,a.tm,0,i.frameRate,this):{_placeholder:!0}}extendPrototype([HybridRendererBase,ICompElement,HBaseElement],HCompElement),HCompElement.prototype._createBaseContainerElements=HCompElement.prototype.createContainerElements,HCompElement.prototype.createContainerElements=function(){if(this._createBaseContainerElements(),this.data.hasMask)this.svgElement.setAttribute("width",this.data.w),this.svgElement.setAttribute("height",this.data.h),this.transformedElement=this.baseElement;else this.transformedElement=this.layerElement},HCompElement.prototype.addTo3dContainer=function(a,i){var e=0,o;while(e<i){if(this.elements[e]&&this.elements[e].getBaseElement)o=this.elements[e].getBaseElement();e+=1}if(o)this.layerElement.insertBefore(a,o);else this.layerElement.appendChild(a)},HCompElement.prototype.createComp=function(a){if(!this.supports3d)return new SVGCompElement(a,this.globalData,this);return new HCompElement(a,this.globalData,this)};function HybridRenderer(a,i){this.animationItem=a,this.layers=null,this.renderedFrame=-1,this.renderConfig={className:i&&i.className||"",imagePreserveAspectRatio:i&&i.imagePreserveAspectRatio||"xMidYMid slice",hideOnTransparent:!(i&&i.hideOnTransparent===!1),filterSize:{width:i&&i.filterSize&&i.filterSize.width||"400%",height:i&&i.filterSize&&i.filterSize.height||"400%",x:i&&i.filterSize&&i.filterSize.x||"-100%",y:i&&i.filterSize&&i.filterSize.y||"-100%"},runExpressions:!i||i.runExpressions===void 0||i.runExpressions},this.globalData={_mdf:!1,frameNum:-1,renderConfig:this.renderConfig},this.pendingElements=[],this.elements=[],this.threeDElements=[],this.destroyed=!1,this.camera=null,this.supports3d=!0,this.rendererType="html"}extendPrototype([HybridRendererBase],HybridRenderer),HybridRenderer.prototype.createComp=function(a){if(!this.supports3d)return new SVGCompElement(a,this.globalData,this);return new HCompElement(a,this.globalData,this)};var CompExpressionInterface=function(){return function(a){function i(e){var o=0,r=a.layers.length;while(o<r){if(a.layers[o].nm===e||a.layers[o].ind===e)return a.elements[o].layerInterface;o+=1}return null}return Object.defineProperty(i,"_name",{value:a.data.nm}),i.layer=i,i.pixelAspect=1,i.height=a.data.h||a.globalData.compSize.h,i.width=a.data.w||a.globalData.compSize.w,i.pixelAspect=1,i.frameDuration=1/a.globalData.frameRate,i.displayStartTime=0,i.numLayers=a.layers.length,i}}();function _typeof$2(a){return _typeof$2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(i){return typeof i}:function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},_typeof$2(a)}function seedRandom(a,i){var e=this,o=256,r=6,n=52,t="random",s=i.pow(o,r),l=i.pow(2,n),u=l*2,h=o-1,f;function c(p,v,S){var F=[];v=v===!0?{entropy:!0}:v||{};var K=I(b(v.entropy?[p,k(a)]:p===null?m():p,3),F),R=new y(F),P=function M(){var X=R.g(r),_=s,U=0;while(X<l)X=(X+U)*o,_*=o,U=R.g(1);while(X>=u)X/=2,_/=2,U>>>=1;return(X+U)/_};return P.int32=function(){return R.g(4)|0},P.quick=function(){return R.g(4)/4294967296},P.double=P,I(k(R.S),a),(v.pass||S||function(M,X,_,U){if(U){if(U.S)g(U,R);M.state=function(){return g(R,{})}}if(_)return i[t]=M,X;else return M})(P,K,"global"in v?v.global:this==i,v.state)}i["seed"+t]=c;function y(p){var v,S=p.length,F=this,K=0,R=F.i=F.j=0,P=F.S=[];if(!S)p=[S++];while(K<o)P[K]=K++;for(K=0;K<o;K++)P[K]=P[R=h&R+p[K%S]+(v=P[K])],P[R]=v;F.g=function(M){var X,_=0,U=F.i,G=F.j,O=F.S;while(M--)X=O[U=h&U+1],_=_*o+O[h&(O[U]=O[G=h&G+X])+(O[G]=X)];return F.i=U,F.j=G,_}}function g(p,v){return v.i=p.i,v.j=p.j,v.S=p.S.slice(),v}function b(p,v){var S=[],F=_typeof$2(p),K;if(v&&F=="object")for(K in p)try{S.push(b(p[K],v-1))}catch(R){}return S.length?S:F=="string"?p:p+"\x00"}function I(p,v){var S=p+"",F,K=0;while(K<S.length)v[h&K]=h&(F^=v[h&K]*19)+S.charCodeAt(K++);return k(v)}function m(){try{if(f)return k(f.randomBytes(o));var p=new Uint8Array(o);return(e.crypto||e.msCrypto).getRandomValues(p),k(p)}catch(F){var v=e.navigator,S=v&&v.plugins;return[+new Date,e,S,e.screen,k(a)]}}function k(p){return String.fromCharCode.apply(0,p)}I(i.random(),a)}function initialize$2(a){seedRandom([],a)}var propTypes={SHAPE:"shape"};function _typeof$1(a){return _typeof$1=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(i){return typeof i}:function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},_typeof$1(a)}var ExpressionManager=function(){var ob={},Math=BMMath,window=null,document=null,XMLHttpRequest=null,fetch=null,frames=null,_lottieGlobal={};initialize$2(BMMath);function resetFrame(){_lottieGlobal={}}function $bm_isInstanceOfArray(a){return a.constructor===Array||a.constructor===Float32Array}function isNumerable(a,i){return a==="number"||i instanceof Number||a==="boolean"||a==="string"}function $bm_neg(a){var i=_typeof$1(a);if(i==="number"||a instanceof Number||i==="boolean")return-a;if($bm_isInstanceOfArray(a)){var e,o=a.length,r=[];for(e=0;e<o;e+=1)r[e]=-a[e];return r}if(a.propType)return a.v;return-a}var easeInBez=BezierFactory.getBezierEasing(0.333,0,0.833,0.833,"easeIn").get,easeOutBez=BezierFactory.getBezierEasing(0.167,0.167,0.667,1,"easeOut").get,easeInOutBez=BezierFactory.getBezierEasing(0.33,0,0.667,1,"easeInOut").get;function sum(a,i){var e=_typeof$1(a),o=_typeof$1(i);if(isNumerable(e,a)&&isNumerable(o,i)||e==="string"||o==="string")return a+i;if($bm_isInstanceOfArray(a)&&isNumerable(o,i))return a=a.slice(0),a[0]+=i,a;if(isNumerable(e,a)&&$bm_isInstanceOfArray(i))return i=i.slice(0),i[0]=a+i[0],i;if($bm_isInstanceOfArray(a)&&$bm_isInstanceOfArray(i)){var r=0,n=a.length,t=i.length,s=[];while(r<n||r<t){if((typeof a[r]==="number"||a[r]instanceof Number)&&(typeof i[r]==="number"||i[r]instanceof Number))s[r]=a[r]+i[r];else s[r]=i[r]===void 0?a[r]:a[r]||i[r];r+=1}return s}return 0}var add=sum;function sub(a,i){var e=_typeof$1(a),o=_typeof$1(i);if(isNumerable(e,a)&&isNumerable(o,i)){if(e==="string")a=parseInt(a,10);if(o==="string")i=parseInt(i,10);return a-i}if($bm_isInstanceOfArray(a)&&isNumerable(o,i))return a=a.slice(0),a[0]-=i,a;if(isNumerable(e,a)&&$bm_isInstanceOfArray(i))return i=i.slice(0),i[0]=a-i[0],i;if($bm_isInstanceOfArray(a)&&$bm_isInstanceOfArray(i)){var r=0,n=a.length,t=i.length,s=[];while(r<n||r<t){if((typeof a[r]==="number"||a[r]instanceof Number)&&(typeof i[r]==="number"||i[r]instanceof Number))s[r]=a[r]-i[r];else s[r]=i[r]===void 0?a[r]:a[r]||i[r];r+=1}return s}return 0}function mul(a,i){var e=_typeof$1(a),o=_typeof$1(i),r;if(isNumerable(e,a)&&isNumerable(o,i))return a*i;var n,t;if($bm_isInstanceOfArray(a)&&isNumerable(o,i)){t=a.length,r=createTypedArray("float32",t);for(n=0;n<t;n+=1)r[n]=a[n]*i;return r}if(isNumerable(e,a)&&$bm_isInstanceOfArray(i)){t=i.length,r=createTypedArray("float32",t);for(n=0;n<t;n+=1)r[n]=a*i[n];return r}return 0}function div(a,i){var e=_typeof$1(a),o=_typeof$1(i),r;if(isNumerable(e,a)&&isNumerable(o,i))return a/i;var n,t;if($bm_isInstanceOfArray(a)&&isNumerable(o,i)){t=a.length,r=createTypedArray("float32",t);for(n=0;n<t;n+=1)r[n]=a[n]/i;return r}if(isNumerable(e,a)&&$bm_isInstanceOfArray(i)){t=i.length,r=createTypedArray("float32",t);for(n=0;n<t;n+=1)r[n]=a/i[n];return r}return 0}function mod(a,i){if(typeof a==="string")a=parseInt(a,10);if(typeof i==="string")i=parseInt(i,10);return a%i}var $bm_sum=sum,$bm_sub=sub,$bm_mul=mul,$bm_div=div,$bm_mod=mod;function clamp(a,i,e){if(i>e){var o=e;e=i,i=o}return Math.min(Math.max(a,i),e)}function radiansToDegrees(a){return a/degToRads}var radians_to_degrees=radiansToDegrees;function degreesToRadians(a){return a*degToRads}var degrees_to_radians=radiansToDegrees,helperLengthArray=[0,0,0,0,0,0];function length(a,i){if(typeof a==="number"||a instanceof Number)return i=i||0,Math.abs(a-i);if(!i)i=helperLengthArray;var e,o=Math.min(a.length,i.length),r=0;for(e=0;e<o;e+=1)r+=Math.pow(i[e]-a[e],2);return Math.sqrt(r)}function normalize(a){return div(a,length(a))}function rgbToHsl(a){var i=a[0],e=a[1],o=a[2],r=Math.max(i,e,o),n=Math.min(i,e,o),t,s,l=(r+n)/2;if(r===n)t=0,s=0;else{var u=r-n;switch(s=l>0.5?u/(2-r-n):u/(r+n),r){case i:t=(e-o)/u+(e<o?6:0);break;case e:t=(o-i)/u+2;break;case o:t=(i-e)/u+4;break;default:break}t/=6}return[t,s,l,a[3]]}function hue2rgb(a,i,e){if(e<0)e+=1;if(e>1)e-=1;if(e<0.16666666666666666)return a+(i-a)*6*e;if(e<0.5)return i;if(e<0.6666666666666666)return a+(i-a)*(0.6666666666666666-e)*6;return a}function hslToRgb(a){var i=a[0],e=a[1],o=a[2],r,n,t;if(e===0)r=o,t=o,n=o;else{var s=o<0.5?o*(1+e):o+e-o*e,l=2*o-s;r=hue2rgb(l,s,i+0.3333333333333333),n=hue2rgb(l,s,i),t=hue2rgb(l,s,i-0.3333333333333333)}return[r,n,t,a[3]]}function linear(a,i,e,o,r){if(o===void 0||r===void 0)o=i,r=e,i=0,e=1;if(e<i){var n=e;e=i,i=n}if(a<=i)return o;if(a>=e)return r;var t=e===i?0:(a-i)/(e-i);if(!o.length)return o+(r-o)*t;var s,l=o.length,u=createTypedArray("float32",l);for(s=0;s<l;s+=1)u[s]=o[s]+(r[s]-o[s])*t;return u}function random(a,i){if(i===void 0)if(a===void 0)a=0,i=1;else i=a,a=void 0;if(i.length){var e,o=i.length;if(!a)a=createTypedArray("float32",o);var r=createTypedArray("float32",o),n=BMMath.random();for(e=0;e<o;e+=1)r[e]=a[e]+n*(i[e]-a[e]);return r}if(a===void 0)a=0;var t=BMMath.random();return a+t*(i-a)}function createPath(a,i,e,o){var r,n=a.length,t=shapePool.newElement();t.setPathData(!!o,n);var s=[0,0],l,u;for(r=0;r<n;r+=1)l=i&&i[r]?i[r]:s,u=e&&e[r]?e[r]:s,t.setTripleAt(a[r][0],a[r][1],u[0]+a[r][0],u[1]+a[r][1],l[0]+a[r][0],l[1]+a[r][1],r,!0);return t}function initiateExpression(elem,data,property){function noOp(a){return a}if(!elem.globalData.renderConfig.runExpressions)return noOp;var val=data.x,needsVelocity=/velocity(?![\w\d])/.test(val),_needsRandom=val.indexOf("random")!==-1,elemType=elem.data.ty,transform,$bm_transform,content,effect,thisProperty=property;thisProperty._name=elem.data.nm,thisProperty.valueAtTime=thisProperty.getValueAtTime,Object.defineProperty(thisProperty,"value",{get:function a(){return thisProperty.v}}),elem.comp.frameDuration=1/elem.comp.globalData.frameRate,elem.comp.displayStartTime=0;var inPoint=elem.data.ip/elem.comp.globalData.frameRate,outPoint=elem.data.op/elem.comp.globalData.frameRate,width=elem.data.sw?elem.data.sw:0,height=elem.data.sh?elem.data.sh:0,name=elem.data.nm,loopIn,loop_in,loopOut,loop_out,smooth,toWorld,fromWorld,fromComp,toComp,fromCompToSurface,position,rotation,anchorPoint,scale,thisLayer,thisComp,mask,valueAtTime,velocityAtTime,scoped_bm_rt,expression_function=eval("[function _expression_function(){"+val+";scoped_bm_rt=$bm_rt}]")[0],numKeys=property.kf?data.k.length:0,active=!this.data||this.data.hd!==!0,wiggle=function a(i,e){var o,r,n=this.pv.length?this.pv.length:1,t=createTypedArray("float32",n);i=5;var s=Math.floor(time*i);o=0,r=0;while(o<s){for(r=0;r<n;r+=1)t[r]+=-e+e*2*BMMath.random();o+=1}var l=time*i,u=l-Math.floor(l),h=createTypedArray("float32",n);if(n>1){for(r=0;r<n;r+=1)h[r]=this.pv[r]+t[r]+(-e+e*2*BMMath.random())*u;return h}return this.pv+t[0]+(-e+e*2*BMMath.random())*u}.bind(this);if(thisProperty.loopIn)loopIn=thisProperty.loopIn.bind(thisProperty),loop_in=loopIn;if(thisProperty.loopOut)loopOut=thisProperty.loopOut.bind(thisProperty),loop_out=loopOut;if(thisProperty.smooth)smooth=thisProperty.smooth.bind(thisProperty);function loopInDuration(a,i){return loopIn(a,i,!0)}function loopOutDuration(a,i){return loopOut(a,i,!0)}if(this.getValueAtTime)valueAtTime=this.getValueAtTime.bind(this);if(this.getVelocityAtTime)velocityAtTime=this.getVelocityAtTime.bind(this);var comp=elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);function lookAt(a,i){var e=[i[0]-a[0],i[1]-a[1],i[2]-a[2]],o=Math.atan2(e[0],Math.sqrt(e[1]*e[1]+e[2]*e[2]))/degToRads,r=-Math.atan2(e[1],e[2])/degToRads;return[r,o,0]}function easeOut(a,i,e,o,r){return applyEase(easeOutBez,a,i,e,o,r)}function easeIn(a,i,e,o,r){return applyEase(easeInBez,a,i,e,o,r)}function ease(a,i,e,o,r){return applyEase(easeInOutBez,a,i,e,o,r)}function applyEase(a,i,e,o,r,n){if(r===void 0)r=e,n=o;else i=(i-e)/(o-e);if(i>1)i=1;else if(i<0)i=0;var t=a(i);if($bm_isInstanceOfArray(r)){var s,l=r.length,u=createTypedArray("float32",l);for(s=0;s<l;s+=1)u[s]=(n[s]-r[s])*t+r[s];return u}return(n-r)*t+r}function nearestKey(a){var i,e=data.k.length,o,r;if(!data.k.length||typeof data.k[0]==="number")o=0,r=0;else if(o=-1,a*=elem.comp.globalData.frameRate,a<data.k[0].t)o=1,r=data.k[0].t;else{for(i=0;i<e-1;i+=1)if(a===data.k[i].t){o=i+1,r=data.k[i].t;break}else if(a>data.k[i].t&&a<data.k[i+1].t){if(a-data.k[i].t>data.k[i+1].t-a)o=i+2,r=data.k[i+1].t;else o=i+1,r=data.k[i].t;break}if(o===-1)o=i+1,r=data.k[i].t}var n={};return n.index=o,n.time=r/elem.comp.globalData.frameRate,n}function key(a){var i,e,o;if(!data.k.length||typeof data.k[0]==="number")throw new Error("The property has no keyframe at index "+a);a-=1,i={time:data.k[a].t/elem.comp.globalData.frameRate,value:[]};var r=Object.prototype.hasOwnProperty.call(data.k[a],"s")?data.k[a].s:data.k[a-1].e;o=r.length;for(e=0;e<o;e+=1)i[e]=r[e],i.value[e]=r[e];return i}function framesToTime(a,i){if(!i)i=elem.comp.globalData.frameRate;return a/i}function timeToFrames(a,i){if(!a&&a!==0)a=time;if(!i)i=elem.comp.globalData.frameRate;return a*i}function seedRandom(a){BMMath.seedrandom(randSeed+a)}function sourceRectAtTime(){return elem.sourceRectAtTime()}function substring(a,i){if(typeof value==="string"){if(i===void 0)return value.substring(a);return value.substring(a,i)}return""}function substr(a,i){if(typeof value==="string"){if(i===void 0)return value.substr(a);return value.substr(a,i)}return""}function posterizeTime(a){time=a===0?0:Math.floor(time*a)/a,value=valueAtTime(time)}var time,velocity,value,text,textIndex,textTotal,selectorValue,index=elem.data.ind,hasParent=!!(elem.hierarchy&&elem.hierarchy.length),parent,randSeed=Math.floor(Math.random()*1e6),globalData=elem.globalData;function executeExpression(a){if(value=a,this.frameExpressionId===elem.globalData.frameId&&this.propType!=="textSelector")return value;if(this.propType==="textSelector")textIndex=this.textIndex,textTotal=this.textTotal,selectorValue=this.selectorValue;if(!thisLayer)text=elem.layerInterface.text,thisLayer=elem.layerInterface,thisComp=elem.comp.compInterface,toWorld=thisLayer.toWorld.bind(thisLayer),fromWorld=thisLayer.fromWorld.bind(thisLayer),fromComp=thisLayer.fromComp.bind(thisLayer),toComp=thisLayer.toComp.bind(thisLayer),mask=thisLayer.mask?thisLayer.mask.bind(thisLayer):null,fromCompToSurface=fromComp;if(!transform){if(transform=elem.layerInterface("ADBE Transform Group"),$bm_transform=transform,transform)anchorPoint=transform.anchorPoint}if(elemType===4&&!content)content=thisLayer("ADBE Root Vectors Group");if(!effect)effect=thisLayer(4);if(hasParent=!!(elem.hierarchy&&elem.hierarchy.length),hasParent&&!parent)parent=elem.hierarchy[0].layerInterface;if(time=this.comp.renderedFrame/this.comp.globalData.frameRate,_needsRandom)seedRandom(randSeed+time);if(needsVelocity)velocity=velocityAtTime(time);return expression_function(),this.frameExpressionId=elem.globalData.frameId,scoped_bm_rt=scoped_bm_rt.propType===propTypes.SHAPE?scoped_bm_rt.v:scoped_bm_rt,scoped_bm_rt}return executeExpression.__preventDeadCodeRemoval=[$bm_transform,anchorPoint,time,velocity,inPoint,outPoint,width,height,name,loop_in,loop_out,smooth,toComp,fromCompToSurface,toWorld,fromWorld,mask,position,rotation,scale,thisComp,numKeys,active,wiggle,loopInDuration,loopOutDuration,comp,lookAt,easeOut,easeIn,ease,nearestKey,key,text,textIndex,textTotal,selectorValue,framesToTime,timeToFrames,sourceRectAtTime,substring,substr,posterizeTime,index,globalData],executeExpression}return ob.initiateExpression=initiateExpression,ob.__preventDeadCodeRemoval=[window,document,XMLHttpRequest,fetch,frames,$bm_neg,add,$bm_sum,$bm_sub,$bm_mul,$bm_div,$bm_mod,clamp,radians_to_degrees,degreesToRadians,degrees_to_radians,normalize,rgbToHsl,hslToRgb,linear,random,createPath,_lottieGlobal],ob.resetFrame=resetFrame,ob}(),Expressions=function(){var a={};a.initExpressions=i,a.resetFrame=ExpressionManager.resetFrame;function i(e){var o=0,r=[];function n(){o+=1}function t(){if(o-=1,o===0)l()}function s(u){if(r.indexOf(u)===-1)r.push(u)}function l(){var u,h=r.length;for(u=0;u<h;u+=1)r[u].release();r.length=0}e.renderer.compInterface=CompExpressionInterface(e.renderer),e.renderer.globalData.projectInterface.registerComposition(e.renderer),e.renderer.globalData.pushExpression=n,e.renderer.globalData.popExpression=t,e.renderer.globalData.registerExpressionProperty=s}return a}(),MaskManagerInterface=function(){function a(e,o){this._mask=e,this._data=o}Object.defineProperty(a.prototype,"maskPath",{get:function e(){if(this._mask.prop.k)this._mask.prop.getValue();return this._mask.prop}}),Object.defineProperty(a.prototype,"maskOpacity",{get:function e(){if(this._mask.op.k)this._mask.op.getValue();return this._mask.op.v*100}});var i=function e(o){var r=createSizedArray(o.viewData.length),n,t=o.viewData.length;for(n=0;n<t;n+=1)r[n]=new a(o.viewData[n],o.masksProperties[n]);var s=function l(u){n=0;while(n<t){if(o.masksProperties[n].nm===u)return r[n];n+=1}return null};return s};return i}(),ExpressionPropertyInterface=function(){var a={pv:0,v:0,mult:1},i={pv:[0,0,0],v:[0,0,0],mult:1};function e(t,s,l){Object.defineProperty(t,"velocity",{get:function u(){return s.getVelocityAtTime(s.comp.currentFrame)}}),t.numKeys=s.keyframes?s.keyframes.length:0,t.key=function(u){if(!t.numKeys)return 0;var h="";if("s"in s.keyframes[u-1])h=s.keyframes[u-1].s;else if("e"in s.keyframes[u-2])h=s.keyframes[u-2].e;else h=s.keyframes[u-2].s;var f=l==="unidimensional"?new Number(h):Object.assign({},h);return f.time=s.keyframes[u-1].t/s.elem.comp.globalData.frameRate,f.value=l==="unidimensional"?h[0]:h,f},t.valueAtTime=s.getValueAtTime,t.speedAtTime=s.getSpeedAtTime,t.velocityAtTime=s.getVelocityAtTime,t.propertyGroup=s.propertyGroup}function o(t){if(!t||!("pv"in t))t=a;var s=1/t.mult,l=t.pv*s,u=new Number(l);return u.value=l,e(u,t,"unidimensional"),function(){if(t.k)t.getValue();if(l=t.v*s,u.value!==l)u=new Number(l),u.value=l,u[0]=l,e(u,t,"unidimensional");return u}}function r(t){if(!t||!("pv"in t))t=i;var s=1/t.mult,l=t.data&&t.data.l||t.pv.length,u=createTypedArray("float32",l),h=createTypedArray("float32",l);return u.value=h,e(u,t,"multidimensional"),function(){if(t.k)t.getValue();for(var f=0;f<l;f+=1)h[f]=t.v[f]*s,u[f]=h[f];return u}}function n(){return a}return function(t){if(!t)return n;if(t.propType==="unidimensional")return o(t);return r(t)}}(),TransformExpressionInterface=function(){return function(a){function i(t){switch(t){case"scale":case"Scale":case"ADBE Scale":case 6:return i.scale;case"rotation":case"Rotation":case"ADBE Rotation":case"ADBE Rotate Z":case 10:return i.rotation;case"ADBE Rotate X":return i.xRotation;case"ADBE Rotate Y":return i.yRotation;case"position":case"Position":case"ADBE Position":case 2:return i.position;case"ADBE Position_0":return i.xPosition;case"ADBE Position_1":return i.yPosition;case"ADBE Position_2":return i.zPosition;case"anchorPoint":case"AnchorPoint":case"Anchor Point":case"ADBE AnchorPoint":case 1:return i.anchorPoint;case"opacity":case"Opacity":case 11:return i.opacity;default:return null}}Object.defineProperty(i,"rotation",{get:ExpressionPropertyInterface(a.r||a.rz)}),Object.defineProperty(i,"zRotation",{get:ExpressionPropertyInterface(a.rz||a.r)}),Object.defineProperty(i,"xRotation",{get:ExpressionPropertyInterface(a.rx)}),Object.defineProperty(i,"yRotation",{get:ExpressionPropertyInterface(a.ry)}),Object.defineProperty(i,"scale",{get:ExpressionPropertyInterface(a.s)});var e,o,r,n;if(a.p)n=ExpressionPropertyInterface(a.p);else if(e=ExpressionPropertyInterface(a.px),o=ExpressionPropertyInterface(a.py),a.pz)r=ExpressionPropertyInterface(a.pz);return Object.defineProperty(i,"position",{get:function t(){if(a.p)return n();return[e(),o(),r?r():0]}}),Object.defineProperty(i,"xPosition",{get:ExpressionPropertyInterface(a.px)}),Object.defineProperty(i,"yPosition",{get:ExpressionPropertyInterface(a.py)}),Object.defineProperty(i,"zPosition",{get:ExpressionPropertyInterface(a.pz)}),Object.defineProperty(i,"anchorPoint",{get:ExpressionPropertyInterface(a.a)}),Object.defineProperty(i,"opacity",{get:ExpressionPropertyInterface(a.o)}),Object.defineProperty(i,"skew",{get:ExpressionPropertyInterface(a.sk)}),Object.defineProperty(i,"skewAxis",{get:ExpressionPropertyInterface(a.sa)}),Object.defineProperty(i,"orientation",{get:ExpressionPropertyInterface(a.or)}),i}}(),LayerExpressionInterface=function(){function a(u){var h=new Matrix;if(u!==void 0){var f=this._elem.finalTransform.mProp.getValueAtTime(u);f.clone(h)}else{var c=this._elem.finalTransform.mProp;c.applyToMatrix(h)}return h}function i(u,h){var f=this.getMatrix(h);return f.props[12]=0,f.props[13]=0,f.props[14]=0,this.applyPoint(f,u)}function e(u,h){var f=this.getMatrix(h);return this.applyPoint(f,u)}function o(u,h){var f=this.getMatrix(h);return f.props[12]=0,f.props[13]=0,f.props[14]=0,this.invertPoint(f,u)}function r(u,h){var f=this.getMatrix(h);return this.invertPoint(f,u)}function n(u,h){if(this._elem.hierarchy&&this._elem.hierarchy.length){var f,c=this._elem.hierarchy.length;for(f=0;f<c;f+=1)this._elem.hierarchy[f].finalTransform.mProp.applyToMatrix(u)}return u.applyToPointArray(h[0],h[1],h[2]||0)}function t(u,h){if(this._elem.hierarchy&&this._elem.hierarchy.length){var f,c=this._elem.hierarchy.length;for(f=0;f<c;f+=1)this._elem.hierarchy[f].finalTransform.mProp.applyToMatrix(u)}return u.inversePoint(h)}function s(u){var h=new Matrix;if(h.reset(),this._elem.finalTransform.mProp.applyToMatrix(h),this._elem.hierarchy&&this._elem.hierarchy.length){var f,c=this._elem.hierarchy.length;for(f=0;f<c;f+=1)this._elem.hierarchy[f].finalTransform.mProp.applyToMatrix(h);return h.inversePoint(u)}return h.inversePoint(u)}function l(){return[1,1,1,1]}return function(u){var h;function f(b){y.mask=new MaskManagerInterface(b,u)}function c(b){y.effect=b}function y(b){switch(b){case"ADBE Root Vectors Group":case"Contents":case 2:return y.shapeInterface;case 1:case 6:case"Transform":case"transform":case"ADBE Transform Group":return h;case 4:case"ADBE Effect Parade":case"effects":case"Effects":return y.effect;case"ADBE Text Properties":return y.textInterface;default:return null}}y.getMatrix=a,y.invertPoint=t,y.applyPoint=n,y.toWorld=e,y.toWorldVec=i,y.fromWorld=r,y.fromWorldVec=o,y.toComp=e,y.fromComp=s,y.sampleImage=l,y.sourceRectAtTime=u.sourceRectAtTime.bind(u),y._elem=u,h=TransformExpressionInterface(u.finalTransform.mProp);var g=getDescriptor(h,"anchorPoint");return Object.defineProperties(y,{hasParent:{get:function b(){return u.hierarchy.length}},parent:{get:function b(){return u.hierarchy[0].layerInterface}},rotation:getDescriptor(h,"rotation"),scale:getDescriptor(h,"scale"),position:getDescriptor(h,"position"),opacity:getDescriptor(h,"opacity"),anchorPoint:g,anchor_point:g,transform:{get:function b(){return h}},active:{get:function b(){return u.isInRange}}}),y.startTime=u.data.st,y.index=u.data.ind,y.source=u.data.refId,y.height=u.data.ty===0?u.data.h:100,y.width=u.data.ty===0?u.data.w:100,y.inPoint=u.data.ip/u.comp.globalData.frameRate,y.outPoint=u.data.op/u.comp.globalData.frameRate,y._name=u.data.nm,y.registerMaskInterface=f,y.registerEffectsInterface=c,y}}(),propertyGroupFactory=function(){return function(a,i){return function(e){if(e=e===void 0?1:e,e<=0)return a;return i(e-1)}}}(),PropertyInterface=function(){return function(a,i){var e={_name:a};function o(r){if(r=r===void 0?1:r,r<=0)return e;return i(r-1)}return o}}(),EffectsExpressionInterface=function(){var a={createEffectsInterface:i};function i(r,n){if(r.effectsManager){var t=[],s=r.data.ef,l,u=r.effectsManager.effectElements.length;for(l=0;l<u;l+=1)t.push(e(s[l],r.effectsManager.effectElements[l],n,r));var h=r.data.ef||[],f=function c(y){l=0,u=h.length;while(l<u){if(y===h[l].nm||y===h[l].mn||y===h[l].ix)return t[l];l+=1}return null};return Object.defineProperty(f,"numProperties",{get:function c(){return h.length}}),f}return null}function e(r,n,t,s){function l(y){var g=r.ef,b=0,I=g.length;while(b<I){if(y===g[b].nm||y===g[b].mn||y===g[b].ix){if(g[b].ty===5)return h[b];return h[b]()}b+=1}throw new Error}var u=propertyGroupFactory(l,t),h=[],f,c=r.ef.length;for(f=0;f<c;f+=1)if(r.ef[f].ty===5)h.push(e(r.ef[f],n.effectElements[f],n.effectElements[f].propertyGroup,s));else h.push(o(n.effectElements[f],r.ef[f].ty,s,u));if(r.mn==="ADBE Color Control")Object.defineProperty(l,"color",{get:function y(){return h[0]()}});return Object.defineProperties(l,{numProperties:{get:function y(){return r.np}},_name:{value:r.nm},propertyGroup:{value:u}}),l.enabled=r.en!==0,l.active=l.enabled,l}function o(r,n,t,s){var l=ExpressionPropertyInterface(r.p);function u(){if(n===10)return t.comp.compInterface(r.p.v);return l()}if(r.p.setGroupProperty)r.p.setGroupProperty(PropertyInterface("",s));return u}return a}(),ShapePathInterface=function(){return function a(i,e,o){var r=e.sh;function n(s){if(s==="Shape"||s==="shape"||s==="Path"||s==="path"||s==="ADBE Vector Shape"||s===2)return n.path;return null}var t=propertyGroupFactory(n,o);return r.setGroupProperty(PropertyInterface("Path",t)),Object.defineProperties(n,{path:{get:function s(){if(r.k)r.getValue();return r}},shape:{get:function s(){if(r.k)r.getValue();return r}},_name:{value:i.nm},ix:{value:i.ix},propertyIndex:{value:i.ix},mn:{value:i.mn},propertyGroup:{value:o}}),n}}(),ShapeExpressionInterface=function(){function a(g,b,I){var m=[],k,p=g?g.length:0;for(k=0;k<p;k+=1)if(g[k].ty==="gr")m.push(e(g[k],b[k],I));else if(g[k].ty==="fl")m.push(o(g[k],b[k],I));else if(g[k].ty==="st")m.push(t(g[k],b[k],I));else if(g[k].ty==="tm")m.push(s(g[k],b[k],I));else if(g[k].ty==="tr");else if(g[k].ty==="el")m.push(u(g[k],b[k],I));else if(g[k].ty==="sr")m.push(h(g[k],b[k],I));else if(g[k].ty==="sh")m.push(ShapePathInterface(g[k],b[k],I));else if(g[k].ty==="rc")m.push(f(g[k],b[k],I));else if(g[k].ty==="rd")m.push(c(g[k],b[k],I));else if(g[k].ty==="rp")m.push(y(g[k],b[k],I));else if(g[k].ty==="gf")m.push(r(g[k],b[k],I));else m.push(n(g[k],b[k],I));return m}function i(g,b,I){var m,k=function v(S){var F=0,K=m.length;while(F<K){if(m[F]._name===S||m[F].mn===S||m[F].propertyIndex===S||m[F].ix===S||m[F].ind===S)return m[F];F+=1}if(typeof S==="number")return m[S-1];return null};k.propertyGroup=propertyGroupFactory(k,I),m=a(g.it,b.it,k.propertyGroup),k.numProperties=m.length;var p=l(g.it[g.it.length-1],b.it[b.it.length-1],k.propertyGroup);return k.transform=p,k.propertyIndex=g.cix,k._name=g.nm,k}function e(g,b,I){var m=function v(S){switch(S){case"ADBE Vectors Group":case"Contents":case 2:return m.content;default:return m.transform}};m.propertyGroup=propertyGroupFactory(m,I);var k=i(g,b,m.propertyGroup),p=l(g.it[g.it.length-1],b.it[b.it.length-1],m.propertyGroup);return m.content=k,m.transform=p,Object.defineProperty(m,"_name",{get:function v(){return g.nm}}),m.numProperties=g.np,m.propertyIndex=g.ix,m.nm=g.nm,m.mn=g.mn,m}function o(g,b,I){function m(k){if(k==="Color"||k==="color")return m.color;if(k==="Opacity"||k==="opacity")return m.opacity;return null}return Object.defineProperties(m,{color:{get:ExpressionPropertyInterface(b.c)},opacity:{get:ExpressionPropertyInterface(b.o)},_name:{value:g.nm},mn:{value:g.mn}}),b.c.setGroupProperty(PropertyInterface("Color",I)),b.o.setGroupProperty(PropertyInterface("Opacity",I)),m}function r(g,b,I){function m(k){if(k==="Start Point"||k==="start point")return m.startPoint;if(k==="End Point"||k==="end point")return m.endPoint;if(k==="Opacity"||k==="opacity")return m.opacity;return null}return Object.defineProperties(m,{startPoint:{get:ExpressionPropertyInterface(b.s)},endPoint:{get:ExpressionPropertyInterface(b.e)},opacity:{get:ExpressionPropertyInterface(b.o)},type:{get:function k(){return"a"}},_name:{value:g.nm},mn:{value:g.mn}}),b.s.setGroupProperty(PropertyInterface("Start Point",I)),b.e.setGroupProperty(PropertyInterface("End Point",I)),b.o.setGroupProperty(PropertyInterface("Opacity",I)),m}function n(){function g(){return null}return g}function t(g,b,I){var m=propertyGroupFactory(K,I),k=propertyGroupFactory(F,m);function p(R){Object.defineProperty(F,g.d[R].nm,{get:ExpressionPropertyInterface(b.d.dataProps[R].p)})}var v,S=g.d?g.d.length:0,F={};for(v=0;v<S;v+=1)p(v),b.d.dataProps[v].p.setGroupProperty(k);function K(R){if(R==="Color"||R==="color")return K.color;if(R==="Opacity"||R==="opacity")return K.opacity;if(R==="Stroke Width"||R==="stroke width")return K.strokeWidth;return null}return Object.defineProperties(K,{color:{get:ExpressionPropertyInterface(b.c)},opacity:{get:ExpressionPropertyInterface(b.o)},strokeWidth:{get:ExpressionPropertyInterface(b.w)},dash:{get:function R(){return F}},_name:{value:g.nm},mn:{value:g.mn}}),b.c.setGroupProperty(PropertyInterface("Color",m)),b.o.setGroupProperty(PropertyInterface("Opacity",m)),b.w.setGroupProperty(PropertyInterface("Stroke Width",m)),K}function s(g,b,I){function m(p){if(p===g.e.ix||p==="End"||p==="end")return m.end;if(p===g.s.ix)return m.start;if(p===g.o.ix)return m.offset;return null}var k=propertyGroupFactory(m,I);return m.propertyIndex=g.ix,b.s.setGroupProperty(PropertyInterface("Start",k)),b.e.setGroupProperty(PropertyInterface("End",k)),b.o.setGroupProperty(PropertyInterface("Offset",k)),m.propertyIndex=g.ix,m.propertyGroup=I,Object.defineProperties(m,{start:{get:ExpressionPropertyInterface(b.s)},end:{get:ExpressionPropertyInterface(b.e)},offset:{get:ExpressionPropertyInterface(b.o)},_name:{value:g.nm}}),m.mn=g.mn,m}function l(g,b,I){function m(p){if(g.a.ix===p||p==="Anchor Point")return m.anchorPoint;if(g.o.ix===p||p==="Opacity")return m.opacity;if(g.p.ix===p||p==="Position")return m.position;if(g.r.ix===p||p==="Rotation"||p==="ADBE Vector Rotation")return m.rotation;if(g.s.ix===p||p==="Scale")return m.scale;if(g.sk&&g.sk.ix===p||p==="Skew")return m.skew;if(g.sa&&g.sa.ix===p||p==="Skew Axis")return m.skewAxis;return null}var k=propertyGroupFactory(m,I);if(b.transform.mProps.o.setGroupProperty(PropertyInterface("Opacity",k)),b.transform.mProps.p.setGroupProperty(PropertyInterface("Position",k)),b.transform.mProps.a.setGroupProperty(PropertyInterface("Anchor Point",k)),b.transform.mProps.s.setGroupProperty(PropertyInterface("Scale",k)),b.transform.mProps.r.setGroupProperty(PropertyInterface("Rotation",k)),b.transform.mProps.sk)b.transform.mProps.sk.setGroupProperty(PropertyInterface("Skew",k)),b.transform.mProps.sa.setGroupProperty(PropertyInterface("Skew Angle",k));return b.transform.op.setGroupProperty(PropertyInterface("Opacity",k)),Object.defineProperties(m,{opacity:{get:ExpressionPropertyInterface(b.transform.mProps.o)},position:{get:ExpressionPropertyInterface(b.transform.mProps.p)},anchorPoint:{get:ExpressionPropertyInterface(b.transform.mProps.a)},scale:{get:ExpressionPropertyInterface(b.transform.mProps.s)},rotation:{get:ExpressionPropertyInterface(b.transform.mProps.r)},skew:{get:ExpressionPropertyInterface(b.transform.mProps.sk)},skewAxis:{get:ExpressionPropertyInterface(b.transform.mProps.sa)},_name:{value:g.nm}}),m.ty="tr",m.mn=g.mn,m.propertyGroup=I,m}function u(g,b,I){function m(v){if(g.p.ix===v)return m.position;if(g.s.ix===v)return m.size;return null}var k=propertyGroupFactory(m,I);m.propertyIndex=g.ix;var p=b.sh.ty==="tm"?b.sh.prop:b.sh;return p.s.setGroupProperty(PropertyInterface("Size",k)),p.p.setGroupProperty(PropertyInterface("Position",k)),Object.defineProperties(m,{size:{get:ExpressionPropertyInterface(p.s)},position:{get:ExpressionPropertyInterface(p.p)},_name:{value:g.nm}}),m.mn=g.mn,m}function h(g,b,I){function m(v){if(g.p.ix===v)return m.position;if(g.r.ix===v)return m.rotation;if(g.pt.ix===v)return m.points;if(g.or.ix===v||v==="ADBE Vector Star Outer Radius")return m.outerRadius;if(g.os.ix===v)return m.outerRoundness;if(g.ir&&(g.ir.ix===v||v==="ADBE Vector Star Inner Radius"))return m.innerRadius;if(g.is&&g.is.ix===v)return m.innerRoundness;return null}var k=propertyGroupFactory(m,I),p=b.sh.ty==="tm"?b.sh.prop:b.sh;if(m.propertyIndex=g.ix,p.or.setGroupProperty(PropertyInterface("Outer Radius",k)),p.os.setGroupProperty(PropertyInterface("Outer Roundness",k)),p.pt.setGroupProperty(PropertyInterface("Points",k)),p.p.setGroupProperty(PropertyInterface("Position",k)),p.r.setGroupProperty(PropertyInterface("Rotation",k)),g.ir)p.ir.setGroupProperty(PropertyInterface("Inner Radius",k)),p.is.setGroupProperty(PropertyInterface("Inner Roundness",k));return Object.defineProperties(m,{position:{get:ExpressionPropertyInterface(p.p)},rotation:{get:ExpressionPropertyInterface(p.r)},points:{get:ExpressionPropertyInterface(p.pt)},outerRadius:{get:ExpressionPropertyInterface(p.or)},outerRoundness:{get:ExpressionPropertyInterface(p.os)},innerRadius:{get:ExpressionPropertyInterface(p.ir)},innerRoundness:{get:ExpressionPropertyInterface(p.is)},_name:{value:g.nm}}),m.mn=g.mn,m}function f(g,b,I){function m(v){if(g.p.ix===v)return m.position;if(g.r.ix===v)return m.roundness;if(g.s.ix===v||v==="Size"||v==="ADBE Vector Rect Size")return m.size;return null}var k=propertyGroupFactory(m,I),p=b.sh.ty==="tm"?b.sh.prop:b.sh;return m.propertyIndex=g.ix,p.p.setGroupProperty(PropertyInterface("Position",k)),p.s.setGroupProperty(PropertyInterface("Size",k)),p.r.setGroupProperty(PropertyInterface("Rotation",k)),Object.defineProperties(m,{position:{get:ExpressionPropertyInterface(p.p)},roundness:{get:ExpressionPropertyInterface(p.r)},size:{get:ExpressionPropertyInterface(p.s)},_name:{value:g.nm}}),m.mn=g.mn,m}function c(g,b,I){function m(v){if(g.r.ix===v||v==="Round Corners 1")return m.radius;return null}var k=propertyGroupFactory(m,I),p=b;return m.propertyIndex=g.ix,p.rd.setGroupProperty(PropertyInterface("Radius",k)),Object.defineProperties(m,{radius:{get:ExpressionPropertyInterface(p.rd)},_name:{value:g.nm}}),m.mn=g.mn,m}function y(g,b,I){function m(v){if(g.c.ix===v||v==="Copies")return m.copies;if(g.o.ix===v||v==="Offset")return m.offset;return null}var k=propertyGroupFactory(m,I),p=b;return m.propertyIndex=g.ix,p.c.setGroupProperty(PropertyInterface("Copies",k)),p.o.setGroupProperty(PropertyInterface("Offset",k)),Object.defineProperties(m,{copies:{get:ExpressionPropertyInterface(p.c)},offset:{get:ExpressionPropertyInterface(p.o)},_name:{value:g.nm}}),m.mn=g.mn,m}return function(g,b,I){var m;function k(v){if(typeof v==="number"){if(v=v===void 0?1:v,v===0)return I;return m[v-1]}var S=0,F=m.length;while(S<F){if(m[S]._name===v)return m[S];S+=1}return null}function p(){return I}return k.propertyGroup=propertyGroupFactory(k,p),m=a(g,b,k.propertyGroup),k.numProperties=m.length,k._name="Contents",k}}(),TextExpressionInterface=function(){return function(a){var i;function e(o){switch(o){case"ADBE Text Document":return e.sourceText;default:return null}}return Object.defineProperty(e,"sourceText",{get:function o(){a.textProperty.getValue();var r=a.textProperty.currentData.t;if(!i||r!==i.value)i=new String(r),i.value=r||new String(r),Object.defineProperty(i,"style",{get:function n(){return{fillColor:a.textProperty.currentData.fc}}});return i}}),e}}();function _typeof(a){return _typeof=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(i){return typeof i}:function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},_typeof(a)}var FootageInterface=function(){var a=function e(o){var r="",n=o.getFootageData();function t(){return r="",n=o.getFootageData(),s}function s(l){if(n[l]){if(r=l,n=n[l],_typeof(n)==="object")return s;return n}var u=l.indexOf(r);if(u!==-1){var h=parseInt(l.substr(u+r.length),10);if(n=n[h],_typeof(n)==="object")return s;return n}return""}return t},i=function e(o){function r(n){if(n==="Outline")return r.outlineInterface();return null}return r._name="Outline",r.outlineInterface=a(o),r};return function(e){function o(r){if(r==="Data")return o.dataInterface;return null}return o._name="Data",o.dataInterface=i(e),o}}(),interfaces={layer:LayerExpressionInterface,effects:EffectsExpressionInterface,comp:CompExpressionInterface,shape:ShapeExpressionInterface,text:TextExpressionInterface,footage:FootageInterface};function getInterface(a){return interfaces[a]||null}var expressionHelpers=function(){function a(t,s,l){if(s.x)l.k=!0,l.x=!0,l.initiateExpression=ExpressionManager.initiateExpression,l.effectsSequence.push(l.initiateExpression(t,s,l).bind(l))}function i(t){if(t*=this.elem.globalData.frameRate,t-=this.offsetTime,t!==this._cachingAtTime.lastFrame)this._cachingAtTime.lastIndex=this._cachingAtTime.lastFrame<t?this._cachingAtTime.lastIndex:0,this._cachingAtTime.value=this.interpolateValue(t,this._cachingAtTime),this._cachingAtTime.lastFrame=t;return this._cachingAtTime.value}function e(t){var s=-0.01,l=this.getValueAtTime(t),u=this.getValueAtTime(t+s),h=0;if(l.length){var f;for(f=0;f<l.length;f+=1)h+=Math.pow(u[f]-l[f],2);h=Math.sqrt(h)*100}else h=0;return h}function o(t){if(this.vel!==void 0)return this.vel;var s=-0.001,l=this.getValueAtTime(t),u=this.getValueAtTime(t+s),h;if(l.length){h=createTypedArray("float32",l.length);var f;for(f=0;f<l.length;f+=1)h[f]=(u[f]-l[f])/s}else h=(u-l)/s;return h}function r(){return this.pv}function n(t){this.propertyGroup=t}return{searchExpressions:a,getSpeedAtTime:e,getVelocityAtTime:o,getValueAtTime:i,getStaticValueAtTime:r,setGroupProperty:n}}();function addPropertyDecorator(){function a(c,y,g){if(!this.k||!this.keyframes)return this.pv;c=c?c.toLowerCase():"";var b=this.comp.renderedFrame,I=this.keyframes,m=I[I.length-1].t;if(b<=m)return this.pv;var k,p;if(!g){if(!y||y>I.length-1)y=I.length-1;p=I[I.length-1-y].t,k=m-p}else{if(!y)k=Math.max(0,m-this.elem.data.ip);else k=Math.abs(m-this.elem.comp.globalData.frameRate*y);p=m-k}var v,S,F;if(c==="pingpong"){var K=Math.floor((b-p)/k);if(K%2!==0)return this.getValueAtTime((k-(b-p)%k+p)/this.comp.globalData.frameRate,0)}else if(c==="offset"){var R=this.getValueAtTime(p/this.comp.globalData.frameRate,0),P=this.getValueAtTime(m/this.comp.globalData.frameRate,0),M=this.getValueAtTime(((b-p)%k+p)/this.comp.globalData.frameRate,0),X=Math.floor((b-p)/k);if(this.pv.length){F=new Array(R.length),S=F.length;for(v=0;v<S;v+=1)F[v]=(P[v]-R[v])*X+M[v];return F}return(P-R)*X+M}else if(c==="continue"){var _=this.getValueAtTime(m/this.comp.globalData.frameRate,0),U=this.getValueAtTime((m-0.001)/this.comp.globalData.frameRate,0);if(this.pv.length){F=new Array(_.length),S=F.length;for(v=0;v<S;v+=1)F[v]=_[v]+(_[v]-U[v])*((b-m)/this.comp.globalData.frameRate)/0.0005;return F}return _+(_-U)*((b-m)/0.001)}return this.getValueAtTime(((b-p)%k+p)/this.comp.globalData.frameRate,0)}function i(c,y,g){if(!this.k)return this.pv;c=c?c.toLowerCase():"";var b=this.comp.renderedFrame,I=this.keyframes,m=I[0].t;if(b>=m)return this.pv;var k,p;if(!g){if(!y||y>I.length-1)y=I.length-1;p=I[y].t,k=p-m}else{if(!y)k=Math.max(0,this.elem.data.op-m);else k=Math.abs(this.elem.comp.globalData.frameRate*y);p=m+k}var v,S,F;if(c==="pingpong"){var K=Math.floor((m-b)/k);if(K%2===0)return this.getValueAtTime(((m-b)%k+m)/this.comp.globalData.frameRate,0)}else if(c==="offset"){var R=this.getValueAtTime(m/this.comp.globalData.frameRate,0),P=this.getValueAtTime(p/this.comp.globalData.frameRate,0),M=this.getValueAtTime((k-(m-b)%k+m)/this.comp.globalData.frameRate,0),X=Math.floor((m-b)/k)+1;if(this.pv.length){F=new Array(R.length),S=F.length;for(v=0;v<S;v+=1)F[v]=M[v]-(P[v]-R[v])*X;return F}return M-(P-R)*X}else if(c==="continue"){var _=this.getValueAtTime(m/this.comp.globalData.frameRate,0),U=this.getValueAtTime((m+0.001)/this.comp.globalData.frameRate,0);if(this.pv.length){F=new Array(_.length),S=F.length;for(v=0;v<S;v+=1)F[v]=_[v]+(_[v]-U[v])*(m-b)/0.001;return F}return _+(_-U)*(m-b)/0.001}return this.getValueAtTime((k-((m-b)%k+m))/this.comp.globalData.frameRate,0)}function e(c,y){if(!this.k)return this.pv;if(c=(c||0.4)*0.5,y=Math.floor(y||5),y<=1)return this.pv;var g=this.comp.renderedFrame/this.comp.globalData.frameRate,b=g-c,I=g+c,m=y>1?(I-b)/(y-1):1,k=0,p=0,v;if(this.pv.length)v=createTypedArray("float32",this.pv.length);else v=0;var S;while(k<y){if(S=this.getValueAtTime(b+k*m),this.pv.length)for(p=0;p<this.pv.length;p+=1)v[p]+=S[p];else v+=S;k+=1}if(this.pv.length)for(p=0;p<this.pv.length;p+=1)v[p]/=y;else v/=y;return v}function o(c){if(!this._transformCachingAtTime)this._transformCachingAtTime={v:new Matrix};var y=this._transformCachingAtTime.v;if(y.cloneFromProps(this.pre.props),this.appliedTransformations<1){var g=this.a.getValueAtTime(c);y.translate(-g[0]*this.a.mult,-g[1]*this.a.mult,g[2]*this.a.mult)}if(this.appliedTransformations<2){var b=this.s.getValueAtTime(c);y.scale(b[0]*this.s.mult,b[1]*this.s.mult,b[2]*this.s.mult)}if(this.sk&&this.appliedTransformations<3){var I=this.sk.getValueAtTime(c),m=this.sa.getValueAtTime(c);y.skewFromAxis(-I*this.sk.mult,m*this.sa.mult)}if(this.r&&this.appliedTransformations<4){var k=this.r.getValueAtTime(c);y.rotate(-k*this.r.mult)}else if(!this.r&&this.appliedTransformations<4){var p=this.rz.getValueAtTime(c),v=this.ry.getValueAtTime(c),S=this.rx.getValueAtTime(c),F=this.or.getValueAtTime(c);y.rotateZ(-p*this.rz.mult).rotateY(v*this.ry.mult).rotateX(S*this.rx.mult).rotateZ(-F[2]*this.or.mult).rotateY(F[1]*this.or.mult).rotateX(F[0]*this.or.mult)}if(this.data.p&&this.data.p.s){var K=this.px.getValueAtTime(c),R=this.py.getValueAtTime(c);if(this.data.p.z){var P=this.pz.getValueAtTime(c);y.translate(K*this.px.mult,R*this.py.mult,-P*this.pz.mult)}else y.translate(K*this.px.mult,R*this.py.mult,0)}else{var M=this.p.getValueAtTime(c);y.translate(M[0]*this.p.mult,M[1]*this.p.mult,-M[2]*this.p.mult)}return y}function r(){return this.v.clone(new Matrix)}var n=TransformPropertyFactory.getTransformProperty;TransformPropertyFactory.getTransformProperty=function(c,y,g){var b=n(c,y,g);if(b.dynamicProperties.length)b.getValueAtTime=o.bind(b);else b.getValueAtTime=r.bind(b);return b.setGroupProperty=expressionHelpers.setGroupProperty,b};var t=PropertyFactory.getProp;PropertyFactory.getProp=function(c,y,g,b,I){var m=t(c,y,g,b,I);if(m.kf)m.getValueAtTime=expressionHelpers.getValueAtTime.bind(m);else m.getValueAtTime=expressionHelpers.getStaticValueAtTime.bind(m);m.setGroupProperty=expressionHelpers.setGroupProperty,m.loopOut=a,m.loopIn=i,m.smooth=e,m.getVelocityAtTime=expressionHelpers.getVelocityAtTime.bind(m),m.getSpeedAtTime=expressionHelpers.getSpeedAtTime.bind(m),m.numKeys=y.a===1?y.k.length:0,m.propertyIndex=y.ix;var k=0;if(g!==0)k=createTypedArray("float32",y.a===1?y.k[0].s.length:y.k.length);if(m._cachingAtTime={lastFrame:initialDefaultFrame,lastIndex:0,value:k},expressionHelpers.searchExpressions(c,y,m),m.k)I.addDynamicProperty(m);return m};function s(c){if(!this._cachingAtTime)this._cachingAtTime={shapeValue:shapePool.clone(this.pv),lastIndex:0,lastTime:initialDefaultFrame};if(c*=this.elem.globalData.frameRate,c-=this.offsetTime,c!==this._cachingAtTime.lastTime)this._cachingAtTime.lastIndex=this._cachingAtTime.lastTime<c?this._caching.lastIndex:0,this._cachingAtTime.lastTime=c,this.interpolateShape(c,this._cachingAtTime.shapeValue,this._cachingAtTime);return this._cachingAtTime.shapeValue}var l=ShapePropertyFactory.getConstructorFunction(),u=ShapePropertyFactory.getKeyframedConstructorFunction();function h(){}h.prototype={vertices:function c(y,g){if(this.k)this.getValue();var b=this.v;if(g!==void 0)b=this.getValueAtTime(g,0);var I,m=b._length,k=b[y],p=b.v,v=createSizedArray(m);for(I=0;I<m;I+=1)if(y==="i"||y==="o")v[I]=[k[I][0]-p[I][0],k[I][1]-p[I][1]];else v[I]=[k[I][0],k[I][1]];return v},points:function c(y){return this.vertices("v",y)},inTangents:function c(y){return this.vertices("i",y)},outTangents:function c(y){return this.vertices("o",y)},isClosed:function c(){return this.v.c},pointOnPath:function c(y,g){var b=this.v;if(g!==void 0)b=this.getValueAtTime(g,0);if(!this._segmentsLength)this._segmentsLength=bez.getSegmentsLength(b);var I=this._segmentsLength,m=I.lengths,k=I.totalLength*y,p=0,v=m.length,S=0,F;while(p<v){if(S+m[p].addedLength>k){var K=p,R=b.c&&p===v-1?0:p+1,P=(k-S)/m[p].addedLength;F=bez.getPointInSegment(b.v[K],b.v[R],b.o[K],b.i[R],P,m[p]);break}else S+=m[p].addedLength;p+=1}if(!F)F=b.c?[b.v[0][0],b.v[0][1]]:[b.v[b._length-1][0],b.v[b._length-1][1]];return F},vectorOnPath:function c(y,g,b){if(y==1)y=this.v.c;else if(y==0)y=0.999;var I=this.pointOnPath(y,g),m=this.pointOnPath(y+0.001,g),k=m[0]-I[0],p=m[1]-I[1],v=Math.sqrt(Math.pow(k,2)+Math.pow(p,2));if(v===0)return[0,0];var S=b==="tangent"?[k/v,p/v]:[-p/v,k/v];return S},tangentOnPath:function c(y,g){return this.vectorOnPath(y,g,"tangent")},normalOnPath:function c(y,g){return this.vectorOnPath(y,g,"normal")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([h],l),extendPrototype([h],u),u.prototype.getValueAtTime=s,u.prototype.initiateExpression=ExpressionManager.initiateExpression;var f=ShapePropertyFactory.getShapeProp;ShapePropertyFactory.getShapeProp=function(c,y,g,b,I){var m=f(c,y,g,b,I);if(m.propertyIndex=y.ix,m.lock=!1,g===3)expressionHelpers.searchExpressions(c,y.pt,m);else if(g===4)expressionHelpers.searchExpressions(c,y.ks,m);if(m.k)c.addDynamicProperty(m);return m}}function initialize$1(){addPropertyDecorator()}function addDecorator(){function a(){if(this.data.d.x)return this.calculateExpression=ExpressionManager.initiateExpression.bind(this)(this.elem,this.data.d,this),this.addEffect(this.getExpressionValue.bind(this)),!0;return null}TextProperty.prototype.getExpressionValue=function(i,e){var o=this.calculateExpression(e);if(i.t!==o){var r={};return this.copyData(r,i),r.t=o.toString(),r.__complete=!1,r}return i},TextProperty.prototype.searchProperty=function(){var i=this.searchKeyframes(),e=this.searchExpressions();return this.kf=i||e,this.kf},TextProperty.prototype.searchExpressions=a}function initialize(){addDecorator()}function SVGComposableEffect(){}SVGComposableEffect.prototype={createMergeNode:function a(i,e){var o=createNS("feMerge");o.setAttribute("result",i);var r,n;for(n=0;n<e.length;n+=1)r=createNS("feMergeNode"),r.setAttribute("in",e[n]),o.appendChild(r),o.appendChild(r);return o}};var linearFilterValue="0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0";function SVGTintFilter(a,i,e,o,r){this.filterManager=i;var n=createNS("feColorMatrix");n.setAttribute("type","matrix"),n.setAttribute("color-interpolation-filters","linearRGB"),n.setAttribute("values",linearFilterValue+" 1 0"),this.linearFilter=n,n.setAttribute("result",o+"_tint_1"),a.appendChild(n),n=createNS("feColorMatrix"),n.setAttribute("type","matrix"),n.setAttribute("color-interpolation-filters","sRGB"),n.setAttribute("values","1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"),n.setAttribute("result",o+"_tint_2"),a.appendChild(n),this.matrixFilter=n;var t=this.createMergeNode(o,[r,o+"_tint_1",o+"_tint_2"]);a.appendChild(t)}extendPrototype([SVGComposableEffect],SVGTintFilter),SVGTintFilter.prototype.renderFrame=function(a){if(a||this.filterManager._mdf){var i=this.filterManager.effectElements[0].p.v,e=this.filterManager.effectElements[1].p.v,o=this.filterManager.effectElements[2].p.v/100;this.linearFilter.setAttribute("values",linearFilterValue+" "+o+" 0"),this.matrixFilter.setAttribute("values",e[0]-i[0]+" 0 0 0 "+i[0]+" "+(e[1]-i[1])+" 0 0 0 "+i[1]+" "+(e[2]-i[2])+" 0 0 0 "+i[2]+" 0 0 0 1 0")}};function SVGFillFilter(a,i,e,o){this.filterManager=i;var r=createNS("feColorMatrix");r.setAttribute("type","matrix"),r.setAttribute("color-interpolation-filters","sRGB"),r.setAttribute("values","1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"),r.setAttribute("result",o),a.appendChild(r),this.matrixFilter=r}SVGFillFilter.prototype.renderFrame=function(a){if(a||this.filterManager._mdf){var i=this.filterManager.effectElements[2].p.v,e=this.filterManager.effectElements[6].p.v;this.matrixFilter.setAttribute("values","0 0 0 0 "+i[0]+" 0 0 0 0 "+i[1]+" 0 0 0 0 "+i[2]+" 0 0 0 "+e+" 0")}};function SVGStrokeEffect(a,i,e){this.initialized=!1,this.filterManager=i,this.elem=e,this.paths=[]}SVGStrokeEffect.prototype.initialize=function(){var a=this.elem.layerElement.children||this.elem.layerElement.childNodes,i,e,o,r;if(this.filterManager.effectElements[1].p.v===1)r=this.elem.maskManager.masksProperties.length,o=0;else o=this.filterManager.effectElements[0].p.v-1,r=o+1;e=createNS("g"),e.setAttribute("fill","none"),e.setAttribute("stroke-linecap","round"),e.setAttribute("stroke-dashoffset",1);for(o;o<r;o+=1)i=createNS("path"),e.appendChild(i),this.paths.push({p:i,m:o});if(this.filterManager.effectElements[10].p.v===3){var n=createNS("mask"),t=createElementID();n.setAttribute("id",t),n.setAttribute("mask-type","alpha"),n.appendChild(e),this.elem.globalData.defs.appendChild(n);var s=createNS("g");s.setAttribute("mask","url("+getLocationHref()+"#"+t+")");while(a[0])s.appendChild(a[0]);this.elem.layerElement.appendChild(s),this.masker=n,e.setAttribute("stroke","#fff")}else if(this.filterManager.effectElements[10].p.v===1||this.filterManager.effectElements[10].p.v===2){if(this.filterManager.effectElements[10].p.v===2){a=this.elem.layerElement.children||this.elem.layerElement.childNodes;while(a.length)this.elem.layerElement.removeChild(a[0])}this.elem.layerElement.appendChild(e),this.elem.layerElement.removeAttribute("mask"),e.setAttribute("stroke","#fff")}this.initialized=!0,this.pathMasker=e},SVGStrokeEffect.prototype.renderFrame=function(a){if(!this.initialized)this.initialize();var i,e=this.paths.length,o,r;for(i=0;i<e;i+=1)if(this.paths[i].m!==-1){if(o=this.elem.maskManager.viewData[this.paths[i].m],r=this.paths[i].p,a||this.filterManager._mdf||o.prop._mdf)r.setAttribute("d",o.lastPath);if(a||this.filterManager.effectElements[9].p._mdf||this.filterManager.effectElements[4].p._mdf||this.filterManager.effectElements[7].p._mdf||this.filterManager.effectElements[8].p._mdf||o.prop._mdf){var n;if(this.filterManager.effectElements[7].p.v!==0||this.filterManager.effectElements[8].p.v!==100){var t=Math.min(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v)*0.01,s=Math.max(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v)*0.01,l=r.getTotalLength();n="0 0 0 "+l*t+" ";var u=l*(s-t),h=1+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v*0.01,f=Math.floor(u/h),c;for(c=0;c<f;c+=1)n+="1 "+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v*0.01+" ";n+="0 "+l*10+" 0 0"}else n="1 "+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v*0.01;r.setAttribute("stroke-dasharray",n)}}if(a||this.filterManager.effectElements[4].p._mdf)this.pathMasker.setAttribute("stroke-width",this.filterManager.effectElements[4].p.v*2);if(a||this.filterManager.effectElements[6].p._mdf)this.pathMasker.setAttribute("opacity",this.filterManager.effectElements[6].p.v);if(this.filterManager.effectElements[10].p.v===1||this.filterManager.effectElements[10].p.v===2){if(a||this.filterManager.effectElements[3].p._mdf){var y=this.filterManager.effectElements[3].p.v;this.pathMasker.setAttribute("stroke","rgb("+bmFloor(y[0]*255)+","+bmFloor(y[1]*255)+","+bmFloor(y[2]*255)+")")}}};function SVGTritoneFilter(a,i,e,o){this.filterManager=i;var r=createNS("feColorMatrix");r.setAttribute("type","matrix"),r.setAttribute("color-interpolation-filters","linearRGB"),r.setAttribute("values","0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"),a.appendChild(r);var n=createNS("feComponentTransfer");n.setAttribute("color-interpolation-filters","sRGB"),n.setAttribute("result",o),this.matrixFilter=n;var t=createNS("feFuncR");t.setAttribute("type","table"),n.appendChild(t),this.feFuncR=t;var s=createNS("feFuncG");s.setAttribute("type","table"),n.appendChild(s),this.feFuncG=s;var l=createNS("feFuncB");l.setAttribute("type","table"),n.appendChild(l),this.feFuncB=l,a.appendChild(n)}SVGTritoneFilter.prototype.renderFrame=function(a){if(a||this.filterManager._mdf){var i=this.filterManager.effectElements[0].p.v,e=this.filterManager.effectElements[1].p.v,o=this.filterManager.effectElements[2].p.v,r=o[0]+" "+e[0]+" "+i[0],n=o[1]+" "+e[1]+" "+i[1],t=o[2]+" "+e[2]+" "+i[2];this.feFuncR.setAttribute("tableValues",r),this.feFuncG.setAttribute("tableValues",n),this.feFuncB.setAttribute("tableValues",t)}};function SVGProLevelsFilter(a,i,e,o){this.filterManager=i;var r=this.filterManager.effectElements,n=createNS("feComponentTransfer");if(r[10].p.k||r[10].p.v!==0||r[11].p.k||r[11].p.v!==1||r[12].p.k||r[12].p.v!==1||r[13].p.k||r[13].p.v!==0||r[14].p.k||r[14].p.v!==1)this.feFuncR=this.createFeFunc("feFuncR",n);if(r[17].p.k||r[17].p.v!==0||r[18].p.k||r[18].p.v!==1||r[19].p.k||r[19].p.v!==1||r[20].p.k||r[20].p.v!==0||r[21].p.k||r[21].p.v!==1)this.feFuncG=this.createFeFunc("feFuncG",n);if(r[24].p.k||r[24].p.v!==0||r[25].p.k||r[25].p.v!==1||r[26].p.k||r[26].p.v!==1||r[27].p.k||r[27].p.v!==0||r[28].p.k||r[28].p.v!==1)this.feFuncB=this.createFeFunc("feFuncB",n);if(r[31].p.k||r[31].p.v!==0||r[32].p.k||r[32].p.v!==1||r[33].p.k||r[33].p.v!==1||r[34].p.k||r[34].p.v!==0||r[35].p.k||r[35].p.v!==1)this.feFuncA=this.createFeFunc("feFuncA",n);if(this.feFuncR||this.feFuncG||this.feFuncB||this.feFuncA)n.setAttribute("color-interpolation-filters","sRGB"),a.appendChild(n);if(r[3].p.k||r[3].p.v!==0||r[4].p.k||r[4].p.v!==1||r[5].p.k||r[5].p.v!==1||r[6].p.k||r[6].p.v!==0||r[7].p.k||r[7].p.v!==1)n=createNS("feComponentTransfer"),n.setAttribute("color-interpolation-filters","sRGB"),n.setAttribute("result",o),a.appendChild(n),this.feFuncRComposed=this.createFeFunc("feFuncR",n),this.feFuncGComposed=this.createFeFunc("feFuncG",n),this.feFuncBComposed=this.createFeFunc("feFuncB",n)}SVGProLevelsFilter.prototype.createFeFunc=function(a,i){var e=createNS(a);return e.setAttribute("type","table"),i.appendChild(e),e},SVGProLevelsFilter.prototype.getTableValue=function(a,i,e,o,r){var n=0,t=256,s,l=Math.min(a,i),u=Math.max(a,i),h=Array.call(null,{length:t}),f,c=0,y=r-o,g=i-a;while(n<=256){if(s=n/256,s<=l)f=g<0?r:o;else if(s>=u)f=g<0?o:r;else f=o+y*Math.pow((s-a)/g,1/e);h[c]=f,c+=1,n+=256/(t-1)}return h.join(" ")},SVGProLevelsFilter.prototype.renderFrame=function(a){if(a||this.filterManager._mdf){var i,e=this.filterManager.effectElements;if(this.feFuncRComposed&&(a||e[3].p._mdf||e[4].p._mdf||e[5].p._mdf||e[6].p._mdf||e[7].p._mdf))i=this.getTableValue(e[3].p.v,e[4].p.v,e[5].p.v,e[6].p.v,e[7].p.v),this.feFuncRComposed.setAttribute("tableValues",i),this.feFuncGComposed.setAttribute("tableValues",i),this.feFuncBComposed.setAttribute("tableValues",i);if(this.feFuncR&&(a||e[10].p._mdf||e[11].p._mdf||e[12].p._mdf||e[13].p._mdf||e[14].p._mdf))i=this.getTableValue(e[10].p.v,e[11].p.v,e[12].p.v,e[13].p.v,e[14].p.v),this.feFuncR.setAttribute("tableValues",i);if(this.feFuncG&&(a||e[17].p._mdf||e[18].p._mdf||e[19].p._mdf||e[20].p._mdf||e[21].p._mdf))i=this.getTableValue(e[17].p.v,e[18].p.v,e[19].p.v,e[20].p.v,e[21].p.v),this.feFuncG.setAttribute("tableValues",i);if(this.feFuncB&&(a||e[24].p._mdf||e[25].p._mdf||e[26].p._mdf||e[27].p._mdf||e[28].p._mdf))i=this.getTableValue(e[24].p.v,e[25].p.v,e[26].p.v,e[27].p.v,e[28].p.v),this.feFuncB.setAttribute("tableValues",i);if(this.feFuncA&&(a||e[31].p._mdf||e[32].p._mdf||e[33].p._mdf||e[34].p._mdf||e[35].p._mdf))i=this.getTableValue(e[31].p.v,e[32].p.v,e[33].p.v,e[34].p.v,e[35].p.v),this.feFuncA.setAttribute("tableValues",i)}};function SVGDropShadowEffect(a,i,e,o,r){var n=i.container.globalData.renderConfig.filterSize,t=i.data.fs||n;a.setAttribute("x",t.x||n.x),a.setAttribute("y",t.y||n.y),a.setAttribute("width",t.width||n.width),a.setAttribute("height",t.height||n.height),this.filterManager=i;var s=createNS("feGaussianBlur");s.setAttribute("in","SourceAlpha"),s.setAttribute("result",o+"_drop_shadow_1"),s.setAttribute("stdDeviation","0"),this.feGaussianBlur=s,a.appendChild(s);var l=createNS("feOffset");l.setAttribute("dx","25"),l.setAttribute("dy","0"),l.setAttribute("in",o+"_drop_shadow_1"),l.setAttribute("result",o+"_drop_shadow_2"),this.feOffset=l,a.appendChild(l);var u=createNS("feFlood");u.setAttribute("flood-color","#00ff00"),u.setAttribute("flood-opacity","1"),u.setAttribute("result",o+"_drop_shadow_3"),this.feFlood=u,a.appendChild(u);var h=createNS("feComposite");h.setAttribute("in",o+"_drop_shadow_3"),h.setAttribute("in2",o+"_drop_shadow_2"),h.setAttribute("operator","in"),h.setAttribute("result",o+"_drop_shadow_4"),a.appendChild(h);var f=this.createMergeNode(o,[o+"_drop_shadow_4",r]);a.appendChild(f)}extendPrototype([SVGComposableEffect],SVGDropShadowEffect),SVGDropShadowEffect.prototype.renderFrame=function(a){if(a||this.filterManager._mdf){if(a||this.filterManager.effectElements[4].p._mdf)this.feGaussianBlur.setAttribute("stdDeviation",this.filterManager.effectElements[4].p.v/4);if(a||this.filterManager.effectElements[0].p._mdf){var i=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute("flood-color",rgbToHex(Math.round(i[0]*255),Math.round(i[1]*255),Math.round(i[2]*255)))}if(a||this.filterManager.effectElements[1].p._mdf)this.feFlood.setAttribute("flood-opacity",this.filterManager.effectElements[1].p.v/255);if(a||this.filterManager.effectElements[2].p._mdf||this.filterManager.effectElements[3].p._mdf){var e=this.filterManager.effectElements[3].p.v,o=(this.filterManager.effectElements[2].p.v-90)*degToRads,r=e*Math.cos(o),n=e*Math.sin(o);this.feOffset.setAttribute("dx",r),this.feOffset.setAttribute("dy",n)}}};var _svgMatteSymbols=[];function SVGMatte3Effect(a,i,e){this.initialized=!1,this.filterManager=i,this.filterElem=a,this.elem=e,e.matteElement=createNS("g"),e.matteElement.appendChild(e.layerElement),e.matteElement.appendChild(e.transformedElement),e.baseElement=e.matteElement}SVGMatte3Effect.prototype.findSymbol=function(a){var i=0,e=_svgMatteSymbols.length;while(i<e){if(_svgMatteSymbols[i]===a)return _svgMatteSymbols[i];i+=1}return null},SVGMatte3Effect.prototype.replaceInParent=function(a,i){var e=a.layerElement.parentNode;if(!e)return;var o=e.children,r=0,n=o.length;while(r<n){if(o[r]===a.layerElement)break;r+=1}var t;if(r<=n-2)t=o[r+1];var s=createNS("use");if(s.setAttribute("href","#"+i),t)e.insertBefore(s,t);else e.appendChild(s)},SVGMatte3Effect.prototype.setElementAsMask=function(a,i){if(!this.findSymbol(i)){var e=createElementID(),o=createNS("mask");o.setAttribute("id",i.layerId),o.setAttribute("mask-type","alpha"),_svgMatteSymbols.push(i);var r=a.globalData.defs;r.appendChild(o);var n=createNS("symbol");n.setAttribute("id",e),this.replaceInParent(i,e),n.appendChild(i.layerElement),r.appendChild(n);var t=createNS("use");t.setAttribute("href","#"+e),o.appendChild(t),i.data.hd=!1,i.show()}a.setMatte(i.layerId)},SVGMatte3Effect.prototype.initialize=function(){var a=this.filterManager.effectElements[0].p.v,i=this.elem.comp.elements,e=0,o=i.length;while(e<o){if(i[e]&&i[e].data.ind===a)this.setElementAsMask(this.elem,i[e]);e+=1}this.initialized=!0},SVGMatte3Effect.prototype.renderFrame=function(){if(!this.initialized)this.initialize()};function SVGGaussianBlurEffect(a,i,e,o){a.setAttribute("x","-100%"),a.setAttribute("y","-100%"),a.setAttribute("width","300%"),a.setAttribute("height","300%"),this.filterManager=i;var r=createNS("feGaussianBlur");r.setAttribute("result",o),a.appendChild(r),this.feGaussianBlur=r}SVGGaussianBlurEffect.prototype.renderFrame=function(a){if(a||this.filterManager._mdf){var i=0.3,e=this.filterManager.effectElements[0].p.v*i,o=this.filterManager.effectElements[1].p.v,r=o==3?0:e,n=o==2?0:e;this.feGaussianBlur.setAttribute("stdDeviation",r+" "+n);var t=this.filterManager.effectElements[2].p.v==1?"wrap":"duplicate";this.feGaussianBlur.setAttribute("edgeMode",t)}};function TransformEffect(){}TransformEffect.prototype.init=function(a){this.effectsManager=a,this.type=effectTypes.TRANSFORM_EFFECT,this.matrix=new Matrix,this.opacity=-1,this._mdf=!1,this._opMdf=!1},TransformEffect.prototype.renderFrame=function(a){if(this._opMdf=!1,this._mdf=!1,a||this.effectsManager._mdf){var i=this.effectsManager.effectElements,e=i[0].p.v,o=i[1].p.v,r=i[2].p.v===1,n=i[3].p.v,t=r?n:i[4].p.v,s=i[5].p.v,l=i[6].p.v,u=i[7].p.v;if(this.matrix.reset(),this.matrix.translate(-e[0],-e[1],e[2]),this.matrix.scale(t*0.01,n*0.01,1),this.matrix.rotate(-u*degToRads),this.matrix.skewFromAxis(-s*degToRads,(l+90)*degToRads),this.matrix.translate(o[0],o[1],0),this._mdf=!0,this.opacity!==i[8].p.v)this.opacity=i[8].p.v,this._opMdf=!0}};function SVGTransformEffect(a,i){this.init(i)}extendPrototype([TransformEffect],SVGTransformEffect);function CVTransformEffect(a){this.init(a)}return extendPrototype([TransformEffect],CVTransformEffect),registerRenderer("canvas",CanvasRenderer),registerRenderer("html",HybridRenderer),registerRenderer("svg",SVGRenderer),ShapeModifiers.registerModifier("tm",TrimModifier),ShapeModifiers.registerModifier("pb",PuckerAndBloatModifier),ShapeModifiers.registerModifier("rp",RepeaterModifier),ShapeModifiers.registerModifier("rd",RoundCornersModifier),ShapeModifiers.registerModifier("zz",ZigZagModifier),ShapeModifiers.registerModifier("op",OffsetPathModifier),setExpressionsPlugin(Expressions),setExpressionInterfaces(getInterface),initialize$1(),initialize(),registerEffect$1(20,SVGTintFilter,!0),registerEffect$1(21,SVGFillFilter,!0),registerEffect$1(22,SVGStrokeEffect,!1),registerEffect$1(23,SVGTritoneFilter,!0),registerEffect$1(24,SVGProLevelsFilter,!0),registerEffect$1(25,SVGDropShadowEffect,!0),registerEffect$1(28,SVGMatte3Effect,!1),registerEffect$1(29,SVGGaussianBlurEffect,!0),registerEffect$1(35,SVGTransformEffect,!1),registerEffect(35,CVTransformEffect),lottie})});class wi extends Event{constructor(a,i,e,o){super("context-request",{bubbles:!0,composed:!0}),this.context=a,this.contextTarget=i,this.callback=e,this.subscribe=o??!1}}function ni(a){return a}class ma{constructor(a,i,e,o){if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=(r,n)=>{this.unsubscribe&&(this.unsubscribe!==n&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=r,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(r,n)),this.unsubscribe=n},this.host=a,i.context!==void 0){let r=i;this.context=r.context,this.callback=r.callback,this.subscribe=r.subscribe??!1}else this.context=i,this.callback=e,this.subscribe=o??!1;this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}dispatchRequest(){this.host.dispatchEvent(new wi(this.context,this.host,this.t,this.subscribe))}}class Ne{get value(){return this.o}set value(a){this.setValue(a)}setValue(a,i=!1){let e=i||!Object.is(a,this.o);this.o=a,e&&this.updateObservers()}constructor(a){this.subscriptions=new Map,this.updateObservers=()=>{for(let[i,{disposer:e}]of this.subscriptions)i(this.o,e)},a!==void 0&&(this.value=a)}addCallback(a,i,e){if(!e)return void a(this.value);this.subscriptions.has(a)||this.subscriptions.set(a,{disposer:()=>{this.subscriptions.delete(a)},consumerHost:i});let{disposer:o}=this.subscriptions.get(a);a(this.value,o)}clearCallbacks(){this.subscriptions.clear()}}class Lr extends Event{constructor(a,i){super("context-provider",{bubbles:!0,composed:!0}),this.context=a,this.contextTarget=i}}class yi extends Ne{constructor(a,i,e){super(i.context!==void 0?i.initialValue:e),this.onContextRequest=(o)=>{if(o.context!==this.context)return;let r=o.contextTarget??o.composedPath()[0];r!==this.host&&(o.stopPropagation(),this.addCallback(o.callback,r,o.subscribe))},this.onProviderRequest=(o)=>{if(o.context!==this.context)return;if((o.contextTarget??o.composedPath()[0])===this.host)return;let r=new Set;for(let[n,{consumerHost:t}]of this.subscriptions)r.has(n)||(r.add(n),t.dispatchEvent(new wi(this.context,t,n,!0)));o.stopPropagation()},this.host=a,i.context!==void 0?this.context=i.context:this.context=i,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener("context-request",this.onContextRequest),this.host.addEventListener("context-provider",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new Lr(this.context,this.host))}}function aa({context:a,subscribe:i}){return(e,o)=>{typeof o=="object"?o.addInitializer(function(){new ma(this,{context:a,callback:(r)=>{e.set.call(this,r)},subscribe:i})}):e.constructor.addInitializer((r)=>{new ma(r,{context:a,callback:(n)=>{r[o]=n},subscribe:i})})}}var ce=globalThis,he=ce.ShadowRoot&&(ce.ShadyCSS===void 0||ce.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Xe=Symbol(),Pr=new WeakMap;class pe{constructor(a,i,e){if(this._$cssResult$=!0,e!==Xe)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=a,this.t=i}get styleSheet(){let a=this.o,i=this.t;if(he&&a===void 0){let e=i!==void 0&&i.length===1;e&&(a=Pr.get(i)),a===void 0&&((this.o=a=new CSSStyleSheet).replaceSync(this.cssText),e&&Pr.set(i,a))}return a}toString(){return this.cssText}}var Cr=(a)=>new pe(typeof a=="string"?a:a+"",void 0,Xe),Q=(a,...i)=>{let e=a.length===1?a[0]:i.reduce((o,r,n)=>o+((t)=>{if(t._$cssResult$===!0)return t.cssText;if(typeof t=="number")return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(r)+a[n+1],a[0]);return new pe(e,a,Xe)},Jr=(a,i)=>{if(he)a.adoptedStyleSheets=i.map((e)=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let e of i){let o=document.createElement("style"),r=ce.litNonce;r!==void 0&&o.setAttribute("nonce",r),o.textContent=e.cssText,a.appendChild(o)}},Te=he?(a)=>a:(a)=>a instanceof CSSStyleSheet?((i)=>{let e="";for(let o of i.cssRules)e+=o.cssText;return Cr(e)})(a):a;var{is:rs,defineProperty:ns,getOwnPropertyDescriptor:ts,getOwnPropertyNames:ss,getOwnPropertySymbols:ls,getPrototypeOf:ds}=Object,me=globalThis,Or=me.trustedTypes,us=Or?Or.emptyScript:"",cs=me.reactiveElementPolyfillSupport,Qi=(a,i)=>a,Yi={toAttribute(a,i){switch(i){case Boolean:a=a?us:null;break;case Object:case Array:a=a==null?a:JSON.stringify(a)}return a},fromAttribute(a,i){let e=a;switch(i){case Boolean:e=a!==null;break;case Number:e=a===null?null:Number(a);break;case Object:case Array:try{e=JSON.parse(a)}catch(o){e=null}}return e}},be=(a,i)=>!rs(a,i),$r={attribute:!0,type:String,converter:Yi,reflect:!1,useDefault:!1,hasChanged:be};Symbol.metadata??=Symbol("metadata"),me.litPropertyMetadata??=new WeakMap;class hi extends HTMLElement{static addInitializer(a){this._$Ei(),(this.l??=[]).push(a)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(a,i=$r){if(i.state&&(i.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(a)&&((i=Object.create(i)).wrapped=!0),this.elementProperties.set(a,i),!i.noAccessor){let e=Symbol(),o=this.getPropertyDescriptor(a,e,i);o!==void 0&&ns(this.prototype,a,o)}}static getPropertyDescriptor(a,i,e){let{get:o,set:r}=ts(this.prototype,a)??{get(){return this[i]},set(n){this[i]=n}};return{get:o,set(n){let t=o?.call(this);r?.call(this,n),this.requestUpdate(a,t,e)},configurable:!0,enumerable:!0}}static getPropertyOptions(a){return this.elementProperties.get(a)??$r}static _$Ei(){if(this.hasOwnProperty(Qi("elementProperties")))return;let a=ds(this);a.finalize(),a.l!==void 0&&(this.l=[...a.l]),this.elementProperties=new Map(a.elementProperties)}static finalize(){if(this.hasOwnProperty(Qi("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Qi("properties"))){let i=this.properties,e=[...ss(i),...ls(i)];for(let o of e)this.createProperty(o,i[o])}let a=this[Symbol.metadata];if(a!==null){let i=litPropertyMetadata.get(a);if(i!==void 0)for(let[e,o]of i)this.elementProperties.set(e,o)}this._$Eh=new Map;for(let[i,e]of this.elementProperties){let o=this._$Eu(i,e);o!==void 0&&this._$Eh.set(o,i)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(a){let i=[];if(Array.isArray(a)){let e=new Set(a.flat(1/0).reverse());for(let o of e)i.unshift(Te(o))}else a!==void 0&&i.push(Te(a));return i}static _$Eu(a,i){let e=i.attribute;return e===!1?void 0:typeof e=="string"?e:typeof a=="string"?a.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((a)=>this.enableUpdating=a),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((a)=>a(this))}addController(a){(this._$EO??=new Set).add(a),this.renderRoot!==void 0&&this.isConnected&&a.hostConnected?.()}removeController(a){this._$EO?.delete(a)}_$E_(){let a=new Map,i=this.constructor.elementProperties;for(let e of i.keys())this.hasOwnProperty(e)&&(a.set(e,this[e]),delete this[e]);a.size>0&&(this._$Ep=a)}createRenderRoot(){let a=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Jr(a,this.constructor.elementStyles),a}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((a)=>a.hostConnected?.())}enableUpdating(a){}disconnectedCallback(){this._$EO?.forEach((a)=>a.hostDisconnected?.())}attributeChangedCallback(a,i,e){this._$AK(a,e)}_$ET(a,i){let e=this.constructor.elementProperties.get(a),o=this.constructor._$Eu(a,e);if(o!==void 0&&e.reflect===!0){let r=(e.converter?.toAttribute!==void 0?e.converter:Yi).toAttribute(i,e.type);this._$Em=a,r==null?this.removeAttribute(o):this.setAttribute(o,r),this._$Em=null}}_$AK(a,i){let e=this.constructor,o=e._$Eh.get(a);if(o!==void 0&&this._$Em!==o){let r=e.getPropertyOptions(o),n=typeof r.converter=="function"?{fromAttribute:r.converter}:r.converter?.fromAttribute!==void 0?r.converter:Yi;this._$Em=o,this[o]=n.fromAttribute(i,r.type)??this._$Ej?.get(o)??null,this._$Em=null}}requestUpdate(a,i,e){if(a!==void 0){let o=this.constructor,r=this[a];if(e??=o.getPropertyOptions(a),!((e.hasChanged??be)(r,i)||e.useDefault&&e.reflect&&r===this._$Ej?.get(a)&&!this.hasAttribute(o._$Eu(a,e))))return;this.C(a,i,e)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(a,i,{useDefault:e,reflect:o,wrapped:r},n){e&&!(this._$Ej??=new Map).has(a)&&(this._$Ej.set(a,n??i??this[a]),r!==!0||n!==void 0)||(this._$AL.has(a)||(this.hasUpdated||e||(i=void 0),this._$AL.set(a,i)),o===!0&&this._$Em!==a&&(this._$Eq??=new Set).add(a))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(i){Promise.reject(i)}let a=this.scheduleUpdate();return a!=null&&await a,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[o,r]of this._$Ep)this[o]=r;this._$Ep=void 0}let e=this.constructor.elementProperties;if(e.size>0)for(let[o,r]of e){let{wrapped:n}=r,t=this[o];n!==!0||this._$AL.has(o)||t===void 0||this.C(o,void 0,r,t)}}let a=!1,i=this._$AL;try{a=this.shouldUpdate(i),a?(this.willUpdate(i),this._$EO?.forEach((e)=>e.hostUpdate?.()),this.update(i)):this._$EM()}catch(e){throw a=!1,this._$EM(),e}a&&this._$AE(i)}willUpdate(a){}_$AE(a){this._$EO?.forEach((i)=>i.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(a)),this.updated(a)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(a){return!0}update(a){this._$Eq&&=this._$Eq.forEach((i)=>this._$ET(i,this[i])),this._$EM()}updated(a){}firstUpdated(a){}}hi.elementStyles=[],hi.shadowRootOptions={mode:"open"},hi[Qi("elementProperties")]=new Map,hi[Qi("finalized")]=new Map,cs?.({ReactiveElement:hi}),(me.reactiveElementVersions??=[]).push("2.1.0");var Me=globalThis,ke=Me.trustedTypes,_r=ke?ke.createPolicy("lit-html",{createHTML:(a)=>a}):void 0;var ti=`lit$${Math.random().toFixed(9).slice(2)}$`,Ue="?"+ti,hs=`<${Ue}>`,Si=document,Xi=()=>Si.createComment(""),Ti=(a)=>a===null||typeof a!="object"&&typeof a!="function",Ae=Array.isArray,Mr=(a)=>Ae(a)||typeof a?.[Symbol.iterator]=="function";var Ni=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Qr=/-->/g,Yr=/>/g,zi=RegExp(`>|[
|
|
10
10
|
\f\r](?:([^\\s"'>=/]+)([
|
|
11
11
|
\f\r]*=[
|
|
12
12
|
\f\r]*(?:[^
|
|
13
|
-
\f\r"'\`<>=]|("|')|))|$)`,"g"),Nr=/'/g,Xr=/"/g,Ur=/^(?:script|style|textarea|title)$/i,Ge=(a)=>(i,...e)=>({_$litType$:a,strings:i,values:e}),q=Ge(1),oa=Ge(2),ld=Ge(3),za=Symbol.for("lit-noChange"),C=Symbol.for("lit-nothing"),Tr=new WeakMap,xi=Si.createTreeWalker(Si,129);function Ar(a,i){if(!Ae(a)||!a.hasOwnProperty("raw"))throw Error("invalid template strings array");return _r!==void 0?_r.createHTML(i):i}var Gr=(a,i)=>{let e=a.length-1,o=[],r,n=i===2?"<svg>":i===3?"<math>":"",t=Ni;for(let s=0;s<e;s++){let l=a[s],u,h,f=-1,c=0;for(;c<l.length&&(t.lastIndex=c,h=t.exec(l),h!==null);)c=t.lastIndex,t===Ni?h[1]==="!--"?t=Qr:h[1]!==void 0?t=Yr:h[2]!==void 0?(Ur.test(h[2])&&(r=RegExp("</"+h[2],"g")),t=zi):h[3]!==void 0&&(t=zi):t===zi?h[0]===">"?(t=r??Ni,f=-1):h[1]===void 0?f=-2:(f=t.lastIndex-h[2].length,u=h[1],t=h[3]===void 0?zi:h[3]==='"'?Xr:Nr):t===Xr||t===Nr?t=zi:t===Qr||t===Yr?t=Ni:(t=zi,r=void 0);let y=t===zi&&a[s+1].startsWith("/>")?" ":"";n+=t===Ni?l+hs:f>=0?(o.push(u),l.slice(0,f)+"$lit$"+l.slice(f)+ti+y):l+ti+(f===-2?s:y)}return[Ar(a,n+(a[e]||"<?>")+(i===2?"</svg>":i===3?"</math>":"")),o]};class Mi{constructor({strings:a,_$litType$:i},e){let o;this.parts=[];let r=0,n=0,t=a.length-1,s=this.parts,[l,u]=Gr(a,i);if(this.el=Mi.createElement(l,e),xi.currentNode=this.el.content,i===2||i===3){let h=this.el.content.firstChild;h.replaceWith(...h.childNodes)}for(;(o=xi.nextNode())!==null&&s.length<t;){if(o.nodeType===1){if(o.hasAttributes())for(let h of o.getAttributeNames())if(h.endsWith("$lit$")){let f=u[n++],c=o.getAttribute(h).split(ti),y=/([.?@])?(.*)/.exec(f);s.push({type:1,index:r,name:y[2],strings:c,ctor:y[1]==="."?Ee:y[1]==="?"?ao:y[1]==="@"?io:Pi}),o.removeAttribute(h)}else h.startsWith(ti)&&(s.push({type:6,index:r}),o.removeAttribute(h));if(Ur.test(o.tagName)){let h=o.textContent.split(ti),f=h.length-1;if(f>0){o.textContent=ve?ve.emptyScript:"";for(let c=0;c<f;c++)o.append(h[c],Xi()),xi.nextNode(),s.push({type:2,index:++r});o.append(h[f],Xi())}}}else if(o.nodeType===8)if(o.data===Ue)s.push({type:2,index:r});else{let h=-1;for(;(h=o.data.indexOf(ti,h+1))!==-1;)s.push({type:7,index:r}),h+=ti.length-1}r++}}static createElement(a,i){let e=Si.createElement("template");return e.innerHTML=a,e}}function Ii(a,i,e=a,o){if(i===za)return i;let r=o!==void 0?e._$Co?.[o]:e._$Cl,n=Ti(i)?void 0:i._$litDirective$;return r?.constructor!==n&&(r?._$AO?.(!1),n===void 0?r=void 0:(r=new n(a),r._$AT(a,e,o)),o!==void 0?(e._$Co??=[])[o]=r:e._$Cl=r),r!==void 0&&(i=Ii(a,r._$AS(a,i.values),r,o)),i}class De{constructor(a,i){this._$AV=[],this._$AN=void 0,this._$AD=a,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(a){let{el:{content:i},parts:e}=this._$AD,o=(a?.creationScope??Si).importNode(i,!0);xi.currentNode=o;let r=xi.nextNode(),n=0,t=0,s=e[0];for(;s!==void 0;){if(n===s.index){let l;s.type===2?l=new Vi(r,r.nextSibling,this,a):s.type===1?l=new s.ctor(r,s.name,s.strings,this,a):s.type===6&&(l=new eo(r,this,a)),this._$AV.push(l),s=e[++t]}n!==s?.index&&(r=xi.nextNode(),n++)}return xi.currentNode=Si,o}p(a){let i=0;for(let e of this._$AV)e!==void 0&&(e.strings!==void 0?(e._$AI(a,e,i),i+=e.strings.length-2):e._$AI(a[i])),i++}}class Vi{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(a,i,e,o){this.type=2,this._$AH=C,this._$AN=void 0,this._$AA=a,this._$AB=i,this._$AM=e,this.options=o,this._$Cv=o?.isConnected??!0}get parentNode(){let a=this._$AA.parentNode,i=this._$AM;return i!==void 0&&a?.nodeType===11&&(a=i.parentNode),a}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(a,i=this){a=Ii(this,a,i),Ti(a)?a===C||a==null||a===""?(this._$AH!==C&&this._$AR(),this._$AH=C):a!==this._$AH&&a!==za&&this._(a):a._$litType$!==void 0?this.$(a):a.nodeType!==void 0?this.T(a):Mr(a)?this.k(a):this._(a)}O(a){return this._$AA.parentNode.insertBefore(a,this._$AB)}T(a){this._$AH!==a&&(this._$AR(),this._$AH=this.O(a))}_(a){this._$AH!==C&&Ti(this._$AH)?this._$AA.nextSibling.data=a:this.T(Si.createTextNode(a)),this._$AH=a}$(a){let{values:i,_$litType$:e}=a,o=typeof e=="number"?this._$AC(a):(e.el===void 0&&(e.el=Mi.createElement(Ar(e.h,e.h[0]),this.options)),e);if(this._$AH?._$AD===o)this._$AH.p(i);else{let r=new De(o,this),n=r.u(this.options);r.p(i),this.T(n),this._$AH=r}}_$AC(a){let i=Tr.get(a.strings);return i===void 0&&Tr.set(a.strings,i=new Mi(a)),i}k(a){Ae(this._$AH)||(this._$AH=[],this._$AR());let i=this._$AH,e,o=0;for(let r of a)o===i.length?i.push(e=new Vi(this.O(Xi()),this.O(Xi()),this,this.options)):e=i[o],e._$AI(r),o++;o<i.length&&(this._$AR(e&&e._$AB.nextSibling,o),i.length=o)}_$AR(a=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);a&&a!==this._$AB;){let e=a.nextSibling;a.remove(),a=e}}setConnected(a){this._$AM===void 0&&(this._$Cv=a,this._$AP?.(a))}}class Pi{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(a,i,e,o,r){this.type=1,this._$AH=C,this._$AN=void 0,this.element=a,this.name=i,this._$AM=o,this.options=r,e.length>2||e[0]!==""||e[1]!==""?(this._$AH=Array(e.length-1).fill(new String),this.strings=e):this._$AH=C}_$AI(a,i=this,e,o){let r=this.strings,n=!1;if(r===void 0)a=Ii(this,a,i,0),n=!Ti(a)||a!==this._$AH&&a!==za,n&&(this._$AH=a);else{let t=a,s,l;for(a=r[0],s=0;s<r.length-1;s++)l=Ii(this,t[e+s],i,s),l===za&&(l=this._$AH[s]),n||=!Ti(l)||l!==this._$AH[s],l===C?a=C:a!==C&&(a+=(l??"")+r[s+1]),this._$AH[s]=l}n&&!o&&this.j(a)}j(a){a===C?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,a??"")}}class Ee extends Pi{constructor(){super(...arguments),this.type=3}j(a){this.element[this.name]=a===C?void 0:a}}class ao extends Pi{constructor(){super(...arguments),this.type=4}j(a){this.element.toggleAttribute(this.name,!!a&&a!==C)}}class io extends Pi{constructor(a,i,e,o,r){super(a,i,e,o,r),this.type=5}_$AI(a,i=this){if((a=Ii(this,a,i,0)??C)===za)return;let e=this._$AH,o=a===C&&e!==C||a.capture!==e.capture||a.once!==e.once||a.passive!==e.passive,r=a!==C&&(e===C||o);o&&this.element.removeEventListener(this.name,this,e),r&&this.element.addEventListener(this.name,this,a),this._$AH=a}handleEvent(a){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,a):this._$AH.handleEvent(a)}}class eo{constructor(a,i,e){this.element=a,this.type=6,this._$AN=void 0,this._$AM=i,this.options=e}get _$AU(){return this._$AM._$AU}_$AI(a){Ii(this,a)}}var Dr={M:"$lit$",P:ti,A:Ue,C:1,L:Gr,R:De,D:Mr,V:Ii,I:Vi,H:Pi,N:ao,U:io,B:Ee,F:eo},ps=Me.litHtmlPolyfillSupport;ps?.(Mi,Vi),(Me.litHtmlVersions??=[]).push("3.3.0");var Er=(a,i,e)=>{let o=e?.renderBefore??i,r=o._$litPart$;if(r===void 0){let n=e?.renderBefore??null;o._$litPart$=r=new Vi(i.insertBefore(Xi(),n),n,void 0,e??{})}return r._$AI(a),r};var oo=globalThis;class wa extends hi{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let a=super.createRenderRoot();return this.renderOptions.renderBefore??=a.firstChild,a}update(a){let i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(a),this._$Do=Er(i,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return za}}wa._$litElement$=!0,wa.finalized=!0,oo.litElementHydrateSupport?.({LitElement:wa});var ms=oo.litElementPolyfillSupport;ms?.({LitElement:wa});(oo.litElementVersions??=[]).push("4.2.0");var J=(a)=>(i,e)=>{e!==void 0?e.addInitializer(()=>{customElements.define(a,i)}):customElements.define(a,i)};var bs={attribute:!0,type:String,converter:Yi,reflect:!1,hasChanged:be},vs=(a=bs,i,e)=>{let{kind:o,metadata:r}=e,n=globalThis.litPropertyMetadata.get(r);if(n===void 0&&globalThis.litPropertyMetadata.set(r,n=new Map),o==="setter"&&((a=Object.create(a)).wrapped=!0),n.set(e.name,a),o==="accessor"){let{name:t}=e;return{set(s){let l=i.get.call(this);i.set.call(this,s),this.requestUpdate(t,l,a)},init(s){return s!==void 0&&this.C(t,void 0,a,s),s}}}if(o==="setter"){let{name:t}=e;return function(s){let l=this[t];i.call(this,s),this.requestUpdate(t,l,a)}}throw Error("Unsupported decorator location: "+o)};function z(a){return(i,e)=>typeof e=="object"?vs(a,i,e):((o,r,n)=>{let t=r.hasOwnProperty(n);return r.constructor.createProperty(n,o),t?Object.getOwnPropertyDescriptor(r,n):void 0})(a,i,e)}function P(a){return z({...a,state:!0,attribute:!1})}var ji=(a,i,e)=>(e.configurable=!0,e.enumerable=!0,Reflect.decorate&&typeof i!="object"&&Object.defineProperty(a,i,e),e);function ca(a,i){return(e,o,r)=>{let n=(t)=>t.renderRoot?.querySelector(a)??null;if(i){let{get:t,set:s}=typeof o=="object"?e:r??(()=>{let l=Symbol();return{get(){return this[l]},set(u){this[l]=u}}})();return ji(e,o,{get(){let l=t.call(this);return l===void 0&&(l=n(this),(l!==null||this.hasUpdated)&&s.call(this,l)),l}})}return ji(e,o,{get(){return n(this)}})}}class ro{canVibrate;constructor(a){a.addController(this),this.canVibrate="vibrate"in navigator}trigger(a=10){if(!this.canVibrate)return;try{navigator.vibrate(a)}catch{}}click(){this.trigger(50)}lightClick(){this.trigger(35)}}function an(a){let i=a.replace(/-/g,"").substring(0,12),e=parseInt(i,16);return new Date(e)}function en(a){return a.toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!0})}class no extends EventTarget{host;_historyData=[];_hasData=null;_isInitialized=!1;_hasNextPage=!1;_initialLoadSize=20;_hasLoadedMore=!1;_clientSeed=null;_hasLoadedClientSeed=!1;constructor(a){super();this.host=a,a.addController(this),setTimeout(()=>{this.preloadHistory(),this.loadClientSeed()},100)}get historyData(){return this._historyData}get hasData(){return this._hasData}get isInitialized(){return this._isInitialized}get hasNextPage(){return this._hasNextPage}get clientSeed(){return this._clientSeed}get hasLoadedClientSeed(){return this._hasLoadedClientSeed}notifyDataChanged(){this.dispatchEvent(new CustomEvent("history-data-changed",{detail:{historyData:this._historyData,hasNextPage:this._hasNextPage,hasData:this._hasData}}))}notifyClientSeedChanged(){this.dispatchEvent(new CustomEvent("client-seed-changed",{detail:{clientSeed:this._clientSeed}}))}async preloadHistory(){if(!this.host.gameData?.baseUrl||!this.host.gameData?.authToken)return;try{let{historyData:a,hasNextPage:i}=await this.fetchHistory(void 0,this._initialLoadSize);this._historyData=a,this._hasData=a.length>0,this._hasNextPage=i,this._isInitialized=!0,this._hasLoadedMore=!1,this.notifyDataChanged()}catch(a){console.error("Failed to preload history:",a),this._isInitialized=!0,this._hasData=null}}async fetchHistory(a,i=5){if(!this.host.gameData?.baseUrl||!this.host.gameData?.authToken)return{historyData:[],hasNextPage:!1};let e=new URL(`${this.host.gameData.baseUrl}/bet/my-bets`);if(e.searchParams.append("limit",i.toString()),a)e.searchParams.append("beforeId",a);let o=await fetch(e.toString(),{headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.host.gameData.authToken}`}});if(!o.ok)throw new Error(`HTTP error! status: ${o.status}`);let r=await o.json();return{historyData:r.results.map((t)=>({id:`${t.id.slice(0,3)}...${t.id.slice(-3)}`,fullId:t.id,timestamp:en(an(t.id)),currency:t.currency,bet:Number(t.amount),win:Number(t.payout)})),hasNextPage:!!r.nextCursor}}async refreshHistory(a=!1){try{let i=a&&this._hasLoadedMore?this._historyData.length:this._initialLoadSize,{historyData:e,hasNextPage:o}=await this.fetchHistory(void 0,i);if(this._historyData=e,this._hasData=e.length>0,this._hasNextPage=o,!a)this._hasLoadedMore=!1;this.notifyDataChanged()}catch(i){console.error("Failed to refresh history:",i)}}async loadMore(){if(!this._hasNextPage||this._historyData.length===0)return{historyData:[],hasNextPage:!1};let a=this._historyData[this._historyData.length-1],{historyData:i,hasNextPage:e}=await this.fetchHistory(a.fullId,this._initialLoadSize);return this._historyData=[...this._historyData,...i],this._hasNextPage=e,this._hasLoadedMore=!0,this.notifyDataChanged(),this.dispatchEvent(new CustomEvent("history-loaded-more")),{historyData:i,hasNextPage:e}}addNewBet(a){if(this._historyData.some((e)=>e.fullId===a.id))return;let i={id:`${a.id.slice(0,3)}...${a.id.slice(-3)}`,fullId:a.id,timestamp:en(an(a.id)),currency:a.currency,bet:Number(a.amount),win:Number(a.payout)};if(!this._hasLoadedMore&&this._historyData.length>=this._initialLoadSize)this._historyData=[i,...this._historyData.slice(0,this._initialLoadSize-1)],this._hasNextPage=!0;else this._historyData=[i,...this._historyData];this._hasData=!0,this.notifyDataChanged()}async loadClientSeed(){if(!this.host.gameData?.baseUrl||!this.host.gameData?.authToken||this._hasLoadedClientSeed)return;try{let a=await fetch(`${this.host.gameData.baseUrl}/provably-fair/my-info`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.host.gameData.authToken}`}});if(!a.ok)throw new Error(`HTTP error! status: ${a.status}`);let i=await a.json();this._clientSeed=i.clientSeed,this._hasLoadedClientSeed=!0,this.notifyClientSeedChanged()}catch(a){console.error("Failed to load client seed:",a)}}updateClientSeed(a){this._clientSeed=a,this.notifyClientSeedChanged()}}class to{host;muted=!1;audioCtx;buffer;spriteMap=null;constructor(a){this.host=a,a.addController(this);let i=window.AudioContext||window.webkitAudioContext;this.audioCtx=new i,fetch("https://assets.betorigami.com/sounds/sounds.mp3").then((e)=>{return e.arrayBuffer().then((o)=>{this.audioCtx.decodeAudioData(o,(r)=>{this.buffer=r})}).catch((o)=>{})}).catch(),fetch("https://assets.betorigami.com/sounds/sounds.json").then((e)=>e.json()).catch().then((e)=>{this.spriteMap=e.spritemap}).catch(),window.onclick=()=>{this.play("bet",!0),window.onclick=null}}async play(a,i,e=1,o,r=()=>{}){if(!this.buffer||!this.spriteMap)return;let n=this.audioCtx.createBufferSource();n.buffer=this.buffer;let t=this.spriteMap[a];try{if(this.audioCtx&&n){let s=this.audioCtx.createGain(),l=o??(this.host.gameData?.volume??100)/100,u=i??this.muted;return s.gain.value=u?0:Math.min(l,1),s.connect(this.audioCtx.destination),n.connect(s),n.playbackRate.value=e,n.start(0,t.start),setTimeout(()=>{n?.stop(),r()},1000*(t.end-t.start)),n}}catch(s){}}}var Za=2;var ta="USD";class Y extends wa{static componentStyles=[];emit(a,i){let e=new CustomEvent(a,{bubbles:!0,cancelable:!1,composed:!0,detail:{},...i});return this.dispatchEvent(e),e}}var iu=ni("language"),$="en";var Ws={ar:()=>Promise.resolve().then(() => sa(so(),1)),de:()=>Promise.resolve().then(() => sa(lo(),1)),en:()=>Promise.resolve().then(() => sa(uo(),1)),es:()=>Promise.resolve().then(() => sa(co(),1)),fi:()=>Promise.resolve().then(() => sa(ho(),1)),fr:()=>Promise.resolve().then(() => sa(po(),1)),hi:()=>Promise.resolve().then(() => sa(mo(),1)),id:()=>Promise.resolve().then(() => sa(bo(),1)),ja:()=>Promise.resolve().then(() => sa(vo(),1)),ko:()=>Promise.resolve().then(() => sa(ko(),1)),pl:()=>Promise.resolve().then(() => sa(go(),1)),pt:()=>Promise.resolve().then(() => sa(fo(),1)),ru:()=>Promise.resolve().then(() => sa(wo(),1)),tr:()=>Promise.resolve().then(() => sa(yo(),1)),vi:()=>Promise.resolve().then(() => sa(zo(),1)),zh:()=>Promise.resolve().then(() => sa(xo(),1))};class on{loadedLanguages=new Set;loadingPromises=new Map;loadedTranslations=new Map;async loadLanguage(a){if(this.loadedLanguages.has(a))return;if(this.loadingPromises.has(a))return this.loadingPromises.get(a);let i=this.loadLanguageModule(a);this.loadingPromises.set(a,i);try{await i,this.loadedLanguages.add(a)}finally{this.loadingPromises.delete(a)}}getTranslationData(a){return this.loadedTranslations.get(a)||null}isLanguageLoaded(a){return this.loadedLanguages.has(a)}getLoadedLanguages(){return Array.from(this.loadedLanguages)}async preloadLanguages(a){let i=a.map((e)=>this.loadLanguage(e).catch(()=>{}));await Promise.all(i)}clearAll(){this.loadedLanguages.clear(),this.loadingPromises.clear(),this.loadedTranslations.clear(),So()}async loadLanguageModule(a){try{let i=await Ws[a]();this.loadedTranslations.set(a,i.default),So()}catch(i){throw i}}}var Ui=new on;Ui.loadLanguage($).catch(()=>{});var nn=sa(so(),1),tn=sa(lo(),1),sn=sa(uo(),1),ln=sa(co(),1),dn=sa(ho(),1),un=sa(po(),1),cn=sa(mo(),1),hn=sa(bo(),1),pn=sa(vo(),1),mn=sa(ko(),1),bn=sa(go(),1),vn=sa(fo(),1),kn=sa(wo(),1),gn=sa(yo(),1),fn=sa(zo(),1),wn=sa(xo(),1);var Io={ar:nn.default,de:tn.default,en:sn.default,es:ln.default,fi:dn.default,fr:un.default,hi:cn.default,id:hn.default,ja:pn.default,ko:mn.default,pl:bn.default,pt:vn.default,ru:kn.default,tr:gn.default,vi:fn.default,zh:wn.default};function Bs(a){let i=Ui.getTranslationData(a);if(i)return i;return Io[a]||Io[$]}var Hu=ni(Symbol("translation"));class yn{cache=new Map;maxSize=1000;get(a){return this.cache.get(a)}set(a,i){if(this.cache.size>=this.maxSize)this.cache.clear();this.cache.set(a,i)}clear(){this.cache.clear()}size(){return this.cache.size}}var jo=new yn,rn=new Map;function Vs(a){let i=rn.get(a);if(!i)i=a.split("."),rn.set(a,i);return i}function zn(a,i,e){let o=Bs(i);try{let r=Vs(a),n=o;for(let t of r)if(n=n?.[t],n===void 0)break;if(typeof n==="string")return n;if(i!==$)return zn(a,$,e);return e||a}catch{return e||a}}function j(a,i=$,e){let o=e?`${a}:${i}:${e}`:`${a}:${i}`,r=jo.get(o);if(r!==void 0)return r;let n=zn(a,i,e);return jo.set(o,n),n}function So(){jo.clear()}var fa={betAmount:"0.00",updateBetAmount:()=>{},updateBalance:()=>{},currency:ta,currencyDecimals:2,showCurrencyAsText:!1,balance:0,baseUrl:"",authToken:"",publicKey:"",hotkeysOpenEnabled:!1,showMaxBetButton:!1,volume:100,instantBetEnabled:!1,mainWidth:0,updateMainWidth:()=>{},updateHotkeysOpenEnabled:()=>{},updateShowMaxBetButton:()=>{},updateVolume:()=>{},updateInstantBetEnabled:()=>{},language:$,autobetNumberOfBets:0,updateAutobetNumberOfBets:()=>{},soundController:void 0,historyController:void 0,hapticController:void 0,lobbyUrl:"https://betorigami.com",depositUrl:void 0,hasLoadedBalance:!1,maxPayout:null,minBet:null,maxBet:null,edge:2,footerPosition:"BELOW",logoUrl:null},T=ni(Symbol("game"));var Ps=20,Ls=1,Hi=1e6,xn=1e6,Cs=-7,Js=21,Os=!1,Ai="[big.js] ",qi=Ai+"Invalid ",ke=qi+"decimal places",$s=qi+"rounding mode",Sn=Ai+"Division by zero",ha={},Aa=void 0,_s=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;function In(){function a(i){var e=this;if(!(e instanceof a))return i===Aa&&arguments.length===0?In():new a(i);if(i instanceof a)e.s=i.s,e.e=i.e,e.c=i.c.slice();else{if(typeof i!=="string"){if(a.strict===!0&&typeof i!=="bigint")throw TypeError(qi+"value");i=i===0&&1/i<0?"-0":String(i)}Qs(e,i)}e.constructor=a}return a.prototype=ha,a.DP=Ps,a.RM=Ls,a.NE=Cs,a.PE=Js,a.strict=Os,a.roundDown=0,a.roundHalfUp=1,a.roundHalfEven=2,a.roundUp=3,a}function Qs(a,i){var e,o,r;if(!_s.test(i))throw Error(qi+"number");if(a.s=i.charAt(0)=="-"?(i=i.slice(1),-1):1,(e=i.indexOf("."))>-1)i=i.replace(".","");if((o=i.search(/e/i))>0){if(e<0)e=o;e+=+i.slice(o+1),i=i.substring(0,o)}else if(e<0)e=i.length;r=i.length;for(o=0;o<r&&i.charAt(o)=="0";)++o;if(o==r)a.c=[a.e=0];else{for(;r>0&&i.charAt(--r)=="0";);a.e=e-o-1,a.c=[];for(e=0;o<=r;)a.c[e++]=+i.charAt(o++)}return a}function Fi(a,i,e,o){var r=a.c;if(e===Aa)e=a.constructor.RM;if(e!==0&&e!==1&&e!==2&&e!==3)throw Error($s);if(i<1)if(o=e===3&&(o||!!r[0])||i===0&&(e===1&&r[0]>=5||e===2&&(r[0]>5||r[0]===5&&(o||r[1]!==Aa))),r.length=1,o)a.e=a.e-i+1,r[0]=1;else r[0]=a.e=0;else if(i<r.length){if(o=e===1&&r[i]>=5||e===2&&(r[i]>5||r[i]===5&&(o||r[i+1]!==Aa||r[i-1]&1))||e===3&&(o||!!r[0]),r.length=i,o){for(;++r[--i]>9;)if(r[i]=0,i===0){++a.e,r.unshift(1);break}}for(i=r.length;!r[--i];)r.pop()}return a}function Ki(a,i,e){var o=a.e,r=a.c.join(""),n=r.length;if(i)r=r.charAt(0)+(n>1?"."+r.slice(1):"")+(o<0?"e":"e+")+o;else if(o<0){for(;++o;)r="0"+r;r="0."+r}else if(o>0){if(++o>n)for(o-=n;o--;)r+="0";else if(o<n)r=r.slice(0,o)+"."+r.slice(o)}else if(n>1)r=r.charAt(0)+"."+r.slice(1);return a.s<0&&e?"-"+r:r}ha.abs=function(){var a=new this.constructor(this);return a.s=1,a};ha.cmp=function(a){var i,e=this,o=e.c,r=(a=new e.constructor(a)).c,n=e.s,t=a.s,s=e.e,l=a.e;if(!o[0]||!r[0])return!o[0]?!r[0]?0:-t:n;if(n!=t)return n;if(i=n<0,s!=l)return s>l^i?1:-1;t=(s=o.length)<(l=r.length)?s:l;for(n=-1;++n<t;)if(o[n]!=r[n])return o[n]>r[n]^i?1:-1;return s==l?0:s>l^i?1:-1};ha.div=function(a){var i=this,e=i.constructor,o=i.c,r=(a=new e(a)).c,n=i.s==a.s?1:-1,t=e.DP;if(t!==~~t||t<0||t>Hi)throw Error(ke);if(!r[0])throw Error(Sn);if(!o[0])return a.s=n,a.c=[a.e=0],a;var s,l,u,h,f,c=r.slice(),y=s=r.length,g=o.length,b=o.slice(0,s),I=b.length,m=a,v=m.c=[],p=0,k=t+(m.e=i.e-a.e)+1;m.s=n,n=k<0?0:k,c.unshift(0);for(;I++<s;)b.push(0);do{for(u=0;u<10;u++){if(s!=(I=b.length))h=s>I?1:-1;else for(f=-1,h=0;++f<s;)if(r[f]!=b[f]){h=r[f]>b[f]?1:-1;break}if(h<0){for(l=I==s?r:c;I;){if(b[--I]<l[I]){f=I;for(;f&&!b[--f];)b[f]=9;--b[f],b[I]+=10}b[I]-=l[I]}for(;!b[0];)b.shift()}else break}if(v[p++]=h?u:++u,b[0]&&h)b[I]=o[y]||0;else b=[o[y]]}while((y++<g||b[0]!==Aa)&&n--);if(!v[0]&&p!=1)v.shift(),m.e--,k--;if(p>k)Fi(m,k,e.RM,b[0]!==Aa);return m};ha.eq=function(a){return this.cmp(a)===0};ha.gt=function(a){return this.cmp(a)>0};ha.gte=function(a){return this.cmp(a)>-1};ha.lt=function(a){return this.cmp(a)<0};ha.lte=function(a){return this.cmp(a)<1};ha.minus=ha.sub=function(a){var i,e,o,r,n=this,t=n.constructor,s=n.s,l=(a=new t(a)).s;if(s!=l)return a.s=-l,n.plus(a);var u=n.c.slice(),h=n.e,f=a.c,c=a.e;if(!u[0]||!f[0]){if(f[0])a.s=-l;else if(u[0])a=new t(n);else a.s=1;return a}if(s=h-c){if(r=s<0)s=-s,o=u;else c=h,o=f;o.reverse();for(l=s;l--;)o.push(0);o.reverse()}else{e=((r=u.length<f.length)?u:f).length;for(s=l=0;l<e;l++)if(u[l]!=f[l]){r=u[l]<f[l];break}}if(r)o=u,u=f,f=o,a.s=-a.s;if((l=(e=f.length)-(i=u.length))>0)for(;l--;)u[i++]=0;for(l=i;e>s;){if(u[--e]<f[e]){for(i=e;i&&!u[--i];)u[i]=9;--u[i],u[e]+=10}u[e]-=f[e]}for(;u[--l]===0;)u.pop();for(;u[0]===0;)u.shift(),--c;if(!u[0])a.s=1,u=[c=0];return a.c=u,a.e=c,a};ha.mod=function(a){var i,e=this,o=e.constructor,r=e.s,n=(a=new o(a)).s;if(!a.c[0])throw Error(Sn);if(e.s=a.s=1,i=a.cmp(e)==1,e.s=r,a.s=n,i)return new o(e);return r=o.DP,n=o.RM,o.DP=o.RM=0,e=e.div(a),o.DP=r,o.RM=n,this.minus(e.times(a))};ha.neg=function(){var a=new this.constructor(this);return a.s=-a.s,a};ha.plus=ha.add=function(a){var i,e,o,r=this,n=r.constructor;if(a=new n(a),r.s!=a.s)return a.s=-a.s,r.minus(a);var{e:t,c:s}=r,l=a.e,u=a.c;if(!s[0]||!u[0]){if(!u[0])if(s[0])a=new n(r);else a.s=r.s;return a}if(s=s.slice(),i=t-l){if(i>0)l=t,o=u;else i=-i,o=s;o.reverse();for(;i--;)o.push(0);o.reverse()}if(s.length-u.length<0)o=u,u=s,s=o;i=u.length;for(e=0;i;s[i]%=10)e=(s[--i]=s[i]+u[i]+e)/10|0;if(e)s.unshift(e),++l;for(i=s.length;s[--i]===0;)s.pop();return a.c=s,a.e=l,a};ha.pow=function(a){var i=this,e=new i.constructor("1"),o=e,r=a<0;if(a!==~~a||a<-xn||a>xn)throw Error(qi+"exponent");if(r)a=-a;for(;;){if(a&1)o=o.times(i);if(a>>=1,!a)break;i=i.times(i)}return r?e.div(o):o};ha.prec=function(a,i){if(a!==~~a||a<1||a>Hi)throw Error(qi+"precision");return Fi(new this.constructor(this),a,i)};ha.round=function(a,i){if(a===Aa)a=0;else if(a!==~~a||a<-Hi||a>Hi)throw Error(ke);return Fi(new this.constructor(this),a+this.e+1,i)};ha.sqrt=function(){var a,i,e,o=this,r=o.constructor,n=o.s,t=o.e,s=new r("0.5");if(!o.c[0])return new r(o);if(n<0)throw Error(Ai+"No square root");if(n=Math.sqrt(+Ki(o,!0,!0)),n===0||n===1/0){if(i=o.c.join(""),!(i.length+t&1))i+="0";n=Math.sqrt(i),t=((t+1)/2|0)-(t<0||t&1),a=new r((n==1/0?"5e":(n=n.toExponential()).slice(0,n.indexOf("e")+1))+t)}else a=new r(n+"");t=a.e+(r.DP+=4);do e=a,a=s.times(e.plus(o.div(e)));while(e.c.slice(0,t).join("")!==a.c.slice(0,t).join(""));return Fi(a,(r.DP-=4)+a.e+1,r.RM)};ha.times=ha.mul=function(a){var i,e=this,o=e.constructor,r=e.c,n=(a=new o(a)).c,t=r.length,s=n.length,l=e.e,u=a.e;if(a.s=e.s==a.s?1:-1,!r[0]||!n[0])return a.c=[a.e=0],a;if(a.e=l+u,t<s)i=r,r=n,n=i,u=t,t=s,s=u;for(i=new Array(u=t+s);u--;)i[u]=0;for(l=s;l--;){s=0;for(u=t+l;u>l;)s=i[u]+n[l]*r[u-l-1]+s,i[u--]=s%10,s=s/10|0;i[u]=s}if(s)++a.e;else i.shift();for(l=i.length;!i[--l];)i.pop();return a.c=i,a};ha.toExponential=function(a,i){var e=this,o=e.c[0];if(a!==Aa){if(a!==~~a||a<0||a>Hi)throw Error(ke);e=Fi(new e.constructor(e),++a,i);for(;e.c.length<a;)e.c.push(0)}return Ki(e,!0,!!o)};ha.toFixed=function(a,i){var e=this,o=e.c[0];if(a!==Aa){if(a!==~~a||a<0||a>Hi)throw Error(ke);e=Fi(new e.constructor(e),a+e.e+1,i);for(a=a+e.e+1;e.c.length<a;)e.c.push(0)}return Ki(e,!1,!!o)};ha.toJSON=ha.toString=function(){var a=this,i=a.constructor;return Ki(a,a.e<=i.NE||a.e>=i.PE,!!a.c[0])};if(typeof Symbol!=="undefined")ha[Symbol.for("nodejs.util.inspect.custom")]=ha.toJSON;ha.toNumber=function(){var a=+Ki(this,!0,!0);if(this.constructor.strict===!0&&!this.eq(a.toString()))throw Error(Ai+"Imprecise conversion");return a};ha.toPrecision=function(a,i){var e=this,o=e.constructor,r=e.c[0];if(a!==Aa){if(a!==~~a||a<1||a>Hi)throw Error(qi+"precision");e=Fi(new o(e),a,i);for(;e.c.length<a;)e.c.push(0)}return Ki(e,a<=e.e||e.e<=o.NE||e.e>=o.PE,!!r)};ha.valueOf=function(){var a=this,i=a.constructor;if(i.strict===!0)throw Error(Ai+"valueOf disallowed");return Ki(a,a.e<=i.NE||a.e>=i.PE,!0)};var Ys=In(),W=Ys;class ge extends Y{constructor(){super(...arguments);this.currency=ta;this.showCurrencyAsText=!1;this.balance=fa.balance;this.currencyDecimals=fa.currencyDecimals;this.baseUrl=fa.baseUrl;this.authToken=fa.authToken;this.origamiGame="DICE";this.lobbyUrl=fa.lobbyUrl;this.depositUrl=fa.depositUrl;this.maxPayout=fa.maxPayout;this.minBet=fa.minBet;this.maxBet=fa.maxBet;this.edge=fa.edge;this.footerPosition=fa.footerPosition;this.logoUrl=null;this.betAmount=fa.betAmount;this.autobetNumberOfBets=fa.autobetNumberOfBets;this.hotkeysOpenEnabled=!1;this.showMaxBetButton=fa.showMaxBetButton;this.volume=fa.volume;this.instantBetEnabled=fa.instantBetEnabled;this.mainWidth=fa.mainWidth;this.publicKey=fa.publicKey;this.scale=1;this.language=fa.language}_soundController=new to(this);_historyController=new no(this);_hapticController=new ro(this);_resizeObserver=null;hasLoadedBalance=!1;_gameProvider=new yi(this,{context:T,initialValue:this.createGameContextValue()});connectedCallback(){super.connectedCallback(),this.updateProviderValue(),this.fetchBalance(),this.fetchPublicKey(),this.setupResizeObserver(),this.calculateScale()}async firstUpdated(a){super.firstUpdated(a),await this.updateComplete,this.updateBetAmount(W(this.minBet??0))}disconnectedCallback(){super.disconnectedCallback(),this.cleanupResizeObserver()}updated(a){if(super.updated(a),a.has("currency")||a.has("balance")||a.has("baseUrl")||a.has("showCurrencyAsText")||a.has("authToken")||a.has("hotkeysOpenEnabled")||a.has("volume")||a.has("instantBetEnabled")||a.has("showMaxBetButton")||a.has("mainWidth"))this.updateProviderValue()}get gameData(){return this._gameProvider.value}createGameContextValue(){return{betAmount:this.betAmount,updateBetAmount:this.updateBetAmount.bind(this),updateBalance:this.updateBalance.bind(this),currency:this.currency,showCurrencyAsText:this.showCurrencyAsText,currencyDecimals:this.currencyDecimals,lobbyUrl:this.lobbyUrl,depositUrl:this.depositUrl,maxPayout:this.maxPayout,minBet:this.minBet,maxBet:this.maxBet,edge:this.edge,balance:this.balance,hasLoadedBalance:this.hasLoadedBalance,baseUrl:this.baseUrl,authToken:this.authToken,publicKey:this.publicKey,autobetNumberOfBets:this.autobetNumberOfBets,hotkeysOpenEnabled:this.hotkeysOpenEnabled,showMaxBetButton:this.showMaxBetButton,volume:this.volume,instantBetEnabled:this.instantBetEnabled,soundController:this._soundController,historyController:this._historyController,hapticController:this._hapticController,updateHotkeysOpenEnabled:this.updateHotkeysOpenEnabled.bind(this),updateShowMaxBetButton:this.updateShowMaxBetButton.bind(this),updateVolume:this.updateVolume.bind(this),updateInstantBetEnabled:this.updateInstantBetEnabled.bind(this),updateAutobetNumberOfBets:this.updateAutobetNumberOfBets.bind(this),mainWidth:this.mainWidth,updateMainWidth:this.updateMainWidth.bind(this),language:this.language,footerPosition:this.footerPosition,logoUrl:this.logoUrl}}updateProviderValue(){this._gameProvider.setValue(this.createGameContextValue())}fetchBalance=async()=>{if(!this.authToken||!this.baseUrl){this.balance=1000,this.hasLoadedBalance=!0,this.updateProviderValue();return}try{let a=await fetch(`${this.baseUrl}/users/balance?currency=${this.currency}&origamiGame=${this.origamiGame}`,{headers:{Authorization:`Bearer ${this.authToken}`,"Content-Type":"application/json"}});if(!a.ok){console.error("Failed to fetch balance:",a.statusText);return}let i=await a.json();this.balance=W(i.balance).toNumber(),this.hasLoadedBalance=!0,this.updateProviderValue()}catch(a){console.error("Error fetching balance:",a)}};fetchPublicKey=async()=>{if(!this.authToken||!this.baseUrl)return;let a=await fetch(`${this.baseUrl}/provably-fair/public-key`);if(!a.ok){console.error("Failed to fetch public key:",a.statusText);return}let i=await a.json();this.publicKey=i.publicKey};updateHotkeysOpenEnabled(a){this.hotkeysOpenEnabled=a,this.updateProviderValue()}updateShowMaxBetButton(a){this.showMaxBetButton=a,this.updateProviderValue()}updateVolume(a){this.volume=a,this.updateProviderValue()}updateInstantBetEnabled(a){this.instantBetEnabled=a,this.updateProviderValue()}updateAutobetNumberOfBets(a){this.autobetNumberOfBets=a,this.updateProviderValue()}updateMainWidth(a){this.mainWidth=a,this.updateProviderValue()}updateBetAmount(a){if(a.lt(0)){this.betAmount="0";return}let i=a.toFixed(this.currencyDecimals);this.betAmount=i,this.updateProviderValue()}updateBalance(a){if(a.lt(0)){this.balance=0;return}this.balance=a.toNumber(),this.updateProviderValue()}_boundCalculateScale=this.calculateScale.bind(this);setupResizeObserver(){if(typeof ResizeObserver!=="undefined")this._resizeObserver=new ResizeObserver(()=>{this.calculateScale(),this.gameData.updateMainWidth(document.documentElement.clientWidth)}),this._resizeObserver.observe(document.body);else window.addEventListener("resize",this._boundCalculateScale)}cleanupResizeObserver(){if(this._resizeObserver)this._resizeObserver.disconnect(),this._resizeObserver=null;else window.removeEventListener("resize",this._boundCalculateScale)}calculateScale(){let a=document.documentElement.clientWidth,i=1200,e=a/1200;this.scale=e,this.requestUpdate()}render(){let a=(()=>{switch(this.origamiGame){case"DICE":return q`<origami-dice-game></origami-dice-game>`;case"KENO":return q`<origami-keno-game></origami-keno-game>`;case"MINES":return q`<origami-mines-game></origami-mines-game>`;case"LIMBO":return q`<origami-limbo-game></origami-limbo-game>`;default:this.origamiGame}})(),i=`
|
|
13
|
+
\f\r"'\`<>=]|("|')|))|$)`,"g"),Nr=/'/g,Xr=/"/g,Ur=/^(?:script|style|textarea|title)$/i,Ge=(a)=>(i,...e)=>({_$litType$:a,strings:i,values:e}),q=Ge(1),oa=Ge(2),ld=Ge(3),za=Symbol.for("lit-noChange"),C=Symbol.for("lit-nothing"),Tr=new WeakMap,xi=Si.createTreeWalker(Si,129);function Ar(a,i){if(!Ae(a)||!a.hasOwnProperty("raw"))throw Error("invalid template strings array");return _r!==void 0?_r.createHTML(i):i}var Gr=(a,i)=>{let e=a.length-1,o=[],r,n=i===2?"<svg>":i===3?"<math>":"",t=Ni;for(let s=0;s<e;s++){let l=a[s],u,h,f=-1,c=0;for(;c<l.length&&(t.lastIndex=c,h=t.exec(l),h!==null);)c=t.lastIndex,t===Ni?h[1]==="!--"?t=Qr:h[1]!==void 0?t=Yr:h[2]!==void 0?(Ur.test(h[2])&&(r=RegExp("</"+h[2],"g")),t=zi):h[3]!==void 0&&(t=zi):t===zi?h[0]===">"?(t=r??Ni,f=-1):h[1]===void 0?f=-2:(f=t.lastIndex-h[2].length,u=h[1],t=h[3]===void 0?zi:h[3]==='"'?Xr:Nr):t===Xr||t===Nr?t=zi:t===Qr||t===Yr?t=Ni:(t=zi,r=void 0);let y=t===zi&&a[s+1].startsWith("/>")?" ":"";n+=t===Ni?l+hs:f>=0?(o.push(u),l.slice(0,f)+"$lit$"+l.slice(f)+ti+y):l+ti+(f===-2?s:y)}return[Ar(a,n+(a[e]||"<?>")+(i===2?"</svg>":i===3?"</math>":"")),o]};class Mi{constructor({strings:a,_$litType$:i},e){let o;this.parts=[];let r=0,n=0,t=a.length-1,s=this.parts,[l,u]=Gr(a,i);if(this.el=Mi.createElement(l,e),xi.currentNode=this.el.content,i===2||i===3){let h=this.el.content.firstChild;h.replaceWith(...h.childNodes)}for(;(o=xi.nextNode())!==null&&s.length<t;){if(o.nodeType===1){if(o.hasAttributes())for(let h of o.getAttributeNames())if(h.endsWith("$lit$")){let f=u[n++],c=o.getAttribute(h).split(ti),y=/([.?@])?(.*)/.exec(f);s.push({type:1,index:r,name:y[2],strings:c,ctor:y[1]==="."?Ee:y[1]==="?"?ao:y[1]==="@"?io:Li}),o.removeAttribute(h)}else h.startsWith(ti)&&(s.push({type:6,index:r}),o.removeAttribute(h));if(Ur.test(o.tagName)){let h=o.textContent.split(ti),f=h.length-1;if(f>0){o.textContent=ke?ke.emptyScript:"";for(let c=0;c<f;c++)o.append(h[c],Xi()),xi.nextNode(),s.push({type:2,index:++r});o.append(h[f],Xi())}}}else if(o.nodeType===8)if(o.data===Ue)s.push({type:2,index:r});else{let h=-1;for(;(h=o.data.indexOf(ti,h+1))!==-1;)s.push({type:7,index:r}),h+=ti.length-1}r++}}static createElement(a,i){let e=Si.createElement("template");return e.innerHTML=a,e}}function Ii(a,i,e=a,o){if(i===za)return i;let r=o!==void 0?e._$Co?.[o]:e._$Cl,n=Ti(i)?void 0:i._$litDirective$;return r?.constructor!==n&&(r?._$AO?.(!1),n===void 0?r=void 0:(r=new n(a),r._$AT(a,e,o)),o!==void 0?(e._$Co??=[])[o]=r:e._$Cl=r),r!==void 0&&(i=Ii(a,r._$AS(a,i.values),r,o)),i}class De{constructor(a,i){this._$AV=[],this._$AN=void 0,this._$AD=a,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(a){let{el:{content:i},parts:e}=this._$AD,o=(a?.creationScope??Si).importNode(i,!0);xi.currentNode=o;let r=xi.nextNode(),n=0,t=0,s=e[0];for(;s!==void 0;){if(n===s.index){let l;s.type===2?l=new Vi(r,r.nextSibling,this,a):s.type===1?l=new s.ctor(r,s.name,s.strings,this,a):s.type===6&&(l=new eo(r,this,a)),this._$AV.push(l),s=e[++t]}n!==s?.index&&(r=xi.nextNode(),n++)}return xi.currentNode=Si,o}p(a){let i=0;for(let e of this._$AV)e!==void 0&&(e.strings!==void 0?(e._$AI(a,e,i),i+=e.strings.length-2):e._$AI(a[i])),i++}}class Vi{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(a,i,e,o){this.type=2,this._$AH=C,this._$AN=void 0,this._$AA=a,this._$AB=i,this._$AM=e,this.options=o,this._$Cv=o?.isConnected??!0}get parentNode(){let a=this._$AA.parentNode,i=this._$AM;return i!==void 0&&a?.nodeType===11&&(a=i.parentNode),a}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(a,i=this){a=Ii(this,a,i),Ti(a)?a===C||a==null||a===""?(this._$AH!==C&&this._$AR(),this._$AH=C):a!==this._$AH&&a!==za&&this._(a):a._$litType$!==void 0?this.$(a):a.nodeType!==void 0?this.T(a):Mr(a)?this.k(a):this._(a)}O(a){return this._$AA.parentNode.insertBefore(a,this._$AB)}T(a){this._$AH!==a&&(this._$AR(),this._$AH=this.O(a))}_(a){this._$AH!==C&&Ti(this._$AH)?this._$AA.nextSibling.data=a:this.T(Si.createTextNode(a)),this._$AH=a}$(a){let{values:i,_$litType$:e}=a,o=typeof e=="number"?this._$AC(a):(e.el===void 0&&(e.el=Mi.createElement(Ar(e.h,e.h[0]),this.options)),e);if(this._$AH?._$AD===o)this._$AH.p(i);else{let r=new De(o,this),n=r.u(this.options);r.p(i),this.T(n),this._$AH=r}}_$AC(a){let i=Tr.get(a.strings);return i===void 0&&Tr.set(a.strings,i=new Mi(a)),i}k(a){Ae(this._$AH)||(this._$AH=[],this._$AR());let i=this._$AH,e,o=0;for(let r of a)o===i.length?i.push(e=new Vi(this.O(Xi()),this.O(Xi()),this,this.options)):e=i[o],e._$AI(r),o++;o<i.length&&(this._$AR(e&&e._$AB.nextSibling,o),i.length=o)}_$AR(a=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);a&&a!==this._$AB;){let e=a.nextSibling;a.remove(),a=e}}setConnected(a){this._$AM===void 0&&(this._$Cv=a,this._$AP?.(a))}}class Li{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(a,i,e,o,r){this.type=1,this._$AH=C,this._$AN=void 0,this.element=a,this.name=i,this._$AM=o,this.options=r,e.length>2||e[0]!==""||e[1]!==""?(this._$AH=Array(e.length-1).fill(new String),this.strings=e):this._$AH=C}_$AI(a,i=this,e,o){let r=this.strings,n=!1;if(r===void 0)a=Ii(this,a,i,0),n=!Ti(a)||a!==this._$AH&&a!==za,n&&(this._$AH=a);else{let t=a,s,l;for(a=r[0],s=0;s<r.length-1;s++)l=Ii(this,t[e+s],i,s),l===za&&(l=this._$AH[s]),n||=!Ti(l)||l!==this._$AH[s],l===C?a=C:a!==C&&(a+=(l??"")+r[s+1]),this._$AH[s]=l}n&&!o&&this.j(a)}j(a){a===C?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,a??"")}}class Ee extends Li{constructor(){super(...arguments),this.type=3}j(a){this.element[this.name]=a===C?void 0:a}}class ao extends Li{constructor(){super(...arguments),this.type=4}j(a){this.element.toggleAttribute(this.name,!!a&&a!==C)}}class io extends Li{constructor(a,i,e,o,r){super(a,i,e,o,r),this.type=5}_$AI(a,i=this){if((a=Ii(this,a,i,0)??C)===za)return;let e=this._$AH,o=a===C&&e!==C||a.capture!==e.capture||a.once!==e.once||a.passive!==e.passive,r=a!==C&&(e===C||o);o&&this.element.removeEventListener(this.name,this,e),r&&this.element.addEventListener(this.name,this,a),this._$AH=a}handleEvent(a){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,a):this._$AH.handleEvent(a)}}class eo{constructor(a,i,e){this.element=a,this.type=6,this._$AN=void 0,this._$AM=i,this.options=e}get _$AU(){return this._$AM._$AU}_$AI(a){Ii(this,a)}}var Dr={M:"$lit$",P:ti,A:Ue,C:1,L:Gr,R:De,D:Mr,V:Ii,I:Vi,H:Li,N:ao,U:io,B:Ee,F:eo},ps=Me.litHtmlPolyfillSupport;ps?.(Mi,Vi),(Me.litHtmlVersions??=[]).push("3.3.0");var Er=(a,i,e)=>{let o=e?.renderBefore??i,r=o._$litPart$;if(r===void 0){let n=e?.renderBefore??null;o._$litPart$=r=new Vi(i.insertBefore(Xi(),n),n,void 0,e??{})}return r._$AI(a),r};var oo=globalThis;class wa extends hi{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let a=super.createRenderRoot();return this.renderOptions.renderBefore??=a.firstChild,a}update(a){let i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(a),this._$Do=Er(i,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return za}}wa._$litElement$=!0,wa.finalized=!0,oo.litElementHydrateSupport?.({LitElement:wa});var ms=oo.litElementPolyfillSupport;ms?.({LitElement:wa});(oo.litElementVersions??=[]).push("4.2.0");var J=(a)=>(i,e)=>{e!==void 0?e.addInitializer(()=>{customElements.define(a,i)}):customElements.define(a,i)};var bs={attribute:!0,type:String,converter:Yi,reflect:!1,hasChanged:be},ks=(a=bs,i,e)=>{let{kind:o,metadata:r}=e,n=globalThis.litPropertyMetadata.get(r);if(n===void 0&&globalThis.litPropertyMetadata.set(r,n=new Map),o==="setter"&&((a=Object.create(a)).wrapped=!0),n.set(e.name,a),o==="accessor"){let{name:t}=e;return{set(s){let l=i.get.call(this);i.set.call(this,s),this.requestUpdate(t,l,a)},init(s){return s!==void 0&&this.C(t,void 0,a,s),s}}}if(o==="setter"){let{name:t}=e;return function(s){let l=this[t];i.call(this,s),this.requestUpdate(t,l,a)}}throw Error("Unsupported decorator location: "+o)};function z(a){return(i,e)=>typeof e=="object"?ks(a,i,e):((o,r,n)=>{let t=r.hasOwnProperty(n);return r.constructor.createProperty(n,o),t?Object.getOwnPropertyDescriptor(r,n):void 0})(a,i,e)}function L(a){return z({...a,state:!0,attribute:!1})}var ji=(a,i,e)=>(e.configurable=!0,e.enumerable=!0,Reflect.decorate&&typeof i!="object"&&Object.defineProperty(a,i,e),e);function ca(a,i){return(e,o,r)=>{let n=(t)=>t.renderRoot?.querySelector(a)??null;if(i){let{get:t,set:s}=typeof o=="object"?e:r??(()=>{let l=Symbol();return{get(){return this[l]},set(u){this[l]=u}}})();return ji(e,o,{get(){let l=t.call(this);return l===void 0&&(l=n(this),(l!==null||this.hasUpdated)&&s.call(this,l)),l}})}return ji(e,o,{get(){return n(this)}})}}class ro{canVibrate;constructor(a){a.addController(this),this.canVibrate="vibrate"in navigator}trigger(a=10){if(!this.canVibrate)return;try{navigator.vibrate(a)}catch{}}click(){this.trigger(50)}lightClick(){this.trigger(35)}}function an(a){let i=a.replace(/-/g,"").substring(0,12),e=parseInt(i,16);return new Date(e)}function en(a){return a.toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!0})}class no extends EventTarget{host;_historyData=[];_hasData=null;_isInitialized=!1;_hasNextPage=!1;_initialLoadSize=20;_hasLoadedMore=!1;_clientSeed=null;_hasLoadedClientSeed=!1;constructor(a){super();this.host=a,a.addController(this),setTimeout(()=>{this.preloadHistory(),this.loadClientSeed()},100)}get historyData(){return this._historyData}get hasData(){return this._hasData}get isInitialized(){return this._isInitialized}get hasNextPage(){return this._hasNextPage}get clientSeed(){return this._clientSeed}get hasLoadedClientSeed(){return this._hasLoadedClientSeed}notifyDataChanged(){this.dispatchEvent(new CustomEvent("history-data-changed",{detail:{historyData:this._historyData,hasNextPage:this._hasNextPage,hasData:this._hasData}}))}notifyClientSeedChanged(){this.dispatchEvent(new CustomEvent("client-seed-changed",{detail:{clientSeed:this._clientSeed}}))}async preloadHistory(){if(!this.host.gameData?.baseUrl||!this.host.gameData?.authToken)return;try{let{historyData:a,hasNextPage:i}=await this.fetchHistory(void 0,this._initialLoadSize);this._historyData=a,this._hasData=a.length>0,this._hasNextPage=i,this._isInitialized=!0,this._hasLoadedMore=!1,this.notifyDataChanged()}catch(a){console.error("Failed to preload history:",a),this._isInitialized=!0,this._hasData=null}}async fetchHistory(a,i=5){if(!this.host.gameData?.baseUrl||!this.host.gameData?.authToken)return{historyData:[],hasNextPage:!1};let e=new URL(`${this.host.gameData.baseUrl}/bet/my-bets`);if(e.searchParams.append("limit",i.toString()),a)e.searchParams.append("beforeId",a);let o=await fetch(e.toString(),{headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.host.gameData.authToken}`}});if(!o.ok)throw new Error(`HTTP error! status: ${o.status}`);let r=await o.json();return{historyData:r.results.map((t)=>({id:`${t.id.slice(0,3)}...${t.id.slice(-3)}`,fullId:t.id,timestamp:en(an(t.id)),currency:t.currency,bet:Number(t.amount),win:Number(t.payout)})),hasNextPage:!!r.nextCursor}}async refreshHistory(a=!1){try{let i=a&&this._hasLoadedMore?this._historyData.length:this._initialLoadSize,{historyData:e,hasNextPage:o}=await this.fetchHistory(void 0,i);if(this._historyData=e,this._hasData=e.length>0,this._hasNextPage=o,!a)this._hasLoadedMore=!1;this.notifyDataChanged()}catch(i){console.error("Failed to refresh history:",i)}}async loadMore(){if(!this._hasNextPage||this._historyData.length===0)return{historyData:[],hasNextPage:!1};let a=this._historyData[this._historyData.length-1],{historyData:i,hasNextPage:e}=await this.fetchHistory(a.fullId,this._initialLoadSize);return this._historyData=[...this._historyData,...i],this._hasNextPage=e,this._hasLoadedMore=!0,this.notifyDataChanged(),this.dispatchEvent(new CustomEvent("history-loaded-more")),{historyData:i,hasNextPage:e}}addNewBet(a){if(this._historyData.some((e)=>e.fullId===a.id))return;let i={id:`${a.id.slice(0,3)}...${a.id.slice(-3)}`,fullId:a.id,timestamp:en(an(a.id)),currency:a.currency,bet:Number(a.amount),win:Number(a.payout)};if(!this._hasLoadedMore&&this._historyData.length>=this._initialLoadSize)this._historyData=[i,...this._historyData.slice(0,this._initialLoadSize-1)],this._hasNextPage=!0;else this._historyData=[i,...this._historyData];this._hasData=!0,this.notifyDataChanged()}async loadClientSeed(){if(!this.host.gameData?.baseUrl||!this.host.gameData?.authToken||this._hasLoadedClientSeed)return;try{let a=await fetch(`${this.host.gameData.baseUrl}/provably-fair/my-info`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.host.gameData.authToken}`}});if(!a.ok)throw new Error(`HTTP error! status: ${a.status}`);let i=await a.json();this._clientSeed=i.clientSeed,this._hasLoadedClientSeed=!0,this.notifyClientSeedChanged()}catch(a){console.error("Failed to load client seed:",a)}}updateClientSeed(a){this._clientSeed=a,this.notifyClientSeedChanged()}}class to{host;muted=!1;audioCtx;buffer;spriteMap=null;constructor(a){this.host=a,a.addController(this);let i=window.AudioContext||window.webkitAudioContext;this.audioCtx=new i,fetch("https://assets.betorigami.com/sounds/sounds.mp3").then((e)=>{return e.arrayBuffer().then((o)=>{this.audioCtx.decodeAudioData(o,(r)=>{this.buffer=r})}).catch((o)=>{})}).catch(),fetch("https://assets.betorigami.com/sounds/sounds.json").then((e)=>e.json()).catch().then((e)=>{this.spriteMap=e.spritemap}).catch(),window.onclick=()=>{this.play("bet",!0),window.onclick=null}}async play(a,i,e=1,o,r=()=>{}){if(!this.buffer||!this.spriteMap)return;let n=this.audioCtx.createBufferSource();n.buffer=this.buffer;let t=this.spriteMap[a];try{if(this.audioCtx&&n){let s=this.audioCtx.createGain(),l=o??(this.host.gameData?.volume??100)/100,u=i??this.muted;return s.gain.value=u?0:Math.min(l,1),s.connect(this.audioCtx.destination),n.connect(s),n.playbackRate.value=e,n.start(0,t.start),setTimeout(()=>{n?.stop(),r()},1000*(t.end-t.start)),n}}catch(s){}}}var Za=2;var ta="USD";class Y extends wa{static componentStyles=[];emit(a,i){let e=new CustomEvent(a,{bubbles:!0,cancelable:!1,composed:!0,detail:{},...i});return this.dispatchEvent(e),e}}var iu=ni("language"),$="en";var Ws={ar:()=>Promise.resolve().then(() => sa(so(),1)),de:()=>Promise.resolve().then(() => sa(lo(),1)),en:()=>Promise.resolve().then(() => sa(uo(),1)),es:()=>Promise.resolve().then(() => sa(co(),1)),fi:()=>Promise.resolve().then(() => sa(ho(),1)),fr:()=>Promise.resolve().then(() => sa(po(),1)),hi:()=>Promise.resolve().then(() => sa(mo(),1)),id:()=>Promise.resolve().then(() => sa(bo(),1)),ja:()=>Promise.resolve().then(() => sa(ko(),1)),ko:()=>Promise.resolve().then(() => sa(vo(),1)),pl:()=>Promise.resolve().then(() => sa(go(),1)),pt:()=>Promise.resolve().then(() => sa(fo(),1)),ru:()=>Promise.resolve().then(() => sa(wo(),1)),tr:()=>Promise.resolve().then(() => sa(yo(),1)),vi:()=>Promise.resolve().then(() => sa(zo(),1)),zh:()=>Promise.resolve().then(() => sa(xo(),1))};class on{loadedLanguages=new Set;loadingPromises=new Map;loadedTranslations=new Map;async loadLanguage(a){if(this.loadedLanguages.has(a))return;if(this.loadingPromises.has(a))return this.loadingPromises.get(a);let i=this.loadLanguageModule(a);this.loadingPromises.set(a,i);try{await i,this.loadedLanguages.add(a)}finally{this.loadingPromises.delete(a)}}getTranslationData(a){return this.loadedTranslations.get(a)||null}isLanguageLoaded(a){return this.loadedLanguages.has(a)}getLoadedLanguages(){return Array.from(this.loadedLanguages)}async preloadLanguages(a){let i=a.map((e)=>this.loadLanguage(e).catch(()=>{}));await Promise.all(i)}clearAll(){this.loadedLanguages.clear(),this.loadingPromises.clear(),this.loadedTranslations.clear(),So()}async loadLanguageModule(a){try{let i=await Ws[a]();this.loadedTranslations.set(a,i.default),So()}catch(i){throw i}}}var Ui=new on;Ui.loadLanguage($).catch(()=>{});var nn=sa(so(),1),tn=sa(lo(),1),sn=sa(uo(),1),ln=sa(co(),1),dn=sa(ho(),1),un=sa(po(),1),cn=sa(mo(),1),hn=sa(bo(),1),pn=sa(ko(),1),mn=sa(vo(),1),bn=sa(go(),1),kn=sa(fo(),1),vn=sa(wo(),1),gn=sa(yo(),1),fn=sa(zo(),1),wn=sa(xo(),1);var Io={ar:nn.default,de:tn.default,en:sn.default,es:ln.default,fi:dn.default,fr:un.default,hi:cn.default,id:hn.default,ja:pn.default,ko:mn.default,pl:bn.default,pt:kn.default,ru:vn.default,tr:gn.default,vi:fn.default,zh:wn.default};function Bs(a){let i=Ui.getTranslationData(a);if(i)return i;return Io[a]||Io[$]}var Hu=ni(Symbol("translation"));class yn{cache=new Map;maxSize=1000;get(a){return this.cache.get(a)}set(a,i){if(this.cache.size>=this.maxSize)this.cache.clear();this.cache.set(a,i)}clear(){this.cache.clear()}size(){return this.cache.size}}var jo=new yn,rn=new Map;function Vs(a){let i=rn.get(a);if(!i)i=a.split("."),rn.set(a,i);return i}function zn(a,i,e){let o=Bs(i);try{let r=Vs(a),n=o;for(let t of r)if(n=n?.[t],n===void 0)break;if(typeof n==="string")return n;if(i!==$)return zn(a,$,e);return e||a}catch{return e||a}}function j(a,i=$,e){let o=e?`${a}:${i}:${e}`:`${a}:${i}`,r=jo.get(o);if(r!==void 0)return r;let n=zn(a,i,e);return jo.set(o,n),n}function So(){jo.clear()}var fa={betAmount:"0.00",updateBetAmount:()=>{},updateBalance:()=>{},currency:ta,currencyDecimals:2,showCurrencyAsText:!1,balance:0,baseUrl:"",authToken:"",publicKey:"",hotkeysOpenEnabled:!1,showMaxBetButton:!1,volume:100,instantBetEnabled:!1,mainWidth:0,updateMainWidth:()=>{},updateHotkeysOpenEnabled:()=>{},updateShowMaxBetButton:()=>{},updateVolume:()=>{},updateInstantBetEnabled:()=>{},language:$,autobetNumberOfBets:0,updateAutobetNumberOfBets:()=>{},soundController:void 0,historyController:void 0,hapticController:void 0,lobbyUrl:"https://betorigami.com",depositUrl:void 0,hasLoadedBalance:!1,maxPayout:null,minBet:null,maxBet:null,edge:2,footerPosition:"BELOW",logoUrl:null},T=ni(Symbol("game"));var Ls=20,Ps=1,Hi=1e6,xn=1e6,Cs=-7,Js=21,Os=!1,Ai="[big.js] ",qi=Ai+"Invalid ",ve=qi+"decimal places",$s=qi+"rounding mode",Sn=Ai+"Division by zero",ha={},Aa=void 0,_s=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;function In(){function a(i){var e=this;if(!(e instanceof a))return i===Aa&&arguments.length===0?In():new a(i);if(i instanceof a)e.s=i.s,e.e=i.e,e.c=i.c.slice();else{if(typeof i!=="string"){if(a.strict===!0&&typeof i!=="bigint")throw TypeError(qi+"value");i=i===0&&1/i<0?"-0":String(i)}Qs(e,i)}e.constructor=a}return a.prototype=ha,a.DP=Ls,a.RM=Ps,a.NE=Cs,a.PE=Js,a.strict=Os,a.roundDown=0,a.roundHalfUp=1,a.roundHalfEven=2,a.roundUp=3,a}function Qs(a,i){var e,o,r;if(!_s.test(i))throw Error(qi+"number");if(a.s=i.charAt(0)=="-"?(i=i.slice(1),-1):1,(e=i.indexOf("."))>-1)i=i.replace(".","");if((o=i.search(/e/i))>0){if(e<0)e=o;e+=+i.slice(o+1),i=i.substring(0,o)}else if(e<0)e=i.length;r=i.length;for(o=0;o<r&&i.charAt(o)=="0";)++o;if(o==r)a.c=[a.e=0];else{for(;r>0&&i.charAt(--r)=="0";);a.e=e-o-1,a.c=[];for(e=0;o<=r;)a.c[e++]=+i.charAt(o++)}return a}function Fi(a,i,e,o){var r=a.c;if(e===Aa)e=a.constructor.RM;if(e!==0&&e!==1&&e!==2&&e!==3)throw Error($s);if(i<1)if(o=e===3&&(o||!!r[0])||i===0&&(e===1&&r[0]>=5||e===2&&(r[0]>5||r[0]===5&&(o||r[1]!==Aa))),r.length=1,o)a.e=a.e-i+1,r[0]=1;else r[0]=a.e=0;else if(i<r.length){if(o=e===1&&r[i]>=5||e===2&&(r[i]>5||r[i]===5&&(o||r[i+1]!==Aa||r[i-1]&1))||e===3&&(o||!!r[0]),r.length=i,o){for(;++r[--i]>9;)if(r[i]=0,i===0){++a.e,r.unshift(1);break}}for(i=r.length;!r[--i];)r.pop()}return a}function Ki(a,i,e){var o=a.e,r=a.c.join(""),n=r.length;if(i)r=r.charAt(0)+(n>1?"."+r.slice(1):"")+(o<0?"e":"e+")+o;else if(o<0){for(;++o;)r="0"+r;r="0."+r}else if(o>0){if(++o>n)for(o-=n;o--;)r+="0";else if(o<n)r=r.slice(0,o)+"."+r.slice(o)}else if(n>1)r=r.charAt(0)+"."+r.slice(1);return a.s<0&&e?"-"+r:r}ha.abs=function(){var a=new this.constructor(this);return a.s=1,a};ha.cmp=function(a){var i,e=this,o=e.c,r=(a=new e.constructor(a)).c,n=e.s,t=a.s,s=e.e,l=a.e;if(!o[0]||!r[0])return!o[0]?!r[0]?0:-t:n;if(n!=t)return n;if(i=n<0,s!=l)return s>l^i?1:-1;t=(s=o.length)<(l=r.length)?s:l;for(n=-1;++n<t;)if(o[n]!=r[n])return o[n]>r[n]^i?1:-1;return s==l?0:s>l^i?1:-1};ha.div=function(a){var i=this,e=i.constructor,o=i.c,r=(a=new e(a)).c,n=i.s==a.s?1:-1,t=e.DP;if(t!==~~t||t<0||t>Hi)throw Error(ve);if(!r[0])throw Error(Sn);if(!o[0])return a.s=n,a.c=[a.e=0],a;var s,l,u,h,f,c=r.slice(),y=s=r.length,g=o.length,b=o.slice(0,s),I=b.length,m=a,k=m.c=[],p=0,v=t+(m.e=i.e-a.e)+1;m.s=n,n=v<0?0:v,c.unshift(0);for(;I++<s;)b.push(0);do{for(u=0;u<10;u++){if(s!=(I=b.length))h=s>I?1:-1;else for(f=-1,h=0;++f<s;)if(r[f]!=b[f]){h=r[f]>b[f]?1:-1;break}if(h<0){for(l=I==s?r:c;I;){if(b[--I]<l[I]){f=I;for(;f&&!b[--f];)b[f]=9;--b[f],b[I]+=10}b[I]-=l[I]}for(;!b[0];)b.shift()}else break}if(k[p++]=h?u:++u,b[0]&&h)b[I]=o[y]||0;else b=[o[y]]}while((y++<g||b[0]!==Aa)&&n--);if(!k[0]&&p!=1)k.shift(),m.e--,v--;if(p>v)Fi(m,v,e.RM,b[0]!==Aa);return m};ha.eq=function(a){return this.cmp(a)===0};ha.gt=function(a){return this.cmp(a)>0};ha.gte=function(a){return this.cmp(a)>-1};ha.lt=function(a){return this.cmp(a)<0};ha.lte=function(a){return this.cmp(a)<1};ha.minus=ha.sub=function(a){var i,e,o,r,n=this,t=n.constructor,s=n.s,l=(a=new t(a)).s;if(s!=l)return a.s=-l,n.plus(a);var u=n.c.slice(),h=n.e,f=a.c,c=a.e;if(!u[0]||!f[0]){if(f[0])a.s=-l;else if(u[0])a=new t(n);else a.s=1;return a}if(s=h-c){if(r=s<0)s=-s,o=u;else c=h,o=f;o.reverse();for(l=s;l--;)o.push(0);o.reverse()}else{e=((r=u.length<f.length)?u:f).length;for(s=l=0;l<e;l++)if(u[l]!=f[l]){r=u[l]<f[l];break}}if(r)o=u,u=f,f=o,a.s=-a.s;if((l=(e=f.length)-(i=u.length))>0)for(;l--;)u[i++]=0;for(l=i;e>s;){if(u[--e]<f[e]){for(i=e;i&&!u[--i];)u[i]=9;--u[i],u[e]+=10}u[e]-=f[e]}for(;u[--l]===0;)u.pop();for(;u[0]===0;)u.shift(),--c;if(!u[0])a.s=1,u=[c=0];return a.c=u,a.e=c,a};ha.mod=function(a){var i,e=this,o=e.constructor,r=e.s,n=(a=new o(a)).s;if(!a.c[0])throw Error(Sn);if(e.s=a.s=1,i=a.cmp(e)==1,e.s=r,a.s=n,i)return new o(e);return r=o.DP,n=o.RM,o.DP=o.RM=0,e=e.div(a),o.DP=r,o.RM=n,this.minus(e.times(a))};ha.neg=function(){var a=new this.constructor(this);return a.s=-a.s,a};ha.plus=ha.add=function(a){var i,e,o,r=this,n=r.constructor;if(a=new n(a),r.s!=a.s)return a.s=-a.s,r.minus(a);var{e:t,c:s}=r,l=a.e,u=a.c;if(!s[0]||!u[0]){if(!u[0])if(s[0])a=new n(r);else a.s=r.s;return a}if(s=s.slice(),i=t-l){if(i>0)l=t,o=u;else i=-i,o=s;o.reverse();for(;i--;)o.push(0);o.reverse()}if(s.length-u.length<0)o=u,u=s,s=o;i=u.length;for(e=0;i;s[i]%=10)e=(s[--i]=s[i]+u[i]+e)/10|0;if(e)s.unshift(e),++l;for(i=s.length;s[--i]===0;)s.pop();return a.c=s,a.e=l,a};ha.pow=function(a){var i=this,e=new i.constructor("1"),o=e,r=a<0;if(a!==~~a||a<-xn||a>xn)throw Error(qi+"exponent");if(r)a=-a;for(;;){if(a&1)o=o.times(i);if(a>>=1,!a)break;i=i.times(i)}return r?e.div(o):o};ha.prec=function(a,i){if(a!==~~a||a<1||a>Hi)throw Error(qi+"precision");return Fi(new this.constructor(this),a,i)};ha.round=function(a,i){if(a===Aa)a=0;else if(a!==~~a||a<-Hi||a>Hi)throw Error(ve);return Fi(new this.constructor(this),a+this.e+1,i)};ha.sqrt=function(){var a,i,e,o=this,r=o.constructor,n=o.s,t=o.e,s=new r("0.5");if(!o.c[0])return new r(o);if(n<0)throw Error(Ai+"No square root");if(n=Math.sqrt(+Ki(o,!0,!0)),n===0||n===1/0){if(i=o.c.join(""),!(i.length+t&1))i+="0";n=Math.sqrt(i),t=((t+1)/2|0)-(t<0||t&1),a=new r((n==1/0?"5e":(n=n.toExponential()).slice(0,n.indexOf("e")+1))+t)}else a=new r(n+"");t=a.e+(r.DP+=4);do e=a,a=s.times(e.plus(o.div(e)));while(e.c.slice(0,t).join("")!==a.c.slice(0,t).join(""));return Fi(a,(r.DP-=4)+a.e+1,r.RM)};ha.times=ha.mul=function(a){var i,e=this,o=e.constructor,r=e.c,n=(a=new o(a)).c,t=r.length,s=n.length,l=e.e,u=a.e;if(a.s=e.s==a.s?1:-1,!r[0]||!n[0])return a.c=[a.e=0],a;if(a.e=l+u,t<s)i=r,r=n,n=i,u=t,t=s,s=u;for(i=new Array(u=t+s);u--;)i[u]=0;for(l=s;l--;){s=0;for(u=t+l;u>l;)s=i[u]+n[l]*r[u-l-1]+s,i[u--]=s%10,s=s/10|0;i[u]=s}if(s)++a.e;else i.shift();for(l=i.length;!i[--l];)i.pop();return a.c=i,a};ha.toExponential=function(a,i){var e=this,o=e.c[0];if(a!==Aa){if(a!==~~a||a<0||a>Hi)throw Error(ve);e=Fi(new e.constructor(e),++a,i);for(;e.c.length<a;)e.c.push(0)}return Ki(e,!0,!!o)};ha.toFixed=function(a,i){var e=this,o=e.c[0];if(a!==Aa){if(a!==~~a||a<0||a>Hi)throw Error(ve);e=Fi(new e.constructor(e),a+e.e+1,i);for(a=a+e.e+1;e.c.length<a;)e.c.push(0)}return Ki(e,!1,!!o)};ha.toJSON=ha.toString=function(){var a=this,i=a.constructor;return Ki(a,a.e<=i.NE||a.e>=i.PE,!!a.c[0])};if(typeof Symbol!=="undefined")ha[Symbol.for("nodejs.util.inspect.custom")]=ha.toJSON;ha.toNumber=function(){var a=+Ki(this,!0,!0);if(this.constructor.strict===!0&&!this.eq(a.toString()))throw Error(Ai+"Imprecise conversion");return a};ha.toPrecision=function(a,i){var e=this,o=e.constructor,r=e.c[0];if(a!==Aa){if(a!==~~a||a<1||a>Hi)throw Error(qi+"precision");e=Fi(new o(e),a,i);for(;e.c.length<a;)e.c.push(0)}return Ki(e,a<=e.e||e.e<=o.NE||e.e>=o.PE,!!r)};ha.valueOf=function(){var a=this,i=a.constructor;if(i.strict===!0)throw Error(Ai+"valueOf disallowed");return Ki(a,a.e<=i.NE||a.e>=i.PE,!0)};var Ys=In(),W=Ys;class ge extends Y{constructor(){super(...arguments);this.currency=ta;this.showCurrencyAsText=!1;this.balance=fa.balance;this.currencyDecimals=fa.currencyDecimals;this.baseUrl=fa.baseUrl;this.authToken=fa.authToken;this.origamiGame="DICE";this.lobbyUrl=fa.lobbyUrl;this.depositUrl=fa.depositUrl;this.maxPayout=fa.maxPayout;this.minBet=fa.minBet;this.maxBet=fa.maxBet;this.edge=fa.edge;this.footerPosition=fa.footerPosition;this.logoUrl=null;this.betAmount=fa.betAmount;this.autobetNumberOfBets=fa.autobetNumberOfBets;this.hotkeysOpenEnabled=!1;this.showMaxBetButton=fa.showMaxBetButton;this.volume=fa.volume;this.instantBetEnabled=fa.instantBetEnabled;this.mainWidth=fa.mainWidth;this.publicKey=fa.publicKey;this.scale=1;this.language=fa.language}_soundController=new to(this);_historyController=new no(this);_hapticController=new ro(this);_resizeObserver=null;hasLoadedBalance=!1;_gameProvider=new yi(this,{context:T,initialValue:this.createGameContextValue()});connectedCallback(){super.connectedCallback(),this.updateProviderValue(),this.fetchBalance(),this.fetchPublicKey(),this.setupResizeObserver(),this.calculateScale()}async firstUpdated(a){super.firstUpdated(a),await this.updateComplete,this.updateBetAmount(W(this.minBet??0))}disconnectedCallback(){super.disconnectedCallback(),this.cleanupResizeObserver()}updated(a){if(super.updated(a),a.has("currency")||a.has("balance")||a.has("baseUrl")||a.has("showCurrencyAsText")||a.has("authToken")||a.has("hotkeysOpenEnabled")||a.has("volume")||a.has("instantBetEnabled")||a.has("showMaxBetButton")||a.has("mainWidth"))this.updateProviderValue()}get gameData(){return this._gameProvider.value}createGameContextValue(){return{betAmount:this.betAmount,updateBetAmount:this.updateBetAmount.bind(this),updateBalance:this.updateBalance.bind(this),currency:this.currency,showCurrencyAsText:this.showCurrencyAsText,currencyDecimals:this.currencyDecimals,lobbyUrl:this.lobbyUrl,depositUrl:this.depositUrl,maxPayout:this.maxPayout,minBet:this.minBet,maxBet:this.maxBet,edge:this.edge,balance:this.balance,hasLoadedBalance:this.hasLoadedBalance,baseUrl:this.baseUrl,authToken:this.authToken,publicKey:this.publicKey,autobetNumberOfBets:this.autobetNumberOfBets,hotkeysOpenEnabled:this.hotkeysOpenEnabled,showMaxBetButton:this.showMaxBetButton,volume:this.volume,instantBetEnabled:this.instantBetEnabled,soundController:this._soundController,historyController:this._historyController,hapticController:this._hapticController,updateHotkeysOpenEnabled:this.updateHotkeysOpenEnabled.bind(this),updateShowMaxBetButton:this.updateShowMaxBetButton.bind(this),updateVolume:this.updateVolume.bind(this),updateInstantBetEnabled:this.updateInstantBetEnabled.bind(this),updateAutobetNumberOfBets:this.updateAutobetNumberOfBets.bind(this),mainWidth:this.mainWidth,updateMainWidth:this.updateMainWidth.bind(this),language:this.language,footerPosition:this.footerPosition,logoUrl:this.logoUrl}}updateProviderValue(){this._gameProvider.setValue(this.createGameContextValue())}fetchBalance=async()=>{if(!this.authToken||!this.baseUrl){this.balance=1000,this.hasLoadedBalance=!0,this.updateProviderValue();return}try{let a=await fetch(`${this.baseUrl}/users/balance?currency=${this.currency}&origamiGame=${this.origamiGame}`,{headers:{Authorization:`Bearer ${this.authToken}`,"Content-Type":"application/json"}});if(!a.ok){console.error("Failed to fetch balance:",a.statusText);return}let i=await a.json();this.balance=W(i.balance).toNumber(),this.hasLoadedBalance=!0,this.updateProviderValue()}catch(a){console.error("Error fetching balance:",a)}};fetchPublicKey=async()=>{if(!this.authToken||!this.baseUrl)return;let a=await fetch(`${this.baseUrl}/provably-fair/public-key`);if(!a.ok){console.error("Failed to fetch public key:",a.statusText);return}let i=await a.json();this.publicKey=i.publicKey};updateHotkeysOpenEnabled(a){this.hotkeysOpenEnabled=a,this.updateProviderValue()}updateShowMaxBetButton(a){this.showMaxBetButton=a,this.updateProviderValue()}updateVolume(a){this.volume=a,this.updateProviderValue()}updateInstantBetEnabled(a){this.instantBetEnabled=a,this.updateProviderValue()}updateAutobetNumberOfBets(a){this.autobetNumberOfBets=a,this.updateProviderValue()}updateMainWidth(a){this.mainWidth=a,this.updateProviderValue()}updateBetAmount(a){if(a.lt(0)){this.betAmount="0";return}let i=a.toFixed(this.currencyDecimals);this.betAmount=i,this.updateProviderValue()}updateBalance(a){if(a.lt(0)){this.balance=0;return}this.balance=a.toNumber(),this.updateProviderValue()}_boundCalculateScale=this.calculateScale.bind(this);setupResizeObserver(){if(typeof ResizeObserver!=="undefined")this._resizeObserver=new ResizeObserver(()=>{this.calculateScale(),this.gameData.updateMainWidth(document.documentElement.clientWidth)}),this._resizeObserver.observe(document.body);else window.addEventListener("resize",this._boundCalculateScale)}cleanupResizeObserver(){if(this._resizeObserver)this._resizeObserver.disconnect(),this._resizeObserver=null;else window.removeEventListener("resize",this._boundCalculateScale)}calculateScale(){let a=document.documentElement.clientWidth,i=1200,e=a/1200;this.scale=e,this.requestUpdate()}render(){let a=(()=>{switch(this.origamiGame){case"DICE":return q`<origami-dice-game></origami-dice-game>`;case"KENO":return q`<origami-keno-game></origami-keno-game>`;case"MINES":return q`<origami-mines-game></origami-mines-game>`;case"LIMBO":return q`<origami-limbo-game></origami-limbo-game>`;default:this.origamiGame}})(),i=`
|
|
14
14
|
position: absolute;
|
|
15
15
|
top: 0;
|
|
16
16
|
left: 0;
|
|
@@ -20,7 +20,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
20
20
|
transform-origin: 0 0;
|
|
21
21
|
`;return q`
|
|
22
22
|
<div style=${this.gameData.mainWidth>=768?i:""}>${a}</div>
|
|
23
|
-
`}}d([z({type:String})],ge.prototype,"currency",void 0),d([z({type:Boolean})],ge.prototype,"showCurrencyAsText",void 0),d([z({type:Number})],ge.prototype,"balance",void 0),d([z({type:Number})],ge.prototype,"currencyDecimals",void 0),d([z({type:String})],ge.prototype,"baseUrl",void 0),d([z({type:String})],ge.prototype,"authToken",void 0),d([z({type:String})],ge.prototype,"origamiGame",void 0),d([z({type:String})],ge.prototype,"lobbyUrl",void 0),d([z({type:String})],ge.prototype,"depositUrl",void 0),d([z({type:Number})],ge.prototype,"maxPayout",void 0),d([z({type:Number})],ge.prototype,"minBet",void 0),d([z({type:Number})],ge.prototype,"maxBet",void 0),d([z({type:Number})],ge.prototype,"edge",void 0),d([z({type:String})],ge.prototype,"footerPosition",void 0),d([z({type:String})],ge.prototype,"logoUrl",void 0),d([
|
|
23
|
+
`}}d([z({type:String})],ge.prototype,"currency",void 0),d([z({type:Boolean})],ge.prototype,"showCurrencyAsText",void 0),d([z({type:Number})],ge.prototype,"balance",void 0),d([z({type:Number})],ge.prototype,"currencyDecimals",void 0),d([z({type:String})],ge.prototype,"baseUrl",void 0),d([z({type:String})],ge.prototype,"authToken",void 0),d([z({type:String})],ge.prototype,"origamiGame",void 0),d([z({type:String})],ge.prototype,"lobbyUrl",void 0),d([z({type:String})],ge.prototype,"depositUrl",void 0),d([z({type:Number})],ge.prototype,"maxPayout",void 0),d([z({type:Number})],ge.prototype,"minBet",void 0),d([z({type:Number})],ge.prototype,"maxBet",void 0),d([z({type:Number})],ge.prototype,"edge",void 0),d([z({type:String})],ge.prototype,"footerPosition",void 0),d([z({type:String})],ge.prototype,"logoUrl",void 0),d([L()],ge.prototype,"betAmount",void 0),d([L()],ge.prototype,"autobetNumberOfBets",void 0),d([L()],ge.prototype,"hotkeysOpenEnabled",void 0),d([L()],ge.prototype,"showMaxBetButton",void 0),d([L()],ge.prototype,"volume",void 0),d([L()],ge.prototype,"instantBetEnabled",void 0),d([L()],ge.prototype,"mainWidth",void 0),d([L()],ge.prototype,"publicKey",void 0),d([L()],ge.prototype,"scale",void 0),d([z()],ge.prototype,"language",void 0),ge=d([J("origami-game-provider-wrapper")],ge);var jn=Q`
|
|
24
24
|
:host {
|
|
25
25
|
display: flex;
|
|
26
26
|
flex-direction: column;
|
|
@@ -310,12 +310,12 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
310
310
|
<path fill="#006847" d="M15.957 8A7.958 7.958 0 1 1 .04 8a7.958 7.958 0 0 1 15.916 0"/>
|
|
311
311
|
<path fill="#fff" d="M5.5 10.807c.51.509 1.186.829 1.886.951V13h1.228v-1.232c1.22-.21 1.886-1.094 1.886-2.136 0-2.35-3.455-1.996-3.455-3.368 0-.51.449-.842 1.127-.842.585 0 1.222.28 1.629.644l.595-1.091c-.487-.442-1.134-.696-1.782-.768V3H7.386v1.288c-1.003.263-1.688 1.006-1.688 2.038 0 2.298 3.455 2.007 3.455 3.41 0 .5-.417.842-1.085.842-.668 0-1.399-.384-1.837-.78L5.5 10.807Z"/>
|
|
312
312
|
</svg>
|
|
313
|
-
`;var
|
|
313
|
+
`;var Ln=oa`
|
|
314
314
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none">
|
|
315
315
|
<path fill="#006847" d="M15.957 8A7.958 7.958 0 1 1 .04 8a7.958 7.958 0 0 1 15.916 0"/>
|
|
316
316
|
<path fill="#fff" d="m5.82 3.59 1.772 2.756h2.613V3.59h1.102v2.756h1.102v1.102h-1.102V8.55h1.102v1.103h-1.102v2.756H10.18L8.408 9.653H5.795v2.756H4.693V9.653H3.59V8.55h1.102V7.448H3.59V6.346h1.102V3.59H5.82Zm4.385 6.82v-.757h-.487l.487.757ZM9.009 8.55h1.196V7.448H8.3l.708 1.102Zm-3.214 0H7.7l-.708-1.102H5.795V8.55Zm0-2.204h.487l-.487-.758v.758Z"/>
|
|
317
317
|
</svg>
|
|
318
|
-
`;var
|
|
318
|
+
`;var Pn=oa`
|
|
319
319
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none">
|
|
320
320
|
<circle cx="8" cy="8" r="8" fill="#C8102E"/>
|
|
321
321
|
<path fill="#fff" d="M3.5 11.5v-7h1.511v3.086h.094L7.677 4.5h1.811L6.836 7.634 9.52 11.5H7.712L5.754 8.622l-.743.889V11.5H3.5ZM10.248 11.5V6.25h1.44v.916h.057c.097-.326.261-.572.492-.738.23-.169.495-.253.795-.253a2.295 2.295 0 0 1 .468.051v1.292a2.655 2.655 0 0 0-.628-.079c-.219 0-.414.047-.586.14-.17.092-.305.22-.405.383a1.088 1.088 0 0 0-.147.568v2.97h-1.486Z"/>
|
|
@@ -353,7 +353,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
353
353
|
</clipPath>
|
|
354
354
|
</defs>
|
|
355
355
|
</svg>
|
|
356
|
-
`;var Ca=(a)=>{switch(a){case"USD":return Ho;case"EUR":return Zn;case"ARS":return Hn;case"AUD":return qn;case"BRL":return Fn;case"CAD":return Kn;case"CNY":return Rn;case"INR":return Wn;case"JPY":return Bn;case"MXN":return Vn;case"NGN":return
|
|
356
|
+
`;var Ca=(a)=>{switch(a){case"USD":return Ho;case"EUR":return Zn;case"ARS":return Hn;case"AUD":return qn;case"BRL":return Fn;case"CAD":return Kn;case"CNY":return Rn;case"INR":return Wn;case"JPY":return Bn;case"MXN":return Vn;case"NGN":return Ln;case"NOK":return Pn;case"NZD":return Cn;case"RUB":return Jn;case"TRY":return On;case"PHP":return $n;default:return Ho}};var Ga=(a)=>{switch(a){case"USD":return"$";case"EUR":return"€";case"ARS":return"$";case"AUD":return"$";case"BRL":return"R$";case"CAD":return"$";case"CNY":return"¥";case"INR":return"₹";case"JPY":return"¥";case"MXN":return"$";case"NGN":return"₦";case"NOK":return"kr";case"NZD":return"$";case"RUB":return"₽";case"TRY":return"₺";case"PHP":return"₱";default:return"$"}};var si=(a)=>{switch(a){case"USD":return 2;case"EUR":return 2;case"ARS":return 2;case"AUD":return 2;case"BRL":return 2;case"CAD":return 2;case"CNY":return 2;case"INR":return 2;case"JPY":return 0;case"MXN":return 2;case"NGN":return 2;case"NOK":return 2;case"NZD":return 2;case"RUB":return 2;case"TRY":return 2;case"PHP":return 2;default:return 2}};var Da=(a)=>{switch(a){case"USD":return 0;case"EUR":return 1;case"ARS":return 0;case"AUD":return 0;case"BRL":return 0;case"CAD":return 0;case"CNY":return 0;case"INR":return 0;case"JPY":return 0;case"MXN":return 0;case"NGN":return 0;case"NOK":return 1;case"NZD":return 0;case"RUB":return 1;case"TRY":return 0;case"PHP":return 0;default:return 0}};class fe extends Y{constructor(){super(...arguments);this.baseUrl="https://betorigami.com";this.betId="";this._betDetails=null}static styles=jn;get _gameName(){return this._betDetails?.gameName||"Loading..."}get _roundId(){return this._betDetails?.id||"Loading..."}get _timestamp(){if(!this._betDetails||!this._betDetails.betActions[0])return"Loading...";return new Intl.DateTimeFormat("en-US",{year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"}).format(new Date(this._betDetails.betActions[0].createdAt))}get _currency(){if(!this._betDetails)return q`Loading...`;let{currency:a}=this._betDetails;return q`${a} ${Ca(a)}`}get _betAmount(){if(!this._betDetails)return q`Loading...`;let{amount:a,currency:i}=this._betDetails,e=Ga(i),o=Da(i),r=si(i),n=Ca(i);if(o===0)return q`${i}${e}${Number(a).toFixed(r)} ${n}`;return q`${Number(a).toFixed(r)} ${i}${e} ${n}`}get _multiplier(){if(!this._betDetails)return"Loading...";return`${Number(this._betDetails.multiplier).toFixed(2)}x`}get _payout(){if(!this._betDetails)return q`Loading...`;let{payout:a,currency:i}=this._betDetails,e=Ga(i),o=Da(i),r=si(i),n=Ca(i);if(o===0)return q`${i}${e}${Number(a).toFixed(r)} ${n}`;return q`${Number(a).toFixed(r)} ${i}${e} ${n}`}render(){return q`
|
|
357
357
|
<div class="header-outer">
|
|
358
358
|
<div class="header-middle">
|
|
359
359
|
<div class="header-inner">
|
|
@@ -432,7 +432,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
432
432
|
</div>
|
|
433
433
|
</div>
|
|
434
434
|
</div>
|
|
435
|
-
`}async connectedCallback(){super.connectedCallback(),await this.fetchBetDetails()}async handleShare(){let a={url:window.location.href};try{if(navigator.share)await navigator.share(a);else await navigator.clipboard.writeText(window.location.href),alert("Link copied to clipboard!")}catch(i){console.error("Error sharing:",i)}}fetchBetDetails=async()=>{if(!this.baseUrl||!this.betId)return;try{let a=await fetch(`${this.baseUrl}/bet/bet-info?betId=${this.betId}`,{headers:{"Content-Type":"application/json"}});if(!a.ok){console.error("Failed to fetch bet details:",a.statusText);return}this._betDetails=await a.json()}catch(a){console.error("Error fetching bet details:",a)}}}d([z({type:String})],fe.prototype,"baseUrl",void 0),d([z({type:String})],fe.prototype,"betId",void 0),d([
|
|
435
|
+
`}async connectedCallback(){super.connectedCallback(),await this.fetchBetDetails()}async handleShare(){let a={url:window.location.href};try{if(navigator.share)await navigator.share(a);else await navigator.clipboard.writeText(window.location.href),alert("Link copied to clipboard!")}catch(i){console.error("Error sharing:",i)}}fetchBetDetails=async()=>{if(!this.baseUrl||!this.betId)return;try{let a=await fetch(`${this.baseUrl}/bet/bet-info?betId=${this.betId}`,{headers:{"Content-Type":"application/json"}});if(!a.ok){console.error("Failed to fetch bet details:",a.statusText);return}this._betDetails=await a.json()}catch(a){console.error("Error fetching bet details:",a)}}}d([z({type:String})],fe.prototype,"baseUrl",void 0),d([z({type:String})],fe.prototype,"betId",void 0),d([L()],fe.prototype,"_betDetails",void 0),fe=d([J("origami-bet-details")],fe);var qa={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Na=(a)=>(...i)=>({_$litDirective$:a,values:i});class Xa{constructor(a){}get _$AU(){return this._$AM._$AU}_$AT(a,i,e){this._$Ct=a,this._$AM=i,this._$Ci=e}_$AS(a,i){return this.update(a,i)}update(a,i){return this.render(...i)}}var E=Na(class extends Xa{constructor(a){if(super(a),a.type!==qa.ATTRIBUTE||a.name!=="class"||a.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(a){return" "+Object.keys(a).filter((i)=>a[i]).join(" ")+" "}update(a,[i]){if(this.st===void 0){this.st=new Set,a.strings!==void 0&&(this.nt=new Set(a.strings.join(" ").split(/\s/).filter((o)=>o!=="")));for(let o in i)i[o]&&!this.nt?.has(o)&&this.st.add(o);return this.render(i)}let e=a.element.classList;for(let o of this.st)o in i||(e.remove(o),this.st.delete(o));for(let o in i){let r=!!i[o];r===this.st.has(o)||this.nt?.has(o)||(r?(e.add(o),this.st.add(o)):(e.remove(o),this.st.delete(o)))}return za}});var va=(a)=>a??C;var N=Q`
|
|
436
436
|
:host {
|
|
437
437
|
all: initial;
|
|
438
438
|
display: block;
|
|
@@ -608,7 +608,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
608
608
|
aria-disabled=${this.disabled?"true":"false"}
|
|
609
609
|
id="option1Button"
|
|
610
610
|
tabindex="0"
|
|
611
|
-
name=${
|
|
611
|
+
name=${va(this.name)}
|
|
612
612
|
>
|
|
613
613
|
${n}
|
|
614
614
|
</button>
|
|
@@ -622,11 +622,11 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
622
622
|
aria-disabled=${this.disabled?"true":"false"}
|
|
623
623
|
id="option2Button"
|
|
624
624
|
tabindex="0"
|
|
625
|
-
name=${
|
|
625
|
+
name=${va(this.name)}
|
|
626
626
|
>
|
|
627
627
|
${t}
|
|
628
628
|
</button>
|
|
629
|
-
`}}d([aa({context:T,subscribe:!0}),z({attribute:!1})],Ko.prototype,"gameContext",void 0),d([z({type:String})],Ko.prototype,"option1",void 0),d([z({type:String})],Ko.prototype,"option2",void 0),d([z({type:String})],Ko.prototype,"option1Value",void 0),d([z({type:String})],Ko.prototype,"option2Value",void 0),d([z({type:String,reflect:!0})],Ko.prototype,"value",void 0),d([z({type:Boolean,reflect:!0})],Ko.prototype,"disabled",void 0),d([z({type:String})],Ko.prototype,"name",void 0),d([z({type:String})],Ko.prototype,"class",void 0),d([z({type:Boolean})],Ko.prototype,"noRightBorderRadius",void 0),Ko=d([J("origami-toggle")],Ko);var{I:Ns}=Dr;var we=(a)=>a.strings===void 0,Qn=()=>document.createComment(""),
|
|
629
|
+
`}}d([aa({context:T,subscribe:!0}),z({attribute:!1})],Ko.prototype,"gameContext",void 0),d([z({type:String})],Ko.prototype,"option1",void 0),d([z({type:String})],Ko.prototype,"option2",void 0),d([z({type:String})],Ko.prototype,"option1Value",void 0),d([z({type:String})],Ko.prototype,"option2Value",void 0),d([z({type:String,reflect:!0})],Ko.prototype,"value",void 0),d([z({type:Boolean,reflect:!0})],Ko.prototype,"disabled",void 0),d([z({type:String})],Ko.prototype,"name",void 0),d([z({type:String})],Ko.prototype,"class",void 0),d([z({type:Boolean})],Ko.prototype,"noRightBorderRadius",void 0),Ko=d([J("origami-toggle")],Ko);var{I:Ns}=Dr;var we=(a)=>a.strings===void 0,Qn=()=>document.createComment(""),Pi=(a,i,e)=>{let o=a._$AA.parentNode,r=i===void 0?a._$AB:i._$AA;if(e===void 0){let n=o.insertBefore(Qn(),r),t=o.insertBefore(Qn(),r);e=new Ns(n,t,a,a.options)}else{let n=e._$AB.nextSibling,t=e._$AM,s=t!==a;if(s){let l;e._$AQ?.(a),e._$AM=a,e._$AP!==void 0&&(l=a._$AU)!==t._$AU&&e._$AP(l)}if(n!==r||s){let l=e._$AA;for(;l!==n;){let u=l.nextSibling;o.insertBefore(l,r),l=u}}}return e},pi=(a,i,e=a)=>(a._$AI(i,e),a),Xs={},ye=(a,i=Xs)=>a._$AH=i,Yn=(a)=>a._$AH,ze=(a)=>{a._$AP?.(!1,!0);let i=a._$AA,e=a._$AB.nextSibling;for(;i!==e;){let o=i.nextSibling;i.remove(),i=o}};var Gi=(a,i)=>{let e=a._$AN;if(e===void 0)return!1;for(let o of e)o._$AO?.(i,!1),Gi(o,i);return!0},xe=(a)=>{let i,e;do{if((i=a._$AM)===void 0)break;e=i._$AN,e.delete(a),a=i}while(e?.size===0)},Nn=(a)=>{for(let i;i=a._$AM;a=i){let e=i._$AN;if(e===void 0)i._$AN=e=new Set;else if(e.has(a))break;e.add(a),Us(i)}};function Ts(a){this._$AN!==void 0?(xe(this),this._$AM=a,Nn(this)):this._$AM=a}function Ms(a,i=!1,e=0){let o=this._$AH,r=this._$AN;if(r!==void 0&&r.size!==0)if(i)if(Array.isArray(o))for(let n=e;n<o.length;n++)Gi(o[n],!1),xe(o[n]);else o!=null&&(Gi(o,!1),xe(o));else Gi(this,a)}var Us=(a)=>{a.type==qa.CHILD&&(a._$AP??=Ms,a._$AQ??=Ts)};class Ro extends Xa{constructor(){super(...arguments),this._$AN=void 0}_$AT(a,i,e){super._$AT(a,i,e),Nn(this),this.isConnected=a._$AU}_$AO(a,i=!0){a!==this.isConnected&&(this.isConnected=a,a?this.reconnected?.():this.disconnected?.()),i&&(Gi(this,a),xe(this))}setValue(a){if(we(this._$Ct))this._$Ct._$AI(a,this);else{let i=[...this._$Ct._$AH];i[this._$Ci]=a,this._$Ct._$AI(i,this,0)}}disconnected(){}reconnected(){}}var Ri=()=>new Xn;class Xn{}var Zo=new WeakMap,Zi=Na(class extends Ro{render(a){return C}update(a,[i]){let e=i!==this.G;return e&&this.G!==void 0&&this.rt(void 0),(e||this.lt!==this.ct)&&(this.G=i,this.ht=a.options?.host,this.rt(this.ct=a.element)),C}rt(a){if(this.isConnected||(a=void 0),typeof this.G=="function"){let i=this.ht??globalThis,e=Zo.get(i);e===void 0&&(e=new WeakMap,Zo.set(i,e)),e.get(this.G)!==void 0&&this.G.call(this.ht,void 0),e.set(this.G,a),a!==void 0&&this.G.call(this.ht,a)}else this.G.value=a}get lt(){return typeof this.G=="function"?Zo.get(this.ht??globalThis)?.get(this.G):this.G?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});var Tn=Q`
|
|
630
630
|
:host {
|
|
631
631
|
display: inline-block;
|
|
632
632
|
position: relative;
|
|
@@ -1323,7 +1323,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
1323
1323
|
::slotted(origami-button-group) {
|
|
1324
1324
|
height: 100%;
|
|
1325
1325
|
}
|
|
1326
|
-
`;class
|
|
1326
|
+
`;class Lo extends Y{constructor(){super(...arguments);this.value="";this.label="";this.placeholder="";this.type="text";this.disabled=!1;this.rightText=null;this.min=null;this.max=null;this.step=null;this.addonButtonsPosition="right";this.name=null;this.autocomplete=null;this.required=!1;this.readonly=!1;this.pattern=null;this.validateOnInput=!1;this.tooltipFullWidth=!1;this.validationPattern=null;this.validationMessage=null;this.hideRightLabel=!1;this.clickable=!1;this.forceActiveBorder=!1;this.keepLabelEnabled=!1;this.handleBeforeInput=null;this.tooltipOffset=4;this.errorMessage=null;this._isIconRotating=!1;this._hasRightIcon=!1;this._iconRotationState=!1}static styles=[N,Gn];inputRef=Ri();inputId=`input-${Math.random().toString(36).substring(2,11)}`;errorId=`${this.inputId}-error`;handleSlotChange(){let a=this.shadowRoot?.querySelector('slot[name="right-icon"]');if(a){let i=a.assignedNodes({flatten:!0}).length>0;requestAnimationFrame(()=>{this._hasRightIcon=i})}}firstUpdated(){this.handleSlotChange()}handleInput(a){let i=a.target,e=i.value;this.emit("input-change",{detail:{value:e,target:i}})}handlePaste(a){if(this.type!=="number")return;let i=a.clipboardData;if(!i)return;let e=i.getData("text");if(e&&/[eE]/.test(e)){a.preventDefault();return}}handleClick(a){if(this.clickable){if(a.preventDefault(),a.stopPropagation(),window.getSelection()?.removeAllRanges(),this.emit("input-click"),this._hasRightIcon)this._iconRotationState=!this._iconRotationState,this._isIconRotating=!0}}handleAnimationEnd(){requestAnimationFrame(()=>{this._isIconRotating=!1})}handleFocus(){if(!this.readonly&&!this.disabled)this.inputRef.value?.select();this.emit("input-focus")}handleBlur(){this.emit("input-blur",{detail:{value:this.value}})}render(){let a=!this.hideRightLabel&&this.type==="number"?`${Number(this.value||0).toFixed(4)} ${this.rightText}`:void 0,i={"clickable-wrapper":this.clickable,"disable-user-select":this.readonly||this.disabled},e={"input-field":!0,error:!!this.errorMessage,"clickable-input":this.clickable,active:this.forceActiveBorder},o={"input-inner":!0,"has-right-icon":this._hasRightIcon},r={"input-label":!0,disabled:this.disabled&&!this.keepLabelEnabled};return q`
|
|
1327
1327
|
<div
|
|
1328
1328
|
class=${E(i)}
|
|
1329
1329
|
>
|
|
@@ -1364,25 +1364,24 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
1364
1364
|
@input=${this.handleInput}
|
|
1365
1365
|
@paste=${this.handlePaste}
|
|
1366
1366
|
@beforeinput=${this.handleBeforeInput}
|
|
1367
|
-
inputmode=${this.inputMode}
|
|
1368
1367
|
@focus=${this.handleFocus}
|
|
1369
1368
|
@focusout=${this.handleBlur}
|
|
1370
1369
|
@click=${this.clickable?(n)=>{this.handleClick(n)}:void 0}
|
|
1371
|
-
placeholder=${
|
|
1370
|
+
placeholder=${va(this.placeholder||void 0)}
|
|
1372
1371
|
class=${E(e)}
|
|
1373
1372
|
?disabled=${this.disabled}
|
|
1374
1373
|
?required=${this.required}
|
|
1375
1374
|
?readonly=${this.readonly}
|
|
1376
|
-
tabindex=${
|
|
1377
|
-
min=${
|
|
1378
|
-
max=${
|
|
1379
|
-
step=${
|
|
1380
|
-
name=${
|
|
1381
|
-
pattern=${
|
|
1375
|
+
tabindex=${va(this.readonly||this.disabled?-1:void 0)}
|
|
1376
|
+
min=${va(this.min!==null?this.min:void 0)}
|
|
1377
|
+
max=${va(this.max!==null?this.max:void 0)}
|
|
1378
|
+
step=${va(this.step||void 0)}
|
|
1379
|
+
name=${va(this.name||void 0)}
|
|
1380
|
+
pattern=${va(this.pattern||void 0)}
|
|
1382
1381
|
aria-invalid=${this.errorMessage?"true":"false"}
|
|
1383
|
-
aria-describedby=${
|
|
1384
|
-
aria-labelledby=${
|
|
1385
|
-
autocomplete=${
|
|
1382
|
+
aria-describedby=${va(this.errorMessage?this.errorId:void 0)}
|
|
1383
|
+
aria-labelledby=${va(this.label?`${this.inputId}-label`:void 0)}
|
|
1384
|
+
autocomplete=${va(this.autocomplete||void 0)}
|
|
1386
1385
|
/>
|
|
1387
1386
|
<div
|
|
1388
1387
|
class="input-right-icon ${this._isIconRotating?this._iconRotationState?"rotating-forward":"rotating-backward":""}"
|
|
@@ -1397,7 +1396,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
1397
1396
|
</div>
|
|
1398
1397
|
${C}
|
|
1399
1398
|
</div>
|
|
1400
|
-
`}get rightIcon(){return this._hasRightIcon}get leftIcon(){return!!this.querySelector('[slot="left-icon"]')}get leftAddon(){return!!this.querySelector('[slot="left-addon"]')}get rightAddon(){return!!this.querySelector('[slot="right-addon"]')}}d([z({type:String})],
|
|
1399
|
+
`}get rightIcon(){return this._hasRightIcon}get leftIcon(){return!!this.querySelector('[slot="left-icon"]')}get leftAddon(){return!!this.querySelector('[slot="left-addon"]')}get rightAddon(){return!!this.querySelector('[slot="right-addon"]')}}d([z({type:String})],Lo.prototype,"value",void 0),d([z({type:String})],Lo.prototype,"label",void 0),d([z({type:String})],Lo.prototype,"placeholder",void 0),d([z({type:String,reflect:!0})],Lo.prototype,"type",void 0),d([z({type:Boolean,reflect:!0})],Lo.prototype,"disabled",void 0),d([z({type:String})],Lo.prototype,"rightText",void 0),d([z({type:Number})],Lo.prototype,"min",void 0),d([z({type:Number})],Lo.prototype,"max",void 0),d([z({type:Number})],Lo.prototype,"step",void 0),d([z({type:String})],Lo.prototype,"addonButtonsPosition",void 0),d([z({type:String})],Lo.prototype,"name",void 0),d([z({type:String})],Lo.prototype,"autocomplete",void 0),d([z({type:Boolean,reflect:!0})],Lo.prototype,"required",void 0),d([z({type:Boolean,reflect:!0})],Lo.prototype,"readonly",void 0),d([z({type:String})],Lo.prototype,"pattern",void 0),d([z({type:Boolean})],Lo.prototype,"validateOnInput",void 0),d([z({type:Boolean})],Lo.prototype,"tooltipFullWidth",void 0),d([z({type:String})],Lo.prototype,"validationPattern",void 0),d([z({type:String})],Lo.prototype,"validationMessage",void 0),d([z({type:Boolean})],Lo.prototype,"hideRightLabel",void 0),d([z({type:Boolean})],Lo.prototype,"clickable",void 0),d([z({type:Boolean,reflect:!0})],Lo.prototype,"forceActiveBorder",void 0),d([z({type:Boolean})],Lo.prototype,"keepLabelEnabled",void 0),d([z({type:Function,attribute:!1})],Lo.prototype,"handleBeforeInput",void 0),d([z({type:Number})],Lo.prototype,"tooltipOffset",void 0),d([L()],Lo.prototype,"errorMessage",void 0),d([L()],Lo.prototype,"_isIconRotating",void 0),d([L()],Lo.prototype,"_hasRightIcon",void 0),d([L()],Lo.prototype,"_iconRotationState",void 0),Lo=d([J("origami-input")],Lo);var Dn=Q`
|
|
1401
1400
|
:host {
|
|
1402
1401
|
display: block;
|
|
1403
1402
|
}
|
|
@@ -1571,7 +1570,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
1571
1570
|
.select-input option:disabled {
|
|
1572
1571
|
color: var(--secondary-text-color, #B3B3B3);
|
|
1573
1572
|
}
|
|
1574
|
-
`;class
|
|
1573
|
+
`;class Po extends Y{constructor(){super(...arguments);this.dir="ltr";this.label="";this.options=[];this.placeholder="";this.helperText=null;this.disabled=!1;this.required=!1;this.defaultValue=null;this.id="";this.name="";this.error="";this.size=null;this.autoFocus=!1;this._errorMessage=null;this.value=""}static styles=[N,Dn];_generatedId=`select-${Math.random().toString(36).substring(2,11)}`;get _effectiveId(){return this.id||this._generatedId}getGroupedOptions(){let a=this.options.reduce((e,o)=>{if(o.group){if(!e[o.group])e[o.group]=[];e[o.group].push(o)}return e},{}),i=this.options.filter((e)=>!e.group);return{groupedOptions:a,hasGroups:Object.keys(a).length>0,ungroupedOptions:i}}handleChange(a){let e=a.target.value;this.emit("select-change",{detail:{value:e,originalEvent:a},bubbles:!1,composed:!1}),this.validate()}validate(){if(this.required&&!this.value)return this._errorMessage=this._errorMessage||j("common.thisFieldIsRequired",this.gameData?.language||$),!1;return this._errorMessage=null,!0}generateOptionElements(){let{groupedOptions:a,hasGroups:i,ungroupedOptions:e}=this.getGroupedOptions();return q`
|
|
1575
1574
|
${this.placeholder?q`
|
|
1576
1575
|
<option value="" ?disabled=${!this.value} ?selected=${!this.value}>
|
|
1577
1576
|
${this.placeholder}
|
|
@@ -1588,7 +1587,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
1588
1587
|
value=${a.value}
|
|
1589
1588
|
?disabled=${a.disabled}
|
|
1590
1589
|
?selected=${this.value===a.value}
|
|
1591
|
-
title=${
|
|
1590
|
+
title=${va(a.label)}
|
|
1592
1591
|
>
|
|
1593
1592
|
${a.label}
|
|
1594
1593
|
</option>
|
|
@@ -1606,7 +1605,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
1606
1605
|
<div class="select-inner">
|
|
1607
1606
|
<select
|
|
1608
1607
|
id=${this._effectiveId}
|
|
1609
|
-
name=${
|
|
1608
|
+
name=${va(this.name||void 0)}
|
|
1610
1609
|
.value=${this.value}
|
|
1611
1610
|
@change=${this.handleChange}
|
|
1612
1611
|
@blur=${this.validate}
|
|
@@ -1614,11 +1613,11 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
1614
1613
|
?disabled=${this.disabled}
|
|
1615
1614
|
?required=${this.required}
|
|
1616
1615
|
role="combobox"
|
|
1617
|
-
size=${
|
|
1616
|
+
size=${va(this.size??void 0)}
|
|
1618
1617
|
?autofocus=${this.autoFocus}
|
|
1619
1618
|
aria-required=${this.required?"true":"false"}
|
|
1620
1619
|
aria-invalid=${a?"true":"false"}
|
|
1621
|
-
aria-describedby=${
|
|
1620
|
+
aria-describedby=${va(n||void 0)}
|
|
1622
1621
|
>
|
|
1623
1622
|
${this.generateOptionElements()}
|
|
1624
1623
|
</select>
|
|
@@ -1646,7 +1645,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
1646
1645
|
`:C}
|
|
1647
1646
|
${this.helperText?q` <div id=${e} class="select-helper">${this.helperText}</div> `:C}
|
|
1648
1647
|
</div>
|
|
1649
|
-
`}}d([aa({context:T,subscribe:!0}),z({attribute:!1})],
|
|
1648
|
+
`}}d([aa({context:T,subscribe:!0}),z({attribute:!1})],Po.prototype,"gameData",void 0),d([z({type:String,reflect:!0})],Po.prototype,"dir",void 0),d([z({type:String})],Po.prototype,"label",void 0),d([z({type:Array})],Po.prototype,"options",void 0),d([z({type:String})],Po.prototype,"placeholder",void 0),d([z({type:String})],Po.prototype,"helperText",void 0),d([z({type:Boolean,reflect:!0})],Po.prototype,"disabled",void 0),d([z({type:Boolean,reflect:!0})],Po.prototype,"required",void 0),d([z({type:String})],Po.prototype,"defaultValue",void 0),d([z({type:String})],Po.prototype,"id",void 0),d([z({type:String})],Po.prototype,"name",void 0),d([z({type:String})],Po.prototype,"error",void 0),d([z({type:Number})],Po.prototype,"size",void 0),d([z({type:Boolean})],Po.prototype,"autoFocus",void 0),d([L()],Po.prototype,"_errorMessage",void 0),d([z({type:String})],Po.prototype,"value",void 0),Po=d([J("origami-select")],Po);var En="important",Gs=" !"+En,Ha=Na(class extends Xa{constructor(a){if(super(a),a.type!==qa.ATTRIBUTE||a.name!=="style"||a.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(a){return Object.keys(a).reduce((i,e)=>{let o=a[e];return o==null?i:i+`${e=e.includes("-")?e:e.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${o};`},"")}update(a,[i]){let{style:e}=a.element;if(this.ft===void 0)return this.ft=new Set(Object.keys(i)),this.render(i);for(let o of this.ft)i[o]==null&&(this.ft.delete(o),o.includes("-")?e.removeProperty(o):e[o]=null);for(let o in i){let r=i[o];if(r!=null){this.ft.add(o);let n=typeof r=="string"&&r.endsWith(Gs);o.includes("-")||n?e.setProperty(o,n?r.slice(0,-11):r,n?En:""):e[o]=r}}return za}});function ka(a,i){let e={waitUntilFirstUpdate:!1,...i};return(o,r)=>{let{update:n}=o,t=Array.isArray(a)?a:[a];o.update=function(s){t.forEach((l)=>{let u=l;if(s.has(u)){let h=s.get(u),f=this[u];if(h!==f){if(!e.waitUntilFirstUpdate||this.hasUpdated)this[r](h,f)}}}),n.call(this,s)}}}var at=Q`
|
|
1650
1649
|
:host {
|
|
1651
1650
|
position: relative;
|
|
1652
1651
|
width: 100%;
|
|
@@ -1849,7 +1848,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
1849
1848
|
.tooltip[data-position="right-end"] .tooltip-arrow {
|
|
1850
1849
|
bottom: var(--tooltip-arrow-size);
|
|
1851
1850
|
}
|
|
1852
|
-
`;var Ds={top:"bottom","top-start":"bottom-start","top-end":"bottom-end",bottom:"top","bottom-start":"top-start","bottom-end":"top-end",left:"right","left-start":"right-start","left-end":"right-end",right:"left","right-start":"left-start","right-end":"left-end"};class Se extends wa{constructor(){super(...arguments);this.content="";this.position="top";this.trigger=["hover","focus"];this.arrow=!0;this.open=!1;this.disabled=!1;this.offset=4;this.edgePadding=12;this.delay=0;this.hideDelay=0;this.fullWidth=!1;this.boundarySelector=".game-layout-main, .game-layout-container"}static styles=[N,at];tooltipRef=Ri();triggerRef=Ri();static nextId=0;tooltipId=`tooltip-${++Se.nextId}`;showTimeout=null;hideTimeout=null;scrollTimeout=null;clickOutsideHandler=null;keydownHandler=null;scrollHandler=null;resizeHandler=null;debounceTime=50;disconnectedCallback(){super.disconnectedCallback(),this.removeEventListeners(),this.clearTimeouts()}onOpenChange(){if(this.open)this.show();else this.hide()}onDisabledChange(){if(this.disabled)this.hide()}onPositionChange(){requestAnimationFrame(()=>this.updatePosition())}onBoundaryChange(){requestAnimationFrame(()=>this.updatePosition())}addEventListeners(){if(!this.keydownHandler)this.keydownHandler=this.handleKeyDown,document.addEventListener("keydown",this.keydownHandler);if(this.hasTrigger("click")&&!this.clickOutsideHandler)this.clickOutsideHandler=this.handleClickOutside,document.addEventListener("click",this.clickOutsideHandler,{capture:!0});if(!this.scrollHandler)this.scrollHandler=this.handleScroll,window.addEventListener("scroll",this.scrollHandler,{passive:!0});if(!this.resizeHandler)this.resizeHandler=this.handleResize,window.addEventListener("resize",this.resizeHandler,{passive:!0})}removeEventListeners(){if(this.keydownHandler)document.removeEventListener("keydown",this.keydownHandler),this.keydownHandler=null;if(this.clickOutsideHandler)document.removeEventListener("click",this.clickOutsideHandler,{capture:!0}),this.clickOutsideHandler=null;if(this.scrollHandler)window.removeEventListener("scroll",this.scrollHandler),this.scrollHandler=null;if(this.resizeHandler)window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=null}hasTrigger(a){return(Array.isArray(this.trigger)?this.trigger:[this.trigger]).includes(a)}handleScroll=()=>{if(this.scrollTimeout!==null)window.clearTimeout(this.scrollTimeout);this.scrollTimeout=window.setTimeout(()=>{if(this.open)this.updatePosition();this.scrollTimeout=null},this.debounceTime)};handleResize=()=>{if(this.scrollTimeout!==null)window.clearTimeout(this.scrollTimeout);this.scrollTimeout=window.setTimeout(()=>{if(this.open)this.updatePosition();this.scrollTimeout=null},this.debounceTime)};clearTimeouts(){let a=["showTimeout","hideTimeout","scrollTimeout"];for(let i of a){let e=this[i];if(e!==null)window.clearTimeout(e);this[i]=null}}show(){if(this.disabled||this.open)return;if(this.clearTimeouts(),this.delay>0)this.showTimeout=window.setTimeout(()=>{this.showTooltip()},this.delay);else this.showTooltip()}hide(){if(this.disabled||!this.open)return;if(this.clearTimeouts(),this.hideDelay>0)this.hideTimeout=window.setTimeout(()=>{this.hideTooltip()},this.hideDelay);else this.hideTooltip()}showTooltip(){if(this.tooltipRef.value&&!this.disabled)this.open=!0,this.updatePosition(),this.addEventListeners()}hideTooltip(){if(this.tooltipRef.value)this.open=!1,this.removeEventListeners(),this.clearTimeouts()}updatePosition(){if(!this.tooltipRef.value||!this.triggerRef.value||!this.open)return;let a=this.tooltipRef.value,i=this.triggerRef.value,e=this.triggerSlot.assignedElements()[0]||i,o=this.position,r=this.offset,n=e.getBoundingClientRect(),t=a.getBoundingClientRect(),s=e||i,l=s instanceof HTMLElement&&s.offsetWidth>0?s.offsetWidth:n.width,u=l?n.width/l:1,h=Number.isFinite(u)&&u>0?u:1,f=(K)=>{if(!K)return null;if(K instanceof ShadowRoot)return K.host;return K.parentNode},g=((()=>{let K=(this.boundarySelector||"").split(",").map((
|
|
1851
|
+
`;var Ds={top:"bottom","top-start":"bottom-start","top-end":"bottom-end",bottom:"top","bottom-start":"top-start","bottom-end":"top-end",left:"right","left-start":"right-start","left-end":"right-end",right:"left","right-start":"left-start","right-end":"left-end"};class Se extends wa{constructor(){super(...arguments);this.content="";this.position="top";this.trigger=["hover","focus"];this.arrow=!0;this.open=!1;this.disabled=!1;this.offset=4;this.edgePadding=12;this.delay=0;this.hideDelay=0;this.fullWidth=!1;this.boundarySelector=".game-layout-main, .game-layout-container"}static styles=[N,at];tooltipRef=Ri();triggerRef=Ri();static nextId=0;tooltipId=`tooltip-${++Se.nextId}`;showTimeout=null;hideTimeout=null;scrollTimeout=null;clickOutsideHandler=null;keydownHandler=null;scrollHandler=null;resizeHandler=null;debounceTime=50;disconnectedCallback(){super.disconnectedCallback(),this.removeEventListeners(),this.clearTimeouts()}onOpenChange(){if(this.open)this.show();else this.hide()}onDisabledChange(){if(this.disabled)this.hide()}onPositionChange(){requestAnimationFrame(()=>this.updatePosition())}onBoundaryChange(){requestAnimationFrame(()=>this.updatePosition())}addEventListeners(){if(!this.keydownHandler)this.keydownHandler=this.handleKeyDown,document.addEventListener("keydown",this.keydownHandler);if(this.hasTrigger("click")&&!this.clickOutsideHandler)this.clickOutsideHandler=this.handleClickOutside,document.addEventListener("click",this.clickOutsideHandler,{capture:!0});if(!this.scrollHandler)this.scrollHandler=this.handleScroll,window.addEventListener("scroll",this.scrollHandler,{passive:!0});if(!this.resizeHandler)this.resizeHandler=this.handleResize,window.addEventListener("resize",this.resizeHandler,{passive:!0})}removeEventListeners(){if(this.keydownHandler)document.removeEventListener("keydown",this.keydownHandler),this.keydownHandler=null;if(this.clickOutsideHandler)document.removeEventListener("click",this.clickOutsideHandler,{capture:!0}),this.clickOutsideHandler=null;if(this.scrollHandler)window.removeEventListener("scroll",this.scrollHandler),this.scrollHandler=null;if(this.resizeHandler)window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=null}hasTrigger(a){return(Array.isArray(this.trigger)?this.trigger:[this.trigger]).includes(a)}handleScroll=()=>{if(this.scrollTimeout!==null)window.clearTimeout(this.scrollTimeout);this.scrollTimeout=window.setTimeout(()=>{if(this.open)this.updatePosition();this.scrollTimeout=null},this.debounceTime)};handleResize=()=>{if(this.scrollTimeout!==null)window.clearTimeout(this.scrollTimeout);this.scrollTimeout=window.setTimeout(()=>{if(this.open)this.updatePosition();this.scrollTimeout=null},this.debounceTime)};clearTimeouts(){let a=["showTimeout","hideTimeout","scrollTimeout"];for(let i of a){let e=this[i];if(e!==null)window.clearTimeout(e);this[i]=null}}show(){if(this.disabled||this.open)return;if(this.clearTimeouts(),this.delay>0)this.showTimeout=window.setTimeout(()=>{this.showTooltip()},this.delay);else this.showTooltip()}hide(){if(this.disabled||!this.open)return;if(this.clearTimeouts(),this.hideDelay>0)this.hideTimeout=window.setTimeout(()=>{this.hideTooltip()},this.hideDelay);else this.hideTooltip()}showTooltip(){if(this.tooltipRef.value&&!this.disabled)this.open=!0,this.updatePosition(),this.addEventListeners()}hideTooltip(){if(this.tooltipRef.value)this.open=!1,this.removeEventListeners(),this.clearTimeouts()}updatePosition(){if(!this.tooltipRef.value||!this.triggerRef.value||!this.open)return;let a=this.tooltipRef.value,i=this.triggerRef.value,e=this.triggerSlot.assignedElements()[0]||i,o=this.position,r=this.offset,n=e.getBoundingClientRect(),t=a.getBoundingClientRect(),s=e||i,l=s instanceof HTMLElement&&s.offsetWidth>0?s.offsetWidth:n.width,u=l?n.width/l:1,h=Number.isFinite(u)&&u>0?u:1,f=(K)=>{if(!K)return null;if(K instanceof ShadowRoot)return K.host;return K.parentNode},g=((()=>{let K=(this.boundarySelector||"").split(",").map((P)=>P.trim()).filter(Boolean),R=this;while(R){if(R instanceof HTMLElement){if(K.length>0&&K.some((P)=>{try{return R.matches(P)}catch{return!1}}))return R}R=f(R)}return null})()??document.documentElement).getBoundingClientRect(),b=n.top-g.top,I=g.bottom-n.bottom,m=n.left-g.left,k=g.right-n.right,p=o,v=0,S=(K)=>{let R=6*h;if(K.startsWith("top"))return b>=t.height+r*h+R;else if(K.startsWith("bottom"))return I>=t.height+r*h+R;return!0},F=()=>{let K=n.left+n.width/2,R=t.width/2,P=K-R,M=0,X=g.left+this.edgePadding*h,_=g.right-this.edgePadding*h;if(P<X)M=X-P,P=X;let U=P+t.width;if(U>_)M=_-U;return M};if((o.startsWith("top")||o.startsWith("bottom"))&&S(o)){let K=F();if(K!==0){v=-K;let R=t.width/2-12*h;v=Math.max(-R,Math.min(R,v))}p=o}else{let K=(R)=>{let P=6*h;switch(R){case"top":case"top-start":case"top-end":return b<t.height+r*h+P;case"bottom":case"bottom-start":case"bottom-end":return I<t.height+r*h+P;case"left":case"left-start":case"left-end":return m<t.width+r*h+P;case"right":case"right-start":case"right-end":return k<t.width+r*h+P;default:return!1}};if(K(o)){let R=Ds[o];if(!K(R))p=R;else{let M=["top","right","bottom","left"].find((X)=>!K(X));if(M)p=M}}}if(a.setAttribute("data-position",p),this.triggerRef.value){let K=v/h;if(this.triggerRef.value.style.setProperty("--arrow-offset",`${K}px`),v!==0&&(p.startsWith("top")||p.startsWith("bottom"))){let R=-v/h;this.triggerRef.value.style.setProperty("--tooltip-translate-x",`${R}px`)}else this.triggerRef.value.style.setProperty("--tooltip-translate-x","0px")}}handleMouseEnter=()=>{if(this.hasTrigger("hover"))this.show()};handleMouseLeave=(a)=>{let i=a.relatedTarget;if(this.tooltipRef.value?.contains(i))return;if(this.hasTrigger("hover"))this.hide()};handleFocus=(a)=>{if(a.composedPath().some((o)=>o===this.triggerRef.value||this.triggerRef.value?.contains(o))&&this.hasTrigger("focus"))this.show()};handleBlur=(a)=>{if(a.composedPath().some((o)=>o===this.triggerRef.value||this.triggerRef.value?.contains(o))&&this.hasTrigger("focus"))this.hide()};handleClick=()=>{if(this.hasTrigger("click"))if(!this.open)this.show();else this.hide()};handleClickOutside=(a)=>{if(!this.open||!this.hasTrigger("click"))return;let i=a.composedPath(),e=this.triggerRef.value&&i.includes(this.triggerRef.value),o=this.tooltipRef.value&&i.includes(this.tooltipRef.value);if(!e&&!o)this.hide()};handleKeyDown=(a)=>{if(a.key==="Escape"&&this.open)this.hide()};render(){let a={tooltip:!0,visible:this.open,"full-width":this.fullWidth};return q`
|
|
1853
1852
|
<div
|
|
1854
1853
|
style=${Ha({["--tooltip-offset"]:`${this.offset}px`})}
|
|
1855
1854
|
${Zi(this.triggerRef)}
|
|
@@ -1874,7 +1873,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
1874
1873
|
${this.arrow?q`<div class="tooltip-arrow"></div>`:C}
|
|
1875
1874
|
</div>
|
|
1876
1875
|
</div>
|
|
1877
|
-
`}}d([z({type:String})],Se.prototype,"content",void 0),d([z({type:String,reflect:!0})],Se.prototype,"position",void 0),d([z({type:Array,converter:(a)=>{if(typeof a==="string")return a.split(/[\s,]+/).filter(Boolean);return a}})],Se.prototype,"trigger",void 0),d([z({type:Boolean,reflect:!0})],Se.prototype,"arrow",void 0),d([z({type:Boolean,reflect:!0})],Se.prototype,"open",void 0),d([z({type:Boolean,reflect:!0})],Se.prototype,"disabled",void 0),d([z({type:Number})],Se.prototype,"offset",void 0),d([z({type:Number})],Se.prototype,"edgePadding",void 0),d([z({type:Number})],Se.prototype,"delay",void 0),d([z({type:Number})],Se.prototype,"hideDelay",void 0),d([z({type:Boolean})],Se.prototype,"fullWidth",void 0),d([z({type:String})],Se.prototype,"boundarySelector",void 0),d([ca("#trigger-slot")],Se.prototype,"triggerSlot",void 0),d([
|
|
1876
|
+
`}}d([z({type:String})],Se.prototype,"content",void 0),d([z({type:String,reflect:!0})],Se.prototype,"position",void 0),d([z({type:Array,converter:(a)=>{if(typeof a==="string")return a.split(/[\s,]+/).filter(Boolean);return a}})],Se.prototype,"trigger",void 0),d([z({type:Boolean,reflect:!0})],Se.prototype,"arrow",void 0),d([z({type:Boolean,reflect:!0})],Se.prototype,"open",void 0),d([z({type:Boolean,reflect:!0})],Se.prototype,"disabled",void 0),d([z({type:Number})],Se.prototype,"offset",void 0),d([z({type:Number})],Se.prototype,"edgePadding",void 0),d([z({type:Number})],Se.prototype,"delay",void 0),d([z({type:Number})],Se.prototype,"hideDelay",void 0),d([z({type:Boolean})],Se.prototype,"fullWidth",void 0),d([z({type:String})],Se.prototype,"boundarySelector",void 0),d([ca("#trigger-slot")],Se.prototype,"triggerSlot",void 0),d([ka("open")],Se.prototype,"onOpenChange",null),d([ka("disabled")],Se.prototype,"onDisabledChange",null),d([ka(["position","offset","content"])],Se.prototype,"onPositionChange",null),d([ka(["boundarySelector","edgePadding"])],Se.prototype,"onBoundaryChange",null),Se=d([J("origami-tooltip")],Se);var mi=(a,i=!1)=>{let e=["Backspace","Delete","Tab","Escape","Enter","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown"];if(a.ctrlKey||a.metaKey)return;if(e.includes(a.key))return;let o=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],r=["!","@","#","$","%","^","&","*","(",")","_","+","=","[","]","{","}","|","\\",";",":",'"',"'","<",">",",","?","/","~","`"," "],n=["e","E","+"],t=[...o,...r,...n];if(i)t=t.filter((s)=>s!=="-");else t.push("-");if(t.includes(a.key))a.preventDefault()};var Es=(a,i=!1)=>{let e=i?a.replace(/[^0-9.-]/g,""):a.replace(/[^0-9.]/g,"");if(e.includes(".")){let o=e.split(".");e=`${o[0]}.${o.slice(1).join("")}`}return e};class Co extends Y{constructor(){super(...arguments);this.label="";this.currency=ta;this.errorMessage="";this.value="";this.rightLabel="";this.suffix="";this.placeholder="0.00";this.disabled=!1;this.readonly=!1;this.disableInput=!1;this.cursorNotAllowed=!1;this.bgColor="";this.testId="";this.tooltip="";this.maxBetEnabled=!1;this.dimmed=!1;this.maxPayoutUSD=0;this.variant="primary";this.required=!1;this.hideCurrencyIcon=!1;this.allowNegative=!1}static styles=Q`
|
|
1878
1877
|
.currency-display {
|
|
1879
1878
|
display: flex;
|
|
1880
1879
|
align-items: center;
|
|
@@ -1898,8 +1897,6 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
1898
1897
|
`;get leftAddon(){return!!this.querySelector('[slot="left-addon"]')}get rightAddon(){return!!this.querySelector('[slot="right-addon"]')}formatValue(a){if(!a)return a;try{return Number.parseFloat(a).toFixed(this.gameData.currencyDecimals)}catch{return a}}handleChange(a){let i=a.detail.value,e=Es(i,this.allowNegative);this.emit("raw-currency-input-change",{detail:{value:e}})}handleBlur(){let a=this.formatValue(this.value);this.emit("raw-currency-input-change",{detail:{value:a}}),this.emit("raw-currency-input-blur")}handleFocus(){this.emit("raw-currency-input-focus")}updated(a){if(!this.readonly||!a.has("value"))return;this.value=this.formatValue(this.value)}render(){return q`
|
|
1899
1898
|
<origami-input
|
|
1900
1899
|
type="number"
|
|
1901
|
-
inputmode="decimal"
|
|
1902
|
-
pattern="[0-9]*"
|
|
1903
1900
|
.value=${this.value}
|
|
1904
1901
|
.label=${this.label}
|
|
1905
1902
|
.rightText=${this.rightLabel}
|
|
@@ -1967,7 +1964,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
1967
1964
|
</origami-button>`:q``}
|
|
1968
1965
|
</origami-button-group>
|
|
1969
1966
|
</origami-raw-currency-input>
|
|
1970
|
-
`}}d([
|
|
1967
|
+
`}}d([L()],Oo.prototype,"isFocused",void 0),d([L()],Oo.prototype,"invalidReason",void 0),d([z({type:Number})],Oo.prototype,"betMaxMultiplier",void 0),d([z({type:Boolean})],Oo.prototype,"isGameActive",void 0),d([ka(["value","betMaxMultiplier","isGameActive"])],Oo.prototype,"watchValue",null),d([L()],Oo.prototype,"value",void 0),d([L()],Oo.prototype,"_isInitialized",void 0),d([z({type:Boolean})],Oo.prototype,"disabled",void 0),d([z({type:String})],Oo.prototype,"label",void 0),Oo=d([J("origami-bet-amount-input")],Oo);var $o=new Map;class _o extends Y{constructor(){super(...arguments);this.src="";this.size="24px";this.triggerSelector="origami-button";this.active=!1;this.autoplay=!1;this.tone="default"}static styles=Q`
|
|
1971
1968
|
:host {
|
|
1972
1969
|
display: flex;
|
|
1973
1970
|
align-items: center;
|
|
@@ -2179,7 +2176,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
2179
2176
|
</origami-button>
|
|
2180
2177
|
`}
|
|
2181
2178
|
</div>
|
|
2182
|
-
`}}d([aa({context:T,subscribe:!0})],Xo.prototype,"gameData",void 0),d([z({type:Boolean})],Xo.prototype,"inputsDisabled",void 0),d([z({type:Object})],Xo.prototype,"minesState",void 0),d([z({type:Boolean})],Xo.prototype,"isGameActive",void 0),d([z({type:Boolean})],Xo.prototype,"isLoading",void 0),d([z({type:Number})],Xo.prototype,"minesCount",void 0),d([z({type:Boolean})],Xo.prototype,"isSelectingRandomTile",void 0),d([z({type:Boolean})],Xo.prototype,"isTileLoading",void 0),d([
|
|
2179
|
+
`}}d([aa({context:T,subscribe:!0})],Xo.prototype,"gameData",void 0),d([z({type:Boolean})],Xo.prototype,"inputsDisabled",void 0),d([z({type:Object})],Xo.prototype,"minesState",void 0),d([z({type:Boolean})],Xo.prototype,"isGameActive",void 0),d([z({type:Boolean})],Xo.prototype,"isLoading",void 0),d([z({type:Number})],Xo.prototype,"minesCount",void 0),d([z({type:Boolean})],Xo.prototype,"isSelectingRandomTile",void 0),d([z({type:Boolean})],Xo.prototype,"isTileLoading",void 0),d([L()],Xo.prototype,"showDepositButton",void 0),d([L()],Xo.prototype,"isBetAmountValid",void 0),Xo=d([J("origami-mines-manual")],Xo);var nl=(a)=>{return a.replace(/[^0-9]/g,"")};class To extends Y{constructor(){super(...arguments);this.disabled=!1}static styles=[N];_handleAutobetGamesChange(a){if(a.detail&&typeof a.detail.value==="string"){let i=a.detail.value,e=nl(i);this.gameData?.updateAutobetNumberOfBets(+e)}}_handleAutobetGamesBlur(a){let i=a.detail.value;if(i===""||i==="0")this.gameData?.updateAutobetNumberOfBets(0);else{let e=parseInt(i,10);this.gameData?.updateAutobetNumberOfBets(e)}}preventNonWholeNumberInput(a){if(["e","E","+","-","."].includes(a.key))a.preventDefault()}render(){return q`
|
|
2183
2180
|
<origami-input
|
|
2184
2181
|
label=${j("autobet.games",this.gameData?.language||$)}
|
|
2185
2182
|
type="number"
|
|
@@ -2309,7 +2306,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
2309
2306
|
width: 16px;
|
|
2310
2307
|
height: 16px;
|
|
2311
2308
|
}
|
|
2312
|
-
`;var tl=(a=$)=>[{value:"5",label:j("autobet.games5",a,"5 games")},{value:"10",label:j("autobet.games10",a,"10 games")},{value:"25",label:j("autobet.games25",a,"25 games")},{value:"50",label:j("autobet.games50",a,"50 games")},{value:"100",label:j("autobet.games100",a,"100 games")},{value:"0",label:j("autobet.infinite",a,"Infinite")}],tt=tl(),st=tt[tt.length-1]?.value??"0",lt=ni("autobet-context");var sl=(a,i)=>{if(!a)return j("autobet.startAutobet",i);return j("autobet.stopAutobet",i)},ll={onWinPercentage:"0.00",onLossPercentage:"0.00",stopOnProfit:"0.00",stopOnLoss:"0.00",onLossStrategy:"Reset",onWinStrategy:"Reset"},dt=(a)=>{if(["e","E","+"].includes(a.key))a.preventDefault()},
|
|
2309
|
+
`;var tl=(a=$)=>[{value:"5",label:j("autobet.games5",a,"5 games")},{value:"10",label:j("autobet.games10",a,"10 games")},{value:"25",label:j("autobet.games25",a,"25 games")},{value:"50",label:j("autobet.games50",a,"50 games")},{value:"100",label:j("autobet.games100",a,"100 games")},{value:"0",label:j("autobet.infinite",a,"Infinite")}],tt=tl(),st=tt[tt.length-1]?.value??"0",lt=ni("autobet-context");var sl=(a,i)=>{if(!a)return j("autobet.startAutobet",i);return j("autobet.stopAutobet",i)},ll={onWinPercentage:"0.00",onLossPercentage:"0.00",stopOnProfit:"0.00",stopOnLoss:"0.00",onLossStrategy:"Reset",onWinStrategy:"Reset"},dt=(a)=>{if(["e","E","+"].includes(a.key))a.preventDefault()},ki=(a)=>{let i=a.replace(/[^0-9.-]/g,"");if(i.includes(".")){let e=i.split(".");i=`${e[0]}.${e.slice(1).join("")}`}return i};class Mo extends Y{constructor(){super(...arguments);this.inputsDisabled=!1;this.autobetSettings=ll;this.autobetStopping=!1;this.autobetInProgress=!1;this.profitOnWin="0.00";this.betDisabled=!1;this._isStarting=!1;this._onWinFocused=!1;this._onLossFocused=!1;this._stopOnLossFocused=!1;this._stopOnProfitFocused=!1;this.isBetAmountValid=!0;this.showDepositButton=!1;this.betMaxMultiplier=1}static styles=[N,nt];_autobetProvider=new yi(this,{context:lt,initialValue:{numberOfBets:st,updateNumberOfBets:this.updateNumberOfBets.bind(this)}});willUpdate(a){if(a.has("autobetInProgress")){if(this.autobetInProgress)this.emit("show-alert",{detail:{id:"autobet-started",type:"success",message:j("alerts.autobetStarted",this.gameData?.language||$)}});else if(a.get("autobetInProgress")!==void 0)this.emit("show-alert",{detail:{id:"autobet-stopped",type:"error",message:j("alerts.autobetStopped",this.gameData?.language||$)}})}if(a.has("autobetInProgress")&&this.autobetInProgress)this._isStarting=!1}updateNumberOfBets(a){this._autobetProvider.setValue({...this._autobetProvider.value,numberOfBets:a})}_handleWinPercentageChange(a){if(a.detail&&typeof a.detail.value==="string")this.autobetSettings={...this.autobetSettings,onWinPercentage:ki(a.detail.value)}}_handleLossPercentageChange(a){if(a.detail&&typeof a.detail.value==="string")this.autobetSettings={...this.autobetSettings,onLossPercentage:ki(a.detail.value)}}_handleStopOnProfitChange(a){if(a.detail&&typeof a.detail.value==="string")this.autobetSettings={...this.autobetSettings,stopOnProfit:ki(a.detail.value)}}_handleStopOnLossChange(a){if(a.detail&&typeof a.detail.value==="string")this.autobetSettings={...this.autobetSettings,stopOnLoss:ki(a.detail.value)}}_hasCustomInputs(){if(!this.customInputsSlot)return!1;let a=this.customInputsSlot.assignedNodes();return a.length>0&&a.some((i)=>i.nodeType===Node.ELEMENT_NODE)}render(){let a=this.gameData?.language||$;return q`
|
|
2313
2310
|
<div
|
|
2314
2311
|
class=${E({"form-content":!0,"form-content-disabled":this.inputsDisabled})}
|
|
2315
2312
|
>
|
|
@@ -2336,7 +2333,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
2336
2333
|
?disabled=${this.autobetSettings.onWinStrategy==="Reset"||this.inputsDisabled}
|
|
2337
2334
|
?keepLabelEnabled=${!0}
|
|
2338
2335
|
@input-focus=${()=>{this._onWinFocused=!0}}
|
|
2339
|
-
@input-blur=${(i)=>{this._onWinFocused=!1;let e=
|
|
2336
|
+
@input-blur=${(i)=>{this._onWinFocused=!1;let e=ki(i.detail.value),o=Ei(e,"0");this.autobetSettings={...this.autobetSettings,onWinPercentage:o.toFixed(2)}}}
|
|
2340
2337
|
>
|
|
2341
2338
|
<origami-toggle
|
|
2342
2339
|
slot="left-addon"
|
|
@@ -2368,7 +2365,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
2368
2365
|
?disabled=${this.autobetSettings.onLossStrategy==="Reset"||this.inputsDisabled}
|
|
2369
2366
|
?keepLabelEnabled=${!0}
|
|
2370
2367
|
@input-focus=${()=>{this._onLossFocused=!0}}
|
|
2371
|
-
@input-blur=${(i)=>{this._onLossFocused=!1;let e=
|
|
2368
|
+
@input-blur=${(i)=>{this._onLossFocused=!1;let e=ki(i.detail.value),o=Ei(e,"0");this.autobetSettings={...this.autobetSettings,onLossPercentage:o.toFixed(2)}}}
|
|
2372
2369
|
>
|
|
2373
2370
|
<origami-toggle
|
|
2374
2371
|
slot="left-addon"
|
|
@@ -2401,7 +2398,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
2401
2398
|
?disabled=${this.inputsDisabled}
|
|
2402
2399
|
?allowNegative=${!0}
|
|
2403
2400
|
@raw-currency-input-focus=${()=>{this._stopOnLossFocused=!0}}
|
|
2404
|
-
@raw-currency-input-blur=${()=>{this._stopOnLossFocused=!1;let i=
|
|
2401
|
+
@raw-currency-input-blur=${()=>{this._stopOnLossFocused=!1;let i=ki(this.autobetSettings.stopOnLoss),e=Ei(i,"0");this.autobetSettings={...this.autobetSettings,stopOnLoss:e.toFixed(this.gameData.currencyDecimals)}}}
|
|
2405
2402
|
></origami-raw-currency-input>
|
|
2406
2403
|
|
|
2407
2404
|
<origami-raw-currency-input
|
|
@@ -2413,7 +2410,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
2413
2410
|
?disabled=${this.inputsDisabled}
|
|
2414
2411
|
?allowNegative=${!0}
|
|
2415
2412
|
@raw-currency-input-focus=${()=>{this._stopOnProfitFocused=!0}}
|
|
2416
|
-
@raw-currency-input-blur=${()=>{this._stopOnProfitFocused=!1;let i=
|
|
2413
|
+
@raw-currency-input-blur=${()=>{this._stopOnProfitFocused=!1;let i=ki(this.autobetSettings.stopOnProfit),e=Ei(i,"0");this.autobetSettings={...this.autobetSettings,stopOnProfit:e.toFixed(this.gameData.currencyDecimals)}}}
|
|
2417
2414
|
></origami-raw-currency-input>
|
|
2418
2415
|
</div>
|
|
2419
2416
|
</div>
|
|
@@ -2433,7 +2430,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
2433
2430
|
>
|
|
2434
2431
|
${sl(this.autobetInProgress,this.gameData?.language||$)}
|
|
2435
2432
|
</origami-button>`}
|
|
2436
|
-
`}}d([z({type:Boolean})],Mo.prototype,"inputsDisabled",void 0),d([z({type:Object})],Mo.prototype,"autobetSettings",void 0),d([z({type:Boolean})],Mo.prototype,"autobetStopping",void 0),d([z({type:Boolean})],Mo.prototype,"autobetInProgress",void 0),d([z({type:String})],Mo.prototype,"profitOnWin",void 0),d([z({type:Boolean})],Mo.prototype,"betDisabled",void 0),d([
|
|
2433
|
+
`}}d([z({type:Boolean})],Mo.prototype,"inputsDisabled",void 0),d([z({type:Object})],Mo.prototype,"autobetSettings",void 0),d([z({type:Boolean})],Mo.prototype,"autobetStopping",void 0),d([z({type:Boolean})],Mo.prototype,"autobetInProgress",void 0),d([z({type:String})],Mo.prototype,"profitOnWin",void 0),d([z({type:Boolean})],Mo.prototype,"betDisabled",void 0),d([L()],Mo.prototype,"_isStarting",void 0),d([L()],Mo.prototype,"_onWinFocused",void 0),d([L()],Mo.prototype,"_onLossFocused",void 0),d([L()],Mo.prototype,"_stopOnLossFocused",void 0),d([L()],Mo.prototype,"_stopOnProfitFocused",void 0),d([L()],Mo.prototype,"isBetAmountValid",void 0),d([L()],Mo.prototype,"showDepositButton",void 0),d([z({type:Number})],Mo.prototype,"betMaxMultiplier",void 0),d([aa({context:T,subscribe:!0})],Mo.prototype,"gameData",void 0),d([ca('slot[name="custom-inputs"]')],Mo.prototype,"customInputsSlot",void 0),Mo=d([J("origami-generic-autobet")],Mo);class Uo extends Y{constructor(){super(...arguments);this.inputsDisabled=!1;this.autobetStopping=!1;this.autobetInProgress=!1;this.profitOnWin="0.00";this.minesCount=5;this.disableBet=!1;this.isDesktop=!1;this.numberOfSelectedTiles=0}static styles=[N,je];_handleMinesCountChange(a){this.emit("mines-count-change",{detail:{count:+a.detail.value}})}render(){let a=this.gameData?.language||$,i=bi.calculateMultiplierBN(this.numberOfSelectedTiles,this.minesCount,100).toNumber();return q`
|
|
2437
2434
|
<origami-generic-autobet
|
|
2438
2435
|
data-is-desktop=${this.isDesktop}
|
|
2439
2436
|
?inputsDisabled=${this.inputsDisabled}
|
|
@@ -2838,7 +2835,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
2838
2835
|
</origami-tooltip>
|
|
2839
2836
|
</div>
|
|
2840
2837
|
</footer>
|
|
2841
|
-
`}}d([aa({context:T,subscribe:!0})],Go.prototype,"gameData",void 0),d([z({type:Boolean})],Go.prototype,"showLogo",void 0),d([z({type:Boolean})],Go.prototype,"showHistoryButton",void 0),d([z({type:Boolean})],Go.prototype,"gameInfoOpen",void 0),d([z({type:Boolean})],Go.prototype,"hotkeysOpen",void 0),d([
|
|
2838
|
+
`}}d([aa({context:T,subscribe:!0})],Go.prototype,"gameData",void 0),d([z({type:Boolean})],Go.prototype,"showLogo",void 0),d([z({type:Boolean})],Go.prototype,"showHistoryButton",void 0),d([z({type:Boolean})],Go.prototype,"gameInfoOpen",void 0),d([z({type:Boolean})],Go.prototype,"hotkeysOpen",void 0),d([L()],Go.prototype,"isVolumeSliderOpen",void 0),Go=d([J("origami-footer")],Go);function $a(a,i,e){return new Promise((o)=>{if(e?.duration===Number.POSITIVE_INFINITY)throw new Error("Promise-based animations must be finite.");let r=a.animate(i,{...e,duration:dl()?0:e?.duration??0});r.addEventListener("cancel",o,{once:!0}),r.addEventListener("finish",o,{once:!0})})}function dl(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}function ai(a){return Promise.all(a.getAnimations().map((i)=>{return new Promise((e)=>{i.cancel(),requestAnimationFrame(e)})}))}var pt=new Map,ul=new WeakMap;function cl(a){return a??{keyframes:[],options:{duration:0}}}function ht(a,i){if(i.toLowerCase()==="rtl")return{keyframes:a.rtlKeyframes||a.keyframes,options:a.options};return a}function xa(a,i){pt.set(a,cl(i))}function _a(a,i,e){let o=ul.get(a);if(o?.[i])return ht(o[i],e.dir);let r=pt.get(i);if(r)return ht(r,e.dir);return{keyframes:[],options:{duration:0}}}function Oi(a,i){return new Promise((e)=>{function o(r){if(r.target===a)a.removeEventListener(i,o),e()}a.addEventListener(i,o)})}function*Re(a=document.activeElement){if(a===null||a===void 0)return;if(yield a,"shadowRoot"in a&&a.shadowRoot&&a.shadowRoot.mode!=="closed")yield*Re(a.shadowRoot.activeElement)}function mt(){return[...Re()].pop()}var bt=new WeakMap;function kt(a){let i=bt.get(a);if(!i)i=window.getComputedStyle(a,null),bt.set(a,i);return i}function hl(a){if(typeof a.checkVisibility==="function")return a.checkVisibility({checkOpacity:!1,checkVisibilityCSS:!0});let i=kt(a);return i.visibility!=="hidden"&&i.display!=="none"}function pl(a){let i=kt(a),{overflowY:e,overflowX:o}=i;if(e==="scroll"||o==="scroll")return!0;if(e!=="auto"||o!=="auto")return!1;if(a.scrollHeight>a.clientHeight&&e==="auto")return!0;if(a.scrollWidth>a.clientWidth&&o==="auto")return!0;return!1}function ml(a){let i=a.tagName.toLowerCase(),e=Number(a.getAttribute("tabindex"));if(a.hasAttribute("tabindex")&&(isNaN(e)||e<=-1))return!1;if(a.hasAttribute("disabled"))return!1;if(a.closest("[inert]"))return!1;if(i==="input"&&a.getAttribute("type")==="radio"){let n=a.getRootNode(),t=`input[type='radio'][name="${a.getAttribute("name")}"]`,s=n.querySelector(`${t}:checked`);if(s)return s===a;return n.querySelector(t)===a}if(!hl(a))return!1;if((i==="audio"||i==="video")&&a.hasAttribute("controls"))return!0;if(a.hasAttribute("tabindex"))return!0;if(a.hasAttribute("contenteditable")&&a.getAttribute("contenteditable")!=="false")return!0;if(["button","input","select","textarea","a","audio","video","summary","iframe"].includes(i))return!0;return pl(a)}function bl(a,i){return a.getRootNode({composed:!0})?.host!==i}function Do(a){let i=new WeakMap,e=[];function o(r){if(r instanceof Element){if(r.hasAttribute("inert")||r.closest("[inert]"))return;if(i.has(r))return;if(i.set(r,!0),!e.includes(r)&&ml(r))e.push(r);if(r instanceof HTMLSlotElement&&bl(r,a))r.assignedElements({flatten:!0}).forEach((n)=>{o(n)});if(r.shadowRoot!==null&&r.shadowRoot.mode==="open")o(r.shadowRoot)}for(let n of r.children)o(n)}return o(a),e.sort((r,n)=>{let t=Number(r.getAttribute("tabindex"))||0;return(Number(n.getAttribute("tabindex"))||0)-t})}var ee=[];class $i{element;isExternalActivated=!1;tabDirection="forward";currentFocus=null;previousFocus=null;elementsWithTabbableControls;constructor(a){this.element=a,this.elementsWithTabbableControls=["iframe"]}activate(){ee.push(this.element),document.addEventListener("focusin",this.handleFocusIn),document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("keyup",this.handleKeyUp)}deactivate(){ee=ee.filter((a)=>a!==this.element),this.currentFocus=null,document.removeEventListener("focusin",this.handleFocusIn),document.removeEventListener("keydown",this.handleKeyDown),document.removeEventListener("keyup",this.handleKeyUp)}isActive(){return ee[ee.length-1]===this.element}activateExternal(){this.isExternalActivated=!0}deactivateExternal(){this.isExternalActivated=!1}checkFocus(){if(this.isActive()&&!this.isExternalActivated){let a=Do(this.element);if(!this.element.matches(":focus-within")){let i=a[0],e=a[a.length-1],o=this.tabDirection==="forward"?i:e;if(typeof o?.focus==="function")this.currentFocus=o,o.focus({preventScroll:!1})}}}handleFocusIn=()=>{if(!this.isActive())return;this.checkFocus()};possiblyHasTabbableChildren(a){return this.elementsWithTabbableControls.includes(a.tagName.toLowerCase())||a.hasAttribute("controls")}handleKeyDown=(a)=>{if(a.key!=="Tab"||this.isExternalActivated)return;if(!this.isActive())return;let i=mt();if(this.previousFocus=i,this.previousFocus&&this.possiblyHasTabbableChildren(this.previousFocus))return;if(a.shiftKey)this.tabDirection="backward";else this.tabDirection="forward";let e=Do(this.element),o=e.findIndex((n)=>n===i);this.previousFocus=this.currentFocus;let r=this.tabDirection==="forward"?1:-1;while(!0){if(o+r>=e.length)o=0;else if(o+r<0)o=e.length-1;else o+=r;this.previousFocus=this.currentFocus;let n=e[o];if(this.tabDirection==="backward"){if(this.previousFocus&&this.possiblyHasTabbableChildren(this.previousFocus))return}if(n&&this.possiblyHasTabbableChildren(n))return;a.preventDefault(),this.currentFocus=n??null,this.currentFocus?.focus({preventScroll:!1});let t=[...Re()];if(this.currentFocus&&t.includes(this.currentFocus)||this.previousFocus&&!t.includes(this.previousFocus))break}setTimeout(()=>this.checkFocus())};handleKeyUp=()=>{this.tabDirection="forward"}}var Eo=new Set;function kl(){let a=document.documentElement.clientWidth;return Math.abs(window.innerWidth-a)}function vl(){let a=Number(getComputedStyle(document.body).paddingRight.replace(/px/,""));if(Number.isNaN(a)||!a)return 0;return a}function Bi(a){if(Eo.add(a),!document.documentElement.classList.contains("sl-scroll-lock")){let i=kl()+vl(),e=getComputedStyle(document.documentElement).scrollbarGutter;if(!e||e==="auto")e="stable";if(i<2)e="";document.documentElement.style.setProperty("--sl-scroll-lock-gutter",e),document.documentElement.classList.add("sl-scroll-lock"),document.documentElement.style.setProperty("--sl-scroll-lock-size",`${i}px`)}}function vi(a){if(Eo.delete(a),Eo.size===0)document.documentElement.classList.remove("sl-scroll-lock"),document.documentElement.style.removeProperty("--sl-scroll-lock-size")}var vt=Q`
|
|
2842
2839
|
:host {
|
|
2843
2840
|
--width: 350px;
|
|
2844
2841
|
display: contents;
|
|
@@ -2932,7 +2929,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
2932
2929
|
background-color: color-mix(in srgb, var(--background-base, #1A1A1A) 80%, transparent);
|
|
2933
2930
|
will-change: opacity;
|
|
2934
2931
|
}
|
|
2935
|
-
`;class Ze extends Y{constructor(){super(...arguments);this.fixedPosition=!1;this.open=!1;this.label="";this.lockScrolling=!1;this.noHeader=!1}static styles=[N,
|
|
2932
|
+
`;class Ze extends Y{constructor(){super(...arguments);this.fixedPosition=!1;this.open=!1;this.label="";this.lockScrolling=!1;this.noHeader=!1}static styles=[N,vt];originalTrigger=null;focusTrap=new $i(this);closeWatcher=null;firstUpdated(){if(this.dialog.hidden=!this.open,this.open){if(this.addOpenListeners(),this.focusTrap.activate(),this.lockScrolling)Bi(this)}}disconnectedCallback(){super.disconnectedCallback(),this.focusTrap.deactivate(),vi(this),this.removeOpenListeners()}requestClose(a){if(this.emit("modal-request-close",{cancelable:!0,detail:{source:a}}).defaultPrevented){let e=_a(this,"dialog.denyClose",{dir:""});$a(this.panel,e.keyframes,e.options);return}this.hide()}addOpenListeners(){if("CloseWatcher"in window)this.closeWatcher?.destroy(),this.closeWatcher=new CloseWatcher,this.closeWatcher.onclose=()=>this.requestClose("keyboard");else document.addEventListener("keydown",this.handleDocumentKeyDown)}removeOpenListeners(){this.closeWatcher?.destroy(),document.removeEventListener("keydown",this.handleDocumentKeyDown)}handleDocumentKeyDown=(a)=>{if(a.key==="Escape"&&this.focusTrap.isActive()&&this.open)a.stopPropagation(),this.requestClose("keyboard")};async handleOpenChange(){if(this.open){if(this.emit("modal-show"),this.addOpenListeners(),this.originalTrigger=document.activeElement,this.focusTrap.activate(),this.lockScrolling)Bi(this);let a=this.querySelector("[autofocus]");if(a)a.removeAttribute("autofocus");await Promise.all([ai(this.dialog),ai(this.overlay)]),this.dialog.hidden=!1,requestAnimationFrame(()=>{if(!this.emit("modal-initial-focus",{cancelable:!0}).defaultPrevented)if(a)a.focus({preventScroll:!0});else this.panel.focus({preventScroll:!0});if(a)a.setAttribute("autofocus","")});let i=_a(this,"dialog.show",{dir:""}),e=_a(this,"dialog.overlay.show",{dir:""});await Promise.all([$a(this.panel,i.keyframes,i.options),$a(this.overlay,e.keyframes,e.options)]),this.emit("modal-after-show")}else{this.emit("modal-hide"),this.removeOpenListeners(),this.focusTrap.deactivate(),await Promise.all([ai(this.dialog),ai(this.overlay)]);let a=_a(this,"dialog.hide",{dir:""}),i=_a(this,"dialog.overlay.hide",{dir:""});await Promise.all([$a(this.overlay,i.keyframes,i.options).then(()=>{this.overlay.hidden=!0}),$a(this.panel,a.keyframes,a.options).then(()=>{this.panel.hidden=!0})]),this.dialog.hidden=!0,this.overlay.hidden=!1,this.panel.hidden=!1,vi(this);let e=this.originalTrigger;if(typeof e?.focus==="function")setTimeout(()=>e.focus());this.emit("modal-after-hide")}}async show(){if(this.open)return;return this.open=!0,Oi(this,"modal-after-show")}async hide(){if(!this.open)return;return this.open=!1,Oi(this,"modal-after-hide")}render(){return q`
|
|
2936
2933
|
<div
|
|
2937
2934
|
part="base"
|
|
2938
2935
|
class=${E({dialog:!0,"dialog--open":this.open,"dialog--fixed-position":this.fixedPosition})}
|
|
@@ -2950,8 +2947,8 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
2950
2947
|
role="dialog"
|
|
2951
2948
|
aria-modal="true"
|
|
2952
2949
|
aria-hidden=${this.open?"false":"true"}
|
|
2953
|
-
aria-label=${
|
|
2954
|
-
aria-labelledby=${
|
|
2950
|
+
aria-label=${va(this.noHeader?this.label:void 0)}
|
|
2951
|
+
aria-labelledby=${va(!this.noHeader?"title":void 0)}
|
|
2955
2952
|
tabindex="-1"
|
|
2956
2953
|
>
|
|
2957
2954
|
<div part="body" class="dialog__body" tabindex="-1"><slot></slot></div>
|
|
@@ -2960,7 +2957,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
2960
2957
|
</div>
|
|
2961
2958
|
</div>
|
|
2962
2959
|
</div>
|
|
2963
|
-
`}}d([aa({context:T,subscribe:!0})],Ze.prototype,"gameData",void 0),d([z({type:Boolean})],Ze.prototype,"fixedPosition",void 0),d([ca(".dialog")],Ze.prototype,"dialog",void 0),d([ca(".dialog__panel")],Ze.prototype,"panel",void 0),d([ca(".dialog__overlay")],Ze.prototype,"overlay",void 0),d([z({type:Boolean,reflect:!0})],Ze.prototype,"open",void 0),d([z({reflect:!0})],Ze.prototype,"label",void 0),d([z({type:Boolean})],Ze.prototype,"lockScrolling",void 0),d([z({attribute:"no-header",type:Boolean,reflect:!0})],Ze.prototype,"noHeader",void 0),d([
|
|
2960
|
+
`}}d([aa({context:T,subscribe:!0})],Ze.prototype,"gameData",void 0),d([z({type:Boolean})],Ze.prototype,"fixedPosition",void 0),d([ca(".dialog")],Ze.prototype,"dialog",void 0),d([ca(".dialog__panel")],Ze.prototype,"panel",void 0),d([ca(".dialog__overlay")],Ze.prototype,"overlay",void 0),d([z({type:Boolean,reflect:!0})],Ze.prototype,"open",void 0),d([z({reflect:!0})],Ze.prototype,"label",void 0),d([z({type:Boolean})],Ze.prototype,"lockScrolling",void 0),d([z({attribute:"no-header",type:Boolean,reflect:!0})],Ze.prototype,"noHeader",void 0),d([ka("open",{waitUntilFirstUpdate:!0})],Ze.prototype,"handleOpenChange",null),Ze=d([J("origami-modal")],Ze);xa("dialog.show",{keyframes:[{opacity:0.9,transform:"translateX(100%)"},{opacity:1,transform:"translateX(0)"}],options:{duration:150,easing:"ease-out"}});xa("dialog.hide",{keyframes:[{opacity:1,transform:"translateX(0)"},{opacity:0.9,transform:"translateX(100%)"}],options:{duration:150,easing:"ease-out"}});xa("dialog.denyClose",{keyframes:[{scale:1},{scale:1.02},{scale:1}],options:{duration:150}});xa("dialog.overlay.show",{keyframes:[{opacity:0},{opacity:1}],options:{duration:150}});xa("dialog.overlay.hide",{keyframes:[{opacity:1},{opacity:0}],options:{duration:150}});var gt=Q`
|
|
2964
2961
|
:host {
|
|
2965
2962
|
display: flex;
|
|
2966
2963
|
flex-direction: column;
|
|
@@ -3200,7 +3197,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
3200
3197
|
|
|
3201
3198
|
${C}
|
|
3202
3199
|
</div>
|
|
3203
|
-
`}}d([
|
|
3200
|
+
`}}d([L()],ar.prototype,"_historyData",void 0),d([L()],ar.prototype,"_isLoading",void 0),d([ca(".table-wrapper")],ar.prototype,"_tableWrapper",void 0),ar=d([J("origami-history-table")],ar);var _i=Q`
|
|
3204
3201
|
:host {
|
|
3205
3202
|
display: flex;
|
|
3206
3203
|
flex-direction: column;
|
|
@@ -4012,7 +4009,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
4012
4009
|
.multiplier-default {
|
|
4013
4010
|
color: var(--secondary-text-color, #B3B3B3);
|
|
4014
4011
|
}
|
|
4015
|
-
`;var yl=250;class rr extends Y{constructor(){super(...arguments);this.resultMultiplier=null;this.isWin=!0;this.betId="";this.betTargetMultiplier=2;this.disableAnimation=!1;this.disableSound=!1;this.inGameDisplay=!1;this.ignoreInstantBet=!1;this.currentValue=1;this.isAnimating=!1;this.queuedMultiplier=null}static styles=[N,It];animationFrame=null;startTime=null;lastHapticTime=0;updated(a){if(a.has("resultMultiplier")&&!this.disableAnimation){if(this.resultMultiplier===null){requestAnimationFrame(()=>{if(this.isConnected)this.currentValue=1});return}if(this.isAnimating)this.queuedMultiplier={resultMultiplier:this.resultMultiplier,isWin:this.isWin,betId:this.betId,betTargetMultiplier:this.betTargetMultiplier};else requestAnimationFrame(()=>{if(this.isConnected)this.startAnimation(this.resultMultiplier,this.betId,this.betTargetMultiplier)})}}disconnectedCallback(){if(super.disconnectedCallback(),this.animationFrame)cancelAnimationFrame(this.animationFrame)}startAnimation(a,i,e){if(this.animationFrame)cancelAnimationFrame(this.animationFrame);let o=e<=a;if(this.gameData?.instantBetEnabled&&!this.ignoreInstantBet){this.isAnimating=!0,this.currentValue=a,requestAnimationFrame(()=>{if(!this.isConnected)return;this.emit("limbo-multiplier-animation-end",{detail:{resultMultiplier:a,isWin:o,betId:i}}),this.isAnimating=!1});return}requestAnimationFrame(()=>{if(!this.isConnected)return;if(this.isAnimating=!0,this.currentValue=1,this.lastHapticTime=0,!this.disableSound)this.gameData?.soundController?.play("limbo-tick").catch((r)=>console.error(r));this.animationFrame=requestAnimationFrame((r)=>{this.startTime=r,this.updateAnimation(r,a,o,i,e)})})}updateAnimation(a,i,e,o,r){if(!this.startTime)return;let n=a-this.startTime,t=Math.min(n/yl,1);if(!this.disableSound&&n-this.lastHapticTime>60&&t<1)this.gameData?.hapticController?.lightClick(),this.lastHapticTime=n;if(i!==null)if(t>=1)this.currentValue=i,this.emit("limbo-multiplier-animation-end",{detail:{resultMultiplier:i,isWin:e,betId:o}}),requestAnimationFrame(()=>{if(this.isConnected){if(this.isAnimating=!1,this.queuedMultiplier){let s=this.queuedMultiplier;this.queuedMultiplier=null,this.startAnimation(s.resultMultiplier,s.betId,s.betTargetMultiplier)}}});else if(i>0)this.currentValue=i**t;else this.currentValue=1;else this.currentValue=1;if(t<1)this.animationFrame=requestAnimationFrame((s)=>this.updateAnimation(s,i,e,o,r))}_getMultiplierColor(){if(this.resultMultiplier!==null){if(this.resultMultiplier<this.betTargetMultiplier&&this.currentValue===this.resultMultiplier)return"multiplier-danger";if(this.currentValue>=this.betTargetMultiplier)return"multiplier-success"}return"multiplier-default"}render(){let a=["multiplier",this._getMultiplierColor()].filter(Boolean).join(" "),i=(this.resultMultiplier===0?0:this.currentValue).toFixed(2);return q`<div class=${a}>${this.disableAnimation?this.resultMultiplier?.toFixed(2):i}X</div>`}}d([aa({context:T,subscribe:!0})],rr.prototype,"gameData",void 0),d([z({type:Number})],rr.prototype,"resultMultiplier",void 0),d([z({type:Boolean})],rr.prototype,"isWin",void 0),d([z({type:String})],rr.prototype,"betId",void 0),d([z({type:Number})],rr.prototype,"betTargetMultiplier",void 0),d([z({type:Boolean})],rr.prototype,"disableAnimation",void 0),d([z({type:Boolean})],rr.prototype,"disableSound",void 0),d([z({type:Boolean})],rr.prototype,"inGameDisplay",void 0),d([z({type:Boolean})],rr.prototype,"ignoreInstantBet",void 0),d([
|
|
4012
|
+
`;var yl=250;class rr extends Y{constructor(){super(...arguments);this.resultMultiplier=null;this.isWin=!0;this.betId="";this.betTargetMultiplier=2;this.disableAnimation=!1;this.disableSound=!1;this.inGameDisplay=!1;this.ignoreInstantBet=!1;this.currentValue=1;this.isAnimating=!1;this.queuedMultiplier=null}static styles=[N,It];animationFrame=null;startTime=null;lastHapticTime=0;updated(a){if(a.has("resultMultiplier")&&!this.disableAnimation){if(this.resultMultiplier===null){requestAnimationFrame(()=>{if(this.isConnected)this.currentValue=1});return}if(this.isAnimating)this.queuedMultiplier={resultMultiplier:this.resultMultiplier,isWin:this.isWin,betId:this.betId,betTargetMultiplier:this.betTargetMultiplier};else requestAnimationFrame(()=>{if(this.isConnected)this.startAnimation(this.resultMultiplier,this.betId,this.betTargetMultiplier)})}}disconnectedCallback(){if(super.disconnectedCallback(),this.animationFrame)cancelAnimationFrame(this.animationFrame)}startAnimation(a,i,e){if(this.animationFrame)cancelAnimationFrame(this.animationFrame);let o=e<=a;if(this.gameData?.instantBetEnabled&&!this.ignoreInstantBet){this.isAnimating=!0,this.currentValue=a,requestAnimationFrame(()=>{if(!this.isConnected)return;this.emit("limbo-multiplier-animation-end",{detail:{resultMultiplier:a,isWin:o,betId:i}}),this.isAnimating=!1});return}requestAnimationFrame(()=>{if(!this.isConnected)return;if(this.isAnimating=!0,this.currentValue=1,this.lastHapticTime=0,!this.disableSound)this.gameData?.soundController?.play("limbo-tick").catch((r)=>console.error(r));this.animationFrame=requestAnimationFrame((r)=>{this.startTime=r,this.updateAnimation(r,a,o,i,e)})})}updateAnimation(a,i,e,o,r){if(!this.startTime)return;let n=a-this.startTime,t=Math.min(n/yl,1);if(!this.disableSound&&n-this.lastHapticTime>60&&t<1)this.gameData?.hapticController?.lightClick(),this.lastHapticTime=n;if(i!==null)if(t>=1)this.currentValue=i,this.emit("limbo-multiplier-animation-end",{detail:{resultMultiplier:i,isWin:e,betId:o}}),requestAnimationFrame(()=>{if(this.isConnected){if(this.isAnimating=!1,this.queuedMultiplier){let s=this.queuedMultiplier;this.queuedMultiplier=null,this.startAnimation(s.resultMultiplier,s.betId,s.betTargetMultiplier)}}});else if(i>0)this.currentValue=i**t;else this.currentValue=1;else this.currentValue=1;if(t<1)this.animationFrame=requestAnimationFrame((s)=>this.updateAnimation(s,i,e,o,r))}_getMultiplierColor(){if(this.resultMultiplier!==null){if(this.resultMultiplier<this.betTargetMultiplier&&this.currentValue===this.resultMultiplier)return"multiplier-danger";if(this.currentValue>=this.betTargetMultiplier)return"multiplier-success"}return"multiplier-default"}render(){let a=["multiplier",this._getMultiplierColor()].filter(Boolean).join(" "),i=(this.resultMultiplier===0?0:this.currentValue).toFixed(2);return q`<div class=${a}>${this.disableAnimation?this.resultMultiplier?.toFixed(2):i}X</div>`}}d([aa({context:T,subscribe:!0})],rr.prototype,"gameData",void 0),d([z({type:Number})],rr.prototype,"resultMultiplier",void 0),d([z({type:Boolean})],rr.prototype,"isWin",void 0),d([z({type:String})],rr.prototype,"betId",void 0),d([z({type:Number})],rr.prototype,"betTargetMultiplier",void 0),d([z({type:Boolean})],rr.prototype,"disableAnimation",void 0),d([z({type:Boolean})],rr.prototype,"disableSound",void 0),d([z({type:Boolean})],rr.prototype,"inGameDisplay",void 0),d([z({type:Boolean})],rr.prototype,"ignoreInstantBet",void 0),d([L()],rr.prototype,"currentValue",void 0),d([L()],rr.prototype,"isAnimating",void 0),d([L()],rr.prototype,"queuedMultiplier",void 0),rr=d([J("origami-limbo-multiplier")],rr);var jt=Q`
|
|
4016
4013
|
:host {
|
|
4017
4014
|
display: flex;
|
|
4018
4015
|
flex-direction: column;
|
|
@@ -4403,7 +4400,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
4403
4400
|
</div>
|
|
4404
4401
|
`}
|
|
4405
4402
|
</div>
|
|
4406
|
-
`}}d([z({type:Number})],nr.prototype,"step",void 0),d([z({type:Boolean})],nr.prototype,"isRollLower",void 0),d([z({type:Number})],nr.prototype,"value",void 0),d([z({type:Number})],nr.prototype,"min",void 0),d([z({type:Number})],nr.prototype,"max",void 0),d([z({type:Boolean,reflect:!0})],nr.prototype,"disabled",void 0),d([z({type:Number})],nr.prototype,"resultValue",void 0),d([z({type:Boolean})],nr.prototype,"showDice",void 0),d([z({type:Boolean})],nr.prototype,"isWin",void 0),d([z({type:Boolean})],nr.prototype,"inGameDisplay",void 0),d([z({type:Boolean})],nr.prototype,"persistResult",void 0),d([z({type:Boolean})],nr.prototype,"ignoreInstantBet",void 0),d([aa({context:T,subscribe:!0})],nr.prototype,"gameData",void 0),d([
|
|
4403
|
+
`}}d([z({type:Number})],nr.prototype,"step",void 0),d([z({type:Boolean})],nr.prototype,"isRollLower",void 0),d([z({type:Number})],nr.prototype,"value",void 0),d([z({type:Number})],nr.prototype,"min",void 0),d([z({type:Number})],nr.prototype,"max",void 0),d([z({type:Boolean,reflect:!0})],nr.prototype,"disabled",void 0),d([z({type:Number})],nr.prototype,"resultValue",void 0),d([z({type:Boolean})],nr.prototype,"showDice",void 0),d([z({type:Boolean})],nr.prototype,"isWin",void 0),d([z({type:Boolean})],nr.prototype,"inGameDisplay",void 0),d([z({type:Boolean})],nr.prototype,"persistResult",void 0),d([z({type:Boolean})],nr.prototype,"ignoreInstantBet",void 0),d([aa({context:T,subscribe:!0})],nr.prototype,"gameData",void 0),d([L()],nr.prototype,"isResultVisible",void 0),d([L()],nr.prototype,"dimLosingSide",void 0),nr=d([J("origami-dice-slider")],nr);var oe=oa`
|
|
4407
4404
|
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="65" viewBox="0 0 64 65" fill="none">
|
|
4408
4405
|
<path fill="#D9D9D9" d="M0 48.4v-32l16-16h32l16 16v32l-16 16H16l-16-16Z"/>
|
|
4409
4406
|
<path fill="#08FC02" d="M12.8 42V22.8l9.6-9.6h19.2l9.6 9.6V42l-9.6 9.6H22.4L12.8 42Z"/>
|
|
@@ -4696,7 +4693,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
4696
4693
|
></origami-keno-tile>
|
|
4697
4694
|
`})}
|
|
4698
4695
|
</div>
|
|
4699
|
-
`}}d([z({type:Array})],sr.prototype,"selectedTiles",void 0),d([z({type:Array})],sr.prototype,"resultTiles",void 0),d([z({type:Boolean})],sr.prototype,"popupShowing",void 0),d([z({type:Boolean,reflect:!0})],sr.prototype,"isPlaying",void 0),d([z({type:Boolean,reflect:!0})],sr.prototype,"gameOver",void 0),d([z({type:Boolean})],sr.prototype,"autoselectRunning",void 0),d([
|
|
4696
|
+
`}}d([z({type:Array})],sr.prototype,"selectedTiles",void 0),d([z({type:Array})],sr.prototype,"resultTiles",void 0),d([z({type:Boolean})],sr.prototype,"popupShowing",void 0),d([z({type:Boolean,reflect:!0})],sr.prototype,"isPlaying",void 0),d([z({type:Boolean,reflect:!0})],sr.prototype,"gameOver",void 0),d([z({type:Boolean})],sr.prototype,"autoselectRunning",void 0),d([L()],sr.prototype,"enableSounds",void 0),d([z({type:String,attribute:"aria-label"})],sr.prototype,"ariaLabel",void 0),d([aa({context:T,subscribe:!0})],sr.prototype,"gameData",void 0),d([z({type:Boolean})],sr.prototype,"isDesktop",void 0),sr=d([J("origami-keno-grid")],sr);class lr extends wa{constructor(){super(...arguments);this.gameType="MINES";this.inBetResultModal=!1;this.enableAnimation=!1;this.persistResult=!1;this.animatedLimboMultiplier=null;this.animatedDiceResult=null;this.animatedKenoResults=[];this.animatedMinesState=null}static styles=[N,ft];gameConsumer=new ma(this,{context:T,subscribe:!0});connectedCallback(){super.connectedCallback(),requestAnimationFrame(()=>{if(!this.isConnected)return;if(this.enableAnimation&&this.gameType==="LIMBO"&&this.limboData)this.animatedLimboMultiplier=null,setTimeout(()=>{if(this.isConnected)this.animatedLimboMultiplier=this.limboData?.resultMultiplier??null},100);if(this.enableAnimation&&this.gameType==="DICE"&&this.diceData)this.animatedDiceResult=null,setTimeout(()=>{if(this.isConnected)this.animatedDiceResult=this.diceData?.resultValue??null},100);if(this.enableAnimation&&this.gameType==="KENO"&&this.kenoData)this.animatedKenoResults=[],this.kenoData.resultTiles?.forEach((a,i)=>{setTimeout(()=>{if(this.isConnected)this.animatedKenoResults=[...this.animatedKenoResults,a]},100+i*150)});if(this.enableAnimation&&this.gameType==="MINES"&&this.minesData){this.animatedMinesState={selectedTiles:[],mineLocations:this.minesData.mineLocations||[],state:"GAME_IN_PROGRESS"};let a=this.minesData.selectedTiles||[];setTimeout(()=>{if(!this.isConnected)return;a.forEach((e,o)=>{setTimeout(()=>{if(this.isConnected)this.animatedMinesState={...this.animatedMinesState,selectedTiles:[...this.animatedMinesState?.selectedTiles||[],e],state:"GAME_IN_PROGRESS"}},o*200)});let i=a.length*200+300;setTimeout(()=>{if(this.isConnected)this.animatedMinesState={...this.animatedMinesState,state:"VIEWING_RESULTS"}},i)},50)}})}updated(a){if(super.updated(a),a.has("enableAnimation")&&this.enableAnimation)requestAnimationFrame(()=>{if(!this.isConnected)return;if(this.gameType==="LIMBO"&&this.limboData)this.animatedLimboMultiplier=null,setTimeout(()=>{if(this.isConnected)this.animatedLimboMultiplier=this.limboData?.resultMultiplier??null},100);if(this.gameType==="DICE"&&this.diceData)this.animatedDiceResult=null,setTimeout(()=>{if(this.isConnected)this.animatedDiceResult=this.diceData?.resultValue??null},100);if(this.gameType==="KENO"&&this.kenoData)this.animateKenoResults()})}async animateKenoResults(){if(!this.kenoData||!this.isConnected)return;requestAnimationFrame(()=>{if(this.isConnected)this.animatedKenoResults=[]});let a=this.kenoData.resultTiles||[];await new Promise((i)=>setTimeout(i,100));for(let i of a){if(!this.isConnected)break;requestAnimationFrame(()=>{if(this.isConnected)this.animatedKenoResults=[...this.animatedKenoResults,i]}),await new Promise((e)=>setTimeout(e,150))}}render(){switch(this.gameType){case"MINES":let a=this.minesData?.selectedTiles||[],i=this.minesData?.mineLocations||[],e=a.some((r)=>i.includes(r)),o=a.length>0&&!e;return q`
|
|
4700
4697
|
<origami-mines-grid
|
|
4701
4698
|
.minesState=${this.enableAnimation&&this.animatedMinesState?this.animatedMinesState:{selectedTiles:this.minesData?.selectedTiles||[1,12,13],state:"VIEWING_RESULTS",mineLocations:this.minesData?.mineLocations||[7,17,22,15,23]}}
|
|
4702
4699
|
?hasWon=${o}
|
|
@@ -4739,7 +4736,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
4739
4736
|
?gameOver=${this.kenoData?.gameOver??!0}
|
|
4740
4737
|
?popupShowing=${this.kenoData?.popupShowing??!1}
|
|
4741
4738
|
></origami-keno-grid>
|
|
4742
|
-
`;case"INVALID_GAME":return q`<p>${j("fairness.invalidGame",this.gameConsumer.value?.language||$)}</p>`;default:this.gameType}}}d([z({type:String})],lr.prototype,"gameType",void 0),d([z({type:Boolean})],lr.prototype,"inBetResultModal",void 0),d([z({type:Object})],lr.prototype,"minesData",void 0),d([z({type:Object})],lr.prototype,"limboData",void 0),d([z({type:Object})],lr.prototype,"diceData",void 0),d([z({type:Object})],lr.prototype,"kenoData",void 0),d([z({type:Boolean})],lr.prototype,"enableAnimation",void 0),d([z({type:Boolean})],lr.prototype,"persistResult",void 0),d([
|
|
4739
|
+
`;case"INVALID_GAME":return q`<p>${j("fairness.invalidGame",this.gameConsumer.value?.language||$)}</p>`;default:this.gameType}}}d([z({type:String})],lr.prototype,"gameType",void 0),d([z({type:Boolean})],lr.prototype,"inBetResultModal",void 0),d([z({type:Object})],lr.prototype,"minesData",void 0),d([z({type:Object})],lr.prototype,"limboData",void 0),d([z({type:Object})],lr.prototype,"diceData",void 0),d([z({type:Object})],lr.prototype,"kenoData",void 0),d([z({type:Boolean})],lr.prototype,"enableAnimation",void 0),d([z({type:Boolean})],lr.prototype,"persistResult",void 0),d([L()],lr.prototype,"animatedLimboMultiplier",void 0),d([L()],lr.prototype,"animatedDiceResult",void 0),d([L()],lr.prototype,"animatedKenoResults",void 0),d([L()],lr.prototype,"animatedMinesState",void 0),lr=d([J("origami-game-outcome-display")],lr);var re=oa`
|
|
4743
4740
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
|
|
4744
4741
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.6666 1.33325H5.33329V2.66659H2.66663V14.6666H13.3333V2.66659H10.6666V1.33325ZM9.33329 2.66659H6.66663V3.99992H9.33329V2.66659Z" fill="var(--secondary-text-color, #B3B3B3)"/>
|
|
4745
4742
|
</svg>`,ne=oa`
|
|
@@ -4997,7 +4994,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
4997
4994
|
|
|
4998
4995
|
${this._renderVerificationInputs()}
|
|
4999
4996
|
</div>
|
|
5000
|
-
`}_renderProvablyFairInfo(){let a=this.gameConsumer.value?.language||$,i=["proofString","hashSequence","gameId","tenantId","tenantUserId","nonce"],e=(s)=>{if(!s)return s;let l=new RegExp(`\\b(${i.join("|")})\\b`,"g"),u=[],h=0,f;while(f=l.exec(s)){if(f.index>h)u.push(s.slice(h,f.index));u.push(q`<code>${f[0]}</code>`),h=l.lastIndex}if(h<s.length)u.push(s.slice(h));let c="draft-irtf-cfrg-vrf-15",y="https://datatracker.ietf.org/doc/draft-irtf-cfrg-vrf/15/",g=[];for(let b of u)if(typeof b==="string"&&b.includes(c)){let I=b.split(c);I.forEach((m,
|
|
4997
|
+
`}_renderProvablyFairInfo(){let a=this.gameConsumer.value?.language||$,i=["proofString","hashSequence","gameId","tenantId","tenantUserId","nonce"],e=(s)=>{if(!s)return s;let l=new RegExp(`\\b(${i.join("|")})\\b`,"g"),u=[],h=0,f;while(f=l.exec(s)){if(f.index>h)u.push(s.slice(h,f.index));u.push(q`<code>${f[0]}</code>`),h=l.lastIndex}if(h<s.length)u.push(s.slice(h));let c="draft-irtf-cfrg-vrf-15",y="https://datatracker.ietf.org/doc/draft-irtf-cfrg-vrf/15/",g=[];for(let b of u)if(typeof b==="string"&&b.includes(c)){let I=b.split(c);I.forEach((m,k)=>{if(m)g.push(m);if(k<I.length-1)g.push(q`<a class="verify-link" href=${y} target="_blank" rel="noopener noreferrer">${c}</a>`)})}else g.push(b);return g},o=j("fairness.info.p1",a,"Every round’s result comes from verifiable randomness, not hidden server logic. We build a deterministic seed from values unique to your round—gameId, tenantId, tenantUserId, an incrementing nonce (one per completed round), plus your clientSeed. This guarantees each round is unique and reproducible: same inputs → same random stream → same outcome."),r=j("fairness.info.p2",a,"That seed is run through an Elliptic Curve Verifiable Random Function (ECVRF) per the IETF spec draft-irtf-cfrg-vrf-15. Our server uses its private key to produce a random value and a cryptographic proof (proofString). Anyone with our public key can independently verify that proof for the given inputs—confirming the randomness came from the seed and wasn’t tampered with. The SDK is TypeScript, while the core crypto uses the fastcrypto Rust library via NAPI-RS for performance and safety."),n=j("fairness.info.p3",a,"Once verified, the VRF output seeds a deterministic random byte generator (hashSequence). The games transform those bytes into outcomes using deterministic, unbiased logic. Because the process is deterministic and the nonce advances every completed round, you get both replayable audits (recreate the same round exactly) and fresh, non-repeating randomness each time."),t=j("fairness.info.p4",a,"After a round, you have the inputs (including your clientSeed and the round’s nonce), the VRF output, the proofString, and our public key. Use any ECVRF verifier or our libraries to: (1) verify the proof against the inputs and public key, and (2) regenerate the same hashSequence and outcome. Our private key never leaves secure servers; the public key is safe to use client-side for independent checks.");return q`
|
|
5001
4998
|
<section class="pf-info">
|
|
5002
4999
|
<div class="info-message">
|
|
5003
5000
|
<span class="info-icon">${Ft}</span>
|
|
@@ -5076,7 +5073,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
5076
5073
|
</details>
|
|
5077
5074
|
</div>
|
|
5078
5075
|
</section>
|
|
5079
|
-
`}}d([z({type:Object})],dr.prototype,"provablyFairData",void 0),d([z({type:Boolean})],dr.prototype,"showExtendedFields",void 0),d([z({type:Boolean})],dr.prototype,"showClientSeedEditor",void 0),d([z({type:Boolean})],dr.prototype,"showBackButton",void 0),d([
|
|
5076
|
+
`}}d([z({type:Object})],dr.prototype,"provablyFairData",void 0),d([z({type:Boolean})],dr.prototype,"showExtendedFields",void 0),d([z({type:Boolean})],dr.prototype,"showClientSeedEditor",void 0),d([z({type:Boolean})],dr.prototype,"showBackButton",void 0),d([L()],dr.prototype,"_isVerifying",void 0),d([L()],dr.prototype,"_isVerified",void 0),d([L()],dr.prototype,"_copiedFields",void 0),d([z({type:String})],dr.prototype,"baseUrl",void 0),d([L()],dr.prototype,"activeClientSeed",void 0),d([L()],dr.prototype,"_isLoadingClientSeed",void 0),d([L()],dr.prototype,"_hasClientSeedChanged",void 0),d([L()],dr.prototype,"newClientSeed",void 0),d([L()],dr.prototype,"_isSavingClientSeed",void 0),d([L()],dr.prototype,"_activePublicKey",void 0),d([L()],dr.prototype,"_hasLoadedPublicKey",void 0),d([L()],dr.prototype,"authToken",void 0),d([L()],dr.prototype,"_showProvablyFairInfo",void 0),dr=d([J("origami-fairness-content")],dr);class ur extends wa{constructor(){super(...arguments);this.provablyFairData={publicKey:"",request:"",proof:"",randomness:"",clientSeed:""};this.activeTab="History";this.showExtendedFields=!0;this.showClientSeedEditor=!1;this.showBackButton=!1}static styles=[N];gameConsumer=new ma(this,{context:T,subscribe:!0});_renderTabContent(){if(this.activeTab==="Fairness")return q`<origami-fairness-content
|
|
5080
5077
|
.baseUrl=${this.gameConsumer.value?.baseUrl??""}
|
|
5081
5078
|
.provablyFairData=${this.provablyFairData}
|
|
5082
5079
|
.showExtendedFields=${this.showExtendedFields}
|
|
@@ -5907,7 +5904,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
5907
5904
|
width: 16px;
|
|
5908
5905
|
height: 16px;
|
|
5909
5906
|
}
|
|
5910
|
-
`;var zl=W(256),Zt=W(40),xl=[{tiles:1,payout:{CLASSIC:[0,3.96],LOW_RISK:[0.7,1.85],MEDIUM_RISK:[0.4,2.75],HIGH_RISK:[0,3.96]}},{tiles:2,payout:{CLASSIC:[0,1.9,4.5],LOW_RISK:[0,2,3.8],MEDIUM_RISK:[0,1.8,5.1],HIGH_RISK:[0,0,17.1]}},{tiles:3,payout:{CLASSIC:[0,1,3.1,10.4],LOW_RISK:[0,1.1,1.38,26],MEDIUM_RISK:[0,0,2.8,50],HIGH_RISK:[0,0,0,81.5]}},{tiles:4,payout:{CLASSIC:[0,0.8,1.8,5,22.5],LOW_RISK:[0,0,2.2,7.9,90],MEDIUM_RISK:[0,0,1.7,10,100],HIGH_RISK:[0,0,0,10,259]}},{tiles:5,payout:{CLASSIC:[0,0.25,1.4,4.1,16.5,36],LOW_RISK:[0,0,1.5,4.2,13,300],MEDIUM_RISK:[0,0,1.4,4,14,390],HIGH_RISK:[0,0,0,4.5,48,450]}},{tiles:6,payout:{CLASSIC:[0,0,1,3.68,7,16.5,40],LOW_RISK:[0,0,1.1,2,6.2,100,700],MEDIUM_RISK:[0,0,0,3,9,180,710],HIGH_RISK:[0,0,0,0,11,350,710]}},{tiles:7,payout:{CLASSIC:[0,0,0.47,3,4.5,14,31,60],LOW_RISK:[0,0,1.1,1.6,3.5,15,225,700],MEDIUM_RISK:[0,0,0,2,7,30,400,800],HIGH_RISK:[0,0,0,0,7,90,400,800]}},{tiles:8,payout:{CLASSIC:[0,0,0,2.2,4,13,22,55,70],LOW_RISK:[0,0,1.1,1.5,2,5.5,39,100,800],MEDIUM_RISK:[0,0,0,2,4,11,67,400,900],HIGH_RISK:[0,0,0,0,5,20,270,600,900]}},{tiles:9,payout:{CLASSIC:[0,0,0,1.55,3,8,15,44,60,85],LOW_RISK:[0,0,1.1,1.3,1.7,2.5,7.5,50,250,1000],MEDIUM_RISK:[0,0,0,2,2.5,5,15,100,500,1000],HIGH_RISK:[0,0,0,0,4,11,56,500,800,1000]}},{tiles:10,payout:{CLASSIC:[0,0,0,1.4,2.25,4.5,8,17,50,80,100],LOW_RISK:[0,0,1.1,1.2,1.3,1.8,3.5,13,50,250,1000],MEDIUM_RISK:[0,0,0,1.6,2,4,7,26,100,500,1000],HIGH_RISK:[0,0,0,0,3.5,8,13,63,500,800,1000]}}],Sl=[{tiles:1,payout:{CLASSIC:[0,3.92],LOW_RISK:[0.7,1.82],MEDIUM_RISK:[0.4,2.72],HIGH_RISK:[0,3.92]}},{tiles:2,payout:{CLASSIC:[0,1.9,4.32],LOW_RISK:[0,2,3.65],MEDIUM_RISK:[0,1.8,5],HIGH_RISK:[0,0,17]}},{tiles:3,payout:{CLASSIC:[0,1,3,10.7],LOW_RISK:[0,1.1,1.3,26.2],MEDIUM_RISK:[0,0,2.7,50.3],HIGH_RISK:[0,0,0,80.7]}},{tiles:4,payout:{CLASSIC:[0,0.8,1.8,4.75,22.5],LOW_RISK:[0,0,2.2,7.65,90],MEDIUM_RISK:[0,0,1.7,9.8,100],HIGH_RISK:[0,0,0,9.75,259]}},{tiles:5,payout:{CLASSIC:[0,0.2,1.4,4.25,16.4,36],LOW_RISK:[0,0,1.5,4.1,12.9,300],MEDIUM_RISK:[0,0,1.4,3.9,13.9,390],HIGH_RISK:[0,0,0,4.5,47,450]}},{tiles:6,payout:{CLASSIC:[0,0,1,3.6,7,17,40],LOW_RISK:[0,0,1.1,2,5.8,100,700],MEDIUM_RISK:[0,0,0,3,8.6,180,710],HIGH_RISK:[0,0,0,0,10.6,350,710]}},{tiles:7,payout:{CLASSIC:[0,0,0.5,3,4.1,13.7,31,60],LOW_RISK:[0,0,1.1,1.6,3.5,13.5,225,700],MEDIUM_RISK:[0,0,0,2,6.9,29.2,400,800],HIGH_RISK:[0,0,0,0,6.9,89.1,400,800]}},{tiles:8,payout:{CLASSIC:[0,0,0,2.2,4,12.2,22,55,70],LOW_RISK:[0,0,1.1,1.5,2,4.8,38,100,800],MEDIUM_RISK:[0,0,0,2,4,10.4,66,400,900],HIGH_RISK:[0,0,0,0,4.9,19.8,270,600,900]}},{tiles:9,payout:{CLASSIC:[0,0,0,1.5,3,8.1,15,45,60,85],LOW_RISK:[0,0,1.1,1.3,1.7,2.1,7.4,50,250,1000],MEDIUM_RISK:[0,0,0,2,2.5,4.6,15.2,100,500,1000],HIGH_RISK:[0,0,0,0,4,10.7,55.4,500,800,1000]}},{tiles:10,payout:{CLASSIC:[0,0,0,1.4,2.2,4.5,7.6,16,50,80,100],LOW_RISK:[0,0,1.1,1.2,1.3,1.6,3.7,13,50,250,1000],MEDIUM_RISK:[0,0,0,1.6,2,3.8,6.8,26,100,500,1000],HIGH_RISK:[0,0,0,0,3.5,7.8,12.8,63,500,800,1000]}}],Il=[{tiles:1,payout:{CLASSIC:[0,3.88],LOW_RISK:[0.7,1.78],MEDIUM_RISK:[0.4,2.68],HIGH_RISK:[0,3.88]}},{tiles:2,payout:{CLASSIC:[0,1.85,4.48],LOW_RISK:[0,2,3.48],MEDIUM_RISK:[0,1.8,4.8],HIGH_RISK:[0,0,16.8]}},{tiles:3,payout:{CLASSIC:[0,1,3,9.9],LOW_RISK:[0,1.1,1.2,26.5],MEDIUM_RISK:[0,0,2.65,50],HIGH_RISK:[0,0,0,79.9]}},{tiles:4,payout:{CLASSIC:[0,0.8,1.7,5,23],LOW_RISK:[0,0,2.1,7.95,90],MEDIUM_RISK:[0,0,1.7,9.55,100],HIGH_RISK:[0,0,0,9.5,259]}},{tiles:5,payout:{CLASSIC:[0,0.2,1.4,4.1,16.6,36],LOW_RISK:[0,0,1.5,4,12.7,300],MEDIUM_RISK:[0,0,1.4,3.8,13.7,390],HIGH_RISK:[0,0,0,4.4,46.9,450]}},{tiles:6,payout:{CLASSIC:[0,0,1,3.6,6.6,16.5,40],LOW_RISK:[0,0,1.1,1.9,5.9,100,700],MEDIUM_RISK:[0,0,0,2.9,8.7,180,710],HIGH_RISK:[0,0,0,0,10.8,342,710]}},{tiles:7,payout:{CLASSIC:[0,0,0.5,2.9,4.3,13.5,30.4,60],LOW_RISK:[0,0,1.1,1.6,3.1,14.8,225,700],MEDIUM_RISK:[0,0,0,2,6.7,29,400,800],HIGH_RISK:[0,0,0,0,6.8,88.2,400,800]}},{tiles:8,payout:{CLASSIC:[0,0,0,2.2,3.8,12.7,21,54,70],LOW_RISK:[0,0,1.1,1.5,1.8,5.2,38,100,800],MEDIUM_RISK:[0,0,0,2,3.8,10.8,66,400,900],HIGH_RISK:[0,0,0,0,4.9,19.5,265,600,900]}},{tiles:9,payout:{CLASSIC:[0,0,0,1.5,2.9,8.2,15,43,60,85],LOW_RISK:[0,0,1.1,1.3,1.6,2.1,7.7,49,250,1000],MEDIUM_RISK:[0,0,0,2,2.4,4.7,15,98,500,1000],HIGH_RISK:[0,0,0,0,3.9,10.8,55,500,800,1000]}},{tiles:10,payout:{CLASSIC:[0,0,0,1.4,2.2,4.2,8,16.7,50,80,100],LOW_RISK:[0,0,1.1,1.2,1.3,1.5,2.9,12,50,250,1000],MEDIUM_RISK:[0,0,0,1.6,2,3.6,6.6,26,100,500,1000],HIGH_RISK:[0,0,0,0,3.4,7.9,12.9,62,500,800,1000]}}],jl=[{tiles:1,payout:{CLASSIC:[0,3.88],LOW_RISK:[0.68,1.84],MEDIUM_RISK:[0.38,2.74],HIGH_RISK:[0,3.88]}},{tiles:2,payout:{CLASSIC:[0,1.85,4.48],LOW_RISK:[0,1.96,3.75],MEDIUM_RISK:[0,1.77,5],HIGH_RISK:[0,0,16.82]}},{tiles:3,payout:{CLASSIC:[0,1,3.05,9.35],LOW_RISK:[0,1.07,1.37,25.7],MEDIUM_RISK:[0,0,2.74,49],HIGH_RISK:[0,0,0,79.9]}},{tiles:4,payout:{CLASSIC:[0,0.8,1.72,4.95,22.3],LOW_RISK:[0,0,2.15,7.86,87],MEDIUM_RISK:[0,0,1.67,9.7,100],HIGH_RISK:[0,0,0,9.7,256]}},{tiles:5,payout:{CLASSIC:[0,0.24,1.38,4,16.3,35.5],LOW_RISK:[0,0,1.48,4.1,12.43,300],MEDIUM_RISK:[0,0,1.35,3.96,13.8,389],HIGH_RISK:[0,0,0,4.4,47,444]}},{tiles:6,payout:{CLASSIC:[0,0,1,3.57,6.8,16.2,37],LOW_RISK:[0,0,1.06,1.96,6.16,99,700],MEDIUM_RISK:[0,0,0,2.9,8.9,178,709],HIGH_RISK:[0,0,0,0,10.4,347,709]}},{tiles:7,payout:{CLASSIC:[0,0,0.45,2.95,4.44,13.85,30,60],LOW_RISK:[0,0,1.07,1.57,3.47,14.57,225,700],MEDIUM_RISK:[0,0,0,1.95,6.8,29.8,400,800],HIGH_RISK:[0,0,0,0,6.8,88.2,400,800]}},{tiles:8,payout:{CLASSIC:[0,0,0,2.15,3.9,12.9,21.9,55,70],LOW_RISK:[0,0,1.08,1.45,1.98,5.48,38.8,100,800],MEDIUM_RISK:[0,0,0,1.95,3.96,10.6,66.9,396,896],HIGH_RISK:[0,0,0,0,4.9,19.2,269,599,896]}},{tiles:9,payout:{CLASSIC:[0,0,0,1.5,2.95,7.96,14.96,44,60,85],LOW_RISK:[0,0,1.05,1.29,1.69,2.49,7.49,49,250,1000],MEDIUM_RISK:[0,0,0,1.95,2.47,4.9,14.9,99,500,1000],HIGH_RISK:[0,0,0,0,3.96,10.5,55,500,800,1000]}},{tiles:10,payout:{CLASSIC:[0,0,0,1.37,2.2,4.45,7.7,16.7,50,80,100],LOW_RISK:[0,0,1.08,1.18,1.28,1.76,3.4,12.9,50,250,1000],MEDIUM_RISK:[0,0,0,1.57,1.95,3.96,6.9,25.5,100,500,1000],HIGH_RISK:[0,0,0,0,3.43,7.9,12.5,60,500,800,1000]}}],Hl=[1,2,3,4];class Pa{static validEdges=Hl;static getEdge(a){return Pa.validEdges.includes(a)?a:Za}static configs(a){if(a===1)return xl;if(a===2)return Sl;if(a===3)return Il;if(a===4)return jl;throw new Error(`Invalid edge: ${a}`)}static calculateMultiplier(a,i,e,o){let r=e.filter((t)=>i.includes(t)),n=this.configs(o).find((t)=>t.tiles===i.length);if(!n)throw new Error(`No configuration found for ${i.length} tiles`);return W(n.payout[a][r.length]??0)}static getResults(a,i){let e=[],o=Array.from(Array(Zt.toNumber()).keys());return a.map(He).every((r,n)=>{for(let t=0;t<8;t++){if(e.length>=i)return!1;let s=W(0);for(let l=0;l<4;l++){let u=r[4*t+l];s=s.plus(W(u).div(zl.pow(l+1)))}s=s.mul(Zt.minus(W(8*n+t))).round(0,W.roundDown),e.push(o.splice(s.toNumber(),1)[0]+1)}return!0}),e}static getChance({correctPicks:a,picked:i}){return W(Wi(10,a)).mul(Wi(30,i-a)).div(W(Wi(40,i)))}}class ea{authToken;baseUrl;static totalDiceValue=1e4;static minWinChance=0.01;static inputValuePrecision=4;static getMaxWinChance(a){return 99-a}constructor(a,i){this.authToken=a,this.baseUrl=i+"/games/dice"}async startBet(a){let i=await fetch(`${this.baseUrl}/play`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.authToken}`,"X-Origami-Trace":Oa()},body:JSON.stringify(a)}),e=await i.json();if(i.ok)return{success:!0,data:e};let o="alerts.gameError";switch(e.errorCode){case"INSUFFICIENT_BALANCE":o="alerts.insufficientBalance";break;case"LIMIT_REACHED":o="alerts.betLimitReached";break}return{success:!1,error:j(o,a.language)}}static getMultiplier(a,i,e){let o=ea.getWinChance(i,e);if(W(o).eq(0))return"0";return W(100-a).div(o).toFixed(ea.inputValuePrecision)}static getWinChance(a,i){let e=i==="ABOVE"?ea.totalDiceValue-a:a;return W(e).div(ea.totalDiceValue).mul(100).toFixed(ea.inputValuePrecision)}static getSelectedValueFromMultiplier(a,i,e){if(W(i).eq(0))return 0;let o=W(100-a).div(i);return ea.getSelectedValueFromWinChance(o.toString(),e)}static getSelectedValueFromWinChance(a,i){let e=W(a).div(100).mul(ea.totalDiceValue);if(i==="ABOVE")return Number(W(ea.totalDiceValue).minus(e).toFixed(0));return Number(W(e).toFixed(0))}static getSelectedValueFromRollOver(a){return ea.totalDiceValue-a}static getWinChanceFromSelectedValue(a,i){let e=i==="ABOVE"?ea.totalDiceValue-a:a;return W(e).div(ea.totalDiceValue).mul(100).toFixed(ea.inputValuePrecision)}static getMinMultiplier(a){return W(100-a).div(W(ea.getMaxWinChance(a))).toFixed(ea.inputValuePrecision)}static getMaxMultiplier(a){return W(100-a).div(W(ea.minWinChance)).toFixed(ea.inputValuePrecision)}static isValidMultiplier(a,i){if(!ga(i))return!1;return W(i).gte(ea.getMinMultiplier(a))&&W(i).lte(ea.getMaxMultiplier(a))}static isValidWinChance(a,i){if(!ga(a))return!1;try{let e=W(a),o=W(ea.minWinChance),r=W(ea.getMaxWinChance(i));return e.gte(o)&&e.lte(r)}catch{return!1}}}class pr{betData;constructor(a){this.betData=a}_getDiceData(){if(!this.betData.betActions||this.betData.betActions.length===0)return{resultValue:50,userValue:50,isRollLower:!1,winChance:"50.0000",isDiceWin:!1};let a=this.betData.betActions[0]?.data.DICE,i=this.betData.betActions[this.betData.betActions.length-1]?.data.DICE;if(!i||!a)return{resultValue:50,userValue:50,isRollLower:!1,winChance:"50.0000",isDiceWin:!1};let e=a.direction==="BELOW",o=i.result[0],r=a.selectedValue,n=a.direction==="ABOVE"?o>r:o<r,t=ea.getWinChance(a.selectedValue,a.direction);return{resultValue:o,userValue:r,isRollLower:e,winChance:t,isDiceWin:n}}_getMinesData(){if(!this.betData.betActions||this.betData.betActions.length===0)return{mineLocations:[],selectedTiles:[]};return{mineLocations:ja.deriveMineLocations(this.betData.betActions),selectedTiles:ja.deriveSelectedTiles(this.betData.betActions)}}_getKenoData(){if(!this.betData.betActions||this.betData.betActions.length===0)return{selectedNumbers:[],drawnNumbers:[],risk:"CLASSIC"};let a=this.betData.betActions[0]?.data.KENO,i=this.betData.betActions[this.betData.betActions.length-1]?.data.KENO;if(!i||!a)return{selectedNumbers:[],drawnNumbers:[],risk:"CLASSIC"};return{selectedNumbers:a.selectedNumbers,drawnNumbers:i.result,risk:a.riskLevel}}_getLimboData(){if(!this.betData.betActions||this.betData.betActions.length===0)return{resultMultiplier:0,targetMultiplier:0};let a=this.betData.betActions[0]?.data.LIMBO,i=this.betData.betActions[this.betData.betActions.length-1]?.data.LIMBO;if(!i||!a)return{resultMultiplier:0,targetMultiplier:0};return{resultMultiplier:i.randomMultiplier,targetMultiplier:a.targetMultiplier,isWin:Number(i.randomMultiplier)>=Number(a.targetMultiplier)}}getMinesDisplayData(){let{mineLocations:a,selectedTiles:i}=this._getMinesData();return{selectedTiles:i,mineLocations:a}}getLimboDisplayData(){let{resultMultiplier:a,targetMultiplier:i,isWin:e}=this._getLimboData();return{isWin:e||!1,betId:this.betData.id||"123",resultMultiplier:Number(a),betTargetMultiplier:Number(i)}}getDiceDisplayData(){let{resultValue:a,userValue:i,isRollLower:e,isDiceWin:o}=this._getDiceData();return{value:i/100,min:2,max:98,step:1,showDice:!0,disabled:!0,resultValue:a/100,isWin:o,isRollLower:e}}getKenoDisplayData(){let{selectedNumbers:a,drawnNumbers:i}=this._getKenoData();return{selectedTiles:a,resultTiles:i,isPlaying:!1,gameOver:!0,popupShowing:!1}}getDiceData(){return this._getDiceData()}}var ql=({gameId:a,tenantId:i,tenantUserId:e,nonce:o,clientSeed:r})=>{return`${a}-${i}-${e}-${o}-${r}`};class mr extends Y{constructor(){super(...arguments);this.betId="";this.betData=null}static styles=[N,Rt];gameConsumer=new ma(this,{context:T,subscribe:!0});betResultCache=Va.getInstance();async betIdUpdated(){let a=this.gameConsumer.value?.baseUrl;if(!a||!this.betId){this.betData=null;return}let i=await this.betResultCache.fetchBetResult(this.betId,a);this.betData=i}_getDataExtractor(){return this.betData?new pr(this.betData):null}_formatMonetaryAmount(a,i){return Fe(a,i)}_calculateMultiplier(a,i){let e=typeof a==="string"?a.replace(/^\$/,""):a,o=typeof i==="string"?i.replace(/^\$/,""):i,r=typeof e==="string"?parseFloat(e):e,n=typeof o==="string"?parseFloat(o):o;if(isNaN(r)||isNaN(n)||r===0)return"0.00x";return`${(n/r).toFixed(2)}x`}_calculatePayout(a,i){let e=typeof a==="string"?a.replace(/^\$/,""):a,o=typeof i==="string"?i.replace(/^\$/,""):i,r=typeof e==="string"?parseFloat(e):e,n=typeof o==="string"?parseFloat(o):o;if(isNaN(r)||isNaN(n))return{amount:0,isProfit:!1};if(n===0)return{amount:-r,isProfit:!1};return{amount:n,isProfit:n>r}}_getCurrencyDisplay(){let a=this.betData?.currency?.toUpperCase();if(this.gameData?.showCurrencyAsText)return q`<span class="currency-text">${a??ta}</span>`;return Ca(a??ta)}openVerifyOutcomeModal(){this.emit("open-verify-outcome-modal",{detail:{verifyData:{publicKey:this.gameData?.publicKey??"",request:ql({gameId:this.gameType,tenantId:this.betData?.tenantId??"",tenantUserId:this.betData?.tenantUserId??"",nonce:this.betData?.nonce.toString()??"",clientSeed:this.betData?.clientSeed??""}),proof:this.betData?.proof??"",randomness:this.betData?.randomValue??"",clientSeed:this.betData?.clientSeed??""}}})}triggerVerify(){this.openVerifyOutcomeModal()}get gameType(){if(!this.betData)return"LIMBO";let a=this.betData?.betActions?.[this.betData?.betActions.length-1],i=Object.keys(a?.data)?.[0]??"Unknown";return i.charAt(0).toUpperCase()+i.slice(1)}renderLoading(){return q`
|
|
5907
|
+
`;var zl=W(256),Zt=W(40),xl=[{tiles:1,payout:{CLASSIC:[0,3.96],LOW_RISK:[0.7,1.85],MEDIUM_RISK:[0.4,2.75],HIGH_RISK:[0,3.96]}},{tiles:2,payout:{CLASSIC:[0,1.9,4.5],LOW_RISK:[0,2,3.8],MEDIUM_RISK:[0,1.8,5.1],HIGH_RISK:[0,0,17.1]}},{tiles:3,payout:{CLASSIC:[0,1,3.1,10.4],LOW_RISK:[0,1.1,1.38,26],MEDIUM_RISK:[0,0,2.8,50],HIGH_RISK:[0,0,0,81.5]}},{tiles:4,payout:{CLASSIC:[0,0.8,1.8,5,22.5],LOW_RISK:[0,0,2.2,7.9,90],MEDIUM_RISK:[0,0,1.7,10,100],HIGH_RISK:[0,0,0,10,259]}},{tiles:5,payout:{CLASSIC:[0,0.25,1.4,4.1,16.5,36],LOW_RISK:[0,0,1.5,4.2,13,300],MEDIUM_RISK:[0,0,1.4,4,14,390],HIGH_RISK:[0,0,0,4.5,48,450]}},{tiles:6,payout:{CLASSIC:[0,0,1,3.68,7,16.5,40],LOW_RISK:[0,0,1.1,2,6.2,100,700],MEDIUM_RISK:[0,0,0,3,9,180,710],HIGH_RISK:[0,0,0,0,11,350,710]}},{tiles:7,payout:{CLASSIC:[0,0,0.47,3,4.5,14,31,60],LOW_RISK:[0,0,1.1,1.6,3.5,15,225,700],MEDIUM_RISK:[0,0,0,2,7,30,400,800],HIGH_RISK:[0,0,0,0,7,90,400,800]}},{tiles:8,payout:{CLASSIC:[0,0,0,2.2,4,13,22,55,70],LOW_RISK:[0,0,1.1,1.5,2,5.5,39,100,800],MEDIUM_RISK:[0,0,0,2,4,11,67,400,900],HIGH_RISK:[0,0,0,0,5,20,270,600,900]}},{tiles:9,payout:{CLASSIC:[0,0,0,1.55,3,8,15,44,60,85],LOW_RISK:[0,0,1.1,1.3,1.7,2.5,7.5,50,250,1000],MEDIUM_RISK:[0,0,0,2,2.5,5,15,100,500,1000],HIGH_RISK:[0,0,0,0,4,11,56,500,800,1000]}},{tiles:10,payout:{CLASSIC:[0,0,0,1.4,2.25,4.5,8,17,50,80,100],LOW_RISK:[0,0,1.1,1.2,1.3,1.8,3.5,13,50,250,1000],MEDIUM_RISK:[0,0,0,1.6,2,4,7,26,100,500,1000],HIGH_RISK:[0,0,0,0,3.5,8,13,63,500,800,1000]}}],Sl=[{tiles:1,payout:{CLASSIC:[0,3.92],LOW_RISK:[0.7,1.82],MEDIUM_RISK:[0.4,2.72],HIGH_RISK:[0,3.92]}},{tiles:2,payout:{CLASSIC:[0,1.9,4.32],LOW_RISK:[0,2,3.65],MEDIUM_RISK:[0,1.8,5],HIGH_RISK:[0,0,17]}},{tiles:3,payout:{CLASSIC:[0,1,3,10.7],LOW_RISK:[0,1.1,1.3,26.2],MEDIUM_RISK:[0,0,2.7,50.3],HIGH_RISK:[0,0,0,80.7]}},{tiles:4,payout:{CLASSIC:[0,0.8,1.8,4.75,22.5],LOW_RISK:[0,0,2.2,7.65,90],MEDIUM_RISK:[0,0,1.7,9.8,100],HIGH_RISK:[0,0,0,9.75,259]}},{tiles:5,payout:{CLASSIC:[0,0.2,1.4,4.25,16.4,36],LOW_RISK:[0,0,1.5,4.1,12.9,300],MEDIUM_RISK:[0,0,1.4,3.9,13.9,390],HIGH_RISK:[0,0,0,4.5,47,450]}},{tiles:6,payout:{CLASSIC:[0,0,1,3.6,7,17,40],LOW_RISK:[0,0,1.1,2,5.8,100,700],MEDIUM_RISK:[0,0,0,3,8.6,180,710],HIGH_RISK:[0,0,0,0,10.6,350,710]}},{tiles:7,payout:{CLASSIC:[0,0,0.5,3,4.1,13.7,31,60],LOW_RISK:[0,0,1.1,1.6,3.5,13.5,225,700],MEDIUM_RISK:[0,0,0,2,6.9,29.2,400,800],HIGH_RISK:[0,0,0,0,6.9,89.1,400,800]}},{tiles:8,payout:{CLASSIC:[0,0,0,2.2,4,12.2,22,55,70],LOW_RISK:[0,0,1.1,1.5,2,4.8,38,100,800],MEDIUM_RISK:[0,0,0,2,4,10.4,66,400,900],HIGH_RISK:[0,0,0,0,4.9,19.8,270,600,900]}},{tiles:9,payout:{CLASSIC:[0,0,0,1.5,3,8.1,15,45,60,85],LOW_RISK:[0,0,1.1,1.3,1.7,2.1,7.4,50,250,1000],MEDIUM_RISK:[0,0,0,2,2.5,4.6,15.2,100,500,1000],HIGH_RISK:[0,0,0,0,4,10.7,55.4,500,800,1000]}},{tiles:10,payout:{CLASSIC:[0,0,0,1.4,2.2,4.5,7.6,16,50,80,100],LOW_RISK:[0,0,1.1,1.2,1.3,1.6,3.7,13,50,250,1000],MEDIUM_RISK:[0,0,0,1.6,2,3.8,6.8,26,100,500,1000],HIGH_RISK:[0,0,0,0,3.5,7.8,12.8,63,500,800,1000]}}],Il=[{tiles:1,payout:{CLASSIC:[0,3.88],LOW_RISK:[0.7,1.78],MEDIUM_RISK:[0.4,2.68],HIGH_RISK:[0,3.88]}},{tiles:2,payout:{CLASSIC:[0,1.85,4.48],LOW_RISK:[0,2,3.48],MEDIUM_RISK:[0,1.8,4.8],HIGH_RISK:[0,0,16.8]}},{tiles:3,payout:{CLASSIC:[0,1,3,9.9],LOW_RISK:[0,1.1,1.2,26.5],MEDIUM_RISK:[0,0,2.65,50],HIGH_RISK:[0,0,0,79.9]}},{tiles:4,payout:{CLASSIC:[0,0.8,1.7,5,23],LOW_RISK:[0,0,2.1,7.95,90],MEDIUM_RISK:[0,0,1.7,9.55,100],HIGH_RISK:[0,0,0,9.5,259]}},{tiles:5,payout:{CLASSIC:[0,0.2,1.4,4.1,16.6,36],LOW_RISK:[0,0,1.5,4,12.7,300],MEDIUM_RISK:[0,0,1.4,3.8,13.7,390],HIGH_RISK:[0,0,0,4.4,46.9,450]}},{tiles:6,payout:{CLASSIC:[0,0,1,3.6,6.6,16.5,40],LOW_RISK:[0,0,1.1,1.9,5.9,100,700],MEDIUM_RISK:[0,0,0,2.9,8.7,180,710],HIGH_RISK:[0,0,0,0,10.8,342,710]}},{tiles:7,payout:{CLASSIC:[0,0,0.5,2.9,4.3,13.5,30.4,60],LOW_RISK:[0,0,1.1,1.6,3.1,14.8,225,700],MEDIUM_RISK:[0,0,0,2,6.7,29,400,800],HIGH_RISK:[0,0,0,0,6.8,88.2,400,800]}},{tiles:8,payout:{CLASSIC:[0,0,0,2.2,3.8,12.7,21,54,70],LOW_RISK:[0,0,1.1,1.5,1.8,5.2,38,100,800],MEDIUM_RISK:[0,0,0,2,3.8,10.8,66,400,900],HIGH_RISK:[0,0,0,0,4.9,19.5,265,600,900]}},{tiles:9,payout:{CLASSIC:[0,0,0,1.5,2.9,8.2,15,43,60,85],LOW_RISK:[0,0,1.1,1.3,1.6,2.1,7.7,49,250,1000],MEDIUM_RISK:[0,0,0,2,2.4,4.7,15,98,500,1000],HIGH_RISK:[0,0,0,0,3.9,10.8,55,500,800,1000]}},{tiles:10,payout:{CLASSIC:[0,0,0,1.4,2.2,4.2,8,16.7,50,80,100],LOW_RISK:[0,0,1.1,1.2,1.3,1.5,2.9,12,50,250,1000],MEDIUM_RISK:[0,0,0,1.6,2,3.6,6.6,26,100,500,1000],HIGH_RISK:[0,0,0,0,3.4,7.9,12.9,62,500,800,1000]}}],jl=[{tiles:1,payout:{CLASSIC:[0,3.88],LOW_RISK:[0.68,1.84],MEDIUM_RISK:[0.38,2.74],HIGH_RISK:[0,3.88]}},{tiles:2,payout:{CLASSIC:[0,1.85,4.48],LOW_RISK:[0,1.96,3.75],MEDIUM_RISK:[0,1.77,5],HIGH_RISK:[0,0,16.82]}},{tiles:3,payout:{CLASSIC:[0,1,3.05,9.35],LOW_RISK:[0,1.07,1.37,25.7],MEDIUM_RISK:[0,0,2.74,49],HIGH_RISK:[0,0,0,79.9]}},{tiles:4,payout:{CLASSIC:[0,0.8,1.72,4.95,22.3],LOW_RISK:[0,0,2.15,7.86,87],MEDIUM_RISK:[0,0,1.67,9.7,100],HIGH_RISK:[0,0,0,9.7,256]}},{tiles:5,payout:{CLASSIC:[0,0.24,1.38,4,16.3,35.5],LOW_RISK:[0,0,1.48,4.1,12.43,300],MEDIUM_RISK:[0,0,1.35,3.96,13.8,389],HIGH_RISK:[0,0,0,4.4,47,444]}},{tiles:6,payout:{CLASSIC:[0,0,1,3.57,6.8,16.2,37],LOW_RISK:[0,0,1.06,1.96,6.16,99,700],MEDIUM_RISK:[0,0,0,2.9,8.9,178,709],HIGH_RISK:[0,0,0,0,10.4,347,709]}},{tiles:7,payout:{CLASSIC:[0,0,0.45,2.95,4.44,13.85,30,60],LOW_RISK:[0,0,1.07,1.57,3.47,14.57,225,700],MEDIUM_RISK:[0,0,0,1.95,6.8,29.8,400,800],HIGH_RISK:[0,0,0,0,6.8,88.2,400,800]}},{tiles:8,payout:{CLASSIC:[0,0,0,2.15,3.9,12.9,21.9,55,70],LOW_RISK:[0,0,1.08,1.45,1.98,5.48,38.8,100,800],MEDIUM_RISK:[0,0,0,1.95,3.96,10.6,66.9,396,896],HIGH_RISK:[0,0,0,0,4.9,19.2,269,599,896]}},{tiles:9,payout:{CLASSIC:[0,0,0,1.5,2.95,7.96,14.96,44,60,85],LOW_RISK:[0,0,1.05,1.29,1.69,2.49,7.49,49,250,1000],MEDIUM_RISK:[0,0,0,1.95,2.47,4.9,14.9,99,500,1000],HIGH_RISK:[0,0,0,0,3.96,10.5,55,500,800,1000]}},{tiles:10,payout:{CLASSIC:[0,0,0,1.37,2.2,4.45,7.7,16.7,50,80,100],LOW_RISK:[0,0,1.08,1.18,1.28,1.76,3.4,12.9,50,250,1000],MEDIUM_RISK:[0,0,0,1.57,1.95,3.96,6.9,25.5,100,500,1000],HIGH_RISK:[0,0,0,0,3.43,7.9,12.5,60,500,800,1000]}}],Hl=[1,2,3,4];class La{static validEdges=Hl;static getEdge(a){return La.validEdges.includes(a)?a:Za}static configs(a){if(a===1)return xl;if(a===2)return Sl;if(a===3)return Il;if(a===4)return jl;throw new Error(`Invalid edge: ${a}`)}static calculateMultiplier(a,i,e,o){let r=e.filter((t)=>i.includes(t)),n=this.configs(o).find((t)=>t.tiles===i.length);if(!n)throw new Error(`No configuration found for ${i.length} tiles`);return W(n.payout[a][r.length]??0)}static getResults(a,i){let e=[],o=Array.from(Array(Zt.toNumber()).keys());return a.map(He).every((r,n)=>{for(let t=0;t<8;t++){if(e.length>=i)return!1;let s=W(0);for(let l=0;l<4;l++){let u=r[4*t+l];s=s.plus(W(u).div(zl.pow(l+1)))}s=s.mul(Zt.minus(W(8*n+t))).round(0,W.roundDown),e.push(o.splice(s.toNumber(),1)[0]+1)}return!0}),e}static getChance({correctPicks:a,picked:i}){return W(Wi(10,a)).mul(Wi(30,i-a)).div(W(Wi(40,i)))}}class ea{authToken;baseUrl;static totalDiceValue=1e4;static minWinChance=0.01;static inputValuePrecision=4;static getMaxWinChance(a){return 99-a}constructor(a,i){this.authToken=a,this.baseUrl=i+"/games/dice"}async startBet(a){let i=await fetch(`${this.baseUrl}/play`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.authToken}`,"X-Origami-Trace":Oa()},body:JSON.stringify(a)}),e=await i.json();if(i.ok)return{success:!0,data:e};let o="alerts.gameError";switch(e.errorCode){case"INSUFFICIENT_BALANCE":o="alerts.insufficientBalance";break;case"LIMIT_REACHED":o="alerts.betLimitReached";break}return{success:!1,error:j(o,a.language)}}static getMultiplier(a,i,e){let o=ea.getWinChance(i,e);if(W(o).eq(0))return"0";return W(100-a).div(o).toFixed(ea.inputValuePrecision)}static getWinChance(a,i){let e=i==="ABOVE"?ea.totalDiceValue-a:a;return W(e).div(ea.totalDiceValue).mul(100).toFixed(ea.inputValuePrecision)}static getSelectedValueFromMultiplier(a,i,e){if(W(i).eq(0))return 0;let o=W(100-a).div(i);return ea.getSelectedValueFromWinChance(o.toString(),e)}static getSelectedValueFromWinChance(a,i){let e=W(a).div(100).mul(ea.totalDiceValue);if(i==="ABOVE")return Number(W(ea.totalDiceValue).minus(e).toFixed(0));return Number(W(e).toFixed(0))}static getSelectedValueFromRollOver(a){return ea.totalDiceValue-a}static getWinChanceFromSelectedValue(a,i){let e=i==="ABOVE"?ea.totalDiceValue-a:a;return W(e).div(ea.totalDiceValue).mul(100).toFixed(ea.inputValuePrecision)}static getMinMultiplier(a){return W(100-a).div(W(ea.getMaxWinChance(a))).toFixed(ea.inputValuePrecision)}static getMaxMultiplier(a){return W(100-a).div(W(ea.minWinChance)).toFixed(ea.inputValuePrecision)}static isValidMultiplier(a,i){if(!ga(i))return!1;return W(i).gte(ea.getMinMultiplier(a))&&W(i).lte(ea.getMaxMultiplier(a))}static isValidWinChance(a,i){if(!ga(a))return!1;try{let e=W(a),o=W(ea.minWinChance),r=W(ea.getMaxWinChance(i));return e.gte(o)&&e.lte(r)}catch{return!1}}}class pr{betData;constructor(a){this.betData=a}_getDiceData(){if(!this.betData.betActions||this.betData.betActions.length===0)return{resultValue:50,userValue:50,isRollLower:!1,winChance:"50.0000",isDiceWin:!1};let a=this.betData.betActions[0]?.data.DICE,i=this.betData.betActions[this.betData.betActions.length-1]?.data.DICE;if(!i||!a)return{resultValue:50,userValue:50,isRollLower:!1,winChance:"50.0000",isDiceWin:!1};let e=a.direction==="BELOW",o=i.result[0],r=a.selectedValue,n=a.direction==="ABOVE"?o>r:o<r,t=ea.getWinChance(a.selectedValue,a.direction);return{resultValue:o,userValue:r,isRollLower:e,winChance:t,isDiceWin:n}}_getMinesData(){if(!this.betData.betActions||this.betData.betActions.length===0)return{mineLocations:[],selectedTiles:[]};return{mineLocations:ja.deriveMineLocations(this.betData.betActions),selectedTiles:ja.deriveSelectedTiles(this.betData.betActions)}}_getKenoData(){if(!this.betData.betActions||this.betData.betActions.length===0)return{selectedNumbers:[],drawnNumbers:[],risk:"CLASSIC"};let a=this.betData.betActions[0]?.data.KENO,i=this.betData.betActions[this.betData.betActions.length-1]?.data.KENO;if(!i||!a)return{selectedNumbers:[],drawnNumbers:[],risk:"CLASSIC"};return{selectedNumbers:a.selectedNumbers,drawnNumbers:i.result,risk:a.riskLevel}}_getLimboData(){if(!this.betData.betActions||this.betData.betActions.length===0)return{resultMultiplier:0,targetMultiplier:0};let a=this.betData.betActions[0]?.data.LIMBO,i=this.betData.betActions[this.betData.betActions.length-1]?.data.LIMBO;if(!i||!a)return{resultMultiplier:0,targetMultiplier:0};return{resultMultiplier:i.randomMultiplier,targetMultiplier:a.targetMultiplier,isWin:Number(i.randomMultiplier)>=Number(a.targetMultiplier)}}getMinesDisplayData(){let{mineLocations:a,selectedTiles:i}=this._getMinesData();return{selectedTiles:i,mineLocations:a}}getLimboDisplayData(){let{resultMultiplier:a,targetMultiplier:i,isWin:e}=this._getLimboData();return{isWin:e||!1,betId:this.betData.id||"123",resultMultiplier:Number(a),betTargetMultiplier:Number(i)}}getDiceDisplayData(){let{resultValue:a,userValue:i,isRollLower:e,isDiceWin:o}=this._getDiceData();return{value:i/100,min:2,max:98,step:1,showDice:!0,disabled:!0,resultValue:a/100,isWin:o,isRollLower:e}}getKenoDisplayData(){let{selectedNumbers:a,drawnNumbers:i}=this._getKenoData();return{selectedTiles:a,resultTiles:i,isPlaying:!1,gameOver:!0,popupShowing:!1}}getDiceData(){return this._getDiceData()}}var ql=({gameId:a,tenantId:i,tenantUserId:e,nonce:o,clientSeed:r})=>{return`${a}-${i}-${e}-${o}-${r}`};class mr extends Y{constructor(){super(...arguments);this.betId="";this.betData=null}static styles=[N,Rt];gameConsumer=new ma(this,{context:T,subscribe:!0});betResultCache=Va.getInstance();async betIdUpdated(){let a=this.gameConsumer.value?.baseUrl;if(!a||!this.betId){this.betData=null;return}let i=await this.betResultCache.fetchBetResult(this.betId,a);this.betData=i}_getDataExtractor(){return this.betData?new pr(this.betData):null}_formatMonetaryAmount(a,i){return Fe(a,i)}_calculateMultiplier(a,i){let e=typeof a==="string"?a.replace(/^\$/,""):a,o=typeof i==="string"?i.replace(/^\$/,""):i,r=typeof e==="string"?parseFloat(e):e,n=typeof o==="string"?parseFloat(o):o;if(isNaN(r)||isNaN(n)||r===0)return"0.00x";return`${(n/r).toFixed(2)}x`}_calculatePayout(a,i){let e=typeof a==="string"?a.replace(/^\$/,""):a,o=typeof i==="string"?i.replace(/^\$/,""):i,r=typeof e==="string"?parseFloat(e):e,n=typeof o==="string"?parseFloat(o):o;if(isNaN(r)||isNaN(n))return{amount:0,isProfit:!1};if(n===0)return{amount:-r,isProfit:!1};return{amount:n,isProfit:n>r}}_getCurrencyDisplay(){let a=this.betData?.currency?.toUpperCase();if(this.gameData?.showCurrencyAsText)return q`<span class="currency-text">${a??ta}</span>`;return Ca(a??ta)}openVerifyOutcomeModal(){this.emit("open-verify-outcome-modal",{detail:{verifyData:{publicKey:this.gameData?.publicKey??"",request:ql({gameId:this.gameType,tenantId:this.betData?.tenantId??"",tenantUserId:this.betData?.tenantUserId??"",nonce:this.betData?.nonce.toString()??"",clientSeed:this.betData?.clientSeed??""}),proof:this.betData?.proof??"",randomness:this.betData?.randomValue??"",clientSeed:this.betData?.clientSeed??""}}})}triggerVerify(){this.openVerifyOutcomeModal()}get gameType(){if(!this.betData)return"LIMBO";let a=this.betData?.betActions?.[this.betData?.betActions.length-1],i=Object.keys(a?.data)?.[0]??"Unknown";return i.charAt(0).toUpperCase()+i.slice(1)}renderLoading(){return q`
|
|
5911
5908
|
<div class="loading-container" style=${"display:flex;justify-content:center;align-items:center;min-height:200px;"}>
|
|
5912
5909
|
<origami-spinner></origami-spinner>
|
|
5913
5910
|
</div>
|
|
@@ -6012,7 +6009,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
6012
6009
|
|
|
6013
6010
|
|
|
6014
6011
|
</div>
|
|
6015
|
-
`}}d([aa({context:T,subscribe:!0})],mr.prototype,"gameData",void 0),d([z({type:String})],mr.prototype,"betId",void 0),d([
|
|
6012
|
+
`}}d([aa({context:T,subscribe:!0})],mr.prototype,"gameData",void 0),d([z({type:String})],mr.prototype,"betId",void 0),d([L()],mr.prototype,"betData",void 0),d([ka("betId")],mr.prototype,"betIdUpdated",null),mr=d([J("origami-bet-result-modal")],mr);var Wt=(a)=>{let{activeElement:i}=document;if(i&&a.contains(i))document.activeElement?.blur()};var Bt=Q`
|
|
6016
6013
|
:host {
|
|
6017
6014
|
display: contents;
|
|
6018
6015
|
}
|
|
@@ -6157,7 +6154,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
6157
6154
|
.drawer__drag-area:has(.drawer__drag-handle:active) {
|
|
6158
6155
|
cursor: grabbing;
|
|
6159
6156
|
}
|
|
6160
|
-
`;class Be extends Y{constructor(){super(...arguments);this.open=!1;this.label="";this.contained=!1;this.noHeader=!1;this.noCloseButton=!1}static styles=[N,Bt];originalTrigger=null;focusTrap=new $i(this);closeWatcher=null;isDragging=!1;startY=0;currentY=0;isCustomClosing=!1;originalHeight=0;firstUpdated(){if(this.drawer.hidden=!this.open,this.open){if(this.addOpenListeners(),!this.contained)this.focusTrap.activate(),Bi(this)}}disconnectedCallback(){super.disconnectedCallback(),
|
|
6157
|
+
`;class Be extends Y{constructor(){super(...arguments);this.open=!1;this.label="";this.contained=!1;this.noHeader=!1;this.noCloseButton=!1}static styles=[N,Bt];originalTrigger=null;focusTrap=new $i(this);closeWatcher=null;isDragging=!1;startY=0;currentY=0;isCustomClosing=!1;originalHeight=0;firstUpdated(){if(this.drawer.hidden=!this.open,this.open){if(this.addOpenListeners(),!this.contained)this.focusTrap.activate(),Bi(this)}}disconnectedCallback(){super.disconnectedCallback(),vi(this),this.removeOpenListeners(),this.cleanupDragState()}requestClose(a){if(this.emit("drawer-request-close",{cancelable:!0,detail:{source:a}}).defaultPrevented){let e=_a(this,"drawer.denyClose",{dir:""});$a(this.panel,e.keyframes,e.options);return}this.hide()}addOpenListeners(){if("CloseWatcher"in window){if(this.closeWatcher?.destroy(),!this.contained)this.closeWatcher=new CloseWatcher,this.closeWatcher.onclose=()=>this.requestClose("keyboard")}else document.addEventListener("keydown",this.handleDocumentKeyDown)}removeOpenListeners(){document.removeEventListener("keydown",this.handleDocumentKeyDown),this.closeWatcher?.destroy()}handleDocumentKeyDown=(a)=>{if(this.contained)return;if(a.key==="Escape"&&this.focusTrap.isActive()&&this.open)a.stopImmediatePropagation(),this.requestClose("keyboard")};handleTouchStart=(a)=>{this.isDragging=!0,this.startY=a.touches[0].clientY,this.currentY=this.startY,this.originalHeight=this.panel.offsetHeight,a.preventDefault()};handleTouchMove=(a)=>{if(!this.isDragging)return;this.currentY=a.touches[0].clientY;let i=this.currentY-this.startY;if(i>0){let e=Math.min(i,200);this.panel.style.transform=`translateY(${e}px)`,this.panel.style.transition="none";let o=Math.max(0.3,1-e/200);this.overlay.style.opacity=o.toString()}else{let e=Math.min(Math.abs(i),100),o=this.originalHeight+e;this.panel.style.transform="",this.panel.style.height=`${o}px`,this.panel.style.transition="none";let r=Math.min(1,1+e/200);this.overlay.style.opacity=r.toString()}a.preventDefault()};handleTouchEnd=()=>{if(!this.isDragging)return;this.isDragging=!1;let a=this.currentY-this.startY;if(a>100)this.closeFromCurrentPosition();else if(a>0)this.panel.style.transition="transform 0.3s ease",this.panel.style.transform="translateY(0)",this.overlay.style.transition="opacity 0.3s ease",this.overlay.style.opacity="1",setTimeout(()=>{this.panel.style.transition="",this.panel.style.transform="",this.overlay.style.transition="",this.overlay.style.opacity=""},300);else this.panel.style.transition="height 0.4s cubic-bezier(0.34, 1.56, 0.64, 1)",this.panel.style.height=`${this.originalHeight}px`,this.overlay.style.transition="opacity 0.4s ease",this.overlay.style.opacity="1",setTimeout(()=>{this.panel.style.transition="",this.panel.style.height="",this.overlay.style.transition="",this.overlay.style.opacity=""},400)};handleMouseDown=(a)=>{this.isDragging=!0,this.startY=a.clientY,this.currentY=this.startY,this.originalHeight=this.panel.offsetHeight,document.addEventListener("mousemove",this.handleMouseMove),document.addEventListener("mouseup",this.handleMouseUp),a.preventDefault()};handleMouseMove=(a)=>{if(!this.isDragging)return;this.currentY=a.clientY;let i=this.currentY-this.startY;if(i>0){let e=Math.min(i,200);this.panel.style.transform=`translateY(${e}px)`,this.panel.style.transition="none";let o=Math.max(0.3,1-e/200);this.overlay.style.opacity=o.toString()}else{let e=Math.min(Math.abs(i),100),o=this.originalHeight+e;this.panel.style.transform="",this.panel.style.height=`${o}px`,this.panel.style.transition="none";let r=Math.min(1,1+e/200);this.overlay.style.opacity=r.toString()}};handleMouseUp=()=>{if(!this.isDragging)return;this.isDragging=!1;let a=this.currentY-this.startY,i=100;if(document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp),a>i)this.closeFromCurrentPosition();else if(a>0)this.panel.style.transition="transform 0.3s ease",this.panel.style.transform="translateY(0)",this.overlay.style.transition="opacity 0.3s ease",this.overlay.style.opacity="1",setTimeout(()=>{this.panel.style.transition="",this.panel.style.transform="",this.overlay.style.transition="",this.overlay.style.opacity=""},300);else this.panel.style.transition="height 0.4s cubic-bezier(0.34, 1.56, 0.64, 1)",this.panel.style.height=`${this.originalHeight}px`,this.overlay.style.transition="opacity 0.4s ease",this.overlay.style.opacity="1",setTimeout(()=>{this.panel.style.transition="",this.panel.style.height="",this.overlay.style.transition="",this.overlay.style.opacity=""},400)};async closeFromCurrentPosition(){let i=this.panel.style.transform.match(/translateY\(([^)]+)\)/)?.[1]||"0px",e=parseFloat(i),o=this.panel.offsetHeight,r=o-e,n=250,t=Math.max(100,r/o*250);if(this.emit("drawer-request-close",{cancelable:!0,detail:{source:"overlay"}}).defaultPrevented){this.panel.style.transition="transform 0.3s ease",this.panel.style.transform="translateY(0)",this.overlay.style.transition="opacity 0.3s ease",this.overlay.style.opacity="1",setTimeout(()=>{this.panel.style.transition="",this.panel.style.transform="",this.overlay.style.transition="",this.overlay.style.opacity=""},300);return}if(this.isCustomClosing=!0,this.emit("drawer-hide"),this.removeOpenListeners(),this.cleanupDragState(),!this.contained)this.focusTrap.deactivate(),vi(this);this.panel.style.transition=`transform ${t}ms ease-out`,this.panel.style.transform=`translateY(${o}px)`,this.overlay.style.transition=`opacity ${t}ms ease-out`,this.overlay.style.opacity="0",setTimeout(async()=>{if(this.drawer.hidden=!0,this.panel.style.transform="",this.panel.style.transition="",this.overlay.style.opacity="",this.overlay.style.transition="",this.open=!1,this.isCustomClosing=!1,typeof this.originalTrigger?.focus==="function")setTimeout(()=>this.originalTrigger?.focus());this.emit("drawer-after-hide")},t)}cleanupDragState(){if(this.isDragging=!1,document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp),!this.isCustomClosing&&this.panel)this.panel.style.transform="",this.panel.style.transition="",this.panel.style.height="";if(!this.isCustomClosing&&this.overlay)this.overlay.style.opacity="",this.overlay.style.transition=""}handlePanelWheel=(a)=>{a.stopPropagation();let i=this.panel.querySelector(".drawer__body");if(i)if(!(i.scrollHeight>i.clientHeight))a.preventDefault();else{let o=i.scrollTop>0,r=i.scrollTop<i.scrollHeight-i.clientHeight;if(!o&&a.deltaY<0||!r&&a.deltaY>0)a.preventDefault()}else a.preventDefault()};handlePanelTouchStart=(a)=>{if(!this.isDragging){let i=this.panel.querySelector(".drawer__body");if(i&&a.touches.length>0)i.dataset.prevTouchY=a.touches[0].clientY.toString()}};handlePanelTouchMove=(a)=>{if(!this.isDragging){a.stopPropagation();let i=this.panel.querySelector(".drawer__body");if(i)if(!(i.scrollHeight>i.clientHeight))a.preventDefault();else{let r=a.touches[0].clientY,n=parseFloat(i.dataset.prevTouchY||"0"),t=r-n,s=i.scrollTop>0,l=i.scrollTop<i.scrollHeight-i.clientHeight;if(!s&&t>0||!l&&t<0)a.preventDefault();i.dataset.prevTouchY=r.toString()}else a.preventDefault()}};async handleOpenChange(){if(this.open){if(this.emit("drawer-show"),this.addOpenListeners(),this.originalTrigger=document.activeElement,!this.contained)this.focusTrap.activate(),Bi(this);let a=this.querySelector("[autofocus]");if(a)a.removeAttribute("autofocus");await Promise.all([ai(this.drawer),ai(this.overlay)]),this.drawer.hidden=!1,requestAnimationFrame(()=>{if(!this.emit("drawer-initial-focus",{cancelable:!0}).defaultPrevented)if(a)a.focus({preventScroll:!0});else this.panel.focus({preventScroll:!0});if(a)a.setAttribute("autofocus","")});let i=_a(this,"drawer.showBottom",{dir:""}),e=_a(this,"drawer.overlay.show",{dir:""});await Promise.all([$a(this.panel,i.keyframes,i.options),$a(this.overlay,e.keyframes,e.options)]),this.emit("drawer-after-show")}else{if(this.isCustomClosing)return;if(Wt(this),this.emit("drawer-hide"),this.removeOpenListeners(),this.cleanupDragState(),!this.contained)this.focusTrap.deactivate(),vi(this);await Promise.all([ai(this.drawer),ai(this.overlay)]);let a=_a(this,"drawer.hideBottom",{dir:""}),i=_a(this,"drawer.overlay.hide",{dir:""});await Promise.all([$a(this.overlay,i.keyframes,i.options).then(()=>{this.overlay.hidden=!0}),$a(this.panel,a.keyframes,a.options).then(()=>{this.panel.hidden=!0})]),this.drawer.hidden=!0,this.overlay.hidden=!1,this.panel.hidden=!1;let e=this.originalTrigger;if(typeof e?.focus==="function")setTimeout(()=>e.focus());this.emit("drawer-after-hide")}}handleNoModalChange(){if(this.open&&!this.contained)this.focusTrap.activate(),Bi(this);if(this.open&&this.contained)this.focusTrap.deactivate(),vi(this)}async show(){if(this.open)return;return this.open=!0,Oi(this,"drawer-after-show")}async hide(){if(!this.open)return;return this.open=!1,Oi(this,"drawer-after-hide")}render(){return q`
|
|
6161
6158
|
<div
|
|
6162
6159
|
part="base"
|
|
6163
6160
|
class=${E({drawer:!0,"drawer--open":this.open,"drawer--bottom":!0,"drawer--contained":this.contained,"drawer--fixed":!this.contained})}
|
|
@@ -6170,8 +6167,8 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
6170
6167
|
role="dialog"
|
|
6171
6168
|
aria-modal="true"
|
|
6172
6169
|
aria-hidden=${this.open?"false":"true"}
|
|
6173
|
-
aria-label=${
|
|
6174
|
-
aria-labelledby=${
|
|
6170
|
+
aria-label=${va(this.noHeader?this.label:void 0)}
|
|
6171
|
+
aria-labelledby=${va(!this.noHeader?"title":void 0)}
|
|
6175
6172
|
tabindex="0"
|
|
6176
6173
|
@wheel=${this.handlePanelWheel}
|
|
6177
6174
|
@touchstart=${this.handlePanelTouchStart}
|
|
@@ -6193,7 +6190,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
6193
6190
|
</div>
|
|
6194
6191
|
</div>
|
|
6195
6192
|
</div>
|
|
6196
|
-
`}}d([ca(".drawer")],Be.prototype,"drawer",void 0),d([ca(".drawer__panel")],Be.prototype,"panel",void 0),d([ca(".drawer__overlay")],Be.prototype,"overlay",void 0),d([z({type:Boolean,reflect:!0})],Be.prototype,"open",void 0),d([z({reflect:!0})],Be.prototype,"label",void 0),d([z({type:Boolean,reflect:!0})],Be.prototype,"contained",void 0),d([z({attribute:"no-header",type:Boolean,reflect:!0})],Be.prototype,"noHeader",void 0),d([z({attribute:"no-close-button",type:Boolean,reflect:!0})],Be.prototype,"noCloseButton",void 0),d([
|
|
6193
|
+
`}}d([ca(".drawer")],Be.prototype,"drawer",void 0),d([ca(".drawer__panel")],Be.prototype,"panel",void 0),d([ca(".drawer__overlay")],Be.prototype,"overlay",void 0),d([z({type:Boolean,reflect:!0})],Be.prototype,"open",void 0),d([z({reflect:!0})],Be.prototype,"label",void 0),d([z({type:Boolean,reflect:!0})],Be.prototype,"contained",void 0),d([z({attribute:"no-header",type:Boolean,reflect:!0})],Be.prototype,"noHeader",void 0),d([z({attribute:"no-close-button",type:Boolean,reflect:!0})],Be.prototype,"noCloseButton",void 0),d([ka("open",{waitUntilFirstUpdate:!0})],Be.prototype,"handleOpenChange",null),d([ka("contained",{waitUntilFirstUpdate:!0})],Be.prototype,"handleNoModalChange",null),Be=d([J("origami-drawer")],Be);xa("drawer.showTop",{keyframes:[{opacity:0,translate:"0 -100%"},{opacity:1,translate:"0 0"}],options:{duration:250,easing:"ease"}});xa("drawer.hideTop",{keyframes:[{opacity:1,translate:"0 0"},{opacity:0,translate:"0 -100%"}],options:{duration:250,easing:"ease"}});xa("drawer.showEnd",{keyframes:[{opacity:0,translate:"100%"},{opacity:1,translate:"0"}],rtlKeyframes:[{opacity:0,translate:"-100%"},{opacity:1,translate:"0"}],options:{duration:250,easing:"ease"}});xa("drawer.hideEnd",{keyframes:[{opacity:1,translate:"0"},{opacity:0,translate:"100%"}],rtlKeyframes:[{opacity:1,translate:"0"},{opacity:0,translate:"-100%"}],options:{duration:250,easing:"ease"}});xa("drawer.showBottom",{keyframes:[{opacity:0,translate:"0 100%"},{opacity:1,translate:"0 0"}],options:{duration:250,easing:"ease"}});xa("drawer.hideBottom",{keyframes:[{opacity:1,translate:"0 0"},{opacity:0,translate:"0 100%"}],options:{duration:250,easing:"ease"}});xa("drawer.showStart",{keyframes:[{opacity:0,translate:"-100%"},{opacity:1,translate:"0"}],rtlKeyframes:[{opacity:0,translate:"100%"},{opacity:1,translate:"0"}],options:{duration:250,easing:"ease"}});xa("drawer.hideStart",{keyframes:[{opacity:1,translate:"0"},{opacity:0,translate:"-100%"}],rtlKeyframes:[{opacity:1,translate:"0"},{opacity:0,translate:"100%"}],options:{duration:250,easing:"ease"}});xa("drawer.denyClose",{keyframes:[{scale:1},{scale:1.01},{scale:1}],options:{duration:250}});xa("drawer.overlay.show",{keyframes:[{opacity:0},{opacity:1}],options:{duration:250}});xa("drawer.overlay.hide",{keyframes:[{opacity:1},{opacity:0}],options:{duration:250}});var Vt=Q`
|
|
6197
6194
|
:host {
|
|
6198
6195
|
display: contents;
|
|
6199
6196
|
}
|
|
@@ -6252,7 +6249,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
6252
6249
|
<slot name="mobile-footer"></slot>
|
|
6253
6250
|
</div>
|
|
6254
6251
|
</origami-drawer>
|
|
6255
|
-
`}}d([z({type:Boolean})],br.prototype,"showFooter",void 0),d([z({type:Boolean,reflect:!0})],br.prototype,"open",void 0),d([z({type:String})],br.prototype,"label",void 0),d([z({type:String})],br.prototype,"width",void 0),d([
|
|
6252
|
+
`}}d([z({type:Boolean})],br.prototype,"showFooter",void 0),d([z({type:Boolean,reflect:!0})],br.prototype,"open",void 0),d([z({type:String})],br.prototype,"label",void 0),d([z({type:String})],br.prototype,"width",void 0),d([L()],br.prototype,"internalOpen",void 0),d([ka("open")],br.prototype,"openChanged",null),br=d([J("origami-responsive-modal")],br);var Lt=Q`
|
|
6256
6253
|
:host {
|
|
6257
6254
|
position: absolute;
|
|
6258
6255
|
top: 12px;
|
|
@@ -6285,7 +6282,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
6285
6282
|
max-width: none;
|
|
6286
6283
|
}
|
|
6287
6284
|
}
|
|
6288
|
-
`;var
|
|
6285
|
+
`;var Pt=Q`
|
|
6289
6286
|
:host {
|
|
6290
6287
|
display: block;
|
|
6291
6288
|
overflow: visible;
|
|
@@ -6412,7 +6409,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
6412
6409
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
6413
6410
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12ZM9.70711 8.29289C9.31658 7.90237 8.68342 7.90237 8.29289 8.29289C7.90237 8.68342 7.90237 9.31658 8.29289 9.70711L10.5858 12L8.29289 14.2929C7.90237 14.6834 7.90237 15.3166 8.29289 15.7071C8.68342 16.0976 9.31658 16.0976 9.70711 15.7071L12 13.4142L14.2929 15.7071C14.6834 16.0976 15.3166 16.0976 15.7071 15.7071C16.0976 15.3166 16.0976 14.6834 15.7071 14.2929L13.4142 12L15.7071 9.70711C16.0976 9.31658 16.0976 8.68342 15.7071 8.29289C15.3166 7.90237 14.6834 7.90237 14.2929 8.29289L12 10.5858L9.70711 8.29289Z" fill="var(--primary-text-color, #ffffff)"/>
|
|
6414
6411
|
</svg>
|
|
6415
|
-
`;class
|
|
6412
|
+
`;class kr extends Y{constructor(){super(...arguments);this.type="success";this.message="";this.autoCloseDelay=0;this.flipToRefreshTimer=!1;this.isHiding=!1;this.isPaused=!1;this.progressWidth=100}static styles=[N,Pt];animationFrame;remainingTime=0;lastTickTimestamp;connectedCallback(){super.connectedCallback(),this.toggleAttribute("hiding",!1),this.initializeTimer(this.autoCloseDelay)}disconnectedCallback(){super.disconnectedCallback(),this.clearTimer()}handleAutoCloseDelayChange(){if(this.autoCloseDelay>0)this.isHiding=!0,setTimeout(()=>{this.isHiding=!1,this.clearTimer(),this.initializeTimer(this.autoCloseDelay)},160)}initializeTimer(a){if(a>0)this.remainingTime=a,this.progressWidth=100,this.startTimer()}startTimer(){if(this.clearTimer(),this.remainingTime<=0){this.handleClose();return}this.lastTickTimestamp=performance.now();let a=()=>{this.animationFrame=requestAnimationFrame(()=>{if(this.isPaused){this.lastTickTimestamp=performance.now(),a();return}let i=performance.now(),e=this.lastTickTimestamp??i,o=Math.max(0,i-e);if(this.lastTickTimestamp=i,this.remainingTime-=o,this.progressWidth=Math.max(0,this.remainingTime/this.autoCloseDelay*100),this.remainingTime<=0)this.handleClose();else a()})};a()}clearTimer(){if(this.animationFrame!==void 0)cancelAnimationFrame(this.animationFrame),this.animationFrame=void 0}handleMouseEnter(){this.isPaused=!0}handleMouseLeave(){this.isPaused=!1}handleClose(){this.isHiding=!0,this.toggleAttribute("hiding",!0),setTimeout(()=>{this.emit("alert-close",{detail:{id:this.id}})},160)}render(){return q`
|
|
6416
6413
|
<div
|
|
6417
6414
|
class="alert alert-${this.type} ${this.isHiding?"alert-hiding":""}"
|
|
6418
6415
|
@mouseenter=${this.handleMouseEnter}
|
|
@@ -6433,7 +6430,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
6433
6430
|
</div>
|
|
6434
6431
|
|
|
6435
6432
|
</div>
|
|
6436
|
-
`}}d([z({type:String})],
|
|
6433
|
+
`}}d([z({type:String})],kr.prototype,"type",void 0),d([z({type:String})],kr.prototype,"message",void 0),d([z({type:Number})],kr.prototype,"autoCloseDelay",void 0),d([z({type:Boolean})],kr.prototype,"flipToRefreshTimer",void 0),d([L()],kr.prototype,"isHiding",void 0),d([L()],kr.prototype,"isPaused",void 0),d([L()],kr.prototype,"progressWidth",void 0),d([aa({context:T,subscribe:!0})],kr.prototype,"gameData",void 0),d([ka("flipToRefreshTimer",{waitUntilFirstUpdate:!0})],kr.prototype,"handleAutoCloseDelayChange",null),kr=d([J("origami-alert")],kr);var Ct=(a,i,e)=>{let o=new Map;for(let r=i;r<=e;r++)o.set(a[r],r);return o},Ve=Na(class extends Xa{constructor(a){if(super(a),a.type!==qa.CHILD)throw Error("repeat() can only be used in text expressions")}dt(a,i,e){let o;e===void 0?e=i:i!==void 0&&(o=i);let r=[],n=[],t=0;for(let s of a)r[t]=o?o(s,t):t,n[t]=e(s,t),t++;return{values:n,keys:r}}render(a,i,e){return this.dt(a,i,e).values}update(a,[i,e,o]){let r=Yn(a),{values:n,keys:t}=this.dt(i,e,o);if(!Array.isArray(r))return this.ut=t,n;let s=this.ut??=[],l=[],u,h,f=0,c=r.length-1,y=0,g=n.length-1;for(;f<=c&&y<=g;)if(r[f]===null)f++;else if(r[c]===null)c--;else if(s[f]===t[y])l[y]=pi(r[f],n[y]),f++,y++;else if(s[c]===t[g])l[g]=pi(r[c],n[g]),c--,g--;else if(s[f]===t[g])l[g]=pi(r[f],n[g]),Pi(a,l[g+1],r[f]),f++,g--;else if(s[c]===t[y])l[y]=pi(r[c],n[y]),Pi(a,r[f],r[c]),c--,y++;else if(u===void 0&&(u=Ct(t,y,g),h=Ct(s,f,c)),u.has(s[f]))if(u.has(s[c])){let b=h.get(t[y]),I=b!==void 0?r[b]:null;if(I===null){let m=Pi(a,r[f]);pi(m,n[y]),l[y]=m}else l[y]=pi(I,n[y]),Pi(a,r[f],I),r[b]=null;y++}else ze(r[c]),c--;else ze(r[f]),f++;for(;y<=g;){let b=Pi(a,l[g+1]);pi(b,n[y]),l[y++]=b}for(;f<=c;){let b=r[f++];b!==null&&ze(b)}return this.ut=t,ye(a,l),za}});class vr extends Y{constructor(){super(...arguments);this.alerts=[]}static styles=[N,Lt];previousPositions=new Map;defaultAnimationMs=150;addAlert(a){let i=a.id,e={autoCloseDelay:5000,showCloseButton:!0,flipToRefreshTimer:!1,...a},o=this.alerts.findIndex((r)=>r.id===i);if(o!==-1)this.alerts=[...this.alerts.slice(0,o),{...e,flipToRefreshTimer:!e.flipToRefreshTimer},...this.alerts.slice(o+1)];else this.alerts=[...this.alerts,e];return i}clearAllAlerts(){this.alerts=[]}handleAlertClose(a){this.alerts=this.alerts.filter((i)=>i.id!==a.detail.id)}render(){let a=(this.gameData?.mainWidth??0)<768;if(this.alerts.length===0||a)return C;return q`
|
|
6437
6434
|
<div class="alert-manager" @alert-close=${this.handleAlertClose}>
|
|
6438
6435
|
${Ve(this.alerts,(i)=>i.id,(i)=>q`
|
|
6439
6436
|
<origami-alert
|
|
@@ -6446,7 +6443,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
6446
6443
|
></origami-alert>
|
|
6447
6444
|
`)}
|
|
6448
6445
|
</div>
|
|
6449
|
-
`}willUpdate(){this.previousPositions=this.measurePositions()}updated(){this.playFlipAnimations()}measurePositions(){let a=new Map,i=this.renderRoot.querySelector(".alert-manager");if(!i)return a;return i.querySelectorAll("origami-alert[id]").forEach((o)=>{let r=o.getBoundingClientRect();a.set(o.id,r.top)}),a}getAnimationDurationMs(){let a=this.renderRoot.querySelector("origami-alert");if(!a)return this.defaultAnimationMs;let i=getComputedStyle(a).getPropertyValue("--alert-animation-duration");if(!i)return this.defaultAnimationMs;let e=i.trim().match(/([0-9.]+)ms/);if(e)return Number(e[1]);let o=i.trim().match(/([0-9.]+)s/);if(o)return Number(o[1])*1000;return this.defaultAnimationMs}playFlipAnimations(){let a=this.renderRoot.querySelector(".alert-manager");if(!a)return;let i=this.measurePositions(),e=this.getAnimationDurationMs();i.forEach((o,r)=>{let n=this.previousPositions.get(r);if(n===void 0)return;let t=n-o;if(t===0)return;let s=a.querySelector(`origami-alert#${CSS.escape(r)}`);if(!s)return;s.style.willChange="transform",s.style.transform=`translateY(${t}px)`,s.getBoundingClientRect(),s.style.transition=`transform ${e}ms ease`,s.style.transform="translateY(0)";let l=()=>{s.style.transition="",s.style.transform="",s.style.willChange="",s.removeEventListener("transitionend",u)},u=(h)=>{if(h.propertyName==="transform")l()};s.addEventListener("transitionend",u),window.setTimeout(l,e+50)})}}d([aa({context:T,subscribe:!0})],
|
|
6446
|
+
`}willUpdate(){this.previousPositions=this.measurePositions()}updated(){this.playFlipAnimations()}measurePositions(){let a=new Map,i=this.renderRoot.querySelector(".alert-manager");if(!i)return a;return i.querySelectorAll("origami-alert[id]").forEach((o)=>{let r=o.getBoundingClientRect();a.set(o.id,r.top)}),a}getAnimationDurationMs(){let a=this.renderRoot.querySelector("origami-alert");if(!a)return this.defaultAnimationMs;let i=getComputedStyle(a).getPropertyValue("--alert-animation-duration");if(!i)return this.defaultAnimationMs;let e=i.trim().match(/([0-9.]+)ms/);if(e)return Number(e[1]);let o=i.trim().match(/([0-9.]+)s/);if(o)return Number(o[1])*1000;return this.defaultAnimationMs}playFlipAnimations(){let a=this.renderRoot.querySelector(".alert-manager");if(!a)return;let i=this.measurePositions(),e=this.getAnimationDurationMs();i.forEach((o,r)=>{let n=this.previousPositions.get(r);if(n===void 0)return;let t=n-o;if(t===0)return;let s=a.querySelector(`origami-alert#${CSS.escape(r)}`);if(!s)return;s.style.willChange="transform",s.style.transform=`translateY(${t}px)`,s.getBoundingClientRect(),s.style.transition=`transform ${e}ms ease`,s.style.transform="translateY(0)";let l=()=>{s.style.transition="",s.style.transform="",s.style.willChange="",s.removeEventListener("transitionend",u)},u=(h)=>{if(h.propertyName==="transform")l()};s.addEventListener("transitionend",u),window.setTimeout(l,e+50)})}}d([aa({context:T,subscribe:!0})],vr.prototype,"gameData",void 0),d([L()],vr.prototype,"alerts",void 0),vr=d([J("origami-alert-manager")],vr);var se={publicKey:"",request:"",proof:"",randomness:"",clientSeed:""};class gr extends Y{constructor(){super(...arguments);this.gameType="KENO";this.showFooter=!0;this.modalContent=null;this.modalNavigationStack=[];this.isModalTransitioning=!1;this.historyHasNextPage=!1;this.isLoadingMoreHistory=!1}static styles=[N,Kt];pendingModalContent=null;modalTransitionTimeout;resizeObserver;get gameFooterPosition(){return this.gameData?.footerPosition||"BELOW"}previousHistoryController;onHistoryDataChanged=(a)=>{let i=a;this.historyHasNextPage=!!i.detail?.hasNextPage};firstUpdated(){this.setupHistoryController()}connectedCallback(){super.connectedCallback(),this.addEventListener("show-alert",(a)=>{if(this.alertManager)this.alertManager.addAlert({id:crypto.randomUUID(),...a.detail})})}disconnectedCallback(){if(super.disconnectedCallback(),this.resizeObserver?.disconnect(),this.modalTransitionTimeout)clearTimeout(this.modalTransitionTimeout);this.cleanupHistoryController()}setModalContent(a){if(this.isModalTransitioning){this.pendingModalContent=a;return}if(!a&&this.modalContent){this.isModalTransitioning=!0,this.modalContent=null,this.modalTransitionTimeout=window.setTimeout(()=>{if(this.isModalTransitioning=!1,this.pendingModalContent){let i=this.pendingModalContent;this.pendingModalContent=null,this.setModalContent(i)}},300);return}if(a)if(this.modalContent)this.modalContent=a;else this.isModalTransitioning=!0,this.modalContent=a,this.modalTransitionTimeout=window.setTimeout(()=>{if(this.isModalTransitioning=!1,this.pendingModalContent){let i=this.pendingModalContent;this.pendingModalContent=null,this.setModalContent(i)}},300)}willUpdate(a){if(super.willUpdate(a),this.gameData?.historyController!==this.previousHistoryController)this.cleanupHistoryController(),this.setupHistoryController()}setupHistoryController(){let a=this.gameData?.historyController;if(!a)return;a.addEventListener("history-data-changed",this.onHistoryDataChanged),this.previousHistoryController=a,this.historyHasNextPage=!!this.gameData?.historyController?.hasNextPage}cleanupHistoryController(){if(this.previousHistoryController)this.previousHistoryController.removeEventListener("history-data-changed",this.onHistoryDataChanged),this.previousHistoryController=void 0}async handleLoadMoreHistory(){if(this.isLoadingMoreHistory||!this.gameData?.historyController?.hasNextPage)return;this.isLoadingMoreHistory=!0;try{await this.gameData.historyController.loadMore()}finally{this.isLoadingMoreHistory=!1}}renderModalContent(a){if(!this.modalContent)return C;switch(this.modalContent.type){case"betResult":return q`
|
|
6450
6447
|
<origami-bet-result-modal
|
|
6451
6448
|
slot=${a}
|
|
6452
6449
|
.betId=${this.modalContent.betId}
|
|
@@ -6703,7 +6700,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
6703
6700
|
</div>
|
|
6704
6701
|
${this.gameFooterPosition==="BELOW"?a:C}
|
|
6705
6702
|
</div>
|
|
6706
|
-
`}}d([aa({context:T,subscribe:!0})],gr.prototype,"gameData",void 0),d([z({type:String})],gr.prototype,"gameType",void 0),d([z({type:Boolean})],gr.prototype,"showFooter",void 0),d([ca("#alert-manager")],gr.prototype,"alertManager",void 0),d([
|
|
6703
|
+
`}}d([aa({context:T,subscribe:!0})],gr.prototype,"gameData",void 0),d([z({type:String})],gr.prototype,"gameType",void 0),d([z({type:Boolean})],gr.prototype,"showFooter",void 0),d([ca("#alert-manager")],gr.prototype,"alertManager",void 0),d([L()],gr.prototype,"modalContent",void 0),d([L()],gr.prototype,"modalNavigationStack",void 0),d([L()],gr.prototype,"isModalTransitioning",void 0),d([L()],gr.prototype,"historyHasNextPage",void 0),d([L()],gr.prototype,"isLoadingMoreHistory",void 0),gr=d([J("origami-game-layout")],gr);var Jt=Q`
|
|
6707
6704
|
:host {
|
|
6708
6705
|
display: none;
|
|
6709
6706
|
}
|
|
@@ -6853,7 +6850,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
6853
6850
|
></lottie-icon>
|
|
6854
6851
|
`:C}
|
|
6855
6852
|
</origami-input>
|
|
6856
|
-
`}}d([z({type:Number})],fr.prototype,"selectedValue",void 0),d([z({type:String})],fr.prototype,"diceDirection",void 0),d([z({type:Boolean})],fr.prototype,"disabled",void 0),d([aa({context:T,subscribe:!0})],fr.prototype,"gameData",void 0),d([
|
|
6853
|
+
`}}d([z({type:Number})],fr.prototype,"selectedValue",void 0),d([z({type:String})],fr.prototype,"diceDirection",void 0),d([z({type:Boolean})],fr.prototype,"disabled",void 0),d([aa({context:T,subscribe:!0})],fr.prototype,"gameData",void 0),d([L()],fr.prototype,"_winChanceInputValue",void 0),d([L()],fr.prototype,"_multiplierInputValue",void 0),d([L()],fr.prototype,"_winChanceFocused",void 0),d([L()],fr.prototype,"_multiplierFocused",void 0),d([L()],fr.prototype,"_previousMultiplierInputValue",void 0),d([L()],fr.prototype,"_previousWinChanceInputValue",void 0),d([ka(["selectedValue","diceDirection"])],fr.prototype,"selectedValueChangeHandler",null),fr=d([J("origami-dice-content-bottom")],fr);var Ot=Q`
|
|
6857
6854
|
:host {
|
|
6858
6855
|
display: flex;
|
|
6859
6856
|
flex-direction: column;
|
|
@@ -6909,7 +6906,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
6909
6906
|
${j("common.placeBet",a)}
|
|
6910
6907
|
</origami-button>`}
|
|
6911
6908
|
</div>
|
|
6912
|
-
`}}d([z({type:Boolean})],wr.prototype,"isPlaying",void 0),d([z({type:String})],wr.prototype,"profitOnWin",void 0),d([z({type:Boolean})],wr.prototype,"betDisabled",void 0),d([z({type:Boolean})],wr.prototype,"inputsDisabled",void 0),d([z({type:Number})],wr.prototype,"betMaxMultiplier",void 0),d([
|
|
6909
|
+
`}}d([z({type:Boolean})],wr.prototype,"isPlaying",void 0),d([z({type:String})],wr.prototype,"profitOnWin",void 0),d([z({type:Boolean})],wr.prototype,"betDisabled",void 0),d([z({type:Boolean})],wr.prototype,"inputsDisabled",void 0),d([z({type:Number})],wr.prototype,"betMaxMultiplier",void 0),d([L()],wr.prototype,"showDepositButton",void 0),d([aa({context:T,subscribe:!0})],wr.prototype,"gameData",void 0),d([L()],wr.prototype,"isBetAmountValid",void 0),wr=d([J("origami-dice-manual")],wr);class yr extends Y{constructor(){super(...arguments);this.inputsDisabled=!1;this.autobetStopping=!1;this.autobetInProgress=!1;this.profitOnWin="0.00";this.betDisabled=!1;this.isDesktop=!1;this.betMaxMultiplier=1}render(){return q`
|
|
6913
6910
|
<origami-generic-autobet
|
|
6914
6911
|
.betMaxMultiplier=${this.betMaxMultiplier}
|
|
6915
6912
|
data-is-desktop=${this.isDesktop}
|
|
@@ -7073,7 +7070,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
7073
7070
|
</div>
|
|
7074
7071
|
`}render(){return q`
|
|
7075
7072
|
${Ve(this.history,(a)=>a.id,(a)=>this.renderHistoryPill(a))}
|
|
7076
|
-
`}}d([z({type:Array})],zr.prototype,"history",void 0),d([z({type:String})],zr.prototype,"gameType",void 0),d([
|
|
7073
|
+
`}}d([z({type:Array})],zr.prototype,"history",void 0),d([z({type:String})],zr.prototype,"gameType",void 0),d([L()],zr.prototype,"animatingInIds",void 0),zr=d([J("origami-history-pills")],zr);class xr extends Y{constructor(){super(...arguments);this.selectedValue=50;this.diceDirection="ABOVE";this.isPlaying=!1;this.showDice=!0;this.isWin=!0;this.edge=2;this.resultValue=null;this.history=[];this.isDesktop=!1}static styles=[N,$t];render(){let a=ea.getMaxWinChance(this.edge);if(this.isDesktop)return q`
|
|
7077
7074
|
<origami-history-pills
|
|
7078
7075
|
data-is-desktop=${this.isDesktop}
|
|
7079
7076
|
.gameType=${"DICE"}
|
|
@@ -7122,7 +7119,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
7122
7119
|
.isRollLower=${this.diceDirection==="BELOW"}
|
|
7123
7120
|
></origami-dice-slider>
|
|
7124
7121
|
</div>
|
|
7125
|
-
`}}d([z({type:Number})],xr.prototype,"selectedValue",void 0),d([z({type:String})],xr.prototype,"diceDirection",void 0),d([z({type:Boolean})],xr.prototype,"isPlaying",void 0),d([z({type:Boolean})],xr.prototype,"showDice",void 0),d([z({type:Boolean})],xr.prototype,"isWin",void 0),d([z({type:Number})],xr.prototype,"edge",void 0),d([z({type:Number})],xr.prototype,"resultValue",void 0),d([z({type:Array})],xr.prototype,"history",void 0),d([z({type:Boolean})],xr.prototype,"isDesktop",void 0),xr=d([J("origami-dice-content")],xr);var gi=(a)=>{if(a===1)return"Draw";if(a>1)return"Win";return"Loss"};function ba(a){return new Promise((i)=>setTimeout(i,a))}class
|
|
7122
|
+
`}}d([z({type:Number})],xr.prototype,"selectedValue",void 0),d([z({type:String})],xr.prototype,"diceDirection",void 0),d([z({type:Boolean})],xr.prototype,"isPlaying",void 0),d([z({type:Boolean})],xr.prototype,"showDice",void 0),d([z({type:Boolean})],xr.prototype,"isWin",void 0),d([z({type:Number})],xr.prototype,"edge",void 0),d([z({type:Number})],xr.prototype,"resultValue",void 0),d([z({type:Array})],xr.prototype,"history",void 0),d([z({type:Boolean})],xr.prototype,"isDesktop",void 0),xr=d([J("origami-dice-content")],xr);var gi=(a)=>{if(a===1)return"Draw";if(a>1)return"Win";return"Loss"};function ba(a){return new Promise((i)=>setTimeout(i,a))}class Pa extends Y{constructor(){super(...arguments);this.manualOrAuto="Manual";this.hasPendingBet=!1;this.autobetInProgress=!1;this.autobetStopping=!1}static soundsToPreload=[];static styles=[N];gameConsumer=new ma(this,{context:T,subscribe:!0});get gameData(){return this.gameConsumer.value??fa}get isDemoMode(){return!this.gameData.authToken||!this.gameData.baseUrl}get isToggleDisabled(){return this.autobetInProgress||this.hasPendingBet}get areInputsDisabled(){return this.autobetInProgress||this.hasPendingBet}getDelay(a){return this.gameData.instantBetEnabled?Math.min(a/10,20):a}getAutobetDelay(){return 300}async forceUIUpdate(){this.requestUpdate(),await new Promise((a)=>setTimeout(a,0))}async executeInstantOrAnimated(a,i){if(this.gameData.instantBetEnabled){let e=await a();return await this.forceUIUpdate(),e}else return await i()}async ensureMinimumDisplayTime(a=!1,i=500,e=500){if(!this.gameData.instantBetEnabled)await this.forceUIUpdate(),await ba(a?i:e)}disconnectedCallback(){if(super.disconnectedCallback(),this.autobetInProgress)this.autobetStopping=!0,this.autobetInProgress=!1,this.hasPendingBet=!1}async toggleAutobet(a){if(this.autobetInProgress){this.autobetStopping=!0,this.gameData.soundController?.play("bet").catch((n)=>console.error(n));return}let i=a.detail;this.autobetStopping=!1,this.autobetInProgress=!0;let e=this.gameData.betAmount??"0",o=W(0),r=e;try{this.hasPendingBet=!0;let n=!0;while(n&&!this.autobetStopping){let t=await this.executeAutobet(i,r);if(t.hasError){if(t.errorMessage)this.emit("show-alert",{detail:{type:"error",message:t.errorMessage}});else this.emit("show-alert",{detail:{type:"error",message:j("alerts.gameError",this.gameData.language)}});n=!1;continue}if(o=o.plus(t.pnl),r=this.adjustBetAmount(i,t.gameOutcome,e,r),this.gameData.updateBetAmount(W(r)),!this.isPnLWithinLimits(i,o)){n=!1;continue}if(this.gameData.autobetNumberOfBets===0){n=!0;continue}this.gameData.updateAutobetNumberOfBets(this.gameData.autobetNumberOfBets-1),n=ga(this.gameData.autobetNumberOfBets)&&this.gameData.autobetNumberOfBets>0}}catch(n){console.error("Error occurred in toggle autobet",n),this.emit("show-alert",{detail:{type:"error",message:j("alerts.gameError",this.gameData.language)}})}finally{this.autobetInProgress=!1,this.hasPendingBet=!1,this.autobetStopping=!1}}adjustBetAmount(a,i,e,o){if(i==="Draw")return o;if(a.onWinStrategy==="Reset"&&i==="Win"||a.onLossStrategy==="Reset"&&i==="Loss")return e;let r=i==="Win"?a.onWinPercentage:a.onLossPercentage,n=W(r).div(100).plus(1);return W(o).mul(n).toFixed(2)}isPnLWithinLimits(a,i){let e=!W(a.stopOnLoss).eq(0)&&W(i).neg().gte(a.stopOnLoss),o=!W(a.stopOnProfit).eq(0)&&i.gte(a.stopOnProfit);return!e&&!o}updateHistoryWithBet(a){let i=this.gameData?.historyController;if(i&&a)i.addNewBet(a)}showError(a){let i=new CustomEvent("show-alert",{detail:{type:"error",message:a},bubbles:!1,composed:!0});this.renderRoot.querySelector("origami-game-layout")?.dispatchEvent(i)}}d([L()],Pa.prototype,"manualOrAuto",void 0),d([L()],Pa.prototype,"hasPendingBet",void 0),d([L()],Pa.prototype,"autobetInProgress",void 0),d([L()],Pa.prototype,"autobetStopping",void 0);var Qt=Q`
|
|
7126
7123
|
:host {
|
|
7127
7124
|
height: 100%;
|
|
7128
7125
|
}
|
|
@@ -7132,7 +7129,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
7132
7129
|
grid-template-columns: 1fr 1fr 1fr;
|
|
7133
7130
|
gap: 8px;
|
|
7134
7131
|
}
|
|
7135
|
-
`;class
|
|
7132
|
+
`;class Pe{edge;constructor(a){this.edge=a}async startBet(a){let{amount:i,direction:e,selectedValue:o}=a,r=Pe.getRandomValueInRange(0,1e4),n=0;if(r>o)if(e==="ABOVE")n=W(ea.getMultiplier(this.edge,o,e)).toNumber();else n=0;else if(e==="BELOW")n=W(ea.getMultiplier(this.edge,o,e)).toNumber();else n=0;let t=W(i).mul(n).toString(),s={id:crypto.randomUUID(),tenantId:"origami-casino",userId:"mock-user",gameId:"dice",currency:ta,amount:i,payout:t,afterBalance:"1000",multiplier:n.toString(),tenantUserId:"mock-user",clientSeed:"mock-seed",randomValue:"mock-random",proof:"mock-proof",nonce:1,betActions:[{id:crypto.randomUUID(),data:{DICE:{direction:e,selectedValue:o}},type:"START_BET",actionIndex:0,betAmount:i,payoutAmount:"0"},{id:crypto.randomUUID(),data:{DICE:{result:[r]}},type:"END_BET",actionIndex:1,betAmount:"0",payoutAmount:t}]};return await ba(250),{success:!0,data:s}}static getRandomValueInRange(a,i){return Math.floor(Math.random()*(i-a+1))+a}}class Ce extends Pa{static styles=[...Pa.styles,Qt];get isToggleDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}get areInputsDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}isSpacebarDisabled=()=>{if(!this.gameData?.hotkeysOpenEnabled)return!0;if(this.manualOrAuto==="Manual")return this._diceManualEl?.shadowRoot?.querySelector("origami-button")?.disabled??!0;else return this._diceAutoEl?.shadowRoot?.querySelector("origami-generic-autobet")?.shadowRoot?.querySelector(".bet-btn")?.disabled??!0};handleSpacebar=()=>{if(this.isSpacebarDisabled())return;if(this.manualOrAuto==="Manual")this.dicePlay();else{let i=this._diceAutoEl?.shadowRoot?.querySelector("origami-generic-autobet")?.shadowRoot?.querySelector(".bet-btn");if(i instanceof HTMLElement)i.click()}};diceRollOverToggle=()=>{this.diceDirection=this.diceDirection==="ABOVE"?"BELOW":"ABOVE",this.selectedValue=ea.getSelectedValueFromRollOver(this.selectedValue)};constructor(){super();this.diceDirection="ABOVE";this.selectedValue=5000;this.isManualPlaying=!1;this.showDice=!1;this.isWin=!0;this.resultValue=null;this.history=[];this._multiplierInputValid=!0;this._winChanceInputValid=!0;new Ta(this,[{key:" ",callback:this.handleSpacebar.bind(this),options:{repeat:!0,repeatInterval:200,disabled:this.isSpacebarDisabled}},{key:"q",callback:this.diceRollOverToggle.bind(this),options:{disabled:()=>this.isManualPlaying||this.autobetInProgress||this.autobetStopping||!this.gameData?.hotkeysOpenEnabled}},{key:"w",callback:this.decreaseSlider.bind(this),options:{repeat:!0,repeatInterval:200,disabled:()=>this.isManualPlaying||this.autobetInProgress||this.autobetStopping||!this.gameData?.hotkeysOpenEnabled}},{key:"e",callback:this.increaseSlider.bind(this),options:{repeat:!0,repeatInterval:200,disabled:()=>this.isManualPlaying||this.autobetInProgress||this.autobetStopping||!this.gameData?.hotkeysOpenEnabled}}])}decreaseSlider(){let a=Math.max(5,this.selectedValue-100);if(a!==this.selectedValue)this.selectedValue=a,this.gameData?.soundController?.play("dice-tick"),this.gameData?.hapticController?.lightClick()}increaseSlider(){let a=Math.min(9995,this.selectedValue+100);if(a!==this.selectedValue)this.selectedValue=a,this.gameData?.soundController?.play("dice-tick"),this.gameData?.hapticController?.lightClick()}get diceApi(){return this.isDemoMode?new Pe(this.gameData.edge):new ea(this.gameData.authToken,this.gameData.baseUrl??"")}async dicePlay(){this.isManualPlaying=!0,this.showDice=!1,this.gameData?.soundController?.play("bet").catch((a)=>console.error(a));try{let a=await this.handleBetExecution(this.gameData.betAmount);if(!a.success)console.error(a.error)}catch(a){console.error("Error in dicePlay:",a)}finally{this.isManualPlaying=!1}}async handleBetExecution(a){if(!this.gameData.currency)throw new Error(j("alerts.gameError",this.gameData?.language||$));let i={language:this.gameData.language,amount:a,currency:this.gameData.currency,direction:this.diceDirection,selectedValue:this.selectedValue},e;if(this.isDemoMode&&W(this.gameData.balance).lt(i.amount))e={success:!1,error:j("alerts.insufficientBalance",this.gameData?.language||"en")};else e=await this.diceApi.startBet(i);if(e.success){if(!this.gameData.instantBetEnabled)this.gameData.soundController?.play("dice-roll").catch((l)=>{console.error("Failed to play sound:",l)});let o=this.isDemoMode?W(this.gameData.balance).minus(e.data.amount??0).plus(e.data.payout??0):W(e.data.afterBalance??0);this.gameData.updateBalance(o),this.showDice=!0;let{betActions:r}=e.data,n=r[r.length-1];if(!n)throw new Error("No action data received");let{result:t}=n.data.DICE,s=t[0];if(this.resultValue=s,!this.gameData.instantBetEnabled)this.gameData?.hapticController?.trigger([10,20,30,40,30,20,10]);if(this.isWin=this.diceDirection==="ABOVE"?s>this.selectedValue:s<this.selectedValue,this.isWin)setTimeout(()=>{this.gameData.soundController?.play("win").catch((l)=>{console.error("Failed to play sound:",l)})},300);this.addToHistory(s/100,this.isWin,e.data.id??""),this.updateHistoryWithBet(e.data)}else this.showError(e.error);return e}addToHistory(a,i,e){this.history=[...this.history,{multiplier:a,won:i,id:e}]}async executeAutobet(a,i){try{let e=await this.handleBetExecution(i);if(!e.success)return{pnl:W(0),gameOutcome:"Draw",hasError:!0,errorMessage:e.error||j("alerts.gameError",this.gameData?.language||$)};let o=e.data;this.updateHistoryWithBet(o);let r=W(o.payout??0).minus(o.amount??0),n=gi(Number(o.multiplier)),t=this.isWin;return await this.ensureMinimumDisplayTime(t,300,300),await ba(this.getAutobetDelay()),{pnl:r,gameOutcome:n,hasError:!1}}catch(e){return console.error("Error in executeAutobet:",e),{pnl:W(0),gameOutcome:"Draw",hasError:!0,errorMessage:j("alerts.gameError",this.gameData?.language||$)}}}render(){let a=W(ea.getMultiplier(this.gameData.edge,this.selectedValue,this.diceDirection)).mul(this.gameData.betAmount).minus(this.gameData.betAmount).toFixed(4),i=ea.getMultiplier(this.gameData.edge,this.selectedValue,this.diceDirection),e=!this._multiplierInputValid||!this._winChanceInputValid||!ea.isValidMultiplier(this.gameData.edge,i.toString()),o=this.gameData.mainWidth>=768;return q`
|
|
7136
7133
|
<origami-game-layout .gameType=${"DICE"} data-is-desktop=${o}
|
|
7137
7134
|
@dice-selected-value-change=${(r)=>{this.selectedValue=r.detail.selectedValue}}
|
|
7138
7135
|
@dice-multiplier-input-change=${(r)=>{this._multiplierInputValid=ea.isValidMultiplier(this.gameData.edge,r.detail.multiplier)}}
|
|
@@ -7193,7 +7190,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
7193
7190
|
@dice-roll-over-toggle=${this.diceRollOverToggle}
|
|
7194
7191
|
></origami-dice-content>
|
|
7195
7192
|
</origami-game-layout>
|
|
7196
|
-
`}}d([
|
|
7193
|
+
`}}d([L()],Ce.prototype,"diceDirection",void 0),d([L()],Ce.prototype,"selectedValue",void 0),d([L()],Ce.prototype,"isManualPlaying",void 0),d([L()],Ce.prototype,"showDice",void 0),d([L()],Ce.prototype,"isWin",void 0),d([L()],Ce.prototype,"resultValue",void 0),d([L()],Ce.prototype,"history",void 0),d([L()],Ce.prototype,"_multiplierInputValid",void 0),d([L()],Ce.prototype,"_winChanceInputValid",void 0),d([ca("origami-dice-manual")],Ce.prototype,"_diceManualEl",void 0),d([ca("origami-dice-auto")],Ce.prototype,"_diceAutoEl",void 0),Ce=d([J("origami-dice-game")],Ce);var Je=Q`
|
|
7197
7194
|
:host {
|
|
7198
7195
|
display: flex;
|
|
7199
7196
|
flex-direction: column-reverse;
|
|
@@ -7359,7 +7356,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
7359
7356
|
${j("common.placeBet",a)}
|
|
7360
7357
|
</origami-button>`}
|
|
7361
7358
|
</div>
|
|
7362
|
-
`}}d([z({type:Boolean})],Sr.prototype,"inputsDisabled",void 0),d([z({type:String})],Sr.prototype,"risk",void 0),d([z({type:Boolean})],Sr.prototype,"isPlaying",void 0),d([z({type:Boolean})],Sr.prototype,"disableBet",void 0),d([z({type:Boolean})],Sr.prototype,"autoselectRunning",void 0),d([z({type:Number})],Sr.prototype,"selectedTilesCount",void 0),d([z({type:Number})],Sr.prototype,"betMaxMultiplier",void 0),d([
|
|
7359
|
+
`}}d([z({type:Boolean})],Sr.prototype,"inputsDisabled",void 0),d([z({type:String})],Sr.prototype,"risk",void 0),d([z({type:Boolean})],Sr.prototype,"isPlaying",void 0),d([z({type:Boolean})],Sr.prototype,"disableBet",void 0),d([z({type:Boolean})],Sr.prototype,"autoselectRunning",void 0),d([z({type:Number})],Sr.prototype,"selectedTilesCount",void 0),d([z({type:Number})],Sr.prototype,"betMaxMultiplier",void 0),d([L()],Sr.prototype,"showDepositButton",void 0),d([aa({context:T,subscribe:!0})],Sr.prototype,"gameData",void 0),d([L()],Sr.prototype,"isBetAmountValid",void 0),Sr=d([J("origami-keno-manual")],Sr);class Ir extends Y{constructor(){super(...arguments);this.inputsDisabled=!1;this.autobetStopping=!1;this.disableBet=!1;this.autobetInProgress=!1;this.autoselectRunning=!1;this.selectedTilesCount=0;this.isDesktop=!1;this.betMaxMultiplier=1}static styles=[N,Je];render(){let a=this.gameData?.language||$;return q`
|
|
7363
7360
|
<origami-generic-autobet
|
|
7364
7361
|
?inputsDisabled=${this.inputsDisabled||this.autoselectRunning}
|
|
7365
7362
|
?autobetStopping=${this.autobetStopping}
|
|
@@ -7584,7 +7581,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
7584
7581
|
background: var(--background-quinary, #535353);
|
|
7585
7582
|
}
|
|
7586
7583
|
}
|
|
7587
|
-
`;class jr extends Y{constructor(){super(...arguments);this.isDesktop=!1;this.selectedTiles=[];this.risk="CLASSIC";this.betAmount="0";this.hitCount=0;this.multipliersForSelectedTiles=0;this.resultTiles=[];this.hoverItemIndex=-1}static styles=[N,Yt];updated(a){if(a.has("resultTiles")&&this.resultTiles.length>0)this.scrollToHighlightedGem()}scrollToHighlightedGem(){requestAnimationFrame(()=>{let a=this.shadowRoot?.querySelector('.gem-container .multiply-button[match-hit-count="true"]');if(a)a.scrollIntoView({behavior:"smooth",inline:"center",block:"nearest"})})}formatMultiplier(a){return`${a.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}X`}handleMouseOver(a,i){if(!this.isDesktop)return;if(i.target)this.hoverItemIndex=a}handleMouseLeave(){if(!this.isDesktop)return;this.hoverItemIndex=-1}render(){let a=this.gameData?.language||$,i=this.multipliersForSelectedTiles,e=this.gameData?.edge||Za,o=
|
|
7584
|
+
`;class jr extends Y{constructor(){super(...arguments);this.isDesktop=!1;this.selectedTiles=[];this.risk="CLASSIC";this.betAmount="0";this.hitCount=0;this.multipliersForSelectedTiles=0;this.resultTiles=[];this.hoverItemIndex=-1}static styles=[N,Yt];updated(a){if(a.has("resultTiles")&&this.resultTiles.length>0)this.scrollToHighlightedGem()}scrollToHighlightedGem(){requestAnimationFrame(()=>{let a=this.shadowRoot?.querySelector('.gem-container .multiply-button[match-hit-count="true"]');if(a)a.scrollIntoView({behavior:"smooth",inline:"center",block:"nearest"})})}formatMultiplier(a){return`${a.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}X`}handleMouseOver(a,i){if(!this.isDesktop)return;if(i.target)this.hoverItemIndex=a}handleMouseLeave(){if(!this.isDesktop)return;this.hoverItemIndex=-1}render(){let a=this.gameData?.language||$,i=this.multipliersForSelectedTiles,e=this.gameData?.edge||Za,o=La.validEdges.includes(e)?e:Za,t=[null,...La.configs(o)[i-1]?.payout?.[this.risk]??[]],s=Array.from({length:i+1},(f,c)=>c),l=t[this.hoverItemIndex+1]??0,u=this.hoverItemIndex>=0&&this.hoverItemIndex<=this.multipliersForSelectedTiles?La.getChance({correctPicks:this.hoverItemIndex,picked:this.multipliersForSelectedTiles}).times(100):W(0),h=l*+this.betAmount;if(i===0)return q`
|
|
7588
7585
|
<div class="container" style=${Ha({["--button-count"]:"1"})}>
|
|
7589
7586
|
${this.isDesktop&&this.hoverItemIndex>-1?q`<div class="multiplier-info">
|
|
7590
7587
|
<div class="info-item">
|
|
@@ -7701,7 +7698,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
7701
7698
|
`)}
|
|
7702
7699
|
</div>
|
|
7703
7700
|
</div>
|
|
7704
|
-
`}}d([z({type:Boolean,attribute:"data-is-desktop"})],jr.prototype,"isDesktop",void 0),d([z({type:Array})],jr.prototype,"selectedTiles",void 0),d([z({type:String})],jr.prototype,"risk",void 0),d([z({type:String})],jr.prototype,"betAmount",void 0),d([z({type:Number})],jr.prototype,"hitCount",void 0),d([z({type:Number})],jr.prototype,"multipliersForSelectedTiles",void 0),d([z({type:Array})],jr.prototype,"resultTiles",void 0),d([
|
|
7701
|
+
`}}d([z({type:Boolean,attribute:"data-is-desktop"})],jr.prototype,"isDesktop",void 0),d([z({type:Array})],jr.prototype,"selectedTiles",void 0),d([z({type:String})],jr.prototype,"risk",void 0),d([z({type:String})],jr.prototype,"betAmount",void 0),d([z({type:Number})],jr.prototype,"hitCount",void 0),d([z({type:Number})],jr.prototype,"multipliersForSelectedTiles",void 0),d([z({type:Array})],jr.prototype,"resultTiles",void 0),d([L()],jr.prototype,"hoverItemIndex",void 0),d([aa({context:T,subscribe:!0})],jr.prototype,"gameData",void 0),jr=d([J("origami-keno-content-bottom")],jr);var Nt=Q`
|
|
7705
7702
|
:host {
|
|
7706
7703
|
height: 100%;
|
|
7707
7704
|
}
|
|
@@ -7783,11 +7780,11 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
7783
7780
|
.multipliersForSelectedTiles=${this.multipliersForSelectedTiles}
|
|
7784
7781
|
></origami-keno-content-bottom>
|
|
7785
7782
|
</div>
|
|
7786
|
-
`}}d([z({type:Array})],Hr.prototype,"selectedTiles",void 0),d([z({type:Array})],Hr.prototype,"resultTiles",void 0),d([z({type:Boolean})],Hr.prototype,"isPlaying",void 0),d([z({type:Boolean})],Hr.prototype,"gameOver",void 0),d([z({type:Number})],Hr.prototype,"multipliersForSelectedTiles",void 0),d([z({type:Object})],Hr.prototype,"payout",void 0),d([z({type:Boolean})],Hr.prototype,"gameWinPopupShowing",void 0),d([z({type:Number})],Hr.prototype,"multiplier",void 0),d([z({type:String})],Hr.prototype,"risk",void 0),d([z({type:String})],Hr.prototype,"betAmount",void 0),d([z({type:String})],Hr.prototype,"betId",void 0),d([z({type:Boolean})],Hr.prototype,"autoselectRunning",void 0),d([z({type:Boolean})],Hr.prototype,"isDesktop",void 0),Hr=d([J("origami-keno-content")],Hr);var Oe=10,Xt=40;class qr{authToken;baseUrl;constructor(a,i){this.authToken=a,this.baseUrl=i+"/games/keno"}async startBet(a){let i=await fetch(`${this.baseUrl}/play`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.authToken}`,"X-Origami-Trace":Oa()},body:JSON.stringify(a)}),e=await i.json();if(i.ok)return{success:!0,data:e};let o="alerts.gameError";switch(e.errorCode){case"INSUFFICIENT_BALANCE":o="alerts.insufficientBalance";break;case"LIMIT_REACHED":o="alerts.betLimitReached";break}return{success:!1,error:j(o,a.language)}}}var Rl=10;class $e{edge;constructor(a){this.edge=a}async startBet(a){let{amount:i,riskLevel:e,selectedNumbers:o}=a,r=$e.generateRandomTiles(Rl),n=this.calculateMultiplier(o,r,e),t=W(i).mul(n).toFixed(4),l={id:crypto.randomUUID(),tenantId:"origami-casino",userId:"mock-user",gameId:"KENO",currency:a.currency,amount:i,payout:t,afterBalance:"1000",multiplier:n.toString(),tenantUserId:"mock-user",clientSeed:"mock-seed",randomValue:"mock-random",proof:"mock-proof",nonce:1,betActions:[{id:crypto.randomUUID(),data:{KENO:{selectedNumbers:o,riskLevel:e}},type:"START_BET",actionIndex:0,betAmount:i,payoutAmount:null},{id:crypto.randomUUID(),data:{KENO:{result:r}},type:"END_BET",actionIndex:1,betAmount:null,payoutAmount:t}]};return await ba(250),{success:!0,data:l}}static generateRandomTiles(a,i=[]){let e=Array.from({length:Xt},(o,r)=>r+1).filter((o)=>!i.includes(o));return[...e].sort(()=>0.5-Math.random()).slice(0,Math.min(a,e.length))}calculateMultiplier(a,i,e){let o=a.filter((s)=>i.includes(s)).length,r=a.length,n=
|
|
7783
|
+
`}}d([z({type:Array})],Hr.prototype,"selectedTiles",void 0),d([z({type:Array})],Hr.prototype,"resultTiles",void 0),d([z({type:Boolean})],Hr.prototype,"isPlaying",void 0),d([z({type:Boolean})],Hr.prototype,"gameOver",void 0),d([z({type:Number})],Hr.prototype,"multipliersForSelectedTiles",void 0),d([z({type:Object})],Hr.prototype,"payout",void 0),d([z({type:Boolean})],Hr.prototype,"gameWinPopupShowing",void 0),d([z({type:Number})],Hr.prototype,"multiplier",void 0),d([z({type:String})],Hr.prototype,"risk",void 0),d([z({type:String})],Hr.prototype,"betAmount",void 0),d([z({type:String})],Hr.prototype,"betId",void 0),d([z({type:Boolean})],Hr.prototype,"autoselectRunning",void 0),d([z({type:Boolean})],Hr.prototype,"isDesktop",void 0),Hr=d([J("origami-keno-content")],Hr);var Oe=10,Xt=40;class qr{authToken;baseUrl;constructor(a,i){this.authToken=a,this.baseUrl=i+"/games/keno"}async startBet(a){let i=await fetch(`${this.baseUrl}/play`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.authToken}`,"X-Origami-Trace":Oa()},body:JSON.stringify(a)}),e=await i.json();if(i.ok)return{success:!0,data:e};let o="alerts.gameError";switch(e.errorCode){case"INSUFFICIENT_BALANCE":o="alerts.insufficientBalance";break;case"LIMIT_REACHED":o="alerts.betLimitReached";break}return{success:!1,error:j(o,a.language)}}}var Rl=10;class $e{edge;constructor(a){this.edge=a}async startBet(a){let{amount:i,riskLevel:e,selectedNumbers:o}=a,r=$e.generateRandomTiles(Rl),n=this.calculateMultiplier(o,r,e),t=W(i).mul(n).toFixed(4),l={id:crypto.randomUUID(),tenantId:"origami-casino",userId:"mock-user",gameId:"KENO",currency:a.currency,amount:i,payout:t,afterBalance:"1000",multiplier:n.toString(),tenantUserId:"mock-user",clientSeed:"mock-seed",randomValue:"mock-random",proof:"mock-proof",nonce:1,betActions:[{id:crypto.randomUUID(),data:{KENO:{selectedNumbers:o,riskLevel:e}},type:"START_BET",actionIndex:0,betAmount:i,payoutAmount:null},{id:crypto.randomUUID(),data:{KENO:{result:r}},type:"END_BET",actionIndex:1,betAmount:null,payoutAmount:t}]};return await ba(250),{success:!0,data:l}}static generateRandomTiles(a,i=[]){let e=Array.from({length:Xt},(o,r)=>r+1).filter((o)=>!i.includes(o));return[...e].sort(()=>0.5-Math.random()).slice(0,Math.min(a,e.length))}calculateMultiplier(a,i,e){let o=a.filter((s)=>i.includes(s)).length,r=a.length,n=La.configs(this.edge)[r-1].payout;if(!n)return 0;let t=n[e];if(!t||o>=t.length)return 0;return t[o]||0}}var Tt=Q`
|
|
7787
7784
|
:host {
|
|
7788
7785
|
height: 100%;
|
|
7789
7786
|
}
|
|
7790
|
-
`;class _e extends
|
|
7787
|
+
`;class _e extends Pa{static styles=[...Pa.styles,Tt];getDisplayMultiplier(a,i,e){let o=La.validEdges.includes(this.gameData.edge)?this.gameData.edge:Za;return W(a).eq(0)?La.calculateMultiplier(this.kenoRisk,this.selectedTiles,e,o).toNumber():i}get isToggleDisabled(){return this.autobetInProgress||this.isManualPlaying||this.autoselectRunning}get areInputsDisabled(){return this.autobetInProgress||this.isManualPlaying||this.autoselectRunning}get kenoApi(){return this.isDemoMode?new $e(this.gameData.edge):new qr(this.gameData.authToken,this.gameData.baseUrl)}async kenoPlay(){if(this.gameWinPopupShowing=!1,this.selectedTiles.length===0){alert(j("games.keno.selectAtLeastOneTile",this.gameData.language));return}this.gameData.soundController?.play("bet").catch((a)=>console.error(a)),this.isManualPlaying=!0,this.resultTiles=[],this.gameOver=!1;try{let a=await this.handleBetExecution(this.gameData.betAmount,this.getDelay(150));if(!a.success){this.showError(a.error);return}this.betId=a.data.id}catch(a){console.error("Error in kenoPlay:",a)}finally{this.isManualPlaying=!1,this.gameOver=!0}}async handleBetExecution(a,i){if(!this.gameData.currency)throw new Error("Currency is not set");let e={language:this.gameData.language,amount:a,currency:this.gameData.currency,riskLevel:this.kenoRisk,selectedNumbers:this.selectedTiles},o;if(this.isDemoMode&&W(this.gameData.balance).lt(e.amount))o={success:!1,error:j("alerts.insufficientBalance",this.gameData?.language||"en")};else o=await this.kenoApi.startBet(e);if(o.success){let{betActions:r}=o.data,n=r[r.length-1]?.data.KENO;if(!n)throw new Error("No keno data found");if(this.multiplier=this.getDisplayMultiplier(this.gameData.betAmount,Number(o.data.multiplier),n.result),await this.executeInstantOrAnimated(async()=>{if(n.result.some((l)=>this.selectedTiles.includes(l)))this.gameData.soundController?.play("keno-gem").catch((l)=>console.error(l));else this.gameData.soundController?.play("secondary").catch((l)=>console.error(l));this.resultTiles=[...n.result]},async()=>{for(let s of n.result){if(this.selectedTiles.includes(s))this.gameData.soundController?.play("keno-gem").catch((l)=>console.error(l));else this.gameData.soundController?.play("secondary").catch((l)=>console.error(l));this.resultTiles=[...this.resultTiles,s],await ba(i)}}),this.gameWinPopupShowing=this.multiplier>0,this.gameWinPopupShowing)this.gameData.soundController?.play("win").catch((s)=>console.error(s));this.payout=W(o.data.payout??0),this.addToHistory(W(o.data.multiplier??0).toNumber(),this.gameWinPopupShowing,o.data.id??""),this.updateHistoryWithBet(o.data);let t=this.isDemoMode?W(this.gameData.balance).minus(o.data.amount??0).plus(o.data.payout??0):W(o.data.afterBalance??0);this.gameData.updateBalance(t)}return o}addToHistory(a,i,e){let o=[...this.history,{multiplier:a,won:i,id:e}];this.history=o.slice(-5)}async executeAutobet(a,i){try{if(!this.gameData.currency)throw new Error("Currency is not set");if(this.resultTiles=[],this.gameOver=!1,this.gameWinPopupShowing=!1,this.gameData.instantBetEnabled)await this.forceUIUpdate();if(this.selectedTiles.length===0)return{pnl:W(0),gameOutcome:"Draw",hasError:!0,errorMessage:j("games.keno.selectTileToAutobet",this.gameData.language||$)};let e={language:this.gameData.language,amount:i,currency:this.gameData.currency,riskLevel:this.kenoRisk,selectedNumbers:this.selectedTiles},o=await this.kenoApi.startBet(e);if(!o.success)return this.showError(o.error),{pnl:W(0),gameOutcome:"Draw",hasError:!0,errorMessage:o.error||j("alerts.errorProcessingBet",this.gameData.language||$)};let r=o.data,n=W(r.payout??0).minus(r.amount??0),t=gi(Number(r.multiplier)),s=r.betActions,l=s[s.length-1]?.data.KENO;if(!l)throw new Error("No keno data found");let{result:u}=l;if(this.multiplier=this.getDisplayMultiplier(i,Number(r.multiplier),u),await this.executeInstantOrAnimated(async()=>{if(u.some((c)=>this.selectedTiles.includes(c)))this.gameData.soundController?.play("keno-gem").catch((c)=>console.error(c));else this.gameData.soundController?.play("secondary").catch((c)=>console.error(c));this.resultTiles=[...u]},async()=>{for(let f of u){if(this.selectedTiles.includes(f))this.gameData.soundController?.play("keno-gem").catch((c)=>console.error(c));else this.gameData.soundController?.play("secondary").catch((c)=>console.error(c));this.resultTiles=[...this.resultTiles,f],await ba(this.getDelay(150))}}),this.gameWinPopupShowing=this.multiplier>0,this.gameWinPopupShowing)this.gameData.soundController?.play("win").catch((f)=>console.error(f));this.payout=W(r.payout??0),this.addToHistory(Number(r.multiplier??0),this.gameWinPopupShowing,r.id??""),this.updateHistoryWithBet(r),await this.ensureMinimumDisplayTime(this.gameWinPopupShowing,300,300),await ba(this.getAutobetDelay()),this.gameWinPopupShowing=!1;let h=this.isDemoMode?W(this.gameData.balance).minus(o.data.amount??0).plus(o.data.payout??0):W(o.data.afterBalance??0);return this.gameData.updateBalance(h),{pnl:n,gameOutcome:t,hasError:!1}}catch(e){return console.error("Error in executeAutobet:",e),{pnl:W(0),gameOutcome:"Draw",hasError:!0,errorMessage:j("alerts.gameError",this.gameData.language||$)}}finally{this.gameOver=!0}}handleTileClick=(a)=>{if(this.gameOver)this.newGame();if(this.autoselectRunning)return;if(this.gameData.soundController?.play("click").catch((e)=>console.error(e)),this.selectedTiles.includes(a.detail.tile))this.selectedTiles=this.selectedTiles.filter((e)=>e!==a.detail.tile);else if(this.selectedTiles.length<Oe)this.selectedTiles=[...this.selectedTiles,a.detail.tile]};handleRiskChange=(a)=>{this.kenoRisk=a.detail.value};autoPick=async()=>{if(this.isManualPlaying||this.autoselectRunning)return;if(this.autoselectRunning=!0,this.hadTilesBeforeAutopick=this.selectedTiles.length>0,this.resultTiles=[],this.gameWinPopupShowing=!1,this.selectedTiles.length>=Oe)this.selectedTiles=[];let a=Oe-this.selectedTiles.length;if(a<=0)return;let e=Array.from({length:40},(n,t)=>t+1).filter((n)=>!this.selectedTiles.includes(n));if(e.length===0)return;let r=[...e].sort(()=>0.5-Math.random()).slice(0,a);for(let n of r)this.gameData.soundController?.play("click").catch((t)=>console.error(t)),this.gameData.hapticController?.lightClick(),this.selectedTiles=[...this.selectedTiles,n],await ba(150);this.autoselectRunning=!1,this.hadTilesBeforeAutopick=!1};clearTable=()=>{if(this.isManualPlaying||this.autoselectRunning)return;this.gameData.soundController?.play("keno-clear").catch((a)=>console.error(a)),this.gameWinPopupShowing=!1,this.selectedTiles=[],this.resultTiles=[],this.payout=null};newGame=()=>{this.gameWinPopupShowing=!1,this.resultTiles=[],this.payout=null};render(){let a=this.autoselectRunning?10:this.selectedTiles.length,i=this.selectedTiles.length>0||this.autoselectRunning,e=this.gameData.mainWidth>=768,o=La.validEdges.includes(this.gameData.edge)?this.gameData.edge:Za,r=La.configs(o).find((n)=>n.tiles===this.selectedTiles.length)?.payout[this.kenoRisk][this.selectedTiles.length]??1;return q`
|
|
7791
7788
|
<origami-game-layout .gameType=${"KENO"} data-is-desktop=${e}>
|
|
7792
7789
|
<origami-game-sidebar
|
|
7793
7790
|
data-is-desktop=${e}
|
|
@@ -7861,7 +7858,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
7861
7858
|
></origami-keno-content>
|
|
7862
7859
|
${C}
|
|
7863
7860
|
</origami-game-layout>
|
|
7864
|
-
`}getButton(a){let i;if(this.manualOrAuto==="Manual")i=this._kenoManualEl?.shadowRoot?.querySelector(`origami-button[hotkey="${a}"]`);else if(a===" ")i=this._kenoAutoEl?.shadowRoot?.querySelector("origami-generic-autobet")?.shadowRoot?.querySelector(".bet-btn");else i=this._kenoAutoEl?.shadowRoot?.querySelector("origami-generic-autobet")?.querySelector(`origami-button[hotkey="${a}"]`);return i}isButtonDisabled(a){if(!this.gameData.hotkeysOpenEnabled)return!0;return this.getButton(a)?.disabled??!0}handleSpacebar=()=>{if(this.isButtonDisabled(" "))return;if(this.manualOrAuto==="Manual")this.kenoPlay();else this.getButton(" ")?.click()};handleAutoPick=()=>{if(this.isButtonDisabled("Q"))return;this.autoPick()};handleClearTable=()=>{if(this.isButtonDisabled("W"))return;this.clearTable()};constructor(){super();this.isManualPlaying=!1;this.history=[];this.selectedTiles=[];this.resultTiles=[];this.gameWinPopupShowing=!1;this.gameOver=!1;this.payout=null;this.kenoRisk="CLASSIC";this.autoselectRunning=!1;this.multiplier=0;this.hadTilesBeforeAutopick=!1;this.showResetAnimation=!0;new Ta(this,[{key:" ",callback:this.handleSpacebar.bind(this),options:{disabled:()=>this.isButtonDisabled(" ")}},{key:"q",callback:this.handleAutoPick.bind(this),options:{disabled:()=>this.isButtonDisabled("Q")}},{key:"w",callback:this.handleClearTable.bind(this),options:{disabled:()=>this.isButtonDisabled("W")}}])}async firstUpdated(a){super.firstUpdated(a),requestAnimationFrame(()=>{setTimeout(()=>{this.showResetAnimation=!1},350)})}}d([
|
|
7861
|
+
`}getButton(a){let i;if(this.manualOrAuto==="Manual")i=this._kenoManualEl?.shadowRoot?.querySelector(`origami-button[hotkey="${a}"]`);else if(a===" ")i=this._kenoAutoEl?.shadowRoot?.querySelector("origami-generic-autobet")?.shadowRoot?.querySelector(".bet-btn");else i=this._kenoAutoEl?.shadowRoot?.querySelector("origami-generic-autobet")?.querySelector(`origami-button[hotkey="${a}"]`);return i}isButtonDisabled(a){if(!this.gameData.hotkeysOpenEnabled)return!0;return this.getButton(a)?.disabled??!0}handleSpacebar=()=>{if(this.isButtonDisabled(" "))return;if(this.manualOrAuto==="Manual")this.kenoPlay();else this.getButton(" ")?.click()};handleAutoPick=()=>{if(this.isButtonDisabled("Q"))return;this.autoPick()};handleClearTable=()=>{if(this.isButtonDisabled("W"))return;this.clearTable()};constructor(){super();this.isManualPlaying=!1;this.history=[];this.selectedTiles=[];this.resultTiles=[];this.gameWinPopupShowing=!1;this.gameOver=!1;this.payout=null;this.kenoRisk="CLASSIC";this.autoselectRunning=!1;this.multiplier=0;this.hadTilesBeforeAutopick=!1;this.showResetAnimation=!0;new Ta(this,[{key:" ",callback:this.handleSpacebar.bind(this),options:{disabled:()=>this.isButtonDisabled(" ")}},{key:"q",callback:this.handleAutoPick.bind(this),options:{disabled:()=>this.isButtonDisabled("Q")}},{key:"w",callback:this.handleClearTable.bind(this),options:{disabled:()=>this.isButtonDisabled("W")}}])}async firstUpdated(a){super.firstUpdated(a),requestAnimationFrame(()=>{setTimeout(()=>{this.showResetAnimation=!1},350)})}}d([L()],_e.prototype,"isManualPlaying",void 0),d([L()],_e.prototype,"history",void 0),d([L()],_e.prototype,"selectedTiles",void 0),d([L()],_e.prototype,"resultTiles",void 0),d([z({type:Boolean})],_e.prototype,"gameWinPopupShowing",void 0),d([L()],_e.prototype,"gameOver",void 0),d([L()],_e.prototype,"payout",void 0),d([L()],_e.prototype,"kenoRisk",void 0),d([L()],_e.prototype,"autoselectRunning",void 0),d([L()],_e.prototype,"multiplier",void 0),d([L()],_e.prototype,"hadTilesBeforeAutopick",void 0),d([L()],_e.prototype,"betId",void 0),d([L()],_e.prototype,"showResetAnimation",void 0),d([ca("origami-keno-manual")],_e.prototype,"_kenoManualEl",void 0),d([ca("origami-keno-auto")],_e.prototype,"_kenoAutoEl",void 0),_e=d([J("origami-keno-game")],_e);var Mt=Q`
|
|
7865
7862
|
:host {
|
|
7866
7863
|
display: flex;
|
|
7867
7864
|
flex-direction: column;
|
|
@@ -7909,7 +7906,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
7909
7906
|
${j("common.placeBet",a)}
|
|
7910
7907
|
</origami-button>`}
|
|
7911
7908
|
</div>
|
|
7912
|
-
`}}d([z({type:Boolean})],Fr.prototype,"inputsDisabled",void 0),d([z({type:Boolean})],Fr.prototype,"isPlaying",void 0),d([z({type:String})],Fr.prototype,"profitOnWin",void 0),d([z({type:Boolean})],Fr.prototype,"betDisabled",void 0),d([z({type:Number})],Fr.prototype,"betMaxMultiplier",void 0),d([
|
|
7909
|
+
`}}d([z({type:Boolean})],Fr.prototype,"inputsDisabled",void 0),d([z({type:Boolean})],Fr.prototype,"isPlaying",void 0),d([z({type:String})],Fr.prototype,"profitOnWin",void 0),d([z({type:Boolean})],Fr.prototype,"betDisabled",void 0),d([z({type:Number})],Fr.prototype,"betMaxMultiplier",void 0),d([L()],Fr.prototype,"showDepositButton",void 0),d([L()],Fr.prototype,"isBetAmountValid",void 0),d([aa({context:T,subscribe:!0})],Fr.prototype,"gameData",void 0),Fr=d([J("origami-limbo-manual")],Fr);class Kr extends Y{constructor(){super(...arguments);this.inputsDisabled=!1;this.autobetStopping=!1;this.autobetInProgress=!1;this.profitOnWin="0.00";this.betDisabled=!1;this.isDesktop=!1;this.betMaxMultiplier=1}render(){return q`
|
|
7913
7910
|
<origami-generic-autobet
|
|
7914
7911
|
data-is-desktop=${this.isDesktop}
|
|
7915
7912
|
?inputsDisabled=${this.inputsDisabled}
|
|
@@ -8050,7 +8047,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
8050
8047
|
></lottie-icon>
|
|
8051
8048
|
`:C}
|
|
8052
8049
|
</origami-input>
|
|
8053
|
-
`}}d([z({type:Number})],Rr.prototype,"targetMultiplier",void 0),d([z({type:Boolean,reflect:!0})],Rr.prototype,"disabled",void 0),d([aa({context:T,subscribe:!0})],Rr.prototype,"gameData",void 0),d([
|
|
8050
|
+
`}}d([z({type:Number})],Rr.prototype,"targetMultiplier",void 0),d([z({type:Boolean,reflect:!0})],Rr.prototype,"disabled",void 0),d([aa({context:T,subscribe:!0})],Rr.prototype,"gameData",void 0),d([L()],Rr.prototype,"winChanceInputFocused",void 0),d([L()],Rr.prototype,"multiplierInputFocused",void 0),d([L()],Rr.prototype,"_winChanceInputValue",void 0),d([L()],Rr.prototype,"_multiplierInputValue",void 0),d([L()],Rr.prototype,"_previousMultiplierInputValue",void 0),d([L()],Rr.prototype,"_previousWinChanceInputValue",void 0),d([ka(["targetMultiplier"])],Rr.prototype,"targetMultiplierChanged",null),Rr=d([J("origami-limbo-content-bottom")],Rr);class Zr extends Y{constructor(){super(...arguments);this.targetMultiplier=50;this.betTargetMultiplier=2;this.history=[];this.resultMultiplier=null;this.isWin=!0;this.betId="";this.isPlaying=!1;this.isDesktop=!1;this.disableSound=!1}static styles=[N,Ut];render(){if(this.isDesktop)return q`
|
|
8054
8051
|
<origami-history-pills
|
|
8055
8052
|
data-is-desktop=${this.isDesktop}
|
|
8056
8053
|
.gameType=${"LIMBO"}
|
|
@@ -8100,7 +8097,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
8100
8097
|
grid-template-columns: 1fr 1fr;
|
|
8101
8098
|
gap: 8px;
|
|
8102
8099
|
}
|
|
8103
|
-
`;var Zl=100;class Qe extends
|
|
8100
|
+
`;var Zl=100;class Qe extends Pa{static styles=[...Pa.styles,Gt];get isToggleDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}get areInputsDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}get limboApi(){return this.isDemoMode?new Wr(this.gameData.edge):new na(this.gameData.authToken,this.gameData.baseUrl)}async limboPlay(){this.isManualPlaying=!0,this.gameData?.soundController?.play("bet");try{let a=await this.handleBetExecution(this.gameData?.betAmount??"0");if(!a.success){this.showError(a.error);return}let i=a.data.id;await new Promise((o)=>{let r=(n)=>{if(n.detail.betId===i)this.removeEventListener("limbo-multiplier-animation-end",r),o()};this.addEventListener("limbo-multiplier-animation-end",r)})}catch(a){console.error("Error in limboPlay:",a)}finally{this.isManualPlaying=!1}}async handleBetExecution(a){if(this.resultMultiplier=null,!this.gameData?.currency)throw new Error("Currency is not set");let i={language:this.gameData.language,amount:a,currency:this.gameData.currency,targetMultiplier:Number(W(this.targetMultiplier).mul(Zl).toFixed(0))},e;if(this.isDemoMode&&W(this.gameData.balance).lt(i.amount))e={success:!1,error:j("alerts.insufficientBalance",this.gameData?.language||"en")};else e=await this.limboApi.startBet(i);if(e.success){let o=this.isDemoMode?W(this.gameData.balance).minus(e.data.amount??0).plus(e.data.payout??0):W(e.data.afterBalance??0);this.gameData.updateBalance(o);let{betActions:r,id:n}=e.data,t=r[r.length-1];if(!t)throw new Error("No action data received");let{randomMultiplier:s}=t.data.LIMBO;this.resultMultiplier=Number(s),this.betTargetMultiplier=this.targetMultiplier,this.isWin=this.targetMultiplier<=Number(s),this.betId=n,this.updateHistoryWithBet(e.data)}return e}isSpacebarDisabled=()=>{if(!this.gameData?.hotkeysOpenEnabled)return!0;if(this.manualOrAuto==="Manual")return this._limboManualEl?.shadowRoot?.querySelector("origami-button")?.disabled??!0;else return this._limboAutoEl?.shadowRoot?.querySelector("origami-generic-autobet")?.shadowRoot?.querySelector(".bet-btn")?.disabled??!0};handleSpacebar=()=>{if(this.isSpacebarDisabled())return;if(this.manualOrAuto==="Manual")this.limboPlay();else{let i=this._limboAutoEl?.shadowRoot?.querySelector("origami-generic-autobet")?.shadowRoot?.querySelector(".bet-btn");if(i instanceof HTMLElement)i.click()}};constructor(){super();this.targetMultiplier=2;this.resultMultiplier=null;this.isManualPlaying=!1;this.isWin=!1;this.history=[];this.betTargetMultiplier=2;this.betId="";this._multiplierInputValid=!0;this._winChanceInputValid=!0;new Ta(this,[{key:" ",callback:this.handleSpacebar.bind(this),options:{repeat:!0,repeatInterval:200,disabled:this.isSpacebarDisabled}}])}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("limbo-multiplier-animation-end",null)}async executeAutobet(a,i){try{let e=await this.handleBetExecution(i);if(!e.success)return this.showError(e.error),{pnl:W(0),gameOutcome:"Draw",hasError:!0,errorMessage:e.error||j("alerts.errorProcessingBet",this.gameData?.language||$)};let o=e.data.id;await new Promise((u)=>{let h=(f)=>{if(f.detail.betId===o)this.removeEventListener("limbo-multiplier-animation-end",h),u()};this.addEventListener("limbo-multiplier-animation-end",h)});let n=e.data,t=W(n.payout??0).minus(n.amount??0),s=gi(Number(n.multiplier??0)),l=W(n.multiplier??0).gt(0);return await this.ensureMinimumDisplayTime(l,300,300),await ba(this.getAutobetDelay()),{pnl:t,gameOutcome:s,hasError:!1}}catch(e){return console.error("Error in executeAutobet:",e),{pnl:W(0),gameOutcome:"Draw",hasError:!0,errorMessage:j("alerts.gameError",this.gameData?.language||$)}}}multiplierChange=(a)=>{let i=a.detail.multiplier;this.targetMultiplier=Number(W(i).toFixed(na.multiplierPrecision))};calculateProfitOnWin(){return W(this.gameData.betAmount).mul(this.targetMultiplier).minus(this.gameData.betAmount).toFixed(4)}winChanceChange=(a)=>{let i=+a.detail.winChance;if(na.isValidWinChance(a.detail.winChance,this.gameData.edge))this.targetMultiplier=+na.calculateMultiplier(i,this.gameData.edge)};addToHistory(a,i,e){this.history=[...this.history.filter((o)=>o.id!==e),{multiplier:a,won:i,id:e}]}multiplierAnimationEnd=(a)=>{let{resultMultiplier:i,isWin:e,betId:o}=a.detail;if(e)this.gameData.soundController?.play("win",!1);this.addToHistory(i,e,o),this.dispatchEvent(new CustomEvent("limbo-multiplier-animation-end",{detail:a.detail,bubbles:!0,composed:!0}))};render(){let a=this.calculateProfitOnWin(),i=!this._multiplierInputValid||!this._winChanceInputValid||!na.isValidMultiplier(this.targetMultiplier.toString()),e=this.gameData?.mainWidth>=768;return q`
|
|
8104
8101
|
<origami-game-layout .gameType=${"LIMBO"} data-is-desktop=${e}
|
|
8105
8102
|
@limbo-multiplier-change=${this.multiplierChange}
|
|
8106
8103
|
@limbo-multiplier-input-change=${(o)=>{this._multiplierInputValid=na.isValidMultiplier(o.detail.multiplier)}}
|
|
@@ -8159,7 +8156,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
8159
8156
|
@limbo-multiplier-animation-end=${this.multiplierAnimationEnd}
|
|
8160
8157
|
></origami-limbo-content>
|
|
8161
8158
|
</origami-game-layout>
|
|
8162
|
-
`}}d([
|
|
8159
|
+
`}}d([L()],Qe.prototype,"targetMultiplier",void 0),d([L()],Qe.prototype,"resultMultiplier",void 0),d([L()],Qe.prototype,"isManualPlaying",void 0),d([L()],Qe.prototype,"isWin",void 0),d([L()],Qe.prototype,"history",void 0),d([L()],Qe.prototype,"betTargetMultiplier",void 0),d([L()],Qe.prototype,"betId",void 0),d([L()],Qe.prototype,"_multiplierInputValid",void 0),d([L()],Qe.prototype,"_winChanceInputValid",void 0),d([ca("origami-limbo-manual")],Qe.prototype,"_limboManualEl",void 0),d([ca("origami-limbo-auto")],Qe.prototype,"_limboAutoEl",void 0),Qe=d([J("origami-limbo-game")],Qe);class ua{edge;static activeBet=null;static minePositions=[];constructor(a){this.edge=a}async startManualBet(a){let i=crypto.randomUUID();ua.minePositions=ua.generateMinePositions(a.minesCount);let e=this.createMockBetResult(i,a.amount,a.minesCount,[],!1);return ua.activeBet=e,await ba(250),{success:!0,data:e}}async getActiveBet(){if(!ua.activeBet)return{success:!1,error:"No active bet"};return await ba(250),{success:!0,data:ua.activeBet}}async selectTile(a){if(!ua.activeBet)return{success:!1,error:"No active bet"};let i=ua.activeBet,o=[...ja.deriveSelectedTiles(i.betActions),...a.selectedTiles],n=i.betActions.find((l)=>l.type==="START_BET")?.data.MINES?.minesCount??0,t=a.selectedTiles.some((l)=>ua.minePositions.includes(l)),s=this.createMockBetResult(i.id,i.amount,n,o,!1,"INTERMEDIATE_NON_BET_ACTION");return ua.activeBet=t?null:s,await ba(250),{success:!0,data:s}}async cashout(){if(!ua.activeBet)return{success:!1,error:"No active bet"};let a=ua.activeBet,i=ja.deriveSelectedTiles(a.betActions),o=a.betActions.find((t)=>t.type==="START_BET")?.data.MINES?.minesCount??0,r=this.createMockBetResult(a.id,a.amount,o,i,!0),n=r.betActions[r.betActions.length-1];if(n&&n.type==="END_BET")n.payoutAmount=r.payout;return ua.activeBet=null,await ba(250),{success:!0,data:r}}async autobetPlay(a){let i=crypto.randomUUID(),e=a.minesCount??Ji;ua.minePositions=ua.generateMinePositions(e);let o=a.selectedTiles.some((h)=>ua.minePositions.includes(h)),r=a.selectedTiles.filter((h)=>!ua.minePositions.includes(h)).length,n=W(0);if(r>0&&!o)if(e===0)n=W(0);else if(r===0)n=W(1);else{let h=Math.min(Ja-r,e);n=bi.calculateMultiplierBN(r,h,this.edge)}let t=o?"0":W(a.amount).mul(n).toFixed(8),s=o?"0":n.toString(),l=[ua.createBetAction("START_BET",{minesCount:e,selectedTiles:a.selectedTiles,hasCashedOut:!0},0,a.amount,null),ua.createBetAction("END_BET",{result:ua.minePositions},1,null,t)],u={id:i,tenantId:"origami-casino",userId:"mock-user",tenantUserId:"mock-tenant-user",gameId:"MINES",currency:a.currency,amount:a.amount,payout:t,afterBalance:W(1000).plus(t).minus(a.amount).toFixed(8),multiplier:s,clientSeed:"mock-seed",randomValue:"bccc6bac05bf21a1de35b850f80abfd11407025b973e361f2d9c6ec7d51be44693dd4df4a04c201ebdbfb791d03d65e9414263dcca54772071ba0509fdfe82d0",proof:"4a24bc6e6e8194857d3e4f759781cea89827daf8bca1dd0eb8cfb887dc818b4c6527687647b9c5c89c4e72c8f587777bd9ae3fb6cbce88d3e3da726f95375bb8a6e3ed03194fbc4d1f22af95f1f7820a",nonce:Math.floor(Math.random()*1000),betActions:l};return await ba(250),{success:!0,data:u}}static getRandomValueInRange(a,i){return Math.floor(Math.random()*(i-a+1))+a}static generateMinePositions(a){let i=[];while(i.length<a){let e=ua.getRandomValueInRange(0,Ja-1);if(!i.includes(e))i.push(e)}return i}static createBetAction(a,i,e,o=null,r=null){return{id:crypto.randomUUID(),data:{MINES:i},type:a,actionIndex:e,betAmount:o,payoutAmount:r}}createMockBetResult(a,i,e,o=[],r=!1,n){let t=ua.activeBet,s=t?.betActions||[],l=o.some((k)=>ua.minePositions.includes(k)),u=o.filter((k)=>!ua.minePositions.includes(k)).length,h=[...s],f=t?.nonce||Math.floor(Math.random()*1000),c=t?.randomValue||null,y=t?.proof||null;if(!t)h=[ua.createBetAction("START_BET",{minesCount:e,selectedTiles:[],hasCashedOut:!1},0,i,null)];else if(n==="INTERMEDIATE_NON_BET_ACTION"){if(h.push(ua.createBetAction("INTERMEDIATE_NON_BET_ACTION",{minesCount:e,selectedTiles:o,hasCashedOut:!1},h.length,null,null)),l)h.push(ua.createBetAction("END_BET",{result:ua.minePositions},h.length,null,"0"))}else if(r&&!l)h.push(ua.createBetAction("END_BET",{result:ua.minePositions},h.length,null,null));if(r||l)c="b90c047b9c51db60bcd82590c7e754f50c6f626e0a594f12535d7f345422f90063a8511ed7aec0e5a67d3f399229d64e2381624ee6994c7a2fc0532f4274f7a3",y="d026116a800d0e90d6f9b2c189de0e9c8f9afe292200c5d9392ff5fa0ce14e387bfe171dc8c755d75bdf01a37771b27eec056e69527d369e444c665b2264d6c1477612786302cfc48bee709733d65d0e";let g=W(0);if(u>0&&!l)if(e===0)g=W(0);else if(u===0)g=W(1);else{let k=Math.min(Ja-u,e);g=bi.calculateMultiplierBN(u,k,this.edge)}let b=null,I=null,m=null;if(r||l)if(!l&&u>0)b=W(i).mul(g).toFixed(8),m=g.toString(),I=W(1000).plus(b).minus(i).toFixed(8);else b="0",m="0",I=W(1000).minus(i).toFixed(8);else if(!t)I=W(1000).minus(i).toFixed(8);return{id:a,tenantId:"origami-casino",userId:"mock-user",tenantUserId:"mock-tenant-user",gameId:"MINES",currency:ta,amount:i,payout:b,afterBalance:I,multiplier:m,clientSeed:"mock-seed",randomValue:c,proof:y,nonce:f,betActions:h}}}class Br extends Y{constructor(){super(...arguments);this.isAuto=!1;this.autobetSelectedTiles=[];this.autobetInProgress=!1;this.minesState=null;this.showWinPopup=!1;this.hitBomb=!1;this.loadingTiles=[];this.isDesktop=!1}static styles=[N,Q`
|
|
8163
8160
|
:host {
|
|
8164
8161
|
height: 100%;
|
|
8165
8162
|
}
|
|
@@ -8179,7 +8176,7 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
8179
8176
|
:host {
|
|
8180
8177
|
height: 100%;
|
|
8181
8178
|
}
|
|
8182
|
-
`;class Et{previousValues=[];callback;constructor(a){this.callback=a}check(a){if(a.length!==this.previousValues.length||a.some((e,o)=>e!==this.previousValues[o]))this.callback([...a],[...this.previousValues]),this.previousValues=[...a]}}class Ye extends
|
|
8179
|
+
`;class Et{previousValues=[];callback;constructor(a){this.callback=a}check(a){if(a.length!==this.previousValues.length||a.some((e,o)=>e!==this.previousValues[o]))this.callback([...a],[...this.previousValues]),this.previousValues=[...a]}}class Ye extends Pa{static styles=[...Pa.styles,Dt];_playSound(a){let i={click:"click",bet:"bet",win:"win",bomb:"mines-bomb",gem:"mines-gem"};this.gameData?.soundController?.play(i[a]).catch((e)=>console.error(e))}authTokenWatcher=new Et(([a],[i])=>{if(a&&a!==i)this.isCheckingForSession=!0,this.getMinesActiveBet()});get isToggleDisabled(){let a=this.getMinesState;return this.autobetInProgress||a?.state==="GAME_IN_PROGRESS"||this.isCheckingForSession||this.isLoading}get areInputsDisabled(){let a=this.getMinesState;return this.autobetInProgress||a?.state==="GAME_IN_PROGRESS"||this.isCheckingForSession||this.isLoading}get isGameActive(){return this.getMinesState?.state==="GAME_IN_PROGRESS"}get minesApi(){return this.isDemoMode?new ua(this.gameData.edge):new ja(this.gameData.authToken,this.gameData.baseUrl??"")}addToHistory(a,i,e){if(!e)return;let o=[...this.history,{multiplier:a,won:i,id:e}];this.history=o}async getMinesActiveBet(){try{let a=await this.minesApi.getActiveBet();if(!a.success){this.emit("show-alert",{detail:{type:"error",message:a.error}});return}if(a.data){if(this.gameData?.updateBetAmount(W(a.data.amount)),this.minesData=a.data,this.manualOrAuto!=="Manual")this.manualOrAuto="Manual"}}finally{this.isCheckingForSession=!1}}async firstUpdated(a){super.firstUpdated(a),await this.getMinesActiveBet()}updated(a){super.updated(a),this.authTokenWatcher.check([this.gameData?.authToken])}get getMinesState(){if(!this.minesData)return null;return ja.getState(this.minesData)}async executeAutobet(a,i){if(this.minesData=null,this.autobetSelectedTiles.length===0)return{pnl:W(0),gameOutcome:"Draw",hasError:!0,errorMessage:j("games.mines.selectTileToAutobet",this.gameData.language||$)};try{if(!this.gameData?.currency)throw new Error("Currency is not set");let e={language:this.gameData.language,amount:i,currency:this.gameData.currency,minesCount:this.minesCount,selectedTiles:this.autobetSelectedTiles},o;if(this.isDemoMode&&W(this.gameData.balance).lt(e.amount))o={success:!1,error:j("alerts.insufficientBalance",this.gameData?.language||"en")};else o=await this.minesApi.autobetPlay(e);if(!o.success)return this.showError(o.error),{pnl:W(0),gameOutcome:"Draw",hasError:!0,errorMessage:o.error||j("alerts.errorProcessingBet",this.gameData?.language||$)};this.minesData=o.data;let r=this.isDemoMode?W(this.gameData.balance).minus(o.data.amount??0).plus(o.data.payout??0):W(o.data.afterBalance??0);this.gameData.updateBalance(r);let n=o.data,{multiplier:t,id:s}=n,l=W(t||"0").gt(0);if(l)this._playSound("win");this.addToHistory(Number(t),l,s),this.updateHistoryWithBet(n);let u=W(n.payout||"0").minus(n.amount),h=gi(Number(n.multiplier));return await this.waitForAnimationsComplete(l),{pnl:u,gameOutcome:h,hasError:!1}}catch(e){return console.error("Error in executeAutobet:",e),{pnl:W(0),gameOutcome:"Draw",hasError:!0,errorMessage:j("alerts.gameError",this.gameData?.language||$)}}}async toggleAutobet(a){if(this.autobetSelectedTiles.length===0){this.emit("show-alert",{detail:{type:"error",message:j("games.mines.selectTileToAutobet",this.gameData?.language||$)}});return}if(!this.autobetInProgress)this.emit("show-alert",{detail:{id:"autobet-started",type:"warning",message:j("autobet.startAutobet",this.gameData?.language||$),autoCloseDelay:5000}});await super.toggleAutobet(a)}minesClickHandler=async(a)=>{if(this._playSound("click"),this.manualOrAuto==="Auto"){if(this.autobetSelectedTiles.includes(a.detail.tile))this.autobetSelectedTiles=this.autobetSelectedTiles.filter((e)=>e!==a.detail.tile);else if(this.autobetSelectedTiles.length<25-this.minesCount)this.autobetSelectedTiles=[...this.autobetSelectedTiles,a.detail.tile];this.minesData=null;return}let i=a.detail.tile;await this.minesNext(i)};async minesManualStart(){if(this.isLoading=!0,this.minesData=null,this._playSound("bet"),!this.gameData?.currency)throw new Error("Currency is not set");let a={language:this.gameData.language,amount:this.gameData?.betAmount??"0",currency:this.gameData.currency,minesCount:this.minesCount},i=await this.minesApi.startManualBet(a);if(!i.success){this.showError(i.error),this.isLoading=!1;return}let e=this.isDemoMode?W(this.gameData.balance).minus(i.data.amount??0).plus(i.data.payout??0):W(i.data.afterBalance??0);this.gameData.updateBalance(e),this.minesData=i.data,this.isLoading=!1}async minesChooseRandomTile(){this.isSelectingRandomTile=!0,this._playSound("click");let i=this.getMinesState?.selectedTiles??[],e=Array.from({length:Ja},(r,n)=>n+1).filter((r)=>!i.includes(r)),o=e[Math.floor(Math.random()*e.length)];if(o!==void 0)await this.minesNext(o);this.isSelectingRandomTile=!1}async minesNext(a){if(this.loadingTiles.includes(a))return;this.loadingTiles=[...this.loadingTiles,a];try{let i=await this.minesApi.selectTile({betId:this.minesData?.id??"",selectedTiles:[a]});if(!i.success){this.emit("show-alert",{detail:{type:"error",message:i.error}});return}let e=i.data.betActions.find((t)=>t.type==="END_BET")?.data.MINES,o=!!e&&e.result.includes(a);this._playSound(o?"bomb":"gem");let r=new Set((this.minesData?.betActions??[]).map((t)=>t.id)),n=i.data.betActions.filter((t)=>!r.has(t.id));if(this.minesData={...i.data,betActions:[...this.minesData?.betActions??[],...n]},e){let t=i.data?.afterBalance,s=i.data?.currency;if(t&&s){let l=this.isDemoMode?W(this.gameData.balance).plus(i.data.payout??0):W(i.data.afterBalance??0);this.gameData.updateBalance(l)}if(this.isLoading=!1,this.minesData){let{multiplier:l,id:u}=this.minesData,h=W(l||"0").gt(0);if(h)this._playSound("win");this.addToHistory(Number(l),h,u),this.updateHistoryWithBet(this.minesData)}}}finally{this.loadingTiles=this.loadingTiles.filter((i)=>i!==a)}}async minesCashout(){this.isLoading=!0,this._playSound("bet");let a=await this.minesApi.cashout();if(!a.success){this.emit("show-alert",{detail:{type:"error",message:a.error}}),this.isLoading=!1;return}let i=a.data?.afterBalance,e=a.data?.currency;if(i&&e){let o=this.isDemoMode?W(this.gameData.balance).plus(a.data.payout??0):W(a.data.afterBalance??0);this.gameData.updateBalance(o)}if(this.isLoading=!1,this.minesData=a.data,this.minesData){let{multiplier:o,id:r}=this.minesData,n=W(o||"0").gt(0);if(n)this._playSound("win");this.addToHistory(Number(o),n,r),this.updateHistoryWithBet(this.minesData)}}onManualOrAutoChange(){this.minesData=null,this.autobetSelectedTiles=[]}onMinesCountChange(){if(this.manualOrAuto==="Auto"&&this.autobetSelectedTiles.length>25-this.minesCount)this.autobetSelectedTiles=[]}onAutobetChange(){if(!this.autobetInProgress)this.minesData=null}isSpacebarDisabled=()=>{if(!this.gameData?.hotkeysOpenEnabled)return!0;if(this.manualOrAuto==="Manual"){let a=this._minesManualEl?.shadowRoot?.querySelector("origami-button");if(this.getMinesState?.state==="GAME_IN_PROGRESS")return!0;return a?.disabled??!0}else return this._minesAutoEl?.shadowRoot?.querySelector("origami-generic-autobet")?.shadowRoot?.querySelector(".bet-btn")?.disabled??!0};handleSpacebar=()=>{if(this.isSpacebarDisabled())return;if(this.manualOrAuto==="Manual")if(this.isGameActive)this.minesCashout();else this.minesManualStart();else{let i=this._minesAutoEl?.shadowRoot?.querySelector("origami-generic-autobet")?.shadowRoot?.querySelector(".bet-btn");if(i instanceof HTMLElement)i.click()}};pickRandomTile=()=>{if(!this.isGameActive)return;this.minesChooseRandomTile()};async waitForAnimationsComplete(a){if(this.gameData?.instantBetEnabled);else{if(await ba(200),a)await ba(150);await this.ensureMinimumDisplayTime(a,300,300)}await ba(this.getAutobetDelay())}constructor(){super();this.minesCount=3;this.autobetSelectedTiles=[];this.minesData=null;this.isLoading=!1;this.isSelectingRandomTile=!1;this.history=[];this.isCheckingForSession=!0;this.loadingTiles=[];new Ta(this,[{key:" ",callback:this.handleSpacebar.bind(this),options:{disabled:this.isSpacebarDisabled}},{key:"q",callback:this.pickRandomTile.bind(this),options:{repeat:!0,repeatInterval:200,disabled:()=>!this.isGameActive||this.autobetInProgress&&!this.autobetStopping||!this.gameData?.hotkeysOpenEnabled}},{key:"w",callback:this.minesCashout.bind(this),options:{disabled:()=>!this.isGameActive||(this.getMinesState?.selectedTiles.length??0)===0||!this.gameData?.hotkeysOpenEnabled||this.isLoading}}])}render(){let a=this.getMinesState,i=this.minesData?.multiplier,e=a?.state==="VIEWING_RESULTS"&&a?.outcome==="WIN",o=this.minesData?.payout,r=this.gameData?.currency??ta,n=a?.mineLocations?.some((s)=>a?.selectedTiles?.includes(s))??!1,t=this.gameData?.mainWidth>=768;return q`
|
|
8183
8180
|
<origami-game-layout .gameType=${"MINES"} data-is-desktop=${t}>
|
|
8184
8181
|
<origami-game-sidebar
|
|
8185
8182
|
data-is-desktop=${t}
|
|
@@ -8242,4 +8239,4 @@ var as=Object.create;var{getPrototypeOf:is,defineProperty:Vr,getOwnPropertyNames
|
|
|
8242
8239
|
inModal
|
|
8243
8240
|
></origami-game-win-popup>`:C}
|
|
8244
8241
|
</origami-game-layout>
|
|
8245
|
-
`}}d([
|
|
8242
|
+
`}}d([L()],Ye.prototype,"minesCount",void 0),d([L()],Ye.prototype,"autobetSelectedTiles",void 0),d([L()],Ye.prototype,"minesData",void 0),d([L()],Ye.prototype,"isLoading",void 0),d([L()],Ye.prototype,"isSelectingRandomTile",void 0),d([L()],Ye.prototype,"history",void 0),d([L()],Ye.prototype,"isCheckingForSession",void 0),d([L()],Ye.prototype,"loadingTiles",void 0),d([ca("origami-mines-manual")],Ye.prototype,"_minesManualEl",void 0),d([ca("origami-mines-auto")],Ye.prototype,"_minesAutoEl",void 0),d([ka("manualOrAuto")],Ye.prototype,"onManualOrAutoChange",null),d([ka("minesCount")],Ye.prototype,"onMinesCountChange",null),d([ka("autobetInProgress")],Ye.prototype,"onAutobetChange",null),Ye=d([J("origami-mines-game")],Ye);export{Io as translations,j as getTranslation,Ye as MinesGame,Qe as LimboGame,_e as KenoGame,ge as GameProviderWrapper,Ce as DiceGame,fe as BetDetailsComponent};
|