����JFIF��� ( %"1"%)+...383,7(-.- 404 Not Found
Sh3ll
OdayForums


Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20
System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64
User : apache ( 48)
PHP Version : 7.4.20
Disable Function : NONE
Directory :  /var/www/html/netphim/layout/default/node_modules/dplayer/dist/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //var/www/html/netphim/layout/default/node_modules/dplayer/dist/DPlayer.min.js.map
{"version":3,"file":"DPlayer.min.js","mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,UAAW,GAAIH,GACI,iBAAZC,QACdA,QAAiB,QAAID,IAErBD,EAAc,QAAIC,GACnB,CATD,CASGK,MAAM,I,kGCTR,qE,OAAA,kB,kFAEqC,I,CAAA,G,QACjC,qBAEc,uDAFd,GAEgC,UAFhC,2B,GAK4B,gDAAkD,UAAlD,YAAwE,yBAAxE,GAAoG,EAApG,0B,GAMxB,mPACiC,8CADjC,GAC8D,wBAD9D,wB,GAGoC,iD,GAAoB,U,GAMgB,oP,GAAqB,gB,GACtD,4E,GAAqB,W,GAIT,sM,GAA+B,0B,GAEtB,wG,GAAW,K,GAIX,gN,GAAW,K,GAIX,6M,GAAW,K,GAIX,6M,GAAW,K,GAIX,6M,GAAW,K,GAIX,6M,GAAW,K,GAKpB,uP,GAA8B,yB,GAEtB,uG,GAAW,K,GACpD,2C,GAAiB,Y,GAGwB,kI,GAAW,K,GACpD,mD,GAAqB,gB,GAGoB,kI,GAAW,K,GACpD,2C,GAAoB,e,GAIwB,gJ,GAAiC,4B,GAClC,2F,GAAkB,a,GACxC,4E,GAAiB,O,GAKjB,uM,GAAiB,O,GAIb,uL,GAAuB,a,GAIG,2O,GAAmB,W,GACzB,+E,GAAmB,W,GASlF,4RACmF,gGADnF,GACsG,IADtG,UACgH,aADhH,GACkI,aADlI,wB,GAKA,sFAA8B,UAA9B,GAEsD,0GAFtD,GAEoH,gDAFpH,GAKQ,sIAAgC,6BAAhC,GACkD,uEADlD,GAC8D,EAD9D,MACgE,KADhE,GACiF,UANzF,8G,GAYA,+BAC4D,yEAD5D,GACoF,mBADpF,GAEuC,4EAFvC,GAE0D,SAF1D,wC,GAKA,4BAC6D,0EAD7D,GACkF,gBADlF,GAEuC,4EAFvC,GAE2D,UAF3D,wC,GAKA,+BACgE,6EADhE,GACwF,mBADxF,GAEuC,4EAFvC,GAE8D,aAF9D,wC,GAMoE,wH,GAA0B,qB,GACnD,gF,GAAoB,U,GAG/D,2EACA,aAAmD,iBAAnD,EAAmD,cAAnD,GAEqE,8HAFrE,GAE4F,kBAF5F,GAG2C,gFAH3C,GAGgE,WAHhE,GAMA,gEAEsE,4HAFtE,GAE4F,iBAF5F,GAG2C,gFAH3C,GAGgE,WAHhE,GAOY,mKAA+B,4BAA/B,GACuD,gFADvD,GACuE,SADvE,GAGoC,0OAHpC,GAG+I,gCAH/I,4BAPZ,sEAPA,8F,GA0BoE,wH,GAAqB,gB,GAC9C,gF,GAAoB,U,GAKnB,gR,GAAmB,c,GACnB,gE,GAAkB,Q,GAGlB,wK,GAAkB,a,GAOlB,ob,GAA0B,qB,GAO1B,gc,GAA+B,0B,GAO/B,8c,GAA6B,wB,GAW7D,ghBAAgC,6BAAhC,GACwD,iFADxD,GACoE,KADpE,GAEoC,+DAFpC,GAEgF,uBAFhF,kE,OASwD,iL,GAA4B,uB,GACrD,gF,GAAoB,U,GAEE,4G,GAAwB,mB,GAC9C,gF,GAAiB,O,GASC,wX,GAAmB,W,GACzB,sE,GAAmB,W,GA+B9E,qpE,GAgBA,iDAA8B,2BAA9B,GAEU,qEAFV,0BAE8D,UAF9D,GAEwG,EAFxG,kCAE0G,gBAAoB,IAF9H,gBAE6J,YAAqB,IAFlL,6C,OAQA,gG,GAAiB,O,qFCtRrB,Q,SAAA,2G,SAAiE,qB,GAExC,sE,GAErB,uE,GAEA,iCAAoB,WAApB,GAA6B,EAA7B,W,GACA,aAAqC,KAArC,8B,GACA,gBAAyB,YAAzB,GAAsC,EAAtC,W,GACA,cAEA,2BACK,cADL,GACc,KADd,c,GAIA,uBACa,sBADb,GACsB,KADtB,e,GAGA,gBAC6D,sEAD7D,GACqJ,EADrJ,iBACqJ,EADrJ,qD,2FCfDC,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACL,EAAOM,GAAI,sjQAAmqQ,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,yFAAyF,MAAQ,GAAG,SAAW,koDAAkoD,eAAiB,CAAC,qiPAAipP,WAAa,MAExojB,S,+GCFIC,EAAgC,IAAIC,IAAI,YACxCJ,EAA0B,IAA4B,KAC1DA,EAAwBK,EAAE,KAC1B,IAAIC,EAAqC,IAAgCH,GAEzEH,EAAwBC,KAAK,CAACL,EAAOM,GAAI,irTAAqrTI,EAAqC,i9wBAAk9wB,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,kCAAkC,iCAAiC,kCAAkC,mCAAmC,iCAAiC,kCAAkC,sCAAsC,mCAAmC,gCAAgC,gCAAgC,oCAAoC,iCAAiC,uCAAuC,MAAQ,GAAG,SAAW,62WAA62W,eAAiB,CAAC,qrHAAqrH,6ikCAA6ikC,8+HAA8+H,uRAAuR,uoEAAuoE,y/BAAy/B,4ptBAA8ptB,m8CAAm8C,yPAAyP,u8BAAu8B,4RAA4R,yiBAAyiB,g4BAAg4B,WAAa,MAE/psH,S,uBCVA,IAAIC,EAAc,GAElB,SAASC,EAAqBC,GAG5B,IAFA,IAAIC,GAAU,EAELL,EAAI,EAAGA,EAAIE,EAAYI,OAAQN,IACtC,GAAIE,EAAYF,GAAGI,aAAeA,EAAY,CAC5CC,EAASL,EACT,KACF,CAGF,OAAOK,CACT,CAEA,SAASE,EAAaC,EAAMC,GAI1B,IAHA,IAAIC,EAAa,CAAC,EACdC,EAAc,GAETX,EAAI,EAAGA,EAAIQ,EAAKF,OAAQN,IAAK,CACpC,IAAIY,EAAOJ,EAAKR,GACZH,EAAKY,EAAQI,KAAOD,EAAK,GAAKH,EAAQI,KAAOD,EAAK,GAClDE,EAAQJ,EAAWb,IAAO,EAC1BO,EAAa,GAAGW,OAAOlB,EAAI,KAAKkB,OAAOD,GAC3CJ,EAAWb,GAAMiB,EAAQ,EACzB,IAAIE,EAAoBb,EAAqBC,GACzCa,EAAM,CACRC,IAAKN,EAAK,GACVO,MAAOP,EAAK,GACZQ,UAAWR,EAAK,GAChBS,SAAUT,EAAK,GACfU,MAAOV,EAAK,IAGd,IAA2B,IAAvBI,EACFd,EAAYc,GAAmBO,aAC/BrB,EAAYc,GAAmBQ,QAAQP,OAClC,CACL,IAAIO,EAAUC,EAAgBR,EAAKR,GACnCA,EAAQiB,QAAU1B,EAClBE,EAAYyB,OAAO3B,EAAG,EAAG,CACvBI,WAAYA,EACZoB,QAASA,EACTD,WAAY,GAEhB,CAEAZ,EAAYf,KAAKQ,EACnB,CAEA,OAAOO,CACT,CAEA,SAASc,EAAgBR,EAAKR,GAC5B,IAAImB,EAAMnB,EAAQoB,OAAOpB,GAezB,OAdAmB,EAAIE,OAAOb,GAEG,SAAiBc,GAC7B,GAAIA,EAAQ,CACV,GAAIA,EAAOb,MAAQD,EAAIC,KAAOa,EAAOZ,QAAUF,EAAIE,OAASY,EAAOX,YAAcH,EAAIG,WAAaW,EAAOV,WAAaJ,EAAII,UAAYU,EAAOT,QAAUL,EAAIK,MACzJ,OAGFM,EAAIE,OAAOb,EAAMc,EACnB,MACEH,EAAII,QAER,CAGF,CAEAzC,EAAOD,QAAU,SAAUkB,EAAMC,GAG/B,IAAIwB,EAAkB1B,EADtBC,EAAOA,GAAQ,GADfC,EAAUA,GAAW,CAAC,GAGtB,OAAO,SAAgByB,GACrBA,EAAUA,GAAW,GAErB,IAAK,IAAIlC,EAAI,EAAGA,EAAIiC,EAAgB3B,OAAQN,IAAK,CAC/C,IACImC,EAAQhC,EADK8B,EAAgBjC,IAEjCE,EAAYiC,GAAOZ,YACrB,CAIA,IAFA,IAAIa,EAAqB7B,EAAa2B,EAASzB,GAEtC4B,EAAK,EAAGA,EAAKJ,EAAgB3B,OAAQ+B,IAAM,CAClD,IAEIC,EAASnC,EAFK8B,EAAgBI,IAIK,IAAnCnC,EAAYoC,GAAQf,aACtBrB,EAAYoC,GAAQd,UAEpBtB,EAAYyB,OAAOW,EAAQ,GAE/B,CAEAL,EAAkBG,CACpB,CACF,C,uBCrGA,IAAIG,EAAO,CAAC,EAoCZhD,EAAOD,QAVP,SAA0BkD,EAAQC,GAChC,IAAIC,EAxBN,SAAmBA,GACjB,QAA4B,IAAjBH,EAAKG,GAAyB,CACvC,IAAIC,EAAcC,SAASC,cAAcH,GAEzC,GAAII,OAAOC,mBAAqBJ,aAAuBG,OAAOC,kBAC5D,IAGEJ,EAAcA,EAAYK,gBAAgBC,IAI5C,CAHE,MAAOC,GAEPP,EAAc,IAChB,CAGFJ,EAAKG,GAAUC,CACjB,CAEA,OAAOJ,EAAKG,EACd,CAKeS,CAAUX,GAEvB,IAAKE,EACH,MAAM,IAAIU,MAAM,2GAGlBV,EAAOW,YAAYZ,EACrB,C,uBC1BAlD,EAAOD,QAPP,SAA4BmB,GAC1B,IAAI6C,EAAUV,SAASW,cAAc,SAGrC,OAFA9C,EAAQ+C,cAAcF,EAAS7C,EAAQgD,YACvChD,EAAQ+B,OAAOc,EAAS7C,EAAQA,SACzB6C,CACT,C,6BCGA/D,EAAOD,QARP,SAAwCoE,GACtC,IAAIC,EAAmD,KAEnDA,GACFD,EAAaE,aAAa,QAASD,EAEvC,C,uBC4DApE,EAAOD,QAZP,SAAgBmB,GACd,IAAIiD,EAAejD,EAAQoD,mBAAmBpD,GAC9C,MAAO,CACLqB,OAAQ,SAAgBb,IAzD5B,SAAeyC,EAAcjD,EAASQ,GACpC,IAAIC,EAAM,GAEND,EAAII,WACNH,GAAO,cAAcH,OAAOE,EAAII,SAAU,QAGxCJ,EAAIE,QACND,GAAO,UAAUH,OAAOE,EAAIE,MAAO,OAGrC,IAAI2C,OAAiC,IAAd7C,EAAIK,MAEvBwC,IACF5C,GAAO,SAASH,OAAOE,EAAIK,MAAMhB,OAAS,EAAI,IAAIS,OAAOE,EAAIK,OAAS,GAAI,OAG5EJ,GAAOD,EAAIC,IAEP4C,IACF5C,GAAO,KAGLD,EAAIE,QACND,GAAO,KAGLD,EAAII,WACNH,GAAO,KAGT,IAAIE,EAAYH,EAAIG,UAEhBA,GAA6B,oBAAT2C,OACtB7C,GAAO,uDAAuDH,OAAOgD,KAAKC,SAASC,mBAAmBC,KAAKC,UAAU/C,MAAe,QAMtIX,EAAQ2D,kBAAkBlD,EAAKwC,EAAcjD,EAAQA,QACvD,CAiBM4D,CAAMX,EAAcjD,EAASQ,EAC/B,EACAe,OAAQ,YAjBZ,SAA4B0B,GAE1B,GAAgC,OAA5BA,EAAaY,WACf,OAAO,EAGTZ,EAAaY,WAAWC,YAAYb,EACtC,CAWMc,CAAmBd,EACrB,EAEJ,C,uBCpDAnE,EAAOD,QAZP,SAA2B4B,EAAKwC,GAC9B,GAAIA,EAAae,WACff,EAAae,WAAWC,QAAUxD,MAC7B,CACL,KAAOwC,EAAaiB,YAClBjB,EAAaa,YAAYb,EAAaiB,YAGxCjB,EAAaL,YAAYT,SAASgC,eAAe1D,GACnD,CACF,C,UCbA3B,EAAOD,QAAU,+W,UCAjBC,EAAOD,QAAU,2rB,UCAjBC,EAAOD,QAAU,ooB,UCAjBC,EAAOD,QAAU,ohB,UCAjBC,EAAOD,QAAU,k5B,UCAjBC,EAAOD,QAAU,skC,UCAjBC,EAAOD,QAAU,ixB,UCAjBC,EAAOD,QAAU,q7B,UCAjBC,EAAOD,QAAU,6pE,SCAjBC,EAAOD,QAAU,4R,UCAjBC,EAAOD,QAAU,uP,UCAjBC,EAAOD,QAAU,oL,UCAjBC,EAAOD,QAAU,iN,UCAjBC,EAAOD,QAAU,25G,UCAjBC,EAAOD,QAAU,0kB,UCAjBC,EAAOD,QAAU,wlB,UCAjBC,EAAOD,QAAU,yS,UCAjBC,EAAOD,QAAU,i5B,6BCCjB,IAAIuF,EAA6B,oBAATnF,KAAuBA,KAAyB,oBAAXoD,OAAyBA,YAA2B,IAAX,EAAAgC,EAAyB,EAAAA,EAAS,CAAC,EACrIC,EAAUC,OAAOC,OAAOJ,GACxBK,EAAa,UAejB,SAASC,EAASC,GAUd,MATqB,iBAAVA,IAEHA,EADAA,QACQ,GACgB,mBAAVA,EACND,EAASC,EAAMC,KAAKD,IAEpBlB,KAAKC,UAAUiB,IAGxBA,CACX,CAzBAL,EAAQO,QAAU,SAAUC,GACxB,OAyBJ,SAAmBA,GACf,IAAIC,EAAO,GAAKD,EACZE,EAAcP,EAAWQ,KAAKF,GAClC,IAAKC,EACD,OAAOF,EAEX,IAAIlF,EAAS,GACTL,OAAI,EAAQ2F,OAAY,EAAQC,OAAQ,EAC5C,IAAK5F,EAAIyF,EAAYtD,MAAOwD,EAAY,EAAG3F,EAAIwF,EAAKlF,OAAQN,IAAK,CAC7D,OAAQwF,EAAKK,WAAW7F,IACxB,KAAK,GACD4F,EAAQ,QACR,MACJ,KAAK,GACDA,EAAQ,QACR,MACJ,KAAK,GACDA,EAAQ,QACR,MACJ,KAAK,GACDA,EAAQ,QACR,MACJ,KAAK,GACDA,EAAQ,QACR,MACJ,QACI,SAEAD,IAAc3F,IACdK,GAAUmF,EAAKM,UAAUH,EAAW3F,IAExC2F,EAAY3F,EAAI,EAChBK,GAAUuF,CACd,CACA,OAAID,IAAc3F,EACPK,EAASmF,EAAKM,UAAUH,EAAW3F,GAEnCK,CAEf,CAhEW0F,CAAUZ,EAASI,GAC9B,EACAR,EAAQiB,MAAQ,SAAUC,EAAMC,GAC5B,GAAIC,MAAMC,QAAQH,GACd,IAAK,IAAIjG,EAAI,EAAGqG,EAAMJ,EAAK3F,OAAQN,EAAIqG,EAAKrG,IACxCkG,EAASD,EAAKjG,GAAIA,QAGtB,IAAK,IAAIqC,KAAM4D,EACXC,EAASD,EAAK5D,GAAKA,EAG/B,EAqDA9C,EAAOD,QAAUyF,C,6BCrEjBxF,EAAOD,QAAU,EAAjB,I,uBCAAC,EAAOD,QAAU,SAAUgH,GACvB,IAAI9F,EAAO,GA4EX,OA3EAA,EAAK2E,SAAW,WACZ,OAAOoB,KAAKC,KAAI,SAAU5F,GACtB,IAAI2E,EAAU,GACVzB,OAA+B,IAAZlD,EAAK,GAoB5B,OAnBIA,EAAK,KACL2E,GAAW,cAAcxE,OAAOH,EAAK,GAAI,QAEzCA,EAAK,KACL2E,GAAW,UAAUxE,OAAOH,EAAK,GAAI,OAErCkD,IACAyB,GAAW,SAASxE,OAAOH,EAAK,GAAGN,OAAS,EAAI,IAAIS,OAAOH,EAAK,IAAM,GAAI,OAE9E2E,GAAWe,EAAuB1F,GAC9BkD,IACAyB,GAAW,KAEX3E,EAAK,KACL2E,GAAW,KAEX3E,EAAK,KACL2E,GAAW,KAERA,CACX,IAAGkB,KAAK,GACZ,EACAjG,EAAKR,EAAI,SAAW0G,EAASvF,EAAOwF,EAAQtF,EAAUC,GAC3B,iBAAZoF,IACPA,EAAU,CAAC,CACH,KACAA,OACAE,KAGZ,IAAIC,EAAyB,CAAC,EAC9B,GAAIF,EACA,IAAK,IAAIG,EAAI,EAAGA,EAAIP,KAAKjG,OAAQwG,IAAK,CAClC,IAAIjH,EAAK0G,KAAKO,GAAG,GACP,MAANjH,IACAgH,EAAuBhH,IAAM,EAErC,CAEJ,IAAK,IAAIkH,EAAK,EAAGA,EAAKL,EAAQpG,OAAQyG,IAAM,CACxC,IAAInG,EAAO,GAAGG,OAAO2F,EAAQK,IACzBJ,GAAUE,EAAuBjG,EAAK,WAGrB,IAAVU,SACgB,IAAZV,EAAK,KAGZA,EAAK,GAAK,SAASG,OAAOH,EAAK,GAAGN,OAAS,EAAI,IAAIS,OAAOH,EAAK,IAAM,GAAI,MAAMG,OAAOH,EAAK,GAAI,MAF/FA,EAAK,GAAKU,GAMdH,IACKP,EAAK,IAGNA,EAAK,GAAK,UAAUG,OAAOH,EAAK,GAAI,MAAMG,OAAOH,EAAK,GAAI,KAC1DA,EAAK,GAAKO,GAHVP,EAAK,GAAKO,GAMdE,IACKT,EAAK,IAGNA,EAAK,GAAK,cAAcG,OAAOH,EAAK,GAAI,OAAOG,OAAOH,EAAK,GAAI,KAC/DA,EAAK,GAAKS,GAHVT,EAAK,GAAK,GAAGG,OAAOM,IAM5Bb,EAAKZ,KAAKgB,GACd,CACJ,EACOJ,CACX,C,sBC9EAjB,EAAOD,QAAU,SAAU0H,EAAKvG,GAI5B,OAHKA,IACDA,EAAU,CAAC,GAEVuG,GAGLA,EAAMC,OAAOD,EAAIE,WAAaF,EAAa,QAAIA,GAC3C,eAAeG,KAAKH,KACpBA,EAAMA,EAAII,MAAM,GAAI,IAEpB3G,EAAQ4G,OACRL,GAAOvG,EAAQ4G,MAEf,oBAAoBF,KAAKH,IAAQvG,EAAQ6G,WAClC,IAAIvG,OAAOiG,EAAIO,QAAQ,KAAM,OAAOA,QAAQ,MAAO,OAAQ,KAE/DP,GAZIA,CAaf,C,uBClBAzH,EAAOD,QAAU,SAAUsB,GACvB,IAAI2E,EAAU3E,EAAK,GACf4G,EAAa5G,EAAK,GACtB,IAAK4G,EACD,OAAOjC,EAEX,GAAoB,mBAATxB,KAAqB,CAC5B,IAAI0D,EAAS1D,KAAKC,SAASC,mBAAmBC,KAAKC,UAAUqD,MACzDvB,EAAO,+DAA+DlF,OAAO0G,GAC7EC,EAAgB,OAAO3G,OAAOkF,EAAM,OACxC,MAAO,CAACV,GAASxE,OAAO,CAAC2G,IAAgBjB,KAAK,KAClD,CACA,MAAO,CAAClB,GAASkB,KAAK,KAC1B,C,UCdA,SAASkB,EAAQ1G,GAEb,OAAO0G,EAAU,mBAAqBC,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG0G,EAAQ1G,EACf,CACA1B,EAAOD,QAAyE,WAA9C,oBAATI,KAAuB,YAAciI,EAAQjI,OAAqBA,KAAKsI,SAAWlF,OAAOkF,Q,wSCP9GC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBvB,IAAjBwB,EACH,OAAOA,EAAa9I,QAGrB,IAAIC,EAAS0I,EAAyBE,GAAY,CACjDtI,GAAIsI,EAEJ7I,QAAS,CAAC,GAOX,OAHA+I,EAAoBF,GAAU5I,EAAQA,EAAOD,QAAS4I,GAG/C3I,EAAOD,OACf,CAGA4I,EAAoBI,EAAID,ECxBxBH,EAAoBK,EAAKhJ,IACxB,IAAIiJ,EAASjJ,GAAUA,EAAO2H,WAC7B,IAAO3H,EAAiB,QACxB,IAAM,EAEP,OADA2I,EAAoBO,EAAED,EAAQ,CAAEE,EAAGF,IAC5BA,CAAM,ECLdN,EAAoBO,EAAI,CAACnJ,EAASqJ,KACjC,IAAI,IAAIC,KAAOD,EACXT,EAAoBW,EAAEF,EAAYC,KAASV,EAAoBW,EAAEvJ,EAASsJ,IAC5E5D,OAAO8D,eAAexJ,EAASsJ,EAAK,CAAEG,YAAY,EAAMC,IAAKL,EAAWC,IAE1E,ECNDV,EAAoBpD,EAAI,WACvB,GAA0B,iBAAfD,WAAyB,OAAOA,WAC3C,IACC,OAAO0B,MAAQ,IAAI0C,SAAS,cAAb,EAGhB,CAFE,MAAO/F,GACR,GAAsB,iBAAXJ,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxBoF,EAAoBW,EAAI,CAAC5H,EAAKiI,IAAUlE,OAAO+C,UAAUoB,eAAe9D,KAAKpE,EAAKiI,GCAlFhB,EAAoBkB,EAAIxG,SAASyG,SAAW3J,KAAK4J,SAASC,KCA1DrB,EAAoBsB,QAAK5C,E,mLCWrBnG,EAAU,CAAC,EAEfA,EAAQ2D,kBAAoB,IAC5B3D,EAAQ+C,cAAgB,IAElB/C,EAAQ+B,OAAS,SAAc,KAAM,QAE3C/B,EAAQoB,OAAS,IACjBpB,EAAQoD,mBAAqB,IAEhB,IAAI,IAASpD,GAKJ,KAAW,YAAiB,WC1BlD,SAASkH,EAAQ1G,GAEb,OAAO0G,EAAU,mBAAqBC,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG0G,EAAQ1G,EACf,CCPA,SAASwI,EAAeC,EAAQC,GAC5BpD,KAAKqD,KAAO,iBAAkBrD,KAAKmD,OAASA,EAC5CnD,KAAKoD,QAAUA,GAAW,EAC9B,CACAF,EAAe1B,UAAY3E,MAAM2E,UCJjC,SAAS,EAAQ9G,GAEb,OAAO,EAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,EAAQA,EACf,CAIA,IAAI4I,EAAiBC,WACrB,SAAS1D,EAAQ2D,GACb,OAAOC,QAAQD,QAAyB,IAAbA,EAAEzJ,OACjC,CACA,SAAS2J,IACT,CAMA,SAAS,EAAQC,GACb,KAAM3D,gBAAgB,GAClB,MAAM,IAAI4D,UAAU,wCACxB,GAAkB,mBAAPD,EACP,MAAM,IAAIC,UAAU,kBACxB5D,KAAK6D,OAAS,EACd7D,KAAK8D,UAAW,EAChB9D,KAAK+D,YAAS1D,EACdL,KAAKgE,WAAa,GAClBC,EAAUN,EAAI3D,KAClB,CACA,SAASkE,EAAO/K,EAAMgL,GAClB,KAAuB,IAAhBhL,EAAK0K,QACR1K,EAAOA,EAAK4K,OAEI,IAAhB5K,EAAK0K,QAIT1K,EAAK2K,UAAW,EAChB,EAAQM,cAAa,WACjB,IAAIC,EAAqB,IAAhBlL,EAAK0K,OAAeM,EAASG,YAAcH,EAASI,WAC7D,GAAW,OAAPF,EAAJ,CAIA,IAAIG,EACJ,IACIA,EAAMH,EAAGlL,EAAK4K,OAIlB,CAHE,MAAOpH,GAEL,YADA8H,EAAON,EAASO,QAAS/H,EAE7B,CACAgI,EAAQR,EAASO,QAASF,EAR1B,MAFqB,IAAhBrL,EAAK0K,OAAec,EAAUF,GAAQN,EAASO,QAASvL,EAAK4K,OAWtE,KAlBI5K,EAAK6K,WAAW3K,KAAK8K,EAmB7B,CACA,SAASQ,EAAQxL,EAAMyL,GACnB,IACI,GAAIA,IAAazL,EACb,MAAM,IAAIyK,UAAU,6CACxB,GAAIgB,IAAmC,WAAtB,EAAQA,IAA8C,mBAAbA,GAA0B,CAChF,IAAIC,EAAOD,EAASC,KACpB,GAAID,aAAoB,EAIpB,OAHAzL,EAAK0K,OAAS,EACd1K,EAAK4K,OAASa,OACdE,EAAO3L,GAEJ,GAAoB,mBAAT0L,EAEd,YADAZ,GArDFN,EAqDiBkB,EArDbE,EAqDmBH,EApD1B,WACHjB,EAAG7F,MAAMiH,EAASC,UACtB,GAkD4C7L,EAGxC,CACAA,EAAK0K,OAAS,EACd1K,EAAK4K,OAASa,EACdE,EAAO3L,EAGX,CAFE,MAAOwD,GACL8H,EAAOtL,EAAMwD,EACjB,CA9DJ,IAAcgH,EAAIoB,CA+DlB,CACA,SAASN,EAAOtL,EAAMyL,GAClBzL,EAAK0K,OAAS,EACd1K,EAAK4K,OAASa,EACdE,EAAO3L,EACX,CACA,SAAS2L,EAAO3L,GACQ,IAAhBA,EAAK0K,QAA2C,IAA3B1K,EAAK6K,WAAWjK,QACrC,EAAQqK,cAAa,WACZjL,EAAK2K,UACN,EAAQmB,sBAAsB9L,EAAK4K,OAE3C,IAEJ,IAAK,IAAItK,EAAI,EAAGqG,EAAM3G,EAAK6K,WAAWjK,OAAQN,EAAIqG,EAAKrG,IACnDyK,EAAO/K,EAAMA,EAAK6K,WAAWvK,IAEjCN,EAAK6K,WAAa,IACtB,CACA,SAASkB,EAAQZ,EAAaC,EAAYG,GACtC1E,KAAKsE,YAAqC,mBAAhBA,EAA6BA,EAAc,KACrEtE,KAAKuE,WAAmC,mBAAfA,EAA4BA,EAAa,KAClEvE,KAAK0E,QAAUA,CACnB,CACA,SAAST,EAAUN,EAAIxK,GACnB,IAAIgM,GAAO,EACX,IACIxB,GAAG,SAAU9E,GACLsG,IAEJA,GAAO,EACPR,EAAQxL,EAAM0F,GAClB,IAAG,SAAUuG,GACLD,IAEJA,GAAO,EACPV,EAAOtL,EAAMiM,GACjB,GAMJ,CALE,MAAOC,GACL,GAAIF,EACA,OACJA,GAAO,EACPV,EAAOtL,EAAMkM,EACjB,CACJ,CACA,EAAQ7D,UAAiB,MAAI,SAAU+C,GACnC,OAAOvE,KAAK6E,KAAK,KAAMN,EAC3B,EACA,EAAQ/C,UAAUqD,KAAO,SAAUP,EAAaC,GAC5C,IAAIe,EAAO,IAAItF,KAAKuB,YAAYmC,GAEhC,OADAQ,EAAOlE,KAAM,IAAIkF,EAAQZ,EAAaC,EAAYe,IAC3CA,CACX,EACA,EAAQ9D,UAAmB,QCrI3B,SAA4B7B,GACxB,IAAI4B,EAAcvB,KAAKuB,YACvB,OAAOvB,KAAK6E,MAAK,SAAUhG,GACvB,OAAO0C,EAAYoD,QAAQhF,KAAYkF,MAAK,WACxC,OAAOhG,CACX,GACJ,IAAG,SAAUuG,GACT,OAAO7D,EAAYoD,QAAQhF,KAAYkF,MAAK,WACxC,OAAOtD,EAAYkD,OAAOW,EAC9B,GACJ,GACJ,ED2HA,EAAQG,IAAM,SAAUC,GACpB,OAAO,IAAI,GAAQ,SAAUb,EAASF,GAClC,IAAK5E,EAAQ2F,GACT,OAAOf,EAAO,IAAIb,UAAU,iCAEhC,IAAI6B,EAAO7F,MAAM4B,UAAUX,MAAM/B,KAAK0G,GACtC,GAAoB,IAAhBC,EAAK1L,OACL,OAAO4K,EAAQ,IACnB,IAAIe,EAAYD,EAAK1L,OACrB,SAAS4L,EAAIlM,EAAGmM,GACZ,IACI,GAAIA,IAAyB,WAAjB,EAAQA,IAAoC,mBAARA,GAAqB,CACjE,IAAIf,EAAOe,EAAIf,KACf,GAAoB,mBAATA,EAIP,YAHAA,EAAK/F,KAAK8G,GAAK,SAAUA,GACrBD,EAAIlM,EAAGmM,EACX,GAAGnB,EAGX,CACAgB,EAAKhM,GAAKmM,EACU,KAAdF,GACFf,EAAQc,EAIhB,CAFE,MAAOJ,GACLZ,EAAOY,EACX,CACJ,CACA,IAAK,IAAI5L,EAAI,EAAGA,EAAIgM,EAAK1L,OAAQN,IAC7BkM,EAAIlM,EAAGgM,EAAKhM,GAEpB,GACJ,EACA,EAAQoM,IDlKR,SAAaL,GACT,IAAIM,EAAI9F,KACR,OAAO,IAAI8F,GAAE,SAAUnB,EAASF,GAC5B,IAAMe,QAA6B,IAAfA,EAAIzL,OACpB,OAAO0K,EAAO,IAAIb,UAAU,iCAEhC,IAAI6B,EAAO7F,MAAM4B,UAAUX,MAAM/B,KAAK0G,GACtC,GAAoB,IAAhBC,EAAK1L,OACL,OAAO0K,IAEX,IADA,IAAIsB,EAAmB,GACdtM,EAAI,EAAGA,EAAIgM,EAAK1L,OAAQN,IAC7B,IACIqM,EAAEnB,QAAQc,EAAKhM,IAAIoL,KAAKF,GAAgB,OAAE,SAAUqB,GAChDD,EAAiB1M,KAAK2M,GAClBD,EAAiBhM,SAAW0L,EAAK1L,QACjC0K,EAAO,IAAIvB,EAAe6C,EAAkB,8BAEpD,GAGJ,CAFE,MAAOV,GACLZ,EAAOY,EACX,CAER,GACJ,EC4IA,EAAQY,WFhKR,SAAoBT,GAEhB,OAAO,IADCxF,MACK,SAAU2E,EAASF,GAC5B,IAAMe,QAA6B,IAAfA,EAAIzL,OACpB,OAAO0K,EAAO,IAAIb,UAAUxC,EAAQoE,GAAO,IAAMA,EAAM,mEAE3D,IAAIC,EAAO7F,MAAM4B,UAAUX,MAAM/B,KAAK0G,GACtC,GAAoB,IAAhBC,EAAK1L,OACL,OAAO4K,EAAQ,IACnB,IAAIe,EAAYD,EAAK1L,OACrB,SAAS4L,EAAIlM,EAAGmM,GACZ,GAAIA,IAAyB,WAAjBxE,EAAQwE,IAAoC,mBAARA,GAAqB,CACjE,IAAIf,EAAOe,EAAIf,KACf,GAAoB,mBAATA,EAYP,YAXAA,EAAK/F,KAAK8G,GAAK,SAAUA,GACrBD,EAAIlM,EAAGmM,EACX,IAAG,SAAUjJ,GACT8I,EAAKhM,GAAK,CACNyM,OAAQ,WACRd,OAAQzI,GAEQ,KAAd+I,GACFf,EAAQc,EAEhB,GAGR,CACAA,EAAKhM,GAAK,CACNyM,OAAQ,YACRrH,MAAO+G,GAES,KAAdF,GACFf,EAAQc,EAEhB,CACA,IAAK,IAAIhM,EAAI,EAAGA,EAAIgM,EAAK1L,OAAQN,IAC7BkM,EAAIlM,EAAGgM,EAAKhM,GAEpB,GACJ,EEyHA,EAAQkL,QAAU,SAAU9F,GACxB,OAAIA,GAA4B,WAAnB,EAAQA,IAAuBA,EAAM0C,cAAgB,EACvD1C,EAEJ,IAAI,GAAQ,SAAU8F,GACzBA,EAAQ9F,EACZ,GACJ,EACA,EAAQ4F,OAAS,SAAU5F,GACvB,OAAO,IAAI,GAAQ,SAAU8F,EAASF,GAClCA,EAAO5F,EACX,GACJ,EACA,EAAQsH,KAAO,SAAUX,GACrB,OAAO,IAAI,GAAQ,SAAUb,EAASF,GAClC,IAAK5E,EAAQ2F,GACT,OAAOf,EAAO,IAAIb,UAAU,kCAEhC,IAAK,IAAInK,EAAI,EAAGqG,EAAM0F,EAAIzL,OAAQN,EAAIqG,EAAKrG,IACvC,EAAQkL,QAAQa,EAAI/L,IAAIoL,KAAKF,EAASF,EAE9C,GACJ,EACA,EAAQL,aAAuC,mBAAjBgC,cAA+B,SAAUzC,GACnEyC,aAAazC,EACjB,GAAK,SAAUA,GACXL,EAAeK,EAAI,EACvB,EACA,EAAQsB,sBAAwB,SAA+BoB,GACpC,oBAAZC,SAA2BA,SAClCA,QAAQC,KAAK,wCAAyCF,EAE9D,EACA,UE1MA,IAAIG,EAAW,UAAU5F,KAAKrE,OAAOkK,UAAUC,WAkH/C,QAjHY,CACRC,aAAc,SAAsBC,GAEhC,GAAe,KADfA,EAASA,GAAU,IACCA,IAAWC,KAAkC,QAAtBD,EAAOhI,WAC9C,MAAO,QAEX,IAGIkI,EAAOC,KAAKC,MAAMJ,EAAS,MAC3BK,EAAMF,KAAKC,OAAOJ,EAAgB,KAAPE,GAAe,IAC1CI,EAAMH,KAAKC,MAAMJ,EAAgB,KAAPE,EAAoB,GAANG,GAC5C,OAAQH,EAAO,EAAI,CACfA,EACAG,EACAC,GACA,CACAD,EACAC,IACDjH,KAbQ,SAAckH,GACrB,OAAOA,EAAM,GAAK,IAAMA,EAAM,GAAKA,CACvC,IAWajH,KAAK,IACtB,EACAkH,mBAAoB,SAA4BrK,GAC5C,IAAIsK,EAAatK,EAAQuK,WACrBC,EAAUxK,EAAQyK,aAClBC,EAAoBpL,SAASqL,KAAKC,WAAatL,SAASuL,gBAAgBD,WAC5E,GAAKtL,SAASwL,mBAAsBxL,SAASyL,sBAAyBzL,SAAS0L,wBAM3E,KAAmB,OAAZR,GAAoBA,IAAYxK,GACnCsK,GAAcE,EAAQD,WACtBC,EAAUA,EAAQC,kBAPtB,KAAmB,OAAZD,GACHF,GAAcE,EAAQD,WACtBC,EAAUA,EAAQC,aAQ1B,OAAOH,EAAaI,CACxB,EACAO,8BAA+B,SAAuCjL,GAClE,IAAIkL,EAAY1L,OAAO2L,SAAW3L,OAAO4L,aAAe9L,SAASqL,KAAKO,WAAa5L,SAASuL,iBAAmBvL,SAASuL,gBAAgBK,WAAa,GACrJ,GAAIlL,EAAQqL,sBAAuB,CAC/B,GAAyD,iBAA9CpI,KAAKgI,8BAA8BK,OAAqB,CAC/D,IAAIC,EAAOjM,SAASW,cAAc,OAClCsL,EAAKpM,MAAMiC,QAAU,kCACrB9B,SAASqL,KAAK5K,YAAYwL,GAC1BtI,KAAKgI,8BAA8BK,QAAUC,EAAKF,wBAAwBG,IAAMN,EAChF5L,SAASqL,KAAK1J,YAAYsK,GAC1BA,EAAO,IACX,CACA,IAAIE,EAAOzL,EAAQqL,wBACfC,EAASrI,KAAKgI,8BAA8BK,OAChD,OAAOG,EAAKC,KAAOJ,CACvB,CACI,OAAOrI,KAAKoH,mBAAmBrK,EAEvC,EACA2L,kBAAmB,WACf,MAAO,CACHD,KAAMlM,OAAOoM,aAAetM,SAASuL,gBAAgBD,YAActL,SAASqL,KAAKC,YAAc,EAC/FY,IAAKhM,OAAO4L,aAAe9L,SAASuL,gBAAgBK,WAAa5L,SAASqL,KAAKO,WAAa,EAEpG,EACAW,kBAAmB,SAA2BC,GAC1C,IAAIC,EAAYD,EAAKJ,KAAMA,OAAqB,IAAdK,EAAuB,EAAIA,EAAWC,EAAWF,EAAKN,IAAKA,OAAmB,IAAbQ,EAAsB,EAAIA,EACzH/I,KAAKgJ,WACL3M,SAASuL,gBAAgBD,WAAac,EACtCpM,SAASuL,gBAAgBK,UAAYM,GAErChM,OAAO0M,SAASR,EAAMF,EAE9B,EACA/B,SAAUA,EACVwC,UAAW,WAAWpI,KAAKrE,OAAOkK,UAAUC,WAC5CwC,SAAU,UAAUtI,KAAKrE,OAAOkK,UAAUC,WAC1CyC,SAAU,UAAUvI,KAAKrE,OAAOkK,UAAUC,WAC1C0C,QAAS,CACLC,IAAK,SAAahH,EAAKxD,GACnByK,aAAaC,QAAQlH,EAAKxD,EAC9B,EACA4D,IAAK,SAAaJ,GACd,OAAOiH,aAAaE,QAAQnH,EAChC,GAEJoH,QAAS,CACLC,UAAWlD,EAAW,aAAe,YACrCmD,SAAUnD,EAAW,YAAc,YACnCoD,QAASpD,EAAW,WAAa,WAErCqD,aAAc,SAAsBC,GAOhC,MANiB,MAAbA,EAAM,KACNA,EAAQA,EAAMC,OAAO,IAEJ,IAAjBD,EAAM/P,SACN+P,EAAQ,GAAGtP,OAAOsP,EAAM,IAAItP,OAAOsP,EAAM,IAAItP,OAAOsP,EAAM,IAAItP,OAAOsP,EAAM,IAAItP,OAAOsP,EAAM,IAAItP,OAAOsP,EAAM,KAE1GE,SAASF,EAAO,IAAM,EAAI,QACrC,EACAG,aAAc,SAAsBC,GAChC,MAAO,KAAO,QAAUA,EAAOtL,SAAS,KAAKiC,OAAO,EACxD,EACAsJ,YAAa,SAAqBD,GAC9B,OAAQA,GACR,KAAK,EAML,QACI,MAAO,QALX,KAAK,EACD,MAAO,MACX,KAAK,EACD,MAAO,SAIf,GC/GW,SAAS,EAAKvG,EAAIoB,GAC7B,OAAO,WACH,OAAOpB,EAAG7F,MAAMiH,EAASC,UAC7B,CACJ,CCJA,SAAS,EAAQtK,GAEb,OAAO,EAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,EAAQA,EACf,CAEA,IAEuB0P,EAFnB,EAAW3L,OAAO+C,UAAU5C,SAC5ByL,EAAiB5L,OAAO4L,eACxBC,GAAmBF,EAKrB3L,OAAOC,OAAO,MAJL,SAAU6L,GACb,IAAIC,EAAM,EAAS1L,KAAKyL,GACxB,OAAOH,EAAMI,KAASJ,EAAMI,GAAOA,EAAI3J,MAAM,GAAI,GAAG4J,cACxD,GAEAC,EAAa,SAAoBC,GAEjC,OADAA,EAAOA,EAAKF,cACL,SAAUF,GACb,OAAOD,EAAOC,KAAWI,CAC7B,CACJ,EACIC,EAAa,SAAoBD,GACjC,OAAO,SAAUJ,GACb,OAAO,EAAQA,KAAWI,CAC9B,CACJ,EACI,EAAU/K,MAAMC,QAChBgL,EAAcD,EAAW,aAIzBE,EAAgBJ,EAAW,eAU3BK,EAAWH,EAAW,UACtBI,EAAaJ,EAAW,YACxBK,EAAWL,EAAW,UACtBM,EAAW,SAAkBX,GAC7B,OAAiB,OAAVA,GAAqC,WAAnB,EAAQA,EACrC,EAIIY,EAAgB,SAAuBvF,GACvC,GAAoB,WAAhB0E,EAAO1E,GACP,OAAO,EAEX,IAAIpE,EAAY6I,EAAezE,GAC/B,QAAsB,OAAdpE,GAAsBA,IAAc/C,OAAO+C,WAAkD,OAArC/C,OAAO4L,eAAe7I,IAA0BH,OAAO+J,eAAexF,GAAUvE,OAAOC,YAAYsE,EACvK,EACIyF,EAASX,EAAW,QACpBY,EAASZ,EAAW,QACpBa,EAASb,EAAW,QACpBc,EAAad,EAAW,YAQxBe,EAAoBf,EAAW,mBAInC,SAASgB,EAAQhR,EAAKiJ,GAClB,IAIIlK,EACAkS,EALA9C,EAAO7D,UAAUjL,OAAS,QAAsBsG,IAAjB2E,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAAG4G,EAAkB/C,EAAKgD,WAAYA,OAAiC,IAApBD,GAAqCA,EACxK,GAAIlR,QAQJ,GAHqB,WAAjB,EAAQA,KACRA,EAAM,CAACA,IAEP,EAAQA,GACR,IAAKjB,EAAI,EAAGkS,EAAIjR,EAAIX,OAAQN,EAAIkS,EAAGlS,IAC/BkK,EAAG7E,KAAK,KAAMpE,EAAIjB,GAAIA,EAAGiB,OAE1B,CACH,IAEI2H,EAFAyJ,EAAOD,EAAapN,OAAOsN,oBAAoBrR,GAAO+D,OAAOqN,KAAKpR,GAClEoF,EAAMgM,EAAK/R,OAEf,IAAKN,EAAI,EAAGA,EAAIqG,EAAKrG,IACjB4I,EAAMyJ,EAAKrS,GACXkK,EAAG7E,KAAK,KAAMpE,EAAI2H,GAAMA,EAAK3H,EAErC,CACJ,CACA,SAASsR,GAAQtR,EAAK2H,GAClBA,EAAMA,EAAIoI,cAIV,IAHA,IAEIwB,EAFAH,EAAOrN,OAAOqN,KAAKpR,GACnBjB,EAAIqS,EAAK/R,OAENN,KAAM,GAET,GAAI4I,KADJ4J,EAAOH,EAAKrS,IACKgR,cACb,OAAOwB,EAGf,OAAO,IACX,CACA,IAgG6BC,GA6BrBtJ,GA7HJuJ,GAC0B,oBAAf7N,WACAA,WACY,oBAATnF,KAAuBA,KAAyB,oBAAXoD,OAAyBA,OAAS6P,OAErFC,GAAmB,SAA0BC,GAC7C,OAAQzB,EAAYyB,IAAYA,IAAYH,EAChD,EAyFII,IAAyBL,GAIL,oBAAfM,YAA8BnC,EAAemC,YAH3C,SAAUjC,GACb,OAAO2B,IAAc3B,aAAiB2B,EAC1C,GAmBAO,GAAa/B,EAAW,mBAMxB,IACI9H,GAINnE,OAAO+C,UAJsBoB,eACpB,SAAUlI,EAAKiI,GAClB,OAAOC,GAAe9D,KAAKpE,EAAKiI,EACpC,GAEA+J,GAAWhC,EAAW,UACtBiC,GAAoB,SAA2BjS,EAAKkS,GACpD,IAAIC,EAAcpO,OAAOqO,0BAA0BpS,GAC/CqS,EAAqB,CAAC,EAC1BrB,EAAQmB,GAAa,SAAUG,EAAY3J,IACA,IAAnCuJ,EAAQI,EAAY3J,EAAM3I,KAC1BqS,EAAmB1J,GAAQ2J,EAEnC,IACAvO,OAAOwO,iBAAiBvS,EAAKqS,EACjC,EA+DA,UACIlN,QAAS,EACTiL,cAAeA,EACfoC,SA/RJ,SAAkBtH,GACd,OAAe,OAARA,IAAiBiF,EAAYjF,IAA4B,OAApBA,EAAIrE,cAAyBsJ,EAAYjF,EAAIrE,cAAgByJ,EAAWpF,EAAIrE,YAAY2L,WAAatH,EAAIrE,YAAY2L,SAAStH,EAC9K,EA8RIuH,WA5Pa,SAAoB5C,GACjC,IAAI6C,EAAU,oBACd,OAAO7C,IAA8B,mBAAb9I,UAA2B8I,aAAiB9I,UAAY,EAAS3C,KAAKyL,KAAW6C,GAAWpC,EAAWT,EAAM3L,WAAa2L,EAAM3L,aAAewO,EAC3K,EA0PIC,kBA7RJ,SAA2BzH,GAOvB,MAL2B,oBAAhB0H,aAA+BA,YAAYC,OACzCD,YAAYC,OAAO3H,GAEnBA,GAAOA,EAAI4H,QAAU1C,EAAclF,EAAI4H,OAGxD,EAsRIzC,SAAUA,EACVE,SAAUA,EACVwC,UAjRY,SAAmBlD,GAC/B,OAAiB,IAAVA,IAA4B,IAAVA,CAC7B,EAgRIW,SAAUA,EACVC,cAAeA,EACfN,YAAaA,EACbQ,OAAQA,EACRC,OAAQA,EACRC,OAAQA,EACRmB,SAAUA,GACV1B,WAAYA,EACZ0C,SA5QW,SAAkB9H,GAC7B,OAAOsF,EAAStF,IAAQoF,EAAWpF,EAAI+H,KAC3C,EA2QIlC,kBAAmBA,EACnBc,aAAcA,GACdf,WAAYA,EACZE,QAASA,EACTkC,MAzNJ,SAASA,IAeL,IAdA,IAAIC,EAAQxB,GAAiBrM,OAASA,MAAQ,CAAC,EAAG8N,EAAWD,EAAMC,SAC/DhU,EAAS,CAAC,EACViU,EAAc,SAAqBnI,EAAKvD,GACxC,IAAI2L,EAAYF,GAAY9B,GAAQlS,EAAQuI,IAAQA,EAChD8I,EAAcrR,EAAOkU,KAAe7C,EAAcvF,GAClD9L,EAAOkU,GAAaJ,EAAM9T,EAAOkU,GAAYpI,GACtCuF,EAAcvF,GACrB9L,EAAOkU,GAAaJ,EAAM,CAAC,EAAGhI,GACvB,EAAQA,GACf9L,EAAOkU,GAAapI,EAAI/E,QAExB/G,EAAOkU,GAAapI,CAE5B,EACSnM,EAAI,EAAGkS,EAAI3G,UAAUjL,OAAQN,EAAIkS,EAAGlS,IACzCuL,UAAUvL,IAAMiS,EAAQ1G,UAAUvL,GAAIsU,GAE1C,OAAOjU,CACX,EAuMImU,OAtMS,SAAgB9L,EAAGU,EAAGkC,GAC/B,IAAImJ,EAAQlJ,UAAUjL,OAAS,QAAsBsG,IAAjB2E,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAAG6G,EAAaqC,EAAMrC,WAQvG,OAPAH,EAAQ7I,GAAG,SAAU+C,EAAKvD,GAClB0C,GAAWiG,EAAWpF,GACtBzD,EAAEE,GAAO,EAAKuD,EAAKb,GAEnB5C,EAAEE,GAAOuD,CAEjB,GAAG,CAAEiG,WAAYA,IACV1J,CACX,EA6LIgM,KA3QO,SAAc3D,GACrB,OAAOA,EAAI2D,KAAO3D,EAAI2D,OAAS3D,EAAIxJ,QAAQ,qCAAsC,GACrF,EA0QIoN,SA7LW,SAAkBpP,GAI7B,OAH8B,QAA1BA,EAAQM,WAAW,KACnBN,EAAUA,EAAQ6B,MAAM,IAErB7B,CACX,EAyLIqP,SAxLW,SAAkB9M,EAAa+M,EAAkBC,EAAO1B,GACnEtL,EAAYC,UAAY/C,OAAOC,OAAO4P,EAAiB9M,UAAWqL,GAClEtL,EAAYC,UAAUD,YAAcA,EACpC9C,OAAO8D,eAAehB,EAAa,QAAS,CAAE1C,MAAOyP,EAAiB9M,YACtE+M,GAAS9P,OAAO+P,OAAOjN,EAAYC,UAAW+M,EAClD,EAoLIE,aAnLe,SAAsBC,EAAWC,EAASC,EAAQC,GACjE,IAAIN,EACA9U,EACAkJ,EACAmM,EAAS,CAAC,EAEd,GADAH,EAAUA,GAAW,CAAC,EACL,MAAbD,EACA,OAAOC,EACX,EAAG,CAGC,IADAlV,GADA8U,EAAQ9P,OAAOsN,oBAAoB2C,IACzB3U,OACHN,KAAM,GACTkJ,EAAO4L,EAAM9U,GACPoV,IAAcA,EAAWlM,EAAM+L,EAAWC,IAAcG,EAAOnM,KACjEgM,EAAQhM,GAAQ+L,EAAU/L,GAC1BmM,EAAOnM,IAAQ,GAGvB+L,GAAuB,IAAXE,GAAoBvE,EAAeqE,EACnD,OAASA,KAAeE,GAAUA,EAAOF,EAAWC,KAAaD,IAAcjQ,OAAO+C,WACtF,OAAOmN,CACX,EA+JIrE,OAAQA,EACRI,WAAYA,EACZqE,SAhKW,SAAkBvE,EAAKwE,EAAcC,GAChDzE,EAAM9J,OAAO8J,SACInK,IAAb4O,GAA0BA,EAAWzE,EAAIzQ,UACzCkV,EAAWzE,EAAIzQ,QAEnBkV,GAAYD,EAAajV,OACzB,IAAIqF,EAAYoL,EAAI0E,QAAQF,EAAcC,GAC1C,OAAsB,IAAf7P,GAAoBA,IAAc6P,CAC7C,EAyJIE,QAxJU,SAAiB5E,GAC3B,IAAKA,EACD,OAAO,KACX,GAAI,EAAQA,GACR,OAAOA,EACX,IAAI9Q,EAAI8Q,EAAMxQ,OACd,IAAKkR,EAASxR,GACV,OAAO,KAEX,IADA,IAAI+L,EAAM,IAAI5F,MAAMnG,GACbA,KAAM,GACT+L,EAAI/L,GAAK8Q,EAAM9Q,GAEnB,OAAO+L,CACX,EA4II4J,aAtIe,SAAsB1U,EAAKiJ,GAI1C,IAHA,IAEI7J,EADAwH,GADY5G,GAAOA,EAAI2G,OAAOC,WACTxC,KAAKpE,IAEtBZ,EAASwH,EAAS+N,UAAYvV,EAAOqL,MAAM,CAC/C,IAAImK,EAAOxV,EAAO+E,MAClB8E,EAAG7E,KAAKpE,EAAK4U,EAAK,GAAIA,EAAK,GAC/B,CACJ,EA+HIC,SA9HW,SAAkBC,EAAQhF,GAGrC,IAFA,IAAIiF,EACAjK,EAAM,GAC8B,QAAhCiK,EAAUD,EAAOrQ,KAAKqL,KAC1BhF,EAAInM,KAAKoW,GAEb,OAAOjK,CACX,EAwHIiH,WAAYA,GACZ7J,eAAgB,GAChB8M,WAAY,GACZ/C,kBAAmBA,GACnBgD,cApGgB,SAAuBjV,GACvCiS,GAAkBjS,GAAK,SAAUsS,EAAY3J,GACzC,GAAI2H,EAAWtQ,KAIU,IAJF,CACf,YACA,SACA,UACFwU,QAAQ7L,GACV,OAAO,EAEX,IAAIxE,EAAQnE,EAAI2I,GACX2H,EAAWnM,KAEhBmO,EAAWxK,YAAa,EACpB,aAAcwK,EACdA,EAAW4C,UAAW,EAGrB5C,EAAW3D,MACZ2D,EAAW3D,IAAM,WACb,MAAMxM,MAAM,qCAAwCwG,EAAO,IAC/D,GAER,GACJ,EA8EIwM,YA7Ec,SAAqBC,EAAeC,GAClD,IAAIrV,EAAM,CAAC,EACPzB,EAAS,SAAgBuM,GACzBA,EAAIkG,SAAQ,SAAU7M,GAClBnE,EAAImE,IAAS,CACjB,GACJ,EAEA,OADA,EAAQiR,GAAiB7W,EAAO6W,GAAiB7W,EAAOyH,OAAOoP,GAAeE,MAAMD,IAC7ErV,CACX,EAqEIuV,YA5Hc,SAAqBzF,GACnC,OAAOA,EAAIC,cAAczJ,QAAQ,yBAAyB,SAAkBe,EAAGmO,EAAIC,GAC/E,OAAOD,EAAGE,cAAgBD,CAC9B,GACJ,EAyHIzM,KArEO,WACX,EAqEI2M,eApEiB,SAAwBxR,EAAOyR,GAEhD,OADAzR,GAASA,EACF0R,OAAOC,SAAS3R,GAASA,EAAQyR,CAC5C,EAkEItE,QAASA,GACTI,OAAQD,GACRE,iBAAkBA,GAClBoE,aApEe,SAAsB/V,GACrC,IAAIgW,EAAQ,IAAI9Q,MAAM,IAmBtB,OAlBY,SAAS+Q,EAAMC,EAAQnX,GAC/B,GAAIyR,EAAS0F,GAAS,CAClB,GAAIF,EAAMxB,QAAQ0B,IAAW,EACzB,OAEJ,KAAM,WAAYA,GAAS,CACvBF,EAAMjX,GAAKmX,EACX,IAAIzU,EAAS,EAAQyU,GAAU,GAAK,CAAC,EAMrC,OALAlF,EAAQkF,GAAQ,SAAU/R,EAAOwD,GAC7B,IAAIwO,EAAeF,EAAM9R,EAAOpF,EAAI,IACnCoR,EAAYgG,KAAkB1U,EAAOkG,GAAOwO,EACjD,IACAH,EAAMjX,QAAK4G,EACJlE,CACX,CACJ,CACA,OAAOyU,CACX,CACOD,CAAMjW,EAAK,EACtB,GCxTA,SAASoW,GAAW1N,EAAS2N,EAAMC,EAAQC,EAASC,GAChDrU,MAAMiC,KAAKkB,MACPnD,MAAMsU,kBACNtU,MAAMsU,kBAAkBnR,KAAMA,KAAKuB,aAEnCvB,KAAK0Q,OAAQ,IAAI7T,OAAQ6T,MAE7B1Q,KAAKoD,QAAUA,EACfpD,KAAKqD,KAAO,aACZ0N,IAAS/Q,KAAK+Q,KAAOA,GACrBC,IAAWhR,KAAKgR,OAASA,GACzBC,IAAYjR,KAAKiR,QAAUA,GAC3BC,IAAalR,KAAKkR,SAAWA,EACjC,CACA,YAAeJ,GAAYjU,MAAO,CAC9BuU,OAAQ,WACJ,MAAO,CACHhO,QAASpD,KAAKoD,QACdC,KAAMrD,KAAKqD,KACXgO,YAAarR,KAAKqR,YAClBnH,OAAQlK,KAAKkK,OACboH,SAAUtR,KAAKsR,SACfC,WAAYvR,KAAKuR,WACjBC,aAAcxR,KAAKwR,aACnBd,MAAO1Q,KAAK0Q,MACZM,OAAQ,gBAAmBhR,KAAKgR,QAChCD,KAAM/Q,KAAK+Q,KACX7K,OAAQlG,KAAKkR,UAAYlR,KAAKkR,SAAShL,OAASlG,KAAKkR,SAAShL,OAAS,KAE/E,IAEJ,IAAI,GAAY4K,GAAWtP,UACvBqL,GAAc,CAAC,EACnB,CACI,uBACA,iBACA,eACA,YACA,cACA,4BACA,iBACA,mBACA,kBACA,eACA,kBACA,mBACFnB,SAAQ,SAAUqF,GAChBlE,GAAYkE,GAAQ,CAAElS,MAAOkS,EACjC,IACAtS,OAAOwO,iBAAiB6D,GAAYjE,IACpCpO,OAAO8D,eAAe,GAAW,eAAgB,CAAE1D,OAAO,IAC1DiS,GAAWW,KAAO,SAAUzL,EAAO+K,EAAMC,EAAQC,EAASC,EAAUQ,GAChE,IAAIC,EAAalT,OAAOC,OAAO,IAU/B,OATA,gBAAmBsH,EAAO2L,GAAY,SAAgBjX,GAClD,OAAOA,IAAQmC,MAAM2E,SACzB,IAAG,SAAUmB,GACT,MAAgB,iBAATA,CACX,IACAmO,GAAWhS,KAAK6S,EAAY3L,EAAM5C,QAAS2N,EAAMC,EAAQC,EAASC,GAClES,EAAWC,MAAQ5L,EACnB2L,EAAWtO,KAAO2C,EAAM3C,KACxBqO,GAAejT,OAAO+P,OAAOmD,EAAYD,GAClCC,CACX,EACA,YCjEA,G,OCAA,SAAS,GAAQjX,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CAIA,SAASmX,GAAYtH,GACjB,OAAO,iBAAoBA,IAAU,WAAcA,EACvD,CACA,SAASuH,GAAezP,GACpB,OAAO,YAAeA,EAAK,MAAQA,EAAIxB,MAAM,GAAI,GAAKwB,CAC1D,CACA,SAAS0P,GAAUC,EAAM3P,EAAK4P,GAC1B,OAAKD,EAEEA,EAAKxX,OAAO6H,GAAKpC,KAAI,SAAciS,EAAOzY,GAE7C,OADAyY,EAAQJ,GAAeI,IACfD,GAAQxY,EAAI,IAAMyY,EAAQ,IAAMA,CAC5C,IAAGhS,KAAK+R,EAAO,IAAM,IAJV5P,CAKf,CAIA,IAAI8P,GAAa,gBAAmB,GAAO,CAAC,EAAG,MAAM,SAAgBxP,GACjE,MAAO,WAAW/B,KAAK+B,EAC3B,IAsFA,SAlFA,SAAoBjI,EAAK0X,EAAUlY,GAC/B,IAAK,YAAeQ,GAChB,MAAM,IAAIkJ,UAAU,4BAExBwO,EAAWA,GAAY,IAAK,IAAe3Q,UAQ3C,IAfqB8I,EAejB8H,GAPJnY,EAAU,gBAAmBA,EAAS,CAClCmY,YAAY,EACZJ,MAAM,EACNK,SAAS,IACV,GAAO,SAAiBC,EAAQ3B,GAC/B,OAAQ,eAAkBA,EAAO2B,GACrC,KACyBF,WACrBG,EAAUtY,EAAQsY,SAAWC,EAC7BR,EAAO/X,EAAQ+X,KACfK,EAAUpY,EAAQoY,QAElBI,GADQxY,EAAQyY,MAAwB,oBAATA,MAAwBA,QAnBtCpI,EAoBkB6H,IAnBvB,cAAiB7H,EAAMqI,SAAyC,aAA9BrI,EAAMlJ,OAAO+J,cAA+Bb,EAAMlJ,OAAOC,UAoB3G,IAAK,cAAiBkR,GAClB,MAAM,IAAI5O,UAAU,8BAExB,SAASiP,EAAahU,GAClB,GAAc,OAAVA,EACA,MAAO,GACX,GAAI,UAAaA,GACb,OAAOA,EAAMiU,cAEjB,IAAKJ,GAAW,UAAa7T,GACzB,MAAM,IAAI,GAAW,gDAEzB,OAAI,iBAAoBA,IAAU,gBAAmBA,GAC1C6T,GAA2B,mBAATC,KAAsB,IAAIA,KAAK,CAAC9T,IAAUkU,OAAOtB,KAAK5S,GAE5EA,CACX,CACA,SAAS4T,EAAe5T,EAAOwD,EAAK2P,GAChC,IAAIxM,EAAM3G,EACV,GAAIA,IAAUmT,GAA2B,WAAnB,GAAQnT,GAC1B,GAAI,YAAewD,EAAK,MACpBA,EAAMgQ,EAAahQ,EAAMA,EAAIxB,MAAM,GAAI,GACvChC,EAAQlB,KAAKC,UAAUiB,QACpB,GAAI,WAAcA,IAlDrC,SAAqB2G,GACjB,OAAO,WAAcA,KAASA,EAAIwN,KAAKnB,GAC3C,CAgD+CoB,CAAYpU,IAAU,cAAiBA,IAAU,YAAewD,EAAK,QAAUmD,EAAM,WAAc3G,IAKlI,OAJAwD,EAAMyP,GAAezP,GACrBmD,EAAIkG,SAAQ,SAAcwH,EAAItX,IACxB,eAAkBsX,IAAc,OAAPA,GAAgBd,EAASQ,QAAmB,IAAZN,EAAmBP,GAAU,CAAC1P,GAAMzG,EAAOqW,GAAoB,OAAZK,EAAmBjQ,EAAMA,EAAM,KAAMwQ,EAAaK,GACpK,KACO,EAGf,QAAIrB,GAAYhT,KAGhBuT,EAASQ,OAAOb,GAAUC,EAAM3P,EAAK4P,GAAOY,EAAahU,KAClD,EACX,CACA,IAAI6R,EAAQ,GACRyC,EAAiB1U,OAAO+P,OAAO2D,GAAY,CAC3CM,eAAgBA,EAChBI,aAAcA,EACdhB,YAAaA,KAiBjB,IAAK,YAAenX,GAChB,MAAM,IAAIkJ,UAAU,0BAGxB,OAnBA,SAASwP,EAAMvU,EAAOmT,GAClB,IAAI,eAAkBnT,GAAtB,CAEA,IAA8B,IAA1B6R,EAAMxB,QAAQrQ,GACd,MAAMhC,MAAM,kCAAoCmV,EAAK9R,KAAK,MAE9DwQ,EAAMrX,KAAKwF,GACX,WAAcA,GAAO,SAAcqU,EAAI7Q,IAEpB,OADA,eAAkB6Q,IAAc,OAAPA,IAAgBV,EAAQ1T,KAAKsT,EAAUc,EAAI,YAAe7Q,GAAOA,EAAI8L,OAAS9L,EAAK2P,EAAMmB,KAE7HC,EAAMF,EAAIlB,EAAOA,EAAKxX,OAAO6H,GAAO,CAACA,GAE7C,IACAqO,EAAM2C,KAXI,CAYd,CAIAD,CAAM1Y,GACC0X,CACX,EClHA,SAASkB,GAAO9I,GACZ,IAAI+I,EAAU,CACV,IAAK,MACL,IAAM,MACN,IAAK,MACL,IAAK,MACL,IAAK,MACL,MAAO,IACP,MAAO,MAEX,OAAO7V,mBAAmB8M,GAAKxJ,QAAQ,oBAAoB,SAAkBwS,GACzE,OAAOD,EAAQC,EACnB,GACJ,CACA,SAASC,GAAqBC,EAAQxZ,GAClC8F,KAAK2T,OAAS,GACdD,GAAU,GAAWA,EAAQ1T,KAAM9F,EACvC,CACA,IAAI,GAAYuZ,GAAqBjS,UACrC,GAAUoR,OAAS,SAAgBvP,EAAMxE,GACrCmB,KAAK2T,OAAOta,KAAK,CACbgK,EACAxE,GAER,EACA,GAAUD,SAAW,SAAkBgV,GACnC,IAAIC,EAAUD,EAAU,SAAU/U,GAC9B,OAAO+U,EAAQ9U,KAAKkB,KAAMnB,EAAOyU,GACrC,EAAIA,GACJ,OAAOtT,KAAK2T,OAAO1T,KAAI,SAAcqP,GACjC,OAAOuE,EAAQvE,EAAK,IAAM,IAAMuE,EAAQvE,EAAK,GACjD,GAAG,IAAIpP,KAAK,IAChB,EACA,YChCA,SAAS,GAAO0F,GACZ,OAAOlI,mBAAmBkI,GAAK5E,QAAQ,QAAS,KAAKA,QAAQ,OAAQ,KAAKA,QAAQ,QAAS,KAAKA,QAAQ,OAAQ,KAAKA,QAAQ,QAAS,KAAKA,QAAQ,QAAS,IAChK,CACe,SAAS8S,GAASrT,EAAKiT,EAAQxZ,GAC1C,IAAKwZ,EACD,OAAOjT,EAEX,IAEIsT,EAFAF,EAAU3Z,GAAWA,EAAQoZ,QAAU,GACvCU,EAAc9Z,GAAWA,EAAQ+Z,UAOrC,GAJIF,EADAC,EACmBA,EAAYN,EAAQxZ,GAEpB,qBAAwBwZ,GAAUA,EAAO9U,WAAa,IAAI,GAAqB8U,EAAQxZ,GAAS0E,SAASiV,GAE1G,CAClB,IAAIK,EAAgBzT,EAAIyO,QAAQ,MACT,IAAnBgF,IACAzT,EAAMA,EAAII,MAAM,EAAGqT,IAEvBzT,KAA8B,IAAtBA,EAAIyO,QAAQ,KAAc,IAAM,KAAO6E,CACnD,CACA,OAAOtT,CACX,CCzBA,SAAS,GAAQ/F,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CAMA,SAASyZ,GAAkBhY,EAAQoS,GAC/B,IAAK,IAAI9U,EAAI,EAAGA,EAAI8U,EAAMxU,OAAQN,IAAK,CACnC,IAAIuT,EAAauB,EAAM9U,GACvBuT,EAAWxK,WAAawK,EAAWxK,aAAc,EACjDwK,EAAWoH,cAAe,EACtB,UAAWpH,IACXA,EAAW4C,UAAW,GAC1BnR,OAAO8D,eAAepG,QAYtBkG,IAGR,SAAsBgS,EAAOC,GACzB,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAC/B,OAAOA,EACX,IAAIE,EAAOF,EAAMhT,OAAOmT,aACxB,QAAanU,IAATkU,EAAoB,CACpB,IAAI5O,EAAM4O,EAAKzV,KAAKuV,EAAOC,UAC3B,GAAqB,WAAjB,GAAQ3O,GACR,OAAOA,EACX,MAAM,IAAI/B,UAAU,+CACxB,CACA,OAA4BlD,OAAiB2T,EACjD,CAdcI,CAZuCzH,EAAW3K,KAapC,WAAjB,GAAQA,GAAoBA,EAAM3B,OAAO2B,IAbkB2K,EAClE,CAUJ,IACQ3K,CAVR,CA0BA,IAAIqS,GAAqB,WACrB,SAASA,KAzCb,SAAyBC,EAAUC,GAC/B,KAAMD,aAAoBC,GACtB,MAAM,IAAIhR,UAAU,oCAE5B,CAsCQiR,CAAgB7U,KAAM0U,GACtB1U,KAAK8U,SAAW,EACpB,CA7BJ,IAAsBF,EAAaG,EAsE/B,OAtEkBH,EA8BLF,EA9BkBK,EA8BE,CAC7B,CACI1S,IAAK,MACLxD,MAAO,SAAamW,EAAWC,EAAU/a,GAOrC,OANA8F,KAAK8U,SAASzb,KAAK,CACf2b,UAAWA,EACXC,SAAUA,EACVC,cAAahb,GAAUA,EAAQgb,YAC/BC,QAASjb,EAAUA,EAAQib,QAAU,OAElCnV,KAAK8U,SAAS/a,OAAS,CAClC,GAEJ,CACIsI,IAAK,QACLxD,MAAO,SAAevF,GACd0G,KAAK8U,SAASxb,KACd0G,KAAK8U,SAASxb,GAAM,KAE5B,GAEJ,CACI+I,IAAK,QACLxD,MAAO,WACCmB,KAAK8U,WACL9U,KAAK8U,SAAW,GAExB,GAEJ,CACIzS,IAAK,UACLxD,MAAO,SAAiB8E,GACpB,WAAc3D,KAAK8U,UAAU,SAAwBM,GACvC,OAANA,GACAzR,EAAGyR,EAEX,GACJ,IAlEJL,GACAZ,GAAkBS,EAAYpT,UAAWuT,GAG7CtW,OAAO8D,eAAeqS,EAAa,YAAa,CAAEhF,UAAU,IAiErD8E,CACX,CA9CyB,GA+CzB,YC/FA,IACIW,mBAAmB,EACnBC,mBAAmB,EACnBC,qBAAqB,GCFzB,GAA0C,oBAApBC,gBAAkCA,gBAAkB,GCD1E,YCCA,IACQC,GADJC,IAEyB,oBAAdjP,WAAgE,iBAAjCgP,GAAUhP,UAAUgP,UAA0C,iBAAZA,IAA0C,OAAZA,KAGjG,oBAAXlZ,QAA8C,oBAAbF,SAE/CsZ,GACoC,oBAAtBC,mBAAqCzc,gBAAgByc,mBAAmD,mBAAvBzc,KAAK0c,cAExG,UACIC,WAAW,EACXC,QAAS,CACLP,gBAAiB,GACjB/T,SAAU,GACVkR,MAEJ+C,qBAAsBA,GACtBC,8BAA+BA,GAC/BK,UAAW,CACP,OACA,QACA,OACA,OACA,MACA,SC2BR,GAnCA,SAAwB5D,GACpB,SAAS6D,EAAUjE,EAAMnT,EAAO1C,EAAQP,GACpC,IAAIyH,EAAO2O,EAAKpW,KACZsa,EAAe3F,OAAOC,UAAUnN,GAChC8S,EAASva,GAASoW,EAAKjY,OAE3B,OADAsJ,GAAQA,GAAQ,WAAclH,GAAUA,EAAOpC,OAASsJ,EACpD8S,GACI,cAAiBha,EAAQkH,GACzBlH,EAAOkH,GAAQ,CACXlH,EAAOkH,GACPxE,GAGJ1C,EAAOkH,GAAQxE,GAEXqX,IAEP/Z,EAAOkH,IAAU,YAAelH,EAAOkH,MACxClH,EAAOkH,GAAQ,IAEN4S,EAAUjE,EAAMnT,EAAO1C,EAAOkH,GAAOzH,IACpC,WAAcO,EAAOkH,MAC/BlH,EAAOkH,GAlCnB,SAAuBmC,GACnB,IAEI/L,EAEA4I,EAJA3H,EAAM,CAAC,EACPoR,EAAOrN,OAAOqN,KAAKtG,GAEnB1F,EAAMgM,EAAK/R,OAEf,IAAKN,EAAI,EAAGA,EAAIqG,EAAKrG,IAEjBiB,EADA2H,EAAMyJ,EAAKrS,IACA+L,EAAInD,GAEnB,OAAO3H,CACX,CAuB2B0b,CAAcja,EAAOkH,MAEhC6S,EACZ,CACA,GAAI,cAAiB9D,IAAa,cAAiBA,EAASiE,SAAU,CAClE,IAAI3b,EAAM,CAAC,EAIX,OAHA,gBAAmB0X,GAAU,SAAU/O,EAAMxE,GACzCoX,EA9CZ,SAAuB5S,GACnB,OAAO,YAAe,gBAAiBA,GAAMpD,KAAI,SAAUuT,GACvD,MAAoB,OAAbA,EAAM,GAAc,GAAKA,EAAM,IAAMA,EAAM,EACtD,GACJ,CA0CsB8C,CAAcjT,GAAOxE,EAAOnE,EAAK,EAC/C,IACOA,CACX,CACA,OAAO,IACX,EC7CA,IAAI6b,GAAuB,CAAE,oBAAgBlW,GAczCmW,GAAW,CACXC,aAAc,GACdC,QAAS,CACL,MACA,QAEJC,iBAAkB,CAAC,SAA0BjX,EAAMkX,GAC3C,IAuBIpL,EAvBAqL,EAAcD,EAAQE,kBAAoB,GAC1CC,EAAqBF,EAAY3H,QAAQ,qBAAuB,EAChE8H,EAAkB,YAAetX,GAKrC,GAJIsX,GAAmB,cAAiBtX,KACpCA,EAAO,IAAI+B,SAAS/B,IAEP,cAAiBA,GAE9B,OAAKqX,GAGEA,EAAqBpZ,KAAKC,UAAU,GAAe8B,IAF/CA,EAIf,GAAI,iBAAoBA,IAAS,YAAeA,IAAS,YAAeA,IAAS,UAAaA,IAAS,UAAaA,GAChH,OAAOA,EAEX,GAAI,qBAAwBA,GACxB,OAAOA,EAAK8N,OAEhB,GAAI,qBAAwB9N,GAExB,OADAkX,EAAQK,eAAe,mDAAmD,GACnEvX,EAAKd,WAGhB,GAAIoY,EAAiB,CACjB,GAAIH,EAAY3H,QAAQ,sCAAwC,EAC5D,OCnDL,SAA0BxP,EAAMxF,GAC3C,OAAO,GAAWwF,EAAM,IAAI,2BAAoCjB,OAAO+P,OAAO,CAC1EgE,QAAS,SAAiB3T,EAAOwD,EAAK2P,EAAMkF,GACxC,OAAI,WAAmB,YAAerY,IAClCmB,KAAK4S,OAAOvQ,EAAKxD,EAAMD,SAAS,YACzB,GAEJsY,EAAQzE,eAAe3U,MAAMkC,KAAMgF,UAC9C,GACD9K,GACP,CDyC2Bid,CAAiBzX,EAAMM,KAAKoX,gBAAgBxY,WAEvD,IAAK4M,EAAa,cAAiB9L,KAAUmX,EAAY3H,QAAQ,wBAA0B,EAAG,CAC1F,IAAImI,EAAYrX,KAAKsX,KAAOtX,KAAKsX,IAAI7V,SACrC,OAAO,GAAW+J,EAAa,CAAE,UAAW9L,GAASA,EAAM2X,GAAa,IAAIA,EAAarX,KAAKoX,eAClG,CACJ,CACA,OAAIJ,GAAmBD,GACnBH,EAAQK,eAAe,oBAAoB,GAtD3D,SAAyBM,EAAUC,EAAQ5D,GACvC,GAAI,YAAe2D,GACf,IAEI,OADA,EAAW5Z,KAAK8Z,OAAOF,GAChB,QAAWA,EAKtB,CAJE,MAAO5a,GACL,GAAe,gBAAXA,EAAE0G,KACF,MAAM1G,CAEd,CAEJ,OAAO,EAAYgB,KAAKC,WAAW2Z,EACvC,CA2CuBG,CAAgBhY,IAEpBA,CACX,GACJiY,kBAAmB,CAAC,SAA2BjY,GACvC,IAAI+W,EAAezW,KAAKyW,cAAgBD,GAASC,aAC7CnB,EAAoBmB,GAAgBA,EAAanB,kBACjDsC,EAAsC,SAAtB5X,KAAK6X,aACzB,GAAInY,GAAQ,YAAeA,KAAU4V,IAAsBtV,KAAK6X,cAAgBD,GAAgB,CAC5F,IACIE,IADoBrB,GAAgBA,EAAapB,oBACPuC,EAC9C,IACI,OAAOja,KAAK8Z,MAAM/X,EAQtB,CAPE,MAAO/C,GACL,GAAImb,EAAmB,CACnB,GAAe,gBAAXnb,EAAE0G,KACF,MAAM,QAAgB1G,EAAG,oBAA6BqD,KAAM,KAAMA,KAAKkR,UAE3E,MAAMvU,CACV,CACJ,CACJ,CACA,OAAO+C,CACX,GACJqY,QAAS,EACTC,eAAgB,aAChBC,eAAgB,eAChBC,kBAAmB,EACnBC,eAAgB,EAChBb,IAAK,CACD7V,SAAU,oBACVkR,KAAM,iBAEVyF,eAAgB,SAAwBlS,GACpC,OAAOA,GAAU,KAAOA,EAAS,GACrC,EACA0Q,QAAS,CAAEyB,OAAQ,CAAE,OAAU,uCAEnC,WAAc,CACV,SACA,MACA,SACD,SAA6BC,GAC5B9B,GAASI,QAAQ0B,GAAU,CAAC,CAChC,IACA,WAAc,CACV,OACA,MACA,UACD,SAA+BA,GAC9B9B,GAASI,QAAQ0B,GAAU,SAAY/B,GAC3C,IACA,YElHA,IAAIgC,GAAoB,eAAkB,CACtC,MACA,gBACA,iBACA,eACA,OACA,UACA,OACA,OACA,oBACA,sBACA,gBACA,WACA,eACA,sBACA,UACA,cACA,eClBJ,SAAS,GAAQ7d,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CAoBA,SAAS8d,GAAkBhT,EAAK1F,IACjB,MAAPA,GAAeA,EAAM0F,EAAIzL,UACzB+F,EAAM0F,EAAIzL,QACd,IAAK,IAAIN,EAAI,EAAGgf,EAAO,IAAI7Y,MAAME,GAAMrG,EAAIqG,EAAKrG,IAC5Cgf,EAAKhf,GAAK+L,EAAI/L,GAClB,OAAOgf,CACX,CAmCA,SAAS,GAAkBtc,EAAQoS,GAC/B,IAAK,IAAI9U,EAAI,EAAGA,EAAI8U,EAAMxU,OAAQN,IAAK,CACnC,IAAIuT,EAAauB,EAAM9U,GACvBuT,EAAWxK,WAAawK,EAAWxK,aAAc,EACjDwK,EAAWoH,cAAe,EACtB,UAAWpH,IACXA,EAAW4C,UAAW,GAC1BnR,OAAO8D,eAAepG,QAYtBkG,IAGR,SAAsBgS,EAAOC,GACzB,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAC/B,OAAOA,EACX,IAAIE,EAAOF,EAAMhT,OAAOmT,aACxB,QAAanU,IAATkU,EAAoB,CACpB,IAAI5O,EAAM4O,EAAKzV,KAAKuV,EAAOC,UAC3B,GAAqB,WAAjB,GAAQ3O,GACR,OAAOA,EACX,MAAM,IAAI/B,UAAU,+CACxB,CACA,OAA4BlD,OAAiB2T,EACjD,CAdc,CAZuCrH,EAAW3K,KAapC,WAAjB,GAAQA,GAAoBA,EAAM3B,OAAO2B,IAbkB2K,EAClE,CAUJ,IACQ3K,CAVR,CA2BA,IAAIqW,GAAarX,OAAO,aACxB,SAASsX,GAAgBC,GACrB,OAAOA,GAAUlY,OAAOkY,GAAQzK,OAAO1D,aAC3C,CACA,SAASoO,GAAeha,GACpB,OAAc,IAAVA,GAA4B,MAATA,EACZA,EAEJ,WAAcA,GAASA,EAAMoB,IAAI4Y,IAAkBnY,OAAO7B,EACrE,CAaA,SAASia,GAAiBxM,EAASzN,EAAO+Z,EAAQhK,GAC9C,OAAI,cAAiBA,GACVA,EAAO9P,KAAKkB,KAAMnB,EAAO+Z,GAE/B,YAAe/Z,GAEhB,YAAe+P,IACmB,IAA3B/P,EAAMqQ,QAAQN,GAErB,YAAeA,GACRA,EAAOhO,KAAK/B,QADvB,OALA,CAQJ,CAqBA,IAAIka,GAAe,SAAUC,EAAkBC,GAC3C,SAASF,EAAanC,IAjG1B,SAAyBjC,EAAUC,GAC/B,KAAMD,aAAoBC,GACtB,MAAM,IAAIhR,UAAU,oCAE5B,CA8FQ,CAAgB5D,KAAM+Y,GACtBnC,GAAW5W,KAAKqJ,IAAIuN,EACxB,CArFJ,IAAsBhC,EAAaG,EAAYmE,EA0R3C,OA1RkBtE,EAsFLmE,EAtFkBhE,EAsFJ,CACvB,CACI1S,IAAK,MACLxD,MAAO,SAAa+Z,EAAQO,EAAgBC,GACxC,IAAIjgB,EAAO6G,KACX,SAASqZ,EAAUtV,EAAQuV,EAASC,GAChC,IAAIC,EAAUb,GAAgBW,GAC9B,IAAKE,EACD,MAAM,IAAI3c,MAAM,0CAEpB,IAAIwF,EAAM,WAAclJ,EAAMqgB,KACzBnX,QAAqBhC,IAAdlH,EAAKkJ,KAAmC,IAAbkX,QAAkClZ,IAAbkZ,IAAwC,IAAdpgB,EAAKkJ,MACvFlJ,EAAKkJ,GAAOiX,GAAWT,GAAe9U,GAE9C,CACA,ID/JS0V,EAEjBpX,EACAuD,EACAnM,EAHAigB,EC8JYC,EAAa,SAAoB/C,EAAS2C,GAC1C,OAAO,WAAc3C,GAAS,SAAU7S,EAAQuV,GAC5C,OAAOD,EAAUtV,EAAQuV,EAASC,EACtC,GACJ,EAQA,OAPI,iBAAoBX,IAAWA,aAAkB5Y,KAAKuB,YACtDoY,EAAWf,EAAQO,GACZ,YAAeP,KAAYA,EAASA,EAAOzK,UA9D3D,gBAAgBvN,KA8DyEgY,EA9DhEzK,QA+DhBwL,GDtKZD,EAAS,CAAC,GADOD,ECuKmBb,IDlK1Ba,EAAWzJ,MAAM,MAAMtE,SAAQ,SAAgBkO,GACzDngB,EAAImgB,EAAK1K,QAAQ,KACjB7M,EAAMuX,EAAKra,UAAU,EAAG9F,GAAG0U,OAAO1D,cAClC7E,EAAMgU,EAAKra,UAAU9F,EAAI,GAAG0U,QACvB9L,GAAOqX,EAAOrX,IAAQkW,GAAkBlW,KAGjC,eAARA,EACIqX,EAAOrX,GACPqX,EAAOrX,GAAKhJ,KAAKuM,GAEjB8T,EAAOrX,GAAO,CAACuD,GAGnB8T,EAAOrX,GAAOqX,EAAOrX,GAAOqX,EAAOrX,GAAO,KAAOuD,EAAMA,EAE/D,IACO8T,GCiJ0CP,GAEvB,MAAVP,GAAkBS,EAAUF,EAAgBP,EAAQQ,GAEjDpZ,IACX,GAEJ,CACIqC,IAAK,MACLxD,MAAO,SAAa+Z,EAAQpB,GAExB,GADAoB,EAASD,GAAgBC,GACb,CACR,IAAIvW,EAAM,WAAcrC,KAAM4Y,GAC9B,GAAIvW,EAAK,CACL,IAAIxD,EAAQmB,KAAKqC,GACjB,IAAKmV,EACD,OAAO3Y,EAEX,IAAe,IAAX2Y,EACA,OA5F5B,SAAqBhN,GAIjB,IAHA,IAEIgJ,EAFAqG,EAASpb,OAAOC,OAAO,MACvBob,EAAW,mCAERtG,EAAQsG,EAAS3a,KAAKqL,IACzBqP,EAAOrG,EAAM,IAAMA,EAAM,GAE7B,OAAOqG,CACX,CAoFmCE,CAAYlb,GAEvB,GAAI,cAAiB2Y,GACjB,OAAOA,EAAO1Y,KAAKkB,KAAMnB,EAAOwD,GAEpC,GAAI,YAAemV,GACf,OAAOA,EAAOrY,KAAKN,GAEvB,MAAM,IAAI+E,UAAU,yCACxB,CACJ,CACJ,GAEJ,CACIvB,IAAK,MACLxD,MAAO,SAAa+Z,EAAQoB,GAExB,GADApB,EAASD,GAAgBC,GACb,CACR,IAAIvW,EAAM,WAAcrC,KAAM4Y,GAC9B,SAAUvW,GAAS2X,IAAWlB,GAAiB9Y,EAAMA,KAAKqC,GAAMA,EAAK2X,GACzE,CACA,OAAO,CACX,GAEJ,CACI3X,IAAK,SACLxD,MAAO,SAAiB+Z,EAAQoB,GAC5B,IAAI7gB,EAAO6G,KACPia,GAAU,EACd,SAASC,EAAaZ,GAElB,GADAA,EAAUX,GAAgBW,GACb,CACT,IAAIjX,EAAM,WAAclJ,EAAMmgB,IAC1BjX,GAAS2X,IAAWlB,GAAiB3f,EAAMA,EAAKkJ,GAAMA,EAAK2X,YACpD7gB,EAAKkJ,GACZ4X,GAAU,EAElB,CACJ,CAMA,OALI,WAAcrB,GACdA,EAAOlN,QAAQwO,GAEfA,EAAatB,GAEVqB,CACX,GAEJ,CACI5X,IAAK,QACLxD,MAAO,WACH,OAAOJ,OAAOqN,KAAK9L,MAAM0L,QAAQ1L,KAAa,OAAEma,KAAKna,MACzD,GAEJ,CACIqC,IAAK,YACLxD,MAAO,SAAmBub,GACtB,IAAIjhB,EAAO6G,KACP4W,EAAU,CAAC,EAef,OAdA,WAAc5W,MAAM,SAAUnB,EAAO+Z,GACjC,IAAIvW,EAAM,WAAcuU,EAASgC,GACjC,GAAIvW,EAGA,OAFAlJ,EAAKkJ,GAAOwW,GAAeha,eACpB1F,EAAKyf,GAGhB,IAAIyB,EAAaD,EApIrC,SAAsBxB,GAClB,OAAOA,EAAOzK,OAAO1D,cAAczJ,QAAQ,mBAAmB,SAAUsZ,EAAGjb,EAAOmL,GAC9E,OAAOnL,EAAM+Q,cAAgB5F,CACjC,GACJ,CAgI8C+P,CAAa3B,GAAUlY,OAAOkY,GAAQzK,OAC5DkM,IAAezB,UACRzf,EAAKyf,GAEhBzf,EAAKkhB,GAAcxB,GAAeha,GAClC+X,EAAQyD,IAAc,CAC1B,IACOra,IACX,GAEJ,CACIqC,IAAK,SACLxD,MAAO,WAEH,IADA,IAAI2b,EACKC,EAAOzV,UAAUjL,OAAQ2gB,EAAU,IAAI9a,MAAM6a,GAAOxO,EAAO,EAAGA,EAAOwO,EAAMxO,IAChFyO,EAAQzO,GAAQjH,UAAUiH,GAE9B,OAAQuO,EAAoBxa,KAAKuB,aAAa/G,OAAOsD,MAAM0c,EAAmB,CAACxa,MAAMxF,OAAOkgB,GAChG,GAEJ,CACIrY,IAAK,SACLxD,MAAO,SAAgB8b,GACnB,IAAIjgB,EAAM+D,OAAOC,OAAO,MAIxB,OAHA,WAAcsB,MAAM,SAAUnB,EAAO+Z,GACxB,MAAT/Z,IAA2B,IAAVA,IAAoBnE,EAAIke,GAAU+B,GAAa,WAAc9b,GAASA,EAAMqB,KAAK,MAAQrB,EAC9G,IACOnE,CACX,GAEJ,CACI2H,IA2DVhB,OAAOC,SA1DGzC,MAAO,WACH,OAAOJ,OAAO4X,QAAQrW,KAAKoR,UAAU/P,OAAOC,WAChD,GAEJ,CACIe,IAAK,WACLxD,MAAO,WACH,OAAOJ,OAAO4X,QAAQrW,KAAKoR,UAAUnR,KAAI,SAAU4I,GAC/C,IA/SIrD,EAAK/L,EA+SLoU,GA/SKpU,EA+SwB,EA5PrD,SAAyB+L,GACrB,GAAI5F,MAAMC,QAAQ2F,GACd,OAAOA,CACf,CArDWoV,CADapV,EA+SuBqD,IArR/C,SAA+BrD,EAAK/L,GAChC,IAAIqC,EAAK,MAAQ0J,EAAM,KAAO,oBAAsBnE,QAAUmE,EAAInE,OAAOC,WAAakE,EAAI,cAC1F,GAAI,MAAQ1J,EAAI,CACZ,IAAI+e,EAAIC,EAAIC,EAAIC,EAAIC,EAAO,GAAIC,GAAK,EAAIC,GAAK,EAC7C,IACI,GAAIJ,GAAMjf,EAAKA,EAAGgD,KAAK0G,IAAM6J,KAAM,IAAM5V,EAAG,CACxC,GAAIgF,OAAO3C,KAAQA,EACf,OACJof,GAAK,CACT,MACI,OAASA,GAAML,EAAKE,EAAGjc,KAAKhD,IAAKqJ,QAAU8V,EAAK5hB,KAAKwhB,EAAGhc,OAAQoc,EAAKlhB,SAAWN,GAAIyhB,GAAK,GAWjG,CAVE,MAAO7U,GACL8U,GAAK,EAAIL,EAAKzU,CAClB,CAAE,QACE,IACI,IAAK6U,GAAM,MAAQpf,EAAW,SAAMkf,EAAKlf,EAAW,SAAK2C,OAAOuc,KAAQA,GACpE,MAIR,CAHE,QACE,GAAIG,EACA,MAAML,CACd,CACJ,CACA,OAAOG,CACX,CACJ,CAjDmCG,CAAsB5V,EAAK/L,IAK9D,SAAqC6I,EAAG+Y,GACpC,GAAK/Y,EAAL,CAEA,GAAiB,iBAANA,EACP,OAAOkW,GAAkBlW,EAAG+Y,GAChC,IAAIrZ,EAAIvD,OAAO+C,UAAU5C,SAASE,KAAKwD,GAAGzB,MAAM,GAAI,GAGpD,MAFU,WAANmB,GAAkBM,EAAEf,cACpBS,EAAIM,EAAEf,YAAY8B,MACZ,QAANrB,GAAqB,QAANA,EACRpC,MAAM6R,KAAKnP,GACZ,cAANN,GAAqB,2CAA2CpB,KAAKoB,GAC9DwW,GAAkBlW,EAAG+Y,QADhC,CARU,CAUd,CAjBoEC,CAA4B9V,EAAK/L,IAErG,WACI,MAAM,IAAImK,UAAU,4IACxB,CAJ2G2X,IA+SvF,OAD8C1N,EAAM,GACpC,KADgDA,EAAM,EAE1E,IAAG3N,KAAK,KACZ,GAEJ,CACImC,IA4COhB,OAAO+J,YA3Cd3I,IAAK,WACD,MAAO,cACX,IAlPmCyW,EAoPxC,CACC,CACI7W,IAAK,OACLxD,MAAO,SAAc0L,GACjB,OAAOA,aAAiBvK,KAAOuK,EAAQ,IAAIvK,KAAKuK,EACpD,GAEJ,CACIlI,IAAK,SACLxD,MAAO,SAAgB2c,GAEnB,IADA,IAAIC,EAAW,IAAIzb,KAAKwb,GACfE,EAAQ1W,UAAUjL,OAAQ2gB,EAAU,IAAI9a,MAAM8b,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACzGjB,EAAQiB,EAAQ,GAAK3W,UAAU2W,GAKnC,OAHAjB,EAAQhP,SAAQ,SAAUvP,GACtB,OAAOsf,EAASpS,IAAIlN,EACxB,IACOsf,CACX,GAEJ,CACIpZ,IAAK,WACLxD,MAAO,SAAkB+Z,GACrB,IACIgD,GADY5b,KAAK0Y,IAAc1Y,KAAK0Y,IAAc,CAAEkD,UAAW,CAAC,IAC1CA,UACtBpa,EAAYxB,KAAKwB,UACrB,SAASqa,EAAevC,GACpB,IAAIE,EAAUb,GAAgBW,GACzBsC,EAAUpC,KA9MnC,SAAwB9e,EAAKke,GACzB,IAAIkD,EAAe,eAAkB,IAAMlD,GAC3C,CACI,MACA,MACA,OACFlN,SAAQ,SAAUqQ,GAChBtd,OAAO8D,eAAe7H,EAAKqhB,EAAaD,EAAc,CAClDjd,MAAO,SAAemd,EAAMC,EAAMC,GAC9B,OAAOlc,KAAK+b,GAAYjd,KAAKkB,KAAM4Y,EAAQoD,EAAMC,EAAMC,EAC3D,EACA9H,cAAc,GAEtB,GACJ,CAiMwB+H,CAAe3a,EAAW8X,GAC1BsC,EAAUpC,IAAW,EAE7B,CAEA,OADA,WAAcZ,GAAUA,EAAOlN,QAAQmQ,GAAkBA,EAAejD,GACjE5Y,IACX,IAtRJ+U,GACA,GAAkBH,EAAYpT,UAAWuT,GACzCmE,GACA,GAAkBtE,EAAasE,GACnCza,OAAO8D,eAAeqS,EAAa,YAAa,CAAEhF,UAAU,IAqRrDmJ,CACX,CA1MmB,GA2MnBA,GAAaqD,SAAS,CAClB,eACA,iBACA,SACA,kBACA,eAEJ,iBAAoBrD,GAAavX,WACjC,iBAAoBuX,IACpB,YChXe,SAASsD,GAAcC,EAAKpL,GACvC,IAAIF,EAAShR,MAAQ,GACjBsM,EAAU4E,GAAYF,EACtB4F,EAAU,QAAkBtK,EAAQsK,SACpClX,EAAO4M,EAAQ5M,KAKnB,OAJA,WAAc4c,GAAK,SAAmB3Y,GAClCjE,EAAOiE,EAAG7E,KAAKkS,EAAQtR,EAAMkX,EAAQ2F,YAAarL,EAAWA,EAAShL,YAAS7F,EACnF,IACAuW,EAAQ2F,YACD7c,CACX,CCbe,SAAS8c,GAAS3d,GAC7B,SAAUA,IAASA,EAAM4d,WAC7B,CCAA,SAASC,GAActZ,EAAS4N,EAAQC,GACpC,QAAgBjR,KAAiB,MAAXoD,EAAkB,WAAaA,EAAS,gBAAyB4N,EAAQC,GAC/FjR,KAAKqD,KAAO,eAChB,CACA,YAAeqZ,GAAe,GAAY,CAAED,YAAY,IACxD,YCLA,GAAe,wBACJ,CACHE,MAAO,SAAetZ,EAAMxE,EAAO+d,EAAS5K,EAAM6K,EAAQC,GACtD,IAAIC,EAAS,GACbA,EAAO1jB,KAAKgK,EAAO,IAAM3F,mBAAmBmB,IACxC,YAAe+d,IACfG,EAAO1jB,KAAK,WAAa,IAAI2jB,KAAKJ,GAASK,eAE3C,YAAejL,IACf+K,EAAO1jB,KAAK,QAAU2Y,GAEtB,YAAe6K,IACfE,EAAO1jB,KAAK,UAAYwjB,IAEb,IAAXC,GACAC,EAAO1jB,KAAK,UAEhBgD,SAAS0gB,OAASA,EAAO7c,KAAK,KAClC,EACAgd,KAAM,SAAc7Z,GAChB,IAAImQ,EAAQnX,SAAS0gB,OAAOvJ,MAAM,IAAI2J,OAAO,aAAe9Z,EAAO,cACnE,OAAOmQ,EAAQ4J,mBAAmB5J,EAAM,IAAM,IAClD,EACA/X,OAAQ,SAAgB4H,GACpBrD,KAAK2c,MAAMtZ,EAAM,GAAI2Z,KAAKK,MAAQ,MACtC,GAGG,CACHV,MAAO,WACP,EACAO,KAAM,WACF,OAAO,IACX,EACAzhB,OAAQ,WACR,GCnCO,SAAS6hB,GAAcC,EAASC,GAC3C,OAAID,ICFG,8BAA8B3c,KDEP4c,GEHnB,SAAqBD,EAASE,GACzC,OAAOA,EAAcF,EAAQvc,QAAQ,OAAQ,IAAM,IAAMyc,EAAYzc,QAAQ,OAAQ,IAAMuc,CAC/F,CFEeG,CAAYH,EAASC,GAEzBA,CACX,CGLA,SAAe,wBAAgC,WAC3C,IAEIG,EAFAC,EAAO,kBAAkBhd,KAAK6F,UAAUC,WACxCmX,EAAiBxhB,SAASW,cAAc,KAE5C,SAAS8gB,EAAWrd,GAChB,IAAIuC,EAAOvC,EAMX,OALImd,IACAC,EAAexgB,aAAa,OAAQ2F,GACpCA,EAAO6a,EAAe7a,MAE1B6a,EAAexgB,aAAa,OAAQ2F,GAC7B,CACHA,KAAM6a,EAAe7a,KACrB+a,SAAUF,EAAeE,SAAWF,EAAeE,SAAS/c,QAAQ,KAAM,IAAM,GAChFgd,KAAMH,EAAeG,KACrBC,OAAQJ,EAAeI,OAASJ,EAAeI,OAAOjd,QAAQ,MAAO,IAAM,GAC3EF,KAAM+c,EAAe/c,KAAO+c,EAAe/c,KAAKE,QAAQ,KAAM,IAAM,GACpEkd,SAAUL,EAAeK,SACzBC,KAAMN,EAAeM,KACrBC,SAAgD,MAAtCP,EAAeO,SAASC,OAAO,GAAaR,EAAeO,SAAW,IAAMP,EAAeO,SAE7G,CAEA,OADAT,EAAYG,EAAWvhB,OAAOwG,SAASC,MAChC,SAAyBsb,GAC5B,IAAI5E,EAAS,YAAe4E,GAAcR,EAAWQ,GAAcA,EACnE,OAAO5E,EAAOqE,WAAaJ,EAAUI,UAAYrE,EAAOsE,OAASL,EAAUK,IAC/E,CACJ,CA3B+C,GA4BpC,WACH,OAAO,CACX,ECnBJ,SAASO,GAAqBC,EAAUC,GACpC,IAAIC,EAAgB,EAChBC,ECfR,SAAqBC,EAAc3X,GAC/B2X,EAAeA,GAAgB,GAC/B,IAIIC,EAJAC,EAAQ,IAAIlf,MAAMgf,GAClBG,EAAa,IAAInf,MAAMgf,GACvBliB,EAAO,EACPsiB,EAAO,EAGX,OADA/X,OAAc5G,IAAR4G,EAAoBA,EAAM,IACzB,SAAcgY,GACjB,IAAI5B,EAAML,KAAKK,MACX6B,EAAYH,EAAWC,GACtBH,IACDA,EAAgBxB,GAEpByB,EAAMpiB,GAAQuiB,EACdF,EAAWriB,GAAQ2gB,EAGnB,IAFA,IAAI5jB,EAAIulB,EACJG,EAAa,EACV1lB,IAAMiD,GACTyiB,GAAcL,EAAMrlB,KACpBA,GAAQmlB,EAMZ,IAJAliB,GAAQA,EAAO,GAAKkiB,KACPI,IACTA,GAAQA,EAAO,GAAKJ,KAEpBvB,EAAMwB,EAAgB5X,GAA1B,CAGA,IAAImY,EAASF,GAAa7B,EAAM6B,EAChC,OAAOE,EAASrY,KAAKsY,MAAmB,IAAbF,EAAoBC,QAAU/e,CAFzD,CAGJ,CACJ,CDjBuB,CAAY,GAAI,KACnC,OAAO,SAAU1D,GACb,IAAI2iB,EAAS3iB,EAAE2iB,OACXC,EAAQ5iB,EAAE6iB,iBAAmB7iB,EAAE4iB,WAAQlf,EACvCof,EAAgBH,EAASZ,EACzBgB,EAAOf,EAAac,GAExBf,EAAgBY,EAChB,IAAI5f,EAAO,CACP4f,OAAQA,EACRC,MAAOA,EACPI,SAAUJ,EAAQD,EAASC,OAAQlf,EACnCye,MAAOW,EACPC,KAAMA,QAAcrf,EACpBuf,UAAWF,GAAQH,GARTD,GAAUC,GAQmBA,EAAQD,GAAUI,OAAOrf,EAChEwf,MAAOljB,GAEX+C,EAAK+e,EAAmB,WAAa,WAAY,EACjDD,EAAS9e,EACb,CACJ,CAEA,SADsD,oBAAnBogB,gBACK,SAAU9O,GAC9C,OAAO,IAAI+O,SAAQ,SAA4Bpb,EAASF,GACpD,IAGIub,EAHAC,EAAcjP,EAAOtR,KACrBwgB,EAAiB,QAAkBlP,EAAO4F,SAAS2F,YACnD1E,EAAe7G,EAAO6G,aAE1B,SAAS1S,IACD6L,EAAOmP,aACPnP,EAAOmP,YAAYC,YAAYJ,GAE/BhP,EAAOqP,QACPrP,EAAOqP,OAAOC,oBAAoB,QAASN,EAEnD,CACI,cAAiBC,KAAiB,yBAAiC,mCACnEC,EAAejJ,gBAAe,GAElC,IAAIhG,EAAU,IAAI6O,eAClB,GAAI9O,EAAOuP,KAAM,CACb,IAAIC,EAAWxP,EAAOuP,KAAKC,UAAY,GACnCC,EAAWzP,EAAOuP,KAAKE,SAAWhjB,SAASC,mBAAmBsT,EAAOuP,KAAKE,WAAa,GAC3FP,EAAe7W,IAAI,gBAAiB,SAAW7L,KAAKgjB,EAAW,IAAMC,GACzE,CACA,IAAIC,EAAWpD,GAActM,EAAOuM,QAASvM,EAAOvQ,KAGpD,SAASkgB,IACL,GAAK1P,EAAL,CAGA,IAAI2P,EAAkB,QAAkB,0BAA2B3P,GAAWA,EAAQ4P,0BElEnF,SAAgBlc,EAASF,EAAQyM,GAC5C,IAAIkH,EAAiBlH,EAASF,OAAOoH,eAChClH,EAAShL,QAAWkS,IAAkBA,EAAelH,EAAShL,QAG/DzB,EAAO,IAAI,GAAW,mCAAqCyM,EAAShL,OAAQ,CACxE,mBACA,qBACFa,KAAKC,MAAMkK,EAAShL,OAAS,KAAO,GAAIgL,EAASF,OAAQE,EAASD,QAASC,IAL7EvM,EAAQuM,EAOhB,CFkEY4P,EAAO,SAAkBjiB,GACrB8F,EAAQ9F,GACRsG,GACJ,IAAG,SAAiBkB,GAChB5B,EAAO4B,GACPlB,GACJ,GAde,CACXzF,KAFgBmY,GAAiC,SAAjBA,GAA4C,SAAjBA,EAAiD5G,EAAQC,SAA/BD,EAAQ8P,aAG7F7a,OAAQ+K,EAAQ/K,OAChB8a,WAAY/P,EAAQ+P,WACpBpK,QAASgK,EACT5P,OAAQA,EACRC,QAASA,IASbA,EAAU,IAlBV,CAmBJ,CAkCA,GA1DAA,EAAQgQ,KAAKjQ,EAAOsH,OAAOlI,cAAe0D,GAAS4M,EAAU1P,EAAO0C,OAAQ1C,EAAOkQ,mBAAmB,GACtGjQ,EAAQ8G,QAAU/G,EAAO+G,QAwBrB,cAAe9G,EACfA,EAAQ0P,UAAYA,EAEpB1P,EAAQkQ,mBAAqB,WACpBlQ,GAAkC,IAAvBA,EAAQmQ,aAGD,IAAnBnQ,EAAQ/K,QAAkB+K,EAAQoQ,aAAwD,IAAzCpQ,EAAQoQ,YAAYnS,QAAQ,WAGjF3L,WAAWod,EACf,EAEJ1P,EAAQqQ,QAAU,WACTrQ,IAGLxM,EAAO,IAAI,GAAW,kBAAmB,gBAAyBuM,EAAQC,IAC1EA,EAAU,KACd,EACAA,EAAQsQ,QAAU,WACd9c,EAAO,IAAI,GAAW,gBAAiB,eAAwBuM,EAAQC,IACvEA,EAAU,IACd,EACAA,EAAQuQ,UAAY,WAChB,IAAIC,EAAsBzQ,EAAO+G,QAAU,cAAgB/G,EAAO+G,QAAU,cAAgB,mBACxFtB,EAAezF,EAAOyF,cAAgB,GACtCzF,EAAOyQ,sBACPA,EAAsBzQ,EAAOyQ,qBAEjChd,EAAO,IAAI,GAAWgd,EAAqBhL,EAAalB,oBAAsB,aAAuB,gBAAyBvE,EAAQC,IACtIA,EAAU,IACd,EACI,wBAA+B,CAC/B,IAAIyQ,GAAa1Q,EAAO2Q,iBAAmBC,GAAgBlB,KAAc1P,EAAOgH,gBAAkB6J,GAAQ3E,KAAKlM,EAAOgH,gBAClH0J,GACAxB,EAAe7W,IAAI2H,EAAOiH,eAAgByJ,EAElD,MACgBrhB,IAAhB4f,GAA6BC,EAAejJ,eAAe,MACvD,qBAAsBhG,GACtB,WAAciP,EAAe9O,UAAU,SAA0BxL,EAAKvD,GAClE4O,EAAQ6Q,iBAAiBzf,EAAKuD,EAClC,IAEC,eAAkBoL,EAAO2Q,mBAC1B1Q,EAAQ0Q,kBAAoB3Q,EAAO2Q,iBAEnC9J,GAAiC,SAAjBA,IAChB5G,EAAQ4G,aAAe7G,EAAO6G,cAEO,mBAA9B7G,EAAO+Q,oBACd9Q,EAAQ+Q,iBAAiB,WAAYzD,GAAqBvN,EAAO+Q,oBAAoB,IAElD,mBAA5B/Q,EAAOiR,kBAAmChR,EAAQiR,QACzDjR,EAAQiR,OAAOF,iBAAiB,WAAYzD,GAAqBvN,EAAOiR,oBAExEjR,EAAOmP,aAAenP,EAAOqP,UAC7BL,EAAa,SAAoBmC,GACxBlR,IAGLxM,GAAQ0d,GAAUA,EAAOxX,KAAO,IAAI,GAAc,KAAMqG,EAAQC,GAAWkR,GAC3ElR,EAAQmR,QACRnR,EAAU,KACd,EACAD,EAAOmP,aAAenP,EAAOmP,YAAYkC,UAAUrC,GAC/ChP,EAAOqP,SACPrP,EAAOqP,OAAOiC,QAAUtC,IAAehP,EAAOqP,OAAO2B,iBAAiB,QAAShC,KAGvF,IG5JAxM,EH4JIuK,GG5JJvK,EAAQ,4BAA4BrU,KH4JPuhB,KG3JjBlN,EAAM,IAAM,GH4JpBuK,IAAsD,IAA1C,qBAA2BA,GACvCtZ,EAAO,IAAI,GAAW,wBAA0BsZ,EAAW,IAAK,mBAA4B/M,IAGhGC,EAAQsR,KAAKtC,GAAe,KAChC,GACJ,EIjKA,IAAIuC,GAAgB,CAChBC,KCLJ,KDMIC,IAAKA,IAET,WAAcF,IAAe,SAAU7e,EAAI9E,GACvC,GAAI8E,EAAI,CACJ,IACIlF,OAAO8D,eAAeoB,EAAI,OAAQ,CAAE9E,MAAOA,GAE/C,CADE,MAAOlC,GACT,CACA8B,OAAO8D,eAAeoB,EAAI,cAAe,CAAE9E,MAAOA,GACtD,CACJ,IETA,SAAS8jB,GAA6B3R,GAIlC,GAHIA,EAAOmP,aACPnP,EAAOmP,YAAYyC,mBAEnB5R,EAAOqP,QAAUrP,EAAOqP,OAAOiC,QAC/B,MAAM,IAAI,GAAc,KAAMtR,EAEtC,CACe,SAAS6R,GAAgB7R,GAYpC,OAXA2R,GAA6B3R,GAC7BA,EAAO4F,QAAU,QAAkB5F,EAAO4F,SAC1C5F,EAAOtR,KAAO2c,GAAcvd,KAAKkS,EAAQA,EAAO2F,mBAKd,IAJ9B,CACI,OACA,MACA,SACFzH,QAAQ8B,EAAOsH,SACjBtH,EAAO4F,QAAQK,eAAe,qCAAqC,GFN3D,SAAoB6L,GAK5B,IAHA,IACIC,EACArM,EAFsB3c,GAD1B+oB,EAAW,WAAcA,GAAYA,EAAW,CAACA,IACJ/oB,OAGpCN,EAAI,EAAGA,EAAIM,IAChBgpB,EAAgBD,EAASrpB,KACrBid,EAAU,YAAeqM,GAAiBP,GAAcO,EAActY,eAAiBsY,IAFnEtpB,KAM5B,IAAKid,EAAS,CACV,IAAgB,IAAZA,EACA,MAAM,IAAI,GAAW,WAAWlc,OAAOuoB,EAAe,wCAAyC,mBAEnG,MAAM,IAAIlmB,MAAM,cAAiB2lB,GAAeO,GAAiB,YAAavoB,OAAOuoB,EAAe,mCAAsC,oBAAqBvoB,OAAOuoB,EAAe,KACzL,CACA,IAAK,cAAiBrM,GAClB,MAAM,IAAI9S,UAAU,6BAExB,OAAO8S,CACX,CEbcoM,CAAoB9R,EAAO0F,SAAW,WAC7CA,CAAQ1F,GAAQnM,MAAK,SAA6BqM,GAIrD,OAHAyR,GAA6B3R,GAC7BE,EAASxR,KAAO2c,GAAcvd,KAAKkS,EAAQA,EAAO2G,kBAAmBzG,GACrEA,EAAS0F,QAAU,QAAkB1F,EAAS0F,SACvC1F,CACX,IAAG,SAA4B9L,GAQ3B,OAPKoX,GAASpX,KACVud,GAA6B3R,GACzB5L,GAAUA,EAAO8L,WACjB9L,EAAO8L,SAASxR,KAAO2c,GAAcvd,KAAKkS,EAAQA,EAAO2G,kBAAmBvS,EAAO8L,UACnF9L,EAAO8L,SAAS0F,QAAU,QAAkBxR,EAAO8L,SAAS0F,WAG7DmJ,QAAQtb,OAAOW,EAC1B,GACJ,CCvCA,IAAI4d,GAAkB,SAAyBzY,GAC3C,OAAOA,aAAiB,GAAeA,EAAM6G,SAAW7G,CAC5D,EACe,SAAS0Y,GAAYC,EAASC,GACzCA,EAAUA,GAAW,CAAC,EACtB,IAAInS,EAAS,CAAC,EACd,SAASoS,EAAejnB,EAAQyU,EAAQ9C,GACpC,OAAI,iBAAoB3R,IAAW,iBAAoByU,GAC5C,cAAiB,CAAE9C,SAAUA,GAAY3R,EAAQyU,GACjD,iBAAoBA,GACpB,SAAY,CAAC,EAAGA,GAChB,WAAcA,GACdA,EAAO/P,QAEX+P,CACX,CACA,SAASyS,EAAoBlhB,EAAGU,EAAGiL,GAC/B,OAAK,eAAkBjL,GAEX,eAAkBV,QAAvB,EACIihB,OAAe/iB,EAAW8B,EAAG2L,GAF7BsV,EAAejhB,EAAGU,EAAGiL,EAIpC,CACA,SAASwV,EAAiBnhB,EAAGU,GACzB,IAAK,eAAkBA,GACnB,OAAOugB,OAAe/iB,EAAWwC,EAEzC,CACA,SAAS0gB,EAAiBphB,EAAGU,GACzB,OAAK,eAAkBA,GAEX,eAAkBV,QAAvB,EACIihB,OAAe/iB,EAAW8B,GAF1BihB,OAAe/iB,EAAWwC,EAIzC,CACA,SAAS2gB,EAAgBrhB,EAAGU,EAAGF,GAC3B,OAAIA,KAAQwgB,EACDC,EAAejhB,EAAGU,GAClBF,KAAQugB,EACRE,OAAe/iB,EAAW8B,QAD9B,CAGX,CACA,IAAIshB,EAAW,CACXhjB,IAAK6iB,EACLhL,OAAQgL,EACR5jB,KAAM4jB,EACN/F,QAASgG,EACT5M,iBAAkB4M,EAClB5L,kBAAmB4L,EACnBrC,iBAAkBqC,EAClBxL,QAASwL,EACTG,eAAgBH,EAChB5B,gBAAiB4B,EACjB7M,QAAS6M,EACT1L,aAAc0L,EACdvL,eAAgBuL,EAChBtL,eAAgBsL,EAChBtB,iBAAkBsB,EAClBxB,mBAAoBwB,EACpBI,WAAYJ,EACZrL,iBAAkBqL,EAClBpL,cAAeoL,EACfK,eAAgBL,EAChBM,UAAWN,EACXO,UAAWP,EACXQ,WAAYR,EACZpD,YAAaoD,EACbS,WAAYT,EACZU,iBAAkBV,EAClBnL,eAAgBoL,EAChB5M,QAAS,SAAiBzU,EAAGU,GACzB,OAAOwgB,EAAoBL,GAAgB7gB,GAAI6gB,GAAgBngB,IAAI,EACvE,GAOJ,OALA,WAAcpE,OAAOqN,KAAKoX,GAAS1oB,OAAOiE,OAAOqN,KAAKqX,KAAW,SAA4BxgB,GACzF,IAAIiL,EAAQ6V,EAAS9gB,IAAS0gB,EAC1Ba,EAActW,EAAMsV,EAAQvgB,GAAOwgB,EAAQxgB,GAAOA,GACtD,eAAkBuhB,IAAgBtW,IAAU4V,IAAoBxS,EAAOrO,GAAQuhB,EACnF,IACOlT,CACX,CClFA,SAAS,GAAQtW,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CAGA,IAAIypB,GAAa,CAAC,EAClB,CACI,SACA,UACA,SACA,WACA,SACA,UACFzY,SAAQ,SAAUf,EAAMlR,GACtB0qB,GAAWxZ,GAAQ,SAAmBJ,GAClC,OAAO,GAAQA,KAAWI,GAAQ,KAAOlR,EAAI,EAAI,KAAO,KAAOkR,CACnE,CACJ,IACA,IAAIyZ,GAAqB,CAAC,EAC1BD,GAAW1N,aAAe,SAAsB4N,EAAWC,EAASlhB,GAChE,SAASmhB,EAAcC,EAAKC,GACxB,MAAO,uCAAoDD,EAAM,IAAOC,GAAQrhB,EAAU,KAAOA,EAAU,GAC/G,CACA,OAAO,SAAUvE,EAAO2lB,EAAKE,GACzB,IAAkB,IAAdL,EACA,MAAM,IAAI,GAAWE,EAAcC,EAAK,qBAAuBF,EAAU,OAASA,EAAU,KAAM,mBAMtG,OAJIA,IAAYF,GAAmBI,KAC/BJ,GAAmBI,IAAO,EAC1Ble,QAAQC,KAAKge,EAAcC,EAAK,+BAAiCF,EAAU,8CAExED,GAAYA,EAAUxlB,EAAO2lB,EAAKE,EAC7C,CACJ,EAuBA,UACIC,cAvBJ,SAAuBzqB,EAAS0qB,EAAQC,GACpC,GAAyB,WAArB,GAAQ3qB,GACR,MAAM,IAAI,GAAW,4BAA6B,yBAItD,IAFA,IAAI4R,EAAOrN,OAAOqN,KAAK5R,GACnBT,EAAIqS,EAAK/R,OACNN,KAAM,GAAG,CACZ,IAAI+qB,EAAM1Y,EAAKrS,GACX4qB,EAAYO,EAAOJ,GACvB,GAAIH,EAAJ,CACI,IAAIxlB,EAAQ3E,EAAQsqB,GAChB1qB,OAAmBuG,IAAVxB,GAAuBwlB,EAAUxlB,EAAO2lB,EAAKtqB,GAC1D,IAAe,IAAXJ,EACA,MAAM,IAAI,GAAW,UAAY0qB,EAAM,YAAc1qB,EAAQ,wBAGrE,MACA,IAAqB,IAAjB+qB,EACA,MAAM,IAAI,GAAW,kBAAoBL,EAAK,kBAEtD,CACJ,EAGIL,WAAYA,IC/DhB,SAAS,GAAQzpB,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CAMA,SAAS,GAAkByB,EAAQoS,GAC/B,IAAK,IAAI9U,EAAI,EAAGA,EAAI8U,EAAMxU,OAAQN,IAAK,CACnC,IAAIuT,EAAauB,EAAM9U,GACvBuT,EAAWxK,WAAawK,EAAWxK,aAAc,EACjDwK,EAAWoH,cAAe,EACtB,UAAWpH,IACXA,EAAW4C,UAAW,GAC1BnR,OAAO8D,eAAepG,QAYtBkG,IAGR,SAAsBgS,EAAOC,GACzB,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAC/B,OAAOA,EACX,IAAIE,EAAOF,EAAMhT,OAAOmT,aACxB,QAAanU,IAATkU,EAAoB,CACpB,IAAI5O,EAAM4O,EAAKzV,KAAKuV,EAAOC,UAC3B,GAAqB,WAAjB,GAAQ3O,GACR,OAAOA,EACX,MAAM,IAAI/B,UAAU,+CACxB,CACA,OAA4BlD,OAAiB2T,EACjD,CAdc,CAZuCrH,EAAW3K,KAapC,WAAjB,GAAQA,GAAoBA,EAAM3B,OAAO2B,IAbkB2K,EAClE,CAUJ,IACQ3K,CAVR,CAiCA,IAAI,GAAagiB,GAAUF,WACvBW,GAAQ,WACR,SAASA,EAAMC,IAjDnB,SAAyBpQ,EAAUC,GAC/B,KAAMD,aAAoBC,GACtB,MAAM,IAAIhR,UAAU,oCAE5B,CA8CQ,CAAgB5D,KAAM8kB,GACtB9kB,KAAKwW,SAAWuO,EAChB/kB,KAAKglB,aAAe,CAChB/T,QAAS,IAAI,GACbC,SAAU,IAAI,GAEtB,CAzCJ,IAAsB0D,EAAaG,EAmJ/B,OAnJkBH,EA0CLkQ,GA1CkB/P,EA0CX,CAChB,CACI1S,IAAK,UACLxD,MAAO,SAAiBomB,EAAajU,GACN,iBAAhBiU,GACPjU,EAASA,GAAU,CAAC,GACbvQ,IAAMwkB,EAEbjU,EAASiU,GAAe,CAAC,EAG7B,IAeIC,EAfAC,EADJnU,EAASiS,GAAYjjB,KAAKwW,SAAUxF,GACdyF,EAAe0O,EAAQ1O,aAAcyK,EAAmBiE,EAAQjE,iBAAkBtK,EAAUuO,EAAQvO,aACrGvW,IAAjBoW,GACA4N,GAAUM,cAAclO,EAAc,CAClCpB,kBAAmB,GAAWoB,aAAa,GAAoB,SAC/DnB,kBAAmB,GAAWmB,aAAa,GAAoB,SAC/DlB,oBAAqB,GAAWkB,aAAa,GAAoB,WAClE,QAEkBpW,IAArB6gB,GACAmD,GAAUM,cAAczD,EAAkB,CACtC5N,OAAQ,GAAqB,SAC7BW,UAAW,GAAqB,WACjC,GAEPjD,EAAOsH,QAAUtH,EAAOsH,QAAUtY,KAAKwW,SAAS8B,QAAU,OAAO7N,eAEjEya,EAAiBtO,GAAW,SAAYA,EAAQyB,OAAQzB,EAAQ5F,EAAOsH,WACrD,WAAc,CAC5B,SACA,MACA,OACA,OACA,MACA,QACA,WACD,SAAUA,UACF1B,EAAQ0B,EACnB,IACAtH,EAAO4F,QAAU,UAAoBsO,EAAgBtO,GACrD,IAAIwO,EAA0B,GAC1BC,GAAiC,EACrCrlB,KAAKglB,aAAa/T,QAAQvF,SAAQ,SAAoC4Z,GAC/B,mBAAxBA,EAAYnQ,UAA0D,IAAhCmQ,EAAYnQ,QAAQnE,KAGrEqU,EAAiCA,GAAkCC,EAAYpQ,YAC/EkQ,EAAwBG,QAAQD,EAAYtQ,UAAWsQ,EAAYrQ,UACvE,IACA,IAIIvQ,EAJA8gB,EAA2B,GAC/BxlB,KAAKglB,aAAa9T,SAASxF,SAAQ,SAAkC4Z,GACjEE,EAAyBnsB,KAAKisB,EAAYtQ,UAAWsQ,EAAYrQ,SACrE,IAEA,IACInV,EADArG,EAAI,EAER,IAAK4rB,EAAgC,CACjC,IAAII,EAAQ,CACR5C,GAAgB1I,KAAKna,WACrBK,GAMJ,IAJAolB,EAAMF,QAAQznB,MAAM2nB,EAAOL,GAC3BK,EAAMpsB,KAAKyE,MAAM2nB,EAAOD,GACxB1lB,EAAM2lB,EAAM1rB,OACZ2K,EAAUqb,QAAQpb,QAAQqM,GACnBvX,EAAIqG,GACP4E,EAAUA,EAAQG,KAAK4gB,EAAMhsB,KAAMgsB,EAAMhsB,MAE7C,OAAOiL,CACX,CACA5E,EAAMslB,EAAwBrrB,OAC9B,IAAI2rB,EAAY1U,EAEhB,IADAvX,EAAI,EACGA,EAAIqG,GAAK,CACZ,IAAIwE,EAAc8gB,EAAwB3rB,KACtC8K,EAAa6gB,EAAwB3rB,KACzC,IACIisB,EAAYphB,EAAYohB,EAI5B,CAHE,MAAO1f,GACLzB,EAAWzF,KAAKkB,KAAMgG,GACtB,KACJ,CACJ,CACA,IACItB,EAAUme,GAAgB/jB,KAAKkB,KAAM0lB,EAGzC,CAFE,MAAO1f,GACL,OAAO+Z,QAAQtb,OAAOuB,EAC1B,CAGA,IAFAvM,EAAI,EACJqG,EAAM0lB,EAAyBzrB,OACxBN,EAAIqG,GACP4E,EAAUA,EAAQG,KAAK2gB,EAAyB/rB,KAAM+rB,EAAyB/rB,MAEnF,OAAOiL,CACX,GAEJ,CACIrC,IAAK,SACLxD,MAAO,SAAgBmS,GAGnB,OAAO8C,GADQwJ,IADftM,EAASiS,GAAYjjB,KAAKwW,SAAUxF,IACAuM,QAASvM,EAAOvQ,KAC1BuQ,EAAO0C,OAAQ1C,EAAOkQ,iBACpD,MA9IJ,GAAkBtM,EAAYpT,UAAWuT,GAG7CtW,OAAO8D,eAAeqS,EAAa,YAAa,CAAEhF,UAAU,IA8IrDkV,CACX,CAnHY,GAoHZ,WAAc,CACV,SACA,MACA,OACA,YACD,SAA6BxM,GAC5BwM,GAAMtjB,UAAU8W,GAAU,SAAU7X,EAAKuQ,GACrC,OAAOhR,KAAKiR,QAAQgS,GAAYjS,GAAU,CAAC,EAAG,CAC1CsH,OAAQA,EACR7X,IAAKA,EACLf,MAAOsR,GAAU,CAAC,GAAGtR,OAE7B,CACJ,IACA,WAAc,CACV,OACA,MACA,UACD,SAA+B4Y,GAC9B,SAASqN,EAAmBC,GACxB,OAAO,SAAoBnlB,EAAKf,EAAMsR,GAClC,OAAOhR,KAAKiR,QAAQgS,GAAYjS,GAAU,CAAC,EAAG,CAC1CsH,OAAQA,EACR1B,QAASgP,EAAS,CAAE,eAAgB,uBAA0B,CAAC,EAC/DnlB,IAAKA,EACLf,KAAMA,IAEd,CACJ,CACAolB,GAAMtjB,UAAU8W,GAAUqN,IAC1Bb,GAAMtjB,UAAU8W,EAAS,QAAUqN,GAAmB,EAC1D,IACA,YC5MA,SAAS,GAAQjrB,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CAMA,SAAS,GAAkByB,EAAQoS,GAC/B,IAAK,IAAI9U,EAAI,EAAGA,EAAI8U,EAAMxU,OAAQN,IAAK,CACnC,IAAIuT,EAAauB,EAAM9U,GACvBuT,EAAWxK,WAAawK,EAAWxK,aAAc,EACjDwK,EAAWoH,cAAe,EACtB,UAAWpH,IACXA,EAAW4C,UAAW,GAC1BnR,OAAO8D,eAAepG,QAYtBkG,IAGR,SAAsBgS,EAAOC,GACzB,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAC/B,OAAOA,EACX,IAAIE,EAAOF,EAAMhT,OAAOmT,aACxB,QAAanU,IAATkU,EAAoB,CACpB,IAAI5O,EAAM4O,EAAKzV,KAAKuV,EAAOC,UAC3B,GAAqB,WAAjB,GAAQ3O,GACR,OAAOA,EACX,MAAM,IAAI/B,UAAU,+CACxB,CACA,OAA4BlD,OAAiB2T,EACjD,CAdc,CAZuCrH,EAAW3K,KAapC,WAAjB,GAAQA,GAAoBA,EAAM3B,OAAO2B,IAbkB2K,EAClE,CAUJ,IACQ3K,CAVR,CA0BA,IAAIwjB,GAAc,WACd,SAASA,EAAYC,GAEjB,GA3CR,SAAyBnR,EAAUC,GAC/B,KAAMD,aAAoBC,GACtB,MAAM,IAAIhR,UAAU,oCAE5B,CAsCQ,CAAgB5D,KAAM6lB,GACE,mBAAbC,EACP,MAAM,IAAIliB,UAAU,gCAExB,IAAImiB,EACJ/lB,KAAK0E,QAAU,IAAIqb,SAAQ,SAAyBpb,GAChDohB,EAAiBphB,CACrB,IACA,IAAIuN,EAAQlS,KACZA,KAAK0E,QAAQG,MAAK,SAAUsd,GACxB,GAAKjQ,EAAM8T,WAAX,CAGA,IADA,IAAIvsB,EAAIyY,EAAM8T,WAAWjsB,OAClBN,KAAM,GACTyY,EAAM8T,WAAWvsB,GAAG0oB,GAExBjQ,EAAM8T,WAAa,IALT,CAMd,IACAhmB,KAAK0E,QAAQG,KAAO,SAAUohB,GAC1B,IAAIC,EACAxhB,EAAU,IAAIqb,SAAQ,SAAUpb,GAChCuN,EAAMmQ,UAAU1d,GAChBuhB,EAAWvhB,CACf,IAAGE,KAAKohB,GAIR,OAHAvhB,EAAQyd,OAAS,WACbjQ,EAAMkO,YAAY8F,EACtB,EACOxhB,CACX,EACAohB,GAAS,SAAgB1iB,EAAS4N,EAAQC,GAClCiB,EAAM9M,SAGV8M,EAAM9M,OAAS,IAAI,GAAchC,EAAS4N,EAAQC,GAClD8U,EAAe7T,EAAM9M,QACzB,GACJ,CA/DJ,IAAsBwP,EAAaG,EAAYmE,EAgH3C,OAhHkBtE,EAgELiR,EAhEkB9Q,EAgEL,CACtB,CACI1S,IAAK,mBACLxD,MAAO,WACH,GAAImB,KAAKoF,OACL,MAAMpF,KAAKoF,MAEnB,GAEJ,CACI/C,IAAK,YACLxD,MAAO,SAAmB2f,GAClBxe,KAAKoF,OACLoZ,EAASxe,KAAKoF,QAGdpF,KAAKgmB,WACLhmB,KAAKgmB,WAAW3sB,KAAKmlB,GAErBxe,KAAKgmB,WAAa,CAACxH,EAE3B,GAEJ,CACInc,IAAK,cACLxD,MAAO,SAAqB2f,GACxB,GAAKxe,KAAKgmB,WAAV,CAGA,IAAIpqB,EAAQoE,KAAKgmB,WAAW9W,QAAQsP,IACrB,IAAX5iB,GACAoE,KAAKgmB,WAAW5qB,OAAOQ,EAAO,EAHlC,CAKJ,IAjGmCsd,EAmGxC,CAAC,CACI7W,IAAK,SACLxD,MAAO,WACH,IAAIsjB,EAIJ,MAAO,CACHjQ,MAJQ,IAAI2T,GAAY,SAAkBM,GAC1ChE,EAASgE,CACb,IAGIhE,OAAQA,EAEhB,IA7GJpN,GACA,GAAkBH,EAAYpT,UAAWuT,GACzCmE,GACA,GAAkBtE,EAAasE,GACnCza,OAAO8D,eAAeqS,EAAa,YAAa,CAAEhF,UAAU,IA2GrDiW,CACX,CAxFkB,GAyFlB,YCvHA,SAAS,GAAkBrgB,EAAK1F,IACjB,MAAPA,GAAeA,EAAM0F,EAAIzL,UACzB+F,EAAM0F,EAAIzL,QACd,IAAK,IAAIN,EAAI,EAAGgf,EAAO,IAAI7Y,MAAME,GAAMrG,EAAIqG,EAAKrG,IAC5Cgf,EAAKhf,GAAK+L,EAAI/L,GAClB,OAAOgf,CACX,CA8BA,IAAI2N,GAAiB,CACjBC,SAAU,IACVC,mBAAoB,IACpBC,WAAY,IACZC,WAAY,IACZC,GAAI,IACJC,QAAS,IACTC,SAAU,IACVC,4BAA6B,IAC7BC,UAAW,IACXC,aAAc,IACdC,eAAgB,IAChBC,YAAa,IACbC,gBAAiB,IACjBC,OAAQ,IACRC,gBAAiB,IACjBC,iBAAkB,IAClBC,MAAO,IACPC,SAAU,IACVC,YAAa,IACbC,SAAU,IACVC,OAAQ,IACRC,kBAAmB,IACnBC,kBAAmB,IACnBC,WAAY,IACZC,aAAc,IACdC,gBAAiB,IACjBC,UAAW,IACXC,SAAU,IACVC,iBAAkB,IAClBC,cAAe,IACfC,4BAA6B,IAC7BC,eAAgB,IAChBC,SAAU,IACVC,KAAM,IACNC,eAAgB,IAChBC,mBAAoB,IACpBC,gBAAiB,IACjBC,WAAY,IACZC,qBAAsB,IACtBC,oBAAqB,IACrBC,kBAAmB,IACnBC,UAAW,IACXC,mBAAoB,IACpBC,oBAAqB,IACrBC,OAAQ,IACRC,iBAAkB,IAClBC,SAAU,IACVC,gBAAiB,IACjBC,qBAAsB,IACtBC,gBAAiB,IACjBC,4BAA6B,IAC7BC,2BAA4B,IAC5BC,oBAAqB,IACrBC,eAAgB,IAChBC,WAAY,IACZC,mBAAoB,IACpBC,eAAgB,IAChBC,wBAAyB,IACzBC,sBAAuB,IACvBC,oBAAqB,IACrBC,aAAc,IACdC,YAAa,IACbC,8BAA+B,KAEnC1rB,OAAO4X,QAAQ+P,IAAgB1a,SAAQ,SAAU7C,GAC7C,IAzHoBrD,EAAK/L,EAyHrBoU,GAzHqBpU,EAyHQ,EAtErC,SAAyB+L,GACrB,GAAI5F,MAAMC,QAAQ2F,GACd,OAAOA,CACf,CArDW,CADaA,EAyHOqD,IA/F/B,SAA+BrD,EAAK/L,GAChC,IAAIqC,EAAK,MAAQ0J,EAAM,KAAO,oBAAsBnE,QAAUmE,EAAInE,OAAOC,WAAakE,EAAI,cAC1F,GAAI,MAAQ1J,EAAI,CACZ,IAAI+e,EAAIC,EAAIC,EAAIC,EAAIC,EAAO,GAAIC,GAAK,EAAIC,GAAK,EAC7C,IACI,GAAIJ,GAAMjf,EAAKA,EAAGgD,KAAK0G,IAAM6J,KAAM,IAAM5V,EAAG,CACxC,GAAIgF,OAAO3C,KAAQA,EACf,OACJof,GAAK,CACT,MACI,OAASA,GAAML,EAAKE,EAAGjc,KAAKhD,IAAKqJ,QAAU8V,EAAK5hB,KAAKwhB,EAAGhc,OAAQoc,EAAKlhB,SAAWN,GAAIyhB,GAAK,GAWjG,CAVE,MAAO7U,GACL8U,GAAK,EAAIL,EAAKzU,CAClB,CAAE,QACE,IACI,IAAK6U,GAAM,MAAQpf,EAAW,SAAMkf,EAAKlf,EAAW,SAAK2C,OAAOuc,KAAQA,GACpE,MAIR,CAHE,QACE,GAAIG,EACA,MAAML,CACd,CACJ,CACA,OAAOG,CACX,CACJ,CAjDmC,CAAsBzV,EAAK/L,IAK9D,SAAqC6I,EAAG+Y,GACpC,GAAK/Y,EAAL,CAEA,GAAiB,iBAANA,EACP,OAAO,GAAkBA,EAAG+Y,GAChC,IAAIrZ,EAAIvD,OAAO+C,UAAU5C,SAASE,KAAKwD,GAAGzB,MAAM,GAAI,GAGpD,MAFU,WAANmB,GAAkBM,EAAEf,cACpBS,EAAIM,EAAEf,YAAY8B,MACZ,QAANrB,GAAqB,QAANA,EACRpC,MAAM6R,KAAKnP,GACZ,cAANN,GAAqB,2CAA2CpB,KAAKoB,GAC9D,GAAkBM,EAAG+Y,QADhC,CARU,CAUd,CAjBoE,CAA4B7V,EAAK/L,IAErG,WACI,MAAM,IAAImK,UAAU,4IACxB,CAJ2G,IAwHlEvB,EAAMwL,EAAM,GAAIhP,EAAQgP,EAAM,GACnEuY,GAAevnB,GAASwD,CAC5B,IACA,YCjGA,IAAI+nB,GAVJ,SAASC,EAAeC,GACpB,IAAIhe,EAAU,IAAI,GAAMge,GACpB3V,EAAW,EAAK,qBAAyBrI,GAM7C,OALA,UAAaqI,EAAU,aAAiBrI,EAAS,CAAET,YAAY,IAC/D,UAAa8I,EAAUrI,EAAS,KAAM,CAAET,YAAY,IACpD8I,EAASjW,OAAS,SAAgBqmB,GAC9B,OAAOsF,EAAepH,GAAYqH,EAAevF,GACrD,EACOpQ,CACX,CACY0V,CAAe,IAC3BD,GAAMtF,MAAQ,GACdsF,GAAM1N,cAAgB,GACtB0N,GAAMvE,YAAc,GACpBuE,GAAM5N,SAAWA,GACjB4N,GAAMG,QChCe,QDiCrBH,GAAMI,WAAa,GACnBJ,GAAMtZ,WAAa,GACnBsZ,GAAMK,OAASL,GAAM1N,cACrB0N,GAAM7kB,IAAM,SAAamlB,GACrB,OAAO3K,QAAQxa,IAAImlB,EACvB,EACAN,GAAMO,OEtCS,SAAgBhrB,GAC3B,OAAO,SAAc6F,GACjB,OAAO7F,EAAS7B,MAAM,KAAM0H,EAChC,CACJ,EFmCA4kB,GAAMQ,aGtCS,SAAsBC,GACjC,OAAO,YAAeA,KAAqC,IAAzBA,EAAQD,YAC9C,EHqCAR,GAAMnH,YAAcA,GACpBmH,GAAMrR,aAAe,GACrBqR,GAAMU,WAAa,SAAUvgB,GACzB,OAAO,GAAe,cAAiBA,GAAS,IAAI9I,SAAS8I,GAASA,EAC1E,EACA6f,GAAMhE,eAAiB,GACvBgE,GAAe,QAAIA,GACnB,YI/CA,IACI7H,KAAM,SAAcroB,GAChB,QAAWA,EAAQuG,IAAKvG,EAAQwF,MAAMmF,MAAK,SAAUqM,GACjD,IAAIxR,EAAOwR,EAASxR,KACfA,GAAsB,IAAdA,EAAKqR,KAIlB7W,EAAQ6wB,SAAW7wB,EAAQ6wB,QAAQrrB,GAH/BxF,EAAQ8L,OAAS9L,EAAQ8L,MAAMtG,GAAQA,EAAKsrB,IAIpD,IAAU,OAAE,SAAUruB,GAClB2J,QAAQN,MAAMrJ,GACdzC,EAAQ8L,OAAS9L,EAAQ8L,OAC7B,GACJ,EACAkX,KAAM,SAAchjB,GAChB,OAAUA,EAAQuG,KAAKoE,MAAK,SAAUqM,GAClC,IAAIxR,EAAOwR,EAASxR,KACfA,GAAsB,IAAdA,EAAKqR,KAIlB7W,EAAQ6wB,SAAW7wB,EAAQ6wB,QAAQrrB,EAAKA,KAAKO,KAAI,SAAU5F,GACvD,MAAO,CACH4wB,KAAM5wB,EAAK,GACXsQ,KAAMtQ,EAAK,GACXyP,MAAOzP,EAAK,GACZ6wB,OAAQ7wB,EAAK,GACb8wB,KAAM9wB,EAAK,GAEnB,KAXIH,EAAQ8L,OAAS9L,EAAQ8L,MAAMtG,GAAQA,EAAKsrB,IAYpD,IAAU,OAAE,SAAUruB,GAClB2J,QAAQN,MAAMrJ,GACdzC,EAAQ8L,OAAS9L,EAAQ8L,OAC7B,GACJ,GCnCJ,SAAS,GAAQtL,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CCPA,SAAS0wB,GAAKC,GACV,IAAIC,EAAQtrB,KACZA,KAAKqrB,KAAOA,EACZrrB,KAAKurB,aAAevrB,KAAKqrB,KAAKG,SAAS,KAAOxrB,KAAKqrB,KAAKrb,MAAM,KAAK,GAAKhQ,KAAKqrB,KAC7ErrB,KAAKyrB,KAAO,SAAUppB,GAElB,OADAA,EAAMA,EAAIoI,cACNihB,GAAQJ,EAAMD,OAASK,GAAQJ,EAAMD,MAAMhpB,GACpCqpB,GAAQJ,EAAMD,MAAMhpB,GACpBqpB,GAAQJ,EAAMC,eAAiBG,GAAQJ,EAAMC,cAAclpB,GAC3DqpB,GAAQJ,EAAMC,cAAclpB,GAC5BspB,GAAStpB,GACTspB,GAAStpB,GAETA,CAEf,CACJ,CACA,IAAIspB,GAAW,CACX,kBAAmB,qBACnBpjB,IAAK,MACLqjB,OAAQ,SACRC,QAAS,UACT,sBAAuB,2BACvB,eAAgB,eAChB,mBAAoB,mBACpB,gBAAiB,gBACjBC,KAAM,OACNC,MAAO,QACP,kBAAmB,sBACnBC,OAAQ,SACR,uBAAwB,gCACxB,oBAAqB,oBACrB,mBAAoB,mBACpB,eAAgB,eAChB,eAAgB,oBAChB,iBAAkB,sBAClB,sBAAuB,sBACvB,oBAAqB,0BACrB,mBAAoB,yBACpBC,GAAI,UACJC,IAAK,WACL,oBAAqB,oBACrB,eAAgB,eAChBC,QAAS,UACTC,WAAY,cACZ,iBAAkB,kBAClB7J,KAAM,OACN8J,WAAY,aACZC,QAAS,UACTC,WAAY,aACZC,SAAU,WACVC,IAAK,MACL,YAAa,gBACb,YAAa,gBACbC,OAAQ,SACRC,KAAM,OACN,aAAc,cAEdjB,GAAU,CACVkB,GAAIjB,GACJ,QAAS,CACL,kBAAmB,QACnBpjB,IAAK,KACLqjB,OAAQ,KACRC,QAAS,KACT,sBAAuB,YACvB,eAAgB,OAChB,mBAAoB,UACpB,gBAAiB,iBACjBC,KAAM,OACNC,MAAO,KACP,kBAAmB,QACnBC,OAAQ,KACR,uBAAwB,aACxB,oBAAqB,SACrB,mBAAoB,SACpB,eAAgB,OAChB,eAAgB,SAChB,iBAAkB,SAClB,sBAAuB,SACvB,oBAAqB,cACrB,mBAAoB,cACpBC,GAAI,UACJC,IAAK,UACL,oBAAqB,OACrB,eAAgB,OAChBC,QAAS,KACTC,WAAY,KACZ,iBAAkB,OAClB7J,KAAM,KACN8J,WAAY,KACZC,QAAS,OACTC,WAAY,aACZC,SAAU,KACVC,IAAK,KACL,YAAa,OACb,YAAa,OACbC,OAAQ,KACRC,KAAM,KACN,aAAc,UAElB,QAAS,CACL,kBAAmB,QACnBpkB,IAAK,KACLqjB,OAAQ,KACRC,QAAS,KACT,sBAAuB,gBACvB,eAAgB,OAChB,mBAAoB,UACpB,gBAAiB,iBACjBC,KAAM,OACNC,MAAO,KACP,kBAAmB,QACnBC,OAAQ,KACR,uBAAwB,YACxB,oBAAqB,SACrB,mBAAoB,SACpB,eAAgB,OAChB,eAAgB,SAChB,iBAAkB,SAClB,sBAAuB,SACvB,oBAAqB,cACrB,mBAAoB,cACpBC,GAAI,UACJC,IAAK,UACL,oBAAqB,OACrB,eAAgB,OAChBC,QAAS,KACTC,WAAY,MACZ,iBAAkB,QAClB7J,KAAM,KACN8J,WAAY,KACZC,QAAS,OACTC,WAAY,aACZC,SAAU,KACVC,IAAK,KACL,YAAa,OACb,YAAa,OACbC,OAAQ,KACRC,KAAM,KACN,aAAc,UAElB,QAAS,CACL,kBAAmB,sBACnBpkB,IAAK,MACLqjB,OAAQ,SACRC,QAAS,UACT,sBAAuB,6BACvB,eAAgB,MAChB,mBAAoB,UACpB,gBAAiB,aACjBC,KAAM,KACNC,MAAO,KACP,kBAAmB,eACnBC,OAAQ,KACR,uBAAwB,kBACxB,oBAAqB,aACrB,mBAAoB,aACpB,eAAgB,aAChB,eAAgB,mBAChB,iBAAkB,uBAClB,sBAAuB,sBACvB,eAAgB,GAChB,cAAe,GACf,oBAAqB,WACrB,mBAAoB,aACpBC,GAAI,WACJC,IAAK,UACL,oBAAqB,cACrB,eAAgB,cAChBC,QAAS,KACTC,WAAY,QACZ,iBAAkB,WAClB7J,KAAM,MACN8J,WAAY,QACZC,QAAS,QACTC,WAAY,aACZC,SAAU,KACVC,IAAK,KACL,YAAa,SACb,YAAa,SACbI,OAAQ,KACRF,KAAM,MACN,aAAc,UAElBG,GAAI,CACA,kBAAmB,kBACnBvkB,IAAK,OACLqjB,OAAQ,QACRC,QAAS,UACT,sBAAuB,6CACvB,eAAgB,iBAChB,mBAAoB,mBACpB,gBAAiB,eACjBC,KAAM,cACNC,MAAO,kBACP,kBAAmB,0BACnBC,OAAQ,SACR,uBAAwB,iCACxB,oBAAqB,0BACrB,mBAAoB,wBACpB,eAAgB,gBAChB,eAAgB,wCAChB,iBAAkB,sCAClB,sBAAuB,2CACvB,oBAAqB,0BACrB,mBAAoB,6BACpBC,GAAI,gBACJC,IAAK,cACL,oBAAqB,wBACrB,eAAgB,gBAChBC,QAAS,gBACTC,WAAY,WACZ,iBAAkB,mBAClB7J,KAAM,SACN8J,WAAY,aACZC,QAAS,UACT,YAAa,mBACbC,WAAY,aACZC,SAAU,aACVC,IAAK,aACL,YAAa,uBACbC,OAAQ,aACRC,KAAM,OACN,aAAc,e,yXC1LtB,SApBY,CACRI,KAAM,KACNC,MAAO,KACPC,SAAU,KACVC,WAAY,KACZC,UAAW,KACXC,KAAM,KACNC,QAAS,KACTlB,QAAS,KACTmB,MAAO,KACPC,QAAS,KACTC,WAAY,KACZjL,KAAM,KACNkL,SAAU,KACVC,OAAQ,KACRlB,SAAU,KACVmB,QAAS,KACTrB,QAAS,KACTC,WAAY,M,yBCpChB,SAAS,GAAQ7xB,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CAMA,SAAS,GAAkByB,EAAQoS,GAC/B,IAAK,IAAI9U,EAAI,EAAGA,EAAI8U,EAAMxU,OAAQN,IAAK,CACnC,IAAIuT,EAAauB,EAAM9U,GACvBuT,EAAWxK,WAAawK,EAAWxK,aAAc,EACjDwK,EAAWoH,cAAe,EACtB,UAAWpH,IACXA,EAAW4C,UAAW,GAC1BnR,OAAO8D,eAAepG,QAYtBkG,IAGR,SAAsBgS,EAAOC,GACzB,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAC/B,OAAOA,EACX,IAAIE,EAAOF,EAAMhT,OAAOmT,aACxB,QAAanU,IAATkU,EAAoB,CACpB,IAAI5O,EAAM4O,EAAKzV,KAAKuV,EAAOC,UAC3B,GAAqB,WAAjB,GAAQ3O,GACR,OAAOA,EACX,MAAM,IAAI/B,UAAU,+CACxB,CACA,OAA4BlD,OAAiB2T,EACjD,CAdc,CAZuCrH,EAAW3K,KAapC,WAAjB,GAAQA,GAAoBA,EAAM3B,OAAO2B,IAbkB2K,EAClE,CAUJ,IACQ3K,CAVR,CA4BA,IAAIurB,GAAW,WACX,SAASA,EAAS1zB,IA3CtB,SAAyBya,EAAUC,GAC/B,KAAMD,aAAoBC,GACtB,MAAM,IAAIhR,UAAU,oCAE5B,CAwCQ,CAAgB5D,KAAM4tB,GACtB5tB,KAAK6tB,UAAY3zB,EAAQ2zB,UACzB7tB,KAAK9F,QAAUA,EAAQA,QACvB8F,KAAKpE,MAAQ1B,EAAQ0B,MACrBoE,KAAKyrB,KAAOvxB,EAAQuxB,KACpBzrB,KAAK8tB,MACT,CAnCJ,IAAsBlZ,EAAaG,EAAYmE,EAgJ3C,OAhJkBtE,EAoCLgZ,EApC8B1U,EAmInC,CAAC,CACD7W,IAAK,YACLxD,MAAO,SAAmBssB,EAAM4C,EAASz0B,GACrC,IAAI00B,EAAS3xB,SAASW,cAAc,OAOpC,OANAgxB,EAAOC,UAAUC,IAAI,kBACrBF,EAAO9xB,MAAM6xB,QAAUA,EACvBC,EAAOG,UAAYhD,EACf7xB,IACA00B,EAAO10B,GAAK,kBAAkBkB,OAAOlB,IAElC00B,CACX,KA9IuBjZ,EAoCR,CAAC,CAChB1S,IAAK,OACLxD,MAAO,WACHmB,KAAK6tB,UAAUO,UAAY,KAAU,CACjCl0B,QAAS8F,KAAK9F,QACd0B,MAAOoE,KAAKpE,MACZ6vB,KAAMzrB,KAAKyrB,KACX4C,MAAO,GACPC,OAAQ,WACRC,MAAO,CACHhnB,SAAS,EACTinB,IAAKxuB,KAAK9F,QAAQq0B,MAAMC,IACxBnC,WAAYrsB,KAAK9F,QAAQmyB,WACzBC,WAAS,YAAmB,aAAiBtsB,KAAK9F,QAAQoyB,QAC1DC,WAAYvsB,KAAK9F,QAAQqyB,WACzBkC,QAASzuB,KAAK9F,QAAQu0B,QACtBhuB,IAAKT,KAAK9F,QAAQq0B,MAAM9tB,IACxB+rB,SAAUxsB,KAAK9F,QAAQsyB,YAG/BxsB,KAAK0uB,UAAY1uB,KAAK6tB,UAAUvxB,cAAc,6BAC9C0D,KAAK2uB,cAAgB3uB,KAAK6tB,UAAUvxB,cAAc,uBAClD0D,KAAK4uB,kBAAoB5uB,KAAK6tB,UAAUvxB,cAAc,4BACtD0D,KAAK6uB,aAAe7uB,KAAK6tB,UAAUvxB,cAAc,mBACjD0D,KAAK8uB,iBAAmB9uB,KAAK6tB,UAAUvxB,cAAc,wBACrD0D,KAAK+uB,WAAa/uB,KAAK6tB,UAAUvxB,cAAc,8CAC/C0D,KAAKgvB,UAAYhvB,KAAK6tB,UAAUvxB,cAAc,mBAC9C0D,KAAKivB,UAAYjvB,KAAK6tB,UAAUvxB,cAAc,mBAC9C0D,KAAKkvB,cAAgBlvB,KAAK6tB,UAAUvxB,cAAc,qBAClD0D,KAAKmvB,cAAgBnvB,KAAK6tB,UAAUvxB,cAAc,qBAClD0D,KAAKovB,QAAUpvB,KAAK6tB,UAAUvxB,cAAc,oBAC5C0D,KAAKqvB,eAAiBrvB,KAAK6tB,UAAUvxB,cAAc,uBACnD0D,KAAKuuB,MAAQvuB,KAAK6tB,UAAUvxB,cAAc,0BAC1C0D,KAAKsvB,MAAQtvB,KAAK6tB,UAAUvxB,cAAc,uBAC1C0D,KAAKuvB,WAAavvB,KAAK6tB,UAAUvxB,cAAc,sBAC/C0D,KAAKwvB,iBAAmBxvB,KAAK6tB,UAAUvxB,cAAc,wBACrD0D,KAAKyvB,UAAYzvB,KAAK6tB,UAAUvxB,cAAc,uBAC9C0D,KAAK0vB,eAAiB1vB,KAAK6tB,UAAUvxB,cAAc,4BACnD0D,KAAK2vB,MAAQ3vB,KAAK6tB,UAAUvxB,cAAc,kBAC1C0D,KAAK4vB,cAAgB5vB,KAAK6tB,UAAUvxB,cAAc,yBAClD0D,KAAK6vB,WAAa7vB,KAAK6tB,UAAUvxB,cAAc,wBAC/C0D,KAAK8vB,KAAO9vB,KAAK6tB,UAAUvxB,cAAc,iBACzC0D,KAAK8rB,KAAO9rB,KAAK6tB,UAAUvxB,cAAc,yBACzC0D,KAAK+vB,WAAa/vB,KAAK6tB,UAAUvxB,cAAc,uDAC/C0D,KAAKgwB,YAAchwB,KAAK6tB,UAAUvxB,cAAc,4BAChD0D,KAAKiwB,kBAAoBjwB,KAAK6tB,UAAUvxB,cAAc,kCACtD0D,KAAKkwB,eAAiBlwB,KAAK6tB,UAAUvxB,cAAc,+BACnD0D,KAAKmwB,qBAAuBnwB,KAAK6tB,UAAUvxB,cAAc,qCACzD0D,KAAK+rB,MAAQ/rB,KAAK6tB,UAAUvxB,cAAc,0BAC1C0D,KAAKowB,UAAYpwB,KAAK6tB,UAAUwC,iBAAiB,+BACjDrwB,KAAKswB,kBAAoBtwB,KAAK6tB,UAAUvxB,cAAc,8BACtD0D,KAAKuwB,sBAAwBvwB,KAAK6tB,UAAUvxB,cAAc,wBAC1D0D,KAAKwwB,0BAA4BxwB,KAAK6tB,UAAUvxB,cAAc,6BAC9D0D,KAAKywB,kBAAoBzwB,KAAK6tB,UAAUvxB,cAAc,4BACtD0D,KAAK0wB,MAAQ1wB,KAAK6tB,UAAUvxB,cAAc,kBAC1C0D,KAAK2wB,WAAa3wB,KAAK6tB,UAAUvxB,cAAc,uBAC/C0D,KAAK4wB,aAAe5wB,KAAK6tB,UAAUvxB,cAAc,0BACjD0D,KAAK6wB,cAAgB7wB,KAAK6tB,UAAUvxB,cAAc,yBAClD0D,KAAK8wB,kBAAoB9wB,KAAK6tB,UAAUvxB,cAAc,gCACtD0D,KAAK+wB,qBAAuB/wB,KAAK6tB,UAAUvxB,cAAc,iCACzD0D,KAAKgxB,mBAAqBhxB,KAAK6tB,UAAUvxB,cAAc,sCACvD0D,KAAKixB,kBAAoBjxB,KAAK6tB,UAAUvxB,cAAc,sBACtD0D,KAAKkxB,gBAAkBlxB,KAAK6tB,UAAUvxB,cAAc,2BACpD0D,KAAKmxB,uBAAyBnxB,KAAK6tB,UAAUvxB,cAAc,kCAC3D0D,KAAKoxB,kBAAoBpxB,KAAK6tB,UAAUvxB,cAAc,sBACtD0D,KAAKqxB,cAAgBrxB,KAAK6tB,UAAUvxB,cAAc,yBAClD0D,KAAKsxB,KAAOtxB,KAAK6tB,UAAUvxB,cAAc,iBACzC0D,KAAKuxB,SAAWvxB,KAAK6tB,UAAUwC,iBAAiB,sBAChDrwB,KAAKwxB,YAAcxxB,KAAK6tB,UAAUvxB,cAAc,yBAChD0D,KAAKyxB,aAAezxB,KAAK6tB,UAAUvxB,cAAc,wBACjD0D,KAAK0xB,cAAgB1xB,KAAK6tB,UAAUvxB,cAAc,yBAClD0D,KAAK2xB,iBAAmB3xB,KAAK6tB,UAAUvxB,cAAc,4BACrD0D,KAAK4xB,eAAiB5xB,KAAK6tB,UAAUvxB,cAAc,0BACnD0D,KAAK6xB,oBAAsB7xB,KAAK6tB,UAAUvxB,cAAc,gDACxD0D,KAAK8xB,gBAAkB9xB,KAAK6tB,UAAUvxB,cAAc,2BACpD0D,KAAK+xB,aAAe/xB,KAAK6tB,UAAUvxB,cAAc,0BACjD0D,KAAKgyB,cAAgBhyB,KAAK6tB,UAAUwC,iBAAiB,2BACrDrwB,KAAKwsB,SAAWxsB,KAAK6tB,UAAUvxB,cAAc,qBAC7C0D,KAAKiyB,SAAWjyB,KAAK6tB,UAAUvxB,cAAc,qBAC7C0D,KAAKkyB,cAAgBlyB,KAAK6tB,UAAUvxB,cAAc,yBAClD0D,KAAKmyB,WAAanyB,KAAK6tB,UAAUvxB,cAAc,wBAC/C0D,KAAKoyB,QAAUpyB,KAAK6tB,UAAUvxB,cAAc,qBAC5C0D,KAAKqyB,WAAaryB,KAAK6tB,UAAUvxB,cAAc,wBAC/C0D,KAAKsyB,UAAYtyB,KAAK6tB,UAAUvxB,cAAc,uBAC9C0D,KAAKuyB,eAAiBvyB,KAAK6tB,UAAUvxB,cAAc,6BACnD0D,KAAKwyB,YAAcxyB,KAAK6tB,UAAUvxB,cAAc,kEAChD0D,KAAKyyB,QAAUzyB,KAAK6tB,UAAUvxB,cAAc,8DAC5C0D,KAAK0yB,SAAW1yB,KAAK6tB,UAAUvxB,cAAc,+DAC7C0D,KAAK2yB,QAAU3yB,KAAK6tB,UAAUvxB,cAAc,8DAC5C0D,KAAK4yB,eAAiB5yB,KAAK6tB,UAAUvxB,cAAc,qEACnD0D,KAAK6yB,aAAe7yB,KAAK6tB,UAAUvxB,cAAc,mEACjD0D,KAAK8yB,cAAgB9yB,KAAK6tB,UAAUvxB,cAAc,qEAClD0D,KAAK+yB,eAAiB/yB,KAAK6tB,UAAUvxB,cAAc,sEACnD0D,KAAKgzB,kBAAoBhzB,KAAK6tB,UAAUvxB,cAAc,wEAC1D,MAhIJ,GAAkBsY,EAAYpT,UAAWuT,GACzCmE,GACA,GAAkBtE,EAAasE,GACnCza,OAAO8D,eAAeqS,EAAa,YAAa,CAAEhF,UAAU,IA2IrDge,CACX,CAtHe,GAuHf,YCzKA,SAAS,GAAQlzB,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CAMA,SAAS,GAAkByB,EAAQoS,GAC/B,IAAK,IAAI9U,EAAI,EAAGA,EAAI8U,EAAMxU,OAAQN,IAAK,CACnC,IAAIuT,EAAauB,EAAM9U,GACvBuT,EAAWxK,WAAawK,EAAWxK,aAAc,EACjDwK,EAAWoH,cAAe,EACtB,UAAWpH,IACXA,EAAW4C,UAAW,GAC1BnR,OAAO8D,eAAepG,QAYtBkG,IAGR,SAAsBgS,EAAOC,GACzB,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAC/B,OAAOA,EACX,IAAIE,EAAOF,EAAMhT,OAAOmT,aACxB,QAAanU,IAATkU,EAAoB,CACpB,IAAI5O,EAAM4O,EAAKzV,KAAKuV,EAAOC,UAC3B,GAAqB,WAAjB,GAAQ3O,GACR,OAAOA,EACX,MAAM,IAAI/B,UAAU,+CACxB,CACA,OAA4BlD,OAAiB2T,EACjD,CAdc,CAZuCrH,EAAW3K,KAapC,WAAjB,GAAQA,GAAoBA,EAAM3B,OAAO2B,IAbkB2K,EAClE,CAUJ,IACQ3K,CAVR,CA0BA,IAAI4wB,GAAU,WACV,SAASA,EAAQ/4B,IAzCrB,SAAyBya,EAAUC,GAC/B,KAAMD,aAAoBC,GACtB,MAAM,IAAIhR,UAAU,oCAE5B,CAsCQ,CAAgB5D,KAAMizB,GACtBjzB,KAAK9F,QAAUA,EACf8F,KAAKkzB,OAASlzB,KAAK9F,QAAQg5B,OAC3BlzB,KAAK6tB,UAAY7tB,KAAK9F,QAAQ2zB,UAC9B7tB,KAAKmzB,UAAY,CACb7F,MAAO,CAAC,EACR/kB,IAAK,CAAC,EACNqjB,OAAQ,CAAC,GAEb5rB,KAAKozB,SAAW,EAChBpzB,KAAKqzB,IAAM,GACXrzB,KAAKszB,SAAU,EACftzB,KAAKuzB,SAAWvzB,KAAK9F,QAAQ6zB,QAC7B/tB,KAAKwzB,OAASxzB,KAAK9F,QAAQs5B,OAC3BxzB,KAAKyzB,UAAYzzB,KAAK9F,QAAQu5B,UAC9BzzB,KAAK0zB,SAAS,IACd1zB,KAAK2zB,MACT,CA5CJ,IAAsB/e,EAAaG,EAkZ/B,OAlZkBH,EA6CLqe,EA7CkBle,EA6CT,CAClB,CACI1S,IAAK,OACLxD,MAAO,WACH,IACI+0B,EADAtI,EAAQtrB,KAGR4zB,EADA5zB,KAAK9F,QAAQmB,IAAIw4B,QACR,GAAGr5B,OAAOwF,KAAK9F,QAAQmB,IAAIy4B,QAAS,WAAWt5B,OAAOwF,KAAK9F,QAAQmB,IAAI/B,GAAI,SAASkB,OAAOwF,KAAK9F,QAAQmB,IAAIw4B,SAE5G,GAAGr5B,OAAOwF,KAAK9F,QAAQmB,IAAIy4B,QAAS,WAAWt5B,OAAOwF,KAAK9F,QAAQmB,IAAI/B,IAEpF,IAAIy6B,GAAa/zB,KAAK9F,QAAQmB,IAAI24B,UAAY,IAAInzB,MAAM,GACxDkzB,EAAU16B,KAAKu6B,GACf5zB,KAAKwzB,QAAUxzB,KAAKwzB,OAAOS,QAAQ,qBAAsBF,GACzD/zB,KAAKk0B,kBAAkBH,GAAW,SAAUI,GACxC7I,EAAM+H,IAAM,GAAG74B,OAAOsD,MAAM,GAAIq2B,GAASC,MAAK,SAAUjyB,EAAGU,GACvD,OAAOV,EAAE8oB,KAAOpoB,EAAEooB,IACtB,IACA1uB,OAAO83B,uBAAsB,WACzB/I,EAAMgJ,OACV,IACAhJ,EAAMpxB,QAAQyF,WACd2rB,EAAMkI,QAAUlI,EAAMkI,OAAOS,QAAQ,mBACzC,GACJ,GAEJ,CACI5xB,IAAK,SACLxD,MAAO,SAAgB01B,GACnBv0B,KAAK9F,QAAQmB,IAAMk5B,EACnBv0B,KAAKqzB,IAAM,GACXrzB,KAAKw0B,QACLx0B,KAAK2zB,MACT,GAEJ,CACItxB,IAAK,oBACLxD,MAAO,SAA2Bk1B,EAAWp0B,GAwBzC,IAvBA,IAAI80B,EAASz0B,KACTm0B,EAAU,GACVO,EAAY,EACZC,EAAQ,SAAel7B,GACvBg7B,EAAOv6B,QAAQ06B,WAAW1X,KAAK,CAC3Bzc,IAAKszB,EAAUt6B,GACfsxB,QAAS,SAAiBrrB,GACtBy0B,EAAQ16B,GAAKiG,IACXg1B,IACgBX,EAAUh6B,QACxB4F,EAASw0B,EAEjB,EACAnuB,MAAO,SAAeglB,GAClByJ,EAAOv6B,QAAQ8L,MAAMglB,GAAOyJ,EAAOv6B,QAAQuxB,KAAK,mBAChD0I,EAAQ16B,GAAK,KACXi7B,IACgBX,EAAUh6B,QACxB4F,EAASw0B,EAEjB,GAER,EACS16B,EAAI,EAAGA,EAAIs6B,EAAUh6B,SAAUN,EACpCk7B,EAAMl7B,EAEd,GAEJ,CACI4I,IAAK,OACLxD,MAAO,SAAcw0B,EAAK1zB,GACtB,IAAIk1B,EAAS70B,KACT80B,EAAc,CACd5iB,MAAOlS,KAAK9F,QAAQmB,IAAI6W,MACxB5Y,GAAI0G,KAAK9F,QAAQmB,IAAI/B,GACrB4xB,OAAQlrB,KAAK9F,QAAQmB,IAAI05B,KACzB9J,KAAMjrB,KAAK9F,QAAQ+wB,OACnBE,KAAMkI,EAAIlI,KACVrhB,MAAOupB,EAAIvpB,MACXa,KAAM0oB,EAAI1oB,MAEd3K,KAAK9F,QAAQ06B,WAAWrS,KAAK,CACzB9hB,IAAKT,KAAK9F,QAAQmB,IAAIy4B,QAAU,MAChCp0B,KAAMo1B,EACN/J,QAASprB,EACTqG,MAAO,SAAeglB,GAClB6J,EAAO36B,QAAQ8L,MAAMglB,GAAO6J,EAAO36B,QAAQuxB,KAAK,kBACpD,IAEJzrB,KAAKqzB,IAAIj4B,OAAO4E,KAAKozB,SAAU,EAAG0B,GAClC90B,KAAKozB,WACL,IAAIhE,EAAU,CACVjE,KAAMnrB,KAAKg1B,WAAWF,EAAY3J,MAClCrhB,MAAOgrB,EAAYhrB,MACnBa,KAAMmqB,EAAYnqB,KAClBsqB,OAAQ,aAAaz6B,OAAOwF,KAAK9F,QAAQg7B,cAE7Cl1B,KAAKm1B,KAAK/F,GACVpvB,KAAKwzB,QAAUxzB,KAAKwzB,OAAOS,QAAQ,eAAgBa,EACvD,GAEJ,CACIzyB,IAAK,QACLxD,MAAO,WACH,IAAIu2B,EAASp1B,KACb,GAAIA,KAAKqzB,IAAIt5B,SAAWiG,KAAKq1B,QAAUr1B,KAAKszB,QAAS,CAGjD,IAFA,IAAIj5B,EAAO2F,KAAKqzB,IAAIrzB,KAAKozB,UACrBC,EAAM,GACHh5B,GAAQ2F,KAAK9F,QAAQ+wB,OAASqK,WAAWj7B,EAAK4wB,OACjDoI,EAAIh6B,KAAKgB,GACTA,EAAO2F,KAAKqzB,MAAMrzB,KAAKozB,UAE3BpzB,KAAKm1B,KAAK9B,EACd,CACA92B,OAAO83B,uBAAsB,WACzBe,EAAOd,OACX,GACJ,GAEJ,CACIjyB,IAAK,UACLxD,MAAO,SAAiB02B,GACpB,QAAmBl1B,IAAfk1B,EAA0B,CAE1B,IADA,IAAIC,EAAQx1B,KAAK6tB,UAAU4H,uBAAuB,wBACzCh8B,EAAI,EAAGA,EAAI+7B,EAAMz7B,OAAQN,IAC9B+7B,EAAM/7B,GAAGyC,MAAM6xB,QAAUwH,EAE7Bv1B,KAAKuzB,SAAWgC,EAChBv1B,KAAKwzB,QAAUxzB,KAAKwzB,OAAOS,QAAQ,kBAAmBj0B,KAAKuzB,SAC/D,CACA,OAAOvzB,KAAKuzB,QAChB,GAEJ,CACIlxB,IAAK,OACLxD,MAAO,SAAcw0B,GACjB,IAAIqC,EAAS11B,KACb,GAAIA,KAAKszB,QAAS,CACd,IAAIqC,EAAa31B,KAAK9F,QAAQ07B,OAC1BC,EAAW71B,KAAK6tB,UAAUiI,YAC1BC,EAAY/1B,KAAK6tB,UAAUmI,aAC3BC,EAAQjsB,SAAS+rB,EAAYJ,GAC7BO,EAAe,SAAsBC,GACrC,IAAIC,EAAWD,EAAIL,aAAe9rB,SAASmsB,EAAIj6B,MAAMm6B,OACjDC,EAAWH,EAAI/tB,wBAAwBklB,OAASoI,EAAO7H,UAAUzlB,wBAAwBklB,MAAQ8I,EACrG,OAAOV,EAAO7H,UAAUzlB,wBAAwBklB,MAAQgJ,CAC5D,EACIC,EAAW,SAAkBF,GAC7B,OAAQR,EAAWQ,GAAS,CAChC,EACIG,EAAY,SAAmBL,EAAKxrB,EAAM0rB,GA6B1C,IA5BA,IAAII,EAAMZ,EAAWU,EAASF,GAC1BK,EAAS,SAAgBj9B,GACzB,IAAIY,EAAOq7B,EAAOvC,UAAUxoB,GAAMlR,EAAI,IACtC,IAAIY,IAAQA,EAAKN,OAsBb,OAJA27B,EAAOvC,UAAUxoB,GAAMlR,EAAI,IAAM,CAAC08B,GAClCA,EAAInU,iBAAiB,gBAAgB,WACjC0T,EAAOvC,UAAUxoB,GAAMlR,EAAI,IAAI2B,OAAO,EAAG,EAC7C,IACO,CAAEu7B,EAAGl9B,EAAIw8B,GArBhB,GAAa,UAATtrB,EACA,MAAO,WAEX,IAAK,IAAIisB,EAAI,EAAGA,EAAIv8B,EAAKN,OAAQ68B,IAAK,CAClC,IAAIC,EAAWX,EAAa77B,EAAKu8B,IAAM,GACvC,GAAIC,GAAYhB,EAAWY,EAAMF,EAASvsB,SAAS3P,EAAKu8B,GAAG16B,MAAMm6B,SAAWQ,GAAY,EACpF,MAEJ,GAAID,IAAMv8B,EAAKN,OAAS,EAKpB,OAJA27B,EAAOvC,UAAUxoB,GAAMlR,EAAI,IAAIJ,KAAK88B,GACpCA,EAAInU,iBAAiB,gBAAgB,WACjC0T,EAAOvC,UAAUxoB,GAAMlR,EAAI,IAAI2B,OAAO,EAAG,EAC7C,IACO,CAAEu7B,EAAGl9B,EAAIw8B,EAExB,CAQR,EACSx8B,EAAI,EAAGi8B,EAAOjC,WAAah6B,EAAIw8B,EAAOx8B,IAAK,CAChD,IAAIq9B,EAAOJ,EAAOj9B,GAClB,GAAa,aAATq9B,GAEkB,WAAlB,GAAQA,GACR,OAAOA,EAAKH,CACpB,CACA,OAAQ,CACZ,EAC4C,mBAAxCl4B,OAAO+C,UAAU5C,SAASE,KAAKu0B,KAC/BA,EAAM,CAACA,IAqDX,IAnDA,IAAI0D,EAAc16B,SAAS26B,yBACvBC,EAAS,WACT5D,EAAI55B,GAAGkR,KAAO,cAAkB0oB,EAAI55B,GAAGkR,MAClC0oB,EAAI55B,GAAGqQ,QACRupB,EAAI55B,GAAGqQ,MAAQ,UAEnB,IAAIzP,EAAOgC,SAASW,cAAc,OAClC3C,EAAK4zB,UAAUC,IAAI,wBACnB7zB,EAAK4zB,UAAUC,IAAI,mBAAmB1zB,OAAO64B,EAAI55B,GAAGkR,OAChD0oB,EAAI55B,GAAGw7B,OACP56B,EAAK+zB,UAAY,uBAAuB5zB,OAAO64B,EAAI55B,GAAGw7B,OAAQ,MAAMz6B,OAAO64B,EAAI55B,GAAG0xB,KAAM,WAExF9wB,EAAK+zB,UAAYiF,EAAI55B,GAAG0xB,KAE5B9wB,EAAK6B,MAAM6xB,QAAU2H,EAAOnC,SAC5Bl5B,EAAK6B,MAAM4N,MAAQ,eAAmBupB,EAAI55B,GAAGqQ,OAC7CzP,EAAK2nB,iBAAiB,gBAAgB,WAClC0T,EAAO7H,UAAU7vB,YAAY3D,EACjC,IACA,IACI68B,EADAC,EAAYzB,EAAOhC,SAASL,EAAI55B,GAAG0xB,MAEvC,OAAQkI,EAAI55B,GAAGkR,MACf,IAAK,SACDusB,EAASV,EAAUn8B,EAAMg5B,EAAI55B,GAAGkR,KAAMwsB,KACxB,IACV98B,EAAK6B,MAAMm6B,MAAQc,EAAY,EAAI,KACnC98B,EAAK6B,MAAMqM,IAAMotB,EAAauB,EAAS,KACvC78B,EAAK6B,MAAMk7B,UAAY,eAAe58B,OAAOq7B,EAAU,QAE3D,MACJ,IAAK,OACDqB,EAASV,EAAUn8B,EAAMg5B,EAAI55B,GAAGkR,QAClB,IACVtQ,EAAK6B,MAAMqM,IAAMotB,EAAauB,EAAS,MAE3C,MACJ,IAAK,UACDA,EAASV,EAAUn8B,EAAMg5B,EAAI55B,GAAGkR,QAClB,IACVtQ,EAAK6B,MAAM0vB,OAAS+J,EAAauB,EAAS,MAE9C,MACJ,QACI5wB,QAAQN,MAAM,+BAAgCxL,OAAO64B,EAAI55B,GAAGkR,OAE5DusB,GAAU,IACV78B,EAAK4zB,UAAUC,IAAI,wBACnB7zB,EAAK6B,MAAMm7B,kBAAoB3B,EAAO4B,cAAcjE,EAAI55B,GAAGkR,MAC3DosB,EAAYj6B,YAAYzC,GAEhC,EACSZ,EAAI,EAAGA,EAAI45B,EAAIt5B,OAAQN,IAC5Bw9B,IAGJ,OADAj3B,KAAK6tB,UAAU/wB,YAAYi6B,GACpBA,CACX,CACJ,GAEJ,CACI10B,IAAK,OACLxD,MAAO,WACHmB,KAAKq1B,QAAS,CAClB,GAEJ,CACIhzB,IAAK,QACLxD,MAAO,WACHmB,KAAKq1B,QAAS,CAClB,GAEJ,CACIhzB,IAAK,WACLxD,MAAO,SAAkBssB,GACrB,IAAKnrB,KAAKsM,QAAS,CACf,IAAIirB,EAAeC,iBAAiBx3B,KAAK6tB,UAAU4H,uBAAuB,wBAAwB,GAAI,MACtGz1B,KAAKsM,QAAUjQ,SAASW,cAAc,UAAUy6B,WAAW,MAC3Dz3B,KAAKsM,QAAQorB,KAAOH,EAAaI,iBAAiB,OACtD,CACA,OAAO33B,KAAKsM,QAAQsrB,YAAYzM,GAAMkL,KAC1C,GAEJ,CACIh0B,IAAK,OACLxD,MAAO,WACHmB,KAAKw0B,QACL,IAAK,IAAI/6B,EAAI,EAAGA,EAAIuG,KAAKqzB,IAAIt5B,OAAQN,IAAK,CACtC,GAAIuG,KAAKqzB,IAAI55B,GAAGwxB,MAAQjrB,KAAK9F,QAAQ+wB,OAAQ,CACzCjrB,KAAKozB,SAAW35B,EAChB,KACJ,CACAuG,KAAKozB,SAAWpzB,KAAKqzB,IAAIt5B,MAC7B,CACJ,GAEJ,CACIsI,IAAK,QACLxD,MAAO,WACHmB,KAAKmzB,UAAY,CACb7F,MAAO,CAAC,EACR/kB,IAAK,CAAC,EACNqjB,OAAQ,CAAC,GAEb5rB,KAAKozB,SAAW,EAChBpzB,KAAK9F,QAAQ2zB,UAAUO,UAAY,GACnCpuB,KAAKwzB,QAAUxzB,KAAKwzB,OAAOS,QAAQ,gBACvC,GAEJ,CACI5xB,IAAK,aACLxD,MAAO,SAAoB2L,GACvB,OAAOA,EAAIxJ,QAAQ,KAAM,SAASA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,UAAUA,QAAQ,KAAM,UAAUA,QAAQ,MAAO,SACjJ,GAEJ,CACIqB,IAAK,SACLxD,MAAO,WAGH,IAFA,IAAIg3B,EAAW71B,KAAK6tB,UAAUiI,YAC1BN,EAAQx1B,KAAK6tB,UAAU4H,uBAAuB,wBACzCh8B,EAAI,EAAGA,EAAI+7B,EAAMz7B,OAAQN,IAC9B+7B,EAAM/7B,GAAGyC,MAAMk7B,UAAY,eAAe58B,OAAOq7B,EAAU,MAEnE,GAEJ,CACIxzB,IAAK,OACLxD,MAAO,WACHmB,KAAKszB,SAAU,EACftzB,KAAKgtB,QACLhtB,KAAKw0B,QACLx0B,KAAKwzB,QAAUxzB,KAAKwzB,OAAOS,QAAQ,eACvC,GAEJ,CACI5xB,IAAK,OACLxD,MAAO,WACHmB,KAAK63B,OACL73B,KAAKszB,SAAU,EACftzB,KAAK+sB,OACL/sB,KAAKwzB,QAAUxzB,KAAKwzB,OAAOS,QAAQ,eACvC,GAEJ,CACI5xB,IAAK,UACLxD,MAAO,SAAiBi5B,GACpB93B,KAAKyzB,UAAYqE,CACrB,GAEJ,CACIz1B,IAAK,QACLxD,MAAO,SAAe6gB,GAClB1f,KAAK9F,QAAQmB,IAAI08B,UAAYrY,CACjC,GAEJ,CACIrd,IAAK,gBACLxD,MAAO,SAAuBoQ,GAC1B,IAAIyQ,EAAO1f,KAAK9F,QAAQmB,IAAI08B,WAAa,EACrCC,IAAiBh4B,KAAKkzB,OAAO+E,WAAWD,eAM5C,MALiB,CACbzvB,IAAK,GAAG/N,QAAQw9B,EAAe,EAAI,GAAKtY,EAAM,KAC9C4N,MAAO,GAAG9yB,QAAQw9B,EAAe,EAAI,GAAKtY,EAAM,KAChDkM,OAAQ,GAAGpxB,QAAQw9B,EAAe,EAAI,GAAKtY,EAAM,MAEnCzQ,EACtB,IA9YJ8F,GACA,GAAkBH,EAAYpT,UAAWuT,GAG7CtW,OAAO8D,eAAeqS,EAAa,YAAa,CAAEhF,UAAU,IA6YrDqjB,CACX,CA1Xc,GA2Xd,YC3aA,SAAS,GAAQv4B,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CAMA,SAAS,GAAkByB,EAAQoS,GAC/B,IAAK,IAAI9U,EAAI,EAAGA,EAAI8U,EAAMxU,OAAQN,IAAK,CACnC,IAAIuT,EAAauB,EAAM9U,GACvBuT,EAAWxK,WAAawK,EAAWxK,aAAc,EACjDwK,EAAWoH,cAAe,EACtB,UAAWpH,IACXA,EAAW4C,UAAW,GAC1BnR,OAAO8D,eAAepG,QAYtBkG,IAGR,SAAsBgS,EAAOC,GACzB,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAC/B,OAAOA,EACX,IAAIE,EAAOF,EAAMhT,OAAOmT,aACxB,QAAanU,IAATkU,EAAoB,CACpB,IAAI5O,EAAM4O,EAAKzV,KAAKuV,EAAOC,UAC3B,GAAqB,WAAjB,GAAQ3O,GACR,OAAOA,EACX,MAAM,IAAI/B,UAAU,+CACxB,CACA,OAA4BlD,OAAiB2T,EACjD,CAdc,CAZuCrH,EAAW3K,KAapC,WAAjB,GAAQA,GAAoBA,EAAM3B,OAAO2B,IAbkB2K,EAClE,CAUJ,IACQ3K,CAVR,CAsHA,SA7Fa,WACT,SAAS61B,KAxCb,SAAyBvjB,EAAUC,GAC/B,KAAMD,aAAoBC,GACtB,MAAM,IAAIhR,UAAU,oCAE5B,CAqCQ,CAAgB5D,KAAMk4B,GACtBl4B,KAAKwzB,OAAS,CAAC,EACfxzB,KAAKm4B,YAAc,CACf,QACA,UACA,iBACA,iBACA,UACA,QACA,QACA,aACA,iBACA,YACA,oBACA,QACA,OACA,UACA,WACA,aACA,SACA,UACA,UACA,UACA,aACA,eACA,WAEJn4B,KAAKo4B,aAAe,CAChB,aACA,kBACA,kBACA,eACA,eACA,gBACA,iBACA,eACA,kBACA,mBACA,mBACA,cACA,cACA,gBACA,cACA,UACA,SACA,aACA,oBACA,gBACA,uBACA,gBACA,gBACA,kBAER,CA/EJ,IAAsBxjB,EAAaG,EAmH/B,OAnHkBH,EAgFLsjB,GAhFkBnjB,EAgFV,CACjB,CACI1S,IAAK,KACLxD,MAAO,SAAYwE,EAAM1D,GACjBK,KAAK2K,KAAKtH,IAA6B,mBAAb1D,IACrBK,KAAKwzB,OAAOnwB,KACbrD,KAAKwzB,OAAOnwB,GAAQ,IAExBrD,KAAKwzB,OAAOnwB,GAAMhK,KAAKsG,GAE/B,GAEJ,CACI0C,IAAK,UACLxD,MAAO,SAAiBwE,EAAMg1B,GAC1B,GAAIr4B,KAAKwzB,OAAOnwB,IAASrD,KAAKwzB,OAAOnwB,GAAMtJ,OACvC,IAAK,IAAIN,EAAI,EAAGA,EAAIuG,KAAKwzB,OAAOnwB,GAAMtJ,OAAQN,IAC1CuG,KAAKwzB,OAAOnwB,GAAM5J,GAAG4+B,EAGjC,GAEJ,CACIh2B,IAAK,OACLxD,MAAO,SAAcwE,GACjB,OAAyC,IAArCrD,KAAKo4B,aAAalpB,QAAQ7L,GACnB,UACoC,IAApCrD,KAAKm4B,YAAYjpB,QAAQ7L,GACzB,SAEXiD,QAAQN,MAAM,uBAAuBxL,OAAO6I,IACrC,KACX,MA9GJ,GAAkBuR,EAAYpT,UAAWuT,GAG7CtW,OAAO8D,eAAeqS,EAAa,YAAa,CAAEhF,UAAU,IA8GrDsoB,CACX,CA5Fa,GC/Cb,SAAS,GAAQx9B,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CAMA,SAAS,GAAkByB,EAAQoS,GAC/B,IAAK,IAAI9U,EAAI,EAAGA,EAAI8U,EAAMxU,OAAQN,IAAK,CACnC,IAAIuT,EAAauB,EAAM9U,GACvBuT,EAAWxK,WAAawK,EAAWxK,aAAc,EACjDwK,EAAWoH,cAAe,EACtB,UAAWpH,IACXA,EAAW4C,UAAW,GAC1BnR,OAAO8D,eAAepG,QAYtBkG,IAGR,SAAsBgS,EAAOC,GACzB,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAC/B,OAAOA,EACX,IAAIE,EAAOF,EAAMhT,OAAOmT,aACxB,QAAanU,IAATkU,EAAoB,CACpB,IAAI5O,EAAM4O,EAAKzV,KAAKuV,EAAOC,UAC3B,GAAqB,WAAjB,GAAQ3O,GACR,OAAOA,EACX,MAAM,IAAI/B,UAAU,+CACxB,CACA,OAA4BlD,OAAiB2T,EACjD,CAdc,CAZuCrH,EAAW3K,KAapC,WAAjB,GAAQA,GAAoBA,EAAM3B,OAAO2B,IAbkB2K,EAClE,CAUJ,IACQ3K,CAVR,CA0BA,IAAIi2B,GAAa,WACb,SAASA,EAAWpF,GAChB,IAAI5H,EAAQtrB,MA1CpB,SAAyB2U,EAAUC,GAC/B,KAAMD,aAAoBC,GACtB,MAAM,IAAIhR,UAAU,oCAE5B,CAuCQ,CAAgB5D,KAAMs4B,GACtBt4B,KAAKkzB,OAASA,EACdlzB,KAAKu4B,mBAAqB,CACtB9vB,KAAM,EACNF,IAAK,GAETvI,KAAKkzB,OAAOM,OAAOgF,GAAG,iBAAiB,WACnClN,EAAM4H,OAAOuF,QACjB,IACAz4B,KAAKkzB,OAAOM,OAAOgF,GAAG,wBAAwB,WAC1ClN,EAAM4H,OAAOuF,SACb,oBAAwBnN,EAAMiN,mBAClC,IACAv4B,KAAK04B,iBAAmB,WACpBpN,EAAM4H,OAAOuF,SACTnN,EAAM0M,aAAa,WACnB1M,EAAM4H,OAAOM,OAAOS,QAAQ,eAE5B,oBAAwB3I,EAAMiN,oBAC9BjN,EAAM4H,OAAOM,OAAOS,QAAQ,qBAEpC,EACAj0B,KAAK24B,oBAAsB,WACvB,IAAIC,EAAUv8B,SAASwL,mBAAqBxL,SAASyL,sBAAwBzL,SAASw8B,oBAClFD,GAAWA,IAAYtN,EAAM4H,OAAOrF,YAGxCvC,EAAM4H,OAAOuF,SACTG,EACAtN,EAAM4H,OAAOM,OAAOS,QAAQ,eAE5B,oBAAwB3I,EAAMiN,oBAC9BjN,EAAM4H,OAAOM,OAAOS,QAAQ,sBAEpC,EACI,UAAUrzB,KAAK6F,UAAUC,YACzBrK,SAAS2lB,iBAAiB,sBAAuBhiB,KAAK24B,qBACtDt8B,SAAS2lB,iBAAiB,mBAAoBhiB,KAAK24B,uBAEnD34B,KAAKkzB,OAAOrF,UAAU7L,iBAAiB,mBAAoBhiB,KAAK04B,kBAChE14B,KAAKkzB,OAAOrF,UAAU7L,iBAAiB,yBAA0BhiB,KAAK04B,kBACtEr8B,SAAS2lB,iBAAiB,qBAAsBhiB,KAAK24B,qBACrDt8B,SAAS2lB,iBAAiB,qBAAsBhiB,KAAK24B,qBAE7D,CAxEJ,IAAsB/jB,EAAaG,EAgL/B,OAhLkBH,EAyEL0jB,EAzEkBvjB,EAyEN,CACrB,CACI1S,IAAK,eACLxD,MAAO,WACH,IAAI8L,EAAO3F,UAAUjL,OAAS,QAAsBsG,IAAjB2E,UAAU,GAAmBA,UAAU,GAAK,UAC/E,OAAQ2F,GACR,IAAK,UACD,OAAOtO,SAASwL,mBAAqBxL,SAASyL,sBAAwBzL,SAAS0L,yBAA2B1L,SAASw8B,oBACvH,IAAK,MACD,OAAO74B,KAAKkzB,OAAOrF,UAAUI,UAAU6K,SAAS,kBAExD,GAEJ,CACIz2B,IAAK,UACLxD,MAAO,WACH,IAAI8L,EAAO3F,UAAUjL,OAAS,QAAsBsG,IAAjB2E,UAAU,GAAmBA,UAAU,GAAK,UAC3E+zB,EAAuB,YAATpuB,EAAqB,MAAQ,UAC3CquB,EAAgBh5B,KAAKg4B,aAAae,GAItC,OAHKC,IACDh5B,KAAKu4B,mBAAqB,uBAEtB5tB,GACR,IAAK,UACG3K,KAAKkzB,OAAOrF,UAAUoL,kBACtBj5B,KAAKkzB,OAAOrF,UAAUoL,oBACfj5B,KAAKkzB,OAAOrF,UAAUqL,qBAC7Bl5B,KAAKkzB,OAAOrF,UAAUqL,uBACfl5B,KAAKkzB,OAAOrF,UAAUsL,wBAC7Bn5B,KAAKkzB,OAAOrF,UAAUsL,0BACfn5B,KAAKkzB,OAAO3E,MAAM6K,sBACzBp5B,KAAKkzB,OAAO3E,MAAM6K,wBACXp5B,KAAKkzB,OAAO3E,MAAM8K,sBACzBr5B,KAAKkzB,OAAO3E,MAAM8K,wBACXr5B,KAAKkzB,OAAOrF,UAAUyL,qBAC7Bt5B,KAAKkzB,OAAOrF,UAAUyL,sBAE1B,MACJ,IAAK,MACDt5B,KAAKkzB,OAAOrF,UAAUI,UAAUC,IAAI,kBACpC7xB,SAASqL,KAAKumB,UAAUC,IAAI,8BAC5BluB,KAAKkzB,OAAOM,OAAOS,QAAQ,iBAG3B+E,GACAh5B,KAAKmiB,OAAO4W,EAEpB,GAEJ,CACI12B,IAAK,SACLxD,MAAO,WACH,IAAI8L,EAAO3F,UAAUjL,OAAS,QAAsBsG,IAAjB2E,UAAU,GAAmBA,UAAU,GAAK,UAC/E,OAAQ2F,GACR,IAAK,UACGtO,SAASk9B,iBACTl9B,SAASk9B,mBACFl9B,SAASm9B,oBAChBn9B,SAASm9B,sBACFn9B,SAASo9B,uBAChBp9B,SAASo9B,yBACFp9B,SAASq9B,uBAChBr9B,SAASq9B,yBACFr9B,SAASs9B,mBAChBt9B,SAASs9B,qBACFt9B,SAASu9B,kBAChBv9B,SAASu9B,mBAEb,MACJ,IAAK,MACD55B,KAAKkzB,OAAOrF,UAAUI,UAAUxyB,OAAO,kBACvCY,SAASqL,KAAKumB,UAAUxyB,OAAO,8BAC/BuE,KAAKkzB,OAAOM,OAAOS,QAAQ,wBAGnC,GAEJ,CACI5xB,IAAK,SACLxD,MAAO,WACH,IAAI8L,EAAO3F,UAAUjL,OAAS,QAAsBsG,IAAjB2E,UAAU,GAAmBA,UAAU,GAAK,UAC3EhF,KAAKg4B,aAAartB,GAClB3K,KAAKmiB,OAAOxX,GAEZ3K,KAAKiR,QAAQtG,EAErB,GAEJ,CACItI,IAAK,UACLxD,MAAO,WACC,UAAU+B,KAAK6F,UAAUC,YACzBrK,SAASikB,oBAAoB,sBAAuBtgB,KAAK24B,qBACzDt8B,SAASikB,oBAAoB,mBAAoBtgB,KAAK24B,uBAEtD34B,KAAKkzB,OAAOrF,UAAUvN,oBAAoB,mBAAoBtgB,KAAK04B,kBACnE14B,KAAKkzB,OAAOrF,UAAUvN,oBAAoB,yBAA0BtgB,KAAK04B,kBACzEr8B,SAASikB,oBAAoB,qBAAsBtgB,KAAK24B,qBACxDt8B,SAASikB,oBAAoB,qBAAsBtgB,KAAK24B,qBAEhE,IA5KJ5jB,GACA,GAAkBH,EAAYpT,UAAWuT,GAG7CtW,OAAO8D,eAAeqS,EAAa,YAAa,CAAEhF,UAAU,IA2KrD0oB,CACX,CAxJiB,GAyJjB,YCzMA,SAAS,GAAQ59B,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CAMA,SAAS,GAAkByB,EAAQoS,GAC/B,IAAK,IAAI9U,EAAI,EAAGA,EAAI8U,EAAMxU,OAAQN,IAAK,CACnC,IAAIuT,EAAauB,EAAM9U,GACvBuT,EAAWxK,WAAawK,EAAWxK,aAAc,EACjDwK,EAAWoH,cAAe,EACtB,UAAWpH,IACXA,EAAW4C,UAAW,GAC1BnR,OAAO8D,eAAepG,QAYtBkG,IAGR,SAAsBgS,EAAOC,GACzB,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAC/B,OAAOA,EACX,IAAIE,EAAOF,EAAMhT,OAAOmT,aACxB,QAAanU,IAATkU,EAAoB,CACpB,IAAI5O,EAAM4O,EAAKzV,KAAKuV,EAAOC,UAC3B,GAAqB,WAAjB,GAAQ3O,GACR,OAAOA,EACX,MAAM,IAAI/B,UAAU,+CACxB,CACA,OAA4BlD,OAAiB2T,EACjD,CAdc,CAZuCrH,EAAW3K,KAapC,WAAjB,GAAQA,GAAoBA,EAAM3B,OAAO2B,IAbkB2K,EAClE,CAUJ,IACQ3K,CAVR,CA0BA,IAAIw3B,GAAO,WACP,SAASA,EAAK3G,IAzClB,SAAyBve,EAAUC,GAC/B,KAAMD,aAAoBC,GACtB,MAAM,IAAIhR,UAAU,oCAE5B,CAsCQ,CAAgB5D,KAAM65B,GACtB75B,KAAK85B,YAAc,CACf/L,QAAS,0BACTrB,OAAQ,iBACR+G,UAAW,4BACXrE,QAAS,uBACT5C,SAAU,yBAEdxsB,KAAc,QAAI,CACd+tB,QAAS,GACTrB,OAAQwG,EAAOh5B,QAAQ0I,eAAe,UAAYswB,EAAOh5B,QAAQwyB,OAAS,GAC1E+G,WAAYP,EAAOh5B,QAAQk1B,SAAW8D,EAAOh5B,QAAQk1B,QAAQqE,UAAY,EAAI,IAAM,EACnFrE,QAAS,EACT5C,SAAU,GAEdxsB,KAAKN,KAAO,CAAC,EACbM,KAAK8tB,MACT,CA5CJ,IAAsBlZ,EAAaG,EAqE/B,OArEkBH,EA6CLilB,GA7CkB9kB,EA6CZ,CACf,CACI1S,IAAK,OACLxD,MAAO,WACH,IAAK,IAAIxE,KAAQ2F,KAAK85B,YAAa,CAC/B,IAAIz2B,EAAOrD,KAAK85B,YAAYz/B,GAC5B2F,KAAKN,KAAKrF,GAAQi7B,WAAW,cAAkBjyB,IAASrD,KAAc,QAAE3F,GAC5E,CACJ,GAEJ,CACIgI,IAAK,MACLxD,MAAO,SAAawD,GAChB,OAAOrC,KAAKN,KAAK2C,EACrB,GAEJ,CACIA,IAAK,MACLxD,MAAO,SAAawD,EAAKxD,GACrBmB,KAAKN,KAAK2C,GAAOxD,EACjB,cAAkBmB,KAAK85B,YAAYz3B,GAAMxD,EAC7C,MAhEJ,GAAkB+V,EAAYpT,UAAWuT,GAG7CtW,OAAO8D,eAAeqS,EAAa,YAAa,CAAEhF,UAAU,IAgErDiqB,CACX,CA7CW,GA8CX,YC9FA,SAAS,GAAQn/B,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CAMA,SAAS,GAAkByB,EAAQoS,GAC/B,IAAK,IAAI9U,EAAI,EAAGA,EAAI8U,EAAMxU,OAAQN,IAAK,CACnC,IAAIuT,EAAauB,EAAM9U,GACvBuT,EAAWxK,WAAawK,EAAWxK,aAAc,EACjDwK,EAAWoH,cAAe,EACtB,UAAWpH,IACXA,EAAW4C,UAAW,GAC1BnR,OAAO8D,eAAepG,QAYtBkG,IAGR,SAAsBgS,EAAOC,GACzB,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAC/B,OAAOA,EACX,IAAIE,EAAOF,EAAMhT,OAAOmT,aACxB,QAAanU,IAATkU,EAAoB,CACpB,IAAI5O,EAAM4O,EAAKzV,KAAKuV,EAAOC,UAC3B,GAAqB,WAAjB,GAAQ3O,GACR,OAAOA,EACX,MAAM,IAAI/B,UAAU,+CACxB,CACA,OAA4BlD,OAAiB2T,EACjD,CAdc,CAZuCrH,EAAW3K,KAapC,WAAjB,GAAQA,GAAoBA,EAAM3B,OAAO2B,IAbkB2K,EAClE,CAUJ,IACQ3K,CAVR,CAyBA,IAAI03B,GAAW,WACX,SAASA,EAASlM,EAAWU,EAAOr0B,EAASs5B,IAxCjD,SAAyB7e,EAAUC,GAC/B,KAAMD,aAAoBC,GACtB,MAAM,IAAIhR,UAAU,oCAE5B,CAqCQ,CAAgB5D,KAAM+5B,GACtB/5B,KAAK6tB,UAAYA,EACjB7tB,KAAKuuB,MAAQA,EACbvuB,KAAK9F,QAAUA,EACf8F,KAAKwzB,OAASA,EACdxzB,KAAK8tB,MACT,CAhCJ,IAAsBlZ,EAAaG,EAoF/B,OApFkBH,EAiCLmlB,EAjCkBhlB,EAiCR,CACnB,CACI1S,IAAK,OACLxD,MAAO,WACH,IAAIysB,EAAQtrB,KAIZ,GAHAA,KAAK6tB,UAAU3xB,MAAM89B,SAAWh6B,KAAK9F,QAAQ8/B,SAC7Ch6B,KAAK6tB,UAAU3xB,MAAM0vB,OAAS5rB,KAAK9F,QAAQ0xB,OAC3C5rB,KAAK6tB,UAAU3xB,MAAM4N,MAAQ9J,KAAK9F,QAAQ4P,MACtC9J,KAAKuuB,MAAM0L,YAAcj6B,KAAKuuB,MAAM0L,WAAW,GAAI,CACnD,IAAIC,EAAQl6B,KAAKuuB,MAAM0L,WAAW,GAClCC,EAAMC,YAAc,WAChB,IAAIC,EAAMF,EAAMG,WAAWH,EAAMG,WAAWtgC,OAAS,GAErD,GADAuxB,EAAMuC,UAAUO,UAAY,GACxBgM,EAAK,CACL,IAAIE,EAAWj+B,SAASW,cAAc,OACtCs9B,EAASx9B,YAAYs9B,EAAIG,gBACzB,IAAIC,EAAYF,EAASlM,UAAUpe,MAAM,SAAS/P,KAAI,SAAU5F,GAC5D,MAAO,MAAMG,OAAOH,EAAM,OAC9B,IAAG6F,KAAK,IACRorB,EAAMuC,UAAUO,UAAYoM,CAChC,CACAlP,EAAMkI,OAAOS,QAAQ,kBACzB,CACJ,CACJ,GAEJ,CACI5xB,IAAK,OACLxD,MAAO,WACHmB,KAAK6tB,UAAUI,UAAUxyB,OAAO,yBAChCuE,KAAKwzB,OAAOS,QAAQ,gBACxB,GAEJ,CACI5xB,IAAK,OACLxD,MAAO,WACHmB,KAAK6tB,UAAUI,UAAUC,IAAI,yBAC7BluB,KAAKwzB,OAAOS,QAAQ,gBACxB,GAEJ,CACI5xB,IAAK,SACLxD,MAAO,WACCmB,KAAK6tB,UAAUI,UAAU6K,SAAS,yBAClC94B,KAAKy6B,OAELz6B,KAAK06B,MAEb,IAhFJ3lB,GACA,GAAkBH,EAAYpT,UAAWuT,GAG7CtW,OAAO8D,eAAeqS,EAAa,YAAa,CAAEhF,UAAU,IA+ErDmqB,CACX,CA7De,GA8Df,YC7GA,SAAS,GAAQr/B,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CAMA,SAAS,GAAkByB,EAAQoS,GAC/B,IAAK,IAAI9U,EAAI,EAAGA,EAAI8U,EAAMxU,OAAQN,IAAK,CACnC,IAAIuT,EAAauB,EAAM9U,GACvBuT,EAAWxK,WAAawK,EAAWxK,aAAc,EACjDwK,EAAWoH,cAAe,EACtB,UAAWpH,IACXA,EAAW4C,UAAW,GAC1BnR,OAAO8D,eAAepG,QAYtBkG,IAGR,SAAsBgS,EAAOC,GACzB,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAC/B,OAAOA,EACX,IAAIE,EAAOF,EAAMhT,OAAOmT,aACxB,QAAanU,IAATkU,EAAoB,CACpB,IAAI5O,EAAM4O,EAAKzV,KAAKuV,EAAOC,UAC3B,GAAqB,WAAjB,GAAQ3O,GACR,OAAOA,EACX,MAAM,IAAI/B,UAAU,+CACxB,CACA,OAA4BlD,OAAiB2T,EACjD,CAdc,CAZuCrH,EAAW3K,KAapC,WAAjB,GAAQA,GAAoBA,EAAM3B,OAAO2B,IAbkB2K,EAClE,CAUJ,IACQ3K,CAVR,CAyBA,IAAIs4B,GAAY,WACZ,SAASA,EAAUzH,GACf,IAAI5H,EAAQtrB,MAzCpB,SAAyB2U,EAAUC,GAC/B,KAAMD,aAAoBC,GACtB,MAAM,IAAIhR,UAAU,oCAE5B,CAsCQ,CAAgB5D,KAAM26B,GACtB36B,KAAKkzB,OAASA,EACdlzB,KAAKkzB,OAAOoH,SAASxK,KAAK9N,iBAAiB,SAAS,WAChDsJ,EAAMoP,MACV,IACA16B,KAAKkzB,OAAOoH,SAASxI,gBAAgB9P,iBAAiB,SAAS,WAC3DsJ,EAAMsP,iBACNtP,EAAMmP,MACV,IAeA,IAdA,IAAII,EAAgB76B,KAAKkzB,OAAOoH,SAAStI,cAAcj4B,OAAS,EAC5D46B,EAAQ,SAAel7B,GACvB6xB,EAAM4H,OAAOoH,SAAStI,cAAcv4B,GAAGuoB,iBAAiB,SAAS,WAC7DsJ,EAAMoP,OACFpP,EAAM4H,OAAOh5B,QAAQsyB,SAAS5wB,QAAUnC,IACxC6xB,EAAM4H,OAAOoH,SAAS9N,SAAS4B,UAAY,UAC3C9C,EAAM4H,OAAOoH,SAASrI,SAAS6I,IAAMxP,EAAM4H,OAAOoH,SAAStI,cAAcv4B,GAAGshC,QAAQvO,SACpFlB,EAAM4H,OAAOh5B,QAAQsyB,SAAS5wB,MAAQnC,EAClC6xB,EAAM4H,OAAOoH,SAAS9N,SAASyB,UAAU6K,SAAS,0BAClDxN,EAAM0P,mBAGlB,GACJ,EACSvhC,EAAI,EAAGA,EAAIohC,EAAephC,IAC/Bk7B,EAAMl7B,GAEVuG,KAAKkzB,OAAOoH,SAAStI,cAAc6I,GAAe7Y,iBAAiB,SAAS,WACxEsJ,EAAMoP,OACFpP,EAAM4H,OAAOh5B,QAAQsyB,SAAS5wB,QAAUi/B,IACxCvP,EAAM4H,OAAOoH,SAAS9N,SAAS4B,UAAY,UAC3C9C,EAAM4H,OAAOoH,SAASrI,SAAS6I,IAAM,GACrCxP,EAAM4H,OAAOh5B,QAAQsyB,SAAS5wB,MAAQi/B,EACtCvP,EAAM2P,mBAEd,GACJ,CA9DJ,IAAsBrmB,EAAaG,EA6G/B,OA7GkBH,EA+DL+lB,GA/DkB5lB,EA+DP,CACpB,CACI1S,IAAK,mBACLxD,MAAO,WACHmB,KAAKkzB,OAAOoH,SAAS9N,SAASyB,UAAUxyB,OAAO,yBAC/CuE,KAAKkzB,OAAOM,OAAOS,QAAQ,gBAC/B,GAEJ,CACI5xB,IAAK,mBACLxD,MAAO,WACHmB,KAAKkzB,OAAOoH,SAAS9N,SAASyB,UAAUC,IAAI,yBAC5CluB,KAAKkzB,OAAOM,OAAOS,QAAQ,gBAC/B,GAEJ,CACI5xB,IAAK,OACLxD,MAAO,WACHmB,KAAKkzB,OAAOoH,SAASvI,aAAa9D,UAAUxyB,OAAO,8BACnDuE,KAAKkzB,OAAOoH,SAASxK,KAAK7B,UAAUxyB,OAAO,qBAC3CuE,KAAKkzB,OAAOvC,WAAWuK,iBAAkB,CAC7C,GAEJ,CACI74B,IAAK,OACLxD,MAAO,WACHmB,KAAKkzB,OAAOoH,SAASvI,aAAa9D,UAAUC,IAAI,8BAChDluB,KAAKkzB,OAAOoH,SAASxK,KAAK7B,UAAUC,IAAI,qBACxCluB,KAAKkzB,OAAOvC,WAAWuK,iBAAkB,CAC7C,GAEJ,CACI74B,IAAK,iBACLxD,MAAO,WACH,IAAIs8B,EAA2D,GAA5Cn7B,KAAKkzB,OAAOoH,SAAStI,cAAcj4B,OAAc,GAChEqhC,EAA6D,GAA9Cp7B,KAAKkzB,OAAOoH,SAAS7K,UAAUuG,aAC9CmF,GAAgBC,EAAe,IAC/Bp7B,KAAKkzB,OAAOoH,SAASvI,aAAa71B,MAAM0vB,OAAS,MACjD5rB,KAAKkzB,OAAOoH,SAASvI,aAAa71B,MAAM,cAAgBk/B,EAAe,EAAI,OAE3Ep7B,KAAKkzB,OAAOoH,SAASvI,aAAa71B,MAAM0vB,OAAS,OACjD5rB,KAAKkzB,OAAOoH,SAASvI,aAAa71B,MAAM,cAAgBk/B,EAAe,GAAK,KAEpF,MAxGJ,GAAkBxmB,EAAYpT,UAAWuT,GAG7CtW,OAAO8D,eAAeqS,EAAa,YAAa,CAAEhF,UAAU,IAwGrD+qB,CACX,CAtFgB,GAuFhB,YCtIA,SAAS,GAAQjgC,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CAMA,SAAS,GAAkByB,EAAQoS,GAC/B,IAAK,IAAI9U,EAAI,EAAGA,EAAI8U,EAAMxU,OAAQN,IAAK,CACnC,IAAIuT,EAAauB,EAAM9U,GACvBuT,EAAWxK,WAAawK,EAAWxK,aAAc,EACjDwK,EAAWoH,cAAe,EACtB,UAAWpH,IACXA,EAAW4C,UAAW,GAC1BnR,OAAO8D,eAAepG,QAYtBkG,IAGR,SAAsBgS,EAAOC,GACzB,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAC/B,OAAOA,EACX,IAAIE,EAAOF,EAAMhT,OAAOmT,aACxB,QAAanU,IAATkU,EAAoB,CACpB,IAAI5O,EAAM4O,EAAKzV,KAAKuV,EAAOC,UAC3B,GAAqB,WAAjB,GAAQ3O,GACR,OAAOA,EACX,MAAM,IAAI/B,UAAU,+CACxB,CACA,OAA4BlD,OAAiB2T,EACjD,CAdc,CAZuCrH,EAAW3K,KAapC,WAAjB,GAAQA,GAAoBA,EAAM3B,OAAO2B,IAbkB2K,EAClE,CAUJ,IACQ3K,CAVR,CAyBA,IAAIg5B,GAAM,WACN,SAASA,EAAIf,IAxCjB,SAAyB3lB,EAAUC,GAC/B,KAAMD,aAAoBC,GACtB,MAAM,IAAIhR,UAAU,oCAE5B,CAqCQ,CAAgB5D,KAAMq7B,GACtBr7B,KAAKs7B,SAAW,CAAC,EACjBt7B,KAAKs7B,SAAS5O,OAAS4N,EAAS5L,UAChC1uB,KAAKs7B,SAASC,OAASjB,EAAStL,UAChChvB,KAAKs7B,SAAShc,OAASgb,EAASrL,UAChCjvB,KAAKs7B,SAASlM,QAAUkL,EAAShK,iBACrC,CAhCJ,IAAsB1b,EAAaG,EAiD/B,OAjDkBH,EAiCLymB,GAjCkBtmB,EAiCb,CACd,CACI1S,IAAK,MACLxD,MAAO,SAAa8L,EAAM4qB,EAAYiG,GAClCjG,EAAaxuB,KAAK00B,IAAIlG,EAAY,GAClCA,EAAaxuB,KAAKE,IAAIsuB,EAAY,GAClCv1B,KAAKs7B,SAAS3wB,GAAMzO,MAAMs/B,GAA0B,IAAbjG,EAAmB,GAC9D,GAEJ,CACIlzB,IAAK,MACLxD,MAAO,SAAa8L,GAChB,OAAO2qB,WAAWt1B,KAAKs7B,SAAS3wB,GAAMzO,MAAMm6B,OAAS,GACzD,MA5CJ,GAAkBzhB,EAAYpT,UAAWuT,GAG7CtW,OAAO8D,eAAeqS,EAAa,YAAa,CAAEhF,UAAU,IA4CrDyrB,CACX,CA1BU,GA2BV,YC1EA,SAAS,GAAQ3gC,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CAMA,SAAS,GAAkByB,EAAQoS,GAC/B,IAAK,IAAI9U,EAAI,EAAGA,EAAI8U,EAAMxU,OAAQN,IAAK,CACnC,IAAIuT,EAAauB,EAAM9U,GACvBuT,EAAWxK,WAAawK,EAAWxK,aAAc,EACjDwK,EAAWoH,cAAe,EACtB,UAAWpH,IACXA,EAAW4C,UAAW,GAC1BnR,OAAO8D,eAAepG,QAYtBkG,IAGR,SAAsBgS,EAAOC,GACzB,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAC/B,OAAOA,EACX,IAAIE,EAAOF,EAAMhT,OAAOmT,aACxB,QAAanU,IAATkU,EAAoB,CACpB,IAAI5O,EAAM4O,EAAKzV,KAAKuV,EAAOC,UAC3B,GAAqB,WAAjB,GAAQ3O,GACR,OAAOA,EACX,MAAM,IAAI/B,UAAU,+CACxB,CACA,OAA4BlD,OAAiB2T,EACjD,CAdc,CAZuCrH,EAAW3K,KAapC,WAAjB,GAAQA,GAAoBA,EAAM3B,OAAO2B,IAbkB2K,EAClE,CAUJ,IACQ3K,CAVR,CAyBA,IAAIq5B,GAAQ,WACR,SAASA,EAAMxI,IAxCnB,SAAyBve,EAAUC,GAC/B,KAAMD,aAAoBC,GACtB,MAAM,IAAIhR,UAAU,oCAE5B,CAqCQ,CAAgB5D,KAAM07B,GACtB17B,KAAKkzB,OAASA,EACd32B,OAAO83B,sBACI93B,OAAO83B,uBAAyB93B,OAAOo/B,6BAA+Bp/B,OAAOq/B,0BAA4Br/B,OAAOs/B,wBAA0Bt/B,OAAOu/B,yBAA2B,SAAUn8B,GACzLpD,OAAOgH,WAAW5D,EAAU,IAAO,GACvC,EAEJK,KAAK+7B,MAAQ,CACT,UACA,OACA,OAEJ/7B,KAAK8tB,MACT,CAvCJ,IAAsBlZ,EAAaG,EA4I/B,OA5IkBH,EAwCL8mB,GAxCkB3mB,EAwCX,CAChB,CACI1S,IAAK,OACLxD,MAAO,WACH,IAAIysB,EAAQtrB,KACZA,KAAK+7B,MAAM97B,KAAI,SAAU5F,GAIrB,MAHa,QAATA,GACAixB,EAAM,OAAO9wB,OAAOH,EAAM,cAEvBA,CACX,GACJ,GAEJ,CACIgI,IAAK,qBACLxD,MAAO,WACH,IAAI41B,EAASz0B,KACTg8B,EAAc,EACdC,EAAiB,EACjBC,GAAoB,EACxBl8B,KAAKm8B,eAAiBC,aAAY,WAC1B3H,EAAO4H,uBACPJ,EAAiBxH,EAAOvB,OAAO3E,MAAM+N,YAChCJ,GAAqBD,IAAmBD,GAAgBvH,EAAOvB,OAAO3E,MAAM8G,SAC7EZ,EAAOvB,OAAOrF,UAAUI,UAAUC,IAAI,mBACtCgO,GAAoB,GAEpBA,GAAqBD,EAAiBD,IAAgBvH,EAAOvB,OAAO3E,MAAM8G,SAC1EZ,EAAOvB,OAAOrF,UAAUI,UAAUxyB,OAAO,mBACzCygC,GAAoB,GAExBF,EAAcC,EAEtB,GAAG,IACP,GAEJ,CACI55B,IAAK,iBACLxD,MAAO,WACH,IAAIg2B,EAAS70B,KACbzD,OAAO83B,uBAAsB,WACzB,GAAIQ,EAAO0H,iBAEP,GADA1H,EAAO2H,iBACF3H,EAAO4H,SAGL,CACH5H,EAAO6H,WACP,IAAIC,EAAa,IAAI3f,KACjB2f,EAAa9H,EAAO4H,SAAW,MAC/B5H,EAAO3B,OAAOZ,UAAUsK,IAAI/H,EAAO6H,UAAYC,EAAa9H,EAAO4H,UAAY,KAC/E5H,EAAO4H,SAAW,IAAIzf,KACtB6X,EAAO6H,SAAW,EAE1B,MAVI7H,EAAO4H,SAAW,IAAIzf,KACtB6X,EAAO6H,SAAW,OAWtB7H,EAAO4H,SAAW,EAClB5H,EAAO6H,SAAW,CAE1B,GACJ,GAEJ,CACIr6B,IAAK,kBACLxD,MAAO,WACH,IAAIu2B,EAASp1B,KACbA,KAAK68B,YAAcT,aAAY,WACvBhH,EAAO0H,mBACP1H,EAAOlC,OAAOZ,UAAU/2B,QAEhC,GAAG,IACP,GAEJ,CACI8G,IAAK,SACLxD,MAAO,SAAgB8L,GACnB3K,KAAK,SAASxF,OAAOmQ,EAAM,aAAc,EAC5B,QAATA,GACA3K,KAAKw8B,gBAEb,GAEJ,CACIn6B,IAAK,UACLxD,MAAO,SAAiB8L,GACpB3K,KAAK,SAASxF,OAAOmQ,EAAM,aAAc,CAC7C,GAEJ,CACItI,IAAK,UACLxD,MAAO,WACH,IAAI62B,EAAS11B,KACbA,KAAK+7B,MAAM97B,KAAI,SAAU5F,GAGrB,OAFAq7B,EAAO,SAASl7B,OAAOH,EAAM,aAAc,EAC3Cq7B,EAAO,GAAGl7B,OAAOH,EAAM,aAAe0iC,cAAcrH,EAAO,GAAGl7B,OAAOH,EAAM,aACpEA,CACX,GACJ,MAvIJ,GAAkBua,EAAYpT,UAAWuT,GAG7CtW,OAAO8D,eAAeqS,EAAa,YAAa,CAAEhF,UAAU,IAuIrD8rB,CACX,CArHY,GAsHZ,YCrKA,SAAS,GAAQhhC,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CAMA,SAAS,GAAkByB,EAAQoS,GAC/B,IAAK,IAAI9U,EAAI,EAAGA,EAAI8U,EAAMxU,OAAQN,IAAK,CACnC,IAAIuT,EAAauB,EAAM9U,GACvBuT,EAAWxK,WAAawK,EAAWxK,aAAc,EACjDwK,EAAWoH,cAAe,EACtB,UAAWpH,IACXA,EAAW4C,UAAW,GAC1BnR,OAAO8D,eAAepG,QAYtBkG,IAGR,SAAsBgS,EAAOC,GACzB,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAC/B,OAAOA,EACX,IAAIE,EAAOF,EAAMhT,OAAOmT,aACxB,QAAanU,IAATkU,EAAoB,CACpB,IAAI5O,EAAM4O,EAAKzV,KAAKuV,EAAOC,UAC3B,GAAqB,WAAjB,GAAQ3O,GACR,OAAOA,EACX,MAAM,IAAI/B,UAAU,+CACxB,CACA,OAA4BlD,OAAiB2T,EACjD,CAdc,CAZuCrH,EAAW3K,KAapC,WAAjB,GAAQA,GAAoBA,EAAM3B,OAAO2B,IAbkB2K,EAClE,CAUJ,IACQ3K,CAVR,CA2CA,SAlBY,WACR,SAAS26B,EAAMnP,GACX,IAAIvC,EAAQtrB,MAzCpB,SAAyB2U,EAAUC,GAC/B,KAAMD,aAAoBC,GACtB,MAAM,IAAIhR,UAAU,oCAE5B,CAsCQ,CAAgB5D,KAAMg9B,GACtBh9B,KAAK6tB,UAAYA,EACjB7tB,KAAK6tB,UAAU7L,iBAAiB,gBAAgB,WAC5CsJ,EAAMuC,UAAUI,UAAUxyB,OAAO,2BACrC,GACJ,CAhCJ,IAAsBmZ,EAAaG,EAwC/B,OAxCkBH,EAiCLooB,GAjCkBjoB,EAiCX,CAAC,CACb1S,IAAK,SACLxD,MAAO,SAAiBo+B,GACpBj9B,KAAK6tB,UAAUO,UAAY6O,EAC3Bj9B,KAAK6tB,UAAUI,UAAUC,IAAI,2BACjC,MApCJ,GAAkBtZ,EAAYpT,UAAWuT,GAG7CtW,OAAO8D,eAAeqS,EAAa,YAAa,CAAEhF,UAAU,IAmCrDotB,CACX,CAjBY,GC/CZ,SAAS,GAAQtiC,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CAMA,SAAS,GAAkByB,EAAQoS,GAC/B,IAAK,IAAI9U,EAAI,EAAGA,EAAI8U,EAAMxU,OAAQN,IAAK,CACnC,IAAIuT,EAAauB,EAAM9U,GACvBuT,EAAWxK,WAAawK,EAAWxK,aAAc,EACjDwK,EAAWoH,cAAe,EACtB,UAAWpH,IACXA,EAAW4C,UAAW,GAC1BnR,OAAO8D,eAAepG,QAYtBkG,IAGR,SAAsBgS,EAAOC,GACzB,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAC/B,OAAOA,EACX,IAAIE,EAAOF,EAAMhT,OAAOmT,aACxB,QAAanU,IAATkU,EAAoB,CACpB,IAAI5O,EAAM4O,EAAKzV,KAAKuV,EAAOC,UAC3B,GAAqB,WAAjB,GAAQ3O,GACR,OAAOA,EACX,MAAM,IAAI/B,UAAU,+CACxB,CACA,OAA4BlD,OAAiB2T,EACjD,CAdc,CAZuCrH,EAAW3K,KAapC,WAAjB,GAAQA,GAAoBA,EAAM3B,OAAO2B,IAbkB2K,EAClE,CAUJ,IACQ3K,CAVR,CAyBA,IAAI66B,GAAa,WACb,SAASA,EAAWhjC,IAxCxB,SAAyBya,EAAUC,GAC/B,KAAMD,aAAoBC,GACtB,MAAM,IAAIhR,UAAU,oCAE5B,CAqCQ,CAAgB5D,KAAMk9B,GACtBl9B,KAAK6tB,UAAY3zB,EAAQ2zB,UACzB7tB,KAAKm9B,SAAWjjC,EAAQijC,SACxBn9B,KAAK6tB,UAAU3xB,MAAMkhC,gBAAkB,QAAS5iC,OAAON,EAAQuG,IAAK,MACpET,KAAKwzB,OAASt5B,EAAQs5B,MAC1B,CA/BJ,IAAsB5e,EAAaG,EAgE/B,OAhEkBH,EAgCLsoB,GAhCkBnoB,EAgCN,CACrB,CACI1S,IAAK,SACLxD,MAAO,SAAgBw3B,EAAOT,EAAQyH,GAClCr9B,KAAK6tB,UAAU3xB,MAAMm6B,MAAQ,GAAG77B,OAAO67B,EAAO,MAC9Cr2B,KAAK6tB,UAAU3xB,MAAM05B,OAAS,GAAGp7B,OAAOo7B,EAAQ,MAChD51B,KAAK6tB,UAAU3xB,MAAMqM,IAAM,GAAG/N,OAAiB,EAATo7B,EAAY,MAClD51B,KAAKm9B,SAAWE,CACpB,GAEJ,CACIh7B,IAAK,OACLxD,MAAO,WACHmB,KAAK6tB,UAAU3xB,MAAMohC,QAAU,QAC/Bt9B,KAAKwzB,QAAUxzB,KAAKwzB,OAAOS,QAAQ,kBACvC,GAEJ,CACI5xB,IAAK,OACLxD,MAAO,SAAcoQ,GACjBjP,KAAK6tB,UAAU3xB,MAAMqhC,mBAAqB,IAAI/iC,OAAyD,KAAjDuM,KAAKy2B,KAAKvuB,EAAWjP,KAAKm9B,SAAW,KAAO,GAAU,QAC5Gn9B,KAAK6tB,UAAU3xB,MAAMuM,KAAO,GAAGjO,OAAOuM,KAAKE,IAAIF,KAAK00B,IAAIxsB,EAAWjP,KAAK6tB,UAAUiI,YAAc,GAAI,IAAK91B,KAAKm9B,SAAW,KAAM,KACnI,GAEJ,CACI96B,IAAK,OACLxD,MAAO,WACHmB,KAAK6tB,UAAU3xB,MAAMohC,QAAU,OAC/Bt9B,KAAKwzB,QAAUxzB,KAAKwzB,OAAOS,QAAQ,kBACvC,MA3DJ,GAAkBrf,EAAYpT,UAAWuT,GAG7CtW,OAAO8D,eAAeqS,EAAa,YAAa,CAAEhF,UAAU,IA2DrDstB,CACX,CAzCiB,GA0CjB,YCzFA,SAAS,GAAQxiC,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CAMA,SAAS,GAAkByB,EAAQoS,GAC/B,IAAK,IAAI9U,EAAI,EAAGA,EAAI8U,EAAMxU,OAAQN,IAAK,CACnC,IAAIuT,EAAauB,EAAM9U,GACvBuT,EAAWxK,WAAawK,EAAWxK,aAAc,EACjDwK,EAAWoH,cAAe,EACtB,UAAWpH,IACXA,EAAW4C,UAAW,GAC1BnR,OAAO8D,eAAepG,QAYtBkG,IAGR,SAAsBgS,EAAOC,GACzB,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAC/B,OAAOA,EACX,IAAIE,EAAOF,EAAMhT,OAAOmT,aACxB,QAAanU,IAATkU,EAAoB,CACpB,IAAI5O,EAAM4O,EAAKzV,KAAKuV,EAAOC,UAC3B,GAAqB,WAAjB,GAAQ3O,GACR,OAAOA,EACX,MAAM,IAAI/B,UAAU,+CACxB,CACA,OAA4BlD,OAAiB2T,EACjD,CAdc,CAZuCrH,EAAW3K,KAapC,WAAjB,GAAQA,GAAoBA,EAAM3B,OAAO2B,IAbkB2K,EAClE,CAUJ,IACQ3K,CAVR,CA4BA,IAAIo7B,GACAC,IAAU,EACVC,IAAY,EACZC,GAAa,WACb,SAASA,EAAW1K,IA9CxB,SAAyBve,EAAUC,GAC/B,KAAMD,aAAoBC,GACtB,MAAM,IAAIhR,UAAU,oCAE5B,CA2CQ,CAAgB5D,KAAM49B,GACtB59B,KAAKkzB,OAASA,EACdlzB,KAAK69B,cAAgB,EAChB,aACD79B,KAAK89B,mBAAqB99B,KAAK+9B,YAAY5jB,KAAKna,MAChDA,KAAKkzB,OAAOrF,UAAU7L,iBAAiB,YAAahiB,KAAK89B,oBACzD99B,KAAKkzB,OAAOrF,UAAU7L,iBAAiB,QAAShiB,KAAK89B,oBACrD99B,KAAKkzB,OAAOsF,GAAG,OAAQx4B,KAAK89B,oBAC5B99B,KAAKkzB,OAAOsF,GAAG,QAASx4B,KAAK89B,qBAEjC99B,KAAKg+B,iBACLh+B,KAAKi+B,iBACLj+B,KAAKk+B,gBACLl+B,KAAKm+B,iBACLn+B,KAAKo+B,oBACLp+B,KAAKq+B,uBACDr+B,KAAKkzB,OAAOh5B,QAAQsyB,UAC4B,iBAArCxsB,KAAKkzB,OAAOh5B,QAAQsyB,SAAS/rB,KACpCT,KAAKs+B,qBAGbt+B,KAAKu+B,iBACLv+B,KAAKw+B,oBACLx+B,KAAKy+B,uBACA,YACDz+B,KAAK0+B,kBAEb,CA3DJ,IAAsB9pB,EAAaG,EAyc/B,OAzckBH,EA4DLgpB,GA5DkB7oB,EA4DN,CACrB,CACI1S,IAAK,iBACLxD,MAAO,WACH,IAAIysB,EAAQtrB,KACZA,KAAKkzB,OAAOoH,SAAS/K,WAAWvN,iBAAiB,SAAS,WACtDsJ,EAAM4H,OAAOyL,QACjB,IACA3+B,KAAKkzB,OAAOoH,SAAS9K,iBAAiBxN,iBAAiB,SAAS,WAC5DsJ,EAAM4H,OAAOyL,QACjB,IACK,YAUD3+B,KAAKkzB,OAAOoH,SAAS7K,UAAUzN,iBAAiB,SAAS,WACrDsJ,EAAMqT,QACV,IACA3+B,KAAKkzB,OAAOoH,SAAS5K,eAAe1N,iBAAiB,SAAS,WAC1DsJ,EAAMqT,QACV,KAdK3+B,KAAKkzB,OAAOh5B,QAAQ0kC,qBACrB5+B,KAAKkzB,OAAOoH,SAAS7K,UAAUzN,iBAAiB,SAAS,WACrDsJ,EAAM4H,OAAOyL,QACjB,IACA3+B,KAAKkzB,OAAOoH,SAAS5K,eAAe1N,iBAAiB,SAAS,WAC1DsJ,EAAM4H,OAAOyL,QACjB,IAUZ,GAEJ,CACIt8B,IAAK,iBACLxD,MAAO,WACH,IAAI41B,EAASz0B,KACbA,KAAKkzB,OAAOsF,GAAG,kBAAkB,WAC7B,GAAqC,IAAjC/D,EAAOvB,OAAO3E,MAAMsQ,UAAkBpK,EAAOvB,OAAO3E,MAAMsQ,WAAah4B,KACnE4tB,EAAOvB,OAAOh5B,QAAQ4kC,UAAW,CACjC,IAAIC,EAAatK,EAAOvB,OAAOoH,SAASpL,cAAcmB,iBAAiB,sBACvE,GAAGxvB,MAAM/B,KAAKigC,EAAY,GAAGrzB,SAAQ,SAAUrR,GAC3Co6B,EAAOvB,OAAOoH,SAASpL,cAAclxB,YAAY3D,EACrD,IACA,IAAK,IAAIZ,EAAI,EAAGA,EAAIg7B,EAAOvB,OAAOh5B,QAAQ4kC,UAAU/kC,OAAQN,IACxD,GAAKg7B,EAAOvB,OAAOh5B,QAAQ4kC,UAAUrlC,GAAG0xB,MAASsJ,EAAOvB,OAAOh5B,QAAQ4kC,UAAUrlC,GAAGwxB,KAApF,CAGA,IAAI+T,EAAI3iC,SAASW,cAAc,OAC/BgiC,EAAE/Q,UAAUC,IAAI,qBAChB8Q,EAAE9iC,MAAMuM,KAAOgsB,EAAOvB,OAAOh5B,QAAQ4kC,UAAUrlC,GAAGwxB,KAAOwJ,EAAOvB,OAAO3E,MAAMsQ,SAAW,IAAM,IAC9FG,EAAE5Q,UAAY,wCAA0CqG,EAAOvB,OAAOh5B,QAAQ4kC,UAAUrlC,GAAG0xB,KAAO,UAClGsJ,EAAOvB,OAAOoH,SAASpL,cAAc+P,aAAaD,EAAGvK,EAAOvB,OAAOoH,SAASnL,cAL5E,CAOR,CAER,GACJ,GAEJ,CACI9sB,IAAK,iBACLxD,MAAO,WACH,IAAIg2B,EAAS70B,KACTA,KAAKkzB,OAAOh5B,QAAQq0B,MAAM2Q,aAC1Bl/B,KAAKk/B,WAAa,IAAI,GAAW,CAC7BrR,UAAW7tB,KAAKkzB,OAAOoH,SAASnI,WAChCgL,SAAUn9B,KAAKkzB,OAAOoH,SAASlI,QAAQ0D,YACvCr1B,IAAKT,KAAKkzB,OAAOh5B,QAAQq0B,MAAM2Q,WAC/B1L,OAAQxzB,KAAKkzB,OAAOM,SAExBxzB,KAAKkzB,OAAOsF,GAAG,kBAAkB,WAC7B3D,EAAOqK,WAAWzG,OAAO,IAAK5D,EAAO3B,OAAO3E,MAAM4Q,YAActK,EAAO3B,OAAO3E,MAAM6Q,WAAa,IAAKvK,EAAO3B,OAAOoH,SAASlI,QAAQ0D,YACzI,IAER,GAEJ,CACIzzB,IAAK,gBACLxD,MAAO,WACH,IAAIu2B,EAASp1B,KACTq/B,EAAY,SAAmB1iC,GAC/B,IAAI44B,IAAe54B,EAAE2iC,SAAW3iC,EAAE4iC,eAAe,GAAGD,SAAW,gCAAoClK,EAAOlC,OAAOoH,SAASpL,gBAAkBkG,EAAOlC,OAAOoH,SAASpL,cAAcsQ,YACjLjK,EAAaxuB,KAAK00B,IAAIlG,EAAY,GAClCA,EAAaxuB,KAAKE,IAAIsuB,EAAY,GAClCH,EAAOlC,OAAOuM,IAAIp2B,IAAI,SAAUksB,EAAY,SAC5CH,EAAOlC,OAAOoH,SAAS3K,MAAMvB,UAAY,eAAmBmH,EAAaH,EAAOlC,OAAO3E,MAAMsQ,SACjG,EACIa,EAAU,SAASA,EAAQ/iC,GAC3BN,SAASikB,oBAAoB,kBAAuBof,GACpDrjC,SAASikB,oBAAoB,mBAAwB+e,GACrD,IAAI9J,IAAe54B,EAAE2iC,SAAW3iC,EAAE4iC,eAAe,GAAGD,SAAW,gCAAoClK,EAAOlC,OAAOoH,SAASpL,gBAAkBkG,EAAOlC,OAAOoH,SAASpL,cAAcsQ,YACjLjK,EAAaxuB,KAAK00B,IAAIlG,EAAY,GAClCA,EAAaxuB,KAAKE,IAAIsuB,EAAY,GAClCH,EAAOlC,OAAOuM,IAAIp2B,IAAI,SAAUksB,EAAY,SAC5CH,EAAOlC,OAAO2E,KAAKzC,EAAOlC,OAAOuM,IAAIh9B,IAAI,UAAY2yB,EAAOlC,OAAO3E,MAAMsQ,UACzEzJ,EAAOlC,OAAOyM,MAAMC,OAAO,WAC/B,EACA5/B,KAAKkzB,OAAOoH,SAASpL,cAAclN,iBAAiB,qBAAyB,WACzEoT,EAAOlC,OAAOyM,MAAME,QAAQ,YAC5BxjC,SAAS2lB,iBAAiB,mBAAwBqd,GAClDhjC,SAAS2lB,iBAAiB,kBAAuB0d,EACrD,IACA1/B,KAAKkzB,OAAOoH,SAASpL,cAAclN,iBAAiB,oBAAwB,SAAUrlB,GAClF,GAAIy4B,EAAOlC,OAAO3E,MAAMsQ,SAAU,CAC9B,IAAIiB,EAAK1K,EAAOlC,OAAOoH,SAASpL,cAAc9mB,wBAAwBK,KAClEs3B,GAAMpjC,EAAE2iC,SAAW3iC,EAAE4iC,eAAe,GAAGD,SAAWQ,EACtD,GAAIC,EAAK,GAAKA,EAAK3K,EAAOlC,OAAOoH,SAASpL,cAAc4G,YACpD,OAEJ,IAAI7K,EAAOmK,EAAOlC,OAAO3E,MAAMsQ,UAAYkB,EAAK3K,EAAOlC,OAAOoH,SAASpL,cAAc4G,aACjF,YACAV,EAAO8J,YAAc9J,EAAO8J,WAAWzE,OAE3CrF,EAAO8J,YAAc9J,EAAO8J,WAAWc,KAAKD,GAC5C3K,EAAOlC,OAAOoH,SAASnL,cAAcjzB,MAAMuM,KAAO,GAAGjO,OAAOulC,GAAM9U,GAAQ,KAAO,GAAK,IAAK,MAC3FmK,EAAOlC,OAAOoH,SAASnL,cAAchB,UAAY,eAAmBlD,GACpEmK,EAAOlC,OAAOoH,SAASnL,cAAclB,UAAUxyB,OAAO,SAC1D,CACJ,IACAuE,KAAKkzB,OAAOoH,SAASpL,cAAclN,iBAAiB,mBAAuB,WACnE,YACAoT,EAAO8J,YAAc9J,EAAO8J,WAAWxE,MAE/C,IACK,aACD16B,KAAKkzB,OAAOoH,SAASpL,cAAclN,iBAAiB,cAAc,WAC1DoT,EAAOlC,OAAO3E,MAAMsQ,WACpBzJ,EAAO8J,YAAc9J,EAAO8J,WAAWzE,OACvCrF,EAAOlC,OAAOoH,SAASnL,cAAclB,UAAUxyB,OAAO,UAE9D,IACAuE,KAAKkzB,OAAOoH,SAASpL,cAAclN,iBAAiB,cAAc,WAC1DoT,EAAOlC,OAAO3E,MAAMsQ,WACpBzJ,EAAO8J,YAAc9J,EAAO8J,WAAWxE,OACvCtF,EAAOlC,OAAOoH,SAASnL,cAAclB,UAAUC,IAAI,UAE3D,IAER,GAEJ,CACI7rB,IAAK,iBACLxD,MAAO,WACH,IAAI62B,EAAS11B,KACbA,KAAKkzB,OAAOoH,SAASlJ,kBAAkBpP,iBAAiB,SAAS,WAC7D0T,EAAOxC,OAAO+E,WAAW0G,OAAO,UACpC,IACA3+B,KAAKkzB,OAAOoH,SAASjJ,cAAcrP,iBAAiB,SAAS,WACzD0T,EAAOxC,OAAO+E,WAAW0G,OAAO,MACpC,GACJ,GAEJ,CACIt8B,IAAK,mBACLxD,MAAO,WACH,IAAIohC,EAASjgC,KAETkgC,EAAa,SAAoBrgB,GACjC,IAAIljB,EAAIkjB,GAAStjB,OAAOsjB,MACpB0V,IAAe54B,EAAE2iC,SAAW3iC,EAAE4iC,eAAe,GAAGD,SAAW,gCAAoCW,EAAO/M,OAAOoH,SAAS3L,eAAiB,KAHlI,GAITsR,EAAO/M,OAAOxG,OAAO6I,EACzB,EACItI,EAAW,SAASA,IACpB5wB,SAASikB,oBAAoB,kBAAuB2M,GACpD5wB,SAASikB,oBAAoB,mBAAwB4f,GACrDD,EAAO/M,OAAOoH,SAASzL,aAAaZ,UAAUxyB,OAAO,wBACzD,EACAuE,KAAKkzB,OAAOoH,SAAS1L,kBAAkB5M,iBAAiB,SAAS,SAAUnC,GACvE,IAAIljB,EAAIkjB,GAAStjB,OAAOsjB,MACpB0V,IAAe54B,EAAE2iC,SAAW3iC,EAAE4iC,eAAe,GAAGD,SAAW,gCAAoCW,EAAO/M,OAAOoH,SAAS3L,eAAiB,KAblI,GAcTsR,EAAO/M,OAAOxG,OAAO6I,EACzB,IACAv1B,KAAKkzB,OAAOoH,SAAS1L,kBAAkB5M,iBAAiB,qBAAyB,WAC7E3lB,SAAS2lB,iBAAiB,mBAAwBke,GAClD7jC,SAAS2lB,iBAAiB,kBAAuBiL,GACjDgT,EAAO/M,OAAOoH,SAASzL,aAAaZ,UAAUC,IAAI,wBACtD,IACAluB,KAAKkzB,OAAOoH,SAASxL,iBAAiB9M,iBAAiB,SAAS,WACxDie,EAAO/M,OAAO3E,MAAM4R,OACpBF,EAAO/M,OAAO3E,MAAM4R,OAAQ,EAC5BF,EAAO/M,OAAOkN,mBACdH,EAAO/M,OAAOuM,IAAIp2B,IAAI,SAAU42B,EAAO/M,OAAOxG,SAAU,WAExDuT,EAAO/M,OAAO3E,MAAM4R,OAAQ,EAC5BF,EAAO/M,OAAOoH,SAASvL,WAAWX,UAAY,aAC9C6R,EAAO/M,OAAOuM,IAAIp2B,IAAI,SAAU,EAAG,SAE3C,GACJ,GAEJ,CACIhH,IAAK,oBACLxD,MAAO,WACH,IAAIwhC,EAASrgC,KACTA,KAAKkzB,OAAOh5B,QAAQq0B,MAAM+R,SAC1BtgC,KAAKkzB,OAAOoH,SAAS9I,YAAYxP,iBAAiB,SAAS,SAAUrlB,GAC7DA,EAAER,OAAO8xB,UAAU6K,SAAS,yBAC5BuH,EAAOnN,OAAOqN,cAAc5jC,EAAER,OAAO4+B,QAAQn/B,MAErD,GAER,GAEJ,CACIyG,IAAK,uBACLxD,MAAO,WACH,IAAI2hC,EAASxgC,KACTA,KAAKkzB,OAAOh5B,QAAQmyB,YACpBrsB,KAAKkzB,OAAOoH,SAAS7I,aAAazP,iBAAiB,SAAS,WACxD,IAIIye,EAJAC,EAASrkC,SAASW,cAAc,UACpC0jC,EAAOrK,MAAQmK,EAAOtN,OAAO3E,MAAM6Q,WACnCsB,EAAO9K,OAAS4K,EAAOtN,OAAO3E,MAAM4Q,YACpCuB,EAAOjJ,WAAW,MAAMkJ,UAAUH,EAAOtN,OAAO3E,MAAO,EAAG,EAAGmS,EAAOrK,MAAOqK,EAAO9K,QAElF8K,EAAOE,QAAO,SAAUC,GACpBJ,EAAUjnC,IAAIsnC,gBAAgBD,GAC9B,IAAIE,EAAO1kC,SAASW,cAAc,KAClC+jC,EAAK/9B,KAAOy9B,EACZM,EAAKC,SAAW,cAChBD,EAAK7kC,MAAMohC,QAAU,OACrBjhC,SAASqL,KAAK5K,YAAYikC,GAC1BA,EAAKE,QACL5kC,SAASqL,KAAK1J,YAAY+iC,GAC1BvnC,IAAI0nC,gBAAgBT,GACpBD,EAAOtN,OAAOM,OAAOS,QAAQ,aAAcwM,EAC/C,GACJ,GAER,GAEJ,CACIp+B,IAAK,oBACLxD,MAAO,WACCmB,KAAKkzB,OAAOh5B,QAAQoyB,UAChB/vB,OAAO4kC,sCACPnhC,KAAKkzB,OAAO3E,MAAMvM,iBAAiB,0CAA2C,SAAUnC,GAE/E,cADGA,EAAMuhB,aAEVphC,KAAKs6B,SAAS5I,cAAcmO,SAAU,EAGtC7/B,KAAKs6B,SAAS5I,cAAcmO,SAAU,EAE1C7/B,KAAKs6B,SAAS5I,cAAc1P,iBAAiB,QAAS,WAClDhiB,KAAKuuB,MAAM8S,gCACf,EAAElnB,KAAKna,MACX,EAAEma,KAAKna,KAAKkzB,SAEZlzB,KAAKkzB,OAAOoH,SAAS5I,cAAcx1B,MAAMohC,QAAU,OAG/D,GAEJ,CACIj7B,IAAK,iBACLxD,MAAO,WACH,IAAIyiC,EAAS/kC,OAAOF,SAASW,cAAc,UAC3CskC,EAAOjkC,aAAa,OAAQ,mBAC5BikC,EAAOjkC,aAAa,MAAO,8EAC3Bd,OAAOF,SAASqL,KAAK5K,YAAYwkC,GACjC/kC,OAAOglC,sBAAwB,SAAUC,GACrC,GAAIA,EAAa,CAEb,IAAIC,EAAiB,IADrBhE,GAAOlhC,OAAOmlC,OAAOjE,MACSkE,eAAelE,GAAK7iC,MAAMgnC,+BACpDC,EAAY,IAAIpE,GAAKqE,UAAUL,GAAgB,WACnD,IAAG,SAAUv7B,GACLA,IAAWu3B,GAAKsE,qBAAqBC,WACrC17B,QAAQ27B,IAAI,eAAgB/7B,EAEpC,IACAu3B,GAAKyE,WAAWL,GAAW,WAC3B,GACJ,CACJ,CACJ,GAEJ,CACIx/B,IAAK,uBACLxD,MAAO,WACH,IAAIsjC,EAASniC,KACb,GAAIA,KAAKkzB,OAAOh5B,QAAQqyB,WAAY,CAC5BmR,KACAA,IAAU,EACV19B,KAAKoiC,kBAET,IAsBIC,EAAoB,SAA2BC,EAAK1nC,GACpDunC,EAAOI,aAAe3nC,CAC1B,EACI4nC,EAAe,SAAsBn8B,GACrCC,QAAQN,MAAM,wBAAyBK,EAC3C,EACArG,KAAKkzB,OAAOoH,SAAS3I,iBAAiB3P,iBAAiB,SAAS,WACxD2b,IACAA,IAAY,EACZwE,EAAOI,aAAaE,OACpBN,EAAOO,QAAQD,OACfN,EAAOC,mBAEPzE,IAAY,EAlChBF,GAAKkF,gBAAe,SAAUC,GAWhB,IAAqBhoC,EAC/BioC,EACA5xB,EAZAkxB,EAAOO,QAAUE,EAUchoC,EATnBunC,EAAOjP,OAAOh5B,QAAQq0B,MAAM9tB,IAUxCoiC,EAAY,IAAIpF,GAAK7iC,MAAMkoC,UAAUloC,GACrCqW,EAAU,IAAIwsB,GAAK7iC,MAAMmoC,YAAYF,GACpCV,EAAOO,QAIZP,EAAOO,QAAQM,UAAU/xB,EAASoxB,EAAkBloB,KAAKgoB,EAAQ,aAAcK,GAAczV,OAHzFxwB,OAAO0kB,KAAKrmB,EAZhB,IAAG,SAAUyL,GACQ,WAAbA,EAAI0K,KACJoxB,EAAOO,aAAUriC,EAEjBiG,QAAQN,MAAM,gCAAiCK,EAEvD,IA4BJ,GACJ,CACJ,GAEJ,CACIhE,IAAK,qBACLxD,MAAO,WACH,IAAIokC,EAAUjjC,KACdA,KAAKkzB,OAAOM,OAAOgF,GAAG,iBAAiB,WACnCyK,EAAQ/P,OAAOoH,SAAS1I,eAAemJ,QAAQmI,QAAUD,EAAQ/P,OAAOzH,KAAK,aAC7EwX,EAAQ/P,OAAOoH,SAASzI,oBAAoB31B,MAAM6xB,QAAU,GAC5DkV,EAAQ/P,OAAO6B,KAAK1rB,IAAI,WAAY,EACxC,IACArJ,KAAKkzB,OAAOM,OAAOgF,GAAG,iBAAiB,WACnCyK,EAAQ/P,OAAOoH,SAAS1I,eAAemJ,QAAQmI,QAAUD,EAAQ/P,OAAOzH,KAAK,aAC7EwX,EAAQ/P,OAAOoH,SAASzI,oBAAoB31B,MAAM6xB,QAAU,MAC5DkV,EAAQ/P,OAAO6B,KAAK1rB,IAAI,WAAY,EACxC,IACArJ,KAAKkzB,OAAOoH,SAAS1I,eAAe5P,iBAAiB,SAAS,WAC1DihB,EAAQ/P,OAAO1G,SAASmS,QAC5B,GACJ,GAEJ,CACIt8B,IAAK,cACLxD,MAAO,WACH,IAAIskC,EAAUnjC,KACdA,KAAKy6B,OACL2I,aAAapjC,KAAK69B,eAClB79B,KAAK69B,cAAgBt6B,YAAW,YACxB4/B,EAAQjQ,OAAO3E,MAAMgN,OAAOxhC,QAAWopC,EAAQjQ,OAAOmC,QAAW8N,EAAQjI,iBACzEiI,EAAQzI,MAEhB,GAAG,IACP,GAEJ,CACIr4B,IAAK,OACLxD,MAAO,WACHmB,KAAKkzB,OAAOrF,UAAUI,UAAUxyB,OAAO,0BAC3C,GAEJ,CACI4G,IAAK,OACLxD,MAAO,WACHmB,KAAKkzB,OAAOrF,UAAUI,UAAUC,IAAI,2BACpCluB,KAAKkzB,OAAO/G,QAAQuO,OACpB16B,KAAKkzB,OAAO3F,SAAWvtB,KAAKkzB,OAAO3F,QAAQmN,MAC/C,GAEJ,CACIr4B,IAAK,SACLxD,MAAO,WACH,OAAQmB,KAAKkzB,OAAOrF,UAAUI,UAAU6K,SAAS,0BACrD,GAEJ,CACIz2B,IAAK,SACLxD,MAAO,WACCmB,KAAKqjC,SACLrjC,KAAK06B,OAEL16B,KAAKy6B,MAEb,GAEJ,CACIp4B,IAAK,UACLxD,MAAO,WACE,aACDmB,KAAKkzB,OAAOrF,UAAUvN,oBAAoB,YAAatgB,KAAK89B,oBAC5D99B,KAAKkzB,OAAOrF,UAAUvN,oBAAoB,QAAStgB,KAAK89B,qBAE5DsF,aAAapjC,KAAK69B,cACtB,MApcJ,GAAkBjpB,EAAYpT,UAAWuT,GAG7CtW,OAAO8D,eAAeqS,EAAa,YAAa,CAAEhF,UAAU,IAocrDguB,CACX,CA5aiB,GA6ajB,YCleA,SAAS,GAAQljC,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CAMA,SAAS,GAAkByB,EAAQoS,GAC/B,IAAK,IAAI9U,EAAI,EAAGA,EAAI8U,EAAMxU,OAAQN,IAAK,CACnC,IAAIuT,EAAauB,EAAM9U,GACvBuT,EAAWxK,WAAawK,EAAWxK,aAAc,EACjDwK,EAAWoH,cAAe,EACtB,UAAWpH,IACXA,EAAW4C,UAAW,GAC1BnR,OAAO8D,eAAepG,QAYtBkG,IAGR,SAAsBgS,EAAOC,GACzB,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAC/B,OAAOA,EACX,IAAIE,EAAOF,EAAMhT,OAAOmT,aACxB,QAAanU,IAATkU,EAAoB,CACpB,IAAI5O,EAAM4O,EAAKzV,KAAKuV,EAAOC,UAC3B,GAAqB,WAAjB,GAAQ3O,GACR,OAAOA,EACX,MAAM,IAAI/B,UAAU,+CACxB,CACA,OAA4BlD,OAAiB2T,EACjD,CAdc,CAZuCrH,EAAW3K,KAapC,WAAjB,GAAQA,GAAoBA,EAAM3B,OAAO2B,IAbkB2K,EAClE,CAUJ,IACQ3K,CAVR,CA0BA,IAAIihC,GAAU,WACV,SAASA,EAAQpQ,GACb,IAAI5H,EAAQtrB,MA1CpB,SAAyB2U,EAAUC,GAC/B,KAAMD,aAAoBC,GACtB,MAAM,IAAIhR,UAAU,oCAE5B,CAuCQ,CAAgB5D,KAAMsjC,GACtBtjC,KAAKkzB,OAASA,EACdlzB,KAAKkzB,OAAOoH,SAASxK,KAAK9N,iBAAiB,SAAS,WAChDsJ,EAAMoP,MACV,IACA16B,KAAKkzB,OAAOoH,SAAS1K,cAAc5N,iBAAiB,SAAS,WACzDsJ,EAAMmP,MACV,IACAz6B,KAAK8rB,KAAO9rB,KAAKkzB,OAAOh5B,QAAQ4xB,KAChC9rB,KAAKkzB,OAAOoH,SAASvK,WAAWwT,QAAUvjC,KAAK8rB,KAC/C9rB,KAAKkzB,OAAOoH,SAASxO,KAAK9J,iBAAiB,SAAS,WAChDsJ,EAAM4H,OAAOoH,SAASvK,WAAWwT,SAAWjY,EAAM4H,OAAOoH,SAASvK,WAAWwT,QACzEjY,EAAM4H,OAAOoH,SAASvK,WAAWwT,QACjCjY,EAAMQ,MAAO,EAEbR,EAAMQ,MAAO,EAEjBR,EAAMoP,MACV,IACA16B,KAAKgwB,YAAchwB,KAAKkzB,OAAO6B,KAAKtyB,IAAI,WACnCzC,KAAKgwB,aACNhwB,KAAKkzB,OAAO9D,SAAWpvB,KAAKkzB,OAAO9D,QAAQsL,OAE/C16B,KAAKkzB,OAAOoH,SAASrK,kBAAkBsT,QAAUvjC,KAAKgwB,YACtDhwB,KAAKkzB,OAAOoH,SAAStK,YAAYhO,iBAAiB,SAAS,WACvDsJ,EAAM4H,OAAOoH,SAASrK,kBAAkBsT,SAAWjY,EAAM4H,OAAOoH,SAASrK,kBAAkBsT,QACvFjY,EAAM4H,OAAOoH,SAASrK,kBAAkBsT,SACxCjY,EAAM0E,aAAc,EACpB1E,EAAM4H,OAAO9D,QAAQqL,SAErBnP,EAAM0E,aAAc,EACpB1E,EAAM4H,OAAO9D,QAAQsL,QAEzBpP,EAAM4H,OAAO6B,KAAK1rB,IAAI,UAAWiiB,EAAM0E,YAAc,EAAI,GACzD1E,EAAMoP,MACV,IACA16B,KAAKkwB,eAAiBlwB,KAAKkzB,OAAO6B,KAAKtyB,IAAI,aAC3CzC,KAAKkzB,OAAOoH,SAASnK,qBAAqBoT,QAAUvjC,KAAKkwB,eACzDlwB,KAAKkzB,OAAOoH,SAASpK,eAAelO,iBAAiB,SAAS,WAC1DsJ,EAAM4H,OAAOoH,SAASnK,qBAAqBoT,SAAWjY,EAAM4H,OAAOoH,SAASnK,qBAAqBoT,QAC7FjY,EAAM4H,OAAOoH,SAASnK,qBAAqBoT,SAC3CjY,EAAM4E,gBAAiB,EACvB5E,EAAM4H,OAAO9D,QAAQoU,SAAQ,KAE7BlY,EAAM4E,gBAAiB,EACvB5E,EAAM4H,OAAO9D,QAAQoU,SAAQ,IAEjClY,EAAM4H,OAAO6B,KAAK1rB,IAAI,YAAaiiB,EAAM4E,eAAiB,EAAI,GAC9D5E,EAAMoP,MACV,IACA16B,KAAKkzB,OAAOoH,SAASvO,MAAM/J,iBAAiB,SAAS,WACjDsJ,EAAM4H,OAAOoH,SAASzK,WAAW5B,UAAUC,IAAI,8BAC/C5C,EAAM4H,OAAOoH,SAASzK,WAAW5B,UAAUC,IAAI,4BACnD,IAOA,IANA,IAAIyG,EAAQ,SAAel7B,GACvB6xB,EAAM4H,OAAOoH,SAASlK,UAAU32B,GAAGuoB,iBAAiB,SAAS,WACzDsJ,EAAM4H,OAAOnH,MAAMT,EAAM4H,OAAOoH,SAASlK,UAAU32B,GAAGshC,QAAQhP,OAC9DT,EAAMoP,MACV,GACJ,EACSjhC,EAAI,EAAGA,EAAIuG,KAAKkzB,OAAOoH,SAASlK,UAAUr2B,OAAQN,IACvDk7B,EAAMl7B,GAEV,GAAIuG,KAAKkzB,OAAO9D,QAAS,CAErBpvB,KAAKkzB,OAAOsF,GAAG,mBAAmB,SAAUjD,GACxCjK,EAAM4H,OAAOuM,IAAIp2B,IAAI,UAAWksB,EAAY,SAC5CjK,EAAM4H,OAAO6B,KAAK1rB,IAAI,UAAWksB,EACrC,IACAv1B,KAAKkzB,OAAO9D,QAAQrB,QAAQ/tB,KAAKkzB,OAAO6B,KAAKtyB,IAAI,YACjD,IAAIghC,EAAc,SAAqB5jB,GACnC,IAAIljB,EAAIkjB,GAAStjB,OAAOsjB,MACpB0V,IAAe54B,EAAE2iC,SAAW3iC,EAAE4iC,eAAe,GAAGD,SAAW,gCAAoChU,EAAM4H,OAAOoH,SAAS/J,wBARhH,IASTgF,EAAaxuB,KAAK00B,IAAIlG,EAAY,GAClCA,EAAaxuB,KAAKE,IAAIsuB,EAAY,GAClCjK,EAAM4H,OAAO9D,QAAQrB,QAAQwH,EACjC,EACImO,EAAY,SAASA,IACrBrnC,SAASikB,oBAAoB,kBAAuBojB,GACpDrnC,SAASikB,oBAAoB,mBAAwBmjB,GACrDnY,EAAM4H,OAAOoH,SAAS7J,kBAAkBxC,UAAUxyB,OAAO,iCAC7D,EACAuE,KAAKkzB,OAAOoH,SAAS9J,0BAA0BxO,iBAAiB,SAAS,SAAUnC,GAC/E,IAAIljB,EAAIkjB,GAAStjB,OAAOsjB,MACpB0V,IAAe54B,EAAE2iC,SAAW3iC,EAAE4iC,eAAe,GAAGD,SAAW,gCAAoChU,EAAM4H,OAAOoH,SAAS/J,wBApBhH,IAqBTgF,EAAaxuB,KAAK00B,IAAIlG,EAAY,GAClCA,EAAaxuB,KAAKE,IAAIsuB,EAAY,GAClCjK,EAAM4H,OAAO9D,QAAQrB,QAAQwH,EACjC,IACAv1B,KAAKkzB,OAAOoH,SAAS9J,0BAA0BxO,iBAAiB,qBAAyB,WACrF3lB,SAAS2lB,iBAAiB,mBAAwByhB,GAClDpnC,SAAS2lB,iBAAiB,kBAAuB0hB,GACjDpY,EAAM4H,OAAOoH,SAAS7J,kBAAkBxC,UAAUC,IAAI,iCAC1D,GACJ,CACJ,CA3HJ,IAAsBtZ,EAAaG,EAmJ/B,OAnJkBH,EA4HL0uB,GA5HkBvuB,EA4HT,CAClB,CACI1S,IAAK,OACLxD,MAAO,WACH,IAAI41B,EAASz0B,KACbA,KAAKkzB,OAAOoH,SAASzK,WAAW5B,UAAUxyB,OAAO,4BACjDuE,KAAKkzB,OAAOoH,SAASxK,KAAK7B,UAAUxyB,OAAO,qBAC3C8H,YAAW,WACPkxB,EAAOvB,OAAOoH,SAASzK,WAAW5B,UAAUxyB,OAAO,8BACnDg5B,EAAOvB,OAAOoH,SAASzK,WAAW5B,UAAUxyB,OAAO,4BACvD,GAAG,KACHuE,KAAKkzB,OAAOvC,WAAWuK,iBAAkB,CAC7C,GAEJ,CACI74B,IAAK,OACLxD,MAAO,WACHmB,KAAKkzB,OAAOoH,SAASzK,WAAW5B,UAAUC,IAAI,4BAC9CluB,KAAKkzB,OAAOoH,SAASxK,KAAK7B,UAAUC,IAAI,qBACxCluB,KAAKkzB,OAAOvC,WAAWuK,iBAAkB,CAC7C,MA9IJ,GAAkBtmB,EAAYpT,UAAWuT,GAG7CtW,OAAO8D,eAAeqS,EAAa,YAAa,CAAEhF,UAAU,IA8IrD0zB,CACX,CA3Hc,GA4Hd,YC5KA,SAAS,GAAQ5oC,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CAMA,SAAS,GAAkByB,EAAQoS,GAC/B,IAAK,IAAI9U,EAAI,EAAGA,EAAI8U,EAAMxU,OAAQN,IAAK,CACnC,IAAIuT,EAAauB,EAAM9U,GACvBuT,EAAWxK,WAAawK,EAAWxK,aAAc,EACjDwK,EAAWoH,cAAe,EACtB,UAAWpH,IACXA,EAAW4C,UAAW,GAC1BnR,OAAO8D,eAAepG,QAYtBkG,IAGR,SAAsBgS,EAAOC,GACzB,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAC/B,OAAOA,EACX,IAAIE,EAAOF,EAAMhT,OAAOmT,aACxB,QAAanU,IAATkU,EAAoB,CACpB,IAAI5O,EAAM4O,EAAKzV,KAAKuV,EAAOC,UAC3B,GAAqB,WAAjB,GAAQ3O,GACR,OAAOA,EACX,MAAM,IAAI/B,UAAU,+CACxB,CACA,OAA4BlD,OAAiB2T,EACjD,CAdc,CAZuCrH,EAAW3K,KAapC,WAAjB,GAAQA,GAAoBA,EAAM3B,OAAO2B,IAbkB2K,EAClE,CAUJ,IACQ3K,CAVR,CA0BA,IAAIshC,GAAU,WACV,SAASA,EAAQzQ,GACb,IAAI5H,EAAQtrB,MA1CpB,SAAyB2U,EAAUC,GAC/B,KAAMD,aAAoBC,GACtB,MAAM,IAAIhR,UAAU,oCAE5B,CAuCQ,CAAgB5D,KAAM2jC,GACtB3jC,KAAKkzB,OAASA,EACdlzB,KAAKkzB,OAAOoH,SAASxK,KAAK9N,iBAAiB,SAAS,WAChDsJ,EAAMoP,MACV,IACA16B,KAAKkzB,OAAOoH,SAASzJ,cAAc7O,iBAAiB,SAAS,WACzDsJ,EAAMmP,MACV,IACAz6B,KAAKkzB,OAAOoH,SAASvJ,qBAAqB/O,iBAAiB,SAAS,WAChEsJ,EAAMsY,eACV,IACA5jC,KAAKkzB,OAAOoH,SAASnJ,uBAAuBnP,iBAAiB,SAAS,WAElE,GADWsJ,EAAM4H,OAAOoH,SAASnJ,uBAAuB70B,cAAc,sBAC5D,CACN,IAAIwN,EAAQwhB,EAAM4H,OAAOoH,SAASnJ,uBAAuB70B,cAAc,iBAAiBuC,MACxFysB,EAAM4H,OAAOoH,SAAStJ,mBAAmB90B,MAAM2nC,KAAO/5B,EACtDwhB,EAAM4H,OAAOoH,SAAS1J,aAAa10B,MAAM4N,MAAQA,EACjDwhB,EAAM4H,OAAOoH,SAASpJ,gBAAgBh1B,MAAM2nC,KAAO/5B,CACvD,CACJ,IACA9J,KAAKkzB,OAAOoH,SAAS1J,aAAa5O,iBAAiB,SAAS,WACxDsJ,EAAMwY,aACV,IACA9jC,KAAKkzB,OAAOoH,SAAS1J,aAAa5O,iBAAiB,WAAW,SAAUrlB,GAE9C,MADVA,GAAKJ,OAAOsjB,OACdkkB,SACNzY,EAAM/I,MAEd,IACAviB,KAAKkzB,OAAOoH,SAASrJ,kBAAkBjP,iBAAiB,SAAS,WAC7DsJ,EAAM/I,MACV,GACJ,CA5DJ,IAAsB3N,EAAaG,EA4H/B,OA5HkBH,EA6DL+uB,GA7DkB5uB,EA6DT,CAClB,CACI1S,IAAK,OACLxD,MAAO,WACHmB,KAAKkzB,OAAOvC,WAAWuK,iBAAkB,EACzCl7B,KAAKkzB,OAAOoH,SAAS3J,WAAW1C,UAAUC,IAAI,8BAC9CluB,KAAKkzB,OAAOoH,SAASxK,KAAK7B,UAAUC,IAAI,qBACxCluB,KAAKkzB,OAAOrF,UAAUI,UAAUC,IAAI,2BACpCluB,KAAKkzB,OAAOoH,SAAS1J,aAAaoT,OACtC,GAEJ,CACI3hC,IAAK,OACLxD,MAAO,WACHmB,KAAKkzB,OAAOoH,SAAS3J,WAAW1C,UAAUxyB,OAAO,8BACjDuE,KAAKkzB,OAAOoH,SAASxK,KAAK7B,UAAUxyB,OAAO,qBAC3CuE,KAAKkzB,OAAOrF,UAAUI,UAAUxyB,OAAO,2BACvCuE,KAAKkzB,OAAOvC,WAAWuK,iBAAkB,EACzCl7B,KAAK8jC,aACT,GAEJ,CACIzhC,IAAK,cACLxD,MAAO,WACHmB,KAAKkzB,OAAOoH,SAASxJ,kBAAkB7C,UAAUC,IAAI,+BACzD,GAEJ,CACI7rB,IAAK,cACLxD,MAAO,WACHmB,KAAKkzB,OAAOoH,SAASxJ,kBAAkB7C,UAAUxyB,OAAO,+BAC5D,GAEJ,CACI4G,IAAK,gBACLxD,MAAO,WACCmB,KAAKkzB,OAAOoH,SAASxJ,kBAAkB7C,UAAU6K,SAAS,gCAC1D94B,KAAK8jC,cAEL9jC,KAAKikC,aAEb,GAEJ,CACI5hC,IAAK,OACLxD,MAAO,WACH,IAAI41B,EAASz0B,KACbA,KAAKkzB,OAAOoH,SAAS1J,aAAasT,OAC7BlkC,KAAKkzB,OAAOoH,SAAS1J,aAAa/xB,MAAMmC,QAAQ,aAAc,IAInEhB,KAAKkzB,OAAO9D,QAAQ7M,KAAK,CACrB4I,KAAMnrB,KAAKkzB,OAAOoH,SAAS1J,aAAa/xB,MACxCiL,MAAO,eAAmB9J,KAAKkzB,OAAOrF,UAAUvxB,cAAc,gDAAgDuC,OAC9G8L,KAAMX,SAAShK,KAAKkzB,OAAOrF,UAAUvxB,cAAc,+CAA+CuC,SACnG,WACC41B,EAAOvB,OAAOoH,SAAS1J,aAAa/xB,MAAQ,GAC5C41B,EAAOiG,MACX,IAVI16B,KAAKkzB,OAAOlF,OAAOhuB,KAAKkzB,OAAOzH,KAAK,wBAW5C,MAvHJ,GAAkB7W,EAAYpT,UAAWuT,GAG7CtW,OAAO8D,eAAeqS,EAAa,YAAa,CAAEhF,UAAU,IAuHrD+zB,CACX,CApGc,GAqGd,YCrJA,SAAS,GAAQjpC,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CAMA,SAAS,GAAkByB,EAAQoS,GAC/B,IAAK,IAAI9U,EAAI,EAAGA,EAAI8U,EAAMxU,OAAQN,IAAK,CACnC,IAAIuT,EAAauB,EAAM9U,GACvBuT,EAAWxK,WAAawK,EAAWxK,aAAc,EACjDwK,EAAWoH,cAAe,EACtB,UAAWpH,IACXA,EAAW4C,UAAW,GAC1BnR,OAAO8D,eAAepG,QAYtBkG,IAGR,SAAsBgS,EAAOC,GACzB,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAC/B,OAAOA,EACX,IAAIE,EAAOF,EAAMhT,OAAOmT,aACxB,QAAanU,IAATkU,EAAoB,CACpB,IAAI5O,EAAM4O,EAAKzV,KAAKuV,EAAOC,UAC3B,GAAqB,WAAjB,GAAQ3O,GACR,OAAOA,EACX,MAAM,IAAI/B,UAAU,+CACxB,CACA,OAA4BlD,OAAiB2T,EACjD,CAdc,CAZuCrH,EAAW3K,KAapC,WAAjB,GAAQA,GAAoBA,EAAM3B,OAAO2B,IAbkB2K,EAClE,CAUJ,IACQ3K,CAVR,CAyBA,IAAI8hC,GAAS,WACT,SAASA,EAAOjR,IAxCpB,SAAyBve,EAAUC,GAC/B,KAAMD,aAAoBC,GACtB,MAAM,IAAIhR,UAAU,oCAE5B,CAqCQ,CAAgB5D,KAAMmkC,GACtBnkC,KAAKkzB,OAASA,EACdlzB,KAAKokC,gBAAkBpkC,KAAKqkC,SAASlqB,KAAKna,MAC1CA,KAAKskC,wBAA0BtkC,KAAKu5B,iBAAiBpf,KAAKna,MACtDA,KAAKkzB,OAAOh5B,QAAQqqC,QACpBloC,SAAS2lB,iBAAiB,UAAWhiB,KAAKokC,iBAE9C/nC,SAAS2lB,iBAAiB,UAAWhiB,KAAKskC,wBAC9C,CAlCJ,IAAsB1vB,EAAaG,EAwG/B,OAxGkBH,EAmCLuvB,GAnCkBpvB,EAmCV,CACjB,CACI1S,IAAK,WACLxD,MAAO,SAAkBlC,GACrB,GAAIqD,KAAKkzB,OAAO8Q,MAAO,CACnB,IAAIQ,EAAMnoC,SAASooC,cAAcC,QAAQt0B,cACrCu0B,EAAWtoC,SAASooC,cAAcG,aAAa,mBACnD,GAAY,UAARJ,GAA2B,aAARA,GAAmC,KAAbG,GAAgC,SAAbA,EAAqB,CACjF,IACIpP,EADA1V,EAAQljB,GAAKJ,OAAOsjB,MAExB,OAAQA,EAAMkkB,SACd,KAAK,GACDlkB,EAAMglB,iBACN7kC,KAAKkzB,OAAOyL,SACZ,MACJ,KAAK,GAED,GADA9e,EAAMglB,iBACF7kC,KAAKkzB,OAAOh5B,QAAQyyB,KACpB,MAEJ3sB,KAAKkzB,OAAO2E,KAAK73B,KAAKkzB,OAAO3E,MAAM+N,YAAc,GACjDt8B,KAAKkzB,OAAOvC,WAAWoN,cACvB,MACJ,KAAK,GAED,GADAle,EAAMglB,iBACF7kC,KAAKkzB,OAAOh5B,QAAQyyB,KACpB,MAEJ3sB,KAAKkzB,OAAO2E,KAAK73B,KAAKkzB,OAAO3E,MAAM+N,YAAc,GACjDt8B,KAAKkzB,OAAOvC,WAAWoN,cACvB,MACJ,KAAK,GACDle,EAAMglB,iBACNtP,EAAav1B,KAAKkzB,OAAOxG,SAAW,GACpC1sB,KAAKkzB,OAAOxG,OAAO6I,GACnB,MACJ,KAAK,GACD1V,EAAMglB,iBACNtP,EAAav1B,KAAKkzB,OAAOxG,SAAW,GACpC1sB,KAAKkzB,OAAOxG,OAAO6I,GAG3B,CACJ,CACJ,GAEJ,CACIlzB,IAAK,mBACLxD,MAAO,SAA0BlC,GAGxB,MAFOA,GAAKJ,OAAOsjB,OACVkkB,SAEN/jC,KAAKkzB,OAAO+E,WAAWD,aAAa,QACpCh4B,KAAKkzB,OAAO+E,WAAW9V,OAAO,MAI1C,GAEJ,CACI9f,IAAK,UACLxD,MAAO,WACCmB,KAAKkzB,OAAOh5B,QAAQqqC,QACpBloC,SAASikB,oBAAoB,UAAWtgB,KAAKokC,iBAEjD/nC,SAASikB,oBAAoB,UAAWtgB,KAAKskC,wBACjD,MAnGJ,GAAkB1vB,EAAYpT,UAAWuT,GAG7CtW,OAAO8D,eAAeqS,EAAa,YAAa,CAAEhF,UAAU,IAmGrDu0B,CACX,CAjFa,GAkFb,YCjIA,SAAS,GAAQzpC,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CAMA,SAAS,GAAkByB,EAAQoS,GAC/B,IAAK,IAAI9U,EAAI,EAAGA,EAAI8U,EAAMxU,OAAQN,IAAK,CACnC,IAAIuT,EAAauB,EAAM9U,GACvBuT,EAAWxK,WAAawK,EAAWxK,aAAc,EACjDwK,EAAWoH,cAAe,EACtB,UAAWpH,IACXA,EAAW4C,UAAW,GAC1BnR,OAAO8D,eAAepG,QAYtBkG,IAGR,SAAsBgS,EAAOC,GACzB,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAC/B,OAAOA,EACX,IAAIE,EAAOF,EAAMhT,OAAOmT,aACxB,QAAanU,IAATkU,EAAoB,CACpB,IAAI5O,EAAM4O,EAAKzV,KAAKuV,EAAOC,UAC3B,GAAqB,WAAjB,GAAQ3O,GACR,OAAOA,EACX,MAAM,IAAI/B,UAAU,+CACxB,CACA,OAA4BlD,OAAiB2T,EACjD,CAdc,CAZuCrH,EAAW3K,KAapC,WAAjB,GAAQA,GAAoBA,EAAM3B,OAAO2B,IAbkB2K,EAClE,CAUJ,IACQ3K,CAVR,CAyBA,IAAIyiC,GAAc,WACd,SAASA,EAAY5R,GACjB,IAAI5H,EAAQtrB,MAzCpB,SAAyB2U,EAAUC,GAC/B,KAAMD,aAAoBC,GACtB,MAAM,IAAIhR,UAAU,oCAE5B,CAsCQ,CAAgB5D,KAAM8kC,GACtB9kC,KAAKkzB,OAASA,EACdlzB,KAAK+kC,OAAQ,EACbnlC,MAAM4B,UAAUX,MAAM/B,KAAKkB,KAAKkzB,OAAOoH,SAAS/I,UAAU7lB,SAAQ,SAAUrR,EAAMuB,GAC1E0vB,EAAM4H,OAAOh5B,QAAQ8qC,YAAYppC,GAAOqlC,OACxC5mC,EAAK2nB,iBAAiB,SAAS,WAC3BsJ,EAAM4H,OAAOh5B,QAAQ8qC,YAAYppC,GAAOqlC,MAAM3V,EAAM4H,QACpD5H,EAAMoP,MACV,GAER,IACA16B,KAAKilC,mBAAqB,SAAUtoC,GAChC,GAAI2uB,EAAMyZ,MACNzZ,EAAMoP,WADV,CAIA,IAAI7a,EAAQljB,GAAKJ,OAAOsjB,MACxBA,EAAMglB,iBACN,IAAIK,EAAa5Z,EAAM4H,OAAOrF,UAAUzlB,wBACxCkjB,EAAMmP,KAAK5a,EAAMyf,QAAU4F,EAAWz8B,KAAMoX,EAAMslB,QAAUD,EAAW38B,KACvE+iB,EAAM4H,OAAOoH,SAASxK,KAAK9N,iBAAiB,SAAS,WACjDsJ,EAAMoP,MACV,GAPA,CAQJ,EACA16B,KAAKkzB,OAAOrF,UAAU7L,iBAAiB,cAAehiB,KAAKilC,mBAC/D,CApDJ,IAAsBrwB,EAAaG,EA8F/B,OA9FkBH,EAqDLkwB,GArDkB/vB,EAqDL,CACtB,CACI1S,IAAK,OACLxD,MAAO,SAAc2E,EAAG4hC,GACpBplC,KAAKkzB,OAAOoH,SAAShJ,KAAKrD,UAAUC,IAAI,qBACxC,IAAIgX,EAAallC,KAAKkzB,OAAOrF,UAAUzlB,wBACnC5E,EAAIxD,KAAKkzB,OAAOoH,SAAShJ,KAAKwE,aAAeoP,EAAW7O,OACxDr2B,KAAKkzB,OAAOoH,SAAShJ,KAAKp1B,MAAMoxB,MAAQ4X,EAAW7O,MAAQ7yB,EAAI,KAC/DxD,KAAKkzB,OAAOoH,SAAShJ,KAAKp1B,MAAMuM,KAAO,YAEvCzI,KAAKkzB,OAAOoH,SAAShJ,KAAKp1B,MAAMuM,KAAOjF,EAAI,KAC3CxD,KAAKkzB,OAAOoH,SAAShJ,KAAKp1B,MAAMoxB,MAAQ,WAExC8X,EAAIplC,KAAKkzB,OAAOoH,SAAShJ,KAAK0E,cAAgBkP,EAAWtP,QACzD51B,KAAKkzB,OAAOoH,SAAShJ,KAAKp1B,MAAM0vB,OAASsZ,EAAWtP,OAASwP,EAAI,KACjEplC,KAAKkzB,OAAOoH,SAAShJ,KAAKp1B,MAAMqM,IAAM,YAEtCvI,KAAKkzB,OAAOoH,SAAShJ,KAAKp1B,MAAMqM,IAAM68B,EAAI,KAC1CplC,KAAKkzB,OAAOoH,SAAShJ,KAAKp1B,MAAM0vB,OAAS,WAE7C5rB,KAAKkzB,OAAOoH,SAASxK,KAAK7B,UAAUC,IAAI,qBACxCluB,KAAK+kC,OAAQ,EACb/kC,KAAKkzB,OAAOM,OAAOS,QAAQ,mBAC/B,GAEJ,CACI5xB,IAAK,OACLxD,MAAO,WACHmB,KAAKkzB,OAAOoH,SAASxK,KAAK7B,UAAUxyB,OAAO,qBAC3CuE,KAAKkzB,OAAOoH,SAAShJ,KAAKrD,UAAUxyB,OAAO,qBAC3CuE,KAAK+kC,OAAQ,EACb/kC,KAAKkzB,OAAOM,OAAOS,QAAQ,mBAC/B,GAEJ,CACI5xB,IAAK,UACLxD,MAAO,WACHmB,KAAKkzB,OAAOrF,UAAUvN,oBAAoB,cAAetgB,KAAKilC,mBAClE,MAzFJ,GAAkBrwB,EAAYpT,UAAWuT,GAG7CtW,OAAO8D,eAAeqS,EAAa,YAAa,CAAEhF,UAAU,IAyFrDk1B,CACX,CAvEkB,GAwElB,YCvHA,SAAS,GAAQpqC,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CAMA,SAAS,GAAkByB,EAAQoS,GAC/B,IAAK,IAAI9U,EAAI,EAAGA,EAAI8U,EAAMxU,OAAQN,IAAK,CACnC,IAAIuT,EAAauB,EAAM9U,GACvBuT,EAAWxK,WAAawK,EAAWxK,aAAc,EACjDwK,EAAWoH,cAAe,EACtB,UAAWpH,IACXA,EAAW4C,UAAW,GAC1BnR,OAAO8D,eAAepG,QAYtBkG,IAGR,SAAsBgS,EAAOC,GACzB,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAC/B,OAAOA,EACX,IAAIE,EAAOF,EAAMhT,OAAOmT,aACxB,QAAanU,IAATkU,EAAoB,CACpB,IAAI5O,EAAM4O,EAAKzV,KAAKuV,EAAOC,UAC3B,GAAqB,WAAjB,GAAQ3O,GACR,OAAOA,EACX,MAAM,IAAI/B,UAAU,+CACxB,CACA,OAA4BlD,OAAiB2T,EACjD,CAdc,CAZuCrH,EAAW3K,KAapC,WAAjB,GAAQA,GAAoBA,EAAM3B,OAAO2B,IAbkB2K,EAClE,CAUJ,IACQ3K,CAVR,CAyBA,IAAIgjC,GAAY,WACZ,SAASA,EAAUnS,GACf,IAAI5H,EAAQtrB,MAzCpB,SAAyB2U,EAAUC,GAC/B,KAAMD,aAAoBC,GACtB,MAAM,IAAIhR,UAAU,oCAE5B,CAsCQ,CAAgB5D,KAAMqlC,GACtBrlC,KAAK6tB,UAAYqF,EAAOoH,SAAShI,UACjCtyB,KAAKs6B,SAAWpH,EAAOoH,SACvBt6B,KAAKuuB,MAAQ2E,EAAO3E,MACpBvuB,KAAKkzB,OAASA,EACdlzB,KAAKs6B,SAAS/H,eAAevQ,iBAAiB,SAAS,WACnDsJ,EAAMoP,MACV,GACJ,CAnCJ,IAAsB9lB,EAAaG,EAuF/B,OAvFkBH,EAoCLywB,GApCkBtwB,EAoCP,CACpB,CACI1S,IAAK,OACLxD,MAAO,WACHmB,KAAKslC,UAAYtoB,KAAKK,MACtBrd,KAAKzE,SACLyE,KAAKkzB,OAAOyM,MAAMC,OAAO,QACzB5/B,KAAKkzB,OAAOyM,MAAMC,OAAO,OACzB5/B,KAAK6tB,UAAUI,UAAUxyB,OAAO,0BACpC,GAEJ,CACI4G,IAAK,OACLxD,MAAO,WACHmB,KAAKkzB,OAAOyM,MAAME,QAAQ,QAC1B7/B,KAAKkzB,OAAOyM,MAAME,QAAQ,OAC1B7/B,KAAK6tB,UAAUI,UAAUC,IAAI,0BACjC,GAEJ,CACI7rB,IAAK,UACLxD,MAAO,WACCmB,KAAK6tB,UAAUI,UAAU6K,SAAS,2BAClC94B,KAAKy6B,OAELz6B,KAAK06B,MAEb,GAEJ,CACIr4B,IAAK,SACLxD,MAAO,WACHmB,KAAKs6B,SAAS9H,YAAYpE,UAAY,IAAI5zB,OAAO,SAAiB,KAAKA,OAAO,uBAC9EwF,KAAKs6B,SAAS5H,SAAStE,UAAYpuB,KAAKkzB,OAAOvoB,KAC/C3K,KAAKs6B,SAAS3H,QAAQvE,UAAYpuB,KAAKkzB,OAAOh5B,QAAQq0B,MAAM9tB,IAC5DT,KAAKs6B,SAAS1H,eAAexE,UAAY,GAAG5zB,OAAOwF,KAAKkzB,OAAO3E,MAAM6Q,WAAY,OAAO5kC,OAAOwF,KAAKkzB,OAAO3E,MAAM4Q,aACjHn/B,KAAKs6B,SAASzH,aAAazE,UAAYpuB,KAAKkzB,OAAO3E,MAAMsQ,SACrD7+B,KAAKkzB,OAAOh5B,QAAQk1B,UACpBpvB,KAAKs6B,SAASxH,cAAc1E,UAAYpuB,KAAKkzB,OAAOh5B,QAAQk1B,QAAQ91B,GACpE0G,KAAKs6B,SAASvH,eAAe3E,UAAYpuB,KAAKkzB,OAAOh5B,QAAQk1B,QAAQ/zB,IACrE2E,KAAKs6B,SAAStH,kBAAkB5E,UAAYpuB,KAAKkzB,OAAO9D,QAAQiE,IAAIt5B,OAE5E,GAEJ,CACIsI,IAAK,MACLxD,MAAO,SAAaA,GAChBmB,KAAKs6B,SAAS7H,QAAQrE,UAAY,GAAG5zB,OAAOqE,EAAM0mC,QAAQ,GAC9D,MAlFJ,GAAkB3wB,EAAYpT,UAAWuT,GAG7CtW,OAAO8D,eAAeqS,EAAa,YAAa,CAAEhF,UAAU,IAkFrDy1B,CACX,CAhEgB,GAiEhB,Y,yBChHA,SAAS,GAAQ3qC,GAEb,OAAO,GAAU,mBAAqB2G,QAAU,iBAAmBA,OAAOC,SAAW,SAAU5G,GAC3F,cAAcA,CAClB,EAAI,SAAUA,GACV,OAAOA,GAAO,mBAAqB2G,QAAU3G,EAAI6G,cAAgBF,QAAU3G,IAAQ2G,OAAOG,UAAY,gBAAkB9G,CAC5H,EAAG,GAAQA,EACf,CACA,SAAS8qC,GAAQC,EAAQC,GACrB,IAAI55B,EAAOrN,OAAOqN,KAAK25B,GACvB,GAAIhnC,OAAOknC,sBAAuB,CAC9B,IAAIC,EAAUnnC,OAAOknC,sBAAsBF,GAC3CC,IAAmBE,EAAUA,EAAQh3B,QAAO,SAAUi3B,GAClD,OAAOpnC,OAAOqnC,yBAAyBL,EAAQI,GAAKrjC,UACxD,KAAKsJ,EAAKzS,KAAKyE,MAAMgO,EAAM85B,EAC/B,CACA,OAAO95B,CACX,CAYA,SAASi6B,GAAgBrrC,EAAK2H,EAAKxD,GAY/B,OAXAwD,EAAM,GAAeA,MACV3H,EACP+D,OAAO8D,eAAe7H,EAAK2H,EAAK,CAC5BxD,MAAOA,EACP2D,YAAY,EACZ4R,cAAc,EACdxE,UAAU,IAGdlV,EAAI2H,GAAOxD,EAERnE,CACX,CAMA,SAAS,GAAkByB,EAAQoS,GAC/B,IAAK,IAAI9U,EAAI,EAAGA,EAAI8U,EAAMxU,OAAQN,IAAK,CACnC,IAAIuT,EAAauB,EAAM9U,GACvBuT,EAAWxK,WAAawK,EAAWxK,aAAc,EACjDwK,EAAWoH,cAAe,EACtB,UAAWpH,IACXA,EAAW4C,UAAW,GAC1BnR,OAAO8D,eAAepG,EAAQ,GAAe6Q,EAAW3K,KAAM2K,EAClE,CACJ,CASA,SAAS,GAAeg5B,GACpB,IAAI3jC,EAGR,SAAsBgS,EAAOC,GACzB,GAAuB,WAAnB,GAAQD,IAAiC,OAAVA,EAC/B,OAAOA,EACX,IAAIE,EAAOF,EAAMhT,OAAOmT,aACxB,QAAanU,IAATkU,EAAoB,CACpB,IAAI5O,EAAM4O,EAAKzV,KAAKuV,EAAOC,UAC3B,GAAqB,WAAjB,GAAQ3O,GACR,OAAOA,EACX,MAAM,IAAI/B,UAAU,+CACxB,CACA,OAA4BlD,OAAiB2T,EACjD,CAdc,CAAa2xB,GACvB,MAAwB,WAAjB,GAAQ3jC,GAAoBA,EAAM3B,OAAO2B,EACpD,CAmCA,IAAIzG,GAAQ,EACRqqC,GAAY,GACZC,GAAU,WACV,SAASA,EAAQhsC,GACb,IAAIoxB,EAAQtrB,MAjEpB,SAAyB2U,EAAUC,GAC/B,KAAMD,aAAoBC,GACtB,MAAM,IAAIhR,UAAU,oCAE5B,EA8DQ,CAAgB5D,KAAMkmC,GACtBlmC,KAAK9F,QpBrGE,SAAUA,GACrB,IAAIisC,EAAgB,CAChBtY,UAAW3zB,EAAQ6C,SAAWV,SAASo5B,uBAAuB,WAAW,GACzE9I,MAAM,EACNyZ,UAAU,EACVC,MAAO,UACPva,MAAM,EACNT,MAAO5kB,UAAU6/B,UAAY7/B,UAAU8/B,iBAAiB97B,cACxD4hB,YAAY,EACZC,SAAS,EACTC,YAAY,EACZgY,QAAQ,EACR9V,QAAS,WACT/B,OAAQ,GACR8Z,cAAe,CACX,GACA,IACA,EACA,KACA,IACA,GAEJ5R,WAAY,GACZrG,MAAO,CAAC,EACRyW,YAAa,GACbyB,OAAO,EACPC,cAAe,CACXC,IAAK,CAAC,EACNC,IAAK,CAAC,EACNC,KAAM,CAAC,EACPC,WAAY,CAAC,GAEjBlI,oBAAoB,GAExB,IAAK,IAAImI,KAAcZ,EACfA,EAAcvjC,eAAemkC,KAAgB7sC,EAAQ0I,eAAemkC,KACpE7sC,EAAQ6sC,GAAcZ,EAAcY,IAqC5C,OAlCI7sC,EAAQq0B,QACPr0B,EAAQq0B,MAAM5jB,OAASzQ,EAAQq0B,MAAM5jB,KAAO,QAEhB,WAA7B,GAAQzQ,EAAQk1B,UAAyBl1B,EAAQk1B,UAChDl1B,EAAQk1B,QAAQ2F,OAAS76B,EAAQk1B,QAAQ2F,KAAO,UAEjD76B,EAAQsyB,YACPtyB,EAAQsyB,SAAS7hB,OAASzQ,EAAQsyB,SAAS7hB,KAAO,WAClDzQ,EAAQsyB,SAASwN,WAAa9/B,EAAQsyB,SAASwN,SAAW,SAC1D9/B,EAAQsyB,SAASZ,SAAW1xB,EAAQsyB,SAASZ,OAAS,SACtD1xB,EAAQsyB,SAAS1iB,QAAU5P,EAAQsyB,SAAS1iB,MAAQ,SAErD5P,EAAQq0B,MAAM+R,UACdpmC,EAAQq0B,MAAM9tB,IAAMvG,EAAQq0B,MAAM+R,QAAQpmC,EAAQq0B,MAAMyY,gBAAgBvmC,KAExEvG,EAAQmxB,OACRnxB,EAAQmxB,KAAOnxB,EAAQmxB,KAAK5gB,eAEhCvQ,EAAQ8qC,YAAc9qC,EAAQ8qC,YAAYxqC,OAAO,CAC7C,CACI6H,IAAK,aACL4+B,MAAO,SAAe/N,GAClBA,EAAOZ,UAAU2U,SACrB,GAEJ,CACI5kC,IAAK,eACL0+B,KAAM,qBAEV,CACI5V,KAAM,YAAY3wB,OAAO,UACzBumC,KAAM,0CAGP7mC,CACX,CoB2BuB,CA5FvB,SAAuBiC,GACnB,IAAK,IAAI1C,EAAI,EAAGA,EAAIuL,UAAUjL,OAAQN,IAAK,CACvC,IAAImX,EAAS,MAAQ5L,UAAUvL,GAAKuL,UAAUvL,GAAK,CAAC,EACpDA,EAAI,EAAI+rC,GAAQ/mC,OAAOmS,IAAS,GAAIlF,SAAQ,SAAUrJ,GAClD0jC,GAAgB5pC,EAAQkG,EAAKuO,EAAOvO,GACxC,IAAK5D,OAAOqO,0BAA4BrO,OAAOwO,iBAAiB9Q,EAAQsC,OAAOqO,0BAA0B8D,IAAW40B,GAAQ/mC,OAAOmS,IAASlF,SAAQ,SAAUrJ,GAC1J5D,OAAO8D,eAAepG,EAAQkG,EAAK5D,OAAOqnC,yBAAyBl1B,EAAQvO,GAC/E,GACJ,CACA,OAAOlG,CACX,CAkFoC+qC,CAAc,CAAEzY,QAAgC,eAAvBv0B,EAAQq0B,MAAM5jB,KAAwB,OAAS,YAAczQ,IAC9G8F,KAAK9F,QAAQq0B,MAAM+R,UACnBtgC,KAAKmnC,aAAennC,KAAK9F,QAAQq0B,MAAMyY,eACvChnC,KAAKsgC,QAAUtgC,KAAK9F,QAAQq0B,MAAM+R,QAAQtgC,KAAK9F,QAAQq0B,MAAMyY,iBAEjEhnC,KAAKyrB,KAAO,IAAIL,GAAKprB,KAAK9F,QAAQmxB,MAAMI,KACxCzrB,KAAKwzB,OAAS,IAAI,GAClBxzB,KAAK+0B,KAAO,IAAI,GAAK/0B,MACrBA,KAAK6tB,UAAY7tB,KAAK9F,QAAQ2zB,UAC9B7tB,KAAKqyB,WAAa,CAAC,EACnBryB,KAAK6tB,UAAUI,UAAUC,IAAI,WACxBluB,KAAK9F,QAAQk1B,SACdpvB,KAAK6tB,UAAUI,UAAUC,IAAI,sBAE7BluB,KAAK9F,QAAQyyB,KACb3sB,KAAK6tB,UAAUI,UAAUC,IAAI,gBAE7BluB,KAAK6tB,UAAUI,UAAUxyB,OAAO,gBAEhC,YACAuE,KAAK6tB,UAAUI,UAAUC,IAAI,kBAEjCluB,KAAKonC,MAAQpnC,KAAK6tB,UAAUiI,aAAe,IACvC91B,KAAKonC,OACLpnC,KAAK6tB,UAAUI,UAAUC,IAAI,iBAE7BluB,KAAK9F,QAAQsyB,UACT5sB,MAAMC,QAAQG,KAAK9F,QAAQsyB,SAAS/rB,OAKpCT,KAAK9F,QAAQsyB,SAAS/rB,IAAIpH,KAJR,CACdmzB,SAAU,GACVnB,KAAM,QAGNrrB,KAAK9F,QAAQsyB,SAAS6a,kBAC+B,iBAA1CrnC,KAAK9F,QAAQsyB,SAAS6a,gBAC7BrnC,KAAK9F,QAAQsyB,SAAS5wB,MAAQoE,KAAK9F,QAAQsyB,SAAS/rB,IAAI6mC,WAAU,SAAUC,GACxE,OAAOA,EAAIlc,OAASC,EAAMpxB,QAAQsyB,SAAS6a,iBAAyBE,EAAIlkC,OAASioB,EAAMpxB,QAAQsyB,SAAS6a,eAC5G,IACwD,iBAA1CrnC,KAAK9F,QAAQsyB,SAAS6a,kBACpCrnC,KAAK9F,QAAQsyB,SAAS5wB,MAAQoE,KAAK9F,QAAQsyB,SAAS6a,oBAGvB,IAAjCrnC,KAAK9F,QAAQsyB,SAAS5wB,QAAiBoE,KAAK9F,QAAQsyB,SAAS5wB,OAASoE,KAAK9F,QAAQsyB,SAAS5wB,MAAQoE,KAAK9F,QAAQsyB,SAAS/rB,IAAI1G,OAAS,KACvIiG,KAAK9F,QAAQsyB,SAAS5wB,MAAQoE,KAAK9F,QAAQsyB,SAAS/rB,IAAI6mC,WAAU,SAAUC,GACxE,OAAOA,EAAIlc,OAASC,EAAMpxB,QAAQmxB,IACtC,MAEiC,IAAjCrrB,KAAK9F,QAAQsyB,SAAS5wB,QACtBoE,KAAK9F,QAAQsyB,SAAS5wB,MAAQoE,KAAK9F,QAAQsyB,SAAS/rB,IAAI1G,OAAS,IAI7EiG,KAAKs6B,SAAW,IAAI,GAAS,CACzBzM,UAAW7tB,KAAK6tB,UAChB3zB,QAAS8F,KAAK9F,QACd0B,MAAOA,GACP6vB,KAAMzrB,KAAKyrB,OAEfzrB,KAAKuuB,MAAQvuB,KAAKs6B,SAAS/L,MAC3BvuB,KAAKy/B,IAAM,IAAI,GAAIz/B,KAAKs6B,UACxBt6B,KAAKsvB,MAAQ,IAAI,GAAMtvB,KAAKs6B,SAAShL,OACrCtvB,KAAKi4B,WAAa,IAAI,GAAWj4B,MACjCA,KAAK2wB,WAAa,IAAI,GAAW3wB,MAC7BA,KAAK9F,QAAQk1B,UACbpvB,KAAKovB,QAAU,IAAI,GAAQ,CACvB8D,OAAQlzB,KACR6tB,UAAW7tB,KAAKs6B,SAASlL,QACzBrB,QAAS/tB,KAAK+0B,KAAKtyB,IAAI,WACvB9C,SAAU,WACN4D,YAAW,WACP+nB,EAAMgP,SAASjL,eAAenzB,MAAMohC,QAAU,OAC1ChS,EAAMpxB,QAAQksC,UACd9a,EAAMyB,MAEd,GAAG,EACP,EACA/mB,MAAO,SAAeglB,GAClBM,EAAM0C,OAAOhD,EACjB,EACA4J,WAAY50B,KAAK9F,QAAQ06B,WACzBM,YAAal1B,KAAK9F,QAAQmsC,MAC1BzQ,OAAQ51B,KAAKonC,MAAQ,GAAK,GAC1Bnc,KAAM,WACF,OAAOK,EAAMiD,MAAM+N,WACvB,EACA7I,UAAWzzB,KAAK+0B,KAAKtyB,IAAI,aACzBpH,IAAK,CACD/B,GAAI0G,KAAK9F,QAAQk1B,QAAQ91B,GACzBw6B,QAAS9zB,KAAK9F,QAAQk1B,QAAQ/zB,IAC9B6W,MAAOlS,KAAK9F,QAAQk1B,QAAQld,MAC5B2hB,QAAS7zB,KAAK9F,QAAQk1B,QAAQyE,QAC9BG,SAAUh0B,KAAK9F,QAAQk1B,QAAQ4E,SAC/Be,KAAM/0B,KAAK9F,QAAQk1B,QAAQ2F,KAC3BgD,UAAW/3B,KAAK9F,QAAQk1B,QAAQ2I,WAEpCvE,OAAQxzB,KAAKwzB,OACb/H,KAAM,SAAcT,GAChB,OAAOM,EAAMG,KAAKT,EACtB,IAEJhrB,KAAKutB,QAAU,IAAI,GAAQvtB,OAE/BA,KAAKmsB,QAAU,IAAI,GAAQnsB,MAC3BA,KAAKwnC,QAAU,CAAC,EAChBxnC,KAAKynC,YAAc,WACfnc,EAAM0Y,OAAQ,CAClB,EACAhkC,KAAK0nC,kBAAoB,WACrBpc,EAAM0Y,OAAQ,CAClB,EACA3nC,SAAS2lB,iBAAiB,QAAShiB,KAAKynC,aAAa,GACrDznC,KAAK6tB,UAAU7L,iBAAiB,QAAShiB,KAAK0nC,mBAAmB,GACjE1nC,KAAKq1B,QAAS,EACdr1B,KAAK2/B,MAAQ,IAAI,GAAM3/B,MACvBA,KAAKukC,OAAS,IAAI,GAAOvkC,MACzBA,KAAKglC,YAAc,IAAI,GAAYhlC,MACnCA,KAAK2nC,UAAU3nC,KAAKuuB,MAAOvuB,KAAKsgC,SAAWtgC,KAAKsgC,QAAQ31B,MAAQ3K,KAAK9F,QAAQq0B,MAAM5jB,MACnF3K,KAAKsyB,UAAY,IAAI,GAAUtyB,OAC1BA,KAAKovB,SAAWpvB,KAAK9F,QAAQksC,UAC9BpmC,KAAK+sB,OAETnxB,KACAqqC,GAAU5sC,KAAK2G,KACnB,CA/KJ,IAAsB4U,EAAaG,EAAYmE,EA4pB3C,OA5pBkBtE,EAgLLsxB,EAhLkBnxB,EAgLT,CAClB,CACI1S,IAAK,OACLxD,MAAO,SAAcosB,GACjBA,EAAOlkB,KAAK00B,IAAIxQ,EAAM,GAClBjrB,KAAKuuB,MAAMsQ,WACX5T,EAAOlkB,KAAKE,IAAIgkB,EAAMjrB,KAAKuuB,MAAMsQ,WAEjC7+B,KAAKuuB,MAAM+N,YAAcrR,EACzBjrB,KAAKguB,OAAO,GAAGxzB,OAAOwF,KAAKyrB,KAAK,MAAMzqB,QAAQ,MAAOiqB,EAAOjrB,KAAKuuB,MAAM+N,aAAaiJ,QAAQ,MACrFvlC,KAAKuuB,MAAM+N,YAAcrR,GAChCjrB,KAAKguB,OAAO,GAAGxzB,OAAOwF,KAAKyrB,KAAK,OAAOzqB,QAAQ,MAAOhB,KAAKuuB,MAAM+N,YAAcrR,GAAMsa,QAAQ,MAEjGvlC,KAAKuuB,MAAM+N,YAAcrR,EACrBjrB,KAAKovB,SACLpvB,KAAKovB,QAAQyI,OAEjB73B,KAAKy/B,IAAIp2B,IAAI,SAAU4hB,EAAOjrB,KAAKuuB,MAAMsQ,SAAU,SACnD7+B,KAAKs6B,SAAS3K,MAAMvB,UAAY,eAAmBnD,EACvD,GAEJ,CACI5oB,IAAK,OACLxD,MAAO,SAAc+oC,GACjB,IAAInT,EAASz0B,KAoBb,GAnBAA,KAAKq1B,QAAS,EACVr1B,KAAKuuB,MAAM8G,SAAW,YACtBr1B,KAAKsvB,MAAc,OAAE,SAEzBtvB,KAAKs6B,SAAS/K,WAAWnB,UAAY,SACrCpuB,KAAKs6B,SAAS9K,iBAAiBpB,UAAY,SACtCwZ,GACmB,UAAgB5nC,KAAKuuB,MAAMxB,QAC1B,OAAE,WACnB0H,EAAOzH,OACX,IAAGnoB,MAAK,WACR,IAEJ7E,KAAK2/B,MAAMC,OAAO,WAClB5/B,KAAK6tB,UAAUI,UAAUxyB,OAAO,kBAChCuE,KAAK6tB,UAAUI,UAAUC,IAAI,mBACzBluB,KAAKovB,SACLpvB,KAAKovB,QAAQrC,OAEb/sB,KAAK9F,QAAQusC,MACb,IAAK,IAAIhtC,EAAI,EAAGA,EAAIwsC,GAAUlsC,OAAQN,IAC9BuG,OAASimC,GAAUxsC,IACnBwsC,GAAUxsC,GAAGuzB,OAI7B,GAEJ,CACI3qB,IAAK,QACLxD,MAAO,SAAe+oC,GAClB5nC,KAAKq1B,QAAS,EACdr1B,KAAK6tB,UAAUI,UAAUxyB,OAAO,mBAC3BuE,KAAKuuB,MAAM8G,QAAW,YACvBr1B,KAAKsvB,MAAc,OAAE,UAEzBtvB,KAAKs6B,SAAS/K,WAAWnB,UAAY,QACrCpuB,KAAKs6B,SAAS9K,iBAAiBpB,UAAY,QACtCwZ,GACD5nC,KAAKuuB,MAAMvB,QAEfhtB,KAAK2/B,MAAME,QAAQ,WACnB7/B,KAAK6tB,UAAUI,UAAUxyB,OAAO,mBAChCuE,KAAK6tB,UAAUI,UAAUC,IAAI,kBACzBluB,KAAKovB,SACLpvB,KAAKovB,QAAQpC,OAErB,GAEJ,CACI3qB,IAAK,mBACLxD,MAAO,WACCmB,KAAK0sB,UAAY,IACjB1sB,KAAKs6B,SAASvL,WAAWX,UAAY,YAC9BpuB,KAAK0sB,SAAW,EACvB1sB,KAAKs6B,SAASvL,WAAWX,UAAY,cAErCpuB,KAAKs6B,SAASvL,WAAWX,UAAY,YAE7C,GAEJ,CACI/rB,IAAK,SACLxD,MAAO,SAAgB02B,EAAYsS,EAAWC,GAE1C,GADAvS,EAAaD,WAAWC,IACnBwS,MAAMxS,GAAa,CACpBA,EAAaxuB,KAAK00B,IAAIlG,EAAY,GAClCA,EAAaxuB,KAAKE,IAAIsuB,EAAY,GAClCv1B,KAAKy/B,IAAIp2B,IAAI,SAAUksB,EAAY,SACnC,IAAIyS,EAAmB,GAAGxtC,QAAqB,IAAb+6B,GAAkBgQ,QAAQ,GAAI,KAChEvlC,KAAKs6B,SAAS1L,kBAAkBmM,QAAQmI,QAAU8E,EAC7CH,GACD7nC,KAAK+0B,KAAK1rB,IAAI,SAAUksB,GAEvBuS,GACD9nC,KAAKguB,OAAO,GAAGxzB,OAAOwF,KAAKyrB,KAAK,UAAW,KAAKjxB,QAAqB,IAAb+6B,GAAkBgQ,QAAQ,GAAI,UAAMllC,OAAWA,EAAW,UAEtHL,KAAKuuB,MAAM7B,OAAS6I,EAChBv1B,KAAKuuB,MAAM4R,QACXngC,KAAKuuB,MAAM4R,OAAQ,GAEvBngC,KAAKogC,kBACT,CACA,OAAOpgC,KAAKuuB,MAAM7B,MACtB,GAEJ,CACIrqB,IAAK,SACLxD,MAAO,WACCmB,KAAKuuB,MAAM8G,OACXr1B,KAAK+sB,OAEL/sB,KAAKgtB,OAEb,GAEJ,CACI3qB,IAAK,KACLxD,MAAO,SAAYwE,EAAM1D,GACrBK,KAAKwzB,OAAOgF,GAAGn1B,EAAM1D,EACzB,GAEJ,CACI0C,IAAK,cACLxD,MAAO,SAAqB0vB,EAAO0Z,GAC/BjoC,KAAKgtB,QACLhtB,KAAKuuB,MAAM2Z,OAAS3Z,EAAMC,IAAMD,EAAMC,IAAM,GAC5CxuB,KAAKuuB,MAAMuM,IAAMvM,EAAM9tB,IACvBT,KAAKmoC,QAAQnoC,KAAKuuB,MAAOA,EAAM5jB,MAAQ,QACnCs9B,IACAjoC,KAAKs6B,SAASjL,eAAenzB,MAAMohC,QAAU,QAC7Ct9B,KAAKy/B,IAAIp2B,IAAI,SAAU,EAAG,SAC1BrJ,KAAKy/B,IAAIp2B,IAAI,SAAU,EAAG,SAC1BrJ,KAAKs6B,SAAS3K,MAAMvB,UAAY,QAChCpuB,KAAKs6B,SAASlL,QAAQhB,UAAY,GAC9BpuB,KAAKovB,SACLpvB,KAAKovB,QAAQgZ,OAAO,CAChB9uC,GAAI2uC,EAAW3uC,GACfw6B,QAASmU,EAAW5sC,IACpB6W,MAAO+1B,EAAW/1B,MAClB2hB,QAASoU,EAAWpU,QACpBG,SAAUiU,EAAWjU,SACrBe,KAAMkT,EAAWlT,OAIjC,GAEJ,CACI1yB,IAAK,UACLxD,MAAO,SAAiB0vB,EAAO5jB,GAC3B,IAAIkqB,EAAS70B,KAEb,GADAA,KAAK2K,KAAOA,EACR3K,KAAK9F,QAAQq0B,MAAM8Z,YAAcroC,KAAK9F,QAAQq0B,MAAM8Z,WAAW19B,GACa,sBAAxElM,OAAO+C,UAAU5C,SAASE,KAAKkB,KAAK9F,QAAQq0B,MAAM8Z,WAAW19B,IAC7D3K,KAAK9F,QAAQq0B,MAAM8Z,WAAW19B,GAAM3K,KAAKuuB,MAAOvuB,MAEhDsG,QAAQN,MAAM,uBAAuBxL,OAAOmQ,SAiBhD,OAdkB,SAAd3K,KAAK2K,OACD,gBAAgBxL,KAAKovB,EAAMuM,KAC3B96B,KAAK2K,KAAO,MACL,gBAAgBxL,KAAKovB,EAAMuM,KAClC96B,KAAK2K,KAAO,MACL,gBAAgBxL,KAAKovB,EAAMuM,KAClC96B,KAAK2K,KAAO,OAEZ3K,KAAK2K,KAAO,UAGF,QAAd3K,KAAK2K,OAAmB4jB,EAAM+Z,YAAY,0BAA4B/Z,EAAM+Z,YAAY,oCACxFtoC,KAAK2K,KAAO,UAER3K,KAAK2K,MACb,IAAK,MACD,GAAIpO,OAAOgsC,IACP,GAAIhsC,OAAOgsC,IAAIC,cAAe,CAC1B,IAAItuC,EAAU8F,KAAK9F,QAAQwsC,cAAcC,IACrCA,EAAM,IAAIpqC,OAAOgsC,IAAIruC,GACzB8F,KAAKwnC,QAAQb,IAAMA,EACnBA,EAAI8B,WAAWla,EAAMuM,KACrB6L,EAAI+B,YAAYna,GAChBvuB,KAAKwzB,OAAOgF,GAAG,WAAW,WACtBmO,EAAIgC,iBACG9T,EAAO2S,QAAQb,GAC1B,GACJ,MACI3mC,KAAKguB,OAAO,qCAGhBhuB,KAAKguB,OAAO,0BAEhB,MACJ,IAAK,MACD,GAAIzxB,OAAOqsC,MACP,GAAIrsC,OAAOqsC,MAAMJ,cAAe,CAC5B,IAAIK,EAAYtsC,OAAOqsC,MAAME,aAAarqC,OAAO+P,OAAOxO,KAAK9F,QAAQwsC,cAAcE,IAAImC,iBAAmB,CAAC,EAAG,CAC1Gp+B,KAAM,MACNlK,IAAK8tB,EAAMuM,MACX96B,KAAK9F,QAAQwsC,cAAcE,IAAI51B,QACnChR,KAAKwnC,QAAQoB,MAAQC,EACrBA,EAAUG,mBAAmBza,GAC7Bsa,EAAUlV,OACV3zB,KAAKwzB,OAAOgF,GAAG,WAAW,WACtBqQ,EAAUI,SACVJ,EAAUK,qBACVL,EAAUF,iBACH9T,EAAO2S,QAAQoB,KAC1B,GACJ,MACI5oC,KAAKguB,OAAO,uCAGhBhuB,KAAKguB,OAAO,4BAEhB,MACJ,IAAK,OACD,GAAIzxB,OAAO4sC,OAAQ,CACf,IAAIC,EAAe7sC,OAAO4sC,OAAOE,cAAc3qC,SAASwjC,WAAW3T,EAAOA,EAAMuM,KAAK,GACjFwO,EAAWtpC,KAAK9F,QAAQwsC,cAAcG,KAC1CuC,EAAaG,eAAeD,GAC5BtpC,KAAKwnC,QAAQX,KAAOuC,EACpBppC,KAAKwzB,OAAOgF,GAAG,WAAW,WACtBj8B,OAAO4sC,OAAOE,cAAcG,eACrB3U,EAAO2S,QAAQX,IAC1B,GACJ,MACI7mC,KAAKguB,OAAO,6BAEhB,MACJ,IAAK,aACD,GAAIzxB,OAAOktC,WACP,GAAIltC,OAAOktC,WAAWC,eAAgB,CAClC1pC,KAAK6tB,UAAUI,UAAUC,IAAI,mBAC7B,IAAIyb,EAAY3pC,KAAK9F,QAAQwsC,cAAcI,WACvC8C,EAAS,IAAIrtC,OAAOktC,WAAWE,GACnC3pC,KAAKwnC,QAAQV,WAAa8C,EAC1B,IAAIC,EAAYtb,EAAMuM,IACtBvM,EAAMuM,IAAM,GACZvM,EAAME,QAAU,WAChBF,EAAMvM,iBAAiB,kBAAkB,WACrC,OAAO6S,EAAOhH,UAAUI,UAAUxyB,OAAO,kBAC7C,GAAG,CAAEquC,MAAM,IACXF,EAAO1b,IAAI2b,GAAW,SAAUE,GACjBA,EAAQC,MAAMC,MAAK,SAAUC,GACpC,OAAOA,EAAK7mC,KAAK0L,SAAS,OAC9B,IACKo7B,SAAStV,EAAOtG,MAAO,CACxB6X,SAAUvR,EAAO36B,QAAQksC,SACzBgE,UAAU,GAElB,IACApqC,KAAKwzB,OAAOgF,GAAG,WAAW,WACtBoR,EAAOnuC,OAAOouC,GACdD,EAAOjB,iBACA9T,EAAO2S,QAAQV,UAC1B,GACJ,MACI9mC,KAAKguB,OAAO,4CAGhBhuB,KAAKguB,OAAO,iCAK5B,GAEJ,CACI3rB,IAAK,YACLxD,MAAO,SAAmB0vB,EAAO5jB,GAC7B,IAAIyqB,EAASp1B,KACbA,KAAKmoC,QAAQ5Z,EAAO5jB,GACpB3K,KAAKw4B,GAAG,kBAAkB,WACC,IAAnBjK,EAAMsQ,UAAkBtQ,EAAMsQ,WAAah4B,MAC3CuuB,EAAOkF,SAAS5J,MAAMtC,UAAY,eAAmBG,EAAMsQ,UAEnE,IACA7+B,KAAKw4B,GAAG,YAAY,WAChB,IAAIjD,EAAahH,EAAM8b,SAAStwC,OAASw0B,EAAM8b,SAASC,IAAI/b,EAAM8b,SAAStwC,OAAS,GAAKw0B,EAAMsQ,SAAW,EAC1GzJ,EAAOqK,IAAIp2B,IAAI,SAAUksB,EAAY,QACzC,IACAv1B,KAAKw4B,GAAG,SAAS,WACRpD,EAAO7G,MAAMvoB,OAGlBovB,EAAO3J,MAAQ2J,EAAOpH,QAA0B,eAAhBoH,EAAOzqB,MAAyByqB,EAAOpH,OAAOoH,EAAO3J,KAAK,gBAC9F,IACAzrB,KAAKw4B,GAAG,SAAS,WACbpD,EAAOqK,IAAIp2B,IAAI,SAAU,EAAG,SACvB+rB,EAAOjJ,QAAQL,MAGhBsJ,EAAOyC,KAAK,GACZzC,EAAOrI,QAHPqI,EAAOpI,QAKPoI,EAAOhG,UACPgG,EAAOhG,QAAQgE,SAAW,EAElC,IACApzB,KAAKw4B,GAAG,QAAQ,WACRpD,EAAOC,QACPD,EAAOrI,MAAK,EAEpB,IACA/sB,KAAKw4B,GAAG,SAAS,WACRpD,EAAOC,QACRD,EAAOpI,OAAM,EAErB,IACAhtB,KAAKw4B,GAAG,cAAc,WAClBpD,EAAOqK,IAAIp2B,IAAI,SAAU+rB,EAAO7G,MAAM+N,YAAclH,EAAO7G,MAAMsQ,SAAU,SAC3E,IAAIvC,EAAc,eAAmBlH,EAAO7G,MAAM+N,aAC9ClH,EAAOkF,SAAS3K,MAAMvB,YAAckO,IACpClH,EAAOkF,SAAS3K,MAAMvB,UAAYkO,EAE1C,IAMA,IALA,IAAI3H,EAAQ,SAAel7B,GACvB80B,EAAMvM,iBAAiBoT,EAAO5B,OAAO2E,YAAY1+B,IAAI,SAAUkD,GAC3Dy4B,EAAO5B,OAAOS,QAAQmB,EAAO5B,OAAO2E,YAAY1+B,GAAIkD,EACxD,GACJ,EACSlD,EAAI,EAAGA,EAAIuG,KAAKwzB,OAAO2E,YAAYp+B,OAAQN,IAChDk7B,EAAMl7B,GAEVuG,KAAK0sB,OAAO1sB,KAAK+0B,KAAKtyB,IAAI,WAAW,GAAM,GACvCzC,KAAK9F,QAAQsyB,WACbxsB,KAAKwsB,SAAW,IAAI,GAASxsB,KAAKs6B,SAAS9N,SAAUxsB,KAAKuuB,MAAOvuB,KAAK9F,QAAQsyB,SAAUxsB,KAAKwzB,QACzF5zB,MAAMC,QAAQG,KAAK9F,QAAQsyB,SAAS/rB,OACpCT,KAAKuqC,UAAY,IAAI,GAAUvqC,OAE9BA,KAAK+0B,KAAKtyB,IAAI,aACfzC,KAAKwsB,SAASkO,OAG1B,GAEJ,CACIr4B,IAAK,gBACLxD,MAAO,SAAuBjD,GAC1B,IAAI85B,EAAS11B,KAEb,GADApE,EAAyB,iBAAVA,EAAqBoO,SAASpO,GAASA,EAClDoE,KAAKmnC,eAAiBvrC,IAASoE,KAAKwqC,iBAAxC,CAGIxqC,KAAKyqC,UAAYzqC,KAAKmnC,aACtBnnC,KAAKmnC,aAAevrC,EAExBoE,KAAKwqC,kBAAmB,EACxBxqC,KAAKsgC,QAAUtgC,KAAK9F,QAAQq0B,MAAM+R,QAAQ1kC,GAC1CoE,KAAKs6B,SAASpI,cAAc9D,UAAYpuB,KAAKsgC,QAAQj9B,KACrD,IAAIgyB,EAASr1B,KAAKuuB,MAAM8G,OACxBr1B,KAAKuuB,MAAMvB,QACX,IAAI0d,EAAY,KAAS,CACrBnjC,SAAS,EACTinB,IAAK,KACLnC,WAAYrsB,KAAK9F,QAAQmyB,WACzBoC,QAAS,OACThuB,IAAKT,KAAKsgC,QAAQ7/B,IAClB+rB,SAAUxsB,KAAK9F,QAAQsyB,WAEvBme,GAAW,IAAIC,WAAYC,gBAAgBH,EAAW,aAAahjC,KAAKtJ,WAC5E4B,KAAKs6B,SAAS7K,UAAUwP,aAAa0L,EAAU3qC,KAAKs6B,SAAS7K,UAAUqb,qBAAqB,OAAO,IACnG9qC,KAAK+qC,UAAY/qC,KAAKuuB,MACtBvuB,KAAKuuB,MAAQoc,EACb3qC,KAAK2nC,UAAU3nC,KAAKuuB,MAAOvuB,KAAKsgC,QAAQ31B,MAAQ3K,KAAK9F,QAAQq0B,MAAM5jB,MACnE3K,KAAK63B,KAAK73B,KAAK+qC,UAAUzO,aACzBt8B,KAAKguB,OAAO,GAAGxzB,OAAOwF,KAAKyrB,KAAK,qBAAqBzqB,QAAQ,KAAMhB,KAAKsgC,QAAQj9B,QAAS,OAAGhD,EAAW,kBACvGL,KAAKwzB,OAAOS,QAAQ,gBAAiBj0B,KAAKsgC,SAC1CtgC,KAAKw4B,GAAG,WAAW,WACf,GAAI9C,EAAOqV,UAAW,CAClB,GAAIrV,EAAOnH,MAAM+N,cAAgB5G,EAAOqV,UAAUzO,YAE9C,YADA5G,EAAOmC,KAAKnC,EAAOqV,UAAUzO,aAGjC5G,EAAO4E,SAAS7K,UAAUzxB,YAAY03B,EAAOqV,WAC7CrV,EAAOnH,MAAMN,UAAUC,IAAI,yBACtBmH,GACDK,EAAOnH,MAAMxB,OAEjB2I,EAAOqV,UAAY,KACnBrV,EAAO1H,OAAO,GAAGxzB,OAAOk7B,EAAOjK,KAAK,oBAAoBzqB,QAAQ,KAAM00B,EAAO4K,QAAQj9B,YAAQhD,OAAWA,EAAW,kBACnHq1B,EAAO8U,kBAAmB,EAC1B9U,EAAOlC,OAAOS,QAAQ,cAC1B,CACJ,IACAj0B,KAAKw4B,GAAG,SAAS,WACR9C,EAAOnH,MAAMvoB,OAGd0vB,EAAOqV,YACPrV,EAAO4E,SAAS7K,UAAUzxB,YAAY03B,EAAOnH,OAC7CmH,EAAOnH,MAAQmH,EAAOqV,UACjB1V,GACDK,EAAOnH,MAAMxB,OAEjB2I,EAAOyR,aAAezR,EAAO+U,UAC7B/U,EAAO4K,QAAU5K,EAAOx7B,QAAQq0B,MAAM+R,QAAQ5K,EAAOyR,cACrDzR,EAAOsV,WAAaznC,YAAW,WAC3BmyB,EAAO4E,SAAStM,OAAO9xB,MAAM6xB,QAAU,EACvC2H,EAAOlC,OAAOS,QAAQ,cAC1B,GAAG,KACHyB,EAAOqV,UAAY,KACnBrV,EAAO8U,kBAAmB,EAElC,GA1DA,CA2DJ,GAEJ,CACInoC,IAAK,SACLxD,MAAO,SAAgBssB,GACnB,IAGI8f,EAkB2CtuC,EAAGuuC,EArB9CjgB,EAAOjmB,UAAUjL,OAAS,QAAsBsG,IAAjB2E,UAAU,GAAmBA,UAAU,GAAK,IAC3E+oB,EAAU/oB,UAAUjL,OAAS,QAAsBsG,IAAjB2E,UAAU,GAAmBA,UAAU,GAAK,GAC9E1L,EAAK0L,UAAUjL,OAAS,EAAIiL,UAAU,QAAK3E,EAY/C,GAVI/G,KACA2xC,EAAe5uC,SAAS8uC,eAAe,kBAAkB3wC,OAAOlB,OAE5D2xC,EAAa7c,UAAYjD,GAEzBnrB,KAAKqyB,WAAW/4B,KAChB8pC,aAAapjC,KAAKqyB,WAAW/4B,IAC7B0G,KAAKqyB,WAAW/4B,GAAM,QAGzB2xC,EAAc,CACf,IAAIjd,EAAS,aAAmB7C,EAAM4C,EAASz0B,GAC/C0G,KAAKs6B,SAASjI,WAAWv1B,YAAYkxB,GACrCid,EAAejd,CACnB,CACAhuB,KAAKwzB,OAAOS,QAAQ,cAAegX,GAC/BhgB,EAAO,IACPjrB,KAAKqyB,WAAW/4B,GAAMiK,YAAqB5G,EASzCsuC,EAT4CC,EAS9BlrC,KARL,WACHrD,EAAEqlB,iBAAiB,gBAAgB,WAC/BkpB,EAAG5Q,SAASjI,WAAWr0B,YAAYrB,EACvC,IACAA,EAAEsxB,UAAUC,IAAI,iBAChBgd,EAAG1X,OAAOS,QAAQ,eAClBiX,EAAG7Y,WAAW/4B,GAAM,IACxB,GACmB2xB,GAE/B,GAEJ,CACI5oB,IAAK,SACLxD,MAAO,WACCmB,KAAKovB,SACLpvB,KAAKovB,QAAQqJ,SAEbz4B,KAAK2wB,WAAWuO,YAChBl/B,KAAK2wB,WAAWuO,WAAWzG,OAAO,IAAKz4B,KAAKuuB,MAAM4Q,YAAcn/B,KAAKuuB,MAAM6Q,WAAa,IAAKp/B,KAAKs6B,SAASlI,QAAQ0D,aAEvH91B,KAAKwzB,OAAOS,QAAQ,SACxB,GAEJ,CACI5xB,IAAK,QACLxD,MAAO,SAAe6gB,GAClB1f,KAAKuuB,MAAM6c,aAAe1rB,CAC9B,GAEJ,CACIrd,IAAK,UACLxD,MAAO,WACHonC,GAAU7qC,OAAO6qC,GAAU/2B,QAAQlP,MAAO,GAC1CA,KAAKgtB,QACL3wB,SAASikB,oBAAoB,QAAStgB,KAAKynC,aAAa,GACxDznC,KAAK6tB,UAAUvN,oBAAoB,QAAStgB,KAAK0nC,mBAAmB,GACpE1nC,KAAKi4B,WAAW0Q,UAChB3oC,KAAKukC,OAAOoE,UACZ3oC,KAAKglC,YAAY2D,UACjB3oC,KAAK2wB,WAAWgY,UAChB3oC,KAAK2/B,MAAMgJ,UACX3oC,KAAKuuB,MAAMuM,IAAM,GACjB96B,KAAK6tB,UAAUO,UAAY,GAC3BpuB,KAAKwzB,OAAOS,QAAQ,UACxB,IAppBmC/a,EAspBxC,CAAC,CACI7W,IAAK,UACLI,IAAK,WACD,MAAO,QACX,IAzpBJsS,GACA,GAAkBH,EAAYpT,UAAWuT,GACzCmE,GACA,GAAkBtE,EAAasE,GACnCza,OAAO8D,eAAeqS,EAAa,YAAa,CAAEhF,UAAU,IAupBrDs2B,CACX,CA7mBc,GA8mBd,YCttBA5/B,QAAQ27B,IAAI,KAAKznC,OAAO,gBAAiB,SAAiB,KAAKA,OAAO,sBAAU,kCAAmC,KAAM,MAAO,sDAAuD,uCACvL,W","sources":["webpack://dplayer/webpack/universalModuleDefinition","webpack://dplayer/./Users/diygod/Code/Project/DPlayer/src/template/player.art","webpack://dplayer/./Users/diygod/Code/Project/DPlayer/src/template/video.art","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/balloon-css/balloon.css","webpack://dplayer/./src/css/index.less","webpack://dplayer/./node_modules/.pnpm/[email protected][email protected]/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://dplayer/./node_modules/.pnpm/[email protected][email protected]/node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://dplayer/./node_modules/.pnpm/[email protected][email protected]/node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://dplayer/./node_modules/.pnpm/[email protected][email protected]/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://dplayer/./node_modules/.pnpm/[email protected][email protected]/node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://dplayer/./node_modules/.pnpm/[email protected][email protected]/node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://dplayer/./src/assets/airplay.svg","webpack://dplayer/./src/assets/camera.svg","webpack://dplayer/./src/assets/chromecast.svg","webpack://dplayer/./src/assets/comment-off.svg","webpack://dplayer/./src/assets/comment.svg","webpack://dplayer/./src/assets/full-web.svg","webpack://dplayer/./src/assets/full.svg","webpack://dplayer/./src/assets/loading.svg","webpack://dplayer/./src/assets/pallette.svg","webpack://dplayer/./src/assets/pause.svg","webpack://dplayer/./src/assets/play.svg","webpack://dplayer/./src/assets/right.svg","webpack://dplayer/./src/assets/send.svg","webpack://dplayer/./src/assets/setting.svg","webpack://dplayer/./src/assets/subtitle.svg","webpack://dplayer/./src/assets/volume-down.svg","webpack://dplayer/./src/assets/volume-off.svg","webpack://dplayer/./src/assets/volume-up.svg","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/art-template/lib/compile/runtime.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/art-template/lib/runtime.js","webpack://dplayer/./node_modules/.pnpm/[email protected][email protected]/node_modules/css-loader/dist/runtime/api.js","webpack://dplayer/./node_modules/.pnpm/[email protected][email protected]/node_modules/css-loader/dist/runtime/getUrl.js","webpack://dplayer/./node_modules/.pnpm/[email protected][email protected]/node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/form-data/lib/browser.js","webpack://dplayer/webpack/bootstrap","webpack://dplayer/webpack/runtime/compat get default export","webpack://dplayer/webpack/runtime/define property getters","webpack://dplayer/webpack/runtime/global","webpack://dplayer/webpack/runtime/hasOwnProperty shorthand","webpack://dplayer/webpack/runtime/jsonp chunk loading","webpack://dplayer/webpack/runtime/nonce","webpack://dplayer/./src/css/index.less?6cd0","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/promise-polyfill/src/allSettled.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/promise-polyfill/src/any.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/promise-polyfill/src/index.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/promise-polyfill/src/finally.js","webpack://dplayer/./src/js/utils.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/helpers/bind.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/utils.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/core/AxiosError.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/env/classes/FormData.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/helpers/toFormData.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/helpers/buildURL.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/core/InterceptorManager.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/defaults/transitional.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/platform/browser/index.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/helpers/formDataToJSON.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/defaults/index.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/helpers/parseHeaders.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/core/AxiosHeaders.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/core/transformData.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/cancel/isCancel.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/cancel/CanceledError.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/helpers/cookies.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/core/buildFullPath.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/helpers/combineURLs.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/adapters/xhr.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/helpers/speedometer.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/core/settle.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/helpers/parseProtocol.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/adapters/adapters.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/helpers/null.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/core/dispatchRequest.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/core/mergeConfig.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/helpers/validator.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/core/Axios.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/cancel/CancelToken.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/axios.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/env/data.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/helpers/spread.js","webpack://dplayer/./node_modules/.pnpm/[email protected]/node_modules/axios/lib/helpers/isAxiosError.js","webpack://dplayer/./src/js/api.js","webpack://dplayer/./src/js/options.js","webpack://dplayer/./src/js/i18n.js","webpack://dplayer/./src/js/icons.js","webpack://dplayer/./src/js/template.js","webpack://dplayer/./src/js/danmaku.js","webpack://dplayer/./src/js/events.js","webpack://dplayer/./src/js/fullscreen.js","webpack://dplayer/./src/js/user.js","webpack://dplayer/./src/js/subtitle.js","webpack://dplayer/./src/js/subtitles.js","webpack://dplayer/./src/js/bar.js","webpack://dplayer/./src/js/timer.js","webpack://dplayer/./src/js/bezel.js","webpack://dplayer/./src/js/thumbnails.js","webpack://dplayer/./src/js/controller.js","webpack://dplayer/./src/js/setting.js","webpack://dplayer/./src/js/comment.js","webpack://dplayer/./src/js/hotkey.js","webpack://dplayer/./src/js/contextmenu.js","webpack://dplayer/./src/js/info-panel.js","webpack://dplayer/./src/js/player.js","webpack://dplayer/./src/js/index.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"DPlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"DPlayer\"] = factory();\n\telse\n\t\troot[\"DPlayer\"] = factory();\n})(self, () => {\nreturn ","<div class=\"dplayer-mask\"></div>\n<div class=\"dplayer-video-wrap\">\n    {{ include './video.art' video }}\n    {{ if options.logo }}\n    <div class=\"dplayer-logo\">\n        <img src=\"{{ options.logo }}\">\n    </div>\n    {{ /if }}\n    <div class=\"dplayer-danmaku\"{{ if options.danmaku && options.danmaku.bottom }} style=\"margin-bottom:{{ options.danmaku.bottom }}\"{{ /if }}>\n        <div class=\"dplayer-danmaku-item dplayer-danmaku-item--demo\"></div>\n    </div>\n    <div class=\"dplayer-subtitle\"></div>\n    <div class=\"dplayer-bezel\">\n        <span class=\"dplayer-bezel-icon\"></span>\n        {{ if options.danmaku }}\n        <span class=\"dplayer-danloading\">{{ tran('danmaku-loading') }}</span>\n        {{ /if }}\n        <span class=\"diplayer-loading-icon\">{{@ icons.loading }}</span>\n    </div>\n</div>\n<div class=\"dplayer-controller-mask\"></div>\n<div class=\"dplayer-controller\">\n    <div class=\"dplayer-icons dplayer-comment-box\">\n        <button class=\"dplayer-icon dplayer-comment-setting-icon\" data-balloon=\"{{ tran('setting') }}\" data-balloon-pos=\"up\">\n            <span class=\"dplayer-icon-content\">{{@ icons.pallette }}</span>\n        </button>\n        <div class=\"dplayer-comment-setting-box\">\n            <div class=\"dplayer-comment-setting-color\">\n                <div class=\"dplayer-comment-setting-title\">{{ tran('set-danmaku-color') }}</div>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#fff\" checked>\n                    <span style=\"background: #fff;\"></span>\n                </label>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#e54256\">\n                    <span style=\"background: #e54256\"></span>\n                </label>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#ffe133\">\n                    <span style=\"background: #ffe133\"></span>\n                </label>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#64DD17\">\n                    <span style=\"background: #64DD17\"></span>\n                </label>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#39ccff\">\n                    <span style=\"background: #39ccff\"></span>\n                </label>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-color-{{ index }}\" value=\"#D500F9\">\n                    <span style=\"background: #D500F9\"></span>\n                </label>\n            </div>\n            <div class=\"dplayer-comment-setting-type\">\n                <div class=\"dplayer-comment-setting-title\">{{ tran('set-danmaku-type') }}</div>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-type-{{ index }}\" value=\"1\">\n                    <span>{{ tran('top') }}</span>\n                </label>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-type-{{ index }}\" value=\"0\" checked>\n                    <span>{{ tran('rolling') }}</span>\n                </label>\n                <label>\n                    <input type=\"radio\" name=\"dplayer-danmaku-type-{{ index }}\" value=\"2\">\n                    <span>{{ tran('bottom') }}</span>\n                </label>\n            </div>\n        </div>\n        <input class=\"dplayer-comment-input\" type=\"text\" placeholder=\"{{ tran('input-danmaku-enter') }}\" maxlength=\"30\">\n        <button class=\"dplayer-icon dplayer-send-icon\" data-balloon=\"{{ tran('send') }}\" data-balloon-pos=\"up\">\n            <span class=\"dplayer-icon-content\">{{@ icons.send }}</span>\n        </button>\n    </div>\n    <div class=\"dplayer-icons dplayer-icons-left\">\n        <button class=\"dplayer-icon dplayer-play-icon\">\n            <span class=\"dplayer-icon-content\">{{@ icons.play }}</span>\n        </button>\n        <div class=\"dplayer-volume\">\n            <button class=\"dplayer-icon dplayer-volume-icon\">\n                <span class=\"dplayer-icon-content\">{{@ icons.volumeDown }}</span>\n            </button>\n            <div class=\"dplayer-volume-bar-wrap\" data-balloon-pos=\"up\">\n                <div class=\"dplayer-volume-bar\">\n                    <div class=\"dplayer-volume-bar-inner\" style=\"background: {{ options.theme }};\">\n                        <span class=\"dplayer-thumb\" style=\"background: {{ options.theme }}\"></span>\n                    </div>\n                </div>\n            </div>\n        </div>\n        <span class=\"dplayer-time\">\n            <span class=\"dplayer-ptime\">0:00</span> /\n            <span class=\"dplayer-dtime\">0:00</span>\n        </span>\n        {{ if options.live }}\n        <span class=\"dplayer-live-badge\"><span class=\"dplayer-live-dot\" style=\"background: {{ options.theme }};\"></span>{{ tran('live') }}</span>\n        {{ /if }}\n    </div>\n    <div class=\"dplayer-icons dplayer-icons-right\">\n        {{ if options.video.quality }}\n        <div class=\"dplayer-quality\">\n            <button class=\"dplayer-icon dplayer-quality-icon\">{{ options.video.quality[options.video.defaultQuality].name }}</button>\n            <div class=\"dplayer-quality-mask\">\n                <div class=\"dplayer-quality-list\">\n                {{ each options.video.quality }}\n                    <div class=\"dplayer-quality-item\" data-index=\"{{ $index }}\">{{ $value.name }}</div>\n                {{ /each }}\n                </div>\n            </div>\n        </div>\n        {{ /if }}\n        {{ if options.screenshot }}\n        <div class=\"dplayer-icon dplayer-camera-icon\" data-balloon=\"{{ tran('screenshot') }}\" data-balloon-pos=\"up\">\n            <span class=\"dplayer-icon-content\">{{@ icons.camera }}</span>\n        </div>\n        {{ /if }}\n        {{ if options.airplay }}\n        <div class=\"dplayer-icon dplayer-airplay-icon\" data-balloon=\"{{ tran('airplay') }}\" data-balloon-pos=\"up\">\n            <span class=\"dplayer-icon-content\">{{@ icons.airplay }}</span>\n        </div>\n        {{ /if }}\n        {{ if options.chromecast }}\n        <div class=\"dplayer-icon dplayer-chromecast-icon\" data-balloon=\"{{ tran('chromecast') }}\" data-balloon-pos=\"up\">\n            <span class=\"dplayer-icon-content\">{{@ icons.chromecast }}</span>\n        </div>\n        {{ /if }}\n        <div class=\"dplayer-comment\">\n            <button class=\"dplayer-icon dplayer-comment-icon\" data-balloon=\"{{ tran('send-danmaku') }}\" data-balloon-pos=\"up\">\n                <span class=\"dplayer-icon-content\">{{@ icons.comment }}</span>\n            </button>\n        </div>\n        {{ if options.subtitle }}\n        {{ if (typeof options.subtitle.url === 'string') }}\n        <div class=\"dplayer-subtitle-btn\">\n            <button class=\"dplayer-icon dplayer-subtitle-icon\" data-balloon=\"{{ tran('hide-subs') }}\" data-balloon-pos=\"up\">\n                <span class=\"dplayer-icon-content\">{{@ icons.subtitle }}</span>\n            </button>\n        </div>\n        {{ else }}\n        <div class=\"dplayer-subtitles\">\n            <button class=\"dplayer-icon dplayer-subtitles-icon\" data-balloon=\"{{ tran('subtitle') }}\" data-balloon-pos=\"up\">\n                <span class=\"dplayer-icon-content\">{{@ icons.subtitle }}</span>\n            </button>\n            <div class=\"dplayer-subtitles-box\">\n                <div class=\"dplayer-subtitles-panel\">\n                    {{ each options.subtitle.url }}\n                        <div class=\"dplayer-subtitles-item\" data-subtitle=\"{{ $value.url }}\">\n                            <!-- if lang, show tran(lang). if lang and name, show name + (tran(lang)). if name, show name. off option use lang for translation. -->\n                            <span class=\"dplayer-label\">{{ $value.lang ? $value.name ?  $value.name+' ('+tran($value.lang)+')' : tran($value.lang) : $value.name }}</span>\n                        </div>\n                    {{ /each }}\n                </div>\n            </div>\n        </div>\n        {{ /if }}\n        {{ /if }}\n        <div class=\"dplayer-setting\">\n            <button class=\"dplayer-icon dplayer-setting-icon\" data-balloon=\"{{ tran('setting') }}\" data-balloon-pos=\"up\">\n                <span class=\"dplayer-icon-content\">{{@ icons.setting }}</span>\n            </button>\n            <div class=\"dplayer-setting-box\">\n                <div class=\"dplayer-setting-origin-panel\">\n                    <div class=\"dplayer-setting-item dplayer-setting-speed\">\n                        <span class=\"dplayer-label\">{{ tran('speed') }}</span>\n                        <div class=\"dplayer-toggle\">{{@ icons.right }}</div>\n                    </div>\n                    <div class=\"dplayer-setting-item dplayer-setting-loop\">\n                        <span class=\"dplayer-label\">{{ tran('loop') }}</span>\n                        <div class=\"dplayer-toggle\">\n                            <input class=\"dplayer-toggle-setting-input\" type=\"checkbox\" name=\"dplayer-toggle\">\n                            <label for=\"dplayer-toggle\"></label>\n                        </div>\n                    </div>\n                    <div class=\"dplayer-setting-item dplayer-setting-showdan\">\n                        <span class=\"dplayer-label\">{{ tran('show-danmaku') }}</span>\n                        <div class=\"dplayer-toggle\">\n                            <input class=\"dplayer-showdan-setting-input\" type=\"checkbox\" name=\"dplayer-toggle-dan\">\n                            <label for=\"dplayer-toggle-dan\"></label>\n                        </div>\n                    </div>\n                    <div class=\"dplayer-setting-item dplayer-setting-danunlimit\">\n                        <span class=\"dplayer-label\">{{ tran('unlimited-danmaku') }}</span>\n                        <div class=\"dplayer-toggle\">\n                            <input class=\"dplayer-danunlimit-setting-input\" type=\"checkbox\" name=\"dplayer-toggle-danunlimit\">\n                            <label for=\"dplayer-toggle-danunlimit\"></label>\n                        </div>\n                    </div>\n                    <div class=\"dplayer-setting-item dplayer-setting-danmaku\">\n                        <span class=\"dplayer-label\">{{ tran('opacity-danmaku') }}</span>\n                        <div class=\"dplayer-danmaku-bar-wrap\">\n                            <div class=\"dplayer-danmaku-bar\">\n                                <div class=\"dplayer-danmaku-bar-inner\">\n                                    <span class=\"dplayer-thumb\"></span>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n                <div class=\"dplayer-setting-speed-panel\">\n                    {{ each options.playbackSpeed }}\n                        <div class=\"dplayer-setting-speed-item\" data-speed=\"{{ $value }}\">\n                            <span class=\"dplayer-label\">{{ $value === 1 ? tran('normal') : $value }}</span>\n                        </div>\n                    {{ /each }}\n                </div>\n            </div>\n        </div>\n        <div class=\"dplayer-full\">\n            <button class=\"dplayer-icon dplayer-full-in-icon\" data-balloon=\"{{ tran('web-fullscreen') }}\" data-balloon-pos=\"up\">\n                <span class=\"dplayer-icon-content\">{{@ icons.fullWeb }}</span>\n            </button>\n            <button class=\"dplayer-icon dplayer-full-icon\" data-balloon=\"{{ tran('fullscreen') }}\" data-balloon-pos=\"up\">\n                <span class=\"dplayer-icon-content\">{{@ icons.full }}</span>\n            </button>\n        </div>\n    </div>\n    <div class=\"dplayer-bar-wrap\">\n        <div class=\"dplayer-bar-time hidden\">00:00</div>\n        <div class=\"dplayer-bar-preview\"></div>\n        <div class=\"dplayer-bar\">\n            <div class=\"dplayer-loaded\" style=\"width: 0;\"></div>\n            <div class=\"dplayer-played\" style=\"width: 0; background: {{ options.theme }}\">\n                <span class=\"dplayer-thumb\" style=\"background: {{ options.theme }}\"></span>\n            </div>\n        </div>\n    </div>\n</div>\n<div class=\"dplayer-info-panel dplayer-info-panel-hide\">\n    <div class=\"dplayer-info-panel-close\">[x]</div>\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-version\">\n        <span class=\"dplayer-info-panel-item-title\">Player version</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-fps\">\n        <span class=\"dplayer-info-panel-item-title\">Player FPS</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-type\">\n        <span class=\"dplayer-info-panel-item-title\">Video type</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-url\">\n        <span class=\"dplayer-info-panel-item-title\">Video url</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-resolution\">\n        <span class=\"dplayer-info-panel-item-title\">Video resolution</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-duration\">\n        <span class=\"dplayer-info-panel-item-title\">Video duration</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    {{ if options.danmaku }}\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-danmaku-id\">\n        <span class=\"dplayer-info-panel-item-title\">Danmaku id</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-danmaku-api\">\n        <span class=\"dplayer-info-panel-item-title\">Danmaku api</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    <div class=\"dplayer-info-panel-item dplayer-info-panel-item-danmaku-amount\">\n        <span class=\"dplayer-info-panel-item-title\">Danmaku amount</span>\n        <span class=\"dplayer-info-panel-item-data\"></span>\n    </div>\n    {{ /if }}\n</div>\n<div class=\"dplayer-menu\">\n    {{ each options.contextmenu }}\n        <div class=\"dplayer-menu-item\">\n            <a{{ if $value.link }} target=\"_blank\"{{ /if }} href=\"{{ $value.link || 'javascript:void(0);' }}\">{{ if $value.key }} {{ tran($value.key) }}{{ /if }}{{ if $value.text }} {{$value.text}}{{ /if }}</a>\n        </div>\n    {{ /each }}\n</div>\n<div class=\"dplayer-notice-list\"></div>\n<button class=\"dplayer-mobile-play\">\n    {{@ icons.play }}\n</button>","{{ set enableSubtitle = subtitle && subtitle.type === 'webvtt' }}\n<video\n    class=\"dplayer-video {{ if current }}dplayer-video-current{{ /if }}\"\n    webkit-playsinline\n    {{ if airplay }} x-webkit-airplay=\"allow\" {{ /if }}\n    playsinline\n    {{ if pic }}poster=\"{{ pic }}\"{{ /if }}\n    {{ if screenshot || enableSubtitle }}crossorigin=\"anonymous\"{{ /if }}\n    {{ if preload }}preload=\"{{ preload }}\"{{ /if }}\n    {{ if airplay }}\n    nosrc\n    {{ else if url }}\n    src=\"{{ url }}\"\n    {{ /if }}\n    >\n    {{ if airplay }}\n    <source src=\"{{ url }}\">\n    {{ /if}}\n    {{ if enableSubtitle }}\n    <track class=\"dplayer-subtrack\" kind=\"metadata\" default src=\"{{ typeof subtitle.url === 'string' ? subtitle.url : subtitle.url[subtitle.index].url }}\"></track>\n    {{ /if }}\n</video>","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../[email protected][email protected]/node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../[email protected][email protected]/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":root {\\n  --balloon-border-radius: 2px;\\n  --balloon-color: rgba(16, 16, 16, 0.95);\\n  --balloon-text-color: #fff;\\n  --balloon-font-size: 12px;\\n  --balloon-move: 4px; }\\n\\nbutton[aria-label][data-balloon-pos] {\\n  overflow: visible; }\\n\\n[aria-label][data-balloon-pos] {\\n  position: relative;\\n  cursor: pointer; }\\n  [aria-label][data-balloon-pos]:after {\\n    opacity: 0;\\n    pointer-events: none;\\n    transition: all 0.18s ease-out 0.18s;\\n    text-indent: 0;\\n    font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, Oxygen, Ubuntu, Cantarell, \\\"Open Sans\\\", \\\"Helvetica Neue\\\", sans-serif;\\n    font-weight: normal;\\n    font-style: normal;\\n    text-shadow: none;\\n    font-size: 12px;\\n    font-size: var(--balloon-font-size);\\n    background: rgba(16, 16, 16, 0.95);\\n    background: var(--balloon-color);\\n    border-radius: 2px;\\n    color: #fff;\\n    color: var(--balloon-text-color);\\n    border-radius: var(--balloon-border-radius);\\n    content: attr(aria-label);\\n    padding: .5em 1em;\\n    position: absolute;\\n    white-space: nowrap;\\n    z-index: 10; }\\n  [aria-label][data-balloon-pos]:before {\\n    width: 0;\\n    height: 0;\\n    border: 5px solid transparent;\\n    border-top-color: rgba(16, 16, 16, 0.95);\\n    border-top-color: var(--balloon-color);\\n    opacity: 0;\\n    pointer-events: none;\\n    transition: all 0.18s ease-out 0.18s;\\n    content: \\\"\\\";\\n    position: absolute;\\n    z-index: 10; }\\n  [aria-label][data-balloon-pos]:hover:before, [aria-label][data-balloon-pos]:hover:after, [aria-label][data-balloon-pos][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-visible]:after, [aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before, [aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after {\\n    opacity: 1;\\n    pointer-events: none; }\\n  [aria-label][data-balloon-pos].font-awesome:after {\\n    font-family: FontAwesome, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; }\\n  [aria-label][data-balloon-pos][data-balloon-break]:after {\\n    white-space: pre; }\\n  [aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after {\\n    white-space: pre-line;\\n    word-break: break-word; }\\n  [aria-label][data-balloon-pos][data-balloon-blunt]:before, [aria-label][data-balloon-pos][data-balloon-blunt]:after {\\n    transition: none; }\\n  [aria-label][data-balloon-pos][data-balloon-pos=\\\"up\\\"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"up\\\"][data-balloon-visible]:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"down\\\"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"down\\\"][data-balloon-visible]:after {\\n    transform: translate(-50%, 0); }\\n  [aria-label][data-balloon-pos][data-balloon-pos=\\\"up\\\"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos=\\\"up\\\"][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-pos=\\\"down\\\"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos=\\\"down\\\"][data-balloon-visible]:before {\\n    transform: translate(-50%, 0); }\\n  [aria-label][data-balloon-pos][data-balloon-pos*=\\\"-left\\\"]:after {\\n    left: 0; }\\n  [aria-label][data-balloon-pos][data-balloon-pos*=\\\"-left\\\"]:before {\\n    left: 5px; }\\n  [aria-label][data-balloon-pos][data-balloon-pos*=\\\"-right\\\"]:after {\\n    right: 0; }\\n  [aria-label][data-balloon-pos][data-balloon-pos*=\\\"-right\\\"]:before {\\n    right: 5px; }\\n  [aria-label][data-balloon-pos][data-balloon-po*=\\\"-left\\\"]:hover:after, [aria-label][data-balloon-pos][data-balloon-po*=\\\"-left\\\"][data-balloon-visible]:after, [aria-label][data-balloon-pos][data-balloon-pos*=\\\"-right\\\"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos*=\\\"-right\\\"][data-balloon-visible]:after {\\n    transform: translate(0, 0); }\\n  [aria-label][data-balloon-pos][data-balloon-po*=\\\"-left\\\"]:hover:before, [aria-label][data-balloon-pos][data-balloon-po*=\\\"-left\\\"][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-pos*=\\\"-right\\\"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos*=\\\"-right\\\"][data-balloon-visible]:before {\\n    transform: translate(0, 0); }\\n  [aria-label][data-balloon-pos][data-balloon-pos^=\\\"up\\\"]:before, [aria-label][data-balloon-pos][data-balloon-pos^=\\\"up\\\"]:after {\\n    bottom: 100%;\\n    transform-origin: top;\\n    transform: translate(0, 4px);\\n    transform: translate(0, var(--balloon-move)); }\\n  [aria-label][data-balloon-pos][data-balloon-pos^=\\\"up\\\"]:after {\\n    margin-bottom: 10px; }\\n  [aria-label][data-balloon-pos][data-balloon-pos=\\\"up\\\"]:before, [aria-label][data-balloon-pos][data-balloon-pos=\\\"up\\\"]:after {\\n    left: 50%;\\n    transform: translate(-50%, 4px);\\n    transform: translate(-50%, var(--balloon-move)); }\\n  [aria-label][data-balloon-pos][data-balloon-pos^=\\\"down\\\"]:before, [aria-label][data-balloon-pos][data-balloon-pos^=\\\"down\\\"]:after {\\n    top: 100%;\\n    transform: translate(0, calc(4px * -1));\\n    transform: translate(0, calc(var(--balloon-move) * -1)); }\\n  [aria-label][data-balloon-pos][data-balloon-pos^=\\\"down\\\"]:after {\\n    margin-top: 10px; }\\n  [aria-label][data-balloon-pos][data-balloon-pos^=\\\"down\\\"]:before {\\n    width: 0;\\n    height: 0;\\n    border: 5px solid transparent;\\n    border-bottom-color: rgba(16, 16, 16, 0.95);\\n    border-bottom-color: var(--balloon-color); }\\n  [aria-label][data-balloon-pos][data-balloon-pos=\\\"down\\\"]:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"down\\\"]:before {\\n    left: 50%;\\n    transform: translate(-50%, calc(4px * -1));\\n    transform: translate(-50%, calc(var(--balloon-move) * -1)); }\\n  [aria-label][data-balloon-pos][data-balloon-pos=\\\"left\\\"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"left\\\"][data-balloon-visible]:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"right\\\"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"right\\\"][data-balloon-visible]:after {\\n    transform: translate(0, -50%); }\\n  [aria-label][data-balloon-pos][data-balloon-pos=\\\"left\\\"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos=\\\"left\\\"][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-pos=\\\"right\\\"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos=\\\"right\\\"][data-balloon-visible]:before {\\n    transform: translate(0, -50%); }\\n  [aria-label][data-balloon-pos][data-balloon-pos=\\\"left\\\"]:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"left\\\"]:before {\\n    right: 100%;\\n    top: 50%;\\n    transform: translate(4px, -50%);\\n    transform: translate(var(--balloon-move), -50%); }\\n  [aria-label][data-balloon-pos][data-balloon-pos=\\\"left\\\"]:after {\\n    margin-right: 10px; }\\n  [aria-label][data-balloon-pos][data-balloon-pos=\\\"left\\\"]:before {\\n    width: 0;\\n    height: 0;\\n    border: 5px solid transparent;\\n    border-left-color: rgba(16, 16, 16, 0.95);\\n    border-left-color: var(--balloon-color); }\\n  [aria-label][data-balloon-pos][data-balloon-pos=\\\"right\\\"]:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"right\\\"]:before {\\n    left: 100%;\\n    top: 50%;\\n    transform: translate(calc(4px * -1), -50%);\\n    transform: translate(calc(var(--balloon-move) * -1), -50%); }\\n  [aria-label][data-balloon-pos][data-balloon-pos=\\\"right\\\"]:after {\\n    margin-left: 10px; }\\n  [aria-label][data-balloon-pos][data-balloon-pos=\\\"right\\\"]:before {\\n    width: 0;\\n    height: 0;\\n    border: 5px solid transparent;\\n    border-right-color: rgba(16, 16, 16, 0.95);\\n    border-right-color: var(--balloon-color); }\\n  [aria-label][data-balloon-pos][data-balloon-length]:after {\\n    white-space: normal; }\\n  [aria-label][data-balloon-pos][data-balloon-length=\\\"small\\\"]:after {\\n    width: 80px; }\\n  [aria-label][data-balloon-pos][data-balloon-length=\\\"medium\\\"]:after {\\n    width: 150px; }\\n  [aria-label][data-balloon-pos][data-balloon-length=\\\"large\\\"]:after {\\n    width: 260px; }\\n  [aria-label][data-balloon-pos][data-balloon-length=\\\"xlarge\\\"]:after {\\n    width: 380px; }\\n    @media screen and (max-width: 768px) {\\n      [aria-label][data-balloon-pos][data-balloon-length=\\\"xlarge\\\"]:after {\\n        width: 90vw; } }\\n  [aria-label][data-balloon-pos][data-balloon-length=\\\"fit\\\"]:after {\\n    width: 100%; }\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/.pnpm/[email protected]/node_modules/balloon-css/balloon.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,4BAA4B;EAC5B,uCAAuC;EACvC,0BAA0B;EAC1B,yBAAyB;EACzB,mBAAmB,EAAE;;AAEvB;EACE,iBAAiB,EAAE;;AAErB;EACE,kBAAkB;EAClB,eAAe,EAAE;EACjB;IACE,UAAU;IACV,oBAAoB;IACpB,oCAAoC;IACpC,cAAc;IACd,wIAAwI;IACxI,mBAAmB;IACnB,kBAAkB;IAClB,iBAAiB;IACjB,eAAmC;IAAnC,mCAAmC;IACnC,kCAAgC;IAAhC,gCAAgC;IAChC,kBAAkB;IAClB,WAAgC;IAAhC,gCAAgC;IAChC,2CAA2C;IAC3C,yBAAyB;IACzB,iBAAiB;IACjB,kBAAkB;IAClB,mBAAmB;IACnB,WAAW,EAAE;EACf;IACE,QAAQ;IACR,SAAS;IACT,6BAA6B;IAC7B,wCAAsC;IAAtC,sCAAsC;IACtC,UAAU;IACV,oBAAoB;IACpB,oCAAoC;IACpC,WAAW;IACX,kBAAkB;IAClB,WAAW,EAAE;EACf;IACE,UAAU;IACV,oBAAoB,EAAE;EACxB;IACE,qJAAqJ,EAAE;EACzJ;IACE,gBAAgB,EAAE;EACpB;IACE,qBAAqB;IACrB,sBAAsB,EAAE;EAC1B;IACE,gBAAgB,EAAE;EACpB;IACE,6BAA6B,EAAE;EACjC;IACE,6BAA6B,EAAE;EACjC;IACE,OAAO,EAAE;EACX;IACE,SAAS,EAAE;EACb;IACE,QAAQ,EAAE;EACZ;IACE,UAAU,EAAE;EACd;IACE,0BAA0B,EAAE;EAC9B;IACE,0BAA0B,EAAE;EAC9B;IACE,YAAY;IACZ,qBAAqB;IACrB,4BAA4C;IAA5C,4CAA4C,EAAE;EAChD;IACE,mBAAmB,EAAE;EACvB;IACE,SAAS;IACT,+BAA+C;IAA/C,+CAA+C,EAAE;EACnD;IACE,SAAS;IACT,uCAAuD;IAAvD,uDAAuD,EAAE;EAC3D;IACE,gBAAgB,EAAE;EACpB;IACE,QAAQ;IACR,SAAS;IACT,6BAA6B;IAC7B,2CAAyC;IAAzC,yCAAyC,EAAE;EAC7C;IACE,SAAS;IACT,0CAA0D;IAA1D,0DAA0D,EAAE;EAC9D;IACE,6BAA6B,EAAE;EACjC;IACE,6BAA6B,EAAE;EACjC;IACE,WAAW;IACX,QAAQ;IACR,+BAA+C;IAA/C,+CAA+C,EAAE;EACnD;IACE,kBAAkB,EAAE;EACtB;IACE,QAAQ;IACR,SAAS;IACT,6BAA6B;IAC7B,yCAAuC;IAAvC,uCAAuC,EAAE;EAC3C;IACE,UAAU;IACV,QAAQ;IACR,0CAA0D;IAA1D,0DAA0D,EAAE;EAC9D;IACE,iBAAiB,EAAE;EACrB;IACE,QAAQ;IACR,SAAS;IACT,6BAA6B;IAC7B,0CAAwC;IAAxC,wCAAwC,EAAE;EAC5C;IACE,mBAAmB,EAAE;EACvB;IACE,WAAW,EAAE;EACf;IACE,YAAY,EAAE;EAChB;IACE,YAAY,EAAE;EAChB;IACE,YAAY,EAAE;IACd;MACE;QACE,WAAW,EAAE,EAAE;EACrB;IACE,WAAW,EAAE\",\"sourcesContent\":[\":root {\\n  --balloon-border-radius: 2px;\\n  --balloon-color: rgba(16, 16, 16, 0.95);\\n  --balloon-text-color: #fff;\\n  --balloon-font-size: 12px;\\n  --balloon-move: 4px; }\\n\\nbutton[aria-label][data-balloon-pos] {\\n  overflow: visible; }\\n\\n[aria-label][data-balloon-pos] {\\n  position: relative;\\n  cursor: pointer; }\\n  [aria-label][data-balloon-pos]:after {\\n    opacity: 0;\\n    pointer-events: none;\\n    transition: all 0.18s ease-out 0.18s;\\n    text-indent: 0;\\n    font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, Oxygen, Ubuntu, Cantarell, \\\"Open Sans\\\", \\\"Helvetica Neue\\\", sans-serif;\\n    font-weight: normal;\\n    font-style: normal;\\n    text-shadow: none;\\n    font-size: var(--balloon-font-size);\\n    background: var(--balloon-color);\\n    border-radius: 2px;\\n    color: var(--balloon-text-color);\\n    border-radius: var(--balloon-border-radius);\\n    content: attr(aria-label);\\n    padding: .5em 1em;\\n    position: absolute;\\n    white-space: nowrap;\\n    z-index: 10; }\\n  [aria-label][data-balloon-pos]:before {\\n    width: 0;\\n    height: 0;\\n    border: 5px solid transparent;\\n    border-top-color: var(--balloon-color);\\n    opacity: 0;\\n    pointer-events: none;\\n    transition: all 0.18s ease-out 0.18s;\\n    content: \\\"\\\";\\n    position: absolute;\\n    z-index: 10; }\\n  [aria-label][data-balloon-pos]:hover:before, [aria-label][data-balloon-pos]:hover:after, [aria-label][data-balloon-pos][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-visible]:after, [aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before, [aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after {\\n    opacity: 1;\\n    pointer-events: none; }\\n  [aria-label][data-balloon-pos].font-awesome:after {\\n    font-family: FontAwesome, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; }\\n  [aria-label][data-balloon-pos][data-balloon-break]:after {\\n    white-space: pre; }\\n  [aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after {\\n    white-space: pre-line;\\n    word-break: break-word; }\\n  [aria-label][data-balloon-pos][data-balloon-blunt]:before, [aria-label][data-balloon-pos][data-balloon-blunt]:after {\\n    transition: none; }\\n  [aria-label][data-balloon-pos][data-balloon-pos=\\\"up\\\"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"up\\\"][data-balloon-visible]:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"down\\\"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"down\\\"][data-balloon-visible]:after {\\n    transform: translate(-50%, 0); }\\n  [aria-label][data-balloon-pos][data-balloon-pos=\\\"up\\\"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos=\\\"up\\\"][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-pos=\\\"down\\\"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos=\\\"down\\\"][data-balloon-visible]:before {\\n    transform: translate(-50%, 0); }\\n  [aria-label][data-balloon-pos][data-balloon-pos*=\\\"-left\\\"]:after {\\n    left: 0; }\\n  [aria-label][data-balloon-pos][data-balloon-pos*=\\\"-left\\\"]:before {\\n    left: 5px; }\\n  [aria-label][data-balloon-pos][data-balloon-pos*=\\\"-right\\\"]:after {\\n    right: 0; }\\n  [aria-label][data-balloon-pos][data-balloon-pos*=\\\"-right\\\"]:before {\\n    right: 5px; }\\n  [aria-label][data-balloon-pos][data-balloon-po*=\\\"-left\\\"]:hover:after, [aria-label][data-balloon-pos][data-balloon-po*=\\\"-left\\\"][data-balloon-visible]:after, [aria-label][data-balloon-pos][data-balloon-pos*=\\\"-right\\\"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos*=\\\"-right\\\"][data-balloon-visible]:after {\\n    transform: translate(0, 0); }\\n  [aria-label][data-balloon-pos][data-balloon-po*=\\\"-left\\\"]:hover:before, [aria-label][data-balloon-pos][data-balloon-po*=\\\"-left\\\"][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-pos*=\\\"-right\\\"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos*=\\\"-right\\\"][data-balloon-visible]:before {\\n    transform: translate(0, 0); }\\n  [aria-label][data-balloon-pos][data-balloon-pos^=\\\"up\\\"]:before, [aria-label][data-balloon-pos][data-balloon-pos^=\\\"up\\\"]:after {\\n    bottom: 100%;\\n    transform-origin: top;\\n    transform: translate(0, var(--balloon-move)); }\\n  [aria-label][data-balloon-pos][data-balloon-pos^=\\\"up\\\"]:after {\\n    margin-bottom: 10px; }\\n  [aria-label][data-balloon-pos][data-balloon-pos=\\\"up\\\"]:before, [aria-label][data-balloon-pos][data-balloon-pos=\\\"up\\\"]:after {\\n    left: 50%;\\n    transform: translate(-50%, var(--balloon-move)); }\\n  [aria-label][data-balloon-pos][data-balloon-pos^=\\\"down\\\"]:before, [aria-label][data-balloon-pos][data-balloon-pos^=\\\"down\\\"]:after {\\n    top: 100%;\\n    transform: translate(0, calc(var(--balloon-move) * -1)); }\\n  [aria-label][data-balloon-pos][data-balloon-pos^=\\\"down\\\"]:after {\\n    margin-top: 10px; }\\n  [aria-label][data-balloon-pos][data-balloon-pos^=\\\"down\\\"]:before {\\n    width: 0;\\n    height: 0;\\n    border: 5px solid transparent;\\n    border-bottom-color: var(--balloon-color); }\\n  [aria-label][data-balloon-pos][data-balloon-pos=\\\"down\\\"]:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"down\\\"]:before {\\n    left: 50%;\\n    transform: translate(-50%, calc(var(--balloon-move) * -1)); }\\n  [aria-label][data-balloon-pos][data-balloon-pos=\\\"left\\\"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"left\\\"][data-balloon-visible]:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"right\\\"]:hover:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"right\\\"][data-balloon-visible]:after {\\n    transform: translate(0, -50%); }\\n  [aria-label][data-balloon-pos][data-balloon-pos=\\\"left\\\"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos=\\\"left\\\"][data-balloon-visible]:before, [aria-label][data-balloon-pos][data-balloon-pos=\\\"right\\\"]:hover:before, [aria-label][data-balloon-pos][data-balloon-pos=\\\"right\\\"][data-balloon-visible]:before {\\n    transform: translate(0, -50%); }\\n  [aria-label][data-balloon-pos][data-balloon-pos=\\\"left\\\"]:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"left\\\"]:before {\\n    right: 100%;\\n    top: 50%;\\n    transform: translate(var(--balloon-move), -50%); }\\n  [aria-label][data-balloon-pos][data-balloon-pos=\\\"left\\\"]:after {\\n    margin-right: 10px; }\\n  [aria-label][data-balloon-pos][data-balloon-pos=\\\"left\\\"]:before {\\n    width: 0;\\n    height: 0;\\n    border: 5px solid transparent;\\n    border-left-color: var(--balloon-color); }\\n  [aria-label][data-balloon-pos][data-balloon-pos=\\\"right\\\"]:after, [aria-label][data-balloon-pos][data-balloon-pos=\\\"right\\\"]:before {\\n    left: 100%;\\n    top: 50%;\\n    transform: translate(calc(var(--balloon-move) * -1), -50%); }\\n  [aria-label][data-balloon-pos][data-balloon-pos=\\\"right\\\"]:after {\\n    margin-left: 10px; }\\n  [aria-label][data-balloon-pos][data-balloon-pos=\\\"right\\\"]:before {\\n    width: 0;\\n    height: 0;\\n    border: 5px solid transparent;\\n    border-right-color: var(--balloon-color); }\\n  [aria-label][data-balloon-pos][data-balloon-length]:after {\\n    white-space: normal; }\\n  [aria-label][data-balloon-pos][data-balloon-length=\\\"small\\\"]:after {\\n    width: 80px; }\\n  [aria-label][data-balloon-pos][data-balloon-length=\\\"medium\\\"]:after {\\n    width: 150px; }\\n  [aria-label][data-balloon-pos][data-balloon-length=\\\"large\\\"]:after {\\n    width: 260px; }\\n  [aria-label][data-balloon-pos][data-balloon-length=\\\"xlarge\\\"]:after {\\n    width: 380px; }\\n    @media screen and (max-width: 768px) {\\n      [aria-label][data-balloon-pos][data-balloon-length=\\\"xlarge\\\"]:after {\\n        width: 90vw; } }\\n  [aria-label][data-balloon-pos][data-balloon-length=\\\"fit\\\"]:after {\\n    width: 100%; }\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/[email protected][email protected]/node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/[email protected][email protected]/node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../node_modules/.pnpm/[email protected][email protected]/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../node_modules/.pnpm/[email protected]_6jdsrmfenkuhhw3gx4zvjlznce/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!../../node_modules/.pnpm/[email protected]/node_modules/balloon-css/balloon.css\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../node_modules/.pnpm/[email protected][email protected]/node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@keyframes my-face {\\n  2% {\\n    transform: translate(0, 1.5px) rotate(1.5deg);\\n  }\\n  4% {\\n    transform: translate(0, -1.5px) rotate(-0.5deg);\\n  }\\n  6% {\\n    transform: translate(0, 1.5px) rotate(-1.5deg);\\n  }\\n  8% {\\n    transform: translate(0, -1.5px) rotate(-1.5deg);\\n  }\\n  10% {\\n    transform: translate(0, 2.5px) rotate(1.5deg);\\n  }\\n  12% {\\n    transform: translate(0, -0.5px) rotate(1.5deg);\\n  }\\n  14% {\\n    transform: translate(0, -1.5px) rotate(1.5deg);\\n  }\\n  16% {\\n    transform: translate(0, -0.5px) rotate(-1.5deg);\\n  }\\n  18% {\\n    transform: translate(0, 0.5px) rotate(-1.5deg);\\n  }\\n  20% {\\n    transform: translate(0, -1.5px) rotate(2.5deg);\\n  }\\n  22% {\\n    transform: translate(0, 0.5px) rotate(-1.5deg);\\n  }\\n  24% {\\n    transform: translate(0, 1.5px) rotate(1.5deg);\\n  }\\n  26% {\\n    transform: translate(0, 0.5px) rotate(0.5deg);\\n  }\\n  28% {\\n    transform: translate(0, 0.5px) rotate(1.5deg);\\n  }\\n  30% {\\n    transform: translate(0, -0.5px) rotate(2.5deg);\\n  }\\n  32% {\\n    transform: translate(0, 1.5px) rotate(-0.5deg);\\n  }\\n  34% {\\n    transform: translate(0, 1.5px) rotate(-0.5deg);\\n  }\\n  36% {\\n    transform: translate(0, -1.5px) rotate(2.5deg);\\n  }\\n  38% {\\n    transform: translate(0, 1.5px) rotate(-1.5deg);\\n  }\\n  40% {\\n    transform: translate(0, -0.5px) rotate(2.5deg);\\n  }\\n  42% {\\n    transform: translate(0, 2.5px) rotate(-1.5deg);\\n  }\\n  44% {\\n    transform: translate(0, 1.5px) rotate(0.5deg);\\n  }\\n  46% {\\n    transform: translate(0, -1.5px) rotate(2.5deg);\\n  }\\n  48% {\\n    transform: translate(0, -0.5px) rotate(0.5deg);\\n  }\\n  50% {\\n    transform: translate(0, 0.5px) rotate(0.5deg);\\n  }\\n  52% {\\n    transform: translate(0, 2.5px) rotate(2.5deg);\\n  }\\n  54% {\\n    transform: translate(0, -1.5px) rotate(1.5deg);\\n  }\\n  56% {\\n    transform: translate(0, 2.5px) rotate(2.5deg);\\n  }\\n  58% {\\n    transform: translate(0, 0.5px) rotate(2.5deg);\\n  }\\n  60% {\\n    transform: translate(0, 2.5px) rotate(2.5deg);\\n  }\\n  62% {\\n    transform: translate(0, -0.5px) rotate(2.5deg);\\n  }\\n  64% {\\n    transform: translate(0, -0.5px) rotate(1.5deg);\\n  }\\n  66% {\\n    transform: translate(0, 1.5px) rotate(-0.5deg);\\n  }\\n  68% {\\n    transform: translate(0, -1.5px) rotate(-0.5deg);\\n  }\\n  70% {\\n    transform: translate(0, 1.5px) rotate(0.5deg);\\n  }\\n  72% {\\n    transform: translate(0, 2.5px) rotate(1.5deg);\\n  }\\n  74% {\\n    transform: translate(0, -0.5px) rotate(0.5deg);\\n  }\\n  76% {\\n    transform: translate(0, -0.5px) rotate(2.5deg);\\n  }\\n  78% {\\n    transform: translate(0, -0.5px) rotate(1.5deg);\\n  }\\n  80% {\\n    transform: translate(0, 1.5px) rotate(1.5deg);\\n  }\\n  82% {\\n    transform: translate(0, -0.5px) rotate(0.5deg);\\n  }\\n  84% {\\n    transform: translate(0, 1.5px) rotate(2.5deg);\\n  }\\n  86% {\\n    transform: translate(0, -1.5px) rotate(-1.5deg);\\n  }\\n  88% {\\n    transform: translate(0, -0.5px) rotate(2.5deg);\\n  }\\n  90% {\\n    transform: translate(0, 2.5px) rotate(-0.5deg);\\n  }\\n  92% {\\n    transform: translate(0, 0.5px) rotate(-0.5deg);\\n  }\\n  94% {\\n    transform: translate(0, 2.5px) rotate(0.5deg);\\n  }\\n  96% {\\n    transform: translate(0, -0.5px) rotate(1.5deg);\\n  }\\n  98% {\\n    transform: translate(0, -1.5px) rotate(-0.5deg);\\n  }\\n  0%,\\n  100% {\\n    transform: translate(0, 0) rotate(0deg);\\n  }\\n}\\n.dplayer {\\n  position: relative;\\n  overflow: hidden;\\n  -webkit-user-select: none;\\n     -moz-user-select: none;\\n          user-select: none;\\n  line-height: 1;\\n}\\n.dplayer * {\\n  box-sizing: content-box;\\n}\\n.dplayer svg {\\n  width: 100%;\\n  height: 100%;\\n}\\n.dplayer svg path,\\n.dplayer svg circle {\\n  fill: #fff;\\n}\\n.dplayer:-webkit-full-screen {\\n  width: 100%;\\n  height: 100%;\\n  background: #000;\\n  position: fixed;\\n  z-index: 100000;\\n  left: 0;\\n  top: 0;\\n  margin: 0;\\n  padding: 0;\\n  transform: translate(0, 0);\\n}\\n.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-showdan,\\n.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danmaku,\\n.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danunlimit {\\n  display: none;\\n}\\n.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-comment {\\n  display: none;\\n}\\n.dplayer.dplayer-no-danmaku .dplayer-danmaku {\\n  display: none;\\n}\\n.dplayer.dplayer-live .dplayer-time {\\n  display: none;\\n}\\n.dplayer.dplayer-live .dplayer-bar-wrap {\\n  display: none;\\n}\\n.dplayer.dplayer-live .dplayer-setting-speed {\\n  display: none;\\n}\\n.dplayer.dplayer-live .dplayer-setting-loop {\\n  display: none;\\n}\\n.dplayer.dplayer-live.dplayer-no-danmaku .dplayer-setting {\\n  display: none;\\n}\\n.dplayer.dplayer-arrow .dplayer-danmaku {\\n  font-size: 18px;\\n}\\n.dplayer.dplayer-arrow .dplayer-icon {\\n  margin: 0 -3px;\\n}\\n.dplayer.dplayer-playing .dplayer-danmaku .dplayer-danmaku-move {\\n  animation-play-state: running;\\n}\\n@media (min-width: 900px) {\\n  .dplayer.dplayer-playing .dplayer-controller-mask {\\n    opacity: 0;\\n  }\\n  .dplayer.dplayer-playing .dplayer-controller {\\n    opacity: 0;\\n  }\\n  .dplayer.dplayer-playing:hover .dplayer-controller-mask {\\n    opacity: 1;\\n  }\\n  .dplayer.dplayer-playing:hover .dplayer-controller {\\n    opacity: 1;\\n  }\\n}\\n.dplayer.dplayer-loading .dplayer-bezel .diplayer-loading-icon {\\n  display: block;\\n}\\n.dplayer.dplayer-loading .dplayer-danmaku,\\n.dplayer.dplayer-paused .dplayer-danmaku,\\n.dplayer.dplayer-loading .dplayer-danmaku-move,\\n.dplayer.dplayer-paused .dplayer-danmaku-move {\\n  animation-play-state: paused;\\n}\\n.dplayer.dplayer-hide-controller {\\n  cursor: none;\\n}\\n.dplayer.dplayer-hide-controller .dplayer-controller-mask {\\n  opacity: 0;\\n  transform: translateY(100%);\\n}\\n.dplayer.dplayer-hide-controller .dplayer-controller {\\n  opacity: 0;\\n  transform: translateY(100%);\\n}\\n.dplayer.dplayer-show-controller .dplayer-controller-mask {\\n  opacity: 1;\\n}\\n.dplayer.dplayer-show-controller .dplayer-controller {\\n  opacity: 1;\\n}\\n.dplayer.dplayer-fulled {\\n  width: 100% !important;\\n  height: 100% !important;\\n}\\n.dplayer.dplayer-fulled {\\n  position: fixed;\\n  z-index: 100000;\\n  left: 0;\\n  top: 0;\\n}\\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-volume,\\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-camera-icon,\\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-airplay-icon,\\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-chromecast-icon,\\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-play-icon {\\n  display: none;\\n}\\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon {\\n  position: static;\\n  display: inline-block;\\n}\\n.dplayer.dplayer-mobile .dplayer-bar-time {\\n  display: none;\\n}\\n.dplayer.dplayer-mobile.dplayer-hide-controller .dplayer-mobile-play {\\n  display: none;\\n}\\n.dplayer.dplayer-mobile .dplayer-mobile-play {\\n  display: block;\\n}\\n.dplayer-web-fullscreen-fix {\\n  position: fixed;\\n  top: 0;\\n  left: 0;\\n  margin: 0;\\n  padding: 0;\\n}\\n[data-balloon]:before {\\n  display: none;\\n}\\n[data-balloon]:after {\\n  padding: 0.3em 0.7em;\\n  background: rgba(17, 17, 17, 0.7);\\n}\\n[data-balloon][data-balloon-pos=\\\"up\\\"]:after {\\n  margin-bottom: 0;\\n}\\n.dplayer-bezel {\\n  position: absolute;\\n  left: 0;\\n  right: 0;\\n  top: 0;\\n  bottom: 0;\\n  font-size: 22px;\\n  color: #fff;\\n  pointer-events: none;\\n}\\n.dplayer-bezel .dplayer-bezel-icon {\\n  position: absolute;\\n  top: 50%;\\n  left: 50%;\\n  margin: -26px 0 0 -26px;\\n  height: 52px;\\n  width: 52px;\\n  padding: 12px;\\n  box-sizing: border-box;\\n  background: rgba(0, 0, 0, 0.5);\\n  border-radius: 50%;\\n  opacity: 0;\\n  pointer-events: none;\\n}\\n.dplayer-bezel .dplayer-bezel-icon.dplayer-bezel-transition {\\n  animation: bezel-hide 0.5s linear;\\n}\\n@keyframes bezel-hide {\\n  from {\\n    opacity: 1;\\n    transform: scale(1);\\n  }\\n  to {\\n    opacity: 0;\\n    transform: scale(2);\\n  }\\n}\\n.dplayer-bezel .dplayer-danloading {\\n  position: absolute;\\n  top: 50%;\\n  margin-top: -7px;\\n  width: 100%;\\n  text-align: center;\\n  font-size: 14px;\\n  line-height: 14px;\\n  animation: my-face 5s infinite ease-in-out;\\n}\\n.dplayer-bezel .diplayer-loading-icon {\\n  display: none;\\n  position: absolute;\\n  top: 50%;\\n  left: 50%;\\n  margin: -18px 0 0 -18px;\\n  height: 36px;\\n  width: 36px;\\n  pointer-events: none;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-hide {\\n  display: none;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot {\\n  animation: diplayer-loading-dot-fade 0.8s ease infinite;\\n  opacity: 0;\\n  transform-origin: 4px 4px;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1 {\\n  animation-delay: 0.1s;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2 {\\n  animation-delay: 0.2s;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3 {\\n  animation-delay: 0.3s;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4 {\\n  animation-delay: 0.4s;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5 {\\n  animation-delay: 0.5s;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6 {\\n  animation-delay: 0.6s;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7 {\\n  animation-delay: 0.7s;\\n}\\n@keyframes diplayer-loading-dot-fade {\\n  0% {\\n    opacity: 0.7;\\n    transform: scale(1.2, 1.2);\\n  }\\n  50% {\\n    opacity: 0.25;\\n    transform: scale(0.9, 0.9);\\n  }\\n  to {\\n    opacity: 0.25;\\n    transform: scale(0.85, 0.85);\\n  }\\n}\\n.dplayer-controller-mask {\\n  background: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") repeat-x bottom;\\n  height: 98px;\\n  width: 100%;\\n  position: absolute;\\n  bottom: 0;\\n  transition: all 0.3s ease;\\n}\\n.dplayer-controller {\\n  position: absolute;\\n  bottom: 0;\\n  left: 0;\\n  right: 0;\\n  height: 41px;\\n  padding: 0 20px;\\n  -webkit-user-select: none;\\n     -moz-user-select: none;\\n          user-select: none;\\n  transition: all 0.3s ease;\\n}\\n.dplayer-controller.dplayer-controller-comment .dplayer-icons {\\n  display: none;\\n}\\n.dplayer-controller.dplayer-controller-comment .dplayer-icons.dplayer-comment-box {\\n  display: block;\\n}\\n.dplayer-controller .dplayer-bar-wrap {\\n  padding: 5px 0;\\n  cursor: pointer;\\n  position: absolute;\\n  bottom: 33px;\\n  width: calc(100% - 40px);\\n  height: 3px;\\n}\\n.dplayer-controller .dplayer-bar-wrap:hover .dplayer-bar .dplayer-played .dplayer-thumb {\\n  transform: scale(1);\\n}\\n.dplayer-controller .dplayer-bar-wrap:hover .dplayer-highlight {\\n  display: block;\\n  width: 8px;\\n  transform: translateX(-4px);\\n  top: 4px;\\n  height: 40%;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight {\\n  z-index: 12;\\n  position: absolute;\\n  top: 5px;\\n  width: 6px;\\n  height: 20%;\\n  border-radius: 6px;\\n  background-color: #fff;\\n  text-align: center;\\n  transform: translateX(-3px);\\n  transition: all 0.2s ease-in-out;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover .dplayer-highlight-text {\\n  display: block;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover ~ .dplayer-bar-preview {\\n  opacity: 0;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover ~ .dplayer-bar-time {\\n  opacity: 0;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight .dplayer-highlight-text {\\n  display: none;\\n  position: absolute;\\n  left: 50%;\\n  top: -24px;\\n  padding: 5px 8px;\\n  background-color: rgba(0, 0, 0, 0.62);\\n  color: #fff;\\n  border-radius: 4px;\\n  font-size: 12px;\\n  white-space: nowrap;\\n  transform: translateX(-50%);\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview {\\n  position: absolute;\\n  background: #fff;\\n  pointer-events: none;\\n  display: none;\\n  background-size: 16000px 100%;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview-canvas {\\n  position: absolute;\\n  width: 100%;\\n  height: 100%;\\n  z-index: 1;\\n  pointer-events: none;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar-time {\\n  position: absolute;\\n  left: 0px;\\n  top: -20px;\\n  border-radius: 4px;\\n  padding: 5px 7px;\\n  background-color: rgba(0, 0, 0, 0.62);\\n  color: #fff;\\n  font-size: 12px;\\n  text-align: center;\\n  opacity: 1;\\n  transition: opacity 0.1s ease-in-out;\\n  word-wrap: normal;\\n  word-break: normal;\\n  z-index: 2;\\n  pointer-events: none;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar-time.hidden {\\n  opacity: 0;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar {\\n  position: relative;\\n  height: 3px;\\n  width: 100%;\\n  background: rgba(255, 255, 255, 0.2);\\n  cursor: pointer;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded {\\n  position: absolute;\\n  left: 0;\\n  top: 0;\\n  bottom: 0;\\n  background: rgba(255, 255, 255, 0.4);\\n  height: 3px;\\n  transition: all 0.5s ease;\\n  will-change: width;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played {\\n  position: absolute;\\n  left: 0;\\n  top: 0;\\n  bottom: 0;\\n  height: 3px;\\n  will-change: width;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played .dplayer-thumb {\\n  position: absolute;\\n  top: 0;\\n  right: 5px;\\n  margin-top: -4px;\\n  margin-right: -10px;\\n  height: 11px;\\n  width: 11px;\\n  border-radius: 50%;\\n  cursor: pointer;\\n  transition: all 0.3s ease-in-out;\\n  transform: scale(0);\\n}\\n.dplayer-controller .dplayer-icons {\\n  height: 38px;\\n  position: absolute;\\n  bottom: 0;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box {\\n  display: none;\\n  position: absolute;\\n  transition: all 0.3s ease-in-out;\\n  z-index: 2;\\n  height: 38px;\\n  bottom: 0;\\n  left: 20px;\\n  right: 20px;\\n  color: #fff;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-icon {\\n  padding: 7px;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-icon {\\n  position: absolute;\\n  left: 0;\\n  top: 0;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-send-icon {\\n  position: absolute;\\n  right: 0;\\n  top: 0;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box {\\n  position: absolute;\\n  background: rgba(28, 28, 28, 0.9);\\n  bottom: 41px;\\n  left: 0;\\n  box-shadow: 0 0 25px rgba(0, 0, 0, 0.3);\\n  border-radius: 4px;\\n  padding: 10px 10px 16px;\\n  font-size: 14px;\\n  width: 204px;\\n  transition: all 0.3s ease-in-out;\\n  transform: scale(0);\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box.dplayer-comment-setting-open {\\n  transform: scale(1);\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box input[type=radio] {\\n  display: none;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box label {\\n  cursor: pointer;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-title {\\n  font-size: 13px;\\n  color: #fff;\\n  line-height: 30px;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type {\\n  font-size: 0;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type .dplayer-comment-setting-title {\\n  margin-bottom: 6px;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(2) span {\\n  border-radius: 4px 0 0 4px;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(4) span {\\n  border-radius: 0 4px 4px 0;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type span {\\n  width: 33%;\\n  padding: 4px 6px;\\n  line-height: 16px;\\n  display: inline-block;\\n  font-size: 12px;\\n  color: #fff;\\n  border: 1px solid #fff;\\n  margin-right: -1px;\\n  box-sizing: border-box;\\n  text-align: center;\\n  cursor: pointer;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type input:checked + span {\\n  background: #E4E4E6;\\n  color: #1c1c1c;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color {\\n  font-size: 0;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color label {\\n  font-size: 0;\\n  padding: 6px;\\n  display: inline-block;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span {\\n  width: 22px;\\n  height: 22px;\\n  display: inline-block;\\n  border-radius: 50%;\\n  box-sizing: border-box;\\n  cursor: pointer;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span:hover {\\n  animation: my-face 5s infinite ease-in-out;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input {\\n  outline: none;\\n  border: none;\\n  padding: 8px 31px;\\n  font-size: 14px;\\n  line-height: 18px;\\n  text-align: center;\\n  border-radius: 4px;\\n  background: none;\\n  margin: 0;\\n  height: 100%;\\n  box-sizing: border-box;\\n  width: 100%;\\n  color: #fff;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-moz-placeholder {\\n  color: #fff;\\n  opacity: 0.8;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::placeholder {\\n  color: #fff;\\n  opacity: 0.8;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-ms-clear {\\n  display: none;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-icons-left .dplayer-icon {\\n  padding: 7px;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-icons-right {\\n  right: 20px;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-icons-right .dplayer-icon {\\n  padding: 8px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-time,\\n.dplayer-controller .dplayer-icons .dplayer-live-badge {\\n  line-height: 38px;\\n  color: #eee;\\n  text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);\\n  vertical-align: middle;\\n  font-size: 13px;\\n  cursor: default;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-live-dot {\\n  display: inline-block;\\n  width: 6px;\\n  height: 6px;\\n  vertical-align: 4%;\\n  margin-right: 5px;\\n  content: '';\\n  border-radius: 6px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-icon {\\n  width: 40px;\\n  height: 100%;\\n  border: none;\\n  background-color: transparent;\\n  outline: none;\\n  cursor: pointer;\\n  vertical-align: middle;\\n  box-sizing: border-box;\\n  display: inline-block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-icon .dplayer-icon-content {\\n  transition: all 0.2s ease-in-out;\\n  opacity: 0.8;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-icon:hover .dplayer-icon-content {\\n  opacity: 1;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-quality-icon {\\n  color: #fff;\\n  width: auto;\\n  line-height: 22px;\\n  font-size: 14px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-comment-icon {\\n  padding: 10px 9px 9px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-setting-icon {\\n  padding-top: 8.5px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-volume-icon {\\n  width: 43px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume {\\n  position: relative;\\n  display: inline-block;\\n  cursor: pointer;\\n  height: 100%;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar {\\n  width: 45px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\\n  transform: scale(1);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar {\\n  width: 45px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\\n  transform: scale(1);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap {\\n  display: inline-block;\\n  margin: 0 10px 0 -5px;\\n  vertical-align: middle;\\n  height: 100%;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar {\\n  position: relative;\\n  top: 17px;\\n  width: 0;\\n  height: 3px;\\n  background: #aaa;\\n  transition: all 0.3s ease-in-out;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner {\\n  position: absolute;\\n  bottom: 0;\\n  left: 0;\\n  height: 100%;\\n  transition: all 0.1s ease;\\n  will-change: width;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\\n  position: absolute;\\n  top: 0;\\n  right: 5px;\\n  margin-top: -4px;\\n  margin-right: -10px;\\n  height: 11px;\\n  width: 11px;\\n  border-radius: 50%;\\n  cursor: pointer;\\n  transition: all 0.3s ease-in-out;\\n  transform: scale(0);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-subtitle-btn {\\n  display: inline-block;\\n  height: 100%;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-subtitles {\\n  display: inline-block;\\n  height: 100%;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-box {\\n  position: absolute;\\n  right: 0;\\n  bottom: 50px;\\n  transform: scale(0);\\n  width: -moz-fit-content;\\n  width: fit-content;\\n  max-width: 240px;\\n  min-width: 120px;\\n  border-radius: 2px;\\n  background: rgba(28, 28, 28, 0.9);\\n  padding: 7px 0;\\n  transition: all 0.3s ease-in-out;\\n  overflow: auto;\\n  z-index: 2;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-box.dplayer-subtitles-panel {\\n  display: block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-box.dplayer-subtitles-box-open {\\n  transform: scale(1);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-item {\\n  height: 30px;\\n  padding: 5px 10px;\\n  box-sizing: border-box;\\n  cursor: pointer;\\n  position: relative;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-item:hover {\\n  background-color: rgba(255, 255, 255, 0.1);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting {\\n  display: inline-block;\\n  height: 100%;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box {\\n  position: absolute;\\n  right: 0;\\n  bottom: 50px;\\n  transform: scale(0);\\n  width: 150px;\\n  border-radius: 2px;\\n  background: rgba(28, 28, 28, 0.9);\\n  padding: 7px 0;\\n  transition: all 0.3s ease-in-out;\\n  overflow: hidden;\\n  z-index: 2;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box > div {\\n  display: none;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box > div.dplayer-setting-origin-panel {\\n  display: block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-open {\\n  transform: scale(1);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-narrow {\\n  width: 70px;\\n  text-align: center;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-origin-panel {\\n  display: none;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-speed-panel {\\n  display: block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item,\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item {\\n  height: 30px;\\n  padding: 5px 10px;\\n  box-sizing: border-box;\\n  cursor: pointer;\\n  position: relative;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item:hover,\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item:hover {\\n  background-color: rgba(255, 255, 255, 0.1);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku {\\n  padding: 5px 0;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-label {\\n  padding: 0 10px;\\n  display: inline;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-label {\\n  display: none;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-danmaku-bar-wrap {\\n  display: inline-block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-label {\\n  display: none;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-danmaku-bar-wrap {\\n  display: inline-block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap {\\n  padding: 0 10px;\\n  box-sizing: border-box;\\n  display: none;\\n  vertical-align: middle;\\n  height: 100%;\\n  width: 100%;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar {\\n  position: relative;\\n  top: 8.5px;\\n  width: 100%;\\n  height: 3px;\\n  background: #fff;\\n  transition: all 0.3s ease-in-out;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner {\\n  position: absolute;\\n  bottom: 0;\\n  left: 0;\\n  height: 100%;\\n  transition: all 0.1s ease;\\n  background: #aaa;\\n  will-change: width;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner .dplayer-thumb {\\n  position: absolute;\\n  top: 0;\\n  right: 5px;\\n  margin-top: -4px;\\n  margin-right: -10px;\\n  height: 11px;\\n  width: 11px;\\n  border-radius: 50%;\\n  cursor: pointer;\\n  transition: all 0.3s ease-in-out;\\n  background: #aaa;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-full {\\n  display: inline-block;\\n  height: 100%;\\n  position: relative;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-full:hover .dplayer-full-in-icon {\\n  display: block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon {\\n  position: absolute;\\n  top: -30px;\\n  z-index: 1;\\n  display: none;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-quality {\\n  position: relative;\\n  display: inline-block;\\n  height: 100%;\\n  z-index: 2;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-list {\\n  display: block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-mask {\\n  display: block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-mask {\\n  display: none;\\n  position: absolute;\\n  bottom: 38px;\\n  left: -18px;\\n  width: 80px;\\n  padding-bottom: 12px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-list {\\n  display: none;\\n  font-size: 12px;\\n  width: 80px;\\n  border-radius: 2px;\\n  background: rgba(28, 28, 28, 0.9);\\n  padding: 5px 0;\\n  transition: all 0.3s ease-in-out;\\n  overflow: hidden;\\n  color: #fff;\\n  text-align: center;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item {\\n  height: 25px;\\n  box-sizing: border-box;\\n  cursor: pointer;\\n  line-height: 25px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item:hover {\\n  background-color: rgba(255, 255, 255, 0.1);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-comment {\\n  display: inline-block;\\n  height: 100%;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-label {\\n  color: #eee;\\n  font-size: 13px;\\n  display: inline-block;\\n  vertical-align: middle;\\n  white-space: nowrap;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-toggle {\\n  width: 32px;\\n  height: 20px;\\n  text-align: center;\\n  font-size: 0;\\n  vertical-align: middle;\\n  position: absolute;\\n  top: 5px;\\n  right: 10px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-toggle input {\\n  max-height: 0;\\n  max-width: 0;\\n  display: none;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-toggle input + label {\\n  display: inline-block;\\n  position: relative;\\n  box-shadow: #dfdfdf 0 0 0 0 inset;\\n  border: 1px solid #dfdfdf;\\n  height: 20px;\\n  width: 32px;\\n  border-radius: 10px;\\n  box-sizing: border-box;\\n  cursor: pointer;\\n  transition: 0.2s ease-in-out;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-toggle input + label:before {\\n  content: \\\"\\\";\\n  position: absolute;\\n  display: block;\\n  height: 18px;\\n  width: 18px;\\n  top: 0;\\n  left: 0;\\n  border-radius: 15px;\\n  transition: 0.2s ease-in-out;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-toggle input + label:after {\\n  content: \\\"\\\";\\n  position: absolute;\\n  display: block;\\n  left: 0;\\n  top: 0;\\n  border-radius: 15px;\\n  background: #fff;\\n  transition: 0.2s ease-in-out;\\n  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);\\n  height: 18px;\\n  width: 18px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label {\\n  border-color: rgba(255, 255, 255, 0.5);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label:before {\\n  width: 30px;\\n  background: rgba(255, 255, 255, 0.5);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label:after {\\n  left: 12px;\\n}\\n.dplayer-mobile-play {\\n  display: none;\\n  width: 50px;\\n  height: 50px;\\n  border: none;\\n  background-color: transparent;\\n  outline: none;\\n  cursor: pointer;\\n  box-sizing: border-box;\\n  bottom: 0;\\n  opacity: 0.8;\\n  position: absolute;\\n  left: 50%;\\n  top: 50%;\\n  transform: translate(-50%, -50%);\\n}\\n.dplayer-danmaku {\\n  position: absolute;\\n  left: 0;\\n  right: 0;\\n  top: 0;\\n  bottom: 0;\\n  font-size: 22px;\\n  color: #fff;\\n}\\n.dplayer-danmaku .dplayer-danmaku-item {\\n  display: inline-block;\\n  pointer-events: none;\\n  -webkit-user-select: none;\\n     -moz-user-select: none;\\n          user-select: none;\\n  cursor: default;\\n  white-space: nowrap;\\n  text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5);\\n}\\n.dplayer-danmaku .dplayer-danmaku-item--demo {\\n  position: absolute;\\n  visibility: hidden;\\n}\\n.dplayer-danmaku .dplayer-danmaku-right {\\n  position: absolute;\\n  right: 0;\\n  transform: translateX(100%);\\n}\\n.dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move {\\n  will-change: transform;\\n  animation-name: 'danmaku';\\n  animation-timing-function: linear;\\n  animation-play-state: paused;\\n}\\n@keyframes danmaku {\\n  from {\\n    transform: translateX(100%);\\n  }\\n}\\n.dplayer-danmaku .dplayer-danmaku-top,\\n.dplayer-danmaku .dplayer-danmaku-bottom {\\n  position: absolute;\\n  width: 100%;\\n  text-align: center;\\n  visibility: hidden;\\n}\\n.dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move,\\n.dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move {\\n  will-change: visibility;\\n  animation-name: 'danmaku-center';\\n  animation-timing-function: linear;\\n  animation-play-state: paused;\\n}\\n@keyframes danmaku-center {\\n  from {\\n    visibility: visible;\\n  }\\n  to {\\n    visibility: visible;\\n  }\\n}\\n.dplayer-logo {\\n  pointer-events: none;\\n  position: absolute;\\n  left: 20px;\\n  top: 20px;\\n  max-width: 50px;\\n  max-height: 50px;\\n}\\n.dplayer-logo img {\\n  max-width: 100%;\\n  max-height: 100%;\\n  background: none;\\n}\\n.dplayer-menu {\\n  position: absolute;\\n  width: 170px;\\n  border-radius: 2px;\\n  background: rgba(28, 28, 28, 0.85);\\n  padding: 5px 0;\\n  overflow: hidden;\\n  z-index: 3;\\n  display: none;\\n}\\n.dplayer-menu.dplayer-menu-show {\\n  display: block;\\n}\\n.dplayer-menu .dplayer-menu-item {\\n  height: 30px;\\n  box-sizing: border-box;\\n  cursor: pointer;\\n}\\n.dplayer-menu .dplayer-menu-item:hover {\\n  background-color: rgba(255, 255, 255, 0.1);\\n}\\n.dplayer-menu .dplayer-menu-item a {\\n  padding: 0 10px;\\n  line-height: 30px;\\n  color: #eee;\\n  font-size: 13px;\\n  display: inline-block;\\n  vertical-align: middle;\\n  width: 100%;\\n  box-sizing: border-box;\\n  white-space: nowrap;\\n  text-overflow: ellipsis;\\n  overflow: hidden;\\n}\\n.dplayer-menu .dplayer-menu-item a:hover {\\n  text-decoration: none;\\n}\\n.dplayer-notice-list {\\n  position: absolute;\\n  bottom: 60px;\\n  left: 20px;\\n}\\n.dplayer-notice-list .dplayer-notice {\\n  border-radius: 2px;\\n  background: rgba(28, 28, 28, 0.9);\\n  transition: all 0.3s ease-in-out;\\n  overflow: hidden;\\n  color: #fff;\\n  display: table;\\n  pointer-events: none;\\n  animation: showNotice 0.3s ease 1 forwards;\\n}\\n.dplayer-notice-list .remove-notice {\\n  animation: removeNotice 0.3s ease 1 forwards;\\n}\\n@keyframes showNotice {\\n  from {\\n    padding: 0;\\n    font-size: 0;\\n    margin-top: 0;\\n  }\\n  to {\\n    padding: 7px 20px;\\n    font-size: 14px;\\n    margin-top: 5px;\\n  }\\n}\\n@keyframes removeNotice {\\n  0% {\\n    padding: 7px 20px;\\n    font-size: 14px;\\n    margin-top: 5px;\\n  }\\n  20% {\\n    font-size: 12px;\\n  }\\n  21% {\\n    font-size: 0;\\n    padding: 7px 10px;\\n  }\\n  100% {\\n    padding: 0;\\n    margin-top: 0;\\n    font-size: 0;\\n  }\\n}\\n.dplayer-subtitle {\\n  position: absolute;\\n  bottom: 40px;\\n  width: 90%;\\n  left: 5%;\\n  text-align: center;\\n  color: #fff;\\n  text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5);\\n  font-size: 20px;\\n}\\n.dplayer-subtitle.dplayer-subtitle-hide {\\n  display: none;\\n}\\n.dplayer-mask {\\n  position: absolute;\\n  top: 0;\\n  bottom: 0;\\n  left: 0;\\n  right: 0;\\n  z-index: 1;\\n  display: none;\\n}\\n.dplayer-mask.dplayer-mask-show {\\n  display: block;\\n}\\n.dplayer-video-wrap {\\n  position: relative;\\n  background: #000;\\n  font-size: 0;\\n  width: 100%;\\n  height: 100%;\\n}\\n.dplayer-video-wrap .dplayer-video {\\n  width: 100%;\\n  height: 100%;\\n  display: none;\\n}\\n.dplayer-video-wrap .dplayer-video-current {\\n  display: block;\\n}\\n.dplayer-video-wrap .dplayer-video-prepare {\\n  display: none;\\n}\\n.dplayer-info-panel {\\n  position: absolute;\\n  top: 10px;\\n  left: 10px;\\n  width: 400px;\\n  background: rgba(28, 28, 28, 0.8);\\n  padding: 10px;\\n  color: #fff;\\n  font-size: 12px;\\n  border-radius: 2px;\\n}\\n.dplayer-info-panel-hide {\\n  display: none;\\n}\\n.dplayer-info-panel .dplayer-info-panel-close {\\n  cursor: pointer;\\n  position: absolute;\\n  right: 10px;\\n  top: 10px;\\n}\\n.dplayer-info-panel .dplayer-info-panel-item > span {\\n  display: inline-block;\\n  vertical-align: middle;\\n  line-height: 15px;\\n  white-space: nowrap;\\n  text-overflow: ellipsis;\\n  overflow: hidden;\\n}\\n.dplayer-info-panel .dplayer-info-panel-item-title {\\n  width: 100px;\\n  text-align: right;\\n  margin-right: 10px;\\n}\\n.dplayer-info-panel .dplayer-info-panel-item-data {\\n  width: 260px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/css/global.less\",\"webpack://./src/css/index.less\",\"webpack://./src/css/player.less\",\"webpack://./src/css/balloon.less\",\"webpack://./src/css/bezel.less\",\"webpack://./src/css/notice.less\",\"webpack://./src/css/controller.less\",\"webpack://./src/css/danmaku.less\",\"webpack://./src/css/logo.less\",\"webpack://./src/css/menu.less\",\"webpack://./src/css/subtitle.less\",\"webpack://./src/css/video.less\",\"webpack://./src/css/info-panel.less\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@keyframes my-face {\\n    2% {\\n        transform: translate(0, 1.5px) rotate(1.5deg);\\n    }\\n    4% {\\n        transform: translate(0, -1.5px) rotate(-0.5deg);\\n    }\\n    6% {\\n        transform: translate(0, 1.5px) rotate(-1.5deg);\\n    }\\n    8% {\\n        transform: translate(0, -1.5px) rotate(-1.5deg);\\n    }\\n    10% {\\n        transform: translate(0, 2.5px) rotate(1.5deg);\\n    }\\n    12% {\\n        transform: translate(0, -0.5px) rotate(1.5deg);\\n    }\\n    14% {\\n        transform: translate(0, -1.5px) rotate(1.5deg);\\n    }\\n    16% {\\n        transform: translate(0, -0.5px) rotate(-1.5deg);\\n    }\\n    18% {\\n        transform: translate(0, 0.5px) rotate(-1.5deg);\\n    }\\n    20% {\\n        transform: translate(0, -1.5px) rotate(2.5deg);\\n    }\\n    22% {\\n        transform: translate(0, 0.5px) rotate(-1.5deg);\\n    }\\n    24% {\\n        transform: translate(0, 1.5px) rotate(1.5deg);\\n    }\\n    26% {\\n        transform: translate(0, 0.5px) rotate(0.5deg);\\n    }\\n    28% {\\n        transform: translate(0, 0.5px) rotate(1.5deg);\\n    }\\n    30% {\\n        transform: translate(0, -0.5px) rotate(2.5deg);\\n    }\\n    32% {\\n        transform: translate(0, 1.5px) rotate(-0.5deg);\\n    }\\n    34% {\\n        transform: translate(0, 1.5px) rotate(-0.5deg);\\n    }\\n    36% {\\n        transform: translate(0, -1.5px) rotate(2.5deg);\\n    }\\n    38% {\\n        transform: translate(0, 1.5px) rotate(-1.5deg);\\n    }\\n    40% {\\n        transform: translate(0, -0.5px) rotate(2.5deg);\\n    }\\n    42% {\\n        transform: translate(0, 2.5px) rotate(-1.5deg);\\n    }\\n    44% {\\n        transform: translate(0, 1.5px) rotate(0.5deg);\\n    }\\n    46% {\\n        transform: translate(0, -1.5px) rotate(2.5deg);\\n    }\\n    48% {\\n        transform: translate(0, -0.5px) rotate(0.5deg);\\n    }\\n    50% {\\n        transform: translate(0, 0.5px) rotate(0.5deg);\\n    }\\n    52% {\\n        transform: translate(0, 2.5px) rotate(2.5deg);\\n    }\\n    54% {\\n        transform: translate(0, -1.5px) rotate(1.5deg);\\n    }\\n    56% {\\n        transform: translate(0, 2.5px) rotate(2.5deg);\\n    }\\n    58% {\\n        transform: translate(0, 0.5px) rotate(2.5deg);\\n    }\\n    60% {\\n        transform: translate(0, 2.5px) rotate(2.5deg);\\n    }\\n    62% {\\n        transform: translate(0, -0.5px) rotate(2.5deg);\\n    }\\n    64% {\\n        transform: translate(0, -0.5px) rotate(1.5deg);\\n    }\\n    66% {\\n        transform: translate(0, 1.5px) rotate(-0.5deg);\\n    }\\n    68% {\\n        transform: translate(0, -1.5px) rotate(-0.5deg);\\n    }\\n    70% {\\n        transform: translate(0, 1.5px) rotate(0.5deg);\\n    }\\n    72% {\\n        transform: translate(0, 2.5px) rotate(1.5deg);\\n    }\\n    74% {\\n        transform: translate(0, -0.5px) rotate(0.5deg);\\n    }\\n    76% {\\n        transform: translate(0, -0.5px) rotate(2.5deg);\\n    }\\n    78% {\\n        transform: translate(0, -0.5px) rotate(1.5deg);\\n    }\\n    80% {\\n        transform: translate(0, 1.5px) rotate(1.5deg);\\n    }\\n    82% {\\n        transform: translate(0, -0.5px) rotate(0.5deg);\\n    }\\n    84% {\\n        transform: translate(0, 1.5px) rotate(2.5deg);\\n    }\\n    86% {\\n        transform: translate(0, -1.5px) rotate(-1.5deg);\\n    }\\n    88% {\\n        transform: translate(0, -0.5px) rotate(2.5deg);\\n    }\\n    90% {\\n        transform: translate(0, 2.5px) rotate(-0.5deg);\\n    }\\n    92% {\\n        transform: translate(0, 0.5px) rotate(-0.5deg);\\n    }\\n    94% {\\n        transform: translate(0, 2.5px) rotate(0.5deg);\\n    }\\n    96% {\\n        transform: translate(0, -0.5px) rotate(1.5deg);\\n    }\\n    98% {\\n        transform: translate(0, -1.5px) rotate(-0.5deg);\\n    }\\n    0%,\\n    100% {\\n        transform: translate(0, 0) rotate(0deg);\\n    }\\n}\",\"@import '../../node_modules/balloon-css/balloon.css';\\n@keyframes my-face {\\n  2% {\\n    transform: translate(0, 1.5px) rotate(1.5deg);\\n  }\\n  4% {\\n    transform: translate(0, -1.5px) rotate(-0.5deg);\\n  }\\n  6% {\\n    transform: translate(0, 1.5px) rotate(-1.5deg);\\n  }\\n  8% {\\n    transform: translate(0, -1.5px) rotate(-1.5deg);\\n  }\\n  10% {\\n    transform: translate(0, 2.5px) rotate(1.5deg);\\n  }\\n  12% {\\n    transform: translate(0, -0.5px) rotate(1.5deg);\\n  }\\n  14% {\\n    transform: translate(0, -1.5px) rotate(1.5deg);\\n  }\\n  16% {\\n    transform: translate(0, -0.5px) rotate(-1.5deg);\\n  }\\n  18% {\\n    transform: translate(0, 0.5px) rotate(-1.5deg);\\n  }\\n  20% {\\n    transform: translate(0, -1.5px) rotate(2.5deg);\\n  }\\n  22% {\\n    transform: translate(0, 0.5px) rotate(-1.5deg);\\n  }\\n  24% {\\n    transform: translate(0, 1.5px) rotate(1.5deg);\\n  }\\n  26% {\\n    transform: translate(0, 0.5px) rotate(0.5deg);\\n  }\\n  28% {\\n    transform: translate(0, 0.5px) rotate(1.5deg);\\n  }\\n  30% {\\n    transform: translate(0, -0.5px) rotate(2.5deg);\\n  }\\n  32% {\\n    transform: translate(0, 1.5px) rotate(-0.5deg);\\n  }\\n  34% {\\n    transform: translate(0, 1.5px) rotate(-0.5deg);\\n  }\\n  36% {\\n    transform: translate(0, -1.5px) rotate(2.5deg);\\n  }\\n  38% {\\n    transform: translate(0, 1.5px) rotate(-1.5deg);\\n  }\\n  40% {\\n    transform: translate(0, -0.5px) rotate(2.5deg);\\n  }\\n  42% {\\n    transform: translate(0, 2.5px) rotate(-1.5deg);\\n  }\\n  44% {\\n    transform: translate(0, 1.5px) rotate(0.5deg);\\n  }\\n  46% {\\n    transform: translate(0, -1.5px) rotate(2.5deg);\\n  }\\n  48% {\\n    transform: translate(0, -0.5px) rotate(0.5deg);\\n  }\\n  50% {\\n    transform: translate(0, 0.5px) rotate(0.5deg);\\n  }\\n  52% {\\n    transform: translate(0, 2.5px) rotate(2.5deg);\\n  }\\n  54% {\\n    transform: translate(0, -1.5px) rotate(1.5deg);\\n  }\\n  56% {\\n    transform: translate(0, 2.5px) rotate(2.5deg);\\n  }\\n  58% {\\n    transform: translate(0, 0.5px) rotate(2.5deg);\\n  }\\n  60% {\\n    transform: translate(0, 2.5px) rotate(2.5deg);\\n  }\\n  62% {\\n    transform: translate(0, -0.5px) rotate(2.5deg);\\n  }\\n  64% {\\n    transform: translate(0, -0.5px) rotate(1.5deg);\\n  }\\n  66% {\\n    transform: translate(0, 1.5px) rotate(-0.5deg);\\n  }\\n  68% {\\n    transform: translate(0, -1.5px) rotate(-0.5deg);\\n  }\\n  70% {\\n    transform: translate(0, 1.5px) rotate(0.5deg);\\n  }\\n  72% {\\n    transform: translate(0, 2.5px) rotate(1.5deg);\\n  }\\n  74% {\\n    transform: translate(0, -0.5px) rotate(0.5deg);\\n  }\\n  76% {\\n    transform: translate(0, -0.5px) rotate(2.5deg);\\n  }\\n  78% {\\n    transform: translate(0, -0.5px) rotate(1.5deg);\\n  }\\n  80% {\\n    transform: translate(0, 1.5px) rotate(1.5deg);\\n  }\\n  82% {\\n    transform: translate(0, -0.5px) rotate(0.5deg);\\n  }\\n  84% {\\n    transform: translate(0, 1.5px) rotate(2.5deg);\\n  }\\n  86% {\\n    transform: translate(0, -1.5px) rotate(-1.5deg);\\n  }\\n  88% {\\n    transform: translate(0, -0.5px) rotate(2.5deg);\\n  }\\n  90% {\\n    transform: translate(0, 2.5px) rotate(-0.5deg);\\n  }\\n  92% {\\n    transform: translate(0, 0.5px) rotate(-0.5deg);\\n  }\\n  94% {\\n    transform: translate(0, 2.5px) rotate(0.5deg);\\n  }\\n  96% {\\n    transform: translate(0, -0.5px) rotate(1.5deg);\\n  }\\n  98% {\\n    transform: translate(0, -1.5px) rotate(-0.5deg);\\n  }\\n  0%,\\n  100% {\\n    transform: translate(0, 0) rotate(0deg);\\n  }\\n}\\n.dplayer {\\n  position: relative;\\n  overflow: hidden;\\n  user-select: none;\\n  line-height: 1;\\n}\\n.dplayer * {\\n  box-sizing: content-box;\\n}\\n.dplayer svg {\\n  width: 100%;\\n  height: 100%;\\n}\\n.dplayer svg path,\\n.dplayer svg circle {\\n  fill: #fff;\\n}\\n.dplayer:-webkit-full-screen {\\n  width: 100%;\\n  height: 100%;\\n  background: #000;\\n  position: fixed;\\n  z-index: 100000;\\n  left: 0;\\n  top: 0;\\n  margin: 0;\\n  padding: 0;\\n  transform: translate(0, 0);\\n}\\n.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-showdan,\\n.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danmaku,\\n.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box .dplayer-setting-danunlimit {\\n  display: none;\\n}\\n.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-comment {\\n  display: none;\\n}\\n.dplayer.dplayer-no-danmaku .dplayer-danmaku {\\n  display: none;\\n}\\n.dplayer.dplayer-live .dplayer-time {\\n  display: none;\\n}\\n.dplayer.dplayer-live .dplayer-bar-wrap {\\n  display: none;\\n}\\n.dplayer.dplayer-live .dplayer-setting-speed {\\n  display: none;\\n}\\n.dplayer.dplayer-live .dplayer-setting-loop {\\n  display: none;\\n}\\n.dplayer.dplayer-live.dplayer-no-danmaku .dplayer-setting {\\n  display: none;\\n}\\n.dplayer.dplayer-arrow .dplayer-danmaku {\\n  font-size: 18px;\\n}\\n.dplayer.dplayer-arrow .dplayer-icon {\\n  margin: 0 -3px;\\n}\\n.dplayer.dplayer-playing .dplayer-danmaku .dplayer-danmaku-move {\\n  animation-play-state: running;\\n}\\n@media (min-width: 900px) {\\n  .dplayer.dplayer-playing .dplayer-controller-mask {\\n    opacity: 0;\\n  }\\n  .dplayer.dplayer-playing .dplayer-controller {\\n    opacity: 0;\\n  }\\n  .dplayer.dplayer-playing:hover .dplayer-controller-mask {\\n    opacity: 1;\\n  }\\n  .dplayer.dplayer-playing:hover .dplayer-controller {\\n    opacity: 1;\\n  }\\n}\\n.dplayer.dplayer-loading .dplayer-bezel .diplayer-loading-icon {\\n  display: block;\\n}\\n.dplayer.dplayer-loading .dplayer-danmaku,\\n.dplayer.dplayer-paused .dplayer-danmaku,\\n.dplayer.dplayer-loading .dplayer-danmaku-move,\\n.dplayer.dplayer-paused .dplayer-danmaku-move {\\n  animation-play-state: paused;\\n}\\n.dplayer.dplayer-hide-controller {\\n  cursor: none;\\n}\\n.dplayer.dplayer-hide-controller .dplayer-controller-mask {\\n  opacity: 0;\\n  transform: translateY(100%);\\n}\\n.dplayer.dplayer-hide-controller .dplayer-controller {\\n  opacity: 0;\\n  transform: translateY(100%);\\n}\\n.dplayer.dplayer-show-controller .dplayer-controller-mask {\\n  opacity: 1;\\n}\\n.dplayer.dplayer-show-controller .dplayer-controller {\\n  opacity: 1;\\n}\\n.dplayer.dplayer-fulled {\\n  position: fixed;\\n  z-index: 100000;\\n  left: 0;\\n  top: 0;\\n  width: 100% !important;\\n  height: 100% !important;\\n}\\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-volume,\\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-camera-icon,\\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-airplay-icon,\\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-chromecast-icon,\\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-play-icon {\\n  display: none;\\n}\\n.dplayer.dplayer-mobile .dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon {\\n  position: static;\\n  display: inline-block;\\n}\\n.dplayer.dplayer-mobile .dplayer-bar-time {\\n  display: none;\\n}\\n.dplayer.dplayer-mobile.dplayer-hide-controller .dplayer-mobile-play {\\n  display: none;\\n}\\n.dplayer.dplayer-mobile .dplayer-mobile-play {\\n  display: block;\\n}\\n.dplayer-web-fullscreen-fix {\\n  position: fixed;\\n  top: 0;\\n  left: 0;\\n  margin: 0;\\n  padding: 0;\\n}\\n[data-balloon]:before {\\n  display: none;\\n}\\n[data-balloon]:after {\\n  padding: 0.3em 0.7em;\\n  background: rgba(17, 17, 17, 0.7);\\n}\\n[data-balloon][data-balloon-pos=\\\"up\\\"]:after {\\n  margin-bottom: 0;\\n}\\n.dplayer-bezel {\\n  position: absolute;\\n  left: 0;\\n  right: 0;\\n  top: 0;\\n  bottom: 0;\\n  font-size: 22px;\\n  color: #fff;\\n  pointer-events: none;\\n}\\n.dplayer-bezel .dplayer-bezel-icon {\\n  position: absolute;\\n  top: 50%;\\n  left: 50%;\\n  margin: -26px 0 0 -26px;\\n  height: 52px;\\n  width: 52px;\\n  padding: 12px;\\n  box-sizing: border-box;\\n  background: rgba(0, 0, 0, 0.5);\\n  border-radius: 50%;\\n  opacity: 0;\\n  pointer-events: none;\\n}\\n.dplayer-bezel .dplayer-bezel-icon.dplayer-bezel-transition {\\n  animation: bezel-hide 0.5s linear;\\n}\\n@keyframes bezel-hide {\\n  from {\\n    opacity: 1;\\n    transform: scale(1);\\n  }\\n  to {\\n    opacity: 0;\\n    transform: scale(2);\\n  }\\n}\\n.dplayer-bezel .dplayer-danloading {\\n  position: absolute;\\n  top: 50%;\\n  margin-top: -7px;\\n  width: 100%;\\n  text-align: center;\\n  font-size: 14px;\\n  line-height: 14px;\\n  animation: my-face 5s infinite ease-in-out;\\n}\\n.dplayer-bezel .diplayer-loading-icon {\\n  display: none;\\n  position: absolute;\\n  top: 50%;\\n  left: 50%;\\n  margin: -18px 0 0 -18px;\\n  height: 36px;\\n  width: 36px;\\n  pointer-events: none;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-hide {\\n  display: none;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot {\\n  animation: diplayer-loading-dot-fade 0.8s ease infinite;\\n  opacity: 0;\\n  transform-origin: 4px 4px;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1 {\\n  animation-delay: 0.1s;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2 {\\n  animation-delay: 0.2s;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3 {\\n  animation-delay: 0.3s;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4 {\\n  animation-delay: 0.4s;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5 {\\n  animation-delay: 0.5s;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6 {\\n  animation-delay: 0.6s;\\n}\\n.dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7 {\\n  animation-delay: 0.7s;\\n}\\n@keyframes diplayer-loading-dot-fade {\\n  0% {\\n    opacity: 0.7;\\n    transform: scale(1.2, 1.2);\\n  }\\n  50% {\\n    opacity: 0.25;\\n    transform: scale(0.9, 0.9);\\n  }\\n  to {\\n    opacity: 0.25;\\n    transform: scale(0.85, 0.85);\\n  }\\n}\\n.dplayer-controller-mask {\\n  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom;\\n  height: 98px;\\n  width: 100%;\\n  position: absolute;\\n  bottom: 0;\\n  transition: all 0.3s ease;\\n}\\n.dplayer-controller {\\n  position: absolute;\\n  bottom: 0;\\n  left: 0;\\n  right: 0;\\n  height: 41px;\\n  padding: 0 20px;\\n  user-select: none;\\n  transition: all 0.3s ease;\\n}\\n.dplayer-controller.dplayer-controller-comment .dplayer-icons {\\n  display: none;\\n}\\n.dplayer-controller.dplayer-controller-comment .dplayer-icons.dplayer-comment-box {\\n  display: block;\\n}\\n.dplayer-controller .dplayer-bar-wrap {\\n  padding: 5px 0;\\n  cursor: pointer;\\n  position: absolute;\\n  bottom: 33px;\\n  width: calc(100% - 40px);\\n  height: 3px;\\n}\\n.dplayer-controller .dplayer-bar-wrap:hover .dplayer-bar .dplayer-played .dplayer-thumb {\\n  transform: scale(1);\\n}\\n.dplayer-controller .dplayer-bar-wrap:hover .dplayer-highlight {\\n  display: block;\\n  width: 8px;\\n  transform: translateX(-4px);\\n  top: 4px;\\n  height: 40%;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight {\\n  z-index: 12;\\n  position: absolute;\\n  top: 5px;\\n  width: 6px;\\n  height: 20%;\\n  border-radius: 6px;\\n  background-color: #fff;\\n  text-align: center;\\n  transform: translateX(-3px);\\n  transition: all 0.2s ease-in-out;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover .dplayer-highlight-text {\\n  display: block;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover ~ .dplayer-bar-preview {\\n  opacity: 0;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight:hover ~ .dplayer-bar-time {\\n  opacity: 0;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-highlight .dplayer-highlight-text {\\n  display: none;\\n  position: absolute;\\n  left: 50%;\\n  top: -24px;\\n  padding: 5px 8px;\\n  background-color: rgba(0, 0, 0, 0.62);\\n  color: #fff;\\n  border-radius: 4px;\\n  font-size: 12px;\\n  white-space: nowrap;\\n  transform: translateX(-50%);\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview {\\n  position: absolute;\\n  background: #fff;\\n  pointer-events: none;\\n  display: none;\\n  background-size: 16000px 100%;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar-preview-canvas {\\n  position: absolute;\\n  width: 100%;\\n  height: 100%;\\n  z-index: 1;\\n  pointer-events: none;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar-time {\\n  position: absolute;\\n  left: 0px;\\n  top: -20px;\\n  border-radius: 4px;\\n  padding: 5px 7px;\\n  background-color: rgba(0, 0, 0, 0.62);\\n  color: #fff;\\n  font-size: 12px;\\n  text-align: center;\\n  opacity: 1;\\n  transition: opacity 0.1s ease-in-out;\\n  word-wrap: normal;\\n  word-break: normal;\\n  z-index: 2;\\n  pointer-events: none;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar-time.hidden {\\n  opacity: 0;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar {\\n  position: relative;\\n  height: 3px;\\n  width: 100%;\\n  background: rgba(255, 255, 255, 0.2);\\n  cursor: pointer;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded {\\n  position: absolute;\\n  left: 0;\\n  top: 0;\\n  bottom: 0;\\n  background: rgba(255, 255, 255, 0.4);\\n  height: 3px;\\n  transition: all 0.5s ease;\\n  will-change: width;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played {\\n  position: absolute;\\n  left: 0;\\n  top: 0;\\n  bottom: 0;\\n  height: 3px;\\n  will-change: width;\\n}\\n.dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played .dplayer-thumb {\\n  position: absolute;\\n  top: 0;\\n  right: 5px;\\n  margin-top: -4px;\\n  margin-right: -10px;\\n  height: 11px;\\n  width: 11px;\\n  border-radius: 50%;\\n  cursor: pointer;\\n  transition: all 0.3s ease-in-out;\\n  transform: scale(0);\\n}\\n.dplayer-controller .dplayer-icons {\\n  height: 38px;\\n  position: absolute;\\n  bottom: 0;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box {\\n  display: none;\\n  position: absolute;\\n  transition: all 0.3s ease-in-out;\\n  z-index: 2;\\n  height: 38px;\\n  bottom: 0;\\n  left: 20px;\\n  right: 20px;\\n  color: #fff;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-icon {\\n  padding: 7px;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-icon {\\n  position: absolute;\\n  left: 0;\\n  top: 0;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-send-icon {\\n  position: absolute;\\n  right: 0;\\n  top: 0;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box {\\n  position: absolute;\\n  background: rgba(28, 28, 28, 0.9);\\n  bottom: 41px;\\n  left: 0;\\n  box-shadow: 0 0 25px rgba(0, 0, 0, 0.3);\\n  border-radius: 4px;\\n  padding: 10px 10px 16px;\\n  font-size: 14px;\\n  width: 204px;\\n  transition: all 0.3s ease-in-out;\\n  transform: scale(0);\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box.dplayer-comment-setting-open {\\n  transform: scale(1);\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box input[type=radio] {\\n  display: none;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box label {\\n  cursor: pointer;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-title {\\n  font-size: 13px;\\n  color: #fff;\\n  line-height: 30px;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type {\\n  font-size: 0;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type .dplayer-comment-setting-title {\\n  margin-bottom: 6px;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(2) span {\\n  border-radius: 4px 0 0 4px;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(4) span {\\n  border-radius: 0 4px 4px 0;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type span {\\n  width: 33%;\\n  padding: 4px 6px;\\n  line-height: 16px;\\n  display: inline-block;\\n  font-size: 12px;\\n  color: #fff;\\n  border: 1px solid #fff;\\n  margin-right: -1px;\\n  box-sizing: border-box;\\n  text-align: center;\\n  cursor: pointer;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type input:checked + span {\\n  background: #E4E4E6;\\n  color: #1c1c1c;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color {\\n  font-size: 0;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color label {\\n  font-size: 0;\\n  padding: 6px;\\n  display: inline-block;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span {\\n  width: 22px;\\n  height: 22px;\\n  display: inline-block;\\n  border-radius: 50%;\\n  box-sizing: border-box;\\n  cursor: pointer;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span:hover {\\n  animation: my-face 5s infinite ease-in-out;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input {\\n  outline: none;\\n  border: none;\\n  padding: 8px 31px;\\n  font-size: 14px;\\n  line-height: 18px;\\n  text-align: center;\\n  border-radius: 4px;\\n  background: none;\\n  margin: 0;\\n  height: 100%;\\n  box-sizing: border-box;\\n  width: 100%;\\n  color: #fff;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::placeholder {\\n  color: #fff;\\n  opacity: 0.8;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-comment-box .dplayer-comment-input::-ms-clear {\\n  display: none;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-icons-left .dplayer-icon {\\n  padding: 7px;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-icons-right {\\n  right: 20px;\\n}\\n.dplayer-controller .dplayer-icons.dplayer-icons-right .dplayer-icon {\\n  padding: 8px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-time,\\n.dplayer-controller .dplayer-icons .dplayer-live-badge {\\n  line-height: 38px;\\n  color: #eee;\\n  text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);\\n  vertical-align: middle;\\n  font-size: 13px;\\n  cursor: default;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-live-dot {\\n  display: inline-block;\\n  width: 6px;\\n  height: 6px;\\n  vertical-align: 4%;\\n  margin-right: 5px;\\n  content: '';\\n  border-radius: 6px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-icon {\\n  width: 40px;\\n  height: 100%;\\n  border: none;\\n  background-color: transparent;\\n  outline: none;\\n  cursor: pointer;\\n  vertical-align: middle;\\n  box-sizing: border-box;\\n  display: inline-block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-icon .dplayer-icon-content {\\n  transition: all 0.2s ease-in-out;\\n  opacity: 0.8;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-icon:hover .dplayer-icon-content {\\n  opacity: 1;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-quality-icon {\\n  color: #fff;\\n  width: auto;\\n  line-height: 22px;\\n  font-size: 14px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-comment-icon {\\n  padding: 10px 9px 9px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-setting-icon {\\n  padding-top: 8.5px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-icon.dplayer-volume-icon {\\n  width: 43px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume {\\n  position: relative;\\n  display: inline-block;\\n  cursor: pointer;\\n  height: 100%;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar {\\n  width: 45px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\\n  transform: scale(1);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar {\\n  width: 45px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\\n  transform: scale(1);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap {\\n  display: inline-block;\\n  margin: 0 10px 0 -5px;\\n  vertical-align: middle;\\n  height: 100%;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar {\\n  position: relative;\\n  top: 17px;\\n  width: 0;\\n  height: 3px;\\n  background: #aaa;\\n  transition: all 0.3s ease-in-out;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner {\\n  position: absolute;\\n  bottom: 0;\\n  left: 0;\\n  height: 100%;\\n  transition: all 0.1s ease;\\n  will-change: width;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\\n  position: absolute;\\n  top: 0;\\n  right: 5px;\\n  margin-top: -4px;\\n  margin-right: -10px;\\n  height: 11px;\\n  width: 11px;\\n  border-radius: 50%;\\n  cursor: pointer;\\n  transition: all 0.3s ease-in-out;\\n  transform: scale(0);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-subtitle-btn {\\n  display: inline-block;\\n  height: 100%;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-subtitles {\\n  display: inline-block;\\n  height: 100%;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-box {\\n  position: absolute;\\n  right: 0;\\n  bottom: 50px;\\n  transform: scale(0);\\n  width: fit-content;\\n  max-width: 240px;\\n  min-width: 120px;\\n  border-radius: 2px;\\n  background: rgba(28, 28, 28, 0.9);\\n  padding: 7px 0;\\n  transition: all 0.3s ease-in-out;\\n  overflow: auto;\\n  z-index: 2;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-box.dplayer-subtitles-panel {\\n  display: block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-box.dplayer-subtitles-box-open {\\n  transform: scale(1);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-item {\\n  height: 30px;\\n  padding: 5px 10px;\\n  box-sizing: border-box;\\n  cursor: pointer;\\n  position: relative;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-subtitles .dplayer-subtitles-item:hover {\\n  background-color: rgba(255, 255, 255, 0.1);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting {\\n  display: inline-block;\\n  height: 100%;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box {\\n  position: absolute;\\n  right: 0;\\n  bottom: 50px;\\n  transform: scale(0);\\n  width: 150px;\\n  border-radius: 2px;\\n  background: rgba(28, 28, 28, 0.9);\\n  padding: 7px 0;\\n  transition: all 0.3s ease-in-out;\\n  overflow: hidden;\\n  z-index: 2;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box > div {\\n  display: none;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box > div.dplayer-setting-origin-panel {\\n  display: block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-open {\\n  transform: scale(1);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-narrow {\\n  width: 70px;\\n  text-align: center;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-origin-panel {\\n  display: none;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-speed .dplayer-setting-speed-panel {\\n  display: block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item,\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item {\\n  height: 30px;\\n  padding: 5px 10px;\\n  box-sizing: border-box;\\n  cursor: pointer;\\n  position: relative;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item:hover,\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item:hover {\\n  background-color: rgba(255, 255, 255, 0.1);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku {\\n  padding: 5px 0;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-label {\\n  padding: 0 10px;\\n  display: inline;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-label {\\n  display: none;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-danmaku-bar-wrap {\\n  display: inline-block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-label {\\n  display: none;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-danmaku-bar-wrap {\\n  display: inline-block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap {\\n  padding: 0 10px;\\n  box-sizing: border-box;\\n  display: none;\\n  vertical-align: middle;\\n  height: 100%;\\n  width: 100%;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar {\\n  position: relative;\\n  top: 8.5px;\\n  width: 100%;\\n  height: 3px;\\n  background: #fff;\\n  transition: all 0.3s ease-in-out;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner {\\n  position: absolute;\\n  bottom: 0;\\n  left: 0;\\n  height: 100%;\\n  transition: all 0.1s ease;\\n  background: #aaa;\\n  will-change: width;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner .dplayer-thumb {\\n  position: absolute;\\n  top: 0;\\n  right: 5px;\\n  margin-top: -4px;\\n  margin-right: -10px;\\n  height: 11px;\\n  width: 11px;\\n  border-radius: 50%;\\n  cursor: pointer;\\n  transition: all 0.3s ease-in-out;\\n  background: #aaa;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-full {\\n  display: inline-block;\\n  height: 100%;\\n  position: relative;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-full:hover .dplayer-full-in-icon {\\n  display: block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon {\\n  position: absolute;\\n  top: -30px;\\n  z-index: 1;\\n  display: none;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-quality {\\n  position: relative;\\n  display: inline-block;\\n  height: 100%;\\n  z-index: 2;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-list {\\n  display: block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-quality:hover .dplayer-quality-mask {\\n  display: block;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-mask {\\n  display: none;\\n  position: absolute;\\n  bottom: 38px;\\n  left: -18px;\\n  width: 80px;\\n  padding-bottom: 12px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-list {\\n  display: none;\\n  font-size: 12px;\\n  width: 80px;\\n  border-radius: 2px;\\n  background: rgba(28, 28, 28, 0.9);\\n  padding: 5px 0;\\n  transition: all 0.3s ease-in-out;\\n  overflow: hidden;\\n  color: #fff;\\n  text-align: center;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item {\\n  height: 25px;\\n  box-sizing: border-box;\\n  cursor: pointer;\\n  line-height: 25px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-quality .dplayer-quality-item:hover {\\n  background-color: rgba(255, 255, 255, 0.1);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-comment {\\n  display: inline-block;\\n  height: 100%;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-label {\\n  color: #eee;\\n  font-size: 13px;\\n  display: inline-block;\\n  vertical-align: middle;\\n  white-space: nowrap;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-toggle {\\n  width: 32px;\\n  height: 20px;\\n  text-align: center;\\n  font-size: 0;\\n  vertical-align: middle;\\n  position: absolute;\\n  top: 5px;\\n  right: 10px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-toggle input {\\n  max-height: 0;\\n  max-width: 0;\\n  display: none;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-toggle input + label {\\n  display: inline-block;\\n  position: relative;\\n  box-shadow: #dfdfdf 0 0 0 0 inset;\\n  border: 1px solid #dfdfdf;\\n  height: 20px;\\n  width: 32px;\\n  border-radius: 10px;\\n  box-sizing: border-box;\\n  cursor: pointer;\\n  transition: 0.2s ease-in-out;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-toggle input + label:before {\\n  content: \\\"\\\";\\n  position: absolute;\\n  display: block;\\n  height: 18px;\\n  width: 18px;\\n  top: 0;\\n  left: 0;\\n  border-radius: 15px;\\n  transition: 0.2s ease-in-out;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-toggle input + label:after {\\n  content: \\\"\\\";\\n  position: absolute;\\n  display: block;\\n  left: 0;\\n  top: 0;\\n  border-radius: 15px;\\n  background: #fff;\\n  transition: 0.2s ease-in-out;\\n  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);\\n  height: 18px;\\n  width: 18px;\\n}\\n.dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label {\\n  border-color: rgba(255, 255, 255, 0.5);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label:before {\\n  width: 30px;\\n  background: rgba(255, 255, 255, 0.5);\\n}\\n.dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label:after {\\n  left: 12px;\\n}\\n.dplayer-mobile-play {\\n  display: none;\\n  width: 50px;\\n  height: 50px;\\n  border: none;\\n  background-color: transparent;\\n  outline: none;\\n  cursor: pointer;\\n  box-sizing: border-box;\\n  bottom: 0;\\n  opacity: 0.8;\\n  position: absolute;\\n  left: 50%;\\n  top: 50%;\\n  transform: translate(-50%, -50%);\\n}\\n.dplayer-danmaku {\\n  position: absolute;\\n  left: 0;\\n  right: 0;\\n  top: 0;\\n  bottom: 0;\\n  font-size: 22px;\\n  color: #fff;\\n}\\n.dplayer-danmaku .dplayer-danmaku-item {\\n  display: inline-block;\\n  pointer-events: none;\\n  user-select: none;\\n  cursor: default;\\n  white-space: nowrap;\\n  text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5);\\n}\\n.dplayer-danmaku .dplayer-danmaku-item--demo {\\n  position: absolute;\\n  visibility: hidden;\\n}\\n.dplayer-danmaku .dplayer-danmaku-right {\\n  position: absolute;\\n  right: 0;\\n  transform: translateX(100%);\\n}\\n.dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move {\\n  will-change: transform;\\n  animation-name: 'danmaku';\\n  animation-timing-function: linear;\\n  animation-play-state: paused;\\n}\\n@keyframes danmaku {\\n  from {\\n    transform: translateX(100%);\\n  }\\n}\\n.dplayer-danmaku .dplayer-danmaku-top,\\n.dplayer-danmaku .dplayer-danmaku-bottom {\\n  position: absolute;\\n  width: 100%;\\n  text-align: center;\\n  visibility: hidden;\\n}\\n.dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move,\\n.dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move {\\n  will-change: visibility;\\n  animation-name: 'danmaku-center';\\n  animation-timing-function: linear;\\n  animation-play-state: paused;\\n}\\n@keyframes danmaku-center {\\n  from {\\n    visibility: visible;\\n  }\\n  to {\\n    visibility: visible;\\n  }\\n}\\n.dplayer-logo {\\n  pointer-events: none;\\n  position: absolute;\\n  left: 20px;\\n  top: 20px;\\n  max-width: 50px;\\n  max-height: 50px;\\n}\\n.dplayer-logo img {\\n  max-width: 100%;\\n  max-height: 100%;\\n  background: none;\\n}\\n.dplayer-menu {\\n  position: absolute;\\n  width: 170px;\\n  border-radius: 2px;\\n  background: rgba(28, 28, 28, 0.85);\\n  padding: 5px 0;\\n  overflow: hidden;\\n  z-index: 3;\\n  display: none;\\n}\\n.dplayer-menu.dplayer-menu-show {\\n  display: block;\\n}\\n.dplayer-menu .dplayer-menu-item {\\n  height: 30px;\\n  box-sizing: border-box;\\n  cursor: pointer;\\n}\\n.dplayer-menu .dplayer-menu-item:hover {\\n  background-color: rgba(255, 255, 255, 0.1);\\n}\\n.dplayer-menu .dplayer-menu-item a {\\n  padding: 0 10px;\\n  line-height: 30px;\\n  color: #eee;\\n  font-size: 13px;\\n  display: inline-block;\\n  vertical-align: middle;\\n  width: 100%;\\n  box-sizing: border-box;\\n  white-space: nowrap;\\n  text-overflow: ellipsis;\\n  overflow: hidden;\\n}\\n.dplayer-menu .dplayer-menu-item a:hover {\\n  text-decoration: none;\\n}\\n.dplayer-notice-list {\\n  position: absolute;\\n  bottom: 60px;\\n  left: 20px;\\n}\\n.dplayer-notice-list .dplayer-notice {\\n  border-radius: 2px;\\n  background: rgba(28, 28, 28, 0.9);\\n  transition: all 0.3s ease-in-out;\\n  overflow: hidden;\\n  color: #fff;\\n  display: table;\\n  pointer-events: none;\\n  animation: showNotice 0.3s ease 1 forwards;\\n}\\n.dplayer-notice-list .remove-notice {\\n  animation: removeNotice 0.3s ease 1 forwards;\\n}\\n@keyframes showNotice {\\n  from {\\n    padding: 0;\\n    font-size: 0;\\n    margin-top: 0;\\n  }\\n  to {\\n    padding: 7px 20px;\\n    font-size: 14px;\\n    margin-top: 5px;\\n  }\\n}\\n@keyframes removeNotice {\\n  0% {\\n    padding: 7px 20px;\\n    font-size: 14px;\\n    margin-top: 5px;\\n  }\\n  20% {\\n    font-size: 12px;\\n  }\\n  21% {\\n    font-size: 0;\\n    padding: 7px 10px;\\n  }\\n  100% {\\n    padding: 0;\\n    margin-top: 0;\\n    font-size: 0;\\n  }\\n}\\n.dplayer-subtitle {\\n  position: absolute;\\n  bottom: 40px;\\n  width: 90%;\\n  left: 5%;\\n  text-align: center;\\n  color: #fff;\\n  text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5);\\n  font-size: 20px;\\n}\\n.dplayer-subtitle.dplayer-subtitle-hide {\\n  display: none;\\n}\\n.dplayer-mask {\\n  position: absolute;\\n  top: 0;\\n  bottom: 0;\\n  left: 0;\\n  right: 0;\\n  z-index: 1;\\n  display: none;\\n}\\n.dplayer-mask.dplayer-mask-show {\\n  display: block;\\n}\\n.dplayer-video-wrap {\\n  position: relative;\\n  background: #000;\\n  font-size: 0;\\n  width: 100%;\\n  height: 100%;\\n}\\n.dplayer-video-wrap .dplayer-video {\\n  width: 100%;\\n  height: 100%;\\n  display: none;\\n}\\n.dplayer-video-wrap .dplayer-video-current {\\n  display: block;\\n}\\n.dplayer-video-wrap .dplayer-video-prepare {\\n  display: none;\\n}\\n.dplayer-info-panel {\\n  position: absolute;\\n  top: 10px;\\n  left: 10px;\\n  width: 400px;\\n  background: rgba(28, 28, 28, 0.8);\\n  padding: 10px;\\n  color: #fff;\\n  font-size: 12px;\\n  border-radius: 2px;\\n}\\n.dplayer-info-panel-hide {\\n  display: none;\\n}\\n.dplayer-info-panel .dplayer-info-panel-close {\\n  cursor: pointer;\\n  position: absolute;\\n  right: 10px;\\n  top: 10px;\\n}\\n.dplayer-info-panel .dplayer-info-panel-item > span {\\n  display: inline-block;\\n  vertical-align: middle;\\n  line-height: 15px;\\n  white-space: nowrap;\\n  text-overflow: ellipsis;\\n  overflow: hidden;\\n}\\n.dplayer-info-panel .dplayer-info-panel-item-title {\\n  width: 100px;\\n  text-align: right;\\n  margin-right: 10px;\\n}\\n.dplayer-info-panel .dplayer-info-panel-item-data {\\n  width: 260px;\\n}\\n\",\".dplayer {\\n    position: relative;\\n    overflow: hidden;\\n    user-select: none;\\n    line-height: 1;\\n\\n    * {\\n        box-sizing: content-box;\\n    }\\n\\n    svg {\\n        width: 100%;\\n        height: 100%;\\n\\n        path,\\n        circle {\\n            fill: #fff;\\n        }\\n    }\\n\\n    &:-webkit-full-screen {\\n        width: 100%;\\n        height: 100%;\\n        background: #000;\\n        position: fixed;\\n        z-index: 100000;\\n        left: 0;\\n        top: 0;\\n        margin: 0;\\n        padding: 0;\\n        transform: translate(0, 0);\\n        \\n    }\\n\\n    &.dplayer-no-danmaku {\\n        .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box {\\n            .dplayer-setting-showdan,\\n            .dplayer-setting-danmaku,\\n            .dplayer-setting-danunlimit {\\n                display: none;\\n            }\\n        }\\n\\n        .dplayer-controller .dplayer-icons .dplayer-comment {\\n            display: none;\\n        }\\n\\n        .dplayer-danmaku {\\n            display: none;\\n        }\\n    }\\n\\n    &.dplayer-live {\\n        .dplayer-time {\\n            display: none;\\n        }\\n        .dplayer-bar-wrap {\\n            display: none;\\n        }\\n        .dplayer-setting-speed {\\n            display: none;\\n        }\\n        .dplayer-setting-loop {\\n            display: none;\\n        }\\n\\n        &.dplayer-no-danmaku {\\n            .dplayer-setting {\\n                display: none;\\n            }\\n        }\\n    }\\n\\n    &.dplayer-arrow {\\n        .dplayer-danmaku {\\n            font-size: 18px;\\n        }\\n        .dplayer-icon {\\n            margin: 0 -3px;\\n        }\\n    }\\n\\n    &.dplayer-playing {\\n        .dplayer-danmaku .dplayer-danmaku-move {\\n            animation-play-state: running;\\n        }\\n\\n        @media (min-width: 900px) {\\n            .dplayer-controller-mask {\\n                opacity: 0;\\n            }\\n            .dplayer-controller {\\n                opacity: 0;\\n            }\\n\\n            &:hover {\\n                .dplayer-controller-mask {\\n                    opacity: 1;\\n                }\\n                .dplayer-controller {\\n                    opacity: 1;\\n                }\\n            }\\n        }\\n    }\\n\\n    &.dplayer-loading {\\n        .dplayer-bezel .diplayer-loading-icon {\\n            display: block;\\n        }\\n    }\\n\\n    &.dplayer-loading,\\n    &.dplayer-paused {\\n        .dplayer-danmaku,\\n        .dplayer-danmaku-move {\\n            animation-play-state: paused;\\n        }\\n    }\\n\\n    &.dplayer-hide-controller {\\n        cursor: none;\\n\\n        .dplayer-controller-mask {\\n            opacity: 0;\\n            transform: translateY(100%);\\n        }\\n        .dplayer-controller {\\n            opacity: 0;\\n            transform: translateY(100%);\\n        }\\n    }\\n    &.dplayer-show-controller {\\n        .dplayer-controller-mask {\\n            opacity: 1;\\n        }\\n        .dplayer-controller {\\n            opacity: 1;\\n        }\\n    }\\n    &.dplayer-fulled {\\n        position: fixed;\\n        z-index: 100000;\\n        left: 0;\\n        top: 0;\\n        width: 100% !important;\\n        height: 100% !important;\\n    }\\n    &.dplayer-mobile {\\n        .dplayer-controller .dplayer-icons {\\n            .dplayer-volume,\\n            .dplayer-camera-icon,\\n            .dplayer-airplay-icon,\\n            .dplayer-chromecast-icon,\\n            .dplayer-play-icon {\\n                display: none;\\n            }\\n            .dplayer-full .dplayer-full-in-icon {\\n                position: static;\\n                display: inline-block;\\n            }\\n        }\\n\\n        .dplayer-bar-time {\\n            display: none;\\n        }\\n\\n        &.dplayer-hide-controller {\\n            .dplayer-mobile-play {\\n                display: none;\\n            }\\n        }\\n\\n        .dplayer-mobile-play {\\n            display: block;\\n        }\\n    }\\n}\\n\\n// To hide scroll bar, apply this class to <body>\\n.dplayer-web-fullscreen-fix {\\n    position: fixed;\\n    top: 0;\\n    left: 0;\\n    margin: 0;\\n    padding: 0;\\n}\\n\",\"@import '../../node_modules/balloon-css/balloon.css';\\n\\n[data-balloon]:before {\\n    display: none;\\n}\\n\\n[data-balloon]:after {\\n    padding: 0.3em 0.7em;\\n    background: rgba(17, 17, 17, 0.7);\\n}\\n\\n[data-balloon][data-balloon-pos=\\\"up\\\"]:after {\\n    margin-bottom: 0;\\n}\",\".dplayer-bezel {\\n    position: absolute;\\n    left: 0;\\n    right: 0;\\n    top: 0;\\n    bottom: 0;\\n    font-size: 22px;\\n    color: #fff;\\n    pointer-events: none;\\n    .dplayer-bezel-icon {\\n        position: absolute;\\n        top: 50%;\\n        left: 50%;\\n        margin: -26px 0 0 -26px;\\n        height: 52px;\\n        width: 52px;\\n        padding: 12px;\\n        box-sizing: border-box;\\n        background: rgba(0, 0, 0, .5);\\n        border-radius: 50%;\\n        opacity: 0;\\n        pointer-events: none;\\n        &.dplayer-bezel-transition {\\n            animation: bezel-hide .5s linear;\\n        }\\n        @keyframes bezel-hide {\\n            from {\\n                opacity: 1;\\n                transform: scale(1);\\n            }\\n            to {\\n                opacity: 0;\\n                transform: scale(2);\\n            }\\n        }\\n    }\\n    .dplayer-danloading {\\n        position: absolute;\\n        top: 50%;\\n        margin-top: -7px;\\n        width: 100%;\\n        text-align: center;\\n        font-size: 14px;\\n        line-height: 14px;\\n        animation: my-face 5s infinite ease-in-out;\\n    }\\n    .diplayer-loading-icon {\\n        display: none;\\n        position: absolute;\\n        top: 50%;\\n        left: 50%;\\n        margin: -18px 0 0 -18px;\\n        height: 36px;\\n        width: 36px;\\n        pointer-events: none;\\n        .diplayer-loading-hide {\\n            display: none;\\n        }\\n        .diplayer-loading-dot {\\n            animation: diplayer-loading-dot-fade .8s ease infinite;\\n            opacity: 0;\\n            transform-origin: 4px 4px;\\n            each(range(7), {\\n                &.diplayer-loading-dot-@{value} {\\n                    animation-delay: (@value * 0.1s);\\n                }\\n            });\\n        }\\n        @keyframes diplayer-loading-dot-fade {\\n            0% {\\n                opacity: .7;\\n                transform: scale(1.2, 1.2)\\n            }\\n            50% {\\n                opacity: .25;\\n                transform: scale(.9, .9)\\n            }\\n            to {\\n                opacity: .25;\\n                transform: scale(.85, .85)\\n            }\\n        }\\n    }\\n}\",\".dplayer-notice-list{\\n    position: absolute;\\n    bottom: 60px;\\n    left: 20px;\\n\\n    .dplayer-notice {\\n        border-radius: 2px;\\n        background: rgba(28, 28, 28, 0.9);\\n        transition: all .3s ease-in-out;\\n        overflow: hidden;\\n        color: #fff;\\n        display: table;\\n        pointer-events: none;\\n        animation: showNotice .3s ease 1 forwards;\\n    }\\n\\n    .remove-notice{\\n        animation: removeNotice .3s ease 1 forwards;\\n    }\\n}\\n\\n@keyframes showNotice {\\n    from {\\n        padding: 0;\\n        font-size: 0;\\n        margin-top: 0;\\n    }\\n    to {\\n        padding: 7px 20px;\\n        font-size: 14px;\\n        margin-top: 5px;\\n    }\\n}\\n\\n@keyframes removeNotice {\\n    0%{\\n        padding: 7px 20px;\\n        font-size: 14px;\\n        margin-top: 5px;\\n    }\\n    20%{\\n        font-size: 12px;\\n    }\\n    21%{\\n        font-size: 0;\\n        padding: 7px 10px;\\n    }\\n    100%{\\n        padding: 0;\\n        margin-top: 0;\\n        font-size: 0;\\n    }\\n}\\n\",\".dplayer-controller-mask {\\n    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom;\\n    height: 98px;\\n    width: 100%;\\n    position: absolute;\\n    bottom: 0;\\n    transition: all 0.3s ease;\\n}\\n\\n.dplayer-controller {\\n    position: absolute;\\n    bottom: 0;\\n    left: 0;\\n    right: 0;\\n    height: 41px;\\n    padding: 0 20px;\\n    user-select: none;\\n    transition: all 0.3s ease;\\n    &.dplayer-controller-comment {\\n        .dplayer-icons {\\n            display: none;\\n        }\\n        .dplayer-icons.dplayer-comment-box {\\n            display: block;\\n        }\\n    }\\n    .dplayer-bar-wrap {\\n        padding: 5px 0;\\n        cursor: pointer;\\n        position: absolute;\\n        bottom: 33px;\\n        width: calc(100% - 40px);\\n        height: 3px;\\n        &:hover {\\n            .dplayer-bar .dplayer-played .dplayer-thumb {\\n                transform: scale(1);\\n            }\\n            .dplayer-highlight {\\n                display: block;\\n                width: 8px;\\n                transform: translateX(-4px);\\n                top: 4px;\\n                height: 40%;\\n            }\\n        }\\n        .dplayer-highlight {\\n            z-index: 12;\\n            position: absolute;\\n            top: 5px;\\n            width: 6px;\\n            height: 20%;\\n            border-radius: 6px;\\n            background-color: #fff;\\n            text-align: center;\\n            transform: translateX(-3px);\\n            transition: all .2s ease-in-out;\\n            &:hover {\\n                .dplayer-highlight-text {\\n                    display: block;\\n                }\\n                &~.dplayer-bar-preview {\\n                    opacity: 0;\\n                }\\n                &~.dplayer-bar-time {\\n                    opacity: 0;\\n                }\\n            }\\n            .dplayer-highlight-text {\\n                display: none;\\n                position: absolute;\\n                left: 50%;\\n                top: -24px;\\n                padding: 5px 8px;\\n                background-color: rgba(0, 0, 0, .62);\\n                color: #fff;\\n                border-radius: 4px;\\n                font-size: 12px;\\n                white-space: nowrap;\\n                transform: translateX(-50%);\\n            }\\n        }\\n        .dplayer-bar-preview {\\n            position: absolute;\\n            background: #fff;\\n            pointer-events: none;\\n            display: none;\\n            background-size: 16000px 100%;\\n        }\\n        .dplayer-bar-preview-canvas {\\n            position: absolute;\\n            width: 100%;\\n            height: 100%;\\n            z-index: 1;\\n            pointer-events: none;\\n        }\\n        .dplayer-bar-time {\\n            &.hidden {\\n                opacity: 0;\\n            }\\n            position: absolute;\\n            left: 0px;\\n            top: -20px;\\n            border-radius: 4px;\\n            padding: 5px 7px;\\n            background-color: rgba(0, 0, 0, 0.62);\\n            color: #fff;\\n            font-size: 12px;\\n            text-align: center;\\n            opacity: 1;\\n            transition: opacity .1s ease-in-out;\\n            word-wrap: normal;\\n            word-break: normal;\\n            z-index: 2;\\n            pointer-events: none;\\n        }\\n        .dplayer-bar {\\n            position: relative;\\n            height: 3px;\\n            width: 100%;\\n            background: rgba(255, 255, 255, .2);\\n            cursor: pointer;\\n            .dplayer-loaded {\\n                position: absolute;\\n                left: 0;\\n                top: 0;\\n                bottom: 0;\\n                background: rgba(255, 255, 255, .4);\\n                height: 3px;\\n                transition: all 0.5s ease;\\n                will-change: width;\\n            }\\n            .dplayer-played {\\n                position: absolute;\\n                left: 0;\\n                top: 0;\\n                bottom: 0;\\n                height: 3px;\\n                will-change: width;\\n                .dplayer-thumb {\\n                    position: absolute;\\n                    top: 0;\\n                    right: 5px;\\n                    margin-top: -4px;\\n                    margin-right: -10px;\\n                    height: 11px;\\n                    width: 11px;\\n                    border-radius: 50%;\\n                    cursor: pointer;\\n                    transition: all .3s ease-in-out;\\n                    transform: scale(0);\\n                }\\n            }\\n        }\\n    }\\n    .dplayer-icons {\\n        height: 38px;\\n        position: absolute;\\n        bottom: 0;\\n        &.dplayer-comment-box {\\n            display: none;\\n            position: absolute;\\n            transition: all .3s ease-in-out;\\n            z-index: 2;\\n            height: 38px;\\n            bottom: 0;\\n            left: 20px;\\n            right: 20px;\\n            color: #fff;\\n            .dplayer-icon {\\n                padding: 7px;\\n            }\\n            .dplayer-comment-setting-icon {\\n                position: absolute;\\n                left: 0;\\n                top: 0;\\n            }\\n            .dplayer-send-icon {\\n                position: absolute;\\n                right: 0;\\n                top: 0;\\n            }\\n            .dplayer-comment-setting-box {\\n                position: absolute;\\n                background: rgba(28, 28, 28, 0.9);\\n                bottom: 41px;\\n                left: 0;\\n                box-shadow: 0 0 25px rgba(0, 0, 0, .3);\\n                border-radius: 4px;\\n                padding: 10px 10px 16px;\\n                font-size: 14px;\\n                width: 204px;\\n                transition: all .3s ease-in-out;\\n                transform: scale(0);\\n                &.dplayer-comment-setting-open {\\n                    transform: scale(1);\\n                }\\n                input[type=radio] {\\n                    display: none;\\n                }\\n                label {\\n                    cursor: pointer;\\n                }\\n                .dplayer-comment-setting-title {\\n                    font-size: 13px;\\n                    color: #fff;\\n                    line-height: 30px;\\n                }\\n                .dplayer-comment-setting-type {\\n                    font-size: 0;\\n                    .dplayer-comment-setting-title {\\n                        margin-bottom: 6px;\\n                    }\\n                    label {\\n                        &:nth-child(2) {\\n                            span {\\n                                border-radius: 4px 0 0 4px;\\n                            }\\n                        }\\n                        &:nth-child(4) {\\n                            span {\\n                                border-radius: 0 4px 4px 0;\\n                            }\\n                        }\\n                    }\\n                    span {\\n                        width: 33%;\\n                        padding: 4px 6px;\\n                        line-height: 16px;\\n                        display: inline-block;\\n                        font-size: 12px;\\n                        color: #fff;\\n                        border: 1px solid #fff;\\n                        margin-right: -1px;\\n                        box-sizing: border-box;\\n                        text-align: center;\\n                        cursor: pointer;\\n                    }\\n                    input:checked+span {\\n                        background: #E4E4E6;\\n                        color: #1c1c1c;\\n                    }\\n                }\\n                .dplayer-comment-setting-color {\\n                    font-size: 0;\\n                    label {\\n                        font-size: 0;\\n                        padding: 6px;\\n                        display: inline-block;\\n                    }\\n                    span {\\n                        width: 22px;\\n                        height: 22px;\\n                        display: inline-block;\\n                        border-radius: 50%;\\n                        box-sizing: border-box;\\n                        cursor: pointer;\\n                        &:hover {\\n                            animation: my-face 5s infinite ease-in-out;\\n                        }\\n                    }\\n                }\\n            }\\n            .dplayer-comment-input {\\n                outline: none;\\n                border: none;\\n                padding: 8px 31px;\\n                font-size: 14px;\\n                line-height: 18px;\\n                text-align: center;\\n                border-radius: 4px;\\n                background: none;\\n                margin: 0;\\n                height: 100%;\\n                box-sizing: border-box;\\n                width: 100%;\\n                color: #fff;\\n                &::placeholder {\\n                    color: #fff;\\n                    opacity: 0.8;\\n                }\\n                &::-ms-clear {\\n                    display: none;\\n                }\\n            }\\n        }\\n        &.dplayer-icons-left {\\n            .dplayer-icon {\\n                padding: 7px;\\n            }\\n        }\\n        &.dplayer-icons-right {\\n            right: 20px;\\n            .dplayer-icon {\\n                padding: 8px;\\n            }\\n        }\\n        .dplayer-time,\\n        .dplayer-live-badge {\\n            line-height: 38px;\\n            color: #eee;\\n            text-shadow: 0 0 2px rgba(0, 0, 0, .5);\\n            vertical-align: middle;\\n            font-size: 13px;\\n            cursor: default;\\n        }\\n        .dplayer-live-dot {\\n            display: inline-block;\\n            width: 6px;\\n            height: 6px;\\n            vertical-align: 4%;\\n            margin-right: 5px;\\n            content: '';\\n            border-radius: 6px;\\n        }\\n        .dplayer-icon {\\n            width: 40px;\\n            height: 100%;\\n            border: none;\\n            background-color: transparent;\\n            outline: none;\\n            cursor: pointer;\\n            vertical-align: middle;\\n            box-sizing: border-box;\\n            display: inline-block;\\n            .dplayer-icon-content {\\n                transition: all .2s ease-in-out;\\n                opacity: .8;\\n            }\\n            &:hover {\\n                .dplayer-icon-content {\\n                    opacity: 1;\\n                }\\n            }\\n            &.dplayer-quality-icon {\\n                color: #fff;\\n                width: auto;\\n                line-height: 22px;\\n                font-size: 14px;\\n            }\\n            &.dplayer-comment-icon {\\n                padding: 10px 9px 9px;\\n            }\\n            &.dplayer-setting-icon {\\n                padding-top: 8.5px;\\n            }\\n            &.dplayer-volume-icon {\\n                width: 43px;\\n            }\\n        }\\n        .dplayer-volume {\\n            position: relative;\\n            display: inline-block;\\n            cursor: pointer;\\n            height: 100%;\\n            &:hover {\\n                .dplayer-volume-bar-wrap .dplayer-volume-bar {\\n                    width: 45px;\\n                }\\n                .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\\n                    transform: scale(1);\\n                }\\n            }\\n            &.dplayer-volume-active {\\n                .dplayer-volume-bar-wrap .dplayer-volume-bar {\\n                    width: 45px;\\n                }\\n                .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\\n                    transform: scale(1);\\n                }\\n            }\\n            .dplayer-volume-bar-wrap {\\n                display: inline-block;\\n                margin: 0 10px 0 -5px;\\n                vertical-align: middle;\\n                height: 100%;\\n                .dplayer-volume-bar {\\n                    position: relative;\\n                    top: 17px;\\n                    width: 0;\\n                    height: 3px;\\n                    background: #aaa;\\n                    transition: all 0.3s ease-in-out;\\n                    .dplayer-volume-bar-inner {\\n                        position: absolute;\\n                        bottom: 0;\\n                        left: 0;\\n                        height: 100%;\\n                        transition: all 0.1s ease;\\n                        will-change: width;\\n                        .dplayer-thumb {\\n                            position: absolute;\\n                            top: 0;\\n                            right: 5px;\\n                            margin-top: -4px;\\n                            margin-right: -10px;\\n                            height: 11px;\\n                            width: 11px;\\n                            border-radius: 50%;\\n                            cursor: pointer;\\n                            transition: all .3s ease-in-out;\\n                            transform: scale(0);\\n                        }\\n                    }\\n                }\\n            }\\n        }\\n        .dplayer-subtitle-btn {\\n            display: inline-block;\\n            height: 100%;\\n        }\\n        .dplayer-subtitles {\\n            display: inline-block;\\n            height: 100%;\\n            .dplayer-subtitles-box {\\n                position: absolute;\\n                right: 0;\\n                bottom: 50px;\\n                transform: scale(0);\\n                width: fit-content;\\n                max-width: 240px;\\n                min-width: 120px;\\n                border-radius: 2px;\\n                background: rgba(28, 28, 28, 0.9);\\n                padding: 7px 0;\\n                transition: all .3s ease-in-out;\\n                overflow: auto;\\n                z-index: 2;\\n                &.dplayer-subtitles-panel {\\n                    display: block;\\n                }\\n                &.dplayer-subtitles-box-open {\\n                    transform: scale(1);\\n                }\\n            }\\n            .dplayer-subtitles-item {\\n                height: 30px;\\n                padding: 5px 10px;\\n                box-sizing: border-box;\\n                cursor: pointer;\\n                position: relative;\\n                &:hover {\\n                    background-color: rgba(255, 255, 255, .1);\\n                }\\n            }\\n        }\\n        .dplayer-setting {\\n            display: inline-block;\\n            height: 100%;\\n            .dplayer-setting-box {\\n                position: absolute;\\n                right: 0;\\n                bottom: 50px;\\n                transform: scale(0);\\n                width: 150px;\\n                border-radius: 2px;\\n                background: rgba(28, 28, 28, 0.9);\\n                padding: 7px 0;\\n                transition: all .3s ease-in-out;\\n                overflow: hidden;\\n                z-index: 2;\\n                &>div {\\n                    display: none;\\n                    &.dplayer-setting-origin-panel {\\n                        display: block;\\n                    }\\n                }\\n                &.dplayer-setting-box-open {\\n                    transform: scale(1);\\n                }\\n                &.dplayer-setting-box-narrow {\\n                    width: 70px;\\n                    text-align: center;\\n                }\\n                &.dplayer-setting-box-speed {\\n                    .dplayer-setting-origin-panel {\\n                        display: none;\\n                    }\\n                    .dplayer-setting-speed-panel {\\n                        display: block;\\n                    }\\n                }\\n            }\\n            .dplayer-setting-item,\\n            .dplayer-setting-speed-item {\\n                height: 30px;\\n                padding: 5px 10px;\\n                box-sizing: border-box;\\n                cursor: pointer;\\n                position: relative;\\n                &:hover {\\n                    background-color: rgba(255, 255, 255, .1);\\n                }\\n            }\\n            .dplayer-setting-danmaku {\\n                padding: 5px 0;\\n                .dplayer-label {\\n                    padding: 0 10px;\\n                    display: inline;\\n                }\\n                &:hover {\\n                    .dplayer-label {\\n                        display: none;\\n                    }\\n                    .dplayer-danmaku-bar-wrap {\\n                        display: inline-block;\\n                    }\\n                }\\n                &.dplayer-setting-danmaku-active {\\n                    .dplayer-label {\\n                        display: none;\\n                    }\\n                    .dplayer-danmaku-bar-wrap {\\n                        display: inline-block;\\n                    }\\n                }\\n                .dplayer-danmaku-bar-wrap {\\n                    padding: 0 10px;\\n                    box-sizing: border-box;\\n                    display: none;\\n                    vertical-align: middle;\\n                    height: 100%;\\n                    width: 100%;\\n                    .dplayer-danmaku-bar {\\n                        position: relative;\\n                        top: 8.5px;\\n                        width: 100%;\\n                        height: 3px;\\n                        background: #fff;\\n                        transition: all 0.3s ease-in-out;\\n                        .dplayer-danmaku-bar-inner {\\n                            position: absolute;\\n                            bottom: 0;\\n                            left: 0;\\n                            height: 100%;\\n                            transition: all 0.1s ease;\\n                            background: #aaa;\\n                            will-change: width;\\n                            .dplayer-thumb {\\n                                position: absolute;\\n                                top: 0;\\n                                right: 5px;\\n                                margin-top: -4px;\\n                                margin-right: -10px;\\n                                height: 11px;\\n                                width: 11px;\\n                                border-radius: 50%;\\n                                cursor: pointer;\\n                                transition: all .3s ease-in-out;\\n                                background: #aaa;\\n                            }\\n                        }\\n                    }\\n                }\\n            }\\n        }\\n        .dplayer-full {\\n            display: inline-block;\\n            height: 100%;\\n            position: relative;\\n            &:hover {\\n                .dplayer-full-in-icon {\\n                    display: block;\\n                }\\n            }\\n            .dplayer-full-in-icon {\\n                position: absolute;\\n                top: -30px;\\n                z-index: 1;\\n                display: none;\\n            }\\n        }\\n        .dplayer-quality {\\n            position: relative;\\n            display: inline-block;\\n            height: 100%;\\n            z-index: 2;\\n            &:hover {\\n                .dplayer-quality-list {\\n                    display: block;\\n                }\\n                .dplayer-quality-mask {\\n                    display: block;\\n                }\\n            }\\n            .dplayer-quality-mask {\\n                display: none;\\n                position: absolute;\\n                bottom: 38px;\\n                left: -18px;\\n                width: 80px;\\n                padding-bottom: 12px;\\n            }\\n            .dplayer-quality-list {\\n                display: none;\\n                font-size: 12px;\\n                width: 80px;\\n                border-radius: 2px;\\n                background: rgba(28, 28, 28, 0.9);\\n                padding: 5px 0;\\n                transition: all .3s ease-in-out;\\n                overflow: hidden;\\n                color: #fff;\\n                text-align: center;\\n            }\\n            .dplayer-quality-item {\\n                height: 25px;\\n                box-sizing: border-box;\\n                cursor: pointer;\\n                line-height: 25px;\\n                &:hover {\\n                    background-color: rgba(255, 255, 255, .1);\\n                }\\n            }\\n        }\\n        .dplayer-comment {\\n            display: inline-block;\\n            height: 100%;\\n        }\\n        .dplayer-label {\\n            color: #eee;\\n            font-size: 13px;\\n            display: inline-block;\\n            vertical-align: middle;\\n            white-space: nowrap;\\n        }\\n        .dplayer-toggle {\\n            width: 32px;\\n            height: 20px;\\n            text-align: center;\\n            font-size: 0;\\n            vertical-align: middle;\\n            position: absolute;\\n            top: 5px;\\n            right: 10px;\\n            input {\\n                max-height: 0;\\n                max-width: 0;\\n                display: none;\\n            }\\n            input+label {\\n                display: inline-block;\\n                position: relative;\\n                box-shadow: rgb(223, 223, 223) 0 0 0 0 inset;\\n                border: 1px solid rgb(223, 223, 223);\\n                height: 20px;\\n                width: 32px;\\n                border-radius: 10px;\\n                box-sizing: border-box;\\n                cursor: pointer;\\n                transition: .2s ease-in-out;\\n            }\\n            input+label:before {\\n                content: \\\"\\\";\\n                position: absolute;\\n                display: block;\\n                height: 18px;\\n                width: 18px;\\n                top: 0;\\n                left: 0;\\n                border-radius: 15px;\\n                transition: .2s ease-in-out;\\n            }\\n            input+label:after {\\n                content: \\\"\\\";\\n                position: absolute;\\n                display: block;\\n                left: 0;\\n                top: 0;\\n                border-radius: 15px;\\n                background: #fff;\\n                transition: .2s ease-in-out;\\n                box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);\\n                height: 18px;\\n                width: 18px;\\n            }\\n            input:checked+label {\\n                border-color: rgba(255, 255, 255, 0.5);\\n            }\\n            input:checked+label:before {\\n                width: 30px;\\n                background: rgba(255, 255, 255, 0.5);\\n            }\\n            input:checked+label:after {\\n                left: 12px;\\n            }\\n        }\\n    }\\n}\\n\\n.dplayer-mobile-play {\\n    display: none;\\n    width: 50px;\\n    height: 50px;\\n    border: none;\\n    background-color: transparent;\\n    outline: none;\\n    cursor: pointer;\\n    box-sizing: border-box;\\n    position: absolute;\\n    bottom: 0;\\n    opacity: 0.8;\\n    position: absolute;\\n    left: 50%;\\n    top: 50%;\\n    transform: translate(-50%, -50%);\\n}\",\".dplayer-danmaku {\\n    position: absolute;\\n    left: 0;\\n    right: 0;\\n    top: 0;\\n    bottom: 0;\\n    font-size: 22px;\\n    color: #fff;\\n    .dplayer-danmaku-item {\\n        display: inline-block;\\n        pointer-events: none;\\n        user-select: none;\\n        cursor: default;\\n        white-space: nowrap;\\n        text-shadow: .5px .5px .5px rgba(0, 0, 0, .5);\\n        &--demo {\\n            position: absolute;\\n            visibility: hidden;\\n        }\\n    }\\n    .dplayer-danmaku-right {\\n        position: absolute;\\n        right: 0;\\n        transform: translateX(100%);\\n        &.dplayer-danmaku-move {\\n            will-change: transform;\\n            animation-name: 'danmaku';\\n            animation-timing-function: linear;\\n            animation-play-state: paused;\\n        }\\n    }\\n    @keyframes danmaku {\\n        from {\\n            transform: translateX(100%);\\n        }\\n    }\\n    .dplayer-danmaku-top,\\n    .dplayer-danmaku-bottom {\\n        position: absolute;\\n        width: 100%;\\n        text-align: center;\\n        visibility: hidden;\\n        &.dplayer-danmaku-move {\\n            will-change: visibility;\\n            animation-name: 'danmaku-center';\\n            animation-timing-function: linear;\\n            animation-play-state: paused;\\n        }\\n    }\\n    @keyframes danmaku-center {\\n        from {\\n            visibility: visible;\\n        }\\n        to {\\n            visibility: visible;\\n        }\\n    }\\n}\",\".dplayer-logo {\\n    pointer-events: none;\\n    position: absolute;\\n    left: 20px;\\n    top: 20px;\\n    max-width: 50px;\\n    max-height: 50px;\\n    img {\\n        max-width: 100%;\\n        max-height: 100%;\\n        background: none;\\n    }\\n}\",\".dplayer-menu {\\n    position: absolute;\\n    width: 170px;\\n    border-radius: 2px;\\n    background: rgba(28, 28, 28, 0.85);\\n    padding: 5px 0;\\n    overflow: hidden;\\n    z-index: 3;\\n    display: none;\\n    &.dplayer-menu-show {\\n        display: block;\\n    }\\n    .dplayer-menu-item {\\n        height: 30px;\\n        box-sizing: border-box;\\n        cursor: pointer;\\n        &:hover {\\n            background-color: rgba(255, 255, 255, .1);\\n        }\\n        a {\\n            display: inline-block;\\n            padding: 0 10px;\\n            line-height: 30px;\\n            color: #eee;\\n            font-size: 13px;\\n            display: inline-block;\\n            vertical-align: middle;\\n            width: 100%;\\n            box-sizing: border-box;\\n            white-space: nowrap;\\n            text-overflow: ellipsis;\\n            overflow: hidden;\\n            &:hover {\\n                text-decoration: none;\\n            }\\n        }\\n    }\\n}\",\".dplayer-subtitle {\\n    position: absolute;\\n    bottom: 40px;\\n    width: 90%;\\n    left: 5%;\\n    text-align: center;\\n    color: #fff;\\n    text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5);\\n    font-size: 20px;\\n    &.dplayer-subtitle-hide {\\n        display: none;\\n    }\\n}\",\".dplayer-mask {\\n    position: absolute;\\n    top: 0;\\n    bottom: 0;\\n    left: 0;\\n    right: 0;\\n    z-index: 1;\\n    display: none;\\n    &.dplayer-mask-show {\\n        display: block;\\n    }\\n}\\n\\n.dplayer-video-wrap {\\n    position: relative;\\n    background: #000;\\n    font-size: 0;\\n    width: 100%;\\n    height: 100%;\\n    .dplayer-video {\\n        width: 100%;\\n        height: 100%;\\n        display: none;\\n    }\\n    .dplayer-video-current {\\n        display: block;\\n    }\\n    .dplayer-video-prepare {\\n        display: none;\\n    }\\n}\",\".dplayer-info-panel {\\n    position: absolute;\\n    top: 10px;\\n    left: 10px;\\n    width: 400px;\\n    background: rgba(28, 28, 28, 0.8);\\n    padding: 10px;\\n    color: #fff;\\n    font-size: 12px;\\n    border-radius: 2px;\\n\\n    &-hide {\\n        display: none;\\n    }\\n\\n    .dplayer-info-panel-close {\\n        cursor: pointer;\\n        position: absolute;\\n        right: 10px;\\n        top: 10px;\\n    }\\n\\n    .dplayer-info-panel-item {\\n        & > span {\\n            display: inline-block;\\n            vertical-align: middle;\\n            line-height: 15px;\\n            white-space: nowrap;\\n            text-overflow: ellipsis;\\n            overflow: hidden;\\n        }\\n    }\\n\\n    .dplayer-info-panel-item-title {\\n        width: 100px;\\n        text-align: right;\\n        margin-right: 10px;\\n    }\\n    \\n    .dplayer-info-panel-item-data {\\n        width: 260px;\\n    }\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\nvar stylesInDOM = [];\n\nfunction getIndexByIdentifier(identifier) {\n  var result = -1;\n\n  for (var i = 0; i < stylesInDOM.length; i++) {\n    if (stylesInDOM[i].identifier === identifier) {\n      result = i;\n      break;\n    }\n  }\n\n  return result;\n}\n\nfunction modulesToDom(list, options) {\n  var idCountMap = {};\n  var identifiers = [];\n\n  for (var i = 0; i < list.length; i++) {\n    var item = list[i];\n    var id = options.base ? item[0] + options.base : item[0];\n    var count = idCountMap[id] || 0;\n    var identifier = \"\".concat(id, \" \").concat(count);\n    idCountMap[id] = count + 1;\n    var indexByIdentifier = getIndexByIdentifier(identifier);\n    var obj = {\n      css: item[1],\n      media: item[2],\n      sourceMap: item[3],\n      supports: item[4],\n      layer: item[5]\n    };\n\n    if (indexByIdentifier !== -1) {\n      stylesInDOM[indexByIdentifier].references++;\n      stylesInDOM[indexByIdentifier].updater(obj);\n    } else {\n      var updater = addElementStyle(obj, options);\n      options.byIndex = i;\n      stylesInDOM.splice(i, 0, {\n        identifier: identifier,\n        updater: updater,\n        references: 1\n      });\n    }\n\n    identifiers.push(identifier);\n  }\n\n  return identifiers;\n}\n\nfunction addElementStyle(obj, options) {\n  var api = options.domAPI(options);\n  api.update(obj);\n\n  var updater = function updater(newObj) {\n    if (newObj) {\n      if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n        return;\n      }\n\n      api.update(obj = newObj);\n    } else {\n      api.remove();\n    }\n  };\n\n  return updater;\n}\n\nmodule.exports = function (list, options) {\n  options = options || {};\n  list = list || [];\n  var lastIdentifiers = modulesToDom(list, options);\n  return function update(newList) {\n    newList = newList || [];\n\n    for (var i = 0; i < lastIdentifiers.length; i++) {\n      var identifier = lastIdentifiers[i];\n      var index = getIndexByIdentifier(identifier);\n      stylesInDOM[index].references--;\n    }\n\n    var newLastIdentifiers = modulesToDom(newList, options);\n\n    for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n      var _identifier = lastIdentifiers[_i];\n\n      var _index = getIndexByIdentifier(_identifier);\n\n      if (stylesInDOM[_index].references === 0) {\n        stylesInDOM[_index].updater();\n\n        stylesInDOM.splice(_index, 1);\n      }\n    }\n\n    lastIdentifiers = newLastIdentifiers;\n  };\n};","\"use strict\";\n\nvar memo = {};\n/* istanbul ignore next  */\n\nfunction getTarget(target) {\n  if (typeof memo[target] === \"undefined\") {\n    var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n    if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n      try {\n        // This will throw an exception if access to iframe is blocked\n        // due to cross-origin restrictions\n        styleTarget = styleTarget.contentDocument.head;\n      } catch (e) {\n        // istanbul ignore next\n        styleTarget = null;\n      }\n    }\n\n    memo[target] = styleTarget;\n  }\n\n  return memo[target];\n}\n/* istanbul ignore next  */\n\n\nfunction insertBySelector(insert, style) {\n  var target = getTarget(insert);\n\n  if (!target) {\n    throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n  }\n\n  target.appendChild(style);\n}\n\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next  */\nfunction insertStyleElement(options) {\n  var element = document.createElement(\"style\");\n  options.setAttributes(element, options.attributes);\n  options.insert(element, options.options);\n  return element;\n}\n\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next  */\nfunction setAttributesWithoutAttributes(styleElement) {\n  var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n  if (nonce) {\n    styleElement.setAttribute(\"nonce\", nonce);\n  }\n}\n\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next  */\nfunction apply(styleElement, options, obj) {\n  var css = \"\";\n\n  if (obj.supports) {\n    css += \"@supports (\".concat(obj.supports, \") {\");\n  }\n\n  if (obj.media) {\n    css += \"@media \".concat(obj.media, \" {\");\n  }\n\n  var needLayer = typeof obj.layer !== \"undefined\";\n\n  if (needLayer) {\n    css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n  }\n\n  css += obj.css;\n\n  if (needLayer) {\n    css += \"}\";\n  }\n\n  if (obj.media) {\n    css += \"}\";\n  }\n\n  if (obj.supports) {\n    css += \"}\";\n  }\n\n  var sourceMap = obj.sourceMap;\n\n  if (sourceMap && typeof btoa !== \"undefined\") {\n    css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n  } // For old IE\n\n  /* istanbul ignore if  */\n\n\n  options.styleTagTransform(css, styleElement, options.options);\n}\n\nfunction removeStyleElement(styleElement) {\n  // istanbul ignore if\n  if (styleElement.parentNode === null) {\n    return false;\n  }\n\n  styleElement.parentNode.removeChild(styleElement);\n}\n/* istanbul ignore next  */\n\n\nfunction domAPI(options) {\n  var styleElement = options.insertStyleElement(options);\n  return {\n    update: function update(obj) {\n      apply(styleElement, options, obj);\n    },\n    remove: function remove() {\n      removeStyleElement(styleElement);\n    }\n  };\n}\n\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next  */\nfunction styleTagTransform(css, styleElement) {\n  if (styleElement.styleSheet) {\n    styleElement.styleSheet.cssText = css;\n  } else {\n    while (styleElement.firstChild) {\n      styleElement.removeChild(styleElement.firstChild);\n    }\n\n    styleElement.appendChild(document.createTextNode(css));\n  }\n}\n\nmodule.exports = styleTagTransform;","module.exports = \"<svg viewBox=\\\"0 0 288 288\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path d=\\\"M288 90v96c0 20-16 36-36 36h-10c-16 0-16-24 0-24h10c7 0 12-5 12-12V90c0-7-5-12-12-12H36c-7 0-12 5-12 12v96c0 7 5 12 12 12h10c16 0 16 24 0 24H36c-20 0-36-16-36-36V90c0-20 16-36 36-36h216c20 0 36 16 36 36zm-120 62l48 68c14 20 1 38-20 38H92c-21 0-34-18-20-38l48-68c13-18 35-18 48 0z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M16 23c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6zM16 13c-2.206 0-4 1.794-4 4s1.794 4 4 4c2.206 0 4-1.794 4-4s-1.794-4-4-4zM27 28h-22c-1.654 0-3-1.346-3-3v-16c0-1.654 1.346-3 3-3h3c0.552 0 1 0.448 1 1s-0.448 1-1 1h-3c-0.551 0-1 0.449-1 1v16c0 0.552 0.449 1 1 1h22c0.552 0 1-0.448 1-1v-16c0-0.551-0.448-1-1-1h-11c-0.552 0-1-0.448-1-1s0.448-1 1-1h11c1.654 0 3 1.346 3 3v16c0 1.654-1.346 3-3 3zM24 10.5c0 0.828 0.672 1.5 1.5 1.5s1.5-0.672 1.5-1.5c0-0.828-0.672-1.5-1.5-1.5s-1.5 0.672-1.5 1.5zM15 4c0 0.552-0.448 1-1 1h-4c-0.552 0-1-0.448-1-1v0c0-0.552 0.448-1 1-1h4c0.552 0 1 0.448 1 1v0z\\\"></path></svg>\"","module.exports = \"<svg aria-hidden=\\\"true\\\" focusable=\\\"false\\\" data-prefix=\\\"fab\\\" data-icon=\\\"chromecast\\\" class=\\\"svg-inline--fa fa-chromecast fa-w-16\\\" role=\\\"img\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path fill=\\\"currentColor\\\" d=\\\"M447.8,64H64c-23.6,0-42.7,19.1-42.7,42.7v63.9H64v-63.9h383.8v298.6H298.6V448H448c23.6,0,42.7-19.1,42.7-42.7V106.7 C490.7,83.1,471.4,64,447.8,64z M21.3,383.6L21.3,383.6l0,63.9h63.9C85.2,412.2,56.6,383.6,21.3,383.6L21.3,383.6z M21.3,298.6V341 c58.9,0,106.6,48.1,106.6,107h42.7C170.7,365.6,103.7,298.7,21.3,298.6z M213.4,448h42.7c-0.5-129.5-105.3-234.3-234.8-234.6l0,42.4 C127.3,255.6,213.3,342,213.4,448z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M27.090 0.131h-22.731c-2.354 0-4.262 1.839-4.262 4.109v16.401c0 2.269 1.908 4.109 4.262 4.109h4.262v-2.706h8.469l-8.853 8.135 1.579 1.451 7.487-6.88h9.787c2.353 0 4.262-1.84 4.262-4.109v-16.401c0-2.27-1.909-4.109-4.262-4.109v0zM28.511 19.304c0 1.512-1.272 2.738-2.841 2.738h-8.425l-0.076-0.070-0.076 0.070h-11.311c-1.569 0-2.841-1.226-2.841-2.738v-13.696c0-1.513 1.272-2.739 2.841-2.739h19.889c1.569 0 2.841-0.142 2.841 1.37v15.064z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M27.128 0.38h-22.553c-2.336 0-4.229 1.825-4.229 4.076v16.273c0 2.251 1.893 4.076 4.229 4.076h4.229v-2.685h8.403l-8.784 8.072 1.566 1.44 7.429-6.827h9.71c2.335 0 4.229-1.825 4.229-4.076v-16.273c0-2.252-1.894-4.076-4.229-4.076zM28.538 19.403c0 1.5-1.262 2.717-2.819 2.717h-8.36l-0.076-0.070-0.076 0.070h-11.223c-1.557 0-2.819-1.217-2.819-2.717v-13.589c0-1.501 1.262-2.718 2.819-2.718h19.734c1.557 0 2.819-0.141 2.819 1.359v14.947zM9.206 10.557c-1.222 0-2.215 0.911-2.215 2.036s0.992 2.035 2.215 2.035c1.224 0 2.216-0.911 2.216-2.035s-0.992-2.036-2.216-2.036zM22.496 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.224 0 2.215-0.911 2.215-2.035s-0.991-2.036-2.215-2.036zM15.852 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.222 0 2.215-0.911 2.215-2.035s-0.992-2.036-2.215-2.036z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 33\\\"><path d=\\\"M24.965 24.38h-18.132c-1.366 0-2.478-1.113-2.478-2.478v-11.806c0-1.364 1.111-2.478 2.478-2.478h18.132c1.366 0 2.478 1.113 2.478 2.478v11.806c0 1.364-1.11 2.478-2.478 2.478zM6.833 10.097v11.806h18.134l-0.002-11.806h-18.132zM2.478 28.928h5.952c0.684 0 1.238-0.554 1.238-1.239 0-0.684-0.554-1.238-1.238-1.238h-5.952v-5.802c0-0.684-0.554-1.239-1.238-1.239s-1.239 0.556-1.239 1.239v5.802c0 1.365 1.111 2.478 2.478 2.478zM30.761 19.412c-0.684 0-1.238 0.554-1.238 1.238v5.801h-5.951c-0.686 0-1.239 0.554-1.239 1.238 0 0.686 0.554 1.239 1.239 1.239h5.951c1.366 0 2.478-1.111 2.478-2.478v-5.801c0-0.683-0.554-1.238-1.239-1.238zM0 5.55v5.802c0 0.683 0.554 1.238 1.238 1.238s1.238-0.555 1.238-1.238v-5.802h5.952c0.684 0 1.238-0.554 1.238-1.238s-0.554-1.238-1.238-1.238h-5.951c-1.366-0.001-2.478 1.111-2.478 2.476zM32 11.35v-5.801c0-1.365-1.11-2.478-2.478-2.478h-5.951c-0.686 0-1.239 0.554-1.239 1.238s0.554 1.238 1.239 1.238h5.951v5.801c0 0.683 0.554 1.237 1.238 1.237 0.686 0.002 1.239-0.553 1.239-1.236z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 33\\\"><path d=\\\"M6.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v4h4c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333zM30.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h4v-4c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM30.667 12c-0.8 0-1.333-0.533-1.333-1.333v-4h-4c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM1.333 12c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333h-4v4c0 0.8-0.533 1.333-1.333 1.333z\\\"></path></svg>\"","module.exports = \"<svg version=\\\"1.1\\\" viewBox=\\\"0 0 22 22\\\"><svg x=\\\"7\\\" y=\\\"1\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-0\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"11\\\" y=\\\"3\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-1\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"13\\\" y=\\\"7\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-2\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"11\\\" y=\\\"11\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-3\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"7\\\" y=\\\"13\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-4\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"3\\\" y=\\\"11\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-5\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"1\\\" y=\\\"7\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-6\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg><svg x=\\\"3\\\" y=\\\"3\\\"><circle class=\\\"diplayer-loading-dot diplayer-loading-dot-7\\\" cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle></svg></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M19.357 2.88c1.749 0 3.366 0.316 4.851 0.946 1.485 0.632 2.768 1.474 3.845 2.533s1.922 2.279 2.532 3.661c0.611 1.383 0.915 2.829 0.915 4.334 0 1.425-0.304 2.847-0.915 4.271-0.611 1.425-1.587 2.767-2.928 4.028-0.855 0.813-1.811 1.607-2.869 2.38s-2.136 1.465-3.233 2.075c-1.099 0.61-2.198 1.098-3.296 1.465-1.098 0.366-2.115 0.549-3.051 0.549-1.343 0-2.441-0.438-3.296-1.311-0.854-0.876-1.281-2.41-1.281-4.608 0-0.366 0.020-0.773 0.060-1.221s0.062-0.895 0.062-1.343c0-0.773-0.183-1.353-0.55-1.738-0.366-0.387-0.793-0.58-1.281-0.58-0.652 0-1.21 0.295-1.678 0.886s-0.926 1.23-1.373 1.921c-0.447 0.693-0.905 1.334-1.372 1.923s-1.028 0.886-1.679 0.886c-0.529 0-1.048-0.427-1.556-1.282s-0.763-2.259-0.763-4.212c0-2.197 0.529-4.241 1.587-6.133s2.462-3.529 4.21-4.912c1.75-1.383 3.762-2.471 6.041-3.264 2.277-0.796 4.617-1.212 7.018-1.253zM7.334 15.817c0.569 0 1.047-0.204 1.434-0.611s0.579-0.875 0.579-1.404c0-0.569-0.193-1.047-0.579-1.434s-0.864-0.579-1.434-0.579c-0.529 0-0.987 0.193-1.373 0.579s-0.58 0.864-0.58 1.434c0 0.53 0.194 0.998 0.58 1.404 0.388 0.407 0.845 0.611 1.373 0.611zM12.216 11.79c0.691 0 1.292-0.254 1.8-0.763s0.762-1.107 0.762-1.8c0-0.732-0.255-1.343-0.762-1.831-0.509-0.489-1.109-0.732-1.8-0.732-0.732 0-1.342 0.244-1.831 0.732-0.488 0.488-0.732 1.098-0.732 1.831 0 0.693 0.244 1.292 0.732 1.8s1.099 0.763 1.831 0.763zM16.366 25.947c0.692 0 1.282-0.214 1.77-0.64s0.732-0.987 0.732-1.678-0.244-1.261-0.732-1.709c-0.489-0.448-1.078-0.671-1.77-0.671-0.65 0-1.21 0.223-1.678 0.671s-0.702 1.018-0.702 1.709c0 0.692 0.234 1.25 0.702 1.678s1.027 0.64 1.678 0.64zM19.113 9.592c0.651 0 1.129-0.203 1.433-0.611 0.305-0.406 0.459-0.874 0.459-1.404 0-0.488-0.154-0.947-0.459-1.373-0.304-0.427-0.782-0.641-1.433-0.641-0.529 0-1.008 0.193-1.434 0.58s-0.64 0.865-0.64 1.434c0 0.571 0.213 1.049 0.64 1.434 0.427 0.389 0.905 0.581 1.434 0.581zM24.848 12.826c0.57 0 1.067-0.213 1.495-0.64 0.427-0.427 0.64-0.947 0.64-1.556 0-0.57-0.214-1.068-0.64-1.495-0.428-0.427-0.927-0.64-1.495-0.64-0.611 0-1.129 0.213-1.555 0.64-0.428 0.427-0.642 0.926-0.642 1.495 0 0.611 0.213 1.129 0.642 1.556s0.947 0.64 1.555 0.64z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 17 32\\\"><path d=\\\"M14.080 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048zM2.88 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 16 32\\\"><path d=\\\"M15.552 15.168q0.448 0.32 0.448 0.832 0 0.448-0.448 0.768l-13.696 8.512q-0.768 0.512-1.312 0.192t-0.544-1.28v-16.448q0-0.96 0.544-1.28t1.312 0.192z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M22 16l-10.105-10.6-1.895 1.987 8.211 8.613-8.211 8.612 1.895 1.988 8.211-8.613z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M13.725 30l3.9-5.325-3.9-1.125v6.45zM0 17.5l11.050 3.35 13.6-11.55-10.55 12.425 11.8 3.65 6.1-23.375-32 15.5z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 28\\\"><path d=\\\"M28.633 17.104c0.035 0.21 0.026 0.463-0.026 0.76s-0.14 0.598-0.262 0.904c-0.122 0.306-0.271 0.581-0.445 0.825s-0.367 0.419-0.576 0.524c-0.209 0.105-0.393 0.157-0.55 0.157s-0.332-0.035-0.524-0.105c-0.175-0.052-0.393-0.1-0.655-0.144s-0.528-0.052-0.799-0.026c-0.271 0.026-0.541 0.083-0.812 0.17s-0.502 0.236-0.694 0.445c-0.419 0.437-0.664 0.934-0.734 1.493s0.009 1.092 0.236 1.598c0.175 0.349 0.148 0.699-0.079 1.048-0.105 0.14-0.271 0.284-0.498 0.432s-0.476 0.284-0.747 0.406-0.555 0.218-0.851 0.288c-0.297 0.070-0.559 0.105-0.786 0.105-0.157 0-0.306-0.061-0.445-0.183s-0.236-0.253-0.288-0.393h-0.026c-0.192-0.541-0.52-1.009-0.982-1.402s-1-0.589-1.611-0.589c-0.594 0-1.131 0.197-1.611 0.589s-0.816 0.851-1.009 1.375c-0.087 0.21-0.218 0.362-0.393 0.458s-0.367 0.144-0.576 0.144c-0.244 0-0.52-0.044-0.825-0.131s-0.611-0.197-0.917-0.327c-0.306-0.131-0.581-0.284-0.825-0.458s-0.428-0.349-0.55-0.524c-0.087-0.122-0.135-0.266-0.144-0.432s0.057-0.397 0.197-0.694c0.192-0.402 0.266-0.86 0.223-1.375s-0.266-0.991-0.668-1.428c-0.244-0.262-0.541-0.432-0.891-0.511s-0.681-0.109-0.995-0.092c-0.367 0.017-0.742 0.087-1.127 0.21-0.244 0.070-0.489 0.052-0.734-0.052-0.192-0.070-0.371-0.231-0.537-0.485s-0.314-0.533-0.445-0.838c-0.131-0.306-0.231-0.62-0.301-0.943s-0.087-0.59-0.052-0.799c0.052-0.384 0.227-0.629 0.524-0.734 0.524-0.21 0.995-0.555 1.415-1.035s0.629-1.017 0.629-1.611c0-0.611-0.21-1.144-0.629-1.598s-0.891-0.786-1.415-0.996c-0.157-0.052-0.288-0.179-0.393-0.38s-0.157-0.406-0.157-0.616c0-0.227 0.035-0.48 0.105-0.76s0.162-0.55 0.275-0.812 0.244-0.502 0.393-0.72c0.148-0.218 0.31-0.38 0.485-0.485 0.14-0.087 0.275-0.122 0.406-0.105s0.275 0.052 0.432 0.105c0.524 0.21 1.070 0.275 1.637 0.197s1.070-0.327 1.506-0.747c0.21-0.209 0.362-0.467 0.458-0.773s0.157-0.607 0.183-0.904c0.026-0.297 0.026-0.568 0-0.812s-0.048-0.419-0.065-0.524c-0.035-0.105-0.066-0.227-0.092-0.367s-0.013-0.262 0.039-0.367c0.105-0.244 0.293-0.458 0.563-0.642s0.563-0.336 0.878-0.458c0.314-0.122 0.62-0.214 0.917-0.275s0.533-0.092 0.707-0.092c0.227 0 0.406 0.074 0.537 0.223s0.223 0.301 0.275 0.458c0.192 0.471 0.507 0.886 0.943 1.244s0.952 0.537 1.546 0.537c0.611 0 1.153-0.17 1.624-0.511s0.803-0.773 0.996-1.297c0.070-0.14 0.179-0.284 0.327-0.432s0.301-0.223 0.458-0.223c0.244 0 0.511 0.035 0.799 0.105s0.572 0.166 0.851 0.288c0.279 0.122 0.537 0.279 0.773 0.472s0.423 0.402 0.563 0.629c0.087 0.14 0.113 0.293 0.079 0.458s-0.070 0.284-0.105 0.354c-0.227 0.506-0.297 1.039-0.21 1.598s0.341 1.048 0.76 1.467c0.419 0.419 0.934 0.651 1.546 0.694s1.179-0.057 1.703-0.301c0.14-0.087 0.31-0.122 0.511-0.105s0.371 0.096 0.511 0.236c0.262 0.244 0.493 0.616 0.694 1.113s0.336 1 0.406 1.506c0.035 0.297-0.013 0.528-0.144 0.694s-0.266 0.275-0.406 0.327c-0.542 0.192-1.004 0.528-1.388 1.009s-0.576 1.026-0.576 1.637c0 0.594 0.162 1.113 0.485 1.559s0.747 0.764 1.27 0.956c0.122 0.070 0.227 0.14 0.314 0.21 0.192 0.157 0.323 0.358 0.393 0.602v0zM16.451 19.462c0.786 0 1.528-0.149 2.227-0.445s1.305-0.707 1.821-1.231c0.515-0.524 0.921-1.131 1.218-1.821s0.445-1.428 0.445-2.214c0-0.786-0.148-1.524-0.445-2.214s-0.703-1.292-1.218-1.808c-0.515-0.515-1.122-0.921-1.821-1.218s-1.441-0.445-2.227-0.445c-0.786 0-1.524 0.148-2.214 0.445s-1.292 0.703-1.808 1.218c-0.515 0.515-0.921 1.118-1.218 1.808s-0.445 1.428-0.445 2.214c0 0.786 0.149 1.524 0.445 2.214s0.703 1.297 1.218 1.821c0.515 0.524 1.118 0.934 1.808 1.231s1.428 0.445 2.214 0.445v0z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 32 32\\\"><path d=\\\"M26.667 5.333h-21.333c-0 0-0.001 0-0.001 0-1.472 0-2.666 1.194-2.666 2.666 0 0 0 0.001 0 0.001v-0 16c0 0 0 0.001 0 0.001 0 1.472 1.194 2.666 2.666 2.666 0 0 0.001 0 0.001 0h21.333c0 0 0.001 0 0.001 0 1.472 0 2.666-1.194 2.666-2.666 0-0 0-0.001 0-0.001v0-16c0-0 0-0.001 0-0.001 0-1.472-1.194-2.666-2.666-2.666-0 0-0.001 0-0.001 0h0zM5.333 16h5.333v2.667h-5.333v-2.667zM18.667 24h-13.333v-2.667h13.333v2.667zM26.667 24h-5.333v-2.667h5.333v2.667zM26.667 18.667h-13.333v-2.667h13.333v2.667z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 21 32\\\"><path d=\\\"M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 21 32\\\"><path d=\\\"M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 21 32\\\"><path d=\\\"M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528zM25.152 16q0 2.72-1.536 5.056t-4 3.36q-0.256 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.704 0.672-1.056 1.024-0.512 1.376-0.8 1.312-0.96 2.048-2.4t0.736-3.104-0.736-3.104-2.048-2.4q-0.352-0.288-1.376-0.8-0.672-0.352-0.672-1.056 0-0.448 0.32-0.8t0.8-0.352q0.224 0 0.48 0.096 2.496 1.056 4 3.36t1.536 5.056z\\\"></path></svg>\"","'use strict';\nvar globalThis = typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};\nvar runtime = Object.create(globalThis);\nvar ESCAPE_REG = /[\"&'<>]/;\nruntime.$escape = function (content) {\n    return xmlEscape(toString(content));\n};\nruntime.$each = function (data, callback) {\n    if (Array.isArray(data)) {\n        for (var i = 0, len = data.length; i < len; i++) {\n            callback(data[i], i);\n        }\n    } else {\n        for (var _i in data) {\n            callback(data[_i], _i);\n        }\n    }\n};\nfunction toString(value) {\n    if (typeof value !== 'string') {\n        if (value === undefined || value === null) {\n            value = '';\n        } else if (typeof value === 'function') {\n            value = toString(value.call(value));\n        } else {\n            value = JSON.stringify(value);\n        }\n    }\n    return value;\n}\nfunction xmlEscape(content) {\n    var html = '' + content;\n    var regexResult = ESCAPE_REG.exec(html);\n    if (!regexResult) {\n        return content;\n    }\n    var result = '';\n    var i = void 0, lastIndex = void 0, _char = void 0;\n    for (i = regexResult.index, lastIndex = 0; i < html.length; i++) {\n        switch (html.charCodeAt(i)) {\n        case 34:\n            _char = '&#34;';\n            break;\n        case 38:\n            _char = '&#38;';\n            break;\n        case 39:\n            _char = '&#39;';\n            break;\n        case 60:\n            _char = '&#60;';\n            break;\n        case 62:\n            _char = '&#62;';\n            break;\n        default:\n            continue;\n        }\n        if (lastIndex !== i) {\n            result += html.substring(lastIndex, i);\n        }\n        lastIndex = i + 1;\n        result += _char;\n    }\n    if (lastIndex !== i) {\n        return result + html.substring(lastIndex, i);\n    } else {\n        return result;\n    }\n}\nmodule.exports = runtime;","'use strict';\nmodule.exports = require('./compile/runtime');","'use strict';\nmodule.exports = function (cssWithMappingToString) {\n    var list = [];\n    list.toString = function toString() {\n        return this.map(function (item) {\n            var content = '';\n            var needLayer = typeof item[5] !== 'undefined';\n            if (item[4]) {\n                content += '@supports ('.concat(item[4], ') {');\n            }\n            if (item[2]) {\n                content += '@media '.concat(item[2], ' {');\n            }\n            if (needLayer) {\n                content += '@layer'.concat(item[5].length > 0 ? ' '.concat(item[5]) : '', ' {');\n            }\n            content += cssWithMappingToString(item);\n            if (needLayer) {\n                content += '}';\n            }\n            if (item[2]) {\n                content += '}';\n            }\n            if (item[4]) {\n                content += '}';\n            }\n            return content;\n        }).join('');\n    };\n    list.i = function i(modules, media, dedupe, supports, layer) {\n        if (typeof modules === 'string') {\n            modules = [[\n                    null,\n                    modules,\n                    undefined\n                ]];\n        }\n        var alreadyImportedModules = {};\n        if (dedupe) {\n            for (var k = 0; k < this.length; k++) {\n                var id = this[k][0];\n                if (id != null) {\n                    alreadyImportedModules[id] = true;\n                }\n            }\n        }\n        for (var _k = 0; _k < modules.length; _k++) {\n            var item = [].concat(modules[_k]);\n            if (dedupe && alreadyImportedModules[item[0]]) {\n                continue;\n            }\n            if (typeof layer !== 'undefined') {\n                if (typeof item[5] === 'undefined') {\n                    item[5] = layer;\n                } else {\n                    item[1] = '@layer'.concat(item[5].length > 0 ? ' '.concat(item[5]) : '', ' {').concat(item[1], '}');\n                    item[5] = layer;\n                }\n            }\n            if (media) {\n                if (!item[2]) {\n                    item[2] = media;\n                } else {\n                    item[1] = '@media '.concat(item[2], ' {').concat(item[1], '}');\n                    item[2] = media;\n                }\n            }\n            if (supports) {\n                if (!item[4]) {\n                    item[4] = ''.concat(supports);\n                } else {\n                    item[1] = '@supports ('.concat(item[4], ') {').concat(item[1], '}');\n                    item[4] = supports;\n                }\n            }\n            list.push(item);\n        }\n    };\n    return list;\n};","'use strict';\nmodule.exports = function (url, options) {\n    if (!options) {\n        options = {};\n    }\n    if (!url) {\n        return url;\n    }\n    url = String(url.__esModule ? url['default'] : url);\n    if (/^['\"].*['\"]$/.test(url)) {\n        url = url.slice(1, -1);\n    }\n    if (options.hash) {\n        url += options.hash;\n    }\n    if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n        return '\"'.concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, '\\\\n'), '\"');\n    }\n    return url;\n};","'use strict';\nmodule.exports = function (item) {\n    var content = item[1];\n    var cssMapping = item[3];\n    if (!cssMapping) {\n        return content;\n    }\n    if (typeof btoa === 'function') {\n        var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n        var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,'.concat(base64);\n        var sourceMapping = '/*# '.concat(data, ' */');\n        return [content].concat([sourceMapping]).join('\\n');\n    }\n    return [content].join('\\n');\n};","function _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nmodule.exports = (typeof self === 'undefined' ? 'undefined' : _typeof(self)) == 'object' ? self.FormData : window.FormData;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t957: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// no jsonp function","__webpack_require__.nc = undefined;","\n      import API from \"!../../node_modules/.pnpm/[email protected][email protected]/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../node_modules/.pnpm/[email protected][email protected]/node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../node_modules/.pnpm/[email protected][email protected]/node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../node_modules/.pnpm/[email protected][email protected]/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../node_modules/.pnpm/[email protected][email protected]/node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../node_modules/.pnpm/[email protected][email protected]/node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../node_modules/.pnpm/[email protected][email protected]/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../node_modules/.pnpm/[email protected]_6jdsrmfenkuhhw3gx4zvjlznce/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!../../node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/less-loader/dist/cjs.js!./index.less\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/.pnpm/[email protected][email protected]/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../node_modules/.pnpm/[email protected]_6jdsrmfenkuhhw3gx4zvjlznce/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!../../node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/less-loader/dist/cjs.js!./index.less\";\n       export default content && content.locals ? content.locals : undefined;\n","function _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nfunction allSettled(arr) {\n    var P = this;\n    return new P(function (resolve, reject) {\n        if (!(arr && typeof arr.length !== 'undefined')) {\n            return reject(new TypeError(_typeof(arr) + ' ' + arr + ' is not iterable(cannot read property Symbol(Symbol.iterator))'));\n        }\n        var args = Array.prototype.slice.call(arr);\n        if (args.length === 0)\n            return resolve([]);\n        var remaining = args.length;\n        function res(i, val) {\n            if (val && (_typeof(val) === 'object' || typeof val === 'function')) {\n                var then = val.then;\n                if (typeof then === 'function') {\n                    then.call(val, function (val) {\n                        res(i, val);\n                    }, function (e) {\n                        args[i] = {\n                            status: 'rejected',\n                            reason: e\n                        };\n                        if (--remaining === 0) {\n                            resolve(args);\n                        }\n                    });\n                    return;\n                }\n            }\n            args[i] = {\n                status: 'fulfilled',\n                value: val\n            };\n            if (--remaining === 0) {\n                resolve(args);\n            }\n        }\n        for (var i = 0; i < args.length; i++) {\n            res(i, args[i]);\n        }\n    });\n}\nexport default allSettled;","function AggregateError(errors, message) {\n    this.name = 'AggregateError', this.errors = errors;\n    this.message = message || '';\n}\nAggregateError.prototype = Error.prototype;\nfunction any(arr) {\n    var P = this;\n    return new P(function (resolve, reject) {\n        if (!(arr && typeof arr.length !== 'undefined')) {\n            return reject(new TypeError('Promise.any accepts an array'));\n        }\n        var args = Array.prototype.slice.call(arr);\n        if (args.length === 0)\n            return reject();\n        var rejectionReasons = [];\n        for (var i = 0; i < args.length; i++) {\n            try {\n                P.resolve(args[i]).then(resolve)['catch'](function (error) {\n                    rejectionReasons.push(error);\n                    if (rejectionReasons.length === args.length) {\n                        reject(new AggregateError(rejectionReasons, 'All promises were rejected'));\n                    }\n                });\n            } catch (ex) {\n                reject(ex);\n            }\n        }\n    });\n}\nexport default any;","function _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nimport promiseFinally from './finally';\nimport allSettled from './allSettled';\nimport any from './any';\nvar setTimeoutFunc = setTimeout;\nfunction isArray(x) {\n    return Boolean(x && typeof x.length !== 'undefined');\n}\nfunction noop() {\n}\nfunction bind(fn, thisArg) {\n    return function () {\n        fn.apply(thisArg, arguments);\n    };\n}\nfunction Promise(fn) {\n    if (!(this instanceof Promise))\n        throw new TypeError('Promises must be constructed via new');\n    if (typeof fn !== 'function')\n        throw new TypeError('not a function');\n    this._state = 0;\n    this._handled = false;\n    this._value = undefined;\n    this._deferreds = [];\n    doResolve(fn, this);\n}\nfunction handle(self, deferred) {\n    while (self._state === 3) {\n        self = self._value;\n    }\n    if (self._state === 0) {\n        self._deferreds.push(deferred);\n        return;\n    }\n    self._handled = true;\n    Promise._immediateFn(function () {\n        var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n        if (cb === null) {\n            (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n            return;\n        }\n        var ret;\n        try {\n            ret = cb(self._value);\n        } catch (e) {\n            reject(deferred.promise, e);\n            return;\n        }\n        resolve(deferred.promise, ret);\n    });\n}\nfunction resolve(self, newValue) {\n    try {\n        if (newValue === self)\n            throw new TypeError('A promise cannot be resolved with itself.');\n        if (newValue && (_typeof(newValue) === 'object' || typeof newValue === 'function')) {\n            var then = newValue.then;\n            if (newValue instanceof Promise) {\n                self._state = 3;\n                self._value = newValue;\n                finale(self);\n                return;\n            } else if (typeof then === 'function') {\n                doResolve(bind(then, newValue), self);\n                return;\n            }\n        }\n        self._state = 1;\n        self._value = newValue;\n        finale(self);\n    } catch (e) {\n        reject(self, e);\n    }\n}\nfunction reject(self, newValue) {\n    self._state = 2;\n    self._value = newValue;\n    finale(self);\n}\nfunction finale(self) {\n    if (self._state === 2 && self._deferreds.length === 0) {\n        Promise._immediateFn(function () {\n            if (!self._handled) {\n                Promise._unhandledRejectionFn(self._value);\n            }\n        });\n    }\n    for (var i = 0, len = self._deferreds.length; i < len; i++) {\n        handle(self, self._deferreds[i]);\n    }\n    self._deferreds = null;\n}\nfunction Handler(onFulfilled, onRejected, promise) {\n    this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n    this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n    this.promise = promise;\n}\nfunction doResolve(fn, self) {\n    var done = false;\n    try {\n        fn(function (value) {\n            if (done)\n                return;\n            done = true;\n            resolve(self, value);\n        }, function (reason) {\n            if (done)\n                return;\n            done = true;\n            reject(self, reason);\n        });\n    } catch (ex) {\n        if (done)\n            return;\n        done = true;\n        reject(self, ex);\n    }\n}\nPromise.prototype['catch'] = function (onRejected) {\n    return this.then(null, onRejected);\n};\nPromise.prototype.then = function (onFulfilled, onRejected) {\n    var prom = new this.constructor(noop);\n    handle(this, new Handler(onFulfilled, onRejected, prom));\n    return prom;\n};\nPromise.prototype['finally'] = promiseFinally;\nPromise.all = function (arr) {\n    return new Promise(function (resolve, reject) {\n        if (!isArray(arr)) {\n            return reject(new TypeError('Promise.all accepts an array'));\n        }\n        var args = Array.prototype.slice.call(arr);\n        if (args.length === 0)\n            return resolve([]);\n        var remaining = args.length;\n        function res(i, val) {\n            try {\n                if (val && (_typeof(val) === 'object' || typeof val === 'function')) {\n                    var then = val.then;\n                    if (typeof then === 'function') {\n                        then.call(val, function (val) {\n                            res(i, val);\n                        }, reject);\n                        return;\n                    }\n                }\n                args[i] = val;\n                if (--remaining === 0) {\n                    resolve(args);\n                }\n            } catch (ex) {\n                reject(ex);\n            }\n        }\n        for (var i = 0; i < args.length; i++) {\n            res(i, args[i]);\n        }\n    });\n};\nPromise.any = any;\nPromise.allSettled = allSettled;\nPromise.resolve = function (value) {\n    if (value && _typeof(value) === 'object' && value.constructor === Promise) {\n        return value;\n    }\n    return new Promise(function (resolve) {\n        resolve(value);\n    });\n};\nPromise.reject = function (value) {\n    return new Promise(function (resolve, reject) {\n        reject(value);\n    });\n};\nPromise.race = function (arr) {\n    return new Promise(function (resolve, reject) {\n        if (!isArray(arr)) {\n            return reject(new TypeError('Promise.race accepts an array'));\n        }\n        for (var i = 0, len = arr.length; i < len; i++) {\n            Promise.resolve(arr[i]).then(resolve, reject);\n        }\n    });\n};\nPromise._immediateFn = typeof setImmediate === 'function' && function (fn) {\n    setImmediate(fn);\n} || function (fn) {\n    setTimeoutFunc(fn, 0);\n};\nPromise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n    if (typeof console !== 'undefined' && console) {\n        console.warn('Possible Unhandled Promise Rejection:', err);\n    }\n};\nexport default Promise;","function finallyConstructor(callback) {\n    var constructor = this.constructor;\n    return this.then(function (value) {\n        return constructor.resolve(callback()).then(function () {\n            return value;\n        });\n    }, function (reason) {\n        return constructor.resolve(callback()).then(function () {\n            return constructor.reject(reason);\n        });\n    });\n}\nexport default finallyConstructor;","var isMobile = /mobile/i.test(window.navigator.userAgent);\nvar utils = {\n    secondToTime: function secondToTime(second) {\n        second = second || 0;\n        if (second === 0 || second === Infinity || second.toString() === 'NaN') {\n            return '00:00';\n        }\n        var add0 = function add0(num) {\n            return num < 10 ? '0' + num : '' + num;\n        };\n        var hour = Math.floor(second / 3600);\n        var min = Math.floor((second - hour * 3600) / 60);\n        var sec = Math.floor(second - hour * 3600 - min * 60);\n        return (hour > 0 ? [\n            hour,\n            min,\n            sec\n        ] : [\n            min,\n            sec\n        ]).map(add0).join(':');\n    },\n    getElementViewLeft: function getElementViewLeft(element) {\n        var actualLeft = element.offsetLeft;\n        var current = element.offsetParent;\n        var elementScrollLeft = document.body.scrollLeft + document.documentElement.scrollLeft;\n        if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement) {\n            while (current !== null) {\n                actualLeft += current.offsetLeft;\n                current = current.offsetParent;\n            }\n        } else {\n            while (current !== null && current !== element) {\n                actualLeft += current.offsetLeft;\n                current = current.offsetParent;\n            }\n        }\n        return actualLeft - elementScrollLeft;\n    },\n    getBoundingClientRectViewLeft: function getBoundingClientRectViewLeft(element) {\n        var scrollTop = window.scrollY || window.pageYOffset || document.body.scrollTop + (document.documentElement && document.documentElement.scrollTop || 0);\n        if (element.getBoundingClientRect) {\n            if (typeof this.getBoundingClientRectViewLeft.offset !== 'number') {\n                var temp = document.createElement('div');\n                temp.style.cssText = 'position:absolute;top:0;left:0;';\n                document.body.appendChild(temp);\n                this.getBoundingClientRectViewLeft.offset = -temp.getBoundingClientRect().top - scrollTop;\n                document.body.removeChild(temp);\n                temp = null;\n            }\n            var rect = element.getBoundingClientRect();\n            var offset = this.getBoundingClientRectViewLeft.offset;\n            return rect.left + offset;\n        } else {\n            return this.getElementViewLeft(element);\n        }\n    },\n    getScrollPosition: function getScrollPosition() {\n        return {\n            left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0,\n            top: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0\n        };\n    },\n    setScrollPosition: function setScrollPosition(_ref) {\n        var _ref$left = _ref.left, left = _ref$left === void 0 ? 0 : _ref$left, _ref$top = _ref.top, top = _ref$top === void 0 ? 0 : _ref$top;\n        if (this.isFirefox) {\n            document.documentElement.scrollLeft = left;\n            document.documentElement.scrollTop = top;\n        } else {\n            window.scrollTo(left, top);\n        }\n    },\n    isMobile: isMobile,\n    isFirefox: /firefox/i.test(window.navigator.userAgent),\n    isChrome: /chrome/i.test(window.navigator.userAgent),\n    isSafari: /safari/i.test(window.navigator.userAgent),\n    storage: {\n        set: function set(key, value) {\n            localStorage.setItem(key, value);\n        },\n        get: function get(key) {\n            return localStorage.getItem(key);\n        }\n    },\n    nameMap: {\n        dragStart: isMobile ? 'touchstart' : 'mousedown',\n        dragMove: isMobile ? 'touchmove' : 'mousemove',\n        dragEnd: isMobile ? 'touchend' : 'mouseup'\n    },\n    color2Number: function color2Number(color) {\n        if (color[0] === '#') {\n            color = color.substr(1);\n        }\n        if (color.length === 3) {\n            color = ''.concat(color[0]).concat(color[0]).concat(color[1]).concat(color[1]).concat(color[2]).concat(color[2]);\n        }\n        return parseInt(color, 16) + 0 & 16777215;\n    },\n    number2Color: function number2Color(number) {\n        return '#' + ('00000' + number.toString(16)).slice(-6);\n    },\n    number2Type: function number2Type(number) {\n        switch (number) {\n        case 0:\n            return 'right';\n        case 1:\n            return 'top';\n        case 2:\n            return 'bottom';\n        default:\n            return 'right';\n        }\n    }\n};\nexport default utils;","'use strict';\nexport default function bind(fn, thisArg) {\n    return function wrap() {\n        return fn.apply(thisArg, arguments);\n    };\n}","'use strict';\nfunction _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nimport bind from './helpers/bind.js';\nvar toString = Object.prototype.toString;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar kindOf = function (cache) {\n    return function (thing) {\n        var str = toString.call(thing);\n        return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n    };\n}(Object.create(null));\nvar kindOfTest = function kindOfTest(type) {\n    type = type.toLowerCase();\n    return function (thing) {\n        return kindOf(thing) === type;\n    };\n};\nvar typeOfTest = function typeOfTest(type) {\n    return function (thing) {\n        return _typeof(thing) === type;\n    };\n};\nvar isArray = Array.isArray;\nvar isUndefined = typeOfTest('undefined');\nfunction isBuffer(val) {\n    return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\nfunction isArrayBufferView(val) {\n    var result;\n    if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n        result = ArrayBuffer.isView(val);\n    } else {\n        result = val && val.buffer && isArrayBuffer(val.buffer);\n    }\n    return result;\n}\nvar isString = typeOfTest('string');\nvar isFunction = typeOfTest('function');\nvar isNumber = typeOfTest('number');\nvar isObject = function isObject(thing) {\n    return thing !== null && _typeof(thing) === 'object';\n};\nvar isBoolean = function isBoolean(thing) {\n    return thing === true || thing === false;\n};\nvar isPlainObject = function isPlainObject(val) {\n    if (kindOf(val) !== 'object') {\n        return false;\n    }\n    var prototype = getPrototypeOf(val);\n    return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n};\nvar isDate = kindOfTest('Date');\nvar isFile = kindOfTest('File');\nvar isBlob = kindOfTest('Blob');\nvar isFileList = kindOfTest('FileList');\nvar isStream = function isStream(val) {\n    return isObject(val) && isFunction(val.pipe);\n};\nvar isFormData = function isFormData(thing) {\n    var pattern = '[object FormData]';\n    return thing && (typeof FormData === 'function' && thing instanceof FormData || toString.call(thing) === pattern || isFunction(thing.toString) && thing.toString() === pattern);\n};\nvar isURLSearchParams = kindOfTest('URLSearchParams');\nvar trim = function trim(str) {\n    return str.trim ? str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n};\nfunction forEach(obj, fn) {\n    var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, _ref$allOwnKeys = _ref.allOwnKeys, allOwnKeys = _ref$allOwnKeys === void 0 ? false : _ref$allOwnKeys;\n    if (obj === null || typeof obj === 'undefined') {\n        return;\n    }\n    var i;\n    var l;\n    if (_typeof(obj) !== 'object') {\n        obj = [obj];\n    }\n    if (isArray(obj)) {\n        for (i = 0, l = obj.length; i < l; i++) {\n            fn.call(null, obj[i], i, obj);\n        }\n    } else {\n        var keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n        var len = keys.length;\n        var key;\n        for (i = 0; i < len; i++) {\n            key = keys[i];\n            fn.call(null, obj[key], key, obj);\n        }\n    }\n}\nfunction findKey(obj, key) {\n    key = key.toLowerCase();\n    var keys = Object.keys(obj);\n    var i = keys.length;\n    var _key;\n    while (i-- > 0) {\n        _key = keys[i];\n        if (key === _key.toLowerCase()) {\n            return _key;\n        }\n    }\n    return null;\n}\nvar _global = function () {\n    if (typeof globalThis !== 'undefined')\n        return globalThis;\n    return typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : global;\n}();\nvar isContextDefined = function isContextDefined(context) {\n    return !isUndefined(context) && context !== _global;\n};\nfunction merge() {\n    var _ref2 = isContextDefined(this) && this || {}, caseless = _ref2.caseless;\n    var result = {};\n    var assignValue = function assignValue(val, key) {\n        var targetKey = caseless && findKey(result, key) || key;\n        if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n            result[targetKey] = merge(result[targetKey], val);\n        } else if (isPlainObject(val)) {\n            result[targetKey] = merge({}, val);\n        } else if (isArray(val)) {\n            result[targetKey] = val.slice();\n        } else {\n            result[targetKey] = val;\n        }\n    };\n    for (var i = 0, l = arguments.length; i < l; i++) {\n        arguments[i] && forEach(arguments[i], assignValue);\n    }\n    return result;\n}\nvar extend = function extend(a, b, thisArg) {\n    var _ref3 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}, allOwnKeys = _ref3.allOwnKeys;\n    forEach(b, function (val, key) {\n        if (thisArg && isFunction(val)) {\n            a[key] = bind(val, thisArg);\n        } else {\n            a[key] = val;\n        }\n    }, { allOwnKeys: allOwnKeys });\n    return a;\n};\nvar stripBOM = function stripBOM(content) {\n    if (content.charCodeAt(0) === 65279) {\n        content = content.slice(1);\n    }\n    return content;\n};\nvar inherits = function inherits(constructor, superConstructor, props, descriptors) {\n    constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n    constructor.prototype.constructor = constructor;\n    Object.defineProperty(constructor, 'super', { value: superConstructor.prototype });\n    props && Object.assign(constructor.prototype, props);\n};\nvar toFlatObject = function toFlatObject(sourceObj, destObj, filter, propFilter) {\n    var props;\n    var i;\n    var prop;\n    var merged = {};\n    destObj = destObj || {};\n    if (sourceObj == null)\n        return destObj;\n    do {\n        props = Object.getOwnPropertyNames(sourceObj);\n        i = props.length;\n        while (i-- > 0) {\n            prop = props[i];\n            if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n                destObj[prop] = sourceObj[prop];\n                merged[prop] = true;\n            }\n        }\n        sourceObj = filter !== false && getPrototypeOf(sourceObj);\n    } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n    return destObj;\n};\nvar endsWith = function endsWith(str, searchString, position) {\n    str = String(str);\n    if (position === undefined || position > str.length) {\n        position = str.length;\n    }\n    position -= searchString.length;\n    var lastIndex = str.indexOf(searchString, position);\n    return lastIndex !== -1 && lastIndex === position;\n};\nvar toArray = function toArray(thing) {\n    if (!thing)\n        return null;\n    if (isArray(thing))\n        return thing;\n    var i = thing.length;\n    if (!isNumber(i))\n        return null;\n    var arr = new Array(i);\n    while (i-- > 0) {\n        arr[i] = thing[i];\n    }\n    return arr;\n};\nvar isTypedArray = function (TypedArray) {\n    return function (thing) {\n        return TypedArray && thing instanceof TypedArray;\n    };\n}(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\nvar forEachEntry = function forEachEntry(obj, fn) {\n    var generator = obj && obj[Symbol.iterator];\n    var iterator = generator.call(obj);\n    var result;\n    while ((result = iterator.next()) && !result.done) {\n        var pair = result.value;\n        fn.call(obj, pair[0], pair[1]);\n    }\n};\nvar matchAll = function matchAll(regExp, str) {\n    var matches;\n    var arr = [];\n    while ((matches = regExp.exec(str)) !== null) {\n        arr.push(matches);\n    }\n    return arr;\n};\nvar isHTMLForm = kindOfTest('HTMLFormElement');\nvar toCamelCase = function toCamelCase(str) {\n    return str.toLowerCase().replace(/[_-\\s]([a-z\\d])(\\w*)/g, function replacer(m, p1, p2) {\n        return p1.toUpperCase() + p2;\n    });\n};\nvar hasOwnProperty = function (_ref4) {\n    var hasOwnProperty = _ref4.hasOwnProperty;\n    return function (obj, prop) {\n        return hasOwnProperty.call(obj, prop);\n    };\n}(Object.prototype);\nvar isRegExp = kindOfTest('RegExp');\nvar reduceDescriptors = function reduceDescriptors(obj, reducer) {\n    var descriptors = Object.getOwnPropertyDescriptors(obj);\n    var reducedDescriptors = {};\n    forEach(descriptors, function (descriptor, name) {\n        if (reducer(descriptor, name, obj) !== false) {\n            reducedDescriptors[name] = descriptor;\n        }\n    });\n    Object.defineProperties(obj, reducedDescriptors);\n};\nvar freezeMethods = function freezeMethods(obj) {\n    reduceDescriptors(obj, function (descriptor, name) {\n        if (isFunction(obj) && [\n                'arguments',\n                'caller',\n                'callee'\n            ].indexOf(name) !== -1) {\n            return false;\n        }\n        var value = obj[name];\n        if (!isFunction(value))\n            return;\n        descriptor.enumerable = false;\n        if ('writable' in descriptor) {\n            descriptor.writable = false;\n            return;\n        }\n        if (!descriptor.set) {\n            descriptor.set = function () {\n                throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n            };\n        }\n    });\n};\nvar toObjectSet = function toObjectSet(arrayOrString, delimiter) {\n    var obj = {};\n    var define = function define(arr) {\n        arr.forEach(function (value) {\n            obj[value] = true;\n        });\n    };\n    isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n    return obj;\n};\nvar noop = function noop() {\n};\nvar toFiniteNumber = function toFiniteNumber(value, defaultValue) {\n    value = +value;\n    return Number.isFinite(value) ? value : defaultValue;\n};\nvar toJSONObject = function toJSONObject(obj) {\n    var stack = new Array(10);\n    var visit = function visit(source, i) {\n        if (isObject(source)) {\n            if (stack.indexOf(source) >= 0) {\n                return;\n            }\n            if (!('toJSON' in source)) {\n                stack[i] = source;\n                var target = isArray(source) ? [] : {};\n                forEach(source, function (value, key) {\n                    var reducedValue = visit(value, i + 1);\n                    !isUndefined(reducedValue) && (target[key] = reducedValue);\n                });\n                stack[i] = undefined;\n                return target;\n            }\n        }\n        return source;\n    };\n    return visit(obj, 0);\n};\nexport default {\n    isArray: isArray,\n    isArrayBuffer: isArrayBuffer,\n    isBuffer: isBuffer,\n    isFormData: isFormData,\n    isArrayBufferView: isArrayBufferView,\n    isString: isString,\n    isNumber: isNumber,\n    isBoolean: isBoolean,\n    isObject: isObject,\n    isPlainObject: isPlainObject,\n    isUndefined: isUndefined,\n    isDate: isDate,\n    isFile: isFile,\n    isBlob: isBlob,\n    isRegExp: isRegExp,\n    isFunction: isFunction,\n    isStream: isStream,\n    isURLSearchParams: isURLSearchParams,\n    isTypedArray: isTypedArray,\n    isFileList: isFileList,\n    forEach: forEach,\n    merge: merge,\n    extend: extend,\n    trim: trim,\n    stripBOM: stripBOM,\n    inherits: inherits,\n    toFlatObject: toFlatObject,\n    kindOf: kindOf,\n    kindOfTest: kindOfTest,\n    endsWith: endsWith,\n    toArray: toArray,\n    forEachEntry: forEachEntry,\n    matchAll: matchAll,\n    isHTMLForm: isHTMLForm,\n    hasOwnProperty: hasOwnProperty,\n    hasOwnProp: hasOwnProperty,\n    reduceDescriptors: reduceDescriptors,\n    freezeMethods: freezeMethods,\n    toObjectSet: toObjectSet,\n    toCamelCase: toCamelCase,\n    noop: noop,\n    toFiniteNumber: toFiniteNumber,\n    findKey: findKey,\n    global: _global,\n    isContextDefined: isContextDefined,\n    toJSONObject: toJSONObject\n};","'use strict';\nimport utils from '../utils.js';\nfunction AxiosError(message, code, config, request, response) {\n    Error.call(this);\n    if (Error.captureStackTrace) {\n        Error.captureStackTrace(this, this.constructor);\n    } else {\n        this.stack = new Error().stack;\n    }\n    this.message = message;\n    this.name = 'AxiosError';\n    code && (this.code = code);\n    config && (this.config = config);\n    request && (this.request = request);\n    response && (this.response = response);\n}\nutils.inherits(AxiosError, Error, {\n    toJSON: function toJSON() {\n        return {\n            message: this.message,\n            name: this.name,\n            description: this.description,\n            number: this.number,\n            fileName: this.fileName,\n            lineNumber: this.lineNumber,\n            columnNumber: this.columnNumber,\n            stack: this.stack,\n            config: utils.toJSONObject(this.config),\n            code: this.code,\n            status: this.response && this.response.status ? this.response.status : null\n        };\n    }\n});\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n[\n    'ERR_BAD_OPTION_VALUE',\n    'ERR_BAD_OPTION',\n    'ECONNABORTED',\n    'ETIMEDOUT',\n    'ERR_NETWORK',\n    'ERR_FR_TOO_MANY_REDIRECTS',\n    'ERR_DEPRECATED',\n    'ERR_BAD_RESPONSE',\n    'ERR_BAD_REQUEST',\n    'ERR_CANCELED',\n    'ERR_NOT_SUPPORT',\n    'ERR_INVALID_URL'\n].forEach(function (code) {\n    descriptors[code] = { value: code };\n});\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', { value: true });\nAxiosError.from = function (error, code, config, request, response, customProps) {\n    var axiosError = Object.create(prototype);\n    utils.toFlatObject(error, axiosError, function filter(obj) {\n        return obj !== Error.prototype;\n    }, function (prop) {\n        return prop !== 'isAxiosError';\n    });\n    AxiosError.call(axiosError, error.message, code, config, request, response);\n    axiosError.cause = error;\n    axiosError.name = error.name;\n    customProps && Object.assign(axiosError, customProps);\n    return axiosError;\n};\nexport default AxiosError;","import FormData from 'form-data';\nexport default FormData;","'use strict';\nfunction _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport envFormData from '../env/classes/FormData.js';\nfunction isVisitable(thing) {\n    return utils.isPlainObject(thing) || utils.isArray(thing);\n}\nfunction removeBrackets(key) {\n    return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\nfunction renderKey(path, key, dots) {\n    if (!path)\n        return key;\n    return path.concat(key).map(function each(token, i) {\n        token = removeBrackets(token);\n        return !dots && i ? '[' + token + ']' : token;\n    }).join(dots ? '.' : '');\n}\nfunction isFlatArray(arr) {\n    return utils.isArray(arr) && !arr.some(isVisitable);\n}\nvar predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n    return /^is[A-Z]/.test(prop);\n});\nfunction isSpecCompliant(thing) {\n    return thing && utils.isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator];\n}\nfunction toFormData(obj, formData, options) {\n    if (!utils.isObject(obj)) {\n        throw new TypeError('target must be an object');\n    }\n    formData = formData || new (envFormData || FormData)();\n    options = utils.toFlatObject(options, {\n        metaTokens: true,\n        dots: false,\n        indexes: false\n    }, false, function defined(option, source) {\n        return !utils.isUndefined(source[option]);\n    });\n    var metaTokens = options.metaTokens;\n    var visitor = options.visitor || defaultVisitor;\n    var dots = options.dots;\n    var indexes = options.indexes;\n    var _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n    var useBlob = _Blob && isSpecCompliant(formData);\n    if (!utils.isFunction(visitor)) {\n        throw new TypeError('visitor must be a function');\n    }\n    function convertValue(value) {\n        if (value === null)\n            return '';\n        if (utils.isDate(value)) {\n            return value.toISOString();\n        }\n        if (!useBlob && utils.isBlob(value)) {\n            throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n        }\n        if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n            return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n        }\n        return value;\n    }\n    function defaultVisitor(value, key, path) {\n        var arr = value;\n        if (value && !path && _typeof(value) === 'object') {\n            if (utils.endsWith(key, '{}')) {\n                key = metaTokens ? key : key.slice(0, -2);\n                value = JSON.stringify(value);\n            } else if (utils.isArray(value) && isFlatArray(value) || utils.isFileList(value) || utils.endsWith(key, '[]') && (arr = utils.toArray(value))) {\n                key = removeBrackets(key);\n                arr.forEach(function each(el, index) {\n                    !(utils.isUndefined(el) || el === null) && formData.append(indexes === true ? renderKey([key], index, dots) : indexes === null ? key : key + '[]', convertValue(el));\n                });\n                return false;\n            }\n        }\n        if (isVisitable(value)) {\n            return true;\n        }\n        formData.append(renderKey(path, key, dots), convertValue(value));\n        return false;\n    }\n    var stack = [];\n    var exposedHelpers = Object.assign(predicates, {\n        defaultVisitor: defaultVisitor,\n        convertValue: convertValue,\n        isVisitable: isVisitable\n    });\n    function build(value, path) {\n        if (utils.isUndefined(value))\n            return;\n        if (stack.indexOf(value) !== -1) {\n            throw Error('Circular reference detected in ' + path.join('.'));\n        }\n        stack.push(value);\n        utils.forEach(value, function each(el, key) {\n            var result = !(utils.isUndefined(el) || el === null) && visitor.call(formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers);\n            if (result === true) {\n                build(el, path ? path.concat(key) : [key]);\n            }\n        });\n        stack.pop();\n    }\n    if (!utils.isObject(obj)) {\n        throw new TypeError('data must be an object');\n    }\n    build(obj);\n    return formData;\n}\nexport default toFormData;","'use strict';\nimport toFormData from './toFormData.js';\nfunction encode(str) {\n    var charMap = {\n        '!': '%21',\n        '\\'': '%27',\n        '(': '%28',\n        ')': '%29',\n        '~': '%7E',\n        '%20': '+',\n        '%00': '\\0'\n    };\n    return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n        return charMap[match];\n    });\n}\nfunction AxiosURLSearchParams(params, options) {\n    this._pairs = [];\n    params && toFormData(params, this, options);\n}\nvar prototype = AxiosURLSearchParams.prototype;\nprototype.append = function append(name, value) {\n    this._pairs.push([\n        name,\n        value\n    ]);\n};\nprototype.toString = function toString(encoder) {\n    var _encode = encoder ? function (value) {\n        return encoder.call(this, value, encode);\n    } : encode;\n    return this._pairs.map(function each(pair) {\n        return _encode(pair[0]) + '=' + _encode(pair[1]);\n    }, '').join('&');\n};\nexport default AxiosURLSearchParams;","'use strict';\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\nfunction encode(val) {\n    return encodeURIComponent(val).replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n}\nexport default function buildURL(url, params, options) {\n    if (!params) {\n        return url;\n    }\n    var _encode = options && options.encode || encode;\n    var serializeFn = options && options.serialize;\n    var serializedParams;\n    if (serializeFn) {\n        serializedParams = serializeFn(params, options);\n    } else {\n        serializedParams = utils.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams(params, options).toString(_encode);\n    }\n    if (serializedParams) {\n        var hashmarkIndex = url.indexOf('#');\n        if (hashmarkIndex !== -1) {\n            url = url.slice(0, hashmarkIndex);\n        }\n        url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n    }\n    return url;\n}","'use strict';\nfunction _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nfunction _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if ('value' in descriptor)\n            descriptor.writable = true;\n        Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n    }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps)\n        _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps)\n        _defineProperties(Constructor, staticProps);\n    Object.defineProperty(Constructor, 'prototype', { writable: false });\n    return Constructor;\n}\nfunction _toPropertyKey(arg) {\n    var key = _toPrimitive(arg, 'string');\n    return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n    if (_typeof(input) !== 'object' || input === null)\n        return input;\n    var prim = input[Symbol.toPrimitive];\n    if (prim !== undefined) {\n        var res = prim.call(input, hint || 'default');\n        if (_typeof(res) !== 'object')\n            return res;\n        throw new TypeError('@@toPrimitive must return a primitive value.');\n    }\n    return (hint === 'string' ? String : Number)(input);\n}\nimport utils from './../utils.js';\nvar InterceptorManager = function () {\n    function InterceptorManager() {\n        _classCallCheck(this, InterceptorManager);\n        this.handlers = [];\n    }\n    _createClass(InterceptorManager, [\n        {\n            key: 'use',\n            value: function use(fulfilled, rejected, options) {\n                this.handlers.push({\n                    fulfilled: fulfilled,\n                    rejected: rejected,\n                    synchronous: options ? options.synchronous : false,\n                    runWhen: options ? options.runWhen : null\n                });\n                return this.handlers.length - 1;\n            }\n        },\n        {\n            key: 'eject',\n            value: function eject(id) {\n                if (this.handlers[id]) {\n                    this.handlers[id] = null;\n                }\n            }\n        },\n        {\n            key: 'clear',\n            value: function clear() {\n                if (this.handlers) {\n                    this.handlers = [];\n                }\n            }\n        },\n        {\n            key: 'forEach',\n            value: function forEach(fn) {\n                utils.forEach(this.handlers, function forEachHandler(h) {\n                    if (h !== null) {\n                        fn(h);\n                    }\n                });\n            }\n        }\n    ]);\n    return InterceptorManager;\n}();\nexport default InterceptorManager;","'use strict';\nexport default {\n    silentJSONParsing: true,\n    forcedJSONParsing: true,\n    clarifyTimeoutError: false\n};","'use strict';\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;","'use strict';\nexport default FormData;","import URLSearchParams from './classes/URLSearchParams.js';\nimport FormData from './classes/FormData.js';\nvar isStandardBrowserEnv = function () {\n    var product;\n    if (typeof navigator !== 'undefined' && ((product = navigator.product) === 'ReactNative' || product === 'NativeScript' || product === 'NS')) {\n        return false;\n    }\n    return typeof window !== 'undefined' && typeof document !== 'undefined';\n}();\nvar isStandardBrowserWebWorkerEnv = function () {\n    return typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope && typeof self.importScripts === 'function';\n}();\nexport default {\n    isBrowser: true,\n    classes: {\n        URLSearchParams: URLSearchParams,\n        FormData: FormData,\n        Blob: Blob\n    },\n    isStandardBrowserEnv: isStandardBrowserEnv,\n    isStandardBrowserWebWorkerEnv: isStandardBrowserWebWorkerEnv,\n    protocols: [\n        'http',\n        'https',\n        'file',\n        'blob',\n        'url',\n        'data'\n    ]\n};","'use strict';\nimport utils from '../utils.js';\nfunction parsePropPath(name) {\n    return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(function (match) {\n        return match[0] === '[]' ? '' : match[1] || match[0];\n    });\n}\nfunction arrayToObject(arr) {\n    var obj = {};\n    var keys = Object.keys(arr);\n    var i;\n    var len = keys.length;\n    var key;\n    for (i = 0; i < len; i++) {\n        key = keys[i];\n        obj[key] = arr[key];\n    }\n    return obj;\n}\nfunction formDataToJSON(formData) {\n    function buildPath(path, value, target, index) {\n        var name = path[index++];\n        var isNumericKey = Number.isFinite(+name);\n        var isLast = index >= path.length;\n        name = !name && utils.isArray(target) ? target.length : name;\n        if (isLast) {\n            if (utils.hasOwnProp(target, name)) {\n                target[name] = [\n                    target[name],\n                    value\n                ];\n            } else {\n                target[name] = value;\n            }\n            return !isNumericKey;\n        }\n        if (!target[name] || !utils.isObject(target[name])) {\n            target[name] = [];\n        }\n        var result = buildPath(path, value, target[name], index);\n        if (result && utils.isArray(target[name])) {\n            target[name] = arrayToObject(target[name]);\n        }\n        return !isNumericKey;\n    }\n    if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n        var obj = {};\n        utils.forEachEntry(formData, function (name, value) {\n            buildPath(parsePropPath(name), value, obj, 0);\n        });\n        return obj;\n    }\n    return null;\n}\nexport default formDataToJSON;","'use strict';\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\nvar DEFAULT_CONTENT_TYPE = { 'Content-Type': undefined };\nfunction stringifySafely(rawValue, parser, encoder) {\n    if (utils.isString(rawValue)) {\n        try {\n            (parser || JSON.parse)(rawValue);\n            return utils.trim(rawValue);\n        } catch (e) {\n            if (e.name !== 'SyntaxError') {\n                throw e;\n            }\n        }\n    }\n    return (encoder || JSON.stringify)(rawValue);\n}\nvar defaults = {\n    transitional: transitionalDefaults,\n    adapter: [\n        'xhr',\n        'http'\n    ],\n    transformRequest: [function transformRequest(data, headers) {\n            var contentType = headers.getContentType() || '';\n            var hasJSONContentType = contentType.indexOf('application/json') > -1;\n            var isObjectPayload = utils.isObject(data);\n            if (isObjectPayload && utils.isHTMLForm(data)) {\n                data = new FormData(data);\n            }\n            var isFormData = utils.isFormData(data);\n            if (isFormData) {\n                if (!hasJSONContentType) {\n                    return data;\n                }\n                return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n            }\n            if (utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {\n                return data;\n            }\n            if (utils.isArrayBufferView(data)) {\n                return data.buffer;\n            }\n            if (utils.isURLSearchParams(data)) {\n                headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n                return data.toString();\n            }\n            var isFileList;\n            if (isObjectPayload) {\n                if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n                    return toURLEncodedForm(data, this.formSerializer).toString();\n                }\n                if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n                    var _FormData = this.env && this.env.FormData;\n                    return toFormData(isFileList ? { 'files[]': data } : data, _FormData && new _FormData(), this.formSerializer);\n                }\n            }\n            if (isObjectPayload || hasJSONContentType) {\n                headers.setContentType('application/json', false);\n                return stringifySafely(data);\n            }\n            return data;\n        }],\n    transformResponse: [function transformResponse(data) {\n            var transitional = this.transitional || defaults.transitional;\n            var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n            var JSONRequested = this.responseType === 'json';\n            if (data && utils.isString(data) && (forcedJSONParsing && !this.responseType || JSONRequested)) {\n                var silentJSONParsing = transitional && transitional.silentJSONParsing;\n                var strictJSONParsing = !silentJSONParsing && JSONRequested;\n                try {\n                    return JSON.parse(data);\n                } catch (e) {\n                    if (strictJSONParsing) {\n                        if (e.name === 'SyntaxError') {\n                            throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n                        }\n                        throw e;\n                    }\n                }\n            }\n            return data;\n        }],\n    timeout: 0,\n    xsrfCookieName: 'XSRF-TOKEN',\n    xsrfHeaderName: 'X-XSRF-TOKEN',\n    maxContentLength: -1,\n    maxBodyLength: -1,\n    env: {\n        FormData: platform.classes.FormData,\n        Blob: platform.classes.Blob\n    },\n    validateStatus: function validateStatus(status) {\n        return status >= 200 && status < 300;\n    },\n    headers: { common: { 'Accept': 'application/json, text/plain, */*' } }\n};\nutils.forEach([\n    'delete',\n    'get',\n    'head'\n], function forEachMethodNoData(method) {\n    defaults.headers[method] = {};\n});\nutils.forEach([\n    'post',\n    'put',\n    'patch'\n], function forEachMethodWithData(method) {\n    defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\nexport default defaults;","'use strict';\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\nexport default function toURLEncodedForm(data, options) {\n    return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n        visitor: function visitor(value, key, path, helpers) {\n            if (platform.isNode && utils.isBuffer(value)) {\n                this.append(key, value.toString('base64'));\n                return false;\n            }\n            return helpers.defaultVisitor.apply(this, arguments);\n        }\n    }, options));\n}","'use strict';\nimport utils from './../utils.js';\nvar ignoreDuplicateOf = utils.toObjectSet([\n    'age',\n    'authorization',\n    'content-length',\n    'content-type',\n    'etag',\n    'expires',\n    'from',\n    'host',\n    'if-modified-since',\n    'if-unmodified-since',\n    'last-modified',\n    'location',\n    'max-forwards',\n    'proxy-authorization',\n    'referer',\n    'retry-after',\n    'user-agent'\n]);\nexport default function (rawHeaders) {\n    var parsed = {};\n    var key;\n    var val;\n    var i;\n    rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n        i = line.indexOf(':');\n        key = line.substring(0, i).trim().toLowerCase();\n        val = line.substring(i + 1).trim();\n        if (!key || parsed[key] && ignoreDuplicateOf[key]) {\n            return;\n        }\n        if (key === 'set-cookie') {\n            if (parsed[key]) {\n                parsed[key].push(val);\n            } else {\n                parsed[key] = [val];\n            }\n        } else {\n            parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n        }\n    });\n    return parsed;\n};","'use strict';\nfunction _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nfunction _slicedToArray(arr, i) {\n    return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\nfunction _nonIterableRest() {\n    throw new TypeError('Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n    if (!o)\n        return;\n    if (typeof o === 'string')\n        return _arrayLikeToArray(o, minLen);\n    var n = Object.prototype.toString.call(o).slice(8, -1);\n    if (n === 'Object' && o.constructor)\n        n = o.constructor.name;\n    if (n === 'Map' || n === 'Set')\n        return Array.from(o);\n    if (n === 'Arguments' || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n        return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n    if (len == null || len > arr.length)\n        len = arr.length;\n    for (var i = 0, arr2 = new Array(len); i < len; i++)\n        arr2[i] = arr[i];\n    return arr2;\n}\nfunction _iterableToArrayLimit(arr, i) {\n    var _i = null == arr ? null : 'undefined' != typeof Symbol && arr[Symbol.iterator] || arr['@@iterator'];\n    if (null != _i) {\n        var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1;\n        try {\n            if (_x = (_i = _i.call(arr)).next, 0 === i) {\n                if (Object(_i) !== _i)\n                    return;\n                _n = !1;\n            } else\n                for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n        } catch (err) {\n            _d = !0, _e = err;\n        } finally {\n            try {\n                if (!_n && null != _i['return'] && (_r = _i['return'](), Object(_r) !== _r))\n                    return;\n            } finally {\n                if (_d)\n                    throw _e;\n            }\n        }\n        return _arr;\n    }\n}\nfunction _arrayWithHoles(arr) {\n    if (Array.isArray(arr))\n        return arr;\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nfunction _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if ('value' in descriptor)\n            descriptor.writable = true;\n        Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n    }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps)\n        _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps)\n        _defineProperties(Constructor, staticProps);\n    Object.defineProperty(Constructor, 'prototype', { writable: false });\n    return Constructor;\n}\nfunction _toPropertyKey(arg) {\n    var key = _toPrimitive(arg, 'string');\n    return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n    if (_typeof(input) !== 'object' || input === null)\n        return input;\n    var prim = input[Symbol.toPrimitive];\n    if (prim !== undefined) {\n        var res = prim.call(input, hint || 'default');\n        if (_typeof(res) !== 'object')\n            return res;\n        throw new TypeError('@@toPrimitive must return a primitive value.');\n    }\n    return (hint === 'string' ? String : Number)(input);\n}\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\nvar $internals = Symbol('internals');\nfunction normalizeHeader(header) {\n    return header && String(header).trim().toLowerCase();\n}\nfunction normalizeValue(value) {\n    if (value === false || value == null) {\n        return value;\n    }\n    return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\nfunction parseTokens(str) {\n    var tokens = Object.create(null);\n    var tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n    var match;\n    while (match = tokensRE.exec(str)) {\n        tokens[match[1]] = match[2];\n    }\n    return tokens;\n}\nfunction isValidHeaderName(str) {\n    return /^[-_a-zA-Z]+$/.test(str.trim());\n}\nfunction matchHeaderValue(context, value, header, filter) {\n    if (utils.isFunction(filter)) {\n        return filter.call(this, value, header);\n    }\n    if (!utils.isString(value))\n        return;\n    if (utils.isString(filter)) {\n        return value.indexOf(filter) !== -1;\n    }\n    if (utils.isRegExp(filter)) {\n        return filter.test(value);\n    }\n}\nfunction formatHeader(header) {\n    return header.trim().toLowerCase().replace(/([a-z\\d])(\\w*)/g, function (w, _char, str) {\n        return _char.toUpperCase() + str;\n    });\n}\nfunction buildAccessors(obj, header) {\n    var accessorName = utils.toCamelCase(' ' + header);\n    [\n        'get',\n        'set',\n        'has'\n    ].forEach(function (methodName) {\n        Object.defineProperty(obj, methodName + accessorName, {\n            value: function value(arg1, arg2, arg3) {\n                return this[methodName].call(this, header, arg1, arg2, arg3);\n            },\n            configurable: true\n        });\n    });\n}\nvar AxiosHeaders = function (_Symbol$iterator, _Symbol$toStringTag) {\n    function AxiosHeaders(headers) {\n        _classCallCheck(this, AxiosHeaders);\n        headers && this.set(headers);\n    }\n    _createClass(AxiosHeaders, [\n        {\n            key: 'set',\n            value: function set(header, valueOrRewrite, rewrite) {\n                var self = this;\n                function setHeader(_value, _header, _rewrite) {\n                    var lHeader = normalizeHeader(_header);\n                    if (!lHeader) {\n                        throw new Error('header name must be a non-empty string');\n                    }\n                    var key = utils.findKey(self, lHeader);\n                    if (!key || self[key] === undefined || _rewrite === true || _rewrite === undefined && self[key] !== false) {\n                        self[key || _header] = normalizeValue(_value);\n                    }\n                }\n                var setHeaders = function setHeaders(headers, _rewrite) {\n                    return utils.forEach(headers, function (_value, _header) {\n                        return setHeader(_value, _header, _rewrite);\n                    });\n                };\n                if (utils.isPlainObject(header) || header instanceof this.constructor) {\n                    setHeaders(header, valueOrRewrite);\n                } else if (utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n                    setHeaders(parseHeaders(header), valueOrRewrite);\n                } else {\n                    header != null && setHeader(valueOrRewrite, header, rewrite);\n                }\n                return this;\n            }\n        },\n        {\n            key: 'get',\n            value: function get(header, parser) {\n                header = normalizeHeader(header);\n                if (header) {\n                    var key = utils.findKey(this, header);\n                    if (key) {\n                        var value = this[key];\n                        if (!parser) {\n                            return value;\n                        }\n                        if (parser === true) {\n                            return parseTokens(value);\n                        }\n                        if (utils.isFunction(parser)) {\n                            return parser.call(this, value, key);\n                        }\n                        if (utils.isRegExp(parser)) {\n                            return parser.exec(value);\n                        }\n                        throw new TypeError('parser must be boolean|regexp|function');\n                    }\n                }\n            }\n        },\n        {\n            key: 'has',\n            value: function has(header, matcher) {\n                header = normalizeHeader(header);\n                if (header) {\n                    var key = utils.findKey(this, header);\n                    return !!(key && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n                }\n                return false;\n            }\n        },\n        {\n            key: 'delete',\n            value: function _delete(header, matcher) {\n                var self = this;\n                var deleted = false;\n                function deleteHeader(_header) {\n                    _header = normalizeHeader(_header);\n                    if (_header) {\n                        var key = utils.findKey(self, _header);\n                        if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n                            delete self[key];\n                            deleted = true;\n                        }\n                    }\n                }\n                if (utils.isArray(header)) {\n                    header.forEach(deleteHeader);\n                } else {\n                    deleteHeader(header);\n                }\n                return deleted;\n            }\n        },\n        {\n            key: 'clear',\n            value: function clear() {\n                return Object.keys(this).forEach(this['delete'].bind(this));\n            }\n        },\n        {\n            key: 'normalize',\n            value: function normalize(format) {\n                var self = this;\n                var headers = {};\n                utils.forEach(this, function (value, header) {\n                    var key = utils.findKey(headers, header);\n                    if (key) {\n                        self[key] = normalizeValue(value);\n                        delete self[header];\n                        return;\n                    }\n                    var normalized = format ? formatHeader(header) : String(header).trim();\n                    if (normalized !== header) {\n                        delete self[header];\n                    }\n                    self[normalized] = normalizeValue(value);\n                    headers[normalized] = true;\n                });\n                return this;\n            }\n        },\n        {\n            key: 'concat',\n            value: function concat() {\n                var _this$constructor;\n                for (var _len = arguments.length, targets = new Array(_len), _key = 0; _key < _len; _key++) {\n                    targets[_key] = arguments[_key];\n                }\n                return (_this$constructor = this.constructor).concat.apply(_this$constructor, [this].concat(targets));\n            }\n        },\n        {\n            key: 'toJSON',\n            value: function toJSON(asStrings) {\n                var obj = Object.create(null);\n                utils.forEach(this, function (value, header) {\n                    value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n                });\n                return obj;\n            }\n        },\n        {\n            key: _Symbol$iterator,\n            value: function value() {\n                return Object.entries(this.toJSON())[Symbol.iterator]();\n            }\n        },\n        {\n            key: 'toString',\n            value: function toString() {\n                return Object.entries(this.toJSON()).map(function (_ref) {\n                    var _ref2 = _slicedToArray(_ref, 2), header = _ref2[0], value = _ref2[1];\n                    return header + ': ' + value;\n                }).join('\\n');\n            }\n        },\n        {\n            key: _Symbol$toStringTag,\n            get: function get() {\n                return 'AxiosHeaders';\n            }\n        }\n    ], [\n        {\n            key: 'from',\n            value: function from(thing) {\n                return thing instanceof this ? thing : new this(thing);\n            }\n        },\n        {\n            key: 'concat',\n            value: function concat(first) {\n                var computed = new this(first);\n                for (var _len2 = arguments.length, targets = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n                    targets[_key2 - 1] = arguments[_key2];\n                }\n                targets.forEach(function (target) {\n                    return computed.set(target);\n                });\n                return computed;\n            }\n        },\n        {\n            key: 'accessor',\n            value: function accessor(header) {\n                var internals = this[$internals] = this[$internals] = { accessors: {} };\n                var accessors = internals.accessors;\n                var prototype = this.prototype;\n                function defineAccessor(_header) {\n                    var lHeader = normalizeHeader(_header);\n                    if (!accessors[lHeader]) {\n                        buildAccessors(prototype, _header);\n                        accessors[lHeader] = true;\n                    }\n                }\n                utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n                return this;\n            }\n        }\n    ]);\n    return AxiosHeaders;\n}(Symbol.iterator, Symbol.toStringTag);\nAxiosHeaders.accessor([\n    'Content-Type',\n    'Content-Length',\n    'Accept',\n    'Accept-Encoding',\n    'User-Agent'\n]);\nutils.freezeMethods(AxiosHeaders.prototype);\nutils.freezeMethods(AxiosHeaders);\nexport default AxiosHeaders;","'use strict';\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nexport default function transformData(fns, response) {\n    var config = this || defaults;\n    var context = response || config;\n    var headers = AxiosHeaders.from(context.headers);\n    var data = context.data;\n    utils.forEach(fns, function transform(fn) {\n        data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n    });\n    headers.normalize();\n    return data;\n}","'use strict';\nexport default function isCancel(value) {\n    return !!(value && value.__CANCEL__);\n}","'use strict';\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\nfunction CanceledError(message, config, request) {\n    AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n    this.name = 'CanceledError';\n}\nutils.inherits(CanceledError, AxiosError, { __CANCEL__: true });\nexport default CanceledError;","'use strict';\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\nexport default platform.isStandardBrowserEnv ? function standardBrowserEnv() {\n    return {\n        write: function write(name, value, expires, path, domain, secure) {\n            var cookie = [];\n            cookie.push(name + '=' + encodeURIComponent(value));\n            if (utils.isNumber(expires)) {\n                cookie.push('expires=' + new Date(expires).toGMTString());\n            }\n            if (utils.isString(path)) {\n                cookie.push('path=' + path);\n            }\n            if (utils.isString(domain)) {\n                cookie.push('domain=' + domain);\n            }\n            if (secure === true) {\n                cookie.push('secure');\n            }\n            document.cookie = cookie.join('; ');\n        },\n        read: function read(name) {\n            var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n            return match ? decodeURIComponent(match[3]) : null;\n        },\n        remove: function remove(name) {\n            this.write(name, '', Date.now() - 86400000);\n        }\n    };\n}() : function nonStandardBrowserEnv() {\n    return {\n        write: function write() {\n        },\n        read: function read() {\n            return null;\n        },\n        remove: function remove() {\n        }\n    };\n}();","'use strict';\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\nexport default function buildFullPath(baseURL, requestedURL) {\n    if (baseURL && !isAbsoluteURL(requestedURL)) {\n        return combineURLs(baseURL, requestedURL);\n    }\n    return requestedURL;\n}","'use strict';\nexport default function isAbsoluteURL(url) {\n    return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}","'use strict';\nexport default function combineURLs(baseURL, relativeURL) {\n    return relativeURL ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '') : baseURL;\n}","'use strict';\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\nexport default platform.isStandardBrowserEnv ? function standardBrowserEnv() {\n    var msie = /(msie|trident)/i.test(navigator.userAgent);\n    var urlParsingNode = document.createElement('a');\n    var originURL;\n    function resolveURL(url) {\n        var href = url;\n        if (msie) {\n            urlParsingNode.setAttribute('href', href);\n            href = urlParsingNode.href;\n        }\n        urlParsingNode.setAttribute('href', href);\n        return {\n            href: urlParsingNode.href,\n            protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n            host: urlParsingNode.host,\n            search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n            hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n            hostname: urlParsingNode.hostname,\n            port: urlParsingNode.port,\n            pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname\n        };\n    }\n    originURL = resolveURL(window.location.href);\n    return function isURLSameOrigin(requestURL) {\n        var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;\n        return parsed.protocol === originURL.protocol && parsed.host === originURL.host;\n    };\n}() : function nonStandardBrowserEnv() {\n    return function isURLSameOrigin() {\n        return true;\n    };\n}();","'use strict';\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\nfunction progressEventReducer(listener, isDownloadStream) {\n    var bytesNotified = 0;\n    var _speedometer = speedometer(50, 250);\n    return function (e) {\n        var loaded = e.loaded;\n        var total = e.lengthComputable ? e.total : undefined;\n        var progressBytes = loaded - bytesNotified;\n        var rate = _speedometer(progressBytes);\n        var inRange = loaded <= total;\n        bytesNotified = loaded;\n        var data = {\n            loaded: loaded,\n            total: total,\n            progress: total ? loaded / total : undefined,\n            bytes: progressBytes,\n            rate: rate ? rate : undefined,\n            estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n            event: e\n        };\n        data[isDownloadStream ? 'download' : 'upload'] = true;\n        listener(data);\n    };\n}\nvar isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\nexport default isXHRAdapterSupported && function (config) {\n    return new Promise(function dispatchXhrRequest(resolve, reject) {\n        var requestData = config.data;\n        var requestHeaders = AxiosHeaders.from(config.headers).normalize();\n        var responseType = config.responseType;\n        var onCanceled;\n        function done() {\n            if (config.cancelToken) {\n                config.cancelToken.unsubscribe(onCanceled);\n            }\n            if (config.signal) {\n                config.signal.removeEventListener('abort', onCanceled);\n            }\n        }\n        if (utils.isFormData(requestData) && (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv)) {\n            requestHeaders.setContentType(false);\n        }\n        var request = new XMLHttpRequest();\n        if (config.auth) {\n            var username = config.auth.username || '';\n            var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n            requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n        }\n        var fullPath = buildFullPath(config.baseURL, config.url);\n        request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n        request.timeout = config.timeout;\n        function onloadend() {\n            if (!request) {\n                return;\n            }\n            var responseHeaders = AxiosHeaders.from('getAllResponseHeaders' in request && request.getAllResponseHeaders());\n            var responseData = !responseType || responseType === 'text' || responseType === 'json' ? request.responseText : request.response;\n            var response = {\n                data: responseData,\n                status: request.status,\n                statusText: request.statusText,\n                headers: responseHeaders,\n                config: config,\n                request: request\n            };\n            settle(function _resolve(value) {\n                resolve(value);\n                done();\n            }, function _reject(err) {\n                reject(err);\n                done();\n            }, response);\n            request = null;\n        }\n        if ('onloadend' in request) {\n            request.onloadend = onloadend;\n        } else {\n            request.onreadystatechange = function handleLoad() {\n                if (!request || request.readyState !== 4) {\n                    return;\n                }\n                if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n                    return;\n                }\n                setTimeout(onloadend);\n            };\n        }\n        request.onabort = function handleAbort() {\n            if (!request) {\n                return;\n            }\n            reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n            request = null;\n        };\n        request.onerror = function handleError() {\n            reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n            request = null;\n        };\n        request.ontimeout = function handleTimeout() {\n            var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n            var transitional = config.transitional || transitionalDefaults;\n            if (config.timeoutErrorMessage) {\n                timeoutErrorMessage = config.timeoutErrorMessage;\n            }\n            reject(new AxiosError(timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, config, request));\n            request = null;\n        };\n        if (platform.isStandardBrowserEnv) {\n            var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n            if (xsrfValue) {\n                requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n            }\n        }\n        requestData === undefined && requestHeaders.setContentType(null);\n        if ('setRequestHeader' in request) {\n            utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n                request.setRequestHeader(key, val);\n            });\n        }\n        if (!utils.isUndefined(config.withCredentials)) {\n            request.withCredentials = !!config.withCredentials;\n        }\n        if (responseType && responseType !== 'json') {\n            request.responseType = config.responseType;\n        }\n        if (typeof config.onDownloadProgress === 'function') {\n            request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n        }\n        if (typeof config.onUploadProgress === 'function' && request.upload) {\n            request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n        }\n        if (config.cancelToken || config.signal) {\n            onCanceled = function onCanceled(cancel) {\n                if (!request) {\n                    return;\n                }\n                reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n                request.abort();\n                request = null;\n            };\n            config.cancelToken && config.cancelToken.subscribe(onCanceled);\n            if (config.signal) {\n                config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n            }\n        }\n        var protocol = parseProtocol(fullPath);\n        if (protocol && platform.protocols.indexOf(protocol) === -1) {\n            reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n            return;\n        }\n        request.send(requestData || null);\n    });\n};","'use strict';\nfunction speedometer(samplesCount, min) {\n    samplesCount = samplesCount || 10;\n    var bytes = new Array(samplesCount);\n    var timestamps = new Array(samplesCount);\n    var head = 0;\n    var tail = 0;\n    var firstSampleTS;\n    min = min !== undefined ? min : 1000;\n    return function push(chunkLength) {\n        var now = Date.now();\n        var startedAt = timestamps[tail];\n        if (!firstSampleTS) {\n            firstSampleTS = now;\n        }\n        bytes[head] = chunkLength;\n        timestamps[head] = now;\n        var i = tail;\n        var bytesCount = 0;\n        while (i !== head) {\n            bytesCount += bytes[i++];\n            i = i % samplesCount;\n        }\n        head = (head + 1) % samplesCount;\n        if (head === tail) {\n            tail = (tail + 1) % samplesCount;\n        }\n        if (now - firstSampleTS < min) {\n            return;\n        }\n        var passed = startedAt && now - startedAt;\n        return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n    };\n}\nexport default speedometer;","'use strict';\nimport AxiosError from './AxiosError.js';\nexport default function settle(resolve, reject, response) {\n    var validateStatus = response.config.validateStatus;\n    if (!response.status || !validateStatus || validateStatus(response.status)) {\n        resolve(response);\n    } else {\n        reject(new AxiosError('Request failed with status code ' + response.status, [\n            AxiosError.ERR_BAD_REQUEST,\n            AxiosError.ERR_BAD_RESPONSE\n        ][Math.floor(response.status / 100) - 4], response.config, response.request, response));\n    }\n}","'use strict';\nexport default function parseProtocol(url) {\n    var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n    return match && match[1] || '';\n}","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from '../core/AxiosError.js';\nvar knownAdapters = {\n    http: httpAdapter,\n    xhr: xhrAdapter\n};\nutils.forEach(knownAdapters, function (fn, value) {\n    if (fn) {\n        try {\n            Object.defineProperty(fn, 'name', { value: value });\n        } catch (e) {\n        }\n        Object.defineProperty(fn, 'adapterName', { value: value });\n    }\n});\nexport default {\n    getAdapter: function getAdapter(adapters) {\n        adapters = utils.isArray(adapters) ? adapters : [adapters];\n        var _adapters = adapters, length = _adapters.length;\n        var nameOrAdapter;\n        var adapter;\n        for (var i = 0; i < length; i++) {\n            nameOrAdapter = adapters[i];\n            if (adapter = utils.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter) {\n                break;\n            }\n        }\n        if (!adapter) {\n            if (adapter === false) {\n                throw new AxiosError('Adapter '.concat(nameOrAdapter, ' is not supported by the environment'), 'ERR_NOT_SUPPORT');\n            }\n            throw new Error(utils.hasOwnProp(knownAdapters, nameOrAdapter) ? 'Adapter \\''.concat(nameOrAdapter, '\\' is not available in the build') : 'Unknown adapter \\''.concat(nameOrAdapter, '\\''));\n        }\n        if (!utils.isFunction(adapter)) {\n            throw new TypeError('adapter is not a function');\n        }\n        return adapter;\n    },\n    adapters: knownAdapters\n};","export default null;","'use strict';\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from '../adapters/adapters.js';\nfunction throwIfCancellationRequested(config) {\n    if (config.cancelToken) {\n        config.cancelToken.throwIfRequested();\n    }\n    if (config.signal && config.signal.aborted) {\n        throw new CanceledError(null, config);\n    }\n}\nexport default function dispatchRequest(config) {\n    throwIfCancellationRequested(config);\n    config.headers = AxiosHeaders.from(config.headers);\n    config.data = transformData.call(config, config.transformRequest);\n    if ([\n            'post',\n            'put',\n            'patch'\n        ].indexOf(config.method) !== -1) {\n        config.headers.setContentType('application/x-www-form-urlencoded', false);\n    }\n    var adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n    return adapter(config).then(function onAdapterResolution(response) {\n        throwIfCancellationRequested(config);\n        response.data = transformData.call(config, config.transformResponse, response);\n        response.headers = AxiosHeaders.from(response.headers);\n        return response;\n    }, function onAdapterRejection(reason) {\n        if (!isCancel(reason)) {\n            throwIfCancellationRequested(config);\n            if (reason && reason.response) {\n                reason.response.data = transformData.call(config, config.transformResponse, reason.response);\n                reason.response.headers = AxiosHeaders.from(reason.response.headers);\n            }\n        }\n        return Promise.reject(reason);\n    });\n}","'use strict';\nimport utils from '../utils.js';\nimport AxiosHeaders from './AxiosHeaders.js';\nvar headersToObject = function headersToObject(thing) {\n    return thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n};\nexport default function mergeConfig(config1, config2) {\n    config2 = config2 || {};\n    var config = {};\n    function getMergedValue(target, source, caseless) {\n        if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n            return utils.merge.call({ caseless: caseless }, target, source);\n        } else if (utils.isPlainObject(source)) {\n            return utils.merge({}, source);\n        } else if (utils.isArray(source)) {\n            return source.slice();\n        }\n        return source;\n    }\n    function mergeDeepProperties(a, b, caseless) {\n        if (!utils.isUndefined(b)) {\n            return getMergedValue(a, b, caseless);\n        } else if (!utils.isUndefined(a)) {\n            return getMergedValue(undefined, a, caseless);\n        }\n    }\n    function valueFromConfig2(a, b) {\n        if (!utils.isUndefined(b)) {\n            return getMergedValue(undefined, b);\n        }\n    }\n    function defaultToConfig2(a, b) {\n        if (!utils.isUndefined(b)) {\n            return getMergedValue(undefined, b);\n        } else if (!utils.isUndefined(a)) {\n            return getMergedValue(undefined, a);\n        }\n    }\n    function mergeDirectKeys(a, b, prop) {\n        if (prop in config2) {\n            return getMergedValue(a, b);\n        } else if (prop in config1) {\n            return getMergedValue(undefined, a);\n        }\n    }\n    var mergeMap = {\n        url: valueFromConfig2,\n        method: valueFromConfig2,\n        data: valueFromConfig2,\n        baseURL: defaultToConfig2,\n        transformRequest: defaultToConfig2,\n        transformResponse: defaultToConfig2,\n        paramsSerializer: defaultToConfig2,\n        timeout: defaultToConfig2,\n        timeoutMessage: defaultToConfig2,\n        withCredentials: defaultToConfig2,\n        adapter: defaultToConfig2,\n        responseType: defaultToConfig2,\n        xsrfCookieName: defaultToConfig2,\n        xsrfHeaderName: defaultToConfig2,\n        onUploadProgress: defaultToConfig2,\n        onDownloadProgress: defaultToConfig2,\n        decompress: defaultToConfig2,\n        maxContentLength: defaultToConfig2,\n        maxBodyLength: defaultToConfig2,\n        beforeRedirect: defaultToConfig2,\n        transport: defaultToConfig2,\n        httpAgent: defaultToConfig2,\n        httpsAgent: defaultToConfig2,\n        cancelToken: defaultToConfig2,\n        socketPath: defaultToConfig2,\n        responseEncoding: defaultToConfig2,\n        validateStatus: mergeDirectKeys,\n        headers: function headers(a, b) {\n            return mergeDeepProperties(headersToObject(a), headersToObject(b), true);\n        }\n    };\n    utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n        var merge = mergeMap[prop] || mergeDeepProperties;\n        var configValue = merge(config1[prop], config2[prop], prop);\n        utils.isUndefined(configValue) && merge !== mergeDirectKeys || (config[prop] = configValue);\n    });\n    return config;\n}","'use strict';\nfunction _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nimport { VERSION } from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\nvar validators = {};\n[\n    'object',\n    'boolean',\n    'number',\n    'function',\n    'string',\n    'symbol'\n].forEach(function (type, i) {\n    validators[type] = function validator(thing) {\n        return _typeof(thing) === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n    };\n});\nvar deprecatedWarnings = {};\nvalidators.transitional = function transitional(validator, version, message) {\n    function formatMessage(opt, desc) {\n        return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n    }\n    return function (value, opt, opts) {\n        if (validator === false) {\n            throw new AxiosError(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), AxiosError.ERR_DEPRECATED);\n        }\n        if (version && !deprecatedWarnings[opt]) {\n            deprecatedWarnings[opt] = true;\n            console.warn(formatMessage(opt, ' has been deprecated since v' + version + ' and will be removed in the near future'));\n        }\n        return validator ? validator(value, opt, opts) : true;\n    };\n};\nfunction assertOptions(options, schema, allowUnknown) {\n    if (_typeof(options) !== 'object') {\n        throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n    }\n    var keys = Object.keys(options);\n    var i = keys.length;\n    while (i-- > 0) {\n        var opt = keys[i];\n        var validator = schema[opt];\n        if (validator) {\n            var value = options[opt];\n            var result = value === undefined || validator(value, opt, options);\n            if (result !== true) {\n                throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n            }\n            continue;\n        }\n        if (allowUnknown !== true) {\n            throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n        }\n    }\n}\nexport default {\n    assertOptions: assertOptions,\n    validators: validators\n};","'use strict';\nfunction _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nfunction _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if ('value' in descriptor)\n            descriptor.writable = true;\n        Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n    }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps)\n        _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps)\n        _defineProperties(Constructor, staticProps);\n    Object.defineProperty(Constructor, 'prototype', { writable: false });\n    return Constructor;\n}\nfunction _toPropertyKey(arg) {\n    var key = _toPrimitive(arg, 'string');\n    return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n    if (_typeof(input) !== 'object' || input === null)\n        return input;\n    var prim = input[Symbol.toPrimitive];\n    if (prim !== undefined) {\n        var res = prim.call(input, hint || 'default');\n        if (_typeof(res) !== 'object')\n            return res;\n        throw new TypeError('@@toPrimitive must return a primitive value.');\n    }\n    return (hint === 'string' ? String : Number)(input);\n}\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\nvar validators = validator.validators;\nvar Axios = function () {\n    function Axios(instanceConfig) {\n        _classCallCheck(this, Axios);\n        this.defaults = instanceConfig;\n        this.interceptors = {\n            request: new InterceptorManager(),\n            response: new InterceptorManager()\n        };\n    }\n    _createClass(Axios, [\n        {\n            key: 'request',\n            value: function request(configOrUrl, config) {\n                if (typeof configOrUrl === 'string') {\n                    config = config || {};\n                    config.url = configOrUrl;\n                } else {\n                    config = configOrUrl || {};\n                }\n                config = mergeConfig(this.defaults, config);\n                var _config = config, transitional = _config.transitional, paramsSerializer = _config.paramsSerializer, headers = _config.headers;\n                if (transitional !== undefined) {\n                    validator.assertOptions(transitional, {\n                        silentJSONParsing: validators.transitional(validators['boolean']),\n                        forcedJSONParsing: validators.transitional(validators['boolean']),\n                        clarifyTimeoutError: validators.transitional(validators['boolean'])\n                    }, false);\n                }\n                if (paramsSerializer !== undefined) {\n                    validator.assertOptions(paramsSerializer, {\n                        encode: validators['function'],\n                        serialize: validators['function']\n                    }, true);\n                }\n                config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n                var contextHeaders;\n                contextHeaders = headers && utils.merge(headers.common, headers[config.method]);\n                contextHeaders && utils.forEach([\n                    'delete',\n                    'get',\n                    'head',\n                    'post',\n                    'put',\n                    'patch',\n                    'common'\n                ], function (method) {\n                    delete headers[method];\n                });\n                config.headers = AxiosHeaders.concat(contextHeaders, headers);\n                var requestInterceptorChain = [];\n                var synchronousRequestInterceptors = true;\n                this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n                    if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n                        return;\n                    }\n                    synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n                    requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n                });\n                var responseInterceptorChain = [];\n                this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n                    responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n                });\n                var promise;\n                var i = 0;\n                var len;\n                if (!synchronousRequestInterceptors) {\n                    var chain = [\n                        dispatchRequest.bind(this),\n                        undefined\n                    ];\n                    chain.unshift.apply(chain, requestInterceptorChain);\n                    chain.push.apply(chain, responseInterceptorChain);\n                    len = chain.length;\n                    promise = Promise.resolve(config);\n                    while (i < len) {\n                        promise = promise.then(chain[i++], chain[i++]);\n                    }\n                    return promise;\n                }\n                len = requestInterceptorChain.length;\n                var newConfig = config;\n                i = 0;\n                while (i < len) {\n                    var onFulfilled = requestInterceptorChain[i++];\n                    var onRejected = requestInterceptorChain[i++];\n                    try {\n                        newConfig = onFulfilled(newConfig);\n                    } catch (error) {\n                        onRejected.call(this, error);\n                        break;\n                    }\n                }\n                try {\n                    promise = dispatchRequest.call(this, newConfig);\n                } catch (error) {\n                    return Promise.reject(error);\n                }\n                i = 0;\n                len = responseInterceptorChain.length;\n                while (i < len) {\n                    promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n                }\n                return promise;\n            }\n        },\n        {\n            key: 'getUri',\n            value: function getUri(config) {\n                config = mergeConfig(this.defaults, config);\n                var fullPath = buildFullPath(config.baseURL, config.url);\n                return buildURL(fullPath, config.params, config.paramsSerializer);\n            }\n        }\n    ]);\n    return Axios;\n}();\nutils.forEach([\n    'delete',\n    'get',\n    'head',\n    'options'\n], function forEachMethodNoData(method) {\n    Axios.prototype[method] = function (url, config) {\n        return this.request(mergeConfig(config || {}, {\n            method: method,\n            url: url,\n            data: (config || {}).data\n        }));\n    };\n});\nutils.forEach([\n    'post',\n    'put',\n    'patch'\n], function forEachMethodWithData(method) {\n    function generateHTTPMethod(isForm) {\n        return function httpMethod(url, data, config) {\n            return this.request(mergeConfig(config || {}, {\n                method: method,\n                headers: isForm ? { 'Content-Type': 'multipart/form-data' } : {},\n                url: url,\n                data: data\n            }));\n        };\n    }\n    Axios.prototype[method] = generateHTTPMethod();\n    Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\nexport default Axios;","'use strict';\nfunction _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nfunction _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if ('value' in descriptor)\n            descriptor.writable = true;\n        Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n    }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps)\n        _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps)\n        _defineProperties(Constructor, staticProps);\n    Object.defineProperty(Constructor, 'prototype', { writable: false });\n    return Constructor;\n}\nfunction _toPropertyKey(arg) {\n    var key = _toPrimitive(arg, 'string');\n    return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n    if (_typeof(input) !== 'object' || input === null)\n        return input;\n    var prim = input[Symbol.toPrimitive];\n    if (prim !== undefined) {\n        var res = prim.call(input, hint || 'default');\n        if (_typeof(res) !== 'object')\n            return res;\n        throw new TypeError('@@toPrimitive must return a primitive value.');\n    }\n    return (hint === 'string' ? String : Number)(input);\n}\nimport CanceledError from './CanceledError.js';\nvar CancelToken = function () {\n    function CancelToken(executor) {\n        _classCallCheck(this, CancelToken);\n        if (typeof executor !== 'function') {\n            throw new TypeError('executor must be a function.');\n        }\n        var resolvePromise;\n        this.promise = new Promise(function promiseExecutor(resolve) {\n            resolvePromise = resolve;\n        });\n        var token = this;\n        this.promise.then(function (cancel) {\n            if (!token._listeners)\n                return;\n            var i = token._listeners.length;\n            while (i-- > 0) {\n                token._listeners[i](cancel);\n            }\n            token._listeners = null;\n        });\n        this.promise.then = function (onfulfilled) {\n            var _resolve;\n            var promise = new Promise(function (resolve) {\n                token.subscribe(resolve);\n                _resolve = resolve;\n            }).then(onfulfilled);\n            promise.cancel = function reject() {\n                token.unsubscribe(_resolve);\n            };\n            return promise;\n        };\n        executor(function cancel(message, config, request) {\n            if (token.reason) {\n                return;\n            }\n            token.reason = new CanceledError(message, config, request);\n            resolvePromise(token.reason);\n        });\n    }\n    _createClass(CancelToken, [\n        {\n            key: 'throwIfRequested',\n            value: function throwIfRequested() {\n                if (this.reason) {\n                    throw this.reason;\n                }\n            }\n        },\n        {\n            key: 'subscribe',\n            value: function subscribe(listener) {\n                if (this.reason) {\n                    listener(this.reason);\n                    return;\n                }\n                if (this._listeners) {\n                    this._listeners.push(listener);\n                } else {\n                    this._listeners = [listener];\n                }\n            }\n        },\n        {\n            key: 'unsubscribe',\n            value: function unsubscribe(listener) {\n                if (!this._listeners) {\n                    return;\n                }\n                var index = this._listeners.indexOf(listener);\n                if (index !== -1) {\n                    this._listeners.splice(index, 1);\n                }\n            }\n        }\n    ], [{\n            key: 'source',\n            value: function source() {\n                var cancel;\n                var token = new CancelToken(function executor(c) {\n                    cancel = c;\n                });\n                return {\n                    token: token,\n                    cancel: cancel\n                };\n            }\n        }]);\n    return CancelToken;\n}();\nexport default CancelToken;","function _slicedToArray(arr, i) {\n    return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\nfunction _nonIterableRest() {\n    throw new TypeError('Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n    if (!o)\n        return;\n    if (typeof o === 'string')\n        return _arrayLikeToArray(o, minLen);\n    var n = Object.prototype.toString.call(o).slice(8, -1);\n    if (n === 'Object' && o.constructor)\n        n = o.constructor.name;\n    if (n === 'Map' || n === 'Set')\n        return Array.from(o);\n    if (n === 'Arguments' || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n        return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n    if (len == null || len > arr.length)\n        len = arr.length;\n    for (var i = 0, arr2 = new Array(len); i < len; i++)\n        arr2[i] = arr[i];\n    return arr2;\n}\nfunction _iterableToArrayLimit(arr, i) {\n    var _i = null == arr ? null : 'undefined' != typeof Symbol && arr[Symbol.iterator] || arr['@@iterator'];\n    if (null != _i) {\n        var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1;\n        try {\n            if (_x = (_i = _i.call(arr)).next, 0 === i) {\n                if (Object(_i) !== _i)\n                    return;\n                _n = !1;\n            } else\n                for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n        } catch (err) {\n            _d = !0, _e = err;\n        } finally {\n            try {\n                if (!_n && null != _i['return'] && (_r = _i['return'](), Object(_r) !== _r))\n                    return;\n            } finally {\n                if (_d)\n                    throw _e;\n            }\n        }\n        return _arr;\n    }\n}\nfunction _arrayWithHoles(arr) {\n    if (Array.isArray(arr))\n        return arr;\n}\nvar HttpStatusCode = {\n    Continue: 100,\n    SwitchingProtocols: 101,\n    Processing: 102,\n    EarlyHints: 103,\n    Ok: 200,\n    Created: 201,\n    Accepted: 202,\n    NonAuthoritativeInformation: 203,\n    NoContent: 204,\n    ResetContent: 205,\n    PartialContent: 206,\n    MultiStatus: 207,\n    AlreadyReported: 208,\n    ImUsed: 226,\n    MultipleChoices: 300,\n    MovedPermanently: 301,\n    Found: 302,\n    SeeOther: 303,\n    NotModified: 304,\n    UseProxy: 305,\n    Unused: 306,\n    TemporaryRedirect: 307,\n    PermanentRedirect: 308,\n    BadRequest: 400,\n    Unauthorized: 401,\n    PaymentRequired: 402,\n    Forbidden: 403,\n    NotFound: 404,\n    MethodNotAllowed: 405,\n    NotAcceptable: 406,\n    ProxyAuthenticationRequired: 407,\n    RequestTimeout: 408,\n    Conflict: 409,\n    Gone: 410,\n    LengthRequired: 411,\n    PreconditionFailed: 412,\n    PayloadTooLarge: 413,\n    UriTooLong: 414,\n    UnsupportedMediaType: 415,\n    RangeNotSatisfiable: 416,\n    ExpectationFailed: 417,\n    ImATeapot: 418,\n    MisdirectedRequest: 421,\n    UnprocessableEntity: 422,\n    Locked: 423,\n    FailedDependency: 424,\n    TooEarly: 425,\n    UpgradeRequired: 426,\n    PreconditionRequired: 428,\n    TooManyRequests: 429,\n    RequestHeaderFieldsTooLarge: 431,\n    UnavailableForLegalReasons: 451,\n    InternalServerError: 500,\n    NotImplemented: 501,\n    BadGateway: 502,\n    ServiceUnavailable: 503,\n    GatewayTimeout: 504,\n    HttpVersionNotSupported: 505,\n    VariantAlsoNegotiates: 506,\n    InsufficientStorage: 507,\n    LoopDetected: 508,\n    NotExtended: 510,\n    NetworkAuthenticationRequired: 511\n};\nObject.entries(HttpStatusCode).forEach(function (_ref) {\n    var _ref2 = _slicedToArray(_ref, 2), key = _ref2[0], value = _ref2[1];\n    HttpStatusCode[value] = key;\n});\nexport default HttpStatusCode;","'use strict';\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport { VERSION } from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from './core/AxiosHeaders.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\nfunction createInstance(defaultConfig) {\n    var context = new Axios(defaultConfig);\n    var instance = bind(Axios.prototype.request, context);\n    utils.extend(instance, Axios.prototype, context, { allOwnKeys: true });\n    utils.extend(instance, context, null, { allOwnKeys: true });\n    instance.create = function create(instanceConfig) {\n        return createInstance(mergeConfig(defaultConfig, instanceConfig));\n    };\n    return instance;\n}\nvar axios = createInstance(defaults);\naxios.Axios = Axios;\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\naxios.AxiosError = AxiosError;\naxios.Cancel = axios.CanceledError;\naxios.all = function all(promises) {\n    return Promise.all(promises);\n};\naxios.spread = spread;\naxios.isAxiosError = isAxiosError;\naxios.mergeConfig = mergeConfig;\naxios.AxiosHeaders = AxiosHeaders;\naxios.formToJSON = function (thing) {\n    return formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n};\naxios.HttpStatusCode = HttpStatusCode;\naxios['default'] = axios;\nexport default axios;","export var VERSION = '1.2.3';","'use strict';\nexport default function spread(callback) {\n    return function wrap(arr) {\n        return callback.apply(null, arr);\n    };\n}","'use strict';\nimport utils from './../utils.js';\nexport default function isAxiosError(payload) {\n    return utils.isObject(payload) && payload.isAxiosError === true;\n}","import axios from 'axios';\nexport default {\n    send: function send(options) {\n        axios.post(options.url, options.data).then(function (response) {\n            var data = response.data;\n            if (!data || data.code !== 0) {\n                options.error && options.error(data && data.msg);\n                return;\n            }\n            options.success && options.success(data);\n        })['catch'](function (e) {\n            console.error(e);\n            options.error && options.error();\n        });\n    },\n    read: function read(options) {\n        axios.get(options.url).then(function (response) {\n            var data = response.data;\n            if (!data || data.code !== 0) {\n                options.error && options.error(data && data.msg);\n                return;\n            }\n            options.success && options.success(data.data.map(function (item) {\n                return {\n                    time: item[0],\n                    type: item[1],\n                    color: item[2],\n                    author: item[3],\n                    text: item[4]\n                };\n            }));\n        })['catch'](function (e) {\n            console.error(e);\n            options.error && options.error();\n        });\n    }\n};","function _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nimport defaultApiBackend from './api.js';\nexport default function (options) {\n    var defaultOption = {\n        container: options.element || document.getElementsByClassName('dplayer')[0],\n        live: false,\n        autoplay: false,\n        theme: '#b7daff',\n        loop: false,\n        lang: (navigator.language || navigator.browserLanguage).toLowerCase(),\n        screenshot: false,\n        airplay: true,\n        chromecast: false,\n        hotkey: true,\n        preload: 'metadata',\n        volume: 0.7,\n        playbackSpeed: [\n            0.5,\n            0.75,\n            1,\n            1.25,\n            1.5,\n            2\n        ],\n        apiBackend: defaultApiBackend,\n        video: {},\n        contextmenu: [],\n        mutex: true,\n        pluginOptions: {\n            hls: {},\n            flv: {},\n            dash: {},\n            webtorrent: {}\n        },\n        preventClickToggle: false\n    };\n    for (var defaultKey in defaultOption) {\n        if (defaultOption.hasOwnProperty(defaultKey) && !options.hasOwnProperty(defaultKey)) {\n            options[defaultKey] = defaultOption[defaultKey];\n        }\n    }\n    if (options.video) {\n        !options.video.type && (options.video.type = 'auto');\n    }\n    if (_typeof(options.danmaku) === 'object' && options.danmaku) {\n        !options.danmaku.user && (options.danmaku.user = 'DIYgod');\n    }\n    if (options.subtitle) {\n        !options.subtitle.type && (options.subtitle.type = 'webvtt');\n        !options.subtitle.fontSize && (options.subtitle.fontSize = '20px');\n        !options.subtitle.bottom && (options.subtitle.bottom = '40px');\n        !options.subtitle.color && (options.subtitle.color = '#fff');\n    }\n    if (options.video.quality) {\n        options.video.url = options.video.quality[options.video.defaultQuality].url;\n    }\n    if (options.lang) {\n        options.lang = options.lang.toLowerCase();\n    }\n    options.contextmenu = options.contextmenu.concat([\n        {\n            key: 'video-info',\n            click: function click(player) {\n                player.infoPanel.triggle();\n            }\n        },\n        {\n            key: 'about-author',\n            link: 'https://diygod.me'\n        },\n        {\n            text: 'DPlayer v'.concat(DPLAYER_VERSION),\n            link: 'https://github.com/MoePlayer/DPlayer'\n        }\n    ]);\n    return options;\n};","function i18n(lang) {\n    var _this = this;\n    this.lang = lang;\n    this.fallbackLang = this.lang.includes('-') ? this.lang.split('-')[0] : this.lang;\n    this.tran = function (key) {\n        key = key.toLowerCase();\n        if (tranTxt[_this.lang] && tranTxt[_this.lang][key]) {\n            return tranTxt[_this.lang][key];\n        } else if (tranTxt[_this.fallbackLang] && tranTxt[_this.fallbackLang][key]) {\n            return tranTxt[_this.fallbackLang][key];\n        } else if (standard[key]) {\n            return standard[key];\n        } else {\n            return key;\n        }\n    };\n}\nvar standard = {\n    'danmaku-loading': 'Danmaku is loading',\n    top: 'Top',\n    bottom: 'Bottom',\n    rolling: 'Rolling',\n    'input-danmaku-enter': 'Input danmaku, hit Enter',\n    'about-author': 'About author',\n    'dplayer-feedback': 'DPlayer feedback',\n    'about-dplayer': 'About DPlayer',\n    loop: 'Loop',\n    speed: 'Speed',\n    'opacity-danmaku': 'Opacity for danmaku',\n    normal: 'Normal',\n    'please-input-danmaku': 'Please input danmaku content!',\n    'set-danmaku-color': 'Set danmaku color',\n    'set-danmaku-type': 'Set danmaku type',\n    'show-danmaku': 'Show danmaku',\n    'video-failed': 'Video load failed',\n    'danmaku-failed': 'Danmaku load failed',\n    'danmaku-send-failed': 'Danmaku send failed',\n    'switching-quality': 'Switching to %q quality',\n    'switched-quality': 'Switched to %q quality',\n    ff: 'FF %s s',\n    rew: 'REW %s s',\n    'unlimited-danmaku': 'Unlimited danmaku',\n    'send-danmaku': 'Send danmaku',\n    setting: 'Setting',\n    fullscreen: 'Full screen',\n    'web-fullscreen': 'Web full screen',\n    send: 'Send',\n    screenshot: 'Screenshot',\n    airplay: 'AirPlay',\n    chromecast: 'ChromeCast',\n    subtitle: 'Subtitle',\n    off: 'Off',\n    'show-subs': 'Show subtitle',\n    'hide-subs': 'Hide subtitle',\n    volume: 'Volume',\n    live: 'Live',\n    'video-info': 'Video info'\n};\nvar tranTxt = {\n    en: standard,\n    'zh-cn': {\n        'danmaku-loading': '弹幕加载中',\n        top: '顶部',\n        bottom: '底部',\n        rolling: '滚动',\n        'input-danmaku-enter': '输入弹幕\\uFF0C回车发送',\n        'about-author': '关于作者',\n        'dplayer-feedback': '播放器意见反馈',\n        'about-dplayer': '关于 DPlayer 播放器',\n        loop: '洗脑循环',\n        speed: '速度',\n        'opacity-danmaku': '弹幕透明度',\n        normal: '正常',\n        'please-input-danmaku': '要输入弹幕内容啊喂\\uFF01',\n        'set-danmaku-color': '设置弹幕颜色',\n        'set-danmaku-type': '设置弹幕类型',\n        'show-danmaku': '显示弹幕',\n        'video-failed': '视频加载失败',\n        'danmaku-failed': '弹幕加载失败',\n        'danmaku-send-failed': '弹幕发送失败',\n        'switching-quality': '正在切换至 %q 画质',\n        'switched-quality': '已经切换至 %q 画质',\n        ff: '快进 %s 秒',\n        rew: '快退 %s 秒',\n        'unlimited-danmaku': '海量弹幕',\n        'send-danmaku': '发送弹幕',\n        setting: '设置',\n        fullscreen: '全屏',\n        'web-fullscreen': '页面全屏',\n        send: '发送',\n        screenshot: '截图',\n        airplay: '无线投屏',\n        chromecast: 'ChromeCast',\n        subtitle: '字幕',\n        off: '关闭',\n        'show-subs': '显示字幕',\n        'hide-subs': '隐藏字幕',\n        volume: '音量',\n        live: '直播',\n        'video-info': '视频统计信息'\n    },\n    'zh-tw': {\n        'danmaku-loading': '彈幕載入中',\n        top: '頂部',\n        bottom: '底部',\n        rolling: '滾動',\n        'input-danmaku-enter': '輸入彈幕\\uFF0CEnter 發送',\n        'about-author': '關於作者',\n        'dplayer-feedback': '播放器意見回饋',\n        'about-dplayer': '關於 DPlayer 播放器',\n        loop: '循環播放',\n        speed: '速度',\n        'opacity-danmaku': '彈幕透明度',\n        normal: '正常',\n        'please-input-danmaku': '請輸入彈幕內容啊\\uFF01',\n        'set-danmaku-color': '設定彈幕顏色',\n        'set-danmaku-type': '設定彈幕類型',\n        'show-danmaku': '顯示彈幕',\n        'video-failed': '影片載入失敗',\n        'danmaku-failed': '彈幕載入失敗',\n        'danmaku-send-failed': '彈幕發送失敗',\n        'switching-quality': '正在切換至 %q 畫質',\n        'switched-quality': '已經切換至 %q 畫質',\n        ff: '快進 %s 秒',\n        rew: '快退 %s 秒',\n        'unlimited-danmaku': '巨量彈幕',\n        'send-danmaku': '發送彈幕',\n        setting: '設定',\n        fullscreen: '全螢幕',\n        'web-fullscreen': '頁面全螢幕',\n        send: '發送',\n        screenshot: '截圖',\n        airplay: '無線投屏',\n        chromecast: 'ChromeCast',\n        subtitle: '字幕',\n        off: '關閉',\n        'show-subs': '顯示字幕',\n        'hide-subs': '隱藏字幕',\n        volume: '音量',\n        live: '直播',\n        'video-info': '影片統計訊息'\n    },\n    'ko-kr': {\n        'danmaku-loading': 'Danmaku를 불러오는 중입니다.',\n        top: 'Top',\n        bottom: 'Bottom',\n        rolling: 'Rolling',\n        'input-danmaku-enter': 'Danmaku를 입력하고 Enter를 누르세요.',\n        'about-author': '만든이',\n        'dplayer-feedback': '피드백 보내기',\n        'about-dplayer': 'DPlayer 정보',\n        loop: '반복',\n        speed: '배속',\n        'opacity-danmaku': 'Danmaku 불투명도',\n        normal: '표준',\n        'please-input-danmaku': 'Danmaku를 입력하세요!',\n        'set-danmaku-color': 'Danmaku 색상',\n        'set-danmaku-type': 'Danmaku 설정',\n        'show-danmaku': 'Danmaku 표시',\n        'video-failed': '비디오를 불러오지 못했습니다.',\n        'danmaku-failed': 'Danmaku를 불러오지 못했습니다.',\n        'danmaku-send-failed': 'Danmaku 전송에 실패했습니다.',\n        'Switching to': '',\n        'Switched to': '',\n        'switching-quality': '전환 %q 화질',\n        'switched-quality': '전환 됨 %q 화질',\n        ff: '앞으로 %s 초',\n        rew: '뒤로 %s 초',\n        'unlimited-danmaku': '끝없는 Danmaku',\n        'send-danmaku': 'Danmaku 보내기',\n        setting: '설정',\n        fullscreen: '전체 화면',\n        'web-fullscreen': '웹 내 전체화면',\n        send: '보내기',\n        screenshot: '화면 캡쳐',\n        airplay: '에어플레이',\n        chromecast: 'ChromeCast',\n        subtitle: '부제',\n        off: '끄다',\n        'show-subs': '자막 보이기',\n        'hide-subs': '자막 숨기기',\n        Volume: '볼륨',\n        live: '생방송',\n        'video-info': '비디오 정보'\n    },\n    de: {\n        'danmaku-loading': 'Danmaku lädt...',\n        top: 'Oben',\n        bottom: 'Unten',\n        rolling: 'Rollend',\n        'input-danmaku-enter': 'Drücke Enter nach dem Einfügen vom Danmaku',\n        'about-author': 'Über den Autor',\n        'dplayer-feedback': 'DPlayer Feedback',\n        'about-dplayer': 'Über DPlayer',\n        loop: 'Wiederholen',\n        speed: 'Geschwindigkeit',\n        'opacity-danmaku': 'Transparenz für Danmaku',\n        normal: 'Normal',\n        'please-input-danmaku': 'Bitte Danmaku Inhalt eingeben!',\n        'set-danmaku-color': 'Danmaku Farbe festlegen',\n        'set-danmaku-type': 'Danmaku Typ festlegen',\n        'show-danmaku': 'Zeige Danmaku',\n        'video-failed': 'Das Video konnte nicht geladen werden',\n        'danmaku-failed': 'Danmaku konnte nicht geladen werden',\n        'danmaku-send-failed': 'Das senden von Danmaku ist fehgeschlagen',\n        'switching-quality': 'Wechsle zur %q Qualität',\n        'switched-quality': 'Zur %q Qualität gewechselt',\n        ff: '%s s Vorwärts',\n        rew: '%s s Zurück',\n        'unlimited-danmaku': 'Unlimitiertes Danmaku',\n        'send-danmaku': 'Sende Danmaku',\n        setting: 'Einstellungen',\n        fullscreen: 'Vollbild',\n        'web-fullscreen': 'Browser Vollbild',\n        send: 'Senden',\n        screenshot: 'Screenshot',\n        airplay: 'AirPlay',\n        'show-subs': 'Zeige Untertitel',\n        chromecast: 'ChromeCast',\n        subtitle: 'Untertitel',\n        off: 'Schließung',\n        'hide-subs': 'Verstecke Untertitel',\n        volume: 'Lautstärke',\n        live: 'Live',\n        'video-info': 'Video Info'\n    }\n};\nexport {\n    i18n\n};","import play from '../assets/play.svg';\nimport pause from '../assets/pause.svg';\nimport volumeUp from '../assets/volume-up.svg';\nimport volumeDown from '../assets/volume-down.svg';\nimport volumeOff from '../assets/volume-off.svg';\nimport full from '../assets/full.svg';\nimport fullWeb from '../assets/full-web.svg';\nimport setting from '../assets/setting.svg';\nimport right from '../assets/right.svg';\nimport comment from '../assets/comment.svg';\nimport commentOff from '../assets/comment-off.svg';\nimport send from '../assets/send.svg';\nimport pallette from '../assets/pallette.svg';\nimport camera from '../assets/camera.svg';\nimport airplay from '../assets/airplay.svg';\nimport subtitle from '../assets/subtitle.svg';\nimport loading from '../assets/loading.svg';\nimport chromecast from '../assets/chromecast.svg';\nvar Icons = {\n    play: play,\n    pause: pause,\n    volumeUp: volumeUp,\n    volumeDown: volumeDown,\n    volumeOff: volumeOff,\n    full: full,\n    fullWeb: fullWeb,\n    setting: setting,\n    right: right,\n    comment: comment,\n    commentOff: commentOff,\n    send: send,\n    pallette: pallette,\n    camera: camera,\n    subtitle: subtitle,\n    loading: loading,\n    airplay: airplay,\n    chromecast: chromecast\n};\nexport default Icons;","function _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nfunction _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if ('value' in descriptor)\n            descriptor.writable = true;\n        Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n    }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps)\n        _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps)\n        _defineProperties(Constructor, staticProps);\n    Object.defineProperty(Constructor, 'prototype', { writable: false });\n    return Constructor;\n}\nfunction _toPropertyKey(arg) {\n    var key = _toPrimitive(arg, 'string');\n    return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n    if (_typeof(input) !== 'object' || input === null)\n        return input;\n    var prim = input[Symbol.toPrimitive];\n    if (prim !== undefined) {\n        var res = prim.call(input, hint || 'default');\n        if (_typeof(res) !== 'object')\n            return res;\n        throw new TypeError('@@toPrimitive must return a primitive value.');\n    }\n    return (hint === 'string' ? String : Number)(input);\n}\nimport Icons from './icons';\nimport tplPlayer from '../template/player.art';\nimport utils from './utils';\nvar Template = function () {\n    function Template(options) {\n        _classCallCheck(this, Template);\n        this.container = options.container;\n        this.options = options.options;\n        this.index = options.index;\n        this.tran = options.tran;\n        this.init();\n    }\n    _createClass(Template, [{\n            key: 'init',\n            value: function init() {\n                this.container.innerHTML = tplPlayer({\n                    options: this.options,\n                    index: this.index,\n                    tran: this.tran,\n                    icons: Icons,\n                    mobile: utils.isMobile,\n                    video: {\n                        current: true,\n                        pic: this.options.video.pic,\n                        screenshot: this.options.screenshot,\n                        airplay: utils.isSafari && !utils.isChrome ? this.options.airplay : false,\n                        chromecast: this.options.chromecast,\n                        preload: this.options.preload,\n                        url: this.options.video.url,\n                        subtitle: this.options.subtitle\n                    }\n                });\n                this.volumeBar = this.container.querySelector('.dplayer-volume-bar-inner');\n                this.volumeBarWrap = this.container.querySelector('.dplayer-volume-bar');\n                this.volumeBarWrapWrap = this.container.querySelector('.dplayer-volume-bar-wrap');\n                this.volumeButton = this.container.querySelector('.dplayer-volume');\n                this.volumeButtonIcon = this.container.querySelector('.dplayer-volume-icon');\n                this.volumeIcon = this.container.querySelector('.dplayer-volume-icon .dplayer-icon-content');\n                this.playedBar = this.container.querySelector('.dplayer-played');\n                this.loadedBar = this.container.querySelector('.dplayer-loaded');\n                this.playedBarWrap = this.container.querySelector('.dplayer-bar-wrap');\n                this.playedBarTime = this.container.querySelector('.dplayer-bar-time');\n                this.danmaku = this.container.querySelector('.dplayer-danmaku');\n                this.danmakuLoading = this.container.querySelector('.dplayer-danloading');\n                this.video = this.container.querySelector('.dplayer-video-current');\n                this.bezel = this.container.querySelector('.dplayer-bezel-icon');\n                this.playButton = this.container.querySelector('.dplayer-play-icon');\n                this.mobilePlayButton = this.container.querySelector('.dplayer-mobile-play');\n                this.videoWrap = this.container.querySelector('.dplayer-video-wrap');\n                this.controllerMask = this.container.querySelector('.dplayer-controller-mask');\n                this.ptime = this.container.querySelector('.dplayer-ptime');\n                this.settingButton = this.container.querySelector('.dplayer-setting-icon');\n                this.settingBox = this.container.querySelector('.dplayer-setting-box');\n                this.mask = this.container.querySelector('.dplayer-mask');\n                this.loop = this.container.querySelector('.dplayer-setting-loop');\n                this.loopToggle = this.container.querySelector('.dplayer-setting-loop .dplayer-toggle-setting-input');\n                this.showDanmaku = this.container.querySelector('.dplayer-setting-showdan');\n                this.showDanmakuToggle = this.container.querySelector('.dplayer-showdan-setting-input');\n                this.unlimitDanmaku = this.container.querySelector('.dplayer-setting-danunlimit');\n                this.unlimitDanmakuToggle = this.container.querySelector('.dplayer-danunlimit-setting-input');\n                this.speed = this.container.querySelector('.dplayer-setting-speed');\n                this.speedItem = this.container.querySelectorAll('.dplayer-setting-speed-item');\n                this.danmakuOpacityBar = this.container.querySelector('.dplayer-danmaku-bar-inner');\n                this.danmakuOpacityBarWrap = this.container.querySelector('.dplayer-danmaku-bar');\n                this.danmakuOpacityBarWrapWrap = this.container.querySelector('.dplayer-danmaku-bar-wrap');\n                this.danmakuOpacityBox = this.container.querySelector('.dplayer-setting-danmaku');\n                this.dtime = this.container.querySelector('.dplayer-dtime');\n                this.controller = this.container.querySelector('.dplayer-controller');\n                this.commentInput = this.container.querySelector('.dplayer-comment-input');\n                this.commentButton = this.container.querySelector('.dplayer-comment-icon');\n                this.commentSettingBox = this.container.querySelector('.dplayer-comment-setting-box');\n                this.commentSettingButton = this.container.querySelector('.dplayer-comment-setting-icon');\n                this.commentSettingFill = this.container.querySelector('.dplayer-comment-setting-icon path');\n                this.commentSendButton = this.container.querySelector('.dplayer-send-icon');\n                this.commentSendFill = this.container.querySelector('.dplayer-send-icon path');\n                this.commentColorSettingBox = this.container.querySelector('.dplayer-comment-setting-color');\n                this.browserFullButton = this.container.querySelector('.dplayer-full-icon');\n                this.webFullButton = this.container.querySelector('.dplayer-full-in-icon');\n                this.menu = this.container.querySelector('.dplayer-menu');\n                this.menuItem = this.container.querySelectorAll('.dplayer-menu-item');\n                this.qualityList = this.container.querySelector('.dplayer-quality-list');\n                this.camareButton = this.container.querySelector('.dplayer-camera-icon');\n                this.airplayButton = this.container.querySelector('.dplayer-airplay-icon');\n                this.chromecastButton = this.container.querySelector('.dplayer-chromecast-icon');\n                this.subtitleButton = this.container.querySelector('.dplayer-subtitle-icon');\n                this.subtitleButtonInner = this.container.querySelector('.dplayer-subtitle-icon .dplayer-icon-content');\n                this.subtitlesButton = this.container.querySelector('.dplayer-subtitles-icon');\n                this.subtitlesBox = this.container.querySelector('.dplayer-subtitles-box');\n                this.subtitlesItem = this.container.querySelectorAll('.dplayer-subtitles-item');\n                this.subtitle = this.container.querySelector('.dplayer-subtitle');\n                this.subtrack = this.container.querySelector('.dplayer-subtrack');\n                this.qualityButton = this.container.querySelector('.dplayer-quality-icon');\n                this.barPreview = this.container.querySelector('.dplayer-bar-preview');\n                this.barWrap = this.container.querySelector('.dplayer-bar-wrap');\n                this.noticeList = this.container.querySelector('.dplayer-notice-list');\n                this.infoPanel = this.container.querySelector('.dplayer-info-panel');\n                this.infoPanelClose = this.container.querySelector('.dplayer-info-panel-close');\n                this.infoVersion = this.container.querySelector('.dplayer-info-panel-item-version .dplayer-info-panel-item-data');\n                this.infoFPS = this.container.querySelector('.dplayer-info-panel-item-fps .dplayer-info-panel-item-data');\n                this.infoType = this.container.querySelector('.dplayer-info-panel-item-type .dplayer-info-panel-item-data');\n                this.infoUrl = this.container.querySelector('.dplayer-info-panel-item-url .dplayer-info-panel-item-data');\n                this.infoResolution = this.container.querySelector('.dplayer-info-panel-item-resolution .dplayer-info-panel-item-data');\n                this.infoDuration = this.container.querySelector('.dplayer-info-panel-item-duration .dplayer-info-panel-item-data');\n                this.infoDanmakuId = this.container.querySelector('.dplayer-info-panel-item-danmaku-id .dplayer-info-panel-item-data');\n                this.infoDanmakuApi = this.container.querySelector('.dplayer-info-panel-item-danmaku-api .dplayer-info-panel-item-data');\n                this.infoDanmakuAmount = this.container.querySelector('.dplayer-info-panel-item-danmaku-amount .dplayer-info-panel-item-data');\n            }\n        }], [{\n            key: 'NewNotice',\n            value: function NewNotice(text, opacity, id) {\n                var notice = document.createElement('div');\n                notice.classList.add('dplayer-notice');\n                notice.style.opacity = opacity;\n                notice.innerText = text;\n                if (id) {\n                    notice.id = 'dplayer-notice-'.concat(id);\n                }\n                return notice;\n            }\n        }]);\n    return Template;\n}();\nexport default Template;","function _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nfunction _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if ('value' in descriptor)\n            descriptor.writable = true;\n        Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n    }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps)\n        _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps)\n        _defineProperties(Constructor, staticProps);\n    Object.defineProperty(Constructor, 'prototype', { writable: false });\n    return Constructor;\n}\nfunction _toPropertyKey(arg) {\n    var key = _toPrimitive(arg, 'string');\n    return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n    if (_typeof(input) !== 'object' || input === null)\n        return input;\n    var prim = input[Symbol.toPrimitive];\n    if (prim !== undefined) {\n        var res = prim.call(input, hint || 'default');\n        if (_typeof(res) !== 'object')\n            return res;\n        throw new TypeError('@@toPrimitive must return a primitive value.');\n    }\n    return (hint === 'string' ? String : Number)(input);\n}\nimport utils from './utils';\nvar Danmaku = function () {\n    function Danmaku(options) {\n        _classCallCheck(this, Danmaku);\n        this.options = options;\n        this.player = this.options.player;\n        this.container = this.options.container;\n        this.danTunnel = {\n            right: {},\n            top: {},\n            bottom: {}\n        };\n        this.danIndex = 0;\n        this.dan = [];\n        this.showing = true;\n        this._opacity = this.options.opacity;\n        this.events = this.options.events;\n        this.unlimited = this.options.unlimited;\n        this._measure('');\n        this.load();\n    }\n    _createClass(Danmaku, [\n        {\n            key: 'load',\n            value: function load() {\n                var _this = this;\n                var apiurl;\n                if (this.options.api.maximum) {\n                    apiurl = ''.concat(this.options.api.address, 'v3/?id=').concat(this.options.api.id, '&max=').concat(this.options.api.maximum);\n                } else {\n                    apiurl = ''.concat(this.options.api.address, 'v3/?id=').concat(this.options.api.id);\n                }\n                var endpoints = (this.options.api.addition || []).slice(0);\n                endpoints.push(apiurl);\n                this.events && this.events.trigger('danmaku_load_start', endpoints);\n                this._readAllEndpoints(endpoints, function (results) {\n                    _this.dan = [].concat.apply([], results).sort(function (a, b) {\n                        return a.time - b.time;\n                    });\n                    window.requestAnimationFrame(function () {\n                        _this.frame();\n                    });\n                    _this.options.callback();\n                    _this.events && _this.events.trigger('danmaku_load_end');\n                });\n            }\n        },\n        {\n            key: 'reload',\n            value: function reload(newAPI) {\n                this.options.api = newAPI;\n                this.dan = [];\n                this.clear();\n                this.load();\n            }\n        },\n        {\n            key: '_readAllEndpoints',\n            value: function _readAllEndpoints(endpoints, callback) {\n                var _this2 = this;\n                var results = [];\n                var readCount = 0;\n                var _loop = function _loop(i) {\n                    _this2.options.apiBackend.read({\n                        url: endpoints[i],\n                        success: function success(data) {\n                            results[i] = data;\n                            ++readCount;\n                            if (readCount === endpoints.length) {\n                                callback(results);\n                            }\n                        },\n                        error: function error(msg) {\n                            _this2.options.error(msg || _this2.options.tran('danmaku-failed'));\n                            results[i] = [];\n                            ++readCount;\n                            if (readCount === endpoints.length) {\n                                callback(results);\n                            }\n                        }\n                    });\n                };\n                for (var i = 0; i < endpoints.length; ++i) {\n                    _loop(i);\n                }\n            }\n        },\n        {\n            key: 'send',\n            value: function send(dan, callback) {\n                var _this3 = this;\n                var danmakuData = {\n                    token: this.options.api.token,\n                    id: this.options.api.id,\n                    author: this.options.api.user,\n                    time: this.options.time(),\n                    text: dan.text,\n                    color: dan.color,\n                    type: dan.type\n                };\n                this.options.apiBackend.send({\n                    url: this.options.api.address + 'v3/',\n                    data: danmakuData,\n                    success: callback,\n                    error: function error(msg) {\n                        _this3.options.error(msg || _this3.options.tran('danmaku-failed'));\n                    }\n                });\n                this.dan.splice(this.danIndex, 0, danmakuData);\n                this.danIndex++;\n                var danmaku = {\n                    text: this.htmlEncode(danmakuData.text),\n                    color: danmakuData.color,\n                    type: danmakuData.type,\n                    border: '2px solid '.concat(this.options.borderColor)\n                };\n                this.draw(danmaku);\n                this.events && this.events.trigger('danmaku_send', danmakuData);\n            }\n        },\n        {\n            key: 'frame',\n            value: function frame() {\n                var _this4 = this;\n                if (this.dan.length && !this.paused && this.showing) {\n                    var item = this.dan[this.danIndex];\n                    var dan = [];\n                    while (item && this.options.time() > parseFloat(item.time)) {\n                        dan.push(item);\n                        item = this.dan[++this.danIndex];\n                    }\n                    this.draw(dan);\n                }\n                window.requestAnimationFrame(function () {\n                    _this4.frame();\n                });\n            }\n        },\n        {\n            key: 'opacity',\n            value: function opacity(percentage) {\n                if (percentage !== undefined) {\n                    var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n                    for (var i = 0; i < items.length; i++) {\n                        items[i].style.opacity = percentage;\n                    }\n                    this._opacity = percentage;\n                    this.events && this.events.trigger('danmaku_opacity', this._opacity);\n                }\n                return this._opacity;\n            }\n        },\n        {\n            key: 'draw',\n            value: function draw(dan) {\n                var _this5 = this;\n                if (this.showing) {\n                    var itemHeight = this.options.height;\n                    var danWidth = this.container.offsetWidth;\n                    var danHeight = this.container.offsetHeight;\n                    var itemY = parseInt(danHeight / itemHeight);\n                    var danItemRight = function danItemRight(ele) {\n                        var eleWidth = ele.offsetWidth || parseInt(ele.style.width);\n                        var eleRight = ele.getBoundingClientRect().right || _this5.container.getBoundingClientRect().right + eleWidth;\n                        return _this5.container.getBoundingClientRect().right - eleRight;\n                    };\n                    var danSpeed = function danSpeed(width) {\n                        return (danWidth + width) / 5;\n                    };\n                    var getTunnel = function getTunnel(ele, type, width) {\n                        var tmp = danWidth / danSpeed(width);\n                        var _loop2 = function _loop2(i) {\n                            var item = _this5.danTunnel[type][i + ''];\n                            if (item && item.length) {\n                                if (type !== 'right') {\n                                    return 'continue';\n                                }\n                                for (var j = 0; j < item.length; j++) {\n                                    var danRight = danItemRight(item[j]) - 10;\n                                    if (danRight <= danWidth - tmp * danSpeed(parseInt(item[j].style.width)) || danRight <= 0) {\n                                        break;\n                                    }\n                                    if (j === item.length - 1) {\n                                        _this5.danTunnel[type][i + ''].push(ele);\n                                        ele.addEventListener('animationend', function () {\n                                            _this5.danTunnel[type][i + ''].splice(0, 1);\n                                        });\n                                        return { v: i % itemY };\n                                    }\n                                }\n                            } else {\n                                _this5.danTunnel[type][i + ''] = [ele];\n                                ele.addEventListener('animationend', function () {\n                                    _this5.danTunnel[type][i + ''].splice(0, 1);\n                                });\n                                return { v: i % itemY };\n                            }\n                        };\n                        for (var i = 0; _this5.unlimited || i < itemY; i++) {\n                            var _ret = _loop2(i);\n                            if (_ret === 'continue')\n                                continue;\n                            if (_typeof(_ret) === 'object')\n                                return _ret.v;\n                        }\n                        return -1;\n                    };\n                    if (Object.prototype.toString.call(dan) !== '[object Array]') {\n                        dan = [dan];\n                    }\n                    var docFragment = document.createDocumentFragment();\n                    var _loop3 = function _loop3() {\n                        dan[i].type = utils.number2Type(dan[i].type);\n                        if (!dan[i].color) {\n                            dan[i].color = 16777215;\n                        }\n                        var item = document.createElement('div');\n                        item.classList.add('dplayer-danmaku-item');\n                        item.classList.add('dplayer-danmaku-'.concat(dan[i].type));\n                        if (dan[i].border) {\n                            item.innerHTML = '<span style=\"border:'.concat(dan[i].border, '\">').concat(dan[i].text, '</span>');\n                        } else {\n                            item.innerHTML = dan[i].text;\n                        }\n                        item.style.opacity = _this5._opacity;\n                        item.style.color = utils.number2Color(dan[i].color);\n                        item.addEventListener('animationend', function () {\n                            _this5.container.removeChild(item);\n                        });\n                        var itemWidth = _this5._measure(dan[i].text);\n                        var tunnel;\n                        switch (dan[i].type) {\n                        case 'right':\n                            tunnel = getTunnel(item, dan[i].type, itemWidth);\n                            if (tunnel >= 0) {\n                                item.style.width = itemWidth + 1 + 'px';\n                                item.style.top = itemHeight * tunnel + 'px';\n                                item.style.transform = 'translateX(-'.concat(danWidth, 'px)');\n                            }\n                            break;\n                        case 'top':\n                            tunnel = getTunnel(item, dan[i].type);\n                            if (tunnel >= 0) {\n                                item.style.top = itemHeight * tunnel + 'px';\n                            }\n                            break;\n                        case 'bottom':\n                            tunnel = getTunnel(item, dan[i].type);\n                            if (tunnel >= 0) {\n                                item.style.bottom = itemHeight * tunnel + 'px';\n                            }\n                            break;\n                        default:\n                            console.error('Can\\'t handled danmaku type: '.concat(dan[i].type));\n                        }\n                        if (tunnel >= 0) {\n                            item.classList.add('dplayer-danmaku-move');\n                            item.style.animationDuration = _this5._danAnimation(dan[i].type);\n                            docFragment.appendChild(item);\n                        }\n                    };\n                    for (var i = 0; i < dan.length; i++) {\n                        _loop3();\n                    }\n                    this.container.appendChild(docFragment);\n                    return docFragment;\n                }\n            }\n        },\n        {\n            key: 'play',\n            value: function play() {\n                this.paused = false;\n            }\n        },\n        {\n            key: 'pause',\n            value: function pause() {\n                this.paused = true;\n            }\n        },\n        {\n            key: '_measure',\n            value: function _measure(text) {\n                if (!this.context) {\n                    var measureStyle = getComputedStyle(this.container.getElementsByClassName('dplayer-danmaku-item')[0], null);\n                    this.context = document.createElement('canvas').getContext('2d');\n                    this.context.font = measureStyle.getPropertyValue('font');\n                }\n                return this.context.measureText(text).width;\n            }\n        },\n        {\n            key: 'seek',\n            value: function seek() {\n                this.clear();\n                for (var i = 0; i < this.dan.length; i++) {\n                    if (this.dan[i].time >= this.options.time()) {\n                        this.danIndex = i;\n                        break;\n                    }\n                    this.danIndex = this.dan.length;\n                }\n            }\n        },\n        {\n            key: 'clear',\n            value: function clear() {\n                this.danTunnel = {\n                    right: {},\n                    top: {},\n                    bottom: {}\n                };\n                this.danIndex = 0;\n                this.options.container.innerHTML = '';\n                this.events && this.events.trigger('danmaku_clear');\n            }\n        },\n        {\n            key: 'htmlEncode',\n            value: function htmlEncode(str) {\n                return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\"/g, '&quot;').replace(/'/g, '&#x27;').replace(/\\//g, '&#x2f;');\n            }\n        },\n        {\n            key: 'resize',\n            value: function resize() {\n                var danWidth = this.container.offsetWidth;\n                var items = this.container.getElementsByClassName('dplayer-danmaku-item');\n                for (var i = 0; i < items.length; i++) {\n                    items[i].style.transform = 'translateX(-'.concat(danWidth, 'px)');\n                }\n            }\n        },\n        {\n            key: 'hide',\n            value: function hide() {\n                this.showing = false;\n                this.pause();\n                this.clear();\n                this.events && this.events.trigger('danmaku_hide');\n            }\n        },\n        {\n            key: 'show',\n            value: function show() {\n                this.seek();\n                this.showing = true;\n                this.play();\n                this.events && this.events.trigger('danmaku_show');\n            }\n        },\n        {\n            key: 'unlimit',\n            value: function unlimit(_boolean) {\n                this.unlimited = _boolean;\n            }\n        },\n        {\n            key: 'speed',\n            value: function speed(rate) {\n                this.options.api.speedRate = rate;\n            }\n        },\n        {\n            key: '_danAnimation',\n            value: function _danAnimation(position) {\n                var rate = this.options.api.speedRate || 1;\n                var isFullScreen = !!this.player.fullScreen.isFullScreen();\n                var animations = {\n                    top: ''.concat((isFullScreen ? 6 : 4) / rate, 's'),\n                    right: ''.concat((isFullScreen ? 8 : 5) / rate, 's'),\n                    bottom: ''.concat((isFullScreen ? 6 : 4) / rate, 's')\n                };\n                return animations[position];\n            }\n        }\n    ]);\n    return Danmaku;\n}();\nexport default Danmaku;","function _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nfunction _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if ('value' in descriptor)\n            descriptor.writable = true;\n        Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n    }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps)\n        _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps)\n        _defineProperties(Constructor, staticProps);\n    Object.defineProperty(Constructor, 'prototype', { writable: false });\n    return Constructor;\n}\nfunction _toPropertyKey(arg) {\n    var key = _toPrimitive(arg, 'string');\n    return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n    if (_typeof(input) !== 'object' || input === null)\n        return input;\n    var prim = input[Symbol.toPrimitive];\n    if (prim !== undefined) {\n        var res = prim.call(input, hint || 'default');\n        if (_typeof(res) !== 'object')\n            return res;\n        throw new TypeError('@@toPrimitive must return a primitive value.');\n    }\n    return (hint === 'string' ? String : Number)(input);\n}\nvar Events = function () {\n    function Events() {\n        _classCallCheck(this, Events);\n        this.events = {};\n        this.videoEvents = [\n            'abort',\n            'canplay',\n            'canplaythrough',\n            'durationchange',\n            'emptied',\n            'ended',\n            'error',\n            'loadeddata',\n            'loadedmetadata',\n            'loadstart',\n            'mozaudioavailable',\n            'pause',\n            'play',\n            'playing',\n            'progress',\n            'ratechange',\n            'seeked',\n            'seeking',\n            'stalled',\n            'suspend',\n            'timeupdate',\n            'volumechange',\n            'waiting'\n        ];\n        this.playerEvents = [\n            'screenshot',\n            'thumbnails_show',\n            'thumbnails_hide',\n            'danmaku_show',\n            'danmaku_hide',\n            'danmaku_clear',\n            'danmaku_loaded',\n            'danmaku_send',\n            'danmaku_opacity',\n            'contextmenu_show',\n            'contextmenu_hide',\n            'notice_show',\n            'notice_hide',\n            'quality_start',\n            'quality_end',\n            'destroy',\n            'resize',\n            'fullscreen',\n            'fullscreen_cancel',\n            'webfullscreen',\n            'webfullscreen_cancel',\n            'subtitle_show',\n            'subtitle_hide',\n            'subtitle_change'\n        ];\n    }\n    _createClass(Events, [\n        {\n            key: 'on',\n            value: function on(name, callback) {\n                if (this.type(name) && typeof callback === 'function') {\n                    if (!this.events[name]) {\n                        this.events[name] = [];\n                    }\n                    this.events[name].push(callback);\n                }\n            }\n        },\n        {\n            key: 'trigger',\n            value: function trigger(name, info) {\n                if (this.events[name] && this.events[name].length) {\n                    for (var i = 0; i < this.events[name].length; i++) {\n                        this.events[name][i](info);\n                    }\n                }\n            }\n        },\n        {\n            key: 'type',\n            value: function type(name) {\n                if (this.playerEvents.indexOf(name) !== -1) {\n                    return 'player';\n                } else if (this.videoEvents.indexOf(name) !== -1) {\n                    return 'video';\n                }\n                console.error('Unknown event name: '.concat(name));\n                return null;\n            }\n        }\n    ]);\n    return Events;\n}();\nexport default Events;","function _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nfunction _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if ('value' in descriptor)\n            descriptor.writable = true;\n        Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n    }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps)\n        _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps)\n        _defineProperties(Constructor, staticProps);\n    Object.defineProperty(Constructor, 'prototype', { writable: false });\n    return Constructor;\n}\nfunction _toPropertyKey(arg) {\n    var key = _toPrimitive(arg, 'string');\n    return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n    if (_typeof(input) !== 'object' || input === null)\n        return input;\n    var prim = input[Symbol.toPrimitive];\n    if (prim !== undefined) {\n        var res = prim.call(input, hint || 'default');\n        if (_typeof(res) !== 'object')\n            return res;\n        throw new TypeError('@@toPrimitive must return a primitive value.');\n    }\n    return (hint === 'string' ? String : Number)(input);\n}\nimport utils from './utils';\nvar FullScreen = function () {\n    function FullScreen(player) {\n        var _this = this;\n        _classCallCheck(this, FullScreen);\n        this.player = player;\n        this.lastScrollPosition = {\n            left: 0,\n            top: 0\n        };\n        this.player.events.on('webfullscreen', function () {\n            _this.player.resize();\n        });\n        this.player.events.on('webfullscreen_cancel', function () {\n            _this.player.resize();\n            utils.setScrollPosition(_this.lastScrollPosition);\n        });\n        this.fullscreenchange = function () {\n            _this.player.resize();\n            if (_this.isFullScreen('browser')) {\n                _this.player.events.trigger('fullscreen');\n            } else {\n                utils.setScrollPosition(_this.lastScrollPosition);\n                _this.player.events.trigger('fullscreen_cancel');\n            }\n        };\n        this.docfullscreenchange = function () {\n            var fullEle = document.fullscreenElement || document.mozFullScreenElement || document.msFullscreenElement;\n            if (fullEle && fullEle !== _this.player.container) {\n                return;\n            }\n            _this.player.resize();\n            if (fullEle) {\n                _this.player.events.trigger('fullscreen');\n            } else {\n                utils.setScrollPosition(_this.lastScrollPosition);\n                _this.player.events.trigger('fullscreen_cancel');\n            }\n        };\n        if (/Firefox/.test(navigator.userAgent)) {\n            document.addEventListener('mozfullscreenchange', this.docfullscreenchange);\n            document.addEventListener('fullscreenchange', this.docfullscreenchange);\n        } else {\n            this.player.container.addEventListener('fullscreenchange', this.fullscreenchange);\n            this.player.container.addEventListener('webkitfullscreenchange', this.fullscreenchange);\n            document.addEventListener('msfullscreenchange', this.docfullscreenchange);\n            document.addEventListener('MSFullscreenChange', this.docfullscreenchange);\n        }\n    }\n    _createClass(FullScreen, [\n        {\n            key: 'isFullScreen',\n            value: function isFullScreen() {\n                var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n                switch (type) {\n                case 'browser':\n                    return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement;\n                case 'web':\n                    return this.player.container.classList.contains('dplayer-fulled');\n                }\n            }\n        },\n        {\n            key: 'request',\n            value: function request() {\n                var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n                var anotherType = type === 'browser' ? 'web' : 'browser';\n                var anotherTypeOn = this.isFullScreen(anotherType);\n                if (!anotherTypeOn) {\n                    this.lastScrollPosition = utils.getScrollPosition();\n                }\n                switch (type) {\n                case 'browser':\n                    if (this.player.container.requestFullscreen) {\n                        this.player.container.requestFullscreen();\n                    } else if (this.player.container.mozRequestFullScreen) {\n                        this.player.container.mozRequestFullScreen();\n                    } else if (this.player.container.webkitRequestFullscreen) {\n                        this.player.container.webkitRequestFullscreen();\n                    } else if (this.player.video.webkitEnterFullscreen) {\n                        this.player.video.webkitEnterFullscreen();\n                    } else if (this.player.video.webkitEnterFullScreen) {\n                        this.player.video.webkitEnterFullScreen();\n                    } else if (this.player.container.msRequestFullscreen) {\n                        this.player.container.msRequestFullscreen();\n                    }\n                    break;\n                case 'web':\n                    this.player.container.classList.add('dplayer-fulled');\n                    document.body.classList.add('dplayer-web-fullscreen-fix');\n                    this.player.events.trigger('webfullscreen');\n                    break;\n                }\n                if (anotherTypeOn) {\n                    this.cancel(anotherType);\n                }\n            }\n        },\n        {\n            key: 'cancel',\n            value: function cancel() {\n                var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n                switch (type) {\n                case 'browser':\n                    if (document.cancelFullScreen) {\n                        document.cancelFullScreen();\n                    } else if (document.mozCancelFullScreen) {\n                        document.mozCancelFullScreen();\n                    } else if (document.webkitCancelFullScreen) {\n                        document.webkitCancelFullScreen();\n                    } else if (document.webkitCancelFullscreen) {\n                        document.webkitCancelFullscreen();\n                    } else if (document.msCancelFullScreen) {\n                        document.msCancelFullScreen();\n                    } else if (document.msExitFullscreen) {\n                        document.msExitFullscreen();\n                    }\n                    break;\n                case 'web':\n                    this.player.container.classList.remove('dplayer-fulled');\n                    document.body.classList.remove('dplayer-web-fullscreen-fix');\n                    this.player.events.trigger('webfullscreen_cancel');\n                    break;\n                }\n            }\n        },\n        {\n            key: 'toggle',\n            value: function toggle() {\n                var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'browser';\n                if (this.isFullScreen(type)) {\n                    this.cancel(type);\n                } else {\n                    this.request(type);\n                }\n            }\n        },\n        {\n            key: 'destroy',\n            value: function destroy() {\n                if (/Firefox/.test(navigator.userAgent)) {\n                    document.removeEventListener('mozfullscreenchange', this.docfullscreenchange);\n                    document.removeEventListener('fullscreenchange', this.docfullscreenchange);\n                } else {\n                    this.player.container.removeEventListener('fullscreenchange', this.fullscreenchange);\n                    this.player.container.removeEventListener('webkitfullscreenchange', this.fullscreenchange);\n                    document.removeEventListener('msfullscreenchange', this.docfullscreenchange);\n                    document.removeEventListener('MSFullscreenChange', this.docfullscreenchange);\n                }\n            }\n        }\n    ]);\n    return FullScreen;\n}();\nexport default FullScreen;","function _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nfunction _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if ('value' in descriptor)\n            descriptor.writable = true;\n        Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n    }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps)\n        _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps)\n        _defineProperties(Constructor, staticProps);\n    Object.defineProperty(Constructor, 'prototype', { writable: false });\n    return Constructor;\n}\nfunction _toPropertyKey(arg) {\n    var key = _toPrimitive(arg, 'string');\n    return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n    if (_typeof(input) !== 'object' || input === null)\n        return input;\n    var prim = input[Symbol.toPrimitive];\n    if (prim !== undefined) {\n        var res = prim.call(input, hint || 'default');\n        if (_typeof(res) !== 'object')\n            return res;\n        throw new TypeError('@@toPrimitive must return a primitive value.');\n    }\n    return (hint === 'string' ? String : Number)(input);\n}\nimport utils from './utils';\nvar User = function () {\n    function User(player) {\n        _classCallCheck(this, User);\n        this.storageName = {\n            opacity: 'dplayer-danmaku-opacity',\n            volume: 'dplayer-volume',\n            unlimited: 'dplayer-danmaku-unlimited',\n            danmaku: 'dplayer-danmaku-show',\n            subtitle: 'dplayer-subtitle-show'\n        };\n        this['default'] = {\n            opacity: 0.7,\n            volume: player.options.hasOwnProperty('volume') ? player.options.volume : 0.7,\n            unlimited: (player.options.danmaku && player.options.danmaku.unlimited ? 1 : 0) || 0,\n            danmaku: 1,\n            subtitle: 1\n        };\n        this.data = {};\n        this.init();\n    }\n    _createClass(User, [\n        {\n            key: 'init',\n            value: function init() {\n                for (var item in this.storageName) {\n                    var name = this.storageName[item];\n                    this.data[item] = parseFloat(utils.storage.get(name) || this['default'][item]);\n                }\n            }\n        },\n        {\n            key: 'get',\n            value: function get(key) {\n                return this.data[key];\n            }\n        },\n        {\n            key: 'set',\n            value: function set(key, value) {\n                this.data[key] = value;\n                utils.storage.set(this.storageName[key], value);\n            }\n        }\n    ]);\n    return User;\n}();\nexport default User;","function _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nfunction _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if ('value' in descriptor)\n            descriptor.writable = true;\n        Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n    }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps)\n        _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps)\n        _defineProperties(Constructor, staticProps);\n    Object.defineProperty(Constructor, 'prototype', { writable: false });\n    return Constructor;\n}\nfunction _toPropertyKey(arg) {\n    var key = _toPrimitive(arg, 'string');\n    return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n    if (_typeof(input) !== 'object' || input === null)\n        return input;\n    var prim = input[Symbol.toPrimitive];\n    if (prim !== undefined) {\n        var res = prim.call(input, hint || 'default');\n        if (_typeof(res) !== 'object')\n            return res;\n        throw new TypeError('@@toPrimitive must return a primitive value.');\n    }\n    return (hint === 'string' ? String : Number)(input);\n}\nvar Subtitle = function () {\n    function Subtitle(container, video, options, events) {\n        _classCallCheck(this, Subtitle);\n        this.container = container;\n        this.video = video;\n        this.options = options;\n        this.events = events;\n        this.init();\n    }\n    _createClass(Subtitle, [\n        {\n            key: 'init',\n            value: function init() {\n                var _this = this;\n                this.container.style.fontSize = this.options.fontSize;\n                this.container.style.bottom = this.options.bottom;\n                this.container.style.color = this.options.color;\n                if (this.video.textTracks && this.video.textTracks[0]) {\n                    var track = this.video.textTracks[0];\n                    track.oncuechange = function () {\n                        var cue = track.activeCues[track.activeCues.length - 1];\n                        _this.container.innerHTML = '';\n                        if (cue) {\n                            var template = document.createElement('div');\n                            template.appendChild(cue.getCueAsHTML());\n                            var trackHtml = template.innerHTML.split(/\\r?\\n/).map(function (item) {\n                                return '<p>'.concat(item, '</p>');\n                            }).join('');\n                            _this.container.innerHTML = trackHtml;\n                        }\n                        _this.events.trigger('subtitle_change');\n                    };\n                }\n            }\n        },\n        {\n            key: 'show',\n            value: function show() {\n                this.container.classList.remove('dplayer-subtitle-hide');\n                this.events.trigger('subtitle_show');\n            }\n        },\n        {\n            key: 'hide',\n            value: function hide() {\n                this.container.classList.add('dplayer-subtitle-hide');\n                this.events.trigger('subtitle_hide');\n            }\n        },\n        {\n            key: 'toggle',\n            value: function toggle() {\n                if (this.container.classList.contains('dplayer-subtitle-hide')) {\n                    this.show();\n                } else {\n                    this.hide();\n                }\n            }\n        }\n    ]);\n    return Subtitle;\n}();\nexport default Subtitle;","function _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nfunction _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if ('value' in descriptor)\n            descriptor.writable = true;\n        Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n    }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps)\n        _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps)\n        _defineProperties(Constructor, staticProps);\n    Object.defineProperty(Constructor, 'prototype', { writable: false });\n    return Constructor;\n}\nfunction _toPropertyKey(arg) {\n    var key = _toPrimitive(arg, 'string');\n    return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n    if (_typeof(input) !== 'object' || input === null)\n        return input;\n    var prim = input[Symbol.toPrimitive];\n    if (prim !== undefined) {\n        var res = prim.call(input, hint || 'default');\n        if (_typeof(res) !== 'object')\n            return res;\n        throw new TypeError('@@toPrimitive must return a primitive value.');\n    }\n    return (hint === 'string' ? String : Number)(input);\n}\nvar Subtitles = function () {\n    function Subtitles(player) {\n        var _this = this;\n        _classCallCheck(this, Subtitles);\n        this.player = player;\n        this.player.template.mask.addEventListener('click', function () {\n            _this.hide();\n        });\n        this.player.template.subtitlesButton.addEventListener('click', function () {\n            _this.adaptiveHeight();\n            _this.show();\n        });\n        var lastItemIndex = this.player.template.subtitlesItem.length - 1;\n        var _loop = function _loop(i) {\n            _this.player.template.subtitlesItem[i].addEventListener('click', function () {\n                _this.hide();\n                if (_this.player.options.subtitle.index !== i) {\n                    _this.player.template.subtitle.innerHTML = '<p></p>';\n                    _this.player.template.subtrack.src = _this.player.template.subtitlesItem[i].dataset.subtitle;\n                    _this.player.options.subtitle.index = i;\n                    if (_this.player.template.subtitle.classList.contains('dplayer-subtitle-hide')) {\n                        _this.subContainerShow();\n                    }\n                }\n            });\n        };\n        for (var i = 0; i < lastItemIndex; i++) {\n            _loop(i);\n        }\n        this.player.template.subtitlesItem[lastItemIndex].addEventListener('click', function () {\n            _this.hide();\n            if (_this.player.options.subtitle.index !== lastItemIndex) {\n                _this.player.template.subtitle.innerHTML = '<p></p>';\n                _this.player.template.subtrack.src = '';\n                _this.player.options.subtitle.index = lastItemIndex;\n                _this.subContainerHide();\n            }\n        });\n    }\n    _createClass(Subtitles, [\n        {\n            key: 'subContainerShow',\n            value: function subContainerShow() {\n                this.player.template.subtitle.classList.remove('dplayer-subtitle-hide');\n                this.player.events.trigger('subtitle_show');\n            }\n        },\n        {\n            key: 'subContainerHide',\n            value: function subContainerHide() {\n                this.player.template.subtitle.classList.add('dplayer-subtitle-hide');\n                this.player.events.trigger('subtitle_hide');\n            }\n        },\n        {\n            key: 'hide',\n            value: function hide() {\n                this.player.template.subtitlesBox.classList.remove('dplayer-subtitles-box-open');\n                this.player.template.mask.classList.remove('dplayer-mask-show');\n                this.player.controller.disableAutoHide = false;\n            }\n        },\n        {\n            key: 'show',\n            value: function show() {\n                this.player.template.subtitlesBox.classList.add('dplayer-subtitles-box-open');\n                this.player.template.mask.classList.add('dplayer-mask-show');\n                this.player.controller.disableAutoHide = true;\n            }\n        },\n        {\n            key: 'adaptiveHeight',\n            value: function adaptiveHeight() {\n                var curBoxHeight = this.player.template.subtitlesItem.length * 30 + 14;\n                var stdMaxHeight = this.player.template.videoWrap.offsetHeight * 0.8;\n                if (curBoxHeight >= stdMaxHeight - 50) {\n                    this.player.template.subtitlesBox.style.bottom = '8px';\n                    this.player.template.subtitlesBox.style['max-height'] = stdMaxHeight - 8 + 'px';\n                } else {\n                    this.player.template.subtitlesBox.style.bottom = '50px';\n                    this.player.template.subtitlesBox.style['max-height'] = stdMaxHeight - 50 + 'px';\n                }\n            }\n        }\n    ]);\n    return Subtitles;\n}();\nexport default Subtitles;","function _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nfunction _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if ('value' in descriptor)\n            descriptor.writable = true;\n        Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n    }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps)\n        _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps)\n        _defineProperties(Constructor, staticProps);\n    Object.defineProperty(Constructor, 'prototype', { writable: false });\n    return Constructor;\n}\nfunction _toPropertyKey(arg) {\n    var key = _toPrimitive(arg, 'string');\n    return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n    if (_typeof(input) !== 'object' || input === null)\n        return input;\n    var prim = input[Symbol.toPrimitive];\n    if (prim !== undefined) {\n        var res = prim.call(input, hint || 'default');\n        if (_typeof(res) !== 'object')\n            return res;\n        throw new TypeError('@@toPrimitive must return a primitive value.');\n    }\n    return (hint === 'string' ? String : Number)(input);\n}\nvar Bar = function () {\n    function Bar(template) {\n        _classCallCheck(this, Bar);\n        this.elements = {};\n        this.elements.volume = template.volumeBar;\n        this.elements.played = template.playedBar;\n        this.elements.loaded = template.loadedBar;\n        this.elements.danmaku = template.danmakuOpacityBar;\n    }\n    _createClass(Bar, [\n        {\n            key: 'set',\n            value: function set(type, percentage, direction) {\n                percentage = Math.max(percentage, 0);\n                percentage = Math.min(percentage, 1);\n                this.elements[type].style[direction] = percentage * 100 + '%';\n            }\n        },\n        {\n            key: 'get',\n            value: function get(type) {\n                return parseFloat(this.elements[type].style.width) / 100;\n            }\n        }\n    ]);\n    return Bar;\n}();\nexport default Bar;","function _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nfunction _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if ('value' in descriptor)\n            descriptor.writable = true;\n        Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n    }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps)\n        _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps)\n        _defineProperties(Constructor, staticProps);\n    Object.defineProperty(Constructor, 'prototype', { writable: false });\n    return Constructor;\n}\nfunction _toPropertyKey(arg) {\n    var key = _toPrimitive(arg, 'string');\n    return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n    if (_typeof(input) !== 'object' || input === null)\n        return input;\n    var prim = input[Symbol.toPrimitive];\n    if (prim !== undefined) {\n        var res = prim.call(input, hint || 'default');\n        if (_typeof(res) !== 'object')\n            return res;\n        throw new TypeError('@@toPrimitive must return a primitive value.');\n    }\n    return (hint === 'string' ? String : Number)(input);\n}\nvar Timer = function () {\n    function Timer(player) {\n        _classCallCheck(this, Timer);\n        this.player = player;\n        window.requestAnimationFrame = function () {\n            return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) {\n                window.setTimeout(callback, 1000 / 60);\n            };\n        }();\n        this.types = [\n            'loading',\n            'info',\n            'fps'\n        ];\n        this.init();\n    }\n    _createClass(Timer, [\n        {\n            key: 'init',\n            value: function init() {\n                var _this = this;\n                this.types.map(function (item) {\n                    if (item !== 'fps') {\n                        _this['init'.concat(item, 'Checker')]();\n                    }\n                    return item;\n                });\n            }\n        },\n        {\n            key: 'initloadingChecker',\n            value: function initloadingChecker() {\n                var _this2 = this;\n                var lastPlayPos = 0;\n                var currentPlayPos = 0;\n                var bufferingDetected = false;\n                this.loadingChecker = setInterval(function () {\n                    if (_this2.enableloadingChecker) {\n                        currentPlayPos = _this2.player.video.currentTime;\n                        if (!bufferingDetected && currentPlayPos === lastPlayPos && !_this2.player.video.paused) {\n                            _this2.player.container.classList.add('dplayer-loading');\n                            bufferingDetected = true;\n                        }\n                        if (bufferingDetected && currentPlayPos > lastPlayPos && !_this2.player.video.paused) {\n                            _this2.player.container.classList.remove('dplayer-loading');\n                            bufferingDetected = false;\n                        }\n                        lastPlayPos = currentPlayPos;\n                    }\n                }, 100);\n            }\n        },\n        {\n            key: 'initfpsChecker',\n            value: function initfpsChecker() {\n                var _this3 = this;\n                window.requestAnimationFrame(function () {\n                    if (_this3.enablefpsChecker) {\n                        _this3.initfpsChecker();\n                        if (!_this3.fpsStart) {\n                            _this3.fpsStart = new Date();\n                            _this3.fpsIndex = 0;\n                        } else {\n                            _this3.fpsIndex++;\n                            var fpsCurrent = new Date();\n                            if (fpsCurrent - _this3.fpsStart > 1000) {\n                                _this3.player.infoPanel.fps(_this3.fpsIndex / (fpsCurrent - _this3.fpsStart) * 1000);\n                                _this3.fpsStart = new Date();\n                                _this3.fpsIndex = 0;\n                            }\n                        }\n                    } else {\n                        _this3.fpsStart = 0;\n                        _this3.fpsIndex = 0;\n                    }\n                });\n            }\n        },\n        {\n            key: 'initinfoChecker',\n            value: function initinfoChecker() {\n                var _this4 = this;\n                this.infoChecker = setInterval(function () {\n                    if (_this4.enableinfoChecker) {\n                        _this4.player.infoPanel.update();\n                    }\n                }, 1000);\n            }\n        },\n        {\n            key: 'enable',\n            value: function enable(type) {\n                this['enable'.concat(type, 'Checker')] = true;\n                if (type === 'fps') {\n                    this.initfpsChecker();\n                }\n            }\n        },\n        {\n            key: 'disable',\n            value: function disable(type) {\n                this['enable'.concat(type, 'Checker')] = false;\n            }\n        },\n        {\n            key: 'destroy',\n            value: function destroy() {\n                var _this5 = this;\n                this.types.map(function (item) {\n                    _this5['enable'.concat(item, 'Checker')] = false;\n                    _this5[''.concat(item, 'Checker')] && clearInterval(_this5[''.concat(item, 'Checker')]);\n                    return item;\n                });\n            }\n        }\n    ]);\n    return Timer;\n}();\nexport default Timer;","function _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nfunction _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if ('value' in descriptor)\n            descriptor.writable = true;\n        Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n    }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps)\n        _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps)\n        _defineProperties(Constructor, staticProps);\n    Object.defineProperty(Constructor, 'prototype', { writable: false });\n    return Constructor;\n}\nfunction _toPropertyKey(arg) {\n    var key = _toPrimitive(arg, 'string');\n    return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n    if (_typeof(input) !== 'object' || input === null)\n        return input;\n    var prim = input[Symbol.toPrimitive];\n    if (prim !== undefined) {\n        var res = prim.call(input, hint || 'default');\n        if (_typeof(res) !== 'object')\n            return res;\n        throw new TypeError('@@toPrimitive must return a primitive value.');\n    }\n    return (hint === 'string' ? String : Number)(input);\n}\nvar Bezel = function () {\n    function Bezel(container) {\n        var _this = this;\n        _classCallCheck(this, Bezel);\n        this.container = container;\n        this.container.addEventListener('animationend', function () {\n            _this.container.classList.remove('dplayer-bezel-transition');\n        });\n    }\n    _createClass(Bezel, [{\n            key: 'switch',\n            value: function _switch(icon) {\n                this.container.innerHTML = icon;\n                this.container.classList.add('dplayer-bezel-transition');\n            }\n        }]);\n    return Bezel;\n}();\nexport default Bezel;","function _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nfunction _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if ('value' in descriptor)\n            descriptor.writable = true;\n        Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n    }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps)\n        _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps)\n        _defineProperties(Constructor, staticProps);\n    Object.defineProperty(Constructor, 'prototype', { writable: false });\n    return Constructor;\n}\nfunction _toPropertyKey(arg) {\n    var key = _toPrimitive(arg, 'string');\n    return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n    if (_typeof(input) !== 'object' || input === null)\n        return input;\n    var prim = input[Symbol.toPrimitive];\n    if (prim !== undefined) {\n        var res = prim.call(input, hint || 'default');\n        if (_typeof(res) !== 'object')\n            return res;\n        throw new TypeError('@@toPrimitive must return a primitive value.');\n    }\n    return (hint === 'string' ? String : Number)(input);\n}\nvar Thumbnails = function () {\n    function Thumbnails(options) {\n        _classCallCheck(this, Thumbnails);\n        this.container = options.container;\n        this.barWidth = options.barWidth;\n        this.container.style.backgroundImage = 'url(\\''.concat(options.url, '\\')');\n        this.events = options.events;\n    }\n    _createClass(Thumbnails, [\n        {\n            key: 'resize',\n            value: function resize(width, height, barWrapWidth) {\n                this.container.style.width = ''.concat(width, 'px');\n                this.container.style.height = ''.concat(height, 'px');\n                this.container.style.top = ''.concat(-height + 2, 'px');\n                this.barWidth = barWrapWidth;\n            }\n        },\n        {\n            key: 'show',\n            value: function show() {\n                this.container.style.display = 'block';\n                this.events && this.events.trigger('thumbnails_show');\n            }\n        },\n        {\n            key: 'move',\n            value: function move(position) {\n                this.container.style.backgroundPosition = '-'.concat((Math.ceil(position / this.barWidth * 100) - 1) * 160, 'px 0');\n                this.container.style.left = ''.concat(Math.min(Math.max(position - this.container.offsetWidth / 2, -10), this.barWidth - 150), 'px');\n            }\n        },\n        {\n            key: 'hide',\n            value: function hide() {\n                this.container.style.display = 'none';\n                this.events && this.events.trigger('thumbnails_hide');\n            }\n        }\n    ]);\n    return Thumbnails;\n}();\nexport default Thumbnails;","function _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nfunction _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if ('value' in descriptor)\n            descriptor.writable = true;\n        Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n    }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps)\n        _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps)\n        _defineProperties(Constructor, staticProps);\n    Object.defineProperty(Constructor, 'prototype', { writable: false });\n    return Constructor;\n}\nfunction _toPropertyKey(arg) {\n    var key = _toPrimitive(arg, 'string');\n    return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n    if (_typeof(input) !== 'object' || input === null)\n        return input;\n    var prim = input[Symbol.toPrimitive];\n    if (prim !== undefined) {\n        var res = prim.call(input, hint || 'default');\n        if (_typeof(res) !== 'object')\n            return res;\n        throw new TypeError('@@toPrimitive must return a primitive value.');\n    }\n    return (hint === 'string' ? String : Number)(input);\n}\nimport utils from './utils';\nimport Thumbnails from './thumbnails';\nimport Icons from './icons';\nvar cast;\nvar runOnce = true;\nvar isCasting = false;\nvar Controller = function () {\n    function Controller(player) {\n        _classCallCheck(this, Controller);\n        this.player = player;\n        this.autoHideTimer = 0;\n        if (!utils.isMobile) {\n            this.setAutoHideHandler = this.setAutoHide.bind(this);\n            this.player.container.addEventListener('mousemove', this.setAutoHideHandler);\n            this.player.container.addEventListener('click', this.setAutoHideHandler);\n            this.player.on('play', this.setAutoHideHandler);\n            this.player.on('pause', this.setAutoHideHandler);\n        }\n        this.initPlayButton();\n        this.initThumbnails();\n        this.initPlayedBar();\n        this.initFullButton();\n        this.initQualityButton();\n        this.initScreenshotButton();\n        if (this.player.options.subtitle) {\n            if (typeof this.player.options.subtitle.url === 'string') {\n                this.initSubtitleButton();\n            }\n        }\n        this.initHighlights();\n        this.initAirplayButton();\n        this.initChromecastButton();\n        if (!utils.isMobile) {\n            this.initVolumeButton();\n        }\n    }\n    _createClass(Controller, [\n        {\n            key: 'initPlayButton',\n            value: function initPlayButton() {\n                var _this = this;\n                this.player.template.playButton.addEventListener('click', function () {\n                    _this.player.toggle();\n                });\n                this.player.template.mobilePlayButton.addEventListener('click', function () {\n                    _this.player.toggle();\n                });\n                if (!utils.isMobile) {\n                    if (!this.player.options.preventClickToggle) {\n                        this.player.template.videoWrap.addEventListener('click', function () {\n                            _this.player.toggle();\n                        });\n                        this.player.template.controllerMask.addEventListener('click', function () {\n                            _this.player.toggle();\n                        });\n                    }\n                } else {\n                    this.player.template.videoWrap.addEventListener('click', function () {\n                        _this.toggle();\n                    });\n                    this.player.template.controllerMask.addEventListener('click', function () {\n                        _this.toggle();\n                    });\n                }\n            }\n        },\n        {\n            key: 'initHighlights',\n            value: function initHighlights() {\n                var _this2 = this;\n                this.player.on('durationchange', function () {\n                    if (_this2.player.video.duration !== 1 && _this2.player.video.duration !== Infinity) {\n                        if (_this2.player.options.highlight) {\n                            var highlights = _this2.player.template.playedBarWrap.querySelectorAll('.dplayer-highlight');\n                            [].slice.call(highlights, 0).forEach(function (item) {\n                                _this2.player.template.playedBarWrap.removeChild(item);\n                            });\n                            for (var i = 0; i < _this2.player.options.highlight.length; i++) {\n                                if (!_this2.player.options.highlight[i].text || !_this2.player.options.highlight[i].time) {\n                                    continue;\n                                }\n                                var p = document.createElement('div');\n                                p.classList.add('dplayer-highlight');\n                                p.style.left = _this2.player.options.highlight[i].time / _this2.player.video.duration * 100 + '%';\n                                p.innerHTML = '<span class=\"dplayer-highlight-text\">' + _this2.player.options.highlight[i].text + '</span>';\n                                _this2.player.template.playedBarWrap.insertBefore(p, _this2.player.template.playedBarTime);\n                            }\n                        }\n                    }\n                });\n            }\n        },\n        {\n            key: 'initThumbnails',\n            value: function initThumbnails() {\n                var _this3 = this;\n                if (this.player.options.video.thumbnails) {\n                    this.thumbnails = new Thumbnails({\n                        container: this.player.template.barPreview,\n                        barWidth: this.player.template.barWrap.offsetWidth,\n                        url: this.player.options.video.thumbnails,\n                        events: this.player.events\n                    });\n                    this.player.on('loadedmetadata', function () {\n                        _this3.thumbnails.resize(160, _this3.player.video.videoHeight / _this3.player.video.videoWidth * 160, _this3.player.template.barWrap.offsetWidth);\n                    });\n                }\n            }\n        },\n        {\n            key: 'initPlayedBar',\n            value: function initPlayedBar() {\n                var _this4 = this;\n                var thumbMove = function thumbMove(e) {\n                    var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this4.player.template.playedBarWrap)) / _this4.player.template.playedBarWrap.clientWidth;\n                    percentage = Math.max(percentage, 0);\n                    percentage = Math.min(percentage, 1);\n                    _this4.player.bar.set('played', percentage, 'width');\n                    _this4.player.template.ptime.innerHTML = utils.secondToTime(percentage * _this4.player.video.duration);\n                };\n                var thumbUp = function thumbUp(e) {\n                    document.removeEventListener(utils.nameMap.dragEnd, thumbUp);\n                    document.removeEventListener(utils.nameMap.dragMove, thumbMove);\n                    var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this4.player.template.playedBarWrap)) / _this4.player.template.playedBarWrap.clientWidth;\n                    percentage = Math.max(percentage, 0);\n                    percentage = Math.min(percentage, 1);\n                    _this4.player.bar.set('played', percentage, 'width');\n                    _this4.player.seek(_this4.player.bar.get('played') * _this4.player.video.duration);\n                    _this4.player.timer.enable('progress');\n                };\n                this.player.template.playedBarWrap.addEventListener(utils.nameMap.dragStart, function () {\n                    _this4.player.timer.disable('progress');\n                    document.addEventListener(utils.nameMap.dragMove, thumbMove);\n                    document.addEventListener(utils.nameMap.dragEnd, thumbUp);\n                });\n                this.player.template.playedBarWrap.addEventListener(utils.nameMap.dragMove, function (e) {\n                    if (_this4.player.video.duration) {\n                        var px = _this4.player.template.playedBarWrap.getBoundingClientRect().left;\n                        var tx = (e.clientX || e.changedTouches[0].clientX) - px;\n                        if (tx < 0 || tx > _this4.player.template.playedBarWrap.offsetWidth) {\n                            return;\n                        }\n                        var time = _this4.player.video.duration * (tx / _this4.player.template.playedBarWrap.offsetWidth);\n                        if (utils.isMobile) {\n                            _this4.thumbnails && _this4.thumbnails.show();\n                        }\n                        _this4.thumbnails && _this4.thumbnails.move(tx);\n                        _this4.player.template.playedBarTime.style.left = ''.concat(tx - (time >= 3600 ? 25 : 20), 'px');\n                        _this4.player.template.playedBarTime.innerText = utils.secondToTime(time);\n                        _this4.player.template.playedBarTime.classList.remove('hidden');\n                    }\n                });\n                this.player.template.playedBarWrap.addEventListener(utils.nameMap.dragEnd, function () {\n                    if (utils.isMobile) {\n                        _this4.thumbnails && _this4.thumbnails.hide();\n                    }\n                });\n                if (!utils.isMobile) {\n                    this.player.template.playedBarWrap.addEventListener('mouseenter', function () {\n                        if (_this4.player.video.duration) {\n                            _this4.thumbnails && _this4.thumbnails.show();\n                            _this4.player.template.playedBarTime.classList.remove('hidden');\n                        }\n                    });\n                    this.player.template.playedBarWrap.addEventListener('mouseleave', function () {\n                        if (_this4.player.video.duration) {\n                            _this4.thumbnails && _this4.thumbnails.hide();\n                            _this4.player.template.playedBarTime.classList.add('hidden');\n                        }\n                    });\n                }\n            }\n        },\n        {\n            key: 'initFullButton',\n            value: function initFullButton() {\n                var _this5 = this;\n                this.player.template.browserFullButton.addEventListener('click', function () {\n                    _this5.player.fullScreen.toggle('browser');\n                });\n                this.player.template.webFullButton.addEventListener('click', function () {\n                    _this5.player.fullScreen.toggle('web');\n                });\n            }\n        },\n        {\n            key: 'initVolumeButton',\n            value: function initVolumeButton() {\n                var _this6 = this;\n                var vWidth = 35;\n                var volumeMove = function volumeMove(event) {\n                    var e = event || window.event;\n                    var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this6.player.template.volumeBarWrap) - 5.5) / vWidth;\n                    _this6.player.volume(percentage);\n                };\n                var volumeUp = function volumeUp() {\n                    document.removeEventListener(utils.nameMap.dragEnd, volumeUp);\n                    document.removeEventListener(utils.nameMap.dragMove, volumeMove);\n                    _this6.player.template.volumeButton.classList.remove('dplayer-volume-active');\n                };\n                this.player.template.volumeBarWrapWrap.addEventListener('click', function (event) {\n                    var e = event || window.event;\n                    var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this6.player.template.volumeBarWrap) - 5.5) / vWidth;\n                    _this6.player.volume(percentage);\n                });\n                this.player.template.volumeBarWrapWrap.addEventListener(utils.nameMap.dragStart, function () {\n                    document.addEventListener(utils.nameMap.dragMove, volumeMove);\n                    document.addEventListener(utils.nameMap.dragEnd, volumeUp);\n                    _this6.player.template.volumeButton.classList.add('dplayer-volume-active');\n                });\n                this.player.template.volumeButtonIcon.addEventListener('click', function () {\n                    if (_this6.player.video.muted) {\n                        _this6.player.video.muted = false;\n                        _this6.player.switchVolumeIcon();\n                        _this6.player.bar.set('volume', _this6.player.volume(), 'width');\n                    } else {\n                        _this6.player.video.muted = true;\n                        _this6.player.template.volumeIcon.innerHTML = Icons.volumeOff;\n                        _this6.player.bar.set('volume', 0, 'width');\n                    }\n                });\n            }\n        },\n        {\n            key: 'initQualityButton',\n            value: function initQualityButton() {\n                var _this7 = this;\n                if (this.player.options.video.quality) {\n                    this.player.template.qualityList.addEventListener('click', function (e) {\n                        if (e.target.classList.contains('dplayer-quality-item')) {\n                            _this7.player.switchQuality(e.target.dataset.index);\n                        }\n                    });\n                }\n            }\n        },\n        {\n            key: 'initScreenshotButton',\n            value: function initScreenshotButton() {\n                var _this8 = this;\n                if (this.player.options.screenshot) {\n                    this.player.template.camareButton.addEventListener('click', function () {\n                        var canvas = document.createElement('canvas');\n                        canvas.width = _this8.player.video.videoWidth;\n                        canvas.height = _this8.player.video.videoHeight;\n                        canvas.getContext('2d').drawImage(_this8.player.video, 0, 0, canvas.width, canvas.height);\n                        var dataURL;\n                        canvas.toBlob(function (blob) {\n                            dataURL = URL.createObjectURL(blob);\n                            var link = document.createElement('a');\n                            link.href = dataURL;\n                            link.download = 'DPlayer.png';\n                            link.style.display = 'none';\n                            document.body.appendChild(link);\n                            link.click();\n                            document.body.removeChild(link);\n                            URL.revokeObjectURL(dataURL);\n                            _this8.player.events.trigger('screenshot', dataURL);\n                        });\n                    });\n                }\n            }\n        },\n        {\n            key: 'initAirplayButton',\n            value: function initAirplayButton() {\n                if (this.player.options.airplay) {\n                    if (window.WebKitPlaybackTargetAvailabilityEvent) {\n                        this.player.video.addEventListener('webkitplaybacktargetavailabilitychanged', function (event) {\n                            switch (event.availability) {\n                            case 'available':\n                                this.template.airplayButton.disable = false;\n                                break;\n                            default:\n                                this.template.airplayButton.disable = true;\n                            }\n                            this.template.airplayButton.addEventListener('click', function () {\n                                this.video.webkitShowPlaybackTargetPicker();\n                            }.bind(this));\n                        }.bind(this.player));\n                    } else {\n                        this.player.template.airplayButton.style.display = 'none';\n                    }\n                }\n            }\n        },\n        {\n            key: 'initChromecast',\n            value: function initChromecast() {\n                var script = window.document.createElement('script');\n                script.setAttribute('type', 'text/javascript');\n                script.setAttribute('src', 'https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1');\n                window.document.body.appendChild(script);\n                window.__onGCastApiAvailable = function (isAvailable) {\n                    if (isAvailable) {\n                        cast = window.chrome.cast;\n                        var sessionRequest = new cast.SessionRequest(cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID);\n                        var apiConfig = new cast.ApiConfig(sessionRequest, function () {\n                        }, function (status) {\n                            if (status === cast.ReceiverAvailability.AVAILABLE) {\n                                console.log('chromecast: ', status);\n                            }\n                        });\n                        cast.initialize(apiConfig, function () {\n                        });\n                    }\n                };\n            }\n        },\n        {\n            key: 'initChromecastButton',\n            value: function initChromecastButton() {\n                var _this9 = this;\n                if (this.player.options.chromecast) {\n                    if (runOnce) {\n                        runOnce = false;\n                        this.initChromecast();\n                    }\n                    var discoverDevices = function discoverDevices() {\n                        cast.requestSession(function (s) {\n                            _this9.session = s;\n                            launchMedia(_this9.player.options.video.url);\n                        }, function (err) {\n                            if (err.code === 'cancel') {\n                                _this9.session = undefined;\n                            } else {\n                                console.error('Error selecting a cast device', err);\n                            }\n                        });\n                    };\n                    var launchMedia = function launchMedia(media) {\n                        var mediaInfo = new cast.media.MediaInfo(media);\n                        var request = new cast.media.LoadRequest(mediaInfo);\n                        if (!_this9.session) {\n                            window.open(media);\n                            return false;\n                        }\n                        _this9.session.loadMedia(request, onMediaDiscovered.bind(_this9, 'loadMedia'), onMediaError).play();\n                        return true;\n                    };\n                    var onMediaDiscovered = function onMediaDiscovered(how, media) {\n                        _this9.currentMedia = media;\n                    };\n                    var onMediaError = function onMediaError(err) {\n                        console.error('Error launching media', err);\n                    };\n                    this.player.template.chromecastButton.addEventListener('click', function () {\n                        if (isCasting) {\n                            isCasting = false;\n                            _this9.currentMedia.stop();\n                            _this9.session.stop();\n                            _this9.initChromecast();\n                        } else {\n                            isCasting = true;\n                            discoverDevices();\n                        }\n                    });\n                }\n            }\n        },\n        {\n            key: 'initSubtitleButton',\n            value: function initSubtitleButton() {\n                var _this10 = this;\n                this.player.events.on('subtitle_show', function () {\n                    _this10.player.template.subtitleButton.dataset.balloon = _this10.player.tran('hide-subs');\n                    _this10.player.template.subtitleButtonInner.style.opacity = '';\n                    _this10.player.user.set('subtitle', 1);\n                });\n                this.player.events.on('subtitle_hide', function () {\n                    _this10.player.template.subtitleButton.dataset.balloon = _this10.player.tran('show-subs');\n                    _this10.player.template.subtitleButtonInner.style.opacity = '0.4';\n                    _this10.player.user.set('subtitle', 0);\n                });\n                this.player.template.subtitleButton.addEventListener('click', function () {\n                    _this10.player.subtitle.toggle();\n                });\n            }\n        },\n        {\n            key: 'setAutoHide',\n            value: function setAutoHide() {\n                var _this11 = this;\n                this.show();\n                clearTimeout(this.autoHideTimer);\n                this.autoHideTimer = setTimeout(function () {\n                    if (_this11.player.video.played.length && !_this11.player.paused && !_this11.disableAutoHide) {\n                        _this11.hide();\n                    }\n                }, 3000);\n            }\n        },\n        {\n            key: 'show',\n            value: function show() {\n                this.player.container.classList.remove('dplayer-hide-controller');\n            }\n        },\n        {\n            key: 'hide',\n            value: function hide() {\n                this.player.container.classList.add('dplayer-hide-controller');\n                this.player.setting.hide();\n                this.player.comment && this.player.comment.hide();\n            }\n        },\n        {\n            key: 'isShow',\n            value: function isShow() {\n                return !this.player.container.classList.contains('dplayer-hide-controller');\n            }\n        },\n        {\n            key: 'toggle',\n            value: function toggle() {\n                if (this.isShow()) {\n                    this.hide();\n                } else {\n                    this.show();\n                }\n            }\n        },\n        {\n            key: 'destroy',\n            value: function destroy() {\n                if (!utils.isMobile) {\n                    this.player.container.removeEventListener('mousemove', this.setAutoHideHandler);\n                    this.player.container.removeEventListener('click', this.setAutoHideHandler);\n                }\n                clearTimeout(this.autoHideTimer);\n            }\n        }\n    ]);\n    return Controller;\n}();\nexport default Controller;","function _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nfunction _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if ('value' in descriptor)\n            descriptor.writable = true;\n        Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n    }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps)\n        _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps)\n        _defineProperties(Constructor, staticProps);\n    Object.defineProperty(Constructor, 'prototype', { writable: false });\n    return Constructor;\n}\nfunction _toPropertyKey(arg) {\n    var key = _toPrimitive(arg, 'string');\n    return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n    if (_typeof(input) !== 'object' || input === null)\n        return input;\n    var prim = input[Symbol.toPrimitive];\n    if (prim !== undefined) {\n        var res = prim.call(input, hint || 'default');\n        if (_typeof(res) !== 'object')\n            return res;\n        throw new TypeError('@@toPrimitive must return a primitive value.');\n    }\n    return (hint === 'string' ? String : Number)(input);\n}\nimport utils from './utils';\nvar Setting = function () {\n    function Setting(player) {\n        var _this = this;\n        _classCallCheck(this, Setting);\n        this.player = player;\n        this.player.template.mask.addEventListener('click', function () {\n            _this.hide();\n        });\n        this.player.template.settingButton.addEventListener('click', function () {\n            _this.show();\n        });\n        this.loop = this.player.options.loop;\n        this.player.template.loopToggle.checked = this.loop;\n        this.player.template.loop.addEventListener('click', function () {\n            _this.player.template.loopToggle.checked = !_this.player.template.loopToggle.checked;\n            if (_this.player.template.loopToggle.checked) {\n                _this.loop = true;\n            } else {\n                _this.loop = false;\n            }\n            _this.hide();\n        });\n        this.showDanmaku = this.player.user.get('danmaku');\n        if (!this.showDanmaku) {\n            this.player.danmaku && this.player.danmaku.hide();\n        }\n        this.player.template.showDanmakuToggle.checked = this.showDanmaku;\n        this.player.template.showDanmaku.addEventListener('click', function () {\n            _this.player.template.showDanmakuToggle.checked = !_this.player.template.showDanmakuToggle.checked;\n            if (_this.player.template.showDanmakuToggle.checked) {\n                _this.showDanmaku = true;\n                _this.player.danmaku.show();\n            } else {\n                _this.showDanmaku = false;\n                _this.player.danmaku.hide();\n            }\n            _this.player.user.set('danmaku', _this.showDanmaku ? 1 : 0);\n            _this.hide();\n        });\n        this.unlimitDanmaku = this.player.user.get('unlimited');\n        this.player.template.unlimitDanmakuToggle.checked = this.unlimitDanmaku;\n        this.player.template.unlimitDanmaku.addEventListener('click', function () {\n            _this.player.template.unlimitDanmakuToggle.checked = !_this.player.template.unlimitDanmakuToggle.checked;\n            if (_this.player.template.unlimitDanmakuToggle.checked) {\n                _this.unlimitDanmaku = true;\n                _this.player.danmaku.unlimit(true);\n            } else {\n                _this.unlimitDanmaku = false;\n                _this.player.danmaku.unlimit(false);\n            }\n            _this.player.user.set('unlimited', _this.unlimitDanmaku ? 1 : 0);\n            _this.hide();\n        });\n        this.player.template.speed.addEventListener('click', function () {\n            _this.player.template.settingBox.classList.add('dplayer-setting-box-narrow');\n            _this.player.template.settingBox.classList.add('dplayer-setting-box-speed');\n        });\n        var _loop = function _loop(i) {\n            _this.player.template.speedItem[i].addEventListener('click', function () {\n                _this.player.speed(_this.player.template.speedItem[i].dataset.speed);\n                _this.hide();\n            });\n        };\n        for (var i = 0; i < this.player.template.speedItem.length; i++) {\n            _loop(i);\n        }\n        if (this.player.danmaku) {\n            var dWidth = 130;\n            this.player.on('danmaku_opacity', function (percentage) {\n                _this.player.bar.set('danmaku', percentage, 'width');\n                _this.player.user.set('opacity', percentage);\n            });\n            this.player.danmaku.opacity(this.player.user.get('opacity'));\n            var danmakuMove = function danmakuMove(event) {\n                var e = event || window.event;\n                var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this.player.template.danmakuOpacityBarWrap)) / dWidth;\n                percentage = Math.max(percentage, 0);\n                percentage = Math.min(percentage, 1);\n                _this.player.danmaku.opacity(percentage);\n            };\n            var danmakuUp = function danmakuUp() {\n                document.removeEventListener(utils.nameMap.dragEnd, danmakuUp);\n                document.removeEventListener(utils.nameMap.dragMove, danmakuMove);\n                _this.player.template.danmakuOpacityBox.classList.remove('dplayer-setting-danmaku-active');\n            };\n            this.player.template.danmakuOpacityBarWrapWrap.addEventListener('click', function (event) {\n                var e = event || window.event;\n                var percentage = ((e.clientX || e.changedTouches[0].clientX) - utils.getBoundingClientRectViewLeft(_this.player.template.danmakuOpacityBarWrap)) / dWidth;\n                percentage = Math.max(percentage, 0);\n                percentage = Math.min(percentage, 1);\n                _this.player.danmaku.opacity(percentage);\n            });\n            this.player.template.danmakuOpacityBarWrapWrap.addEventListener(utils.nameMap.dragStart, function () {\n                document.addEventListener(utils.nameMap.dragMove, danmakuMove);\n                document.addEventListener(utils.nameMap.dragEnd, danmakuUp);\n                _this.player.template.danmakuOpacityBox.classList.add('dplayer-setting-danmaku-active');\n            });\n        }\n    }\n    _createClass(Setting, [\n        {\n            key: 'hide',\n            value: function hide() {\n                var _this2 = this;\n                this.player.template.settingBox.classList.remove('dplayer-setting-box-open');\n                this.player.template.mask.classList.remove('dplayer-mask-show');\n                setTimeout(function () {\n                    _this2.player.template.settingBox.classList.remove('dplayer-setting-box-narrow');\n                    _this2.player.template.settingBox.classList.remove('dplayer-setting-box-speed');\n                }, 300);\n                this.player.controller.disableAutoHide = false;\n            }\n        },\n        {\n            key: 'show',\n            value: function show() {\n                this.player.template.settingBox.classList.add('dplayer-setting-box-open');\n                this.player.template.mask.classList.add('dplayer-mask-show');\n                this.player.controller.disableAutoHide = true;\n            }\n        }\n    ]);\n    return Setting;\n}();\nexport default Setting;","function _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nfunction _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if ('value' in descriptor)\n            descriptor.writable = true;\n        Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n    }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps)\n        _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps)\n        _defineProperties(Constructor, staticProps);\n    Object.defineProperty(Constructor, 'prototype', { writable: false });\n    return Constructor;\n}\nfunction _toPropertyKey(arg) {\n    var key = _toPrimitive(arg, 'string');\n    return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n    if (_typeof(input) !== 'object' || input === null)\n        return input;\n    var prim = input[Symbol.toPrimitive];\n    if (prim !== undefined) {\n        var res = prim.call(input, hint || 'default');\n        if (_typeof(res) !== 'object')\n            return res;\n        throw new TypeError('@@toPrimitive must return a primitive value.');\n    }\n    return (hint === 'string' ? String : Number)(input);\n}\nimport utils from './utils';\nvar Comment = function () {\n    function Comment(player) {\n        var _this = this;\n        _classCallCheck(this, Comment);\n        this.player = player;\n        this.player.template.mask.addEventListener('click', function () {\n            _this.hide();\n        });\n        this.player.template.commentButton.addEventListener('click', function () {\n            _this.show();\n        });\n        this.player.template.commentSettingButton.addEventListener('click', function () {\n            _this.toggleSetting();\n        });\n        this.player.template.commentColorSettingBox.addEventListener('click', function () {\n            var sele = _this.player.template.commentColorSettingBox.querySelector('input:checked+span');\n            if (sele) {\n                var color = _this.player.template.commentColorSettingBox.querySelector('input:checked').value;\n                _this.player.template.commentSettingFill.style.fill = color;\n                _this.player.template.commentInput.style.color = color;\n                _this.player.template.commentSendFill.style.fill = color;\n            }\n        });\n        this.player.template.commentInput.addEventListener('click', function () {\n            _this.hideSetting();\n        });\n        this.player.template.commentInput.addEventListener('keydown', function (e) {\n            var event = e || window.event;\n            if (event.keyCode === 13) {\n                _this.send();\n            }\n        });\n        this.player.template.commentSendButton.addEventListener('click', function () {\n            _this.send();\n        });\n    }\n    _createClass(Comment, [\n        {\n            key: 'show',\n            value: function show() {\n                this.player.controller.disableAutoHide = true;\n                this.player.template.controller.classList.add('dplayer-controller-comment');\n                this.player.template.mask.classList.add('dplayer-mask-show');\n                this.player.container.classList.add('dplayer-show-controller');\n                this.player.template.commentInput.focus();\n            }\n        },\n        {\n            key: 'hide',\n            value: function hide() {\n                this.player.template.controller.classList.remove('dplayer-controller-comment');\n                this.player.template.mask.classList.remove('dplayer-mask-show');\n                this.player.container.classList.remove('dplayer-show-controller');\n                this.player.controller.disableAutoHide = false;\n                this.hideSetting();\n            }\n        },\n        {\n            key: 'showSetting',\n            value: function showSetting() {\n                this.player.template.commentSettingBox.classList.add('dplayer-comment-setting-open');\n            }\n        },\n        {\n            key: 'hideSetting',\n            value: function hideSetting() {\n                this.player.template.commentSettingBox.classList.remove('dplayer-comment-setting-open');\n            }\n        },\n        {\n            key: 'toggleSetting',\n            value: function toggleSetting() {\n                if (this.player.template.commentSettingBox.classList.contains('dplayer-comment-setting-open')) {\n                    this.hideSetting();\n                } else {\n                    this.showSetting();\n                }\n            }\n        },\n        {\n            key: 'send',\n            value: function send() {\n                var _this2 = this;\n                this.player.template.commentInput.blur();\n                if (!this.player.template.commentInput.value.replace(/^\\s+|\\s+$/g, '')) {\n                    this.player.notice(this.player.tran('please-input-danmaku'));\n                    return;\n                }\n                this.player.danmaku.send({\n                    text: this.player.template.commentInput.value,\n                    color: utils.color2Number(this.player.container.querySelector('.dplayer-comment-setting-color input:checked').value),\n                    type: parseInt(this.player.container.querySelector('.dplayer-comment-setting-type input:checked').value)\n                }, function () {\n                    _this2.player.template.commentInput.value = '';\n                    _this2.hide();\n                });\n            }\n        }\n    ]);\n    return Comment;\n}();\nexport default Comment;","function _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nfunction _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if ('value' in descriptor)\n            descriptor.writable = true;\n        Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n    }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps)\n        _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps)\n        _defineProperties(Constructor, staticProps);\n    Object.defineProperty(Constructor, 'prototype', { writable: false });\n    return Constructor;\n}\nfunction _toPropertyKey(arg) {\n    var key = _toPrimitive(arg, 'string');\n    return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n    if (_typeof(input) !== 'object' || input === null)\n        return input;\n    var prim = input[Symbol.toPrimitive];\n    if (prim !== undefined) {\n        var res = prim.call(input, hint || 'default');\n        if (_typeof(res) !== 'object')\n            return res;\n        throw new TypeError('@@toPrimitive must return a primitive value.');\n    }\n    return (hint === 'string' ? String : Number)(input);\n}\nvar HotKey = function () {\n    function HotKey(player) {\n        _classCallCheck(this, HotKey);\n        this.player = player;\n        this.doHotKeyHandler = this.doHotKey.bind(this);\n        this.cancelFullScreenHandler = this.cancelFullScreen.bind(this);\n        if (this.player.options.hotkey) {\n            document.addEventListener('keydown', this.doHotKeyHandler);\n        }\n        document.addEventListener('keydown', this.cancelFullScreenHandler);\n    }\n    _createClass(HotKey, [\n        {\n            key: 'doHotKey',\n            value: function doHotKey(e) {\n                if (this.player.focus) {\n                    var tag = document.activeElement.tagName.toUpperCase();\n                    var editable = document.activeElement.getAttribute('contenteditable');\n                    if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') {\n                        var event = e || window.event;\n                        var percentage;\n                        switch (event.keyCode) {\n                        case 32:\n                            event.preventDefault();\n                            this.player.toggle();\n                            break;\n                        case 37:\n                            event.preventDefault();\n                            if (this.player.options.live) {\n                                break;\n                            }\n                            this.player.seek(this.player.video.currentTime - 5);\n                            this.player.controller.setAutoHide();\n                            break;\n                        case 39:\n                            event.preventDefault();\n                            if (this.player.options.live) {\n                                break;\n                            }\n                            this.player.seek(this.player.video.currentTime + 5);\n                            this.player.controller.setAutoHide();\n                            break;\n                        case 38:\n                            event.preventDefault();\n                            percentage = this.player.volume() + 0.1;\n                            this.player.volume(percentage);\n                            break;\n                        case 40:\n                            event.preventDefault();\n                            percentage = this.player.volume() - 0.1;\n                            this.player.volume(percentage);\n                            break;\n                        }\n                    }\n                }\n            }\n        },\n        {\n            key: 'cancelFullScreen',\n            value: function cancelFullScreen(e) {\n                var event = e || window.event;\n                switch (event.keyCode) {\n                case 27:\n                    if (this.player.fullScreen.isFullScreen('web')) {\n                        this.player.fullScreen.cancel('web');\n                    }\n                    break;\n                }\n            }\n        },\n        {\n            key: 'destroy',\n            value: function destroy() {\n                if (this.player.options.hotkey) {\n                    document.removeEventListener('keydown', this.doHotKeyHandler);\n                }\n                document.removeEventListener('keydown', this.cancelFullScreenHandler);\n            }\n        }\n    ]);\n    return HotKey;\n}();\nexport default HotKey;","function _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nfunction _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if ('value' in descriptor)\n            descriptor.writable = true;\n        Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n    }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps)\n        _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps)\n        _defineProperties(Constructor, staticProps);\n    Object.defineProperty(Constructor, 'prototype', { writable: false });\n    return Constructor;\n}\nfunction _toPropertyKey(arg) {\n    var key = _toPrimitive(arg, 'string');\n    return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n    if (_typeof(input) !== 'object' || input === null)\n        return input;\n    var prim = input[Symbol.toPrimitive];\n    if (prim !== undefined) {\n        var res = prim.call(input, hint || 'default');\n        if (_typeof(res) !== 'object')\n            return res;\n        throw new TypeError('@@toPrimitive must return a primitive value.');\n    }\n    return (hint === 'string' ? String : Number)(input);\n}\nvar ContextMenu = function () {\n    function ContextMenu(player) {\n        var _this = this;\n        _classCallCheck(this, ContextMenu);\n        this.player = player;\n        this.shown = false;\n        Array.prototype.slice.call(this.player.template.menuItem).forEach(function (item, index) {\n            if (_this.player.options.contextmenu[index].click) {\n                item.addEventListener('click', function () {\n                    _this.player.options.contextmenu[index].click(_this.player);\n                    _this.hide();\n                });\n            }\n        });\n        this.contextmenuHandler = function (e) {\n            if (_this.shown) {\n                _this.hide();\n                return;\n            }\n            var event = e || window.event;\n            event.preventDefault();\n            var clientRect = _this.player.container.getBoundingClientRect();\n            _this.show(event.clientX - clientRect.left, event.clientY - clientRect.top);\n            _this.player.template.mask.addEventListener('click', function () {\n                _this.hide();\n            });\n        };\n        this.player.container.addEventListener('contextmenu', this.contextmenuHandler);\n    }\n    _createClass(ContextMenu, [\n        {\n            key: 'show',\n            value: function show(x, y) {\n                this.player.template.menu.classList.add('dplayer-menu-show');\n                var clientRect = this.player.container.getBoundingClientRect();\n                if (x + this.player.template.menu.offsetWidth >= clientRect.width) {\n                    this.player.template.menu.style.right = clientRect.width - x + 'px';\n                    this.player.template.menu.style.left = 'initial';\n                } else {\n                    this.player.template.menu.style.left = x + 'px';\n                    this.player.template.menu.style.right = 'initial';\n                }\n                if (y + this.player.template.menu.offsetHeight >= clientRect.height) {\n                    this.player.template.menu.style.bottom = clientRect.height - y + 'px';\n                    this.player.template.menu.style.top = 'initial';\n                } else {\n                    this.player.template.menu.style.top = y + 'px';\n                    this.player.template.menu.style.bottom = 'initial';\n                }\n                this.player.template.mask.classList.add('dplayer-mask-show');\n                this.shown = true;\n                this.player.events.trigger('contextmenu_show');\n            }\n        },\n        {\n            key: 'hide',\n            value: function hide() {\n                this.player.template.mask.classList.remove('dplayer-mask-show');\n                this.player.template.menu.classList.remove('dplayer-menu-show');\n                this.shown = false;\n                this.player.events.trigger('contextmenu_hide');\n            }\n        },\n        {\n            key: 'destroy',\n            value: function destroy() {\n                this.player.container.removeEventListener('contextmenu', this.contextmenuHandler);\n            }\n        }\n    ]);\n    return ContextMenu;\n}();\nexport default ContextMenu;","function _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nfunction _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if ('value' in descriptor)\n            descriptor.writable = true;\n        Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n    }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps)\n        _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps)\n        _defineProperties(Constructor, staticProps);\n    Object.defineProperty(Constructor, 'prototype', { writable: false });\n    return Constructor;\n}\nfunction _toPropertyKey(arg) {\n    var key = _toPrimitive(arg, 'string');\n    return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n    if (_typeof(input) !== 'object' || input === null)\n        return input;\n    var prim = input[Symbol.toPrimitive];\n    if (prim !== undefined) {\n        var res = prim.call(input, hint || 'default');\n        if (_typeof(res) !== 'object')\n            return res;\n        throw new TypeError('@@toPrimitive must return a primitive value.');\n    }\n    return (hint === 'string' ? String : Number)(input);\n}\nvar InfoPanel = function () {\n    function InfoPanel(player) {\n        var _this = this;\n        _classCallCheck(this, InfoPanel);\n        this.container = player.template.infoPanel;\n        this.template = player.template;\n        this.video = player.video;\n        this.player = player;\n        this.template.infoPanelClose.addEventListener('click', function () {\n            _this.hide();\n        });\n    }\n    _createClass(InfoPanel, [\n        {\n            key: 'show',\n            value: function show() {\n                this.beginTime = Date.now();\n                this.update();\n                this.player.timer.enable('info');\n                this.player.timer.enable('fps');\n                this.container.classList.remove('dplayer-info-panel-hide');\n            }\n        },\n        {\n            key: 'hide',\n            value: function hide() {\n                this.player.timer.disable('info');\n                this.player.timer.disable('fps');\n                this.container.classList.add('dplayer-info-panel-hide');\n            }\n        },\n        {\n            key: 'triggle',\n            value: function triggle() {\n                if (this.container.classList.contains('dplayer-info-panel-hide')) {\n                    this.show();\n                } else {\n                    this.hide();\n                }\n            }\n        },\n        {\n            key: 'update',\n            value: function update() {\n                this.template.infoVersion.innerHTML = 'v'.concat(DPLAYER_VERSION, ' ').concat(GIT_HASH);\n                this.template.infoType.innerHTML = this.player.type;\n                this.template.infoUrl.innerHTML = this.player.options.video.url;\n                this.template.infoResolution.innerHTML = ''.concat(this.player.video.videoWidth, ' x ').concat(this.player.video.videoHeight);\n                this.template.infoDuration.innerHTML = this.player.video.duration;\n                if (this.player.options.danmaku) {\n                    this.template.infoDanmakuId.innerHTML = this.player.options.danmaku.id;\n                    this.template.infoDanmakuApi.innerHTML = this.player.options.danmaku.api;\n                    this.template.infoDanmakuAmount.innerHTML = this.player.danmaku.dan.length;\n                }\n            }\n        },\n        {\n            key: 'fps',\n            value: function fps(value) {\n                this.template.infoFPS.innerHTML = ''.concat(value.toFixed(1));\n            }\n        }\n    ]);\n    return InfoPanel;\n}();\nexport default InfoPanel;","function _typeof(obj) {\n    '@babel/helpers - typeof';\n    return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (obj) {\n        return typeof obj;\n    } : function (obj) {\n        return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n    }, _typeof(obj);\n}\nfunction ownKeys(object, enumerableOnly) {\n    var keys = Object.keys(object);\n    if (Object.getOwnPropertySymbols) {\n        var symbols = Object.getOwnPropertySymbols(object);\n        enumerableOnly && (symbols = symbols.filter(function (sym) {\n            return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n        })), keys.push.apply(keys, symbols);\n    }\n    return keys;\n}\nfunction _objectSpread(target) {\n    for (var i = 1; i < arguments.length; i++) {\n        var source = null != arguments[i] ? arguments[i] : {};\n        i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n            _defineProperty(target, key, source[key]);\n        }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n            Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n        });\n    }\n    return target;\n}\nfunction _defineProperty(obj, key, value) {\n    key = _toPropertyKey(key);\n    if (key in obj) {\n        Object.defineProperty(obj, key, {\n            value: value,\n            enumerable: true,\n            configurable: true,\n            writable: true\n        });\n    } else {\n        obj[key] = value;\n    }\n    return obj;\n}\nfunction _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n        throw new TypeError('Cannot call a class as a function');\n    }\n}\nfunction _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n        var descriptor = props[i];\n        descriptor.enumerable = descriptor.enumerable || false;\n        descriptor.configurable = true;\n        if ('value' in descriptor)\n            descriptor.writable = true;\n        Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n    }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps)\n        _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps)\n        _defineProperties(Constructor, staticProps);\n    Object.defineProperty(Constructor, 'prototype', { writable: false });\n    return Constructor;\n}\nfunction _toPropertyKey(arg) {\n    var key = _toPrimitive(arg, 'string');\n    return _typeof(key) === 'symbol' ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n    if (_typeof(input) !== 'object' || input === null)\n        return input;\n    var prim = input[Symbol.toPrimitive];\n    if (prim !== undefined) {\n        var res = prim.call(input, hint || 'default');\n        if (_typeof(res) !== 'object')\n            return res;\n        throw new TypeError('@@toPrimitive must return a primitive value.');\n    }\n    return (hint === 'string' ? String : Number)(input);\n}\nimport Promise from 'promise-polyfill';\nimport utils from './utils';\nimport handleOption from './options';\nimport { i18n } from './i18n';\nimport Template from './template';\nimport Icons from './icons';\nimport Danmaku from './danmaku';\nimport Events from './events';\nimport FullScreen from './fullscreen';\nimport User from './user';\nimport Subtitle from './subtitle';\nimport Subtitles from './subtitles';\nimport Bar from './bar';\nimport Timer from './timer';\nimport Bezel from './bezel';\nimport Controller from './controller';\nimport Setting from './setting';\nimport Comment from './comment';\nimport HotKey from './hotkey';\nimport ContextMenu from './contextmenu';\nimport InfoPanel from './info-panel';\nimport tplVideo from '../template/video.art';\nvar index = 0;\nvar instances = [];\nvar DPlayer = function () {\n    function DPlayer(options) {\n        var _this = this;\n        _classCallCheck(this, DPlayer);\n        this.options = handleOption(_objectSpread({ preload: options.video.type === 'webtorrent' ? 'none' : 'metadata' }, options));\n        if (this.options.video.quality) {\n            this.qualityIndex = this.options.video.defaultQuality;\n            this.quality = this.options.video.quality[this.options.video.defaultQuality];\n        }\n        this.tran = new i18n(this.options.lang).tran;\n        this.events = new Events();\n        this.user = new User(this);\n        this.container = this.options.container;\n        this.noticeList = {};\n        this.container.classList.add('dplayer');\n        if (!this.options.danmaku) {\n            this.container.classList.add('dplayer-no-danmaku');\n        }\n        if (this.options.live) {\n            this.container.classList.add('dplayer-live');\n        } else {\n            this.container.classList.remove('dplayer-live');\n        }\n        if (utils.isMobile) {\n            this.container.classList.add('dplayer-mobile');\n        }\n        this.arrow = this.container.offsetWidth <= 500;\n        if (this.arrow) {\n            this.container.classList.add('dplayer-arrow');\n        }\n        if (this.options.subtitle) {\n            if (Array.isArray(this.options.subtitle.url)) {\n                var offSubtitle = {\n                    subtitle: '',\n                    lang: 'off'\n                };\n                this.options.subtitle.url.push(offSubtitle);\n                if (this.options.subtitle.defaultSubtitle) {\n                    if (typeof this.options.subtitle.defaultSubtitle === 'string') {\n                        this.options.subtitle.index = this.options.subtitle.url.findIndex(function (sub) {\n                            return sub.lang === _this.options.subtitle.defaultSubtitle ? true : sub.name === _this.options.subtitle.defaultSubtitle ? true : false;\n                        });\n                    } else if (typeof this.options.subtitle.defaultSubtitle === 'number') {\n                        this.options.subtitle.index = this.options.subtitle.defaultSubtitle;\n                    }\n                }\n                if (this.options.subtitle.index === -1 || !this.options.subtitle.index || this.options.subtitle.index > this.options.subtitle.url.length - 1) {\n                    this.options.subtitle.index = this.options.subtitle.url.findIndex(function (sub) {\n                        return sub.lang === _this.options.lang;\n                    });\n                }\n                if (this.options.subtitle.index === -1) {\n                    this.options.subtitle.index = this.options.subtitle.url.length - 1;\n                }\n            }\n        }\n        this.template = new Template({\n            container: this.container,\n            options: this.options,\n            index: index,\n            tran: this.tran\n        });\n        this.video = this.template.video;\n        this.bar = new Bar(this.template);\n        this.bezel = new Bezel(this.template.bezel);\n        this.fullScreen = new FullScreen(this);\n        this.controller = new Controller(this);\n        if (this.options.danmaku) {\n            this.danmaku = new Danmaku({\n                player: this,\n                container: this.template.danmaku,\n                opacity: this.user.get('opacity'),\n                callback: function callback() {\n                    setTimeout(function () {\n                        _this.template.danmakuLoading.style.display = 'none';\n                        if (_this.options.autoplay) {\n                            _this.play();\n                        }\n                    }, 0);\n                },\n                error: function error(msg) {\n                    _this.notice(msg);\n                },\n                apiBackend: this.options.apiBackend,\n                borderColor: this.options.theme,\n                height: this.arrow ? 24 : 30,\n                time: function time() {\n                    return _this.video.currentTime;\n                },\n                unlimited: this.user.get('unlimited'),\n                api: {\n                    id: this.options.danmaku.id,\n                    address: this.options.danmaku.api,\n                    token: this.options.danmaku.token,\n                    maximum: this.options.danmaku.maximum,\n                    addition: this.options.danmaku.addition,\n                    user: this.options.danmaku.user,\n                    speedRate: this.options.danmaku.speedRate\n                },\n                events: this.events,\n                tran: function tran(msg) {\n                    return _this.tran(msg);\n                }\n            });\n            this.comment = new Comment(this);\n        }\n        this.setting = new Setting(this);\n        this.plugins = {};\n        this.docClickFun = function () {\n            _this.focus = false;\n        };\n        this.containerClickFun = function () {\n            _this.focus = true;\n        };\n        document.addEventListener('click', this.docClickFun, true);\n        this.container.addEventListener('click', this.containerClickFun, true);\n        this.paused = true;\n        this.timer = new Timer(this);\n        this.hotkey = new HotKey(this);\n        this.contextmenu = new ContextMenu(this);\n        this.initVideo(this.video, this.quality && this.quality.type || this.options.video.type);\n        this.infoPanel = new InfoPanel(this);\n        if (!this.danmaku && this.options.autoplay) {\n            this.play();\n        }\n        index++;\n        instances.push(this);\n    }\n    _createClass(DPlayer, [\n        {\n            key: 'seek',\n            value: function seek(time) {\n                time = Math.max(time, 0);\n                if (this.video.duration) {\n                    time = Math.min(time, this.video.duration);\n                }\n                if (this.video.currentTime < time) {\n                    this.notice(''.concat(this.tran('ff').replace('%s', (time - this.video.currentTime).toFixed(0))));\n                } else if (this.video.currentTime > time) {\n                    this.notice(''.concat(this.tran('rew').replace('%s', (this.video.currentTime - time).toFixed(0))));\n                }\n                this.video.currentTime = time;\n                if (this.danmaku) {\n                    this.danmaku.seek();\n                }\n                this.bar.set('played', time / this.video.duration, 'width');\n                this.template.ptime.innerHTML = utils.secondToTime(time);\n            }\n        },\n        {\n            key: 'play',\n            value: function play(fromNative) {\n                var _this2 = this;\n                this.paused = false;\n                if (this.video.paused && !utils.isMobile) {\n                    this.bezel['switch'](Icons.play);\n                }\n                this.template.playButton.innerHTML = Icons.pause;\n                this.template.mobilePlayButton.innerHTML = Icons.pause;\n                if (!fromNative) {\n                    var playedPromise = Promise.resolve(this.video.play());\n                    playedPromise['catch'](function () {\n                        _this2.pause();\n                    }).then(function () {\n                    });\n                }\n                this.timer.enable('loading');\n                this.container.classList.remove('dplayer-paused');\n                this.container.classList.add('dplayer-playing');\n                if (this.danmaku) {\n                    this.danmaku.play();\n                }\n                if (this.options.mutex) {\n                    for (var i = 0; i < instances.length; i++) {\n                        if (this !== instances[i]) {\n                            instances[i].pause();\n                        }\n                    }\n                }\n            }\n        },\n        {\n            key: 'pause',\n            value: function pause(fromNative) {\n                this.paused = true;\n                this.container.classList.remove('dplayer-loading');\n                if (!this.video.paused && !utils.isMobile) {\n                    this.bezel['switch'](Icons.pause);\n                }\n                this.template.playButton.innerHTML = Icons.play;\n                this.template.mobilePlayButton.innerHTML = Icons.play;\n                if (!fromNative) {\n                    this.video.pause();\n                }\n                this.timer.disable('loading');\n                this.container.classList.remove('dplayer-playing');\n                this.container.classList.add('dplayer-paused');\n                if (this.danmaku) {\n                    this.danmaku.pause();\n                }\n            }\n        },\n        {\n            key: 'switchVolumeIcon',\n            value: function switchVolumeIcon() {\n                if (this.volume() >= 0.95) {\n                    this.template.volumeIcon.innerHTML = Icons.volumeUp;\n                } else if (this.volume() > 0) {\n                    this.template.volumeIcon.innerHTML = Icons.volumeDown;\n                } else {\n                    this.template.volumeIcon.innerHTML = Icons.volumeOff;\n                }\n            }\n        },\n        {\n            key: 'volume',\n            value: function volume(percentage, nostorage, nonotice) {\n                percentage = parseFloat(percentage);\n                if (!isNaN(percentage)) {\n                    percentage = Math.max(percentage, 0);\n                    percentage = Math.min(percentage, 1);\n                    this.bar.set('volume', percentage, 'width');\n                    var formatPercentage = ''.concat((percentage * 100).toFixed(0), '%');\n                    this.template.volumeBarWrapWrap.dataset.balloon = formatPercentage;\n                    if (!nostorage) {\n                        this.user.set('volume', percentage);\n                    }\n                    if (!nonotice) {\n                        this.notice(''.concat(this.tran('volume'), ' ').concat((percentage * 100).toFixed(0), '%'), undefined, undefined, 'volume');\n                    }\n                    this.video.volume = percentage;\n                    if (this.video.muted) {\n                        this.video.muted = false;\n                    }\n                    this.switchVolumeIcon();\n                }\n                return this.video.volume;\n            }\n        },\n        {\n            key: 'toggle',\n            value: function toggle() {\n                if (this.video.paused) {\n                    this.play();\n                } else {\n                    this.pause();\n                }\n            }\n        },\n        {\n            key: 'on',\n            value: function on(name, callback) {\n                this.events.on(name, callback);\n            }\n        },\n        {\n            key: 'switchVideo',\n            value: function switchVideo(video, danmakuAPI) {\n                this.pause();\n                this.video.poster = video.pic ? video.pic : '';\n                this.video.src = video.url;\n                this.initMSE(this.video, video.type || 'auto');\n                if (danmakuAPI) {\n                    this.template.danmakuLoading.style.display = 'block';\n                    this.bar.set('played', 0, 'width');\n                    this.bar.set('loaded', 0, 'width');\n                    this.template.ptime.innerHTML = '00:00';\n                    this.template.danmaku.innerHTML = '';\n                    if (this.danmaku) {\n                        this.danmaku.reload({\n                            id: danmakuAPI.id,\n                            address: danmakuAPI.api,\n                            token: danmakuAPI.token,\n                            maximum: danmakuAPI.maximum,\n                            addition: danmakuAPI.addition,\n                            user: danmakuAPI.user\n                        });\n                    }\n                }\n            }\n        },\n        {\n            key: 'initMSE',\n            value: function initMSE(video, type) {\n                var _this3 = this;\n                this.type = type;\n                if (this.options.video.customType && this.options.video.customType[type]) {\n                    if (Object.prototype.toString.call(this.options.video.customType[type]) === '[object Function]') {\n                        this.options.video.customType[type](this.video, this);\n                    } else {\n                        console.error('Illegal customType: '.concat(type));\n                    }\n                } else {\n                    if (this.type === 'auto') {\n                        if (/m3u8(#|\\?|$)/i.exec(video.src)) {\n                            this.type = 'hls';\n                        } else if (/.flv(#|\\?|$)/i.exec(video.src)) {\n                            this.type = 'flv';\n                        } else if (/.mpd(#|\\?|$)/i.exec(video.src)) {\n                            this.type = 'dash';\n                        } else {\n                            this.type = 'normal';\n                        }\n                    }\n                    if (this.type === 'hls' && (video.canPlayType('application/x-mpegURL') || video.canPlayType('application/vnd.apple.mpegURL'))) {\n                        this.type = 'normal';\n                    }\n                    switch (this.type) {\n                    case 'hls':\n                        if (window.Hls) {\n                            if (window.Hls.isSupported()) {\n                                var options = this.options.pluginOptions.hls;\n                                var hls = new window.Hls(options);\n                                this.plugins.hls = hls;\n                                hls.loadSource(video.src);\n                                hls.attachMedia(video);\n                                this.events.on('destroy', function () {\n                                    hls.destroy();\n                                    delete _this3.plugins.hls;\n                                });\n                            } else {\n                                this.notice('Error: Hls is not supported.');\n                            }\n                        } else {\n                            this.notice('Error: Can\\'t find Hls.');\n                        }\n                        break;\n                    case 'flv':\n                        if (window.flvjs) {\n                            if (window.flvjs.isSupported()) {\n                                var flvPlayer = window.flvjs.createPlayer(Object.assign(this.options.pluginOptions.flv.mediaDataSource || {}, {\n                                    type: 'flv',\n                                    url: video.src\n                                }), this.options.pluginOptions.flv.config);\n                                this.plugins.flvjs = flvPlayer;\n                                flvPlayer.attachMediaElement(video);\n                                flvPlayer.load();\n                                this.events.on('destroy', function () {\n                                    flvPlayer.unload();\n                                    flvPlayer.detachMediaElement();\n                                    flvPlayer.destroy();\n                                    delete _this3.plugins.flvjs;\n                                });\n                            } else {\n                                this.notice('Error: flvjs is not supported.');\n                            }\n                        } else {\n                            this.notice('Error: Can\\'t find flvjs.');\n                        }\n                        break;\n                    case 'dash':\n                        if (window.dashjs) {\n                            var dashjsPlayer = window.dashjs.MediaPlayer().create().initialize(video, video.src, false);\n                            var _options = this.options.pluginOptions.dash;\n                            dashjsPlayer.updateSettings(_options);\n                            this.plugins.dash = dashjsPlayer;\n                            this.events.on('destroy', function () {\n                                window.dashjs.MediaPlayer().reset();\n                                delete _this3.plugins.dash;\n                            });\n                        } else {\n                            this.notice('Error: Can\\'t find dashjs.');\n                        }\n                        break;\n                    case 'webtorrent':\n                        if (window.WebTorrent) {\n                            if (window.WebTorrent.WEBRTC_SUPPORT) {\n                                this.container.classList.add('dplayer-loading');\n                                var _options2 = this.options.pluginOptions.webtorrent;\n                                var client = new window.WebTorrent(_options2);\n                                this.plugins.webtorrent = client;\n                                var torrentId = video.src;\n                                video.src = '';\n                                video.preload = 'metadata';\n                                video.addEventListener('durationchange', function () {\n                                    return _this3.container.classList.remove('dplayer-loading');\n                                }, { once: true });\n                                client.add(torrentId, function (torrent) {\n                                    var file = torrent.files.find(function (file) {\n                                        return file.name.endsWith('.mp4');\n                                    });\n                                    file.renderTo(_this3.video, {\n                                        autoplay: _this3.options.autoplay,\n                                        controls: false\n                                    });\n                                });\n                                this.events.on('destroy', function () {\n                                    client.remove(torrentId);\n                                    client.destroy();\n                                    delete _this3.plugins.webtorrent;\n                                });\n                            } else {\n                                this.notice('Error: Webtorrent is not supported.');\n                            }\n                        } else {\n                            this.notice('Error: Can\\'t find Webtorrent.');\n                        }\n                        break;\n                    }\n                }\n            }\n        },\n        {\n            key: 'initVideo',\n            value: function initVideo(video, type) {\n                var _this4 = this;\n                this.initMSE(video, type);\n                this.on('durationchange', function () {\n                    if (video.duration !== 1 && video.duration !== Infinity) {\n                        _this4.template.dtime.innerHTML = utils.secondToTime(video.duration);\n                    }\n                });\n                this.on('progress', function () {\n                    var percentage = video.buffered.length ? video.buffered.end(video.buffered.length - 1) / video.duration : 0;\n                    _this4.bar.set('loaded', percentage, 'width');\n                });\n                this.on('error', function () {\n                    if (!_this4.video.error) {\n                        return;\n                    }\n                    _this4.tran && _this4.notice && _this4.type !== 'webtorrent' && _this4.notice(_this4.tran('video-failed'));\n                });\n                this.on('ended', function () {\n                    _this4.bar.set('played', 1, 'width');\n                    if (!_this4.setting.loop) {\n                        _this4.pause();\n                    } else {\n                        _this4.seek(0);\n                        _this4.play();\n                    }\n                    if (_this4.danmaku) {\n                        _this4.danmaku.danIndex = 0;\n                    }\n                });\n                this.on('play', function () {\n                    if (_this4.paused) {\n                        _this4.play(true);\n                    }\n                });\n                this.on('pause', function () {\n                    if (!_this4.paused) {\n                        _this4.pause(true);\n                    }\n                });\n                this.on('timeupdate', function () {\n                    _this4.bar.set('played', _this4.video.currentTime / _this4.video.duration, 'width');\n                    var currentTime = utils.secondToTime(_this4.video.currentTime);\n                    if (_this4.template.ptime.innerHTML !== currentTime) {\n                        _this4.template.ptime.innerHTML = currentTime;\n                    }\n                });\n                var _loop = function _loop(i) {\n                    video.addEventListener(_this4.events.videoEvents[i], function (e) {\n                        _this4.events.trigger(_this4.events.videoEvents[i], e);\n                    });\n                };\n                for (var i = 0; i < this.events.videoEvents.length; i++) {\n                    _loop(i);\n                }\n                this.volume(this.user.get('volume'), true, true);\n                if (this.options.subtitle) {\n                    this.subtitle = new Subtitle(this.template.subtitle, this.video, this.options.subtitle, this.events);\n                    if (Array.isArray(this.options.subtitle.url)) {\n                        this.subtitles = new Subtitles(this);\n                    }\n                    if (!this.user.get('subtitle')) {\n                        this.subtitle.hide();\n                    }\n                }\n            }\n        },\n        {\n            key: 'switchQuality',\n            value: function switchQuality(index) {\n                var _this5 = this;\n                index = typeof index === 'string' ? parseInt(index) : index;\n                if (this.qualityIndex === index || this.switchingQuality) {\n                    return;\n                } else {\n                    this.prevIndex = this.qualityIndex;\n                    this.qualityIndex = index;\n                }\n                this.switchingQuality = true;\n                this.quality = this.options.video.quality[index];\n                this.template.qualityButton.innerHTML = this.quality.name;\n                var paused = this.video.paused;\n                this.video.pause();\n                var videoHTML = tplVideo({\n                    current: false,\n                    pic: null,\n                    screenshot: this.options.screenshot,\n                    preload: 'auto',\n                    url: this.quality.url,\n                    subtitle: this.options.subtitle\n                });\n                var videoEle = new DOMParser().parseFromString(videoHTML, 'text/html').body.firstChild;\n                this.template.videoWrap.insertBefore(videoEle, this.template.videoWrap.getElementsByTagName('div')[0]);\n                this.prevVideo = this.video;\n                this.video = videoEle;\n                this.initVideo(this.video, this.quality.type || this.options.video.type);\n                this.seek(this.prevVideo.currentTime);\n                this.notice(''.concat(this.tran('switching-quality').replace('%q', this.quality.name)), -1, undefined, 'switch-quality');\n                this.events.trigger('quality_start', this.quality);\n                this.on('canplay', function () {\n                    if (_this5.prevVideo) {\n                        if (_this5.video.currentTime !== _this5.prevVideo.currentTime) {\n                            _this5.seek(_this5.prevVideo.currentTime);\n                            return;\n                        }\n                        _this5.template.videoWrap.removeChild(_this5.prevVideo);\n                        _this5.video.classList.add('dplayer-video-current');\n                        if (!paused) {\n                            _this5.video.play();\n                        }\n                        _this5.prevVideo = null;\n                        _this5.notice(''.concat(_this5.tran('switched-quality').replace('%q', _this5.quality.name)), undefined, undefined, 'switch-quality');\n                        _this5.switchingQuality = false;\n                        _this5.events.trigger('quality_end');\n                    }\n                });\n                this.on('error', function () {\n                    if (!_this5.video.error) {\n                        return;\n                    }\n                    if (_this5.prevVideo) {\n                        _this5.template.videoWrap.removeChild(_this5.video);\n                        _this5.video = _this5.prevVideo;\n                        if (!paused) {\n                            _this5.video.play();\n                        }\n                        _this5.qualityIndex = _this5.prevIndex;\n                        _this5.quality = _this5.options.video.quality[_this5.qualityIndex];\n                        _this5.noticeTime = setTimeout(function () {\n                            _this5.template.notice.style.opacity = 0;\n                            _this5.events.trigger('notice_hide');\n                        }, 3000);\n                        _this5.prevVideo = null;\n                        _this5.switchingQuality = false;\n                    }\n                });\n            }\n        },\n        {\n            key: 'notice',\n            value: function notice(text) {\n                var time = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2000;\n                var opacity = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.8;\n                var id = arguments.length > 3 ? arguments[3] : undefined;\n                var oldNoticeEle;\n                if (id) {\n                    oldNoticeEle = document.getElementById('dplayer-notice-'.concat(id));\n                    if (oldNoticeEle) {\n                        oldNoticeEle.innerHTML = text;\n                    }\n                    if (this.noticeList[id]) {\n                        clearTimeout(this.noticeList[id]);\n                        this.noticeList[id] = null;\n                    }\n                }\n                if (!oldNoticeEle) {\n                    var notice = Template.NewNotice(text, opacity, id);\n                    this.template.noticeList.appendChild(notice);\n                    oldNoticeEle = notice;\n                }\n                this.events.trigger('notice_show', oldNoticeEle);\n                if (time > 0) {\n                    this.noticeList[id] = setTimeout(function (e, dp) {\n                        return function () {\n                            e.addEventListener('animationend', function () {\n                                dp.template.noticeList.removeChild(e);\n                            });\n                            e.classList.add('remove-notice');\n                            dp.events.trigger('notice_hide');\n                            dp.noticeList[id] = null;\n                        };\n                    }(oldNoticeEle, this), time);\n                }\n            }\n        },\n        {\n            key: 'resize',\n            value: function resize() {\n                if (this.danmaku) {\n                    this.danmaku.resize();\n                }\n                if (this.controller.thumbnails) {\n                    this.controller.thumbnails.resize(160, this.video.videoHeight / this.video.videoWidth * 160, this.template.barWrap.offsetWidth);\n                }\n                this.events.trigger('resize');\n            }\n        },\n        {\n            key: 'speed',\n            value: function speed(rate) {\n                this.video.playbackRate = rate;\n            }\n        },\n        {\n            key: 'destroy',\n            value: function destroy() {\n                instances.splice(instances.indexOf(this), 1);\n                this.pause();\n                document.removeEventListener('click', this.docClickFun, true);\n                this.container.removeEventListener('click', this.containerClickFun, true);\n                this.fullScreen.destroy();\n                this.hotkey.destroy();\n                this.contextmenu.destroy();\n                this.controller.destroy();\n                this.timer.destroy();\n                this.video.src = '';\n                this.container.innerHTML = '';\n                this.events.trigger('destroy');\n            }\n        }\n    ], [{\n            key: 'version',\n            get: function get() {\n                return DPLAYER_VERSION;\n            }\n        }]);\n    return DPlayer;\n}();\nexport default DPlayer;","import '../css/index.less';\nimport DPlayer from './player';\nconsole.log('\\n'.concat(' %c DPlayer v', DPLAYER_VERSION, ' ').concat(GIT_HASH, ' %c https://dplayer.diygod.dev ', '\\n', '\\n'), 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');\nexport default DPlayer;"],"names":["root","factory","exports","module","define","amd","self","___CSS_LOADER_EXPORT___","push","id","___CSS_LOADER_URL_IMPORT_0___","URL","i","___CSS_LOADER_URL_REPLACEMENT_0___","stylesInDOM","getIndexByIdentifier","identifier","result","length","modulesToDom","list","options","idCountMap","identifiers","item","base","count","concat","indexByIdentifier","obj","css","media","sourceMap","supports","layer","references","updater","addElementStyle","byIndex","splice","api","domAPI","update","newObj","remove","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","memo","insert","style","target","styleTarget","document","querySelector","window","HTMLIFrameElement","contentDocument","head","e","getTarget","Error","appendChild","element","createElement","setAttributes","attributes","styleElement","nonce","setAttribute","insertStyleElement","needLayer","btoa","unescape","encodeURIComponent","JSON","stringify","styleTagTransform","apply","parentNode","removeChild","removeStyleElement","styleSheet","cssText","firstChild","createTextNode","globalThis","g","runtime","Object","create","ESCAPE_REG","toString","value","call","$escape","content","html","regexResult","exec","lastIndex","_char","charCodeAt","substring","xmlEscape","$each","data","callback","Array","isArray","len","cssWithMappingToString","this","map","join","modules","dedupe","undefined","alreadyImportedModules","k","_k","url","String","__esModule","test","slice","hash","needQuotes","replace","cssMapping","base64","sourceMapping","_typeof","Symbol","iterator","constructor","prototype","FormData","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","m","n","getter","d","a","definition","key","o","defineProperty","enumerable","get","Function","prop","hasOwnProperty","b","baseURI","location","href","nc","AggregateError","errors","message","name","setTimeoutFunc","setTimeout","x","Boolean","noop","fn","TypeError","_state","_handled","_value","_deferreds","doResolve","handle","deferred","_immediateFn","cb","onFulfilled","onRejected","ret","reject","promise","resolve","newValue","then","finale","thisArg","arguments","_unhandledRejectionFn","Handler","done","reason","ex","prom","all","arr","args","remaining","res","val","any","P","rejectionReasons","error","allSettled","status","race","setImmediate","err","console","warn","isMobile","navigator","userAgent","secondToTime","second","Infinity","hour","Math","floor","min","sec","num","getElementViewLeft","actualLeft","offsetLeft","current","offsetParent","elementScrollLeft","body","scrollLeft","documentElement","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","getBoundingClientRectViewLeft","scrollTop","scrollY","pageYOffset","getBoundingClientRect","offset","temp","top","rect","left","getScrollPosition","pageXOffset","setScrollPosition","_ref","_ref$left","_ref$top","isFirefox","scrollTo","isChrome","isSafari","storage","set","localStorage","setItem","getItem","nameMap","dragStart","dragMove","dragEnd","color2Number","color","substr","parseInt","number2Color","number","number2Type","cache","getPrototypeOf","kindOf","thing","str","toLowerCase","kindOfTest","type","typeOfTest","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","toStringTag","isDate","isFile","isBlob","isFileList","isURLSearchParams","forEach","l","_ref$allOwnKeys","allOwnKeys","keys","getOwnPropertyNames","findKey","_key","TypedArray","_global","global","isContextDefined","context","isTypedArray","Uint8Array","isHTMLForm","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","descriptor","defineProperties","isBuffer","isFormData","pattern","isArrayBufferView","ArrayBuffer","isView","buffer","isBoolean","isStream","pipe","merge","_ref2","caseless","assignValue","targetKey","extend","_ref3","trim","stripBOM","inherits","superConstructor","props","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","indexOf","toArray","forEachEntry","next","pair","matchAll","regExp","matches","hasOwnProp","freezeMethods","writable","toObjectSet","arrayOrString","delimiter","split","toCamelCase","p1","p2","toUpperCase","toFiniteNumber","defaultValue","Number","isFinite","toJSONObject","stack","visit","source","reducedValue","AxiosError","code","config","request","response","captureStackTrace","toJSON","description","fileName","lineNumber","columnNumber","from","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","token","predicates","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","append","convertValue","toISOString","Buffer","some","isFlatArray","el","exposedHelpers","build","pop","encode","charMap","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","serializedParams","serializeFn","serialize","hashmarkIndex","_defineProperties","configurable","input","hint","prim","toPrimitive","_toPrimitive","InterceptorManager","instance","Constructor","_classCallCheck","handlers","protoProps","fulfilled","rejected","synchronous","runWhen","h","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","URLSearchParams","product","isStandardBrowserEnv","isStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","isBrowser","classes","protocols","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","DEFAULT_CONTENT_TYPE","defaults","transitional","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","helpers","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","method","ignoreDuplicateOf","_arrayLikeToArray","arr2","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","AxiosHeaders","_Symbol$iterator","_Symbol$toStringTag","staticProps","valueOrRewrite","rewrite","setHeader","_header","_rewrite","lHeader","rawHeaders","parsed","setHeaders","line","tokens","tokensRE","parseTokens","matcher","deleted","deleteHeader","bind","format","normalized","w","formatHeader","_this$constructor","_len","targets","asStrings","_arrayWithHoles","_s","_e","_x","_r","_arr","_n","_d","_iterableToArrayLimit","minLen","_unsupportedIterableToArray","_nonIterableRest","first","computed","_len2","_key2","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","buildAccessors","accessor","transformData","fns","normalize","isCancel","__CANCEL__","CanceledError","write","expires","domain","secure","cookie","Date","toGMTString","read","RegExp","decodeURIComponent","now","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","originURL","msie","urlParsingNode","resolveURL","protocol","host","search","hostname","port","pathname","charAt","requestURL","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","samplesCount","firstSampleTS","bytes","timestamps","tail","chunkLength","startedAt","bytesCount","passed","round","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","XMLHttpRequest","Promise","onCanceled","requestData","requestHeaders","cancelToken","unsubscribe","signal","removeEventListener","auth","username","password","fullPath","onloadend","responseHeaders","getAllResponseHeaders","settle","responseText","statusText","open","paramsSerializer","onreadystatechange","readyState","responseURL","onabort","onerror","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","isURLSameOrigin","cookies","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","abort","subscribe","aborted","send","knownAdapters","http","xhr","throwIfCancellationRequested","throwIfRequested","dispatchRequest","adapters","nameOrAdapter","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","assertOptions","schema","allowUnknown","Axios","instanceConfig","interceptors","configOrUrl","contextHeaders","_config","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","chain","newConfig","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","c","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","VERSION","toFormData","Cancel","promises","spread","isAxiosError","payload","formToJSON","success","msg","time","author","text","i18n","lang","_this","fallbackLang","includes","tran","tranTxt","standard","bottom","rolling","loop","speed","normal","ff","rew","setting","fullscreen","screenshot","airplay","chromecast","subtitle","off","volume","live","en","Volume","de","play","pause","volumeUp","volumeDown","volumeOff","full","fullWeb","right","comment","commentOff","pallette","camera","loading","Template","container","init","opacity","notice","classList","add","innerText","innerHTML","icons","mobile","video","pic","preload","volumeBar","volumeBarWrap","volumeBarWrapWrap","volumeButton","volumeButtonIcon","volumeIcon","playedBar","loadedBar","playedBarWrap","playedBarTime","danmaku","danmakuLoading","bezel","playButton","mobilePlayButton","videoWrap","controllerMask","ptime","settingButton","settingBox","mask","loopToggle","showDanmaku","showDanmakuToggle","unlimitDanmaku","unlimitDanmakuToggle","speedItem","querySelectorAll","danmakuOpacityBar","danmakuOpacityBarWrap","danmakuOpacityBarWrapWrap","danmakuOpacityBox","dtime","controller","commentInput","commentButton","commentSettingBox","commentSettingButton","commentSettingFill","commentSendButton","commentSendFill","commentColorSettingBox","browserFullButton","webFullButton","menu","menuItem","qualityList","camareButton","airplayButton","chromecastButton","subtitleButton","subtitleButtonInner","subtitlesButton","subtitlesBox","subtitlesItem","subtrack","qualityButton","barPreview","barWrap","noticeList","infoPanel","infoPanelClose","infoVersion","infoFPS","infoType","infoUrl","infoResolution","infoDuration","infoDanmakuId","infoDanmakuApi","infoDanmakuAmount","Danmaku","player","danTunnel","danIndex","dan","showing","_opacity","events","unlimited","_measure","load","apiurl","maximum","address","endpoints","addition","trigger","_readAllEndpoints","results","sort","requestAnimationFrame","frame","newAPI","clear","_this2","readCount","_loop","apiBackend","_this3","danmakuData","user","htmlEncode","border","borderColor","draw","_this4","paused","parseFloat","percentage","items","getElementsByClassName","_this5","itemHeight","height","danWidth","offsetWidth","danHeight","offsetHeight","itemY","danItemRight","ele","eleWidth","width","eleRight","danSpeed","getTunnel","tmp","_loop2","v","j","danRight","_ret","docFragment","createDocumentFragment","_loop3","tunnel","itemWidth","transform","animationDuration","_danAnimation","measureStyle","getComputedStyle","getContext","font","getPropertyValue","measureText","seek","_boolean","speedRate","isFullScreen","fullScreen","Events","videoEvents","playerEvents","info","FullScreen","lastScrollPosition","on","resize","fullscreenchange","docfullscreenchange","fullEle","msFullscreenElement","contains","anotherType","anotherTypeOn","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","msRequestFullscreen","cancelFullScreen","mozCancelFullScreen","webkitCancelFullScreen","webkitCancelFullscreen","msCancelFullScreen","msExitFullscreen","User","storageName","Subtitle","fontSize","textTracks","track","oncuechange","cue","activeCues","template","getCueAsHTML","trackHtml","show","hide","Subtitles","adaptiveHeight","lastItemIndex","src","dataset","subContainerShow","subContainerHide","disableAutoHide","curBoxHeight","stdMaxHeight","Bar","elements","played","direction","max","Timer","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","types","lastPlayPos","currentPlayPos","bufferingDetected","loadingChecker","setInterval","enableloadingChecker","currentTime","enablefpsChecker","initfpsChecker","fpsStart","fpsIndex","fpsCurrent","fps","infoChecker","enableinfoChecker","clearInterval","Bezel","icon","Thumbnails","barWidth","backgroundImage","barWrapWidth","display","backgroundPosition","ceil","cast","runOnce","isCasting","Controller","autoHideTimer","setAutoHideHandler","setAutoHide","initPlayButton","initThumbnails","initPlayedBar","initFullButton","initQualityButton","initScreenshotButton","initSubtitleButton","initHighlights","initAirplayButton","initChromecastButton","initVolumeButton","toggle","preventClickToggle","duration","highlight","highlights","p","insertBefore","thumbnails","videoHeight","videoWidth","thumbMove","clientX","changedTouches","clientWidth","bar","thumbUp","timer","enable","disable","px","tx","move","_this6","volumeMove","muted","switchVolumeIcon","_this7","quality","switchQuality","_this8","dataURL","canvas","drawImage","toBlob","blob","createObjectURL","link","download","click","revokeObjectURL","WebKitPlaybackTargetAvailabilityEvent","availability","webkitShowPlaybackTargetPicker","script","__onGCastApiAvailable","isAvailable","sessionRequest","chrome","SessionRequest","DEFAULT_MEDIA_RECEIVER_APP_ID","apiConfig","ApiConfig","ReceiverAvailability","AVAILABLE","log","initialize","_this9","initChromecast","onMediaDiscovered","how","currentMedia","onMediaError","stop","session","requestSession","s","mediaInfo","MediaInfo","LoadRequest","loadMedia","_this10","balloon","_this11","clearTimeout","isShow","Setting","checked","unlimit","danmakuMove","danmakuUp","Comment","toggleSetting","fill","hideSetting","keyCode","focus","showSetting","blur","HotKey","doHotKeyHandler","doHotKey","cancelFullScreenHandler","hotkey","tag","activeElement","tagName","editable","getAttribute","preventDefault","ContextMenu","shown","contextmenu","contextmenuHandler","clientRect","clientY","y","InfoPanel","beginTime","toFixed","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_defineProperty","arg","instances","DPlayer","defaultOption","autoplay","theme","language","browserLanguage","playbackSpeed","mutex","pluginOptions","hls","flv","dash","webtorrent","defaultKey","defaultQuality","triggle","_objectSpread","qualityIndex","arrow","defaultSubtitle","findIndex","sub","plugins","docClickFun","containerClickFun","initVideo","fromNative","nostorage","nonotice","isNaN","formatPercentage","danmakuAPI","poster","initMSE","reload","customType","canPlayType","Hls","isSupported","loadSource","attachMedia","destroy","flvjs","flvPlayer","createPlayer","mediaDataSource","attachMediaElement","unload","detachMediaElement","dashjs","dashjsPlayer","MediaPlayer","_options","updateSettings","reset","WebTorrent","WEBRTC_SUPPORT","_options2","client","torrentId","once","torrent","files","find","file","renderTo","controls","buffered","end","subtitles","switchingQuality","prevIndex","videoHTML","videoEle","DOMParser","parseFromString","getElementsByTagName","prevVideo","noticeTime","oldNoticeEle","dp","getElementById","playbackRate"],"sourceRoot":""}

ZeroDay Forums Mini