imouplayer.js 676 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469
  1. /******/ (() => { // webpackBootstrap
  2. /******/ var __webpack_modules__ = ({
  3. /***/ 7757:
  4. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  5. module.exports = __webpack_require__(5666);
  6. /***/
  7. }),
  8. /***/ 9669:
  9. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  10. module.exports = __webpack_require__(1609);
  11. /***/
  12. }),
  13. /***/ 5448:
  14. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  15. "use strict";
  16. var utils = __webpack_require__(4867);
  17. var settle = __webpack_require__(6026);
  18. var buildURL = __webpack_require__(5327);
  19. var buildFullPath = __webpack_require__(4097);
  20. var parseHeaders = __webpack_require__(4109);
  21. var isURLSameOrigin = __webpack_require__(7985);
  22. var createError = __webpack_require__(5061);
  23. module.exports = function xhrAdapter(config) {
  24. return new Promise(function dispatchXhrRequest(resolve, reject) {
  25. var requestData = config.data;
  26. var requestHeaders = config.headers;
  27. if (utils.isFormData(requestData)) {
  28. delete requestHeaders['Content-Type']; // Let the browser set it
  29. }
  30. var request = new XMLHttpRequest();
  31. // HTTP basic authentication
  32. if (config.auth) {
  33. var username = config.auth.username || '';
  34. var password = config.auth.password || '';
  35. requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
  36. }
  37. var fullPath = buildFullPath(config.baseURL, config.url);
  38. request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);
  39. // Set the request timeout in MS
  40. request.timeout = config.timeout;
  41. // Listen for ready state
  42. request.onreadystatechange = function handleLoad() {
  43. if (!request || request.readyState !== 4) {
  44. return;
  45. }
  46. // The request errored out and we didn't get a response, this will be
  47. // handled by onerror instead
  48. // With one exception: request that using file: protocol, most browsers
  49. // will return status as 0 even though it's a successful request
  50. if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
  51. return;
  52. }
  53. // Prepare the response
  54. var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;
  55. var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;
  56. var response = {
  57. data: responseData,
  58. status: request.status,
  59. statusText: request.statusText,
  60. headers: responseHeaders,
  61. config: config,
  62. request: request
  63. };
  64. settle(resolve, reject, response);
  65. // Clean up request
  66. request = null;
  67. };
  68. // Handle browser request cancellation (as opposed to a manual cancellation)
  69. request.onabort = function handleAbort() {
  70. if (!request) {
  71. return;
  72. }
  73. reject(createError('Request aborted', config, 'ECONNABORTED', request));
  74. // Clean up request
  75. request = null;
  76. };
  77. // Handle low level network errors
  78. request.onerror = function handleError() {
  79. // Real errors are hidden from us by the browser
  80. // onerror should only fire if it's a network error
  81. reject(createError('Network Error', config, null, request));
  82. // Clean up request
  83. request = null;
  84. };
  85. // Handle timeout
  86. request.ontimeout = function handleTimeout() {
  87. var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';
  88. if (config.timeoutErrorMessage) {
  89. timeoutErrorMessage = config.timeoutErrorMessage;
  90. }
  91. reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',
  92. request));
  93. // Clean up request
  94. request = null;
  95. };
  96. // Add xsrf header
  97. // This is only done if running in a standard browser environment.
  98. // Specifically not if we're in a web worker, or react-native.
  99. if (utils.isStandardBrowserEnv()) {
  100. var cookies = __webpack_require__(4372);
  101. // Add xsrf header
  102. var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?
  103. cookies.read(config.xsrfCookieName) :
  104. undefined;
  105. if (xsrfValue) {
  106. requestHeaders[config.xsrfHeaderName] = xsrfValue;
  107. }
  108. }
  109. // Add headers to the request
  110. if ('setRequestHeader' in request) {
  111. utils.forEach(requestHeaders, function setRequestHeader(val, key) {
  112. if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {
  113. // Remove Content-Type if data is undefined
  114. delete requestHeaders[key];
  115. } else {
  116. // Otherwise add header to the request
  117. request.setRequestHeader(key, val);
  118. }
  119. });
  120. }
  121. // Add withCredentials to request if needed
  122. if (!utils.isUndefined(config.withCredentials)) {
  123. request.withCredentials = !!config.withCredentials;
  124. }
  125. // Add responseType to request if needed
  126. if (config.responseType) {
  127. try {
  128. request.responseType = config.responseType;
  129. } catch (e) {
  130. // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.
  131. // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.
  132. if (config.responseType !== 'json') {
  133. throw e;
  134. }
  135. }
  136. }
  137. // Handle progress if needed
  138. if (typeof config.onDownloadProgress === 'function') {
  139. request.addEventListener('progress', config.onDownloadProgress);
  140. }
  141. // Not all browsers support upload events
  142. if (typeof config.onUploadProgress === 'function' && request.upload) {
  143. request.upload.addEventListener('progress', config.onUploadProgress);
  144. }
  145. if (config.cancelToken) {
  146. // Handle cancellation
  147. config.cancelToken.promise.then(function onCanceled(cancel) {
  148. if (!request) {
  149. return;
  150. }
  151. request.abort();
  152. reject(cancel);
  153. // Clean up request
  154. request = null;
  155. });
  156. }
  157. if (requestData === undefined) {
  158. requestData = null;
  159. }
  160. // Send the request
  161. request.send(requestData);
  162. });
  163. };
  164. /***/
  165. }),
  166. /***/ 1609:
  167. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  168. "use strict";
  169. var utils = __webpack_require__(4867);
  170. var bind = __webpack_require__(1849);
  171. var Axios = __webpack_require__(321);
  172. var mergeConfig = __webpack_require__(7185);
  173. var defaults = __webpack_require__(5655);
  174. /**
  175. * Create an instance of Axios
  176. *
  177. * @param {Object} defaultConfig The default config for the instance
  178. * @return {Axios} A new instance of Axios
  179. */
  180. function createInstance(defaultConfig) {
  181. var context = new Axios(defaultConfig);
  182. var instance = bind(Axios.prototype.request, context);
  183. // Copy axios.prototype to instance
  184. utils.extend(instance, Axios.prototype, context);
  185. // Copy context to instance
  186. utils.extend(instance, context);
  187. return instance;
  188. }
  189. // Create the default instance to be exported
  190. var axios = createInstance(defaults);
  191. // Expose Axios class to allow class inheritance
  192. axios.Axios = Axios;
  193. // Factory for creating new instances
  194. axios.create = function create(instanceConfig) {
  195. return createInstance(mergeConfig(axios.defaults, instanceConfig));
  196. };
  197. // Expose Cancel & CancelToken
  198. axios.Cancel = __webpack_require__(5263);
  199. axios.CancelToken = __webpack_require__(4972);
  200. axios.isCancel = __webpack_require__(6502);
  201. // Expose all/spread
  202. axios.all = function all(promises) {
  203. return Promise.all(promises);
  204. };
  205. axios.spread = __webpack_require__(8713);
  206. module.exports = axios;
  207. // Allow use of default import syntax in TypeScript
  208. module.exports["default"] = axios;
  209. /***/
  210. }),
  211. /***/ 5263:
  212. /***/ ((module) => {
  213. "use strict";
  214. /**
  215. * A `Cancel` is an object that is thrown when an operation is canceled.
  216. *
  217. * @class
  218. * @param {string=} message The message.
  219. */
  220. function Cancel(message) {
  221. this.message = message;
  222. }
  223. Cancel.prototype.toString = function toString() {
  224. return 'Cancel' + (this.message ? ': ' + this.message : '');
  225. };
  226. Cancel.prototype.__CANCEL__ = true;
  227. module.exports = Cancel;
  228. /***/
  229. }),
  230. /***/ 4972:
  231. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  232. "use strict";
  233. var Cancel = __webpack_require__(5263);
  234. /**
  235. * A `CancelToken` is an object that can be used to request cancellation of an operation.
  236. *
  237. * @class
  238. * @param {Function} executor The executor function.
  239. */
  240. function CancelToken(executor) {
  241. if (typeof executor !== 'function') {
  242. throw new TypeError('executor must be a function.');
  243. }
  244. var resolvePromise;
  245. this.promise = new Promise(function promiseExecutor(resolve) {
  246. resolvePromise = resolve;
  247. });
  248. var token = this;
  249. executor(function cancel(message) {
  250. if (token.reason) {
  251. // Cancellation has already been requested
  252. return;
  253. }
  254. token.reason = new Cancel(message);
  255. resolvePromise(token.reason);
  256. });
  257. }
  258. /**
  259. * Throws a `Cancel` if cancellation has been requested.
  260. */
  261. CancelToken.prototype.throwIfRequested = function throwIfRequested() {
  262. if (this.reason) {
  263. throw this.reason;
  264. }
  265. };
  266. /**
  267. * Returns an object that contains a new `CancelToken` and a function that, when called,
  268. * cancels the `CancelToken`.
  269. */
  270. CancelToken.source = function source() {
  271. var cancel;
  272. var token = new CancelToken(function executor(c) {
  273. cancel = c;
  274. });
  275. return {
  276. token: token,
  277. cancel: cancel
  278. };
  279. };
  280. module.exports = CancelToken;
  281. /***/
  282. }),
  283. /***/ 6502:
  284. /***/ ((module) => {
  285. "use strict";
  286. module.exports = function isCancel(value) {
  287. return !!(value && value.__CANCEL__);
  288. };
  289. /***/
  290. }),
  291. /***/ 321:
  292. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  293. "use strict";
  294. var utils = __webpack_require__(4867);
  295. var buildURL = __webpack_require__(5327);
  296. var InterceptorManager = __webpack_require__(782);
  297. var dispatchRequest = __webpack_require__(3572);
  298. var mergeConfig = __webpack_require__(7185);
  299. /**
  300. * Create a new instance of Axios
  301. *
  302. * @param {Object} instanceConfig The default config for the instance
  303. */
  304. function Axios(instanceConfig) {
  305. this.defaults = instanceConfig;
  306. this.interceptors = {
  307. request: new InterceptorManager(),
  308. response: new InterceptorManager()
  309. };
  310. }
  311. /**
  312. * Dispatch a request
  313. *
  314. * @param {Object} config The config specific for this request (merged with this.defaults)
  315. */
  316. Axios.prototype.request = function request(config) {
  317. /*eslint no-param-reassign:0*/
  318. // Allow for axios('example/url'[, config]) a la fetch API
  319. if (typeof config === 'string') {
  320. config = arguments[1] || {};
  321. config.url = arguments[0];
  322. } else {
  323. config = config || {};
  324. }
  325. config = mergeConfig(this.defaults, config);
  326. // Set config.method
  327. if (config.method) {
  328. config.method = config.method.toLowerCase();
  329. } else if (this.defaults.method) {
  330. config.method = this.defaults.method.toLowerCase();
  331. } else {
  332. config.method = 'get';
  333. }
  334. // Hook up interceptors middleware
  335. var chain = [dispatchRequest, undefined];
  336. var promise = Promise.resolve(config);
  337. this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
  338. chain.unshift(interceptor.fulfilled, interceptor.rejected);
  339. });
  340. this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
  341. chain.push(interceptor.fulfilled, interceptor.rejected);
  342. });
  343. while (chain.length) {
  344. promise = promise.then(chain.shift(), chain.shift());
  345. }
  346. return promise;
  347. };
  348. Axios.prototype.getUri = function getUri(config) {
  349. config = mergeConfig(this.defaults, config);
  350. return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, '');
  351. };
  352. // Provide aliases for supported request methods
  353. utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {
  354. /*eslint func-names:0*/
  355. Axios.prototype[method] = function (url, config) {
  356. return this.request(utils.merge(config || {}, {
  357. method: method,
  358. url: url
  359. }));
  360. };
  361. });
  362. utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
  363. /*eslint func-names:0*/
  364. Axios.prototype[method] = function (url, data, config) {
  365. return this.request(utils.merge(config || {}, {
  366. method: method,
  367. url: url,
  368. data: data
  369. }));
  370. };
  371. });
  372. module.exports = Axios;
  373. /***/
  374. }),
  375. /***/ 782:
  376. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  377. "use strict";
  378. var utils = __webpack_require__(4867);
  379. function InterceptorManager() {
  380. this.handlers = [];
  381. }
  382. /**
  383. * Add a new interceptor to the stack
  384. *
  385. * @param {Function} fulfilled The function to handle `then` for a `Promise`
  386. * @param {Function} rejected The function to handle `reject` for a `Promise`
  387. *
  388. * @return {Number} An ID used to remove interceptor later
  389. */
  390. InterceptorManager.prototype.use = function use(fulfilled, rejected) {
  391. this.handlers.push({
  392. fulfilled: fulfilled,
  393. rejected: rejected
  394. });
  395. return this.handlers.length - 1;
  396. };
  397. /**
  398. * Remove an interceptor from the stack
  399. *
  400. * @param {Number} id The ID that was returned by `use`
  401. */
  402. InterceptorManager.prototype.eject = function eject(id) {
  403. if (this.handlers[id]) {
  404. this.handlers[id] = null;
  405. }
  406. };
  407. /**
  408. * Iterate over all the registered interceptors
  409. *
  410. * This method is particularly useful for skipping over any
  411. * interceptors that may have become `null` calling `eject`.
  412. *
  413. * @param {Function} fn The function to call for each interceptor
  414. */
  415. InterceptorManager.prototype.forEach = function forEach(fn) {
  416. utils.forEach(this.handlers, function forEachHandler(h) {
  417. if (h !== null) {
  418. fn(h);
  419. }
  420. });
  421. };
  422. module.exports = InterceptorManager;
  423. /***/
  424. }),
  425. /***/ 4097:
  426. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  427. "use strict";
  428. var isAbsoluteURL = __webpack_require__(1793);
  429. var combineURLs = __webpack_require__(7303);
  430. /**
  431. * Creates a new URL by combining the baseURL with the requestedURL,
  432. * only when the requestedURL is not already an absolute URL.
  433. * If the requestURL is absolute, this function returns the requestedURL untouched.
  434. *
  435. * @param {string} baseURL The base URL
  436. * @param {string} requestedURL Absolute or relative URL to combine
  437. * @returns {string} The combined full path
  438. */
  439. module.exports = function buildFullPath(baseURL, requestedURL) {
  440. if (baseURL && !isAbsoluteURL(requestedURL)) {
  441. return combineURLs(baseURL, requestedURL);
  442. }
  443. return requestedURL;
  444. };
  445. /***/
  446. }),
  447. /***/ 5061:
  448. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  449. "use strict";
  450. var enhanceError = __webpack_require__(481);
  451. /**
  452. * Create an Error with the specified message, config, error code, request and response.
  453. *
  454. * @param {string} message The error message.
  455. * @param {Object} config The config.
  456. * @param {string} [code] The error code (for example, 'ECONNABORTED').
  457. * @param {Object} [request] The request.
  458. * @param {Object} [response] The response.
  459. * @returns {Error} The created error.
  460. */
  461. module.exports = function createError(message, config, code, request, response) {
  462. var error = new Error(message);
  463. return enhanceError(error, config, code, request, response);
  464. };
  465. /***/
  466. }),
  467. /***/ 3572:
  468. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  469. "use strict";
  470. var utils = __webpack_require__(4867);
  471. var transformData = __webpack_require__(8527);
  472. var isCancel = __webpack_require__(6502);
  473. var defaults = __webpack_require__(5655);
  474. /**
  475. * Throws a `Cancel` if cancellation has been requested.
  476. */
  477. function throwIfCancellationRequested(config) {
  478. if (config.cancelToken) {
  479. config.cancelToken.throwIfRequested();
  480. }
  481. }
  482. /**
  483. * Dispatch a request to the server using the configured adapter.
  484. *
  485. * @param {object} config The config that is to be used for the request
  486. * @returns {Promise} The Promise to be fulfilled
  487. */
  488. module.exports = function dispatchRequest(config) {
  489. throwIfCancellationRequested(config);
  490. // Ensure headers exist
  491. config.headers = config.headers || {};
  492. // Transform request data
  493. config.data = transformData(
  494. config.data,
  495. config.headers,
  496. config.transformRequest
  497. );
  498. // Flatten headers
  499. config.headers = utils.merge(
  500. config.headers.common || {},
  501. config.headers[config.method] || {},
  502. config.headers
  503. );
  504. utils.forEach(
  505. ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],
  506. function cleanHeaderConfig(method) {
  507. delete config.headers[method];
  508. }
  509. );
  510. var adapter = config.adapter || defaults.adapter;
  511. return adapter(config).then(function onAdapterResolution(response) {
  512. throwIfCancellationRequested(config);
  513. // Transform response data
  514. response.data = transformData(
  515. response.data,
  516. response.headers,
  517. config.transformResponse
  518. );
  519. return response;
  520. }, function onAdapterRejection(reason) {
  521. if (!isCancel(reason)) {
  522. throwIfCancellationRequested(config);
  523. // Transform response data
  524. if (reason && reason.response) {
  525. reason.response.data = transformData(
  526. reason.response.data,
  527. reason.response.headers,
  528. config.transformResponse
  529. );
  530. }
  531. }
  532. return Promise.reject(reason);
  533. });
  534. };
  535. /***/
  536. }),
  537. /***/ 481:
  538. /***/ ((module) => {
  539. "use strict";
  540. /**
  541. * Update an Error with the specified config, error code, and response.
  542. *
  543. * @param {Error} error The error to update.
  544. * @param {Object} config The config.
  545. * @param {string} [code] The error code (for example, 'ECONNABORTED').
  546. * @param {Object} [request] The request.
  547. * @param {Object} [response] The response.
  548. * @returns {Error} The error.
  549. */
  550. module.exports = function enhanceError(error, config, code, request, response) {
  551. error.config = config;
  552. if (code) {
  553. error.code = code;
  554. }
  555. error.request = request;
  556. error.response = response;
  557. error.isAxiosError = true;
  558. error.toJSON = function () {
  559. return {
  560. // Standard
  561. message: this.message,
  562. name: this.name,
  563. // Microsoft
  564. description: this.description,
  565. number: this.number,
  566. // Mozilla
  567. fileName: this.fileName,
  568. lineNumber: this.lineNumber,
  569. columnNumber: this.columnNumber,
  570. stack: this.stack,
  571. // Axios
  572. config: this.config,
  573. code: this.code
  574. };
  575. };
  576. return error;
  577. };
  578. /***/
  579. }),
  580. /***/ 7185:
  581. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  582. "use strict";
  583. var utils = __webpack_require__(4867);
  584. /**
  585. * Config-specific merge-function which creates a new config-object
  586. * by merging two configuration objects together.
  587. *
  588. * @param {Object} config1
  589. * @param {Object} config2
  590. * @returns {Object} New object resulting from merging config2 to config1
  591. */
  592. module.exports = function mergeConfig(config1, config2) {
  593. // eslint-disable-next-line no-param-reassign
  594. config2 = config2 || {};
  595. var config = {};
  596. var valueFromConfig2Keys = ['url', 'method', 'params', 'data'];
  597. var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy'];
  598. var defaultToConfig2Keys = [
  599. 'baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer',
  600. 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',
  601. 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress',
  602. 'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent',
  603. 'httpsAgent', 'cancelToken', 'socketPath'
  604. ];
  605. utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {
  606. if (typeof config2[prop] !== 'undefined') {
  607. config[prop] = config2[prop];
  608. }
  609. });
  610. utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) {
  611. if (utils.isObject(config2[prop])) {
  612. config[prop] = utils.deepMerge(config1[prop], config2[prop]);
  613. } else if (typeof config2[prop] !== 'undefined') {
  614. config[prop] = config2[prop];
  615. } else if (utils.isObject(config1[prop])) {
  616. config[prop] = utils.deepMerge(config1[prop]);
  617. } else if (typeof config1[prop] !== 'undefined') {
  618. config[prop] = config1[prop];
  619. }
  620. });
  621. utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {
  622. if (typeof config2[prop] !== 'undefined') {
  623. config[prop] = config2[prop];
  624. } else if (typeof config1[prop] !== 'undefined') {
  625. config[prop] = config1[prop];
  626. }
  627. });
  628. var axiosKeys = valueFromConfig2Keys
  629. .concat(mergeDeepPropertiesKeys)
  630. .concat(defaultToConfig2Keys);
  631. var otherKeys = Object
  632. .keys(config2)
  633. .filter(function filterAxiosKeys(key) {
  634. return axiosKeys.indexOf(key) === -1;
  635. });
  636. utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) {
  637. if (typeof config2[prop] !== 'undefined') {
  638. config[prop] = config2[prop];
  639. } else if (typeof config1[prop] !== 'undefined') {
  640. config[prop] = config1[prop];
  641. }
  642. });
  643. return config;
  644. };
  645. /***/
  646. }),
  647. /***/ 6026:
  648. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  649. "use strict";
  650. var createError = __webpack_require__(5061);
  651. /**
  652. * Resolve or reject a Promise based on response status.
  653. *
  654. * @param {Function} resolve A function that resolves the promise.
  655. * @param {Function} reject A function that rejects the promise.
  656. * @param {object} response The response.
  657. */
  658. module.exports = function settle(resolve, reject, response) {
  659. var validateStatus = response.config.validateStatus;
  660. if (!validateStatus || validateStatus(response.status)) {
  661. resolve(response);
  662. } else {
  663. reject(createError(
  664. 'Request failed with status code ' + response.status,
  665. response.config,
  666. null,
  667. response.request,
  668. response
  669. ));
  670. }
  671. };
  672. /***/
  673. }),
  674. /***/ 8527:
  675. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  676. "use strict";
  677. var utils = __webpack_require__(4867);
  678. /**
  679. * Transform the data for a request or a response
  680. *
  681. * @param {Object|String} data The data to be transformed
  682. * @param {Array} headers The headers for the request or response
  683. * @param {Array|Function} fns A single function or Array of functions
  684. * @returns {*} The resulting transformed data
  685. */
  686. module.exports = function transformData(data, headers, fns) {
  687. /*eslint no-param-reassign:0*/
  688. utils.forEach(fns, function transform(fn) {
  689. data = fn(data, headers);
  690. });
  691. return data;
  692. };
  693. /***/
  694. }),
  695. /***/ 5655:
  696. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  697. "use strict";
  698. var utils = __webpack_require__(4867);
  699. var normalizeHeaderName = __webpack_require__(6016);
  700. var DEFAULT_CONTENT_TYPE = {
  701. 'Content-Type': 'application/x-www-form-urlencoded'
  702. };
  703. function setContentTypeIfUnset(headers, value) {
  704. if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {
  705. headers['Content-Type'] = value;
  706. }
  707. }
  708. function getDefaultAdapter() {
  709. var adapter;
  710. if (typeof XMLHttpRequest !== 'undefined') {
  711. // For browsers use XHR adapter
  712. adapter = __webpack_require__(5448);
  713. } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {
  714. // For node use HTTP adapter
  715. adapter = __webpack_require__(5448);
  716. }
  717. return adapter;
  718. }
  719. var defaults = {
  720. adapter: getDefaultAdapter(),
  721. transformRequest: [function transformRequest(data, headers) {
  722. normalizeHeaderName(headers, 'Accept');
  723. normalizeHeaderName(headers, 'Content-Type');
  724. if (utils.isFormData(data) ||
  725. utils.isArrayBuffer(data) ||
  726. utils.isBuffer(data) ||
  727. utils.isStream(data) ||
  728. utils.isFile(data) ||
  729. utils.isBlob(data)
  730. ) {
  731. return data;
  732. }
  733. if (utils.isArrayBufferView(data)) {
  734. return data.buffer;
  735. }
  736. if (utils.isURLSearchParams(data)) {
  737. setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
  738. return data.toString();
  739. }
  740. if (utils.isObject(data)) {
  741. setContentTypeIfUnset(headers, 'application/json;charset=utf-8');
  742. return JSON.stringify(data);
  743. }
  744. return data;
  745. }],
  746. transformResponse: [function transformResponse(data) {
  747. /*eslint no-param-reassign:0*/
  748. if (typeof data === 'string') {
  749. try {
  750. data = JSON.parse(data);
  751. } catch (e) { /* Ignore */ }
  752. }
  753. return data;
  754. }],
  755. /**
  756. * A timeout in milliseconds to abort a request. If set to 0 (default) a
  757. * timeout is not created.
  758. */
  759. timeout: 0,
  760. xsrfCookieName: 'XSRF-TOKEN',
  761. xsrfHeaderName: 'X-XSRF-TOKEN',
  762. maxContentLength: -1,
  763. validateStatus: function validateStatus(status) {
  764. return status >= 200 && status < 300;
  765. }
  766. };
  767. defaults.headers = {
  768. common: {
  769. 'Accept': 'application/json, text/plain, */*'
  770. }
  771. };
  772. utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {
  773. defaults.headers[method] = {};
  774. });
  775. utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
  776. defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);
  777. });
  778. module.exports = defaults;
  779. /***/
  780. }),
  781. /***/ 1849:
  782. /***/ ((module) => {
  783. "use strict";
  784. module.exports = function bind(fn, thisArg) {
  785. return function wrap() {
  786. var args = new Array(arguments.length);
  787. for (var i = 0; i < args.length; i++) {
  788. args[i] = arguments[i];
  789. }
  790. return fn.apply(thisArg, args);
  791. };
  792. };
  793. /***/
  794. }),
  795. /***/ 5327:
  796. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  797. "use strict";
  798. var utils = __webpack_require__(4867);
  799. function encode(val) {
  800. return encodeURIComponent(val).
  801. replace(/%40/gi, '@').
  802. replace(/%3A/gi, ':').
  803. replace(/%24/g, '$').
  804. replace(/%2C/gi, ',').
  805. replace(/%20/g, '+').
  806. replace(/%5B/gi, '[').
  807. replace(/%5D/gi, ']');
  808. }
  809. /**
  810. * Build a URL by appending params to the end
  811. *
  812. * @param {string} url The base of the url (e.g., http://www.google.com)
  813. * @param {object} [params] The params to be appended
  814. * @returns {string} The formatted url
  815. */
  816. module.exports = function buildURL(url, params, paramsSerializer) {
  817. /*eslint no-param-reassign:0*/
  818. if (!params) {
  819. return url;
  820. }
  821. var serializedParams;
  822. if (paramsSerializer) {
  823. serializedParams = paramsSerializer(params);
  824. } else if (utils.isURLSearchParams(params)) {
  825. serializedParams = params.toString();
  826. } else {
  827. var parts = [];
  828. utils.forEach(params, function serialize(val, key) {
  829. if (val === null || typeof val === 'undefined') {
  830. return;
  831. }
  832. if (utils.isArray(val)) {
  833. key = key + '[]';
  834. } else {
  835. val = [val];
  836. }
  837. utils.forEach(val, function parseValue(v) {
  838. if (utils.isDate(v)) {
  839. v = v.toISOString();
  840. } else if (utils.isObject(v)) {
  841. v = JSON.stringify(v);
  842. }
  843. parts.push(encode(key) + '=' + encode(v));
  844. });
  845. });
  846. serializedParams = parts.join('&');
  847. }
  848. if (serializedParams) {
  849. var hashmarkIndex = url.indexOf('#');
  850. if (hashmarkIndex !== -1) {
  851. url = url.slice(0, hashmarkIndex);
  852. }
  853. url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
  854. }
  855. return url;
  856. };
  857. /***/
  858. }),
  859. /***/ 7303:
  860. /***/ ((module) => {
  861. "use strict";
  862. /**
  863. * Creates a new URL by combining the specified URLs
  864. *
  865. * @param {string} baseURL The base URL
  866. * @param {string} relativeURL The relative URL
  867. * @returns {string} The combined URL
  868. */
  869. module.exports = function combineURLs(baseURL, relativeURL) {
  870. return relativeURL
  871. ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '')
  872. : baseURL;
  873. };
  874. /***/
  875. }),
  876. /***/ 4372:
  877. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  878. "use strict";
  879. var utils = __webpack_require__(4867);
  880. module.exports = (
  881. utils.isStandardBrowserEnv() ?
  882. // Standard browser envs support document.cookie
  883. (function standardBrowserEnv() {
  884. return {
  885. write: function write(name, value, expires, path, domain, secure) {
  886. var cookie = [];
  887. cookie.push(name + '=' + encodeURIComponent(value));
  888. if (utils.isNumber(expires)) {
  889. cookie.push('expires=' + new Date(expires).toGMTString());
  890. }
  891. if (utils.isString(path)) {
  892. cookie.push('path=' + path);
  893. }
  894. if (utils.isString(domain)) {
  895. cookie.push('domain=' + domain);
  896. }
  897. if (secure === true) {
  898. cookie.push('secure');
  899. }
  900. document.cookie = cookie.join('; ');
  901. },
  902. read: function read(name) {
  903. var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)'));
  904. return (match ? decodeURIComponent(match[3]) : null);
  905. },
  906. remove: function remove(name) {
  907. this.write(name, '', Date.now() - 86400000);
  908. }
  909. };
  910. })() :
  911. // Non standard browser env (web workers, react-native) lack needed support.
  912. (function nonStandardBrowserEnv() {
  913. return {
  914. write: function write() { },
  915. read: function read() { return null; },
  916. remove: function remove() { }
  917. };
  918. })()
  919. );
  920. /***/
  921. }),
  922. /***/ 1793:
  923. /***/ ((module) => {
  924. "use strict";
  925. /**
  926. * Determines whether the specified URL is absolute
  927. *
  928. * @param {string} url The URL to test
  929. * @returns {boolean} True if the specified URL is absolute, otherwise false
  930. */
  931. module.exports = function isAbsoluteURL(url) {
  932. // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL).
  933. // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
  934. // by any combination of letters, digits, plus, period, or hyphen.
  935. return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url);
  936. };
  937. /***/
  938. }),
  939. /***/ 7985:
  940. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  941. "use strict";
  942. var utils = __webpack_require__(4867);
  943. module.exports = (
  944. utils.isStandardBrowserEnv() ?
  945. // Standard browser envs have full support of the APIs needed to test
  946. // whether the request URL is of the same origin as current location.
  947. (function standardBrowserEnv() {
  948. var msie = /(msie|trident)/i.test(navigator.userAgent);
  949. var urlParsingNode = document.createElement('a');
  950. var originURL;
  951. /**
  952. * Parse a URL to discover it's components
  953. *
  954. * @param {String} url The URL to be parsed
  955. * @returns {Object}
  956. */
  957. function resolveURL(url) {
  958. var href = url;
  959. if (msie) {
  960. // IE needs attribute set twice to normalize properties
  961. urlParsingNode.setAttribute('href', href);
  962. href = urlParsingNode.href;
  963. }
  964. urlParsingNode.setAttribute('href', href);
  965. // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils
  966. return {
  967. href: urlParsingNode.href,
  968. protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',
  969. host: urlParsingNode.host,
  970. search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '',
  971. hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',
  972. hostname: urlParsingNode.hostname,
  973. port: urlParsingNode.port,
  974. pathname: (urlParsingNode.pathname.charAt(0) === '/') ?
  975. urlParsingNode.pathname :
  976. '/' + urlParsingNode.pathname
  977. };
  978. }
  979. originURL = resolveURL(window.location.href);
  980. /**
  981. * Determine if a URL shares the same origin as the current location
  982. *
  983. * @param {String} requestURL The URL to test
  984. * @returns {boolean} True if URL shares the same origin, otherwise false
  985. */
  986. return function isURLSameOrigin(requestURL) {
  987. var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;
  988. return (parsed.protocol === originURL.protocol &&
  989. parsed.host === originURL.host);
  990. };
  991. })() :
  992. // Non standard browser envs (web workers, react-native) lack needed support.
  993. (function nonStandardBrowserEnv() {
  994. return function isURLSameOrigin() {
  995. return true;
  996. };
  997. })()
  998. );
  999. /***/
  1000. }),
  1001. /***/ 6016:
  1002. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1003. "use strict";
  1004. var utils = __webpack_require__(4867);
  1005. module.exports = function normalizeHeaderName(headers, normalizedName) {
  1006. utils.forEach(headers, function processHeader(value, name) {
  1007. if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {
  1008. headers[normalizedName] = value;
  1009. delete headers[name];
  1010. }
  1011. });
  1012. };
  1013. /***/
  1014. }),
  1015. /***/ 4109:
  1016. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1017. "use strict";
  1018. var utils = __webpack_require__(4867);
  1019. // Headers whose duplicates are ignored by node
  1020. // c.f. https://nodejs.org/api/http.html#http_message_headers
  1021. var ignoreDuplicateOf = [
  1022. 'age', 'authorization', 'content-length', 'content-type', 'etag',
  1023. 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',
  1024. 'last-modified', 'location', 'max-forwards', 'proxy-authorization',
  1025. 'referer', 'retry-after', 'user-agent'
  1026. ];
  1027. /**
  1028. * Parse headers into an object
  1029. *
  1030. * ```
  1031. * Date: Wed, 27 Aug 2014 08:58:49 GMT
  1032. * Content-Type: application/json
  1033. * Connection: keep-alive
  1034. * Transfer-Encoding: chunked
  1035. * ```
  1036. *
  1037. * @param {String} headers Headers needing to be parsed
  1038. * @returns {Object} Headers parsed into an object
  1039. */
  1040. module.exports = function parseHeaders(headers) {
  1041. var parsed = {};
  1042. var key;
  1043. var val;
  1044. var i;
  1045. if (!headers) { return parsed; }
  1046. utils.forEach(headers.split('\n'), function parser(line) {
  1047. i = line.indexOf(':');
  1048. key = utils.trim(line.substr(0, i)).toLowerCase();
  1049. val = utils.trim(line.substr(i + 1));
  1050. if (key) {
  1051. if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {
  1052. return;
  1053. }
  1054. if (key === 'set-cookie') {
  1055. parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);
  1056. } else {
  1057. parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
  1058. }
  1059. }
  1060. });
  1061. return parsed;
  1062. };
  1063. /***/
  1064. }),
  1065. /***/ 8713:
  1066. /***/ ((module) => {
  1067. "use strict";
  1068. /**
  1069. * Syntactic sugar for invoking a function and expanding an array for arguments.
  1070. *
  1071. * Common use case would be to use `Function.prototype.apply`.
  1072. *
  1073. * ```js
  1074. * function f(x, y, z) {}
  1075. * var args = [1, 2, 3];
  1076. * f.apply(null, args);
  1077. * ```
  1078. *
  1079. * With `spread` this example can be re-written.
  1080. *
  1081. * ```js
  1082. * spread(function(x, y, z) {})([1, 2, 3]);
  1083. * ```
  1084. *
  1085. * @param {Function} callback
  1086. * @returns {Function}
  1087. */
  1088. module.exports = function spread(callback) {
  1089. return function wrap(arr) {
  1090. return callback.apply(null, arr);
  1091. };
  1092. };
  1093. /***/
  1094. }),
  1095. /***/ 4867:
  1096. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1097. "use strict";
  1098. var bind = __webpack_require__(1849);
  1099. /*global toString:true*/
  1100. // utils is a library of generic helper functions non-specific to axios
  1101. var toString = Object.prototype.toString;
  1102. /**
  1103. * Determine if a value is an Array
  1104. *
  1105. * @param {Object} val The value to test
  1106. * @returns {boolean} True if value is an Array, otherwise false
  1107. */
  1108. function isArray(val) {
  1109. return toString.call(val) === '[object Array]';
  1110. }
  1111. /**
  1112. * Determine if a value is undefined
  1113. *
  1114. * @param {Object} val The value to test
  1115. * @returns {boolean} True if the value is undefined, otherwise false
  1116. */
  1117. function isUndefined(val) {
  1118. return typeof val === 'undefined';
  1119. }
  1120. /**
  1121. * Determine if a value is a Buffer
  1122. *
  1123. * @param {Object} val The value to test
  1124. * @returns {boolean} True if value is a Buffer, otherwise false
  1125. */
  1126. function isBuffer(val) {
  1127. return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)
  1128. && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);
  1129. }
  1130. /**
  1131. * Determine if a value is an ArrayBuffer
  1132. *
  1133. * @param {Object} val The value to test
  1134. * @returns {boolean} True if value is an ArrayBuffer, otherwise false
  1135. */
  1136. function isArrayBuffer(val) {
  1137. return toString.call(val) === '[object ArrayBuffer]';
  1138. }
  1139. /**
  1140. * Determine if a value is a FormData
  1141. *
  1142. * @param {Object} val The value to test
  1143. * @returns {boolean} True if value is an FormData, otherwise false
  1144. */
  1145. function isFormData(val) {
  1146. return (typeof FormData !== 'undefined') && (val instanceof FormData);
  1147. }
  1148. /**
  1149. * Determine if a value is a view on an ArrayBuffer
  1150. *
  1151. * @param {Object} val The value to test
  1152. * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false
  1153. */
  1154. function isArrayBufferView(val) {
  1155. var result;
  1156. if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {
  1157. result = ArrayBuffer.isView(val);
  1158. } else {
  1159. result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);
  1160. }
  1161. return result;
  1162. }
  1163. /**
  1164. * Determine if a value is a String
  1165. *
  1166. * @param {Object} val The value to test
  1167. * @returns {boolean} True if value is a String, otherwise false
  1168. */
  1169. function isString(val) {
  1170. return typeof val === 'string';
  1171. }
  1172. /**
  1173. * Determine if a value is a Number
  1174. *
  1175. * @param {Object} val The value to test
  1176. * @returns {boolean} True if value is a Number, otherwise false
  1177. */
  1178. function isNumber(val) {
  1179. return typeof val === 'number';
  1180. }
  1181. /**
  1182. * Determine if a value is an Object
  1183. *
  1184. * @param {Object} val The value to test
  1185. * @returns {boolean} True if value is an Object, otherwise false
  1186. */
  1187. function isObject(val) {
  1188. return val !== null && typeof val === 'object';
  1189. }
  1190. /**
  1191. * Determine if a value is a Date
  1192. *
  1193. * @param {Object} val The value to test
  1194. * @returns {boolean} True if value is a Date, otherwise false
  1195. */
  1196. function isDate(val) {
  1197. return toString.call(val) === '[object Date]';
  1198. }
  1199. /**
  1200. * Determine if a value is a File
  1201. *
  1202. * @param {Object} val The value to test
  1203. * @returns {boolean} True if value is a File, otherwise false
  1204. */
  1205. function isFile(val) {
  1206. return toString.call(val) === '[object File]';
  1207. }
  1208. /**
  1209. * Determine if a value is a Blob
  1210. *
  1211. * @param {Object} val The value to test
  1212. * @returns {boolean} True if value is a Blob, otherwise false
  1213. */
  1214. function isBlob(val) {
  1215. return toString.call(val) === '[object Blob]';
  1216. }
  1217. /**
  1218. * Determine if a value is a Function
  1219. *
  1220. * @param {Object} val The value to test
  1221. * @returns {boolean} True if value is a Function, otherwise false
  1222. */
  1223. function isFunction(val) {
  1224. return toString.call(val) === '[object Function]';
  1225. }
  1226. /**
  1227. * Determine if a value is a Stream
  1228. *
  1229. * @param {Object} val The value to test
  1230. * @returns {boolean} True if value is a Stream, otherwise false
  1231. */
  1232. function isStream(val) {
  1233. return isObject(val) && isFunction(val.pipe);
  1234. }
  1235. /**
  1236. * Determine if a value is a URLSearchParams object
  1237. *
  1238. * @param {Object} val The value to test
  1239. * @returns {boolean} True if value is a URLSearchParams object, otherwise false
  1240. */
  1241. function isURLSearchParams(val) {
  1242. return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;
  1243. }
  1244. /**
  1245. * Trim excess whitespace off the beginning and end of a string
  1246. *
  1247. * @param {String} str The String to trim
  1248. * @returns {String} The String freed of excess whitespace
  1249. */
  1250. function trim(str) {
  1251. return str.replace(/^\s*/, '').replace(/\s*$/, '');
  1252. }
  1253. /**
  1254. * Determine if we're running in a standard browser environment
  1255. *
  1256. * This allows axios to run in a web worker, and react-native.
  1257. * Both environments support XMLHttpRequest, but not fully standard globals.
  1258. *
  1259. * web workers:
  1260. * typeof window -> undefined
  1261. * typeof document -> undefined
  1262. *
  1263. * react-native:
  1264. * navigator.product -> 'ReactNative'
  1265. * nativescript
  1266. * navigator.product -> 'NativeScript' or 'NS'
  1267. */
  1268. function isStandardBrowserEnv() {
  1269. if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||
  1270. navigator.product === 'NativeScript' ||
  1271. navigator.product === 'NS')) {
  1272. return false;
  1273. }
  1274. return (
  1275. typeof window !== 'undefined' &&
  1276. typeof document !== 'undefined'
  1277. );
  1278. }
  1279. /**
  1280. * Iterate over an Array or an Object invoking a function for each item.
  1281. *
  1282. * If `obj` is an Array callback will be called passing
  1283. * the value, index, and complete array for each item.
  1284. *
  1285. * If 'obj' is an Object callback will be called passing
  1286. * the value, key, and complete object for each property.
  1287. *
  1288. * @param {Object|Array} obj The object to iterate
  1289. * @param {Function} fn The callback to invoke for each item
  1290. */
  1291. function forEach(obj, fn) {
  1292. // Don't bother if no value provided
  1293. if (obj === null || typeof obj === 'undefined') {
  1294. return;
  1295. }
  1296. // Force an array if not already something iterable
  1297. if (typeof obj !== 'object') {
  1298. /*eslint no-param-reassign:0*/
  1299. obj = [obj];
  1300. }
  1301. if (isArray(obj)) {
  1302. // Iterate over array values
  1303. for (var i = 0, l = obj.length; i < l; i++) {
  1304. fn.call(null, obj[i], i, obj);
  1305. }
  1306. } else {
  1307. // Iterate over object keys
  1308. for (var key in obj) {
  1309. if (Object.prototype.hasOwnProperty.call(obj, key)) {
  1310. fn.call(null, obj[key], key, obj);
  1311. }
  1312. }
  1313. }
  1314. }
  1315. /**
  1316. * Accepts varargs expecting each argument to be an object, then
  1317. * immutably merges the properties of each object and returns result.
  1318. *
  1319. * When multiple objects contain the same key the later object in
  1320. * the arguments list will take precedence.
  1321. *
  1322. * Example:
  1323. *
  1324. * ```js
  1325. * var result = merge({foo: 123}, {foo: 456});
  1326. * console.log(result.foo); // outputs 456
  1327. * ```
  1328. *
  1329. * @param {Object} obj1 Object to merge
  1330. * @returns {Object} Result of all merge properties
  1331. */
  1332. function merge(/* obj1, obj2, obj3, ... */) {
  1333. var result = {};
  1334. function assignValue(val, key) {
  1335. if (typeof result[key] === 'object' && typeof val === 'object') {
  1336. result[key] = merge(result[key], val);
  1337. } else {
  1338. result[key] = val;
  1339. }
  1340. }
  1341. for (var i = 0, l = arguments.length; i < l; i++) {
  1342. forEach(arguments[i], assignValue);
  1343. }
  1344. return result;
  1345. }
  1346. /**
  1347. * Function equal to merge with the difference being that no reference
  1348. * to original objects is kept.
  1349. *
  1350. * @see merge
  1351. * @param {Object} obj1 Object to merge
  1352. * @returns {Object} Result of all merge properties
  1353. */
  1354. function deepMerge(/* obj1, obj2, obj3, ... */) {
  1355. var result = {};
  1356. function assignValue(val, key) {
  1357. if (typeof result[key] === 'object' && typeof val === 'object') {
  1358. result[key] = deepMerge(result[key], val);
  1359. } else if (typeof val === 'object') {
  1360. result[key] = deepMerge({}, val);
  1361. } else {
  1362. result[key] = val;
  1363. }
  1364. }
  1365. for (var i = 0, l = arguments.length; i < l; i++) {
  1366. forEach(arguments[i], assignValue);
  1367. }
  1368. return result;
  1369. }
  1370. /**
  1371. * Extends object a by mutably adding to it the properties of object b.
  1372. *
  1373. * @param {Object} a The object to be extended
  1374. * @param {Object} b The object to copy properties from
  1375. * @param {Object} thisArg The object to bind function to
  1376. * @return {Object} The resulting value of object a
  1377. */
  1378. function extend(a, b, thisArg) {
  1379. forEach(b, function assignValue(val, key) {
  1380. if (thisArg && typeof val === 'function') {
  1381. a[key] = bind(val, thisArg);
  1382. } else {
  1383. a[key] = val;
  1384. }
  1385. });
  1386. return a;
  1387. }
  1388. module.exports = {
  1389. isArray: isArray,
  1390. isArrayBuffer: isArrayBuffer,
  1391. isBuffer: isBuffer,
  1392. isFormData: isFormData,
  1393. isArrayBufferView: isArrayBufferView,
  1394. isString: isString,
  1395. isNumber: isNumber,
  1396. isObject: isObject,
  1397. isUndefined: isUndefined,
  1398. isDate: isDate,
  1399. isFile: isFile,
  1400. isBlob: isBlob,
  1401. isFunction: isFunction,
  1402. isStream: isStream,
  1403. isURLSearchParams: isURLSearchParams,
  1404. isStandardBrowserEnv: isStandardBrowserEnv,
  1405. forEach: forEach,
  1406. merge: merge,
  1407. deepMerge: deepMerge,
  1408. extend: extend,
  1409. trim: trim
  1410. };
  1411. /***/
  1412. }),
  1413. /***/ 5323:
  1414. /***/ (() => {
  1415. !function (a) {
  1416. var t,
  1417. _o,
  1418. h,
  1419. i,
  1420. n,
  1421. e = '<svg><symbol id="icon-icon_yuyin" viewBox="0 0 1024 1024"><path d="M515.072 10.9056a178.3808 178.3808 0 0 1 178.176 178.2272v366.2336a178.2272 178.2272 0 0 1-356.4032 0V189.1328A178.3808 178.3808 0 0 1 515.072 10.9056z m0 671.4368a127.1296 127.1296 0 0 0 127.0272-127.0272V189.1328a127.0272 127.0272 0 0 0-254.0032 0v366.2336a127.1296 127.1296 0 0 0 126.976 126.976z" ></path><path d="M512 1013.0944a25.6 25.6 0 0 1-25.6-25.6v-141.7728a25.6 25.6 0 0 1 51.2 0v141.7728a25.6 25.6 0 0 1-25.6 25.6z" ></path><path d="M512 871.3216a380.416 380.416 0 0 1-380.0064-380.0064 25.6 25.6 0 1 1 51.2 0 328.8064 328.8064 0 0 0 657.5616 0 25.6 25.6 0 0 1 51.2 0A380.416 380.416 0 0 1 512 871.3216z" ></path></symbol><symbol id="icon-icon_yuyinguanbi" viewBox="0 0 1024 1024"><path d="M515.072 10.9056a178.3808 178.3808 0 0 1 178.176 178.2272v366.2336a178.2272 178.2272 0 0 1-356.4032 0V189.1328A178.3808 178.3808 0 0 1 515.072 10.9056z m0 671.4368a127.1296 127.1296 0 0 0 127.0272-127.0272V189.1328a127.0272 127.0272 0 0 0-254.0032 0v366.2336a127.1296 127.1296 0 0 0 126.976 126.976z" ></path><path d="M512 871.3216a380.416 380.416 0 0 1-380.0064-380.0064 25.6 25.6 0 0 1 51.2 0A329.1648 329.1648 0 0 0 512 820.1216a349.44 349.44 0 0 0 126.8736-25.344 25.6 25.6 0 1 1 17.7664 48.0256 397.4144 397.4144 0 0 1-144.64 28.5184z" ></path><path d="M512 1013.0944a25.6 25.6 0 0 1-25.6-25.6v-141.7728a25.6 25.6 0 0 1 51.2 0v141.7728a25.6 25.6 0 0 1-25.6 25.6z" ></path><path d="M818.7904 694.3744a25.6 25.6 0 0 1-21.4528-39.5776 316.5184 316.5184 0 0 0 43.4176-163.4816 25.6 25.6 0 0 1 51.2 0 364.8512 364.8512 0 0 1-51.712 191.3856 25.6 25.6 0 0 1-21.4528 11.6736z" ></path><path d="M939.008 964.608a25.6 25.6 0 0 1-18.1248-7.4752L66.8672 103.1168a25.6 25.6 0 0 1 36.1984-36.1984l854.016 854.016a25.6 25.6 0 0 1-18.1248 43.7248z" ></path></symbol><symbol id="icon-icon_shouqi" viewBox="0 0 1024 1024"><path d="M716.8 519.543467a34.133333 34.133333 0 0 1-10.001067 24.132266l-336.349866 336.349867a34.133333 34.133333 0 0 1-48.264534 0 34.133333 34.133333 0 0 1 0-48.264533l312.183467-312.2176-329.0112-329.045334a34.133333 34.133333 0 0 1 0-48.264533 34.133333 34.133333 0 0 1 48.264533 0l353.1776 353.1776a34.133333 34.133333 0 0 1 10.001067 24.132267z" ></path></symbol><symbol id="icon-icon_zhankai" viewBox="0 0 1024 1024"><path d="M295.355733 519.5776a34.133333 34.133333 0 0 1 10.001067-24.132267L658.5344 142.267733a34.133333 34.133333 0 0 1 48.264533 0 34.133333 34.133333 0 0 1 0 48.264534l-329.0112 329.045333 312.183467 312.2176a34.133333 34.133333 0 0 1-48.264533 48.264533l-336.349867-336.349866a34.133333 34.133333 0 0 1-10.001067-24.132267z" ></path></symbol><symbol id="icon-Icon_YunLuXiang" viewBox="0 0 1024 1024"><path d="M307.264 875.904a239.488 239.488 0 0 1-55.552-472.384 32 32 0 0 1 14.784 62.272 175.488 175.488 0 1 0 88.704 339.52 32 32 0 1 1 17.472 61.568 239.808 239.808 0 0 1-65.408 9.024z" ></path><path d="M716.672 875.904a239.808 239.808 0 0 1-65.408-9.024 32 32 0 1 1 17.472-61.568 175.488 175.488 0 1 0 88.704-339.52 32 32 0 0 1 14.784-62.272 239.488 239.488 0 0 1-55.552 472.384z" ></path><path d="M763.712 461.056a32 32 0 0 1-32-32 216.96 216.96 0 0 0-433.856 0 32 32 0 1 1-64 0 280.96 280.96 0 0 1 561.856 0 32 32 0 0 1-32 32z" ></path><path d="M662.72 626.944a32 32 0 0 1-22.528-9.28L514.88 493.376l-121.6 121.6a32 32 0 0 1-45.312-45.184l143.872-144.32a32 32 0 0 1 45.184 0l147.968 146.816a32 32 0 0 1-22.528 54.72z" ></path><path d="M514.752 834.432a32 32 0 0 1-32-32V521.6a32 32 0 0 1 64 0v280.832a32 32 0 0 1-32 32z" ></path></symbol><symbol id="icon-Icon_BenDiLuXiang" viewBox="0 0 1024 1024"><path d="M298.688 53.312h554.688a32 32 0 0 1 32 32v853.312a32 32 0 0 1-32 32H170.688a32 32 0 0 1-32-32V256a32 32 0 0 1 6.4-19.2l128-170.688a32 32 0 0 1 25.6-12.8z m522.688 64H314.688l-112 149.312v640h618.688z" ></path><path d="M320 480a32 32 0 0 1-32-32V320a32 32 0 0 1 64 0v128a32 32 0 0 1-32 32z" ></path><path d="M448 416a32 32 0 0 1-32-32V256a32 32 0 0 1 64 0v128a32 32 0 0 1-32 32z" ></path><path d="M704 416a32 32 0 0 1-32-32V256a32 32 0 0 1 64 0v128a32 32 0 0 1-32 32z" ></path><path d="M576 416a32 32 0 0 1-32-32V256a32 32 0 0 1 64 0v128a32 32 0 0 1-32 32z" ></path></symbol><symbol id="icon-Icon_JingYin" viewBox="0 0 1024 1024"><path d="M494.7456 76.8a25.6 25.6 0 0 1 25.6 25.6v798.3616a25.6 25.6 0 0 1-25.6 25.6 302.4896 302.4896 0 0 1-212.0704-109.568A628.0704 628.0704 0 0 1 209.92 723.2H95.5392A70.0416 70.0416 0 0 1 25.6 653.2608v-306.688A70.0416 70.0416 0 0 1 95.5392 276.48H209.92c29.6448-46.08 139.008-199.68 284.8256-199.68z m-25.6 796.2624V130.0992c-126.0544 20.48-221.7984 183.1936-222.8224 184.9856a25.6 25.6 0 0 1-22.1696 12.8H95.5392a18.7904 18.7904 0 0 0-18.7392 18.7392v306.688a18.7904 18.7904 0 0 0 18.7392 18.7392h128.6144a25.6 25.6 0 0 1 22.272 12.9536c0.9728 1.7408 96.6144 167.3216 222.72 188.0576z" ></path><path d="M929.0752 682.1376a25.6 25.6 0 0 1-18.0736-7.4752l-289.0752-289.0752a25.6 25.6 0 0 1 36.1984-36.1984L947.2 638.464a25.6 25.6 0 0 1-18.1248 43.7248z" ></path><path d="M640 682.1376a25.6 25.6 0 0 1-18.1248-43.7248l289.0752-289.0752a25.6 25.6 0 1 1 36.1984 36.1984l-289.024 289.1264a25.6 25.6 0 0 1-18.1248 7.4752z" ></path></symbol><symbol id="icon-Icon_QuanPing" viewBox="0 0 1024 1024"><path d="M501.76 896H163.84a87.04 87.04 0 0 1-87.04-87.04V471.04a25.6 25.6 0 0 1 25.6-25.6 25.6 25.6 0 0 1 25.6 25.6v337.92a35.84 35.84 0 0 0 35.84 35.84h337.92a25.6 25.6 0 0 1 0 51.2z" ></path><path d="M911.36 578.56a25.6 25.6 0 0 1-25.6-25.6V215.04a35.84 35.84 0 0 0-35.84-35.84H512a25.6 25.6 0 0 1-25.6-25.6 25.6 25.6 0 0 1 25.6-25.6h337.92a87.04 87.04 0 0 1 87.04 87.04v337.92a25.6 25.6 0 0 1-25.6 25.6z" ></path></symbol><symbol id="icon-Icon_LuPing" viewBox="0 0 1024 1024"><path d="M50.2784 179.2h716.8a25.6 25.6 0 0 1 25.6 25.6v614.4a25.6 25.6 0 0 1-25.6 25.6h-716.8a25.6 25.6 0 0 1-25.6-25.6V204.8a25.6 25.6 0 0 1 25.6-25.6z m691.2 51.2h-665.6v563.2h665.6z" ></path><path d="M971.8784 256a25.6 25.6 0 0 1 25.6 25.6v460.8a25.6 25.6 0 0 1-40.96 20.48l-204.8-155.5456a25.6 25.6 0 0 1-10.24-20.48V437.0944a25.6 25.6 0 0 1 10.24-20.48l204.8-155.4944a25.6 25.6 0 0 1 15.36-5.12z m-25.6 434.7904V333.2096l-153.6 116.6336v124.3648z" ></path><path d="M358.4 654.08a25.6 25.6 0 0 1-16.384-45.2608L458.1888 512 342.016 415.1808a25.6 25.6 0 0 1 32.768-39.3216l139.776 116.48a25.6 25.6 0 0 1 0 39.3216l-139.776 116.48a25.6 25.6 0 0 1-16.384 5.9392z" ></path></symbol><symbol id="icon-Icon_HD" viewBox="0 0 1024 1024"><path d="M413.4912 359.5776h54.272v319.5904h-54.272v-141.9264H257.28v141.9264H204.8V359.5776h52.48v131.1744h156.2112z m237.8752 318.3616H535.552V358.3488h118.6304c103.7312 1.1776 156.2112 54.8352 157.3888 160.4096 3.1744 109.1584-49.8688 162.2016-160.2048 159.232z m1.792-271.872h-64.9728v228.352h63.1808c72.1408 1.1776 107.52-36.9664 106.7008-114.4832-1.1776-74.496-36.352-112.64-104.7552-113.8176z" ></path><path d="M51.2 204.8v629.0432h921.6V204.8H51.2M46.5408 153.6h930.9184a43.8784 43.8784 0 0 1 46.5408 40.6528v650.24a43.8784 43.8784 0 0 1-46.5408 40.6528H46.5408A43.8784 43.8784 0 0 1 0 844.3904V194.2528A43.8784 43.8784 0 0 1 46.5408 153.6z" ></path></symbol><symbol id="icon-Icon_Voice" viewBox="0 0 1024 1024"><path d="M494.7456 76.8a25.6 25.6 0 0 1 25.6 25.6v798.3616a25.6 25.6 0 0 1-25.6 25.6 302.4896 302.4896 0 0 1-212.0704-109.568A628.0704 628.0704 0 0 1 209.92 723.2H95.5392A70.0416 70.0416 0 0 1 25.6 653.2608v-306.688A70.0416 70.0416 0 0 1 95.5392 276.48H209.92c29.6448-46.08 139.008-199.68 284.8256-199.68z m-25.6 796.2624V130.0992c-126.0544 20.48-221.7984 183.1936-222.8224 184.9856a25.6 25.6 0 0 1-22.1696 12.8H95.5392a18.7904 18.7904 0 0 0-18.7392 18.7392v306.688a18.7904 18.7904 0 0 0 18.7392 18.7392h128.6144a25.6 25.6 0 0 1 22.272 12.9536c0.9728 1.7408 96.6144 167.3216 222.72 188.0576z" ></path><path d="M672.1536 726.9376a25.6 25.6 0 0 1-17.0496-44.6976 238.8992 238.8992 0 0 0 34.4576-38.2464 244.2752 244.2752 0 0 0-0.768-285.4912 238.8992 238.8992 0 0 0-33.7408-37.2224 25.6 25.6 0 0 1 34.0992-38.1952 293.632 293.632 0 0 1 0 437.4016 25.6 25.6 0 0 1-16.9984 6.4512z" ></path><path d="M721.7664 908.544a25.6 25.6 0 0 1-13.1584-47.5648 417.9968 417.9968 0 0 0 5.6832-715.3152 25.6 25.6 0 0 1 26.9312-43.52 469.1968 469.1968 0 0 1-6.3488 802.3552 25.6 25.6 0 0 1-13.1072 4.0448z" ></path></symbol><symbol id="icon-Icon_ScreenShot" viewBox="0 0 1024 1024"><path d="M699.904 275.0464H308.3776a25.6 25.6 0 0 1-22.8864-37.0688L350.72 107.4688a25.6 25.6 0 0 1 22.8864-14.1312h261.12a25.6 25.6 0 0 1 22.8864 14.1312l65.28 130.5088a25.6 25.6 0 0 1-22.8864 37.0688z m-350.1056-51.2h308.6848l-39.6288-79.3088h-229.376z" ></path><path d="M153.6 223.8464h701.1328a128 128 0 0 1 128 128v422.3488a128 128 0 0 1-128 128H153.6a128 128 0 0 1-128-128V351.8464a128 128 0 0 1 128-128z m701.1328 627.1488a76.8 76.8 0 0 0 76.8-76.8V351.8464a76.8 76.8 0 0 0-76.8-76.8H153.6a76.8 76.8 0 0 0-76.8 76.8v422.3488a76.8 76.8 0 0 0 76.8 76.8z" ></path><path d="M503.6032 758.9376a199.68 199.68 0 1 1 199.68-199.68 199.68 199.68 0 0 1-199.68 199.68z m0-348.16a148.48 148.48 0 1 0 148.48 148.48 148.48 148.48 0 0 0-148.48-148.48z" ></path></symbol><symbol id="icon-Icon_SD" viewBox="0 0 1024 1024"><path d="M258.6624 656.7424a104.5504 104.5504 0 0 1-42.0864-85.504h49.8176a72.2432 72.2432 0 0 0 24.9344 49.8688 96.1024 96.1024 0 0 0 55.8592 13.312 109.4656 109.4656 0 0 0 53.248-11.1616 34.8672 34.8672 0 0 0 19.7632-30.72 43.4688 43.4688 0 0 0-28.7744-38.6048 563.2 563.2 0 0 0-59.6992-20.48 500.6848 500.6848 0 0 1-70.4512-25.6 67.7888 67.7888 0 0 1-35.2256-61.8496 72.704 72.704 0 0 1 34.3552-64 165.7344 165.7344 0 0 1 166.2464 0 98.2016 98.2016 0 0 1 36.9664 74.2912h-49.8688a66.8672 66.8672 0 0 0-23.6544-40.96 83.3024 83.3024 0 0 0-50.688-12.4416 94.464 94.464 0 0 0-44.2368 8.1408 32.8192 32.8192 0 0 0-18.8928 31.7952 34.8672 34.8672 0 0 0 21.4528 31.3856 438.3744 438.3744 0 0 0 52.4288 18.8928 480.0512 480.0512 0 0 1 80.3328 30.0544 73.5744 73.5744 0 0 1 39.936 66.1504 76.8 76.8 0 0 1-32.256 65.28 188.3648 188.3648 0 0 1-179.5584 1.6896z m392.7552 21.248h-115.6608V358.4h118.6304c103.7824 1.1776 156.2624 54.8864 157.3888 160.4096 2.9184 106.24-47.36 159.3344-151.7568 159.3344z m-63.232-43.5712h63.232c72.1408 1.1776 107.52-36.9664 106.7008-114.4832-1.1776-74.5472-36.352-112.64-104.9088-113.92h-65.024z" ></path><path d="M51.2 204.8v629.0432h921.6V204.8H51.2M46.5408 153.6h930.9184a43.8784 43.8784 0 0 1 46.5408 40.6528v650.24a43.8784 43.8784 0 0 1-46.5408 40.6528H46.5408A43.8784 43.8784 0 0 1 0 844.3904V194.2528A43.8784 43.8784 0 0 1 46.5408 153.6z" ></path></symbol><symbol id="icon-Icon_YunTai" viewBox="0 0 1024 1024"><path d="M514.7136 405.2992a109.4144 109.4144 0 1 0 109.4144 109.4144 109.5168 109.5168 0 0 0-109.4144-109.4144m0-51.2a160.6144 160.6144 0 1 1-160.6144 160.6144 160.6144 160.6144 0 0 1 160.6144-160.6144z" ></path><path d="M804.9664 713.4208a25.6 25.6 0 0 1-18.1248-43.7248l160.4096-160.4608-160.4096-160.4096a25.6 25.6 0 0 1 36.1984-36.1984l178.5344 178.5344a25.6 25.6 0 0 1 0 36.1984l-178.5344 178.5344a25.6 25.6 0 0 1-18.0736 7.5264z" ></path><path d="M310.5792 804.9664a25.6 25.6 0 0 1 7.4752-18.1248 25.6 25.6 0 0 1 36.1984 0l160.4608 160.4608 160.4096-160.4608a25.6 25.6 0 0 1 36.1984 0 25.6 25.6 0 0 1 0 36.1984l-178.4832 178.5856a25.6 25.6 0 0 1-36.1984 0l-178.5856-178.5344a25.6 25.6 0 0 1-7.4752-18.1248z" ></path><path d="M219.0336 718.848a25.6 25.6 0 0 1-18.1248-7.4752L22.3744 532.8384a25.6 25.6 0 0 1 0-36.1984l178.5344-178.5344a25.6 25.6 0 1 1 36.1984 36.1984l-160.4096 160.4096 160.4096 160.4608a25.6 25.6 0 0 1-18.1248 43.7248z" ></path><path d="M305.152 219.0336a25.6 25.6 0 0 1 7.4752-18.1248L491.1616 22.3744a25.6 25.6 0 0 1 36.1984 0l178.5856 178.5344a25.6 25.6 0 0 1 0 36.1984 25.6 25.6 0 0 1-36.1984 0L509.2864 76.6976 348.8768 237.1584a25.6 25.6 0 0 1-43.7248-18.1248z" ></path></symbol><symbol id="icon-Icon_WangYeQuanPing" viewBox="0 0 1024 1024"><path d="M326.6048 949.8624H94.8224a74.752 74.752 0 0 1-71.936-77.3632V151.4496a74.752 74.752 0 0 1 71.936-77.1072h834.304a74.752 74.752 0 0 1 71.936 77.1072v154.5216a25.6 25.6 0 1 1-51.2 0V151.4496a24.064 24.064 0 0 0-20.736-25.9072H94.8224a24.064 24.064 0 0 0-20.736 25.9072v721.0496a24.064 24.064 0 0 0 20.736 25.9072h231.7824a25.6 25.6 0 0 1 0 51.2z" ></path><path d="M583.7824 486.4h309.6576a76.8 76.8 0 0 1 76.8 76.8v309.6576a76.8 76.8 0 0 1-76.8 76.8h-309.6576a76.8 76.8 0 0 1-76.8-76.8V563.2a76.8 76.8 0 0 1 76.8-76.8z m309.6576 412.0576a25.6 25.6 0 0 0 25.6-25.6V563.2a25.6 25.6 0 0 0-25.6-25.6h-309.6576a25.6 25.6 0 0 0-25.6 25.6v309.6576a25.6 25.6 0 0 0 25.6 25.6z" ></path></symbol><symbol id="icon-Icon_Play" viewBox="0 0 1024 1024"><path d="M859.2896 512a75.3664 75.3664 0 0 0-35.84-65.1264L373.504 165.8368A76.8 76.8 0 0 0 256 230.9632v562.0736a76.8 76.8 0 0 0 117.76 65.1264l449.4336-281.0368A75.3664 75.3664 0 0 0 859.2896 512m51.2 0a126.9248 126.9248 0 0 1-60.16 108.544l-449.6896 281.0368A128 128 0 0 1 204.8 793.0368V230.9632a128 128 0 0 1 195.84-108.544l449.6896 281.0368A126.9248 126.9248 0 0 1 910.4896 512z" ></path></symbol><symbol id="icon-Icon_Stop" viewBox="0 0 1024 1024"><path d="M307.2 896a25.6 25.6 0 0 1-25.6-25.6V153.6a25.6 25.6 0 0 1 51.2 0v716.8a25.6 25.6 0 0 1-25.6 25.6z" ></path><path d="M716.8 896a25.6 25.6 0 0 1-25.6-25.6V153.6a25.6 25.6 0 0 1 51.2 0v716.8a25.6 25.6 0 0 1-25.6 25.6z" ></path></symbol><symbol id="icon-Icon_SDcard" viewBox="0 0 1024 1024"><path d="M845.376 971.392H169.088a32 32 0 0 1-32-32V262.912a32 32 0 0 1 6.4-19.2l126.784-169.088a32.32 32.32 0 0 1 25.6-12.8h549.504a32 32 0 0 1 32 32v845.376a32 32 0 0 1-32 32.192zM316.992 294.528a32 32 0 0 0-32 32v126.784a32 32 0 0 0 32 32 32 32 0 0 0 32-32V326.528a32 32 0 0 0-31.936-32z m380.416-63.424a32 32 0 0 0-32 32v126.784a32 32 0 0 0 32 32 32 32 0 0 0 32-32V262.912a32 32 0 0 0-32-32z m-126.784 0a32 32 0 0 0-32 32v126.784a32 32 0 0 0 32 32 32 32 0 0 0 32-32V262.912a32 32 0 0 0-32-32z m-126.848 0a32 32 0 0 0-32 32v126.784a32 32 0 0 0 32 32 32 32 0 0 0 32-32V262.912a32 32 0 0 0-31.936-32z" ></path></symbol><symbol id="icon-Icon_Cloud" viewBox="0 0 1024 1024"><path d="M997.248 584.768a274.624 274.624 0 0 1-272.896 275.968H269.376A244.736 244.736 0 0 1 26.752 628.352a232.768 232.768 0 0 1 151.616-211.904 60.608 60.608 0 0 0 36.224-43.904 270.08 270.08 0 0 1 267.072-209.408 275.2 275.2 0 0 1 230.784 122.304 60.672 60.672 0 0 0 41.92 26.752 279.872 279.872 0 0 1 242.88 272.576z" ></path></symbol><symbol id="icon-Icon_Left" viewBox="0 0 1024 1024"><path d="M227.968 592a102.4 102.4 0 0 1 0-159.872L601.6 133.12a102.4 102.4 0 0 1 166.4 80v597.888a102.4 102.4 0 0 1-166.4 79.872z" ></path></symbol><symbol id="icon-Icon_Right" viewBox="0 0 1024 1024"><path d="M796.032 432a102.4 102.4 0 0 1 0 159.872L422.4 890.88A102.4 102.4 0 0 1 256 810.88V212.992a102.4 102.4 0 0 1 166.4-79.872z" ></path></symbol><symbol id="icon-Console_icon_delete" viewBox="0 0 1024 1024"><path d="M805.248 895.744L511.872 602.496 218.624 895.744a64 64 0 0 1-45.312 18.816A64 64 0 0 1 128 895.744a64 64 0 0 1 0-90.496L421.248 512 128 218.752a64 64 0 0 1 0-90.496 64 64 0 0 1 90.496 0l293.248 293.248L805.12 128.256a64 64 0 0 1 90.496 0 64 64 0 0 1 0 90.496L602.368 512l293.248 293.248a64 64 0 0 1 0 90.496 64 64 0 0 1-45.312 18.816 64 64 0 0 1-45.056-18.816z" ></path></symbol><symbol id="icon-Console_icon_calendar" viewBox="0 0 1024 1024"><path d="M179.153455 894.184727a116.363636 116.363636 0 0 1-116.363637-116.363636V336.802909a116.363636 116.363636 0 0 1 116.363637-116.363636h91.648V163.421091a23.272727 23.272727 0 0 1 23.272727-23.272727 23.272727 23.272727 0 0 1 23.272727 23.272727v56.878545h369.570909V163.421091a23.272727 23.272727 0 0 1 23.272727-23.272727 23.272727 23.272727 0 0 1 23.272728 23.272727v56.878545h95.744a116.363636 116.363636 0 0 1 116.363636 116.363637v441.157818a116.363636 116.363636 0 0 1-116.363636 116.363636z m-69.818182-557.335272v440.971636a69.818182 69.818182 0 0 0 69.818182 69.818182h650.053818a69.818182 69.818182 0 0 0 69.818182-69.818182V336.802909a69.818182 69.818182 0 0 0-69.818182-69.818182h-95.744V330.007273a23.272727 23.272727 0 0 1-23.272728 23.272727 23.272727 23.272727 0 0 1-23.272727-23.272727V266.984727h-369.570909V330.007273a23.272727 23.272727 0 0 1-23.272727 23.272727 23.272727 23.272727 0 0 1-23.272727-23.272727V266.984727H179.153455a69.818182 69.818182 0 0 0-69.818182 69.678546z m184.785454 370.129454a23.272727 23.272727 0 0 1-23.272727-23.272727 23.272727 23.272727 0 0 1 23.272727-23.272727h416.116364a23.272727 23.272727 0 0 1 23.272727 23.272727 23.272727 23.272727 0 0 1-23.272727 23.272727z m0-166.446545a23.272727 23.272727 0 0 1-23.272727-23.272728 23.272727 23.272727 0 0 1 23.272727-23.272727h228.864a23.272727 23.272727 0 0 1 23.272728 23.272727 23.272727 23.272727 0 0 1-23.272728 23.272728z" ></path></symbol><symbol id="icon-code_icon_copy" viewBox="0 0 1024 1024"><path d="M136.192 987.428571A99.766857 99.766857 0 0 1 36.571429 887.808V321.828571a99.693714 99.693714 0 0 1 99.620571-99.620571h86.089143V136.118857A99.766857 99.766857 0 0 1 321.828571 36.571429h565.906286A99.766857 99.766857 0 0 1 987.428571 136.192V702.171429a99.693714 99.693714 0 0 1-99.620571 99.620571h-86.089143v86.089143A99.766857 99.766857 0 0 1 702.171429 987.428571z m-30.939429-665.6v565.906286a31.012571 31.012571 0 0 0 30.939429 31.012572H702.171429a31.012571 31.012571 0 0 0 31.012571-31.012572V321.828571a31.012571 31.012571 0 0 0-31.012571-30.939428H136.265143a31.012571 31.012571 0 0 0-31.012572 30.939428z m782.628572 411.136a31.012571 31.012571 0 0 0 30.939428-30.939428V136.118857a31.012571 31.012571 0 0 0-30.939428-31.012571H321.828571a31.012571 31.012571 0 0 0-31.012571 31.012571v86.089143H702.171429A99.766857 99.766857 0 0 1 801.792 321.828571v411.136z" ></path></symbol></svg>',
  1422. d = (d = document.getElementsByTagName("script"))[d.length - 1].getAttribute("data-injectcss"),
  1423. l = function l(a, t) {
  1424. t.parentNode.insertBefore(a, t);
  1425. };
  1426. if (d && !a.__iconfont__svg__cssinject__) {
  1427. a.__iconfont__svg__cssinject__ = !0;
  1428. try {
  1429. document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>");
  1430. } catch (a) {
  1431. console && console.log(a);
  1432. }
  1433. }
  1434. function p() {
  1435. n || (n = !0, h());
  1436. }
  1437. function c() {
  1438. try {
  1439. i.documentElement.doScroll("left");
  1440. } catch (a) {
  1441. return void setTimeout(c, 50);
  1442. }
  1443. p();
  1444. }
  1445. t = function t() {
  1446. var a,
  1447. t = document.createElement("div");
  1448. t.innerHTML = e, e = null, (t = t.getElementsByTagName("svg")[0]) && (t.setAttribute("aria-hidden", "true"), t.style.position = "absolute", t.style.width = 0, t.style.height = 0, t.style.overflow = "hidden", t = t, (a = document.body).firstChild ? l(t, a.firstChild) : a.appendChild(t));
  1449. }, document.addEventListener ? ~["complete", "loaded", "interactive"].indexOf(document.readyState) ? setTimeout(t, 0) : (_o = function o() {
  1450. document.removeEventListener("DOMContentLoaded", _o, !1), t();
  1451. }, document.addEventListener("DOMContentLoaded", _o, !1)) : document.attachEvent && (h = t, i = a.document, n = !1, c(), i.onreadystatechange = function () {
  1452. "complete" == i.readyState && (i.onreadystatechange = null, p());
  1453. });
  1454. }(window);
  1455. /***/
  1456. }),
  1457. /***/ 4963:
  1458. /***/ ((module) => {
  1459. module.exports = function (it) {
  1460. if (typeof it != 'function') throw TypeError(it + ' is not a function!');
  1461. return it;
  1462. };
  1463. /***/
  1464. }),
  1465. /***/ 7722:
  1466. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1467. // 22.1.3.31 Array.prototype[@@unscopables]
  1468. var UNSCOPABLES = __webpack_require__(6314)('unscopables');
  1469. var ArrayProto = Array.prototype;
  1470. if (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(7728)(ArrayProto, UNSCOPABLES, {});
  1471. module.exports = function (key) {
  1472. ArrayProto[UNSCOPABLES][key] = true;
  1473. };
  1474. /***/
  1475. }),
  1476. /***/ 6793:
  1477. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1478. "use strict";
  1479. var at = __webpack_require__(4496)(true);
  1480. // `AdvanceStringIndex` abstract operation
  1481. // https://tc39.github.io/ecma262/#sec-advancestringindex
  1482. module.exports = function (S, index, unicode) {
  1483. return index + (unicode ? at(S, index).length : 1);
  1484. };
  1485. /***/
  1486. }),
  1487. /***/ 3328:
  1488. /***/ ((module) => {
  1489. module.exports = function (it, Constructor, name, forbiddenField) {
  1490. if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
  1491. throw TypeError(name + ': incorrect invocation!');
  1492. } return it;
  1493. };
  1494. /***/
  1495. }),
  1496. /***/ 7007:
  1497. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1498. var isObject = __webpack_require__(5286);
  1499. module.exports = function (it) {
  1500. if (!isObject(it)) throw TypeError(it + ' is not an object!');
  1501. return it;
  1502. };
  1503. /***/
  1504. }),
  1505. /***/ 6852:
  1506. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1507. "use strict";
  1508. // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
  1509. var toObject = __webpack_require__(508);
  1510. var toAbsoluteIndex = __webpack_require__(2337);
  1511. var toLength = __webpack_require__(875);
  1512. module.exports = function fill(value /* , start = 0, end = @length */) {
  1513. var O = toObject(this);
  1514. var length = toLength(O.length);
  1515. var aLen = arguments.length;
  1516. var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);
  1517. var end = aLen > 2 ? arguments[2] : undefined;
  1518. var endPos = end === undefined ? length : toAbsoluteIndex(end, length);
  1519. while (endPos > index) O[index++] = value;
  1520. return O;
  1521. };
  1522. /***/
  1523. }),
  1524. /***/ 9315:
  1525. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1526. // false -> Array#indexOf
  1527. // true -> Array#includes
  1528. var toIObject = __webpack_require__(2110);
  1529. var toLength = __webpack_require__(875);
  1530. var toAbsoluteIndex = __webpack_require__(2337);
  1531. module.exports = function (IS_INCLUDES) {
  1532. return function ($this, el, fromIndex) {
  1533. var O = toIObject($this);
  1534. var length = toLength(O.length);
  1535. var index = toAbsoluteIndex(fromIndex, length);
  1536. var value;
  1537. // Array#includes uses SameValueZero equality algorithm
  1538. // eslint-disable-next-line no-self-compare
  1539. if (IS_INCLUDES && el != el) while (length > index) {
  1540. value = O[index++];
  1541. // eslint-disable-next-line no-self-compare
  1542. if (value != value) return true;
  1543. // Array#indexOf ignores holes, Array#includes - not
  1544. } else for (; length > index; index++) if (IS_INCLUDES || index in O) {
  1545. if (O[index] === el) return IS_INCLUDES || index || 0;
  1546. } return !IS_INCLUDES && -1;
  1547. };
  1548. };
  1549. /***/
  1550. }),
  1551. /***/ 50:
  1552. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1553. // 0 -> Array#forEach
  1554. // 1 -> Array#map
  1555. // 2 -> Array#filter
  1556. // 3 -> Array#some
  1557. // 4 -> Array#every
  1558. // 5 -> Array#find
  1559. // 6 -> Array#findIndex
  1560. var ctx = __webpack_require__(741);
  1561. var IObject = __webpack_require__(9797);
  1562. var toObject = __webpack_require__(508);
  1563. var toLength = __webpack_require__(875);
  1564. var asc = __webpack_require__(6886);
  1565. module.exports = function (TYPE, $create) {
  1566. var IS_MAP = TYPE == 1;
  1567. var IS_FILTER = TYPE == 2;
  1568. var IS_SOME = TYPE == 3;
  1569. var IS_EVERY = TYPE == 4;
  1570. var IS_FIND_INDEX = TYPE == 6;
  1571. var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
  1572. var create = $create || asc;
  1573. return function ($this, callbackfn, that) {
  1574. var O = toObject($this);
  1575. var self = IObject(O);
  1576. var f = ctx(callbackfn, that, 3);
  1577. var length = toLength(self.length);
  1578. var index = 0;
  1579. var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
  1580. var val, res;
  1581. for (; length > index; index++) if (NO_HOLES || index in self) {
  1582. val = self[index];
  1583. res = f(val, index, O);
  1584. if (TYPE) {
  1585. if (IS_MAP) result[index] = res; // map
  1586. else if (res) switch (TYPE) {
  1587. case 3: return true; // some
  1588. case 5: return val; // find
  1589. case 6: return index; // findIndex
  1590. case 2: result.push(val); // filter
  1591. } else if (IS_EVERY) return false; // every
  1592. }
  1593. }
  1594. return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
  1595. };
  1596. };
  1597. /***/
  1598. }),
  1599. /***/ 2736:
  1600. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1601. var isObject = __webpack_require__(5286);
  1602. var isArray = __webpack_require__(4302);
  1603. var SPECIES = __webpack_require__(6314)('species');
  1604. module.exports = function (original) {
  1605. var C;
  1606. if (isArray(original)) {
  1607. C = original.constructor;
  1608. // cross-realm fallback
  1609. if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
  1610. if (isObject(C)) {
  1611. C = C[SPECIES];
  1612. if (C === null) C = undefined;
  1613. }
  1614. } return C === undefined ? Array : C;
  1615. };
  1616. /***/
  1617. }),
  1618. /***/ 6886:
  1619. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1620. // 9.4.2.3 ArraySpeciesCreate(originalArray, length)
  1621. var speciesConstructor = __webpack_require__(2736);
  1622. module.exports = function (original, length) {
  1623. return new (speciesConstructor(original))(length);
  1624. };
  1625. /***/
  1626. }),
  1627. /***/ 1488:
  1628. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1629. // getting tag from 19.1.3.6 Object.prototype.toString()
  1630. var cof = __webpack_require__(2032);
  1631. var TAG = __webpack_require__(6314)('toStringTag');
  1632. // ES3 wrong here
  1633. var ARG = cof(function () { return arguments; }()) == 'Arguments';
  1634. // fallback for IE11 Script Access Denied error
  1635. var tryGet = function (it, key) {
  1636. try {
  1637. return it[key];
  1638. } catch (e) { /* empty */ }
  1639. };
  1640. module.exports = function (it) {
  1641. var O, T, B;
  1642. return it === undefined ? 'Undefined' : it === null ? 'Null'
  1643. // @@toStringTag case
  1644. : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
  1645. // builtinTag case
  1646. : ARG ? cof(O)
  1647. // ES3 arguments fallback
  1648. : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
  1649. };
  1650. /***/
  1651. }),
  1652. /***/ 2032:
  1653. /***/ ((module) => {
  1654. var toString = {}.toString;
  1655. module.exports = function (it) {
  1656. return toString.call(it).slice(8, -1);
  1657. };
  1658. /***/
  1659. }),
  1660. /***/ 5645:
  1661. /***/ ((module) => {
  1662. var core = module.exports = { version: '2.6.12' };
  1663. if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
  1664. /***/
  1665. }),
  1666. /***/ 2811:
  1667. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1668. "use strict";
  1669. var $defineProperty = __webpack_require__(9275);
  1670. var createDesc = __webpack_require__(681);
  1671. module.exports = function (object, index, value) {
  1672. if (index in object) $defineProperty.f(object, index, createDesc(0, value));
  1673. else object[index] = value;
  1674. };
  1675. /***/
  1676. }),
  1677. /***/ 741:
  1678. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1679. // optional / simple context binding
  1680. var aFunction = __webpack_require__(4963);
  1681. module.exports = function (fn, that, length) {
  1682. aFunction(fn);
  1683. if (that === undefined) return fn;
  1684. switch (length) {
  1685. case 1: return function (a) {
  1686. return fn.call(that, a);
  1687. };
  1688. case 2: return function (a, b) {
  1689. return fn.call(that, a, b);
  1690. };
  1691. case 3: return function (a, b, c) {
  1692. return fn.call(that, a, b, c);
  1693. };
  1694. }
  1695. return function (/* ...args */) {
  1696. return fn.apply(that, arguments);
  1697. };
  1698. };
  1699. /***/
  1700. }),
  1701. /***/ 1355:
  1702. /***/ ((module) => {
  1703. // 7.2.1 RequireObjectCoercible(argument)
  1704. module.exports = function (it) {
  1705. if (it == undefined) throw TypeError("Can't call method on " + it);
  1706. return it;
  1707. };
  1708. /***/
  1709. }),
  1710. /***/ 7057:
  1711. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1712. // Thank's IE8 for his funny defineProperty
  1713. module.exports = !__webpack_require__(4253)(function () {
  1714. return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
  1715. });
  1716. /***/
  1717. }),
  1718. /***/ 2457:
  1719. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1720. var isObject = __webpack_require__(5286);
  1721. var document = (__webpack_require__(3816).document);
  1722. // typeof document.createElement is 'object' in old IE
  1723. var is = isObject(document) && isObject(document.createElement);
  1724. module.exports = function (it) {
  1725. return is ? document.createElement(it) : {};
  1726. };
  1727. /***/
  1728. }),
  1729. /***/ 4430:
  1730. /***/ ((module) => {
  1731. // IE 8- don't enum bug keys
  1732. module.exports = (
  1733. 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
  1734. ).split(',');
  1735. /***/
  1736. }),
  1737. /***/ 5541:
  1738. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1739. // all enumerable object keys, includes symbols
  1740. var getKeys = __webpack_require__(7184);
  1741. var gOPS = __webpack_require__(4548);
  1742. var pIE = __webpack_require__(4682);
  1743. module.exports = function (it) {
  1744. var result = getKeys(it);
  1745. var getSymbols = gOPS.f;
  1746. if (getSymbols) {
  1747. var symbols = getSymbols(it);
  1748. var isEnum = pIE.f;
  1749. var i = 0;
  1750. var key;
  1751. while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);
  1752. } return result;
  1753. };
  1754. /***/
  1755. }),
  1756. /***/ 2985:
  1757. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1758. var global = __webpack_require__(3816);
  1759. var core = __webpack_require__(5645);
  1760. var hide = __webpack_require__(7728);
  1761. var redefine = __webpack_require__(7234);
  1762. var ctx = __webpack_require__(741);
  1763. var PROTOTYPE = 'prototype';
  1764. var $export = function (type, name, source) {
  1765. var IS_FORCED = type & $export.F;
  1766. var IS_GLOBAL = type & $export.G;
  1767. var IS_STATIC = type & $export.S;
  1768. var IS_PROTO = type & $export.P;
  1769. var IS_BIND = type & $export.B;
  1770. var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];
  1771. var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
  1772. var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});
  1773. var key, own, out, exp;
  1774. if (IS_GLOBAL) source = name;
  1775. for (key in source) {
  1776. // contains in native
  1777. own = !IS_FORCED && target && target[key] !== undefined;
  1778. // export native or passed
  1779. out = (own ? target : source)[key];
  1780. // bind timers to global for call from export context
  1781. exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
  1782. // extend global
  1783. if (target) redefine(target, key, out, type & $export.U);
  1784. // export
  1785. if (exports[key] != out) hide(exports, key, exp);
  1786. if (IS_PROTO && expProto[key] != out) expProto[key] = out;
  1787. }
  1788. };
  1789. global.core = core;
  1790. // type bitmap
  1791. $export.F = 1; // forced
  1792. $export.G = 2; // global
  1793. $export.S = 4; // static
  1794. $export.P = 8; // proto
  1795. $export.B = 16; // bind
  1796. $export.W = 32; // wrap
  1797. $export.U = 64; // safe
  1798. $export.R = 128; // real proto method for `library`
  1799. module.exports = $export;
  1800. /***/
  1801. }),
  1802. /***/ 4253:
  1803. /***/ ((module) => {
  1804. module.exports = function (exec) {
  1805. try {
  1806. return !!exec();
  1807. } catch (e) {
  1808. return true;
  1809. }
  1810. };
  1811. /***/
  1812. }),
  1813. /***/ 8082:
  1814. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1815. "use strict";
  1816. __webpack_require__(8269);
  1817. var redefine = __webpack_require__(7234);
  1818. var hide = __webpack_require__(7728);
  1819. var fails = __webpack_require__(4253);
  1820. var defined = __webpack_require__(1355);
  1821. var wks = __webpack_require__(6314);
  1822. var regexpExec = __webpack_require__(1165);
  1823. var SPECIES = wks('species');
  1824. var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
  1825. // #replace needs built-in support for named groups.
  1826. // #match works fine because it just return the exec results, even if it has
  1827. // a "grops" property.
  1828. var re = /./;
  1829. re.exec = function () {
  1830. var result = [];
  1831. result.groups = { a: '7' };
  1832. return result;
  1833. };
  1834. return ''.replace(re, '$<a>') !== '7';
  1835. });
  1836. var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {
  1837. // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
  1838. var re = /(?:)/;
  1839. var originalExec = re.exec;
  1840. re.exec = function () { return originalExec.apply(this, arguments); };
  1841. var result = 'ab'.split(re);
  1842. return result.length === 2 && result[0] === 'a' && result[1] === 'b';
  1843. })();
  1844. module.exports = function (KEY, length, exec) {
  1845. var SYMBOL = wks(KEY);
  1846. var DELEGATES_TO_SYMBOL = !fails(function () {
  1847. // String methods call symbol-named RegEp methods
  1848. var O = {};
  1849. O[SYMBOL] = function () { return 7; };
  1850. return ''[KEY](O) != 7;
  1851. });
  1852. var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {
  1853. // Symbol-named RegExp methods call .exec
  1854. var execCalled = false;
  1855. var re = /a/;
  1856. re.exec = function () { execCalled = true; return null; };
  1857. if (KEY === 'split') {
  1858. // RegExp[@@split] doesn't call the regex's exec method, but first creates
  1859. // a new one. We need to return the patched regex when creating the new one.
  1860. re.constructor = {};
  1861. re.constructor[SPECIES] = function () { return re; };
  1862. }
  1863. re[SYMBOL]('');
  1864. return !execCalled;
  1865. }) : undefined;
  1866. if (
  1867. !DELEGATES_TO_SYMBOL ||
  1868. !DELEGATES_TO_EXEC ||
  1869. (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||
  1870. (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
  1871. ) {
  1872. var nativeRegExpMethod = /./[SYMBOL];
  1873. var fns = exec(
  1874. defined,
  1875. SYMBOL,
  1876. ''[KEY],
  1877. function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {
  1878. if (regexp.exec === regexpExec) {
  1879. if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
  1880. // The native String method already delegates to @@method (this
  1881. // polyfilled function), leasing to infinite recursion.
  1882. // We avoid it by directly calling the native @@method method.
  1883. return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
  1884. }
  1885. return { done: true, value: nativeMethod.call(str, regexp, arg2) };
  1886. }
  1887. return { done: false };
  1888. }
  1889. );
  1890. var strfn = fns[0];
  1891. var rxfn = fns[1];
  1892. redefine(String.prototype, KEY, strfn);
  1893. hide(RegExp.prototype, SYMBOL, length == 2
  1894. // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
  1895. // 21.2.5.11 RegExp.prototype[@@split](string, limit)
  1896. ? function (string, arg) { return rxfn.call(string, this, arg); }
  1897. // 21.2.5.6 RegExp.prototype[@@match](string)
  1898. // 21.2.5.9 RegExp.prototype[@@search](string)
  1899. : function (string) { return rxfn.call(string, this); }
  1900. );
  1901. }
  1902. };
  1903. /***/
  1904. }),
  1905. /***/ 3218:
  1906. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1907. "use strict";
  1908. // 21.2.5.3 get RegExp.prototype.flags
  1909. var anObject = __webpack_require__(7007);
  1910. module.exports = function () {
  1911. var that = anObject(this);
  1912. var result = '';
  1913. if (that.global) result += 'g';
  1914. if (that.ignoreCase) result += 'i';
  1915. if (that.multiline) result += 'm';
  1916. if (that.unicode) result += 'u';
  1917. if (that.sticky) result += 'y';
  1918. return result;
  1919. };
  1920. /***/
  1921. }),
  1922. /***/ 3531:
  1923. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1924. var ctx = __webpack_require__(741);
  1925. var call = __webpack_require__(8851);
  1926. var isArrayIter = __webpack_require__(6555);
  1927. var anObject = __webpack_require__(7007);
  1928. var toLength = __webpack_require__(875);
  1929. var getIterFn = __webpack_require__(9002);
  1930. var BREAK = {};
  1931. var RETURN = {};
  1932. var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
  1933. var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
  1934. var f = ctx(fn, that, entries ? 2 : 1);
  1935. var index = 0;
  1936. var length, step, iterator, result;
  1937. if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
  1938. // fast case for arrays with default iterator
  1939. if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
  1940. result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
  1941. if (result === BREAK || result === RETURN) return result;
  1942. } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
  1943. result = call(iterator, f, step.value, entries);
  1944. if (result === BREAK || result === RETURN) return result;
  1945. }
  1946. };
  1947. exports.BREAK = BREAK;
  1948. exports.RETURN = RETURN;
  1949. /***/
  1950. }),
  1951. /***/ 18:
  1952. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1953. module.exports = __webpack_require__(3825)('native-function-to-string', Function.toString);
  1954. /***/
  1955. }),
  1956. /***/ 3816:
  1957. /***/ ((module) => {
  1958. // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
  1959. var global = module.exports = typeof window != 'undefined' && window.Math == Math
  1960. ? window : typeof self != 'undefined' && self.Math == Math ? self
  1961. // eslint-disable-next-line no-new-func
  1962. : Function('return this')();
  1963. if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
  1964. /***/
  1965. }),
  1966. /***/ 9181:
  1967. /***/ ((module) => {
  1968. var hasOwnProperty = {}.hasOwnProperty;
  1969. module.exports = function (it, key) {
  1970. return hasOwnProperty.call(it, key);
  1971. };
  1972. /***/
  1973. }),
  1974. /***/ 7728:
  1975. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1976. var dP = __webpack_require__(9275);
  1977. var createDesc = __webpack_require__(681);
  1978. module.exports = __webpack_require__(7057) ? function (object, key, value) {
  1979. return dP.f(object, key, createDesc(1, value));
  1980. } : function (object, key, value) {
  1981. object[key] = value;
  1982. return object;
  1983. };
  1984. /***/
  1985. }),
  1986. /***/ 639:
  1987. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1988. var document = (__webpack_require__(3816).document);
  1989. module.exports = document && document.documentElement;
  1990. /***/
  1991. }),
  1992. /***/ 1734:
  1993. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1994. module.exports = !__webpack_require__(7057) && !__webpack_require__(4253)(function () {
  1995. return Object.defineProperty(__webpack_require__(2457)('div'), 'a', { get: function () { return 7; } }).a != 7;
  1996. });
  1997. /***/
  1998. }),
  1999. /***/ 266:
  2000. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2001. var isObject = __webpack_require__(5286);
  2002. var setPrototypeOf = (__webpack_require__(7375).set);
  2003. module.exports = function (that, target, C) {
  2004. var S = target.constructor;
  2005. var P;
  2006. if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {
  2007. setPrototypeOf(that, P);
  2008. } return that;
  2009. };
  2010. /***/
  2011. }),
  2012. /***/ 7242:
  2013. /***/ ((module) => {
  2014. // fast apply, http://jsperf.lnkit.com/fast-apply/5
  2015. module.exports = function (fn, args, that) {
  2016. var un = that === undefined;
  2017. switch (args.length) {
  2018. case 0: return un ? fn()
  2019. : fn.call(that);
  2020. case 1: return un ? fn(args[0])
  2021. : fn.call(that, args[0]);
  2022. case 2: return un ? fn(args[0], args[1])
  2023. : fn.call(that, args[0], args[1]);
  2024. case 3: return un ? fn(args[0], args[1], args[2])
  2025. : fn.call(that, args[0], args[1], args[2]);
  2026. case 4: return un ? fn(args[0], args[1], args[2], args[3])
  2027. : fn.call(that, args[0], args[1], args[2], args[3]);
  2028. } return fn.apply(that, args);
  2029. };
  2030. /***/
  2031. }),
  2032. /***/ 9797:
  2033. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2034. // fallback for non-array-like ES3 and non-enumerable old V8 strings
  2035. var cof = __webpack_require__(2032);
  2036. // eslint-disable-next-line no-prototype-builtins
  2037. module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
  2038. return cof(it) == 'String' ? it.split('') : Object(it);
  2039. };
  2040. /***/
  2041. }),
  2042. /***/ 6555:
  2043. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2044. // check on default Array iterator
  2045. var Iterators = __webpack_require__(2803);
  2046. var ITERATOR = __webpack_require__(6314)('iterator');
  2047. var ArrayProto = Array.prototype;
  2048. module.exports = function (it) {
  2049. return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
  2050. };
  2051. /***/
  2052. }),
  2053. /***/ 4302:
  2054. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2055. // 7.2.2 IsArray(argument)
  2056. var cof = __webpack_require__(2032);
  2057. module.exports = Array.isArray || function isArray(arg) {
  2058. return cof(arg) == 'Array';
  2059. };
  2060. /***/
  2061. }),
  2062. /***/ 5286:
  2063. /***/ ((module) => {
  2064. module.exports = function (it) {
  2065. return typeof it === 'object' ? it !== null : typeof it === 'function';
  2066. };
  2067. /***/
  2068. }),
  2069. /***/ 5364:
  2070. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2071. // 7.2.8 IsRegExp(argument)
  2072. var isObject = __webpack_require__(5286);
  2073. var cof = __webpack_require__(2032);
  2074. var MATCH = __webpack_require__(6314)('match');
  2075. module.exports = function (it) {
  2076. var isRegExp;
  2077. return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');
  2078. };
  2079. /***/
  2080. }),
  2081. /***/ 8851:
  2082. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2083. // call something on iterator step with safe closing on error
  2084. var anObject = __webpack_require__(7007);
  2085. module.exports = function (iterator, fn, value, entries) {
  2086. try {
  2087. return entries ? fn(anObject(value)[0], value[1]) : fn(value);
  2088. // 7.4.6 IteratorClose(iterator, completion)
  2089. } catch (e) {
  2090. var ret = iterator['return'];
  2091. if (ret !== undefined) anObject(ret.call(iterator));
  2092. throw e;
  2093. }
  2094. };
  2095. /***/
  2096. }),
  2097. /***/ 9988:
  2098. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2099. "use strict";
  2100. var create = __webpack_require__(2503);
  2101. var descriptor = __webpack_require__(681);
  2102. var setToStringTag = __webpack_require__(2943);
  2103. var IteratorPrototype = {};
  2104. // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
  2105. __webpack_require__(7728)(IteratorPrototype, __webpack_require__(6314)('iterator'), function () { return this; });
  2106. module.exports = function (Constructor, NAME, next) {
  2107. Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
  2108. setToStringTag(Constructor, NAME + ' Iterator');
  2109. };
  2110. /***/
  2111. }),
  2112. /***/ 2923:
  2113. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2114. "use strict";
  2115. var LIBRARY = __webpack_require__(4461);
  2116. var $export = __webpack_require__(2985);
  2117. var redefine = __webpack_require__(7234);
  2118. var hide = __webpack_require__(7728);
  2119. var Iterators = __webpack_require__(2803);
  2120. var $iterCreate = __webpack_require__(9988);
  2121. var setToStringTag = __webpack_require__(2943);
  2122. var getPrototypeOf = __webpack_require__(468);
  2123. var ITERATOR = __webpack_require__(6314)('iterator');
  2124. var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
  2125. var FF_ITERATOR = '@@iterator';
  2126. var KEYS = 'keys';
  2127. var VALUES = 'values';
  2128. var returnThis = function () { return this; };
  2129. module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
  2130. $iterCreate(Constructor, NAME, next);
  2131. var getMethod = function (kind) {
  2132. if (!BUGGY && kind in proto) return proto[kind];
  2133. switch (kind) {
  2134. case KEYS: return function keys() { return new Constructor(this, kind); };
  2135. case VALUES: return function values() { return new Constructor(this, kind); };
  2136. } return function entries() { return new Constructor(this, kind); };
  2137. };
  2138. var TAG = NAME + ' Iterator';
  2139. var DEF_VALUES = DEFAULT == VALUES;
  2140. var VALUES_BUG = false;
  2141. var proto = Base.prototype;
  2142. var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
  2143. var $default = $native || getMethod(DEFAULT);
  2144. var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
  2145. var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
  2146. var methods, key, IteratorPrototype;
  2147. // Fix native
  2148. if ($anyNative) {
  2149. IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
  2150. if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
  2151. // Set @@toStringTag to native iterators
  2152. setToStringTag(IteratorPrototype, TAG, true);
  2153. // fix for some old engines
  2154. if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
  2155. }
  2156. }
  2157. // fix Array#{values, @@iterator}.name in V8 / FF
  2158. if (DEF_VALUES && $native && $native.name !== VALUES) {
  2159. VALUES_BUG = true;
  2160. $default = function values() { return $native.call(this); };
  2161. }
  2162. // Define iterator
  2163. if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
  2164. hide(proto, ITERATOR, $default);
  2165. }
  2166. // Plug for library
  2167. Iterators[NAME] = $default;
  2168. Iterators[TAG] = returnThis;
  2169. if (DEFAULT) {
  2170. methods = {
  2171. values: DEF_VALUES ? $default : getMethod(VALUES),
  2172. keys: IS_SET ? $default : getMethod(KEYS),
  2173. entries: $entries
  2174. };
  2175. if (FORCED) for (key in methods) {
  2176. if (!(key in proto)) redefine(proto, key, methods[key]);
  2177. } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
  2178. }
  2179. return methods;
  2180. };
  2181. /***/
  2182. }),
  2183. /***/ 7462:
  2184. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2185. var ITERATOR = __webpack_require__(6314)('iterator');
  2186. var SAFE_CLOSING = false;
  2187. try {
  2188. var riter = [7][ITERATOR]();
  2189. riter['return'] = function () { SAFE_CLOSING = true; };
  2190. // eslint-disable-next-line no-throw-literal
  2191. Array.from(riter, function () { throw 2; });
  2192. } catch (e) { /* empty */ }
  2193. module.exports = function (exec, skipClosing) {
  2194. if (!skipClosing && !SAFE_CLOSING) return false;
  2195. var safe = false;
  2196. try {
  2197. var arr = [7];
  2198. var iter = arr[ITERATOR]();
  2199. iter.next = function () { return { done: safe = true }; };
  2200. arr[ITERATOR] = function () { return iter; };
  2201. exec(arr);
  2202. } catch (e) { /* empty */ }
  2203. return safe;
  2204. };
  2205. /***/
  2206. }),
  2207. /***/ 5436:
  2208. /***/ ((module) => {
  2209. module.exports = function (done, value) {
  2210. return { value: value, done: !!done };
  2211. };
  2212. /***/
  2213. }),
  2214. /***/ 2803:
  2215. /***/ ((module) => {
  2216. module.exports = {};
  2217. /***/
  2218. }),
  2219. /***/ 4461:
  2220. /***/ ((module) => {
  2221. module.exports = false;
  2222. /***/
  2223. }),
  2224. /***/ 4728:
  2225. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2226. var META = __webpack_require__(3953)('meta');
  2227. var isObject = __webpack_require__(5286);
  2228. var has = __webpack_require__(9181);
  2229. var setDesc = (__webpack_require__(9275).f);
  2230. var id = 0;
  2231. var isExtensible = Object.isExtensible || function () {
  2232. return true;
  2233. };
  2234. var FREEZE = !__webpack_require__(4253)(function () {
  2235. return isExtensible(Object.preventExtensions({}));
  2236. });
  2237. var setMeta = function (it) {
  2238. setDesc(it, META, {
  2239. value: {
  2240. i: 'O' + ++id, // object ID
  2241. w: {} // weak collections IDs
  2242. }
  2243. });
  2244. };
  2245. var fastKey = function (it, create) {
  2246. // return primitive with prefix
  2247. if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
  2248. if (!has(it, META)) {
  2249. // can't set metadata to uncaught frozen object
  2250. if (!isExtensible(it)) return 'F';
  2251. // not necessary to add metadata
  2252. if (!create) return 'E';
  2253. // add missing metadata
  2254. setMeta(it);
  2255. // return object ID
  2256. } return it[META].i;
  2257. };
  2258. var getWeak = function (it, create) {
  2259. if (!has(it, META)) {
  2260. // can't set metadata to uncaught frozen object
  2261. if (!isExtensible(it)) return true;
  2262. // not necessary to add metadata
  2263. if (!create) return false;
  2264. // add missing metadata
  2265. setMeta(it);
  2266. // return hash weak collections IDs
  2267. } return it[META].w;
  2268. };
  2269. // add metadata on freeze-family methods calling
  2270. var onFreeze = function (it) {
  2271. if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
  2272. return it;
  2273. };
  2274. var meta = module.exports = {
  2275. KEY: META,
  2276. NEED: false,
  2277. fastKey: fastKey,
  2278. getWeak: getWeak,
  2279. onFreeze: onFreeze
  2280. };
  2281. /***/
  2282. }),
  2283. /***/ 4351:
  2284. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2285. var global = __webpack_require__(3816);
  2286. var macrotask = (__webpack_require__(4193).set);
  2287. var Observer = global.MutationObserver || global.WebKitMutationObserver;
  2288. var process = global.process;
  2289. var Promise = global.Promise;
  2290. var isNode = __webpack_require__(2032)(process) == 'process';
  2291. module.exports = function () {
  2292. var head, last, notify;
  2293. var flush = function () {
  2294. var parent, fn;
  2295. if (isNode && (parent = process.domain)) parent.exit();
  2296. while (head) {
  2297. fn = head.fn;
  2298. head = head.next;
  2299. try {
  2300. fn();
  2301. } catch (e) {
  2302. if (head) notify();
  2303. else last = undefined;
  2304. throw e;
  2305. }
  2306. } last = undefined;
  2307. if (parent) parent.enter();
  2308. };
  2309. // Node.js
  2310. if (isNode) {
  2311. notify = function () {
  2312. process.nextTick(flush);
  2313. };
  2314. // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339
  2315. } else if (Observer && !(global.navigator && global.navigator.standalone)) {
  2316. var toggle = true;
  2317. var node = document.createTextNode('');
  2318. new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new
  2319. notify = function () {
  2320. node.data = toggle = !toggle;
  2321. };
  2322. // environments with maybe non-completely correct, but existent Promise
  2323. } else if (Promise && Promise.resolve) {
  2324. // Promise.resolve without an argument throws an error in LG WebOS 2
  2325. var promise = Promise.resolve(undefined);
  2326. notify = function () {
  2327. promise.then(flush);
  2328. };
  2329. // for other environments - macrotask based on:
  2330. // - setImmediate
  2331. // - MessageChannel
  2332. // - window.postMessag
  2333. // - onreadystatechange
  2334. // - setTimeout
  2335. } else {
  2336. notify = function () {
  2337. // strange IE + webpack dev server bug - use .call(global)
  2338. macrotask.call(global, flush);
  2339. };
  2340. }
  2341. return function (fn) {
  2342. var task = { fn: fn, next: undefined };
  2343. if (last) last.next = task;
  2344. if (!head) {
  2345. head = task;
  2346. notify();
  2347. } last = task;
  2348. };
  2349. };
  2350. /***/
  2351. }),
  2352. /***/ 3499:
  2353. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2354. "use strict";
  2355. // 25.4.1.5 NewPromiseCapability(C)
  2356. var aFunction = __webpack_require__(4963);
  2357. function PromiseCapability(C) {
  2358. var resolve, reject;
  2359. this.promise = new C(function ($$resolve, $$reject) {
  2360. if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');
  2361. resolve = $$resolve;
  2362. reject = $$reject;
  2363. });
  2364. this.resolve = aFunction(resolve);
  2365. this.reject = aFunction(reject);
  2366. }
  2367. module.exports.f = function (C) {
  2368. return new PromiseCapability(C);
  2369. };
  2370. /***/
  2371. }),
  2372. /***/ 5345:
  2373. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2374. "use strict";
  2375. // 19.1.2.1 Object.assign(target, source, ...)
  2376. var DESCRIPTORS = __webpack_require__(7057);
  2377. var getKeys = __webpack_require__(7184);
  2378. var gOPS = __webpack_require__(4548);
  2379. var pIE = __webpack_require__(4682);
  2380. var toObject = __webpack_require__(508);
  2381. var IObject = __webpack_require__(9797);
  2382. var $assign = Object.assign;
  2383. // should work with symbols and should have deterministic property order (V8 bug)
  2384. module.exports = !$assign || __webpack_require__(4253)(function () {
  2385. var A = {};
  2386. var B = {};
  2387. // eslint-disable-next-line no-undef
  2388. var S = Symbol();
  2389. var K = 'abcdefghijklmnopqrst';
  2390. A[S] = 7;
  2391. K.split('').forEach(function (k) { B[k] = k; });
  2392. return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;
  2393. }) ? function assign(target, source) { // eslint-disable-line no-unused-vars
  2394. var T = toObject(target);
  2395. var aLen = arguments.length;
  2396. var index = 1;
  2397. var getSymbols = gOPS.f;
  2398. var isEnum = pIE.f;
  2399. while (aLen > index) {
  2400. var S = IObject(arguments[index++]);
  2401. var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);
  2402. var length = keys.length;
  2403. var j = 0;
  2404. var key;
  2405. while (length > j) {
  2406. key = keys[j++];
  2407. if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];
  2408. }
  2409. } return T;
  2410. } : $assign;
  2411. /***/
  2412. }),
  2413. /***/ 2503:
  2414. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2415. // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
  2416. var anObject = __webpack_require__(7007);
  2417. var dPs = __webpack_require__(5588);
  2418. var enumBugKeys = __webpack_require__(4430);
  2419. var IE_PROTO = __webpack_require__(9335)('IE_PROTO');
  2420. var Empty = function () { /* empty */ };
  2421. var PROTOTYPE = 'prototype';
  2422. // Create object with fake `null` prototype: use iframe Object with cleared prototype
  2423. var createDict = function () {
  2424. // Thrash, waste and sodomy: IE GC bug
  2425. var iframe = __webpack_require__(2457)('iframe');
  2426. var i = enumBugKeys.length;
  2427. var lt = '<';
  2428. var gt = '>';
  2429. var iframeDocument;
  2430. iframe.style.display = 'none';
  2431. (__webpack_require__(639).appendChild)(iframe);
  2432. iframe.src = 'javascript:'; // eslint-disable-line no-script-url
  2433. // createDict = iframe.contentWindow.Object;
  2434. // html.removeChild(iframe);
  2435. iframeDocument = iframe.contentWindow.document;
  2436. iframeDocument.open();
  2437. iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
  2438. iframeDocument.close();
  2439. createDict = iframeDocument.F;
  2440. while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
  2441. return createDict();
  2442. };
  2443. module.exports = Object.create || function create(O, Properties) {
  2444. var result;
  2445. if (O !== null) {
  2446. Empty[PROTOTYPE] = anObject(O);
  2447. result = new Empty();
  2448. Empty[PROTOTYPE] = null;
  2449. // add "__proto__" for Object.getPrototypeOf polyfill
  2450. result[IE_PROTO] = O;
  2451. } else result = createDict();
  2452. return Properties === undefined ? result : dPs(result, Properties);
  2453. };
  2454. /***/
  2455. }),
  2456. /***/ 9275:
  2457. /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
  2458. var anObject = __webpack_require__(7007);
  2459. var IE8_DOM_DEFINE = __webpack_require__(1734);
  2460. var toPrimitive = __webpack_require__(1689);
  2461. var dP = Object.defineProperty;
  2462. exports.f = __webpack_require__(7057) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
  2463. anObject(O);
  2464. P = toPrimitive(P, true);
  2465. anObject(Attributes);
  2466. if (IE8_DOM_DEFINE) try {
  2467. return dP(O, P, Attributes);
  2468. } catch (e) { /* empty */ }
  2469. if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
  2470. if ('value' in Attributes) O[P] = Attributes.value;
  2471. return O;
  2472. };
  2473. /***/
  2474. }),
  2475. /***/ 5588:
  2476. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2477. var dP = __webpack_require__(9275);
  2478. var anObject = __webpack_require__(7007);
  2479. var getKeys = __webpack_require__(7184);
  2480. module.exports = __webpack_require__(7057) ? Object.defineProperties : function defineProperties(O, Properties) {
  2481. anObject(O);
  2482. var keys = getKeys(Properties);
  2483. var length = keys.length;
  2484. var i = 0;
  2485. var P;
  2486. while (length > i) dP.f(O, P = keys[i++], Properties[P]);
  2487. return O;
  2488. };
  2489. /***/
  2490. }),
  2491. /***/ 8693:
  2492. /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
  2493. var pIE = __webpack_require__(4682);
  2494. var createDesc = __webpack_require__(681);
  2495. var toIObject = __webpack_require__(2110);
  2496. var toPrimitive = __webpack_require__(1689);
  2497. var has = __webpack_require__(9181);
  2498. var IE8_DOM_DEFINE = __webpack_require__(1734);
  2499. var gOPD = Object.getOwnPropertyDescriptor;
  2500. exports.f = __webpack_require__(7057) ? gOPD : function getOwnPropertyDescriptor(O, P) {
  2501. O = toIObject(O);
  2502. P = toPrimitive(P, true);
  2503. if (IE8_DOM_DEFINE) try {
  2504. return gOPD(O, P);
  2505. } catch (e) { /* empty */ }
  2506. if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);
  2507. };
  2508. /***/
  2509. }),
  2510. /***/ 9327:
  2511. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2512. // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
  2513. var toIObject = __webpack_require__(2110);
  2514. var gOPN = (__webpack_require__(616).f);
  2515. var toString = {}.toString;
  2516. var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
  2517. ? Object.getOwnPropertyNames(window) : [];
  2518. var getWindowNames = function (it) {
  2519. try {
  2520. return gOPN(it);
  2521. } catch (e) {
  2522. return windowNames.slice();
  2523. }
  2524. };
  2525. module.exports.f = function getOwnPropertyNames(it) {
  2526. return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));
  2527. };
  2528. /***/
  2529. }),
  2530. /***/ 616:
  2531. /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
  2532. // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
  2533. var $keys = __webpack_require__(189);
  2534. var hiddenKeys = (__webpack_require__(4430).concat)('length', 'prototype');
  2535. exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
  2536. return $keys(O, hiddenKeys);
  2537. };
  2538. /***/
  2539. }),
  2540. /***/ 4548:
  2541. /***/ ((__unused_webpack_module, exports) => {
  2542. exports.f = Object.getOwnPropertySymbols;
  2543. /***/
  2544. }),
  2545. /***/ 468:
  2546. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2547. // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
  2548. var has = __webpack_require__(9181);
  2549. var toObject = __webpack_require__(508);
  2550. var IE_PROTO = __webpack_require__(9335)('IE_PROTO');
  2551. var ObjectProto = Object.prototype;
  2552. module.exports = Object.getPrototypeOf || function (O) {
  2553. O = toObject(O);
  2554. if (has(O, IE_PROTO)) return O[IE_PROTO];
  2555. if (typeof O.constructor == 'function' && O instanceof O.constructor) {
  2556. return O.constructor.prototype;
  2557. } return O instanceof Object ? ObjectProto : null;
  2558. };
  2559. /***/
  2560. }),
  2561. /***/ 189:
  2562. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2563. var has = __webpack_require__(9181);
  2564. var toIObject = __webpack_require__(2110);
  2565. var arrayIndexOf = __webpack_require__(9315)(false);
  2566. var IE_PROTO = __webpack_require__(9335)('IE_PROTO');
  2567. module.exports = function (object, names) {
  2568. var O = toIObject(object);
  2569. var i = 0;
  2570. var result = [];
  2571. var key;
  2572. for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);
  2573. // Don't enum bug & hidden keys
  2574. while (names.length > i) if (has(O, key = names[i++])) {
  2575. ~arrayIndexOf(result, key) || result.push(key);
  2576. }
  2577. return result;
  2578. };
  2579. /***/
  2580. }),
  2581. /***/ 7184:
  2582. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2583. // 19.1.2.14 / 15.2.3.14 Object.keys(O)
  2584. var $keys = __webpack_require__(189);
  2585. var enumBugKeys = __webpack_require__(4430);
  2586. module.exports = Object.keys || function keys(O) {
  2587. return $keys(O, enumBugKeys);
  2588. };
  2589. /***/
  2590. }),
  2591. /***/ 4682:
  2592. /***/ ((__unused_webpack_module, exports) => {
  2593. exports.f = {}.propertyIsEnumerable;
  2594. /***/
  2595. }),
  2596. /***/ 3160:
  2597. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2598. // most Object methods by ES6 should accept primitives
  2599. var $export = __webpack_require__(2985);
  2600. var core = __webpack_require__(5645);
  2601. var fails = __webpack_require__(4253);
  2602. module.exports = function (KEY, exec) {
  2603. var fn = (core.Object || {})[KEY] || Object[KEY];
  2604. var exp = {};
  2605. exp[KEY] = exec(fn);
  2606. $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);
  2607. };
  2608. /***/
  2609. }),
  2610. /***/ 7643:
  2611. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2612. // all object keys, includes non-enumerable and symbols
  2613. var gOPN = __webpack_require__(616);
  2614. var gOPS = __webpack_require__(4548);
  2615. var anObject = __webpack_require__(7007);
  2616. var Reflect = (__webpack_require__(3816).Reflect);
  2617. module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {
  2618. var keys = gOPN.f(anObject(it));
  2619. var getSymbols = gOPS.f;
  2620. return getSymbols ? keys.concat(getSymbols(it)) : keys;
  2621. };
  2622. /***/
  2623. }),
  2624. /***/ 188:
  2625. /***/ ((module) => {
  2626. module.exports = function (exec) {
  2627. try {
  2628. return { e: false, v: exec() };
  2629. } catch (e) {
  2630. return { e: true, v: e };
  2631. }
  2632. };
  2633. /***/
  2634. }),
  2635. /***/ 94:
  2636. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2637. var anObject = __webpack_require__(7007);
  2638. var isObject = __webpack_require__(5286);
  2639. var newPromiseCapability = __webpack_require__(3499);
  2640. module.exports = function (C, x) {
  2641. anObject(C);
  2642. if (isObject(x) && x.constructor === C) return x;
  2643. var promiseCapability = newPromiseCapability.f(C);
  2644. var resolve = promiseCapability.resolve;
  2645. resolve(x);
  2646. return promiseCapability.promise;
  2647. };
  2648. /***/
  2649. }),
  2650. /***/ 681:
  2651. /***/ ((module) => {
  2652. module.exports = function (bitmap, value) {
  2653. return {
  2654. enumerable: !(bitmap & 1),
  2655. configurable: !(bitmap & 2),
  2656. writable: !(bitmap & 4),
  2657. value: value
  2658. };
  2659. };
  2660. /***/
  2661. }),
  2662. /***/ 4408:
  2663. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2664. var redefine = __webpack_require__(7234);
  2665. module.exports = function (target, src, safe) {
  2666. for (var key in src) redefine(target, key, src[key], safe);
  2667. return target;
  2668. };
  2669. /***/
  2670. }),
  2671. /***/ 7234:
  2672. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2673. var global = __webpack_require__(3816);
  2674. var hide = __webpack_require__(7728);
  2675. var has = __webpack_require__(9181);
  2676. var SRC = __webpack_require__(3953)('src');
  2677. var $toString = __webpack_require__(18);
  2678. var TO_STRING = 'toString';
  2679. var TPL = ('' + $toString).split(TO_STRING);
  2680. (__webpack_require__(5645).inspectSource) = function (it) {
  2681. return $toString.call(it);
  2682. };
  2683. (module.exports = function (O, key, val, safe) {
  2684. var isFunction = typeof val == 'function';
  2685. if (isFunction) has(val, 'name') || hide(val, 'name', key);
  2686. if (O[key] === val) return;
  2687. if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));
  2688. if (O === global) {
  2689. O[key] = val;
  2690. } else if (!safe) {
  2691. delete O[key];
  2692. hide(O, key, val);
  2693. } else if (O[key]) {
  2694. O[key] = val;
  2695. } else {
  2696. hide(O, key, val);
  2697. }
  2698. // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
  2699. })(Function.prototype, TO_STRING, function toString() {
  2700. return typeof this == 'function' && this[SRC] || $toString.call(this);
  2701. });
  2702. /***/
  2703. }),
  2704. /***/ 7787:
  2705. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2706. "use strict";
  2707. var classof = __webpack_require__(1488);
  2708. var builtinExec = RegExp.prototype.exec;
  2709. // `RegExpExec` abstract operation
  2710. // https://tc39.github.io/ecma262/#sec-regexpexec
  2711. module.exports = function (R, S) {
  2712. var exec = R.exec;
  2713. if (typeof exec === 'function') {
  2714. var result = exec.call(R, S);
  2715. if (typeof result !== 'object') {
  2716. throw new TypeError('RegExp exec method returned something other than an Object or null');
  2717. }
  2718. return result;
  2719. }
  2720. if (classof(R) !== 'RegExp') {
  2721. throw new TypeError('RegExp#exec called on incompatible receiver');
  2722. }
  2723. return builtinExec.call(R, S);
  2724. };
  2725. /***/
  2726. }),
  2727. /***/ 1165:
  2728. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2729. "use strict";
  2730. var regexpFlags = __webpack_require__(3218);
  2731. var nativeExec = RegExp.prototype.exec;
  2732. // This always refers to the native implementation, because the
  2733. // String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
  2734. // which loads this file before patching the method.
  2735. var nativeReplace = String.prototype.replace;
  2736. var patchedExec = nativeExec;
  2737. var LAST_INDEX = 'lastIndex';
  2738. var UPDATES_LAST_INDEX_WRONG = (function () {
  2739. var re1 = /a/,
  2740. re2 = /b*/g;
  2741. nativeExec.call(re1, 'a');
  2742. nativeExec.call(re2, 'a');
  2743. return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;
  2744. })();
  2745. // nonparticipating capturing group, copied from es5-shim's String#split patch.
  2746. var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
  2747. var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;
  2748. if (PATCH) {
  2749. patchedExec = function exec(str) {
  2750. var re = this;
  2751. var lastIndex, reCopy, match, i;
  2752. if (NPCG_INCLUDED) {
  2753. reCopy = new RegExp('^' + re.source + '$(?!\\s)', regexpFlags.call(re));
  2754. }
  2755. if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];
  2756. match = nativeExec.call(re, str);
  2757. if (UPDATES_LAST_INDEX_WRONG && match) {
  2758. re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;
  2759. }
  2760. if (NPCG_INCLUDED && match && match.length > 1) {
  2761. // Fix browsers whose `exec` methods don't consistently return `undefined`
  2762. // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
  2763. // eslint-disable-next-line no-loop-func
  2764. nativeReplace.call(match[0], reCopy, function () {
  2765. for (i = 1; i < arguments.length - 2; i++) {
  2766. if (arguments[i] === undefined) match[i] = undefined;
  2767. }
  2768. });
  2769. }
  2770. return match;
  2771. };
  2772. }
  2773. module.exports = patchedExec;
  2774. /***/
  2775. }),
  2776. /***/ 7375:
  2777. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2778. // Works with __proto__ only. Old v8 can't work with null proto objects.
  2779. /* eslint-disable no-proto */
  2780. var isObject = __webpack_require__(5286);
  2781. var anObject = __webpack_require__(7007);
  2782. var check = function (O, proto) {
  2783. anObject(O);
  2784. if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!");
  2785. };
  2786. module.exports = {
  2787. set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
  2788. function (test, buggy, set) {
  2789. try {
  2790. set = __webpack_require__(741)(Function.call, (__webpack_require__(8693).f)(Object.prototype, '__proto__').set, 2);
  2791. set(test, []);
  2792. buggy = !(test instanceof Array);
  2793. } catch (e) { buggy = true; }
  2794. return function setPrototypeOf(O, proto) {
  2795. check(O, proto);
  2796. if (buggy) O.__proto__ = proto;
  2797. else set(O, proto);
  2798. return O;
  2799. };
  2800. }({}, false) : undefined),
  2801. check: check
  2802. };
  2803. /***/
  2804. }),
  2805. /***/ 2974:
  2806. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2807. "use strict";
  2808. var global = __webpack_require__(3816);
  2809. var dP = __webpack_require__(9275);
  2810. var DESCRIPTORS = __webpack_require__(7057);
  2811. var SPECIES = __webpack_require__(6314)('species');
  2812. module.exports = function (KEY) {
  2813. var C = global[KEY];
  2814. if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
  2815. configurable: true,
  2816. get: function () { return this; }
  2817. });
  2818. };
  2819. /***/
  2820. }),
  2821. /***/ 2943:
  2822. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2823. var def = (__webpack_require__(9275).f);
  2824. var has = __webpack_require__(9181);
  2825. var TAG = __webpack_require__(6314)('toStringTag');
  2826. module.exports = function (it, tag, stat) {
  2827. if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
  2828. };
  2829. /***/
  2830. }),
  2831. /***/ 9335:
  2832. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2833. var shared = __webpack_require__(3825)('keys');
  2834. var uid = __webpack_require__(3953);
  2835. module.exports = function (key) {
  2836. return shared[key] || (shared[key] = uid(key));
  2837. };
  2838. /***/
  2839. }),
  2840. /***/ 3825:
  2841. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2842. var core = __webpack_require__(5645);
  2843. var global = __webpack_require__(3816);
  2844. var SHARED = '__core-js_shared__';
  2845. var store = global[SHARED] || (global[SHARED] = {});
  2846. (module.exports = function (key, value) {
  2847. return store[key] || (store[key] = value !== undefined ? value : {});
  2848. })('versions', []).push({
  2849. version: core.version,
  2850. mode: __webpack_require__(4461) ? 'pure' : 'global',
  2851. copyright: '© 2020 Denis Pushkarev (zloirock.ru)'
  2852. });
  2853. /***/
  2854. }),
  2855. /***/ 8364:
  2856. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2857. // 7.3.20 SpeciesConstructor(O, defaultConstructor)
  2858. var anObject = __webpack_require__(7007);
  2859. var aFunction = __webpack_require__(4963);
  2860. var SPECIES = __webpack_require__(6314)('species');
  2861. module.exports = function (O, D) {
  2862. var C = anObject(O).constructor;
  2863. var S;
  2864. return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);
  2865. };
  2866. /***/
  2867. }),
  2868. /***/ 7717:
  2869. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2870. "use strict";
  2871. var fails = __webpack_require__(4253);
  2872. module.exports = function (method, arg) {
  2873. return !!method && fails(function () {
  2874. // eslint-disable-next-line no-useless-call
  2875. arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);
  2876. });
  2877. };
  2878. /***/
  2879. }),
  2880. /***/ 4496:
  2881. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2882. var toInteger = __webpack_require__(1467);
  2883. var defined = __webpack_require__(1355);
  2884. // true -> String#at
  2885. // false -> String#codePointAt
  2886. module.exports = function (TO_STRING) {
  2887. return function (that, pos) {
  2888. var s = String(defined(that));
  2889. var i = toInteger(pos);
  2890. var l = s.length;
  2891. var a, b;
  2892. if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
  2893. a = s.charCodeAt(i);
  2894. return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
  2895. ? TO_STRING ? s.charAt(i) : a
  2896. : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
  2897. };
  2898. };
  2899. /***/
  2900. }),
  2901. /***/ 9599:
  2902. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2903. var $export = __webpack_require__(2985);
  2904. var defined = __webpack_require__(1355);
  2905. var fails = __webpack_require__(4253);
  2906. var spaces = __webpack_require__(4644);
  2907. var space = '[' + spaces + ']';
  2908. var non = '\u200b\u0085';
  2909. var ltrim = RegExp('^' + space + space + '*');
  2910. var rtrim = RegExp(space + space + '*$');
  2911. var exporter = function (KEY, exec, ALIAS) {
  2912. var exp = {};
  2913. var FORCE = fails(function () {
  2914. return !!spaces[KEY]() || non[KEY]() != non;
  2915. });
  2916. var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];
  2917. if (ALIAS) exp[ALIAS] = fn;
  2918. $export($export.P + $export.F * FORCE, 'String', exp);
  2919. };
  2920. // 1 -> String#trimLeft
  2921. // 2 -> String#trimRight
  2922. // 3 -> String#trim
  2923. var trim = exporter.trim = function (string, TYPE) {
  2924. string = String(defined(string));
  2925. if (TYPE & 1) string = string.replace(ltrim, '');
  2926. if (TYPE & 2) string = string.replace(rtrim, '');
  2927. return string;
  2928. };
  2929. module.exports = exporter;
  2930. /***/
  2931. }),
  2932. /***/ 4644:
  2933. /***/ ((module) => {
  2934. module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' +
  2935. '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
  2936. /***/
  2937. }),
  2938. /***/ 4193:
  2939. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  2940. var ctx = __webpack_require__(741);
  2941. var invoke = __webpack_require__(7242);
  2942. var html = __webpack_require__(639);
  2943. var cel = __webpack_require__(2457);
  2944. var global = __webpack_require__(3816);
  2945. var process = global.process;
  2946. var setTask = global.setImmediate;
  2947. var clearTask = global.clearImmediate;
  2948. var MessageChannel = global.MessageChannel;
  2949. var Dispatch = global.Dispatch;
  2950. var counter = 0;
  2951. var queue = {};
  2952. var ONREADYSTATECHANGE = 'onreadystatechange';
  2953. var defer, channel, port;
  2954. var run = function () {
  2955. var id = +this;
  2956. // eslint-disable-next-line no-prototype-builtins
  2957. if (queue.hasOwnProperty(id)) {
  2958. var fn = queue[id];
  2959. delete queue[id];
  2960. fn();
  2961. }
  2962. };
  2963. var listener = function (event) {
  2964. run.call(event.data);
  2965. };
  2966. // Node.js 0.9+ & IE10+ has setImmediate, otherwise:
  2967. if (!setTask || !clearTask) {
  2968. setTask = function setImmediate(fn) {
  2969. var args = [];
  2970. var i = 1;
  2971. while (arguments.length > i) args.push(arguments[i++]);
  2972. queue[++counter] = function () {
  2973. // eslint-disable-next-line no-new-func
  2974. invoke(typeof fn == 'function' ? fn : Function(fn), args);
  2975. };
  2976. defer(counter);
  2977. return counter;
  2978. };
  2979. clearTask = function clearImmediate(id) {
  2980. delete queue[id];
  2981. };
  2982. // Node.js 0.8-
  2983. if (__webpack_require__(2032)(process) == 'process') {
  2984. defer = function (id) {
  2985. process.nextTick(ctx(run, id, 1));
  2986. };
  2987. // Sphere (JS game engine) Dispatch API
  2988. } else if (Dispatch && Dispatch.now) {
  2989. defer = function (id) {
  2990. Dispatch.now(ctx(run, id, 1));
  2991. };
  2992. // Browsers with MessageChannel, includes WebWorkers
  2993. } else if (MessageChannel) {
  2994. channel = new MessageChannel();
  2995. port = channel.port2;
  2996. channel.port1.onmessage = listener;
  2997. defer = ctx(port.postMessage, port, 1);
  2998. // Browsers with postMessage, skip WebWorkers
  2999. // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
  3000. } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {
  3001. defer = function (id) {
  3002. global.postMessage(id + '', '*');
  3003. };
  3004. global.addEventListener('message', listener, false);
  3005. // IE8-
  3006. } else if (ONREADYSTATECHANGE in cel('script')) {
  3007. defer = function (id) {
  3008. html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {
  3009. html.removeChild(this);
  3010. run.call(id);
  3011. };
  3012. };
  3013. // Rest old browsers
  3014. } else {
  3015. defer = function (id) {
  3016. setTimeout(ctx(run, id, 1), 0);
  3017. };
  3018. }
  3019. }
  3020. module.exports = {
  3021. set: setTask,
  3022. clear: clearTask
  3023. };
  3024. /***/
  3025. }),
  3026. /***/ 2337:
  3027. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  3028. var toInteger = __webpack_require__(1467);
  3029. var max = Math.max;
  3030. var min = Math.min;
  3031. module.exports = function (index, length) {
  3032. index = toInteger(index);
  3033. return index < 0 ? max(index + length, 0) : min(index, length);
  3034. };
  3035. /***/
  3036. }),
  3037. /***/ 1467:
  3038. /***/ ((module) => {
  3039. // 7.1.4 ToInteger
  3040. var ceil = Math.ceil;
  3041. var floor = Math.floor;
  3042. module.exports = function (it) {
  3043. return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
  3044. };
  3045. /***/
  3046. }),
  3047. /***/ 2110:
  3048. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  3049. // to indexed object, toObject with fallback for non-array-like ES3 strings
  3050. var IObject = __webpack_require__(9797);
  3051. var defined = __webpack_require__(1355);
  3052. module.exports = function (it) {
  3053. return IObject(defined(it));
  3054. };
  3055. /***/
  3056. }),
  3057. /***/ 875:
  3058. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  3059. // 7.1.15 ToLength
  3060. var toInteger = __webpack_require__(1467);
  3061. var min = Math.min;
  3062. module.exports = function (it) {
  3063. return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
  3064. };
  3065. /***/
  3066. }),
  3067. /***/ 508:
  3068. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  3069. // 7.1.13 ToObject(argument)
  3070. var defined = __webpack_require__(1355);
  3071. module.exports = function (it) {
  3072. return Object(defined(it));
  3073. };
  3074. /***/
  3075. }),
  3076. /***/ 1689:
  3077. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  3078. // 7.1.1 ToPrimitive(input [, PreferredType])
  3079. var isObject = __webpack_require__(5286);
  3080. // instead of the ES6 spec version, we didn't implement @@toPrimitive case
  3081. // and the second argument - flag - preferred type is a string
  3082. module.exports = function (it, S) {
  3083. if (!isObject(it)) return it;
  3084. var fn, val;
  3085. if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
  3086. if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
  3087. if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
  3088. throw TypeError("Can't convert object to primitive value");
  3089. };
  3090. /***/
  3091. }),
  3092. /***/ 3953:
  3093. /***/ ((module) => {
  3094. var id = 0;
  3095. var px = Math.random();
  3096. module.exports = function (key) {
  3097. return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
  3098. };
  3099. /***/
  3100. }),
  3101. /***/ 575:
  3102. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  3103. var global = __webpack_require__(3816);
  3104. var navigator = global.navigator;
  3105. module.exports = navigator && navigator.userAgent || '';
  3106. /***/
  3107. }),
  3108. /***/ 6074:
  3109. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  3110. var global = __webpack_require__(3816);
  3111. var core = __webpack_require__(5645);
  3112. var LIBRARY = __webpack_require__(4461);
  3113. var wksExt = __webpack_require__(8787);
  3114. var defineProperty = (__webpack_require__(9275).f);
  3115. module.exports = function (name) {
  3116. var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
  3117. if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });
  3118. };
  3119. /***/
  3120. }),
  3121. /***/ 8787:
  3122. /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
  3123. exports.f = __webpack_require__(6314);
  3124. /***/
  3125. }),
  3126. /***/ 6314:
  3127. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  3128. var store = __webpack_require__(3825)('wks');
  3129. var uid = __webpack_require__(3953);
  3130. var Symbol = (__webpack_require__(3816).Symbol);
  3131. var USE_SYMBOL = typeof Symbol == 'function';
  3132. var $exports = module.exports = function (name) {
  3133. return store[name] || (store[name] =
  3134. USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
  3135. };
  3136. $exports.store = store;
  3137. /***/
  3138. }),
  3139. /***/ 9002:
  3140. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  3141. var classof = __webpack_require__(1488);
  3142. var ITERATOR = __webpack_require__(6314)('iterator');
  3143. var Iterators = __webpack_require__(2803);
  3144. module.exports = (__webpack_require__(5645).getIteratorMethod) = function (it) {
  3145. if (it != undefined) return it[ITERATOR]
  3146. || it['@@iterator']
  3147. || Iterators[classof(it)];
  3148. };
  3149. /***/
  3150. }),
  3151. /***/ 8977:
  3152. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  3153. // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
  3154. var $export = __webpack_require__(2985);
  3155. $export($export.P, 'Array', { fill: __webpack_require__(6852) });
  3156. __webpack_require__(7722)('fill');
  3157. /***/
  3158. }),
  3159. /***/ 8837:
  3160. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  3161. "use strict";
  3162. var $export = __webpack_require__(2985);
  3163. var $filter = __webpack_require__(50)(2);
  3164. $export($export.P + $export.F * !__webpack_require__(7717)([].filter, true), 'Array', {
  3165. // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])
  3166. filter: function filter(callbackfn /* , thisArg */) {
  3167. return $filter(this, callbackfn, arguments[1]);
  3168. }
  3169. });
  3170. /***/
  3171. }),
  3172. /***/ 522:
  3173. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  3174. "use strict";
  3175. var ctx = __webpack_require__(741);
  3176. var $export = __webpack_require__(2985);
  3177. var toObject = __webpack_require__(508);
  3178. var call = __webpack_require__(8851);
  3179. var isArrayIter = __webpack_require__(6555);
  3180. var toLength = __webpack_require__(875);
  3181. var createProperty = __webpack_require__(2811);
  3182. var getIterFn = __webpack_require__(9002);
  3183. $export($export.S + $export.F * !__webpack_require__(7462)(function (iter) { Array.from(iter); }), 'Array', {
  3184. // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
  3185. from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
  3186. var O = toObject(arrayLike);
  3187. var C = typeof this == 'function' ? this : Array;
  3188. var aLen = arguments.length;
  3189. var mapfn = aLen > 1 ? arguments[1] : undefined;
  3190. var mapping = mapfn !== undefined;
  3191. var index = 0;
  3192. var iterFn = getIterFn(O);
  3193. var length, result, step, iterator;
  3194. if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);
  3195. // if object isn't iterable or it's array with default iterator - use simple case
  3196. if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {
  3197. for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {
  3198. createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);
  3199. }
  3200. } else {
  3201. length = toLength(O.length);
  3202. for (result = new C(length); length > index; index++) {
  3203. createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
  3204. }
  3205. }
  3206. result.length = index;
  3207. return result;
  3208. }
  3209. });
  3210. /***/
  3211. }),
  3212. /***/ 6997:
  3213. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  3214. "use strict";
  3215. var addToUnscopables = __webpack_require__(7722);
  3216. var step = __webpack_require__(5436);
  3217. var Iterators = __webpack_require__(2803);
  3218. var toIObject = __webpack_require__(2110);
  3219. // 22.1.3.4 Array.prototype.entries()
  3220. // 22.1.3.13 Array.prototype.keys()
  3221. // 22.1.3.29 Array.prototype.values()
  3222. // 22.1.3.30 Array.prototype[@@iterator]()
  3223. module.exports = __webpack_require__(2923)(Array, 'Array', function (iterated, kind) {
  3224. this._t = toIObject(iterated); // target
  3225. this._i = 0; // next index
  3226. this._k = kind; // kind
  3227. // 22.1.5.2.1 %ArrayIteratorPrototype%.next()
  3228. }, function () {
  3229. var O = this._t;
  3230. var kind = this._k;
  3231. var index = this._i++;
  3232. if (!O || index >= O.length) {
  3233. this._t = undefined;
  3234. return step(1);
  3235. }
  3236. if (kind == 'keys') return step(0, index);
  3237. if (kind == 'values') return step(0, O[index]);
  3238. return step(0, [index, O[index]]);
  3239. }, 'values');
  3240. // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
  3241. Iterators.Arguments = Iterators.Array;
  3242. addToUnscopables('keys');
  3243. addToUnscopables('values');
  3244. addToUnscopables('entries');
  3245. /***/
  3246. }),
  3247. /***/ 9371:
  3248. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  3249. "use strict";
  3250. var $export = __webpack_require__(2985);
  3251. var $map = __webpack_require__(50)(1);
  3252. $export($export.P + $export.F * !__webpack_require__(7717)([].map, true), 'Array', {
  3253. // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])
  3254. map: function map(callbackfn /* , thisArg */) {
  3255. return $map(this, callbackfn, arguments[1]);
  3256. }
  3257. });
  3258. /***/
  3259. }),
  3260. /***/ 110:
  3261. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  3262. "use strict";
  3263. var $export = __webpack_require__(2985);
  3264. var html = __webpack_require__(639);
  3265. var cof = __webpack_require__(2032);
  3266. var toAbsoluteIndex = __webpack_require__(2337);
  3267. var toLength = __webpack_require__(875);
  3268. var arraySlice = [].slice;
  3269. // fallback for not array-like ES3 strings and DOM objects
  3270. $export($export.P + $export.F * __webpack_require__(4253)(function () {
  3271. if (html) arraySlice.call(html);
  3272. }), 'Array', {
  3273. slice: function slice(begin, end) {
  3274. var len = toLength(this.length);
  3275. var klass = cof(this);
  3276. end = end === undefined ? len : end;
  3277. if (klass == 'Array') return arraySlice.call(this, begin, end);
  3278. var start = toAbsoluteIndex(begin, len);
  3279. var upTo = toAbsoluteIndex(end, len);
  3280. var size = toLength(upTo - start);
  3281. var cloned = new Array(size);
  3282. var i = 0;
  3283. for (; i < size; i++) cloned[i] = klass == 'String'
  3284. ? this.charAt(start + i)
  3285. : this[start + i];
  3286. return cloned;
  3287. }
  3288. });
  3289. /***/
  3290. }),
  3291. /***/ 6059:
  3292. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  3293. var dP = (__webpack_require__(9275).f);
  3294. var FProto = Function.prototype;
  3295. var nameRE = /^\s*function ([^ (]*)/;
  3296. var NAME = 'name';
  3297. // 19.2.4.2 name
  3298. NAME in FProto || __webpack_require__(7057) && dP(FProto, NAME, {
  3299. configurable: true,
  3300. get: function () {
  3301. try {
  3302. return ('' + this).match(nameRE)[1];
  3303. } catch (e) {
  3304. return '';
  3305. }
  3306. }
  3307. });
  3308. /***/
  3309. }),
  3310. /***/ 1246:
  3311. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  3312. "use strict";
  3313. var global = __webpack_require__(3816);
  3314. var has = __webpack_require__(9181);
  3315. var cof = __webpack_require__(2032);
  3316. var inheritIfRequired = __webpack_require__(266);
  3317. var toPrimitive = __webpack_require__(1689);
  3318. var fails = __webpack_require__(4253);
  3319. var gOPN = (__webpack_require__(616).f);
  3320. var gOPD = (__webpack_require__(8693).f);
  3321. var dP = (__webpack_require__(9275).f);
  3322. var $trim = (__webpack_require__(9599).trim);
  3323. var NUMBER = 'Number';
  3324. var $Number = global[NUMBER];
  3325. var Base = $Number;
  3326. var proto = $Number.prototype;
  3327. // Opera ~12 has broken Object#toString
  3328. var BROKEN_COF = cof(__webpack_require__(2503)(proto)) == NUMBER;
  3329. var TRIM = 'trim' in String.prototype;
  3330. // 7.1.3 ToNumber(argument)
  3331. var toNumber = function (argument) {
  3332. var it = toPrimitive(argument, false);
  3333. if (typeof it == 'string' && it.length > 2) {
  3334. it = TRIM ? it.trim() : $trim(it, 3);
  3335. var first = it.charCodeAt(0);
  3336. var third, radix, maxCode;
  3337. if (first === 43 || first === 45) {
  3338. third = it.charCodeAt(2);
  3339. if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix
  3340. } else if (first === 48) {
  3341. switch (it.charCodeAt(1)) {
  3342. case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i
  3343. case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i
  3344. default: return +it;
  3345. }
  3346. for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {
  3347. code = digits.charCodeAt(i);
  3348. // parseInt parses a string to a first unavailable symbol
  3349. // but ToNumber should return NaN if a string contains unavailable symbols
  3350. if (code < 48 || code > maxCode) return NaN;
  3351. } return parseInt(digits, radix);
  3352. }
  3353. } return +it;
  3354. };
  3355. if (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {
  3356. $Number = function Number(value) {
  3357. var it = arguments.length < 1 ? 0 : value;
  3358. var that = this;
  3359. return that instanceof $Number
  3360. // check on 1..constructor(foo) case
  3361. && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)
  3362. ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);
  3363. };
  3364. for (var keys = __webpack_require__(7057) ? gOPN(Base) : (
  3365. // ES3:
  3366. 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
  3367. // ES6 (in case, if modules with ES6 Number statics required before):
  3368. 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +
  3369. 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'
  3370. ).split(','), j = 0, key; keys.length > j; j++) {
  3371. if (has(Base, key = keys[j]) && !has($Number, key)) {
  3372. dP($Number, key, gOPD(Base, key));
  3373. }
  3374. }
  3375. $Number.prototype = proto;
  3376. proto.constructor = $Number;
  3377. __webpack_require__(7234)(global, NUMBER, $Number);
  3378. }
  3379. /***/
  3380. }),
  3381. /***/ 5115:
  3382. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  3383. // 19.1.3.1 Object.assign(target, source)
  3384. var $export = __webpack_require__(2985);
  3385. $export($export.S + $export.F, 'Object', { assign: __webpack_require__(5345) });
  3386. /***/
  3387. }),
  3388. /***/ 4882:
  3389. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  3390. // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
  3391. var toIObject = __webpack_require__(2110);
  3392. var $getOwnPropertyDescriptor = (__webpack_require__(8693).f);
  3393. __webpack_require__(3160)('getOwnPropertyDescriptor', function () {
  3394. return function getOwnPropertyDescriptor(it, key) {
  3395. return $getOwnPropertyDescriptor(toIObject(it), key);
  3396. };
  3397. });
  3398. /***/
  3399. }),
  3400. /***/ 7476:
  3401. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  3402. // 19.1.2.14 Object.keys(O)
  3403. var toObject = __webpack_require__(508);
  3404. var $keys = __webpack_require__(7184);
  3405. __webpack_require__(3160)('keys', function () {
  3406. return function keys(it) {
  3407. return $keys(toObject(it));
  3408. };
  3409. });
  3410. /***/
  3411. }),
  3412. /***/ 6253:
  3413. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  3414. "use strict";
  3415. // 19.1.3.6 Object.prototype.toString()
  3416. var classof = __webpack_require__(1488);
  3417. var test = {};
  3418. test[__webpack_require__(6314)('toStringTag')] = 'z';
  3419. if (test + '' != '[object z]') {
  3420. __webpack_require__(7234)(Object.prototype, 'toString', function toString() {
  3421. return '[object ' + classof(this) + ']';
  3422. }, true);
  3423. }
  3424. /***/
  3425. }),
  3426. /***/ 851:
  3427. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  3428. "use strict";
  3429. var LIBRARY = __webpack_require__(4461);
  3430. var global = __webpack_require__(3816);
  3431. var ctx = __webpack_require__(741);
  3432. var classof = __webpack_require__(1488);
  3433. var $export = __webpack_require__(2985);
  3434. var isObject = __webpack_require__(5286);
  3435. var aFunction = __webpack_require__(4963);
  3436. var anInstance = __webpack_require__(3328);
  3437. var forOf = __webpack_require__(3531);
  3438. var speciesConstructor = __webpack_require__(8364);
  3439. var task = (__webpack_require__(4193).set);
  3440. var microtask = __webpack_require__(4351)();
  3441. var newPromiseCapabilityModule = __webpack_require__(3499);
  3442. var perform = __webpack_require__(188);
  3443. var userAgent = __webpack_require__(575);
  3444. var promiseResolve = __webpack_require__(94);
  3445. var PROMISE = 'Promise';
  3446. var TypeError = global.TypeError;
  3447. var process = global.process;
  3448. var versions = process && process.versions;
  3449. var v8 = versions && versions.v8 || '';
  3450. var $Promise = global[PROMISE];
  3451. var isNode = classof(process) == 'process';
  3452. var empty = function () { /* empty */ };
  3453. var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;
  3454. var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;
  3455. var USE_NATIVE = !!function () {
  3456. try {
  3457. // correct subclassing with @@species support
  3458. var promise = $Promise.resolve(1);
  3459. var FakePromise = (promise.constructor = {})[__webpack_require__(6314)('species')] = function (exec) {
  3460. exec(empty, empty);
  3461. };
  3462. // unhandled rejections tracking support, NodeJS Promise without it fails @@species test
  3463. return (isNode || typeof PromiseRejectionEvent == 'function')
  3464. && promise.then(empty) instanceof FakePromise
  3465. // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
  3466. // https://bugs.chromium.org/p/chromium/issues/detail?id=830565
  3467. // we can't detect it synchronously, so just check versions
  3468. && v8.indexOf('6.6') !== 0
  3469. && userAgent.indexOf('Chrome/66') === -1;
  3470. } catch (e) { /* empty */ }
  3471. }();
  3472. // helpers
  3473. var isThenable = function (it) {
  3474. var then;
  3475. return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
  3476. };
  3477. var notify = function (promise, isReject) {
  3478. if (promise._n) return;
  3479. promise._n = true;
  3480. var chain = promise._c;
  3481. microtask(function () {
  3482. var value = promise._v;
  3483. var ok = promise._s == 1;
  3484. var i = 0;
  3485. var run = function (reaction) {
  3486. var handler = ok ? reaction.ok : reaction.fail;
  3487. var resolve = reaction.resolve;
  3488. var reject = reaction.reject;
  3489. var domain = reaction.domain;
  3490. var result, then, exited;
  3491. try {
  3492. if (handler) {
  3493. if (!ok) {
  3494. if (promise._h == 2) onHandleUnhandled(promise);
  3495. promise._h = 1;
  3496. }
  3497. if (handler === true) result = value;
  3498. else {
  3499. if (domain) domain.enter();
  3500. result = handler(value); // may throw
  3501. if (domain) {
  3502. domain.exit();
  3503. exited = true;
  3504. }
  3505. }
  3506. if (result === reaction.promise) {
  3507. reject(TypeError('Promise-chain cycle'));
  3508. } else if (then = isThenable(result)) {
  3509. then.call(result, resolve, reject);
  3510. } else resolve(result);
  3511. } else reject(value);
  3512. } catch (e) {
  3513. if (domain && !exited) domain.exit();
  3514. reject(e);
  3515. }
  3516. };
  3517. while (chain.length > i) run(chain[i++]); // variable length - can't use forEach
  3518. promise._c = [];
  3519. promise._n = false;
  3520. if (isReject && !promise._h) onUnhandled(promise);
  3521. });
  3522. };
  3523. var onUnhandled = function (promise) {
  3524. task.call(global, function () {
  3525. var value = promise._v;
  3526. var unhandled = isUnhandled(promise);
  3527. var result, handler, console;
  3528. if (unhandled) {
  3529. result = perform(function () {
  3530. if (isNode) {
  3531. process.emit('unhandledRejection', value, promise);
  3532. } else if (handler = global.onunhandledrejection) {
  3533. handler({ promise: promise, reason: value });
  3534. } else if ((console = global.console) && console.error) {
  3535. console.error('Unhandled promise rejection', value);
  3536. }
  3537. });
  3538. // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
  3539. promise._h = isNode || isUnhandled(promise) ? 2 : 1;
  3540. } promise._a = undefined;
  3541. if (unhandled && result.e) throw result.v;
  3542. });
  3543. };
  3544. var isUnhandled = function (promise) {
  3545. return promise._h !== 1 && (promise._a || promise._c).length === 0;
  3546. };
  3547. var onHandleUnhandled = function (promise) {
  3548. task.call(global, function () {
  3549. var handler;
  3550. if (isNode) {
  3551. process.emit('rejectionHandled', promise);
  3552. } else if (handler = global.onrejectionhandled) {
  3553. handler({ promise: promise, reason: promise._v });
  3554. }
  3555. });
  3556. };
  3557. var $reject = function (value) {
  3558. var promise = this;
  3559. if (promise._d) return;
  3560. promise._d = true;
  3561. promise = promise._w || promise; // unwrap
  3562. promise._v = value;
  3563. promise._s = 2;
  3564. if (!promise._a) promise._a = promise._c.slice();
  3565. notify(promise, true);
  3566. };
  3567. var $resolve = function (value) {
  3568. var promise = this;
  3569. var then;
  3570. if (promise._d) return;
  3571. promise._d = true;
  3572. promise = promise._w || promise; // unwrap
  3573. try {
  3574. if (promise === value) throw TypeError("Promise can't be resolved itself");
  3575. if (then = isThenable(value)) {
  3576. microtask(function () {
  3577. var wrapper = { _w: promise, _d: false }; // wrap
  3578. try {
  3579. then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
  3580. } catch (e) {
  3581. $reject.call(wrapper, e);
  3582. }
  3583. });
  3584. } else {
  3585. promise._v = value;
  3586. promise._s = 1;
  3587. notify(promise, false);
  3588. }
  3589. } catch (e) {
  3590. $reject.call({ _w: promise, _d: false }, e); // wrap
  3591. }
  3592. };
  3593. // constructor polyfill
  3594. if (!USE_NATIVE) {
  3595. // 25.4.3.1 Promise(executor)
  3596. $Promise = function Promise(executor) {
  3597. anInstance(this, $Promise, PROMISE, '_h');
  3598. aFunction(executor);
  3599. Internal.call(this);
  3600. try {
  3601. executor(ctx($resolve, this, 1), ctx($reject, this, 1));
  3602. } catch (err) {
  3603. $reject.call(this, err);
  3604. }
  3605. };
  3606. // eslint-disable-next-line no-unused-vars
  3607. Internal = function Promise(executor) {
  3608. this._c = []; // <- awaiting reactions
  3609. this._a = undefined; // <- checked in isUnhandled reactions
  3610. this._s = 0; // <- state
  3611. this._d = false; // <- done
  3612. this._v = undefined; // <- value
  3613. this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled
  3614. this._n = false; // <- notify
  3615. };
  3616. Internal.prototype = __webpack_require__(4408)($Promise.prototype, {
  3617. // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
  3618. then: function then(onFulfilled, onRejected) {
  3619. var reaction = newPromiseCapability(speciesConstructor(this, $Promise));
  3620. reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
  3621. reaction.fail = typeof onRejected == 'function' && onRejected;
  3622. reaction.domain = isNode ? process.domain : undefined;
  3623. this._c.push(reaction);
  3624. if (this._a) this._a.push(reaction);
  3625. if (this._s) notify(this, false);
  3626. return reaction.promise;
  3627. },
  3628. // 25.4.5.1 Promise.prototype.catch(onRejected)
  3629. 'catch': function (onRejected) {
  3630. return this.then(undefined, onRejected);
  3631. }
  3632. });
  3633. OwnPromiseCapability = function () {
  3634. var promise = new Internal();
  3635. this.promise = promise;
  3636. this.resolve = ctx($resolve, promise, 1);
  3637. this.reject = ctx($reject, promise, 1);
  3638. };
  3639. newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
  3640. return C === $Promise || C === Wrapper
  3641. ? new OwnPromiseCapability(C)
  3642. : newGenericPromiseCapability(C);
  3643. };
  3644. }
  3645. $export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });
  3646. __webpack_require__(2943)($Promise, PROMISE);
  3647. __webpack_require__(2974)(PROMISE);
  3648. Wrapper = __webpack_require__(5645)[PROMISE];
  3649. // statics
  3650. $export($export.S + $export.F * !USE_NATIVE, PROMISE, {
  3651. // 25.4.4.5 Promise.reject(r)
  3652. reject: function reject(r) {
  3653. var capability = newPromiseCapability(this);
  3654. var $$reject = capability.reject;
  3655. $$reject(r);
  3656. return capability.promise;
  3657. }
  3658. });
  3659. $export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {
  3660. // 25.4.4.6 Promise.resolve(x)
  3661. resolve: function resolve(x) {
  3662. return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);
  3663. }
  3664. });
  3665. $export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(7462)(function (iter) {
  3666. $Promise.all(iter)['catch'](empty);
  3667. })), PROMISE, {
  3668. // 25.4.4.1 Promise.all(iterable)
  3669. all: function all(iterable) {
  3670. var C = this;
  3671. var capability = newPromiseCapability(C);
  3672. var resolve = capability.resolve;
  3673. var reject = capability.reject;
  3674. var result = perform(function () {
  3675. var values = [];
  3676. var index = 0;
  3677. var remaining = 1;
  3678. forOf(iterable, false, function (promise) {
  3679. var $index = index++;
  3680. var alreadyCalled = false;
  3681. values.push(undefined);
  3682. remaining++;
  3683. C.resolve(promise).then(function (value) {
  3684. if (alreadyCalled) return;
  3685. alreadyCalled = true;
  3686. values[$index] = value;
  3687. --remaining || resolve(values);
  3688. }, reject);
  3689. });
  3690. --remaining || resolve(values);
  3691. });
  3692. if (result.e) reject(result.v);
  3693. return capability.promise;
  3694. },
  3695. // 25.4.4.4 Promise.race(iterable)
  3696. race: function race(iterable) {
  3697. var C = this;
  3698. var capability = newPromiseCapability(C);
  3699. var reject = capability.reject;
  3700. var result = perform(function () {
  3701. forOf(iterable, false, function (promise) {
  3702. C.resolve(promise).then(capability.resolve, reject);
  3703. });
  3704. });
  3705. if (result.e) reject(result.v);
  3706. return capability.promise;
  3707. }
  3708. });
  3709. /***/
  3710. }),
  3711. /***/ 8269:
  3712. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  3713. "use strict";
  3714. var regexpExec = __webpack_require__(1165);
  3715. __webpack_require__(2985)({
  3716. target: 'RegExp',
  3717. proto: true,
  3718. forced: regexpExec !== /./.exec
  3719. }, {
  3720. exec: regexpExec
  3721. });
  3722. /***/
  3723. }),
  3724. /***/ 6774:
  3725. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  3726. // 21.2.5.3 get RegExp.prototype.flags()
  3727. if (__webpack_require__(7057) && /./g.flags != 'g') (__webpack_require__(9275).f)(RegExp.prototype, 'flags', {
  3728. configurable: true,
  3729. get: __webpack_require__(3218)
  3730. });
  3731. /***/
  3732. }),
  3733. /***/ 9357:
  3734. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  3735. "use strict";
  3736. var anObject = __webpack_require__(7007);
  3737. var toObject = __webpack_require__(508);
  3738. var toLength = __webpack_require__(875);
  3739. var toInteger = __webpack_require__(1467);
  3740. var advanceStringIndex = __webpack_require__(6793);
  3741. var regExpExec = __webpack_require__(7787);
  3742. var max = Math.max;
  3743. var min = Math.min;
  3744. var floor = Math.floor;
  3745. var SUBSTITUTION_SYMBOLS = /\$([$&`']|\d\d?|<[^>]*>)/g;
  3746. var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&`']|\d\d?)/g;
  3747. var maybeToString = function (it) {
  3748. return it === undefined ? it : String(it);
  3749. };
  3750. // @@replace logic
  3751. __webpack_require__(8082)('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {
  3752. return [
  3753. // `String.prototype.replace` method
  3754. // https://tc39.github.io/ecma262/#sec-string.prototype.replace
  3755. function replace(searchValue, replaceValue) {
  3756. var O = defined(this);
  3757. var fn = searchValue == undefined ? undefined : searchValue[REPLACE];
  3758. return fn !== undefined
  3759. ? fn.call(searchValue, O, replaceValue)
  3760. : $replace.call(String(O), searchValue, replaceValue);
  3761. },
  3762. // `RegExp.prototype[@@replace]` method
  3763. // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
  3764. function (regexp, replaceValue) {
  3765. var res = maybeCallNative($replace, regexp, this, replaceValue);
  3766. if (res.done) return res.value;
  3767. var rx = anObject(regexp);
  3768. var S = String(this);
  3769. var functionalReplace = typeof replaceValue === 'function';
  3770. if (!functionalReplace) replaceValue = String(replaceValue);
  3771. var global = rx.global;
  3772. if (global) {
  3773. var fullUnicode = rx.unicode;
  3774. rx.lastIndex = 0;
  3775. }
  3776. var results = [];
  3777. while (true) {
  3778. var result = regExpExec(rx, S);
  3779. if (result === null) break;
  3780. results.push(result);
  3781. if (!global) break;
  3782. var matchStr = String(result[0]);
  3783. if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
  3784. }
  3785. var accumulatedResult = '';
  3786. var nextSourcePosition = 0;
  3787. for (var i = 0; i < results.length; i++) {
  3788. result = results[i];
  3789. var matched = String(result[0]);
  3790. var position = max(min(toInteger(result.index), S.length), 0);
  3791. var captures = [];
  3792. // NOTE: This is equivalent to
  3793. // captures = result.slice(1).map(maybeToString)
  3794. // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
  3795. // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
  3796. // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
  3797. for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
  3798. var namedCaptures = result.groups;
  3799. if (functionalReplace) {
  3800. var replacerArgs = [matched].concat(captures, position, S);
  3801. if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
  3802. var replacement = String(replaceValue.apply(undefined, replacerArgs));
  3803. } else {
  3804. replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
  3805. }
  3806. if (position >= nextSourcePosition) {
  3807. accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
  3808. nextSourcePosition = position + matched.length;
  3809. }
  3810. }
  3811. return accumulatedResult + S.slice(nextSourcePosition);
  3812. }
  3813. ];
  3814. // https://tc39.github.io/ecma262/#sec-getsubstitution
  3815. function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
  3816. var tailPos = position + matched.length;
  3817. var m = captures.length;
  3818. var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
  3819. if (namedCaptures !== undefined) {
  3820. namedCaptures = toObject(namedCaptures);
  3821. symbols = SUBSTITUTION_SYMBOLS;
  3822. }
  3823. return $replace.call(replacement, symbols, function (match, ch) {
  3824. var capture;
  3825. switch (ch.charAt(0)) {
  3826. case '$': return '$';
  3827. case '&': return matched;
  3828. case '`': return str.slice(0, position);
  3829. case "'": return str.slice(tailPos);
  3830. case '<':
  3831. capture = namedCaptures[ch.slice(1, -1)];
  3832. break;
  3833. default: // \d\d?
  3834. var n = +ch;
  3835. if (n === 0) return match;
  3836. if (n > m) {
  3837. var f = floor(n / 10);
  3838. if (f === 0) return match;
  3839. if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
  3840. return match;
  3841. }
  3842. capture = captures[n - 1];
  3843. }
  3844. return capture === undefined ? '' : capture;
  3845. });
  3846. }
  3847. });
  3848. /***/
  3849. }),
  3850. /***/ 1876:
  3851. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  3852. "use strict";
  3853. var isRegExp = __webpack_require__(5364);
  3854. var anObject = __webpack_require__(7007);
  3855. var speciesConstructor = __webpack_require__(8364);
  3856. var advanceStringIndex = __webpack_require__(6793);
  3857. var toLength = __webpack_require__(875);
  3858. var callRegExpExec = __webpack_require__(7787);
  3859. var regexpExec = __webpack_require__(1165);
  3860. var fails = __webpack_require__(4253);
  3861. var $min = Math.min;
  3862. var $push = [].push;
  3863. var $SPLIT = 'split';
  3864. var LENGTH = 'length';
  3865. var LAST_INDEX = 'lastIndex';
  3866. var MAX_UINT32 = 0xffffffff;
  3867. // babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
  3868. var SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });
  3869. // @@split logic
  3870. __webpack_require__(8082)('split', 2, function (defined, SPLIT, $split, maybeCallNative) {
  3871. var internalSplit;
  3872. if (
  3873. 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||
  3874. 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||
  3875. 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||
  3876. '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||
  3877. '.'[$SPLIT](/()()/)[LENGTH] > 1 ||
  3878. ''[$SPLIT](/.?/)[LENGTH]
  3879. ) {
  3880. // based on es5-shim implementation, need to rework it
  3881. internalSplit = function (separator, limit) {
  3882. var string = String(this);
  3883. if (separator === undefined && limit === 0) return [];
  3884. // If `separator` is not a regex, use native split
  3885. if (!isRegExp(separator)) return $split.call(string, separator, limit);
  3886. var output = [];
  3887. var flags = (separator.ignoreCase ? 'i' : '') +
  3888. (separator.multiline ? 'm' : '') +
  3889. (separator.unicode ? 'u' : '') +
  3890. (separator.sticky ? 'y' : '');
  3891. var lastLastIndex = 0;
  3892. var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;
  3893. // Make `global` and avoid `lastIndex` issues by working with a copy
  3894. var separatorCopy = new RegExp(separator.source, flags + 'g');
  3895. var match, lastIndex, lastLength;
  3896. while (match = regexpExec.call(separatorCopy, string)) {
  3897. lastIndex = separatorCopy[LAST_INDEX];
  3898. if (lastIndex > lastLastIndex) {
  3899. output.push(string.slice(lastLastIndex, match.index));
  3900. if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));
  3901. lastLength = match[0][LENGTH];
  3902. lastLastIndex = lastIndex;
  3903. if (output[LENGTH] >= splitLimit) break;
  3904. }
  3905. if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop
  3906. }
  3907. if (lastLastIndex === string[LENGTH]) {
  3908. if (lastLength || !separatorCopy.test('')) output.push('');
  3909. } else output.push(string.slice(lastLastIndex));
  3910. return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;
  3911. };
  3912. // Chakra, V8
  3913. } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {
  3914. internalSplit = function (separator, limit) {
  3915. return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);
  3916. };
  3917. } else {
  3918. internalSplit = $split;
  3919. }
  3920. return [
  3921. // `String.prototype.split` method
  3922. // https://tc39.github.io/ecma262/#sec-string.prototype.split
  3923. function split(separator, limit) {
  3924. var O = defined(this);
  3925. var splitter = separator == undefined ? undefined : separator[SPLIT];
  3926. return splitter !== undefined
  3927. ? splitter.call(separator, O, limit)
  3928. : internalSplit.call(String(O), separator, limit);
  3929. },
  3930. // `RegExp.prototype[@@split]` method
  3931. // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split
  3932. //
  3933. // NOTE: This cannot be properly polyfilled in engines that don't support
  3934. // the 'y' flag.
  3935. function (regexp, limit) {
  3936. var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);
  3937. if (res.done) return res.value;
  3938. var rx = anObject(regexp);
  3939. var S = String(this);
  3940. var C = speciesConstructor(rx, RegExp);
  3941. var unicodeMatching = rx.unicode;
  3942. var flags = (rx.ignoreCase ? 'i' : '') +
  3943. (rx.multiline ? 'm' : '') +
  3944. (rx.unicode ? 'u' : '') +
  3945. (SUPPORTS_Y ? 'y' : 'g');
  3946. // ^(? + rx + ) is needed, in combination with some S slicing, to
  3947. // simulate the 'y' flag.
  3948. var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
  3949. var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
  3950. if (lim === 0) return [];
  3951. if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];
  3952. var p = 0;
  3953. var q = 0;
  3954. var A = [];
  3955. while (q < S.length) {
  3956. splitter.lastIndex = SUPPORTS_Y ? q : 0;
  3957. var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));
  3958. var e;
  3959. if (
  3960. z === null ||
  3961. (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p
  3962. ) {
  3963. q = advanceStringIndex(S, q, unicodeMatching);
  3964. } else {
  3965. A.push(S.slice(p, q));
  3966. if (A.length === lim) return A;
  3967. for (var i = 1; i <= z.length - 1; i++) {
  3968. A.push(z[i]);
  3969. if (A.length === lim) return A;
  3970. }
  3971. q = p = e;
  3972. }
  3973. }
  3974. A.push(S.slice(p));
  3975. return A;
  3976. }
  3977. ];
  3978. });
  3979. /***/
  3980. }),
  3981. /***/ 6108:
  3982. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  3983. "use strict";
  3984. __webpack_require__(6774);
  3985. var anObject = __webpack_require__(7007);
  3986. var $flags = __webpack_require__(3218);
  3987. var DESCRIPTORS = __webpack_require__(7057);
  3988. var TO_STRING = 'toString';
  3989. var $toString = /./[TO_STRING];
  3990. var define = function (fn) {
  3991. __webpack_require__(7234)(RegExp.prototype, TO_STRING, fn, true);
  3992. };
  3993. // 21.2.5.14 RegExp.prototype.toString()
  3994. if (__webpack_require__(4253)(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {
  3995. define(function toString() {
  3996. var R = anObject(this);
  3997. return '/'.concat(R.source, '/',
  3998. 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);
  3999. });
  4000. // FF44- RegExp#toString has a wrong name
  4001. } else if ($toString.name != TO_STRING) {
  4002. define(function toString() {
  4003. return $toString.call(this);
  4004. });
  4005. }
  4006. /***/
  4007. }),
  4008. /***/ 9115:
  4009. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  4010. "use strict";
  4011. var $at = __webpack_require__(4496)(true);
  4012. // 21.1.3.27 String.prototype[@@iterator]()
  4013. __webpack_require__(2923)(String, 'String', function (iterated) {
  4014. this._t = String(iterated); // target
  4015. this._i = 0; // next index
  4016. // 21.1.5.2.1 %StringIteratorPrototype%.next()
  4017. }, function () {
  4018. var O = this._t;
  4019. var index = this._i;
  4020. var point;
  4021. if (index >= O.length) return { value: undefined, done: true };
  4022. point = $at(O, index);
  4023. this._i += point.length;
  4024. return { value: point, done: false };
  4025. });
  4026. /***/
  4027. }),
  4028. /***/ 5767:
  4029. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  4030. "use strict";
  4031. // ECMAScript 6 symbols shim
  4032. var global = __webpack_require__(3816);
  4033. var has = __webpack_require__(9181);
  4034. var DESCRIPTORS = __webpack_require__(7057);
  4035. var $export = __webpack_require__(2985);
  4036. var redefine = __webpack_require__(7234);
  4037. var META = (__webpack_require__(4728).KEY);
  4038. var $fails = __webpack_require__(4253);
  4039. var shared = __webpack_require__(3825);
  4040. var setToStringTag = __webpack_require__(2943);
  4041. var uid = __webpack_require__(3953);
  4042. var wks = __webpack_require__(6314);
  4043. var wksExt = __webpack_require__(8787);
  4044. var wksDefine = __webpack_require__(6074);
  4045. var enumKeys = __webpack_require__(5541);
  4046. var isArray = __webpack_require__(4302);
  4047. var anObject = __webpack_require__(7007);
  4048. var isObject = __webpack_require__(5286);
  4049. var toObject = __webpack_require__(508);
  4050. var toIObject = __webpack_require__(2110);
  4051. var toPrimitive = __webpack_require__(1689);
  4052. var createDesc = __webpack_require__(681);
  4053. var _create = __webpack_require__(2503);
  4054. var gOPNExt = __webpack_require__(9327);
  4055. var $GOPD = __webpack_require__(8693);
  4056. var $GOPS = __webpack_require__(4548);
  4057. var $DP = __webpack_require__(9275);
  4058. var $keys = __webpack_require__(7184);
  4059. var gOPD = $GOPD.f;
  4060. var dP = $DP.f;
  4061. var gOPN = gOPNExt.f;
  4062. var $Symbol = global.Symbol;
  4063. var $JSON = global.JSON;
  4064. var _stringify = $JSON && $JSON.stringify;
  4065. var PROTOTYPE = 'prototype';
  4066. var HIDDEN = wks('_hidden');
  4067. var TO_PRIMITIVE = wks('toPrimitive');
  4068. var isEnum = {}.propertyIsEnumerable;
  4069. var SymbolRegistry = shared('symbol-registry');
  4070. var AllSymbols = shared('symbols');
  4071. var OPSymbols = shared('op-symbols');
  4072. var ObjectProto = Object[PROTOTYPE];
  4073. var USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;
  4074. var QObject = global.QObject;
  4075. // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
  4076. var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
  4077. // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
  4078. var setSymbolDesc = DESCRIPTORS && $fails(function () {
  4079. return _create(dP({}, 'a', {
  4080. get: function () { return dP(this, 'a', { value: 7 }).a; }
  4081. })).a != 7;
  4082. }) ? function (it, key, D) {
  4083. var protoDesc = gOPD(ObjectProto, key);
  4084. if (protoDesc) delete ObjectProto[key];
  4085. dP(it, key, D);
  4086. if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);
  4087. } : dP;
  4088. var wrap = function (tag) {
  4089. var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);
  4090. sym._k = tag;
  4091. return sym;
  4092. };
  4093. var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {
  4094. return typeof it == 'symbol';
  4095. } : function (it) {
  4096. return it instanceof $Symbol;
  4097. };
  4098. var $defineProperty = function defineProperty(it, key, D) {
  4099. if (it === ObjectProto) $defineProperty(OPSymbols, key, D);
  4100. anObject(it);
  4101. key = toPrimitive(key, true);
  4102. anObject(D);
  4103. if (has(AllSymbols, key)) {
  4104. if (!D.enumerable) {
  4105. if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));
  4106. it[HIDDEN][key] = true;
  4107. } else {
  4108. if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;
  4109. D = _create(D, { enumerable: createDesc(0, false) });
  4110. } return setSymbolDesc(it, key, D);
  4111. } return dP(it, key, D);
  4112. };
  4113. var $defineProperties = function defineProperties(it, P) {
  4114. anObject(it);
  4115. var keys = enumKeys(P = toIObject(P));
  4116. var i = 0;
  4117. var l = keys.length;
  4118. var key;
  4119. while (l > i) $defineProperty(it, key = keys[i++], P[key]);
  4120. return it;
  4121. };
  4122. var $create = function create(it, P) {
  4123. return P === undefined ? _create(it) : $defineProperties(_create(it), P);
  4124. };
  4125. var $propertyIsEnumerable = function propertyIsEnumerable(key) {
  4126. var E = isEnum.call(this, key = toPrimitive(key, true));
  4127. if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;
  4128. return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;
  4129. };
  4130. var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {
  4131. it = toIObject(it);
  4132. key = toPrimitive(key, true);
  4133. if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;
  4134. var D = gOPD(it, key);
  4135. if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;
  4136. return D;
  4137. };
  4138. var $getOwnPropertyNames = function getOwnPropertyNames(it) {
  4139. var names = gOPN(toIObject(it));
  4140. var result = [];
  4141. var i = 0;
  4142. var key;
  4143. while (names.length > i) {
  4144. if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);
  4145. } return result;
  4146. };
  4147. var $getOwnPropertySymbols = function getOwnPropertySymbols(it) {
  4148. var IS_OP = it === ObjectProto;
  4149. var names = gOPN(IS_OP ? OPSymbols : toIObject(it));
  4150. var result = [];
  4151. var i = 0;
  4152. var key;
  4153. while (names.length > i) {
  4154. if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);
  4155. } return result;
  4156. };
  4157. // 19.4.1.1 Symbol([description])
  4158. if (!USE_NATIVE) {
  4159. $Symbol = function Symbol() {
  4160. if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');
  4161. var tag = uid(arguments.length > 0 ? arguments[0] : undefined);
  4162. var $set = function (value) {
  4163. if (this === ObjectProto) $set.call(OPSymbols, value);
  4164. if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
  4165. setSymbolDesc(this, tag, createDesc(1, value));
  4166. };
  4167. if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });
  4168. return wrap(tag);
  4169. };
  4170. redefine($Symbol[PROTOTYPE], 'toString', function toString() {
  4171. return this._k;
  4172. });
  4173. $GOPD.f = $getOwnPropertyDescriptor;
  4174. $DP.f = $defineProperty;
  4175. (__webpack_require__(616).f) = gOPNExt.f = $getOwnPropertyNames;
  4176. (__webpack_require__(4682).f) = $propertyIsEnumerable;
  4177. $GOPS.f = $getOwnPropertySymbols;
  4178. if (DESCRIPTORS && !__webpack_require__(4461)) {
  4179. redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
  4180. }
  4181. wksExt.f = function (name) {
  4182. return wrap(wks(name));
  4183. };
  4184. }
  4185. $export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });
  4186. for (var es6Symbols = (
  4187. // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14
  4188. 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'
  4189. ).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);
  4190. for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);
  4191. $export($export.S + $export.F * !USE_NATIVE, 'Symbol', {
  4192. // 19.4.2.1 Symbol.for(key)
  4193. 'for': function (key) {
  4194. return has(SymbolRegistry, key += '')
  4195. ? SymbolRegistry[key]
  4196. : SymbolRegistry[key] = $Symbol(key);
  4197. },
  4198. // 19.4.2.5 Symbol.keyFor(sym)
  4199. keyFor: function keyFor(sym) {
  4200. if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');
  4201. for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;
  4202. },
  4203. useSetter: function () { setter = true; },
  4204. useSimple: function () { setter = false; }
  4205. });
  4206. $export($export.S + $export.F * !USE_NATIVE, 'Object', {
  4207. // 19.1.2.2 Object.create(O [, Properties])
  4208. create: $create,
  4209. // 19.1.2.4 Object.defineProperty(O, P, Attributes)
  4210. defineProperty: $defineProperty,
  4211. // 19.1.2.3 Object.defineProperties(O, Properties)
  4212. defineProperties: $defineProperties,
  4213. // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
  4214. getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
  4215. // 19.1.2.7 Object.getOwnPropertyNames(O)
  4216. getOwnPropertyNames: $getOwnPropertyNames,
  4217. // 19.1.2.8 Object.getOwnPropertySymbols(O)
  4218. getOwnPropertySymbols: $getOwnPropertySymbols
  4219. });
  4220. // Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
  4221. // https://bugs.chromium.org/p/v8/issues/detail?id=3443
  4222. var FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });
  4223. $export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {
  4224. getOwnPropertySymbols: function getOwnPropertySymbols(it) {
  4225. return $GOPS.f(toObject(it));
  4226. }
  4227. });
  4228. // 24.3.2 JSON.stringify(value [, replacer [, space]])
  4229. $JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {
  4230. var S = $Symbol();
  4231. // MS Edge converts symbol values to JSON as {}
  4232. // WebKit converts symbol values to JSON as null
  4233. // V8 throws on boxed symbols
  4234. return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';
  4235. })), 'JSON', {
  4236. stringify: function stringify(it) {
  4237. var args = [it];
  4238. var i = 1;
  4239. var replacer, $replacer;
  4240. while (arguments.length > i) args.push(arguments[i++]);
  4241. $replacer = replacer = args[1];
  4242. if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
  4243. if (!isArray(replacer)) replacer = function (key, value) {
  4244. if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
  4245. if (!isSymbol(value)) return value;
  4246. };
  4247. args[1] = replacer;
  4248. return _stringify.apply($JSON, args);
  4249. }
  4250. });
  4251. // 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)
  4252. $Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(7728)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
  4253. // 19.4.3.5 Symbol.prototype[@@toStringTag]
  4254. setToStringTag($Symbol, 'Symbol');
  4255. // 20.2.1.9 Math[@@toStringTag]
  4256. setToStringTag(Math, 'Math', true);
  4257. // 24.3.3 JSON[@@toStringTag]
  4258. setToStringTag(global.JSON, 'JSON', true);
  4259. /***/
  4260. }),
  4261. /***/ 2773:
  4262. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  4263. "use strict";
  4264. // https://github.com/tc39/Array.prototype.includes
  4265. var $export = __webpack_require__(2985);
  4266. var $includes = __webpack_require__(9315)(true);
  4267. $export($export.P, 'Array', {
  4268. includes: function includes(el /* , fromIndex = 0 */) {
  4269. return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
  4270. }
  4271. });
  4272. __webpack_require__(7722)('includes');
  4273. /***/
  4274. }),
  4275. /***/ 8351:
  4276. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  4277. // https://github.com/tc39/proposal-object-getownpropertydescriptors
  4278. var $export = __webpack_require__(2985);
  4279. var ownKeys = __webpack_require__(7643);
  4280. var toIObject = __webpack_require__(2110);
  4281. var gOPD = __webpack_require__(8693);
  4282. var createProperty = __webpack_require__(2811);
  4283. $export($export.S, 'Object', {
  4284. getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
  4285. var O = toIObject(object);
  4286. var getDesc = gOPD.f;
  4287. var keys = ownKeys(O);
  4288. var result = {};
  4289. var i = 0;
  4290. var key, desc;
  4291. while (keys.length > i) {
  4292. desc = getDesc(O, key = keys[i++]);
  4293. if (desc !== undefined) createProperty(result, key, desc);
  4294. }
  4295. return result;
  4296. }
  4297. });
  4298. /***/
  4299. }),
  4300. /***/ 9865:
  4301. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  4302. "use strict";
  4303. // https://github.com/tc39/proposal-promise-finally
  4304. var $export = __webpack_require__(2985);
  4305. var core = __webpack_require__(5645);
  4306. var global = __webpack_require__(3816);
  4307. var speciesConstructor = __webpack_require__(8364);
  4308. var promiseResolve = __webpack_require__(94);
  4309. $export($export.P + $export.R, 'Promise', {
  4310. 'finally': function (onFinally) {
  4311. var C = speciesConstructor(this, core.Promise || global.Promise);
  4312. var isFunction = typeof onFinally == 'function';
  4313. return this.then(
  4314. isFunction ? function (x) {
  4315. return promiseResolve(C, onFinally()).then(function () { return x; });
  4316. } : onFinally,
  4317. isFunction ? function (e) {
  4318. return promiseResolve(C, onFinally()).then(function () { throw e; });
  4319. } : onFinally
  4320. );
  4321. }
  4322. });
  4323. /***/
  4324. }),
  4325. /***/ 1181:
  4326. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  4327. var $iterators = __webpack_require__(6997);
  4328. var getKeys = __webpack_require__(7184);
  4329. var redefine = __webpack_require__(7234);
  4330. var global = __webpack_require__(3816);
  4331. var hide = __webpack_require__(7728);
  4332. var Iterators = __webpack_require__(2803);
  4333. var wks = __webpack_require__(6314);
  4334. var ITERATOR = wks('iterator');
  4335. var TO_STRING_TAG = wks('toStringTag');
  4336. var ArrayValues = Iterators.Array;
  4337. var DOMIterables = {
  4338. CSSRuleList: true, // TODO: Not spec compliant, should be false.
  4339. CSSStyleDeclaration: false,
  4340. CSSValueList: false,
  4341. ClientRectList: false,
  4342. DOMRectList: false,
  4343. DOMStringList: false,
  4344. DOMTokenList: true,
  4345. DataTransferItemList: false,
  4346. FileList: false,
  4347. HTMLAllCollection: false,
  4348. HTMLCollection: false,
  4349. HTMLFormElement: false,
  4350. HTMLSelectElement: false,
  4351. MediaList: true, // TODO: Not spec compliant, should be false.
  4352. MimeTypeArray: false,
  4353. NamedNodeMap: false,
  4354. NodeList: true,
  4355. PaintRequestList: false,
  4356. Plugin: false,
  4357. PluginArray: false,
  4358. SVGLengthList: false,
  4359. SVGNumberList: false,
  4360. SVGPathSegList: false,
  4361. SVGPointList: false,
  4362. SVGStringList: false,
  4363. SVGTransformList: false,
  4364. SourceBufferList: false,
  4365. StyleSheetList: true, // TODO: Not spec compliant, should be false.
  4366. TextTrackCueList: false,
  4367. TextTrackList: false,
  4368. TouchList: false
  4369. };
  4370. for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {
  4371. var NAME = collections[i];
  4372. var explicit = DOMIterables[NAME];
  4373. var Collection = global[NAME];
  4374. var proto = Collection && Collection.prototype;
  4375. var key;
  4376. if (proto) {
  4377. if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);
  4378. if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
  4379. Iterators[NAME] = ArrayValues;
  4380. if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);
  4381. }
  4382. }
  4383. /***/
  4384. }),
  4385. /***/ 86:
  4386. /***/ ((module, exports, __webpack_require__) => {
  4387. // Imports
  4388. var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3645);
  4389. exports = ___CSS_LOADER_API_IMPORT___(false);
  4390. // Module
  4391. exports.push([module.id, "@charset \"utf-8\";\r\n.border,\r\n.border-top,\r\n.border-right,\r\n.border-bottom,\r\n.border-left,\r\n.border-topbottom,\r\n.border-rightleft,\r\n.border-topleft,\r\n.border-rightbottom,\r\n.border-topright,\r\n.border-bottomleft {\r\n position: relative;\r\n}\r\n.border::before,\r\n.border-top::before,\r\n.border-right::before,\r\n.border-bottom::before,\r\n.border-left::before,\r\n.border-topbottom::before,\r\n.border-topbottom::after,\r\n.border-rightleft::before,\r\n.border-rightleft::after,\r\n.border-topleft::before,\r\n.border-topleft::after,\r\n.border-rightbottom::before,\r\n.border-rightbottom::after,\r\n.border-topright::before,\r\n.border-topright::after,\r\n.border-bottomleft::before,\r\n.border-bottomleft::after {\r\n content: \"\\0020\";\r\n overflow: hidden;\r\n position: absolute;\r\n}\r\n/* border\r\n * 因,边框是由伪元素区域遮盖在父级\r\n * 故,子级若有交互,需要对子级设置\r\n * 定位 及 z轴\r\n */\r\n.border::before {\r\n box-sizing: border-box;\r\n top: 0;\r\n left: 0;\r\n height: 100%;\r\n width: 100%;\r\n border: 1px solid #eaeaea;\r\n transform-origin: 0 0;\r\n}\r\n.border-top::before,\r\n.border-bottom::before,\r\n.border-topbottom::before,\r\n.border-topbottom::after,\r\n.border-topleft::before,\r\n.border-rightbottom::after,\r\n.border-topright::before,\r\n.border-bottomleft::before {\r\n left: 0;\r\n width: 100%;\r\n height: 1px;\r\n}\r\n.border-right::before,\r\n.border-left::before,\r\n.border-rightleft::before,\r\n.border-rightleft::after,\r\n.border-topleft::after,\r\n.border-rightbottom::before,\r\n.border-topright::after,\r\n.border-bottomleft::after {\r\n top: 0;\r\n width: 1px;\r\n height: 100%;\r\n}\r\n.border-top::before,\r\n.border-topbottom::before,\r\n.border-topleft::before,\r\n.border-topright::before {\r\n border-top: 1px solid #eaeaea;\r\n transform-origin: 0 0;\r\n}\r\n.border-right::before,\r\n.border-rightbottom::before,\r\n.border-rightleft::before,\r\n.border-topright::after {\r\n border-right: 1px solid #eaeaea;\r\n transform-origin: 100% 0;\r\n}\r\n.border-bottom::before,\r\n.border-topbottom::after,\r\n.border-rightbottom::after,\r\n.border-bottomleft::before {\r\n border-bottom: 1px solid #eaeaea;\r\n transform-origin: 0 100%;\r\n}\r\n.border-left::before,\r\n.border-topleft::after,\r\n.border-rightleft::after,\r\n.border-bottomleft::after {\r\n border-left: 1px solid #eaeaea;\r\n transform-origin: 0 0;\r\n}\r\n.border-top::before,\r\n.border-topbottom::before,\r\n.border-topleft::before,\r\n.border-topright::before {\r\n top: 0;\r\n}\r\n.border-right::before,\r\n.border-rightleft::after,\r\n.border-rightbottom::before,\r\n.border-topright::after {\r\n right: 0;\r\n}\r\n.border-bottom::before,\r\n.border-topbottom::after,\r\n.border-rightbottom::after,\r\n.border-bottomleft::after {\r\n bottom: 0;\r\n}\r\n.border-left::before,\r\n.border-rightleft::before,\r\n.border-topleft::after,\r\n.border-bottomleft::before {\r\n left: 0;\r\n}\r\n@media (max--moz-device-pixel-ratio: 1.49), (-webkit-max-device-pixel-ratio: 1.49), (max-device-pixel-ratio: 1.49), (max-resolution: 143dpi), (max-resolution: 1.49dppx) {\r\n /* 默认值,无需重置 */\r\n}\r\n@media (min--moz-device-pixel-ratio: 1.5) and (max--moz-device-pixel-ratio: 2.49), (-webkit-min-device-pixel-ratio: 1.5) and (-webkit-max-device-pixel-ratio: 2.49), (min-device-pixel-ratio: 1.5) and (max-device-pixel-ratio: 2.49), (min-resolution: 144dpi) and (max-resolution: 239dpi), (min-resolution: 1.5dppx) and (max-resolution: 2.49dppx) {\r\n .border::before {\r\n width: 200%;\r\n height: 200%;\r\n transform: scale(.5);\r\n }\r\n .border-top::before,\r\n .border-bottom::before,\r\n .border-topbottom::before,\r\n .border-topbottom::after,\r\n .border-topleft::before,\r\n .border-rightbottom::after,\r\n .border-topright::before,\r\n .border-bottomleft::before {\r\n transform: scaleY(.5);\r\n }\r\n .border-right::before,\r\n .border-left::before,\r\n .border-rightleft::before,\r\n .border-rightleft::after,\r\n .border-topleft::after,\r\n .border-rightbottom::before,\r\n .border-topright::after,\r\n .border-bottomleft::after {\r\n transform: scaleX(.5);\r\n }\r\n}\r\n@media (min--moz-device-pixel-ratio: 2.5), (-webkit-min-device-pixel-ratio: 2.5), (min-device-pixel-ratio: 2.5), (min-resolution: 240dpi), (min-resolution: 2.5dppx) {\r\n .border::before {\r\n width: 300%;\r\n height: 300%;\r\n transform: scale(.33333);\r\n }\r\n .border-top::before,\r\n .border-bottom::before,\r\n .border-topbottom::before,\r\n .border-topbottom::after,\r\n .border-topleft::before,\r\n .border-rightbottom::after,\r\n .border-topright::before,\r\n .border-bottomleft::before {\r\n transform: scaleY(.33333);\r\n }\r\n .border-right::before,\r\n .border-left::before,\r\n .border-rightleft::before,\r\n .border-rightleft::after,\r\n .border-topleft::after,\r\n .border-rightbottom::before,\r\n .border-topright::after,\r\n .border-bottomleft::after {\r\n transform: scaleX(.33333);\r\n }\r\n}", ""]);
  4392. // Exports
  4393. module.exports = exports;
  4394. /***/
  4395. }),
  4396. /***/ 4559:
  4397. /***/ ((module, exports, __webpack_require__) => {
  4398. // Imports
  4399. var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3645);
  4400. exports = ___CSS_LOADER_API_IMPORT___(false);
  4401. // Module
  4402. exports.push([module.id, "/*!\n * Datepicker v1.0.10\n * https://fengyuanchen.github.io/datepicker\n *\n * Copyright 2014-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2020-09-29T14:46:09.037Z\n */\n\n.datepicker-container {\n background-color: #fff;\n direction: ltr;\n font-size: 12px;\n left: 0;\n line-height: 30px;\n position: fixed;\n -webkit-tap-highlight-color: transparent;\n top: 0;\n -ms-touch-action: none;\n touch-action: none;\n -webkit-touch-callout: none;\n width: 210px;\n z-index: -1;\n}\n\n.datepicker-container::before,\n.datepicker-container::after {\n border: 5px solid transparent;\n content: \" \";\n display: block;\n height: 0;\n position: absolute;\n width: 0;\n}\n\n.datepicker-dropdown {\n border: 1px solid #ccc;\n -webkit-box-shadow: 0 3px 6px #ccc;\n box-shadow: 0 3px 6px #ccc;\n -webkit-box-sizing: content-box;\n box-sizing: content-box;\n position: absolute;\n z-index: 1;\n}\n\n.datepicker-inline {\n position: static;\n}\n\n.datepicker-top-left,\n.datepicker-top-right {\n border-top-color: #39f;\n}\n\n.datepicker-top-left::before,\n.datepicker-top-left::after,\n.datepicker-top-right::before,\n.datepicker-top-right::after {\n border-top: 0;\n left: 10px;\n top: -5px;\n}\n\n.datepicker-top-left::before,\n.datepicker-top-right::before {\n border-bottom-color: #39f;\n}\n\n.datepicker-top-left::after,\n.datepicker-top-right::after {\n border-bottom-color: #fff;\n top: -4px;\n}\n\n.datepicker-bottom-left,\n.datepicker-bottom-right {\n border-bottom-color: #39f;\n}\n\n.datepicker-bottom-left::before,\n.datepicker-bottom-left::after,\n.datepicker-bottom-right::before,\n.datepicker-bottom-right::after {\n border-bottom: 0;\n bottom: -5px;\n left: 10px;\n}\n\n.datepicker-bottom-left::before,\n.datepicker-bottom-right::before {\n border-top-color: #39f;\n}\n\n.datepicker-bottom-left::after,\n.datepicker-bottom-right::after {\n border-top-color: #fff;\n bottom: -4px;\n}\n\n.datepicker-top-right::before,\n.datepicker-top-right::after,\n.datepicker-bottom-right::before,\n.datepicker-bottom-right::after {\n left: auto;\n right: 10px;\n}\n\n.datepicker-panel > ul {\n margin: 0;\n padding: 0;\n width: 102%;\n}\n\n.datepicker-panel > ul::before,\n.datepicker-panel > ul::after {\n content: \" \";\n display: table;\n}\n\n.datepicker-panel > ul::after {\n clear: both;\n}\n\n.datepicker-panel > ul > li {\n background-color: #fff;\n cursor: pointer;\n float: left;\n height: 30px;\n list-style: none;\n margin: 0;\n padding: 0;\n text-align: center;\n width: 30px;\n}\n\n.datepicker-panel > ul > li:hover {\n background-color: rgb(229, 242, 255);\n}\n\n.datepicker-panel > ul > li.muted,\n.datepicker-panel > ul > li.muted:hover {\n color: #999;\n}\n\n.datepicker-panel > ul > li.highlighted {\n background-color: rgb(229, 242, 255);\n}\n\n.datepicker-panel > ul > li.highlighted:hover {\n background-color: rgb(204, 229, 255);\n}\n\n.datepicker-panel > ul > li.picked,\n.datepicker-panel > ul > li.picked:hover {\n color: #39f;\n}\n\n.datepicker-panel > ul > li.disabled,\n.datepicker-panel > ul > li.disabled:hover {\n background-color: #fff;\n color: #ccc;\n cursor: default;\n}\n\n.datepicker-panel > ul > li.disabled.highlighted,\n.datepicker-panel > ul > li.disabled:hover.highlighted {\n background-color: rgb(229, 242, 255);\n}\n\n.datepicker-panel > ul > li[data-view=\"years prev\"],\n.datepicker-panel > ul > li[data-view=\"year prev\"],\n.datepicker-panel > ul > li[data-view=\"month prev\"],\n.datepicker-panel > ul > li[data-view=\"years next\"],\n.datepicker-panel > ul > li[data-view=\"year next\"],\n.datepicker-panel > ul > li[data-view=\"month next\"],\n.datepicker-panel > ul > li[data-view=\"next\"] {\n font-size: 18px;\n}\n\n.datepicker-panel > ul > li[data-view=\"years current\"],\n.datepicker-panel > ul > li[data-view=\"year current\"],\n.datepicker-panel > ul > li[data-view=\"month current\"] {\n width: 150px;\n}\n\n.datepicker-panel > ul[data-view=\"years\"] > li,\n.datepicker-panel > ul[data-view=\"months\"] > li {\n height: 52.5px;\n line-height: 52.5px;\n width: 52.5px;\n}\n\n.datepicker-panel > ul[data-view=\"week\"] > li,\n.datepicker-panel > ul[data-view=\"week\"] > li:hover {\n background-color: #fff;\n cursor: default;\n}\n\n.datepicker-hide {\n display: none;\n}\n", ""]);
  4403. // Exports
  4404. module.exports = exports;
  4405. /***/
  4406. }),
  4407. /***/ 2888:
  4408. /***/ ((module, exports, __webpack_require__) => {
  4409. // Imports
  4410. var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3645);
  4411. exports = ___CSS_LOADER_API_IMPORT___(false);
  4412. // Module
  4413. exports.push([module.id, "#message_box_outside {\r\n position: fixed;\r\n top: 40px;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n /* 50%为自身尺寸的一半 */\r\n z-index: 2000;\r\n}\r\n\r\n.message_box_inside {\r\n margin-top: 10px;\r\n color: white;\r\n min-height: 40px;\r\n min-width: 200px;\r\n border-radius: 10px;\r\n}\r\n\r\n.cc-display {\r\n justify-content: center;\r\n align-items: center;\r\n display: flex;\r\n display: -webkit-flex;\r\n}", ""]);
  4414. // Exports
  4415. module.exports = exports;
  4416. /***/
  4417. }),
  4418. /***/ 6036:
  4419. /***/ ((module, exports, __webpack_require__) => {
  4420. // Imports
  4421. var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3645);
  4422. var ___CSS_LOADER_GET_URL_IMPORT___ = __webpack_require__(1667);
  4423. var ___CSS_LOADER_URL_IMPORT_0___ = __webpack_require__(2630);
  4424. var ___CSS_LOADER_URL_IMPORT_1___ = __webpack_require__(1911);
  4425. var ___CSS_LOADER_URL_IMPORT_2___ = __webpack_require__(4094);
  4426. var ___CSS_LOADER_URL_IMPORT_3___ = __webpack_require__(5201);
  4427. var ___CSS_LOADER_URL_IMPORT_4___ = __webpack_require__(8770);
  4428. var ___CSS_LOADER_URL_IMPORT_5___ = __webpack_require__(4835);
  4429. var ___CSS_LOADER_URL_IMPORT_6___ = __webpack_require__(1027);
  4430. var ___CSS_LOADER_URL_IMPORT_7___ = __webpack_require__(5037);
  4431. var ___CSS_LOADER_URL_IMPORT_8___ = __webpack_require__(7742);
  4432. var ___CSS_LOADER_URL_IMPORT_9___ = __webpack_require__(7048);
  4433. var ___CSS_LOADER_URL_IMPORT_10___ = __webpack_require__(6412);
  4434. exports = ___CSS_LOADER_API_IMPORT___(false);
  4435. var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
  4436. var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);
  4437. var ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);
  4438. var ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);
  4439. var ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___);
  4440. var ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);
  4441. var ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___);
  4442. var ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___);
  4443. var ___CSS_LOADER_URL_REPLACEMENT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___);
  4444. var ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___);
  4445. var ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___);
  4446. // Module
  4447. exports.push([module.id, "* {\r\n -webkit-touch-callout: none;\r\n /*系统默认菜单被禁用*/\r\n }\r\n\r\n.player--full-screen {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n.player__panel {\r\n width: 100%;\r\n height: 100%;\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n z-index: 99;\r\n}\r\n\r\n.player__panel--wrap {\r\n height: 40px;\r\n position: relative;\r\n}\r\n\r\n.player__panel .player__controls {\r\n box-sizing: border-box;\r\n height: 60px;\r\n width: 100%;\r\n padding: 0 10px;\r\n background-color: #333;\r\n position: absolute;\r\n bottom: 0;\r\n display: flex;\r\n flex-flow: row nowrap;\r\n justify-content: space-between;\r\n align-items: center;\r\n opacity: 0;\r\n transition: opacity 0.5s ease;\r\n}\r\n\r\n.player__panel .player__controls--shown {\r\n opacity: 1;\r\n}\r\n\r\n.player__panel .player__controls--transparent {\r\n background-color: transparent;\r\n}\r\n\r\n.player__poster--wrap {\r\n width: 100%;\r\n height: 100%;\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n z-index: 98;\r\n}\r\n\r\n.player__poster {\r\n width: 100%;\r\n height: 100%;\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n}\r\n\r\n.player__poster>img {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n.player__stream {\r\n display: inline-block;\r\n height: 24px;\r\n width: 44px;\r\n vertical-align: middle;\r\n cursor: pointer;\r\n}\r\n\r\n.player__btn {\r\n display: inline-block;\r\n height: 24px;\r\n width: 24px;\r\n vertical-align: middle;\r\n cursor: pointer;\r\n color: rgb(249, 142, 11);\r\n text-align: center;\r\n line-height: 24px;\r\n}\r\n\r\n.player__btn-large {\r\n font-size: 22px;\r\n}\r\n\r\n.player__tip--wrap {\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n z-index: 99;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n color: #fff;\r\n font-size: 18px;\r\n}\r\n\r\n.player__btn--play {\r\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ") no-repeat -24px 0;\r\n}\r\n\r\n.player__btn--pause {\r\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_1___ + ") no-repeat -24px 0;\r\n}\r\n\r\n.player__btn--full {\r\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_2___ + ") no-repeat -24px 0;\r\n}\r\n\r\n.player__btn--empty {\r\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_3___ + ") no-repeat -24px 0;\r\n}\r\n\r\n.player__stream--hd {\r\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_4___ + ") no-repeat -44px 0;\r\n}\r\n\r\n.player__stream--sd {\r\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_5___ + ") no-repeat -44px;\r\n}\r\n\r\n.player__btn--voice {\r\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_6___ + ") no-repeat center;\r\n}\r\n\r\n.player__btn--voiceOff {\r\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_7___ + ") no-repeat center;\r\n}\r\n\r\n.player__split {\r\n border: 1px solid rgb(7, 5, 2);\r\n margin-left: 5px;\r\n border-radius: 3px;\r\n width: 20px;\r\n height: 20px;\r\n line-height: 20px;\r\n font-size: 12px;\r\n}\r\n\r\n.player__sound--on {\r\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_8___ + ") no-repeat -24px;\r\n}\r\n\r\n.player__sound--off {\r\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_9___ + ") no-repeat -24px;\r\n}\r\n\r\n.player__btn--stop {\r\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_10___ + ") no-repeat;\r\n background-size: 24px 24px;\r\n margin-right: 3px;\r\n}\r\n\r\n\r\n/* TODO: 样式写法待优化 */\r\n\r\n.player__split--2>div:nth-child(2n) {\r\n border-left: 1px solid #fff;\r\n}\r\n\r\n.player__split--4>div:nth-child(2n) {\r\n border-left: 1px solid #fff;\r\n}\r\n\r\n.player__split--4>div:nth-child(1),\r\n.player__split--4>div:nth-child(2) {\r\n border-bottom: 1px solid #fff;\r\n}\r\n\r\n.player__split--1>div:nth-child(1) {\r\n border: none;\r\n}\r\n\r\n.player__split--9>div:nth-child(1),\r\n.player__split--9>div:nth-child(2),\r\n.player__split--9>div:nth-child(3),\r\n.player__split--9>div:nth-child(4),\r\n.player__split--9>div:nth-child(5),\r\n.player__split--9>div:nth-child(6) {\r\n border-bottom: 1px solid #fff;\r\n}\r\n\r\n.player__split--9>div:nth-child(2),\r\n.player__split--9>div:nth-child(3),\r\n.player__split--9>div:nth-child(5),\r\n.player__split--9>div:nth-child(6),\r\n.player__split--9>div:nth-child(8),\r\n.player__split--9>div:nth-child(9) {\r\n border-left: 1px solid #fff;\r\n}\r\n\r\n\r\n/* videoJs的loading隐藏 -- 并非长久之计 */\r\n\r\n.vjs-loading-spinner {\r\n display: none !important;\r\n}\r\n\r\n\r\n/* videoJs的错误信息隐藏 -- 并非长久之计 */\r\n\r\n.vjs-error-display {\r\n display: none !important;\r\n}\r\n\r\n.player__header {\r\n width: 100%;\r\n position: absolute;\r\n top: 0px;\r\n display: block;\r\n z-index: 99999;\r\n background-image: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));\r\n font-size: 20px;\r\n}\r\n\r\n.player__header-control {\r\n padding-top: 16px;\r\n height: 36px;\r\n display: flex;\r\n}\r\n\r\n.player__header-control-left {\r\n display: flex;\r\n justify-content: flex-start;\r\n padding-left: 24px;\r\n /* background-color: lightblue; */\r\n width: 75%;\r\n height: 100%;\r\n}\r\n\r\n.player__header-control-right {\r\n display: flex;\r\n justify-content: flex-end;\r\n padding-right: 24px;\r\n /* background-color: pink; */\r\n width: 25%;\r\n height: 100%;\r\n}\r\n\r\n.player_header-control-item {\r\n height: 100%;\r\n width: 100%;\r\n}\r\n\r\n.header-control-item {\r\n height: 24px;\r\n width: 24px;\r\n margin: 6px;\r\n}\r\n\r\n.player__footer {\r\n width: 100%;\r\n position: absolute;\r\n bottom: 0px;\r\n display: block;\r\n z-index: 99999;\r\n}\r\n\r\n.player__footer-control {\r\n padding-bottom: 16px;\r\n height: 48px;\r\n display: flex;\r\n background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.7));\r\n}\r\n\r\n.player__footer-control-left {\r\n padding-left: 16px;\r\n display: flex;\r\n justify-content: flex-start;\r\n /* background-color: lightblue; */\r\n width: 50%;\r\n height: 100%;\r\n}\r\n\r\n.player__footer-control-right {\r\n padding-right: 16px;\r\n display: flex;\r\n justify-content: flex-end;\r\n /* background-color: pink; */\r\n width: 50%;\r\n height: 100%;\r\n}\r\n\r\n.player_footer-control-item {\r\n height: 100%;\r\n width: 100%;\r\n}\r\n\r\n.footer-control-item {\r\n height: 36px;\r\n width: 36px;\r\n margin: 6px;\r\n}\r\n\r\n.player__time-control {\r\n height: 60px;\r\n display: flex;\r\n background-color: #3c3c3c;\r\n}\r\n\r\n.player__PTZArea {\r\n height: 120px;\r\n width: 120px;\r\n position: absolute;\r\n top: 50%;\r\n right: 10px;\r\n transform: translateY(-50%);\r\n display: none;\r\n z-index: 100;\r\n}\r\n\r\n.player__PTZArea-panel {\r\n height: 120px;\r\n width: 120px;\r\n border-radius: 50%;\r\n background-color: rgba(255, 255, 255, 0.2);\r\n box-shadow: 0 0 5px rgba(255, 255, 255, 0);\r\n}\r\n\r\n.player__PTZArea-panel::after {\r\n content: \"\";\r\n width: 20px;\r\n height: 20px;\r\n background: #2b8bf7;\r\n position: absolute;\r\n transform: translate(50px, 50px);\r\n border-radius: 50%;\r\n /* border: 4px solid #2b8bf7; */\r\n}\r\n\r\n.arrow-up {\r\n width: 0;\r\n height: 0;\r\n border-left: 6px solid transparent;\r\n border-right: 6px solid transparent;\r\n border-bottom: 6px solid #ffffff;\r\n position: absolute;\r\n top: 20px;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n}\r\n\r\n.arrow-down {\r\n width: 0;\r\n height: 0;\r\n border-left: 6px solid transparent;\r\n border-right: 6px solid transparent;\r\n border-top: 6px solid #ffffff;\r\n position: absolute;\r\n bottom: 20px;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n}\r\n\r\n.arrow-left {\r\n width: 0;\r\n height: 0;\r\n border-right: 6px solid #ffffff;\r\n border-bottom: 6px solid transparent;\r\n border-top: 6px solid transparent;\r\n position: absolute;\r\n left: 20px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n}\r\n\r\n.arrow-right {\r\n width: 0;\r\n height: 0;\r\n border-left: 6px solid #ffffff;\r\n border-bottom: 6px solid transparent;\r\n border-top: 6px solid transparent;\r\n position: absolute;\r\n right: 20px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n}\r\n\r\n.h5-PTZ-pannel {\r\n padding-top: 60px;\r\n margin: 0px auto 20px;\r\n width: 280px;\r\n height: 320px;\r\n position: relative;\r\n /* padding: 20px; */\r\n /* border-radius: 50%; */\r\n}\r\n\r\n.player_PTZ-contral-h5-title {\r\n height: 20px;\r\n padding-bottom: 10px;\r\n font-size: 18px;\r\n font-weight: normal;\r\n font-stretch: normal;\r\n line-height: 7px;\r\n letter-spacing: 0px;\r\n color: #262626;\r\n display: flex;\r\n justify-content: center;\r\n transform: translateY(-100%);\r\n}\r\n\r\n.player_PTZ-contral-h5 {\r\n position: absolute;\r\n width: 260px;\r\n height: 260px;\r\n top: 54%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n border-radius: 50%;\r\n background-color: rgba(255, 255, 255);\r\n box-shadow: 0px 0px 10px silver;\r\n}\r\n\r\n.player_PTZ-contral-h5::after {\r\n content: \"\";\r\n width: 30px;\r\n height: 30px;\r\n background: #ffffff;\r\n position: absolute;\r\n transform: translate(110px, 110px);\r\n border-radius: 50%;\r\n border: 5px solid #eaeaea;\r\n}\r\n\r\n.arrow-h5-up {\r\n width: 0;\r\n height: 0;\r\n border-left: 10px solid transparent;\r\n border-right: 10px solid transparent;\r\n border-bottom: 10px solid #f18f00;\r\n position: absolute;\r\n top: 30px;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n}\r\n\r\n.arrow-h5-down {\r\n width: 0;\r\n height: 0;\r\n border-left: 10px solid transparent;\r\n border-right: 10px solid transparent;\r\n border-top: 10px solid #f18f00;\r\n position: absolute;\r\n bottom: 30px;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n}\r\n\r\n.arrow-h5-left {\r\n width: 0;\r\n height: 0;\r\n border-right: 10px solid #f18f00;\r\n border-bottom: 10px solid transparent;\r\n border-top: 10px solid transparent;\r\n position: absolute;\r\n left: 30px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n}\r\n\r\n.arrow-h5-right {\r\n width: 0;\r\n height: 0;\r\n border-left: 10px solid #f18f00;\r\n border-bottom: 10px solid transparent;\r\n border-top: 10px solid transparent;\r\n position: absolute;\r\n right: 30px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n}\r\n\r\n.player_timeLine_web-control {\r\n width: calc(100% - 60px);\r\n height: 100%;\r\n display: flex;\r\n}\r\n\r\n.player_dateSelect_web-control {\r\n width: 60px;\r\n height: 100%;\r\n display: flex;\r\n /* background-color: green; */\r\n}\r\n\r\n#datePicker-icon {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n}\r\n\r\n#datepicker {\r\n border: 0;\r\n padding: 0;\r\n}\r\n\r\n.player__app-timeline-h5 {\r\n width: 93vw;\r\n height: 400px;\r\n padding-top: 20px;\r\n margin: 0px auto 20px;\r\n position: relative;\r\n}\r\n\r\n.player__app-timeline-title-area-h5 {\r\n width: 100%;\r\n height: 40px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.player__app-timeline-date-area-h5 {\r\n border-radius: 6px;\r\n width: 40px;\r\n position: absolute;\r\n right: 0;\r\n}\r\n\r\n.timeline-title {\r\n font-family: PingFang SC;\r\n font-size: 18px;\r\n font-weight: normal;\r\n font-stretch: normal;\r\n line-height: 7px;\r\n letter-spacing: 0px;\r\n color: #262626;\r\n font-weight: 600;\r\n}\r\n\r\n.player__app-timeline-record-area-h5 {\r\n width: 100%;\r\n height: 40px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.player__app-timeline-record-num-area-h5 {\r\n width: 50%;\r\n height: 40px;\r\n padding: 0 10px;\r\n display: flex;\r\n align-items: center;\r\n font-family: PingFang SC;\r\n font-size: 12px;\r\n font-weight: normal;\r\n font-stretch: normal;\r\n line-height: 7px;\r\n letter-spacing: 0px;\r\n color: #262626;\r\n justify-content: flex-start;\r\n}\r\n\r\n.player__app-timeline-record-button-area-h5 {\r\n /* position: relative; */\r\n width: 50%;\r\n display: flex;\r\n justify-content: flex-end;\r\n}\r\n\r\n#record-type-button-list {\r\n background: #f8f8f8;\r\n display: flex;\r\n align-items: center;\r\n border-radius: 6px;\r\n}\r\n\r\n.record-button-list {\r\n width: 40px;\r\n height: 24px;\r\n background-color: #f8f8f8;\r\n display: inline-flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.record-button-list-active {\r\n border-radius: 4px;\r\n border: solid 1px #ebebeb;\r\n box-shadow: 0px 2px 6px 0px #eaeaea;\r\n border-radius: 6px;\r\n}\r\n\r\n.player_timeLine_h5-control {\r\n margin: 35px auto;\r\n width: 280px;\r\n height: 280px;\r\n}\r\n\r\n.player__Timeline-h5-extend-Area {\r\n height: 100%;\r\n position: absolute;\r\n top: 0;\r\n right: 0px;\r\n z-index: 1000;\r\n display: flex;\r\n justify-content: flex-end;\r\n}\r\n\r\n.player__Timeline-h5-extend-Panel {\r\n width: 120px;\r\n height: 100%;\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n z-index: 1000;\r\n background-color: rgba(60, 60, 60, 0.5);\r\n}\r\n\r\n.player__Timeline-h5-extend-Button {\r\n width: 30px;\r\n height: 60px;\r\n position: absolute;\r\n top: 50%;\r\n right: 120px;\r\n transform: translateY(-50%);\r\n z-index: 99999;\r\n /* background-image: linear-gradient(90deg, rgba(60, 60, 60, 0.5), rgba(255, 255, 255, 0.3)); */\r\n border-radius: 60px 0 0 60px;\r\n background-image: linear-gradient(270deg, rgba(0, 0, 0, 0.5) 0%, rgba(255, 255, 255, 0.3) 100%);\r\n}\r\n\r\n.extend-button-h5 {\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-40%, -40%);\r\n}\r\n\r\n@keyframes slideInRightButton {\r\n 0% {\r\n right: 0px;\r\n }\r\n 100% {\r\n right: 120px;\r\n }\r\n}\r\n\r\n@keyframes slideOutRightButton {\r\n 0% {\r\n right: 120px;\r\n }\r\n 100% {\r\n right: 0px;\r\n }\r\n}\r\n\r\n@keyframes slideInRightPanel {\r\n 0% {\r\n display: none;\r\n }\r\n 100% {\r\n display: block;\r\n }\r\n}\r\n\r\n@keyframes slideOutRightPanel {\r\n 0% {\r\n display: block;\r\n }\r\n 100% {\r\n display: none;\r\n }\r\n}\r\n\r\n@media only screen and (max-width: 768px) {\r\n .player__header {\r\n font-size: 14px;\r\n }\r\n .player__header-control {\r\n padding-top: 0;\r\n }\r\n .player__header-control-left {\r\n padding-left: 0;\r\n }\r\n .player__header-control-right {\r\n padding-right: 0;\r\n }\r\n .player__footer-control {\r\n height: 36px;\r\n display: flex;\r\n padding-bottom: 0;\r\n }\r\n .player__footer-control-left {\r\n padding-left: 0;\r\n }\r\n .player__footer-control-right {\r\n padding-right: 0;\r\n }\r\n .footer-control-item {\r\n height: 24px;\r\n width: 24px;\r\n margin: 6px;\r\n }\r\n}", ""]);
  4448. // Exports
  4449. module.exports = exports;
  4450. /***/
  4451. }),
  4452. /***/ 2501:
  4453. /***/ ((module, exports, __webpack_require__) => {
  4454. // Imports
  4455. var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3645);
  4456. exports = ___CSS_LOADER_API_IMPORT___(false);
  4457. // Module
  4458. exports.push([module.id, ".video-js .vjs-big-play-button .vjs-icon-placeholder:before, .vjs-button > .vjs-icon-placeholder:before, .video-js .vjs-modal-dialog, .vjs-modal-dialog .vjs-modal-dialog-content {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%; }\r\n\r\n.video-js .vjs-big-play-button .vjs-icon-placeholder:before, .vjs-button > .vjs-icon-placeholder:before {\r\n text-align: center; }\r\n\r\n@font-face {\r\n font-family: VideoJS;\r\n src: url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAABBIAAsAAAAAGoQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAAPgAAAFZRiV3RY21hcAAAAYQAAADQAAADIjn098ZnbHlmAAACVAAACv4AABEIAwnSw2hlYWQAAA1UAAAAKwAAADYV1OgpaGhlYQAADYAAAAAbAAAAJA4DByFobXR4AAANnAAAAA8AAACE4AAAAGxvY2EAAA2sAAAARAAAAEQ9NEHGbWF4cAAADfAAAAAfAAAAIAEyAIFuYW1lAAAOEAAAASUAAAIK1cf1oHBvc3QAAA84AAABDwAAAZ5AAl/0eJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGQ7xTiBgZWBgaWQ5RkDA8MvCM0cwxDOeI6BgYmBlZkBKwhIc01hcPjI+FGBHcRdyA4RZgQRAC4HCwEAAHic7dFprsIgAEXhg8U61XmeWcBb1FuQP4w7ZQXK5boMm3yclFDSANAHmuKviBBeBPQ8ymyo8w3jOh/5r2ui5nN6v8sYNJb3WMdeWRvLji0DhozKdxM6psyYs2DJijUbtuzYc+DIiTMXrty4k8oGLb+n0xCe37ekM7Z66j1DbUy3l6PpHnLfdLO5NdSBoQ4NdWSoY9ON54mhdqa/y1NDnRnq3FAXhro01JWhrg11Y6hbQ90Z6t5QD4Z6NNSToZ4N9WKoV0O9GerdUJORPqkhTd54nJ1YDXBU1RV+576/JBs2bPYPkrDZt5vsJrv53V/I5mclhGDCTwgGBQQSTEji4hCkYIAGd4TGIWFAhV0RQTpWmQp1xv6hA4OTOlNr2zFANbHUYbq2OtNCpViRqsk+e+7bTQAhzti8vPfuPffcc88959zznbcMMPjHD/KDDGEY0ABpYX384NhlomIYlo4JISGEY9mMh2FSidYiqkEUphtNYDSY/dXg9023l4DdxlqUl0chuZRhncJKrsCQHIwcGuwfnhMIzBnuH4Sym+1D2zaGjheXlhYfD238z80mKYMmvJ5XeOTzd8z9eujbMxJNhu4C9xPE/bCMiDuSNIWgkTQwBE55hLSAE7ZwhrHLnAHZOGV/kmBGTiNjZxzI77Hb7Hqjz68TjT6vh+5JT/cCIkqS0D6CqPf5jX4Qjdx5j6vlDfZM4aZFdbVXIxtOlJaP/WottMnH6CJQ3bTiue3PrY23HjnChtuamxwvvzFjxkPrNj3z0tG9T561HDYf6OgmRWvlY3JQHoQb8ltV2Yet7YfWctEjR1AtxS/cSX6U4alf6NJEBQ7YKg9wrXQKd0IeZCb2ux75Uhh1Un+Nz+9LTOE7PK777nN5xqdTneTBhCbx446mZrhnUkrCz2YhA9dSMxaG0SYmT8hi9ZPu1E94PJYQSH6LRmhxec7Q7ZeXntgQuVpbh+a4qWNsckVyTdn0P7o7DpgPW84+uRcq0BITflBikGdUjAZ9wYBVI3mtrNvr9kpg1UsaK6t3690aoorC1lg0GpMH2HAMtkZjsSi5Ig9ESVosOh7GQfLjKNLvKpMKkLSKNFAka710GdgSi8oDMSoNhqjkKBXTgn3swtaxyzGkUzIzae9RtLdWkSlZ1KDX6EzgllzV4NV4SoDFSOGD4+HCeQUF8wrZ5Hs8zIb5EaVxy8DYFTbMCJPnLIWZxugZE2NlivC0gc1qEQUR8jEKgZcAXeH18BiCgl5nlHh0CrjB4Hb5fX4gb0J7c9PuHVsfgkx2n/vTY/JV8kn8PGxf7faOZ8qX8JVByuIf4whk9sqXli2hvPJV9hrp0hY7l8r2x37ydaVsb4xvXv/47v2NjfCl8m5oRDJclFMoE1yk0Uh1Te4/m8lFXe9qBZD0EkheicebXvzI2PLCuoKCukLuhPIeKwaHPEouxw3kMqaIUXDQ1p0mip+MyCORSCQaoUsnY1VZ38nUTrG21WvVo4f1OsEJFhvSfAFwGfT8VHRMeAVUpwLOoLzjT/REIj3O3FhuURE+nERF+0pTId5Fyxv5sfwGyg4O+my4vZv0sZm7oeQlFZORiB+tG0MweVNraeitl7yxiPIHTk4/diVxs94o5lEYishB2iAtkchEnsActoEpx44Fo8XnsQMaA22BlqC20RmhBKzYojZyYaxg+JggMc4HHY2m+L9EkWSYljirOisrO7d3VorxzyZ6Vc4lJqITAu1b2wOBdrLElAP+bFc2eGaZFVbkmJktv5uT6Jlz5D/MnBFor6ig/JPnRViBsV3LNKGGqB1ChJ0tgQywlVLFJIuQgTFttwkiKxhyQdAZMdMYtSaoAewqfvXVYPAbDT6/1mez85YS8FSDywQ6NfAnef6FNEGMilnppyvn5rB6tTyq1pOceRWnp2WJEZFXHeX5oyoem1nTTgdqc4heDY7bOeKz63vnz+/dRx+s31Ht2JGanQ5seirfWJL9tjozU/12TnEjn5oux9OzU3ckGbBzBwNOyk69JykKH0n/0LM9A72tuwM3zQpIRu4AxiToseEpgPOmbROyFe9/X2yeUvoUsCyEvjcgs7fpWP3/aKlFN0+6HFUe6D9HFz/XPwBlN9tTqNyZjFJ8UO2RUT5/h4CptCctEyeisnOyXjALEp7dXKaQKf6O7IMnGjNNACRMLxqdYJX8eMLvmmd68D+ayBLyKKYZwYxDt/GNhzETDJ05Qxlyi3pi3/Z93ndYVSumgj0V/KkIFlO6+1K3fF2+3g0q+YtuSIf0bvmLqV09nnobI6hwcjIP8aPCKayjsF5JBY3LaKAeRLSyYB1h81oTwe9SlPMkXB7G0mfL9q71gaqqwPqu67QRKS1+ObTx+sbQy9QV2OQHEScGkdFBeT7v7qisqqrs6N52i78/R+6S0qQONVj26agOVoswCyQWIV5D86vH53bxNUeXV0K+XZaHv/nm/KsHhOvylwsWnJX/HE8l/4WCv5x+l5n08z6UU8bUMa3MBpSmM7F63AxntdC9eBCKEZW9Hr+ABNqtxgAQrSbMtmrW7lKQuoSgBhSrTazWVU2QAKWY8wiiuhqFmQgWJBgoXiuWIm42N7hqZbBsgXz52O5P5uSvaNgFGnOuvsRw8I8Laha91wMvDuxqWFheN7/8GVtTltdS83DQsXRmqc5ZtcJXEVrlV2doTWk5+Yunm71dG5f55m/qY0MjI93vv9/NfpxXV9sUXrxy2fbNy1or65cOlDRnOoKFeeXcbw42H/bNDT5Qs3flgs31gWC1lD1nfUV/X7NdCnSUdHY2e8afzfKsqZ5ZljfDqjLOmk3UebNXB+aHArPYDRs+/HDDxeT5DiP+sFg7OpRaVQMGBV89PpeBdj22hCE0Uub0UqwLrNWsG0cuyadgLXTeR5rbO4+3c/vl15cur2nRq+TXCQDcS3SO+s6ak+e5/eMS+1dw3btu3YG2tvFL8XdIZvdjdW6TO/4B7IdrZWVPmctm5/59AgsPItTSbCiIBr2OqIGzmu20SMKAS7yqwGBUfGfgjDYlLLDeF0SfcLB2LSx8flT+08/kzz6yOj96rft4rpTjdPQcmLd47uKibbDq7ZSz/XtbH2nN717Nd62rU+c8Icevvv7I09wA6WvjVcafb+FsbNG+ZQ80Rn6ZZsvrP7teP2dzTdoETvNhjCmsr8FID2sJ69VYvdUcxk4AzYRlKcaE38eXNRlfW9H1as9i6acLHp1XpuNB5K7DIvkX08y1ZYvh3KfWaiCzH+ztrSDmD7LuX73x/mJelB8Yj39t8nhNQJJ2CAthpoFGLsGgtSOCJooCGoaJAMTjSWHVZ08YAa1Fg9lPI5U6DOsGVjDasJeZZ+YyhfCwfOzCxlBA69M9XLXtza7H/rav+9Tjq5xNi0wpKQIRNO4Lrzz7yp5QVYM6Jd/oc1Uvn/mQhhuWh6ENXoS2YTZ8QT42bF5d/559zp5r0Uff2VnR2tdf2/WCOd2cO0Mw6qpWPnvxpV0nrt5fZd2yItc199GWe8vlNfNDq+CH/7yAAnB9hn7T4QO4c1g9ScxsZgmzntnE/IDGndtHMw69lFwoCnYsMGx+rBp8JSBqdLzBr9QRPq/PbhWMWFtQZp1xguy/haw3TEHm3TWAnxFWQQWgt7M5OV0lCz1VRYucpWliy7z6Zd4urwPIyeZQqli2Lgg7szJV09PysATbOQtYIrB2YzbkJYkGgJ0m4AjPUap1pvYu1K9qr97z0Yl3p332b2LYB78ncYIlRkau/8GObSsOlZancACE5d5ily+c2+7h5Yj4lqhVmXXB+iXLfvdqSgqfKtQvfHDV0OnvQR1qhw42XS/vkvsh/hXcrDFP0a+SJNIomEfD1nsrYGO+1bgTOJhM8Hv6ek+7vVglxuSRwoKn17S937bm6YJCeSSG0Op1n+7tE37tcZ/p7dsTv4EUrGpDbWueKigsLHhqTVsoEj+JU0kaSjnj9tz8/gryQWwJ9BcJXBC/7smO+I/IFURJetFPrdt5WcoL6DbEJaygI8CTHfQTjf40ofD+DwalTqIAAHicY2BkYGAA4gDud4bx/DZfGbjZGUDg+q1z05BpdkawOAcDE4gCAB45CXEAeJxjYGRgYGcAARD5/z87IwMjAypQBAAtgwI4AHicY2BgYGAfYAwAOkQA4QAAAAAAAA4AaAB+AMwA4AECAUIBbAGYAcICGAJYArQC4AMwA7AD3gQwBJYE3AUkBWYFigYgBmYGtAbqB1gIEghYCG4IhHicY2BkYGBQZChlYGcAASYg5gJCBob/YD4DABfTAbQAeJxdkE1qg0AYhl8Tk9AIoVDaVSmzahcF87PMARLIMoFAl0ZHY1BHdBJIT9AT9AQ9RQ9Qeqy+yteNMzDzfM+88w0K4BY/cNAMB6N2bUaPPBLukybCLvleeAAPj8JD+hfhMV7hC3u4wxs7OO4NzQSZcI/8Ltwnfwi75E/hAR7wJTyk/xYeY49fYQ/PztM+jbTZ7LY6OWdBJdX/pqs6NYWa+zMxa13oKrA6Uoerqi/JwtpYxZXJ1coUVmeZUWVlTjq0/tHacjmdxuL90OR8O0UEDYMNdtiSEpz5XQGqzlm30kzUdAYFFOb8R7NOZk0q2lwAyz1i7oAr1xoXvrOgtYhZx8wY5KRV269JZ5yGpmzPTjQhvY9je6vEElPOuJP3mWKnP5M3V+YAAAB4nG2PyXLCMBBE3YCNDWEL2ffk7o8S8oCnkCVHC5C/jzBQlUP6IHVPzYyekl5y0iL5X5/ooY8BUmQYIkeBEca4wgRTzDDHAtdY4ga3uMM9HvCIJzzjBa94wzs+8ImvZNAq8TM+HqVkKxWlrQiOxjujQkNlEzyNzl6Z/cU2XF06at7U83VQyklLpEvSnuzsb+HAPnPfQVgaupa1Jlu4sPLsFblcitaz0dHU0ZF1qatjZ1+aTXYCmp6u0gSvWNPyHLtFZ+ZeXWVSaEkqs3T8S74WklbGbNNNq4LL4+CWKtZDv2cfX8l8aFbKFhEnJnJ+IULFpqwoQnNHlHaVQtPBl+ypmbSWdmyC61KS/AKZC3Y+AA==) format(\"woff\");\r\n font-weight: normal;\r\n font-style: normal; }\r\n\r\n.vjs-icon-play, .video-js .vjs-big-play-button .vjs-icon-placeholder:before, .video-js .vjs-play-control .vjs-icon-placeholder {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-play:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before, .video-js .vjs-play-control .vjs-icon-placeholder:before {\r\n content: \"\\f101\"; }\r\n\r\n.vjs-icon-play-circle {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-play-circle:before {\r\n content: \"\\f102\"; }\r\n\r\n.vjs-icon-pause, .video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-pause:before, .video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before {\r\n content: \"\\f103\"; }\r\n\r\n.vjs-icon-volume-mute, .video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-volume-mute:before, .video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before {\r\n content: \"\\f104\"; }\r\n\r\n.vjs-icon-volume-low, .video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-volume-low:before, .video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before {\r\n content: \"\\f105\"; }\r\n\r\n.vjs-icon-volume-mid, .video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-volume-mid:before, .video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before {\r\n content: \"\\f106\"; }\r\n\r\n.vjs-icon-volume-high, .video-js .vjs-mute-control .vjs-icon-placeholder {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-volume-high:before, .video-js .vjs-mute-control .vjs-icon-placeholder:before {\r\n content: \"\\f107\"; }\r\n\r\n.vjs-icon-fullscreen-enter, .video-js .vjs-fullscreen-control .vjs-icon-placeholder {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-fullscreen-enter:before, .video-js .vjs-fullscreen-control .vjs-icon-placeholder:before {\r\n content: \"\\f108\"; }\r\n\r\n.vjs-icon-fullscreen-exit, .video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-fullscreen-exit:before, .video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before {\r\n content: \"\\f109\"; }\r\n\r\n.vjs-icon-square {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-square:before {\r\n content: \"\\f10a\"; }\r\n\r\n.vjs-icon-spinner {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-spinner:before {\r\n content: \"\\f10b\"; }\r\n\r\n.vjs-icon-subtitles, .video-js .vjs-subtitles-button .vjs-icon-placeholder, .video-js .vjs-subs-caps-button .vjs-icon-placeholder,\r\n.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,\r\n.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,\r\n.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,\r\n.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-subtitles:before, .video-js .vjs-subtitles-button .vjs-icon-placeholder:before, .video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,\r\n.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,\r\n.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,\r\n.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,\r\n.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before {\r\n content: \"\\f10c\"; }\r\n\r\n.vjs-icon-captions, .video-js .vjs-captions-button .vjs-icon-placeholder, .video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,\r\n.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-captions:before, .video-js .vjs-captions-button .vjs-icon-placeholder:before, .video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,\r\n.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before {\r\n content: \"\\f10d\"; }\r\n\r\n.vjs-icon-chapters, .video-js .vjs-chapters-button .vjs-icon-placeholder {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-chapters:before, .video-js .vjs-chapters-button .vjs-icon-placeholder:before {\r\n content: \"\\f10e\"; }\r\n\r\n.vjs-icon-share {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-share:before {\r\n content: \"\\f10f\"; }\r\n\r\n.vjs-icon-cog {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-cog:before {\r\n content: \"\\f110\"; }\r\n\r\n.vjs-icon-circle, .video-js .vjs-play-progress, .video-js .vjs-volume-level, .vjs-seek-to-live-control .vjs-icon-placeholder {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-circle:before, .video-js .vjs-play-progress:before, .video-js .vjs-volume-level:before, .vjs-seek-to-live-control .vjs-icon-placeholder:before {\r\n content: \"\\f111\"; }\r\n\r\n.vjs-icon-circle-outline {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-circle-outline:before {\r\n content: \"\\f112\"; }\r\n\r\n.vjs-icon-circle-inner-circle {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-circle-inner-circle:before {\r\n content: \"\\f113\"; }\r\n\r\n.vjs-icon-hd {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-hd:before {\r\n content: \"\\f114\"; }\r\n\r\n.vjs-icon-cancel, .video-js .vjs-control.vjs-close-button .vjs-icon-placeholder {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-cancel:before, .video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before {\r\n content: \"\\f115\"; }\r\n\r\n.vjs-icon-replay, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before {\r\n content: \"\\f116\"; }\r\n\r\n.vjs-icon-facebook {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-facebook:before {\r\n content: \"\\f117\"; }\r\n\r\n.vjs-icon-gplus {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-gplus:before {\r\n content: \"\\f118\"; }\r\n\r\n.vjs-icon-linkedin {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-linkedin:before {\r\n content: \"\\f119\"; }\r\n\r\n.vjs-icon-twitter {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-twitter:before {\r\n content: \"\\f11a\"; }\r\n\r\n.vjs-icon-tumblr {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-tumblr:before {\r\n content: \"\\f11b\"; }\r\n\r\n.vjs-icon-pinterest {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-pinterest:before {\r\n content: \"\\f11c\"; }\r\n\r\n.vjs-icon-audio-description, .video-js .vjs-descriptions-button .vjs-icon-placeholder {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-audio-description:before, .video-js .vjs-descriptions-button .vjs-icon-placeholder:before {\r\n content: \"\\f11d\"; }\r\n\r\n.vjs-icon-audio, .video-js .vjs-audio-button .vjs-icon-placeholder {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-audio:before, .video-js .vjs-audio-button .vjs-icon-placeholder:before {\r\n content: \"\\f11e\"; }\r\n\r\n.vjs-icon-next-item {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-next-item:before {\r\n content: \"\\f11f\"; }\r\n\r\n.vjs-icon-previous-item {\r\n font-family: VideoJS;\r\n font-weight: normal;\r\n font-style: normal; }\r\n.vjs-icon-previous-item:before {\r\n content: \"\\f120\"; }\r\n\r\n.video-js {\r\n display: block;\r\n vertical-align: top;\r\n box-sizing: border-box;\r\n color: #fff;\r\n background-color: #000;\r\n position: relative;\r\n padding: 0;\r\n font-size: 10px;\r\n line-height: 1;\r\n font-weight: normal;\r\n font-style: normal;\r\n font-family: Arial, Helvetica, sans-serif;\r\n word-break: initial; }\r\n.video-js:-moz-full-screen {\r\n position: absolute; }\r\n.video-js:-webkit-full-screen {\r\n width: 100% !important;\r\n height: 100% !important; }\r\n\r\n.video-js[tabindex=\"-1\"] {\r\n outline: none; }\r\n\r\n.video-js *,\r\n.video-js *:before,\r\n.video-js *:after {\r\n box-sizing: inherit; }\r\n\r\n.video-js ul {\r\n font-family: inherit;\r\n font-size: inherit;\r\n line-height: inherit;\r\n list-style-position: outside;\r\n margin-left: 0;\r\n margin-right: 0;\r\n margin-top: 0;\r\n margin-bottom: 0; }\r\n\r\n.video-js.vjs-fluid,\r\n.video-js.vjs-16-9,\r\n.video-js.vjs-4-3 {\r\n width: 100%;\r\n max-width: 100%;\r\n height: 0; }\r\n\r\n.video-js.vjs-16-9 {\r\n padding-top: 56.25%; }\r\n\r\n.video-js.vjs-4-3 {\r\n padding-top: 75%; }\r\n\r\n.video-js.vjs-fill {\r\n width: 100%;\r\n height: 100%; }\r\n\r\n.video-js .vjs-tech {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%; }\r\n\r\nbody.vjs-full-window {\r\n padding: 0;\r\n margin: 0;\r\n height: 100%; }\r\n\r\n.vjs-full-window .video-js.vjs-fullscreen {\r\n position: fixed;\r\n overflow: hidden;\r\n z-index: 1000;\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n right: 0; }\r\n\r\n.video-js.vjs-fullscreen {\r\n width: 100% !important;\r\n height: 100% !important;\r\n padding-top: 0 !important; }\r\n\r\n.video-js.vjs-fullscreen.vjs-user-inactive {\r\n cursor: none; }\r\n\r\n.vjs-hidden {\r\n display: none !important; }\r\n\r\n.vjs-disabled {\r\n opacity: 0.5;\r\n cursor: default; }\r\n\r\n.video-js .vjs-offscreen {\r\n height: 1px;\r\n left: -9999px;\r\n position: absolute;\r\n top: 0;\r\n width: 1px; }\r\n\r\n.vjs-lock-showing {\r\n display: block !important;\r\n opacity: 1;\r\n visibility: visible; }\r\n\r\n.vjs-no-js {\r\n padding: 20px;\r\n color: #fff;\r\n background-color: #000;\r\n font-size: 18px;\r\n font-family: Arial, Helvetica, sans-serif;\r\n text-align: center;\r\n width: 300px;\r\n height: 150px;\r\n margin: 0px auto; }\r\n\r\n.vjs-no-js a,\r\n.vjs-no-js a:visited {\r\n color: #66A8CC; }\r\n\r\n.video-js .vjs-big-play-button {\r\n font-size: 3em;\r\n line-height: 1.5em;\r\n height: 1.63332em;\r\n width: 3em;\r\n display: block;\r\n position: absolute;\r\n top: 10px;\r\n left: 10px;\r\n padding: 0;\r\n cursor: pointer;\r\n opacity: 1;\r\n border: 0.06666em solid #fff;\r\n background-color: #2B333F;\r\n background-color: rgba(43, 51, 63, 0.7);\r\n border-radius: 0.3em;\r\n transition: all 0.4s; }\r\n\r\n.vjs-big-play-centered .vjs-big-play-button {\r\n top: 50%;\r\n left: 50%;\r\n margin-top: -0.81666em;\r\n margin-left: -1.5em; }\r\n\r\n.video-js:hover .vjs-big-play-button,\r\n.video-js .vjs-big-play-button:focus {\r\n border-color: #fff;\r\n background-color: #73859f;\r\n background-color: rgba(115, 133, 159, 0.5);\r\n transition: all 0s; }\r\n\r\n.vjs-controls-disabled .vjs-big-play-button,\r\n.vjs-has-started .vjs-big-play-button,\r\n.vjs-using-native-controls .vjs-big-play-button,\r\n.vjs-error .vjs-big-play-button {\r\n display: none; }\r\n\r\n.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause .vjs-big-play-button {\r\n display: block; }\r\n\r\n.video-js button {\r\n background: none;\r\n border: none;\r\n color: inherit;\r\n display: inline-block;\r\n font-size: inherit;\r\n line-height: inherit;\r\n text-transform: none;\r\n text-decoration: none;\r\n transition: none;\r\n -webkit-appearance: none;\r\n -moz-appearance: none;\r\n appearance: none; }\r\n\r\n.vjs-control .vjs-button {\r\n width: 100%;\r\n height: 100%; }\r\n\r\n.video-js .vjs-control.vjs-close-button {\r\n cursor: pointer;\r\n height: 3em;\r\n position: absolute;\r\n right: 0;\r\n top: 0.5em;\r\n z-index: 2; }\r\n\r\n.video-js .vjs-modal-dialog {\r\n background: rgba(0, 0, 0, 0.8);\r\n background: linear-gradient(180deg, rgba(0, 0, 0, 0.8), rgba(255, 255, 255, 0));\r\n overflow: auto; }\r\n\r\n.video-js .vjs-modal-dialog > * {\r\n box-sizing: border-box; }\r\n\r\n.vjs-modal-dialog .vjs-modal-dialog-content {\r\n font-size: 1.2em;\r\n line-height: 1.5;\r\n padding: 20px 24px;\r\n z-index: 1; }\r\n\r\n.vjs-menu-button {\r\n cursor: pointer; }\r\n\r\n.vjs-menu-button.vjs-disabled {\r\n cursor: default; }\r\n\r\n.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu {\r\n display: none; }\r\n\r\n.vjs-menu .vjs-menu-content {\r\n display: block;\r\n padding: 0;\r\n margin: 0;\r\n font-family: Arial, Helvetica, sans-serif;\r\n overflow: auto; }\r\n\r\n.vjs-menu .vjs-menu-content > * {\r\n box-sizing: border-box; }\r\n\r\n.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu {\r\n display: none; }\r\n\r\n.vjs-menu li {\r\n list-style: none;\r\n margin: 0;\r\n padding: 0.2em 0;\r\n line-height: 1.4em;\r\n font-size: 1.2em;\r\n text-align: center;\r\n text-transform: lowercase; }\r\n\r\n.vjs-menu li.vjs-menu-item:focus,\r\n.vjs-menu li.vjs-menu-item:hover,\r\n.js-focus-visible .vjs-menu li.vjs-menu-item:hover {\r\n background-color: #73859f;\r\n background-color: rgba(115, 133, 159, 0.5); }\r\n\r\n.vjs-menu li.vjs-selected,\r\n.vjs-menu li.vjs-selected:focus,\r\n.vjs-menu li.vjs-selected:hover,\r\n.js-focus-visible .vjs-menu li.vjs-selected:hover {\r\n background-color: #fff;\r\n color: #2B333F; }\r\n\r\n.vjs-menu li.vjs-menu-title {\r\n text-align: center;\r\n text-transform: uppercase;\r\n font-size: 1em;\r\n line-height: 2em;\r\n padding: 0;\r\n margin: 0 0 0.3em 0;\r\n font-weight: bold;\r\n cursor: default; }\r\n\r\n.vjs-menu-button-popup .vjs-menu {\r\n display: none;\r\n position: absolute;\r\n bottom: 0;\r\n width: 10em;\r\n left: -3em;\r\n height: 0em;\r\n margin-bottom: 1.5em;\r\n border-top-color: rgba(43, 51, 63, 0.7); }\r\n\r\n.vjs-menu-button-popup .vjs-menu .vjs-menu-content {\r\n background-color: #2B333F;\r\n background-color: rgba(43, 51, 63, 0.7);\r\n position: absolute;\r\n width: 100%;\r\n bottom: 1.5em;\r\n max-height: 15em; }\r\n\r\n.vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content,\r\n.vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\r\n max-height: 5em; }\r\n\r\n.vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\r\n max-height: 10em; }\r\n\r\n.vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\r\n max-height: 14em; }\r\n\r\n.vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,\r\n.vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,\r\n.vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content {\r\n max-height: 25em; }\r\n\r\n.vjs-workinghover .vjs-menu-button-popup:hover .vjs-menu,\r\n.vjs-menu-button-popup .vjs-menu.vjs-lock-showing {\r\n display: block; }\r\n\r\n.video-js .vjs-menu-button-inline {\r\n transition: all 0.4s;\r\n overflow: hidden; }\r\n\r\n.video-js .vjs-menu-button-inline:before {\r\n width: 2.222222222em; }\r\n\r\n.video-js .vjs-menu-button-inline:hover,\r\n.video-js .vjs-menu-button-inline:focus,\r\n.video-js .vjs-menu-button-inline.vjs-slider-active,\r\n.video-js.vjs-no-flex .vjs-menu-button-inline {\r\n width: 12em; }\r\n\r\n.vjs-menu-button-inline .vjs-menu {\r\n opacity: 0;\r\n height: 100%;\r\n width: auto;\r\n position: absolute;\r\n left: 4em;\r\n top: 0;\r\n padding: 0;\r\n margin: 0;\r\n transition: all 0.4s; }\r\n\r\n.vjs-menu-button-inline:hover .vjs-menu,\r\n.vjs-menu-button-inline:focus .vjs-menu,\r\n.vjs-menu-button-inline.vjs-slider-active .vjs-menu {\r\n display: block;\r\n opacity: 1; }\r\n\r\n.vjs-no-flex .vjs-menu-button-inline .vjs-menu {\r\n display: block;\r\n opacity: 1;\r\n position: relative;\r\n width: auto; }\r\n\r\n.vjs-no-flex .vjs-menu-button-inline:hover .vjs-menu,\r\n.vjs-no-flex .vjs-menu-button-inline:focus .vjs-menu,\r\n.vjs-no-flex .vjs-menu-button-inline.vjs-slider-active .vjs-menu {\r\n width: auto; }\r\n\r\n.vjs-menu-button-inline .vjs-menu-content {\r\n width: auto;\r\n height: 100%;\r\n margin: 0;\r\n overflow: hidden; }\r\n\r\n.video-js .vjs-control-bar {\r\n display: none;\r\n width: 100%;\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n height: 3.0em;\r\n background-color: #2B333F;\r\n background-color: rgba(43, 51, 63, 0.7); }\r\n\r\n.vjs-has-started .vjs-control-bar {\r\n display: flex;\r\n visibility: visible;\r\n opacity: 1;\r\n transition: visibility 0.1s, opacity 0.1s; }\r\n\r\n.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {\r\n visibility: visible;\r\n opacity: 0;\r\n transition: visibility 1s, opacity 1s; }\r\n\r\n.vjs-controls-disabled .vjs-control-bar,\r\n.vjs-using-native-controls .vjs-control-bar,\r\n.vjs-error .vjs-control-bar {\r\n display: none !important; }\r\n\r\n.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {\r\n opacity: 1;\r\n visibility: visible; }\r\n\r\n.vjs-has-started.vjs-no-flex .vjs-control-bar {\r\n display: table; }\r\n\r\n.video-js .vjs-control {\r\n position: relative;\r\n text-align: center;\r\n margin: 0;\r\n padding: 0;\r\n height: 100%;\r\n width: 4em;\r\n flex: none; }\r\n\r\n.vjs-button > .vjs-icon-placeholder:before {\r\n font-size: 1.8em;\r\n line-height: 1.67; }\r\n\r\n.video-js .vjs-control:focus:before,\r\n.video-js .vjs-control:hover:before,\r\n.video-js .vjs-control:focus {\r\n text-shadow: 0em 0em 1em white; }\r\n\r\n.video-js .vjs-control-text {\r\n border: 0;\r\n clip: rect(0 0 0 0);\r\n height: 1px;\r\n overflow: hidden;\r\n padding: 0;\r\n position: absolute;\r\n width: 1px; }\r\n\r\n.vjs-no-flex .vjs-control {\r\n display: table-cell;\r\n vertical-align: middle; }\r\n\r\n.video-js .vjs-custom-control-spacer {\r\n display: none; }\r\n\r\n.video-js .vjs-progress-control {\r\n cursor: pointer;\r\n flex: auto;\r\n display: flex;\r\n align-items: center;\r\n min-width: 4em;\r\n touch-action: none; }\r\n\r\n.video-js .vjs-progress-control.disabled {\r\n cursor: default; }\r\n\r\n.vjs-live .vjs-progress-control {\r\n display: none; }\r\n\r\n.vjs-liveui .vjs-progress-control {\r\n display: flex;\r\n align-items: center; }\r\n\r\n.vjs-no-flex .vjs-progress-control {\r\n width: auto; }\r\n\r\n.video-js .vjs-progress-holder {\r\n flex: auto;\r\n transition: all 0.2s;\r\n height: 0.3em; }\r\n\r\n.video-js .vjs-progress-control .vjs-progress-holder {\r\n margin: 0 10px; }\r\n\r\n.video-js .vjs-progress-control:hover .vjs-progress-holder {\r\n font-size: 1.666666666666666666em; }\r\n\r\n.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled {\r\n font-size: 1em; }\r\n\r\n.video-js .vjs-progress-holder .vjs-play-progress,\r\n.video-js .vjs-progress-holder .vjs-load-progress,\r\n.video-js .vjs-progress-holder .vjs-load-progress div {\r\n position: absolute;\r\n display: block;\r\n height: 100%;\r\n margin: 0;\r\n padding: 0;\r\n width: 0; }\r\n\r\n.video-js .vjs-play-progress {\r\n background-color: #fff; }\r\n.video-js .vjs-play-progress:before {\r\n font-size: 0.9em;\r\n position: absolute;\r\n right: -0.5em;\r\n top: -0.333333333333333em;\r\n z-index: 1; }\r\n\r\n.video-js .vjs-load-progress {\r\n background: rgba(115, 133, 159, 0.5); }\r\n\r\n.video-js .vjs-load-progress div {\r\n background: rgba(115, 133, 159, 0.75); }\r\n\r\n.video-js .vjs-time-tooltip {\r\n background-color: #fff;\r\n background-color: rgba(255, 255, 255, 0.8);\r\n border-radius: 0.3em;\r\n color: #000;\r\n float: right;\r\n font-family: Arial, Helvetica, sans-serif;\r\n font-size: 1em;\r\n padding: 6px 8px 8px 8px;\r\n pointer-events: none;\r\n position: absolute;\r\n top: -3.4em;\r\n visibility: hidden;\r\n z-index: 1; }\r\n\r\n.video-js .vjs-progress-holder:focus .vjs-time-tooltip {\r\n display: none; }\r\n\r\n.video-js .vjs-progress-control:hover .vjs-time-tooltip,\r\n.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip {\r\n display: block;\r\n font-size: 0.6em;\r\n visibility: visible; }\r\n\r\n.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip {\r\n font-size: 1em; }\r\n\r\n.video-js .vjs-progress-control .vjs-mouse-display {\r\n display: none;\r\n position: absolute;\r\n width: 1px;\r\n height: 100%;\r\n background-color: #000;\r\n z-index: 1; }\r\n\r\n.vjs-no-flex .vjs-progress-control .vjs-mouse-display {\r\n z-index: 0; }\r\n\r\n.video-js .vjs-progress-control:hover .vjs-mouse-display {\r\n display: block; }\r\n\r\n.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display {\r\n visibility: hidden;\r\n opacity: 0;\r\n transition: visibility 1s, opacity 1s; }\r\n\r\n.video-js.vjs-user-inactive.vjs-no-flex .vjs-progress-control .vjs-mouse-display {\r\n display: none; }\r\n\r\n.vjs-mouse-display .vjs-time-tooltip {\r\n color: #fff;\r\n background-color: #000;\r\n background-color: rgba(0, 0, 0, 0.8); }\r\n\r\n.video-js .vjs-slider {\r\n position: relative;\r\n cursor: pointer;\r\n padding: 0;\r\n margin: 0 0.45em 0 0.45em;\r\n /* iOS Safari */\r\n -webkit-touch-callout: none;\r\n /* Safari */\r\n -webkit-user-select: none;\r\n /* Konqueror HTML */\r\n /* Firefox */\r\n -moz-user-select: none;\r\n /* Internet Explorer/Edge */\r\n -ms-user-select: none;\r\n /* Non-prefixed version, currently supported by Chrome and Opera */\r\n user-select: none;\r\n background-color: #73859f;\r\n background-color: rgba(115, 133, 159, 0.5); }\r\n\r\n.video-js .vjs-slider.disabled {\r\n cursor: default; }\r\n\r\n.video-js .vjs-slider:focus {\r\n text-shadow: 0em 0em 1em white;\r\n box-shadow: 0 0 1em #fff; }\r\n\r\n.video-js .vjs-mute-control {\r\n cursor: pointer;\r\n flex: none; }\r\n\r\n.video-js .vjs-volume-control {\r\n cursor: pointer;\r\n margin-right: 1em;\r\n display: flex; }\r\n\r\n.video-js .vjs-volume-control.vjs-volume-horizontal {\r\n width: 5em; }\r\n\r\n.video-js .vjs-volume-panel .vjs-volume-control {\r\n visibility: visible;\r\n opacity: 0;\r\n width: 1px;\r\n height: 1px;\r\n margin-left: -1px; }\r\n\r\n.video-js .vjs-volume-panel {\r\n transition: width 1s; }\r\n.video-js .vjs-volume-panel:hover .vjs-volume-control,\r\n.video-js .vjs-volume-panel:active .vjs-volume-control,\r\n.video-js .vjs-volume-panel:focus .vjs-volume-control,\r\n.video-js .vjs-volume-panel .vjs-volume-control:hover,\r\n.video-js .vjs-volume-panel .vjs-volume-control:active,\r\n.video-js .vjs-volume-panel .vjs-mute-control:hover ~ .vjs-volume-control,\r\n.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active {\r\n visibility: visible;\r\n opacity: 1;\r\n position: relative;\r\n transition: visibility 0.1s, opacity 0.1s, height 0.1s, width 0.1s, left 0s, top 0s; }\r\n.video-js .vjs-volume-panel:hover .vjs-volume-control.vjs-volume-horizontal,\r\n.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal,\r\n.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal,\r\n.video-js .vjs-volume-panel .vjs-volume-control:hover.vjs-volume-horizontal,\r\n.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal,\r\n.video-js .vjs-volume-panel .vjs-mute-control:hover ~ .vjs-volume-control.vjs-volume-horizontal,\r\n.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal {\r\n width: 5em;\r\n height: 3em; }\r\n.video-js .vjs-volume-panel:hover .vjs-volume-control.vjs-volume-vertical,\r\n.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical,\r\n.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical,\r\n.video-js .vjs-volume-panel .vjs-volume-control:hover.vjs-volume-vertical,\r\n.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical,\r\n.video-js .vjs-volume-panel .vjs-mute-control:hover ~ .vjs-volume-control.vjs-volume-vertical,\r\n.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical {\r\n left: -3.5em; }\r\n.video-js .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active {\r\n width: 9em;\r\n transition: width 0.1s; }\r\n.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only {\r\n width: 4em; }\r\n\r\n.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical {\r\n height: 8em;\r\n width: 3em;\r\n left: -3000em;\r\n transition: visibility 1s, opacity 1s, height 1s 1s, width 1s 1s, left 1s 1s, top 1s 1s; }\r\n\r\n.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal {\r\n transition: visibility 1s, opacity 1s, height 1s 1s, width 1s, left 1s 1s, top 1s 1s; }\r\n\r\n.video-js.vjs-no-flex .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal {\r\n width: 5em;\r\n height: 3em;\r\n visibility: visible;\r\n opacity: 1;\r\n position: relative;\r\n transition: none; }\r\n\r\n.video-js.vjs-no-flex .vjs-volume-control.vjs-volume-vertical,\r\n.video-js.vjs-no-flex .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical {\r\n position: absolute;\r\n bottom: 3em;\r\n left: 0.5em; }\r\n\r\n.video-js .vjs-volume-panel {\r\n display: flex; }\r\n\r\n.video-js .vjs-volume-bar {\r\n margin: 1.35em 0.45em; }\r\n\r\n.vjs-volume-bar.vjs-slider-horizontal {\r\n width: 5em;\r\n height: 0.3em; }\r\n\r\n.vjs-volume-bar.vjs-slider-vertical {\r\n width: 0.3em;\r\n height: 5em;\r\n margin: 1.35em auto; }\r\n\r\n.video-js .vjs-volume-level {\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n background-color: #fff; }\r\n.video-js .vjs-volume-level:before {\r\n position: absolute;\r\n font-size: 0.9em; }\r\n\r\n.vjs-slider-vertical .vjs-volume-level {\r\n width: 0.3em; }\r\n.vjs-slider-vertical .vjs-volume-level:before {\r\n top: -0.5em;\r\n left: -0.3em; }\r\n\r\n.vjs-slider-horizontal .vjs-volume-level {\r\n height: 0.3em; }\r\n.vjs-slider-horizontal .vjs-volume-level:before {\r\n top: -0.3em;\r\n right: -0.5em; }\r\n\r\n.video-js .vjs-volume-panel.vjs-volume-panel-vertical {\r\n width: 4em; }\r\n\r\n.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level {\r\n height: 100%; }\r\n\r\n.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level {\r\n width: 100%; }\r\n\r\n.video-js .vjs-volume-vertical {\r\n width: 3em;\r\n height: 8em;\r\n bottom: 8em;\r\n background-color: #2B333F;\r\n background-color: rgba(43, 51, 63, 0.7); }\r\n\r\n.video-js .vjs-volume-horizontal .vjs-menu {\r\n left: -2em; }\r\n\r\n.vjs-poster {\r\n display: inline-block;\r\n vertical-align: middle;\r\n background-repeat: no-repeat;\r\n background-position: 50% 50%;\r\n background-size: contain;\r\n background-color: #000000;\r\n cursor: pointer;\r\n margin: 0;\r\n padding: 0;\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n height: 100%; }\r\n\r\n.vjs-has-started .vjs-poster {\r\n display: none; }\r\n\r\n.vjs-audio.vjs-has-started .vjs-poster {\r\n display: block; }\r\n\r\n.vjs-using-native-controls .vjs-poster {\r\n display: none; }\r\n\r\n.video-js .vjs-live-control {\r\n display: flex;\r\n align-items: flex-start;\r\n flex: auto;\r\n font-size: 1em;\r\n line-height: 3em; }\r\n\r\n.vjs-no-flex .vjs-live-control {\r\n display: table-cell;\r\n width: auto;\r\n text-align: left; }\r\n\r\n.video-js:not(.vjs-live) .vjs-live-control,\r\n.video-js.vjs-liveui .vjs-live-control {\r\n display: none; }\r\n\r\n.video-js .vjs-seek-to-live-control {\r\n cursor: pointer;\r\n flex: none;\r\n display: inline-flex;\r\n height: 100%;\r\n padding-left: 0.5em;\r\n padding-right: 0.5em;\r\n font-size: 1em;\r\n line-height: 3em;\r\n width: auto;\r\n min-width: 4em; }\r\n\r\n.vjs-no-flex .vjs-seek-to-live-control {\r\n display: table-cell;\r\n width: auto;\r\n text-align: left; }\r\n\r\n.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,\r\n.video-js:not(.vjs-live) .vjs-seek-to-live-control {\r\n display: none; }\r\n\r\n.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge {\r\n cursor: auto; }\r\n\r\n.vjs-seek-to-live-control .vjs-icon-placeholder {\r\n margin-right: 0.5em;\r\n color: #888; }\r\n\r\n.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder {\r\n color: red; }\r\n\r\n.video-js .vjs-time-control {\r\n flex: none;\r\n font-size: 1em;\r\n line-height: 3em;\r\n min-width: 2em;\r\n width: auto;\r\n padding-left: 1em;\r\n padding-right: 1em; }\r\n\r\n.vjs-live .vjs-time-control {\r\n display: none; }\r\n\r\n.video-js .vjs-current-time,\r\n.vjs-no-flex .vjs-current-time {\r\n display: none; }\r\n\r\n.video-js .vjs-duration,\r\n.vjs-no-flex .vjs-duration {\r\n display: none; }\r\n\r\n.vjs-time-divider {\r\n display: none;\r\n line-height: 3em; }\r\n\r\n.vjs-live .vjs-time-divider {\r\n display: none; }\r\n\r\n.video-js .vjs-play-control {\r\n cursor: pointer; }\r\n\r\n.video-js .vjs-play-control .vjs-icon-placeholder {\r\n flex: none; }\r\n\r\n.vjs-text-track-display {\r\n position: absolute;\r\n bottom: 3em;\r\n left: 0;\r\n right: 0;\r\n top: 0;\r\n pointer-events: none; }\r\n\r\n.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display {\r\n bottom: 1em; }\r\n\r\n.video-js .vjs-text-track {\r\n font-size: 1.4em;\r\n text-align: center;\r\n margin-bottom: 0.1em; }\r\n\r\n.vjs-subtitles {\r\n color: #fff; }\r\n\r\n.vjs-captions {\r\n color: #fc6; }\r\n\r\n.vjs-tt-cue {\r\n display: block; }\r\n\r\nvideo::-webkit-media-text-track-display {\r\n -webkit-transform: translateY(-3em);\r\n transform: translateY(-3em); }\r\n\r\n.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display {\r\n -webkit-transform: translateY(-1.5em);\r\n transform: translateY(-1.5em); }\r\n\r\n.video-js .vjs-fullscreen-control {\r\n cursor: pointer;\r\n flex: none; }\r\n\r\n.vjs-playback-rate > .vjs-menu-button,\r\n.vjs-playback-rate .vjs-playback-rate-value {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%; }\r\n\r\n.vjs-playback-rate .vjs-playback-rate-value {\r\n pointer-events: none;\r\n font-size: 1.5em;\r\n line-height: 2;\r\n text-align: center; }\r\n\r\n.vjs-playback-rate .vjs-menu {\r\n width: 4em;\r\n left: 0em; }\r\n\r\n.vjs-error .vjs-error-display .vjs-modal-dialog-content {\r\n font-size: 1.4em;\r\n text-align: center; }\r\n\r\n.vjs-error .vjs-error-display:before {\r\n color: #fff;\r\n content: 'X';\r\n font-family: Arial, Helvetica, sans-serif;\r\n font-size: 4em;\r\n left: 0;\r\n line-height: 1;\r\n margin-top: -0.5em;\r\n position: absolute;\r\n text-shadow: 0.05em 0.05em 0.1em #000;\r\n text-align: center;\r\n top: 50%;\r\n vertical-align: middle;\r\n width: 100%; }\r\n\r\n.vjs-loading-spinner {\r\n display: none;\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n margin: -25px 0 0 -25px;\r\n opacity: 0.85;\r\n text-align: left;\r\n border: 6px solid rgba(43, 51, 63, 0.7);\r\n box-sizing: border-box;\r\n background-clip: padding-box;\r\n width: 50px;\r\n height: 50px;\r\n border-radius: 25px;\r\n visibility: hidden; }\r\n\r\n.vjs-seeking .vjs-loading-spinner,\r\n.vjs-waiting .vjs-loading-spinner {\r\n display: block;\r\n -webkit-animation: vjs-spinner-show 0s linear 0.3s forwards;\r\n animation: vjs-spinner-show 0s linear 0.3s forwards; }\r\n\r\n.vjs-loading-spinner:before,\r\n.vjs-loading-spinner:after {\r\n content: \"\";\r\n position: absolute;\r\n margin: -6px;\r\n box-sizing: inherit;\r\n width: inherit;\r\n height: inherit;\r\n border-radius: inherit;\r\n opacity: 1;\r\n border: inherit;\r\n border-color: transparent;\r\n border-top-color: white; }\r\n\r\n.vjs-seeking .vjs-loading-spinner:before,\r\n.vjs-seeking .vjs-loading-spinner:after,\r\n.vjs-waiting .vjs-loading-spinner:before,\r\n.vjs-waiting .vjs-loading-spinner:after {\r\n -webkit-animation: vjs-spinner-spin 1.1s cubic-bezier(0.6, 0.2, 0, 0.8) infinite, vjs-spinner-fade 1.1s linear infinite;\r\n animation: vjs-spinner-spin 1.1s cubic-bezier(0.6, 0.2, 0, 0.8) infinite, vjs-spinner-fade 1.1s linear infinite; }\r\n\r\n.vjs-seeking .vjs-loading-spinner:before,\r\n.vjs-waiting .vjs-loading-spinner:before {\r\n border-top-color: white; }\r\n\r\n.vjs-seeking .vjs-loading-spinner:after,\r\n.vjs-waiting .vjs-loading-spinner:after {\r\n border-top-color: white;\r\n -webkit-animation-delay: 0.44s;\r\n animation-delay: 0.44s; }\r\n\r\n@keyframes vjs-spinner-show {\r\n to {\r\n visibility: visible; } }\r\n\r\n@-webkit-keyframes vjs-spinner-show {\r\n to {\r\n visibility: visible; } }\r\n\r\n@keyframes vjs-spinner-spin {\r\n 100% {\r\n -webkit-transform: rotate(360deg);\r\n transform: rotate(360deg); } }\r\n\r\n@-webkit-keyframes vjs-spinner-spin {\r\n 100% {\r\n -webkit-transform: rotate(360deg); } }\r\n\r\n@keyframes vjs-spinner-fade {\r\n 0% {\r\n border-top-color: #73859f; }\r\n 20% {\r\n border-top-color: #73859f; }\r\n 35% {\r\n border-top-color: white; }\r\n 60% {\r\n border-top-color: #73859f; }\r\n 100% {\r\n border-top-color: #73859f; } }\r\n\r\n@-webkit-keyframes vjs-spinner-fade {\r\n 0% {\r\n border-top-color: #73859f; }\r\n 20% {\r\n border-top-color: #73859f; }\r\n 35% {\r\n border-top-color: white; }\r\n 60% {\r\n border-top-color: #73859f; }\r\n 100% {\r\n border-top-color: #73859f; } }\r\n\r\n.vjs-chapters-button .vjs-menu ul {\r\n width: 24em; }\r\n\r\n.video-js .vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder {\r\n vertical-align: middle;\r\n display: inline-block;\r\n margin-bottom: -0.1em; }\r\n\r\n.video-js .vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before {\r\n font-family: VideoJS;\r\n content: \"\\f10d\";\r\n font-size: 1.5em;\r\n line-height: inherit; }\r\n\r\n.video-js .vjs-audio-button + .vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder {\r\n vertical-align: middle;\r\n display: inline-block;\r\n margin-bottom: -0.1em; }\r\n\r\n.video-js .vjs-audio-button + .vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before {\r\n font-family: VideoJS;\r\n content: \" \\f11d\";\r\n font-size: 1.5em;\r\n line-height: inherit; }\r\n\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-current-time,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-time-divider,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-duration,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-remaining-time,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-playback-rate,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-chapters-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-descriptions-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-captions-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-subtitles-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-audio-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-volume-control, .video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-current-time,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-time-divider,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-duration,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-remaining-time,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-playback-rate,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-chapters-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-descriptions-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-captions-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-subtitles-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-audio-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-volume-control, .video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-current-time,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-time-divider,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-duration,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-remaining-time,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-playback-rate,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-chapters-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-descriptions-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-captions-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-subtitles-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-audio-button,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-volume-control {\r\n display: none; }\r\n\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active,\r\n.video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active {\r\n width: auto;\r\n width: initial; }\r\n\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small:not(.vjs-liveui) .vjs-subs-caps-button, .video-js:not(.vjs-fullscreen).vjs-layout-x-small:not(.vjs-live) .vjs-subs-caps-button, .video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-subs-caps-button {\r\n display: none; }\r\n\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small.vjs-liveui .vjs-custom-control-spacer, .video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-custom-control-spacer {\r\n flex: auto;\r\n display: block; }\r\n\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small.vjs-liveui.vjs-no-flex .vjs-custom-control-spacer, .video-js:not(.vjs-fullscreen).vjs-layout-tiny.vjs-no-flex .vjs-custom-control-spacer {\r\n width: auto; }\r\n\r\n.video-js:not(.vjs-fullscreen).vjs-layout-x-small.vjs-liveui .vjs-progress-control, .video-js:not(.vjs-fullscreen).vjs-layout-tiny .vjs-progress-control {\r\n display: none; }\r\n\r\n.vjs-modal-dialog.vjs-text-track-settings {\r\n background-color: #2B333F;\r\n background-color: rgba(43, 51, 63, 0.75);\r\n color: #fff;\r\n height: 70%; }\r\n\r\n.vjs-text-track-settings .vjs-modal-dialog-content {\r\n display: table; }\r\n\r\n.vjs-text-track-settings .vjs-track-settings-colors,\r\n.vjs-text-track-settings .vjs-track-settings-font,\r\n.vjs-text-track-settings .vjs-track-settings-controls {\r\n display: table-cell; }\r\n\r\n.vjs-text-track-settings .vjs-track-settings-controls {\r\n text-align: right;\r\n vertical-align: bottom; }\r\n\r\n@supports (display: grid) {\r\n .vjs-text-track-settings .vjs-modal-dialog-content {\r\n display: grid;\r\n grid-template-columns: 1fr 1fr;\r\n grid-template-rows: 1fr;\r\n padding: 20px 24px 0px 24px; }\r\n .vjs-track-settings-controls .vjs-default-button {\r\n margin-bottom: 20px; }\r\n .vjs-text-track-settings .vjs-track-settings-controls {\r\n grid-column: 1 / -1; }\r\n .vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,\r\n .vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content,\r\n .vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content {\r\n grid-template-columns: 1fr; } }\r\n\r\n.vjs-track-setting > select {\r\n margin-right: 1em;\r\n margin-bottom: 0.5em; }\r\n\r\n.vjs-text-track-settings fieldset {\r\n margin: 5px;\r\n padding: 3px;\r\n border: none; }\r\n\r\n.vjs-text-track-settings fieldset span {\r\n display: inline-block; }\r\n\r\n.vjs-text-track-settings fieldset span > select {\r\n max-width: 7.3em; }\r\n\r\n.vjs-text-track-settings legend {\r\n color: #fff;\r\n margin: 0 0 5px 0; }\r\n\r\n.vjs-text-track-settings .vjs-label {\r\n position: absolute;\r\n clip: rect(1px 1px 1px 1px);\r\n clip: rect(1px, 1px, 1px, 1px);\r\n display: block;\r\n margin: 0 0 5px 0;\r\n padding: 0;\r\n border: 0;\r\n height: 1px;\r\n width: 1px;\r\n overflow: hidden; }\r\n\r\n.vjs-track-settings-controls button:focus,\r\n.vjs-track-settings-controls button:active {\r\n outline-style: solid;\r\n outline-width: medium;\r\n background-image: linear-gradient(0deg, #fff 88%, #73859f 100%); }\r\n\r\n.vjs-track-settings-controls button:hover {\r\n color: rgba(43, 51, 63, 0.75); }\r\n\r\n.vjs-track-settings-controls button {\r\n background-color: #fff;\r\n background-image: linear-gradient(-180deg, #fff 88%, #73859f 100%);\r\n color: #2B333F;\r\n cursor: pointer;\r\n border-radius: 2px; }\r\n\r\n.vjs-track-settings-controls .vjs-default-button {\r\n margin-right: 1em; }\r\n\r\n@media print {\r\n .video-js > *:not(.vjs-tech):not(.vjs-poster) {\r\n visibility: hidden; } }\r\n\r\n.vjs-resize-manager {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n border: none;\r\n z-index: -1000; }\r\n\r\n.js-focus-visible .video-js *:focus:not(.focus-visible) {\r\n outline: none;\r\n background: none; }\r\n\r\n.video-js *:focus:not(:focus-visible),\r\n.video-js .vjs-menu *:focus:not(:focus-visible) {\r\n outline: none;\r\n background: none; }\r\n", ""]);
  4459. // Exports
  4460. module.exports = exports;
  4461. /***/
  4462. }),
  4463. /***/ 9142:
  4464. /***/ ((module, exports, __webpack_require__) => {
  4465. // Imports
  4466. var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(3645);
  4467. var ___CSS_LOADER_GET_URL_IMPORT___ = __webpack_require__(1667);
  4468. var ___CSS_LOADER_URL_IMPORT_0___ = __webpack_require__(3581);
  4469. var ___CSS_LOADER_URL_IMPORT_1___ = __webpack_require__(8539);
  4470. var ___CSS_LOADER_URL_IMPORT_2___ = __webpack_require__(758);
  4471. exports = ___CSS_LOADER_API_IMPORT___(false);
  4472. var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
  4473. var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);
  4474. var ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);
  4475. // Module
  4476. exports.push([module.id, "@font-face {\n font-family: \"iconfont\"; /* Project id 3238821 */\n src: url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ") format('woff2'),\n url(" + ___CSS_LOADER_URL_REPLACEMENT_1___ + ") format('woff'),\n url(" + ___CSS_LOADER_URL_REPLACEMENT_2___ + ") format('truetype');\n}\n\n.iconfont {\n font-family: \"iconfont\" !important;\n font-size: 16px;\n font-style: normal;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.icon-icon_yuyin:before {\n content: \"\\e677\";\n}\n\n.icon-icon_yuyinguanbi:before {\n content: \"\\e678\";\n}\n\n.icon-icon_shouqi:before {\n content: \"\\e675\";\n}\n\n.icon-icon_zhankai:before {\n content: \"\\e676\";\n}\n\n.icon-Icon_YunLuXiang:before {\n content: \"\\e673\";\n}\n\n.icon-Icon_BenDiLuXiang:before {\n content: \"\\e674\";\n}\n\n.icon-Icon_JingYin:before {\n content: \"\\e672\";\n}\n\n.icon-Icon_QuanPing:before {\n content: \"\\e671\";\n}\n\n.icon-Icon_LuPing:before {\n content: \"\\e669\";\n}\n\n.icon-Icon_HD:before {\n content: \"\\e66a\";\n}\n\n.icon-Icon_Voice:before {\n content: \"\\e66b\";\n}\n\n.icon-Icon_ScreenShot:before {\n content: \"\\e66d\";\n}\n\n.icon-Icon_SD:before {\n content: \"\\e66e\";\n}\n\n.icon-Icon_YunTai:before {\n content: \"\\e66f\";\n}\n\n.icon-Icon_WangYeQuanPing:before {\n content: \"\\e670\";\n}\n\n.icon-Icon_Play:before {\n content: \"\\e667\";\n}\n\n.icon-Icon_Stop:before {\n content: \"\\e668\";\n}\n\n.icon-Icon_SDcard:before {\n content: \"\\e665\";\n}\n\n.icon-Icon_Cloud:before {\n content: \"\\e666\";\n}\n\n.icon-Icon_Left:before {\n content: \"\\e663\";\n}\n\n.icon-Icon_Right:before {\n content: \"\\e664\";\n}\n\n.icon-Console_icon_delete:before {\n content: \"\\e608\";\n}\n\n.icon-Console_icon_calendar:before {\n content: \"\\e609\";\n}\n\n.icon-code_icon_copy:before {\n content: \"\\e60c\";\n}\n\n", ""]);
  4477. // Exports
  4478. module.exports = exports;
  4479. /***/
  4480. }),
  4481. /***/ 3645:
  4482. /***/ ((module) => {
  4483. "use strict";
  4484. /*
  4485. MIT License http://www.opensource.org/licenses/mit-license.php
  4486. Author Tobias Koppers @sokra
  4487. */
  4488. // css base code, injected by the css-loader
  4489. // eslint-disable-next-line func-names
  4490. module.exports = function (useSourceMap) {
  4491. var list = []; // return the list of modules as css string
  4492. list.toString = function toString() {
  4493. return this.map(function (item) {
  4494. var content = cssWithMappingToString(item, useSourceMap);
  4495. if (item[2]) {
  4496. return "@media ".concat(item[2], " {").concat(content, "}");
  4497. }
  4498. return content;
  4499. }).join('');
  4500. }; // import a list of modules into the list
  4501. // eslint-disable-next-line func-names
  4502. list.i = function (modules, mediaQuery, dedupe) {
  4503. if (typeof modules === 'string') {
  4504. // eslint-disable-next-line no-param-reassign
  4505. modules = [[null, modules, '']];
  4506. }
  4507. var alreadyImportedModules = {};
  4508. if (dedupe) {
  4509. for (var i = 0; i < this.length; i++) {
  4510. // eslint-disable-next-line prefer-destructuring
  4511. var id = this[i][0];
  4512. if (id != null) {
  4513. alreadyImportedModules[id] = true;
  4514. }
  4515. }
  4516. }
  4517. for (var _i = 0; _i < modules.length; _i++) {
  4518. var item = [].concat(modules[_i]);
  4519. if (dedupe && alreadyImportedModules[item[0]]) {
  4520. // eslint-disable-next-line no-continue
  4521. continue;
  4522. }
  4523. if (mediaQuery) {
  4524. if (!item[2]) {
  4525. item[2] = mediaQuery;
  4526. } else {
  4527. item[2] = "".concat(mediaQuery, " and ").concat(item[2]);
  4528. }
  4529. }
  4530. list.push(item);
  4531. }
  4532. };
  4533. return list;
  4534. };
  4535. function cssWithMappingToString(item, useSourceMap) {
  4536. var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring
  4537. var cssMapping = item[3];
  4538. if (!cssMapping) {
  4539. return content;
  4540. }
  4541. if (useSourceMap && typeof btoa === 'function') {
  4542. var sourceMapping = toComment(cssMapping);
  4543. var sourceURLs = cssMapping.sources.map(function (source) {
  4544. return "/*# sourceURL=".concat(cssMapping.sourceRoot || '').concat(source, " */");
  4545. });
  4546. return [content].concat(sourceURLs).concat([sourceMapping]).join('\n');
  4547. }
  4548. return [content].join('\n');
  4549. } // Adapted from convert-source-map (MIT)
  4550. function toComment(sourceMap) {
  4551. // eslint-disable-next-line no-undef
  4552. var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));
  4553. var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64);
  4554. return "/*# ".concat(data, " */");
  4555. }
  4556. /***/
  4557. }),
  4558. /***/ 1667:
  4559. /***/ ((module) => {
  4560. "use strict";
  4561. module.exports = function (url, options) {
  4562. if (!options) {
  4563. // eslint-disable-next-line no-param-reassign
  4564. options = {};
  4565. } // eslint-disable-next-line no-underscore-dangle, no-param-reassign
  4566. url = url && url.__esModule ? url.default : url;
  4567. if (typeof url !== 'string') {
  4568. return url;
  4569. } // If url is already wrapped in quotes, remove them
  4570. if (/^['"].*['"]$/.test(url)) {
  4571. // eslint-disable-next-line no-param-reassign
  4572. url = url.slice(1, -1);
  4573. }
  4574. if (options.hash) {
  4575. // eslint-disable-next-line no-param-reassign
  4576. url += options.hash;
  4577. } // Should url be wrapped?
  4578. // See https://drafts.csswg.org/css-values-3/#urls
  4579. if (/["'() \t\n]/.test(url) || options.needQuotes) {
  4580. return "\"".concat(url.replace(/"/g, '\\"').replace(/\n/g, '\\n'), "\"");
  4581. }
  4582. return url;
  4583. };
  4584. /***/
  4585. }),
  4586. /***/ 1795:
  4587. /***/ (function (module, exports, __webpack_require__) {
  4588. /* module decorator */ module = __webpack_require__.nmd(module);
  4589. var __WEBPACK_AMD_DEFINE_RESULT__;/*!
  4590. * Platform.js v1.3.6
  4591. * Copyright 2014-2020 Benjamin Tan
  4592. * Copyright 2011-2013 John-David Dalton
  4593. * Available under MIT license
  4594. */
  4595. ; (function () {
  4596. 'use strict';
  4597. /** Used to determine if values are of the language type `Object`. */
  4598. var objectTypes = {
  4599. 'function': true,
  4600. 'object': true
  4601. };
  4602. /** Used as a reference to the global object. */
  4603. var root = (objectTypes[typeof window] && window) || this;
  4604. /** Backup possible global object. */
  4605. var oldRoot = root;
  4606. /** Detect free variable `exports`. */
  4607. var freeExports = objectTypes[typeof exports] && exports;
  4608. /** Detect free variable `module`. */
  4609. var freeModule = objectTypes["object"] && module && !module.nodeType && module;
  4610. /** Detect free variable `global` from Node.js or Browserified code and use it as `root`. */
  4611. var freeGlobal = freeExports && freeModule && typeof __webpack_require__.g == 'object' && __webpack_require__.g;
  4612. if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal)) {
  4613. root = freeGlobal;
  4614. }
  4615. /**
  4616. * Used as the maximum length of an array-like object.
  4617. * See the [ES6 spec](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength)
  4618. * for more details.
  4619. */
  4620. var maxSafeInteger = Math.pow(2, 53) - 1;
  4621. /** Regular expression to detect Opera. */
  4622. var reOpera = /\bOpera/;
  4623. /** Possible global object. */
  4624. var thisBinding = this;
  4625. /** Used for native method references. */
  4626. var objectProto = Object.prototype;
  4627. /** Used to check for own properties of an object. */
  4628. var hasOwnProperty = objectProto.hasOwnProperty;
  4629. /** Used to resolve the internal `[[Class]]` of values. */
  4630. var toString = objectProto.toString;
  4631. /*--------------------------------------------------------------------------*/
  4632. /**
  4633. * Capitalizes a string value.
  4634. *
  4635. * @private
  4636. * @param {string} string The string to capitalize.
  4637. * @returns {string} The capitalized string.
  4638. */
  4639. function capitalize(string) {
  4640. string = String(string);
  4641. return string.charAt(0).toUpperCase() + string.slice(1);
  4642. }
  4643. /**
  4644. * A utility function to clean up the OS name.
  4645. *
  4646. * @private
  4647. * @param {string} os The OS name to clean up.
  4648. * @param {string} [pattern] A `RegExp` pattern matching the OS name.
  4649. * @param {string} [label] A label for the OS.
  4650. */
  4651. function cleanupOS(os, pattern, label) {
  4652. // Platform tokens are defined at:
  4653. // http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx
  4654. // http://web.archive.org/web/20081122053950/http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx
  4655. var data = {
  4656. '10.0': '10',
  4657. '6.4': '10 Technical Preview',
  4658. '6.3': '8.1',
  4659. '6.2': '8',
  4660. '6.1': 'Server 2008 R2 / 7',
  4661. '6.0': 'Server 2008 / Vista',
  4662. '5.2': 'Server 2003 / XP 64-bit',
  4663. '5.1': 'XP',
  4664. '5.01': '2000 SP1',
  4665. '5.0': '2000',
  4666. '4.0': 'NT',
  4667. '4.90': 'ME'
  4668. };
  4669. // Detect Windows version from platform tokens.
  4670. if (pattern && label && /^Win/i.test(os) && !/^Windows Phone /i.test(os) &&
  4671. (data = data[/[\d.]+$/.exec(os)])) {
  4672. os = 'Windows ' + data;
  4673. }
  4674. // Correct character case and cleanup string.
  4675. os = String(os);
  4676. if (pattern && label) {
  4677. os = os.replace(RegExp(pattern, 'i'), label);
  4678. }
  4679. os = format(
  4680. os.replace(/ ce$/i, ' CE')
  4681. .replace(/\bhpw/i, 'web')
  4682. .replace(/\bMacintosh\b/, 'Mac OS')
  4683. .replace(/_PowerPC\b/i, ' OS')
  4684. .replace(/\b(OS X) [^ \d]+/i, '$1')
  4685. .replace(/\bMac (OS X)\b/, '$1')
  4686. .replace(/\/(\d)/, ' $1')
  4687. .replace(/_/g, '.')
  4688. .replace(/(?: BePC|[ .]*fc[ \d.]+)$/i, '')
  4689. .replace(/\bx86\.64\b/gi, 'x86_64')
  4690. .replace(/\b(Windows Phone) OS\b/, '$1')
  4691. .replace(/\b(Chrome OS \w+) [\d.]+\b/, '$1')
  4692. .split(' on ')[0]
  4693. );
  4694. return os;
  4695. }
  4696. /**
  4697. * An iteration utility for arrays and objects.
  4698. *
  4699. * @private
  4700. * @param {Array|Object} object The object to iterate over.
  4701. * @param {Function} callback The function called per iteration.
  4702. */
  4703. function each(object, callback) {
  4704. var index = -1,
  4705. length = object ? object.length : 0;
  4706. if (typeof length == 'number' && length > -1 && length <= maxSafeInteger) {
  4707. while (++index < length) {
  4708. callback(object[index], index, object);
  4709. }
  4710. } else {
  4711. forOwn(object, callback);
  4712. }
  4713. }
  4714. /**
  4715. * Trim and conditionally capitalize string values.
  4716. *
  4717. * @private
  4718. * @param {string} string The string to format.
  4719. * @returns {string} The formatted string.
  4720. */
  4721. function format(string) {
  4722. string = trim(string);
  4723. return /^(?:webOS|i(?:OS|P))/.test(string)
  4724. ? string
  4725. : capitalize(string);
  4726. }
  4727. /**
  4728. * Iterates over an object's own properties, executing the `callback` for each.
  4729. *
  4730. * @private
  4731. * @param {Object} object The object to iterate over.
  4732. * @param {Function} callback The function executed per own property.
  4733. */
  4734. function forOwn(object, callback) {
  4735. for (var key in object) {
  4736. if (hasOwnProperty.call(object, key)) {
  4737. callback(object[key], key, object);
  4738. }
  4739. }
  4740. }
  4741. /**
  4742. * Gets the internal `[[Class]]` of a value.
  4743. *
  4744. * @private
  4745. * @param {*} value The value.
  4746. * @returns {string} The `[[Class]]`.
  4747. */
  4748. function getClassOf(value) {
  4749. return value == null
  4750. ? capitalize(value)
  4751. : toString.call(value).slice(8, -1);
  4752. }
  4753. /**
  4754. * Host objects can return type values that are different from their actual
  4755. * data type. The objects we are concerned with usually return non-primitive
  4756. * types of "object", "function", or "unknown".
  4757. *
  4758. * @private
  4759. * @param {*} object The owner of the property.
  4760. * @param {string} property The property to check.
  4761. * @returns {boolean} Returns `true` if the property value is a non-primitive, else `false`.
  4762. */
  4763. function isHostType(object, property) {
  4764. var type = object != null ? typeof object[property] : 'number';
  4765. return !/^(?:boolean|number|string|undefined)$/.test(type) &&
  4766. (type == 'object' ? !!object[property] : true);
  4767. }
  4768. /**
  4769. * Prepares a string for use in a `RegExp` by making hyphens and spaces optional.
  4770. *
  4771. * @private
  4772. * @param {string} string The string to qualify.
  4773. * @returns {string} The qualified string.
  4774. */
  4775. function qualify(string) {
  4776. return String(string).replace(/([ -])(?!$)/g, '$1?');
  4777. }
  4778. /**
  4779. * A bare-bones `Array#reduce` like utility function.
  4780. *
  4781. * @private
  4782. * @param {Array} array The array to iterate over.
  4783. * @param {Function} callback The function called per iteration.
  4784. * @returns {*} The accumulated result.
  4785. */
  4786. function reduce(array, callback) {
  4787. var accumulator = null;
  4788. each(array, function (value, index) {
  4789. accumulator = callback(accumulator, value, index, array);
  4790. });
  4791. return accumulator;
  4792. }
  4793. /**
  4794. * Removes leading and trailing whitespace from a string.
  4795. *
  4796. * @private
  4797. * @param {string} string The string to trim.
  4798. * @returns {string} The trimmed string.
  4799. */
  4800. function trim(string) {
  4801. return String(string).replace(/^ +| +$/g, '');
  4802. }
  4803. /*--------------------------------------------------------------------------*/
  4804. /**
  4805. * Creates a new platform object.
  4806. *
  4807. * @memberOf platform
  4808. * @param {Object|string} [ua=navigator.userAgent] The user agent string or
  4809. * context object.
  4810. * @returns {Object} A platform object.
  4811. */
  4812. function parse(ua) {
  4813. /** The environment context object. */
  4814. var context = root;
  4815. /** Used to flag when a custom context is provided. */
  4816. var isCustomContext = ua && typeof ua == 'object' && getClassOf(ua) != 'String';
  4817. // Juggle arguments.
  4818. if (isCustomContext) {
  4819. context = ua;
  4820. ua = null;
  4821. }
  4822. /** Browser navigator object. */
  4823. var nav = context.navigator || {};
  4824. /** Browser user agent string. */
  4825. var userAgent = nav.userAgent || '';
  4826. ua || (ua = userAgent);
  4827. /** Used to flag when `thisBinding` is the [ModuleScope]. */
  4828. var isModuleScope = isCustomContext || thisBinding == oldRoot;
  4829. /** Used to detect if browser is like Chrome. */
  4830. var likeChrome = isCustomContext
  4831. ? !!nav.likeChrome
  4832. : /\bChrome\b/.test(ua) && !/internal|\n/i.test(toString.toString());
  4833. /** Internal `[[Class]]` value shortcuts. */
  4834. var objectClass = 'Object',
  4835. airRuntimeClass = isCustomContext ? objectClass : 'ScriptBridgingProxyObject',
  4836. enviroClass = isCustomContext ? objectClass : 'Environment',
  4837. javaClass = (isCustomContext && context.java) ? 'JavaPackage' : getClassOf(context.java),
  4838. phantomClass = isCustomContext ? objectClass : 'RuntimeObject';
  4839. /** Detect Java environments. */
  4840. var java = /\bJava/.test(javaClass) && context.java;
  4841. /** Detect Rhino. */
  4842. var rhino = java && getClassOf(context.environment) == enviroClass;
  4843. /** A character to represent alpha. */
  4844. var alpha = java ? 'a' : '\u03b1';
  4845. /** A character to represent beta. */
  4846. var beta = java ? 'b' : '\u03b2';
  4847. /** Browser document object. */
  4848. var doc = context.document || {};
  4849. /**
  4850. * Detect Opera browser (Presto-based).
  4851. * http://www.howtocreate.co.uk/operaStuff/operaObject.html
  4852. * http://dev.opera.com/articles/view/opera-mini-web-content-authoring-guidelines/#operamini
  4853. */
  4854. var opera = context.operamini || context.opera;
  4855. /** Opera `[[Class]]`. */
  4856. var operaClass = reOpera.test(operaClass = (isCustomContext && opera) ? opera['[[Class]]'] : getClassOf(opera))
  4857. ? operaClass
  4858. : (opera = null);
  4859. /*------------------------------------------------------------------------*/
  4860. /** Temporary variable used over the script's lifetime. */
  4861. var data;
  4862. /** The CPU architecture. */
  4863. var arch = ua;
  4864. /** Platform description array. */
  4865. var description = [];
  4866. /** Platform alpha/beta indicator. */
  4867. var prerelease = null;
  4868. /** A flag to indicate that environment features should be used to resolve the platform. */
  4869. var useFeatures = ua == userAgent;
  4870. /** The browser/environment version. */
  4871. var version = useFeatures && opera && typeof opera.version == 'function' && opera.version();
  4872. /** A flag to indicate if the OS ends with "/ Version" */
  4873. var isSpecialCasedOS;
  4874. /* Detectable layout engines (order is important). */
  4875. var layout = getLayout([
  4876. { 'label': 'EdgeHTML', 'pattern': 'Edge' },
  4877. 'Trident',
  4878. { 'label': 'WebKit', 'pattern': 'AppleWebKit' },
  4879. 'iCab',
  4880. 'Presto',
  4881. 'NetFront',
  4882. 'Tasman',
  4883. 'KHTML',
  4884. 'Gecko'
  4885. ]);
  4886. /* Detectable browser names (order is important). */
  4887. var name = getName([
  4888. 'Adobe AIR',
  4889. 'Arora',
  4890. 'Avant Browser',
  4891. 'Breach',
  4892. 'Camino',
  4893. 'Electron',
  4894. 'Epiphany',
  4895. 'Fennec',
  4896. 'Flock',
  4897. 'Galeon',
  4898. 'GreenBrowser',
  4899. 'iCab',
  4900. 'Iceweasel',
  4901. 'K-Meleon',
  4902. 'Konqueror',
  4903. 'Lunascape',
  4904. 'Maxthon',
  4905. { 'label': 'Microsoft Edge', 'pattern': '(?:Edge|Edg|EdgA|EdgiOS)' },
  4906. 'Midori',
  4907. 'Nook Browser',
  4908. 'PaleMoon',
  4909. 'PhantomJS',
  4910. 'Raven',
  4911. 'Rekonq',
  4912. 'RockMelt',
  4913. { 'label': 'Samsung Internet', 'pattern': 'SamsungBrowser' },
  4914. 'SeaMonkey',
  4915. { 'label': 'Silk', 'pattern': '(?:Cloud9|Silk-Accelerated)' },
  4916. 'Sleipnir',
  4917. 'SlimBrowser',
  4918. { 'label': 'SRWare Iron', 'pattern': 'Iron' },
  4919. 'Sunrise',
  4920. 'Swiftfox',
  4921. 'Vivaldi',
  4922. 'Waterfox',
  4923. 'WebPositive',
  4924. { 'label': 'Yandex Browser', 'pattern': 'YaBrowser' },
  4925. { 'label': 'UC Browser', 'pattern': 'UCBrowser' },
  4926. 'Opera Mini',
  4927. { 'label': 'Opera Mini', 'pattern': 'OPiOS' },
  4928. 'Opera',
  4929. { 'label': 'Opera', 'pattern': 'OPR' },
  4930. 'Chromium',
  4931. 'Chrome',
  4932. { 'label': 'Chrome', 'pattern': '(?:HeadlessChrome)' },
  4933. { 'label': 'Chrome Mobile', 'pattern': '(?:CriOS|CrMo)' },
  4934. { 'label': 'Firefox', 'pattern': '(?:Firefox|Minefield)' },
  4935. { 'label': 'Firefox for iOS', 'pattern': 'FxiOS' },
  4936. { 'label': 'IE', 'pattern': 'IEMobile' },
  4937. { 'label': 'IE', 'pattern': 'MSIE' },
  4938. 'Safari'
  4939. ]);
  4940. /* Detectable products (order is important). */
  4941. var product = getProduct([
  4942. { 'label': 'BlackBerry', 'pattern': 'BB10' },
  4943. 'BlackBerry',
  4944. { 'label': 'Galaxy S', 'pattern': 'GT-I9000' },
  4945. { 'label': 'Galaxy S2', 'pattern': 'GT-I9100' },
  4946. { 'label': 'Galaxy S3', 'pattern': 'GT-I9300' },
  4947. { 'label': 'Galaxy S4', 'pattern': 'GT-I9500' },
  4948. { 'label': 'Galaxy S5', 'pattern': 'SM-G900' },
  4949. { 'label': 'Galaxy S6', 'pattern': 'SM-G920' },
  4950. { 'label': 'Galaxy S6 Edge', 'pattern': 'SM-G925' },
  4951. { 'label': 'Galaxy S7', 'pattern': 'SM-G930' },
  4952. { 'label': 'Galaxy S7 Edge', 'pattern': 'SM-G935' },
  4953. 'Google TV',
  4954. 'Lumia',
  4955. 'iPad',
  4956. 'iPod',
  4957. 'iPhone',
  4958. 'Kindle',
  4959. { 'label': 'Kindle Fire', 'pattern': '(?:Cloud9|Silk-Accelerated)' },
  4960. 'Nexus',
  4961. 'Nook',
  4962. 'PlayBook',
  4963. 'PlayStation Vita',
  4964. 'PlayStation',
  4965. 'TouchPad',
  4966. 'Transformer',
  4967. { 'label': 'Wii U', 'pattern': 'WiiU' },
  4968. 'Wii',
  4969. 'Xbox One',
  4970. { 'label': 'Xbox 360', 'pattern': 'Xbox' },
  4971. 'Xoom'
  4972. ]);
  4973. /* Detectable manufacturers. */
  4974. var manufacturer = getManufacturer({
  4975. 'Apple': { 'iPad': 1, 'iPhone': 1, 'iPod': 1 },
  4976. 'Alcatel': {},
  4977. 'Archos': {},
  4978. 'Amazon': { 'Kindle': 1, 'Kindle Fire': 1 },
  4979. 'Asus': { 'Transformer': 1 },
  4980. 'Barnes & Noble': { 'Nook': 1 },
  4981. 'BlackBerry': { 'PlayBook': 1 },
  4982. 'Google': { 'Google TV': 1, 'Nexus': 1 },
  4983. 'HP': { 'TouchPad': 1 },
  4984. 'HTC': {},
  4985. 'Huawei': {},
  4986. 'Lenovo': {},
  4987. 'LG': {},
  4988. 'Microsoft': { 'Xbox': 1, 'Xbox One': 1 },
  4989. 'Motorola': { 'Xoom': 1 },
  4990. 'Nintendo': { 'Wii U': 1, 'Wii': 1 },
  4991. 'Nokia': { 'Lumia': 1 },
  4992. 'Oppo': {},
  4993. 'Samsung': { 'Galaxy S': 1, 'Galaxy S2': 1, 'Galaxy S3': 1, 'Galaxy S4': 1 },
  4994. 'Sony': { 'PlayStation': 1, 'PlayStation Vita': 1 },
  4995. 'Xiaomi': { 'Mi': 1, 'Redmi': 1 }
  4996. });
  4997. /* Detectable operating systems (order is important). */
  4998. var os = getOS([
  4999. 'Windows Phone',
  5000. 'KaiOS',
  5001. 'Android',
  5002. 'CentOS',
  5003. { 'label': 'Chrome OS', 'pattern': 'CrOS' },
  5004. 'Debian',
  5005. { 'label': 'DragonFly BSD', 'pattern': 'DragonFly' },
  5006. 'Fedora',
  5007. 'FreeBSD',
  5008. 'Gentoo',
  5009. 'Haiku',
  5010. 'Kubuntu',
  5011. 'Linux Mint',
  5012. 'OpenBSD',
  5013. 'Red Hat',
  5014. 'SuSE',
  5015. 'Ubuntu',
  5016. 'Xubuntu',
  5017. 'Cygwin',
  5018. 'Symbian OS',
  5019. 'hpwOS',
  5020. 'webOS ',
  5021. 'webOS',
  5022. 'Tablet OS',
  5023. 'Tizen',
  5024. 'Linux',
  5025. 'Mac OS X',
  5026. 'Macintosh',
  5027. 'Mac',
  5028. 'Windows 98;',
  5029. 'Windows '
  5030. ]);
  5031. /*------------------------------------------------------------------------*/
  5032. /**
  5033. * Picks the layout engine from an array of guesses.
  5034. *
  5035. * @private
  5036. * @param {Array} guesses An array of guesses.
  5037. * @returns {null|string} The detected layout engine.
  5038. */
  5039. function getLayout(guesses) {
  5040. return reduce(guesses, function (result, guess) {
  5041. return result || RegExp('\\b' + (
  5042. guess.pattern || qualify(guess)
  5043. ) + '\\b', 'i').exec(ua) && (guess.label || guess);
  5044. });
  5045. }
  5046. /**
  5047. * Picks the manufacturer from an array of guesses.
  5048. *
  5049. * @private
  5050. * @param {Array} guesses An object of guesses.
  5051. * @returns {null|string} The detected manufacturer.
  5052. */
  5053. function getManufacturer(guesses) {
  5054. return reduce(guesses, function (result, value, key) {
  5055. // Lookup the manufacturer by product or scan the UA for the manufacturer.
  5056. return result || (
  5057. value[product] ||
  5058. value[/^[a-z]+(?: +[a-z]+\b)*/i.exec(product)] ||
  5059. RegExp('\\b' + qualify(key) + '(?:\\b|\\w*\\d)', 'i').exec(ua)
  5060. ) && key;
  5061. });
  5062. }
  5063. /**
  5064. * Picks the browser name from an array of guesses.
  5065. *
  5066. * @private
  5067. * @param {Array} guesses An array of guesses.
  5068. * @returns {null|string} The detected browser name.
  5069. */
  5070. function getName(guesses) {
  5071. return reduce(guesses, function (result, guess) {
  5072. return result || RegExp('\\b' + (
  5073. guess.pattern || qualify(guess)
  5074. ) + '\\b', 'i').exec(ua) && (guess.label || guess);
  5075. });
  5076. }
  5077. /**
  5078. * Picks the OS name from an array of guesses.
  5079. *
  5080. * @private
  5081. * @param {Array} guesses An array of guesses.
  5082. * @returns {null|string} The detected OS name.
  5083. */
  5084. function getOS(guesses) {
  5085. return reduce(guesses, function (result, guess) {
  5086. var pattern = guess.pattern || qualify(guess);
  5087. if (!result && (result =
  5088. RegExp('\\b' + pattern + '(?:/[\\d.]+|[ \\w.]*)', 'i').exec(ua)
  5089. )) {
  5090. result = cleanupOS(result, pattern, guess.label || guess);
  5091. }
  5092. return result;
  5093. });
  5094. }
  5095. /**
  5096. * Picks the product name from an array of guesses.
  5097. *
  5098. * @private
  5099. * @param {Array} guesses An array of guesses.
  5100. * @returns {null|string} The detected product name.
  5101. */
  5102. function getProduct(guesses) {
  5103. return reduce(guesses, function (result, guess) {
  5104. var pattern = guess.pattern || qualify(guess);
  5105. if (!result && (result =
  5106. RegExp('\\b' + pattern + ' *\\d+[.\\w_]*', 'i').exec(ua) ||
  5107. RegExp('\\b' + pattern + ' *\\w+-[\\w]*', 'i').exec(ua) ||
  5108. RegExp('\\b' + pattern + '(?:; *(?:[a-z]+[_-])?[a-z]+\\d+|[^ ();-]*)', 'i').exec(ua)
  5109. )) {
  5110. // Split by forward slash and append product version if needed.
  5111. if ((result = String((guess.label && !RegExp(pattern, 'i').test(guess.label)) ? guess.label : result).split('/'))[1] && !/[\d.]+/.test(result[0])) {
  5112. result[0] += ' ' + result[1];
  5113. }
  5114. // Correct character case and cleanup string.
  5115. guess = guess.label || guess;
  5116. result = format(result[0]
  5117. .replace(RegExp(pattern, 'i'), guess)
  5118. .replace(RegExp('; *(?:' + guess + '[_-])?', 'i'), ' ')
  5119. .replace(RegExp('(' + guess + ')[-_.]?(\\w)', 'i'), '$1 $2'));
  5120. }
  5121. return result;
  5122. });
  5123. }
  5124. /**
  5125. * Resolves the version using an array of UA patterns.
  5126. *
  5127. * @private
  5128. * @param {Array} patterns An array of UA patterns.
  5129. * @returns {null|string} The detected version.
  5130. */
  5131. function getVersion(patterns) {
  5132. return reduce(patterns, function (result, pattern) {
  5133. return result || (RegExp(pattern +
  5134. '(?:-[\\d.]+/|(?: for [\\w-]+)?[ /-])([\\d.]+[^ ();/_-]*)', 'i').exec(ua) || 0)[1] || null;
  5135. });
  5136. }
  5137. /**
  5138. * Returns `platform.description` when the platform object is coerced to a string.
  5139. *
  5140. * @name toString
  5141. * @memberOf platform
  5142. * @returns {string} Returns `platform.description` if available, else an empty string.
  5143. */
  5144. function toStringPlatform() {
  5145. return this.description || '';
  5146. }
  5147. /*------------------------------------------------------------------------*/
  5148. // Convert layout to an array so we can add extra details.
  5149. layout && (layout = [layout]);
  5150. // Detect Android products.
  5151. // Browsers on Android devices typically provide their product IDS after "Android;"
  5152. // up to "Build" or ") AppleWebKit".
  5153. // Example:
  5154. // "Mozilla/5.0 (Linux; Android 8.1.0; Moto G (5) Plus) AppleWebKit/537.36
  5155. // (KHTML, like Gecko) Chrome/70.0.3538.80 Mobile Safari/537.36"
  5156. if (/\bAndroid\b/.test(os) && !product &&
  5157. (data = /\bAndroid[^;]*;(.*?)(?:Build|\) AppleWebKit)\b/i.exec(ua))) {
  5158. product = trim(data[1])
  5159. // Replace any language codes (eg. "en-US").
  5160. .replace(/^[a-z]{2}-[a-z]{2};\s*/i, '')
  5161. || null;
  5162. }
  5163. // Detect product names that contain their manufacturer's name.
  5164. if (manufacturer && !product) {
  5165. product = getProduct([manufacturer]);
  5166. } else if (manufacturer && product) {
  5167. product = product
  5168. .replace(RegExp('^(' + qualify(manufacturer) + ')[-_.\\s]', 'i'), manufacturer + ' ')
  5169. .replace(RegExp('^(' + qualify(manufacturer) + ')[-_.]?(\\w)', 'i'), manufacturer + ' $2');
  5170. }
  5171. // Clean up Google TV.
  5172. if ((data = /\bGoogle TV\b/.exec(product))) {
  5173. product = data[0];
  5174. }
  5175. // Detect simulators.
  5176. if (/\bSimulator\b/i.test(ua)) {
  5177. product = (product ? product + ' ' : '') + 'Simulator';
  5178. }
  5179. // Detect Opera Mini 8+ running in Turbo/Uncompressed mode on iOS.
  5180. if (name == 'Opera Mini' && /\bOPiOS\b/.test(ua)) {
  5181. description.push('running in Turbo/Uncompressed mode');
  5182. }
  5183. // Detect IE Mobile 11.
  5184. if (name == 'IE' && /\blike iPhone OS\b/.test(ua)) {
  5185. data = parse(ua.replace(/like iPhone OS/, ''));
  5186. manufacturer = data.manufacturer;
  5187. product = data.product;
  5188. }
  5189. // Detect iOS.
  5190. else if (/^iP/.test(product)) {
  5191. name || (name = 'Safari');
  5192. os = 'iOS' + ((data = / OS ([\d_]+)/i.exec(ua))
  5193. ? ' ' + data[1].replace(/_/g, '.')
  5194. : '');
  5195. }
  5196. // Detect Kubuntu.
  5197. else if (name == 'Konqueror' && /^Linux\b/i.test(os)) {
  5198. os = 'Kubuntu';
  5199. }
  5200. // Detect Android browsers.
  5201. else if ((manufacturer && manufacturer != 'Google' &&
  5202. ((/Chrome/.test(name) && !/\bMobile Safari\b/i.test(ua)) || /\bVita\b/.test(product))) ||
  5203. (/\bAndroid\b/.test(os) && /^Chrome/.test(name) && /\bVersion\//i.test(ua))) {
  5204. name = 'Android Browser';
  5205. os = /\bAndroid\b/.test(os) ? os : 'Android';
  5206. }
  5207. // Detect Silk desktop/accelerated modes.
  5208. else if (name == 'Silk') {
  5209. if (!/\bMobi/i.test(ua)) {
  5210. os = 'Android';
  5211. description.unshift('desktop mode');
  5212. }
  5213. if (/Accelerated *= *true/i.test(ua)) {
  5214. description.unshift('accelerated');
  5215. }
  5216. }
  5217. // Detect UC Browser speed mode.
  5218. else if (name == 'UC Browser' && /\bUCWEB\b/.test(ua)) {
  5219. description.push('speed mode');
  5220. }
  5221. // Detect PaleMoon identifying as Firefox.
  5222. else if (name == 'PaleMoon' && (data = /\bFirefox\/([\d.]+)\b/.exec(ua))) {
  5223. description.push('identifying as Firefox ' + data[1]);
  5224. }
  5225. // Detect Firefox OS and products running Firefox.
  5226. else if (name == 'Firefox' && (data = /\b(Mobile|Tablet|TV)\b/i.exec(ua))) {
  5227. os || (os = 'Firefox OS');
  5228. product || (product = data[1]);
  5229. }
  5230. // Detect false positives for Firefox/Safari.
  5231. else if (!name || (data = !/\bMinefield\b/i.test(ua) && /\b(?:Firefox|Safari)\b/.exec(name))) {
  5232. // Escape the `/` for Firefox 1.
  5233. if (name && !product && /[\/,]|^[^(]+?\)/.test(ua.slice(ua.indexOf(data + '/') + 8))) {
  5234. // Clear name of false positives.
  5235. name = null;
  5236. }
  5237. // Reassign a generic name.
  5238. if ((data = product || manufacturer || os) &&
  5239. (product || manufacturer || /\b(?:Android|Symbian OS|Tablet OS|webOS)\b/.test(os))) {
  5240. name = /[a-z]+(?: Hat)?/i.exec(/\bAndroid\b/.test(os) ? os : data) + ' Browser';
  5241. }
  5242. }
  5243. // Add Chrome version to description for Electron.
  5244. else if (name == 'Electron' && (data = (/\bChrome\/([\d.]+)\b/.exec(ua) || 0)[1])) {
  5245. description.push('Chromium ' + data);
  5246. }
  5247. // Detect non-Opera (Presto-based) versions (order is important).
  5248. if (!version) {
  5249. version = getVersion([
  5250. '(?:Cloud9|CriOS|CrMo|Edge|Edg|EdgA|EdgiOS|FxiOS|HeadlessChrome|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\d.]+$)|UCBrowser|YaBrowser)',
  5251. 'Version',
  5252. qualify(name),
  5253. '(?:Firefox|Minefield|NetFront)'
  5254. ]);
  5255. }
  5256. // Detect stubborn layout engines.
  5257. if ((data =
  5258. layout == 'iCab' && parseFloat(version) > 3 && 'WebKit' ||
  5259. /\bOpera\b/.test(name) && (/\bOPR\b/.test(ua) ? 'Blink' : 'Presto') ||
  5260. /\b(?:Midori|Nook|Safari)\b/i.test(ua) && !/^(?:Trident|EdgeHTML)$/.test(layout) && 'WebKit' ||
  5261. !layout && /\bMSIE\b/i.test(ua) && (os == 'Mac OS' ? 'Tasman' : 'Trident') ||
  5262. layout == 'WebKit' && /\bPlayStation\b(?! Vita\b)/i.test(name) && 'NetFront'
  5263. )) {
  5264. layout = [data];
  5265. }
  5266. // Detect Windows Phone 7 desktop mode.
  5267. if (name == 'IE' && (data = (/; *(?:XBLWP|ZuneWP)(\d+)/i.exec(ua) || 0)[1])) {
  5268. name += ' Mobile';
  5269. os = 'Windows Phone ' + (/\+$/.test(data) ? data : data + '.x');
  5270. description.unshift('desktop mode');
  5271. }
  5272. // Detect Windows Phone 8.x desktop mode.
  5273. else if (/\bWPDesktop\b/i.test(ua)) {
  5274. name = 'IE Mobile';
  5275. os = 'Windows Phone 8.x';
  5276. description.unshift('desktop mode');
  5277. version || (version = (/\brv:([\d.]+)/.exec(ua) || 0)[1]);
  5278. }
  5279. // Detect IE 11 identifying as other browsers.
  5280. else if (name != 'IE' && layout == 'Trident' && (data = /\brv:([\d.]+)/.exec(ua))) {
  5281. if (name) {
  5282. description.push('identifying as ' + name + (version ? ' ' + version : ''));
  5283. }
  5284. name = 'IE';
  5285. version = data[1];
  5286. }
  5287. // Leverage environment features.
  5288. if (useFeatures) {
  5289. // Detect server-side environments.
  5290. // Rhino has a global function while others have a global object.
  5291. if (isHostType(context, 'global')) {
  5292. if (java) {
  5293. data = java.lang.System;
  5294. arch = data.getProperty('os.arch');
  5295. os = os || data.getProperty('os.name') + ' ' + data.getProperty('os.version');
  5296. }
  5297. if (rhino) {
  5298. try {
  5299. version = context.require('ringo/engine').version.join('.');
  5300. name = 'RingoJS';
  5301. } catch (e) {
  5302. if ((data = context.system) && data.global.system == context.system) {
  5303. name = 'Narwhal';
  5304. os || (os = data[0].os || null);
  5305. }
  5306. }
  5307. if (!name) {
  5308. name = 'Rhino';
  5309. }
  5310. }
  5311. else if (
  5312. typeof context.process == 'object' && !context.process.browser &&
  5313. (data = context.process)
  5314. ) {
  5315. if (typeof data.versions == 'object') {
  5316. if (typeof data.versions.electron == 'string') {
  5317. description.push('Node ' + data.versions.node);
  5318. name = 'Electron';
  5319. version = data.versions.electron;
  5320. } else if (typeof data.versions.nw == 'string') {
  5321. description.push('Chromium ' + version, 'Node ' + data.versions.node);
  5322. name = 'NW.js';
  5323. version = data.versions.nw;
  5324. }
  5325. }
  5326. if (!name) {
  5327. name = 'Node.js';
  5328. arch = data.arch;
  5329. os = data.platform;
  5330. version = /[\d.]+/.exec(data.version);
  5331. version = version ? version[0] : null;
  5332. }
  5333. }
  5334. }
  5335. // Detect Adobe AIR.
  5336. else if (getClassOf((data = context.runtime)) == airRuntimeClass) {
  5337. name = 'Adobe AIR';
  5338. os = data.flash.system.Capabilities.os;
  5339. }
  5340. // Detect PhantomJS.
  5341. else if (getClassOf((data = context.phantom)) == phantomClass) {
  5342. name = 'PhantomJS';
  5343. version = (data = data.version || null) && (data.major + '.' + data.minor + '.' + data.patch);
  5344. }
  5345. // Detect IE compatibility modes.
  5346. else if (typeof doc.documentMode == 'number' && (data = /\bTrident\/(\d+)/i.exec(ua))) {
  5347. // We're in compatibility mode when the Trident version + 4 doesn't
  5348. // equal the document mode.
  5349. version = [version, doc.documentMode];
  5350. if ((data = +data[1] + 4) != version[1]) {
  5351. description.push('IE ' + version[1] + ' mode');
  5352. layout && (layout[1] = '');
  5353. version[1] = data;
  5354. }
  5355. version = name == 'IE' ? String(version[1].toFixed(1)) : version[0];
  5356. }
  5357. // Detect IE 11 masking as other browsers.
  5358. else if (typeof doc.documentMode == 'number' && /^(?:Chrome|Firefox)\b/.test(name)) {
  5359. description.push('masking as ' + name + ' ' + version);
  5360. name = 'IE';
  5361. version = '11.0';
  5362. layout = ['Trident'];
  5363. os = 'Windows';
  5364. }
  5365. os = os && format(os);
  5366. }
  5367. // Detect prerelease phases.
  5368. if (version && (data =
  5369. /(?:[ab]|dp|pre|[ab]\d+pre)(?:\d+\+?)?$/i.exec(version) ||
  5370. /(?:alpha|beta)(?: ?\d)?/i.exec(ua + ';' + (useFeatures && nav.appMinorVersion)) ||
  5371. /\bMinefield\b/i.test(ua) && 'a'
  5372. )) {
  5373. prerelease = /b/i.test(data) ? 'beta' : 'alpha';
  5374. version = version.replace(RegExp(data + '\\+?$'), '') +
  5375. (prerelease == 'beta' ? beta : alpha) + (/\d+\+?/.exec(data) || '');
  5376. }
  5377. // Detect Firefox Mobile.
  5378. if (name == 'Fennec' || name == 'Firefox' && /\b(?:Android|Firefox OS|KaiOS)\b/.test(os)) {
  5379. name = 'Firefox Mobile';
  5380. }
  5381. // Obscure Maxthon's unreliable version.
  5382. else if (name == 'Maxthon' && version) {
  5383. version = version.replace(/\.[\d.]+/, '.x');
  5384. }
  5385. // Detect Xbox 360 and Xbox One.
  5386. else if (/\bXbox\b/i.test(product)) {
  5387. if (product == 'Xbox 360') {
  5388. os = null;
  5389. }
  5390. if (product == 'Xbox 360' && /\bIEMobile\b/.test(ua)) {
  5391. description.unshift('mobile mode');
  5392. }
  5393. }
  5394. // Add mobile postfix.
  5395. else if ((/^(?:Chrome|IE|Opera)$/.test(name) || name && !product && !/Browser|Mobi/.test(name)) &&
  5396. (os == 'Windows CE' || /Mobi/i.test(ua))) {
  5397. name += ' Mobile';
  5398. }
  5399. // Detect IE platform preview.
  5400. else if (name == 'IE' && useFeatures) {
  5401. try {
  5402. if (context.external === null) {
  5403. description.unshift('platform preview');
  5404. }
  5405. } catch (e) {
  5406. description.unshift('embedded');
  5407. }
  5408. }
  5409. // Detect BlackBerry OS version.
  5410. // http://docs.blackberry.com/en/developers/deliverables/18169/HTTP_headers_sent_by_BB_Browser_1234911_11.jsp
  5411. else if ((/\bBlackBerry\b/.test(product) || /\bBB10\b/.test(ua)) && (data =
  5412. (RegExp(product.replace(/ +/g, ' *') + '/([.\\d]+)', 'i').exec(ua) || 0)[1] ||
  5413. version
  5414. )) {
  5415. data = [data, /BB10/.test(ua)];
  5416. os = (data[1] ? (product = null, manufacturer = 'BlackBerry') : 'Device Software') + ' ' + data[0];
  5417. version = null;
  5418. }
  5419. // Detect Opera identifying/masking itself as another browser.
  5420. // http://www.opera.com/support/kb/view/843/
  5421. else if (this != forOwn && product != 'Wii' && (
  5422. (useFeatures && opera) ||
  5423. (/Opera/.test(name) && /\b(?:MSIE|Firefox)\b/i.test(ua)) ||
  5424. (name == 'Firefox' && /\bOS X (?:\d+\.){2,}/.test(os)) ||
  5425. (name == 'IE' && (
  5426. (os && !/^Win/.test(os) && version > 5.5) ||
  5427. /\bWindows XP\b/.test(os) && version > 8 ||
  5428. version == 8 && !/\bTrident\b/.test(ua)
  5429. ))
  5430. ) && !reOpera.test((data = parse.call(forOwn, ua.replace(reOpera, '') + ';'))) && data.name) {
  5431. // When "identifying", the UA contains both Opera and the other browser's name.
  5432. data = 'ing as ' + data.name + ((data = data.version) ? ' ' + data : '');
  5433. if (reOpera.test(name)) {
  5434. if (/\bIE\b/.test(data) && os == 'Mac OS') {
  5435. os = null;
  5436. }
  5437. data = 'identify' + data;
  5438. }
  5439. // When "masking", the UA contains only the other browser's name.
  5440. else {
  5441. data = 'mask' + data;
  5442. if (operaClass) {
  5443. name = format(operaClass.replace(/([a-z])([A-Z])/g, '$1 $2'));
  5444. } else {
  5445. name = 'Opera';
  5446. }
  5447. if (/\bIE\b/.test(data)) {
  5448. os = null;
  5449. }
  5450. if (!useFeatures) {
  5451. version = null;
  5452. }
  5453. }
  5454. layout = ['Presto'];
  5455. description.push(data);
  5456. }
  5457. // Detect WebKit Nightly and approximate Chrome/Safari versions.
  5458. if ((data = (/\bAppleWebKit\/([\d.]+\+?)/i.exec(ua) || 0)[1])) {
  5459. // Correct build number for numeric comparison.
  5460. // (e.g. "532.5" becomes "532.05")
  5461. data = [parseFloat(data.replace(/\.(\d)$/, '.0$1')), data];
  5462. // Nightly builds are postfixed with a "+".
  5463. if (name == 'Safari' && data[1].slice(-1) == '+') {
  5464. name = 'WebKit Nightly';
  5465. prerelease = 'alpha';
  5466. version = data[1].slice(0, -1);
  5467. }
  5468. // Clear incorrect browser versions.
  5469. else if (version == data[1] ||
  5470. version == (data[2] = (/\bSafari\/([\d.]+\+?)/i.exec(ua) || 0)[1])) {
  5471. version = null;
  5472. }
  5473. // Use the full Chrome version when available.
  5474. data[1] = (/\b(?:Headless)?Chrome\/([\d.]+)/i.exec(ua) || 0)[1];
  5475. // Detect Blink layout engine.
  5476. if (data[0] == 537.36 && data[2] == 537.36 && parseFloat(data[1]) >= 28 && layout == 'WebKit') {
  5477. layout = ['Blink'];
  5478. }
  5479. // Detect JavaScriptCore.
  5480. // http://stackoverflow.com/questions/6768474/how-can-i-detect-which-javascript-engine-v8-or-jsc-is-used-at-runtime-in-androi
  5481. if (!useFeatures || (!likeChrome && !data[1])) {
  5482. layout && (layout[1] = 'like Safari');
  5483. data = (data = data[0], data < 400 ? 1 : data < 500 ? 2 : data < 526 ? 3 : data < 533 ? 4 : data < 534 ? '4+' : data < 535 ? 5 : data < 537 ? 6 : data < 538 ? 7 : data < 601 ? 8 : data < 602 ? 9 : data < 604 ? 10 : data < 606 ? 11 : data < 608 ? 12 : '12');
  5484. } else {
  5485. layout && (layout[1] = 'like Chrome');
  5486. data = data[1] || (data = data[0], data < 530 ? 1 : data < 532 ? 2 : data < 532.05 ? 3 : data < 533 ? 4 : data < 534.03 ? 5 : data < 534.07 ? 6 : data < 534.10 ? 7 : data < 534.13 ? 8 : data < 534.16 ? 9 : data < 534.24 ? 10 : data < 534.30 ? 11 : data < 535.01 ? 12 : data < 535.02 ? '13+' : data < 535.07 ? 15 : data < 535.11 ? 16 : data < 535.19 ? 17 : data < 536.05 ? 18 : data < 536.10 ? 19 : data < 537.01 ? 20 : data < 537.11 ? '21+' : data < 537.13 ? 23 : data < 537.18 ? 24 : data < 537.24 ? 25 : data < 537.36 ? 26 : layout != 'Blink' ? '27' : '28');
  5487. }
  5488. // Add the postfix of ".x" or "+" for approximate versions.
  5489. layout && (layout[1] += ' ' + (data += typeof data == 'number' ? '.x' : /[.+]/.test(data) ? '' : '+'));
  5490. // Obscure version for some Safari 1-2 releases.
  5491. if (name == 'Safari' && (!version || parseInt(version) > 45)) {
  5492. version = data;
  5493. } else if (name == 'Chrome' && /\bHeadlessChrome/i.test(ua)) {
  5494. description.unshift('headless');
  5495. }
  5496. }
  5497. // Detect Opera desktop modes.
  5498. if (name == 'Opera' && (data = /\bzbov|zvav$/.exec(os))) {
  5499. name += ' ';
  5500. description.unshift('desktop mode');
  5501. if (data == 'zvav') {
  5502. name += 'Mini';
  5503. version = null;
  5504. } else {
  5505. name += 'Mobile';
  5506. }
  5507. os = os.replace(RegExp(' *' + data + '$'), '');
  5508. }
  5509. // Detect Chrome desktop mode.
  5510. else if (name == 'Safari' && /\bChrome\b/.exec(layout && layout[1])) {
  5511. description.unshift('desktop mode');
  5512. name = 'Chrome Mobile';
  5513. version = null;
  5514. if (/\bOS X\b/.test(os)) {
  5515. manufacturer = 'Apple';
  5516. os = 'iOS 4.3+';
  5517. } else {
  5518. os = null;
  5519. }
  5520. }
  5521. // Newer versions of SRWare Iron uses the Chrome tag to indicate its version number.
  5522. else if (/\bSRWare Iron\b/.test(name) && !version) {
  5523. version = getVersion('Chrome');
  5524. }
  5525. // Strip incorrect OS versions.
  5526. if (version && version.indexOf((data = /[\d.]+$/.exec(os))) == 0 &&
  5527. ua.indexOf('/' + data + '-') > -1) {
  5528. os = trim(os.replace(data, ''));
  5529. }
  5530. // Ensure OS does not include the browser name.
  5531. if (os && os.indexOf(name) != -1 && !RegExp(name + ' OS').test(os)) {
  5532. os = os.replace(RegExp(' *' + qualify(name) + ' *'), '');
  5533. }
  5534. // Add layout engine.
  5535. if (layout && !/\b(?:Avant|Nook)\b/.test(name) && (
  5536. /Browser|Lunascape|Maxthon/.test(name) ||
  5537. name != 'Safari' && /^iOS/.test(os) && /\bSafari\b/.test(layout[1]) ||
  5538. /^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(name) && layout[1])) {
  5539. // Don't add layout details to description if they are falsey.
  5540. (data = layout[layout.length - 1]) && description.push(data);
  5541. }
  5542. // Combine contextual information.
  5543. if (description.length) {
  5544. description = ['(' + description.join('; ') + ')'];
  5545. }
  5546. // Append manufacturer to description.
  5547. if (manufacturer && product && product.indexOf(manufacturer) < 0) {
  5548. description.push('on ' + manufacturer);
  5549. }
  5550. // Append product to description.
  5551. if (product) {
  5552. description.push((/^on /.test(description[description.length - 1]) ? '' : 'on ') + product);
  5553. }
  5554. // Parse the OS into an object.
  5555. if (os) {
  5556. data = / ([\d.+]+)$/.exec(os);
  5557. isSpecialCasedOS = data && os.charAt(os.length - data[0].length - 1) == '/';
  5558. os = {
  5559. 'architecture': 32,
  5560. 'family': (data && !isSpecialCasedOS) ? os.replace(data[0], '') : os,
  5561. 'version': data ? data[1] : null,
  5562. 'toString': function () {
  5563. var version = this.version;
  5564. return this.family + ((version && !isSpecialCasedOS) ? ' ' + version : '') + (this.architecture == 64 ? ' 64-bit' : '');
  5565. }
  5566. };
  5567. }
  5568. // Add browser/OS architecture.
  5569. if ((data = /\b(?:AMD|IA|Win|WOW|x86_|x)64\b/i.exec(arch)) && !/\bi686\b/i.test(arch)) {
  5570. if (os) {
  5571. os.architecture = 64;
  5572. os.family = os.family.replace(RegExp(' *' + data), '');
  5573. }
  5574. if (
  5575. name && (/\bWOW64\b/i.test(ua) ||
  5576. (useFeatures && /\w(?:86|32)$/.test(nav.cpuClass || nav.platform) && !/\bWin64; x64\b/i.test(ua)))
  5577. ) {
  5578. description.unshift('32-bit');
  5579. }
  5580. }
  5581. // Chrome 39 and above on OS X is always 64-bit.
  5582. else if (
  5583. os && /^OS X/.test(os.family) &&
  5584. name == 'Chrome' && parseFloat(version) >= 39
  5585. ) {
  5586. os.architecture = 64;
  5587. }
  5588. ua || (ua = null);
  5589. /*------------------------------------------------------------------------*/
  5590. /**
  5591. * The platform object.
  5592. *
  5593. * @name platform
  5594. * @type Object
  5595. */
  5596. var platform = {};
  5597. /**
  5598. * The platform description.
  5599. *
  5600. * @memberOf platform
  5601. * @type string|null
  5602. */
  5603. platform.description = ua;
  5604. /**
  5605. * The name of the browser's layout engine.
  5606. *
  5607. * The list of common layout engines include:
  5608. * "Blink", "EdgeHTML", "Gecko", "Trident" and "WebKit"
  5609. *
  5610. * @memberOf platform
  5611. * @type string|null
  5612. */
  5613. platform.layout = layout && layout[0];
  5614. /**
  5615. * The name of the product's manufacturer.
  5616. *
  5617. * The list of manufacturers include:
  5618. * "Apple", "Archos", "Amazon", "Asus", "Barnes & Noble", "BlackBerry",
  5619. * "Google", "HP", "HTC", "LG", "Microsoft", "Motorola", "Nintendo",
  5620. * "Nokia", "Samsung" and "Sony"
  5621. *
  5622. * @memberOf platform
  5623. * @type string|null
  5624. */
  5625. platform.manufacturer = manufacturer;
  5626. /**
  5627. * The name of the browser/environment.
  5628. *
  5629. * The list of common browser names include:
  5630. * "Chrome", "Electron", "Firefox", "Firefox for iOS", "IE",
  5631. * "Microsoft Edge", "PhantomJS", "Safari", "SeaMonkey", "Silk",
  5632. * "Opera Mini" and "Opera"
  5633. *
  5634. * Mobile versions of some browsers have "Mobile" appended to their name:
  5635. * eg. "Chrome Mobile", "Firefox Mobile", "IE Mobile" and "Opera Mobile"
  5636. *
  5637. * @memberOf platform
  5638. * @type string|null
  5639. */
  5640. platform.name = name;
  5641. /**
  5642. * The alpha/beta release indicator.
  5643. *
  5644. * @memberOf platform
  5645. * @type string|null
  5646. */
  5647. platform.prerelease = prerelease;
  5648. /**
  5649. * The name of the product hosting the browser.
  5650. *
  5651. * The list of common products include:
  5652. *
  5653. * "BlackBerry", "Galaxy S4", "Lumia", "iPad", "iPod", "iPhone", "Kindle",
  5654. * "Kindle Fire", "Nexus", "Nook", "PlayBook", "TouchPad" and "Transformer"
  5655. *
  5656. * @memberOf platform
  5657. * @type string|null
  5658. */
  5659. platform.product = product;
  5660. /**
  5661. * The browser's user agent string.
  5662. *
  5663. * @memberOf platform
  5664. * @type string|null
  5665. */
  5666. platform.ua = ua;
  5667. /**
  5668. * The browser/environment version.
  5669. *
  5670. * @memberOf platform
  5671. * @type string|null
  5672. */
  5673. platform.version = name && version;
  5674. /**
  5675. * The name of the operating system.
  5676. *
  5677. * @memberOf platform
  5678. * @type Object
  5679. */
  5680. platform.os = os || {
  5681. /**
  5682. * The CPU architecture the OS is built for.
  5683. *
  5684. * @memberOf platform.os
  5685. * @type number|null
  5686. */
  5687. 'architecture': null,
  5688. /**
  5689. * The family of the OS.
  5690. *
  5691. * Common values include:
  5692. * "Windows", "Windows Server 2008 R2 / 7", "Windows Server 2008 / Vista",
  5693. * "Windows XP", "OS X", "Linux", "Ubuntu", "Debian", "Fedora", "Red Hat",
  5694. * "SuSE", "Android", "iOS" and "Windows Phone"
  5695. *
  5696. * @memberOf platform.os
  5697. * @type string|null
  5698. */
  5699. 'family': null,
  5700. /**
  5701. * The version of the OS.
  5702. *
  5703. * @memberOf platform.os
  5704. * @type string|null
  5705. */
  5706. 'version': null,
  5707. /**
  5708. * Returns the OS string.
  5709. *
  5710. * @memberOf platform.os
  5711. * @returns {string} The OS string.
  5712. */
  5713. 'toString': function () { return 'null'; }
  5714. };
  5715. platform.parse = parse;
  5716. platform.toString = toStringPlatform;
  5717. if (platform.version) {
  5718. description.unshift(version);
  5719. }
  5720. if (platform.name) {
  5721. description.unshift(name);
  5722. }
  5723. if (os && name && !(os == String(os).split(' ')[0] && (os == name.split(' ')[0] || product))) {
  5724. description.push(product ? '(' + os + ')' : 'on ' + os);
  5725. }
  5726. if (description.length) {
  5727. platform.description = description.join(' ');
  5728. }
  5729. return platform;
  5730. }
  5731. /*--------------------------------------------------------------------------*/
  5732. // Export platform.
  5733. var platform = parse();
  5734. // Some AMD build optimizers, like r.js, check for condition patterns like the following:
  5735. if (true) {
  5736. // Expose platform on the global object to prevent errors when platform is
  5737. // loaded by a script tag in the presence of an AMD loader.
  5738. // See http://requirejs.org/docs/errors.html#mismatch for more details.
  5739. root.platform = platform;
  5740. // Define as an anonymous module so platform can be aliased through path mapping.
  5741. !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {
  5742. return platform;
  5743. }).call(exports, __webpack_require__, exports, module),
  5744. __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
  5745. }
  5746. // Check for `exports` after `define` in case a build optimizer adds an `exports` object.
  5747. else { }
  5748. }.call(this));
  5749. /***/
  5750. }),
  5751. /***/ 5666:
  5752. /***/ ((module) => {
  5753. /**
  5754. * Copyright (c) 2014-present, Facebook, Inc.
  5755. *
  5756. * This source code is licensed under the MIT license found in the
  5757. * LICENSE file in the root directory of this source tree.
  5758. */
  5759. var runtime = (function (exports) {
  5760. "use strict";
  5761. var Op = Object.prototype;
  5762. var hasOwn = Op.hasOwnProperty;
  5763. var undefined; // More compressible than void 0.
  5764. var $Symbol = typeof Symbol === "function" ? Symbol : {};
  5765. var iteratorSymbol = $Symbol.iterator || "@@iterator";
  5766. var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
  5767. var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
  5768. function define(obj, key, value) {
  5769. Object.defineProperty(obj, key, {
  5770. value: value,
  5771. enumerable: true,
  5772. configurable: true,
  5773. writable: true
  5774. });
  5775. return obj[key];
  5776. }
  5777. try {
  5778. // IE 8 has a broken Object.defineProperty that only works on DOM objects.
  5779. define({}, "");
  5780. } catch (err) {
  5781. define = function (obj, key, value) {
  5782. return obj[key] = value;
  5783. };
  5784. }
  5785. function wrap(innerFn, outerFn, self, tryLocsList) {
  5786. // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
  5787. var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
  5788. var generator = Object.create(protoGenerator.prototype);
  5789. var context = new Context(tryLocsList || []);
  5790. // The ._invoke method unifies the implementations of the .next,
  5791. // .throw, and .return methods.
  5792. generator._invoke = makeInvokeMethod(innerFn, self, context);
  5793. return generator;
  5794. }
  5795. exports.wrap = wrap;
  5796. // Try/catch helper to minimize deoptimizations. Returns a completion
  5797. // record like context.tryEntries[i].completion. This interface could
  5798. // have been (and was previously) designed to take a closure to be
  5799. // invoked without arguments, but in all the cases we care about we
  5800. // already have an existing method we want to call, so there's no need
  5801. // to create a new function object. We can even get away with assuming
  5802. // the method takes exactly one argument, since that happens to be true
  5803. // in every case, so we don't have to touch the arguments object. The
  5804. // only additional allocation required is the completion record, which
  5805. // has a stable shape and so hopefully should be cheap to allocate.
  5806. function tryCatch(fn, obj, arg) {
  5807. try {
  5808. return { type: "normal", arg: fn.call(obj, arg) };
  5809. } catch (err) {
  5810. return { type: "throw", arg: err };
  5811. }
  5812. }
  5813. var GenStateSuspendedStart = "suspendedStart";
  5814. var GenStateSuspendedYield = "suspendedYield";
  5815. var GenStateExecuting = "executing";
  5816. var GenStateCompleted = "completed";
  5817. // Returning this object from the innerFn has the same effect as
  5818. // breaking out of the dispatch switch statement.
  5819. var ContinueSentinel = {};
  5820. // Dummy constructor functions that we use as the .constructor and
  5821. // .constructor.prototype properties for functions that return Generator
  5822. // objects. For full spec compliance, you may wish to configure your
  5823. // minifier not to mangle the names of these two functions.
  5824. function Generator() { }
  5825. function GeneratorFunction() { }
  5826. function GeneratorFunctionPrototype() { }
  5827. // This is a polyfill for %IteratorPrototype% for environments that
  5828. // don't natively support it.
  5829. var IteratorPrototype = {};
  5830. define(IteratorPrototype, iteratorSymbol, function () {
  5831. return this;
  5832. });
  5833. var getProto = Object.getPrototypeOf;
  5834. var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
  5835. if (NativeIteratorPrototype &&
  5836. NativeIteratorPrototype !== Op &&
  5837. hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
  5838. // This environment has a native %IteratorPrototype%; use it instead
  5839. // of the polyfill.
  5840. IteratorPrototype = NativeIteratorPrototype;
  5841. }
  5842. var Gp = GeneratorFunctionPrototype.prototype =
  5843. Generator.prototype = Object.create(IteratorPrototype);
  5844. GeneratorFunction.prototype = GeneratorFunctionPrototype;
  5845. define(Gp, "constructor", GeneratorFunctionPrototype);
  5846. define(GeneratorFunctionPrototype, "constructor", GeneratorFunction);
  5847. GeneratorFunction.displayName = define(
  5848. GeneratorFunctionPrototype,
  5849. toStringTagSymbol,
  5850. "GeneratorFunction"
  5851. );
  5852. // Helper for defining the .next, .throw, and .return methods of the
  5853. // Iterator interface in terms of a single ._invoke method.
  5854. function defineIteratorMethods(prototype) {
  5855. ["next", "throw", "return"].forEach(function (method) {
  5856. define(prototype, method, function (arg) {
  5857. return this._invoke(method, arg);
  5858. });
  5859. });
  5860. }
  5861. exports.isGeneratorFunction = function (genFun) {
  5862. var ctor = typeof genFun === "function" && genFun.constructor;
  5863. return ctor
  5864. ? ctor === GeneratorFunction ||
  5865. // For the native GeneratorFunction constructor, the best we can
  5866. // do is to check its .name property.
  5867. (ctor.displayName || ctor.name) === "GeneratorFunction"
  5868. : false;
  5869. };
  5870. exports.mark = function (genFun) {
  5871. if (Object.setPrototypeOf) {
  5872. Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
  5873. } else {
  5874. genFun.__proto__ = GeneratorFunctionPrototype;
  5875. define(genFun, toStringTagSymbol, "GeneratorFunction");
  5876. }
  5877. genFun.prototype = Object.create(Gp);
  5878. return genFun;
  5879. };
  5880. // Within the body of any async function, `await x` is transformed to
  5881. // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
  5882. // `hasOwn.call(value, "__await")` to determine if the yielded value is
  5883. // meant to be awaited.
  5884. exports.awrap = function (arg) {
  5885. return { __await: arg };
  5886. };
  5887. function AsyncIterator(generator, PromiseImpl) {
  5888. function invoke(method, arg, resolve, reject) {
  5889. var record = tryCatch(generator[method], generator, arg);
  5890. if (record.type === "throw") {
  5891. reject(record.arg);
  5892. } else {
  5893. var result = record.arg;
  5894. var value = result.value;
  5895. if (value &&
  5896. typeof value === "object" &&
  5897. hasOwn.call(value, "__await")) {
  5898. return PromiseImpl.resolve(value.__await).then(function (value) {
  5899. invoke("next", value, resolve, reject);
  5900. }, function (err) {
  5901. invoke("throw", err, resolve, reject);
  5902. });
  5903. }
  5904. return PromiseImpl.resolve(value).then(function (unwrapped) {
  5905. // When a yielded Promise is resolved, its final value becomes
  5906. // the .value of the Promise<{value,done}> result for the
  5907. // current iteration.
  5908. result.value = unwrapped;
  5909. resolve(result);
  5910. }, function (error) {
  5911. // If a rejected Promise was yielded, throw the rejection back
  5912. // into the async generator function so it can be handled there.
  5913. return invoke("throw", error, resolve, reject);
  5914. });
  5915. }
  5916. }
  5917. var previousPromise;
  5918. function enqueue(method, arg) {
  5919. function callInvokeWithMethodAndArg() {
  5920. return new PromiseImpl(function (resolve, reject) {
  5921. invoke(method, arg, resolve, reject);
  5922. });
  5923. }
  5924. return previousPromise =
  5925. // If enqueue has been called before, then we want to wait until
  5926. // all previous Promises have been resolved before calling invoke,
  5927. // so that results are always delivered in the correct order. If
  5928. // enqueue has not been called before, then it is important to
  5929. // call invoke immediately, without waiting on a callback to fire,
  5930. // so that the async generator function has the opportunity to do
  5931. // any necessary setup in a predictable way. This predictability
  5932. // is why the Promise constructor synchronously invokes its
  5933. // executor callback, and why async functions synchronously
  5934. // execute code before the first await. Since we implement simple
  5935. // async functions in terms of async generators, it is especially
  5936. // important to get this right, even though it requires care.
  5937. previousPromise ? previousPromise.then(
  5938. callInvokeWithMethodAndArg,
  5939. // Avoid propagating failures to Promises returned by later
  5940. // invocations of the iterator.
  5941. callInvokeWithMethodAndArg
  5942. ) : callInvokeWithMethodAndArg();
  5943. }
  5944. // Define the unified helper method that is used to implement .next,
  5945. // .throw, and .return (see defineIteratorMethods).
  5946. this._invoke = enqueue;
  5947. }
  5948. defineIteratorMethods(AsyncIterator.prototype);
  5949. define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
  5950. return this;
  5951. });
  5952. exports.AsyncIterator = AsyncIterator;
  5953. // Note that simple async functions are implemented on top of
  5954. // AsyncIterator objects; they just return a Promise for the value of
  5955. // the final result produced by the iterator.
  5956. exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
  5957. if (PromiseImpl === void 0) PromiseImpl = Promise;
  5958. var iter = new AsyncIterator(
  5959. wrap(innerFn, outerFn, self, tryLocsList),
  5960. PromiseImpl
  5961. );
  5962. return exports.isGeneratorFunction(outerFn)
  5963. ? iter // If outerFn is a generator, return the full iterator.
  5964. : iter.next().then(function (result) {
  5965. return result.done ? result.value : iter.next();
  5966. });
  5967. };
  5968. function makeInvokeMethod(innerFn, self, context) {
  5969. var state = GenStateSuspendedStart;
  5970. return function invoke(method, arg) {
  5971. if (state === GenStateExecuting) {
  5972. throw new Error("Generator is already running");
  5973. }
  5974. if (state === GenStateCompleted) {
  5975. if (method === "throw") {
  5976. throw arg;
  5977. }
  5978. // Be forgiving, per 25.3.3.3.3 of the spec:
  5979. // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
  5980. return doneResult();
  5981. }
  5982. context.method = method;
  5983. context.arg = arg;
  5984. while (true) {
  5985. var delegate = context.delegate;
  5986. if (delegate) {
  5987. var delegateResult = maybeInvokeDelegate(delegate, context);
  5988. if (delegateResult) {
  5989. if (delegateResult === ContinueSentinel) continue;
  5990. return delegateResult;
  5991. }
  5992. }
  5993. if (context.method === "next") {
  5994. // Setting context._sent for legacy support of Babel's
  5995. // function.sent implementation.
  5996. context.sent = context._sent = context.arg;
  5997. } else if (context.method === "throw") {
  5998. if (state === GenStateSuspendedStart) {
  5999. state = GenStateCompleted;
  6000. throw context.arg;
  6001. }
  6002. context.dispatchException(context.arg);
  6003. } else if (context.method === "return") {
  6004. context.abrupt("return", context.arg);
  6005. }
  6006. state = GenStateExecuting;
  6007. var record = tryCatch(innerFn, self, context);
  6008. if (record.type === "normal") {
  6009. // If an exception is thrown from innerFn, we leave state ===
  6010. // GenStateExecuting and loop back for another invocation.
  6011. state = context.done
  6012. ? GenStateCompleted
  6013. : GenStateSuspendedYield;
  6014. if (record.arg === ContinueSentinel) {
  6015. continue;
  6016. }
  6017. return {
  6018. value: record.arg,
  6019. done: context.done
  6020. };
  6021. } else if (record.type === "throw") {
  6022. state = GenStateCompleted;
  6023. // Dispatch the exception by looping back around to the
  6024. // context.dispatchException(context.arg) call above.
  6025. context.method = "throw";
  6026. context.arg = record.arg;
  6027. }
  6028. }
  6029. };
  6030. }
  6031. // Call delegate.iterator[context.method](context.arg) and handle the
  6032. // result, either by returning a { value, done } result from the
  6033. // delegate iterator, or by modifying context.method and context.arg,
  6034. // setting context.delegate to null, and returning the ContinueSentinel.
  6035. function maybeInvokeDelegate(delegate, context) {
  6036. var method = delegate.iterator[context.method];
  6037. if (method === undefined) {
  6038. // A .throw or .return when the delegate iterator has no .throw
  6039. // method always terminates the yield* loop.
  6040. context.delegate = null;
  6041. if (context.method === "throw") {
  6042. // Note: ["return"] must be used for ES3 parsing compatibility.
  6043. if (delegate.iterator["return"]) {
  6044. // If the delegate iterator has a return method, give it a
  6045. // chance to clean up.
  6046. context.method = "return";
  6047. context.arg = undefined;
  6048. maybeInvokeDelegate(delegate, context);
  6049. if (context.method === "throw") {
  6050. // If maybeInvokeDelegate(context) changed context.method from
  6051. // "return" to "throw", let that override the TypeError below.
  6052. return ContinueSentinel;
  6053. }
  6054. }
  6055. context.method = "throw";
  6056. context.arg = new TypeError(
  6057. "The iterator does not provide a 'throw' method");
  6058. }
  6059. return ContinueSentinel;
  6060. }
  6061. var record = tryCatch(method, delegate.iterator, context.arg);
  6062. if (record.type === "throw") {
  6063. context.method = "throw";
  6064. context.arg = record.arg;
  6065. context.delegate = null;
  6066. return ContinueSentinel;
  6067. }
  6068. var info = record.arg;
  6069. if (!info) {
  6070. context.method = "throw";
  6071. context.arg = new TypeError("iterator result is not an object");
  6072. context.delegate = null;
  6073. return ContinueSentinel;
  6074. }
  6075. if (info.done) {
  6076. // Assign the result of the finished delegate to the temporary
  6077. // variable specified by delegate.resultName (see delegateYield).
  6078. context[delegate.resultName] = info.value;
  6079. // Resume execution at the desired location (see delegateYield).
  6080. context.next = delegate.nextLoc;
  6081. // If context.method was "throw" but the delegate handled the
  6082. // exception, let the outer generator proceed normally. If
  6083. // context.method was "next", forget context.arg since it has been
  6084. // "consumed" by the delegate iterator. If context.method was
  6085. // "return", allow the original .return call to continue in the
  6086. // outer generator.
  6087. if (context.method !== "return") {
  6088. context.method = "next";
  6089. context.arg = undefined;
  6090. }
  6091. } else {
  6092. // Re-yield the result returned by the delegate method.
  6093. return info;
  6094. }
  6095. // The delegate iterator is finished, so forget it and continue with
  6096. // the outer generator.
  6097. context.delegate = null;
  6098. return ContinueSentinel;
  6099. }
  6100. // Define Generator.prototype.{next,throw,return} in terms of the
  6101. // unified ._invoke helper method.
  6102. defineIteratorMethods(Gp);
  6103. define(Gp, toStringTagSymbol, "Generator");
  6104. // A Generator should always return itself as the iterator object when the
  6105. // @@iterator function is called on it. Some browsers' implementations of the
  6106. // iterator prototype chain incorrectly implement this, causing the Generator
  6107. // object to not be returned from this call. This ensures that doesn't happen.
  6108. // See https://github.com/facebook/regenerator/issues/274 for more details.
  6109. define(Gp, iteratorSymbol, function () {
  6110. return this;
  6111. });
  6112. define(Gp, "toString", function () {
  6113. return "[object Generator]";
  6114. });
  6115. function pushTryEntry(locs) {
  6116. var entry = { tryLoc: locs[0] };
  6117. if (1 in locs) {
  6118. entry.catchLoc = locs[1];
  6119. }
  6120. if (2 in locs) {
  6121. entry.finallyLoc = locs[2];
  6122. entry.afterLoc = locs[3];
  6123. }
  6124. this.tryEntries.push(entry);
  6125. }
  6126. function resetTryEntry(entry) {
  6127. var record = entry.completion || {};
  6128. record.type = "normal";
  6129. delete record.arg;
  6130. entry.completion = record;
  6131. }
  6132. function Context(tryLocsList) {
  6133. // The root entry object (effectively a try statement without a catch
  6134. // or a finally block) gives us a place to store values thrown from
  6135. // locations where there is no enclosing try statement.
  6136. this.tryEntries = [{ tryLoc: "root" }];
  6137. tryLocsList.forEach(pushTryEntry, this);
  6138. this.reset(true);
  6139. }
  6140. exports.keys = function (object) {
  6141. var keys = [];
  6142. for (var key in object) {
  6143. keys.push(key);
  6144. }
  6145. keys.reverse();
  6146. // Rather than returning an object with a next method, we keep
  6147. // things simple and return the next function itself.
  6148. return function next() {
  6149. while (keys.length) {
  6150. var key = keys.pop();
  6151. if (key in object) {
  6152. next.value = key;
  6153. next.done = false;
  6154. return next;
  6155. }
  6156. }
  6157. // To avoid creating an additional object, we just hang the .value
  6158. // and .done properties off the next function object itself. This
  6159. // also ensures that the minifier will not anonymize the function.
  6160. next.done = true;
  6161. return next;
  6162. };
  6163. };
  6164. function values(iterable) {
  6165. if (iterable) {
  6166. var iteratorMethod = iterable[iteratorSymbol];
  6167. if (iteratorMethod) {
  6168. return iteratorMethod.call(iterable);
  6169. }
  6170. if (typeof iterable.next === "function") {
  6171. return iterable;
  6172. }
  6173. if (!isNaN(iterable.length)) {
  6174. var i = -1, next = function next() {
  6175. while (++i < iterable.length) {
  6176. if (hasOwn.call(iterable, i)) {
  6177. next.value = iterable[i];
  6178. next.done = false;
  6179. return next;
  6180. }
  6181. }
  6182. next.value = undefined;
  6183. next.done = true;
  6184. return next;
  6185. };
  6186. return next.next = next;
  6187. }
  6188. }
  6189. // Return an iterator with no values.
  6190. return { next: doneResult };
  6191. }
  6192. exports.values = values;
  6193. function doneResult() {
  6194. return { value: undefined, done: true };
  6195. }
  6196. Context.prototype = {
  6197. constructor: Context,
  6198. reset: function (skipTempReset) {
  6199. this.prev = 0;
  6200. this.next = 0;
  6201. // Resetting context._sent for legacy support of Babel's
  6202. // function.sent implementation.
  6203. this.sent = this._sent = undefined;
  6204. this.done = false;
  6205. this.delegate = null;
  6206. this.method = "next";
  6207. this.arg = undefined;
  6208. this.tryEntries.forEach(resetTryEntry);
  6209. if (!skipTempReset) {
  6210. for (var name in this) {
  6211. // Not sure about the optimal order of these conditions:
  6212. if (name.charAt(0) === "t" &&
  6213. hasOwn.call(this, name) &&
  6214. !isNaN(+name.slice(1))) {
  6215. this[name] = undefined;
  6216. }
  6217. }
  6218. }
  6219. },
  6220. stop: function () {
  6221. this.done = true;
  6222. var rootEntry = this.tryEntries[0];
  6223. var rootRecord = rootEntry.completion;
  6224. if (rootRecord.type === "throw") {
  6225. throw rootRecord.arg;
  6226. }
  6227. return this.rval;
  6228. },
  6229. dispatchException: function (exception) {
  6230. if (this.done) {
  6231. throw exception;
  6232. }
  6233. var context = this;
  6234. function handle(loc, caught) {
  6235. record.type = "throw";
  6236. record.arg = exception;
  6237. context.next = loc;
  6238. if (caught) {
  6239. // If the dispatched exception was caught by a catch block,
  6240. // then let that catch block handle the exception normally.
  6241. context.method = "next";
  6242. context.arg = undefined;
  6243. }
  6244. return !!caught;
  6245. }
  6246. for (var i = this.tryEntries.length - 1; i >= 0; --i) {
  6247. var entry = this.tryEntries[i];
  6248. var record = entry.completion;
  6249. if (entry.tryLoc === "root") {
  6250. // Exception thrown outside of any try block that could handle
  6251. // it, so set the completion value of the entire function to
  6252. // throw the exception.
  6253. return handle("end");
  6254. }
  6255. if (entry.tryLoc <= this.prev) {
  6256. var hasCatch = hasOwn.call(entry, "catchLoc");
  6257. var hasFinally = hasOwn.call(entry, "finallyLoc");
  6258. if (hasCatch && hasFinally) {
  6259. if (this.prev < entry.catchLoc) {
  6260. return handle(entry.catchLoc, true);
  6261. } else if (this.prev < entry.finallyLoc) {
  6262. return handle(entry.finallyLoc);
  6263. }
  6264. } else if (hasCatch) {
  6265. if (this.prev < entry.catchLoc) {
  6266. return handle(entry.catchLoc, true);
  6267. }
  6268. } else if (hasFinally) {
  6269. if (this.prev < entry.finallyLoc) {
  6270. return handle(entry.finallyLoc);
  6271. }
  6272. } else {
  6273. throw new Error("try statement without catch or finally");
  6274. }
  6275. }
  6276. }
  6277. },
  6278. abrupt: function (type, arg) {
  6279. for (var i = this.tryEntries.length - 1; i >= 0; --i) {
  6280. var entry = this.tryEntries[i];
  6281. if (entry.tryLoc <= this.prev &&
  6282. hasOwn.call(entry, "finallyLoc") &&
  6283. this.prev < entry.finallyLoc) {
  6284. var finallyEntry = entry;
  6285. break;
  6286. }
  6287. }
  6288. if (finallyEntry &&
  6289. (type === "break" ||
  6290. type === "continue") &&
  6291. finallyEntry.tryLoc <= arg &&
  6292. arg <= finallyEntry.finallyLoc) {
  6293. // Ignore the finally entry if control is not jumping to a
  6294. // location outside the try/catch block.
  6295. finallyEntry = null;
  6296. }
  6297. var record = finallyEntry ? finallyEntry.completion : {};
  6298. record.type = type;
  6299. record.arg = arg;
  6300. if (finallyEntry) {
  6301. this.method = "next";
  6302. this.next = finallyEntry.finallyLoc;
  6303. return ContinueSentinel;
  6304. }
  6305. return this.complete(record);
  6306. },
  6307. complete: function (record, afterLoc) {
  6308. if (record.type === "throw") {
  6309. throw record.arg;
  6310. }
  6311. if (record.type === "break" ||
  6312. record.type === "continue") {
  6313. this.next = record.arg;
  6314. } else if (record.type === "return") {
  6315. this.rval = this.arg = record.arg;
  6316. this.method = "return";
  6317. this.next = "end";
  6318. } else if (record.type === "normal" && afterLoc) {
  6319. this.next = afterLoc;
  6320. }
  6321. return ContinueSentinel;
  6322. },
  6323. finish: function (finallyLoc) {
  6324. for (var i = this.tryEntries.length - 1; i >= 0; --i) {
  6325. var entry = this.tryEntries[i];
  6326. if (entry.finallyLoc === finallyLoc) {
  6327. this.complete(entry.completion, entry.afterLoc);
  6328. resetTryEntry(entry);
  6329. return ContinueSentinel;
  6330. }
  6331. }
  6332. },
  6333. "catch": function (tryLoc) {
  6334. for (var i = this.tryEntries.length - 1; i >= 0; --i) {
  6335. var entry = this.tryEntries[i];
  6336. if (entry.tryLoc === tryLoc) {
  6337. var record = entry.completion;
  6338. if (record.type === "throw") {
  6339. var thrown = record.arg;
  6340. resetTryEntry(entry);
  6341. }
  6342. return thrown;
  6343. }
  6344. }
  6345. // The context.catch method must only be called with a location
  6346. // argument that corresponds to a known catch block.
  6347. throw new Error("illegal catch attempt");
  6348. },
  6349. delegateYield: function (iterable, resultName, nextLoc) {
  6350. this.delegate = {
  6351. iterator: values(iterable),
  6352. resultName: resultName,
  6353. nextLoc: nextLoc
  6354. };
  6355. if (this.method === "next") {
  6356. // Deliberately forget the last sent value so that we don't
  6357. // accidentally pass it on to the delegate.
  6358. this.arg = undefined;
  6359. }
  6360. return ContinueSentinel;
  6361. }
  6362. };
  6363. // Regardless of whether this script is executing as a CommonJS module
  6364. // or not, return the runtime object so that we can declare the variable
  6365. // regeneratorRuntime in the outer scope, which allows this module to be
  6366. // injected easily by `bin/regenerator --include-runtime script.js`.
  6367. return exports;
  6368. }(
  6369. // If this script is executing as a CommonJS module, use module.exports
  6370. // as the regeneratorRuntime namespace. Otherwise create a new empty
  6371. // object. Either way, the resulting object will be used to initialize
  6372. // the regeneratorRuntime variable at the top of this file.
  6373. true ? module.exports : 0
  6374. ));
  6375. try {
  6376. regeneratorRuntime = runtime;
  6377. } catch (accidentalStrictMode) {
  6378. // This module should not be running in strict mode, so the above
  6379. // assignment should always work unless something is misconfigured. Just
  6380. // in case runtime.js accidentally runs in strict mode, in modern engines
  6381. // we can explicitly access globalThis. In older engines we can escape
  6382. // strict mode using a global Function call. This could conceivably fail
  6383. // if a Content Security Policy forbids using Function, but in that case
  6384. // the proper solution is to fix the accidental strict mode problem. If
  6385. // you've misconfigured your bundler to force strict mode and applied a
  6386. // CSP to forbid Function, and you're not willing to fix either of those
  6387. // problems, please detail your unique predicament in a GitHub issue.
  6388. if (typeof globalThis === "object") {
  6389. globalThis.regeneratorRuntime = runtime;
  6390. } else {
  6391. Function("r", "regeneratorRuntime = r")(runtime);
  6392. }
  6393. }
  6394. /***/
  6395. }),
  6396. /***/ 8276:
  6397. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  6398. var api = __webpack_require__(3379);
  6399. var content = __webpack_require__(86);
  6400. content = content.__esModule ? content.default : content;
  6401. if (typeof content === 'string') {
  6402. content = [[module.id, content, '']];
  6403. }
  6404. var options = {};
  6405. options.insert = "head";
  6406. options.singleton = false;
  6407. var update = api(content, options);
  6408. module.exports = content.locals || {};
  6409. /***/
  6410. }),
  6411. /***/ 3074:
  6412. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  6413. var api = __webpack_require__(3379);
  6414. var content = __webpack_require__(4559);
  6415. content = content.__esModule ? content.default : content;
  6416. if (typeof content === 'string') {
  6417. content = [[module.id, content, '']];
  6418. }
  6419. var options = {};
  6420. options.insert = "head";
  6421. options.singleton = false;
  6422. var update = api(content, options);
  6423. module.exports = content.locals || {};
  6424. /***/
  6425. }),
  6426. /***/ 4455:
  6427. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  6428. var api = __webpack_require__(3379);
  6429. var content = __webpack_require__(2888);
  6430. content = content.__esModule ? content.default : content;
  6431. if (typeof content === 'string') {
  6432. content = [[module.id, content, '']];
  6433. }
  6434. var options = {};
  6435. options.insert = "head";
  6436. options.singleton = false;
  6437. var update = api(content, options);
  6438. module.exports = content.locals || {};
  6439. /***/
  6440. }),
  6441. /***/ 3710:
  6442. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  6443. var api = __webpack_require__(3379);
  6444. var content = __webpack_require__(6036);
  6445. content = content.__esModule ? content.default : content;
  6446. if (typeof content === 'string') {
  6447. content = [[module.id, content, '']];
  6448. }
  6449. var options = {};
  6450. options.insert = "head";
  6451. options.singleton = false;
  6452. var update = api(content, options);
  6453. module.exports = content.locals || {};
  6454. /***/
  6455. }),
  6456. /***/ 549:
  6457. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  6458. var api = __webpack_require__(3379);
  6459. var content = __webpack_require__(2501);
  6460. content = content.__esModule ? content.default : content;
  6461. if (typeof content === 'string') {
  6462. content = [[module.id, content, '']];
  6463. }
  6464. var options = {};
  6465. options.insert = "head";
  6466. options.singleton = false;
  6467. var update = api(content, options);
  6468. module.exports = content.locals || {};
  6469. /***/
  6470. }),
  6471. /***/ 6173:
  6472. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  6473. var api = __webpack_require__(3379);
  6474. var content = __webpack_require__(9142);
  6475. content = content.__esModule ? content.default : content;
  6476. if (typeof content === 'string') {
  6477. content = [[module.id, content, '']];
  6478. }
  6479. var options = {};
  6480. options.insert = "head";
  6481. options.singleton = false;
  6482. var update = api(content, options);
  6483. module.exports = content.locals || {};
  6484. /***/
  6485. }),
  6486. /***/ 3379:
  6487. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  6488. "use strict";
  6489. var isOldIE = function isOldIE() {
  6490. var memo;
  6491. return function memorize() {
  6492. if (typeof memo === 'undefined') {
  6493. // Test for IE <= 9 as proposed by Browserhacks
  6494. // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805
  6495. // Tests for existence of standard globals is to allow style-loader
  6496. // to operate correctly into non-standard environments
  6497. // @see https://github.com/webpack-contrib/style-loader/issues/177
  6498. memo = Boolean(window && document && document.all && !window.atob);
  6499. }
  6500. return memo;
  6501. };
  6502. }();
  6503. var getTarget = function getTarget() {
  6504. var memo = {};
  6505. return function memorize(target) {
  6506. if (typeof memo[target] === 'undefined') {
  6507. var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself
  6508. if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {
  6509. try {
  6510. // This will throw an exception if access to iframe is blocked
  6511. // due to cross-origin restrictions
  6512. styleTarget = styleTarget.contentDocument.head;
  6513. } catch (e) {
  6514. // istanbul ignore next
  6515. styleTarget = null;
  6516. }
  6517. }
  6518. memo[target] = styleTarget;
  6519. }
  6520. return memo[target];
  6521. };
  6522. }();
  6523. var stylesInDom = [];
  6524. function getIndexByIdentifier(identifier) {
  6525. var result = -1;
  6526. for (var i = 0; i < stylesInDom.length; i++) {
  6527. if (stylesInDom[i].identifier === identifier) {
  6528. result = i;
  6529. break;
  6530. }
  6531. }
  6532. return result;
  6533. }
  6534. function modulesToDom(list, options) {
  6535. var idCountMap = {};
  6536. var identifiers = [];
  6537. for (var i = 0; i < list.length; i++) {
  6538. var item = list[i];
  6539. var id = options.base ? item[0] + options.base : item[0];
  6540. var count = idCountMap[id] || 0;
  6541. var identifier = "".concat(id, " ").concat(count);
  6542. idCountMap[id] = count + 1;
  6543. var index = getIndexByIdentifier(identifier);
  6544. var obj = {
  6545. css: item[1],
  6546. media: item[2],
  6547. sourceMap: item[3]
  6548. };
  6549. if (index !== -1) {
  6550. stylesInDom[index].references++;
  6551. stylesInDom[index].updater(obj);
  6552. } else {
  6553. stylesInDom.push({
  6554. identifier: identifier,
  6555. updater: addStyle(obj, options),
  6556. references: 1
  6557. });
  6558. }
  6559. identifiers.push(identifier);
  6560. }
  6561. return identifiers;
  6562. }
  6563. function insertStyleElement(options) {
  6564. var style = document.createElement('style');
  6565. var attributes = options.attributes || {};
  6566. if (typeof attributes.nonce === 'undefined') {
  6567. var nonce = true ? __webpack_require__.nc : 0;
  6568. if (nonce) {
  6569. attributes.nonce = nonce;
  6570. }
  6571. }
  6572. Object.keys(attributes).forEach(function (key) {
  6573. style.setAttribute(key, attributes[key]);
  6574. });
  6575. if (typeof options.insert === 'function') {
  6576. options.insert(style);
  6577. } else {
  6578. var target = getTarget(options.insert || 'head');
  6579. if (!target) {
  6580. throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");
  6581. }
  6582. target.appendChild(style);
  6583. }
  6584. return style;
  6585. }
  6586. function removeStyleElement(style) {
  6587. // istanbul ignore if
  6588. if (style.parentNode === null) {
  6589. return false;
  6590. }
  6591. style.parentNode.removeChild(style);
  6592. }
  6593. /* istanbul ignore next */
  6594. var replaceText = function replaceText() {
  6595. var textStore = [];
  6596. return function replace(index, replacement) {
  6597. textStore[index] = replacement;
  6598. return textStore.filter(Boolean).join('\n');
  6599. };
  6600. }();
  6601. function applyToSingletonTag(style, index, remove, obj) {
  6602. var css = remove ? '' : obj.media ? "@media ".concat(obj.media, " {").concat(obj.css, "}") : obj.css; // For old IE
  6603. /* istanbul ignore if */
  6604. if (style.styleSheet) {
  6605. style.styleSheet.cssText = replaceText(index, css);
  6606. } else {
  6607. var cssNode = document.createTextNode(css);
  6608. var childNodes = style.childNodes;
  6609. if (childNodes[index]) {
  6610. style.removeChild(childNodes[index]);
  6611. }
  6612. if (childNodes.length) {
  6613. style.insertBefore(cssNode, childNodes[index]);
  6614. } else {
  6615. style.appendChild(cssNode);
  6616. }
  6617. }
  6618. }
  6619. function applyToTag(style, options, obj) {
  6620. var css = obj.css;
  6621. var media = obj.media;
  6622. var sourceMap = obj.sourceMap;
  6623. if (media) {
  6624. style.setAttribute('media', media);
  6625. } else {
  6626. style.removeAttribute('media');
  6627. }
  6628. if (sourceMap && typeof btoa !== 'undefined') {
  6629. css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */");
  6630. } // For old IE
  6631. /* istanbul ignore if */
  6632. if (style.styleSheet) {
  6633. style.styleSheet.cssText = css;
  6634. } else {
  6635. while (style.firstChild) {
  6636. style.removeChild(style.firstChild);
  6637. }
  6638. style.appendChild(document.createTextNode(css));
  6639. }
  6640. }
  6641. var singleton = null;
  6642. var singletonCounter = 0;
  6643. function addStyle(obj, options) {
  6644. var style;
  6645. var update;
  6646. var remove;
  6647. if (options.singleton) {
  6648. var styleIndex = singletonCounter++;
  6649. style = singleton || (singleton = insertStyleElement(options));
  6650. update = applyToSingletonTag.bind(null, style, styleIndex, false);
  6651. remove = applyToSingletonTag.bind(null, style, styleIndex, true);
  6652. } else {
  6653. style = insertStyleElement(options);
  6654. update = applyToTag.bind(null, style, options);
  6655. remove = function remove() {
  6656. removeStyleElement(style);
  6657. };
  6658. }
  6659. update(obj);
  6660. return function updateStyle(newObj) {
  6661. if (newObj) {
  6662. if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {
  6663. return;
  6664. }
  6665. update(obj = newObj);
  6666. } else {
  6667. remove();
  6668. }
  6669. };
  6670. }
  6671. module.exports = function (list, options) {
  6672. options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>
  6673. // tags it will allow on a page
  6674. if (!options.singleton && typeof options.singleton !== 'boolean') {
  6675. options.singleton = isOldIE();
  6676. }
  6677. list = list || [];
  6678. var lastIdentifiers = modulesToDom(list, options);
  6679. return function update(newList) {
  6680. newList = newList || [];
  6681. if (Object.prototype.toString.call(newList) !== '[object Array]') {
  6682. return;
  6683. }
  6684. for (var i = 0; i < lastIdentifiers.length; i++) {
  6685. var identifier = lastIdentifiers[i];
  6686. var index = getIndexByIdentifier(identifier);
  6687. stylesInDom[index].references--;
  6688. }
  6689. var newLastIdentifiers = modulesToDom(newList, options);
  6690. for (var _i = 0; _i < lastIdentifiers.length; _i++) {
  6691. var _identifier = lastIdentifiers[_i];
  6692. var _index = getIndexByIdentifier(_identifier);
  6693. if (stylesInDom[_index].references === 0) {
  6694. stylesInDom[_index].updater();
  6695. stylesInDom.splice(_index, 1);
  6696. }
  6697. }
  6698. lastIdentifiers = newLastIdentifiers;
  6699. };
  6700. };
  6701. /***/
  6702. }),
  6703. /***/ 758:
  6704. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  6705. "use strict";
  6706. __webpack_require__.r(__webpack_exports__);
  6707. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6708. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  6709. /* harmony export */
  6710. });
  6711. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:font/ttf;base64,AAEAAAALAIAAAwAwR1NVQiCLJXoAAAE4AAAAVE9TLzI8HUlIAAABjAAAAGBjbWFwzoSfQAAAAlAAAALKZ2x5ZvVx4m0AAAVQAAARwGhlYWQgXqAtAAAA4AAAADZoaGVhB94DmgAAALwAAAAkaG10eGQAAAAAAAHsAAAAZGxvY2E5Zj2WAAAFHAAAADRtYXhwASkAfgAAARgAAAAgbmFtZRCjPLAAABcQAAACZ3Bvc3Q9WA24AAAZeAAAAZkAAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAABkAAQAAAAEAAPN3W/FfDzz1AAsEAAAAAADen64YAAAAAN6frhgAAP+KBAADdgAAAAgAAgAAAAAAAAABAAAAGQByAAYAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKADAAPgACREZMVAAObGF0bgAaAAQAAAAAAAAAAQAAAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAQEAAGQAAUAAAKJAswAAACPAokCzAAAAesAMgEIAAACAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBmRWQAwOYI5ngDgP+AAAAD3ACAAAAAAQAAAAAAAAAAAAAAAAACBAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAUAAAADAAAALAAAAAQAAAGaAAEAAAAAAJQAAwABAAAALAADAAoAAAGaAAQAaAAAAAoACAACAALmCeYM5mvmeP//AADmCOYM5mPmbf//AAAAAAAAAAAAAQAKAAwADAAcAAAAFgAXABgAFAAVABIAEwAQABEACQAKAAsADAANAA4ADwAIAAcABQAGAAMABAABAAIAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAATAAAAAAAAAAGAAA5ggAAOYIAAAAFgAA5gkAAOYJAAAAFwAA5gwAAOYMAAAAGAAA5mMAAOZjAAAAFAAA5mQAAOZkAAAAFQAA5mUAAOZlAAAAEgAA5mYAAOZmAAAAEwAA5mcAAOZnAAAAEAAA5mgAAOZoAAAAEQAA5mkAAOZpAAAACQAA5moAAOZqAAAACgAA5msAAOZrAAAACwAA5m0AAOZtAAAADAAA5m4AAOZuAAAADQAA5m8AAOZvAAAADgAA5nAAAOZwAAAADwAA5nEAAOZxAAAACAAA5nIAAOZyAAAABwAA5nMAAOZzAAAABQAA5nQAAOZ0AAAABgAA5nUAAOZ1AAAAAwAA5nYAAOZ2AAAABAAA5ncAAOZ3AAAAAQAA5ngAAOZ4AAAAAgAAAAAAAAB2ARABNgFcAgQCcALuAywDjgPaBHIE9AWEBh4GhAbIBvIHVAeEB6YHyggACIAI4AAEAAD/igN8A3YAEAAhAC4ATgAAATIeARURDgIiLgEnETQ+ARMyPgE1ES4CIg4BBxEUHgETIiY9ATQ2MhYdARQGJyInJicmNTQ2FhUWFxYXFjI3Njc2NzQ2MhYVFAcGBwYCAzBSMAEwUWBRMAEwUjAjOiIBIjpEOiIBIjsfCw8PFg8PC2dZVjI0GhkBLSxKTLJMSiwtAQ8VDzQyVlkDdTBSMP6SMFEvL1EwAW4wUjD9YSI6IwFuIjkhITki/pIjOiL+tQ8LjQsPDwuNCw+ONDJWWGgODw8OWUtKKywsK0pLWQoPDwpnWVYyNAAAAAYAAP+KA8YDdgAQACEAOwBIAFYAZAAAATIeARURDgIiLgEnETQ+ARMyPgE1ES4CIg4BBxEUHgEXIicmJyY1NDYyFhUUFxYXFjM2NzYeAQYHBgciJj0BNDYyFh0BFAYBIiY3Nic0NjIWFRYHBhMiJwEmNDYyFwEeAQ4BAgMwUjABMFFgUTABMFIwIzoiASI6RDoiASI7H2dZVjI0DxUPLSxKTVlCPQoTBwgKRksLDw8WDw8BKA8PCC0BDxUPATUHagsH/KoHDxUHA1YGAwYNA3UwUjD+kjBRLy9RMAFuMFIw/WEiOiMBbiI5ISE5Iv6SIzoivTQyVlhoCg8PClpMSystARgECRQTBByODwuNCw8PC40LDwE/Gg1MWAoPDwpnWQv+8QgDVgcVDwf8qgUQDgkAAAAAAQAAAAACzQL8ABEAAAEUBwEGIiY0NwkBJjQ2MhcBFgLNCv6vChwUCgE4/rcKFB0KAWEKAXgOCv6wChQcCgE4AUoJHRQK/p8KAAAAAAEAAAAAAs0C/AARAAABNDcBNjIWFAcJARYOASInASYBJwoBYgocFAr+twE4CgETHAr+rwoBeA8KAWEKFB0K/rf+yAocFAoBUAoAAAAFAAAAAAPCAugAGwA3AFAAZABxAAAlIi4CPgE3Nh4BBgcOAh4CNzYeAg4BBwYhIicuAj4CFxY+Ai4BJy4BPgEXHgIOAgMiJjUuAiIOAQcUBiImNT4CMh4BFxQGByIvAQcGIiY0PwE2Mh8BHgEOASMHIiY1ETQ2MhYVERQGATM8Z0MOKlk6DRYGDg0uRBoYQ1wuCBENBAQMCCABeCIgCAwEBA0QCS5cQxgaRC8MDgYWDTpYKw5DaAwOEgE7Y3RjOwETGhMBTICXgE0BE3INCn16CRoTCZAJGwmUBwQIEAqTDhISGxMTFDhgd25ODQQOGhcDC0JcXEMYDQIEDBEQDQIJCQINEBEMBAINGENcXEILAxcaDgQNTm53YDgBnxMNOmI5OWI6DRMTDUt/S0t/Sw0Tpgl9egkTGgmRCQmTBxMSC88SDgEYDhISDv7oDhIAAAAGAAD/tQN2A0sAEQAWACMAMAA9AEoAAAEhMhYVERQGIyEiJjURND8BNgUhBxEhASImPQE0NjIWHQEUBjciJj0BNDYyFh0BFAYzIiY9ATQ2MhYdARQGIyImPQE0NjIWHQEUBgErAioOEhIO/VYOEgaACgIa/gZwAmr+Cw0TExoTE3MNExMaExPzDRMTGhMTjQ0TExoTEwNLEw38qg0TEw0CqwsIqw1Alv2AAasTDYANExMNgA0TQBMNgA0TEw2ADRMTDYANExMNgA0TEw2ADRMTDYANEwAAAAAEAAD/4QO+AzQAGgA0AEIATwAAATIWFREUBiMuAScmJyMiJjURNDY3MzY3Njc2ExEGBwYHBgcGKwEiBhURFBY7ATIXFhcWFxYlIicBJjQ2MhcBHgEOASEiLgE2NwE2HgEHAQYB7woPDwo+bycpIHIdKSkdchgfLzNCKDg5KiUVCgcPgAgLCwiADwcKFSUqOQIECwf+3wcPFQcBIQYDBg3+1wgNBgMGASEKHQgL/t8HAzMPCvzhCg8EOTAsMikdATIdKQElIzYgKfzkAucJMCIyGxENCwj+zggLDREcMyIxtgcBIQgVDwf+3wYPDwgIDw8GASEKBx0L/t8HAAACAAD//wOpAwEAEwAoAAApASImNRE0NjIWFREUFjMhMhYUBgEiJjURNCYjISImNDYzITIWFREUBgH2/q4kMw8VDxUPAVIKDw8BjwoPFQ/+rgsPDwsBUiQzDzMkAVILDw8L/q4PFQ8VDwE9DwsBUg8VDxUPMyT+rgsPAAAABQAAAAAD5gLNAA8AEwAlACkAPAAAEyEyFhURFAYjISImNRE0NgUhESETMhYVERQOASYvASY9ATQ/ATYDEQcVBSIuATY/AScuAT4BHwEWFA8BBjICzQsPDwv9MwoPDwK9/WcCmecKDwcNDwXNCwvNBhGZ/k0IDQUEBnR0CAENFQiMCQmMBwLNDwv9mgsPDwsCZgsPM/3MAhoPC/40CAwHAgScBw2WDQecBf5NAWZ1fFAJDxAFYWEHFBADB3QIGAh0BgAAAAUAAAAABAAC6AALABIAGQAdAC0AAAEzESM1IxUjETMVMxcjETMWFxYDIxUzFicmJREhESUhNhYXEQ4BJyEGJicRPgEBnTc3nDQ0nO5zdpwCBKNBP2wBAv0/A5r8YgOiEhwBARwS/F4TGwEBHAIY/sGOjgE/g7sBQAKfowEU5AJ0cMv9iwJ1MwIYEv12ExcBARgSAooSGAAABAAA/+EDxQM0ABoANABNAGMAAAEyFhURFAYjLgEnJicjIiY1ETQ2NzM2NzY3NhMRBgcGBwYHBisBIgYVERQWOwEyFxYXFhcWJSIuATY3Njc+ASYnJicuAT4BFx4BFAYHBhciLgE2Nz4CJicuAT4BFx4BDgEHBgHvCg8PCj5vJykgch0pKR1yGB8vM0IoODkqJRUKBw+ACAsLCIAPBwoVJSo5AQMIDQYEBhMQHhQVHg8TCAEOFQgvMzMvBygJDgQGCF5tAmpeCAULFAlpdwJ6agYDMw8K/OEKDwQ5MCwyKR0BMh0pASUjNiAp/OQC5wkwIjIbEQ0LCP7OCAsNERwzIjGJCQ8PBhEVKmVkKhURBxUQAQcqcn1zKQe2CxEQBDi+3MA5BhQSBQVB1/bWPgQAAAYAAP/5A9cDIwAPABMAJwA3AEYAVQAAASEiJj8BPgEzITIWHwEWBiUhJyMHITIeARURFA4BIyEiLgE1ETQ+AQEyNjURNCYjISIGFREUFjMlIi4BND4BMh4BFRQOAgMiDgEUHgEyPgE1NC4CArz+eA4PBkIDDAgBBQcMBEEGD/6UATQn5usCvSM6IyM6I/1DIzsiIjsC4CAtLSD9QyAtLSABXjdbNjZbbVw1HjhKJylEKChEUUQoFyk3Am0YDYMGCAgGgw0YM09PIjsj/lojOyIiOyMBpiM7Iv2NLSABpiAtLSD+WiAtXDZbbVw1NVw2KEk5HgFcKERRRCgoRCkdNyoWAAAABQAAAAAEAALoADcAPwBGAEoAWgAAJS4BNzMWFxY3Fjc+ATUuAScmJyYnLgE0Njc2MhceARcjJicmByYHDgEeARcWFxYXHgEUBgcOAScFIxEzFhcWIyczFicmJyMlESERJSE2FhcRDgEnIQYmJxE+AQEDFRYBMQIXGh4cGQkLAQ8NHR4kIxETExAnWScREwEyBBQXHBcVCQoBCwoZGyomExYRECpfKgGIc3acAgScSD9sAQJnQf3nA5r8YgOiEhwBARwS/F4TGwEBHO8PLhkeFBADAg0EEQkOFQQMCQoPCSImIwoWFg4nFRkQDgIBCQQSFBEECwgMEgojKSIMFwEXFgFAAp+fLAJ0cALJ/YsCdTMCGBL9dhMXAQEYEgKKEhgABgAA/44D8gNyAAwAGQAsAD4AUABjAAABIg4BFB4BMj4BNC4BJzIeARQOASIuATQ+AQEiLgE2PwEnJjQ+AR8BFhQPAQYFNDYyHwE3NjIWFA8BBiIvASYnIi8BJjQ/ATYeAQ8BFx4BDgETND8BNjIfARYUBiIvAQcOAS4BAgMeMh4eMjszHR0zHStKKytKV0orK0oBTggNBgMGoKAHDxUHswcHswf+Bw8VB6GgCBUPCLIIFQezB1wLB7MHB7MKHQgLoKAGAwYNTgiyCBUHswcPFQehoAYPDgkB6x4yOzMdHTM7Mh4zK0pXSisrSldKK/6ZCA8PBaGgCBUOAQiyCBUHswdcCw8IoKAIDxYHswcHswdhCLIIFQezCwgdCqGgBg8OCQH0CwezBwezBxYPCKCgBgMGDQADAAD/ygPrAzYAIwAzAEMAAAUjLgE3ESY2NyEeAQcVFAYiJj0BNiYnIQ4BFxEGFhczMhYUBhMhMhYVERQGIyEiJjURNDYBMjY1ETQmIyEiBhURFBYzAUfoHyoBASofA0IfKgEPFQ8BDAr8vgoMAQEMCugKDw/3ATUgLS0g/ssgLS0BVQsPDwv+ywsPDws2AS4fAtEeLgEBLh6bCw8PC5sJDwEBDwn9LwoPAQ8WDwHQLSD+yiAtLSABNiAt/mQPCgE2Cg8PCv7KCg8AAAACAAD/5gOPAxoAEgAlAAABNiYnAS4BDgEVERQeATY3AT4BNxYGBwEOAS4BNRE0PgEWFwEeAQNbARQR/j8SKiUVFSUqEgHBERQyASAd/j8eRj0jIz1GHgHBHSABgBQjCgEZCwEUJBX9zhUkFQILARkKIxQhOhL+5xICIjwjAjIjPCICEv7nEjoAAgAA//8C5wMBAAwAGQAAISImNRE0NjIWFREUBiEiJjURNDYyFhURFAYBMwoPDxUPDwGPCw8PFQ8PDwsCzAsPDwv9NAsPDwsCzAsPDwv9NAsPAAAABQAA/7QDbgNDABEAHgArADgARQAABSEiJjURND8BNjMhMhYVERQGASIGHQEUFjI2PQE0JiUiBh0BFBYyNj0BNCYjIgYdARQWMjY9ATQmIyIGHQEUFjI2PQE0JgNN/VwNEwZ/ChACJQ4SEv3iDRMTGhMTAW8NExMbEhKMDhISGxMTjA0TExoTE0sSDgKkCwipDRMN/LMOEgKkEg5+DhISDn4OEkATDX8NExMNfw0TEw1/DRMTDX8NExMNfw0TEw1/DRMAAAEAAAAAA+YC3gAbAAABFg4BByEuAic+ATc+ATc+AhcyFhcWFx4CA+UBSn1L/jk/bUMDAlNCDhQDDk5wP0V7Jg8bRG5AATdKf0oBAT5qQEd0GQUYDj5gNQFBORcECU12AAEAAP/rAwEDFQARAAATLgE0NjcBPgEeARURFA4BJifkEhQUEgF2Fzo2Hx82OhcBMA8qLioPASsSBxoyHf2qHjEaBxIAAQAA/+sDQwMVABEAAAEeARQGBwEOAS4BNRE0PgEWFwMcEhQUEv6KFzo2Hx82OhcB0A8qLioP/tUSBxoyHQJWHjEaBxIAAAAAAQAA/+0DkwMTABsAACEJAQYiJjQ3CQEmNDYyFwkBNjIWFAcJARYUBiYDJf7b/tsTNSYTASX+2xMmNRIBJgElEzUlEv7aASYSJTUBJv7aEyY1EwElASUTNSUS/toBJhIlNRP+2/7bEzUmAQAABAAAAAADsgL0ACcARwBTAF8AADciLgI1ETQ+AjsBNTQ2MhYdASE1NDYyFh0BMzIeAhURFA4CIwERFBYzITI2NRE0JisBFRQGIiY9ASEVFAYiJj0BIyIGEyImNDYzITIWFAYjJSImNDY7ATIWFAYjsxcrIBISICsXXA0UDQFyDhMNYBcrIRISISsX/TApHQKKHSkpHWANEw7+jg0UDVwdKbkKDQ0KAaAKDg4K/mAKDQ0K5QoNDQoCEiArFwG5FyshEjkJDg4JOTkJDg4JORIhKxf+RxcrIBICLf5HHSkpHQG5HSk/Cg0NCj8/Cg0NCj8p/nEOEw4OEw6mDhMODhMOAAMAAP+kA9wDXAAfAC8AQgAAFyIuATURND4BOwE1ND4BMyEyHgEVERQOASsBFRQOASMBERQWMyEyNjURNCYjISIGATI2NRE0JiMhIgYdASEyHgEVEYgbLhoaLhtWGy4bAjYbLhoaLhtWGy4b/asSDQI2DRISDf3KDRIDDw0SEg39yg0SAZsbLhtbGi4bAjYbLhtWGy4aGi4b/cobLhtWGy4aApn9yg0SEg0CNg0SEv5YEg0CNg0SEg1WGy4b/mUAAAAAEgDeAAEAAAAAAAAAEwAAAAEAAAAAAAEACAATAAEAAAAAAAIABwAbAAEAAAAAAAMACAAiAAEAAAAAAAQACAAqAAEAAAAAAAUACwAyAAEAAAAAAAYACAA9AAEAAAAAAAoAKwBFAAEAAAAAAAsAEwBwAAMAAQQJAAAAJgCDAAMAAQQJAAEAEACpAAMAAQQJAAIADgC5AAMAAQQJAAMAEADHAAMAAQQJAAQAEADXAAMAAQQJAAUAFgDnAAMAAQQJAAYAEAD9AAMAAQQJAAoAVgENAAMAAQQJAAsAJgFjQ3JlYXRlZCBieSBpY29uZm9udGljb25mb250UmVndWxhcmljb25mb250aWNvbmZvbnRWZXJzaW9uIDEuMGljb25mb250R2VuZXJhdGVkIGJ5IHN2ZzJ0dGYgZnJvbSBGb250ZWxsbyBwcm9qZWN0Lmh0dHA6Ly9mb250ZWxsby5jb20AQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdABpAGMAbwBuAGYAbwBuAHQAUgBlAGcAdQBsAGEAcgBpAGMAbwBuAGYAbwBuAHQAaQBjAG8AbgBmAG8AbgB0AFYAZQByAHMAaQBvAG4AIAAxAC4AMABpAGMAbwBuAGYAbwBuAHQARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkBAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgAKaWNvbl95dXlpbhBpY29uX3l1eWluZ3VhbmJpC2ljb25fc2hvdXFpDGljb25femhhbmthaQ9JY29uX1l1bkx1WGlhbmcRSWNvbl9CZW5EaUx1WGlhbmcMSWNvbl9KaW5nWWluDUljb25fUXVhblBpbmcLSWNvbl9MdVBpbmcHSWNvbl9IRApJY29uX1ZvaWNlD0ljb25fU2NyZWVuU2hvdAdJY29uX1NEC0ljb25fWXVuVGFpE0ljb25fV2FuZ1llUXVhblBpbmcJSWNvbl9QbGF5CUljb25fU3RvcAtJY29uX1NEY2FyZApJY29uX0Nsb3VkCUljb25fTGVmdApJY29uX1JpZ2h0E0NvbnNvbGVfaWNvbl9kZWxldGUVQ29uc29sZV9pY29uX2NhbGVuZGFyDmNvZGVfaWNvbl9jb3B5AAAAAAA=");
  6712. /***/
  6713. }),
  6714. /***/ 3581:
  6715. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  6716. "use strict";
  6717. __webpack_require__.r(__webpack_exports__);
  6718. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6719. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  6720. /* harmony export */
  6721. });
  6722. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:font/woff2;base64,d09GMgABAAAAAA3EAAsAAAAAGxQAAA11AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFQGYACFSgqjQJwkATYCJANkCzQABCAFhGcHgxkbfxYzo7aSszJB9l8ebwyNmp2iCIKlVh4dllZXLGfSo5jWw/W78yOP1yrN+CztGhe05KWeT6WI+LCy3+uhlATYWDmLx6i+CL5VrSdjCIStqmJV4V7IppaEBJIsLE2Pm/4L+RKSSyoOTV0SKO0MqxpenYSa0gkTpyrMXZgKGs15eeACgZB1Ym6DeVWqQzI8ws+2Sx2A9Jt803Rw0EouesAc4P+xqeG6tkeoLlk5xlJ9So6EDC4l0CWk+AII+L+11B4kKaickEUWipypcEuFv/Pn8v5eaUJ8xxPeIilgF1lgoebCewUAldfn+2qJhaywKEyF9wXblsO+QapcBEUGY7OdVQveZ4FuGD8Rqz7qQQS0nXRWPDdOzgbEDVZXATiyw+GBW9twQ2oLAWJG5JRQ0AzXvBfMFB6RxAdxggAP6ZsPv8mRYEhUEh1u6oKIGQkO/Js+8H+M0meCxa2HniMKEo7WbGl4nl7yDL/AUcravBLhSusKm2LWb5nyBX1+JMTy8aLboraJtu7xaW0xt7A0NTM2MTTS0tbR1dM30NTw/8OrkiyIhEqH1l0IJ5FY8i1NJjPnW2YyC77lzXTkIFOgAzIDAsgYKEAmQBdkCPRARkAJmwz0QdrAAKQDjEC6QAXSAyJIHxiDDIBP2NqAGqQBTEAK0IBUoAVJwBdIBr5BAvCDVUSwCi9wGpcJKC9R/ePAX9FoVoUjFISyyMq9NfdY9Hg4Ls5UjrJoLY8+iuM8H8eujHIZHe5q6OOorFKRiyJoLdKh7+pUlGmSfIbNEUVFnhdnmhZFFOWZYXzrIL5rCGtaCPsTdRwgfrdt4robJMPz0uh0vyD97JsiEz3rRNw7mUS4IBgWNQHATCe6GxMKRnEhcLQQTfDMlBVYtdnCorj2tJndcF8BeXetwmhkmZ1dSrMCElvpySMuR2VJZMVHrl798g+mydgrvCyXkTJjZUE+N8rp8jyzwBMWLeVpVEZKyAogp/Qa1/NuFlvZYNvOUp+0Cs0oY8v++8kObuPFLWt5o6d03RM8Fi9ePnjVsS17MikT/rouse1NuOSmJ+rNWUXDJSpZoasSIaEOsmZGIwyqKkjSV5QCEfoUpL4FBAMcW8kiPfGpcjDfCgo+sEMCMxuaDYpP1BSShcEh90LXEUi6SngW3TtR9cH+JO+DMnCv41LJKgYhYUDEJkJ0eXR379DZyiYb/RPIi/oI51aHUGG0n6r8PjL3vNGRTUVcivzU7FzgcSqDmciwALOPC1lGkIAsFQL7VRTDehKQgxlPxBjjK/Sx0dsUT5RU8CdaStB5zCruCW+8TGWPkAgFCKCEANJCfVx/5JMhQI7uPpXD8mO4uHS1HCnZEfpftkaJl7ePjZC4Svnaas89ENsj19XpYPsc0whjrxxJpmuGVqWyd74Z5CRYTQOzgl6RbL8O1SCd7AUi7ploIE31lRntn35Duyl0xaCD63SiicOMQa8C2J6ZD1do29hxqOcJRl3XWE5R1VoU3V24MxRWXOCxFUU7mk78AxjVK9vp6cLK1TC2o2gbLhaJRpcXbm90WuKKZS32maz+cKCu7VWHpscrMlKDa0fpeL1RN3ZENsOrSDfCeX09xLAzBxq0mWhG9KnpcP3F8PURd1RtCoRTpmoEs7nrzTjPgkVda5VY985wYecqwMvFBcHiK0KMLZeZuRxNDFeKn3YCEXfo5qCIPGq9AmetsbiLT/GqHflFTS0VQMaVrc07C4qr7/6o2ZVbYvemX2nh7M4rrfVPIGs6bcgUfVgfHK0Y8ZaUBKKUlmu7leUw8wbtTwOs9A257hbveoJVvvKfpOvUuRzdvtDtlMGQdhaUD4/WlharGRna82kMpG25JQNjdeVm1I8P7g7nP3dHuoy9BfllRjfdnVdQTjvxrty8UtwxlEDayqram6yubkfoHYn7adeItnZWAhFXtLTAt3OFB+cOh13JfWodJB1JS0vv0AjMvgVRlUbaqqpgCdZDKUhbK4FcnFGArtBbeZFCsI0+5QgYICVeYMy1GAA848AsN7o+LCM0NCOswiI0PT2kIDVFLSrCQjMe3Mc8z04nzwrIsSO6wxGq8HRa6JKImbBWzGQf3gnaqlXSsvBwGa0oIua1EUAZlBiYkBCQFLjJNdfQ7u8jUKImOxOqpZXhMlm4kgZlbbencFNEozooKTCRT0kOUonB8W6/ETXdMdzE1vqs6jvM4qU+KAko8noDhqcsKSYwLX+EnLEz2TH0aWSH5p4AZxoIY3qa0Zl2NgoE8QkDJE0aCwqMwKfBwlhYwOuCNMbHCwRGzNM5z50BymYII5Dk4zr/cmXKnMO5qmuHbknFThoHjUTSg3inGj4dJtxT/X20x/fqPcKw05+MOxoHicRB46SRil9tuqbKPTxHkRJQjusk+VoBNo+wxtmDCodH1qUmNRv34HjgIDFpwsTEfp5M8gSQiHtUL8UH9PoxYwwcD46hvcPANXR3MVT1T7TrHGFFOBZx3UPJHVhvTgoQFJXj1sQqej2rMcXEVXOchD8reyeVfF6Fe+CTBOvqbjXCyA6ftNlaXcDlEw1NqCtRXa6IrGz+oEkDSdnVH6ipe/Q0VOzHmur8fHR7pzixo8xiErIKoXa5JlmUdSRJOifBWzHGzU3by5oGlIXkHfdHjueFyNzcjMf0q4abAV8zvTy8MrFxaYJlWkRbZI5QWdsQNGLxrNRGEH7mLAYwJHIWpfIeysgzPnNi1GeQ0mMPpWdmL8P78GUaMNtyEzNQp9+UhpxIFWbXFoRCB5+X6JprZzrO7J9qo8AcB4FQ0DanjSfkTZ3zdletSDcbgubBixbZiJ8ISyFQC1UeOFU/qz7qAb3IajvUxNpmuchtOdQEbe+Hl4NlQE7kDZO5fb5pM9J2xM0nbrp/7ot0L6nq8VTNC8Z3K/tWWH5trqBsL3S7eH9uZL10IW9akUh3Dfry4Wrx0Cywu8xAPM8RT/Hejvz7/3a+aErO81KK55P67FXqXs/OAM9lngGdnmfYQo6Ls/B+jdsZt2WE76V3nKsRqPl8dTlfo+aVa3g8TYQfGT86gfTR+Et9faUZqcnOuLwA/iTTOAqwTKm5SDg5Yv6ljS1TF7DxJ4dP34gKQdx9PH6MUo3Cff6hIoXlGwvip3bCC7qbls/O8M/0h37xPNA3064z6+bNiQvUToCBxI4nbC/WKxfy4uBLzoODDg0+GHxok6gKSFAEbBlFiouTwkwZZfb8BfPna+3eirSbNkpiNm1ivmv2oOWsOr/BzmSv27hJp5drCrDk6lnH9Svf0l4Wknsi5RMGbu8OKHt0tQXE8l88mEtcxOc+kOwIPnvGKWYj+zokHfuQi2zoBbqRiK/T/B6ECLJAhexMrdAI1ITxcUWAv3ESTLEPOHI6pFI7yk4a3cm5MtiUDfhxEPXFGOhgoCflGXgwBro4qw/+APSsNUvSw13bMcYT8C4kLcHdiSWYYsKKOZbeiziaQliRi+M1Ewh3jmpXLF3fROJao8S6hdAZN44tXMZR/5bAsAwBSEiYoE9IBMcflA2VFIdCsZm1YscrguC7KfmVvAcxY0XKZ4ulSHmysB48DnWJColyqQ8o7FM9JOUuD1R9hSD84AUOeXsdJQ++jO/hdZA8+Nl8K++7mDs/mm/NvxNrfowIbIIcFpr7ZqcD5/1Ch5wo9lnbs+yomj3srs3iAoLAZyHOB+1cR9BEDHXGAiF6xuYOKqwZanvmOnJIw4429KzNWXQBetfmLjp/KcOeht5gppp7cy43gjv3Flcu5669ed1I9IzZAxG4FU4ODfuwwr0u+WzurbXc2WCi+XjA3EQP62jg2HwAYJ1l/c4KH2K9AMC8lQ5O2o14aB/Mi5ulXRhKK33GOvsjzMxT8tBR5cgfrsOevBFtPko10VNewxGIPdMOc0QMF7+3Mm9RAUtFwT3EX4NgOxqUxt/qhm3SQptYn5NL3IFz/mPpCTxu0HzItxjyBcH+iul0b/46R7XG3BSfQbt48xdlSeD/E/zl3Gn2a1ll3r9LTImjVu6R/0RE7dTGPy4VY1/rxSe5rX+T+OQ2JmrYjEmadvw5//CYouP0mKrpzJi2I85fvGPiDoGFbIn97u/GBEO7Y6K+F5B4+W8hI//dmGLuO1Tk/x3Ttgl94cqQHf8DDcyAQx9fKjkqkWFDz3UPrg2ZftR4Bp1I6mmn2Y6nJqBAF+GRvNyuMYIKjREd6zcHYYg01ugDN03PmLjXagmeR5NjRAY0wJhwQgf18J1V4pAidm6i794ecFkhRuf0n4WWqIZy7lRHUzuHf8JUro3WxJ14cXUZRQiUgFaSEWpsakBoxBEV86M+wL2SJu+JaKynddyZyMua8nm0IJhpt8nD81ll4BCQUNAwsHDwCIgQI0E6my+Wq/Vmu9vLjs6Z7l/7lap8be5aph4yF2ueeGifMu+u/POYCpgszfTublYt7VUy5VbsZB/UUJrBPMyF1NykKqiwEwfbGMtZztIawVTJdJiliTNKDmJ7OHANoA4emuTywzAnr+bIZM2lCxMchiKDmdptyL6X0QeDcS4x5Ew7xScGIVonsXYJwjw4z166nqkNUCUYwr2RZ3cgBAMNZyhnaymH6SJHR4th/CUEAAA=");
  6723. /***/
  6724. }),
  6725. /***/ 8539:
  6726. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  6727. "use strict";
  6728. __webpack_require__.r(__webpack_exports__);
  6729. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6730. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  6731. /* harmony export */
  6732. });
  6733. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:font/woff;base64,d09GRgABAAAAABC4AAsAAAAAGxQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAARAAAAGA8HUlIY21hcAAAAYgAAADnAAACys6En0BnbHlmAAACcAAAC1kAABHA9XHibWhlYWQAAA3MAAAALwAAADYgXqAtaGhlYQAADfwAAAAcAAAAJAfeA5pobXR4AAAOGAAAAA8AAABkZAAAAGxvY2EAAA4oAAAANAAAADQ5Zj2WbWF4cAAADlwAAAAfAAAAIAEpAH5uYW1lAAAOfAAAAUAAAAJnEKM8sHBvc3QAAA+8AAAA+wAAAZk9WA24eJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGFhYJzAwMrAwNTJdIaBgaEfQjO+ZjBi5ACKMrAyM2AFAWmuKQwHnnE8q2Bu+N/AwMB8hwFIMjCiKGICAHDRDOB4nO2SSVYCQRBEfzeIgO08sfAILrwTiigP54GDuPKAcQ2MJDiG2e/3y8qq6qrOCGAH6Jlr04fml4aKH1ebTb3HeFPvM/d4zJCWViN1Wmi1XoOGzqdaVr6Nxus6P1fOL7hkwhnnnHDKEceMPLvn2X0OOPT3dn2Lgc/pe1/rzQP+o6tXc7MdTarLwf1Eo+DOoi5s1kyDu41ug/uO7oIVQLNgLdB9sCpoHqwPegjUOY+hXKBFsHpoGeqmegpWFD0Ha4teglVGr4H6j7dg5dF7KCfqI9gN6DOUO/UVyqH6DuVOrQLtH0N5UBIAeJydV2tsHNUVvufO7jx3ZnYeu2uvvWvvTnbXuxuvzT79SOzENgm1k0CCcPOwQhIeoVETIIQQUWgs8adNQ2gBUQVSxS0oEkSiFRQQakGlUqs2EEp/tEiASqmARIpa1BZRVfJOeu7Mxtg0tKXa1X3NvefOOec753xDAoRcPMLdwx0kYZIiJbKBECgnIWJoNF2CnFEdAas8AjWjRNMaCIadBCudXQnVejmaAJvPpXPZXLZWrUcj0Rj+yo06/tjTiC3wAk+5/k390L9xx0ZsN/U7Q2lID02wdrhL0fWoriu7t0yXq/F26F0+ue6ZdZPLe0GP6NXy9BbuTjzhPti/sa8PT+/DSXNnesiBfenBVGow7T6I0tzndOV+FMSaY3ho8y2armtbpiaLy5cXJ6e2yLouexcQQnhP11+2dB0mV5FpcuN/1zd2SUWmE9OxgiomAZUTFlsC0tlGPeftigq8lc5BFicxSIIG/8kK3tuhxqj++i1jK2VLEOU1U75toEfXRc8eUBP2KML8U4IeEbhpnuPV/8U6L3kWYTbYum6q2AttAcm2Ap3HPrUZjMbVdZt9KynuX0VuWojoeE8wrEloMgKsoWfpPDFwYgvAp7PVhtTSLUrPyu4P5U5bhgH3BdlOyLBThkOa7P5ItjtxESalhC27J+V/l1VtANrKFiSIasCsBTkZdjFZ7gswIIPVyUTDIZ3JRMnuC+6vvJuuYcKCTBb3c3qedJAGuQb9eDshmXSJjoDvHI0mKY4oOpFPpXP4gMaiIxR9XIIRiOEDyqWzNd/NNmpVG6EIhJiNXu3DM6jmKL5gl+c/Bz1dMzzfGujpyord41phy5Aa5TW1NBFvG58piYYaCITEbjiU7hZDgYAalkoz423xib6QxkfVoc1FbfyWkGbC8A0HbhgGK27Butnvzq4Ha78q33u3FLekb0sd0sNCQAzLD2mm2WFZ9sCOu/ZtUANaPMYpYzMoTqWBkBFWqSRRNWyEAlTFu2fGFC4W1wLqhn137RiAk5Y6tGtwcNeQalnq1OEp/KvWKQnvsOLSdyTpIcEyld+YGrThLZp7XjNbsfEcd5CbQt9EiUP6yUoyiV5K+So7Kc8AaJFgSjBSsBj4jcWTyuKJsyQ+irTALmxOayY/K9O4y99G97gKvmXcsu7wu7/73f1+x01Z6vxTTA16WhFPq6seac7CaUudZUvYrPp0eLmGQYTlt/e4l7kqiZMqGSNXs3j3VUIoZHOO79gGi+lG3TJYVOOvCGkeN0WHoRzz8lpmSTynMFfUEb9JwICAj1j4jNyay3fvT+Tzif1tXX2VsZ6BwUImIgv6rKgo4qwuyJFMYZAGFMF9lwUxpFgQu2+KKvaQkhOigg+4ii7PvyfrgcH+5eV8AsqJPGScend+/n16TupPlzsMVRHd10VFNTor6SueRzkiBqz7Lo+ZQtR1JkpIMFEYaqj7Re5JDohFegjJwyIQRyvoWS9p4VKWubdar7ScDZ+4Ty+rYNLBtLMJdYMHZBy6T7OUAZvwSWUZbGIT92l/00q27g0ry9i2hfj8kJ4lOt6eIXmyghBrKZoQS0bK8pY0yPYBAwsijDOESJAZeNSP1S6I2jrwZXqW3dms4BvRl5q76fFzsi6oevCsopzljePuelENBvgDB0RQI+JRSToq0LO4/1F2it6s6JXmazSOL10VQwINnBDUR1ThRNBdDzffec81kh4O7twp2GFOOCC2iQf4SzoECOYYhZiknSRIL6KnYjg1J+IYlUglhi1ig3MilWgumzFSRiZVj8YMDXIpPpszRgC+12icqFZP/OWOgydo4PHVo18F2hzlHp3fxf3A7AToNOe3Wx3Y0zb3lWPHYPS+n8AqevJxsN+nB257tfktemeFtpnNg1YMoM2kR8y2S5j+RQvT68kN/zemGYrrjRHA+tZKixioAh/zHozQhUWWRL8IzIFDWAd4K5y0I0ndEkGLiH2VSp/QI2kBXty+l+7ZLgYVW/rKXfTuPfwXRf03JQS6ESncdGMhgmAJg1DYf+8deeF5xQgHBl5+52eDvG0Gg6vf/OT3IwE/t/2Te5NzPCzmsF6sIdex3JbOjqJ+DPaIMT6TyjlCyiMDiEeHxXiN8QEo11sx4pmvwsyGy2yjzYqIBkgSGGeolij9qXtI0/kxLiRCUAgFVvO6+zBUcx9eoC85Qw7+m+POcDo9TP/Y3dvb3RxnLWxvbKvXt+2dqSUHJnP5iZ6eiY0TPbF8g+5tU+/jRZG/T22rXH11ethxt3qnHTiFffN+PHuKSXC3dvfOeBJqM/WeLw0mYcaT0TORTzQK0SVYbpBR1H+SbMV6WYIGA3AjihioedhhLkfoYKLDWujgXMgKGuY8DzEeOhDcQR/3To7BPudcFvhcJApX0Fg82dkuKaCrieQyx7CscG5LzrCgHLBjnbGIJIMit3cUslbUCBeuL8A3vDg5cRWLk92rm+cuEykf6aX2JMYpVQOGpEUCIUnWpXTWkaNRLRdpD2sUpIBpGwFFDJmyk0+HYvj2LKpOLseYor++bFAxjBzj/sbtJyGM9OVkBDkFi6sF71bRPOhyRIbvfmhlqGx1IUMFq4wvNBirwRmyiGyONSynJUH348hqsQrMvYxmaFBCcpgsJ5Pl4UoiUUkUJ4vFyS+zBjZ4pWFujlWLZwX8u2z0/TnM9+IzIlubUbwHrHbMzbFysqH1wNvH65oEF1qCh8vJSkswNu5xLBVBJkqDBVm6ODcn6lH/rp3+siIm5Jakj/3LhCjbxy4jHNrsDHeBqyNfqJBxBBnmn4aRrTdSWBgjjFSthHo2l9IgZvDRWIVVnM/WgM9GF6w931UAKHRxY9iz6hKS51+WQ4D9ecxA/4Cah/hXsYXrvCr0KmvrUOqiv02WAErJx9jCY5IOoEvNPlkH5NLwBh4644VbvbvXvRFpZZ0lNPeMzOoVq5Ufcg9wccz0GfQ7vja6RmO5IMlKPdLKKC8A85eXFKKMCHDbwDbcURMzIGY9E14x7DJ0J9zR5JqVjrNyTRJeSXTDrO3I0K6AvSzSfD2yLEIVaJcdOzVkuudMml7h0LKzIk3ZbMiv2fQc1myGQ5JazDtTS0kovn2EFWfF67HGvebVx6qyZOzH/sUfc/u4ceR2SVIkA+RKXFxgdAtlP80jT4uW61iGs5nFE+dzJ9z65oxq8YflMM0guWv+ySducCv2HaZ51OexR/3VKVOjTyjikyqyumc1kz5hal9njBAbZHKHGWv7nKb17YB84g/I9wn7YhBSJZpDr7A/jZW99ES5D2Dy3il3cHTvOEevHdNsTttw2+iVX8vqHRP7VkFj8vAkwMieVWsPtAfbtJEdNVg9GAtI6w8y+RcvcJi12LeJ5eVA9HmrFmRz75u2bcLB2FC9q6s+FIN+vVAq6FA0hXg50XwqeUVcMFsyxn0Z4CXLxYDhOpkQ98iCkDc8Ie7vPCF02hfifydd/DP3EGcxXVPSkk8uaeGjyeazXMZ9233bqmUtwJGVrZn4FZWxahnTfQuyZqYGWfctXMbHS5at1jHwuATa9Rn6MdbFteRacj0hDfyKYq9Mh6Hmk/dUq6+Uk5QZhDrgM0gvdIvQCvVUq0eEWJf4JAZ6ho2RdLDxs7Fit2l2F2Mzqq3Cfs1Sd8SKKdNMFWPN/nyCHmHMYodqae4x3DCTyL8oq6oMc7KG35Q72PgD1lAmAl5kRwclTZMG/ZaJcdeyK2ivu5aJghcT+VF2YtRv8+7tmqXh/5TfeTnsCe4dboZ0kT78PiCxS2Wfae+RgxYImJpICxZrzpLWovyFhvI2f6OjFI+XOqY7Sh20/um4edpUaV01TbV5RjU5/dIIHsOH2+L+ZraTHWieaY3pcbanddLdfEkEE+jeRP4Fd+IJmQAAAHicY2BkYGAA4s/l0R/j+W2+MnCzMIDAvfnrJBD0/y4WBuYyIJeDgQkkCgBLAgr9AHicY2BkYGBu+N/AEMPCAAJAkpEBFUgCAEcfAoJ4nGNhYGBgoTEGABS0AGUAAAAAAAB2ARABNgFcAgQCcALuAywDjgPaBHIE9AWEBh4GhAbIBvIHVAeEB6YHyggACIAI4HicY2BkYGCQZChiYGMAASYg5gJCBob/YD4DABaZAagAeJyFkT1uwkAQhZ/BkASUKEqkNGlWKSgSyfyUSKlQoKegB7PmR7bXWi9I1DlNjpAT5AjpaHOKSHnYQwNFvNrZb96+mR3JAO6wh4fyu+cu2cMls5IruMCjcJX6k7BPfhauoYmecJ36q3ADL3gTbrJjxg6ef8WshXdhD7f4EK7gBp/CVepfwj75W7iGB/wI16n/Cjcw8a6Fm2h54cDqqdNzNdupVWjSyKTueI71YhNP7ak80TZfmVR1g85RGulU22ObfLvoORepyJpEDXmr49iozJq1Dl2wdC7rt9uR6EFoEgxgoTGFY5xDYYYd4wohDFJERXRn+ZjuBTaIWWn/dU/otsipH3KFLgJ0zlwjutLCeTpNji1f61F1dCtuy5qENJRazUlisuIPPNytqYTUAyyLqgx9tLmiE39QzJD8AdiTb1d4nG2PS0/DMBCEPeVRmqQvQoHyc2gOgHIoBAE5VcYxiYVllzQ+hF9Pum6EkNiLZz6tZ7RswPwE7P9ZYoAjHOMEpxjiDCMECBFhjAmmmGGOc8S4wAKXuMI1lrhhgRLWbFrXKjP7laXj5l2FBHaVdV8qIv1dcfPJ1fR+b3JnUvemuCnn5G+lSdSBREQeuqRcmTGZxy5z3YGQXOr2ekj6LgnofbFKSJ+diVpKk1W28StZEvadz1zFpF+7nlz2sSNia81br7LGbsPDX8HrwlestHWFX0jlR+PhkyqrJl5Zs7NabujQQmrZyMUfJriWpuD1RNiiR3bbMvYDxpJ4AgA=");
  6734. /***/
  6735. }),
  6736. /***/ 5201:
  6737. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  6738. "use strict";
  6739. __webpack_require__.r(__webpack_exports__);
  6740. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6741. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  6742. /* harmony export */
  6743. });
  6744. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAYCAYAAAAF6fiUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmOGI1N2ExOC05Y2M2LTgyNDItYTA5Yy1lNGZjYThjYWRmMDEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkJBQkIyMkI4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkJBQkIyMkE4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTg0YTIyZjUtYmYxNi0yZjQ5LThkYTgtNTFiMGZkZTVhM2YwIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MDRkYjI2ZmItODU3MS0xMWU4LTliZDUtOTE1NDNiYTlkODBjIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+a1HxUQAAAeRJREFUeNrsms8rRFEUx83QSLElsZoiSwslFGqahYUdFsqwkWShsRJZiY0k+Q+U5EdZyEKzMtmaoshqdmLBAlN+hPG9r/Pq9Nz75t2MLOac+jRv7tz3ua853Xfn3DehfD5fJvF/EZavQBJQ0lHhHsTjcfXSBJZAN4jQR6vU5o02MA4mWFsvWACxVCrlNHxt1vBziuYPJ56dhve16j/xR5I5pyGbzRbdH41GYz8SgGgBJ2AZTINXan8yJK8ONLD3PWAXDBj6i1/j5wlYJPl6wNmjLqCSyfdInjb0F7/GH/ZkaNvi9nUJWkFfgIsXv8HPZ4C6p71ZDHAHDsERDZIu0F/8foswQhUEn5aL+BTNoi1wQeffgDFNX/Fr/DwBHSBnOcALyeppkSoHj4a+4tf4eQKuf/Fz9pbwC/FLISaVsIQkQBIg4VMJ19LxA9gB55Y+tcrPgBVDJSl+j5/PgAw4I1TBcQySlgOonbF5w2fi1/j5DDhgx11gEszSBlSmCLNN/AVuQVy+D0ZAOxiyGKCKig+/EL/PIuzKE0Bt6KvN8EaLhA6C0wAXL37NDOj0yN0IBRCrpy7DYA7EDH3Er/HzGbABRj1y9djp3iBtBh+0SaXK7H6SXxn6i1/jD8m/IqQQK+n4FmAAQvQZvuWbOT4AAAAASUVORK5CYII=");
  6745. /***/
  6746. }),
  6747. /***/ 4094:
  6748. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  6749. "use strict";
  6750. __webpack_require__.r(__webpack_exports__);
  6751. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6752. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  6753. /* harmony export */
  6754. });
  6755. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAYCAYAAAAF6fiUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmOGI1N2ExOC05Y2M2LTgyNDItYTA5Yy1lNGZjYThjYWRmMDEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkJBQkIyMjc4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkI4NTE3NjE4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTg0YTIyZjUtYmYxNi0yZjQ5LThkYTgtNTFiMGZkZTVhM2YwIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MDRkYjI2ZmItODU3MS0xMWU4LTliZDUtOTE1NDNiYTlkODBjIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+L8RmKwAAAbJJREFUeNrsmj1Lw2AQx5NSHbR+BZFQJxdfRhWn4AfQ6uZ3cNNBW+igTn4CEV11cM8k6ujL5iJBEATFzeqgxfh/0hMOuSf0sS0OuYMfDXkuv4Qel3Bp/SRJPI3/i4J+BVqAXEfxZyMMQ/MxDrbBDBikpU1QF44tg1tyvIFzsAZuzGIURWnS1+EQP6Zr/sLKa5r0sVvqib9/tZEmxXHcdX8QBGIHTJjvDRyBEeATdUvx7kAf5Zh8c6UXYNKSr37BzwuwRRXaAy+OnTQGKuCAPFKoX/AX2fYsWPzDbWwOHNOxl+DJkqd+wc8LMAAaHchPmUcK9Qt+fgtqOsqHBXmWR/2Ch3fAqOMJHumB8vBrv82jfsHDO+De8QRNQZ7lUb/g0UFMJ2EtgIYWQAtgoiqsT4MFR2fVYX/u/bwANWGIOAHPjieotblf/Rm3ID7BnfWg89QvDGLvwLzbnbJMcO1EiTxSqF/w8w4wldzpQG5iyWu995ZC/YKfd8A6Le57rbd2rpWt0AXOW3LUL/h5B1zTU71MD5aE2LBITd4n5Zj8ZWB+Vruy5Ktf8Pv6rwgdxHId3wIMAPqh/fkCvYe/AAAAAElFTkSuQmCC");
  6756. /***/
  6757. }),
  6758. /***/ 8770:
  6759. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  6760. "use strict";
  6761. __webpack_require__.r(__webpack_exports__);
  6762. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6763. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  6764. /* harmony export */
  6765. });
  6766. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALAAAAAYCAYAAABa+HfdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmOGI1N2ExOC05Y2M2LTgyNDItYTA5Yy1lNGZjYThjYWRmMDEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDYyRTAwN0I4RTREMTFFOEJDMDU5RkVFQjAyRDI4QjQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDYyRTAwN0E4RTREMTFFOEJDMDU5RkVFQjAyRDI4QjQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTg0YTIyZjUtYmYxNi0yZjQ5LThkYTgtNTFiMGZkZTVhM2YwIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MDRkYjI2ZmItODU3MS0xMWU4LTliZDUtOTE1NDNiYTlkODBjIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Oi+aOgAAA25JREFUeNrsm22ITFEYx2e2TWTZ9e4TNTTJ2weERHmbSC2R8rJ2SSkKhSikiYjkLSltmw9kESXvLaNIXsrbl91kyeTlA7G7YYW0dvyfPDt7Ot177uxst7nTef71q3vPvXPv/5yec+9zzj0TTqVSIZEoX1UgTSCSABaJJIBFoo6rUN2JxWL68SKwCswDo0Bvn3w0gVpwGVSBH/oJiUQivd16qofbdQLjt6CiOb3953BR4P122dBelEwmA+03Eolk9AQuA/VgHDgIoiDsE1G+B93rFViWRaXFr4V+C13K42ApKAXPDZXqCfqBN4YUpdWhnIzVgd+83wiuMmPAWTAE7MywccWvpX6dApiMVoCJ4ItHxQaBE2CCy/GFYAVYDYaBYi7fBY6CBt6/o2xTA00Gj7ghTnt4EL8W+9UDmJLLA2Cui9lq0F8r+04pqlZ2jityHnwDC8CLDryu6N6LwQ1wDXx1OU/8Wu5XD+DlHP1PDXkQJe57Dcn3Vq3sJjMfzOSyEu5VlJz/AhccrkUebnP+c8zlfuLXcr96AFNPO+TRG2gkOhrMcch/7imGu4KLYA/4wLnRMz42nUeZTbw/G9Q43It67lpDA4tfy/3qATzC0NvSs0LgL6h0SNBrlX1KyHeA42Alzc4ox9Zov21wudcTMNLgRfxa7lcP4L6GH5Omcu+4bzhnHzgCPnEPG8/lgzmfUitVzPcrc7nWZ2Vk6iTxa7lfPYAbPUzTSDTFE8z67HwLaGaz1WyYNJRfRfVKJdo00GEQoIp6dsRw3C+/pTz/KH4D7lcP4Dqek6sxXOQ96AN2g8dK+XAwhUeZqtaDB7z9lhPxkBbc2coPv5vAXfGbH371AL4Cyj0Mt+mlNlqMO5wzgEeaG8Es7rHdHV4Z2coPv9PAOvGbH371AD4JtnGv80reS7THOX366wW68aOetD30/1t2C+9fUkal9LoYC5Z0ooH98FspfvPHrx7AlLNs4emKSZw0673sJ7gFrjtcaz8fe81lZ/g1RPqoJewzeO6vqhMNLH4t9xtW/5GhrEaL86tjkZZk50weq9EC59djNVrg/HqsRguUX3U1mttiHlo0Qd+daTEFfYmhxRQPQ+0TzUGT+LXUr2k5JS2aiHLus5lfA6kc8C7DuohfC/2G5U+donyW/KVIJAEsEuVK/wQYAIvzzykylFBjAAAAAElFTkSuQmCC");
  6767. /***/
  6768. }),
  6769. /***/ 1911:
  6770. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  6771. "use strict";
  6772. __webpack_require__.r(__webpack_exports__);
  6773. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6774. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  6775. /* harmony export */
  6776. });
  6777. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAYCAYAAAAF6fiUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmOGI1N2ExOC05Y2M2LTgyNDItYTA5Yy1lNGZjYThjYWRmMDEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkIxNURBQ0Q4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkIxNURBQ0M4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTg0YTIyZjUtYmYxNi0yZjQ5LThkYTgtNTFiMGZkZTVhM2YwIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MDRkYjI2ZmItODU3MS0xMWU4LTliZDUtOTE1NDNiYTlkODBjIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+LhTAtQAAALJJREFUeNrsmTEKwyAUhmsIXdouGXoAB/cewmvkDjlJ75BruOYUHTxAhizpVErtEzIWrC4O+T54CPL4BT/UQRVCOEA9GrYAAQiAerS/Jq21JxkmqdufOQ8p45xLNn7GSxyK8pt+TTa+7ufi/OPwTDZ674vytdYm5wREMV2GyGuBePK5gngDEMAWIAABgAAEAAIQAAhAACAAAVBfwFtqyciZM9clf0PxJ8wVhABAwG75CjAAXRgmKzqbvYYAAAAASUVORK5CYII=");
  6778. /***/
  6779. }),
  6780. /***/ 2630:
  6781. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  6782. "use strict";
  6783. __webpack_require__.r(__webpack_exports__);
  6784. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6785. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  6786. /* harmony export */
  6787. });
  6788. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAYCAYAAAAF6fiUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmOGI1N2ExOC05Y2M2LTgyNDItYTA5Yy1lNGZjYThjYWRmMDEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkIxNURBRDE4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkIxNURBRDA4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTg0YTIyZjUtYmYxNi0yZjQ5LThkYTgtNTFiMGZkZTVhM2YwIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MDRkYjI2ZmItODU3MS0xMWU4LTliZDUtOTE1NDNiYTlkODBjIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+inAH1AAAAalJREFUeNrsmc8rREEcwHe3bUshkgMnNg4ijvLrgF45OCkXyt2Bkhw4KJwk7UHJ2Y3irPYv4IKI23NRnDggWmV9Xo3L67W73sxr6833W592m20/b2a/O2++My9ZLBYTEtWLlPwEkgBJgET1Iu1vcBzHe2mGHIzAHczCS6XSfD4f2P5zWPf3VsufmnsLbC/kao34M0vvge2u62r7s9ls6QSoOIZLGIUe+DScePGXSEArdMAYeCWS6/u8AT7gO+Q1xV9mDWiCVyUPigW48u5WIQcgfs1FeAuWYR9Ooc3w9LbKH7YKOoNuOIcL2IAag4Owxq9ThhZgG/qgU027doODsMJvYh/wBDNwALsRlMqx9pvciB1Bb4R7llj6TSZgEu4jHEAs/WkDYq8s21QXmIig47H268wA77vzcAtfarEx+Q+ywh92BgzBnjr/GFfnISbDGv9/E9ACOzCsNhsnhjtunT/oFuRts+t9bRlYgWt19tGl0Xnxl0nAIzzDKjSqxeMGBqAf1hN6p4vir2ARnoZBlc01WIQpeDA0VcWvIikP5asb8khSEmB3/AowAIbQ05EhLIjrAAAAAElFTkSuQmCC");
  6789. /***/
  6790. }),
  6791. /***/ 4835:
  6792. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  6793. "use strict";
  6794. __webpack_require__.r(__webpack_exports__);
  6795. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6796. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  6797. /* harmony export */
  6798. });
  6799. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALAAAAAYCAYAAABa+HfdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmOGI1N2ExOC05Y2M2LTgyNDItYTA5Yy1lNGZjYThjYWRmMDEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkNDQUI2QkI4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkNDQUI2QkE4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTg0YTIyZjUtYmYxNi0yZjQ5LThkYTgtNTFiMGZkZTVhM2YwIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MDRkYjI2ZmItODU3MS0xMWU4LTliZDUtOTE1NDNiYTlkODBjIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+sGYMXAAAA3JJREFUeNrsm2tIFUEUx+81K0jLiF5QFN3CoMeXkuiDH6KUCnpCSGZZBAVCFFYEvbAHEUEPiCAigoqosIjeryvYF6lI+6IFFkkRZY+rPexFmLf/wF8dhp17r1fElTkHfjC7Ozvz32XOztmzs8FoNBoQE+upliK3QEwGsJiYDGAxsY5bqr6Rm5trHk8Ha8BCMBkM6iIdjaAaXAMnwQ+zQjgcbiu3nO1va8c3elMKm9rKf4+k+15vn+L2XXV1db7WGwqFEnoCF4BakAUOgUwQ7CIy2Yfq6wVYnsRFi14H9aZa9peAZWA+eGocGwhGgpoEQ5QWj/1ZPP8PtxvADTIFXABjwe4Eb67odVSv1wBWQgvBdPDZ4/gkUESP7A0WedS5BX6BJWAV648HGTy+BxwFEW6Xa2V1g7LBQ/AKnItzU0Svw3rNAayCy4NggUWsl0eFYjzZS8E3sBg878B0pfpeCm6Dm+CrpZ7odVyvOYBXcvRXWhoKa1OGKheDA3E6v0eU6Bxt2slmcP4bXPI4T2koY/xzzNK26HVcrzmAlacdjtF5HtgPeoF8MMMSYL8Gp8EVsA+8BUNAFY/P5FtmI7fngLse7VwE62LcYNHruF5zAE+M4W3KmhjIq0B8Ez1FvTX2YxyzmfUiDMh3guNgtcrOaO0UGe1GLP09YYxlM9HruF5zAA+OcXKAYp8xJhkFPrKNWl7AfTCMqY8APWway6MZT1Vr7WWwvwJLf5+0N1MvE72O6zXzwA0U7WV9wQ4mllvjo+/ghFYnDZwyzhsHNrL8gRfRSrxA/p/lpUD0il7PAVzDnJyXjQBXQT23m5leKdXqvKc3TtX2rQfvtFioTONRJ7/YiF7H9ZohxHWwwhJAq5hlL98WlQ0AG5gf1O0y831VnD5y6HGzWTfNY8pI1kSv43rNAXwGbKPXVSbwOF/LKWZCoP0Li0qRfGF5O6eYZm4rj93K8nB6Zn4nbrDodVxvisdb5RamK4ZazlEe8hj8BA/AGDAX7NLipjssn9dipHojYJ8F5mnHkzHR67jeoP5HhrYarYTxTJ6Wq+tWi7MazXd646xG853eOKvRfKVXX41mW8yjFk2o785qMUU5PbBCSzT7zUSvo3pjLadUiyYyGfuohPRLEO0G3iR4LaLXQb1B+alTrCeb/FIkJgNYTKy77L8AAwDmLvkRvKgQfQAAAABJRU5ErkJggg==");
  6800. /***/
  6801. }),
  6802. /***/ 7048:
  6803. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  6804. "use strict";
  6805. __webpack_require__.r(__webpack_exports__);
  6806. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6807. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  6808. /* harmony export */
  6809. });
  6810. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAYCAYAAAAF6fiUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmOGI1N2ExOC05Y2M2LTgyNDItYTA5Yy1lNGZjYThjYWRmMDEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkI4NTE3NUU4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkI4NTE3NUQ4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTg0YTIyZjUtYmYxNi0yZjQ5LThkYTgtNTFiMGZkZTVhM2YwIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MDRkYjI2ZmItODU3MS0xMWU4LTliZDUtOTE1NDNiYTlkODBjIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/y0DxgAAAfJJREFUeNrsmksoBGEcwHfXxsHFSQnJxgElpThJDpvHRY5etQcnN+XgSpQLKY+LHEROXhdFKK+EFJHkoJAiccGFaP0mn5qm3Zkd821bO9+/frvNzje/ndn/95pv1hsOhz0qEhc+9ROoBLg6/NpLMBi0c0wRDEE+TMCoWeG19gO752TL//USjqv/vvEsbv5AIGC7BTTBFixAM3RBhcQK4Tq/30ZX1QctUAcn4vMNKIAjCV2hK/2xJCAD5iBVZPNZ3wNIqDWu9usTkAM9kGkoUw6LYt+3gxNVfosEaP3WJmwbyozAvoSaovwmCUiHYqj8p6cUruBDbHtFzThWfnO/T5cIJ82zA5YhTcjHodeQaOWP4Pd75IQ23ZqGJbiFEmiQOL1LWr+sBGi1IwSXUAV58C7xApLWL2spwisGo0dYgRkxLfMov7lfVgIGoEw0q1Z4hVmJF5C0fp+uiThJxirUw5twtcGkoQkqfwT/3xig9Uc30A2nhoMf4MLiC3Yi9Hnrum3lj+L3GxaS+qHWUFib/47BIDh5eqP8FnfC12IFzxhZMC9uHEIOZgfKH2UVzyq0JlYDT3AIhbp9KRIGKFf7Yx1YPqEThmFXNMdsqIY7CRfhWr/dG7EpOPf8PunJFe97EqdrrvN71b8iEhvqoXyC40eAAQAl7xicXH5zswAAAABJRU5ErkJggg==");
  6811. /***/
  6812. }),
  6813. /***/ 7742:
  6814. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  6815. "use strict";
  6816. __webpack_require__.r(__webpack_exports__);
  6817. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6818. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  6819. /* harmony export */
  6820. });
  6821. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAYCAYAAAAF6fiUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmOGI1N2ExOC05Y2M2LTgyNDItYTA5Yy1lNGZjYThjYWRmMDEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkI4NTE3NUE4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkI4NTE3NTk4RTI5MTFFOEE5OTlBMDg1REJEOEEyMzEiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTg0YTIyZjUtYmYxNi0yZjQ5LThkYTgtNTFiMGZkZTVhM2YwIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MDRkYjI2ZmItODU3MS0xMWU4LTliZDUtOTE1NDNiYTlkODBjIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+3tjdDAAAAeZJREFUeNrsms8rBFEcwHdZkZR/AGUVUi5qD45iUyKRg0Q5SYq4Ug4OEm6SklJuwsXNQUqRnyWnVX4cKCdFakkYn81Tr23Wzth5u5l53/rsZd585u1+Z/Z9v2/XbxiGT0fmIkt/BDoBno5A7CUcDts5pwCmoQFOoR+eEg3e6jmwOydb/vcHQ6n/rvVcmT8YDNp+AqrgWCSuBaIw6eAN4Tm/nQR0wg5MQR9cwApUOzR5T/oDFsQ5MAtN0Ahn0rEP8Kc4cU/75QQUwQgUx42pgBsIwWMKE3WDfxhKnPTLCdiEbViLG/McW0vBsOhrg3WT8dpv4v9JQCGUQ40DVdUgtEOXNKn/5B9K5/zlRfjdgYXoVZRfQeiOrxj/ib8+nfNX0Yi9wQT0KupdXOVX1QlHoFRhA+kav6oElMG9wjfgGr+KBGTDGCwrmryr/D8J+BQHUo1c2BClmfwGtD+BPyDVsrcwCkcmde6hxQvkiVp5QXSBPu3/3S83Ys0wDnXxm3awCwPwkuQCsV2/uQTHtN/ELyfgOkHplQ+LsA8dcPXHx0/7TcLKIhwVTcMS7Pm+t1ntnK/9FveCksU8nMAq1MKMaKkjDlUHnvTbvQNii01IfO9dQqVYmJwKz/n9+l8RmQ39o3yG40uAAQBKqgHuCavIwwAAAABJRU5ErkJggg==");
  6822. /***/
  6823. }),
  6824. /***/ 6412:
  6825. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  6826. "use strict";
  6827. __webpack_require__.r(__webpack_exports__);
  6828. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6829. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  6830. /* harmony export */
  6831. });
  6832. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgEAYAAAAj6qa3AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAuhJREFUaN7tmG9IE3EYx7+/zS23GySJlWaJIit7EWKCpokZQSmEBLkhRr0xe1EItheBJipKWulZwxeVkEZUaIYSFhIqqJm+MYPeNCn8mwSmeKabd3N7ehGmGLGWswO7z7u74+75fj939+YBFBQUFP5j2HofQNTYCKjVUtdnwXDVaGQJLsHN6/Ubnvy0qomZJEnTIvQt1NtsTFXCAEn6ZwLEU/wVLtxiQRa66EJxMU7CxEoNhg0vvpYhZOKYJLFH9AUdVqvm2lz0wnxBwZ8K8VqANFKdpU/KzqZgOsje1tbiG3Zju9vNdqCZHtps9IK1snK7fcOLHyArPdNqISGKHYmKQjB68d7Pj6WxV7hYXq7tyGtbuJGf7/O54js+ngsfHBRFnuc4Iim0KonrNZs3vPBvcJpvperS4+LEr/xTLtzlEut4k75OEIiKCFCpfC+gr1rL5TgcywJ+DPL3l0vAMlIWv5M7Pj6+nMs+ZD2hiwwN9XSf94YCKR2f1OqfxxRyF3C55BaAaXTDuJKDjUkhtGdVTp8J2GQoAuQOIDeKALkDyI0iQO4AcqMIkDuA3CgC5A4gN4oAr+/oBaMzDsfKCbFlW6pOJ3cRMuIsla5sovyPaif9ZjzvJfy8HcSWUIB9AwMEdAApKc7Opc7Fw2VlduP1D7rqigqdzd2sjVst6G8bcV2CYLczVW4bIIq/XKZq2koBAVIhop22nBwUkontCgpiGWhExtgYe57bP18/NeWxj7e5nJeqXuoi4+PduaxOFdbdjTAcQr9Gs+7CaynFTRqYntaWsknN3shIxvKYwGZnnTN8vCE6Odk9h9vk396+vAmCiCpwRGw/RaA5M1M7YelZSGxo8DTG6y9AU2NJc3zs73c+5l/rWhMSKJYlq+4UFSECgeiIiaEILFKND36JWLrMSoaHAf094cnKbo/u03l36+wse6Ayo2Z0FOfIhqaREbcJjXhTWbllwtJjT2xr8/kLUVBQUNiMfAemsikT5MrWYQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOS0xMi0wNFQxNjoxOToyNCswODowMGJfrR8AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTktMTItMDRUMTY6MTk6MjQrMDg6MDATAhWjAAAASXRFWHRzdmc6YmFzZS11cmkAZmlsZTovLy9ob21lL2FkbWluL2ljb24tZm9udC90bXAvaWNvbl8ya3luMWd0bmc5Ny9zdG9wXzEuc3ZnCAKWOAAAAABJRU5ErkJggg==");
  6833. /***/
  6834. }),
  6835. /***/ 1027:
  6836. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  6837. "use strict";
  6838. __webpack_require__.r(__webpack_exports__);
  6839. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6840. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  6841. /* harmony export */
  6842. });
  6843. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABHNCSVQICAgIfAhkiAAAAaFJREFUOE/tlL9Lw0AUx7+XpsWiTcRJQVxdHBzEQRDsKrq1/SccxLRdXOxoa0OLi7g5OcTSxQ6Ciy5CF9FdEHH3R6IUapPznVCNJU0CWicPDo7j+z7v3bv3HsOAFgvLtcpICW0ih1oYm0CwqWOFA8e0jwSQDNK0V5UsGn4OAsHPOriaFbyv5XXX68QXLJ5vM2RGs8i4DZ90GBEOwy8tvmCKbEu8niIu9ETsee/W/IM/s/E3qRBV4DAs0metC9dhP4+qpM4cFNU8mt2Qv0X8WERSiiKlalgTgrDlRk1kxBg2hzTceII/oiyjpeYQ7wqCGqRVxVS7g1OymfYtNwLvcYYraop9IQxqaUrDtsTxoORQ8gVzAxHzHteU5xm30GsIvVYwYXMcKhqSoVqa70Ix22jGOJbjedx6DZuXEmadCA4SFuZYAZ1QYCEiw3FbQp2m2kWU49zhMBmHzGWMOcACnSfp+el+Ey5wulk60jYwT4AMwd4o/zWZ4WxEw8mPxqarOip0vqPcV/2AfcutnxGV3WDA1g6WJBnm8AYufzXiMDC35h2dv7MXqRyzSgAAAABJRU5ErkJggg==");
  6844. /***/
  6845. }),
  6846. /***/ 5037:
  6847. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  6848. "use strict";
  6849. __webpack_require__.r(__webpack_exports__);
  6850. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6851. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  6852. /* harmony export */
  6853. });
  6854. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABHNCSVQICAgIfAhkiAAAAc9JREFUOE+1lL8vQ1EUx7/3NTWgP2bxJxiEwUAkBotgojuTSdAmHfssFq0OYmCtqSSGikTiDzAYDQaJwY+oSLSvxK/Wc470yu31+t4j1eSlr7ff87nnfs85V+CfPsIvt5LGFGtDCez6ifkGlzPIRuJY1IOsDMZtoEDPDv9HAdP0TITj2HfboCFjgtsE/9OavskPK1Q4H78mEIvGEVMDSxnkAzbybrY4eizh9J3i09MpTBXcbF3VNC0ew0nIwNaCefc6fLmlGdfBbIXpUFBHi3xZoYDZrpQK/7XH1ipmYGCAenROBbMVarfoYOqSi2AVgx1J3MisG4pXSmOUmz+SwDwL9HaTcL3dymmchvvRK0ZQdQTbNkR5DZfUt91SoA9NvaCQ1lhpDNkCK/R72NVjClwnwRkJN1joNNK8LsF8SrLvIbqEE8/iEfw8XEGPMPEixfol5DT+nmB7E0HrEdcknKTMjvV7oJlNnmAW2CbarBAK9HovPnAUMCDeazCEgS4aydtoAltyiPQ+53XP+/iZivOKr8LMCoEiBewZAeQ6F1B0y9wTrATn6P2Qstt2skb3vGXgui1jtPGBLytkdk9Z9Ik33LUncdWsmL6K5yfYTfMJapfFF7PhjXIAAAAASUVORK5CYII=");
  6855. /***/
  6856. })
  6857. /******/
  6858. });
  6859. /************************************************************************/
  6860. /******/ // The module cache
  6861. /******/ var __webpack_module_cache__ = {};
  6862. /******/
  6863. /******/ // The require function
  6864. /******/ function __webpack_require__(moduleId) {
  6865. /******/ // Check if module is in cache
  6866. /******/ var cachedModule = __webpack_module_cache__[moduleId];
  6867. /******/ if (cachedModule !== undefined) {
  6868. /******/ return cachedModule.exports;
  6869. /******/
  6870. }
  6871. /******/ // Create a new module (and put it into the cache)
  6872. /******/ var module = __webpack_module_cache__[moduleId] = {
  6873. /******/ id: moduleId,
  6874. /******/ loaded: false,
  6875. /******/ exports: {}
  6876. /******/
  6877. };
  6878. /******/
  6879. /******/ // Execute the module function
  6880. /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
  6881. /******/
  6882. /******/ // Flag the module as loaded
  6883. /******/ module.loaded = true;
  6884. /******/
  6885. /******/ // Return the exports of the module
  6886. /******/ return module.exports;
  6887. /******/
  6888. }
  6889. /******/
  6890. /************************************************************************/
  6891. /******/ /* webpack/runtime/compat get default export */
  6892. /******/ (() => {
  6893. /******/ // getDefaultExport function for compatibility with non-harmony modules
  6894. /******/ __webpack_require__.n = (module) => {
  6895. /******/ var getter = module && module.__esModule ?
  6896. /******/ () => (module['default']) :
  6897. /******/ () => (module);
  6898. /******/ __webpack_require__.d(getter, { a: getter });
  6899. /******/ return getter;
  6900. /******/
  6901. };
  6902. /******/
  6903. })();
  6904. /******/
  6905. /******/ /* webpack/runtime/define property getters */
  6906. /******/ (() => {
  6907. /******/ // define getter functions for harmony exports
  6908. /******/ __webpack_require__.d = (exports, definition) => {
  6909. /******/ for (var key in definition) {
  6910. /******/ if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
  6911. /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
  6912. /******/
  6913. }
  6914. /******/
  6915. }
  6916. /******/
  6917. };
  6918. /******/
  6919. })();
  6920. /******/
  6921. /******/ /* webpack/runtime/global */
  6922. /******/ (() => {
  6923. /******/ __webpack_require__.g = (function () {
  6924. /******/ if (typeof globalThis === 'object') return globalThis;
  6925. /******/ try {
  6926. /******/ return this || new Function('return this')();
  6927. /******/
  6928. } catch (e) {
  6929. /******/ if (typeof window === 'object') return window;
  6930. /******/
  6931. }
  6932. /******/
  6933. })();
  6934. /******/
  6935. })();
  6936. /******/
  6937. /******/ /* webpack/runtime/hasOwnProperty shorthand */
  6938. /******/ (() => {
  6939. /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
  6940. /******/
  6941. })();
  6942. /******/
  6943. /******/ /* webpack/runtime/make namespace object */
  6944. /******/ (() => {
  6945. /******/ // define __esModule on exports
  6946. /******/ __webpack_require__.r = (exports) => {
  6947. /******/ if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {
  6948. /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  6949. /******/
  6950. }
  6951. /******/ Object.defineProperty(exports, '__esModule', { value: true });
  6952. /******/
  6953. };
  6954. /******/
  6955. })();
  6956. /******/
  6957. /******/ /* webpack/runtime/node module decorator */
  6958. /******/ (() => {
  6959. /******/ __webpack_require__.nmd = (module) => {
  6960. /******/ module.paths = [];
  6961. /******/ if (!module.children) module.children = [];
  6962. /******/ return module;
  6963. /******/
  6964. };
  6965. /******/
  6966. })();
  6967. /******/
  6968. /************************************************************************/
  6969. var __webpack_exports__ = {};
  6970. // This entry need to be wrapped in an IIFE because it need to be in strict mode.
  6971. (() => {
  6972. "use strict";
  6973. ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js
  6974. function _typeof(obj) {
  6975. "@babel/helpers - typeof";
  6976. return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
  6977. return typeof obj;
  6978. } : function (obj) {
  6979. return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
  6980. }, _typeof(obj);
  6981. }
  6982. ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
  6983. function _arrayWithHoles(arr) {
  6984. if (Array.isArray(arr)) return arr;
  6985. }
  6986. ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
  6987. function _iterableToArrayLimit(arr, i) {
  6988. var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
  6989. if (_i == null) return;
  6990. var _arr = [];
  6991. var _n = true;
  6992. var _d = false;
  6993. var _s, _e;
  6994. try {
  6995. for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
  6996. _arr.push(_s.value);
  6997. if (i && _arr.length === i) break;
  6998. }
  6999. } catch (err) {
  7000. _d = true;
  7001. _e = err;
  7002. } finally {
  7003. try {
  7004. if (!_n && _i["return"] != null) _i["return"]();
  7005. } finally {
  7006. if (_d) throw _e;
  7007. }
  7008. }
  7009. return _arr;
  7010. }
  7011. ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
  7012. function _arrayLikeToArray(arr, len) {
  7013. if (len == null || len > arr.length) len = arr.length;
  7014. for (var i = 0, arr2 = new Array(len); i < len; i++) {
  7015. arr2[i] = arr[i];
  7016. }
  7017. return arr2;
  7018. }
  7019. ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
  7020. function _unsupportedIterableToArray(o, minLen) {
  7021. if (!o) return;
  7022. if (typeof o === "string") return _arrayLikeToArray(o, minLen);
  7023. var n = Object.prototype.toString.call(o).slice(8, -1);
  7024. if (n === "Object" && o.constructor) n = o.constructor.name;
  7025. if (n === "Map" || n === "Set") return Array.from(o);
  7026. if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
  7027. }
  7028. ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
  7029. function _nonIterableRest() {
  7030. throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
  7031. }
  7032. ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js
  7033. function _slicedToArray(arr, i) {
  7034. return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
  7035. }
  7036. ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js
  7037. function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
  7038. try {
  7039. var info = gen[key](arg);
  7040. var value = info.value;
  7041. } catch (error) {
  7042. reject(error);
  7043. return;
  7044. }
  7045. if (info.done) {
  7046. resolve(value);
  7047. } else {
  7048. Promise.resolve(value).then(_next, _throw);
  7049. }
  7050. }
  7051. function _asyncToGenerator(fn) {
  7052. return function () {
  7053. var self = this,
  7054. args = arguments;
  7055. return new Promise(function (resolve, reject) {
  7056. var gen = fn.apply(self, args);
  7057. function _next(value) {
  7058. asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
  7059. }
  7060. function _throw(err) {
  7061. asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
  7062. }
  7063. _next(undefined);
  7064. });
  7065. };
  7066. }
  7067. ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
  7068. function _classCallCheck(instance, Constructor) {
  7069. if (!(instance instanceof Constructor)) {
  7070. throw new TypeError("Cannot call a class as a function");
  7071. }
  7072. }
  7073. ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
  7074. function _defineProperties(target, props) {
  7075. for (var i = 0; i < props.length; i++) {
  7076. var descriptor = props[i];
  7077. descriptor.enumerable = descriptor.enumerable || false;
  7078. descriptor.configurable = true;
  7079. if ("value" in descriptor) descriptor.writable = true;
  7080. Object.defineProperty(target, descriptor.key, descriptor);
  7081. }
  7082. }
  7083. function _createClass(Constructor, protoProps, staticProps) {
  7084. if (protoProps) _defineProperties(Constructor.prototype, protoProps);
  7085. if (staticProps) _defineProperties(Constructor, staticProps);
  7086. Object.defineProperty(Constructor, "prototype", {
  7087. writable: false
  7088. });
  7089. return Constructor;
  7090. }
  7091. // EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator/index.js
  7092. var regenerator = __webpack_require__(7757);
  7093. var regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator);
  7094. // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.to-string.js
  7095. var es6_object_to_string = __webpack_require__(6253);
  7096. // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.to-string.js
  7097. var es6_regexp_to_string = __webpack_require__(6108);
  7098. // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.array.filter.js
  7099. var es6_array_filter = __webpack_require__(8837);
  7100. // EXTERNAL MODULE: ./node_modules/core-js/modules/es7.array.includes.js
  7101. var es7_array_includes = __webpack_require__(2773);
  7102. // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.replace.js
  7103. var es6_regexp_replace = __webpack_require__(9357);
  7104. // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.split.js
  7105. var es6_regexp_split = __webpack_require__(1876);
  7106. // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.function.name.js
  7107. var es6_function_name = __webpack_require__(6059);
  7108. // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.assign.js
  7109. var es6_object_assign = __webpack_require__(5115);
  7110. // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.promise.js
  7111. var es6_promise = __webpack_require__(851);
  7112. // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.keys.js
  7113. var es6_object_keys = __webpack_require__(7476);
  7114. // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.number.constructor.js
  7115. var es6_number_constructor = __webpack_require__(1246);
  7116. ;// CONCATENATED MODULE: ./src/utils/index.js
  7117. var utils = {};
  7118. /**
  7119. * 是否为IE环境
  7120. * @returns {boolean} true-是 false-不是
  7121. */
  7122. utils.isIE = function () {
  7123. return !!window.ActiveXObject || "ActiveXObject" in window;
  7124. };
  7125. /**
  7126. * 是否为移动端环境
  7127. */
  7128. utils.isMobile = function () {
  7129. if (!navigator) return false;
  7130. var reg = /(iPhone|iPod|Android|ios|SymbianOS)/i;
  7131. return reg.test(navigator.userAgent);
  7132. };
  7133. /**
  7134. * 给dom元素设置属性
  7135. * @param el 设置的dom元素
  7136. * @param key 属性的键
  7137. * @param value 属性的值
  7138. */
  7139. utils.setAttr = function (el, key, value) {
  7140. if (el) {
  7141. el.setAttribute(key, value);
  7142. }
  7143. };
  7144. /**
  7145. * dom选择器
  7146. * @param el 选择器
  7147. * @returns {Element}
  7148. */
  7149. utils.$ = function (el) {
  7150. return document.querySelector(el);
  7151. };
  7152. /**
  7153. * 插入dom
  7154. */
  7155. utils.appendDom = function (targetRoot, domString) {
  7156. var parser = new DOMParser();
  7157. var doc = parser.parseFromString(domString, 'text/html');
  7158. targetRoot.appendChild(doc.querySelector('body').children[0]);
  7159. };
  7160. /**
  7161. * string转换为dom对象
  7162. */
  7163. utils.domParser = function (string) {
  7164. var parser = new DOMParser();
  7165. var doc = parser.parseFromString(string, 'text/html');
  7166. return doc.querySelector('body').children[0];
  7167. };
  7168. /**
  7169. * 加载js库
  7170. * @param url js sdk 路径
  7171. */
  7172. utils.asyncLoadScripts = function (url) {
  7173. // 加载过的依赖不重新加载
  7174. return new Promise(function (resolve, reject) {
  7175. if (utils.$("script[src=\"".concat(url, "\"]"))) {
  7176. resolve();
  7177. } else {
  7178. var script = document.createElement('script');
  7179. script.setAttribute('src', url);
  7180. script.onload = function () {
  7181. return resolve();
  7182. };
  7183. script.onerror = function () {
  7184. return reject();
  7185. };
  7186. document.getElementsByTagName("head")[0].appendChild(script);
  7187. }
  7188. });
  7189. };
  7190. /**
  7191. * 判断当前是否为全屏状态
  7192. */
  7193. utils.isFullScreen = function () {
  7194. var isFull = document.fullscreenEnabled || window.fullScreen || document.webkitIsFullScreen || document.msFullScreenEnabled;
  7195. return Boolean(isFull);
  7196. };
  7197. /**
  7198. * 判断是否是录像
  7199. * @param url
  7200. * @returns {boolean}
  7201. */
  7202. utils.isRecord = function (url) {
  7203. return /.m3u8/.test(url);
  7204. };
  7205. /**
  7206. * 为dom设置style样式
  7207. * @param targetDom 目标dom节点
  7208. * @param styles 样式信息 {width: '120px', color: '#333'}
  7209. */
  7210. utils.setStyle = function (targetDom, styles) {
  7211. if (_typeof(styles) !== 'object') return;
  7212. Object.keys(styles).forEach(function (key) {
  7213. targetDom.style[key] = styles[key];
  7214. });
  7215. };
  7216. /**
  7217. * 添加class
  7218. * @param dom 目标dom对象
  7219. * @param classname 类名
  7220. */
  7221. utils.addClass = function (dom, classname) {
  7222. var existClass = dom.getAttribute('class');
  7223. console.log(dom);
  7224. console.log(dom);
  7225. utils.setAttr(dom, 'class', "".concat(existClass || '', " ").concat(classname));
  7226. };
  7227. /**
  7228. * 数字格式化,小于10前面加0
  7229. * @param value
  7230. * @returns {*}
  7231. */
  7232. utils.setValue = function (value) {
  7233. if (typeof Number(value) !== 'number') return value;
  7234. return value < 10 ? "0".concat(value) : value;
  7235. };
  7236. /**
  7237. * 获取默认录像时间区间
  7238. */
  7239. utils.getRecordTimeRange = function () {
  7240. var currentTime = new Date();
  7241. var YY = currentTime.getFullYear();
  7242. var MM = utils.setValue(currentTime.getMonth() + 1);
  7243. var DD = utils.setValue(currentTime.getDate());
  7244. var hh = utils.setValue(currentTime.getHours());
  7245. var mm = utils.setValue(currentTime.getMinutes());
  7246. var ss = utils.setValue(currentTime.getSeconds());
  7247. var beginTime = "".concat(YY, "-").concat(MM, "-").concat(DD, " 00:00:00");
  7248. var endTime = "".concat(YY, "-").concat(MM, "-").concat(DD, " 23:59:59");
  7249. return {
  7250. beginTime: beginTime,
  7251. endTime: endTime
  7252. };
  7253. };
  7254. /**
  7255. * 获取固定格式时间戳
  7256. **/
  7257. utils.getFormatTime = function (time) {
  7258. var currentTime = new Date(time);
  7259. var YY = currentTime.getFullYear();
  7260. var MM = utils.setValue(currentTime.getMonth() + 1);
  7261. var DD = utils.setValue(currentTime.getDate());
  7262. var hh = utils.setValue(currentTime.getHours());
  7263. var mm = utils.setValue(currentTime.getMinutes());
  7264. var ss = utils.setValue(currentTime.getSeconds());
  7265. var formatTime = "".concat(YY, "-").concat(MM, "-").concat(DD, " ").concat(hh, ":").concat(mm, ":").concat(ss);
  7266. return formatTime;
  7267. };
  7268. /**
  7269. * 获取固定起始时间戳
  7270. **/
  7271. utils.getBeginInitFormatTime = function (time) {
  7272. var currentTime = new Date(time);
  7273. var YY = currentTime.getFullYear();
  7274. var MM = utils.setValue(currentTime.getMonth() + 1);
  7275. var DD = utils.setValue(currentTime.getDate());
  7276. var hh = utils.setValue(currentTime.getHours());
  7277. var mm = utils.setValue(currentTime.getMinutes());
  7278. var ss = utils.setValue(currentTime.getSeconds());
  7279. var formatTime = "".concat(YY, "-").concat(MM, "-").concat(DD, " 00:00:00");
  7280. return formatTime;
  7281. };
  7282. /**
  7283. * 获取固定结束时间戳
  7284. **/
  7285. utils.getEndInitFormatTime = function (time) {
  7286. var currentTime = new Date(time);
  7287. var YY = currentTime.getFullYear();
  7288. var MM = utils.setValue(currentTime.getMonth() + 1);
  7289. var DD = utils.setValue(currentTime.getDate());
  7290. var hh = utils.setValue(currentTime.getHours());
  7291. var mm = utils.setValue(currentTime.getMinutes());
  7292. var ss = utils.setValue(currentTime.getSeconds());
  7293. var formatTime = "".concat(YY, "-").concat(MM, "-").concat(DD, " 23:59:59");
  7294. return formatTime;
  7295. };
  7296. /**
  7297. * 清空dom节点
  7298. * @param dom
  7299. */
  7300. utils.emptyDom = function (dom) {
  7301. // 倒序删除
  7302. for (var i = 0, length = dom.children.length; i < length; i++) {
  7303. dom.removeChild(dom.children[length - 1 - i]);
  7304. }
  7305. };
  7306. /**
  7307. * 将obj对象转换为GET参数 => &a=1&b=2
  7308. * @param params
  7309. */
  7310. utils.transformParamsToString = function (params) {
  7311. return Object.keys(params).reduce(function (result, key, index) {
  7312. var connectSymbol = index === 0 ? '?' : '&';
  7313. return "".concat(result).concat(connectSymbol).concat(key, "=").concat(params[key]);
  7314. }, '');
  7315. };
  7316. /**
  7317. * 获取log、error、info的打印函数(IE不会调用打印函数)
  7318. * @returns {*}
  7319. */
  7320. utils.logsFunction = function () {
  7321. return utils.isIE() ? {
  7322. info: function info() { },
  7323. error: function error() { },
  7324. log: function log() { }
  7325. } : console;
  7326. };
  7327. /**
  7328. * 生成32位的字符串ID
  7329. */
  7330. utils.getRandomString = function () {
  7331. var length = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 32;
  7332. var arr = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"],
  7333. num = "";
  7334. for (var i = 0; i < length; i++) {
  7335. num += arr[parseInt(Math.random() * 36)];
  7336. }
  7337. return num;
  7338. };
  7339. /* harmony default export */ const src_utils = (utils);
  7340. // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.array.slice.js
  7341. var es6_array_slice = __webpack_require__(110);
  7342. // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.symbol.js
  7343. var es6_symbol = __webpack_require__(5767);
  7344. // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.array.from.js
  7345. var es6_array_from = __webpack_require__(522);
  7346. // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.string.iterator.js
  7347. var es6_string_iterator = __webpack_require__(9115);
  7348. // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.array.iterator.js
  7349. var es6_array_iterator = __webpack_require__(6997);
  7350. // EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom.iterable.js
  7351. var web_dom_iterable = __webpack_require__(1181);
  7352. // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js
  7353. var es6_object_get_own_property_descriptor = __webpack_require__(4882);
  7354. // EXTERNAL MODULE: ./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js
  7355. var es7_object_get_own_property_descriptors = __webpack_require__(8351);
  7356. ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
  7357. function _objectWithoutPropertiesLoose(source, excluded) {
  7358. if (source == null) return {};
  7359. var target = {};
  7360. var sourceKeys = Object.keys(source);
  7361. var key, i;
  7362. for (i = 0; i < sourceKeys.length; i++) {
  7363. key = sourceKeys[i];
  7364. if (excluded.indexOf(key) >= 0) continue;
  7365. target[key] = source[key];
  7366. }
  7367. return target;
  7368. }
  7369. ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
  7370. function _objectWithoutProperties(source, excluded) {
  7371. if (source == null) return {};
  7372. var target = _objectWithoutPropertiesLoose(source, excluded);
  7373. var key, i;
  7374. if (Object.getOwnPropertySymbols) {
  7375. var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
  7376. for (i = 0; i < sourceSymbolKeys.length; i++) {
  7377. key = sourceSymbolKeys[i];
  7378. if (excluded.indexOf(key) >= 0) continue;
  7379. if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
  7380. target[key] = source[key];
  7381. }
  7382. }
  7383. return target;
  7384. }
  7385. ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
  7386. function _defineProperty(obj, key, value) {
  7387. if (key in obj) {
  7388. Object.defineProperty(obj, key, {
  7389. value: value,
  7390. enumerable: true,
  7391. configurable: true,
  7392. writable: true
  7393. });
  7394. } else {
  7395. obj[key] = value;
  7396. }
  7397. return obj;
  7398. }
  7399. // EXTERNAL MODULE: ./node_modules/core-js/modules/es7.promise.finally.js
  7400. var es7_promise_finally = __webpack_require__(9865);
  7401. // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.array.map.js
  7402. var es6_array_map = __webpack_require__(9371);
  7403. // EXTERNAL MODULE: ./node_modules/axios/index.js
  7404. var axios = __webpack_require__(9669);
  7405. var axios_default = /*#__PURE__*/__webpack_require__.n(axios);
  7406. // EXTERNAL MODULE: ./node_modules/platform/platform.js
  7407. var platform = __webpack_require__(1795);
  7408. var platform_default = /*#__PURE__*/__webpack_require__.n(platform);
  7409. ;// CONCATENATED MODULE: ./src/utils/config.js
  7410. // 平台服务host
  7411. // online
  7412. var host = "https://openapi.lechange.cn"; // func
  7413. // export const host = "https://funcopenapi.lechange.cn";
  7414. // 本地联调
  7415. //export const host = 'http://openapi-debug.imou.com';
  7416. // export const host = 'http://10.35.219.47:8080';
  7417. // sdk解码文件
  7418. var decodeFiles = [// './static/public.js',
  7419. // './static/md5.js',
  7420. // './static/mp4remux.js',
  7421. // './static/videoMediaSource.js',
  7422. // './static/WebsocketServer.js',
  7423. // './static/Sylvester.js',
  7424. // './static/WebGLCanvas.js',
  7425. // './static/audioPlayer.js',
  7426. // './static/workerManager.js',
  7427. // './static/streamDrawer.js',
  7428. // './static/playerControl.js',
  7429. // './static/ivs.js',
  7430. "../static/module/PlayerControl.js"]; // videoJs库
  7431. // var videoJsScript = ["./static/video.min.js", "./static/videojs-flash.js", "./static/videojs-contrib-hls.min.js"]; // adapter库
  7432. // var adapterScript = ["./static/adapter.js"];
  7433. // var datePickerScript = ["./static/datepicker.js", "./static/datepicker.zh-CN.js"];
  7434. // var jqueryScript = ["./static/jquery-min.js"];
  7435. var videoJsScript = ["../static/static/video.min.js", "../static/static/videojs-flash.js", "../static/static/videojs-contrib-hls.min.js"]; // adapter库
  7436. var adapterScript = ["../static/static/adapter.js"];
  7437. var datePickerScript = ["../static/static/datepicker.js", "../static/static/datepicker.zh-CN.js"];
  7438. var jqueryScript = ["../static/static/jquery-min.js"];
  7439. // EXTERNAL MODULE: ./src/assets/style/datepicker.css
  7440. var datepicker = __webpack_require__(3074);
  7441. // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.array.fill.js
  7442. var es6_array_fill = __webpack_require__(8977);
  7443. ;// CONCATENATED MODULE: ./src/timeLine.js
  7444. var TimeLine = /*#__PURE__*/function () {
  7445. function TimeLine(options) {
  7446. _classCallCheck(this, TimeLine);
  7447. this.initTime = null;
  7448. this.newTime = null;
  7449. this.ratio = null;
  7450. this.startX = null;
  7451. this.movedX = null;
  7452. this.startY = null;
  7453. this.movedY = null;
  7454. this.isMouseDown = false;
  7455. this.canvasId = null;
  7456. this.ctx = null;
  7457. this.recordArea = [];
  7458. this.options = null;
  7459. this.readOnly = false;
  7460. }
  7461. _createClass(TimeLine, [{
  7462. key: "getPixelRatio",
  7463. value: function getPixelRatio(context) {
  7464. var backingStore = context.backingStorePixelRatio || context.webkitBackingStorePixelRatio || context.mozBackingStorePixelRatio || context.msBackingStorePixelRatio || context.oBackingStorePixelRatio || context.backingStorePixelRatio || 1;
  7465. return (window.devicePixelRatio || 1) / backingStore;
  7466. }
  7467. }, {
  7468. key: "initTimeline",
  7469. value: // let saveImageData;
  7470. function initTimeline(height, ms, pxMs, pageShowStartTime, intervalTime) {
  7471. // let canvasId = document.getElementById("time_line");
  7472. // let ctx = canvasId.getContext("2d");
  7473. if (this.options.isMobile) {
  7474. this.ctx.clearRect(0, 0, this.options.height, this.options.height);
  7475. } else {
  7476. this.ctx.clearRect(0, 0, this.options.width, this.options.width);
  7477. }
  7478. this.drawRecordArea();
  7479. this.ctx.fillStyle = "#999999"; // 为防止苹果屏幕2X显示不正常
  7480. this.ratio = this.getPixelRatio(this.ctx); // ------------
  7481. var msOffset = this.startOffsetTime(pageShowStartTime, ms * 1000); // 开始的偏移时间 ms
  7482. // let initCnavasImgTop = pageShowStartTime % (intervalTime * 1000);
  7483. var pxOffset = msOffset / 1000 * pxMs; // 开始的偏移距离 px
  7484. var graduationBottom = 0;
  7485. var graduationLeft = 0; // let graduationTime = 0;
  7486. var beginX = 0;
  7487. var beginY = 0;
  7488. var showTime = 0;
  7489. var canvasColor = null;
  7490. if (this.options.isMobile) {
  7491. for (var i = 0; i < height / (ms * pxMs); i++) {
  7492. // console.log(height / (ms * pxMs))
  7493. // console.log(graduationTop);
  7494. // graduationTime = pageShowStartTime + msOffset + i * ms // 时间=左侧开始时间+偏移时间+格数*ms/格
  7495. // graduationTime = pageShowStartTime + graduationTop * 1000 / pxMs // 时间=左侧开始时间+偏移时间+格数*ms/格
  7496. graduationBottom = pxOffset + i * (ms * pxMs); // 距离=开始的偏移距离+格数*px/格
  7497. beginY = pxOffset + i * (ms * pxMs);
  7498. showTime = pageShowStartTime + graduationBottom * 1000 / pxMs; // console.log(showTime);
  7499. if (parseInt(showTime / 1000) % intervalTime === 0 && showTime >= 0 && showTime < 86400000) {
  7500. // 画10S的长线
  7501. this.ctx.font = "13px PingFang SC"; // this.ctx.fillStyle = this.options.fontColor || "#666666";
  7502. this.ctx.fillStyle = "#666666";
  7503. if (showTime <= 86400000) {
  7504. this.ctx.fillText(this.changeTime(showTime, 1), 45, height - beginY + 5);
  7505. }
  7506. canvasColor = "#808080";
  7507. this.ctx.fillStyle = "#B1B1B1";
  7508. this.drawLine(5, height - graduationBottom, 40, height - graduationBottom, canvasColor, 1 * this.ratio);
  7509. } else if (showTime % intervalTime === 0 && showTime >= 0 && showTime < 86400000) {
  7510. // 画1S的短线
  7511. canvasColor = "#808080";
  7512. this.drawLine(5, height - graduationBottom, 20, height - graduationBottom, canvasColor, 1 * this.ratio);
  7513. }
  7514. }
  7515. } else {
  7516. for (var _i = 0; _i < height / (ms * pxMs); _i++) {
  7517. // console.log(height / (ms * pxMs))
  7518. // console.log(graduationTop);
  7519. // graduationTime = pageShowStartTime + msOffset + i * ms // 时间=左侧开始时间+偏移时间+格数*ms/格
  7520. // graduationTime = pageShowStartTime + graduationTop * 1000 / pxMs // 时间=左侧开始时间+偏移时间+格数*ms/格
  7521. graduationLeft = pxOffset + _i * (ms * pxMs); // 距离=开始的偏移距离+格数*px/格
  7522. beginX = pxOffset + _i * (ms * pxMs);
  7523. showTime = pageShowStartTime + graduationLeft * 1000 / pxMs;
  7524. if (showTime % (intervalTime * 1000) === 0 && showTime >= 0 && showTime <= 86400000) {
  7525. // 画10S的长线
  7526. this.ctx.font = "13px PingFang SC"; // this.ctx.fillStyle = this.options.fontColor || "#D8D8D8";
  7527. this.ctx.fillStyle = "#D8D8D8";
  7528. if (showTime < 86400000) {
  7529. this.ctx.fillText(this.changeTime(showTime, 1), beginX + 10, 35);
  7530. }
  7531. canvasColor = "#808080";
  7532. this.ctx.fillStyle = "#B1B1B1";
  7533. this.drawLine(graduationLeft, 0, graduationLeft, 60, canvasColor, 1 * this.ratio);
  7534. } else if (showTime % intervalTime === 0 && showTime >= 0 && showTime < 86400000) {
  7535. // 画1S的短线
  7536. canvasColor = "#808080";
  7537. this.drawLine(graduationLeft, 45, graduationLeft, 60, canvasColor, 1 * this.ratio);
  7538. }
  7539. }
  7540. } // saveImageData = ctx.getImageData(0, 0, 600, 45);
  7541. if (this.options.isMobile) {
  7542. this.drawLine(0, this.options.height / 2, this.options.height, this.options.height / 2, "#f18d00", 2);
  7543. } else {
  7544. this.drawLine(this.options.width / 2, 0, this.options.width / 2, 60, "#f18d00", 2);
  7545. }
  7546. }
  7547. }, {
  7548. key: "startOffsetTime",
  7549. value:
  7550. /**
  7551. * 左侧开始时间的偏移,返回单位ms
  7552. */
  7553. function startOffsetTime(timestamp, step) {
  7554. var remainder = timestamp % step;
  7555. return remainder ? step - remainder : 0;
  7556. }
  7557. }, {
  7558. key: "drawLine",
  7559. value:
  7560. /**
  7561. * 根据传入参数画线。。
  7562. */
  7563. function drawLine(beginX, beginY, endX, endY, color, width) {
  7564. // let canvasId = document.getElementById("time_line");
  7565. // let ctx = canvasId.getContext("2d");
  7566. this.ctx.beginPath();
  7567. this.ctx.moveTo(beginX, beginY);
  7568. this.ctx.lineTo(endX, endY);
  7569. this.ctx.strokeStyle = color;
  7570. this.ctx.lineWidth = width;
  7571. this.ctx.stroke(); //
  7572. }
  7573. }, {
  7574. key: "changeTime",
  7575. value:
  7576. /**
  7577. * 返回时间
  7578. */
  7579. function changeTime(time, num) {
  7580. // num 区分是传时间还是传日期
  7581. var hour = 0;
  7582. var minute = 0;
  7583. var second = 0;
  7584. second = time / 1000;
  7585. if (second >= 3600) {
  7586. minute = (second - second % 60) / 60;
  7587. hour = parseInt((minute / 60).toString());
  7588. minute = minute % 60;
  7589. /* eslint-disable */
  7590. hour >= 10 ? hour : hour = "0" + hour;
  7591. minute >= 10 ? minute : minute = "0" + minute;
  7592. second = second % 60;
  7593. second >= 10 ? second : second = "0" + second;
  7594. /* eslint-enable */
  7595. return hour + ":" + minute + ":" + second;
  7596. }
  7597. if (second < 3600 && second >= 60) {
  7598. hour = "00";
  7599. minute = parseInt((second / 60).toString());
  7600. /* eslint-disable */
  7601. minute >= 10 ? minute : minute = "0" + minute;
  7602. second = second % 60;
  7603. second >= 10 ? second : second = "0" + second;
  7604. /* eslint-enable */
  7605. return hour + ":" + minute + ":" + second;
  7606. }
  7607. if (second < 60) {
  7608. hour = "00";
  7609. minute = "00";
  7610. second = parseInt(second);
  7611. /* eslint-disable */
  7612. second >= 10 ? second : second = "0" + second;
  7613. /* eslint-enable */
  7614. return hour + ":" + minute + ":" + second;
  7615. }
  7616. }
  7617. }, {
  7618. key: "onmousedown",
  7619. value: // canvas宽度 一个小刻度的秒数 10像素一个小刻度 初始时间(毫秒) 一大段间隔时长(秒)
  7620. // (function() {
  7621. // console.log(ctx.onmousedown);
  7622. function onmousedown(e) {
  7623. this.options.stopTime(); // console.log(ctx, e);
  7624. this.isMouseDown = true;
  7625. if (this.options.isMobile) {
  7626. this.startY = e.offsetY;
  7627. this.drawLine(0, this.options.height / 2, this.options.height, this.options.height / 2, "#f18d00", 2);
  7628. } else {
  7629. this.startX = e.offsetX;
  7630. this.drawLine(this.options.width / 2, 0, this.options.width / 2, 60, "#f18d00", 2);
  7631. }
  7632. }
  7633. }, {
  7634. key: "onmousemove",
  7635. value: function onmousemove(e) {
  7636. if (this.isMouseDown) {
  7637. // this.movedY = e.offsetY - startY - (e.offsetY - startY) % 10;
  7638. if (this.options.isMobile) {
  7639. this.movedY = Math.floor((e.offsetY - this.startY) * 10); // console.log(e.offsetY, this.startY);
  7640. // console.log(this.movedY);
  7641. // console.log(this.movedY);
  7642. this.initTime = this.initTime - this.movedY * 1000;
  7643. if (this.initTime <= -1 * this.options.height / 2 * 1000 / 10) {
  7644. this.initTime = -1 * this.options.height / 2 * 1000 / 10;
  7645. } else if (this.initTime >= 24 * 60 * 60 * 1000 - this.options.height / 2 * 1000 / 10) {
  7646. this.initTime = 24 * 60 * 60 * 1000 - this.options.height / 2 * 1000 / 10;
  7647. } // ctx.clearRect(0, 0, canva.width, canva.height);
  7648. this.initTimeline(this.options.height, 1, 10, this.initTime, 10);
  7649. this.startY = e.offsetY;
  7650. } else {
  7651. this.movedX = Math.floor((e.offsetX - this.startX) * 10); // console.log(e.offsetX, this.startX);
  7652. // console.log(this.movedX);
  7653. // console.log(this.movedY);
  7654. this.initTime = this.initTime - this.movedX * 1000;
  7655. if (this.initTime <= -1 * this.options.width / 2 * 1000 / 10) {
  7656. this.initTime = -1 * this.options.width / 2 * 1000 / 10;
  7657. } else if (this.initTime >= 24 * 60 * 60 * 1000 - this.options.width / 2 * 1000 / 10) {
  7658. this.initTime = 24 * 60 * 60 * 1000 - this.options.width / 2 * 1000 / 10;
  7659. } // ctx.clearRect(0, 0, canva.width, canva.height);
  7660. this.initTimeline(this.options.width, 1, 10, this.initTime, 10);
  7661. this.startX = e.offsetX;
  7662. }
  7663. }
  7664. }
  7665. }, {
  7666. key: "onmouseleave",
  7667. value: function onmouseleave() {
  7668. if (this.isMouseDown) {
  7669. this.isMouseDown = false;
  7670. if (this.options.isMobile) {
  7671. this.drawLine(0, this.options.height / 2, this.options.height, this.options.height / 2, "#f18d00", 2);
  7672. } else {
  7673. this.drawLine(this.options.width / 2, 0, this.options.width / 2, 60, "#f18d00", 2);
  7674. } // canvasId.onmousemove = null;
  7675. // console.log((this.initTime + (-1 * this.options.height / 2 * 1000) / 10) / 1000);
  7676. if (this.options.isMobile) {
  7677. if ((this.initTime + -1 * this.options.height / 2 * 1000 / 10) / 1000 > 0 && (this.initTime + 1 * this.options.height / 2 * 1000 / 10) / 1000 < 86400) {
  7678. this.options.onChange((this.initTime + this.options.height / 2 * 1000 / 10) / 1000);
  7679. } else if ((this.initTime + -1 * this.options.height / 2 * 1000 / 10) / 1000 < 0) {
  7680. this.options.onChange(0);
  7681. } else if ((this.initTime + 1 * this.options.height / 2 * 1000 / 10) / 1000 >= 86400) {
  7682. this.options.onChange(86398);
  7683. }
  7684. } else {
  7685. if ((this.initTime + -1 * this.options.width / 2 * 1000 / 10) / 1000 > 0 && (this.initTime + -1 * this.options.width / 2 * 1000 / 10) / 1000 < 86400 + this.options.width / 2 / 10) {
  7686. this.options.onChange((this.initTime + this.options.width / 2 * 1000 / 10) / 1000);
  7687. } else if ((this.initTime + -1 * this.options.width / 2 * 1000 / 10) / 1000 < 0) {
  7688. this.options.onChange(0);
  7689. } else if ((this.initTime + -1 * this.options.width / 2 * 1000 / 10) / 1000 >= 86400 + this.options.width / 2 / 10) {
  7690. this.options.onChange(86398);
  7691. }
  7692. } // canvasId.onmouseup = null;
  7693. this.options.startTime();
  7694. } // canvasId.onmouseup = null;
  7695. }
  7696. }, {
  7697. key: "onmouseup",
  7698. value: function onmouseup() {
  7699. if (this.isMouseDown) {
  7700. this.isMouseDown = false;
  7701. if (this.options.isMobile) {
  7702. this.drawLine(0, this.options.height / 2, this.options.height, this.options.height / 2, "#f18d00", 2);
  7703. } else {
  7704. this.drawLine(this.options.width / 2, 0, this.options.width / 2, 60, "#f18d00", 2);
  7705. } // canvasId.onmousemove = null;
  7706. // console.log((this.initTime + (-1 * this.options.height / 2 * 1000) / 10) / 1000);
  7707. if (this.options.isMobile) {
  7708. if ((this.initTime + -1 * this.options.height / 2 * 1000 / 10) / 1000 > 0 && (this.initTime + 1 * this.options.height / 2 * 1000 / 10) / 1000 < 86400) {
  7709. this.options.onChange((this.initTime + this.options.height / 2 * 1000 / 10) / 1000);
  7710. } else if ((this.initTime + -1 * this.options.height / 2 * 1000 / 10) / 1000 < 0) {
  7711. this.options.onChange(0);
  7712. } else if ((this.initTime + 1 * this.options.height / 2 * 1000 / 10) / 1000 >= 86400) {
  7713. this.options.onChange(86398);
  7714. }
  7715. } else {
  7716. if ((this.initTime + -1 * this.options.width / 2 * 1000 / 10) / 1000 > 0 && (this.initTime + 1 * this.options.width / 2 * 1000 / 10) / 1000 < 86400) {
  7717. this.options.onChange((this.initTime + this.options.width / 2 * 1000 / 10) / 1000);
  7718. } else if ((this.initTime + -1 * this.options.width / 2 * 1000 / 10) / 1000 < 0) {
  7719. this.options.onChange(0);
  7720. } else if ((this.initTime + 1 * this.options.width / 2 * 1000 / 10) / 1000 >= 86400) {
  7721. this.options.onChange(86398);
  7722. }
  7723. } // canvasId.onmouseup = null;
  7724. } // console.log(this.initTime + (15 * 10000) / 10);
  7725. // canvasId.onmousemove = null;
  7726. // canvasId.onmouseup = null;
  7727. this.options.startTime();
  7728. }
  7729. }, {
  7730. key: "ontouchstart",
  7731. value: function ontouchstart(e) {
  7732. // console.log(ctx, e);
  7733. this.isMouseDown = true;
  7734. this.options.stopTime();
  7735. if (this.options.isMobile) {
  7736. console.log(e.changedTouches[0]);
  7737. if (!this.options.isFullScreen) {
  7738. this.startY = e.changedTouches[0].clientY;
  7739. } else {
  7740. this.startY = e.changedTouches[0].clientX;
  7741. } // this.startY = e.changedTouches[0].clientY;
  7742. this.drawLine(0, this.options.height / 2, this.options.height, this.options.height / 2, "#f18d00", 2);
  7743. } else {
  7744. this.startX = e.changedTouches[0].clientX;
  7745. this.drawLine(this.options.width / 2, 0, this.options.width / 2, 60, "#f18d00", 2);
  7746. }
  7747. }
  7748. }, {
  7749. key: "ontouchmove",
  7750. value: function ontouchmove(e) {
  7751. if (this.isMouseDown) {
  7752. // this.movedY = e.offsetY - startY - (e.offsetY - startY) % 10;
  7753. if (this.options.isMobile) {
  7754. if (!this.options.isFullScreen) {
  7755. this.movedY = Math.floor((e.changedTouches[0].clientY - this.startY) * 10);
  7756. } else {
  7757. console.log(e.changedTouches[0].clientY);
  7758. this.movedY = Math.floor(this.startY - e.changedTouches[0].clientX);
  7759. console.log(this.movedY);
  7760. } // console.log(e.changedTouches[0].clientY, this.startY);
  7761. // console.log(this.movedY);
  7762. // console.log(this.movedY);
  7763. this.initTime = this.initTime + this.movedY * 1000;
  7764. if (this.initTime <= -1 * this.options.height / 2 * 1000 / 10) {
  7765. this.initTime = -1 * this.options.height / 2 * 1000 / 10;
  7766. } else if (this.initTime >= 24 * 60 * 60 * 1000 - this.options.height / 2 * 1000 / 10) {
  7767. this.initTime = 24 * 60 * 60 * 1000 - this.options.height / 2 * 1000 / 10;
  7768. } // ctx.clearRect(0, 0, canva.width, canva.height);
  7769. this.initTimeline(this.options.height, 1, 10, this.initTime, 10);
  7770. this.startY = e.changedTouches[0].clientY;
  7771. if (!this.options.isFullScreen) {
  7772. this.startY = e.changedTouches[0].clientY;
  7773. } else {
  7774. this.startY = e.changedTouches[0].clientX;
  7775. }
  7776. } else {
  7777. this.movedX = Math.floor((e.changedTouches[0].clientX - this.startX) * 10); // console.log(e.changedTouches[0].clientX, this.startX);
  7778. // console.log(this.movedX);
  7779. // console.log(this.movedY);
  7780. this.initTime = this.initTime - this.movedX * 1000;
  7781. if (this.initTime <= -1 * this.options.width / 2 * 1000 / 10) {
  7782. this.initTime = -1 * this.options.width / 2 * 1000 / 10;
  7783. } else if (this.initTime >= 24 * 60 * 60 * 1000 - this.options.width / 2 * 1000 / 10) {
  7784. this.initTime = 24 * 60 * 60 * 1000 - this.options.width / 2 * 1000 / 10;
  7785. } // ctx.clearRect(0, 0, canva.width, canva.height);
  7786. this.initTimeline(this.options.width, 1, 10, this.initTime, 10);
  7787. this.startX = e.changedTouches[0].clientX;
  7788. }
  7789. }
  7790. }
  7791. }, {
  7792. key: "ontouchend",
  7793. value: function ontouchend() {
  7794. if (this.isMouseDown) {
  7795. this.isMouseDown = false;
  7796. if (this.options.isMobile) {
  7797. this.drawLine(0, this.options.height / 2, this.options.height, this.options.height / 2, "#f18d00", 2);
  7798. } else {
  7799. this.drawLine(this.options.width / 2, 0, this.options.width / 2, 60, "#f18d00", 2);
  7800. } // canvasId.onmousemove = null;
  7801. // console.log(this.initTime, (-1 * this.options.height / 2 * 1000) / 10);
  7802. if (this.options.isMobile) {
  7803. // console.log((this.initTime + (this.options.height / 2 * 1000) / 10) / 1000, '--------', 86400000 + this.options.height * 1000 / 2 / 10);
  7804. if (this.initTime + -1 * this.options.height / 2 * 1000 / 10 > 0 && this.initTime + 1 * this.options.height / 2 * 1000 / 10 < 86400000) {
  7805. this.options.onChange((this.initTime + this.options.height / 2 * 1000 / 10) / 1000);
  7806. } else if (this.initTime + -1 * this.options.height / 2 * 1000 / 10 < 0) {
  7807. this.options.onChange(0);
  7808. } else if (this.initTime + 1 * this.options.height / 2 * 1000 / 10 >= 86400000) {
  7809. this.options.onChange(86398);
  7810. }
  7811. } else {
  7812. if (this.initTime + -1 * this.options.width / 2 * 1000 / 10 > 0 && this.initTime + 1 * this.options.width / 2 * 1000 / 10 < 86400000) {
  7813. this.options.onChange((this.initTime + this.options.height / 2 * 1000 / 10) / 1000);
  7814. } else if (this.initTime + -1 * this.options.width / 2 * 1000 / 10 < 0) {
  7815. this.options.onChange(0);
  7816. } else if (this.initTime + 1 * this.options.width / 2 * 1000 / 10 >= 86400000) {
  7817. this.options.onChange(86398);
  7818. }
  7819. } // canvasId.onmouseup = null;
  7820. }
  7821. this.options.startTime(); // canvasId.onmouseup = null;
  7822. } // canvasId.ontouchstart = function(e) {
  7823. // console.log(ctx, e);
  7824. // startY = e.changedTouches[0].clientY;
  7825. // drawLine(0, 150, 300, 150, "#f18d00", 2);
  7826. // canvasId.ontouchmove = function(e) {
  7827. // // movedY = e.offsetY - startY - (e.offsetY - startY) % 10;
  7828. // this.movedY = Math.floor((e.changedTouches[0].clientY - startY) * 10);
  7829. // // console.log(this.movedY);
  7830. // this.initTime = this.initTime - this.movedY * 1000;
  7831. // if (this.initTime <= -15000) {
  7832. // this.initTime = -15000;
  7833. // } else if (this.initTime >= 24 * 60 * 60 * 1000 - 15 * 1000) {
  7834. // this.initTime = 24 * 60 * 60 * 1000 - 15 * 1000;
  7835. // }
  7836. // // ctx.clearRect(0, 0, canva.width, canva.height);
  7837. // initTimeline(600, 1, 10, this.initTime, 10);
  7838. // startY = e.changedTouches[0].clientY;
  7839. // // ctx.putImageData(saveImageData, 0, 0)
  7840. // };
  7841. // // canvasId.onmouseleave = function() {
  7842. // // drawLine(0, 150, 300, 150, "#f18d00", 2);
  7843. // // canvasId.onmousemove = null;
  7844. // // console.log(this.initTime + (60 * 10000) / 10);
  7845. // // // canvasId.onmouseup = null;
  7846. // // };
  7847. // canvasId.ontouchend = function() {
  7848. // drawLine(0, 150, 300, 150, "#f18d00", 2);
  7849. // canvasId.onmousemove = null;
  7850. // console.log(this.initTime + (15 * 10000) / 10);
  7851. // // canvasId.onmouseup = null;
  7852. // };
  7853. // // canvasId.onclick = function(e) {
  7854. // // };
  7855. // };
  7856. }, {
  7857. key: "updateTimeLine",
  7858. value: function updateTimeLine(time) {
  7859. if (this.options.isMobile) {
  7860. this.initTime = (time - 16 * 3600) % 86400 * 1000 - this.options.height / 2 * 1000 / 10; // console.log(this.initTime, '------', (time % 86400) * 1000, '----------------', (-1 * this.options.height / 2 * 1000 / 10));
  7861. this.initTimeline(this.options.height, 1, 10, this.initTime, 10);
  7862. } else {
  7863. this.initTime = (time - 16 * 3600) % 86400 * 1000 - this.options.width / 2 * 1000 / 10;
  7864. this.initTimeline(this.options.width, 1, 10, this.initTime, 10);
  7865. }
  7866. }
  7867. }, {
  7868. key: "drawRecordArea",
  7869. value: function drawRecordArea() {
  7870. if (this.options.recordArea && this.options.recordArea.length > 0) {
  7871. if (!this.options.isMobile) {
  7872. for (var i = 0; i < this.options.recordArea.length; i++) {
  7873. var startPosition = this.findPosition(this.options.recordArea[i].beginTime);
  7874. var endPosition = this.findPosition(this.options.recordArea[i].endTime);
  7875. this.ctx.fillStyle = "#384D65";
  7876. this.ctx.fillRect(startPosition, 0, endPosition - startPosition, 60);
  7877. }
  7878. } else {
  7879. for (var _i2 = 0; _i2 < this.options.recordArea.length; _i2++) {
  7880. var _startPosition = this.findPosition(this.options.recordArea[_i2].beginTime);
  7881. var _endPosition = this.findPosition(this.options.recordArea[_i2].endTime);
  7882. if (!this.options.isMobile) {
  7883. this.ctx.rect(_startPosition, 0, _endPosition - _startPosition, 60);
  7884. this.ctx.fillStyle = "#446487";
  7885. this.ctx.fill();
  7886. } else if (this.options.isMobile && this.options.isFullScreen) {
  7887. this.ctx.rect(0, _startPosition, 150, _endPosition - _startPosition);
  7888. this.ctx.fillStyle = "#446487";
  7889. this.ctx.fill();
  7890. } else if (this.options.isMobile && !this.options.isFullScreen) {
  7891. this.ctx.rect(0, _startPosition, 40, _endPosition - _startPosition);
  7892. this.ctx.fillStyle = "#D6E5F7";
  7893. this.ctx.fill();
  7894. }
  7895. }
  7896. }
  7897. }
  7898. }
  7899. }, {
  7900. key: "findPosition",
  7901. value: function findPosition(time) {
  7902. var scale = 10;
  7903. var nowTimePostion;
  7904. var currentTime;
  7905. var position;
  7906. if (this.options.isMobile) {
  7907. currentTime = (time + 8 * 60 * 60) % 86400 * 1000 + -1 * this.options.height / 2 * 1000 / 10;
  7908. nowTimePostion = this.options.height / 2; //总高度一半
  7909. position = this.options.height - (nowTimePostion + (currentTime - this.initTime) / 1000 * scale);
  7910. } else {
  7911. currentTime = (time + 8 * 60 * 60) % 86400 * 1000 + -1 * this.options.width / 2 * 1000 / 10;
  7912. nowTimePostion = this.options.width / 2;
  7913. position = nowTimePostion + (currentTime - this.initTime) / 1000 * scale;
  7914. }
  7915. if (position <= 0) {
  7916. position = 0;
  7917. }
  7918. return position;
  7919. }
  7920. }, {
  7921. key: "init",
  7922. value: function init(option) {
  7923. var _this = this;
  7924. this.options = option;
  7925. this.recordArea = option.recordArea;
  7926. this.canvasId = document.getElementById(option.id);
  7927. this.ctx = this.canvasId.getContext("2d");
  7928. if (this.options.isMobile) {
  7929. this.initTime = -1 * this.options.height * 1000 / 2 / 10;
  7930. this.canvasId.addEventListener("touchstart", function (e) {
  7931. if (_this.readOnly) {
  7932. return;
  7933. } else {
  7934. _this.ontouchstart(e);
  7935. }
  7936. });
  7937. this.canvasId.addEventListener("touchmove", function (e) {
  7938. e.preventDefault();
  7939. if (_this.readOnly) {
  7940. return;
  7941. } else {
  7942. _this.ontouchmove(e);
  7943. }
  7944. }, {
  7945. passive: false
  7946. });
  7947. this.canvasId.addEventListener("touchend", function () {
  7948. if (_this.readOnly) {
  7949. return;
  7950. } else {
  7951. _this.ontouchend();
  7952. }
  7953. });
  7954. this.initTimeline(this.options.height, 1, 10, this.initTime, 10);
  7955. } else {
  7956. this.initTime = -1 * this.options.width * 1000 / 2 / 10;
  7957. this.canvasId.addEventListener("mousedown", function (e) {
  7958. if (_this.readOnly) {
  7959. return;
  7960. } else {
  7961. _this.onmousedown(e);
  7962. }
  7963. });
  7964. this.canvasId.addEventListener("mousemove", function (e) {
  7965. if (_this.readOnly) {
  7966. return;
  7967. } else {
  7968. _this.onmousemove(e);
  7969. }
  7970. });
  7971. this.canvasId.addEventListener("mouseleave", function () {
  7972. if (_this.readOnly) {
  7973. return;
  7974. } else {
  7975. _this.onmouseleave();
  7976. }
  7977. });
  7978. this.canvasId.addEventListener("mouseup", function () {
  7979. if (_this.readOnly) {
  7980. return;
  7981. } else {
  7982. _this.onmouseup();
  7983. }
  7984. });
  7985. this.initTimeline(this.options.width, 1, 10, this.initTime, 10);
  7986. }
  7987. if (this.options.recordArea.length > 0) {
  7988. // this.drawRecordArea();
  7989. this.unsetReadOnly();
  7990. } else {
  7991. this.setReadOnly();
  7992. }
  7993. }
  7994. }, {
  7995. key: "setReadOnly",
  7996. value: function setReadOnly() {
  7997. console.log("设置为只读");
  7998. this.readOnly = true;
  7999. var canvasList = document.getElementsByTagName("canvas");
  8000. console.log(canvasList);
  8001. for (var i = 0; i < canvasList.length; i++) {
  8002. canvasList[i].style.cursor = "not-allowed";
  8003. }
  8004. }
  8005. }, {
  8006. key: "unsetReadOnly",
  8007. value: function unsetReadOnly() {
  8008. console.log("取消只读");
  8009. this.readOnly = false;
  8010. var canvasList = document.getElementsByTagName("canvas");
  8011. console.log(canvasList);
  8012. for (var i = 0; i < canvasList.length; i++) {
  8013. canvasList[i].style.cursor = "pointer";
  8014. }
  8015. } // (setInterval(() => {
  8016. // this.initTime += 1000;
  8017. // this.updateTimeLine(this.initTime, 8);
  8018. // }, 1000))();
  8019. }]);
  8020. return TimeLine;
  8021. }();
  8022. /* harmony default export */ const timeLine = (TimeLine);
  8023. ;// CONCATENATED MODULE: ./static/message.js
  8024. var message = {
  8025. background: "",
  8026. // 背景颜色
  8027. outside: "",
  8028. // 外框元素
  8029. inside: "",
  8030. // 信息显示元素
  8031. insideSetTime: "",
  8032. // 信息移除setTime
  8033. body: "",
  8034. // body元素
  8035. time: 0,
  8036. // 显示时间
  8037. run: function run() {
  8038. var msg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "success";
  8039. var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "success";
  8040. var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 2000;
  8041. // 显示时间
  8042. this.time = time; // 背景色
  8043. this.background = this.backgroundCheck(type); // body
  8044. this.body = document.body; // 时间戳id
  8045. var id = "inside_box" + Date.now(); // 检查是否存在外框
  8046. var outsideShow = document.getElementById("message_box_show");
  8047. if (outsideShow != null) {
  8048. // 文字显示区域
  8049. this.inside = document.createElement("div");
  8050. this.inside.setAttribute("class", "message_box_inside cc-display");
  8051. this.inside.setAttribute("id", id);
  8052. this.inside.style.backgroundColor = this.background;
  8053. this.inside.innerHTML = "<span>".concat(msg, "</span>");
  8054. outsideShow.appendChild(this.inside);
  8055. } else {
  8056. // 最外框
  8057. this.outside = document.createElement("div");
  8058. this.outside.setAttribute("id", "message_box_outside");
  8059. this.outside.setAttribute("class", "cc-display"); // 中间区域
  8060. outsideShow = document.createElement("div");
  8061. outsideShow.setAttribute("id", "message_box_show"); // 文字显示区域
  8062. this.inside = document.createElement("div");
  8063. this.inside.setAttribute("class", "message_box_inside cc-display");
  8064. this.inside.setAttribute("id", id);
  8065. this.inside.style.backgroundColor = this.background;
  8066. this.inside.innerHTML = "<span>".concat(msg, "</span>"); // 显示
  8067. outsideShow.appendChild(this.inside);
  8068. this.outside.appendChild(outsideShow);
  8069. this.body.appendChild(this.outside);
  8070. } // 添加监听
  8071. this[id] = this.insideTime(this.inside, outsideShow);
  8072. this.boxShowTime(this.inside, id, outsideShow);
  8073. },
  8074. // 信息显示区域展示
  8075. boxShowTime: function boxShowTime(inside, insideSetTime, outsideShow) {
  8076. var _this = this;
  8077. inside.addEventListener("mouseleave", function () {
  8078. // 离开后设置隐藏时间
  8079. _this[insideSetTime] = _this.insideTime(inside, outsideShow);
  8080. });
  8081. inside.addEventListener("mouseenter", function () {
  8082. // 清除隐藏设置
  8083. clearTimeout(_this[insideSetTime]);
  8084. });
  8085. },
  8086. // 信息区显示
  8087. insideTime: function insideTime(inside, outsideShow) {
  8088. var insideSetTime = setTimeout(function () {
  8089. outsideShow.removeChild(inside);
  8090. }, this.time);
  8091. return insideSetTime;
  8092. },
  8093. // 判定显示颜色
  8094. backgroundCheck: function backgroundCheck(type) {
  8095. if (type === "success") return "#67C23A";
  8096. if (type === "error") return "#F56C6C";
  8097. if (type === "warning") return "#E6A23C"; // if (type === 'info') return '#909399';
  8098. return "#909399"; // 默认级别
  8099. }
  8100. };
  8101. /* harmony default export */ const static_message = ((/* unused pure expression or super */ null && (message)));
  8102. // EXTERNAL MODULE: ./src/assets/style/message.css
  8103. var style_message = __webpack_require__(4455);
  8104. ;// CONCATENATED MODULE: ./src/player.js
  8105. var _excluded = ["streamId", "protocolType", "streamType", "beginTime", "endTime"];
  8106. function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
  8107. function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
  8108. function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = player_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() { }; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
  8109. function player_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return player_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return player_arrayLikeToArray(o, minLen); }
  8110. function player_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
  8111. // TODO: 样式操作待优化
  8112. // TODO: 属性操作待优化
  8113. // import $ from 'jquery';
  8114. // const $ = require('../static/jquery-min.js')
  8115. // import '../static/jquery-min';
  8116. // import datePicker from 'bootstrap-datepicker';
  8117. var _utils$logsFunction = src_utils.logsFunction(),
  8118. log = _utils$logsFunction.log,
  8119. info = _utils$logsFunction.info,
  8120. error = _utils$logsFunction.error;
  8121. var Player = /*#__PURE__*/function () {
  8122. function Player(options) {
  8123. var _this2 = this;
  8124. _classCallCheck(this, Player);
  8125. _defineProperty(this, "headerButtonList", function (_this, headerOption) {
  8126. return [{
  8127. id: "deviceName",
  8128. name: "设备名称",
  8129. innerHtml: "<div style=\"color:".concat(_this2.options.themeData[0].fontColor, "\">").concat(_this2.options.deviceId, "</div>"),
  8130. onremove: function onremove(_this) {
  8131. console.log("移除设备名称");
  8132. _this2.removeBtn(_this, "header-control-left", "imou_player_header");
  8133. }
  8134. }, {
  8135. id: "channalId",
  8136. name: "设备通道",
  8137. innerHtml: "<div style=\"color:".concat(_this2.options.themeData[0].fontColor, "\">\u901A\u9053").concat(_this2.options.channelId, "</div>"),
  8138. onremove: function onremove(_this) {
  8139. console.log("移除播放键");
  8140. _this2.removeBtn(_this, "header-control-left", "imou_player_header");
  8141. }
  8142. }, {
  8143. id: "cloudVideo",
  8144. name: "云录像",
  8145. innerHtml: "\n <div id=\"cloudVideoControl\" class=\"player_header-control-item\">\n <!-- \u4E91\u5F55\u50CF\u6309\u94AE\u5F00\u542F -->\n <svg title=\"\u5F00\u542F\u4E91\u5F55\u50CF\" class=\"iconfont header-control-item\" fill=\"".concat(_this2.options.themeData[0].fontColor, "\" style=\"display:inline-block\" >\n <use xlink:href=\"#icon-Icon_YunLuXiang\"></use>\n </svg>\n <!-- \u4E91\u5F55\u50CF\u6309\u94AE\u5173\u95ED -->\n <svg title=\"\u5173\u95ED\u4E91\u5F55\u50CF\" class=\"iconfont header-control-item\" fill=\"").concat(_this2.options.themeData[0].activeButtonColor, "\" style=\"display:none\" >\n <use xlink:href=\"#icon-Icon_YunLuXiang\"></use>\n </svg>\n </div>\n "),
  8146. onclick: function () {
  8147. var _onclick = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee() {
  8148. var cloudRecordButton, localRecordButton, cloudOffButton, cloudOnButton, localOffButton, localOnButton, res;
  8149. return regenerator_default().wrap(function _callee$(_context) {
  8150. while (1) {
  8151. switch (_context.prev = _context.next) {
  8152. case 0:
  8153. if (!_this2.changeDisabled) {
  8154. _this2.changeDisabled = true;
  8155. _this2.isChangeDate = true;
  8156. _this2.playerStatus.playBackType = "cloudRecord";
  8157. cloudRecordButton = document.getElementById("cloudVideoControl");
  8158. localRecordButton = document.getElementById("localVideoControl");
  8159. if (cloudRecordButton) {
  8160. cloudOffButton = cloudRecordButton.children[0];
  8161. cloudOffButton.removeAttribute("style");
  8162. cloudOffButton.setAttribute("style", "display:none");
  8163. cloudOnButton = cloudRecordButton.children[1];
  8164. cloudOnButton.removeAttribute("style");
  8165. cloudOnButton.setAttribute("style", "display:inline-block");
  8166. }
  8167. if (localRecordButton) {
  8168. localOffButton = localRecordButton.children[0];
  8169. localOffButton.removeAttribute("style");
  8170. localOffButton.setAttribute("style", "display:inline-block");
  8171. localOnButton = localRecordButton.children[1];
  8172. localOnButton.removeAttribute("style");
  8173. localOnButton.setAttribute("style", "display:none");
  8174. }
  8175. _this2.urlParams.recordType = _this2.playerStatus.playBackType;
  8176. _this2.urlParams.beginTime = src_utils.getBeginInitFormatTime(new Date(_this2.urlParams.beginTime.replace(/-/g, '/')).getTime()); // this.pause();
  8177. // if (this.canvasPlayer) {
  8178. // this.canvasPlayer.close()
  8179. // }
  8180. res = _this2.getRecordList();
  8181. res.then(function (data) {
  8182. console.log(data);
  8183. }).catch(function (err) {
  8184. console.log(err);
  8185. }).finally(function () {
  8186. var timeLineControl = document.getElementById("timeLine_web");
  8187. timeLineControl.removeChild(timeLineControl.childNodes[0]);
  8188. var webTimeLine = document.createElement("canvas");
  8189. webTimeLine.setAttribute("id", "player_timeLine-web");
  8190. webTimeLine.setAttribute("width", timeLineControl.clientWidth);
  8191. webTimeLine.setAttribute("height", timeLineControl.clientHeight);
  8192. timeLineControl.appendChild(webTimeLine);
  8193. var that = _this2;
  8194. _this2.timeLineWeb.init({
  8195. id: "player_timeLine-web",
  8196. onChange: function onChange(newTime) {
  8197. that.isMutedBackup = that.playerStatus.isMuted;
  8198. that.stopFresh = true;
  8199. console.log("time change", newTime);
  8200. console.log(that.dateTime, "-----------------------2295");
  8201. that.changeTime = that.dateTime + newTime * 1000;
  8202. console.log(src_utils.getFormatTime(that.changeTime), "abcdesdfgedasdddddddd");
  8203. that.urlParams.beginTime = src_utils.getFormatTime(that.changeTime);
  8204. that.createPlayerInstance();
  8205. },
  8206. startTime: function startTime() {
  8207. that.stopFresh = false; // that.start();
  8208. that.startTimeLine(that, that.changeTime);
  8209. },
  8210. stopTime: function stopTime() {
  8211. that.stopFresh = true; // that.stop();
  8212. that.changeTimeLine = true;
  8213. that.stopTimeLine(that);
  8214. },
  8215. recordArea: that.playerStatus.recordList,
  8216. isMobile: false,
  8217. isFullScreen: false,
  8218. height: timeLineControl.clientHeight,
  8219. width: timeLineControl.clientWidth
  8220. }); // this.isMutedBackup = this.playerStatus.isMuted;
  8221. _this2.createPlayerInstance();
  8222. _this2.changeDisabled = false;
  8223. });
  8224. }
  8225. case 1:
  8226. case "end":
  8227. return _context.stop();
  8228. }
  8229. }
  8230. }, _callee);
  8231. }));
  8232. function onclick() {
  8233. return _onclick.apply(this, arguments);
  8234. }
  8235. return onclick;
  8236. }()
  8237. }, {
  8238. id: "localVideo",
  8239. name: "本地录像",
  8240. innerHtml: "\n <div id=\"localVideoControl\" class=\"player_header-control-item\">\n <!-- \u672C\u5730\u5F55\u50CF\u6309\u94AE\u5F00\u542F -->\n <svg title=\"\u5F00\u542F\u672C\u5730\u5F55\u50CF\" class=\"iconfont header-control-item\" fill=\"".concat(_this2.options.themeData[0].fontColor, "\" style=\"display:inline-block\" >\n <use xlink:href=\"#icon-Icon_BenDiLuXiang\"></use>\n </svg>\n <!-- \u672C\u5730\u50CF\u6309\u94AE\u5173\u95ED -->\n <svg title=\"\u5173\u95ED\u672C\u5730\u5F55\u50CF\" class=\"iconfont header-control-item\" fill=\"").concat(_this2.options.themeData[0].activeButtonColor, "\" style=\"display:none\" >\n <use xlink:href=\"#icon-Icon_BenDiLuXiang\"></use>\n </svg>\n </div>\n "),
  8241. onclick: function () {
  8242. var _onclick2 = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee2() {
  8243. var cloudRecordButton, localRecordButton, cloudOffButton, cloudOnButton, localOffButton, localOnButton, res;
  8244. return regenerator_default().wrap(function _callee2$(_context2) {
  8245. while (1) {
  8246. switch (_context2.prev = _context2.next) {
  8247. case 0:
  8248. if (!_this2.changeDisabled) {
  8249. _this2.changeDisabled = true;
  8250. _this2.isChangeDate = true;
  8251. _this2.playerStatus.playBackType = "localRecord";
  8252. cloudRecordButton = document.getElementById("cloudVideoControl");
  8253. localRecordButton = document.getElementById("localVideoControl");
  8254. if (cloudRecordButton) {
  8255. cloudOffButton = cloudRecordButton.children[0];
  8256. cloudOffButton.removeAttribute("style");
  8257. cloudOffButton.setAttribute("style", "display:inline-block");
  8258. cloudOnButton = cloudRecordButton.children[1];
  8259. cloudOnButton.removeAttribute("style");
  8260. cloudOnButton.setAttribute("style", "display:none");
  8261. }
  8262. if (localRecordButton) {
  8263. localOffButton = localRecordButton.children[0];
  8264. localOffButton.removeAttribute("style");
  8265. localOffButton.setAttribute("style", "display:none");
  8266. localOnButton = localRecordButton.children[1];
  8267. localOnButton.removeAttribute("style");
  8268. localOnButton.setAttribute("style", "display:inline-block");
  8269. }
  8270. _this2.urlParams.recordType = _this2.playerStatus.playBackType;
  8271. _this2.urlParams.beginTime = src_utils.getBeginInitFormatTime(new Date(_this2.urlParams.beginTime.replace(/-/g, '/')).getTime()); // this.pause()
  8272. // this.pause();
  8273. // if (this.canvasPlayer) {
  8274. // this.canvasPlayer.close()
  8275. // }
  8276. res = _this2.getRecordList();
  8277. res.then(function (data) {
  8278. console.log(data);
  8279. }).catch(function (err) {
  8280. console.log(err);
  8281. }).finally(function () {
  8282. var timeLineControl = document.getElementById("timeLine_web");
  8283. timeLineControl.removeChild(timeLineControl.childNodes[0]);
  8284. var webTimeLine = document.createElement("canvas");
  8285. webTimeLine.setAttribute("id", "player_timeLine-web");
  8286. webTimeLine.setAttribute("width", timeLineControl.clientWidth);
  8287. webTimeLine.setAttribute("height", timeLineControl.clientHeight);
  8288. timeLineControl.appendChild(webTimeLine);
  8289. var that = _this2;
  8290. _this2.timeLineWeb.init({
  8291. id: "player_timeLine-web",
  8292. onChange: function onChange(newTime) {
  8293. that.isMutedBackup = that.playerStatus.isMuted;
  8294. that.stopFresh = true;
  8295. console.log("time change", newTime);
  8296. console.log(that.dateTime, "-----------------------2379");
  8297. that.changeTime = that.dateTime + newTime * 1000;
  8298. console.log(src_utils.getFormatTime(that.changeTime), "abcdesdfgedasdddddddd");
  8299. that.urlParams.beginTime = src_utils.getFormatTime(that.changeTime);
  8300. that.createPlayerInstance();
  8301. },
  8302. startTime: function startTime() {
  8303. that.stopFresh = false; // that.start();
  8304. that.startTimeLine(that, that.changeTime);
  8305. },
  8306. stopTime: function stopTime() {
  8307. that.stopFresh = true; // that.stop();
  8308. that.changeTimeLine = true;
  8309. that.stopTimeLine(that);
  8310. },
  8311. recordArea: that.playerStatus.recordList,
  8312. isMobile: false,
  8313. isFullScreen: false,
  8314. height: timeLineControl.clientHeight,
  8315. width: timeLineControl.clientWidth
  8316. }); // this.isMutedBackup = this.playerStatus.isMuted;
  8317. _this2.createPlayerInstance();
  8318. _this2.changeDisabled = false;
  8319. }); // this.play();
  8320. }
  8321. case 1:
  8322. case "end":
  8323. return _context2.stop();
  8324. }
  8325. }
  8326. }, _callee2);
  8327. }));
  8328. function onclick() {
  8329. return _onclick2.apply(this, arguments);
  8330. }
  8331. return onclick;
  8332. }()
  8333. }];
  8334. });
  8335. _defineProperty(this, "showHeaderList", function (header) {
  8336. var result = [];
  8337. if (header.buttonList) {
  8338. // result.push({ footerContainer: true });
  8339. var _iterator = _createForOfIteratorHelper(header.buttonList),
  8340. _step;
  8341. try {
  8342. for (_iterator.s(); !(_step = _iterator.n()).done;) {
  8343. var item = _step.value;
  8344. switch (item.id) {
  8345. // 移动端不添加网页全屏按钮
  8346. case "cloudVideo":
  8347. if (!_this2.playerStatus.isMobile && _this2.playerStatus.isPlayBack) {
  8348. result.push(item);
  8349. }
  8350. break;
  8351. case "localVideo":
  8352. if (!_this2.playerStatus.isMobile && _this2.playerStatus.isPlayBack) {
  8353. result.push(item);
  8354. }
  8355. break;
  8356. default:
  8357. result.push(item);
  8358. break;
  8359. }
  8360. }
  8361. } catch (err) {
  8362. _iterator.e(err);
  8363. } finally {
  8364. _iterator.f();
  8365. }
  8366. }
  8367. return result;
  8368. });
  8369. _defineProperty(this, "addHeaderEditItem", function (item) {
  8370. var editSVG; // 编辑按钮组合dom
  8371. var objE; // 临时存储对象
  8372. var dom; // 处理后得到的的dom
  8373. if (_this2.playerStatus.isEdit && item.id !== "cloudVideo" && item.id !== "localVideo") {
  8374. editSVG = "\n <span id=\"".concat(item.id, "\" style=\"position:relative;margin:0 4px\">\n <div id=\"").concat(item.id, "-content\" title=\"").concat(item.name, "\" style=\"height:100%;display:flex; justify-content:center; align-items:center\">\n ").concat(item.innerHtml, "\n </div>\n <div id=\"").concat(item.id, "-remove\" style=\"position: absolute;top: -2px;left: calc(100% - 6px);display: inline-block; \">\n <svg title=\"\u56FE\u6807\u5220\u9664\" class=\"iconfont\" fill=\"#ffffff\" width=\"10\" height=\"10\" style=\"background:#000000\" >\n <use xlink:href=\"#icon-Console_icon_delete\"></use>\n </svg>\n </div>\n </span> \n ");
  8375. } else {
  8376. editSVG = "\n <span id=\"".concat(item.id, "\" style=\"position:relative;margin:0 4px\">\n <div id=\"").concat(item.id, "-content\" title=\"").concat(item.name, "\" style=\"height:100%;display:flex; justify-content:center; align-items:center\">\n ").concat(item.innerHtml, "\n </div>\n <div id=\"").concat(item.id, "-remove\" style=\"position: absolute;top: -2px;left: calc(100% - 6px);display: none; \">\n <svg title=\"\u56FE\u6807\u5220\u9664\" class=\"iconfont\" fill=\"#ffffff\" width=\"10\" height=\"10\" style=\"background:#000000\" >\n <use xlink:href=\"#icon-Console_icon_delete\"></use>\n </svg>\n </div>\n </span> \n ");
  8377. }
  8378. objE = document.createElement("div");
  8379. objE.innerHTML = editSVG;
  8380. dom = objE.children[0]; // 绑定事件,[0]:左移按钮dom,[1]:主体按钮dom,[2]:右移按钮dom,[3]:移除按钮dom
  8381. if (item.onclick) {
  8382. dom.children[0].onclick = function () {
  8383. item.onclick();
  8384. };
  8385. }
  8386. if (item.onremove) {
  8387. dom.children[1].onclick = function () {
  8388. item.onremove(this);
  8389. };
  8390. }
  8391. return dom;
  8392. });
  8393. _defineProperty(this, "footerButtonList", function () {
  8394. return [{
  8395. id: "play",
  8396. name: "播放/暂停",
  8397. innerHtml: "\n <div id=\"playerControl\" class=\"player_footer-control-item\">\n <!-- \u6682\u505C\u6309\u94AE -->\n <svg title=\"\u64AD\u653E\" class=\"iconfont footer-control-item\" fill=\"".concat(_this2.options.themeData[1].fontColor, "\" style=\"display:inline-block\" >\n <use xlink:href=\"#icon-Icon_Play\"></use>\n </svg>\n <!-- \u64AD\u653E\u6309\u94AE -->\n <svg title=\"\u6682\u505C\" class=\"iconfont footer-control-item\" fill=\"").concat(_this2.options.themeData[1].fontColor, "\" style=\"display:none\" >\n <use xlink:href=\"#icon-Icon_Stop\"></use>\n </svg>\n </div>"),
  8398. onclick: function onclick() {
  8399. if (!_this2.playerStatus.isEdit) {
  8400. console.log("点击播放/暂停");
  8401. _this2.playOrPause();
  8402. var _PlayerControl = document.getElementById("playerControl");
  8403. if (_this2.isPlaying) {
  8404. var playButton = _PlayerControl.children[0];
  8405. playButton.removeAttribute("style");
  8406. playButton.setAttribute("style", "display:none");
  8407. var pauseButton = _PlayerControl.children[1];
  8408. pauseButton.removeAttribute("style");
  8409. pauseButton.setAttribute("style", "display:inline-block");
  8410. } else {
  8411. var _pauseButton = _PlayerControl.children[1];
  8412. _pauseButton.removeAttribute("style");
  8413. _pauseButton.setAttribute("style", "display:none");
  8414. var _playButton = _PlayerControl.children[0];
  8415. _playButton.removeAttribute("style");
  8416. _playButton.setAttribute("style", "display:inline-block");
  8417. }
  8418. } else {
  8419. console.log("编辑状态下不响应事件");
  8420. }
  8421. },
  8422. onmoveleft: function onmoveleft(_this) {
  8423. console.log("播放键左移");
  8424. _this2.moveToLeft(_this, "footer-control-left");
  8425. },
  8426. onmoveright: function onmoveright(_this) {
  8427. console.log("播放键右移");
  8428. _this2.moveToRight(_this, "footer-control-left");
  8429. },
  8430. onremove: function onremove(_this) {
  8431. console.log("移除播放键");
  8432. _this2.removeBtn(_this, "footer-control-left", "imou_player_footer");
  8433. }
  8434. }, {
  8435. id: "mute",
  8436. name: "音量控制",
  8437. innerHtml: "\n <div id=\"MuteControl\" class=\"player_footer-control-item\">\n <!-- \u97F3\u91CF\u6253\u5F00\u6309\u94AE -->\n <svg title=\"\u97F3\u91CF\u6253\u5F00\" class=\"iconfont footer-control-item\" fill=\"".concat(_this2.options.themeData[1].fontColor, "\" style=\"display:inline-block\" >\n <use xlink:href=\"#icon-Icon_Voice\"></use>\n </svg>\n <!-- \u97F3\u91CF\u5173\u95ED\u6309\u94AE -->\n <svg title=\"\u97F3\u91CF\u5173\u95ED\" class=\"iconfont footer-control-item\" fill=\"").concat(_this2.options.themeData[1].fontColor, "\" style=\"display:none\" >\n <use xlink:href=\"#icon-Icon_JingYin\"></use>\n </svg>\n </div>"),
  8438. onclick: function onclick() {
  8439. if (!_this2.playerStatus.isEdit) {
  8440. if (!_this2.isInitialized) {
  8441. console.log("点击音量控制");
  8442. _this2.playerStatus.isMuted = !_this2.playerStatus.isMuted;
  8443. console.log(typeof window.WeixinJSBridge == "undefined", window.WeixinJSBridge, "---------------------");
  8444. var that = _this2;
  8445. if (window.WeixinJSBridge) {
  8446. WeixinJSBridge.invoke("getNetworkType", {}, function (e) {
  8447. console.log("getNetworkType");
  8448. if (that.playerStatus.isMuted) {
  8449. console.log("微信触发audioPause");
  8450. that.canvasPlayer.setAudioVolume(0);
  8451. } else {
  8452. console.log("微信触发audioPlay");
  8453. that.canvasPlayer.setAudioVolume(1);
  8454. }
  8455. });
  8456. }
  8457. var MuteControl = document.getElementById("MuteControl");
  8458. if (!_this2.playerStatus.isMuted) {
  8459. var MuteOffButton = MuteControl.children[1];
  8460. MuteOffButton.removeAttribute("style");
  8461. MuteOffButton.setAttribute("style", "display:none");
  8462. var MuteOnButton = MuteControl.children[0];
  8463. MuteOnButton.removeAttribute("style");
  8464. MuteOnButton.setAttribute("style", "display:inline-block");
  8465. } else {
  8466. var _MuteOnButton = MuteControl.children[0];
  8467. _MuteOnButton.removeAttribute("style");
  8468. _MuteOnButton.setAttribute("style", "display: none");
  8469. var _MuteOffButton = MuteControl.children[1];
  8470. _MuteOffButton.removeAttribute("style");
  8471. _MuteOffButton.setAttribute("style", "display: inline-block");
  8472. }
  8473. }
  8474. } else {
  8475. console.log("编辑状态下不响应事件");
  8476. }
  8477. },
  8478. onmoveleft: function onmoveleft(_this) {
  8479. console.log("音量键左移");
  8480. _this2.moveToLeft(_this, "footer-control-left");
  8481. },
  8482. onmoveright: function onmoveright(_this) {
  8483. console.log("音量键右移");
  8484. _this2.moveToRight(_this, "footer-control-left");
  8485. },
  8486. onremove: function onremove(_this) {
  8487. console.log("移除音量键");
  8488. _this2.removeBtn(_this, "footer-control-left", "imou_player_footer");
  8489. }
  8490. }, {
  8491. id: "capture",
  8492. name: "截图",
  8493. innerHtml: "\n <div id=\"captureControl\" class=\"player_footer-control-item\">\n <!-- \u622A\u56FE\u6309\u94AE -->\n <svg title=\"\u622A\u56FE\" class=\"iconfont footer-control-item\" fill=\"".concat(_this2.options.themeData[1].fontColor, "\" style=\"display:inline-block\" >\n <use xlink:href=\"#icon-Icon_ScreenShot\"></use>\n </svg>\n </div>"),
  8494. onclick: function onclick() {
  8495. if (!_this2.playerStatus.isEdit) {
  8496. console.log("点击截图");
  8497. if (_this2.canvasPlayer) {
  8498. try {
  8499. _this2.canvasPlayer.capture(new Date());
  8500. } catch (e) {
  8501. console.log("抓图失败:", e);
  8502. }
  8503. } else {
  8504. console.log("编译器未播放");
  8505. }
  8506. } else {
  8507. console.log("编辑状态下不响应事件");
  8508. }
  8509. },
  8510. onmoveleft: function onmoveleft(_this) {
  8511. console.log("截图键左移");
  8512. _this2.moveToLeft(_this, "footer-control-left");
  8513. },
  8514. onmoveright: function onmoveright(_this) {
  8515. console.log("截图键右移");
  8516. _this2.moveToRight(_this, "footer-control-left");
  8517. },
  8518. onremove: function onremove(_this) {
  8519. console.log("移除截图键");
  8520. _this2.removeBtn(_this, "footer-control-left", "imou_player_footer");
  8521. }
  8522. }, {
  8523. id: "talk",
  8524. name: "对讲",
  8525. innerHtml: "\n <div id=\"talkControl\" class=\"player_footer-control-item\">\n <!-- \u5BF9\u8BB2\u6309\u94AE -->\n <svg title=\"\u5BF9\u8BB2\u6253\u5F00\" class=\"iconfont footer-control-item\" fill=\"".concat(_this2.options.themeData[1].fontColor, "\" style=\"display:none\">\n <use xlink:href=\"#icon-icon_yuyin\"></use>\n </svg>\n <svg title=\"\u5BF9\u8BB2\u6253\u5F00\" class=\"iconfont footer-control-item\" fill=\"").concat(_this2.options.themeData[1].fontColor, "\" style=\"display:inline-block\">\n <use xlink:href=\"#icon-icon_yuyinguanbi\"></use>\n </svg>\n </div>"),
  8526. onclick: function onclick() {
  8527. if (!_this2.playerStatus.isEdit) {
  8528. console.log("点击对讲");
  8529. _this2.talkStartOrStop();
  8530. } else {
  8531. console.log("编辑状态下不响应事件");
  8532. }
  8533. },
  8534. onmoveleft: function onmoveleft(_this) {
  8535. console.log("全屏键左移");
  8536. _this2.moveToLeft(_this, "footer-control-left");
  8537. },
  8538. onmoveright: function onmoveright(_this) {
  8539. console.log("全屏键右移");
  8540. _this2.moveToRight(_this, "footer-control-left");
  8541. },
  8542. onremove: function onremove(_this) {
  8543. console.log("移除全屏键");
  8544. _this2.removeBtn(_this, "footer-control-left", "imou_player_footer");
  8545. }
  8546. }, {
  8547. id: "PTZ",
  8548. name: "控制云台",
  8549. innerHtml: "\n <div id=\"PTZControl\" class=\"player_footer-control-item\">\n <!-- \u4E91\u53F0\u5173\u95ED -->\n <svg title=\"\u4E91\u53F0\u5173\u95ED\" class=\"iconfont footer-control-item\" fill=\"".concat(_this2.options.themeData[1].fontColor, "\" style=\"display:inline-block\" >\n <use xlink:href=\"#icon-Icon_YunTai\"></use>\n </svg>\n <!-- \u4E91\u53F0\u5F00\u542F -->\n <svg title=\"\u4E91\u53F0\u5F00\u542F\" class=\"iconfont footer-control-item\" fill=\"").concat(_this2.options.themeData[1].activeButtonColor, "\" style=\"display:none\" >\n <use xlink:href=\"#icon-Icon_YunTai\"></use>\n </svg>\n </div>"),
  8550. onclick: function onclick() {
  8551. console.log("点击云台开启/关闭");
  8552. if (!_this2.playerStatus.isEdit) {
  8553. var PTZControl = document.getElementById("PTZControl");
  8554. if (_this2.playerStatus.isPTZOpen) {
  8555. var PTZCloseButton = PTZControl.children[1];
  8556. PTZCloseButton.removeAttribute("style");
  8557. PTZCloseButton.setAttribute("style", "display:none");
  8558. var PTZOpenButton = PTZControl.children[0];
  8559. PTZOpenButton.removeAttribute("style");
  8560. PTZOpenButton.setAttribute("style", "display:inline-block");
  8561. if (!(_this2.playerStatus.isMobile && !_this2.playerStatus.isFullScreen)) {
  8562. var panel = document.getElementById("PTZArea");
  8563. if (panel) {
  8564. panel.style = "";
  8565. }
  8566. }
  8567. } else {
  8568. var _PTZOpenButton = PTZControl.children[0];
  8569. _PTZOpenButton.removeAttribute("style");
  8570. _PTZOpenButton.setAttribute("style", "display:none");
  8571. var _PTZCloseButton = PTZControl.children[1];
  8572. _PTZCloseButton.removeAttribute("style");
  8573. _PTZCloseButton.setAttribute("style", "display:inline-block");
  8574. if (!(_this2.playerStatus.isMobile && !_this2.playerStatus.isFullScreen)) {
  8575. var _panel = document.getElementById("PTZArea");
  8576. if (_panel) {
  8577. _panel.style = "display:block";
  8578. }
  8579. }
  8580. }
  8581. _this2.playerStatus.isPTZOpen = !_this2.playerStatus.isPTZOpen;
  8582. } else {
  8583. console.log("编辑状态下不响应事件");
  8584. }
  8585. },
  8586. onmoveleft: function onmoveleft(_this) {
  8587. console.log("清晰度键左移");
  8588. _this2.moveToLeft(_this, "footer-control-right");
  8589. },
  8590. onmoveright: function onmoveright(_this) {
  8591. console.log("清晰度键右移");
  8592. _this2.moveToRight(_this, "footer-control-right");
  8593. },
  8594. onremove: function onremove(_this) {
  8595. console.log("移除清晰度键");
  8596. _this2.removeBtn(_this, "footer-control-right", "imou_player_footer");
  8597. }
  8598. }, {
  8599. id: "definition",
  8600. name: "清晰度切换",
  8601. innerHtml: "\n <div id=\"DefinitionControl\" class=\"player_footer-control-item\">\n <!-- \u9AD8\u6E05\u6309\u94AE -->\n <svg title=\"\u9AD8\u6E05\" class=\"iconfont footer-control-item\" fill=\"".concat(_this2.options.themeData[1].fontColor, "\" style=\"display:inline-block\" >\n <use xlink:href=\"#icon-Icon_HD\"></use>\n </svg>\n <!-- \u6807\u6E05\u6309\u94AE -->\n <svg title=\"\u6807\u6E05\" class=\"iconfont footer-control-item\" fill=\"").concat(_this2.options.themeData[1].fontColor, "\" style=\"display:none\" >\n <use xlink:href=\"#icon-Icon_SD\"></use>\n </svg>\n </div>"),
  8602. onclick: function onclick() {
  8603. console.log("点击切换清晰度");
  8604. if (!_this2.playerStatus.isEdit) {
  8605. var definitionControl = document.getElementById("DefinitionControl");
  8606. _this2.canvasPlayer.audioStop();
  8607. if (_this2.playerStatus.isHD) {
  8608. var hdButton = definitionControl.children[0];
  8609. hdButton.removeAttribute("style");
  8610. hdButton.setAttribute("style", "display:none");
  8611. var sdButton = definitionControl.children[1];
  8612. sdButton.removeAttribute("style");
  8613. sdButton.setAttribute("style", "display:inline-block");
  8614. } else {
  8615. var _sdButton = definitionControl.children[1];
  8616. _sdButton.removeAttribute("style");
  8617. _sdButton.setAttribute("style", "display:none");
  8618. var _hdButton = definitionControl.children[0];
  8619. _hdButton.removeAttribute("style");
  8620. _hdButton.setAttribute("style", "display:inline-block");
  8621. }
  8622. _this2.playerStatus.isHD = !_this2.playerStatus.isHD;
  8623. _this2.urlParams.streamId = _this2.playerStatus.isHD ? 0 : 1; // this.pause()
  8624. // if (this.canvasPlayer) {
  8625. // this.canvasPlayer.close()
  8626. //
  8627. // let audioList = document.querySelector("audio");
  8628. // audioList.pause();
  8629. // audioList.parentNode.removeChild(audioList);
  8630. // console.log();
  8631. // this.isMutedBackup = this.playerStatus.isMuted;
  8632. _this2.createPlayerInstance(); // this.play();
  8633. } else {
  8634. console.log("编辑状态下不响应事件");
  8635. }
  8636. },
  8637. onmoveleft: function onmoveleft(_this) {
  8638. console.log("清晰度键左移");
  8639. _this2.moveToLeft(_this, "footer-control-right");
  8640. },
  8641. onmoveright: function onmoveright(_this) {
  8642. console.log("清晰度键右移");
  8643. _this2.moveToRight(_this, "footer-control-right");
  8644. },
  8645. onremove: function onremove(_this) {
  8646. console.log("移除清晰度键");
  8647. _this2.removeBtn(_this, "footer-control-right", "imou_player_footer");
  8648. }
  8649. }, {
  8650. id: "webExpend",
  8651. name: "网页全屏",
  8652. innerHtml: "\n <div id=\"webExtendControl\" class=\"player_footer-control-item\">\n <!-- \u5168\u5C4F\u63A7\u5236\u6309\u94AE -->\n <svg title=\"\u5168\u5C4F/\u6062\u590D\" class=\"iconfont footer-control-item\" fill=\"".concat(_this2.options.themeData[1].fontColor, "\" style=\"display:inline-block\" >\n <use xlink:href=\"#icon-Icon_WangYeQuanPing\"></use>\n </svg>\n <svg title=\"\u5168\u5C4F/\u6062\u590D\" class=\"iconfont footer-control-item\" fill=\"").concat(_this2.options.themeData[1].activeButtonColor, "\" style=\"display:none\" >\n <use xlink:href=\"#icon-Icon_WangYeQuanPing\"></use>\n </svg>\n </div>"),
  8653. onclick: function onclick() {
  8654. if (!_this2.playerStatus.isEdit) {
  8655. var webExtendControl = document.getElementById("webExtendControl");
  8656. if (_this2.playerStatus.isWebFullScreen) {
  8657. var sdButton = webExtendControl.children[1];
  8658. sdButton.removeAttribute("style");
  8659. sdButton.setAttribute("style", "display:none");
  8660. var hdButton = webExtendControl.children[0];
  8661. hdButton.removeAttribute("style");
  8662. hdButton.setAttribute("style", "display:inline-block");
  8663. } else {
  8664. var _hdButton2 = webExtendControl.children[0];
  8665. _hdButton2.removeAttribute("style");
  8666. _hdButton2.setAttribute("style", "display:none");
  8667. var _sdButton2 = webExtendControl.children[1];
  8668. _sdButton2.removeAttribute("style");
  8669. _sdButton2.setAttribute("style", "display:inline-block");
  8670. }
  8671. _this2._toggleWebFullScreen();
  8672. setTimeout(function () {
  8673. var app = document.getElementById(_this2.rootId);
  8674. console.log(_this2.playerStatus.isFullScreen);
  8675. if (_this2.playerStatus.isPlayBack) {
  8676. var timeLineControl = document.getElementById("timeLine_web");
  8677. timeLineControl.removeChild(timeLineControl.childNodes[0]);
  8678. var webTimeLine = document.createElement("canvas");
  8679. webTimeLine.setAttribute("id", "player_timeLine-web");
  8680. webTimeLine.setAttribute("width", timeLineControl.clientWidth);
  8681. webTimeLine.setAttribute("height", timeLineControl.clientHeight);
  8682. timeLineControl.appendChild(webTimeLine);
  8683. var that = _this2;
  8684. _this2.timeLineWeb.init({
  8685. id: "player_timeLine-web",
  8686. onChange: function onChange(newTime) {
  8687. that.isMutedBackup = that.playerStatus.isMuted;
  8688. that.stopFresh = true;
  8689. console.log("time change", newTime);
  8690. console.log(that.dateTime, "-----------------------2819");
  8691. that.changeTime = that.dateTime + newTime * 1000;
  8692. that.urlParams.beginTime = src_utils.getFormatTime(that.changeTime);
  8693. that.createPlayerInstance();
  8694. },
  8695. startTime: function startTime() {
  8696. that.stopFresh = false; // that.start();
  8697. that.startTimeLine(that, that.changeTime);
  8698. },
  8699. stopTime: function stopTime() {
  8700. // that.pause()
  8701. that.stopFresh = true; // that.stop();
  8702. that.changeTimeLine = true;
  8703. that.stopTimeLine(that);
  8704. },
  8705. recordArea: that.playerStatus.recordList,
  8706. isMobile: false,
  8707. isFullScreen: false,
  8708. height: timeLineControl.clientHeight,
  8709. width: timeLineControl.clientWidth
  8710. });
  8711. }
  8712. }, 100);
  8713. } else {
  8714. console.log("编辑状态下不响应事件");
  8715. }
  8716. },
  8717. onmoveleft: function onmoveleft(_this) {
  8718. console.log("全屏键左移");
  8719. _this2.moveToLeft(_this, "footer-control-left");
  8720. },
  8721. onmoveright: function onmoveright(_this) {
  8722. console.log("全屏键右移");
  8723. _this2.moveToRight(_this, "footer-control-left");
  8724. },
  8725. onremove: function onremove(_this) {
  8726. console.log("移除全屏键");
  8727. _this2.removeBtn(_this, "footer-control-left", "imou_player_footer");
  8728. }
  8729. }, {
  8730. id: "extend",
  8731. name: "全屏控制",
  8732. innerHtml: "\n <div id=\"ExtendControl\" class=\"player_footer-control-item\">\n <!-- \u5168\u5C4F\u63A7\u5236\u6309\u94AE -->\n <svg title=\"\u5168\u5C4F/\u6062\u590D\" class=\"iconfont footer-control-item\" fill=\"".concat(_this2.options.themeData[1].fontColor, "\" style=\"display:inline-block\" >\n <use xlink:href=\"#icon-Icon_QuanPing\"></use>\n </svg>\n <svg title=\"\u5168\u5C4F/\u6062\u590D\" class=\"iconfont footer-control-item\" fill=\"").concat(_this2.options.themeData[1].activeButtonColor, "\" style=\"display:none\" >\n <use xlink:href=\"#icon-Icon_QuanPing\"></use>\n </svg>\n </div>"),
  8733. onclick: function onclick() {
  8734. if (!_this2.playerStatus.isWebFullScreen) {
  8735. if (!_this2.playerStatus.isEdit) {
  8736. console.log("点击全屏");
  8737. var ExtendControl = document.getElementById("ExtendControl");
  8738. if (_this2.playerStatus.isFullScreen) {
  8739. var sdButton = ExtendControl.children[1];
  8740. sdButton.removeAttribute("style");
  8741. sdButton.setAttribute("style", "display:none");
  8742. var hdButton = ExtendControl.children[0];
  8743. hdButton.removeAttribute("style");
  8744. hdButton.setAttribute("style", "display:inline-block");
  8745. } else {
  8746. var _hdButton3 = ExtendControl.children[0];
  8747. _hdButton3.removeAttribute("style");
  8748. _hdButton3.setAttribute("style", "display:none");
  8749. var _sdButton3 = ExtendControl.children[1];
  8750. _sdButton3.removeAttribute("style");
  8751. _sdButton3.setAttribute("style", "display:inline-block");
  8752. }
  8753. if (_this2.playerStatus.isMobile && !_this2.playerStatus.isFullScreen) {
  8754. var PTZControl = document.getElementById("PTZControl");
  8755. if (PTZControl) {
  8756. var PTZCloseButton = PTZControl.children[1];
  8757. PTZCloseButton.removeAttribute("style");
  8758. PTZCloseButton.setAttribute("style", "display:none");
  8759. var PTZOpenButton = PTZControl.children[0];
  8760. PTZOpenButton.removeAttribute("style");
  8761. PTZOpenButton.setAttribute("style", "display:inline-block");
  8762. }
  8763. var panel = document.getElementById("PTZArea");
  8764. if (panel) {
  8765. panel.style = "display:none";
  8766. }
  8767. _this2.playerStatus.isPTZOpen = !_this2.playerStatus.isPTZOpen;
  8768. }
  8769. _this2.btnFullScreen = document.querySelector("#ExtendControl");
  8770. _this2.currentHeaderButtonList = _this2.showHeaderList(_this2.themeData[0]);
  8771. console.log(_this2.currentHeaderButtonList);
  8772. var leftDOM = document.getElementById("header-control-left");
  8773. var rightDOM = document.getElementById("header-control-right");
  8774. leftDOM.innerHTML = "";
  8775. rightDOM.innerHTML = "";
  8776. _this2.currentHeaderButtonList.forEach(function (item) {
  8777. _this2.headerButtonList().map(function (value) {
  8778. if (item.id === value.id && item.show === true) {
  8779. var ButtonItemDom = _this2.addHeaderEditItem(value); // if (item.isActive == true) {}
  8780. if (item.position === "left") {
  8781. leftDOM.appendChild(ButtonItemDom);
  8782. } else {
  8783. rightDOM.appendChild(ButtonItemDom);
  8784. }
  8785. }
  8786. });
  8787. });
  8788. if ((platform_default()).os.family !== "iOS") {
  8789. window.addEventListener("keydown", function (e) {
  8790. var value = e.keyCode || e.which;
  8791. if (_this2.isFullScreen && value === 27) {
  8792. console.info("esc");
  8793. _this2._toggleFullScreen();
  8794. }
  8795. });
  8796. document.addEventListener("webkitfullscreenchange", function (e) {
  8797. if (!e.currentTarget.webkitIsFullScreen) _this2.exitFullScreen.call(_this2);
  8798. });
  8799. document.addEventListener("fullscreenchange", function (e) {
  8800. if (!document.fullscreen) _this2.exitFullScreen();
  8801. });
  8802. }
  8803. if (_this2.playerStatus.isMobile && _this2.playerStatus.isPlayBack) {
  8804. var H5TimeLinePanel = document.getElementById("Timeline-h5-extend-Area");
  8805. if (!_this2.isH5ExtendShow) {
  8806. H5TimeLinePanel.removeAttribute("style");
  8807. H5TimeLinePanel.setAttribute("style", "display:block");
  8808. } else {
  8809. H5TimeLinePanel.removeAttribute("style");
  8810. H5TimeLinePanel.setAttribute("style", "display:none");
  8811. }
  8812. _this2.isH5ExtendShow = !_this2.isH5ExtendShow;
  8813. }
  8814. if (!_this2.playerStatus.isMobile) {
  8815. if (_this2.playerStatus.isPlayBack && _this2.playerStatus.playBackType == "localRecord") {
  8816. var localRecordButton = document.getElementById("localVideoControl");
  8817. var localOffButton = localRecordButton.children[0];
  8818. localOffButton.removeAttribute("style");
  8819. localOffButton.setAttribute("style", "display:none");
  8820. var localOnButton = localRecordButton.children[1];
  8821. localOnButton.removeAttribute("style");
  8822. localOnButton.setAttribute("style", "display:inline-block");
  8823. } else if (_this2.playerStatus.isPlayBack && _this2.playerStatus.playBackType == "cloudRecord") {
  8824. var cloudRecordButton = document.getElementById("cloudVideoControl");
  8825. var cloudOffButton = cloudRecordButton.children[0];
  8826. cloudOffButton.removeAttribute("style");
  8827. cloudOffButton.setAttribute("style", "display:none");
  8828. var cloudOnButton = cloudRecordButton.children[1];
  8829. cloudOnButton.removeAttribute("style");
  8830. cloudOnButton.setAttribute("style", "display:inline-block");
  8831. }
  8832. var app = document.getElementById(_this2.rootId);
  8833. console.log(_this2.playerStatus.isFullScreen);
  8834. if (!_this2.playerStatus.isFullScreen) {
  8835. _this2._toggleFullScreen();
  8836. setTimeout(function () {
  8837. app.style.height = window.innerHeight + "px";
  8838. app.style.width = window.innerWidth + "px";
  8839. }, 300); // app.style.zIndex = '5000'
  8840. } else {
  8841. _this2._toggleFullScreen();
  8842. console.log(_this2.options.width, _this2.options.height);
  8843. app.style.width = _this2.options.width;
  8844. app.style.height = _this2.options.height; // app.style.zIndex = '0'
  8845. }
  8846. setTimeout(function () {
  8847. if (_this2.playerStatus.isPlayBack) {
  8848. var timeLineControl = document.getElementById("timeLine_web");
  8849. timeLineControl.removeChild(timeLineControl.childNodes[0]);
  8850. var webTimeLine = document.createElement("canvas");
  8851. webTimeLine.setAttribute("id", "player_timeLine-web");
  8852. webTimeLine.setAttribute("width", timeLineControl.clientWidth);
  8853. webTimeLine.setAttribute("height", timeLineControl.clientHeight);
  8854. timeLineControl.appendChild(webTimeLine);
  8855. var that = _this2;
  8856. _this2.timeLineWeb.init({
  8857. id: "player_timeLine-web",
  8858. onChange: function onChange(newTime) {
  8859. that.isMutedBackup = that.playerStatus.isMuted;
  8860. that.stopFresh = true;
  8861. console.log("time change", newTime);
  8862. console.log(that.dateTime, "-----------------------3016");
  8863. that.changeTime = that.dateTime + newTime * 1000;
  8864. that.urlParams.beginTime = src_utils.getFormatTime(that.changeTime);
  8865. that.createPlayerInstance();
  8866. },
  8867. startTime: function startTime() {
  8868. that.stopFresh = false; // that.start();
  8869. that.startTimeLine(that, that.changeTime);
  8870. },
  8871. stopTime: function stopTime() {
  8872. // that.pause()
  8873. that.stopFresh = true; // that.stop();
  8874. that.changeTimeLine = true;
  8875. that.stopTimeLine(that);
  8876. },
  8877. recordArea: that.playerStatus.recordList,
  8878. isMobile: false,
  8879. isFullScreen: false,
  8880. height: timeLineControl.clientHeight,
  8881. width: timeLineControl.clientWidth
  8882. });
  8883. }
  8884. }, 300);
  8885. } else {
  8886. setTimeout(function () {
  8887. var app = document.getElementById(_this2.rootId);
  8888. console.log(_this2.playerStatus.isFullScreen);
  8889. if (!_this2.playerStatus.isFullScreen) {
  8890. app.style.height = window.innerWidth + "px";
  8891. app.style.width = window.innerHeight + "px";
  8892. console.log(app.getBoundingClientRect(), app.getBoundingClientRect(), "-------------------");
  8893. app.style.transformOrigin = "top left";
  8894. app.style.transform = "rotate(90deg) translateY(-100%)";
  8895. app.style.zIndex = "200";
  8896. app.style.position = "fixed";
  8897. } else {
  8898. app.style.width = window.innerWidth + "px";
  8899. app.style.height = parseInt(window.innerWidth * 9 / 16) + "px";
  8900. app.style.transform = "rotate(0deg)";
  8901. app.style.zIndex = "0";
  8902. app.style.position = "static";
  8903. }
  8904. if (_this2.playerStatus.isPlayBack) {
  8905. var H5TimelineExtendPanel = document.getElementById("Timeline-h5-extend-Panel");
  8906. console.log(H5TimelineExtendPanel.clientWidth, H5TimelineExtendPanel.clientHeight, "------------------abacasdas");
  8907. H5TimelineExtendPanel.removeChild(H5TimelineExtendPanel.childNodes[0]);
  8908. var H5TimeLineExtend = document.createElement("canvas");
  8909. H5TimeLineExtend.setAttribute("id", "player_timeLine-h5-extend");
  8910. H5TimeLineExtend.setAttribute("width", H5TimelineExtendPanel.clientWidth);
  8911. H5TimeLineExtend.setAttribute("height", H5TimelineExtendPanel.clientHeight);
  8912. H5TimelineExtendPanel.appendChild(H5TimeLineExtend);
  8913. var that = _this2;
  8914. _this2.timeLineH5Expend.init({
  8915. id: "player_timeLine-h5-extend",
  8916. onChange: function onChange(newTime) {
  8917. that.isMutedBackup = that.playerStatus.isMuted;
  8918. that.stopFresh = true;
  8919. console.log("time change", newTime);
  8920. console.log(that.dateTime, "-----------------------3098");
  8921. that.changeTime = that.dateTime + newTime * 1000;
  8922. console.log(src_utils.getFormatTime(that.changeTime), "abcdesdfgedasdddddddd");
  8923. that.urlParams.beginTime = src_utils.getFormatTime(that.changeTime);
  8924. that.createPlayerInstance();
  8925. },
  8926. startTime: function startTime() {
  8927. that.stopFresh = false; // that.start();
  8928. that.startTimeLine(that, that.changeTime);
  8929. },
  8930. stopTime: function stopTime() {
  8931. that.stopFresh = true; // that.stop();
  8932. that.changeTimeLine = true;
  8933. that.stopTimeLine(that);
  8934. },
  8935. recordArea: that.playerStatus.recordList,
  8936. isMobile: true,
  8937. isFullScreen: true,
  8938. height: H5TimelineExtendPanel.clientHeight,
  8939. width: H5TimelineExtendPanel.clientWidth
  8940. });
  8941. }
  8942. _this2.playerStatus.isFullScreen = !_this2.playerStatus.isFullScreen;
  8943. }, 300);
  8944. }
  8945. } else {
  8946. console.log("编辑状态下不响应事件");
  8947. }
  8948. }
  8949. },
  8950. onmoveleft: function onmoveleft(_this) {
  8951. console.log("全屏键左移");
  8952. _this2.moveToLeft(_this, "footer-control-left");
  8953. },
  8954. onmoveright: function onmoveright(_this) {
  8955. console.log("全屏键右移");
  8956. _this2.moveToRight(_this, "footer-control-left");
  8957. },
  8958. onremove: function onremove(_this) {
  8959. console.log("移除全屏键");
  8960. _this2.removeBtn(_this, "footer-control-left", "imou_player_footer");
  8961. }
  8962. }];
  8963. });
  8964. _defineProperty(this, "moveToLeft", function (_this, targetDOMID) {
  8965. var dom = document.getElementById(targetDOMID);
  8966. for (var i = 0; i < dom.childNodes.length; i++) {
  8967. if (_this.id.indexOf(dom.childNodes[i].id) > -1) {
  8968. if (i === 0) {
  8969. console.log("该图标已经在首位");
  8970. return;
  8971. }
  8972. var tmp0 = document.createElement("div");
  8973. var tmp1 = dom.childNodes[i];
  8974. var tmp2 = dom.childNodes[i - 1];
  8975. dom.replaceChild(tmp0, tmp1);
  8976. dom.replaceChild(tmp1, tmp2);
  8977. dom.replaceChild(tmp2, tmp0);
  8978. return;
  8979. }
  8980. }
  8981. });
  8982. _defineProperty(this, "moveToRight", function (_this, targetDOMID) {
  8983. var dom = document.getElementById(targetDOMID);
  8984. for (var i = 0; i < dom.childNodes.length; i++) {
  8985. if (_this.id.indexOf(dom.childNodes[i].id) > -1) {
  8986. if (i === dom.childNodes.length - 1) {
  8987. console.log("该图标已经在末尾");
  8988. return;
  8989. }
  8990. var tmp0 = document.createElement("div");
  8991. var tmp1 = dom.childNodes[i];
  8992. var tmp2 = dom.childNodes[i + 1];
  8993. dom.replaceChild(tmp0, tmp2);
  8994. dom.replaceChild(tmp2, tmp1);
  8995. dom.replaceChild(tmp1, tmp0);
  8996. return;
  8997. }
  8998. }
  8999. });
  9000. _defineProperty(this, "removeBtn", function (_this, targetDOMID, type) {
  9001. var index = type === "imou_player_footer" ? 1 : 0;
  9002. var dom = document.getElementById(targetDOMID);
  9003. for (var i = 0; i < dom.childNodes.length; i++) {
  9004. if (_this.id.indexOf(dom.childNodes[i].id) > -1) {
  9005. // window.parent.postMessage({
  9006. // id: getQueryString("id"),
  9007. // type: "removeEventHandle",
  9008. // data: {
  9009. // area: targetDOMID.indexOf("head") > -1 ? "imou_player_header" : "imou_player_footer",
  9010. // id: dom.childNodes[i].id,
  9011. // },
  9012. // code: 0,
  9013. // },
  9014. // getParentUrl()
  9015. // );
  9016. dom.childNodes[i].parentNode.removeChild(dom.childNodes[i]);
  9017. for (var _i = 0; _i < _this2.themeData[index].btnList.length; _i++) {
  9018. if (_this2.themeData[index].btnList[_i].iconId === _this.id) {
  9019. _this2.themeData[index].btnList[_i].show = 0;
  9020. }
  9021. }
  9022. return;
  9023. }
  9024. }
  9025. });
  9026. _defineProperty(this, "showFooterList", function (footer) {
  9027. var result = [];
  9028. if (footer.buttonList) {
  9029. // result.push({ footerContainer: true });
  9030. var _iterator2 = _createForOfIteratorHelper(footer.buttonList),
  9031. _step2;
  9032. try {
  9033. for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
  9034. var item = _step2.value;
  9035. switch (item.id) {
  9036. // 移动端不添加网页全屏按钮
  9037. case "webExpend":
  9038. if (!_this2.playerStatus.isMobile) {
  9039. result.push(item);
  9040. }
  9041. break;
  9042. case "talk":
  9043. if (_this2.playerStatus.isPlayBack == false) {
  9044. result.push(item);
  9045. }
  9046. break;
  9047. // 云台
  9048. case "PTZ":
  9049. if (_this2.playerStatus.isPlayBack == false) {
  9050. result.push(item);
  9051. }
  9052. break;
  9053. case "definition":
  9054. if (_this2.playerStatus.isPlayBack == false) {
  9055. result.push(item);
  9056. }
  9057. break;
  9058. default:
  9059. result.push(item);
  9060. break;
  9061. }
  9062. }
  9063. } catch (err) {
  9064. _iterator2.e(err);
  9065. } finally {
  9066. _iterator2.f();
  9067. }
  9068. }
  9069. return result;
  9070. });
  9071. _defineProperty(this, "addFooterEditItem", function (item) {
  9072. var editSVG; // 编辑按钮组合dom
  9073. var objE; // 临时存储对象
  9074. var dom; // 处理后得到的的dom
  9075. if (_this2.playerStatus.isEdit) {
  9076. editSVG = "\n <span id=\"".concat(item.id, "\" style=\"position:relative;margin:0 6px\">\n <div id=\"").concat(item.id, "-left\" style=\"position: absolute;top: calc(50% - 10px);display: inline-block;\">\n <svg title=\"\u56FE\u6807\u5DE6\u79FB\" class=\"iconfont\" fill=\"#ffffff\" width=\"10\" height=\"20\" style=\"background:#000000\" >\n <use xlink:href=\"#icon-Icon_Left\"></use>\n </svg>\n </div>\n <div id=\"").concat(item.id, "-content\" title=\"").concat(item.name, "\">\n ").concat(item.innerHtml, "\n </div>\n <div id=\"").concat(item.id, "-right\" style=\"position: absolute;top: calc(50% - 10px);left: calc(100% - 10px);display: inline-block; \">\n <svg title=\"\u56FE\u6807\u53F3\u79FB\" class=\"iconfont\" fill=\"#ffffff\" width=\"10\" height=\"20\" style=\"background:#000000\" >\n <use xlink:href=\"#icon-Icon_Right\"></use>\n </svg>\n </div>\n <div id=\"").concat(item.id, "-remove\" style=\"position: absolute;top: -6px;left: calc(100% - 16px);display: inline-block; \">\n <svg title=\"\u56FE\u6807\u5220\u9664\" class=\"iconfont\" fill=\"#ffffff\" width=\"10\" height=\"10\" style=\"background:#000000\" >\n <use xlink:href=\"#icon-Console_icon_delete\"></use>\n </svg>\n </div>\n </span> \n ");
  9077. } else {
  9078. editSVG = "\n <span id=\"".concat(item.id, "\" style=\"position:relative;margin:0 6px\">\n <div id=\"").concat(item.id, "-left\" style=\"position: absolute;top: calc(50% - 10px);display: none;\">\n <svg title=\"\u56FE\u6807\u5DE6\u79FB\" class=\"iconfont\" fill=\"#ffffff\" width=\"10\" height=\"20\" style=\"background:#000000\" >\n <use xlink:href=\"#icon-Icon_Left\"></use>\n </svg>\n </div>\n <div id=\"").concat(item.id, "-content\" title=\"").concat(item.name, "\">\n ").concat(item.innerHtml, "\n </div>\n <div id=\"").concat(item.id, "-right\" style=\"position: absolute;top: calc(50% - 10px);left: calc(100% - 10px);display: none; \">\n <svg title=\"\u56FE\u6807\u53F3\u79FB\" class=\"iconfont\" fill=\"#ffffff\" width=\"10\" height=\"20\" style=\"background:#000000\" >\n <use xlink:href=\"#icon-Icon_Right\"></use>\n </svg>\n </div>\n <div id=\"").concat(item.id, "-remove\" style=\"position: absolute;top: -6px;left: calc(100% - 16px);display: none; \">\n <svg title=\"\u56FE\u6807\u5220\u9664\" class=\"iconfont\" fill=\"#ffffff\" width=\"10\" height=\"10\" style=\"background:#000000\" >\n <use xlink:href=\"#icon-Console_icon_delete\"></use>\n </svg>\n </div>\n </span> \n ");
  9079. }
  9080. objE = document.createElement("div");
  9081. objE.innerHTML = editSVG;
  9082. dom = objE.children[0]; // 绑定事件,[0]:左移按钮dom,[1]:主体按钮dom,[2]:右移按钮dom,[3]:移除按钮dom
  9083. if (item.onmoveleft) {
  9084. dom.children[0].onclick = function () {
  9085. item.onmoveleft(this);
  9086. };
  9087. }
  9088. if (item.onclick) {
  9089. dom.children[1].onclick = function () {
  9090. item.onclick();
  9091. };
  9092. }
  9093. if (item.onmoveright) {
  9094. dom.children[2].onclick = function () {
  9095. item.onmoveright(this);
  9096. };
  9097. }
  9098. if (item.onremove) {
  9099. dom.children[3].onclick = function () {
  9100. item.onremove(this);
  9101. };
  9102. }
  9103. return dom;
  9104. });
  9105. this.currentHeaderButtonList = [];
  9106. this.currentFooterButtonList = [];
  9107. this.timeSetInterval;
  9108. this.changeTime = null;
  9109. if (options.type == "2") {
  9110. if (!options.isMobile) {
  9111. this.timeLineWeb = new timeLine();
  9112. } else {
  9113. this.timeLineH5 = new timeLine();
  9114. this.timeLineH5Expend = new timeLine();
  9115. }
  9116. }
  9117. console.log(options);
  9118. this.rootId = options.rootId.split('#')[1];
  9119. console.log(window); // 播放器是否正在播放
  9120. this.isPlaying = false;
  9121. this.isH5ExtendShow = false;
  9122. this.isH5Extend = true; // 播放器是否静音
  9123. // this.isMuted = true;
  9124. // TODO: 将这些属性可以转换成构造器对象,监听变化图标样式和行为
  9125. // message.run('测试', 'success', 5000)
  9126. this.playerStatus = {
  9127. isEdit: options.isEdit || false,
  9128. isMobile: options.isMobile || false,
  9129. isPlayBack: options.type == "2" ? true : false,
  9130. isFullScreen: options.isFullScreen || false,
  9131. isWebFullScreen: false,
  9132. isAutoPlay: options.autoplay || true,
  9133. isHD: true,
  9134. isPTZOpen: false,
  9135. state: {
  9136. play: true
  9137. },
  9138. playBackType: "cloudRecord",
  9139. recordNum: 0,
  9140. recordList: []
  9141. };
  9142. this.changeDateFlag = false;
  9143. this.changeTimeLine = false;
  9144. this.isMutedBackup = null;
  9145. this.isEndRecordList = true;
  9146. this.dateTime = null;
  9147. this.stopFresh = false;
  9148. this.isInitialized = false;
  9149. console.log(options.urlParams.recordType);
  9150. this.playerStatus.playBackType = options.urlParams.recordType && options.urlParams.recordType == "localRecord" ? "localRecord" : "cloudRecord";
  9151. var isMuted = false;
  9152. this.changeDisabled = false;
  9153. this.isChangeDate = false;
  9154. Object.defineProperty(this.playerStatus, "isMuted", {
  9155. get: function get() {
  9156. return isMuted;
  9157. },
  9158. set: function set(value) {
  9159. // 解决小米9Se设备上打开音频视频会自动暂停的问题
  9160. if (_this2.videoPlayer && !_this2.videoPlayer.paused) {
  9161. setTimeout(function () {
  9162. return _this2.videoPlayer.play();
  9163. }, 500);
  9164. }
  9165. _this2.setVolume(value ? 0 : 1); // utils.setAttr(
  9166. // this.btnSound,
  9167. // "class",
  9168. // `player__btn player__btn-large iconfont icon${value ? "jingyin" : "shengyin"
  9169. // }`
  9170. // );
  9171. isMuted = value;
  9172. }
  9173. }); // is mobile environment
  9174. this.playerStatus.isMuted = options.automute;
  9175. this.themeData = options.themeData;
  9176. this.root = document.createElement("div");
  9177. src_utils.setStyle(this.root, {
  9178. width: "100%",
  9179. height: "100%" // position: "relative",
  9180. });
  9181. this.urlParams = this.checkData(options.urlParams, options.type);
  9182. this.playerStatus.isHD = this.urlParams.streamId == 1 ? false : true; // 判断是否开启语音对讲功能 存在且为对象 不能为录播
  9183. if (options.talk && _typeof(options.talk) === "object" && options.type === "1") {
  9184. this.talk = Object.assign(options.talk, {
  9185. pc: null,
  9186. sessionId: ""
  9187. });
  9188. var that = this; // 对页面卸载添加 语音对讲关闭函数 避免语音对讲泄露
  9189. window.addEventListener("beforeunload", function () {
  9190. that.talk.pc && that.talk.pc.close();
  9191. localStorage.setItem("beforeunload talk", JSON.stringify(_this2.talk));
  9192. });
  9193. window.addEventListener("unload", function () {
  9194. localStorage.setItem("unload talk", JSON.stringify(_this2.talk));
  9195. that.talk.pc && that.talk.pc.close();
  9196. });
  9197. }
  9198. this.options = options;
  9199. this.options.width = this.options.rootSelect.style.width;
  9200. this.options.height = this.options.rootSelect.style.height;
  9201. this.options.root.appendChild(this.root);
  9202. console.log("调用Init");
  9203. console.log(/Apple Computer/.test(navigator.vendor), /Safari/.test(navigator.userAgent), navigator, '---------------------');
  9204. this.init(this.options);
  9205. }
  9206. /**
  9207. * 检查用户传的额外参数,如果没传则赋予默认值,其余参数直接返回,自动判断streamType和protocolType
  9208. * @param streamId 默认为1-标清
  9209. * @param protocolType 默认为1-http
  9210. * @param streamType 默认为hls
  9211. * @param beginTime 默认为当天零点
  9212. * @param endTime 默认为当前时间
  9213. * @param extraParams
  9214. * @param type
  9215. */
  9216. _createClass(Player, [{
  9217. key: "checkData",
  9218. value: function checkData(_ref, type) {
  9219. var streamId = _ref.streamId,
  9220. protocolType = _ref.protocolType,
  9221. streamType = _ref.streamType,
  9222. beginTime = _ref.beginTime,
  9223. endTime = _ref.endTime,
  9224. extraParams = _objectWithoutProperties(_ref, _excluded);
  9225. var name = (platform_default()).name;
  9226. var isFirefoxOrEdge = name === "Firefox" || name === "IE" || name === "Microsoft Edge";
  9227. var isMobile = this.playerStatus.isMobile;
  9228. console.log(!streamId);
  9229. if (!streamId) streamId = 0;
  9230. if (!protocolType) protocolType = location.protocol === "http:" ? "1" : "2"; // if (!protocolType) protocolType = "1";
  9231. // pc端使用rtsp播放
  9232. if (!streamType) {
  9233. streamType = !this.isMobile ? "rtsp" : "hls";
  9234. if (isMobile) streamType = "hls"; else if (isFirefoxOrEdge) {
  9235. if (type === "1" && streamId === 1) {
  9236. streamType = "hls";
  9237. } else {
  9238. streamType = "rtsp";
  9239. this.browserWarn();
  9240. }
  9241. } else {
  9242. streamType = "rtsp";
  9243. }
  9244. }
  9245. var _utils$getRecordTimeR = src_utils.getRecordTimeRange(),
  9246. defaultBeginTime = _utils$getRecordTimeR.beginTime,
  9247. defaultEndTime = _utils$getRecordTimeR.endTime;
  9248. console.log(extraParams); // console.log(new Date(beginTime), new Date(defaultBeginTime));
  9249. streamType = "rtsp";
  9250. if (beginTime) {
  9251. this.dateTime = new Date(beginTime.replace(/-/g, "/")).getTime();
  9252. } else if (defaultBeginTime) {
  9253. this.dateTime = new Date(defaultBeginTime.replace(/-/g, "/")).getTime();
  9254. } // console.log(
  9255. // "dateTime",
  9256. // this.dateTime,
  9257. // beginTime,
  9258. // defaultBeginTime,
  9259. // new Date(beginTime.replace(/-/g, '/')).getTime(),
  9260. // new Date(defaultBeginTime.replace(/-/g, '/')).getTime()
  9261. // );
  9262. return _objectSpread({
  9263. streamId: streamId,
  9264. protocolType: protocolType,
  9265. streamType: streamType,
  9266. beginTime: beginTime || defaultBeginTime,
  9267. endTime: endTime || defaultEndTime
  9268. }, extraParams);
  9269. }
  9270. /**
  9271. * 浏览器警告
  9272. */
  9273. }, {
  9274. key: "browserWarn",
  9275. value: function browserWarn() {
  9276. console.warn("当前浏览器版本过低,建议使用最新版谷歌浏览器播放或切换为标清视频");
  9277. }
  9278. /**
  9279. * 添加控制栏事件监听
  9280. */
  9281. }, {
  9282. key: "addControlsEvent",
  9283. value: function addControlsEvent(panelDom) {
  9284. var _this3 = this;
  9285. this.btnPlay = panelDom.querySelector("#playerControls");
  9286. this.btnStop = panelDom.querySelector("#playerStop");
  9287. this.btnSound = panelDom.querySelector("#playerSound");
  9288. this.btnFullScreen = panelDom.querySelector("#playerFullScreen");
  9289. this.playerControls = panelDom.querySelector(".player__controls");
  9290. this.btnTalk = panelDom.querySelector("#playerTalk");
  9291. this.btnPlay.addEventListener("click", this.playOrPause.bind(this));
  9292. this.btnStop.addEventListener("click", this.stop.bind(this));
  9293. this.root.addEventListener("mouseenter", this.showControl.bind(this));
  9294. this.root.addEventListener("mousemove", this.showControl.bind(this));
  9295. this.talk && this.btnTalk.addEventListener("click", this.talkStartOrStop.bind(this));
  9296. if (this.btnFullScreen) {
  9297. this.btnFullScreen.addEventListener("click", function () {
  9298. _this3.videoPlayer.webkitEnterFullScreen();
  9299. });
  9300. }
  9301. this.btnSound.addEventListener("click", function () {
  9302. _this3.playerStatus.isMuted = !_this3.playerStatus.isMuted;
  9303. });
  9304. }
  9305. /**
  9306. * 切换音量
  9307. */
  9308. }, {
  9309. key: "toggleVolume",
  9310. value: function toggleVolume() {
  9311. this.setVolume(this.playerStatus.isMuted ? 0 : 1);
  9312. this.playerStatus.isMuted = !this.playerStatus.isMuted;
  9313. }
  9314. /**
  9315. * 展示控制栏,三秒钟后关闭
  9316. */
  9317. }, {
  9318. key: "showControl",
  9319. value: function showControl() {
  9320. var _this4 = this;
  9321. clearTimeout(this.timer);
  9322. var header = document.getElementById("imou_player_header");
  9323. var footer = document.getElementById("imou_player_footer");
  9324. header.style.opacity = 1;
  9325. footer.style.opacity = 1;
  9326. this.timer = setTimeout(function () {
  9327. _this4.hideControl();
  9328. }, 3000);
  9329. }
  9330. /**
  9331. * 隐藏控制栏
  9332. */
  9333. }, {
  9334. key: "hideControl",
  9335. value: function hideControl() {
  9336. var header = document.getElementById("imou_player_header");
  9337. var footer = document.getElementById("imou_player_footer");
  9338. header.style.opacity = 0;
  9339. footer.style.opacity = 0;
  9340. }
  9341. /**
  9342. * 点击按钮开始播放或者暂停
  9343. */
  9344. }, {
  9345. key: "playOrPause",
  9346. value: function playOrPause() {
  9347. if (!this.isPlaying) {
  9348. this.play();
  9349. } else {
  9350. this.pause();
  9351. }
  9352. }
  9353. /**
  9354. * 开始播放
  9355. */
  9356. }, {
  9357. key: "play",
  9358. value: function play() {
  9359. var _this5 = this;
  9360. this.isPlaying = true; // if (this.controls) {
  9361. // utils.setAttr(
  9362. // this.btnPlay,
  9363. // "class",
  9364. // "player__btn player__btn-large iconfont iconbofangzanting"
  9365. // );
  9366. // }
  9367. if (this.poster) this.poster.style.display = "none";
  9368. if (this.canvasPlayer) {
  9369. console.info("canvas play");
  9370. this.canvasPlayer.play();
  9371. } else if (this.videoJsPlayer) {
  9372. console.info("videojs play");
  9373. this.videoJsPlayer.play();
  9374. } else if (this.videoPlayer) {
  9375. console.info("videoh5 play"); // console.log(this.videoPlayer.play());
  9376. setTimeout(function () {
  9377. _this5.videoPlayer.play();
  9378. }, 1000);
  9379. } else {
  9380. console.info("other play"); // this.tipDom.innerHTML = '视频加载中';
  9381. this.createPlayerInstance();
  9382. }
  9383. }
  9384. /**
  9385. * 暂停
  9386. */
  9387. }, {
  9388. key: "pause",
  9389. value: function pause() {
  9390. this.isPlaying = false; // utils.setAttr(
  9391. // this.btnPlay,
  9392. // "class",
  9393. // "player__btn player__btn-large iconfont iconbofang"
  9394. // );
  9395. if (this.canvasPlayer) {
  9396. this.canvasPlayer.pause();
  9397. }
  9398. if (this.videoJsPlayer) {
  9399. this.videoJsPlayer.pause();
  9400. }
  9401. if (this.videoPlayer) {
  9402. this.videoPlayer.pause();
  9403. }
  9404. }
  9405. /**
  9406. * 停止
  9407. */
  9408. }, {
  9409. key: "stop",
  9410. value: function stop() {
  9411. // this.playerStatus.isMuted = true; // 这行代码一定要放在最前面,不然会出现爆栈
  9412. if (this.videoJsPlayer) this.videoJsPlayer.dispose();
  9413. if (this.videoPlayer) {
  9414. // TODO: add code
  9415. this.root.removeChild(this.videoPlayer);
  9416. }
  9417. if (this.canvasPlayer) {
  9418. this.canvasPlayer.close();
  9419. if (this.canvasEl) {
  9420. this.root.removeChild(this.canvasEl);
  9421. }
  9422. if (this.videoEl) {
  9423. this.root.removeChild(this.videoEl);
  9424. }
  9425. }
  9426. this.isPlaying = false;
  9427. this.canvasPlayer = null;
  9428. this.videoJsPlayer = null;
  9429. this.videoPlayer = null;
  9430. src_utils.setAttr(this.btnPlay, "class", "player__btn player__btn-large iconfont iconbofang");
  9431. this.tipDom.innerHTML = "";
  9432. }
  9433. /**
  9434. * 设置音量
  9435. * @param value 0-1
  9436. */
  9437. }, {
  9438. key: "setVolume",
  9439. value: function setVolume(value) {
  9440. console.log(value, "volume");
  9441. if (typeof value !== "number") {
  9442. error("Param of volume must be a number");
  9443. return;
  9444. }
  9445. if (value > 1 || value < 0) {
  9446. error("Param of volume must be between from 0 to 1");
  9447. return;
  9448. }
  9449. if (this.videoJsPlayer) {
  9450. this.videoJsPlayer.muted(!value);
  9451. this.videoJsPlayer.volume(value);
  9452. }
  9453. if (this.videoPlayer) {
  9454. this.videoPlayer.muted = !value;
  9455. this.videoPlayer.volume = value;
  9456. }
  9457. if (this.canvasPlayer) {
  9458. this.canvasPlayer.setAudioVolume(value);
  9459. }
  9460. }
  9461. /**
  9462. * 销毁播放器实例
  9463. */
  9464. }, {
  9465. key: "destroy",
  9466. value: function destroy() {
  9467. if (this.videoJsPlayer) {
  9468. this.videoJsPlayer.dispose();
  9469. }
  9470. if (this.videoPlayer) {
  9471. // TODO: add code
  9472. this.root.removeChild(this.videoPlayer);
  9473. this.videoPlayer = null;
  9474. }
  9475. if (this.canvasPlayer) {
  9476. // 库在未初始化完全的情况下进行销毁会出现报错
  9477. try {
  9478. this.canvasPlayer.close();
  9479. } catch (e) {
  9480. error(e);
  9481. }
  9482. }
  9483. this.isPlaying = false;
  9484. }
  9485. }, {
  9486. key: "loadScripts",
  9487. value: function () {
  9488. var _loadScripts = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee4() {
  9489. var _this6 = this;
  9490. var i, _i2;
  9491. return regenerator_default().wrap(function _callee4$(_context4) {
  9492. while (1) {
  9493. switch (_context4.prev = _context4.next) {
  9494. case 0:
  9495. _context4.next = 2;
  9496. return src_utils.asyncLoadScripts(jqueryScript[0]).then(function () { }).catch(function (e) { }).finally( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee3() {
  9497. return regenerator_default().wrap(function _callee3$(_context3) {
  9498. while (1) {
  9499. switch (_context3.prev = _context3.next) {
  9500. case 0:
  9501. if (!_this6.playerStatus.isPlayBack) {
  9502. _context3.next = 5;
  9503. break;
  9504. }
  9505. _context3.next = 3;
  9506. return src_utils.asyncLoadScripts(datePickerScript[0]);
  9507. case 3:
  9508. _context3.next = 5;
  9509. return src_utils.asyncLoadScripts(datePickerScript[1]);
  9510. case 5:
  9511. case "end":
  9512. return _context3.stop();
  9513. }
  9514. }
  9515. }, _callee3);
  9516. })));
  9517. case 2:
  9518. if (!this.isRecord) {
  9519. _context4.next = 12;
  9520. break;
  9521. }
  9522. i = 0;
  9523. case 4:
  9524. if (!(i < videoJsScript.length)) {
  9525. _context4.next = 10;
  9526. break;
  9527. }
  9528. _context4.next = 7;
  9529. return src_utils.asyncLoadScripts(videoJsScript[i]);
  9530. case 7:
  9531. i++;
  9532. _context4.next = 4;
  9533. break;
  9534. case 10:
  9535. _context4.next = 19;
  9536. break;
  9537. case 12:
  9538. _i2 = 0;
  9539. case 13:
  9540. if (!(_i2 < decodeFiles.length)) {
  9541. _context4.next = 19;
  9542. break;
  9543. }
  9544. _context4.next = 16;
  9545. return src_utils.asyncLoadScripts(decodeFiles[_i2]);
  9546. case 16:
  9547. _i2++;
  9548. _context4.next = 13;
  9549. break;
  9550. case 19:
  9551. _context4.next = 21;
  9552. return src_utils.asyncLoadScripts(adapterScript[0]);
  9553. case 21:
  9554. // const loadScriptsTotalTime = new Date().getTime() - startLoadScriptTime;
  9555. console.info("依赖加载完成"); // log(`JS依赖加载耗时: ${loadScriptsTotalTime / 1000}s`);
  9556. case 22:
  9557. case "end":
  9558. return _context4.stop();
  9559. }
  9560. }
  9561. }, _callee4, this);
  9562. }));
  9563. function loadScripts() {
  9564. return _loadScripts.apply(this, arguments);
  9565. }
  9566. return loadScripts;
  9567. }()
  9568. }, {
  9569. key: "getRecordList",
  9570. value: function getRecordList() {
  9571. var _this7 = this;
  9572. var requestInfo = {
  9573. message: "",
  9574. isSuccess: false,
  9575. playUrl: ""
  9576. };
  9577. return new Promise( /*#__PURE__*/function () {
  9578. var _ref3 = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee5(resolve, reject) {
  9579. var resultRecordList, data, status, content, code, msg, newBeginTime, resultRecordList1, _data, _status, _content, _code, _msg, recordH5;
  9580. return regenerator_default().wrap(function _callee5$(_context5) {
  9581. while (1) {
  9582. switch (_context5.prev = _context5.next) {
  9583. case 0:
  9584. if (!_this7.playerStatus.isPlayBack) {
  9585. _context5.next = 31;
  9586. break;
  9587. }
  9588. _this7.playerStatus.recordList = [];
  9589. _context5.next = 4;
  9590. return _this7._requestRecordList();
  9591. case 4:
  9592. resultRecordList = _context5.sent;
  9593. data = resultRecordList.data, status = resultRecordList.status;
  9594. if (!(status === 200)) {
  9595. _context5.next = 29;
  9596. break;
  9597. }
  9598. content = data.result.data;
  9599. code = data.result.code;
  9600. msg = data.result.msg;
  9601. if (!(code === "0" && content.records.length > 0)) {
  9602. _context5.next = 24;
  9603. break;
  9604. }
  9605. content.records.forEach(function (item) {
  9606. _this7.playerStatus.recordList.push({
  9607. beginTime: new Date(item.beginTime.replace(/-/g, "/")).getTime() / 1000,
  9608. endTime: new Date(item.endTime.replace(/-/g, "/")).getTime() / 1000
  9609. });
  9610. });
  9611. newBeginTime = content.records[content.records.length - 1].endTime;
  9612. _this7.isEndRecordList = content.records.length > 0 ? false : true;
  9613. case 14:
  9614. if (_this7.isEndRecordList) {
  9615. _context5.next = 22;
  9616. break;
  9617. }
  9618. _context5.next = 17;
  9619. return _this7._requestRecordList(newBeginTime);
  9620. case 17:
  9621. resultRecordList1 = _context5.sent;
  9622. _data = resultRecordList1.data, _status = resultRecordList1.status;
  9623. if (_status === 200) {
  9624. _content = _data.result.data;
  9625. _code = _data.result.code;
  9626. _msg = _data.result.msg;
  9627. if (_code === "0") {
  9628. if (_content.records.length > 0) {
  9629. _content.records.forEach(function (item) {
  9630. _this7.playerStatus.recordList.push({
  9631. beginTime: new Date(item.beginTime.replace(/-/g, "/")).getTime() / 1000,
  9632. endTime: new Date(item.endTime.replace(/-/g, "/")).getTime() / 1000
  9633. });
  9634. });
  9635. newBeginTime = _content.records[_content.records.length - 1].endTime;
  9636. _this7.isEndRecordList = _content.records[_content.records.length - 1].beginTime != _content.records[_content.records.length - 1].endTime ? false : true;
  9637. } else {
  9638. _this7.isEndRecordList = true;
  9639. }
  9640. } else {
  9641. _this7.stop();
  9642. requestInfo.message = _msg || "获取录像片段失败";
  9643. _this7.isEndRecordList = true;
  9644. reject();
  9645. }
  9646. } else {
  9647. requestInfo.message = "获取播放地址失败";
  9648. _this7.isEndRecordList = true;
  9649. reject();
  9650. }
  9651. _context5.next = 14;
  9652. break;
  9653. case 22:
  9654. _context5.next = 27;
  9655. break;
  9656. case 24:
  9657. _this7.stop();
  9658. requestInfo.message = msg || "获取录像片段失败";
  9659. reject();
  9660. case 27:
  9661. _context5.next = 31;
  9662. break;
  9663. case 29:
  9664. requestInfo.message = "获取播放地址失败";
  9665. reject();
  9666. case 31:
  9667. _this7.playerStatus.recordNum = _this7.playerStatus.recordList.length; // console.log(this.playerStatus.recordList, '------------------');
  9668. recordH5 = document.getElementById("app-timeline-record-num-area-h5");
  9669. if (recordH5) {
  9670. recordH5.innerHTML = "\u5171<span style=\"color:#2b8bf7\">".concat(_this7.playerStatus.recordList.length, "</span>\u4E2A\u5F55\u50CF");
  9671. }
  9672. resolve(_this7.playerStatus.recordList);
  9673. case 35:
  9674. case "end":
  9675. return _context5.stop();
  9676. }
  9677. }
  9678. }, _callee5);
  9679. }));
  9680. return function (_x, _x2) {
  9681. return _ref3.apply(this, arguments);
  9682. };
  9683. }());
  9684. }
  9685. /**
  9686. * 初始化播放器
  9687. * @param options
  9688. */
  9689. }, {
  9690. key: "init",
  9691. value: function () {
  9692. var _init = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee6(options) {
  9693. var _this8 = this;
  9694. var res;
  9695. return regenerator_default().wrap(function _callee6$(_context6) {
  9696. while (1) {
  9697. switch (_context6.prev = _context6.next) {
  9698. case 0:
  9699. this.loadScripts();
  9700. this.tipDom = this.createTip();
  9701. this.controls = options.controls;
  9702. console.log("初始化播放器");
  9703. res = this.getRecordList();
  9704. res.then(function (data) {
  9705. console.log(data);
  9706. }).catch(function (err) {
  9707. console.log(err);
  9708. }).finally(function () {
  9709. if (options.controls) {
  9710. _this8.createControls();
  9711. }
  9712. if (options.poster) {
  9713. _this8.poster = _this8.createPoster(options.poster);
  9714. }
  9715. if (options.autoplay) {
  9716. _this8.play();
  9717. }
  9718. });
  9719. case 6:
  9720. case "end":
  9721. return _context6.stop();
  9722. }
  9723. }
  9724. }, _callee6, this);
  9725. }));
  9726. function init(_x3) {
  9727. return _init.apply(this, arguments);
  9728. }
  9729. return init;
  9730. }()
  9731. /**
  9732. * 获取播放地址
  9733. * @param options
  9734. * @returns {Promise<{message: string, isSuccess: boolean, playUrl: string}|void>}
  9735. */
  9736. }, {
  9737. key: "getPlayUrl",
  9738. value: function () {
  9739. var _getPlayUrl = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee7(options) {
  9740. var requestInfo, _location, protocol, startGetPlayUrlTime, result, getPlayUrlTotalTime, data, status, content, code, msg;
  9741. return regenerator_default().wrap(function _callee7$(_context7) {
  9742. while (1) {
  9743. switch (_context7.prev = _context7.next) {
  9744. case 0:
  9745. requestInfo = {
  9746. message: "",
  9747. isSuccess: false,
  9748. playUrl: ""
  9749. }; // TODO delete this code area
  9750. // http://func-open-livegateway.lechange.cn:8888/LCO/5B03F3APAJ66B98/0/1/20200227T034048/dev_5B03F3A9AJ66B98_20200227t034048.m3u8
  9751. // return {
  9752. // message: '',
  9753. // isSuccess: true,
  9754. // playUrl: 'http://func-open-livegateway.lechange.cn:8888/LCO/5B03F3APAJ66B98/0/1/20200227T034048/dev_5B03F3APAJ66B98_20200227T034048.m3u8'
  9755. // };
  9756. // ********
  9757. _context7.prev = 1;
  9758. _location = location, protocol = _location.protocol;
  9759. if (!(protocol.indexOf("http") === -1)) {
  9760. _context7.next = 7;
  9761. break;
  9762. }
  9763. error("Please open on HTTP or HTTPS");
  9764. requestInfo.message = "Please open on HTTP or HTTPS";
  9765. return _context7.abrupt("return", requestInfo);
  9766. case 7:
  9767. startGetPlayUrlTime = new Date().getTime();
  9768. _context7.next = 10;
  9769. return this._request();
  9770. case 10:
  9771. result = _context7.sent;
  9772. getPlayUrlTotalTime = new Date().getTime() - startGetPlayUrlTime;
  9773. console.log("\u83B7\u53D6\u64AD\u653E\u5730\u5740\u8017\u65F6: ".concat(getPlayUrlTotalTime / 1000, "s"));
  9774. data = result.data, status = result.status;
  9775. if (status === 200) {
  9776. content = data.result.data;
  9777. code = data.result.code;
  9778. msg = data.result.msg;
  9779. if (code === "0") {
  9780. requestInfo.playUrl = content.url;
  9781. requestInfo.isSuccess = true;
  9782. } else {
  9783. this.stop();
  9784. requestInfo.message = msg || "获取播放地址失败";
  9785. }
  9786. } else {
  9787. requestInfo.message = "获取播放地址失败";
  9788. }
  9789. _context7.next = 21;
  9790. break;
  9791. case 17:
  9792. _context7.prev = 17;
  9793. _context7.t0 = _context7["catch"](1);
  9794. console.log(_context7.t0);
  9795. requestInfo.message = "获取播放地址失败";
  9796. case 21:
  9797. return _context7.abrupt("return", requestInfo);
  9798. case 22:
  9799. case "end":
  9800. return _context7.stop();
  9801. }
  9802. }
  9803. }, _callee7, this, [[1, 17]]);
  9804. }));
  9805. function getPlayUrl(_x4) {
  9806. return _getPlayUrl.apply(this, arguments);
  9807. }
  9808. return getPlayUrl;
  9809. }()
  9810. /**
  9811. * 创建tip DOM
  9812. */
  9813. }, {
  9814. key: "createTip",
  9815. value: function createTip() {
  9816. var tipPanel = src_utils.domParser("\n <div class=\"player__tip--wrap\">\n <span></span>\n </div>\n ");
  9817. this.root.appendChild(tipPanel);
  9818. return tipPanel.querySelector(".player__tip--wrap span");
  9819. }
  9820. /**
  9821. * 添加控制栏
  9822. */
  9823. }, {
  9824. key: "createControls",
  9825. value: function createControls() {
  9826. var _this9 = this;
  9827. console.log('this root', this.root);
  9828. var header = document.createElement("div");
  9829. header.setAttribute("id", "imou_player_header");
  9830. header.setAttribute("class", "player__header");
  9831. header.setAttribute("style", "opacity:0");
  9832. var footer = document.createElement("div");
  9833. footer.setAttribute("id", "imou_player_footer");
  9834. footer.setAttribute("class", "player__footer");
  9835. footer.setAttribute("style", "opacity:0");
  9836. this.root.appendChild(header);
  9837. this.root.appendChild(footer);
  9838. var headerControl = document.createElement("div");
  9839. headerControl.setAttribute("id", "header-control");
  9840. headerControl.setAttribute("class", "player__header-control");
  9841. header.appendChild(headerControl);
  9842. var footerControl = document.createElement("div");
  9843. footerControl.setAttribute("id", "footer-control");
  9844. footerControl.setAttribute("class", "player__footer-control");
  9845. footer.appendChild(footerControl);
  9846. var headerControlLeft = document.createElement("div");
  9847. headerControlLeft.setAttribute("id", "header-control-left");
  9848. headerControlLeft.setAttribute("class", "player__header-control-left");
  9849. var headerControlRight = document.createElement("div");
  9850. headerControlRight.setAttribute("id", "header-control-right");
  9851. headerControlRight.setAttribute("class", "player__header-control-right");
  9852. headerControl.appendChild(headerControlLeft);
  9853. headerControl.appendChild(headerControlRight);
  9854. var footerControlLeft = document.createElement("div");
  9855. footerControlLeft.setAttribute("id", "footer-control-left");
  9856. footerControlLeft.setAttribute("class", "player__footer-control-left");
  9857. var footerControlRight = document.createElement("div");
  9858. footerControlRight.setAttribute("id", "footer-control-right");
  9859. footerControlRight.setAttribute("class", "player__footer-control-right");
  9860. footerControl.appendChild(footerControlLeft);
  9861. footerControl.appendChild(footerControlRight); // 模板参考
  9862. // const play = document.createElement("span");
  9863. // play.setAttribute("id", "playerControl");
  9864. // play.setAttribute("class", "player_footer-control-item");
  9865. // play.innerHTML = `
  9866. // `;
  9867. // footerControlLeft.appendChild(play);
  9868. // 获取实际能够渲染的Header区item
  9869. this.currentHeaderButtonList = this.showHeaderList(this.themeData[0]);
  9870. var leftDOM = document.getElementById("header-control-left");
  9871. var rightDOM = document.getElementById("header-control-right");
  9872. this.currentHeaderButtonList.forEach(function (item) {
  9873. _this9.headerButtonList().map(function (value) {
  9874. if (item.id === value.id && item.show === true) {
  9875. var ButtonItemDom = _this9.addHeaderEditItem(value); // if (item.isActive == true) {}
  9876. if (item.position === "left") {
  9877. leftDOM.appendChild(ButtonItemDom);
  9878. } else {
  9879. rightDOM.appendChild(ButtonItemDom);
  9880. }
  9881. }
  9882. });
  9883. }); // 获取实际能够渲染的Footer区item
  9884. this.currentFooterButtonList = this.showFooterList(this.themeData[1]);
  9885. this.currentFooterButtonList.forEach(function (item) {
  9886. _this9.footerButtonList().map(function (value) {
  9887. if (item.id === value.id && item.show === true) {
  9888. var ButtonItemDom = _this9.addFooterEditItem(value); // if (item.isActive == true) {}
  9889. if (item.position === "left") {
  9890. var _leftDOM = document.getElementById("footer-control-left");
  9891. _leftDOM.appendChild(ButtonItemDom);
  9892. } else {
  9893. var _rightDOM = document.getElementById("footer-control-right");
  9894. _rightDOM.appendChild(ButtonItemDom);
  9895. }
  9896. }
  9897. });
  9898. });
  9899. console.log(this.playerStatus.isMobile, this.playerStatus.isPlayBack, this.playerStatus.isFullScreen);
  9900. if (this.playerStatus.isPlayBack == true) {
  9901. if (this.playerStatus.isMobile == false) {
  9902. // timeline横版 仅在是非mobile回放下展示
  9903. var timeControl = document.createElement("div");
  9904. timeControl.setAttribute("id", "time-control");
  9905. timeControl.setAttribute("class", "player__time-control");
  9906. footer.appendChild(timeControl); // web进度条控制栏
  9907. var timeLineControl = document.createElement("div");
  9908. timeLineControl.setAttribute("id", "timeLine_web");
  9909. timeLineControl.setAttribute("class", "player_timeLine_web-control"); // web 日期控制栏
  9910. var dateSelectControl = document.createElement("div");
  9911. dateSelectControl.setAttribute("id", "dateSelect_web");
  9912. dateSelectControl.setAttribute("class", "player_dateSelect_web-control");
  9913. var datepicker = "\n <div id='datePicker-icon'>\n <label for='datepicker'>\n <svg title=\"\u65E5\u671F\u9009\u62E9\" class=\"iconfont footer-control-item\" fill=\"".concat(this.options.themeData[1].fontColor, "\" style=\"display:inline-block\" >\n <use xlink:href=\"#icon-Console_icon_calendar\"></use>\n </svg>\n </label>\n <input data-toggle=\"datepicker\" type='text' id=\"datepicker\" name=\"datepicker\" style=\"opacity: 0; width: 0; margin-left: -4\" />\n \n </div>\n ");
  9914. dateSelectControl.innerHTML = datepicker;
  9915. timeControl.appendChild(timeLineControl);
  9916. timeControl.appendChild(dateSelectControl); // console.log($("[data-toggle='datepicker']"));
  9917. // $("[data-toggle='datepicker']").datepicker();
  9918. // console.log($("[data-toggle='datepicker']"));
  9919. var datepickerVisible = false; // let _that = this;
  9920. // console.log($);
  9921. // console.log(window, '1111111111111111111111111111');
  9922. $("[data-toggle='datepicker']").focus(function () {
  9923. document.activeElement.blur();
  9924. });
  9925. $("[data-toggle='datepicker']").val(new Date()); // 日期选择:
  9926. $("[data-toggle='datepicker']").datepicker({
  9927. autoShow: false,
  9928. autoHide: true,
  9929. autoPick: true,
  9930. language: "zh-CN",
  9931. defaultDate: new Date(),
  9932. format: "yyyy-mm-dd",
  9933. endDate: new Date()
  9934. }); // $('#datepicker').datepicker('hide');
  9935. $("[data-toggle='datepicker']").on("pick.datepicker", /*#__PURE__*/function () {
  9936. var _ref4 = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee8(e) {
  9937. var startTime, endTime, res;
  9938. return regenerator_default().wrap(function _callee8$(_context8) {
  9939. while (1) {
  9940. switch (_context8.prev = _context8.next) {
  9941. case 0:
  9942. that.changeDateFlag = true;
  9943. console.log(e.date);
  9944. console.log("E", new Date(e.date).getTime());
  9945. console.log("重新选择日期", src_utils.getFormatTime(new Date(e.date).getTime()));
  9946. startTime = src_utils.getFormatTime(new Date(e.date).getTime());
  9947. if (new Date(e.date).toDateString() == new Date().toDateString()) {
  9948. endTime = src_utils.getEndInitFormatTime(new Date().getTime());
  9949. } else {
  9950. endTime = src_utils.getEndInitFormatTime(new Date(e.date).getTime() + (24 * 60 * 60 - 1) * 1000);
  9951. } // console.log(that);
  9952. that.dateTime = new Date(e.date).getTime();
  9953. console.log(that.dateTime, "-----------------------757");
  9954. that.urlParams.beginTime = startTime;
  9955. that.urlParams.endTime = endTime; // that.pause()
  9956. // if (that.canvasPlayer) {
  9957. // that.canvasPlayer.close()
  9958. // }
  9959. res = that.getRecordList();
  9960. res.then(function (data) {
  9961. console.log(data);
  9962. }).catch(function (err) {
  9963. console.log(err);
  9964. }).finally(function () {
  9965. // this.isMutedBackup = this.playerStatus.isMuted;
  9966. timeLineControl.removeChild(timeLineControl.childNodes[0]);
  9967. var webTimeLine = document.createElement("canvas");
  9968. webTimeLine.setAttribute("id", "player_timeLine-web");
  9969. webTimeLine.setAttribute("width", timeLineControl.clientWidth);
  9970. webTimeLine.setAttribute("height", timeLineControl.clientHeight);
  9971. timeLineControl.appendChild(webTimeLine);
  9972. that.timeLineWeb.init({
  9973. id: "player_timeLine-web",
  9974. onChange: function onChange(newTime) {
  9975. that.isMutedBackup = that.playerStatus.isMuted;
  9976. that.stopFresh = true;
  9977. console.log("time change", newTime);
  9978. console.log(that.dateTime, "-----------------------776");
  9979. that.changeTime = that.dateTime + newTime * 1000;
  9980. that.urlParams.beginTime = src_utils.getFormatTime(that.changeTime);
  9981. that.createPlayerInstance();
  9982. },
  9983. startTime: function startTime() {
  9984. that.stopFresh = false; // that.start();
  9985. that.startTimeLine(that, that.changeTime);
  9986. },
  9987. stopTime: function stopTime() {
  9988. that.stopFresh = true; // that.stop();
  9989. that.changeTimeLine = true;
  9990. that.stopTimeLine(that);
  9991. },
  9992. recordArea: that.playerStatus.recordList,
  9993. isMobile: false,
  9994. isFullScreen: false,
  9995. height: timeLineControl.clientHeight,
  9996. width: timeLineControl.clientWidth
  9997. });
  9998. that.createPlayerInstance();
  9999. $("[data-toggle='datepicker']").datepicker("hide");
  10000. datepickerVisible = false;
  10001. }); // that.play();
  10002. case 12:
  10003. case "end":
  10004. return _context8.stop();
  10005. }
  10006. }
  10007. }, _callee8);
  10008. }));
  10009. return function (_x5) {
  10010. return _ref4.apply(this, arguments);
  10011. };
  10012. }());
  10013. $("[data-toggle='datepicker']").bind("click", function (e) {
  10014. if (datepickerVisible) {
  10015. $("[data-toggle='datepicker']").datepicker("hide");
  10016. } else {
  10017. $("[data-toggle='datepicker']").datepicker("show");
  10018. }
  10019. datepickerVisible = !datepickerVisible;
  10020. }); // 绘制进度条
  10021. // timeLineControl.removeChild(timeLineControl.childNodes[0]);
  10022. var webTimeLine = document.createElement("canvas");
  10023. webTimeLine.setAttribute("id", "player_timeLine-web");
  10024. webTimeLine.setAttribute("width", timeLineControl.clientWidth);
  10025. webTimeLine.setAttribute("height", timeLineControl.clientHeight);
  10026. timeLineControl.appendChild(webTimeLine);
  10027. var that = this;
  10028. this.timeLineWeb.init({
  10029. id: "player_timeLine-web",
  10030. onChange: function onChange(newTime) {
  10031. console.log('that.playerStatus.isMuted', that.playerStatus.isMuted);
  10032. that.isMutedBackup = that.playerStatus.isMuted;
  10033. that.stopFresh = true;
  10034. console.log("time change", newTime);
  10035. console.log(that.dateTime, "-----------------------827");
  10036. that.changeTime = that.dateTime + newTime * 1000;
  10037. that.urlParams.beginTime = src_utils.getFormatTime(that.changeTime);
  10038. that.createPlayerInstance();
  10039. },
  10040. startTime: function startTime() {
  10041. that.stopFresh = false; // that.start();
  10042. that.startTimeLine(that, that.changeTime);
  10043. },
  10044. stopTime: function stopTime() {
  10045. that.stopFresh = true; // that.stop();
  10046. that.changeTimeLine = true;
  10047. that.stopTimeLine(that);
  10048. },
  10049. recordArea: that.playerStatus.recordList,
  10050. isMobile: false,
  10051. isFullScreen: false,
  10052. height: timeLineControl.clientHeight,
  10053. width: timeLineControl.clientWidth
  10054. });
  10055. } else {
  10056. // 绘制H5录像回放面板部分
  10057. var H5TimelinePanel = document.createElement("div");
  10058. H5TimelinePanel.setAttribute("id", "app-playback-panel-h5");
  10059. document.body.appendChild(H5TimelinePanel);
  10060. var h5TimelineArea = document.createElement("div");
  10061. h5TimelineArea.setAttribute("id", "app-timeline-h5");
  10062. h5TimelineArea.setAttribute("class", "player__app-timeline-h5");
  10063. H5TimelinePanel.appendChild(h5TimelineArea);
  10064. var h5TimelineTitleArea = document.createElement("div");
  10065. h5TimelineTitleArea.setAttribute("id", "app-timeline-title-area-h5");
  10066. h5TimelineTitleArea.setAttribute("class", "player__app-timeline-title-area-h5");
  10067. h5TimelineTitleArea.innerHTML = "<div class='timeline-title'>\u4ECA\u65E5\u5F55\u50CF</div>";
  10068. h5TimelineArea.appendChild(h5TimelineTitleArea);
  10069. var h5TimelineDateArea = document.createElement("div");
  10070. h5TimelineDateArea.setAttribute("id", "app-timeline-date-area-h5");
  10071. h5TimelineDateArea.setAttribute("class", "player__app-timeline-date-area-h5");
  10072. var _datepicker = "\n <div id='datePicker-icon'>\n <label for='datepicker'>\n <svg title=\"\u65E5\u671F\u9009\u62E9\" class=\"iconfont\" fill=\"#595959\" style=\"display:inline-block;width:24px;height:24px\" >\n <use xlink:href=\"#icon-Console_icon_calendar\"></use>\n </svg>\n </label>\n <input data-toggle=\"datepicker\" type='text' id=\"datepicker\" name=\"datepicker\" style=\"opacity: 0; width: 0; margin-left: -4\" />\n \n </div>\n ";
  10073. h5TimelineDateArea.innerHTML = _datepicker;
  10074. h5TimelineTitleArea.appendChild(h5TimelineDateArea);
  10075. var _that = this;
  10076. var datepickerVisible = false; // let _that = this;
  10077. $("[data-toggle='datepicker']").focus(function () {
  10078. document.activeElement.blur();
  10079. });
  10080. $("[data-toggle='datepicker']").val(new Date()); // 日期选择:
  10081. $("[data-toggle='datepicker']").datepicker({
  10082. autoShow: false,
  10083. autoHide: true,
  10084. autoPick: true,
  10085. language: "zh-CN",
  10086. defaultDate: new Date(),
  10087. format: "yyyy-mm-dd",
  10088. endDate: new Date()
  10089. }); // $('#datepicker').datepicker('hide');
  10090. $("[data-toggle='datepicker']").on("pick.datepicker", /*#__PURE__*/function () {
  10091. var _ref5 = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee9(e) {
  10092. var startTime, endTime, res;
  10093. return regenerator_default().wrap(function _callee9$(_context9) {
  10094. while (1) {
  10095. switch (_context9.prev = _context9.next) {
  10096. case 0:
  10097. _that.changeDateFlag = true;
  10098. console.log("E", new Date(e.date).getTime());
  10099. console.log("重新选择日期", src_utils.getFormatTime(new Date(e.date).getTime()));
  10100. startTime = src_utils.getFormatTime(new Date(e.date).getTime());
  10101. if (new Date(e.date).toDateString() == new Date().toDateString()) {
  10102. endTime = src_utils.getEndInitFormatTime(new Date().getTime());
  10103. } else {
  10104. endTime = src_utils.getEndInitFormatTime(new Date(e.date).getTime() + (24 * 60 * 60 - 1) * 1000);
  10105. } // console.log(that);
  10106. _that.dateTime = new Date(e.date).getTime();
  10107. console.log(_that.dateTime, "----------------924");
  10108. _that.urlParams.beginTime = startTime;
  10109. _that.urlParams.endTime = endTime; // that.pause()
  10110. // if (that.canvasPlayer) {
  10111. // that.canvasPlayer.close()
  10112. // }
  10113. res = _that.getRecordList();
  10114. res.then(function (data) {
  10115. console.log(data);
  10116. }).catch(function (err) {
  10117. console.log(err);
  10118. }).finally(function () {
  10119. _that.timeLineH5.init({
  10120. id: "player_timeLine-h5",
  10121. onChange: function onChange(newTime) {
  10122. _that.isMutedBackup = _that.playerStatus.isMuted;
  10123. _that.stopFresh = true;
  10124. console.log("time change", newTime);
  10125. console.log(_that.dateTime, "-----------------------935");
  10126. _that.changeTime = _that.dateTime + newTime * 1000;
  10127. console.log(src_utils.getFormatTime(_that.changeTime), "abcdesdfgedasdddddddd");
  10128. _that.urlParams.beginTime = src_utils.getFormatTime(_that.changeTime);
  10129. _that.createPlayerInstance();
  10130. },
  10131. startTime: function startTime() {
  10132. _that.stopFresh = false; // that.start();
  10133. _that.startTimeLine(_that, _that.changeTime);
  10134. },
  10135. stopTime: function stopTime() {
  10136. _that.stopFresh = true; // that.stop();
  10137. _that.changeTimeLine = true;
  10138. _that.stopTimeLine(_that);
  10139. },
  10140. recordArea: _that.playerStatus.recordList,
  10141. isMobile: true,
  10142. isFullScreen: false,
  10143. height: H5TimeLineControl.clientHeight,
  10144. width: H5TimeLineControl.clientWidth,
  10145. fontColor: "#F18D00"
  10146. });
  10147. _that.createPlayerInstance();
  10148. $("[data-toggle='datepicker']").datepicker("hide");
  10149. datepickerVisible = false; // that.play();
  10150. });
  10151. case 11:
  10152. case "end":
  10153. return _context9.stop();
  10154. }
  10155. }
  10156. }, _callee9);
  10157. }));
  10158. return function (_x6) {
  10159. return _ref5.apply(this, arguments);
  10160. };
  10161. }());
  10162. $("[data-toggle='datepicker']").bind("click", function (e) {
  10163. if (datepickerVisible) {
  10164. $("[data-toggle='datepicker']").datepicker("hide");
  10165. } else {
  10166. $("[data-toggle='datepicker']").datepicker("show");
  10167. }
  10168. datepickerVisible = !datepickerVisible;
  10169. });
  10170. var h5TimelineRecordArea = document.createElement("div");
  10171. h5TimelineRecordArea.setAttribute("id", "app-timeline-record-area-h5");
  10172. h5TimelineRecordArea.setAttribute("class", "player__app-timeline-record-area-h5");
  10173. h5TimelineArea.appendChild(h5TimelineRecordArea);
  10174. var h5TimelineRecordNumArea = document.createElement("div");
  10175. h5TimelineRecordNumArea.setAttribute("id", "app-timeline-record-num-area-h5");
  10176. h5TimelineRecordNumArea.setAttribute("class", "player__app-timeline-record-num-area-h5");
  10177. h5TimelineRecordNumArea.innerHTML = "\u5171<span style=\"color:#2b8bf7\">".concat(this.playerStatus.recordNum, "</span>\u4E2A\u5F55\u50CF");
  10178. h5TimelineRecordArea.appendChild(h5TimelineRecordNumArea);
  10179. var h5TimelineRecordButtonArea = document.createElement("div");
  10180. h5TimelineRecordButtonArea.setAttribute("id", "app-timeline-record-button-area-h5");
  10181. h5TimelineRecordButtonArea.setAttribute("class", "player__app-timeline-record-button-area-h5");
  10182. h5TimelineRecordButtonArea.innerHTML = "\n <div id=\"record-type-button-list\">\n <div id='cloud-button' class='record-button-list' >\n <!-- \u4E91\u5F55\u50CF\u6309\u94AE\u5F00\u542F -->\n <svg title=\"\u5F00\u542F\u4E91\u5F55\u50CF\" class=\"iconfont header-control-item\" fill=\"#bfbfbf\" style=\"display:inline-block\" >\n <use xlink:href=\"#icon-Icon_Cloud\"></use>\n </svg>\n <!-- \u4E91\u5F55\u50CF\u6309\u94AE\u5173\u95ED -->\n <svg title=\"\u5173\u95ED\u4E91\u5F55\u50CF\" class=\"iconfont header-control-item\" fill=\"#2b8bf7\" style=\"display:none\" >\n <use xlink:href=\"#icon-Icon_Cloud\"></use>\n </svg>\n </div>\n <div id='local-button' class='record-button-list' >\n <!-- \u672C\u5730\u5F55\u50CF\u6309\u94AE\u5F00\u542F -->\n <svg title=\"\u5F00\u542F\u672C\u5730\u5F55\u50CF\" class=\"iconfont header-control-item\" fill=\"#bfbfbf\" style=\"display:inline-block\" >\n <use xlink:href=\"#icon-Icon_SDcard\"></use>\n </svg>\n <!-- \u672C\u5730\u50CF\u6309\u94AE\u5173\u95ED -->\n <svg title=\"\u5173\u95ED\u672C\u5730\u5F55\u50CF\" class=\"iconfont header-control-item\" fill=\"#2b8bf7\" style=\"display:none\" >\n <use xlink:href=\"#icon-Icon_SDcard\"></use>\n </svg>\n </div>\n </div>\n ";
  10183. h5TimelineRecordArea.appendChild(h5TimelineRecordButtonArea);
  10184. document.getElementById("cloud-button").addEventListener("click", function () {
  10185. _this9.chooseRecordType("cloud");
  10186. });
  10187. document.getElementById("local-button").addEventListener("click", function () {
  10188. _this9.chooseRecordType("local");
  10189. });
  10190. var H5TimeLineControl = document.createElement("div");
  10191. H5TimeLineControl.setAttribute("id", "timeLine_h5");
  10192. H5TimeLineControl.setAttribute("class", "player_timeLine_h5-control");
  10193. h5TimelineArea.appendChild(H5TimeLineControl);
  10194. var H5TimeLine = document.createElement("canvas");
  10195. H5TimeLine.setAttribute("id", "player_timeLine-h5");
  10196. H5TimeLine.setAttribute("width", H5TimeLineControl.clientWidth);
  10197. H5TimeLine.setAttribute("height", H5TimeLineControl.clientHeight);
  10198. H5TimeLineControl.appendChild(H5TimeLine); // let that = this;
  10199. this.timeLineH5.init({
  10200. id: "player_timeLine-h5",
  10201. onChange: function onChange(newTime) {
  10202. _that.isMutedBackup = _that.playerStatus.isMuted;
  10203. _that.stopFresh = true;
  10204. console.log("time change", newTime);
  10205. console.log(_that.dateTime, "-----------------------1059");
  10206. _that.changeTime = _that.dateTime + newTime * 1000;
  10207. console.log(src_utils.getFormatTime(_that.changeTime), "abcdesdfgedasdddddddd");
  10208. _that.urlParams.beginTime = src_utils.getFormatTime(_that.changeTime);
  10209. _that.createPlayerInstance();
  10210. },
  10211. startTime: function startTime() {
  10212. _that.stopFresh = false; // that.start();
  10213. _that.startTimeLine(_that, _that.changeTime);
  10214. },
  10215. stopTime: function stopTime() {
  10216. _that.stopFresh = true; // that.stop();
  10217. _that.changeTimeLine = true;
  10218. _that.stopTimeLine(_that);
  10219. },
  10220. recordArea: _that.playerStatus.recordList,
  10221. isMobile: true,
  10222. isFullScreen: false,
  10223. height: H5TimeLineControl.clientHeight,
  10224. width: H5TimeLineControl.clientWidth,
  10225. fontColor: "#F18D00"
  10226. }); // 绘制H5录像回放面板部分结束
  10227. // // 绘制H5录像全屏回放面板部分开始
  10228. var H5TimelineExtendArea = document.createElement("div");
  10229. H5TimelineExtendArea.setAttribute("id", "Timeline-h5-extend-Area");
  10230. H5TimelineExtendArea.setAttribute("class", "player__Timeline-h5-extend-Area");
  10231. H5TimelineExtendArea.setAttribute("style", "display:block");
  10232. this.root.appendChild(H5TimelineExtendArea);
  10233. var H5TimelineExtendPanel = document.createElement("div");
  10234. H5TimelineExtendPanel.setAttribute("id", "Timeline-h5-extend-Panel");
  10235. H5TimelineExtendPanel.setAttribute("class", "player__Timeline-h5-extend-Panel animated");
  10236. H5TimelineExtendPanel.setAttribute("style", "display:block");
  10237. H5TimelineExtendArea.appendChild(H5TimelineExtendPanel);
  10238. var H5TimelineExtendButton = document.createElement("div");
  10239. H5TimelineExtendButton.setAttribute("id", "Timeline-h5-extend-Button");
  10240. H5TimelineExtendButton.setAttribute("class", "player__Timeline-h5-extend-Button animated");
  10241. H5TimelineExtendButton.innerHTML = "\n <div id='extend-icon' class='extend-button-h5'>\n <svg title=\"\u5173\u95ED\u8FDB\u5EA6\u6761\" class=\"iconfont\" fill=\"#FFFFFF\" style=\"display:inline-block;width:18px;height:18px\" >\n <use xlink:href=\"#icon-icon_shouqi\"></use>\n </svg>\n <svg title=\"\u6253\u5F00\u8FDB\u5EA6\u6761\" class=\"iconfont\" fill=\"#FFFFFF\" style=\"display:none;width:18px;height:18px\" >\n <use xlink:href=\"#icon-icon_zhankai\"></use>\n </svg>\n </div>\n ";
  10242. H5TimelineExtendArea.appendChild(H5TimelineExtendButton);
  10243. document.getElementById("extend-icon").addEventListener("click", function () {
  10244. _this9.changeTimelineStatus();
  10245. });
  10246. var H5TimeLineExtend = document.createElement("canvas");
  10247. H5TimeLineExtend.setAttribute("id", "player_timeLine-h5-extend");
  10248. H5TimeLineExtend.setAttribute("width", H5TimelineExtendPanel.clientWidth);
  10249. H5TimeLineExtend.setAttribute("height", H5TimelineExtendPanel.clientHeight);
  10250. H5TimelineExtendPanel.appendChild(H5TimeLineExtend); // let that = this;
  10251. this.timeLineH5Expend.init({
  10252. id: "player_timeLine-h5-extend",
  10253. onChange: function onChange(newTime) {
  10254. _that.isMutedBackup = _that.playerStatus.isMuted;
  10255. _that.stopFresh = true;
  10256. console.log("time change", newTime);
  10257. console.log(_that.dateTime, "-----------------------1146");
  10258. _that.changeTime = _that.dateTime + newTime * 1000;
  10259. console.log(src_utils.getFormatTime(_that.changeTime), "abcdesdfgedasdddddddd");
  10260. _that.urlParams.beginTime = src_utils.getFormatTime(_that.changeTime);
  10261. _that.createPlayerInstance();
  10262. },
  10263. startTime: function startTime() {
  10264. _that.stopFresh = false; // that.start();
  10265. _that.startTimeLine(_that, _that.changeTime);
  10266. },
  10267. stopTime: function stopTime() {
  10268. _that.stopFresh = true; // that.stop();
  10269. _that.changeTimeLine = true;
  10270. _that.stopTimeLine(_that);
  10271. },
  10272. recordArea: _that.playerStatus.recordList,
  10273. isMobile: true,
  10274. isFullScreen: true,
  10275. height: H5TimelineExtendPanel.clientHeight,
  10276. width: H5TimelineExtendPanel.clientWidth
  10277. }); // // 绘制H5录像全屏回放面板部分结束
  10278. }
  10279. } // 绘制WEB云台面板
  10280. var PTZArea = document.createElement("div");
  10281. PTZArea.setAttribute("id", "PTZArea");
  10282. PTZArea.setAttribute("class", "player__PTZArea");
  10283. this.root.appendChild(PTZArea);
  10284. var PTZPanel = document.createElement("div");
  10285. PTZPanel.setAttribute("id", "PTZ-Panel");
  10286. PTZPanel.setAttribute("class", "player__PTZArea-panel");
  10287. if (!this.playerStatus.isMobile) {
  10288. PTZPanel.addEventListener("mousedown", function (e) {
  10289. _this9.PTZActivity(e, PTZArea, "web", "start");
  10290. });
  10291. PTZPanel.addEventListener("mouseup", function (e) {
  10292. _this9.PTZActivity(e, PTZArea, "web", "stop");
  10293. });
  10294. } else {
  10295. PTZPanel.addEventListener("touchstart", function (e) {
  10296. _this9.PTZActivity(e, PTZArea, "web", "start");
  10297. });
  10298. PTZPanel.addEventListener("touchend", function (e) {
  10299. _this9.PTZActivity(e, PTZArea, "web", "stop");
  10300. });
  10301. }
  10302. PTZArea.appendChild(PTZPanel);
  10303. var directionList = ["up", "down", "left", "right"];
  10304. for (var i = 0; i < directionList.length; i++) {
  10305. this.appendArrow("web", PTZPanel, directionList[i]);
  10306. } // 绘制H5云台面板
  10307. if (this.playerStatus.isMobile && this.playerStatus.isPlayBack != true) {
  10308. var H5PTZPanel = document.createElement("div");
  10309. H5PTZPanel.setAttribute("id", "app-PTZ-panel-h5");
  10310. document.body.appendChild(H5PTZPanel);
  10311. if (H5PTZPanel) {
  10312. H5PTZPanel.setAttribute("class", "h5-PTZ-pannel");
  10313. var H5PTZTitle = document.createElement("div");
  10314. H5PTZTitle.setAttribute("id", "PTZ-contral-h5-title");
  10315. H5PTZTitle.setAttribute("class", "player_PTZ-contral-h5-title");
  10316. H5PTZTitle.innerText = "云台控制";
  10317. H5PTZPanel.appendChild(H5PTZTitle);
  10318. var H5PTZContral = document.createElement("div");
  10319. H5PTZContral.setAttribute("id", "PTZ-contral-h5");
  10320. H5PTZContral.setAttribute("class", "player_PTZ-contral-h5");
  10321. if (!this.playerStatus.isMobile) {
  10322. H5PTZContral.addEventListener("mousedown", function (e) {
  10323. _this9.PTZActivity(e, H5PTZContral, "h5", "start");
  10324. });
  10325. H5PTZContral.addEventListener("mouseup", function (e) {
  10326. _this9.PTZActivity(e, H5PTZContral, "h5", "stop");
  10327. });
  10328. } else {
  10329. H5PTZContral.addEventListener("touchstart", function (e) {
  10330. _this9.PTZActivity(e, H5PTZContral, "h5", "start");
  10331. });
  10332. H5PTZContral.addEventListener("touchend", function (e) {
  10333. _this9.PTZActivity(e, H5PTZContral, "h5", "stop");
  10334. });
  10335. }
  10336. H5PTZPanel.appendChild(H5PTZContral);
  10337. for (var _i3 = 0; _i3 < directionList.length; _i3++) {
  10338. this.appendArrow("h5", H5PTZContral, directionList[_i3]);
  10339. }
  10340. }
  10341. } // const controls = utils.domParser(
  10342. // `
  10343. // <div class="player__panel">
  10344. // <div class="player__controls player__controls--transparent">
  10345. // <div>
  10346. // <span id="playerControls" class="player__btn player__btn-large iconfont iconbofang"></span>
  10347. // <span id="playerStop" class="player__btn iconfont icontingzhi"></span>
  10348. // ${this.talk ? '<span id="playerTalk" class="player__btn player__btn-large player__btn--voiceOff"></span>':''}
  10349. // <span id="playerSound" class="player__btn player__btn-large iconfont icon${this.playerStatus.isMuted ? 'jingyin' : 'shengyin'}"></span>
  10350. // ${
  10351. // platform.os.family === 'iOS'
  10352. // ? '<span id="playerFullScreen" class="player__btn player__btn-large iconfont iconquanping"></span>'
  10353. // : ''
  10354. // }
  10355. // </div>
  10356. // <div></div>
  10357. // </div>
  10358. // </div>
  10359. // `
  10360. // );
  10361. // this.root.appendChild(controls);
  10362. // this.addControlsEvent(controls);
  10363. this.root.addEventListener("mouseenter", this.showControl.bind(this));
  10364. this.root.addEventListener("mousemove", this.showControl.bind(this));
  10365. } // 切换云存储
  10366. }, {
  10367. key: "chooseRecordType",
  10368. value: function () {
  10369. var _chooseRecordType = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee10(type) {
  10370. var _this10 = this;
  10371. var localButton, localButtonOff, localButtonOn, cloudButton, cloudButtonOff, cloudButtonOn, _cloudButton, _cloudButtonOff, _cloudButtonOn, _localButton, _localButtonOff, _localButtonOn, res;
  10372. return regenerator_default().wrap(function _callee10$(_context10) {
  10373. while (1) {
  10374. switch (_context10.prev = _context10.next) {
  10375. case 0:
  10376. if (!this.changeDisabled) {
  10377. this.changeDisabled = true;
  10378. this.isChangeDate = true;
  10379. if (type == "cloud") {
  10380. localButton = document.getElementById("local-button");
  10381. localButton.removeAttribute("class");
  10382. localButton.setAttribute("class", "record-button-list");
  10383. localButtonOff = localButton.children[0];
  10384. localButtonOff.removeAttribute("style");
  10385. localButtonOff.setAttribute("style", "display:inline-block");
  10386. localButtonOn = localButton.children[1];
  10387. localButtonOn.removeAttribute("style");
  10388. localButtonOn.setAttribute("style", "display:none");
  10389. cloudButton = document.getElementById("cloud-button");
  10390. cloudButton.removeAttribute("class");
  10391. cloudButton.setAttribute("class", "record-button-list record-button-list-active");
  10392. cloudButtonOff = cloudButton.children[0];
  10393. cloudButtonOff.removeAttribute("style");
  10394. cloudButtonOff.setAttribute("style", "display:none");
  10395. cloudButtonOn = cloudButton.children[1];
  10396. cloudButtonOn.removeAttribute("style");
  10397. cloudButtonOn.setAttribute("style", "display:inline-block");
  10398. this.playerStatus.playBackType = "cloudRecord";
  10399. this.urlParams.recordType = this.playerStatus.playBackType;
  10400. } else {
  10401. _cloudButton = document.getElementById("cloud-button");
  10402. _cloudButton.removeAttribute("class");
  10403. _cloudButton.setAttribute("class", "record-button-list");
  10404. _cloudButtonOff = _cloudButton.children[1];
  10405. _cloudButtonOff.removeAttribute("style");
  10406. _cloudButtonOff.setAttribute("style", "display:none");
  10407. _cloudButtonOn = _cloudButton.children[0];
  10408. _cloudButtonOn.removeAttribute("style");
  10409. _cloudButtonOn.setAttribute("style", "display:inline-block");
  10410. _localButton = document.getElementById("local-button");
  10411. _localButton.removeAttribute("class");
  10412. _localButton.setAttribute("class", "record-button-list record-button-list-active");
  10413. _localButtonOff = _localButton.children[1];
  10414. _localButtonOff.removeAttribute("style");
  10415. _localButtonOff.setAttribute("style", "display:inline-block");
  10416. _localButtonOn = _localButton.children[0];
  10417. _localButtonOn.removeAttribute("style");
  10418. _localButtonOn.setAttribute("style", "display:none");
  10419. this.playerStatus.playBackType = "localRecord";
  10420. this.urlParams.recordType = this.playerStatus.playBackType;
  10421. }
  10422. this.urlParams.beginTime = src_utils.getBeginInitFormatTime(new Date(this.urlParams.beginTime.replace(/-/g, '/')).getTime());
  10423. res = this.getRecordList();
  10424. res.then(function (data) {
  10425. console.log(data);
  10426. }).catch(function (err) {
  10427. console.log(err);
  10428. }).finally(function () {
  10429. var that = _this10;
  10430. var H5TimeLineControl = document.getElementById("timeLine_h5");
  10431. H5TimeLineControl.removeChild(H5TimeLineControl.childNodes[0]);
  10432. var H5TimeLine = document.createElement("canvas");
  10433. H5TimeLine.setAttribute("id", "player_timeLine-h5");
  10434. H5TimeLine.setAttribute("width", H5TimeLineControl.clientWidth);
  10435. H5TimeLine.setAttribute("height", H5TimeLineControl.clientHeight);
  10436. H5TimeLineControl.appendChild(H5TimeLine);
  10437. _this10.timeLineH5.init({
  10438. id: "player_timeLine-h5",
  10439. onChange: function onChange(newTime) {
  10440. that.isMutedBackup = that.playerStatus.isMuted;
  10441. that.stopFresh = true;
  10442. console.log("time change", newTime);
  10443. console.log(that.dateTime, "-----------------------1341");
  10444. that.changeTime = that.dateTime + newTime * 1000;
  10445. console.log(src_utils.getFormatTime(that.changeTime), "abcdesdfgedasdddddddd");
  10446. that.urlParams.beginTime = src_utils.getFormatTime(that.changeTime);
  10447. that.createPlayerInstance();
  10448. },
  10449. startTime: function startTime() {
  10450. that.stopFresh = false; // that.start();
  10451. that.startTimeLine(that, that.changeTime);
  10452. },
  10453. stopTime: function stopTime() {
  10454. that.stopFresh = true; // that.stop();
  10455. that.changeTimeLine = true;
  10456. that.stopTimeLine(that);
  10457. },
  10458. recordArea: that.playerStatus.recordList,
  10459. isMobile: true,
  10460. isFullScreen: false,
  10461. height: H5TimeLineControl.clientHeight,
  10462. width: H5TimeLineControl.clientWidth,
  10463. fontColor: "#F18D00"
  10464. }); // this.isMutedBackup = this.playerStatus.isMuted;
  10465. _this10.createPlayerInstance();
  10466. _this10.changeDisabled = false;
  10467. });
  10468. }
  10469. case 1:
  10470. case "end":
  10471. return _context10.stop();
  10472. }
  10473. }
  10474. }, _callee10, this);
  10475. }));
  10476. function chooseRecordType(_x7) {
  10477. return _chooseRecordType.apply(this, arguments);
  10478. }
  10479. return chooseRecordType;
  10480. }()
  10481. }, {
  10482. key: "changeTimelineStatus",
  10483. value: function changeTimelineStatus() {
  10484. var H5TimelinePanel = $("#Timeline-h5-extend-Panel");
  10485. var H5TimelineButton = $("#Timeline-h5-extend-Button");
  10486. var H5TimelineIcon = $("#extend-icon");
  10487. console.log(this.isH5Extend);
  10488. if (this.isH5Extend) {
  10489. H5TimelineButton.animate({
  10490. right: "0px"
  10491. }, {
  10492. speed: 100,
  10493. easing: "linear"
  10494. });
  10495. H5TimelinePanel.animate({
  10496. right: "-120px"
  10497. }, {
  10498. speed: 100,
  10499. easing: "linear"
  10500. });
  10501. H5TimelineIcon.children()[0].style = "display:none;width:18px;height:18px";
  10502. H5TimelineIcon.children()[1].style = "display:inline-block;width:18px;height:18px";
  10503. console.log();
  10504. } else {
  10505. H5TimelineButton.animate({
  10506. right: "120px"
  10507. }, {
  10508. speed: 100,
  10509. easing: "linear"
  10510. });
  10511. H5TimelinePanel.animate({
  10512. right: "0px"
  10513. }, {
  10514. speed: 100,
  10515. easing: "linear"
  10516. });
  10517. H5TimelineIcon.children()[1].style = "display:none;width:18px;height:18px";
  10518. H5TimelineIcon.children()[0].style = "display:inline-block;width:18px;height:18px";
  10519. }
  10520. this.isH5Extend = !this.isH5Extend;
  10521. }
  10522. }, {
  10523. key: "startTimeLine",
  10524. value: function startTimeLine(that, time) {
  10525. console.log(time / 1000); // this.timeSetInterval = setInterval(function() {
  10526. // // if (!that.playerStatus.isMobile) {
  10527. // // that.timeLineWeb.updateTimeLine(time / 1000);
  10528. // // } else {
  10529. // // that.timeLineH5.updateTimeLine(time / 1000);
  10530. // // }
  10531. // }, 1000);
  10532. }
  10533. }, {
  10534. key: "stopTimeLine",
  10535. value: function stopTimeLine(that) {
  10536. clearInterval(that.timeSetInterval);
  10537. } // 获取控制方向
  10538. }, {
  10539. key: "PTZActivity",
  10540. value: function () {
  10541. var _PTZActivity = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee11(e, dom, type, active) {
  10542. var direction, panelCenterX, panelCenterY, offSetCenterX, offSetCenterY, result, data, status, code;
  10543. return regenerator_default().wrap(function _callee11$(_context11) {
  10544. while (1) {
  10545. switch (_context11.prev = _context11.next) {
  10546. case 0:
  10547. direction = "";
  10548. if (active === "start") {
  10549. if (type === "h5") {
  10550. panelCenterX = dom.getBoundingClientRect().left + 130;
  10551. panelCenterY = dom.getBoundingClientRect().top + 130;
  10552. } else {
  10553. panelCenterX = dom.getBoundingClientRect().left + 60;
  10554. panelCenterY = dom.getBoundingClientRect().top + 60;
  10555. }
  10556. if (!this.playerStatus.isMobile) {
  10557. offSetCenterX = panelCenterX - e.clientX;
  10558. offSetCenterY = panelCenterY - e.clientY;
  10559. } else {
  10560. if (type === 'web') {
  10561. offSetCenterY = panelCenterX - e.changedTouches[0].clientX;
  10562. offSetCenterX = panelCenterY - e.changedTouches[0].clientY;
  10563. } else {
  10564. offSetCenterX = panelCenterX - e.changedTouches[0].clientX;
  10565. offSetCenterY = panelCenterY - e.changedTouches[0].clientY;
  10566. } // console.log(panelCenterX, e.changedTouches[0].clientX);
  10567. // console.log(panelCenterY, e.changedTouches[0].clientY);
  10568. } // console.log(offSetCenterX, offSetCenterY);
  10569. if (Math.abs(offSetCenterX) > Math.abs(offSetCenterY)) {
  10570. if (offSetCenterX >= 0) {
  10571. direction = "left";
  10572. } else {
  10573. direction = "right";
  10574. }
  10575. } else {
  10576. if (type === 'web' && this.playerStatus.isMobile) {
  10577. if (offSetCenterY >= 0) {
  10578. direction = "down";
  10579. } else {
  10580. direction = "up";
  10581. }
  10582. } else {
  10583. if (offSetCenterY >= 0) {
  10584. direction = "up";
  10585. } else {
  10586. direction = "down";
  10587. }
  10588. }
  10589. } // console.log(direction);
  10590. if (type === "h5") {
  10591. document.getElementById("PTZ-contral-h5").style = "background-image:linear-gradient(".concat(direction === "up" ? 180 : direction === "down" ? 0 : direction === "left" ? 90 : 270, "deg, #F18D00 0%, rgba(255, 255, 255, 0.05) 30%)");
  10592. } else {
  10593. document.getElementById("PTZ-Panel").style = "background-image:linear-gradient(".concat(direction === "up" ? 180 : direction === "down" ? 0 : direction === "left" ? 90 : 270, "deg, #F18D00 0%, rgba(255, 255, 255, 0.05) 30%)");
  10594. }
  10595. } else {
  10596. direction = "stop";
  10597. if (type === "h5") {
  10598. document.getElementById("PTZ-contral-h5").style = "";
  10599. } else {
  10600. document.getElementById("PTZ-Panel").style = "";
  10601. }
  10602. }
  10603. console.log(direction);
  10604. _context11.next = 5;
  10605. return this._requestPTZ(direction);
  10606. case 5:
  10607. result = _context11.sent;
  10608. data = result.data, status = result.status;
  10609. if (status === 200) {
  10610. // const content = data.result.data;
  10611. code = data.result.code; // const msg = data.result.msg;
  10612. if (code === "0") { } else {
  10613. // requestInfo.message = msg || "获取播放地址失败";
  10614. if (type === "h5") {
  10615. document.getElementById("PTZ-contral-h5").style = direction === "stop" ? "" : "background-image:linear-gradient(".concat(direction === "up" ? 180 : direction === "down" ? 0 : direction === "left" ? 90 : 270, "deg, #ff0000 0%, rgba(255, 255, 255, 0.05) 30%)");
  10616. } else {
  10617. document.getElementById("PTZ-Panel").style = direction === "stop" ? "" : "background-image:linear-gradient(".concat(direction === "up" ? 180 : direction === "down" ? 0 : direction === "left" ? 90 : 270, "deg, #ff0000 0%, rgba(255, 255, 255, 0.05) 30%)");
  10618. }
  10619. }
  10620. } else {
  10621. if (type === "h5") {
  10622. document.getElementById("PTZ-contral-h5").style = direction === "stop" ? "" : "background-image:linear-gradient(".concat(direction === "up" ? 180 : direction === "down" ? 0 : direction === "left" ? 90 : 270, "deg, #ff0000 0%, rgba(255, 255, 255, 0.05) 30%)");
  10623. } else {
  10624. document.getElementById("PTZ-Panel").style = direction === "stop" ? "" : "background-image:linear-gradient(".concat(direction === "up" ? 180 : direction === "down" ? 0 : direction === "left" ? 90 : 270, "deg, #ff0000 0%, rgba(255, 255, 255, 0.05) 30%)");
  10625. }
  10626. console.log(data);
  10627. }
  10628. case 8:
  10629. case "end":
  10630. return _context11.stop();
  10631. }
  10632. }
  10633. }, _callee11, this);
  10634. }));
  10635. function PTZActivity(_x8, _x9, _x10, _x11) {
  10636. return _PTZActivity.apply(this, arguments);
  10637. }
  10638. return PTZActivity;
  10639. }()
  10640. }, {
  10641. key: "_requestPTZ",
  10642. value: function _requestPTZ(direction) {
  10643. var _this$options = this.options,
  10644. kitToken = _this$options.kitToken,
  10645. deviceId = _this$options.deviceId,
  10646. channelId = _this$options.channelId;
  10647. return axios_default()({
  10648. url: "".concat(host, "/openapi/controlMovePTZByKitToken"),
  10649. headers: {
  10650. "Content-Type": "application/json"
  10651. },
  10652. method: "post",
  10653. data: {
  10654. params: {
  10655. kitToken: kitToken,
  10656. // kitParam: `${deviceId}/${channelId}/${type}${urlParamsString}`,
  10657. deviceId: deviceId,
  10658. channelId: channelId,
  10659. operation: direction // token: 'At_00000c5d54939b0e40d8b63e2907279c'
  10660. }
  10661. }
  10662. });
  10663. }
  10664. }, {
  10665. key: "_requestRecordList",
  10666. value: function _requestRecordList(time) {
  10667. var _this$options2 = this.options,
  10668. kitToken = _this$options2.kitToken,
  10669. deviceId = _this$options2.deviceId,
  10670. channelId = _this$options2.channelId;
  10671. return axios_default()({
  10672. url: "".concat(host, "/openapi/queryDeviceRecordsByKitToken"),
  10673. headers: {
  10674. "Content-Type": "application/json"
  10675. },
  10676. method: "post",
  10677. data: {
  10678. params: {
  10679. kitToken: kitToken,
  10680. // kitParam: `${deviceId}/${channelId}/${type}${urlParamsString}`,
  10681. deviceId: deviceId,
  10682. channelId: channelId,
  10683. recordType: this.urlParams.recordType && this.urlParams.recordType == "localRecord" ? "local" : "cloud",
  10684. beginTime: time || this.urlParams.beginTime,
  10685. endTime: this.urlParams.endTime // token: 'At_00000c5d54939b0e40d8b63e2907279c'
  10686. }
  10687. }
  10688. });
  10689. } // 创建面板箭头
  10690. }, {
  10691. key: "appendArrow",
  10692. value: function appendArrow(type, dom, direction) {
  10693. var arrow = document.createElement("div");
  10694. arrow.setAttribute("id", type === "h5" ? "PTZ-Panel-arrow-h5-".concat(direction) : "PTZ-Panel-arrow-".concat(direction));
  10695. arrow.setAttribute("class", type === "h5" ? "arrow-h5-".concat(direction) : "arrow-".concat(direction));
  10696. dom.appendChild(arrow);
  10697. }
  10698. /**
  10699. * 添加封面图
  10700. * @param poster 封面url
  10701. */
  10702. }, {
  10703. key: "createPoster",
  10704. value: function createPoster(poster) {
  10705. var posterDom = src_utils.domParser("\n <div class=\"player__poster--wrap\" >\n <div class=\"player__poster\" id=\"playerPoster\">\n <img src=\"\" alt=\"\" >\n </div>\n </div>\n ");
  10706. this.root.appendChild(posterDom);
  10707. src_utils.setAttr(posterDom.querySelector("img"), "src", poster);
  10708. return posterDom;
  10709. }
  10710. }, {
  10711. key: "getBufferTime",
  10712. value: function getBufferTime(video) {
  10713. var _this11 = this;
  10714. console.log(video.duration - video.currentTime);
  10715. setTimeout(function () {
  10716. _this11.getBufferTime(video);
  10717. }, 1000);
  10718. }
  10719. /**
  10720. * 检查webGl
  10721. */
  10722. }, {
  10723. key: "isWebGLAvailable",
  10724. value: function isWebGLAvailable() {
  10725. try {
  10726. var canvas = document.createElement("canvas");
  10727. return !!(window.WebGLRenderingContext && (canvas.getContext("webgl") || canvas.getContext("experimental-webgl")));
  10728. } catch (e) {
  10729. return false;
  10730. }
  10731. }
  10732. /**
  10733. * 检查webGl2
  10734. */
  10735. }, {
  10736. key: "isWebGL2Available",
  10737. value: function isWebGL2Available() {
  10738. try {
  10739. var canvas = document.createElement("canvas");
  10740. return !!(window.WebGL2RenderingContext && canvas.getContext("webgl2"));
  10741. } catch (e) {
  10742. return false;
  10743. }
  10744. }
  10745. /**
  10746. * 创建播放器实例
  10747. */
  10748. }, {
  10749. key: "createPlayerInstance",
  10750. value: function () {
  10751. var _createPlayerInstance = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee12() {
  10752. var _this12 = this;
  10753. var dom, playButton, pauseButton, _dom, MuteOnButton, MuteOffButton, definitionControl, sdButton, hdButton, _hdButton4, _sdButton4, cloudRecordButton, localRecordButton, cloudOffButton, cloudOnButton, localOffButton, localOnButton, _cloudRecordButton, _localRecordButton, _cloudOffButton, _cloudOnButton, _localOffButton, _localOnButton, localButton, cloudButton, cloudButtonOff, cloudButtonOn, localButtonOff, localButtonOn, _cloudButtonOff2, _cloudButtonOn2, _localButtonOff2, _localButtonOn2, H5TimeLinePanel, result, v, video, source, id, config, that, currentCanvasEL, currentVideoEL, _this$playUrl$replace, _this$playUrl$replace2, wsIP, _location2, protocol, options, _that2;
  10754. return regenerator_default().wrap(function _callee12$(_context12) {
  10755. while (1) {
  10756. switch (_context12.prev = _context12.next) {
  10757. case 0:
  10758. if (this.playerStatus.isAutoPlay === true) {
  10759. // console.log("开始自动播放");
  10760. // this.playOrPause()
  10761. // this.isPlaying = true
  10762. dom = document.getElementById("playerControl");
  10763. if (dom) {
  10764. playButton = document.getElementById("playerControl").children[0];
  10765. playButton.removeAttribute("style");
  10766. playButton.setAttribute("style", "display:none");
  10767. pauseButton = document.getElementById("playerControl").children[1];
  10768. pauseButton.removeAttribute("style");
  10769. pauseButton.setAttribute("style", "display:inline-block");
  10770. }
  10771. }
  10772. if (this.options.automute === true || (platform_default()).os.family == "iOS" || this.isMutedBackup === true) {
  10773. console.log("开始自动静音");
  10774. _dom = document.getElementById("MuteControl");
  10775. if (_dom) {
  10776. MuteOnButton = document.getElementById("MuteControl").children[0];
  10777. MuteOnButton.removeAttribute("style");
  10778. MuteOnButton.setAttribute("style", "display: none");
  10779. MuteOffButton = document.getElementById("MuteControl").children[1];
  10780. MuteOffButton.removeAttribute("style");
  10781. MuteOffButton.setAttribute("style", "display: inline-block");
  10782. }
  10783. this.playerStatus.isMuted = true;
  10784. } // if (!this.playerStatus.isFullScreen && this.controls) {
  10785. // let dom = document.querySelector("#ExtendControl");
  10786. // dom.addEventListener("click", this._toggleFullScreen.bind(this));
  10787. // }
  10788. definitionControl = document.getElementById("DefinitionControl");
  10789. if (definitionControl) {
  10790. if (this.playerStatus.isHD) {
  10791. sdButton = definitionControl.children[1];
  10792. sdButton.removeAttribute("style");
  10793. sdButton.setAttribute("style", "display:none");
  10794. hdButton = definitionControl.children[0];
  10795. hdButton.removeAttribute("style");
  10796. hdButton.setAttribute("style", "display:inline-block");
  10797. } else {
  10798. _hdButton4 = definitionControl.children[0];
  10799. _hdButton4.removeAttribute("style");
  10800. _hdButton4.setAttribute("style", "display:none");
  10801. _sdButton4 = definitionControl.children[1];
  10802. _sdButton4.removeAttribute("style");
  10803. _sdButton4.setAttribute("style", "display:inline-block");
  10804. }
  10805. }
  10806. if (!this.playerStatus.isMobile) {
  10807. if (this.playerStatus.isPlayBack && this.playerStatus.playBackType == "localRecord") {
  10808. cloudRecordButton = document.getElementById("cloudVideoControl");
  10809. localRecordButton = document.getElementById("localVideoControl");
  10810. if (cloudRecordButton) {
  10811. cloudOffButton = cloudRecordButton.children[0];
  10812. cloudOffButton.removeAttribute("style");
  10813. cloudOffButton.setAttribute("style", "display:inline-block");
  10814. cloudOnButton = cloudRecordButton.children[1];
  10815. cloudOnButton.removeAttribute("style");
  10816. cloudOnButton.setAttribute("style", "display:none");
  10817. }
  10818. if (localRecordButton) {
  10819. localOffButton = localRecordButton.children[0];
  10820. localOffButton.removeAttribute("style");
  10821. localOffButton.setAttribute("style", "display:none");
  10822. localOnButton = localRecordButton.children[1];
  10823. localOnButton.removeAttribute("style");
  10824. localOnButton.setAttribute("style", "display:inline-block");
  10825. }
  10826. } else if (this.playerStatus.isPlayBack && this.playerStatus.playBackType != "localRecord") {
  10827. _cloudRecordButton = document.getElementById("cloudVideoControl");
  10828. _localRecordButton = document.getElementById("localVideoControl");
  10829. if (_cloudRecordButton) {
  10830. _cloudOffButton = _cloudRecordButton.children[0];
  10831. _cloudOffButton.removeAttribute("style");
  10832. _cloudOffButton.setAttribute("style", "display:none");
  10833. _cloudOnButton = _cloudRecordButton.children[1];
  10834. _cloudOnButton.removeAttribute("style");
  10835. _cloudOnButton.setAttribute("style", "display:inline-block");
  10836. }
  10837. if (_localRecordButton) {
  10838. _localOffButton = _localRecordButton.children[0];
  10839. _localOffButton.removeAttribute("style");
  10840. _localOffButton.setAttribute("style", "display:inline-block");
  10841. _localOnButton = _localRecordButton.children[1];
  10842. _localOnButton.removeAttribute("style");
  10843. _localOnButton.setAttribute("style", "display:none");
  10844. }
  10845. }
  10846. } else {
  10847. localButton = document.getElementById("local-button");
  10848. cloudButton = document.getElementById("cloud-button");
  10849. if (this.playerStatus.isPlayBack && this.playerStatus.playBackType == "localRecord") {
  10850. if (cloudButton) {
  10851. cloudButton.removeAttribute("class");
  10852. cloudButton.setAttribute("class", "record-button-list");
  10853. cloudButtonOff = cloudButton.children[1];
  10854. cloudButtonOff.removeAttribute("style");
  10855. cloudButtonOff.setAttribute("style", "display:none");
  10856. cloudButtonOn = cloudButton.children[0];
  10857. cloudButtonOn.removeAttribute("style");
  10858. cloudButtonOn.setAttribute("style", "display:inline-block");
  10859. }
  10860. if (localButton) {
  10861. localButton.removeAttribute("class");
  10862. localButton.setAttribute("class", "record-button-list record-button-list-active");
  10863. localButtonOff = localButton.children[1];
  10864. localButtonOff.removeAttribute("style");
  10865. localButtonOff.setAttribute("style", "display:inline-block");
  10866. localButtonOn = localButton.children[0];
  10867. localButtonOn.removeAttribute("style");
  10868. localButtonOn.setAttribute("style", "display:none");
  10869. }
  10870. } else if (this.playerStatus.isPlayBack && this.playerStatus.playBackType != "localRecord") {
  10871. if (cloudButton) {
  10872. cloudButton.removeAttribute("class");
  10873. cloudButton.setAttribute("class", "record-button-list record-button-list-active");
  10874. _cloudButtonOff2 = cloudButton.children[0];
  10875. _cloudButtonOff2.removeAttribute("style");
  10876. _cloudButtonOff2.setAttribute("style", "display:none");
  10877. _cloudButtonOn2 = cloudButton.children[1];
  10878. _cloudButtonOn2.removeAttribute("style");
  10879. _cloudButtonOn2.setAttribute("style", "display:inline-block");
  10880. }
  10881. if (localButton) {
  10882. localButton.removeAttribute("class");
  10883. localButton.setAttribute("class", "record-button-list");
  10884. _localButtonOff2 = localButton.children[0];
  10885. _localButtonOff2.removeAttribute("style");
  10886. _localButtonOff2.setAttribute("style", "display:inline-block");
  10887. _localButtonOn2 = localButton.children[1];
  10888. _localButtonOn2.removeAttribute("style");
  10889. _localButtonOn2.setAttribute("style", "display:none");
  10890. }
  10891. }
  10892. }
  10893. if (this.playerStatus.isMobile && this.playerStatus.isPlayBack && !this.isH5ExtendShow) {
  10894. H5TimeLinePanel = document.getElementById("Timeline-h5-extend-Area");
  10895. H5TimeLinePanel.removeAttribute("style");
  10896. H5TimeLinePanel.setAttribute("style", "display:none");
  10897. } // 加载js依赖
  10898. // await this.loadScripts();
  10899. // console.log(this.options, "-------------------------------------------");
  10900. _context12.next = 8;
  10901. return this.getPlayUrl(this.options);
  10902. case 8:
  10903. result = _context12.sent;
  10904. if (result.isSuccess) {
  10905. _context12.next = 12;
  10906. break;
  10907. }
  10908. this.tipDom.innerHTML = result.message;
  10909. return _context12.abrupt("return");
  10910. case 12:
  10911. this.playUrl = result.playUrl; // 是否为m3u8的hls流,如果是就调用videoJs进行播放
  10912. this.isRecord = src_utils.isRecord(this.playUrl);
  10913. console.log(this.isRecord); // 加载js依赖
  10914. _context12.next = 17;
  10915. return this.loadScripts();
  10916. case 17:
  10917. if (!this.isRecord) {
  10918. _context12.next = 33;
  10919. break;
  10920. }
  10921. // 使用videoJs播放
  10922. v = document.querySelector("video");
  10923. if (v) {
  10924. this.root.removeChild(v);
  10925. }
  10926. video = document.createElement("video");
  10927. source = document.createElement("source");
  10928. src_utils.setAttr(source, "src", this.playUrl);
  10929. src_utils.setAttr(video, "playsinline", true);
  10930. src_utils.setAttr(video, "webkit-playsinline", true);
  10931. src_utils.setAttr(video, "x5-playsinline", true);
  10932. src_utils.setStyle(video, {
  10933. width: "100%",
  10934. height: "100%",
  10935. objectFit: "fill",
  10936. position: "absolute",
  10937. zIndex: -1
  10938. }); // if (!this.isMobile) utils.setAttr(video, 'class', 'video-js');
  10939. // 生成随机id,多分屏模式避免videoJs初始化冲突
  10940. id = " my-video-".concat(Math.random().toString(36).substring(2));
  10941. src_utils.setAttr(video, "id", id);
  10942. console.log(this.playerStatus.isMobile, "mobile");
  10943. if (this.playerStatus.isMobile) {
  10944. console.log("video play"); // 移动端播放
  10945. // utils.setAttr(video, 'autoplay', true);
  10946. // utils.setAttr(video, 'muted', true);
  10947. video.controls = false;
  10948. video.autoplay = true; // video.volume = 0;
  10949. // video.muted = true;
  10950. video.appendChild(source);
  10951. this.root.appendChild(video);
  10952. this.videoPlayer = video; // this.isMuted = video.muted;
  10953. // if (this.playerStatus.isAutoPlay) {
  10954. // this.play()
  10955. // }
  10956. try {
  10957. setTimeout(function () {
  10958. if (_this12.playerStatus.isAutoPlay) {
  10959. _this12.play();
  10960. }
  10961. }, 1000); // ios退出全屏自动暂停视频
  10962. this.videoPlayer.addEventListener("webkitendfullscreen", function () {
  10963. _this12.pause();
  10964. });
  10965. } catch (e) {
  10966. console.log(e);
  10967. this.tipDom.innerHTML = "播放出错";
  10968. }
  10969. } else {
  10970. src_utils.setAttr(source, "type", "application/x-mpegURL");
  10971. video.appendChild(source);
  10972. this.root.appendChild(video);
  10973. config = {
  10974. controls: false,
  10975. autoplay: this.playerStatus.autoplay,
  10976. muted: false
  10977. };
  10978. that = this;
  10979. this.videoJsPlayer = videojs(id, config, function () {
  10980. that.videoJsPlayer.errorDisplay.off();
  10981. });
  10982. try {
  10983. setTimeout(function () {
  10984. if (_this12.playerStatus.isAutoPlay) {
  10985. _this12.play();
  10986. }
  10987. }, 1000);
  10988. } catch (e) {
  10989. this.tipDom.innerHTML = "播放出错";
  10990. } // this.getBufferTime(video);
  10991. } // setTimeout(() => {
  10992. // video.currentTime = video.duration - 0.5
  10993. // }, 500)
  10994. _context12.next = 71;
  10995. break;
  10996. case 33:
  10997. if (this.canvasPlayer && this.playerStatus.isPlayBack) {
  10998. this.canvasPlayer.close();
  10999. this.canvasPlayer = null;
  11000. }
  11001. if (this.isWebGLAvailable()) {
  11002. _context12.next = 37;
  11003. break;
  11004. }
  11005. this.tipDom.innerHTML = "您的浏览器不支持或未开启WebGL!";
  11006. return _context12.abrupt("return");
  11007. case 37:
  11008. // 使用Canvas+Websocket播放
  11009. currentCanvasEL = document.getElementById("canvas-video");
  11010. currentVideoEL = document.getElementById("video-canvas");
  11011. console.log(currentCanvasEL, currentVideoEL);
  11012. if (currentCanvasEL) {
  11013. this.root.removeChild(currentCanvasEL);
  11014. }
  11015. if (currentVideoEL) {
  11016. this.root.removeChild(currentVideoEL);
  11017. }
  11018. this.canvasEl = document.createElement("canvas");
  11019. this.canvasEl.setAttribute("id", "canvas-video");
  11020. this.videoEl = document.createElement("video");
  11021. this.videoEl.setAttribute("id", "video-canvas");
  11022. this.canvasEl.style.width = "100%";
  11023. this.canvasEl.style.height = "100%";
  11024. this.canvasEl.style.position = "absolute";
  11025. this.canvasEl.style.zIndex = "-1";
  11026. this.videoEl.style.width = "100%";
  11027. this.videoEl.style.height = "100%";
  11028. this.videoEl.style.display = "none";
  11029. this.root.appendChild(this.canvasEl);
  11030. this.root.appendChild(this.videoEl);
  11031. this.frameTime = null;
  11032. this.syncTime = null;
  11033. _this$playUrl$replace = this.playUrl.replace("rtsp://", "").split("/"), _this$playUrl$replace2 = _slicedToArray(_this$playUrl$replace, 1), wsIP = _this$playUrl$replace2[0];
  11034. _location2 = location, protocol = _location2.protocol;
  11035. options = {
  11036. wsURL: "\n ".concat(protocol === "http:" && this.playUrl.indexOf("8556") === -1 ? "ws" : "wss", "://").concat(wsIP, "\n "),
  11037. // wsURL: `ws://${wsIP}`,
  11038. rtspURL: this.playUrl,
  11039. username: "admin",
  11040. password: "admin123",
  11041. decodeMode: "canvas"
  11042. };
  11043. this.canvasPlayer = new PlayerControl(options);
  11044. _that2 = this;
  11045. console.log("初始化播放器" + _that2.canvasPlayer);
  11046. this.isInitialized = true;
  11047. this.canvasPlayer.on("WorkerReady", function () {
  11048. //当文件准备完成后,开始拉流。
  11049. console.log("拉流开始"); // if (that.playerStatus.isAutoPlay) {
  11050. _that2.canvasPlayer.connect(); // }
  11051. }); // 优先进行事件绑定再初始化播放器,因为初始化播放器之后events对象会变成null
  11052. this.canvasPlayer.on("PlayStart", function (e) {
  11053. console.log("触发playStart");
  11054. _this12.changeDateFlag = false;
  11055. _this12.changeTimeLine = false; // clearTimeout(this.playErrorTimer);
  11056. _this12.stopFresh = false;
  11057. _this12.tipDom.innerHTML = "";
  11058. log("\u5F00\u59CB\u64AD\u653E:".concat(e));
  11059. _this12.isInitialized = false;
  11060. _this12.isChangeDate = false;
  11061. var getStreamTotalTime = new Date().getTime() - _this12.startGetStreamTime; // log(`拉流耗时: ${getStreamTotalTime / 1000}s`);
  11062. // const startInitPlayerTime = localStorage.getItem('startInitPlayerTime');
  11063. // log(`总耗时: ${(new Date().getTime() - startInitPlayerTime) / 1000}s`);
  11064. if (_this12.playerStatus.isAutoPlay) {
  11065. if ((platform_default()).os.family == "iOS") {
  11066. _this12.canvasPlayer.setAudioVolume(0);
  11067. _this12.playerStatus.isMuted = true;
  11068. } else {
  11069. setTimeout(function () {
  11070. _this12.canvasPlayer.setAudioVolume(0);
  11071. }, 0);
  11072. if (_this12.isMutedBackup !== true) {
  11073. setTimeout(function () {
  11074. _this12.canvasPlayer.setAudioVolume(1);
  11075. }, 1000);
  11076. }
  11077. }
  11078. _this12.play();
  11079. }
  11080. var that = _this12;
  11081. if (_this12.isMutedBackup === false) {
  11082. setTimeout(function () {
  11083. _this12.canvasPlayer.setAudioVolume(1);
  11084. }, 1000);
  11085. var _dom2 = document.getElementById("MuteControl");
  11086. if (_dom2 && (platform_default()).os.family == "iOS") {
  11087. // let MuteOffButton = document.getElementById("MuteControl").children[1];
  11088. // MuteOffButton.removeAttribute("style");
  11089. // MuteOffButton.setAttribute("style", "display: none");
  11090. // let MuteOnButton = document.getElementById("MuteControl").children[0];
  11091. // MuteOnButton.removeAttribute("style");
  11092. // MuteOnButton.setAttribute("style", "display: inline-block");
  11093. setTimeout(function () {
  11094. _dom2.click();
  11095. }, 1000);
  11096. }
  11097. }
  11098. _this12.isMutedBackup = null;
  11099. console.log('isMutedBackup:', _this12.isMutedBackup);
  11100. }); // 当解码器或播放视频出现错误时,触发该事件
  11101. this.canvasPlayer.on("Error", function (e) {// this.tipDom.innerHTML = '播放失败';
  11102. // error(`播放出错:${JSON.stringify(e)}`);
  11103. }); // 当每在视频上绘制一帧时,触发该事件
  11104. this.canvasPlayer.on("UpdateCanvas", this.throttle(function (e) {
  11105. // console.log("绘制开始", e);
  11106. // 清空错误提示
  11107. // this.tipDom.innerHTML = "";
  11108. if (!_this12.changeTimeLine) {
  11109. if (_this12.playerStatus.isPlayBack && _this12.playerStatus.recordList.length > 0 && !_this12.changeDateFlag && !_this12.isChangeDate) {
  11110. // console.log((this.playerStatus.recordList[this.playerStatus.recordList.length - 1].endTime), (e.timestamp))
  11111. if (_this12.playerStatus.recordList[_this12.playerStatus.recordList.length - 1].endTime <= e.timestamp) {
  11112. _this12.stop();
  11113. _this12.tipDom.innerHTML = "录像播放完毕";
  11114. }
  11115. }
  11116. if (_this12.isPlaying) {
  11117. _this12.tipDom.innerHTML = "";
  11118. } // console.log(this.timeLineWeb, this.timeLineH5);
  11119. if (_this12.timeLineWeb && !_this12.stopFresh) {
  11120. _this12.timeLineWeb.updateTimeLine(e.timestamp);
  11121. }
  11122. if (_this12.timeLineH5 && !_this12.stopFresh) {
  11123. _this12.timeLineH5.updateTimeLine(e.timestamp);
  11124. }
  11125. if (_this12.timeLineH5Expend && !_this12.stopFresh) {
  11126. _this12.timeLineH5Expend.updateTimeLine(e.timestamp);
  11127. } // }, 1000);
  11128. // console.log(this.syncTime);
  11129. clearTimeout(_this12.frameTime);
  11130. _this12.frameTime = setTimeout(function () {
  11131. if (_this12.isPlaying) {
  11132. _this12.tipDom.innerHTML = "加载中,请稍后...";
  11133. }
  11134. }, 10000); // console.log(this.frameTime);
  11135. }
  11136. }));
  11137. /*记录下第一帧的,然后再用当前帧的时间戳减去第一帧,就是时间了/
  11138. that.player.on('UpdateCanvas', function(rs) {
  11139. if (beginTimestamp === 0) {
  11140. beginTimestamp = rs.timestamp; //获取录像文件的第一帧的时间戳
  11141. }
  11142. that.currTime = rs.timestamp - beginTimestamp;
  11143. });*/
  11144. // 当开始解码器开始解码时,触发该事件
  11145. this.canvasPlayer.on("DecodeStart", function (e) {
  11146. console.log("DecodeStart: " + JSON.stringify(e));
  11147. _that2.canvasPlayer.connect();
  11148. });
  11149. this.startGetStreamTime = new Date().getTime();
  11150. this.canvasPlayer.init(this.canvasEl, this.videoEl);
  11151. case 71:
  11152. case "end":
  11153. return _context12.stop();
  11154. }
  11155. }
  11156. }, _callee12, this);
  11157. }));
  11158. function createPlayerInstance() {
  11159. return _createPlayerInstance.apply(this, arguments);
  11160. }
  11161. return createPlayerInstance;
  11162. }()
  11163. }, {
  11164. key: "throttle",
  11165. value: function throttle(fn) {
  11166. var timer = null;
  11167. return function () {
  11168. var _arguments = arguments,
  11169. _this13 = this;
  11170. if (timer) {
  11171. return;
  11172. }
  11173. timer = setTimeout(function () {
  11174. //执行操作(使用apply重新绑定this的指向)
  11175. fn.apply(_this13, _arguments);
  11176. timer = null;
  11177. }, 100);
  11178. };
  11179. }
  11180. /**
  11181. * 语音对讲功能
  11182. */
  11183. }, {
  11184. key: "talkStartOrStop",
  11185. value: function talkStartOrStop() {
  11186. if (!this.talk) return;
  11187. if (this.talk.pc === null) {
  11188. this.startTalk();
  11189. } else {
  11190. this.stopTalk();
  11191. }
  11192. }
  11193. /**
  11194. * 开启语音对讲
  11195. */
  11196. }, {
  11197. key: "startTalk",
  11198. value: function () {
  11199. var _startTalk = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee13() {
  11200. var _this14 = this;
  11201. var beginTime, pc, sessionId, srfixOnceFlag;
  11202. return regenerator_default().wrap(function _callee13$(_context13) {
  11203. while (1) {
  11204. switch (_context13.prev = _context13.next) {
  11205. case 0:
  11206. if (this.talk) {
  11207. _context13.next = 2;
  11208. break;
  11209. }
  11210. return _context13.abrupt("return");
  11211. case 2:
  11212. if (!(!navigator.mediaDevices && !navigator.getUseMedia)) {
  11213. _context13.next = 4;
  11214. break;
  11215. }
  11216. throw JSON.stringify({
  11217. code: "1002",
  11218. msg: "浏览器版本过低或者请使用https链接"
  11219. });
  11220. case 4:
  11221. // 获取音频数据
  11222. beginTime = new Date().getTime();
  11223. pc = new RTCPeerConnection({
  11224. iceServers: [{
  11225. urls: "turn:112.124.55.115:3478",
  11226. username: "test",
  11227. credential: "test"
  11228. }],
  11229. bundlePolicy: "max-bundle",
  11230. iceTransportPolicy: "relay"
  11231. });
  11232. sessionId = src_utils.getRandomString();
  11233. this.talk.sessionId = sessionId;
  11234. this.talk.pc = pc;
  11235. srfixOnceFlag = true;
  11236. navigator.mediaDevices.getUserMedia({
  11237. audio: true,
  11238. video: false
  11239. }).then(function (res) {
  11240. var _iterator3 = _createForOfIteratorHelper(res.getTracks()),
  11241. _step3;
  11242. try {
  11243. for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
  11244. var i = _step3.value;
  11245. pc.addTrack(i);
  11246. }
  11247. } catch (err) {
  11248. _iterator3.e(err);
  11249. } finally {
  11250. _iterator3.f();
  11251. }
  11252. log("\u97F3\u9891\u83B7\u53D6\u65F6\u95F4\uFF1A", new Date().getTime() - beginTime);
  11253. return pc.createOffer({
  11254. offerToReceiveAudio: 0,
  11255. offerToReceiveVideo: 0
  11256. });
  11257. }).then(function (res) {
  11258. return pc.setLocalDescription(res);
  11259. }).catch(function (err) {
  11260. _this14.talk.failed && _this14.talk.failed({
  11261. code: "1003",
  11262. msg: JSON.stringify(err)
  11263. });
  11264. _this14.stopTalk();
  11265. });
  11266. pc.onsignalingstatechange = function () {
  11267. log("signalingstatechange: ".concat(pc.signalingstatechange), new Date().getTime() - beginTime);
  11268. };
  11269. pc.onconnectionstatechange = function (state) {
  11270. if (pc.connectionState === "connected") {
  11271. // 对讲建立成功,触发成功的钩子函数
  11272. log("connectionState: ".concat(pc.connectionState), new Date().getTime() - beginTime); // 修改图标
  11273. var talkControl = document.getElementById('talkControl');
  11274. var open = talkControl.children[0];
  11275. var close = talkControl.children[1];
  11276. open.setAttribute('style', 'display:inline-block');
  11277. close.setAttribute('style', 'display:none');
  11278. _this14.talk.success && _this14.talk.success("open");
  11279. }
  11280. if (pc.connectionState === "failed") {
  11281. // 对讲建立失败,触发失败的钩子函数
  11282. log("connectionState: ".concat(pc.connectionState), new Date().getTime() - beginTime);
  11283. _this14.talk.failed && _this14.talk.failed({
  11284. code: "1003",
  11285. msg: "对讲连接建立失败, 请更换网络环境之后再次尝试"
  11286. });
  11287. _this14.stopTalk();
  11288. }
  11289. };
  11290. pc.onicegatheringstatechange = function () {
  11291. log("iceGatheringState: ".concat(pc.iceGatheringState), new Date().getTime() - beginTime);
  11292. };
  11293. pc.onicecandidate = function (state) {
  11294. // 当获取到第一个 srfix 的值, 立即发送 offer, 进行建立连接
  11295. if (state && state.candidate) {
  11296. log("candidate:".concat(state.candidate.type), new Date().getTime() - beginTime);
  11297. }
  11298. if (srfixOnceFlag && state.candidate && state.candidate.type === "relay") {
  11299. srfixOnceFlag = false;
  11300. var sdpOffer = pc.localDescription.sdp;
  11301. _this14._request({
  11302. sdpOffer: sdpOffer,
  11303. sessionId: sessionId,
  11304. operate: "open"
  11305. }).then(function (res) {
  11306. var result = res.data.result;
  11307. if (result.code !== "0") {
  11308. pc.close();
  11309. _this14.talk.pc = null;
  11310. throw JSON.stringify(result);
  11311. }
  11312. var sdpAnswer = result.data.sdpAnswer;
  11313. return pc.setRemoteDescription(new RTCSessionDescription({
  11314. type: "answer",
  11315. sdp: sdpAnswer
  11316. }));
  11317. }).then(function (res) {
  11318. src_utils.setAttr(_this14.btnTalk, "class", "player__btn player__btn-large player__btn--voice");
  11319. }).catch(function (err) {
  11320. pc.close();
  11321. _this14.talk.pc = null; // 如果有其他请求错误,直接向外抛出
  11322. _this14.talk.failed && _this14.talk.failed(JSON.parse(err));
  11323. });
  11324. }
  11325. };
  11326. case 15:
  11327. case "end":
  11328. return _context13.stop();
  11329. }
  11330. }
  11331. }, _callee13, this);
  11332. }));
  11333. function startTalk() {
  11334. return _startTalk.apply(this, arguments);
  11335. }
  11336. return startTalk;
  11337. }()
  11338. /**
  11339. * 关闭语音对讲
  11340. */
  11341. }, {
  11342. key: "stopTalk",
  11343. value: function () {
  11344. var _stopTalk = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee14() {
  11345. var sessionId, talkControl, open, close;
  11346. return regenerator_default().wrap(function _callee14$(_context14) {
  11347. while (1) {
  11348. switch (_context14.prev = _context14.next) {
  11349. case 0:
  11350. if (this.talk) {
  11351. _context14.next = 2;
  11352. break;
  11353. }
  11354. return _context14.abrupt("return");
  11355. case 2:
  11356. if (!(this.talk.pc === null)) {
  11357. _context14.next = 4;
  11358. break;
  11359. }
  11360. return _context14.abrupt("return");
  11361. case 4:
  11362. this.talk.pc.close();
  11363. sessionId = this.talk.sessionId;
  11364. this.talk.pc = null; // 发出关闭请求
  11365. _context14.prev = 7;
  11366. _context14.next = 10;
  11367. return this._request({
  11368. sessionId: sessionId,
  11369. operate: "close"
  11370. });
  11371. case 10:
  11372. _context14.next = 14;
  11373. break;
  11374. case 12:
  11375. _context14.prev = 12;
  11376. _context14.t0 = _context14["catch"](7);
  11377. case 14:
  11378. talkControl = document.getElementById('talkControl');
  11379. open = talkControl.children[0];
  11380. close = talkControl.children[1];
  11381. open.setAttribute('style', 'display:none');
  11382. close.setAttribute('style', 'display:inline-block');
  11383. this.talk.success && this.talk.success("close");
  11384. case 20:
  11385. case "end":
  11386. return _context14.stop();
  11387. }
  11388. }
  11389. }, _callee14, this, [[7, 12]]);
  11390. }));
  11391. function stopTalk() {
  11392. return _stopTalk.apply(this, arguments);
  11393. }
  11394. return stopTalk;
  11395. }()
  11396. /**
  11397. * 根据data是否存在,来设置streamType=webrtc
  11398. */
  11399. }, {
  11400. key: "_request",
  11401. value: function _request(data) {
  11402. var _this$options3 = this.options,
  11403. kitToken = _this$options3.kitToken,
  11404. deviceId = _this$options3.deviceId,
  11405. channelId = _this$options3.channelId,
  11406. type = _this$options3.type;
  11407. var urlParamsString = src_utils.transformParamsToString(_objectSpread(_objectSpread({}, this.urlParams), {}, {
  11408. streamType: data ? "webrtc" : this.urlParams.streamType
  11409. })); // const node = document.getElementById('url-type')
  11410. // node.innerText = `流方式: ${this.urlParams.streamType}`;
  11411. return axios_default()({
  11412. url: "".concat(host, "/openapi/getKitStreamUrl"),
  11413. headers: {
  11414. "Content-Type": "application/json"
  11415. },
  11416. method: "post",
  11417. data: {
  11418. params: _objectSpread({
  11419. kitToken: kitToken,
  11420. kitParam: "".concat(deviceId, "/").concat(channelId, "/").concat(type).concat(urlParamsString)
  11421. }, data)
  11422. }
  11423. });
  11424. }
  11425. }, {
  11426. key: "_toggleFullScreen",
  11427. value: function _toggleFullScreen() {
  11428. var requestMethod = this.playerStatus.isFullScreen ? this.exitFullScreen : this.setFullScreen;
  11429. requestMethod.call(this); // this.playerStatus.isFullScreen = !this.playerStatus.isFullScreen
  11430. }
  11431. }, {
  11432. key: "_toggleWebFullScreen",
  11433. value: function _toggleWebFullScreen() {
  11434. console.log("_toggleWebFullScreen", this.options);
  11435. if (this.playerStatus.isFullScreen) return;
  11436. if (this.playerStatus.isWebFullScreen) {
  11437. this.options.rootSelect.style.width = this.options.width;
  11438. this.options.rootSelect.style.height = this.options.height;
  11439. this.playerStatus.isWebFullScreen = false;
  11440. } else {
  11441. this.options.rootSelect.style.width = window.innerWidth + "px";
  11442. this.options.rootSelect.style.height = window.innerHeight + "px";
  11443. this.playerStatus.isWebFullScreen = true;
  11444. } // const requestMethod = this.playerStatus.isFullScreen ?
  11445. // this.exitFullScreen :
  11446. // this.setFullScreen;
  11447. // requestMethod.call(this);
  11448. }
  11449. }, {
  11450. key: "setFullScreen",
  11451. value: function setFullScreen() {
  11452. var el = document.body;
  11453. console.log(el);
  11454. if (!this.playerStatus.isFullScreen) {
  11455. var fullScreenMethod = el.requestFullScreen || // w3c
  11456. el.webkitRequestFullScreen || // Chrome
  11457. el.mozRequestFullScreen || // Firefox
  11458. document.body.msRequestFullscreen; // IE11
  11459. if (fullScreenMethod) {
  11460. console.log(fullScreenMethod);
  11461. fullScreenMethod.call(el);
  11462. } else {
  11463. var _document$getElements = document.getElementsByTagName("video"),
  11464. _document$getElements2 = _slicedToArray(_document$getElements, 1),
  11465. video = _document$getElements2[0];
  11466. video.webkitEnterFullScreen();
  11467. } // if (this.btnFullScreen) {
  11468. // utils.setAttr(this.btnFullScreen, 'class', 'player__btn player__btn-large iconfont icon-Icon_QuanPing');
  11469. // }
  11470. }
  11471. this.playerStatus.isFullScreen = !this.playerStatus.isFullScreen;
  11472. src_utils.setStyle(this.root, {
  11473. width: "100%",
  11474. height: "100%"
  11475. });
  11476. }
  11477. }, {
  11478. key: "exitFullScreen",
  11479. value: function exitFullScreen() {
  11480. var _this15 = this;
  11481. if (this.playerStatus.isFullScreen) {
  11482. var exitFullScreenMethod = document.exitFullScreen || // w3c
  11483. document.webkitCancelFullScreen || // Chrome
  11484. document.mozCancelFullScreen || // Firefox
  11485. document.msExitFullscreen; // IE11
  11486. exitFullScreenMethod.call(document); // if (this.btnFullScreen) {
  11487. // utils.setAttr(this.btnFullScreen, 'class', 'player__btn player__btn-large iconfont iconquanping');
  11488. // }
  11489. var app = document.getElementById(this.rootId);
  11490. app.style.width = this.options.width;
  11491. app.style.height = this.options.height;
  11492. setTimeout(function () {
  11493. if (!_this15.playerStatus.isMobile) {
  11494. console.log(window.innerHeight);
  11495. var timeLineControl = document.getElementById("timeLine_web");
  11496. if (timeLineControl) {
  11497. timeLineControl.removeChild(timeLineControl.childNodes[0]);
  11498. }
  11499. if (_this15.playerStatus.isPlayBack) {
  11500. var webTimeLine = document.createElement("canvas");
  11501. webTimeLine.setAttribute("id", "player_timeLine-web");
  11502. webTimeLine.setAttribute("width", timeLineControl.clientWidth);
  11503. webTimeLine.setAttribute("height", timeLineControl.clientHeight);
  11504. timeLineControl.appendChild(webTimeLine);
  11505. var that = _this15;
  11506. _this15.timeLineWeb.init({
  11507. id: "player_timeLine-web",
  11508. onChange: function onChange(newTime) {
  11509. that.stopFresh = true;
  11510. console.log("time change", newTime);
  11511. console.log(that.dateTime, "-------------------3240");
  11512. that.changeTime = that.dateTime + newTime * 1000;
  11513. that.urlParams.beginTime = src_utils.getFormatTime(that.changeTime);
  11514. that.isMutedBackup = that.playerStatus.isMuted;
  11515. that.createPlayerInstance();
  11516. },
  11517. startTime: function startTime() {
  11518. that.stopFresh = false; // that.start();
  11519. that.startTimeLine(that, that.changeTime);
  11520. },
  11521. stopTime: function stopTime() {
  11522. // that.pause()
  11523. that.stopFresh = true; // that.stop();
  11524. that.changeTimeLine = true;
  11525. that.stopTimeLine(that);
  11526. },
  11527. recordArea: that.playerStatus.recordList,
  11528. isMobile: false,
  11529. isFullScreen: false,
  11530. height: timeLineControl.clientHeight,
  11531. width: timeLineControl.clientWidth
  11532. });
  11533. }
  11534. }
  11535. }, 300);
  11536. }
  11537. this.playerStatus.isFullScreen = !this.playerStatus.isFullScreen; // this._setPlayerSize()
  11538. }
  11539. }]);
  11540. return Player;
  11541. }();
  11542. /* harmony default export */ const src_player = (Player);
  11543. // EXTERNAL MODULE: ./src/assets/themefont/iconfont.js
  11544. var iconfont = __webpack_require__(5323);
  11545. // EXTERNAL MODULE: ./src/assets/themefont/iconfont.css
  11546. var themefont_iconfont = __webpack_require__(6173);
  11547. // EXTERNAL MODULE: ./src/assets/style/player.css
  11548. var player = __webpack_require__(3710);
  11549. // EXTERNAL MODULE: ./src/assets/style/border.css
  11550. var border = __webpack_require__(8276);
  11551. // EXTERNAL MODULE: ./src/assets/style/video-js.css
  11552. var video_js = __webpack_require__(549);
  11553. ;// CONCATENATED MODULE: ./src/main.js
  11554. // import './assets/style/animate.min.css'
  11555. // import '../static/message.js';
  11556. // new vConsole();
  11557. var main_utils$logsFunction = src_utils.logsFunction(),
  11558. main_log = main_utils$logsFunction.log,
  11559. main_info = main_utils$logsFunction.info,
  11560. main_error = main_utils$logsFunction.error;
  11561. var ImouPlayer = /*#__PURE__*/function () {
  11562. function ImouPlayer(id) {
  11563. _classCallCheck(this, ImouPlayer);
  11564. var startInitPlayerTime = new Date().getTime().toString(); // localStorage.setItem('startInitPlayerTime', startInitPlayerTime);
  11565. this.rootId = id;
  11566. this.root = src_utils.$(id);
  11567. src_utils.setStyle(this.root, {
  11568. position: "static",
  11569. overflow: "hidden",
  11570. userSelect: "none"
  11571. }); // 存放播放器的根节点
  11572. this.container = document.createElement("div");
  11573. src_utils.setStyle(this.container, {
  11574. // position: "relative",
  11575. display: "flex",
  11576. flexFlow: "row wrap",
  11577. background: "#000",
  11578. overflow: "hidden",
  11579. width: "100%"
  11580. });
  11581. this.root.appendChild(this.container); // 存放播放器实例
  11582. this.playerSet = []; // 是否全屏状态
  11583. this.isFullScreen = false;
  11584. this.themeData = [];
  11585. }
  11586. /**
  11587. * 配置播放器参数
  11588. * @public
  11589. * @param options
  11590. * @returns {Promise<void>}
  11591. */
  11592. _createClass(ImouPlayer, [{
  11593. key: "setup",
  11594. value: function () {
  11595. var _setup = _asyncToGenerator( /*#__PURE__*/regenerator_default().mark(function _callee(options) {
  11596. var containerHeight, windows;
  11597. return regenerator_default().wrap(function _callee$(_context) {
  11598. while (1) {
  11599. switch (_context.prev = _context.next) {
  11600. case 0:
  11601. if (!options.src || !options.src instanceof Array) {
  11602. main_error("请填写正确的src");
  11603. } // 非IE环境中使用使用WebSocket+Canvas进行播放
  11604. this.options = options;
  11605. this.options.url = this.options.src; // 默认控制栏为true
  11606. if (this.options.controls === undefined) {
  11607. this.options.controls = true;
  11608. } // 默认自动播放为true
  11609. if (this.options.autoplay === undefined) {
  11610. this.options.autoplay = true;
  11611. } // 默认静音为false
  11612. if (this.options.automute === undefined) {
  11613. this.options.automute = false;
  11614. }
  11615. containerHeight = "100%";
  11616. src_utils.setStyle(this.container, {
  11617. height: containerHeight
  11618. });
  11619. this._setPlayerSize();
  11620. windows = 1; // if (this.options.src.length === 1) {
  11621. // windows = 1;
  11622. // } else if (this.options.src.length === 2) {
  11623. // windows = 2;
  11624. // } else if (this.options.src.length <= 4 && this.options.src.length > 1) {
  11625. // windows = 4;
  11626. // } else {
  11627. // windows = 9;
  11628. // }
  11629. this.isEdit = this.options.isEdit;
  11630. this.themeData = this.options.themeData;
  11631. console.log("准备渲染播放器");
  11632. this.renderPlayer(this.options, windows); // if (this.options.controls) {
  11633. // this._addControls();
  11634. // }
  11635. case 14:
  11636. case "end":
  11637. return _context.stop();
  11638. }
  11639. }
  11640. }, _callee, this);
  11641. }));
  11642. function setup(_x) {
  11643. return _setup.apply(this, arguments);
  11644. }
  11645. return setup;
  11646. }()
  11647. /**
  11648. * 销毁播放器实例
  11649. * @public
  11650. */
  11651. }, {
  11652. key: "destroy",
  11653. value: function destroy() {
  11654. this.playerSet.forEach(function (player) {
  11655. player.destroy();
  11656. });
  11657. src_utils.emptyDom(this.root);
  11658. }
  11659. /**
  11660. * 播放
  11661. * @public
  11662. */
  11663. }, {
  11664. key: "play",
  11665. value: function play() {
  11666. var playerSet = this.playerSet;
  11667. playerSet.forEach(function (player) {
  11668. if (player.play) player.play();
  11669. });
  11670. }
  11671. /**
  11672. * 暂停
  11673. * @public
  11674. */
  11675. }, {
  11676. key: "pause",
  11677. value: function pause() {
  11678. var playerSet = this.playerSet;
  11679. playerSet.forEach(function (player) {
  11680. if (player.pause) player.pause();
  11681. });
  11682. }
  11683. /**
  11684. * 停止播放
  11685. * @public
  11686. */
  11687. }, {
  11688. key: "stop",
  11689. value: function stop() {
  11690. var playerSet = this.playerSet;
  11691. playerSet.forEach(function (player) {
  11692. if (player.stop) player.stop();
  11693. });
  11694. }
  11695. /**
  11696. * 设置音量
  11697. * @param value 0-1
  11698. */
  11699. }, {
  11700. key: "setVolume",
  11701. value: function setVolume(value) {
  11702. if (typeof value !== "number") {
  11703. main_error("Param of volume must be a number");
  11704. return;
  11705. }
  11706. if (value > 1 || value < 0) {
  11707. main_error("Param of volume must be between from 0 to 1");
  11708. return;
  11709. }
  11710. this.playerSet.forEach(function (player) {
  11711. player.setVolume(value);
  11712. });
  11713. }
  11714. /**
  11715. * 切换分屏
  11716. * @param splitNum
  11717. * @public
  11718. */
  11719. // setMultiScreen(splitNum) {
  11720. // this.renderPlayer(this.options, splitNum)
  11721. // }
  11722. /**
  11723. * 进入全屏
  11724. * @public
  11725. */
  11726. }, {
  11727. key: "setFullScreen",
  11728. value: function setFullScreen() {
  11729. var el = this.root;
  11730. if (!this.isFullScreen) {
  11731. var fullScreenMethod = el.requestFullScreen || // w3c
  11732. el.webkitRequestFullScreen || // Chrome
  11733. el.mozRequestFullScreen || // Firefox
  11734. document.body.msRequestFullscreen; // IE11
  11735. if (fullScreenMethod) {
  11736. fullScreenMethod.call(el);
  11737. } else {
  11738. var _document$getElements = document.getElementsByTagName("video"),
  11739. _document$getElements2 = _slicedToArray(_document$getElements, 1),
  11740. video = _document$getElements2[0];
  11741. video.webkitEnterFullScreen();
  11742. }
  11743. if (this.btnFullScreen) {
  11744. src_utils.setAttr(this.btnFullScreen, "class", "player__btn player__btn-large iconfont icontuichuquanping");
  11745. }
  11746. }
  11747. this.isFullScreen = true;
  11748. src_utils.setStyle(this.root, {
  11749. width: "100%",
  11750. height: "100%"
  11751. });
  11752. }
  11753. /**
  11754. * 退出全屏
  11755. * @public
  11756. */
  11757. }, {
  11758. key: "exitFullScreen",
  11759. value: function exitFullScreen() {
  11760. if (this.isFullScreen) {
  11761. var exitFullScreenMethod = document.exitFullScreen || // w3c
  11762. document.webkitCancelFullScreen || // Chrome
  11763. document.mozCancelFullScreen || // Firefox
  11764. document.msExitFullscreen; // IE11
  11765. exitFullScreenMethod.call(document);
  11766. if (this.btnFullScreen) {
  11767. src_utils.setAttr(this.btnFullScreen, "class", "player__btn player__btn-large iconfont iconquanping");
  11768. }
  11769. }
  11770. this.isFullScreen = false; // this._setPlayerSize()
  11771. }
  11772. /**
  11773. * 渲染控制栏
  11774. * @private
  11775. */
  11776. // _addControls() {
  11777. // const panelDom = utils.domParser(
  11778. // `
  11779. // <div class="player__panel player__panel--wrap">
  11780. // <div class="player__controls player__controls--shown">
  11781. // <div></div>
  11782. // <div>
  11783. // <!-- <span id="playerSound" class="player__btn player__sound&#45;&#45;on"></span>-->
  11784. // <span class="player__btn player__split" id="playerSplit1">1</span>
  11785. // <span class="player__btn player__split" id="playerSplit2">2</span>
  11786. // <span class="player__btn player__split" id="playerSplit4">4</span>
  11787. // <span class="player__btn player__split" id="playerSplit9">9</span>
  11788. // ${ platform.os.family === 'iOS'
  11789. // ? ''
  11790. // : '<span id="playerFullScreen" class="player__btn player__btn-large iconfont iconquanping"></span>'
  11791. // }
  11792. // </div>
  11793. // </div>
  11794. // </div>
  11795. // `
  11796. // );
  11797. // this.root.appendChild(panelDom);
  11798. // this._addControlsEvent(panelDom);
  11799. // }
  11800. /**
  11801. * 将url统一为数组
  11802. * @param url
  11803. * @returns {[]}
  11804. * @private
  11805. */
  11806. }, {
  11807. key: "_setUrlFormat",
  11808. value: function _setUrlFormat(url) {
  11809. return url.filter(function (item) {
  11810. return item.url && item.kitToken;
  11811. });
  11812. }
  11813. /**
  11814. * 切换静音
  11815. * @private
  11816. */
  11817. // _toggleMuted() {
  11818. // if (this.isMuted) {
  11819. // this.setVolume(1);
  11820. // utils.setAttr(this.btnSound, 'class', 'player__btn player__sound--on');
  11821. // this.isMuted = false;
  11822. // }
  11823. // else {
  11824. // this.setVolume(0);
  11825. // utils.setAttr(this.btnSound, 'class', 'player__btn player__sound--off');
  11826. // this.isMuted = true;
  11827. // }
  11828. // }
  11829. /**
  11830. * 设置播放器尺寸
  11831. * @private
  11832. */
  11833. }, {
  11834. key: "_setPlayerSize",
  11835. value: function _setPlayerSize() {
  11836. var size = {
  11837. width: "100%",
  11838. height: "100%"
  11839. }; // 默认宽高100%
  11840. var _this$options = this.options,
  11841. _this$options$width = _this$options.width,
  11842. width = _this$options$width === void 0 ? "100%" : _this$options$width,
  11843. _this$options$height = _this$options.height,
  11844. height = _this$options$height === void 0 ? "400" : _this$options$height;
  11845. var paramsType = ["string", "number"];
  11846. if (!paramsType.includes(_typeof(width)) || !paramsType.includes(_typeof(height))) {
  11847. main_error('Type of "width" or "height" must be String or Number');
  11848. return;
  11849. }
  11850. if (typeof width === "number") {
  11851. size.width = "".concat(width, "px");
  11852. } else {
  11853. if (width.indexOf("px") === -1 && width.indexOf("%") === -1) {
  11854. size.width = "".concat(width, "px");
  11855. } else size.width = width;
  11856. }
  11857. if (typeof height === "number") {
  11858. size.height = "".concat(height, "px");
  11859. } else {
  11860. if (height.indexOf("px") === -1 && height.indexOf("%") === -1) {
  11861. size.height = "".concat(height, "px");
  11862. } else size.height = height;
  11863. }
  11864. src_utils.setStyle(this.root, size);
  11865. }
  11866. /**
  11867. * 切换全屏状态
  11868. * @private
  11869. */
  11870. }, {
  11871. key: "_toggleFullScreen",
  11872. value: function _toggleFullScreen() {
  11873. var requestMethod = this.isFullScreen ? this.exitFullScreen : this.setFullScreen;
  11874. requestMethod.call(this);
  11875. }
  11876. /**
  11877. * 添加控制栏事件监听
  11878. * @param panelDom 控制栏dom结构
  11879. * @private
  11880. */
  11881. // _addControlsEvent(panelDom) {
  11882. // this.btnFullScreen = panelDom.querySelector('#ExtendControl');
  11883. // // this.playerControls = panelDom.querySelector('.player__controls');
  11884. // // this.btnSound = panelDom.querySelector('#playerSound');
  11885. // this.playerSplit1 = panelDom.querySelector('#playerSplit1');
  11886. // this.playerSplit2 = panelDom.querySelector('#playerSplit2');
  11887. // this.playerSplit4 = panelDom.querySelector('#playerSplit4');
  11888. // this.playerSplit9 = panelDom.querySelector('#playerSplit9');
  11889. // this.playerSplit1.addEventListener('click', this.setMultiScreen.bind(this, 1));
  11890. // this.playerSplit2.addEventListener('click', this.setMultiScreen.bind(this, 2));
  11891. // this.playerSplit4.addEventListener('click', this.setMultiScreen.bind(this, 4));
  11892. // this.playerSplit9.addEventListener('click', this.setMultiScreen.bind(this, 9));
  11893. // if (platform.os.family !== 'iOS') {
  11894. // this.btnFullScreen.addEventListener('click', this._toggleFullScreen.bind(this));
  11895. // window.addEventListener('keydown', (e) => {
  11896. // const value = e.keyCode || e.which;
  11897. // if (this.isFullScreen && value === 27) {
  11898. // console.info('esc');
  11899. // this._toggleFullScreen.call(this);
  11900. // }
  11901. // });
  11902. // document.addEventListener('webkitfullscreenchange', (e) => {
  11903. // if (!e.currentTarget.webkitIsFullScreen) this.exitFullScreen.call(this);
  11904. // });
  11905. // // document.addEventListener('mozfullscreenchange', (e) => {
  11906. // // if (e.currentTarget.mozIsFullScreen) this.exitFullScreen.call(this);
  11907. // // });
  11908. // // document.addEventListener('msfullscreenchange', (e) => {
  11909. // // if (!document.msFullscreenElement) this.exitFullScreen.call(this);
  11910. // // });
  11911. // document.addEventListener('fullscreenchange', (e) => {
  11912. // if (!document.fullscreen) this.exitFullScreen.call(this);
  11913. // });
  11914. // }
  11915. // this.btnSound.addEventListener('click', this._toggleMuted.bind(this));
  11916. // }
  11917. /**
  11918. * 解析url并检查格式
  11919. * @param url imou://open.lechange.com/4A04AC8PAMBEEE5/0/1?streamType=hls&streamId=1'
  11920. * @private
  11921. */
  11922. }, {
  11923. key: "_analysisUrl",
  11924. value: function _analysisUrl(url) {
  11925. var urlParams = {};
  11926. var content = url.replace(/imou:\/\/open.lechange.com\//, "");
  11927. var _content$split = content.split("?"),
  11928. _content$split2 = _slicedToArray(_content$split, 2),
  11929. requiredParams = _content$split2[0],
  11930. extraParams = _content$split2[1];
  11931. var _requiredParams$split = requiredParams.split("/"),
  11932. _requiredParams$split2 = _slicedToArray(_requiredParams$split, 3),
  11933. deviceId = _requiredParams$split2[0],
  11934. channelId = _requiredParams$split2[1],
  11935. type = _requiredParams$split2[2];
  11936. var deviceIdReg = /^[0-9A-Za-z]+$/i;
  11937. var channelIdReg = /^\d{1,3}$/;
  11938. if (!deviceIdReg.test(deviceId) || !channelIdReg.test(channelId) || !["1", "2"].includes(type)) {
  11939. main_error('Params of "deviceId" or "channelId" are invalid');
  11940. return;
  11941. }
  11942. if (extraParams) {
  11943. extraParams.split("&").forEach(function (item) {
  11944. var _item$split = item.split("="),
  11945. _item$split2 = _slicedToArray(_item$split, 2),
  11946. key = _item$split2[0],
  11947. value = _item$split2[1];
  11948. urlParams[key] = value;
  11949. });
  11950. }
  11951. var isWarnUser = this._isWarnUser(urlParams);
  11952. if (isWarnUser) console.warn("当前浏览器版本过低,建议使用最新版谷歌浏览器播放视频或切换为标清视频");
  11953. return {
  11954. deviceId: deviceId,
  11955. channelId: channelId,
  11956. type: type,
  11957. urlParams: urlParams
  11958. };
  11959. }
  11960. /**
  11961. * 当在火狐或者ie浏览器中进行预览,如果用户指定使用rtsp进行播放,则提示用户
  11962. * @param urlParams
  11963. * @returns {boolean}
  11964. * @private
  11965. */
  11966. }, {
  11967. key: "_isWarnUser",
  11968. value: function _isWarnUser(urlParams) {
  11969. var isWarn = false;
  11970. var name = (platform_default()).name;
  11971. var isFirefoxOrEdge = name === "Firefox" || name === "IE" || name === "Microsoft Edge";
  11972. if (isFirefoxOrEdge && urlParams.streamType && urlParams.streamType === "rtsp") {
  11973. isWarn = true;
  11974. }
  11975. return isWarn;
  11976. }
  11977. }, {
  11978. key: "renderPlayer",
  11979. value: function renderPlayer(_ref, renderNum) {
  11980. var _this = this;
  11981. var url = _ref.url,
  11982. autoplay = _ref.autoplay,
  11983. controls = _ref.controls,
  11984. automute = _ref.automute,
  11985. poster = _ref.poster,
  11986. isEdit = _ref.isEdit;
  11987. var size = {
  11988. width: "100%",
  11989. height: "100%"
  11990. }; // if (renderNum === 2) {
  11991. // size.width = '50%';
  11992. // size.height = '50%';
  11993. // }
  11994. // if (renderNum === 4) {
  11995. // size.width = '50%';
  11996. // size.height = '50%';
  11997. // }
  11998. // if (renderNum === 9) {
  11999. // size.width = '33.33%';
  12000. // size.height = '33.33%';
  12001. // }
  12002. src_utils.setAttr(this.container, "class", "player__split--".concat(renderNum)); // 不能用Object.values(),在chrome54无效
  12003. // Argument type HTMLCollection is not assignable to parameter
  12004. // 获取已存在的播放器实例节点
  12005. var hasExistNodes = [];
  12006. for (var i = 0, length = this.container.children.length; i < length; i++) {
  12007. // 多余的播放器窗口销毁处理
  12008. if (i > renderNum - 1) {
  12009. this.container.removeChild(this.container.children[renderNum]);
  12010. if (this.playerSet[i]) {
  12011. this.playerSet[i].destroy();
  12012. }
  12013. } else {
  12014. if (this.container.children[i].dataset.player === "true") {
  12015. hasExistNodes.push(this.container.children[i]);
  12016. }
  12017. }
  12018. }
  12019. for (var _i = 0; _i < hasExistNodes.length; _i++) {
  12020. hasExistNodes[_i].style.width = size.width;
  12021. hasExistNodes[_i].style.height = size.height;
  12022. if (renderNum === 2) {
  12023. src_utils.setStyle(hasExistNodes[_i], {
  12024. transform: "translateY(50%)"
  12025. });
  12026. } else {
  12027. src_utils.setStyle(hasExistNodes[_i], {
  12028. transform: "translateY(0)"
  12029. });
  12030. }
  12031. }
  12032. var hasExistNodesNum = hasExistNodes.length;
  12033. setTimeout(function () {
  12034. for (var _i2 = hasExistNodesNum || 0; _i2 < renderNum; _i2++) {
  12035. var playerContainer = document.createElement("div");
  12036. src_utils.setAttr(playerContainer, "data-player", true);
  12037. src_utils.setStyle(playerContainer, {
  12038. width: size.width,
  12039. height: !_this.isFullScreen ? size.height : parseInt(size.width * 9 / 16),
  12040. boxSizing: "border-box",
  12041. transition: "width 0.5s ease, height 0.5s ease, transform 0.5s ease"
  12042. }); // 两分屏居中展示
  12043. if (renderNum === 2) {
  12044. src_utils.setStyle(playerContainer, {
  12045. transform: "translateY(50%)"
  12046. });
  12047. } else {
  12048. src_utils.setStyle(playerContainer, {
  12049. transform: "translateY(0)"
  12050. });
  12051. }
  12052. _this.container.appendChild(playerContainer); // 封面图如果是数组则每个窗口分别对应,如果不是数组则每个窗口公用
  12053. var posterUrl = poster instanceof Array ? poster[_i2] : poster; // is mobile environment
  12054. var isMobile = src_utils.isMobile();
  12055. var params = {
  12056. isMobile: isMobile,
  12057. autoplay: autoplay,
  12058. controls: controls,
  12059. automute: automute,
  12060. root: playerContainer,
  12061. poster: posterUrl,
  12062. isFullScreen: _this.isFullScreen,
  12063. isEdit: _this.isEdit,
  12064. themeData: _this.themeData || [],
  12065. rootSelect: _this.root,
  12066. rootId: _this.rootId
  12067. }; // const player = new Player(Object.assign(params, analysisUrl));
  12068. if (url[_i2]) {
  12069. // 用户自己带进来的参数
  12070. console.log(params);
  12071. var analysisUrl = _this._analysisUrl(url[_i2].url);
  12072. params.url = url[_i2].url;
  12073. params.kitToken = url[_i2].kitToken;
  12074. params.talk = url[_i2].talk; // params.data = analysisUrl;
  12075. var player = new src_player(Object.assign(params, analysisUrl));
  12076. _this.playerSet.push(player);
  12077. }
  12078. }
  12079. }, 500);
  12080. }
  12081. }, {
  12082. key: "startTalk",
  12083. value: function startTalk() {
  12084. var i = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
  12085. if (this.playerSet[i]) {
  12086. this.playerSet[i].startTalk();
  12087. }
  12088. }
  12089. }, {
  12090. key: "stopTalk",
  12091. value: function stopTalk() {
  12092. var i = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
  12093. if (this.playerSet[i]) {
  12094. this.playerSet[i].stopTalk();
  12095. }
  12096. }
  12097. }]);
  12098. return ImouPlayer;
  12099. }();
  12100. if (window) {
  12101. window.ImouPlayer = ImouPlayer;
  12102. }
  12103. })();
  12104. /******/
  12105. })()
  12106. ;