index-legacy-bfac5290-1694097723525.js 1.1 MB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279
  1. (function () {
  2. System.register(
  3. [
  4. './index-legacy-23994a1f-1694097723525.js',
  5. './contants-legacy-65284d04-1694097723525.js',
  6. './Slider-legacy-8162d896-1694097723525.js',
  7. './isCollaose-legacy-5a1ee4d8-1694097723525.js',
  8. './index-legacy-060fbbf1-1694097723525.js',
  9. './urlUtils-legacy-b652a21b-1694097723525.js',
  10. './ding-legacy-f3656c17-1694097723525.js',
  11. './state-legacy-ce211412-1694097723525.js'
  12. ],
  13. function (exports, module) {
  14. 'use strict';
  15. var openBlock,
  16. createElementBlock,
  17. createBaseVNode,
  18. normalizeClass,
  19. defineComponent,
  20. ref,
  21. useRoute,
  22. onMounted,
  23. nextTick,
  24. onUnmounted,
  25. watch,
  26. createVNode,
  27. createTextVNode,
  28. NInputNumber,
  29. NSpace,
  30. NButton,
  31. NImage,
  32. getSecond,
  33. dayjs,
  34. mergeProps,
  35. Fragment,
  36. useUserStore,
  37. NSkeleton,
  38. commonjsGlobal,
  39. getDefaultExportFromCjs,
  40. computed,
  41. normalizeStyle,
  42. toRefs,
  43. reactive,
  44. NModal,
  45. useMessage,
  46. useRouter,
  47. Transition,
  48. NDrawer,
  49. NDrawerContent,
  50. px2vw,
  51. isVNode,
  52. TCPlayer,
  53. iconplay,
  54. iconpause,
  55. iconReplay$2,
  56. tickMp3,
  57. Vudio,
  58. NScrollbar,
  59. NSlider,
  60. lessonCoursewareDetail,
  61. lessonPreTrainingPage,
  62. CardType,
  63. queryCourseware,
  64. courseScheduleUpdate,
  65. TrainSettings,
  66. vaildUrl,
  67. dingPng$1,
  68. moveTop,
  69. state;
  70. return {
  71. setters: [
  72. t => {
  73. (openBlock = t.b8),
  74. (createElementBlock = t.ah),
  75. (createBaseVNode = t.ai),
  76. (normalizeClass = t.aY),
  77. (defineComponent = t.d),
  78. (ref = t.r),
  79. (useRoute = t.a),
  80. (onMounted = t.n),
  81. (nextTick = t.E),
  82. (onUnmounted = t.O),
  83. (watch = t.y),
  84. (createVNode = t.f),
  85. (createTextVNode = t.k),
  86. (NInputNumber = t.dl),
  87. (NSpace = t.w),
  88. (NButton = t.j),
  89. (NImage = t.t),
  90. (getSecond = t.dm),
  91. (dayjs = t.V),
  92. (mergeProps = t.x),
  93. (Fragment = t.F),
  94. (useUserStore = t.c),
  95. (NSkeleton = t.dn),
  96. (commonjsGlobal = t.c3),
  97. (getDefaultExportFromCjs = t.c4),
  98. (computed = t.L),
  99. (normalizeStyle = t.a_),
  100. (toRefs = t.bB),
  101. (reactive = t.e),
  102. (NModal = t.v),
  103. (useMessage = t.b),
  104. (useRouter = t.u),
  105. (Transition = t.T),
  106. (NDrawer = t.dp),
  107. (NDrawerContent = t.dq),
  108. (px2vw = t.R),
  109. (isVNode = t.aU);
  110. },
  111. t => {
  112. (TCPlayer = t.T),
  113. (iconplay = t.b),
  114. (iconpause = t.c),
  115. (iconReplay$2 = t.d),
  116. (tickMp3 = t.f),
  117. (Vudio = t.V),
  118. (NScrollbar = t.N);
  119. },
  120. t => {
  121. NSlider = t.N;
  122. },
  123. t => {
  124. (lessonCoursewareDetail = t.c),
  125. (lessonPreTrainingPage = t.h),
  126. (CardType = t.C),
  127. (queryCourseware = t.q),
  128. (courseScheduleUpdate = t.u);
  129. },
  130. t => {
  131. TrainSettings = t.a;
  132. },
  133. t => {
  134. vaildUrl = t.v;
  135. },
  136. t => {
  137. (dingPng$1 = t.d), (moveTop = t.m);
  138. },
  139. t => {
  140. state = t.s;
  141. }
  142. ],
  143. execute: function () {
  144. var __vite_style__ = document.createElement('style');
  145. (__vite_style__.textContent =
  146. '@charset "UTF-8";._timerWrap_1ilvi_1{background-color:#fff;display:flex;flex-direction:column;align-items:center;border-radius:0 0 .83333333vw .83333333vw}._timerWrap_1ilvi_1 ._timerTop_1ilvi_8{width:14.375vw;height:2.13541667vw;background:#F5F6FA;border-radius:.41666667vw;margin-top:1.25vw;display:flex;flex-direction:row;align-items:center;margin-bottom:1.25vw}._timerWrap_1ilvi_1 ._timerTop_1ilvi_8 ._timerTopPane_1ilvi_19{width:50%;text-align:center;line-height:2.13541667vw;cursor:pointer}._timerWrap_1ilvi_1 ._timerTop_1ilvi_8 ._timerTopPaneActive_1ilvi_25{background:#198CFE;border-radius:.41666667vw;color:#fff}._timerItemInfo_1ilvi_30{width:36.04166667vw;background:#A6D1FF;box-shadow:0 .46875vw #cbd6df;border-radius:2.39583333vw;border:.67708333vw solid #EEF7FF;padding:.52083333vw}._timerItemInfo_1ilvi_30 ._timerItemInset_1ilvi_38{min-height:17.65625vw;border-radius:1.45833333vw 1.45833333vw 1.97916667vw 1.97916667vw;background:#D8ECFE}._timerItemInfo_1ilvi_30 ._timerItemInfoTop_1ilvi_43{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:center}._timerItemInfo_1ilvi_30 ._timerItemInfoTop_1ilvi_43 ._dot_1ilvi_50{width:.52083333vw;height:.52083333vw;background:#131415;border-radius:1.45833333vw;margin-bottom:.78125vw;margin:.36458333vw 3.64583333vw}._timerItemInfo_1ilvi_30 ._timerItemInfoTop_1ilvi_43 ._dotTop_1ilvi_58{width:.52083333vw;height:3.85416667vw}._timerItemInfo_1ilvi_30 ._timerItemInfoTop_1ilvi_43 ._timerItemTopCore_1ilvi_62{display:flex;flex-direction:column;align-items:center;justify-content:center}._timerItemInfo_1ilvi_30 ._timerItemInfoTop_1ilvi_43 ._timerItemTopCore_1ilvi_62 h4{font-size:1.14583333rem;font-weight:600;color:#7caee1;line-height:3.64583333vw}._nowTimerWrap_1ilvi_74{margin:1.82291667vw 0 1.35416667vw;width:9.0625vw;line-height:2.34375vw;height:2.34375vw;width:100%;text-align:center;font-size:1.25rem;font-weight:400;color:rgba(19,20,21,.5);line-height:1.71875vw}._btnGroupModal_1ilvi_86{padding:2.08333333vw 0 1.66666667vw}._btnGroupModal_1ilvi_86 .n-button{height:2.44791667vw;min-width:8.125vw}._palyIcon_1ilvi_93{width:.57291667vw;height:.72916667vw}._playText_1ilvi_97{margin-left:.52083333vw}._countInput_1ilvi_100{margin:0 .83333333vw}._countInput_1ilvi_100 .n-input__border,._countInput_1ilvi_100 .n-input__state-border{display:none}._countInput_1ilvi_100 .n-input{width:3.4375vw;height:1.71875vw;border-radius:.88541667vw;overflow:hidden}._countInput_1ilvi_100 .n-input .n-input-wrapper{text-align:center;background:#F5F6FA;padding:0}._dotBtm_1ilvi_120{width:100%;height:1.71875vw}._chioseWrap_1ilvi_124{margin:1.82291667vw 0 1.35416667vw;line-height:2.34375vw;height:2.34375vw;background:linear-gradient(180deg,#FFFFFF 0%,#FFFFFF 100%);box-shadow:.10416667vw .10416667vw #a2caee;border-radius:1.19791667vw;display:flex;flex-direction:row;align-items:center;justify-content:center}._chioseWrap_1ilvi_124 .n-input__input,._chioseWrap_1ilvi_124 .n-input__input-el{line-height:1.71875vw!important;height:1.71875vw!important}._chioseWrap_1ilvi_124 ._add_1ilvi_144{width:.83333333vw;height:.83333333vw;cursor:pointer}._chioseWrap_1ilvi_124 ._minus_1ilvi_149{width:.83333333vw;height:.20833333vw;cursor:pointer}._chioseHidden_1ilvi_154{visibility:hidden}._numberWrap_1ilvi_157{border-radius:.83333333vw;overflow:hidden;background-color:#fff;box-shadow:.20833333vw .20833333vw #a2caee;align-items:center;display:flex;flex-direction:row}.M-Flipper{display:inline-block;position:relative;width:3.90625vw;height:7.8125vw;line-height:7.8125vw;background:#fff;font-size:6.66666667rem;color:#131415;text-align:center;font-family:DINA}.M-Flipper:nth-of-type(2n){text-align:left;margin-left:.26041667vw}.M-Flipper:nth-of-type(odd){text-align:right;margin-right:.26041667vw}.M-Flipper .digital:before,.M-Flipper .digital:after{content:"";position:absolute;left:0;right:0;background:#fff;overflow:hidden;box-sizing:border-box}.M-Flipper .digital:before{top:0;bottom:50%;border-radius:.52083333vw .52083333vw 0 0;border-bottom:solid .10416667vw #fff}.M-Flipper .digital:after{top:50%;bottom:0;border-radius:0 0 .52083333vw .52083333vw;line-height:0}.M-Flipper.down .front:before{z-index:3}.M-Flipper.down .back:after{z-index:2;transform-origin:50% 0%;transform:perspective(15.625vw) rotateX(180deg)}.M-Flipper.down .front:after,.M-Flipper.down .back:before{z-index:1}.M-Flipper.down.go .front:before{transform-origin:50% 100%;animation:frontFlipDown .6s ease-in-out both;box-shadow:0 -.10416667vw .3125vw rgba(255,255,255,.3);backface-visibility:hidden}.M-Flipper.down.go .back:after{animation:backFlipDown .6s ease-in-out both}.M-Flipper.up .front:after{z-index:3}.M-Flipper.up .back:before{z-index:2;transform-origin:50% 100%;transform:perspective(15.625vw) rotateX(-180deg)}.M-Flipper.up .front:before,.M-Flipper.up .back:after{z-index:1}.M-Flipper.up.go .front:after{transform-origin:50% 0;animation:frontFlipUp .6s ease-in-out both;box-shadow:0 .10416667vw .3125vw rgba(255,255,255,.3);backface-visibility:hidden}.M-Flipper.up.go .back:before{animation:backFlipUp .6s ease-in-out both}@keyframes frontFlipDown{0%{transform:perspective(15.625vw) rotateX(0)}to{transform:perspective(15.625vw) rotateX(-180deg)}}@keyframes backFlipDown{0%{transform:perspective(15.625vw) rotateX(180deg)}to{transform:perspective(15.625vw) rotateX(0)}}@keyframes frontFlipUp{0%{transform:perspective(15.625vw) rotateX(0)}to{transform:perspective(15.625vw) rotateX(180deg)}}@keyframes backFlipUp{0%{transform:perspective(15.625vw) rotateX(-180deg)}to{transform:perspective(15.625vw) rotateX(0)}}.M-Flipper .number0:before,.M-Flipper .number0:after{content:"0"}.M-Flipper .number1:before,.M-Flipper .number1:after{content:"1"}.M-Flipper .number2:before,.M-Flipper .number2:after{content:"2"}.M-Flipper .number3:before,.M-Flipper .number3:after{content:"3"}.M-Flipper .number4:before,.M-Flipper .number4:after{content:"4"}.M-Flipper .number5:before,.M-Flipper .number5:after{content:"5"}.M-Flipper .number6:before,.M-Flipper .number6:after{content:"6"}.M-Flipper .number7:before,.M-Flipper .number7:after{content:"7"}.M-Flipper .number8:before,.M-Flipper .number8:after{content:"8"}.M-Flipper .number9:before,.M-Flipper .number9:after{content:"9"}._downMove_137wx_1{width:18.38541667vw;background:#FFFFFF;border-radius:.83333333vw;position:relative;padding:0 1.5625vw 1.82291667vw;text-align:center}._downMove_137wx_1 ._downMoveBg_137wx_9{position:absolute;top:0;left:0;width:18.38541667vw;height:5.26041667vw}._downMove_137wx_1 ._dingPng_137wx_16{width:8.4375vw;height:5.10416667vw;position:absolute;left:50%;margin-left:-4.21875vw;top:-2.55208333vw;z-index:100}._downMove_137wx_1 ._closeAble_137wx_25{cursor:pointer;width:1.30208333vw;height:1.30208333vw;position:absolute;top:.9375vw;right:1.04166667vw}._downMove_137wx_1 h2{position:relative;padding-top:3.33333333vw;height:1.71875vw;font-size:1.25rem;font-family:PingFangSC-Semibold,PingFang SC;font-weight:600;color:#131415;line-height:1.71875vw;text-align:center;margin-bottom:.78125vw}._downMove_137wx_1 p{padding-top:1.66666667vw;font-size:.9375rem;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#777;line-height:1.5625vw}._downMove_137wx_1 ._submitAppBtn_137wx_53{width:13.38541667vw;height:2.34375vw;line-height:2.34375vw;background:linear-gradient(305deg,#40C8FF 0%,#3192FF 100%);border-radius:1.25vw;border:none}._downMove_137wx_1 ._submitAppBtn_137wx_53 .n-button__border,._downMove_137wx_1 ._submitAppBtn_137wx_53 .n-button__state-border{display:none}._playContent_z3eb0_1{position:relative;width:100vw;height:100vh;background-color:#000;overflow:hidden;--plyr-color-main: var(--van-primary);--plyr-range-track-height: .15625vw}._assignHomeworkClose_z3eb0_10{position:absolute;top:2.08333333vw;left:2.08333333vw;width:3.125vw;height:3.38541667vw;cursor:pointer;transition:all .5s}._assignHomeworkClose_z3eb0_10 img{width:100%;height:100%}._coursewarePlay_z3eb0_23{position:relative;height:100vh;margin:0 auto;overflow:hidden}._playModel_z3eb0_29{position:absolute;left:0;top:0;right:0;bottom:0;box-shadow:inset 0 0 8.54166667vw #000;pointer-events:none}._headerContainer_z3eb0_38{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;height:2.39583333vw;background-color:rgba(0,0,0,.5);transition:transform .5s;box-sizing:border-box;font-size:max(.83333333rem,14Px);color:#fff;pointer-events:none}._headerContainer_z3eb0_38 div{box-sizing:border-box}._backBtn_z3eb0_58{color:#fff;height:100%;display:flex;justify-content:space-between;align-items:center;z-index:10;padding:0 .78125vw}._backBtn_z3eb0_58 .van-icon{margin-right:.41666667vw}._headRight_z3eb0_70{position:relative;z-index:10;display:flex;align-items:center;margin-left:auto;height:100%;padding-right:.78125vw}._headRight_z3eb0_70 ._rightBtn_z3eb0_79{display:flex;justify-content:center;align-items:center;height:100%;padding:0 .52083333vw}._headRight_z3eb0_70 ._rightBtn_z3eb0_79 img{width:1.14583333vw;height:1.14583333vw;display:block}._menu_z3eb0_91{position:absolute;width:100%;height:100%;display:flex;justify-content:center;align-items:center;font-size:.88541667rem;font-weight:700;color:#fff}._tabsContent_z3eb0_102{width:100vw;height:100vh}._tabsContent_z3eb0_102 .van-tabs__wrap{display:none!important}._tabsContent_z3eb0_102 .van-tabs__content{width:100%;height:100%}._wraps_z3eb0_113{width:100%;height:100%;transform-style:preserve-3d;perspective:32rem;transition-timing-function:initial}._itemDiv_z3eb0_120{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#000;transform-style:preserve-3d;transition-property:transform,opacity,height;backface-visibility:hidden;overflow:hidden;z-index:1}._itemDiv_z3eb0_120._itemActive_z3eb0_133{z-index:10}._itemDiv_z3eb0_120._acitveAnimation_z3eb0_136{transition-duration:.8s}._itemDiv_z3eb0_120._show_z3eb0_139{display:block}._itemDiv_z3eb0_120._hide_z3eb0_142{display:none}._itemDiv_z3eb0_120 video{width:100%;height:100%}._itemDiv_z3eb0_120 img{display:block;width:100%;height:100%;object-fit:contain}._rightFixedBtns_z3eb0_155{position:absolute;top:50%;transform:translateY(-50%);right:.83333333vw;z-index:10}._fullBtn_z3eb0_162{width:3.125vw;height:3.125vw;overflow:hidden}._fullBtn_z3eb0_162._point_z3eb0_167{margin:1.04166667vw 0 0}._fullBtn_z3eb0_162 img{width:100%;height:100%}._fullBtn_z3eb0_162:active{opacity:.8}._fullBtn_z3eb0_162._iconUp_z3eb0_177,._fullBtn_z3eb0_162._iconDown_z3eb0_178{margin-top:1.04166667vw}._fullBtn_z3eb0_162._btnsDisabled_z3eb0_181{opacity:0;pointer-events:none;display:none}.top-enter-active,.top-leave-active{transition:transform .5s}.top-enter-from,.top-leave-to{transform:translateY(-100%)}.right-enter-active,.right-leave-active{transition:all .5s}.right-enter-from,.right-leave-to{right:-3.125vw;opacity:0}.bottom-enter-active,.bottom-leave-active{transition:transform .5s}.bottom-enter-from,.bottom-leave-to{transform:translateY(100%)}._loadWrap_z3eb0_211{position:absolute;left:0;top:0;right:0;bottom:0;background:linear-gradient(45deg,#21232a,#111218);display:flex;justify-content:center;align-items:center}._drawerContainer_z3eb0_222{width:18.75vw!important}._drawerContainer_z3eb0_222 ._cardContainer_z3eb0_225{margin-bottom:1.25vw}._drawerContainer_z3eb0_222 .n-drawer-body-content-wrapper{padding:.41666667vw 0px 0px!important;text-align:center}._drawerContainer_z3eb0_222 .n-drawer-header{position:relative;justify-content:center!important;padding-top:1.25vw!important;padding-bottom:1.04166667vw!important;border-bottom:0!important}._drawerContainer_z3eb0_222 .n-drawer-header .n-drawer-header__main{position:relative;z-index:2;font-size:.9375rem;font-weight:600;color:#131415}._drawerContainer_z3eb0_222 .n-drawer-header .n-drawer-header__main:after{position:absolute;bottom:-.20833333vw;left:0;z-index:-1;content:" ";width:100%;display:inline-block;height:.52083333vw;background:linear-gradient(90deg,#77bbff 0%,rgba(163,231,255,.22) 100%)}._drawerContainer_z3eb0_222 .n-drawer-header .n-drawer-header__close{position:absolute;right:1.35416667vw}._sectionAnimate_z3eb0_261{opacity:0;pointer-events:none;transform:translateY(100%);transition:all .5s}._sectionAnimateUp_z3eb0_267{opacity:0;pointer-events:none;transform:translateY(-100%);transition:all .3s}._switchDisplaySection_z3eb0_273{position:absolute;right:0;bottom:0;z-index:199;transition:all .3s;display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 2.08333333vw;height:6.5625vw;background-color:rgba(0,0,0,.7);pointer-events:none}._switchDisplaySection_z3eb0_273 ._switchSpace_z3eb0_288{gap:0 2.5vw!important}._switchDisplaySection_z3eb0_273 ._btnItem_z3eb0_291{display:flex;align-items:center;flex-direction:column;cursor:pointer;pointer-events:auto}._switchDisplaySection_z3eb0_273 ._btnItem_z3eb0_291._btnsDisabled_z3eb0_181{opacity:.7;cursor:not-allowed}._switchDisplaySection_z3eb0_273 ._btnItem_z3eb0_291 img{width:2.91666667vw;height:2.91666667vw}._switchDisplaySection_z3eb0_273 ._btnItem_z3eb0_291 p{padding-top:.3125vw;font-size:.9375rem;color:#fff;line-height:1.30208333vw;text-align:center}._attendClassModal_z3eb0_313{width:23.02083333vw;border-radius:.83333333vw;overflow:hidden}._attendClassModal_z3eb0_313 .n-card-header{position:relative;padding:1.04166667vw .9375vw;text-align:center;font-size:1.14583333rem;font-weight:600;color:#131415;line-height:1.5625vw}._attendClassModal_z3eb0_313 .n-card-header__close{position:absolute;right:.9375vw}._attendClassModal_z3eb0_313 .n-card__content{padding:0}._attendClassModal_z3eb0_313 .n-base-select-menu .n-base-select-option{font-size:.9375rem!important}._attendClassModal_z3eb0_313 ._modelAttendContent_z3eb0_337{font-size:.9375rem;color:#777;line-height:1.5625vw;text-align:center}._attendClassModal_z3eb0_313 ._modelAttendBtnGroup_z3eb0_343{padding:2.08333333vw 0;justify-content:center!important}._attendClassModal_z3eb0_313 ._modelAttendBtnGroup_z3eb0_343 .n-button{height:2.5vw!important;min-width:8.125vw}._trainClassModal_z3eb0_351{width:53.54166667vw}._trainClassModal_z3eb0_351 .n-card-header{background:#f5f6fa}._workContainer_z3eb0_357{padding:1.04166667vw 2.08333333vw 2.08333333vw}._workContainer_z3eb0_357 h2{font-size:1.35416667rem;text-align:center}._toolboxImg_z3eb0_364{width:4.32291667vw;height:4.32291667vw;position:absolute;right:.83333333vw;bottom:8.54166667vw;cursor:pointer;z-index:1000}._isDragIng_z3eb0_373{width:4.32291667vw;height:4.32291667vw}._toolClassImg_z3eb0_377{width:4.32291667vw;height:4.32291667vw;position:absolute;right:1.66666667vw;bottom:8.33333333vw;cursor:pointer;z-index:1000}.moveable-control-box{--moveable-color: transparent !important}.n-popover{background-color:transparent}._booxToolWrap_z3eb0_392{height:4.94791667vw;background:#ffffff;box-shadow:0 .10416667vw .52083333vw rgba(0,0,0,.1);border-radius:1.04166667vw;display:flex;flex-direction:row;align-items:center;padding:.52083333vw .41666667vw;justify-content:space-between}._booxToolWrap_z3eb0_392 ._booxToolItem_z3eb0_403{margin:0 .625vw;display:flex;flex-direction:column;align-items:center;font-size:.625rem;cursor:pointer;text-align:center}._booxToolWrap_z3eb0_392 ._booxToolItem_z3eb0_403:hover{opacity:.8}._booxToolWrap_z3eb0_392 ._booxToolItem_z3eb0_403 img{width:2.91666667vw;height:2.91666667vw;margin-bottom:.20833333vw}._setTimeImage_z3eb0_420{cursor:pointer}._setTimeImage_z3eb0_420 img{width:41.25vw}._beatImage_z3eb0_426{cursor:pointer}._beatImage_z3eb0_426 img{width:36.35416667vw}._changePwdModal_z3eb0_432{border-radius:.83333333vw}._imChatModal_z3eb0_435{border-radius:1.04166667vw}._modeWrap_z3eb0_438{overflow:hidden;border-radius:.83333333vw;background-color:#fff}._showModalTone_z3eb0_443{width:26.04166667vw}._showModalTone_z3eb0_443 ._studentRemove_z3eb0_446{padding:1.66666667vw 2.08333333vw 2.39583333vw}._showModalTone_z3eb0_443 ._studentRemove_z3eb0_446 p{font-size:.9375rem;color:#777;line-height:1.5625vw;text-align:center}._showModalTone_z3eb0_443 ._studentRemove_z3eb0_446 p span{color:#ea4132}._removeVisiable_z3eb0_458{width:22.5vw}._removeVisiable_z3eb0_458 .n-card-header{font-size:max(1.14583333rem,16Px)}._removeVisiable_z3eb0_458 ._studentRemove_z3eb0_446{padding:1.04166667vw 2.08333333vw 0}._removeVisiable_z3eb0_458 ._studentRemove_z3eb0_446 p{font-size:max(.9375rem,14Px);color:#777;line-height:1.5625vw;text-align:center}._removeVisiable_z3eb0_458 ._studentRemove_z3eb0_446 p span{color:#ea4132}._removeVisiable_z3eb0_458 ._btnGroupModal_z3eb0_476{padding:1.66666667vw 0}._removeVisiable_z3eb0_458 ._btnGroupModal_z3eb0_476 .n-button{height:2.44791667vw;min-width:8.125vw}@keyframes plyr-progress{to{background-position:1.30208333vw 0;background-position:var(--plyr-progress-loading-size,1.30208333vw) 0}}@keyframes plyr-popup{0%{opacity:.5;transform:translateY(.52083333vw)}to{opacity:1;transform:translateY(0)}}@keyframes plyr-fade-in{0%{opacity:0}to{opacity:1}}.plyr{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;align-items:center;direction:ltr;display:flex;flex-direction:column;font-family:inherit;font-family:var(--plyr-font-family,inherit);font-variant-numeric:tabular-nums;font-weight:400;font-weight:var(--plyr-font-weight-regular,400);line-height:1.7;line-height:var(--plyr-line-height,1.7);max-width:100%;min-width:10.41666667vw;position:relative;text-shadow:none;transition:box-shadow .3s ease;z-index:0}.plyr audio,.plyr iframe,.plyr video{display:block;height:100%;width:100%}.plyr button{font:inherit;line-height:inherit;width:auto}.plyr:focus{outline:0}.plyr--full-ui{box-sizing:border-box}.plyr--full-ui *,.plyr--full-ui :after,.plyr--full-ui :before{box-sizing:inherit}.plyr--full-ui a,.plyr--full-ui button,.plyr--full-ui input,.plyr--full-ui label{touch-action:manipulation}.plyr__badge{background:#4a5464;background:var(--plyr-badge-background,#4a5464);border-radius:.10416667vw;border-radius:var(--plyr-badge-border-radius,.10416667vw);color:#fff;color:var(--plyr-badge-text-color,#fff);font-size:.46875rem;font-size:var(--plyr-font-size-badge,.46875rem);line-height:1;padding:.15625vw .20833333vw}.plyr--full-ui ::-webkit-media-text-track-container{display:none}.plyr__captions{animation:plyr-fade-in .3s ease;bottom:0;display:none;font-size:.67708333rem;font-size:var(--plyr-font-size-small,.67708333rem);left:0;padding:.52083333vw;padding:var(--plyr-control-spacing,.52083333vw);position:absolute;text-align:center;transition:transform .4s ease-in-out;width:100%}.plyr__captions span:empty{display:none}@media (min-width:480px){.plyr__captions{font-size:.78125rem;font-size:var(--plyr-font-size-base,.78125rem);padding:1.04166667vw;padding:calc(var(--plyr-control-spacing, .52083333vw)*2)}}@media (min-width:768px){.plyr__captions{font-size:.9375rem;font-size:var(--plyr-font-size-large,.9375rem)}}.plyr--captions-active .plyr__captions{display:block}.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty)~.plyr__captions{transform:translateY(-2.08333333vw);transform:translateY(calc(var(--plyr-control-spacing, .52083333vw)*-4))}.plyr__caption{background:#000c;background:var(--plyr-captions-background,#000c);border-radius:.10416667vw;-webkit-box-decoration-break:clone;box-decoration-break:clone;color:#fff;color:var(--plyr-captions-text-color,#fff);line-height:185%;padding:.2em .5em;white-space:pre-wrap}.plyr__caption div{display:inline}.plyr__control{background:#0000;border:0;border-radius:.20833333vw;border-radius:var(--plyr-control-radius,.20833333vw);color:inherit;cursor:pointer;flex-shrink:0;overflow:visible;padding:.36458333vw;padding:calc(var(--plyr-control-spacing, .52083333vw)*.7);position:relative;transition:all .3s ease}.plyr__control svg{fill:currentColor;display:block;height:.9375vw;height:var(--plyr-control-icon-size,.9375vw);pointer-events:none;width:.9375vw;width:var(--plyr-control-icon-size,.9375vw)}.plyr__control:focus{outline:0}.plyr__control:focus-visible{outline:.10416667vw dashed #00b2ff;outline:.10416667vw dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:.10416667vw}a.plyr__control{text-decoration:none}.plyr__control.plyr__control--pressed .icon--not-pressed,.plyr__control.plyr__control--pressed .label--not-pressed,.plyr__control:not(.plyr__control--pressed) .icon--pressed,.plyr__control:not(.plyr__control--pressed) .label--pressed,a.plyr__control:after,a.plyr__control:before{display:none}.plyr--full-ui ::-webkit-media-controls{display:none}.plyr__controls{align-items:center;display:flex;justify-content:flex-end;text-align:center}.plyr__controls .plyr__progress__container{flex:1;min-width:0}.plyr__controls .plyr__controls__item{margin-left:.13020833vw;margin-left:calc(var(--plyr-control-spacing, .52083333vw)/4)}.plyr__controls .plyr__controls__item:first-child{margin-left:0;margin-right:auto}.plyr__controls .plyr__controls__item.plyr__progress__container{padding-left:.13020833vw;padding-left:calc(var(--plyr-control-spacing, .52083333vw)/4)}.plyr__controls .plyr__controls__item.plyr__time{padding:0 .26041667vw;padding:0 calc(var(--plyr-control-spacing, .52083333vw)/2)}.plyr__controls .plyr__controls__item.plyr__progress__container:first-child,.plyr__controls .plyr__controls__item.plyr__time+.plyr__time,.plyr__controls .plyr__controls__item.plyr__time:first-child{padding-left:0}.plyr [data-plyr=airplay],.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr [data-plyr=pip],.plyr__controls:empty{display:none}.plyr--airplay-supported [data-plyr=airplay],.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr--pip-supported [data-plyr=pip]{display:inline-block}.plyr__menu{display:flex;position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(90deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{animation:plyr-popup .2s ease;background:#ffffffe6;background:var(--plyr-menu-background,#ffffffe6);border-radius:.41666667vw;border-radius:var(--plyr-menu-radius,.41666667vw);bottom:100%;box-shadow:0 1px .10416667vw rgba(0,0,0,.15);box-shadow:var(--plyr-menu-shadow,0 1px .10416667vw #00000026);color:#4a5464;color:var(--plyr-menu-color,#4a5464);font-size:.78125rem;font-size:var(--plyr-font-size-base,.78125rem);margin-bottom:.52083333vw;position:absolute;right:-.15625vw;text-align:left;white-space:nowrap;z-index:3}.plyr__menu__container>div{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu__container:after{border:.20833333vw solid #0000;border-top-color:rgba(255,255,255,.9);border:var(--plyr-menu-arrow-size,.20833333vw) solid #0000;border-top-color:var(--plyr-menu-background,#ffffffe6);content:"";height:0;position:absolute;right:.72916667vw;right:calc(var(--plyr-control-icon-size, .9375vw)/2 + var(--plyr-control-spacing, .52083333vw)*.7 - var(--plyr-menu-arrow-size, .20833333vw)/2);top:100%;width:0}.plyr__menu__container [role=menu]{padding:.36458333vw;padding:calc(var(--plyr-control-spacing, .52083333vw)*.7)}.plyr__menu__container [role=menuitem],.plyr__menu__container [role=menuitemradio]{margin-top:.10416667vw}.plyr__menu__container [role=menuitem]:first-child,.plyr__menu__container [role=menuitemradio]:first-child{margin-top:0}.plyr__menu__container .plyr__control{align-items:center;color:#4a5464;color:var(--plyr-menu-color,#4a5464);display:flex;font-size:.67708333rem;font-size:var(--plyr-font-size-menu,var(--plyr-font-size-small,.67708333rem));padding:.24305573vw .546875vw;padding:calc(var(--plyr-control-spacing, .52083333vw)*.7/1.5) calc(var(--plyr-control-spacing, .52083333vw)*.7*1.5);-webkit-user-select:none;user-select:none;width:100%}.plyr__menu__container .plyr__control>span{align-items:inherit;display:flex;width:100%}.plyr__menu__container .plyr__control:after{border:.20833333vw solid #0000;border:var(--plyr-menu-item-arrow-size,.20833333vw) solid #0000;content:"";position:absolute;top:50%;transform:translateY(-50%)}.plyr__menu__container .plyr__control--forward{padding-right:1.45833333vw;padding-right:calc(var(--plyr-control-spacing, .52083333vw)*.7*4)}.plyr__menu__container .plyr__control--forward:after{border-left-color:#728197;border-left-color:var(--plyr-menu-arrow-color,#728197);right:.33854167vw;right:calc(var(--plyr-control-spacing, .52083333vw)*.7*1.5 - var(--plyr-menu-item-arrow-size, .20833333vw))}.plyr__menu__container .plyr__control--forward:focus-visible:after,.plyr__menu__container .plyr__control--forward:hover:after{border-left-color:initial}.plyr__menu__container .plyr__control--back{font-weight:400;font-weight:var(--plyr-font-weight-regular,400);margin:.36458333vw;margin:calc(var(--plyr-control-spacing, .52083333vw)*.7);margin-bottom:.18229167vw;margin-bottom:calc(var(--plyr-control-spacing, .52083333vw)*.7/2);padding-left:1.45833333vw;padding-left:calc(var(--plyr-control-spacing, .52083333vw)*.7*4);position:relative;width:calc(100% - .72916667vw);width:calc(100% - var(--plyr-control-spacing, .52083333vw)*.7*2)}.plyr__menu__container .plyr__control--back:after{border-right-color:#728197;border-right-color:var(--plyr-menu-arrow-color,#728197);left:.33854167vw;left:calc(var(--plyr-control-spacing, .52083333vw)*.7*1.5 - var(--plyr-menu-item-arrow-size, .20833333vw))}.plyr__menu__container .plyr__control--back:before{background:#dcdfe5;background:var(--plyr-menu-back-border-color,#dcdfe5);box-shadow:0 1px #fff;box-shadow:0 1px 0 var(--plyr-menu-back-border-shadow-color,#fff);content:"";height:1px;left:0;margin-top:.18229167vw;margin-top:calc(var(--plyr-control-spacing, .52083333vw)*.7/2);overflow:hidden;position:absolute;right:0;top:100%}.plyr__menu__container .plyr__control--back:focus-visible:after,.plyr__menu__container .plyr__control--back:hover:after{border-right-color:initial}.plyr__menu__container .plyr__control[role=menuitemradio]{padding-left:.36458333vw;padding-left:calc(var(--plyr-control-spacing, .52083333vw)*.7)}.plyr__menu__container .plyr__control[role=menuitemradio]:after,.plyr__menu__container .plyr__control[role=menuitemradio]:before{border-radius:100%}.plyr__menu__container .plyr__control[role=menuitemradio]:before{background:#0000001a;content:"";display:block;flex-shrink:0;height:.83333333vw;margin-right:.52083333vw;margin-right:var(--plyr-control-spacing,.52083333vw);transition:all .3s ease;width:.83333333vw}.plyr__menu__container .plyr__control[role=menuitemradio]:after{background:#fff;border:0;height:.3125vw;left:.625vw;opacity:0;top:50%;transform:translateY(-50%) scale(0);transition:transform .3s ease,opacity .3s ease;width:.3125vw}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:before{background:#00b2ff;background:var(--plyr-control-toggle-checked-background,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)))}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:after{opacity:1;transform:translateY(-50%) scale(1)}.plyr__menu__container .plyr__control[role=menuitemradio]:focus-visible:before,.plyr__menu__container .plyr__control[role=menuitemradio]:hover:before{background:#23282f1a}.plyr__menu__container .plyr__menu__value{align-items:center;display:flex;margin-left:auto;margin-right:-.26041667vw;margin-right:calc(var(--plyr-control-spacing, .52083333vw)*.7*-1 - -.10416667vw);overflow:hidden;padding-left:1.27604167vw;padding-left:calc(var(--plyr-control-spacing, .52083333vw)*.7*3.5);pointer-events:none}.plyr--full-ui input[type=range]{-webkit-appearance:none;appearance:none;background:#0000;border:0;border-radius:1.35416667vw;border-radius:calc(var(--plyr-range-thumb-height, .67708333vw)*2);color:#00b2ff;color:var(--plyr-range-fill-background,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));display:block;height:.98958333vw;height:calc(var(--plyr-range-thumb-active-shadow-width, .15625vw)*2 + var(--plyr-range-thumb-height, .67708333vw));margin:0;min-width:0;padding:0;transition:box-shadow .3s ease;width:100%}.plyr--full-ui input[type=range]::-webkit-slider-runnable-track{background:#0000;background-image:linear-gradient(90deg,currentColor 0,#0000 0);background-image:linear-gradient(to right,currentColor var(--value,0),#0000 var(--value,0));border:0;border-radius:.13020833vw;border-radius:calc(var(--plyr-range-track-height, .26041667vw)/2);height:.26041667vw;height:var(--plyr-range-track-height,.26041667vw);-webkit-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:.67708333vw;height:var(--plyr-range-thumb-height,.67708333vw);margin-top:-.20833333vw;margin-top:calc((var(--plyr-range-thumb-height, .67708333vw) - var(--plyr-range-track-height, .26041667vw))/2*-1);position:relative;-webkit-transition:all .2s ease;transition:all .2s ease;width:.67708333vw;width:var(--plyr-range-thumb-height,.67708333vw)}.plyr--full-ui input[type=range]::-moz-range-track{background:#0000;border:0;border-radius:.13020833vw;border-radius:calc(var(--plyr-range-track-height, .26041667vw)/2);height:.26041667vw;height:var(--plyr-range-track-height,.26041667vw);-moz-transition:box-shadow .3s ease;transition:box-shadow .3s ease;user-select:none}.plyr--full-ui input[type=range]::-moz-range-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:.67708333vw;height:var(--plyr-range-thumb-height,.67708333vw);position:relative;-moz-transition:all .2s ease;transition:all .2s ease;width:.67708333vw;width:var(--plyr-range-thumb-height,.67708333vw)}.plyr--full-ui input[type=range]::-moz-range-progress{background:currentColor;border-radius:.13020833vw;border-radius:calc(var(--plyr-range-track-height, .26041667vw)/2);height:.26041667vw;height:var(--plyr-range-track-height,.26041667vw)}.plyr--full-ui input[type=range]::-ms-track{color:rgba(0,0,0,0)}.plyr--full-ui input[type=range]::-ms-fill-upper,.plyr--full-ui input[type=range]::-ms-track{background:#0000;border:0;border-radius:.13020833vw;border-radius:calc(var(--plyr-range-track-height, .26041667vw)/2);height:.26041667vw;height:var(--plyr-range-track-height,.26041667vw);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;user-select:none}.plyr--full-ui input[type=range]::-ms-fill-lower{background:#0000;background:currentColor;border:0;border-radius:.13020833vw;border-radius:calc(var(--plyr-range-track-height, .26041667vw)/2);height:.26041667vw;height:var(--plyr-range-track-height,.26041667vw);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;user-select:none}.plyr--full-ui input[type=range]::-ms-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:.67708333vw;height:var(--plyr-range-thumb-height,.67708333vw);margin-top:0;position:relative;-ms-transition:all .2s ease;transition:all .2s ease;width:.67708333vw;width:var(--plyr-range-thumb-height,.67708333vw)}.plyr--full-ui input[type=range]::-ms-tooltip{display:none}.plyr--full-ui input[type=range]::-moz-focus-outer{border:0}.plyr--full-ui input[type=range]:focus{outline:0}.plyr--full-ui input[type=range]:focus-visible::-webkit-slider-runnable-track{outline:.10416667vw dashed #00b2ff;outline:.10416667vw dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:.10416667vw}.plyr--full-ui input[type=range]:focus-visible::-moz-range-track{outline:.10416667vw dashed #00b2ff;outline:.10416667vw dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:.10416667vw}.plyr--full-ui input[type=range]:focus-visible::-ms-track{outline:.10416667vw dashed #00b2ff;outline:.10416667vw dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:.10416667vw}.plyr__poster{background-color:#000;background-color:var(--plyr-video-background,var(--plyr-video-background,#000));background-position:50% 50%;background-repeat:no-repeat;background-size:contain;height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .2s ease;width:100%;z-index:1}.plyr--stopped.plyr__poster-enabled .plyr__poster{opacity:1}.plyr--youtube.plyr--paused.plyr__poster-enabled:not(.plyr--stopped) .plyr__poster{display:none}.plyr__time{font-size:.67708333rem;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,.67708333rem))}.plyr__time+.plyr__time:before{content:"⁄";margin-right:.52083333vw;margin-right:var(--plyr-control-spacing,.52083333vw)}@media (max-width:767px){.plyr__time+.plyr__time{display:none}}.plyr__tooltip{background:#fff;background:var(--plyr-tooltip-background,#fff);border-radius:.26041667vw;border-radius:var(--plyr-tooltip-radius,.26041667vw);bottom:100%;box-shadow:0 1px .10416667vw rgba(0,0,0,.15);box-shadow:var(--plyr-tooltip-shadow,0 1px .10416667vw #00000026);color:#4a5464;color:var(--plyr-tooltip-color,#4a5464);font-size:.67708333rem;font-size:var(--plyr-font-size-small,.67708333rem);font-weight:400;font-weight:var(--plyr-font-weight-regular,400);left:50%;line-height:1.3;margin-bottom:.52083333vw;margin-bottom:calc(var(--plyr-control-spacing, .52083333vw)/2*2);opacity:0;padding:.26041667vw .390625vw;padding:calc(var(--plyr-control-spacing, .52083333vw)/2) calc(var(--plyr-control-spacing, .52083333vw)/2*1.5);pointer-events:none;position:absolute;transform:translate(-50%,.52083333vw) scale(.8);transform-origin:50% 100%;transition:transform .2s ease .1s,opacity .2s ease .1s;white-space:nowrap;z-index:2}.plyr__tooltip:before{border-left:.20833333vw solid #0000;border-left:var(--plyr-tooltip-arrow-size,.20833333vw) solid #0000;border-right:.20833333vw solid #0000;border-right:var(--plyr-tooltip-arrow-size,.20833333vw) solid #0000;border-top:.20833333vw solid #fff;border-top:var(--plyr-tooltip-arrow-size,.20833333vw) solid var(--plyr-tooltip-background,#fff);bottom:-.20833333vw;bottom:calc(var(--plyr-tooltip-arrow-size, .20833333vw)*-1);content:"";height:0;left:50%;position:absolute;transform:translate(-50%);width:0;z-index:2}.plyr .plyr__control:focus-visible .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip{left:0;transform:translateY(.52083333vw) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child .plyr__tooltip:before,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip:before{left:.83333333vw;left:calc(var(--plyr-control-icon-size, .9375vw)/2 + var(--plyr-control-spacing, .52083333vw)*.7)}.plyr__controls>.plyr__control:last-child .plyr__tooltip{left:auto;right:0;transform:translateY(.52083333vw) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip:before{left:auto;right:.83333333vw;right:calc(var(--plyr-control-icon-size, .9375vw)/2 + var(--plyr-control-spacing, .52083333vw)*.7);transform:translate(50%)}.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0) scale(1)}.plyr__progress{left:.33854167vw;left:calc(var(--plyr-range-thumb-height, .67708333vw)*.5);margin-right:.67708333vw;margin-right:var(--plyr-range-thumb-height,.67708333vw);position:relative}.plyr__progress input[type=range],.plyr__progress__buffer{margin-left:-.33854167vw;margin-left:calc(var(--plyr-range-thumb-height, .67708333vw)*-.5);margin-right:-.33854167vw;margin-right:calc(var(--plyr-range-thumb-height, .67708333vw)*-.5);width:calc(100% + .67708333vw);width:calc(100% + var(--plyr-range-thumb-height, .67708333vw))}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress .plyr__tooltip{left:0;max-width:6.25vw;overflow-wrap:break-word}.plyr__progress__buffer{-webkit-appearance:none;background:#0000;border:0;border-radius:5.20833333vw;height:.26041667vw;height:var(--plyr-range-track-height,.26041667vw);left:0;margin-top:-.13020833vw;margin-top:calc((var(--plyr-range-track-height, .26041667vw)/2)*-1);padding:0;position:absolute;top:50%}.plyr__progress__buffer::-webkit-progress-bar{background:#0000}.plyr__progress__buffer::-webkit-progress-value{background:currentColor;border-radius:5.20833333vw;min-width:.26041667vw;min-width:var(--plyr-range-track-height,.26041667vw);-webkit-transition:width .2s ease;transition:width .2s ease}.plyr__progress__buffer::-moz-progress-bar{background:currentColor;border-radius:5.20833333vw;min-width:.26041667vw;min-width:var(--plyr-range-track-height,.26041667vw);-moz-transition:width .2s ease;transition:width .2s ease}.plyr__progress__buffer::-ms-fill{border-radius:5.20833333vw;-ms-transition:width .2s ease;transition:width .2s ease}.plyr--loading .plyr__progress__buffer{animation:plyr-progress 1s linear infinite;background-image:linear-gradient(-45deg,#23282f99 25%,#0000 0,#0000 50%,#23282f99 0,#23282f99 75%,#0000 0,#0000);background-image:linear-gradient(-45deg,var(--plyr-progress-loading-background,#23282f99) 25%,#0000 25%,#0000 50%,var(--plyr-progress-loading-background,#23282f99) 50%,var(--plyr-progress-loading-background,#23282f99) 75%,#0000 75%,#0000);background-repeat:repeat-x;background-size:1.30208333vw 1.30208333vw;background-size:var(--plyr-progress-loading-size,1.30208333vw) var(--plyr-progress-loading-size,1.30208333vw);color:rgba(0,0,0,0)}.plyr--video.plyr--loading .plyr__progress__buffer{background-color:rgba(255,255,255,.25);background-color:var(--plyr-video-progress-buffered-background,#ffffff40)}.plyr--audio.plyr--loading .plyr__progress__buffer{background-color:rgba(193,200,209,.6);background-color:var(--plyr-audio-progress-buffered-background,#c1c8d199)}.plyr__progress__marker{background-color:#fff;background-color:var(--plyr-progress-marker-background,#fff);border-radius:1px;height:.26041667vw;height:var(--plyr-range-track-height,.26041667vw);position:absolute;top:50%;transform:translate(-50%,-50%);width:.15625vw;width:var(--plyr-progress-marker-width,.15625vw);z-index:3}.plyr__volume{align-items:center;display:flex;position:relative}.plyr__volume input[type=range]{margin-left:.26041667vw;margin-left:calc(var(--plyr-control-spacing, .52083333vw)/2);margin-right:.26041667vw;margin-right:calc(var(--plyr-control-spacing, .52083333vw)/2);max-width:4.6875vw;min-width:3.125vw;position:relative;z-index:2}.plyr--audio{display:block}.plyr--audio .plyr__controls{background:#fff;background:var(--plyr-audio-controls-background,#fff);border-radius:inherit;color:#4a5464;color:var(--plyr-audio-control-color,#4a5464);padding:.52083333vw;padding:var(--plyr-control-spacing,.52083333vw)}.plyr--audio .plyr__control:focus-visible,.plyr--audio .plyr__control:hover,.plyr--audio .plyr__control[aria-expanded=true]{background:#00b2ff;background:var(--plyr-audio-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));color:#fff;color:var(--plyr-audio-control-color-hover,#fff)}.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track{background-color:rgba(193,200,209,.6);background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track{background-color:rgba(193,200,209,.6);background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]::-ms-track{background-color:rgba(193,200,209,.6);background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 .15625vw rgba(35,40,47,.1);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,.15625vw) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 .15625vw rgba(35,40,47,.1);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,.15625vw) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 .15625vw rgba(35,40,47,.1);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,.15625vw) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--audio .plyr__progress__buffer{color:rgba(193,200,209,.6);color:var(--plyr-audio-progress-buffered-background,#c1c8d199)}.plyr--video{overflow:hidden}.plyr--video.plyr--menu-open{overflow:visible}.plyr__video-wrapper{background:#000;background:var(--plyr-video-background,var(--plyr-video-background,#000));border-radius:inherit;height:100%;margin:auto;overflow:hidden;position:relative;width:100%}.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{aspect-ratio:16/9}@supports not (aspect-ratio:16/9){.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{height:0;padding-bottom:56.25%;position:relative}}.plyr__video-embed iframe,.plyr__video-wrapper--fixed-ratio video{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.plyr--full-ui .plyr__video-embed>.plyr__video-embed__container{padding-bottom:240%;position:relative;transform:translateY(-38.28125%)}.plyr--video .plyr__controls{background:linear-gradient(#0000,#000000bf);background:var(--plyr-video-controls-background,linear-gradient(#0000,#000000bf));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;bottom:0;color:#fff;color:var(--plyr-video-control-color,#fff);left:0;padding:.26041667vw;padding:calc(var(--plyr-control-spacing, .52083333vw)/2);padding-top:1.04166667vw;padding-top:calc(var(--plyr-control-spacing, .52083333vw)*2);position:absolute;right:0;transition:opacity .4s ease-in-out,transform .4s ease-in-out;z-index:3}@media (min-width:480px){.plyr--video .plyr__controls{padding:.52083333vw;padding:var(--plyr-control-spacing,.52083333vw);padding-top:1.82291667vw;padding-top:calc(var(--plyr-control-spacing, .52083333vw)*3.5)}}.plyr--video.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none;transform:translateY(100%)}.plyr--video .plyr__control:focus-visible,.plyr--video .plyr__control:hover,.plyr--video .plyr__control[aria-expanded=true]{background:#00b2ff;background:var(--plyr-video-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));color:#fff;color:var(--plyr-video-control-color-hover,#fff)}.plyr__control--overlaid{background:#00b2ff;background:var(--plyr-video-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));border:0;border-radius:100%;color:#fff;color:var(--plyr-video-control-color,#fff);display:none;left:50%;opacity:.9;padding:.78125vw;padding:calc(var(--plyr-control-spacing, .52083333vw)*1.5);position:absolute;top:50%;transform:translate(-50%,-50%);transition:.3s;z-index:2}.plyr__control--overlaid svg{left:.10416667vw;position:relative}.plyr__control--overlaid:focus,.plyr__control--overlaid:hover{opacity:1}.plyr--playing .plyr__control--overlaid{opacity:0;visibility:hidden}.plyr--full-ui.plyr--video .plyr__control--overlaid{display:block}.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track{background-color:rgba(255,255,255,.25);background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]::-moz-range-track{background-color:rgba(255,255,255,.25);background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]::-ms-track{background-color:rgba(255,255,255,.25);background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 .15625vw rgba(255,255,255,.5);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,.15625vw) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 .15625vw rgba(255,255,255,.5);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,.15625vw) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 .15625vw rgba(255,255,255,.5);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,.15625vw) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--video .plyr__progress__buffer{color:rgba(255,255,255,.25);color:var(--plyr-video-progress-buffered-background,#ffffff40)}.plyr:fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:fullscreen video{height:100%}.plyr:fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:fullscreen .plyr__captions{font-size:1.09375rem;font-size:var(--plyr-font-size-xlarge,1.09375rem)}}.plyr--fullscreen-fallback{background:#000;border-radius:0!important;bottom:0;height:100%;left:0;margin:0;position:fixed;right:0;top:0;width:100%;z-index:10000000}.plyr--fullscreen-fallback video{height:100%}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen{display:block}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr--fullscreen-fallback.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr--fullscreen-fallback .plyr__captions{font-size:1.09375rem;font-size:var(--plyr-font-size-xlarge,1.09375rem)}}.plyr__ads{border-radius:inherit;bottom:0;cursor:pointer;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:-1}.plyr__ads>div,.plyr__ads>div iframe{height:100%;position:absolute;width:100%}.plyr__ads:after{background:#23282f;border-radius:.10416667vw;bottom:.52083333vw;bottom:var(--plyr-control-spacing,.52083333vw);color:#fff;content:attr(data-badge-text);font-size:.57291667rem;padding:.10416667vw .3125vw;pointer-events:none;position:absolute;right:.52083333vw;right:var(--plyr-control-spacing,.52083333vw);z-index:3}.plyr__ads:empty:after{display:none}.plyr__cues{background:currentColor;display:block;height:.26041667vw;height:var(--plyr-range-track-height,.26041667vw);left:0;opacity:.8;position:absolute;top:50%;transform:translateY(-50%);width:.15625vw;z-index:3}.plyr__preview-thumb{background-color:#fff;background-color:var(--plyr-tooltip-background,#fff);border-radius:.41666667vw;border-radius:var(--plyr-menu-radius,.41666667vw);bottom:100%;box-shadow:0 1px .10416667vw rgba(0,0,0,.15);box-shadow:var(--plyr-tooltip-shadow,0 1px .10416667vw #00000026);margin-bottom:.52083333vw;margin-bottom:calc(var(--plyr-control-spacing, .52083333vw)/2*2);opacity:0;padding:.15625vw;pointer-events:none;position:absolute;transform:translateY(.52083333vw) scale(.8);transform-origin:50% 100%;transition:transform .2s ease .1s,opacity .2s ease .1s;z-index:2}.plyr__preview-thumb--is-shown{opacity:1;transform:translate(0) scale(1)}.plyr__preview-thumb:before{border-left:.20833333vw solid #0000;border-left:var(--plyr-tooltip-arrow-size,.20833333vw) solid #0000;border-right:.20833333vw solid #0000;border-right:var(--plyr-tooltip-arrow-size,.20833333vw) solid #0000;border-top:.20833333vw solid #fff;border-top:var(--plyr-tooltip-arrow-size,.20833333vw) solid var(--plyr-tooltip-background,#fff);bottom:-.20833333vw;bottom:calc(var(--plyr-tooltip-arrow-size, .20833333vw)*-1);content:"";height:0;left:calc(50% + var(--preview-arrow-offset));position:absolute;transform:translate(-50%);width:0;z-index:2}.plyr__preview-thumb__image-container{background:#c1c8d1;border-radius:.36458333vw;border-radius:calc(var(--plyr-menu-radius, .41666667vw) - 1px);overflow:hidden;position:relative;z-index:0}.plyr__preview-thumb__image-container img,.plyr__preview-thumb__image-container:after{height:100%;left:0;position:absolute;top:0;width:100%}.plyr__preview-thumb__image-container:after{border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);content:"";pointer-events:none}.plyr__preview-thumb__image-container img{max-height:none;max-width:none}.plyr__preview-thumb__time-container{background:linear-gradient(#0000,#000000bf);background:var(--plyr-video-controls-background,linear-gradient(#0000,#000000bf));border-bottom-left-radius:.36458333vw;border-bottom-left-radius:calc(var(--plyr-menu-radius, .41666667vw) - 1px);border-bottom-right-radius:.36458333vw;border-bottom-right-radius:calc(var(--plyr-menu-radius, .41666667vw) - 1px);bottom:0;left:0;line-height:1.1;padding:1.04166667vw .3125vw .3125vw;position:absolute;right:0;z-index:3}.plyr__preview-thumb__time-container span{color:#fff;font-size:.67708333rem;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,.67708333rem))}.plyr__preview-scrubbing{bottom:0;filter:blur(1px);height:100%;left:0;margin:auto;opacity:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease;width:100%;z-index:1}.plyr__preview-scrubbing--is-shown{opacity:1}.plyr__preview-scrubbing img{height:100%;left:0;max-height:none;max-width:none;object-fit:contain;position:absolute;top:0;width:100%}.plyr--no-transition{transition:none!important}.plyr__sr-only{clip:rect(1px,1px,1px,1px);border:0!important;height:1px!important;overflow:hidden;padding:0!important;position:absolute!important;width:1px!important}.plyr [hidden]{display:none!important}._musicScore_6u588_1{position:relative;width:100%;height:100%;-webkit-overflow-scrolling:touch}._musicScore_6u588_1 ._container_6u588_7{position:relative;display:block;border:none;width:100%;height:100%;z-index:10}._musicScore_6u588_1 ._musicModel_6u588_15{position:absolute;left:0;top:0;right:0;bottom:0}._errorModel_6u588_22{position:absolute;left:0;top:0;right:0;bottom:0;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden}._startBtn_6u588_34{position:absolute;left:50%;bottom:6vh;transform:translate(-50%);z-index:11}._startBtn_6u588_34:active{opacity:.8}._loading_6u588_44{position:absolute;left:4%;top:50%;margin-top:-.78125vw}._skeletonWrap_6u588_50{position:absolute;left:0;top:0;right:0;height:100%;z-index:1;padding-top:1.2rem;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:#fff;pointer-events:none;font-size:2.08333333rem}._skeleton_6u588_50{--van-skeleton-paragraph-height: 1.25vw}._skeleton_6u588_50 .van-skeleton__content .van-skeleton-paragraph{margin:.625vw auto;width:80%!important}._skeleton_6u588_50 .van-skeleton__content .van-skeleton-paragraph:first-child{width:60%!important}._skeleton_6u588_50 .van-skeleton__content .van-skeleton-paragraph:last-child{width:100%!important}._videoWrap_19uw7_1{width:100%;height:100%}._videoWrap_19uw7_1 ._sectionAnimate_19uw7_5{opacity:0;pointer-events:none;transform:translateY(6.5625vw);transition:all .2s}._videoWrap_19uw7_1 ._controls_19uw7_11{position:absolute;bottom:6.5625vw;left:0;right:0;width:100%;background-color:rgba(0,0,0,.7);height:4.47916667vw;padding:.52083333vw 2.08333333vw 0!important;display:flex;align-items:center;transition:all .301s}._videoWrap_19uw7_1 ._controls_19uw7_11 ._time_19uw7_24{display:flex;justify-content:space-between;color:#fff;padding:.20833333vw 1.04166667vw;font-size:1.25rem;font-weight:600;line-height:1.71875vw}._videoWrap_19uw7_1 ._controls_19uw7_11 ._time_19uw7_24>div{font-size:1.25rem!important}._videoWrap_19uw7_1 ._controls_19uw7_11 ._time_19uw7_24 ._line_19uw7_36{font-size:.625rem}._videoWrap_19uw7_1 ._controls_19uw7_11 ._time_19uw7_24 .plyr__time+.plyr__time:before{content:"";margin-right:0}._videoWrap_19uw7_1 ._actions_19uw7_43{display:flex;justify-content:space-between;height:100%;color:#fff;font-size:.625rem;align-items:center}._videoWrap_19uw7_1 ._actions_19uw7_43 ._actionWrap_19uw7_51{display:flex}._videoWrap_19uw7_1 ._actions_19uw7_43 ._actionBtn_19uw7_54{display:flex;width:3.125vw;height:3.125vw;padding:.20833333vw 0;background:transparent}._videoWrap_19uw7_1 ._actions_19uw7_43 ._actionBtn_19uw7_54>img{width:100%;height:100%}._videoWrap_19uw7_1 ._actions_19uw7_43 ._iconReplay_19uw7_65{width:2.08333333vw;height:2.03125vw;background-color:transparent}._videoWrap_19uw7_1 ._actions_19uw7_43 ._iconReplay_19uw7_65>img{width:100%;height:100%}._videoWrap_19uw7_1 ._slider_19uw7_74{width:100%;padding:0 1.04166667vw 0 .625vw}._videoWrap_19uw7_1 ._slider_19uw7_74 .n-slider .n-slider-rail .n-slider-rail__fill,._videoWrap_19uw7_1 ._slider_19uw7_74 .n-slider .n-slider-handles .n-slider-handle-wrapper{transition:all .2s}._pen_apyjn_1{position:fixed;left:0;right:0;bottom:0;top:0;z-index:501}._open_apyjn_9{display:block}._whiteboard_apyjn_12{background:#fff!important}._hide_apyjn_15{display:none}._iframe_apyjn_18{display:block;width:100%;height:100%;border:0}._dely_apyjn_24{opacity:0}._rightItem_apyjn_27{position:absolute;right:1.5625vw;bottom:0;bottom:constant(safe-area-inset-bottom);bottom:env(safe-area-inset-bottom);height:78Px;display:flex;justify-content:center;align-items:center}._rightItem_apyjn_27 svg{width:28Px;height:28Px}._img_apyjn_42{position:absolute;left:0;top:0;width:100%;height:100%;display:block}._removeVisiable_apyjn_50{width:22.5vw}._removeVisiable_apyjn_50 .n-card-header{font-size:max(1.14583333rem,16Px)}._removeVisiable_apyjn_50 ._studentRemove_apyjn_56{padding:1.04166667vw 2.08333333vw 0}._removeVisiable_apyjn_50 ._studentRemove_apyjn_56 p{font-size:max(.9375rem,14Px);color:#777;line-height:1.5625vw;text-align:center}._removeVisiable_apyjn_50 ._studentRemove_apyjn_56 p span{color:#ea4132}._removeVisiable_apyjn_50 ._btnGroupModal_apyjn_68{padding:1.66666667vw 0}._removeVisiable_apyjn_50 ._btnGroupModal_apyjn_68 .n-button{height:2.44791667vw;min-width:8.125vw}._audioWrap_8oxfj_1{width:100%;height:100%;background-color:#fff}._audioContainer_8oxfj_6{position:relative;display:flex;align-items:center;justify-content:center;height:100%;padding:0 12.5vw}._audioContainer_8oxfj_6>div{flex:1}._audioContainer_8oxfj_6 ._audio_8oxfj_1{position:absolute;top:0;opacity:0}._audioContainer_8oxfj_6 ._tempVudio_8oxfj_22{position:absolute;top:0;right:0;bottom:0;left:0;padding:0 12.5vw}._audioContainer_8oxfj_6 canvas{width:100%;height:100%}._sectionAnimate_8oxfj_34{opacity:0;pointer-events:none;transform:translateY(6.5625vw);transition:all .2s}._controls_8oxfj_40{position:absolute;bottom:6.5625vw;left:0;right:0;width:100%;background-color:rgba(0,0,0,.7);height:4.47916667vw;padding:.52083333vw 2.08333333vw 0!important;transition:all .301s;display:flex;align-items:center}._controls_8oxfj_40 ._time_8oxfj_53{display:flex;justify-content:space-between;color:#fff;padding:.20833333vw 1.04166667vw;font-size:1.25rem;font-weight:600;line-height:1.71875vw}._controls_8oxfj_40 ._time_8oxfj_53>div{font-size:1.25rem!important}._controls_8oxfj_40 ._time_8oxfj_53 ._line_8oxfj_65{font-size:.625rem}._controls_8oxfj_40 ._time_8oxfj_53 .plyr__time+.plyr__time:before{content:"";margin-right:0}._actions_8oxfj_72{display:flex;justify-content:space-between;height:100%;color:#fff;font-size:.625rem;align-items:center}._actions_8oxfj_72 ._actionWrap_8oxfj_80{display:flex}._actions_8oxfj_72 ._actionBtn_8oxfj_83{display:flex;width:3.125vw;height:3.125vw;padding:.20833333vw 0;background:transparent;cursor:pointer}._actions_8oxfj_72 ._actionBtn_8oxfj_83>img{width:100%;height:100%}._actions_8oxfj_72 ._iconReplay_8oxfj_95{width:2.08333333vw;height:2.03125vw;background-color:transparent}._actions_8oxfj_72 ._iconReplay_8oxfj_95>img{width:100%;height:100%}._slider_8oxfj_104{width:100%;padding:0 1.04166667vw 0 .625vw}._slider_8oxfj_104 .n-slider .n-slider-rail .n-slider-rail__fill,._slider_8oxfj_104 .n-slider .n-slider-handles .n-slider-handle-wrapper{transition:all .2s}._scrollBar_ds6lg_1{margin:0 1.04166667vw;width:calc(100% - 2.08333333vw)}._treeParent_ds6lg_5{transition:height 1s ease-in-out}._treeChild_ds6lg_8{line-height:2.8125vw}._treeItem_ds6lg_11{display:flex;align-items:center;line-height:2.8125vw;padding:0 .26041667vw;cursor:pointer;border-radius:.52083333vw;font-size:.88541667rem}._treeItem_ds6lg_11:hover{background:#F5F6FA}._treeItem_ds6lg_11 ._title_ds6lg_23{padding-left:.41666667vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:14.58333333vw!important;color:rgba(0,0,0,.5);display:flex;align-items:center}._treeItem_ds6lg_11 ._title_ds6lg_23 ._dir_ds6lg_33{flex-shrink:1;display:inline-block;width:.83333333vw;height:.9375vw;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAkCAYAAADo6zjiAAAAAXNSR0IArs4c6QAAAetJREFUWEftmL9Lw0AUx78v0aAgxSFprSDOdhAHJ0FCS3Hs5iR1ERH8tepWxb+gWkUQFzsqIo5FCuLqIA5xtg4drLWUohJNTk4pqGjpxZM4NFMg9333ue/lPe4d4cMTiUS0UqkyzMgZgEs6I7fz43ev78SURyisREy90vXuc8uy7Hosqr+Ew+F+x3HGXaDL60TN6BSgpqrqfrFYvObj3wD45M+OMwlAbSaIhDFOu6rucQh6t720+Ncr/wrNndB1fZ2Cwd4RFy9jElYlHEJBW46MUGiKMdYnrJYgIKIbMozQMiPWISGecAieHaQHgyvCSomC/w0QCASwubGBWCwGTdOE1m3bNvL5POYWFlCtVn/UNnQglUphfnZWaOKvgzOZDFbX1rwB7O7sIJFI/Arg6OgY0zPT3gDG4nFks1koiuIJwnVdJJNJ5E5OvAFw1dDgEExzFJomlqm2/YTT0zNcXF40hP/fWeDJd0FRy4GGDogUonK5jHQ6ja3tbaFNkF6IzGgUlmU1DdEQwEshmuB5n8vJARAtRIVCAaYZRe2hJgdApBDd39/h4PAQlUql6cnfDqWt80DLgZYDhtGzJKsJFco/noL8WO57Y+J7a+Z7c8r3zdf2vP7j+HpBUYf4fEUDQ1bTSoyeoOD2uyuaV7DJ02v4pZ8HAAAAAElFTkSuQmCC) no-repeat center;background-size:contain;margin-right:.3125vw}._treeItem_ds6lg_11 ._title_ds6lg_23._titleSelect_ds6lg_42{color:#198cfe;font-weight:700}._treeItem_ds6lg_11 ._title_ds6lg_23._titleSelect_ds6lg_42 ._dir_ds6lg_33{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAkCAYAAADo6zjiAAAAAXNSR0IArs4c6QAAAc9JREFUWEftmEFIVFEUhr/zGlIIhAwc0rUxbXQfIgy5cuEmmIWYy4KgjRJjK8FdRCBFYLQRBRcDIq5clAyGuk4XJblqoWOLeUUwqIPNifvggU35eO++F8/F3NWFd/5z/vvfe8675wrnRva5XlOXhzS4J5BT6Dz/3XYu4Crs4bAsnbz59kRqvi/xJ91FHTgTSig3bQOFwgmVjFI4fCabxt4jYIL/EtZVuRrKSUwjEepXlLuGhHiyV9n/7ytvJi1U5Aa90vVUJ2jwIuai7OAOk9JV1C3gjp2H2KhtyU6pq8r12K4sHJjsMAqoBTYxyOUm0NEOrwqQvwVtmWiLPj2D8hd4XIKfJxdjAxWYHoZHg9ECN1u/3oCZNUsCb0dhpC8egdVdeLBkSWAoB4vj4Dh2JBoNuL8A7/csCRhYfw8M9tqdgQ/7sHMQTP5yZ4Gd8NFQLQUCFYhSiKo1eFmGOe+aEX4kXojys/DpKCECNoVobB7eBeT9X/eSoL9h1EL01QWjQK2ekAJRCpE5Aysf4cdx+ODGspWGLQVaCki2qNWkmtBoCej1hd61PL3GRNhKvzVLvTk1+5Zqe+4fnFQfKHwSfzzRCLeTalpF+K7K53890fwGwiHWBQCa64sAAAAASUVORK5CYII=) no-repeat center;background-size:contain}._treeItem_ds6lg_11 ._arrow_ds6lg_50{display:inline-block;width:.72916667vw;height:.78125vw;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAeCAYAAAA/xX6fAAAAAXNSR0IArs4c6QAAARRJREFUSEvt1cFKxDAQBuCZqVroua19gMpC32jx3h76En2aFQVvnnwCTz6Aewlsly0Yll667imV7vaoxElCQDHXhn5k8mcGwfNCzx78g5DneTgMQ1ZV1aZpGmV7BdqSxvH1EmBcEME6iqJHIcTRBtWCSZLV46iSCUGk9zC8uGvbdm+KssAJIaIDETx0XSdMUDY4IwogeJJy98pFTcGTgxi81HX1zAmTFXguMS9M1iA3TE5ATpicgT8Nk2twdi9XUm7fvkrwrwe179PZCRHpIwjgXteBnICcHmsNen34PlubNhzfNXV2Sb2OJ044jE+YpumtUnDDDYcxWBTFVd/3WVmWLWfuGYPcia7brw2N7gfc738f/ATIjb8fAy3RmAAAAABJRU5ErkJggg==) no-repeat center;background-size:contain}._treeItem_ds6lg_11 ._arrow_ds6lg_50._arrowSelect_ds6lg_57{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAAXNSR0IArs4c6QAAAVBJREFUSEvtlLFKw1AYhf+TqggFcXCxUkFxcnAVETo5KT6BowUHQWz0AfoAkoiboIubs9DJSQXxBToVhyoWpJPooiZHMlRrucnNbWIHScbkP/8H5343kAE/GDBPMmDqjWeV/m2lC2fMt5/lnCIzaZAAaYyPykZ9G6+dfb/OsOBymR5v0oB977BQatm4VgKrpHXsyIWQq6lAgdqWLetVwFcCg5dzRxx7e5dbEc4ng6KeH5Glxg5euvcor8W0y9lPX+5ITvQDBdAesmSxWcF9bz70HhYPWfI8uSQ5bAIF8JHLycrDLq5UuciLX3C4SZ8nRkAL5Scbp2EZ7Z9m8oCOCCvxoHBb+7CjZrXA2OYqjDSutBPQm6s2sm9gEAwzN8rIRMAg3GuuzsjEwGBBt7nQGJkKMFgy5XINvvBxD7V49v5MaS01Xaibz4C6hoy///9KvwAj538d1KBtmgAAAABJRU5ErkJggg==) no-repeat center;background-size:contain}._treeItem_ds6lg_11 ._childArrow_ds6lg_61{width:.625vw}._treeItem_ds6lg_11._childItem_ds6lg_64{padding-left:1.5625vw;font-size:.78125rem}._treeItem_ds6lg_11._childItem_ds6lg_64 ._title_ds6lg_23{color:#131415}._treeItem_ds6lg_11._childSelect_ds6lg_71{background:#F5F6FA}._treeItem_ds6lg_11._childSelect_ds6lg_71 ._title_ds6lg_23{color:#198cfe;font-weight:700}\n'),
  147. document.head.appendChild(__vite_style__);
  148. const timerWrap = '_timerWrap_1ilvi_1',
  149. timerTop = '_timerTop_1ilvi_8',
  150. timerTopPane = '_timerTopPane_1ilvi_19',
  151. timerTopPaneActive = '_timerTopPaneActive_1ilvi_25',
  152. timerItemInfo = '_timerItemInfo_1ilvi_30',
  153. timerItemInset = '_timerItemInset_1ilvi_38',
  154. timerItemInfoTop = '_timerItemInfoTop_1ilvi_43',
  155. dot = '_dot_1ilvi_50',
  156. dotTop = '_dotTop_1ilvi_58',
  157. timerItemTopCore = '_timerItemTopCore_1ilvi_62',
  158. nowTimerWrap = '_nowTimerWrap_1ilvi_74',
  159. btnGroupModal$2 = '_btnGroupModal_1ilvi_86',
  160. palyIcon = '_palyIcon_1ilvi_93',
  161. playText = '_playText_1ilvi_97',
  162. countInput = '_countInput_1ilvi_100',
  163. dotBtm = '_dotBtm_1ilvi_120',
  164. chioseWrap = '_chioseWrap_1ilvi_124',
  165. add$1 = '_add_1ilvi_144',
  166. minus$1 = '_minus_1ilvi_149',
  167. chioseHidden = '_chioseHidden_1ilvi_154',
  168. numberWrap = '_numberWrap_1ilvi_157',
  169. styles$7 = {
  170. timerWrap: timerWrap,
  171. timerTop: timerTop,
  172. timerTopPane: timerTopPane,
  173. timerTopPaneActive: timerTopPaneActive,
  174. timerItemInfo: timerItemInfo,
  175. timerItemInset: timerItemInset,
  176. timerItemInfoTop: timerItemInfoTop,
  177. dot: dot,
  178. dotTop: dotTop,
  179. timerItemTopCore: timerItemTopCore,
  180. nowTimerWrap: nowTimerWrap,
  181. btnGroupModal: btnGroupModal$2,
  182. palyIcon: palyIcon,
  183. playText: playText,
  184. countInput: countInput,
  185. dotBtm: dotBtm,
  186. chioseWrap: chioseWrap,
  187. add: add$1,
  188. minus: minus$1,
  189. chioseHidden: chioseHidden,
  190. numberWrap: numberWrap
  191. },
  192. flipper_vue_vue_type_style_index_0_lang = '',
  193. _export_sfc$1 = (t, e) => {
  194. const r = t.__vccOpts || t;
  195. for (const [a, i] of e) r[a] = i;
  196. return r;
  197. },
  198. _sfc_main$1 = {
  199. name: 'FlipClock',
  200. data: () => ({
  201. isFlipping: !1,
  202. flipType: 'down',
  203. frontTextFromData: 0,
  204. backTextFromData: 1
  205. }),
  206. props: {
  207. frontText: { type: [Number, String], default: 0 },
  208. backText: { type: [Number, String], default: 1 },
  209. duration: { type: Number, default: 600 }
  210. },
  211. methods: {
  212. _textClass: t => 'number' + t,
  213. _flip(t, e, r) {
  214. console.log(t, e, r, '=====>'),
  215. (this.frontTextFromData = e),
  216. (this.backTextFromData = r),
  217. (this.flipType = t),
  218. (this.isFlipping = !0),
  219. setTimeout(() => {
  220. (this.isFlipping = !1), (this.frontTextFromData = r);
  221. }, this.duration);
  222. },
  223. flipDown(t, e) {
  224. this._flip('down', t, e);
  225. },
  226. flipUp(t, e) {
  227. this._flip('up', t, e);
  228. },
  229. setFront(t) {
  230. this.frontTextFromData = t;
  231. },
  232. setBack(t) {
  233. this.backTextFromData = t;
  234. }
  235. },
  236. created() {
  237. (this.frontTextFromData = this.frontText),
  238. (this.backTextFromData = this.backText);
  239. }
  240. };
  241. function _sfc_render$1(t, e, r, a, i, s) {
  242. return (
  243. openBlock(),
  244. createElementBlock(
  245. 'div',
  246. {
  247. class: normalizeClass([
  248. 'M-Flipper',
  249. [i.flipType, { go: i.isFlipping }]
  250. ])
  251. },
  252. [
  253. createBaseVNode(
  254. 'div',
  255. {
  256. class: normalizeClass([
  257. 'digital front',
  258. s._textClass(i.frontTextFromData)
  259. ])
  260. },
  261. null,
  262. 2
  263. ),
  264. createBaseVNode(
  265. 'div',
  266. {
  267. class: normalizeClass([
  268. 'digital back',
  269. s._textClass(i.backTextFromData)
  270. ])
  271. },
  272. null,
  273. 2
  274. )
  275. ],
  276. 2
  277. )
  278. );
  279. }
  280. const Flipper = _export_sfc$1(_sfc_main$1, [
  281. ['render', _sfc_render$1]
  282. ]),
  283. playIcon =
  284. 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAcCAYAAABlL09dAAAAAXNSR0IArs4c6QAAAR1JREFUSEvV1rFOwlAYxfH/eQx2VgcfBJ+AOMqCE5uB6OITyAPwCPogKBMOOhITQuLkaq45iU1KKL2X9nbgWzq0/X03/dpzKzoqhRAE3AAD4BNYSFq17Wf4HngoQb/AEzCT9NO0geEvoFcBbICxpJcmuOEQufEZuJXkRsmVAhvzI5kCc0l+VNFKhQtoCYwk+Vhbp8LGkobbBC5WWjvcNnDRoHK4OeDK4eaCy8O9lrTODbvBN3DRBWx8clbwDrjMveJXYCjpPRfsLJk5bossyQE7Vh2ve+nXBjbkOPWXd1BNYIfQ3DFat8OcCmePzYPh5MjjyuGkwB9A/8hmenQ4KfAd8Fi6MGmHiMK+IIQwAq6A7f9L/ha7MXbef0Gd1B+5cJ8q7osJlgAAAABJRU5ErkJggg==',
  285. suspend =
  286. 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAcCAYAAAB75n/uAAAAAXNSR0IArs4c6QAAAMlJREFUSEvtlj0OwUEQxX+voXARtZBwAgWVA2hVOgfQ6FQ0DkLCBSioxRncgObJikr+X4msaqfaZF/ey8zO7BsRORT4bQ+AOdAEbuEsaVdV23YDWAAjoA4cgJmkuz7k2wyyYVUR23ug/8VxBVpB4Ay0MwQukjplWdjuAccc3DgIPIBaBuApKaRbGLYnwCYHtAwCzmOQ9H6jorA9BVY5mHUSCC2eSpS6KA1amoP0m/7FD6Jb5q+m3wVORaYfdqJ4a0v0xausz3+9fwE+w+v3NO9E8gAAAABJRU5ErkJggg==',
  287. add =
  288. 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAJhJREFUWEftlzEOQEAURPffgwOhRkPrUFoa1NaBuMeXLyTqsQmS2X7mT95uMvvFgaeffOLUtYdcXFPl6YJYCSIyTT/6VVWjY77IVhVpjHjBAbph1vvAuswgL0hkgxmABEiABEggGIGr1a5iQQoF0ViBWYvKvdUQoycaC/GBAOfH4rUrQBEGe4QMQAIkQAIk8FsCry+nodbzHQqVmosCTFkgAAAAAElFTkSuQmCC',
  289. minus =
  290. 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAECAYAAADvRz3UAAAAAXNSR0IArs4c6QAAADNJREFUKFNjXLJ6myfDf4ZZ////l2GgI2BkZHzCwMiQxrhk1bbH9LYc5k+QIwaBAwY4CgCYmB5vQGvODAAAAABJRU5ErkJggg==',
  291. soundWav = '' + new URL('timer-ee5a21d4.wav', module.meta.url).href,
  292. Countdown = defineComponent({
  293. name: 'timer-countdown',
  294. setup() {
  295. ref('positive'), useRoute();
  296. const t = ref(),
  297. e = ref(),
  298. r = ref(),
  299. a = ref(),
  300. i = ref(null),
  301. s = ref(null),
  302. n = ref(new Date());
  303. s.value = setInterval(() => {
  304. n.value = new Date();
  305. }, 1e3);
  306. const o = ref(0),
  307. l = ref(0),
  308. h = ref(0),
  309. p = ref(!1),
  310. c = ref([t, e, r, a]),
  311. d = () => {
  312. (l.value = 0), (h.value = 0);
  313. for (let t = 0; t < c.value.length; t++)
  314. c.value[t].value.setFront('0000'[t]);
  315. },
  316. f = new Audio(soundWav),
  317. m = () => {
  318. setTimeout(() => {
  319. (p.value = !1),
  320. (f.currentTime = 0),
  321. f.pause(),
  322. i.value && (clearInterval(i.value), (i.value = null));
  323. }, 600);
  324. },
  325. u = () => {
  326. p.value
  327. ? (m(),
  328. (o.value = 0),
  329. (f.currentTime = 0),
  330. f.pause(),
  331. setTimeout(() => {
  332. d();
  333. }, 600))
  334. : ((o.value = 0), d());
  335. };
  336. onMounted(() => {
  337. nextTick(() => {
  338. d();
  339. });
  340. }),
  341. onUnmounted(() => {
  342. f.pause();
  343. });
  344. const g = t => {
  345. const e = getSecond(o.value);
  346. (o.value += t), o.value > 3599 ? (o.value = 3599) : o.value;
  347. const r = getSecond(o.value);
  348. for (let a = 0; a < c.value.length; a++)
  349. e[a] !== r[a] && c.value[a].value.flipDown(e[a], r[a]);
  350. (l.value = Math.floor(o.value / 60)),
  351. (h.value = Math.floor(o.value % 60));
  352. },
  353. y = t => {
  354. const e = getSecond(o.value);
  355. (o.value -= t), o.value < 0 ? (o.value = 0) : o.value;
  356. const r = getSecond(o.value);
  357. for (let a = 0; a < c.value.length; a++)
  358. e[a] !== r[a] && c.value[a].value.flipUp(e[a], r[a]);
  359. (l.value = Math.floor(o.value / 60)),
  360. (h.value = Math.floor(o.value % 60));
  361. },
  362. v = t => {
  363. let e = parseInt(t.target.value);
  364. Number.isNaN(e) && (e = 0),
  365. e > 59 && (e = 59),
  366. (l.value = e);
  367. const r = getSecond(o.value);
  368. console.log(l.value), (o.value = 60 * l.value + h.value);
  369. const a = getSecond(o.value);
  370. console.log(a, r);
  371. for (let i = 0; i < c.value.length; i++) r[i], a[i];
  372. },
  373. b = t => {
  374. let e = parseInt(t.target.value);
  375. Number.isNaN(e) && (e = 0),
  376. e > 59 && (e = 59),
  377. (h.value = e);
  378. const r = getSecond(o.value);
  379. o.value = 60 * l.value + h.value;
  380. const a = getSecond(o.value);
  381. for (let i = 0; i < c.value.length; i++)
  382. r[i] !== a[i] && c.value[i].value.flipUp(r[i], a[i]);
  383. };
  384. return (
  385. watch(
  386. () => o.value,
  387. t => {
  388. (l.value = Math.floor(t / 60)),
  389. (h.value = Math.floor(t % 60));
  390. }
  391. ),
  392. () =>
  393. createVNode('div', { class: styles$7.timerItemWrap }, [
  394. createVNode('div', { class: styles$7.timerItemInfo }, [
  395. createVNode('div', { class: styles$7.timerItemInset }, [
  396. createVNode(
  397. 'div',
  398. { class: styles$7.timerItemInfoTop },
  399. [
  400. createVNode(
  401. 'div',
  402. { class: styles$7.timerItemTopCore },
  403. [
  404. createVNode('h4', null, [
  405. createTextVNode(' 分')
  406. ]),
  407. createVNode(
  408. 'div',
  409. { class: styles$7.FlipClock },
  410. [
  411. createVNode(
  412. 'div',
  413. { class: styles$7.numberWrap },
  414. [
  415. createVNode(
  416. Flipper,
  417. { ref: t },
  418. null
  419. ),
  420. createVNode(Flipper, { ref: e }, null)
  421. ]
  422. ),
  423. createVNode(
  424. 'div',
  425. {
  426. class: [
  427. styles$7.chioseWrap,
  428. p.value ? styles$7.chioseHidden : ''
  429. ]
  430. },
  431. [
  432. createVNode(
  433. 'img',
  434. {
  435. src: add,
  436. class: styles$7.add,
  437. alt: '',
  438. onClick: () => g(60)
  439. },
  440. null
  441. ),
  442. createVNode(
  443. NInputNumber,
  444. {
  445. class: styles$7.countInput,
  446. min: 0,
  447. max: 59,
  448. 'show-button': !1,
  449. onInput: v,
  450. value: l.value,
  451. 'onUpdate:value': t =>
  452. (l.value = t)
  453. },
  454. null
  455. ),
  456. createVNode(
  457. 'img',
  458. {
  459. src: minus,
  460. class: styles$7.minus,
  461. alt: '',
  462. onClick: () => y(60)
  463. },
  464. null
  465. )
  466. ]
  467. )
  468. ]
  469. )
  470. ]
  471. ),
  472. createVNode(
  473. 'div',
  474. { class: styles$7.timerItemTopCore },
  475. [
  476. createVNode(
  477. 'div',
  478. { class: styles$7.dot },
  479. null
  480. ),
  481. createVNode(
  482. 'div',
  483. { class: styles$7.dot },
  484. null
  485. ),
  486. createVNode(
  487. 'h4',
  488. { class: styles$7.dotBtm },
  489. null
  490. )
  491. ]
  492. ),
  493. createVNode(
  494. 'div',
  495. { class: styles$7.timerItemTopCore },
  496. [
  497. createVNode('h4', null, [
  498. createTextVNode(' 秒 ')
  499. ]),
  500. createVNode(
  501. 'div',
  502. { class: styles$7.FlipClock },
  503. [
  504. createVNode(
  505. 'div',
  506. { class: styles$7.numberWrap },
  507. [
  508. createVNode(
  509. Flipper,
  510. { ref: r },
  511. null
  512. ),
  513. createVNode(Flipper, { ref: a }, null)
  514. ]
  515. ),
  516. createVNode(
  517. 'div',
  518. {
  519. class: [
  520. styles$7.chioseWrap,
  521. p.value ? styles$7.chioseHidden : ''
  522. ]
  523. },
  524. [
  525. createVNode(
  526. 'img',
  527. {
  528. src: add,
  529. class: styles$7.add,
  530. alt: '',
  531. onClick: () => g(1)
  532. },
  533. null
  534. ),
  535. createVNode(
  536. NInputNumber,
  537. {
  538. class: styles$7.countInput,
  539. min: 0,
  540. max: 59,
  541. 'show-button': !1,
  542. value: h.value,
  543. 'onUpdate:value': t =>
  544. (h.value = t),
  545. onInput: b
  546. },
  547. null
  548. ),
  549. createVNode(
  550. 'img',
  551. {
  552. src: minus,
  553. class: styles$7.minus,
  554. alt: '',
  555. onClick: () => y(1)
  556. },
  557. null
  558. )
  559. ]
  560. )
  561. ]
  562. )
  563. ]
  564. )
  565. ]
  566. )
  567. ])
  568. ]),
  569. createVNode(
  570. NSpace,
  571. { class: styles$7.btnGroupModal, justify: 'center' },
  572. {
  573. default: () => [
  574. createVNode(
  575. NButton,
  576. { round: !0, onClick: () => u() },
  577. { default: () => [createTextVNode('重置')] }
  578. ),
  579. p.value
  580. ? createVNode(
  581. NButton,
  582. {
  583. round: !0,
  584. type: 'primary',
  585. 'icon-placement': 'right',
  586. onClick: () => m()
  587. },
  588. {
  589. default: () =>
  590. createVNode(
  591. 'p',
  592. { class: styles$7.playText },
  593. [createTextVNode('暂停')]
  594. ),
  595. icon: () =>
  596. createVNode(
  597. NImage,
  598. {
  599. previewDisabled: !0,
  600. class: styles$7.palyIcon,
  601. src: suspend
  602. },
  603. null
  604. )
  605. }
  606. )
  607. : createVNode(
  608. NButton,
  609. {
  610. round: !0,
  611. type: 'primary',
  612. disabled: 0 == o.value,
  613. 'icon-placement': 'right',
  614. onClick: () => (
  615. (p.value = !0),
  616. void (i.value = setInterval(() => {
  617. const t = getSecond(o.value);
  618. if (
  619. (4 == o.value && f.play(),
  620. o.value <= 0)
  621. )
  622. return void u();
  623. o.value--;
  624. const e = getSecond(o.value);
  625. for (let r = 0; r < c.value.length; r++)
  626. t[r] !== e[r] &&
  627. c.value[r].value.flipDown(
  628. t[r],
  629. e[r]
  630. );
  631. }, 1e3))
  632. )
  633. },
  634. {
  635. default: () =>
  636. createVNode(
  637. 'p',
  638. { class: styles$7.playText },
  639. [createTextVNode('开始')]
  640. ),
  641. icon: () =>
  642. createVNode(
  643. NImage,
  644. {
  645. previewDisabled: !0,
  646. class: styles$7.palyIcon,
  647. src: playIcon
  648. },
  649. null
  650. )
  651. }
  652. )
  653. ]
  654. }
  655. )
  656. ])
  657. );
  658. }
  659. }),
  660. Positive = defineComponent({
  661. name: 'timer-positive',
  662. setup() {
  663. ref('positive'), useRoute();
  664. const t = ref(),
  665. e = ref(),
  666. r = ref(),
  667. a = ref(),
  668. i = ref(null),
  669. s = ref(null),
  670. n = ref(new Date());
  671. s.value = setInterval(() => {
  672. n.value = new Date();
  673. }, 1e3);
  674. const o = ref(0),
  675. l = ref(!1),
  676. h = ref([t, e, r, a]),
  677. p = () => {
  678. for (let t = 0; t < h.value.length; t++)
  679. h.value[t].value.setFront('0000'[t]);
  680. },
  681. c = () => {
  682. (l.value = !1),
  683. i.value && (clearInterval(i.value), (i.value = null));
  684. };
  685. return (
  686. onMounted(() => {
  687. nextTick(() => {
  688. p();
  689. });
  690. }),
  691. () =>
  692. createVNode('div', { class: styles$7.timerItemWrap }, [
  693. createVNode('div', { class: styles$7.timerItemInfo }, [
  694. createVNode('div', { class: styles$7.timerItemInset }, [
  695. createVNode(
  696. 'div',
  697. { class: styles$7.timerItemInfoTop },
  698. [
  699. createVNode(
  700. 'div',
  701. { class: styles$7.timerItemTopCore },
  702. [
  703. createVNode('h4', null, [
  704. createTextVNode(' 分')
  705. ]),
  706. createVNode(
  707. 'div',
  708. { class: styles$7.FlipClock },
  709. [
  710. createVNode(
  711. 'div',
  712. { class: styles$7.numberWrap },
  713. [
  714. createVNode(
  715. Flipper,
  716. { ref: t },
  717. null
  718. ),
  719. createVNode(Flipper, { ref: e }, null)
  720. ]
  721. )
  722. ]
  723. )
  724. ]
  725. ),
  726. createVNode(
  727. 'div',
  728. { class: styles$7.timerItemTopCore },
  729. [
  730. createVNode(
  731. 'h4',
  732. { class: styles$7.dotTop },
  733. null
  734. ),
  735. createVNode(
  736. 'div',
  737. { class: styles$7.dot },
  738. null
  739. ),
  740. createVNode(
  741. 'div',
  742. { class: styles$7.dot },
  743. null
  744. )
  745. ]
  746. ),
  747. createVNode(
  748. 'div',
  749. { class: styles$7.timerItemTopCore },
  750. [
  751. createVNode('h4', null, [
  752. createTextVNode(' 秒')
  753. ]),
  754. createVNode(
  755. 'div',
  756. { class: styles$7.FlipClock },
  757. [
  758. createVNode(
  759. 'div',
  760. { class: styles$7.numberWrap },
  761. [
  762. createVNode(
  763. Flipper,
  764. { ref: r },
  765. null
  766. ),
  767. createVNode(Flipper, { ref: a }, null)
  768. ]
  769. )
  770. ]
  771. )
  772. ]
  773. )
  774. ]
  775. ),
  776. createVNode('div', { class: styles$7.nowTimerWrap }, [
  777. dayjs(n.value).format('YYYY年MM月DD日 HH:mm:ss')
  778. ])
  779. ])
  780. ]),
  781. createVNode(
  782. NSpace,
  783. { class: styles$7.btnGroupModal, justify: 'center' },
  784. {
  785. default: () => [
  786. createVNode(
  787. NButton,
  788. {
  789. round: !0,
  790. onClick: () => (
  791. c(),
  792. (o.value = 0),
  793. void setTimeout(() => {
  794. p();
  795. }, 600)
  796. )
  797. },
  798. { default: () => [createTextVNode('重置')] }
  799. ),
  800. l.value
  801. ? createVNode(
  802. NButton,
  803. {
  804. round: !0,
  805. type: 'primary',
  806. 'icon-placement': 'right',
  807. onClick: () => c()
  808. },
  809. {
  810. default: () =>
  811. createVNode(
  812. 'p',
  813. { class: styles$7.playText },
  814. [createTextVNode('暂停')]
  815. ),
  816. icon: () =>
  817. createVNode(
  818. NImage,
  819. {
  820. previewDisabled: !0,
  821. class: styles$7.palyIcon,
  822. src: suspend
  823. },
  824. null
  825. )
  826. }
  827. )
  828. : createVNode(
  829. NButton,
  830. {
  831. round: !0,
  832. type: 'primary',
  833. 'icon-placement': 'right',
  834. onClick: () => (
  835. (l.value = !0),
  836. void (i.value = setInterval(() => {
  837. const t = getSecond(o.value);
  838. o.value++;
  839. const e = getSecond(o.value);
  840. for (let r = 0; r < h.value.length; r++)
  841. t[r] !== e[r] &&
  842. h.value[r].value.flipDown(
  843. t[r],
  844. e[r]
  845. );
  846. }, 1e3))
  847. )
  848. },
  849. {
  850. default: () =>
  851. createVNode(
  852. 'p',
  853. { class: styles$7.playText },
  854. [createTextVNode('开始')]
  855. ),
  856. icon: () =>
  857. createVNode(
  858. NImage,
  859. {
  860. previewDisabled: !0,
  861. class: styles$7.palyIcon,
  862. src: playIcon
  863. },
  864. null
  865. )
  866. }
  867. )
  868. ]
  869. }
  870. )
  871. ])
  872. );
  873. }
  874. }),
  875. TimerMeter = exports(
  876. 'T',
  877. defineComponent({
  878. name: 'data-module',
  879. setup() {
  880. const t = ref('positive');
  881. useRoute();
  882. const e = e => {
  883. t.value = e;
  884. };
  885. return () =>
  886. createVNode('div', null, [
  887. createVNode('div', { class: styles$7.timerWrap }, [
  888. createVNode('div', { class: styles$7.timerTop }, [
  889. createVNode(
  890. 'div',
  891. {
  892. class: [
  893. styles$7.timerTopPane,
  894. 'positive' == t.value
  895. ? styles$7.timerTopPaneActive
  896. : ''
  897. ],
  898. onClick: () => {
  899. e('positive');
  900. }
  901. },
  902. [createTextVNode('正计时')]
  903. ),
  904. createVNode(
  905. 'div',
  906. {
  907. class: [
  908. styles$7.timerTopPane,
  909. 'countdown' == t.value
  910. ? styles$7.timerTopPaneActive
  911. : ''
  912. ],
  913. onClick: () => {
  914. e('countdown');
  915. }
  916. },
  917. [createTextVNode('倒计时')]
  918. )
  919. ]),
  920. 'positive' == t.value
  921. ? createVNode(Positive, null, null)
  922. : createVNode(Countdown, null, null)
  923. ])
  924. ]);
  925. }
  926. })
  927. ),
  928. downMove = '_downMove_137wx_1',
  929. downMoveBg = '_downMoveBg_137wx_9',
  930. dingPng = '_dingPng_137wx_16',
  931. closeAble = '_closeAble_137wx_25',
  932. submitAppBtn = '_submitAppBtn_137wx_53',
  933. styles$6 = {
  934. downMove: downMove,
  935. downMoveBg: downMoveBg,
  936. dingPng: dingPng,
  937. closeAble: closeAble,
  938. submitAppBtn: submitAppBtn
  939. },
  940. PlaceholderTone = exports(
  941. 'a',
  942. defineComponent({
  943. props: ['item'],
  944. emits: ['close'],
  945. name: 'placeholderTone',
  946. setup:
  947. (t, { emit: e }) =>
  948. () =>
  949. createVNode(Fragment, null, [
  950. createVNode('div', { class: styles$6.downMove }, [
  951. createVNode(
  952. 'img',
  953. { src: dingPng$1, class: styles$6.dingPng, alt: '' },
  954. null
  955. ),
  956. createVNode(
  957. 'img',
  958. { src: moveTop, class: styles$6.downMoveBg, alt: '' },
  959. null
  960. ),
  961. createVNode('h2', null, [createTextVNode('温馨提示')]),
  962. createVNode('p', null, [
  963. createTextVNode('调音器功能暂未开放,敬请期待!')
  964. ]),
  965. createVNode(
  966. NSpace,
  967. {
  968. style: { padding: '25px 0 0 0' },
  969. justify: 'center'
  970. },
  971. {
  972. default: () => [
  973. createVNode(
  974. NButton,
  975. mergeProps(
  976. { id: 'submitBtn' },
  977. {
  978. class: styles$6.submitAppBtn,
  979. round: !0,
  980. type: 'primary',
  981. onClick: () => {
  982. e('close');
  983. }
  984. }
  985. ),
  986. { default: () => [createTextVNode('我知道了')] }
  987. )
  988. ]
  989. }
  990. )
  991. ])
  992. ])
  993. })
  994. ),
  995. playContent = '_playContent_z3eb0_1',
  996. assignHomeworkClose = '_assignHomeworkClose_z3eb0_10',
  997. coursewarePlay = '_coursewarePlay_z3eb0_23',
  998. playModel = '_playModel_z3eb0_29',
  999. headerContainer = '_headerContainer_z3eb0_38',
  1000. backBtn = '_backBtn_z3eb0_58',
  1001. headRight = '_headRight_z3eb0_70',
  1002. rightBtn = '_rightBtn_z3eb0_79',
  1003. menu = '_menu_z3eb0_91',
  1004. tabsContent = '_tabsContent_z3eb0_102',
  1005. wraps = '_wraps_z3eb0_113',
  1006. itemDiv = '_itemDiv_z3eb0_120',
  1007. itemActive = '_itemActive_z3eb0_133',
  1008. acitveAnimation = '_acitveAnimation_z3eb0_136',
  1009. show = '_show_z3eb0_139',
  1010. hide$1 = '_hide_z3eb0_142',
  1011. rightFixedBtns = '_rightFixedBtns_z3eb0_155',
  1012. fullBtn = '_fullBtn_z3eb0_162',
  1013. point = '_point_z3eb0_167',
  1014. iconUp$1 = '_iconUp_z3eb0_177',
  1015. iconDown$1 = '_iconDown_z3eb0_178',
  1016. btnsDisabled = '_btnsDisabled_z3eb0_181',
  1017. loadWrap = '_loadWrap_z3eb0_211',
  1018. drawerContainer = '_drawerContainer_z3eb0_222',
  1019. cardContainer = '_cardContainer_z3eb0_225',
  1020. sectionAnimate$2 = '_sectionAnimate_z3eb0_261',
  1021. sectionAnimateUp = '_sectionAnimateUp_z3eb0_267',
  1022. switchDisplaySection = '_switchDisplaySection_z3eb0_273',
  1023. switchSpace = '_switchSpace_z3eb0_288',
  1024. btnItem = '_btnItem_z3eb0_291',
  1025. attendClassModal = '_attendClassModal_z3eb0_313',
  1026. modelAttendContent = '_modelAttendContent_z3eb0_337',
  1027. modelAttendBtnGroup = '_modelAttendBtnGroup_z3eb0_343',
  1028. trainClassModal = '_trainClassModal_z3eb0_351',
  1029. workContainer = '_workContainer_z3eb0_357',
  1030. toolboxImg = '_toolboxImg_z3eb0_364',
  1031. isDragIng = '_isDragIng_z3eb0_373',
  1032. toolClassImg = '_toolClassImg_z3eb0_377',
  1033. booxToolWrap = '_booxToolWrap_z3eb0_392',
  1034. booxToolItem = '_booxToolItem_z3eb0_403',
  1035. setTimeImage = '_setTimeImage_z3eb0_420',
  1036. beatImage = '_beatImage_z3eb0_426',
  1037. changePwdModal = '_changePwdModal_z3eb0_432',
  1038. imChatModal = '_imChatModal_z3eb0_435',
  1039. modeWrap = '_modeWrap_z3eb0_438',
  1040. showModalTone = '_showModalTone_z3eb0_443',
  1041. studentRemove$1 = '_studentRemove_z3eb0_446',
  1042. removeVisiable$1 = '_removeVisiable_z3eb0_458',
  1043. btnGroupModal$1 = '_btnGroupModal_z3eb0_476',
  1044. styles$5 = {
  1045. playContent: playContent,
  1046. assignHomeworkClose: assignHomeworkClose,
  1047. coursewarePlay: coursewarePlay,
  1048. playModel: playModel,
  1049. headerContainer: headerContainer,
  1050. backBtn: backBtn,
  1051. headRight: headRight,
  1052. rightBtn: rightBtn,
  1053. menu: menu,
  1054. tabsContent: tabsContent,
  1055. wraps: wraps,
  1056. itemDiv: itemDiv,
  1057. itemActive: itemActive,
  1058. acitveAnimation: acitveAnimation,
  1059. show: show,
  1060. hide: hide$1,
  1061. rightFixedBtns: rightFixedBtns,
  1062. fullBtn: fullBtn,
  1063. point: point,
  1064. iconUp: iconUp$1,
  1065. iconDown: iconDown$1,
  1066. btnsDisabled: btnsDisabled,
  1067. loadWrap: loadWrap,
  1068. drawerContainer: drawerContainer,
  1069. cardContainer: cardContainer,
  1070. sectionAnimate: sectionAnimate$2,
  1071. sectionAnimateUp: sectionAnimateUp,
  1072. switchDisplaySection: switchDisplaySection,
  1073. switchSpace: switchSpace,
  1074. btnItem: btnItem,
  1075. attendClassModal: attendClassModal,
  1076. modelAttendContent: modelAttendContent,
  1077. modelAttendBtnGroup: modelAttendBtnGroup,
  1078. trainClassModal: trainClassModal,
  1079. workContainer: workContainer,
  1080. toolboxImg: toolboxImg,
  1081. isDragIng: isDragIng,
  1082. toolClassImg: toolClassImg,
  1083. booxToolWrap: booxToolWrap,
  1084. booxToolItem: booxToolItem,
  1085. setTimeImage: setTimeImage,
  1086. beatImage: beatImage,
  1087. changePwdModal: changePwdModal,
  1088. imChatModal: imChatModal,
  1089. modeWrap: modeWrap,
  1090. showModalTone: showModalTone,
  1091. studentRemove: studentRemove$1,
  1092. removeVisiable: removeVisiable$1,
  1093. btnGroupModal: btnGroupModal$1
  1094. },
  1095. plyr = '',
  1096. musicScore = '_musicScore_6u588_1',
  1097. container = '_container_6u588_7',
  1098. musicModel = '_musicModel_6u588_15',
  1099. errorModel = '_errorModel_6u588_22',
  1100. startBtn = '_startBtn_6u588_34',
  1101. loading = '_loading_6u588_44',
  1102. skeletonWrap = '_skeletonWrap_6u588_50',
  1103. skeleton = '_skeleton_6u588_50',
  1104. styles$4 = {
  1105. musicScore: musicScore,
  1106. container: container,
  1107. musicModel: musicModel,
  1108. errorModel: errorModel,
  1109. startBtn: startBtn,
  1110. loading: loading,
  1111. skeletonWrap: skeletonWrap,
  1112. skeleton: skeleton
  1113. };
  1114. var inBrowser = 'undefined' != typeof window,
  1115. visibility;
  1116. function usePageVisibility() {
  1117. if (!visibility && ((visibility = ref('visible')), inBrowser)) {
  1118. const t = () => {
  1119. visibility.value = document.hidden ? 'hidden' : 'visible';
  1120. };
  1121. t(), window.addEventListener('visibilitychange', t);
  1122. }
  1123. return visibility;
  1124. }
  1125. const MusicScore = defineComponent({
  1126. name: 'musicScore',
  1127. props: {
  1128. music: { type: Object, default: () => ({}) },
  1129. activeModel: { type: Boolean },
  1130. activeStatus: { type: Boolean }
  1131. },
  1132. emits: ['setIframe'],
  1133. setup(t, { emit: e }) {
  1134. const r = useUserStore(),
  1135. a = ref(!1),
  1136. i = usePageVisibility();
  1137. watch(i, t => {
  1138. console.log('🚀 ~ value:', t), 'hidden' == t && (a.value = !1);
  1139. });
  1140. const s = ref(),
  1141. n = ref(!1),
  1142. o = ref(!1),
  1143. l = ref(!1),
  1144. h = `${
  1145. /(localhost|192)/.test(location.host)
  1146. ? 'https://test.lexiaoya.cn/instrument'
  1147. : location.origin + '/instrument'
  1148. }?showGuide=true&platform=pc&zoom=1.2&modelType=practise&id=${
  1149. t.music.content
  1150. }&Authorization=${r.getToken}`;
  1151. return (
  1152. watch(
  1153. () => t.music,
  1154. () => {
  1155. l.value ||
  1156. ((o.value = !1),
  1157. t.music.display &&
  1158. fetch(h)
  1159. .then(() => {
  1160. (l.value = !0), (o.value = !1);
  1161. })
  1162. .catch(() => {
  1163. o.value = !0;
  1164. }));
  1165. }
  1166. ),
  1167. watch(
  1168. () => t.activeModel,
  1169. () => {
  1170. s.value.contentWindow &&
  1171. t.activeStatus &&
  1172. s.value.contentWindow.postMessage(
  1173. {
  1174. api: 'attendClassBarStatus',
  1175. hideMenu: !t.activeModel
  1176. },
  1177. '*'
  1178. );
  1179. }
  1180. ),
  1181. () =>
  1182. createVNode('div', { class: styles$4.musicScore }, [
  1183. createVNode(
  1184. 'iframe',
  1185. {
  1186. ref: s,
  1187. onLoad: () => {
  1188. e('setIframe', s.value), (n.value = !0);
  1189. },
  1190. class: [styles$4.container, 'musicIframe'],
  1191. frameborder: '0',
  1192. src: h
  1193. },
  1194. null
  1195. ),
  1196. n.value &&
  1197. createVNode('div', { class: styles$4.skeletonWrap }, [
  1198. createVNode('div', null, [
  1199. createVNode(NSkeleton, { text: !0, repeat: 8 }, null)
  1200. ])
  1201. ])
  1202. ])
  1203. );
  1204. }
  1205. });
  1206. var lottie = { exports: {} };
  1207. (function (module, exports) {
  1208. var factory;
  1209. 'undefined' != typeof navigator &&
  1210. ((factory = function () {
  1211. var svgNS = 'http://www.w3.org/2000/svg',
  1212. locationHref = '',
  1213. _useWebWorker = !1,
  1214. initialDefaultFrame = -999999,
  1215. setWebWorker = function (t) {
  1216. _useWebWorker = !!t;
  1217. },
  1218. getWebWorker = function () {
  1219. return _useWebWorker;
  1220. },
  1221. setLocationHref = function (t) {
  1222. locationHref = t;
  1223. },
  1224. getLocationHref = function () {
  1225. return locationHref;
  1226. };
  1227. function createTag(t) {
  1228. return document.createElement(t);
  1229. }
  1230. function extendPrototype(t, e) {
  1231. var r,
  1232. a,
  1233. i = t.length;
  1234. for (r = 0; r < i; r += 1)
  1235. for (var s in (a = t[r].prototype))
  1236. Object.prototype.hasOwnProperty.call(a, s) &&
  1237. (e.prototype[s] = a[s]);
  1238. }
  1239. function getDescriptor(t, e) {
  1240. return Object.getOwnPropertyDescriptor(t, e);
  1241. }
  1242. function createProxyFunction(t) {
  1243. function e() {}
  1244. return (e.prototype = t), e;
  1245. }
  1246. var audioControllerFactory = (function () {
  1247. function t(t) {
  1248. (this.audios = []),
  1249. (this.audioFactory = t),
  1250. (this._volume = 1),
  1251. (this._isMuted = !1);
  1252. }
  1253. return (
  1254. (t.prototype = {
  1255. addAudio: function (t) {
  1256. this.audios.push(t);
  1257. },
  1258. pause: function () {
  1259. var t,
  1260. e = this.audios.length;
  1261. for (t = 0; t < e; t += 1) this.audios[t].pause();
  1262. },
  1263. resume: function () {
  1264. var t,
  1265. e = this.audios.length;
  1266. for (t = 0; t < e; t += 1) this.audios[t].resume();
  1267. },
  1268. setRate: function (t) {
  1269. var e,
  1270. r = this.audios.length;
  1271. for (e = 0; e < r; e += 1) this.audios[e].setRate(t);
  1272. },
  1273. createAudio: function (t) {
  1274. return this.audioFactory
  1275. ? this.audioFactory(t)
  1276. : window.Howl
  1277. ? new window.Howl({ src: [t] })
  1278. : {
  1279. isPlaying: !1,
  1280. play: function () {
  1281. this.isPlaying = !0;
  1282. },
  1283. seek: function () {
  1284. this.isPlaying = !1;
  1285. },
  1286. playing: function () {},
  1287. rate: function () {},
  1288. setVolume: function () {}
  1289. };
  1290. },
  1291. setAudioFactory: function (t) {
  1292. this.audioFactory = t;
  1293. },
  1294. setVolume: function (t) {
  1295. (this._volume = t), this._updateVolume();
  1296. },
  1297. mute: function () {
  1298. (this._isMuted = !0), this._updateVolume();
  1299. },
  1300. unmute: function () {
  1301. (this._isMuted = !1), this._updateVolume();
  1302. },
  1303. getVolume: function () {
  1304. return this._volume;
  1305. },
  1306. _updateVolume: function () {
  1307. var t,
  1308. e = this.audios.length;
  1309. for (t = 0; t < e; t += 1)
  1310. this.audios[t].volume(
  1311. this._volume * (this._isMuted ? 0 : 1)
  1312. );
  1313. }
  1314. }),
  1315. function () {
  1316. return new t();
  1317. }
  1318. );
  1319. })(),
  1320. createTypedArray = (function () {
  1321. function t(t, e) {
  1322. var r,
  1323. a = 0,
  1324. i = [];
  1325. switch (t) {
  1326. case 'int16':
  1327. case 'uint8c':
  1328. r = 1;
  1329. break;
  1330. default:
  1331. r = 1.1;
  1332. }
  1333. for (a = 0; a < e; a += 1) i.push(r);
  1334. return i;
  1335. }
  1336. return 'function' == typeof Uint8ClampedArray &&
  1337. 'function' == typeof Float32Array
  1338. ? function (e, r) {
  1339. return 'float32' === e
  1340. ? new Float32Array(r)
  1341. : 'int16' === e
  1342. ? new Int16Array(r)
  1343. : 'uint8c' === e
  1344. ? new Uint8ClampedArray(r)
  1345. : t(e, r);
  1346. }
  1347. : t;
  1348. })();
  1349. function createSizedArray(t) {
  1350. return Array.apply(null, { length: t });
  1351. }
  1352. function _typeof$6(t) {
  1353. return (
  1354. (_typeof$6 =
  1355. 'function' == typeof Symbol &&
  1356. 'symbol' == typeof Symbol.iterator
  1357. ? function (t) {
  1358. return typeof t;
  1359. }
  1360. : function (t) {
  1361. return t &&
  1362. 'function' == typeof Symbol &&
  1363. t.constructor === Symbol &&
  1364. t !== Symbol.prototype
  1365. ? 'symbol'
  1366. : typeof t;
  1367. }),
  1368. _typeof$6(t)
  1369. );
  1370. }
  1371. var subframeEnabled = !0,
  1372. expressionsPlugin = null,
  1373. expressionsInterfaces = null,
  1374. idPrefix$1 = '',
  1375. isSafari = /^((?!chrome|android).)*safari/i.test(
  1376. navigator.userAgent
  1377. ),
  1378. bmPow = Math.pow,
  1379. bmSqrt = Math.sqrt,
  1380. bmFloor = Math.floor,
  1381. bmMax = Math.max,
  1382. bmMin = Math.min,
  1383. BMMath = {};
  1384. !(function () {
  1385. var t,
  1386. e = [
  1387. 'abs',
  1388. 'acos',
  1389. 'acosh',
  1390. 'asin',
  1391. 'asinh',
  1392. 'atan',
  1393. 'atanh',
  1394. 'atan2',
  1395. 'ceil',
  1396. 'cbrt',
  1397. 'expm1',
  1398. 'clz32',
  1399. 'cos',
  1400. 'cosh',
  1401. 'exp',
  1402. 'floor',
  1403. 'fround',
  1404. 'hypot',
  1405. 'imul',
  1406. 'log',
  1407. 'log1p',
  1408. 'log2',
  1409. 'log10',
  1410. 'max',
  1411. 'min',
  1412. 'pow',
  1413. 'random',
  1414. 'round',
  1415. 'sign',
  1416. 'sin',
  1417. 'sinh',
  1418. 'sqrt',
  1419. 'tan',
  1420. 'tanh',
  1421. 'trunc',
  1422. 'E',
  1423. 'LN10',
  1424. 'LN2',
  1425. 'LOG10E',
  1426. 'LOG2E',
  1427. 'PI',
  1428. 'SQRT1_2',
  1429. 'SQRT2'
  1430. ],
  1431. r = e.length;
  1432. for (t = 0; t < r; t += 1) BMMath[e[t]] = Math[e[t]];
  1433. })(),
  1434. (BMMath.random = Math.random),
  1435. (BMMath.abs = function (t) {
  1436. if ('object' === _typeof$6(t) && t.length) {
  1437. var e,
  1438. r = createSizedArray(t.length),
  1439. a = t.length;
  1440. for (e = 0; e < a; e += 1) r[e] = Math.abs(t[e]);
  1441. return r;
  1442. }
  1443. return Math.abs(t);
  1444. });
  1445. var defaultCurveSegments = 150,
  1446. degToRads = Math.PI / 180,
  1447. roundCorner = 0.5519;
  1448. function styleDiv(t) {
  1449. (t.style.position = 'absolute'),
  1450. (t.style.top = 0),
  1451. (t.style.left = 0),
  1452. (t.style.display = 'block'),
  1453. (t.style.transformOrigin = '0 0'),
  1454. (t.style.webkitTransformOrigin = '0 0'),
  1455. (t.style.backfaceVisibility = 'visible'),
  1456. (t.style.webkitBackfaceVisibility = 'visible'),
  1457. (t.style.transformStyle = 'preserve-3d'),
  1458. (t.style.webkitTransformStyle = 'preserve-3d'),
  1459. (t.style.mozTransformStyle = 'preserve-3d');
  1460. }
  1461. function BMEnterFrameEvent(t, e, r, a) {
  1462. (this.type = t),
  1463. (this.currentTime = e),
  1464. (this.totalTime = r),
  1465. (this.direction = a < 0 ? -1 : 1);
  1466. }
  1467. function BMCompleteEvent(t, e) {
  1468. (this.type = t), (this.direction = e < 0 ? -1 : 1);
  1469. }
  1470. function BMCompleteLoopEvent(t, e, r, a) {
  1471. (this.type = t),
  1472. (this.currentLoop = r),
  1473. (this.totalLoops = e),
  1474. (this.direction = a < 0 ? -1 : 1);
  1475. }
  1476. function BMSegmentStartEvent(t, e, r) {
  1477. (this.type = t),
  1478. (this.firstFrame = e),
  1479. (this.totalFrames = r);
  1480. }
  1481. function BMDestroyEvent(t, e) {
  1482. (this.type = t), (this.target = e);
  1483. }
  1484. function BMRenderFrameErrorEvent(t, e) {
  1485. (this.type = 'renderFrameError'),
  1486. (this.nativeError = t),
  1487. (this.currentTime = e);
  1488. }
  1489. function BMConfigErrorEvent(t) {
  1490. (this.type = 'configError'), (this.nativeError = t);
  1491. }
  1492. var createElementID =
  1493. ((_count = 0),
  1494. function () {
  1495. return idPrefix$1 + '__lottie_element_' + (_count += 1);
  1496. }),
  1497. _count;
  1498. function HSVtoRGB(t, e, r) {
  1499. var a, i, s, n, o, l, h, p;
  1500. switch (
  1501. ((l = r * (1 - e)),
  1502. (h = r * (1 - (o = 6 * t - (n = Math.floor(6 * t))) * e)),
  1503. (p = r * (1 - (1 - o) * e)),
  1504. n % 6)
  1505. ) {
  1506. case 0:
  1507. (a = r), (i = p), (s = l);
  1508. break;
  1509. case 1:
  1510. (a = h), (i = r), (s = l);
  1511. break;
  1512. case 2:
  1513. (a = l), (i = r), (s = p);
  1514. break;
  1515. case 3:
  1516. (a = l), (i = h), (s = r);
  1517. break;
  1518. case 4:
  1519. (a = p), (i = l), (s = r);
  1520. break;
  1521. case 5:
  1522. (a = r), (i = l), (s = h);
  1523. }
  1524. return [a, i, s];
  1525. }
  1526. function RGBtoHSV(t, e, r) {
  1527. var a,
  1528. i = Math.max(t, e, r),
  1529. s = Math.min(t, e, r),
  1530. n = i - s,
  1531. o = 0 === i ? 0 : n / i,
  1532. l = i / 255;
  1533. switch (i) {
  1534. case s:
  1535. a = 0;
  1536. break;
  1537. case t:
  1538. (a = e - r + n * (e < r ? 6 : 0)), (a /= 6 * n);
  1539. break;
  1540. case e:
  1541. (a = r - t + 2 * n), (a /= 6 * n);
  1542. break;
  1543. case r:
  1544. (a = t - e + 4 * n), (a /= 6 * n);
  1545. }
  1546. return [a, o, l];
  1547. }
  1548. function addSaturationToRGB(t, e) {
  1549. var r = RGBtoHSV(255 * t[0], 255 * t[1], 255 * t[2]);
  1550. return (
  1551. (r[1] += e),
  1552. r[1] > 1 ? (r[1] = 1) : r[1] <= 0 && (r[1] = 0),
  1553. HSVtoRGB(r[0], r[1], r[2])
  1554. );
  1555. }
  1556. function addBrightnessToRGB(t, e) {
  1557. var r = RGBtoHSV(255 * t[0], 255 * t[1], 255 * t[2]);
  1558. return (
  1559. (r[2] += e),
  1560. r[2] > 1 ? (r[2] = 1) : r[2] < 0 && (r[2] = 0),
  1561. HSVtoRGB(r[0], r[1], r[2])
  1562. );
  1563. }
  1564. function addHueToRGB(t, e) {
  1565. var r = RGBtoHSV(255 * t[0], 255 * t[1], 255 * t[2]);
  1566. return (
  1567. (r[0] += e / 360),
  1568. r[0] > 1 ? (r[0] -= 1) : r[0] < 0 && (r[0] += 1),
  1569. HSVtoRGB(r[0], r[1], r[2])
  1570. );
  1571. }
  1572. var rgbToHex = (function () {
  1573. var t,
  1574. e,
  1575. r = [];
  1576. for (t = 0; t < 256; t += 1)
  1577. (e = t.toString(16)),
  1578. (r[t] = 1 === e.length ? '0' + e : e);
  1579. return function (t, e, a) {
  1580. return (
  1581. t < 0 && (t = 0),
  1582. e < 0 && (e = 0),
  1583. a < 0 && (a = 0),
  1584. '#' + r[t] + r[e] + r[a]
  1585. );
  1586. };
  1587. })(),
  1588. setSubframeEnabled = function (t) {
  1589. subframeEnabled = !!t;
  1590. },
  1591. getSubframeEnabled = function () {
  1592. return subframeEnabled;
  1593. },
  1594. setExpressionsPlugin = function (t) {
  1595. expressionsPlugin = t;
  1596. },
  1597. getExpressionsPlugin = function () {
  1598. return expressionsPlugin;
  1599. },
  1600. setExpressionInterfaces = function (t) {
  1601. expressionsInterfaces = t;
  1602. },
  1603. getExpressionInterfaces = function () {
  1604. return expressionsInterfaces;
  1605. },
  1606. setDefaultCurveSegments = function (t) {
  1607. defaultCurveSegments = t;
  1608. },
  1609. getDefaultCurveSegments = function () {
  1610. return defaultCurveSegments;
  1611. },
  1612. setIdPrefix = function (t) {
  1613. idPrefix$1 = t;
  1614. };
  1615. function createNS(t) {
  1616. return document.createElementNS(svgNS, t);
  1617. }
  1618. function _typeof$5(t) {
  1619. return (
  1620. (_typeof$5 =
  1621. 'function' == typeof Symbol &&
  1622. 'symbol' == typeof Symbol.iterator
  1623. ? function (t) {
  1624. return typeof t;
  1625. }
  1626. : function (t) {
  1627. return t &&
  1628. 'function' == typeof Symbol &&
  1629. t.constructor === Symbol &&
  1630. t !== Symbol.prototype
  1631. ? 'symbol'
  1632. : typeof t;
  1633. }),
  1634. _typeof$5(t)
  1635. );
  1636. }
  1637. var dataManager = (function () {
  1638. var t,
  1639. e,
  1640. r = 1,
  1641. a = [],
  1642. i = {
  1643. onmessage: function () {},
  1644. postMessage: function (e) {
  1645. t({ data: e });
  1646. }
  1647. },
  1648. s = {
  1649. postMessage: function (t) {
  1650. i.onmessage({ data: t });
  1651. }
  1652. };
  1653. function n() {
  1654. e ||
  1655. ((e = (function (e) {
  1656. if (window.Worker && window.Blob && getWebWorker()) {
  1657. var r = new Blob(
  1658. [
  1659. 'var _workerSelf = self; self.onmessage = ',
  1660. e.toString()
  1661. ],
  1662. { type: 'text/javascript' }
  1663. ),
  1664. a = URL.createObjectURL(r);
  1665. return new Worker(a);
  1666. }
  1667. return (t = e), i;
  1668. })(function (t) {
  1669. if (
  1670. (s.dataManager ||
  1671. (s.dataManager = (function () {
  1672. function t(i, s) {
  1673. var n,
  1674. o,
  1675. l,
  1676. h,
  1677. p,
  1678. d,
  1679. f = i.length;
  1680. for (o = 0; o < f; o += 1)
  1681. if ('ks' in (n = i[o]) && !n.completed) {
  1682. if (((n.completed = !0), n.hasMask)) {
  1683. var m = n.masksProperties;
  1684. for (h = m.length, l = 0; l < h; l += 1)
  1685. if (m[l].pt.k.i) a(m[l].pt.k);
  1686. else
  1687. for (
  1688. d = m[l].pt.k.length, p = 0;
  1689. p < d;
  1690. p += 1
  1691. )
  1692. m[l].pt.k[p].s &&
  1693. a(m[l].pt.k[p].s[0]),
  1694. m[l].pt.k[p].e &&
  1695. a(m[l].pt.k[p].e[0]);
  1696. }
  1697. 0 === n.ty
  1698. ? ((n.layers = e(n.refId, s)),
  1699. t(n.layers, s))
  1700. : 4 === n.ty
  1701. ? r(n.shapes)
  1702. : 5 === n.ty && c(n);
  1703. }
  1704. }
  1705. function e(t, e) {
  1706. var r = (function (t, e) {
  1707. for (var r = 0, a = e.length; r < a; ) {
  1708. if (e[r].id === t) return e[r];
  1709. r += 1;
  1710. }
  1711. return null;
  1712. })(t, e);
  1713. return r
  1714. ? r.layers.__used
  1715. ? JSON.parse(JSON.stringify(r.layers))
  1716. : ((r.layers.__used = !0), r.layers)
  1717. : null;
  1718. }
  1719. function r(t) {
  1720. var e, i, s;
  1721. for (e = t.length - 1; e >= 0; e -= 1)
  1722. if ('sh' === t[e].ty)
  1723. if (t[e].ks.k.i) a(t[e].ks.k);
  1724. else
  1725. for (
  1726. s = t[e].ks.k.length, i = 0;
  1727. i < s;
  1728. i += 1
  1729. )
  1730. t[e].ks.k[i].s &&
  1731. a(t[e].ks.k[i].s[0]),
  1732. t[e].ks.k[i].e &&
  1733. a(t[e].ks.k[i].e[0]);
  1734. else 'gr' === t[e].ty && r(t[e].it);
  1735. }
  1736. function a(t) {
  1737. var e,
  1738. r = t.i.length;
  1739. for (e = 0; e < r; e += 1)
  1740. (t.i[e][0] += t.v[e][0]),
  1741. (t.i[e][1] += t.v[e][1]),
  1742. (t.o[e][0] += t.v[e][0]),
  1743. (t.o[e][1] += t.v[e][1]);
  1744. }
  1745. function i(t, e) {
  1746. var r = e ? e.split('.') : [100, 100, 100];
  1747. return (
  1748. t[0] > r[0] ||
  1749. (!(r[0] > t[0]) &&
  1750. (t[1] > r[1] ||
  1751. (!(r[1] > t[1]) &&
  1752. (t[2] > r[2] ||
  1753. (!(r[2] > t[2]) && null)))))
  1754. );
  1755. }
  1756. var s,
  1757. n = (function () {
  1758. var t = [4, 4, 14];
  1759. function e(t) {
  1760. var e,
  1761. r,
  1762. a,
  1763. i = t.length;
  1764. for (e = 0; e < i; e += 1)
  1765. 5 === t[e].ty &&
  1766. ((a = void 0),
  1767. (a = (r = t[e]).t.d),
  1768. (r.t.d = { k: [{ s: a, t: 0 }] }));
  1769. }
  1770. return function (r) {
  1771. if (
  1772. i(t, r.v) &&
  1773. (e(r.layers), r.assets)
  1774. ) {
  1775. var a,
  1776. s = r.assets.length;
  1777. for (a = 0; a < s; a += 1)
  1778. r.assets[a].layers &&
  1779. e(r.assets[a].layers);
  1780. }
  1781. };
  1782. })(),
  1783. o =
  1784. ((s = [4, 7, 99]),
  1785. function (t) {
  1786. if (t.chars && !i(s, t.v)) {
  1787. var e,
  1788. a = t.chars.length;
  1789. for (e = 0; e < a; e += 1) {
  1790. var n = t.chars[e];
  1791. n.data &&
  1792. n.data.shapes &&
  1793. (r(n.data.shapes),
  1794. (n.data.ip = 0),
  1795. (n.data.op = 99999),
  1796. (n.data.st = 0),
  1797. (n.data.sr = 1),
  1798. (n.data.ks = {
  1799. p: { k: [0, 0], a: 0 },
  1800. s: { k: [100, 100], a: 0 },
  1801. a: { k: [0, 0], a: 0 },
  1802. r: { k: 0, a: 0 },
  1803. o: { k: 100, a: 0 }
  1804. }),
  1805. t.chars[e].t ||
  1806. (n.data.shapes.push({ ty: 'no' }),
  1807. n.data.shapes[0].it.push({
  1808. p: { k: [0, 0], a: 0 },
  1809. s: { k: [100, 100], a: 0 },
  1810. a: { k: [0, 0], a: 0 },
  1811. r: { k: 0, a: 0 },
  1812. o: { k: 100, a: 0 },
  1813. sk: { k: 0, a: 0 },
  1814. sa: { k: 0, a: 0 },
  1815. ty: 'tr'
  1816. })));
  1817. }
  1818. }
  1819. }),
  1820. l = (function () {
  1821. var t = [5, 7, 15];
  1822. function e(t) {
  1823. var e,
  1824. r,
  1825. a = t.length;
  1826. for (e = 0; e < a; e += 1)
  1827. 5 === t[e].ty &&
  1828. ((r = void 0),
  1829. 'number' == typeof (r = t[e].t.p).a &&
  1830. (r.a = { a: 0, k: r.a }),
  1831. 'number' == typeof r.p &&
  1832. (r.p = { a: 0, k: r.p }),
  1833. 'number' == typeof r.r &&
  1834. (r.r = { a: 0, k: r.r }));
  1835. }
  1836. return function (r) {
  1837. if (
  1838. i(t, r.v) &&
  1839. (e(r.layers), r.assets)
  1840. ) {
  1841. var a,
  1842. s = r.assets.length;
  1843. for (a = 0; a < s; a += 1)
  1844. r.assets[a].layers &&
  1845. e(r.assets[a].layers);
  1846. }
  1847. };
  1848. })(),
  1849. h = (function () {
  1850. var t = [4, 1, 9];
  1851. function e(t) {
  1852. var r,
  1853. a,
  1854. i,
  1855. s = t.length;
  1856. for (r = 0; r < s; r += 1)
  1857. if ('gr' === t[r].ty) e(t[r].it);
  1858. else if (
  1859. 'fl' === t[r].ty ||
  1860. 'st' === t[r].ty
  1861. )
  1862. if (t[r].c.k && t[r].c.k[0].i)
  1863. for (
  1864. i = t[r].c.k.length, a = 0;
  1865. a < i;
  1866. a += 1
  1867. )
  1868. t[r].c.k[a].s &&
  1869. ((t[r].c.k[a].s[0] /= 255),
  1870. (t[r].c.k[a].s[1] /= 255),
  1871. (t[r].c.k[a].s[2] /= 255),
  1872. (t[r].c.k[a].s[3] /= 255)),
  1873. t[r].c.k[a].e &&
  1874. ((t[r].c.k[a].e[0] /= 255),
  1875. (t[r].c.k[a].e[1] /= 255),
  1876. (t[r].c.k[a].e[2] /= 255),
  1877. (t[r].c.k[a].e[3] /= 255));
  1878. else
  1879. (t[r].c.k[0] /= 255),
  1880. (t[r].c.k[1] /= 255),
  1881. (t[r].c.k[2] /= 255),
  1882. (t[r].c.k[3] /= 255);
  1883. }
  1884. function r(t) {
  1885. var r,
  1886. a = t.length;
  1887. for (r = 0; r < a; r += 1)
  1888. 4 === t[r].ty && e(t[r].shapes);
  1889. }
  1890. return function (e) {
  1891. if (
  1892. i(t, e.v) &&
  1893. (r(e.layers), e.assets)
  1894. ) {
  1895. var a,
  1896. s = e.assets.length;
  1897. for (a = 0; a < s; a += 1)
  1898. e.assets[a].layers &&
  1899. r(e.assets[a].layers);
  1900. }
  1901. };
  1902. })(),
  1903. p = (function () {
  1904. var t = [4, 4, 18];
  1905. function e(t) {
  1906. var r, a, i;
  1907. for (r = t.length - 1; r >= 0; r -= 1)
  1908. if ('sh' === t[r].ty)
  1909. if (t[r].ks.k.i)
  1910. t[r].ks.k.c = t[r].closed;
  1911. else
  1912. for (
  1913. i = t[r].ks.k.length, a = 0;
  1914. a < i;
  1915. a += 1
  1916. )
  1917. t[r].ks.k[a].s &&
  1918. (t[r].ks.k[a].s[0].c =
  1919. t[r].closed),
  1920. t[r].ks.k[a].e &&
  1921. (t[r].ks.k[a].e[0].c =
  1922. t[r].closed);
  1923. else 'gr' === t[r].ty && e(t[r].it);
  1924. }
  1925. function r(t) {
  1926. var r,
  1927. a,
  1928. i,
  1929. s,
  1930. n,
  1931. o,
  1932. l = t.length;
  1933. for (a = 0; a < l; a += 1) {
  1934. if ((r = t[a]).hasMask) {
  1935. var h = r.masksProperties;
  1936. for (
  1937. s = h.length, i = 0;
  1938. i < s;
  1939. i += 1
  1940. )
  1941. if (h[i].pt.k.i)
  1942. h[i].pt.k.c = h[i].cl;
  1943. else
  1944. for (
  1945. o = h[i].pt.k.length, n = 0;
  1946. n < o;
  1947. n += 1
  1948. )
  1949. h[i].pt.k[n].s &&
  1950. (h[i].pt.k[n].s[0].c =
  1951. h[i].cl),
  1952. h[i].pt.k[n].e &&
  1953. (h[i].pt.k[n].e[0].c =
  1954. h[i].cl);
  1955. }
  1956. 4 === r.ty && e(r.shapes);
  1957. }
  1958. }
  1959. return function (e) {
  1960. if (
  1961. i(t, e.v) &&
  1962. (r(e.layers), e.assets)
  1963. ) {
  1964. var a,
  1965. s = e.assets.length;
  1966. for (a = 0; a < s; a += 1)
  1967. e.assets[a].layers &&
  1968. r(e.assets[a].layers);
  1969. }
  1970. };
  1971. })();
  1972. function c(t) {
  1973. 0 === t.t.a.length && t.t.p;
  1974. }
  1975. var d = {
  1976. completeData: function (r) {
  1977. r.__complete ||
  1978. (h(r),
  1979. n(r),
  1980. o(r),
  1981. l(r),
  1982. p(r),
  1983. t(r.layers, r.assets),
  1984. (function (r, a) {
  1985. if (r) {
  1986. var i = 0,
  1987. s = r.length;
  1988. for (i = 0; i < s; i += 1)
  1989. 1 === r[i].t &&
  1990. ((r[i].data.layers = e(
  1991. r[i].data.refId,
  1992. a
  1993. )),
  1994. t(r[i].data.layers, a));
  1995. }
  1996. })(r.chars, r.assets),
  1997. (r.__complete = !0));
  1998. }
  1999. };
  2000. return (
  2001. (d.checkColors = h),
  2002. (d.checkChars = o),
  2003. (d.checkPathProperties = l),
  2004. (d.checkShapes = p),
  2005. (d.completeLayers = t),
  2006. d
  2007. );
  2008. })()),
  2009. s.assetLoader ||
  2010. (s.assetLoader = (function () {
  2011. function t(t) {
  2012. var e = t.getResponseHeader('content-type');
  2013. return (e &&
  2014. 'json' === t.responseType &&
  2015. -1 !== e.indexOf('json')) ||
  2016. (t.response &&
  2017. 'object' === _typeof$5(t.response))
  2018. ? t.response
  2019. : t.response &&
  2020. 'string' == typeof t.response
  2021. ? JSON.parse(t.response)
  2022. : t.responseText
  2023. ? JSON.parse(t.responseText)
  2024. : null;
  2025. }
  2026. return {
  2027. load: function (e, r, a, i) {
  2028. var s,
  2029. n = new XMLHttpRequest();
  2030. try {
  2031. n.responseType = 'json';
  2032. } catch (o) {}
  2033. n.onreadystatechange = function () {
  2034. if (4 === n.readyState)
  2035. if (200 === n.status) (s = t(n)), a(s);
  2036. else
  2037. try {
  2038. (s = t(n)), a(s);
  2039. } catch (o) {
  2040. i && i(o);
  2041. }
  2042. };
  2043. try {
  2044. n.open(['G', 'E', 'T'].join(''), e, !0);
  2045. } catch (l) {
  2046. n.open(
  2047. ['G', 'E', 'T'].join(''),
  2048. r + '/' + e,
  2049. !0
  2050. );
  2051. }
  2052. n.send();
  2053. }
  2054. };
  2055. })()),
  2056. 'loadAnimation' === t.data.type)
  2057. )
  2058. s.assetLoader.load(
  2059. t.data.path,
  2060. t.data.fullPath,
  2061. function (e) {
  2062. s.dataManager.completeData(e),
  2063. s.postMessage({
  2064. id: t.data.id,
  2065. payload: e,
  2066. status: 'success'
  2067. });
  2068. },
  2069. function () {
  2070. s.postMessage({
  2071. id: t.data.id,
  2072. status: 'error'
  2073. });
  2074. }
  2075. );
  2076. else if ('complete' === t.data.type) {
  2077. var e = t.data.animation;
  2078. s.dataManager.completeData(e),
  2079. s.postMessage({
  2080. id: t.data.id,
  2081. payload: e,
  2082. status: 'success'
  2083. });
  2084. } else
  2085. 'loadData' === t.data.type &&
  2086. s.assetLoader.load(
  2087. t.data.path,
  2088. t.data.fullPath,
  2089. function (e) {
  2090. s.postMessage({
  2091. id: t.data.id,
  2092. payload: e,
  2093. status: 'success'
  2094. });
  2095. },
  2096. function () {
  2097. s.postMessage({
  2098. id: t.data.id,
  2099. status: 'error'
  2100. });
  2101. }
  2102. );
  2103. })),
  2104. (e.onmessage = function (t) {
  2105. var e = t.data,
  2106. r = e.id,
  2107. i = a[r];
  2108. (a[r] = null),
  2109. 'success' === e.status
  2110. ? i.onComplete(e.payload)
  2111. : i.onError && i.onError();
  2112. }));
  2113. }
  2114. function o(t, e) {
  2115. var i = 'processId_' + (r += 1);
  2116. return (a[i] = { onComplete: t, onError: e }), i;
  2117. }
  2118. return {
  2119. loadAnimation: function (t, r, a) {
  2120. n();
  2121. var i = o(r, a);
  2122. e.postMessage({
  2123. type: 'loadAnimation',
  2124. path: t,
  2125. fullPath:
  2126. window.location.origin + window.location.pathname,
  2127. id: i
  2128. });
  2129. },
  2130. loadData: function (t, r, a) {
  2131. n();
  2132. var i = o(r, a);
  2133. e.postMessage({
  2134. type: 'loadData',
  2135. path: t,
  2136. fullPath:
  2137. window.location.origin + window.location.pathname,
  2138. id: i
  2139. });
  2140. },
  2141. completeAnimation: function (t, r, a) {
  2142. n();
  2143. var i = o(r, a);
  2144. e.postMessage({
  2145. type: 'complete',
  2146. animation: t,
  2147. id: i
  2148. });
  2149. }
  2150. };
  2151. })(),
  2152. ImagePreloader = (function () {
  2153. var t = (function () {
  2154. var t = createTag('canvas');
  2155. (t.width = 1), (t.height = 1);
  2156. var e = t.getContext('2d');
  2157. return (
  2158. (e.fillStyle = 'rgba(0,0,0,0)'),
  2159. e.fillRect(0, 0, 1, 1),
  2160. t
  2161. );
  2162. })();
  2163. function e() {
  2164. (this.loadedAssets += 1),
  2165. this.loadedAssets === this.totalImages &&
  2166. this.loadedFootagesCount === this.totalFootages &&
  2167. this.imagesLoadedCb &&
  2168. this.imagesLoadedCb(null);
  2169. }
  2170. function r() {
  2171. (this.loadedFootagesCount += 1),
  2172. this.loadedAssets === this.totalImages &&
  2173. this.loadedFootagesCount === this.totalFootages &&
  2174. this.imagesLoadedCb &&
  2175. this.imagesLoadedCb(null);
  2176. }
  2177. function a(t, e, r) {
  2178. var a = '';
  2179. if (t.e) a = t.p;
  2180. else if (e) {
  2181. var i = t.p;
  2182. -1 !== i.indexOf('images/') && (i = i.split('/')[1]),
  2183. (a = e + i);
  2184. } else (a = r), (a += t.u ? t.u : ''), (a += t.p);
  2185. return a;
  2186. }
  2187. function i(t) {
  2188. var e = 0,
  2189. r = setInterval(
  2190. function () {
  2191. (t.getBBox().width || e > 500) &&
  2192. (this._imageLoaded(), clearInterval(r)),
  2193. (e += 1);
  2194. }.bind(this),
  2195. 50
  2196. );
  2197. }
  2198. function s(t) {
  2199. var e = { assetData: t },
  2200. r = a(t, this.assetsPath, this.path);
  2201. return (
  2202. dataManager.loadData(
  2203. r,
  2204. function (t) {
  2205. (e.img = t), this._footageLoaded();
  2206. }.bind(this),
  2207. function () {
  2208. (e.img = {}), this._footageLoaded();
  2209. }.bind(this)
  2210. ),
  2211. e
  2212. );
  2213. }
  2214. function n() {
  2215. (this._imageLoaded = e.bind(this)),
  2216. (this._footageLoaded = r.bind(this)),
  2217. (this.testImageLoaded = i.bind(this)),
  2218. (this.createFootageData = s.bind(this)),
  2219. (this.assetsPath = ''),
  2220. (this.path = ''),
  2221. (this.totalImages = 0),
  2222. (this.totalFootages = 0),
  2223. (this.loadedAssets = 0),
  2224. (this.loadedFootagesCount = 0),
  2225. (this.imagesLoadedCb = null),
  2226. (this.images = []);
  2227. }
  2228. return (
  2229. (n.prototype = {
  2230. loadAssets: function (t, e) {
  2231. var r;
  2232. this.imagesLoadedCb = e;
  2233. var a = t.length;
  2234. for (r = 0; r < a; r += 1)
  2235. t[r].layers ||
  2236. (t[r].t && 'seq' !== t[r].t
  2237. ? 3 === t[r].t &&
  2238. ((this.totalFootages += 1),
  2239. this.images.push(
  2240. this.createFootageData(t[r])
  2241. ))
  2242. : ((this.totalImages += 1),
  2243. this.images.push(
  2244. this._createImageData(t[r])
  2245. )));
  2246. },
  2247. setAssetsPath: function (t) {
  2248. this.assetsPath = t || '';
  2249. },
  2250. setPath: function (t) {
  2251. this.path = t || '';
  2252. },
  2253. loadedImages: function () {
  2254. return this.totalImages === this.loadedAssets;
  2255. },
  2256. loadedFootages: function () {
  2257. return (
  2258. this.totalFootages === this.loadedFootagesCount
  2259. );
  2260. },
  2261. destroy: function () {
  2262. (this.imagesLoadedCb = null),
  2263. (this.images.length = 0);
  2264. },
  2265. getAsset: function (t) {
  2266. for (var e = 0, r = this.images.length; e < r; ) {
  2267. if (this.images[e].assetData === t)
  2268. return this.images[e].img;
  2269. e += 1;
  2270. }
  2271. return null;
  2272. },
  2273. createImgData: function (e) {
  2274. var r = a(e, this.assetsPath, this.path),
  2275. i = createTag('img');
  2276. (i.crossOrigin = 'anonymous'),
  2277. i.addEventListener('load', this._imageLoaded, !1),
  2278. i.addEventListener(
  2279. 'error',
  2280. function () {
  2281. (s.img = t), this._imageLoaded();
  2282. }.bind(this),
  2283. !1
  2284. ),
  2285. (i.src = r);
  2286. var s = { img: i, assetData: e };
  2287. return s;
  2288. },
  2289. createImageData: function (e) {
  2290. var r = a(e, this.assetsPath, this.path),
  2291. i = createNS('image');
  2292. isSafari
  2293. ? this.testImageLoaded(i)
  2294. : i.addEventListener('load', this._imageLoaded, !1),
  2295. i.addEventListener(
  2296. 'error',
  2297. function () {
  2298. (s.img = t), this._imageLoaded();
  2299. }.bind(this),
  2300. !1
  2301. ),
  2302. i.setAttributeNS(
  2303. 'http://www.w3.org/1999/xlink',
  2304. 'href',
  2305. r
  2306. ),
  2307. this._elementHelper.append
  2308. ? this._elementHelper.append(i)
  2309. : this._elementHelper.appendChild(i);
  2310. var s = { img: i, assetData: e };
  2311. return s;
  2312. },
  2313. imageLoaded: e,
  2314. footageLoaded: r,
  2315. setCacheType: function (t, e) {
  2316. 'svg' === t
  2317. ? ((this._elementHelper = e),
  2318. (this._createImageData =
  2319. this.createImageData.bind(this)))
  2320. : (this._createImageData =
  2321. this.createImgData.bind(this));
  2322. }
  2323. }),
  2324. n
  2325. );
  2326. })();
  2327. function BaseEvent() {}
  2328. BaseEvent.prototype = {
  2329. triggerEvent: function (t, e) {
  2330. if (this._cbs[t])
  2331. for (var r = this._cbs[t], a = 0; a < r.length; a += 1)
  2332. r[a](e);
  2333. },
  2334. addEventListener: function (t, e) {
  2335. return (
  2336. this._cbs[t] || (this._cbs[t] = []),
  2337. this._cbs[t].push(e),
  2338. function () {
  2339. this.removeEventListener(t, e);
  2340. }.bind(this)
  2341. );
  2342. },
  2343. removeEventListener: function (t, e) {
  2344. if (e) {
  2345. if (this._cbs[t]) {
  2346. for (var r = 0, a = this._cbs[t].length; r < a; )
  2347. this._cbs[t][r] === e &&
  2348. (this._cbs[t].splice(r, 1), (r -= 1), (a -= 1)),
  2349. (r += 1);
  2350. this._cbs[t].length || (this._cbs[t] = null);
  2351. }
  2352. } else this._cbs[t] = null;
  2353. }
  2354. };
  2355. var markerParser = (function () {
  2356. function t(t) {
  2357. for (
  2358. var e, r = t.split('\r\n'), a = {}, i = 0, s = 0;
  2359. s < r.length;
  2360. s += 1
  2361. )
  2362. 2 === (e = r[s].split(':')).length &&
  2363. ((a[e[0]] = e[1].trim()), (i += 1));
  2364. if (0 === i) throw new Error();
  2365. return a;
  2366. }
  2367. return function (e) {
  2368. for (var r = [], a = 0; a < e.length; a += 1) {
  2369. var i = e[a],
  2370. s = { time: i.tm, duration: i.dr };
  2371. try {
  2372. s.payload = JSON.parse(e[a].cm);
  2373. } catch (n) {
  2374. try {
  2375. s.payload = t(e[a].cm);
  2376. } catch (o) {
  2377. s.payload = { name: e[a].cm };
  2378. }
  2379. }
  2380. r.push(s);
  2381. }
  2382. return r;
  2383. };
  2384. })(),
  2385. ProjectInterface = (function () {
  2386. function t(t) {
  2387. this.compositions.push(t);
  2388. }
  2389. return function () {
  2390. function e(t) {
  2391. for (var e = 0, r = this.compositions.length; e < r; ) {
  2392. if (
  2393. this.compositions[e].data &&
  2394. this.compositions[e].data.nm === t
  2395. )
  2396. return (
  2397. this.compositions[e].prepareFrame &&
  2398. this.compositions[e].data.xt &&
  2399. this.compositions[e].prepareFrame(
  2400. this.currentFrame
  2401. ),
  2402. this.compositions[e].compInterface
  2403. );
  2404. e += 1;
  2405. }
  2406. return null;
  2407. }
  2408. return (
  2409. (e.compositions = []),
  2410. (e.currentFrame = 0),
  2411. (e.registerComposition = t),
  2412. e
  2413. );
  2414. };
  2415. })(),
  2416. renderers = {},
  2417. registerRenderer = function (t, e) {
  2418. renderers[t] = e;
  2419. };
  2420. function getRenderer(t) {
  2421. return renderers[t];
  2422. }
  2423. function getRegisteredRenderer() {
  2424. if (renderers.canvas) return 'canvas';
  2425. for (var t in renderers) if (renderers[t]) return t;
  2426. return '';
  2427. }
  2428. function _typeof$4(t) {
  2429. return (
  2430. (_typeof$4 =
  2431. 'function' == typeof Symbol &&
  2432. 'symbol' == typeof Symbol.iterator
  2433. ? function (t) {
  2434. return typeof t;
  2435. }
  2436. : function (t) {
  2437. return t &&
  2438. 'function' == typeof Symbol &&
  2439. t.constructor === Symbol &&
  2440. t !== Symbol.prototype
  2441. ? 'symbol'
  2442. : typeof t;
  2443. }),
  2444. _typeof$4(t)
  2445. );
  2446. }
  2447. var AnimationItem = function () {
  2448. (this._cbs = []),
  2449. (this.name = ''),
  2450. (this.path = ''),
  2451. (this.isLoaded = !1),
  2452. (this.currentFrame = 0),
  2453. (this.currentRawFrame = 0),
  2454. (this.firstFrame = 0),
  2455. (this.totalFrames = 0),
  2456. (this.frameRate = 0),
  2457. (this.frameMult = 0),
  2458. (this.playSpeed = 1),
  2459. (this.playDirection = 1),
  2460. (this.playCount = 0),
  2461. (this.animationData = {}),
  2462. (this.assets = []),
  2463. (this.isPaused = !0),
  2464. (this.autoplay = !1),
  2465. (this.loop = !0),
  2466. (this.renderer = null),
  2467. (this.animationID = createElementID()),
  2468. (this.assetsPath = ''),
  2469. (this.timeCompleted = 0),
  2470. (this.segmentPos = 0),
  2471. (this.isSubframeEnabled = getSubframeEnabled()),
  2472. (this.segments = []),
  2473. (this._idle = !0),
  2474. (this._completedLoop = !1),
  2475. (this.projectInterface = ProjectInterface()),
  2476. (this.imagePreloader = new ImagePreloader()),
  2477. (this.audioController = audioControllerFactory()),
  2478. (this.markers = []),
  2479. (this.configAnimation = this.configAnimation.bind(this)),
  2480. (this.onSetupError = this.onSetupError.bind(this)),
  2481. (this.onSegmentComplete =
  2482. this.onSegmentComplete.bind(this)),
  2483. (this.drawnFrameEvent = new BMEnterFrameEvent(
  2484. 'drawnFrame',
  2485. 0,
  2486. 0,
  2487. 0
  2488. )),
  2489. (this.expressionsPlugin = getExpressionsPlugin());
  2490. };
  2491. extendPrototype([BaseEvent], AnimationItem),
  2492. (AnimationItem.prototype.setParams = function (t) {
  2493. (t.wrapper || t.container) &&
  2494. (this.wrapper = t.wrapper || t.container);
  2495. var e = 'svg';
  2496. t.animType
  2497. ? (e = t.animType)
  2498. : t.renderer && (e = t.renderer);
  2499. var r = getRenderer(e);
  2500. (this.renderer = new r(this, t.rendererSettings)),
  2501. this.imagePreloader.setCacheType(
  2502. e,
  2503. this.renderer.globalData.defs
  2504. ),
  2505. this.renderer.setProjectInterface(this.projectInterface),
  2506. (this.animType = e),
  2507. '' === t.loop ||
  2508. null === t.loop ||
  2509. void 0 === t.loop ||
  2510. !0 === t.loop
  2511. ? (this.loop = !0)
  2512. : !1 === t.loop
  2513. ? (this.loop = !1)
  2514. : (this.loop = parseInt(t.loop, 10)),
  2515. (this.autoplay = !('autoplay' in t) || t.autoplay),
  2516. (this.name = t.name ? t.name : ''),
  2517. (this.autoloadSegments =
  2518. !Object.prototype.hasOwnProperty.call(
  2519. t,
  2520. 'autoloadSegments'
  2521. ) || t.autoloadSegments),
  2522. (this.assetsPath = t.assetsPath),
  2523. (this.initialSegment = t.initialSegment),
  2524. t.audioFactory &&
  2525. this.audioController.setAudioFactory(t.audioFactory),
  2526. t.animationData
  2527. ? this.setupAnimation(t.animationData)
  2528. : t.path &&
  2529. (-1 !== t.path.lastIndexOf('\\')
  2530. ? (this.path = t.path.substr(
  2531. 0,
  2532. t.path.lastIndexOf('\\') + 1
  2533. ))
  2534. : (this.path = t.path.substr(
  2535. 0,
  2536. t.path.lastIndexOf('/') + 1
  2537. )),
  2538. (this.fileName = t.path.substr(
  2539. t.path.lastIndexOf('/') + 1
  2540. )),
  2541. (this.fileName = this.fileName.substr(
  2542. 0,
  2543. this.fileName.lastIndexOf('.json')
  2544. )),
  2545. dataManager.loadAnimation(
  2546. t.path,
  2547. this.configAnimation,
  2548. this.onSetupError
  2549. ));
  2550. }),
  2551. (AnimationItem.prototype.onSetupError = function () {
  2552. this.trigger('data_failed');
  2553. }),
  2554. (AnimationItem.prototype.setupAnimation = function (t) {
  2555. dataManager.completeAnimation(t, this.configAnimation);
  2556. }),
  2557. (AnimationItem.prototype.setData = function (t, e) {
  2558. e && 'object' !== _typeof$4(e) && (e = JSON.parse(e));
  2559. var r = { wrapper: t, animationData: e },
  2560. a = t.attributes;
  2561. (r.path = a.getNamedItem('data-animation-path')
  2562. ? a.getNamedItem('data-animation-path').value
  2563. : a.getNamedItem('data-bm-path')
  2564. ? a.getNamedItem('data-bm-path').value
  2565. : a.getNamedItem('bm-path')
  2566. ? a.getNamedItem('bm-path').value
  2567. : ''),
  2568. (r.animType = a.getNamedItem('data-anim-type')
  2569. ? a.getNamedItem('data-anim-type').value
  2570. : a.getNamedItem('data-bm-type')
  2571. ? a.getNamedItem('data-bm-type').value
  2572. : a.getNamedItem('bm-type')
  2573. ? a.getNamedItem('bm-type').value
  2574. : a.getNamedItem('data-bm-renderer')
  2575. ? a.getNamedItem('data-bm-renderer').value
  2576. : a.getNamedItem('bm-renderer')
  2577. ? a.getNamedItem('bm-renderer').value
  2578. : getRegisteredRenderer() || 'canvas');
  2579. var i = a.getNamedItem('data-anim-loop')
  2580. ? a.getNamedItem('data-anim-loop').value
  2581. : a.getNamedItem('data-bm-loop')
  2582. ? a.getNamedItem('data-bm-loop').value
  2583. : a.getNamedItem('bm-loop')
  2584. ? a.getNamedItem('bm-loop').value
  2585. : '';
  2586. 'false' === i
  2587. ? (r.loop = !1)
  2588. : 'true' === i
  2589. ? (r.loop = !0)
  2590. : '' !== i && (r.loop = parseInt(i, 10));
  2591. var s = a.getNamedItem('data-anim-autoplay')
  2592. ? a.getNamedItem('data-anim-autoplay').value
  2593. : a.getNamedItem('data-bm-autoplay')
  2594. ? a.getNamedItem('data-bm-autoplay').value
  2595. : !a.getNamedItem('bm-autoplay') ||
  2596. a.getNamedItem('bm-autoplay').value;
  2597. (r.autoplay = 'false' !== s),
  2598. (r.name = a.getNamedItem('data-name')
  2599. ? a.getNamedItem('data-name').value
  2600. : a.getNamedItem('data-bm-name')
  2601. ? a.getNamedItem('data-bm-name').value
  2602. : a.getNamedItem('bm-name')
  2603. ? a.getNamedItem('bm-name').value
  2604. : ''),
  2605. 'false' ===
  2606. (a.getNamedItem('data-anim-prerender')
  2607. ? a.getNamedItem('data-anim-prerender').value
  2608. : a.getNamedItem('data-bm-prerender')
  2609. ? a.getNamedItem('data-bm-prerender').value
  2610. : a.getNamedItem('bm-prerender')
  2611. ? a.getNamedItem('bm-prerender').value
  2612. : '') && (r.prerender = !1),
  2613. r.path ? this.setParams(r) : this.trigger('destroy');
  2614. }),
  2615. (AnimationItem.prototype.includeLayers = function (t) {
  2616. t.op > this.animationData.op &&
  2617. ((this.animationData.op = t.op),
  2618. (this.totalFrames = Math.floor(
  2619. t.op - this.animationData.ip
  2620. )));
  2621. var e,
  2622. r,
  2623. a = this.animationData.layers,
  2624. i = a.length,
  2625. s = t.layers,
  2626. n = s.length;
  2627. for (r = 0; r < n; r += 1)
  2628. for (e = 0; e < i; ) {
  2629. if (a[e].id === s[r].id) {
  2630. a[e] = s[r];
  2631. break;
  2632. }
  2633. e += 1;
  2634. }
  2635. if (
  2636. ((t.chars || t.fonts) &&
  2637. (this.renderer.globalData.fontManager.addChars(t.chars),
  2638. this.renderer.globalData.fontManager.addFonts(
  2639. t.fonts,
  2640. this.renderer.globalData.defs
  2641. )),
  2642. t.assets)
  2643. )
  2644. for (i = t.assets.length, e = 0; e < i; e += 1)
  2645. this.animationData.assets.push(t.assets[e]);
  2646. (this.animationData.__complete = !1),
  2647. dataManager.completeAnimation(
  2648. this.animationData,
  2649. this.onSegmentComplete
  2650. );
  2651. }),
  2652. (AnimationItem.prototype.onSegmentComplete = function (t) {
  2653. this.animationData = t;
  2654. var e = getExpressionsPlugin();
  2655. e && e.initExpressions(this), this.loadNextSegment();
  2656. }),
  2657. (AnimationItem.prototype.loadNextSegment = function () {
  2658. var t = this.animationData.segments;
  2659. if (!t || 0 === t.length || !this.autoloadSegments)
  2660. return (
  2661. this.trigger('data_ready'),
  2662. void (this.timeCompleted = this.totalFrames)
  2663. );
  2664. var e = t.shift();
  2665. this.timeCompleted = e.time * this.frameRate;
  2666. var r =
  2667. this.path +
  2668. this.fileName +
  2669. '_' +
  2670. this.segmentPos +
  2671. '.json';
  2672. (this.segmentPos += 1),
  2673. dataManager.loadData(
  2674. r,
  2675. this.includeLayers.bind(this),
  2676. function () {
  2677. this.trigger('data_failed');
  2678. }.bind(this)
  2679. );
  2680. }),
  2681. (AnimationItem.prototype.loadSegments = function () {
  2682. this.animationData.segments ||
  2683. (this.timeCompleted = this.totalFrames),
  2684. this.loadNextSegment();
  2685. }),
  2686. (AnimationItem.prototype.imagesLoaded = function () {
  2687. this.trigger('loaded_images'), this.checkLoaded();
  2688. }),
  2689. (AnimationItem.prototype.preloadImages = function () {
  2690. this.imagePreloader.setAssetsPath(this.assetsPath),
  2691. this.imagePreloader.setPath(this.path),
  2692. this.imagePreloader.loadAssets(
  2693. this.animationData.assets,
  2694. this.imagesLoaded.bind(this)
  2695. );
  2696. }),
  2697. (AnimationItem.prototype.configAnimation = function (t) {
  2698. if (this.renderer)
  2699. try {
  2700. (this.animationData = t),
  2701. this.initialSegment
  2702. ? ((this.totalFrames = Math.floor(
  2703. this.initialSegment[1] - this.initialSegment[0]
  2704. )),
  2705. (this.firstFrame = Math.round(
  2706. this.initialSegment[0]
  2707. )))
  2708. : ((this.totalFrames = Math.floor(
  2709. this.animationData.op - this.animationData.ip
  2710. )),
  2711. (this.firstFrame = Math.round(
  2712. this.animationData.ip
  2713. ))),
  2714. this.renderer.configAnimation(t),
  2715. t.assets || (t.assets = []),
  2716. (this.assets = this.animationData.assets),
  2717. (this.frameRate = this.animationData.fr),
  2718. (this.frameMult = this.animationData.fr / 1e3),
  2719. this.renderer.searchExtraCompositions(t.assets),
  2720. (this.markers = markerParser(t.markers || [])),
  2721. this.trigger('config_ready'),
  2722. this.preloadImages(),
  2723. this.loadSegments(),
  2724. this.updaFrameModifier(),
  2725. this.waitForFontsLoaded(),
  2726. this.isPaused && this.audioController.pause();
  2727. } catch (e) {
  2728. this.triggerConfigError(e);
  2729. }
  2730. }),
  2731. (AnimationItem.prototype.waitForFontsLoaded = function () {
  2732. this.renderer &&
  2733. (this.renderer.globalData.fontManager.isLoaded
  2734. ? this.checkLoaded()
  2735. : setTimeout(this.waitForFontsLoaded.bind(this), 20));
  2736. }),
  2737. (AnimationItem.prototype.checkLoaded = function () {
  2738. if (
  2739. !this.isLoaded &&
  2740. this.renderer.globalData.fontManager.isLoaded &&
  2741. (this.imagePreloader.loadedImages() ||
  2742. 'canvas' !== this.renderer.rendererType) &&
  2743. this.imagePreloader.loadedFootages()
  2744. ) {
  2745. this.isLoaded = !0;
  2746. var t = getExpressionsPlugin();
  2747. t && t.initExpressions(this),
  2748. this.renderer.initItems(),
  2749. setTimeout(
  2750. function () {
  2751. this.trigger('DOMLoaded');
  2752. }.bind(this),
  2753. 0
  2754. ),
  2755. this.gotoFrame(),
  2756. this.autoplay && this.play();
  2757. }
  2758. }),
  2759. (AnimationItem.prototype.resize = function (t, e) {
  2760. var r = 'number' == typeof t ? t : void 0,
  2761. a = 'number' == typeof e ? e : void 0;
  2762. this.renderer.updateContainerSize(r, a);
  2763. }),
  2764. (AnimationItem.prototype.setSubframe = function (t) {
  2765. this.isSubframeEnabled = !!t;
  2766. }),
  2767. (AnimationItem.prototype.gotoFrame = function () {
  2768. (this.currentFrame = this.isSubframeEnabled
  2769. ? this.currentRawFrame
  2770. : ~~this.currentRawFrame),
  2771. this.timeCompleted !== this.totalFrames &&
  2772. this.currentFrame > this.timeCompleted &&
  2773. (this.currentFrame = this.timeCompleted),
  2774. this.trigger('enterFrame'),
  2775. this.renderFrame(),
  2776. this.trigger('drawnFrame');
  2777. }),
  2778. (AnimationItem.prototype.renderFrame = function () {
  2779. if (!1 !== this.isLoaded && this.renderer)
  2780. try {
  2781. this.expressionsPlugin &&
  2782. this.expressionsPlugin.resetFrame(),
  2783. this.renderer.renderFrame(
  2784. this.currentFrame + this.firstFrame
  2785. );
  2786. } catch (t) {
  2787. this.triggerRenderFrameError(t);
  2788. }
  2789. }),
  2790. (AnimationItem.prototype.play = function (t) {
  2791. (t && this.name !== t) ||
  2792. (!0 === this.isPaused &&
  2793. ((this.isPaused = !1),
  2794. this.trigger('_play'),
  2795. this.audioController.resume(),
  2796. this._idle &&
  2797. ((this._idle = !1), this.trigger('_active'))));
  2798. }),
  2799. (AnimationItem.prototype.pause = function (t) {
  2800. (t && this.name !== t) ||
  2801. (!1 === this.isPaused &&
  2802. ((this.isPaused = !0),
  2803. this.trigger('_pause'),
  2804. (this._idle = !0),
  2805. this.trigger('_idle'),
  2806. this.audioController.pause()));
  2807. }),
  2808. (AnimationItem.prototype.togglePause = function (t) {
  2809. (t && this.name !== t) ||
  2810. (!0 === this.isPaused ? this.play() : this.pause());
  2811. }),
  2812. (AnimationItem.prototype.stop = function (t) {
  2813. (t && this.name !== t) ||
  2814. (this.pause(),
  2815. (this.playCount = 0),
  2816. (this._completedLoop = !1),
  2817. this.setCurrentRawFrameValue(0));
  2818. }),
  2819. (AnimationItem.prototype.getMarkerData = function (t) {
  2820. for (var e, r = 0; r < this.markers.length; r += 1)
  2821. if ((e = this.markers[r]).payload && e.payload.name === t)
  2822. return e;
  2823. return null;
  2824. }),
  2825. (AnimationItem.prototype.goToAndStop = function (t, e, r) {
  2826. if (!r || this.name === r) {
  2827. var a = Number(t);
  2828. if (isNaN(a)) {
  2829. var i = this.getMarkerData(t);
  2830. i && this.goToAndStop(i.time, !0);
  2831. } else
  2832. e
  2833. ? this.setCurrentRawFrameValue(t)
  2834. : this.setCurrentRawFrameValue(
  2835. t * this.frameModifier
  2836. );
  2837. this.pause();
  2838. }
  2839. }),
  2840. (AnimationItem.prototype.goToAndPlay = function (t, e, r) {
  2841. if (!r || this.name === r) {
  2842. var a = Number(t);
  2843. if (isNaN(a)) {
  2844. var i = this.getMarkerData(t);
  2845. i &&
  2846. (i.duration
  2847. ? this.playSegments(
  2848. [i.time, i.time + i.duration],
  2849. !0
  2850. )
  2851. : this.goToAndStop(i.time, !0));
  2852. } else this.goToAndStop(a, e, r);
  2853. this.play();
  2854. }
  2855. }),
  2856. (AnimationItem.prototype.advanceTime = function (t) {
  2857. if (!0 !== this.isPaused && !1 !== this.isLoaded) {
  2858. var e = this.currentRawFrame + t * this.frameModifier,
  2859. r = !1;
  2860. e >= this.totalFrames - 1 && this.frameModifier > 0
  2861. ? this.loop && this.playCount !== this.loop
  2862. ? e >= this.totalFrames
  2863. ? ((this.playCount += 1),
  2864. this.checkSegments(e % this.totalFrames) ||
  2865. (this.setCurrentRawFrameValue(
  2866. e % this.totalFrames
  2867. ),
  2868. (this._completedLoop = !0),
  2869. this.trigger('loopComplete')))
  2870. : this.setCurrentRawFrameValue(e)
  2871. : this.checkSegments(
  2872. e > this.totalFrames ? e % this.totalFrames : 0
  2873. ) || ((r = !0), (e = this.totalFrames - 1))
  2874. : e < 0
  2875. ? this.checkSegments(e % this.totalFrames) ||
  2876. (!this.loop ||
  2877. (this.playCount-- <= 0 && !0 !== this.loop)
  2878. ? ((r = !0), (e = 0))
  2879. : (this.setCurrentRawFrameValue(
  2880. this.totalFrames + (e % this.totalFrames)
  2881. ),
  2882. this._completedLoop
  2883. ? this.trigger('loopComplete')
  2884. : (this._completedLoop = !0)))
  2885. : this.setCurrentRawFrameValue(e),
  2886. r &&
  2887. (this.setCurrentRawFrameValue(e),
  2888. this.pause(),
  2889. this.trigger('complete'));
  2890. }
  2891. }),
  2892. (AnimationItem.prototype.adjustSegment = function (t, e) {
  2893. (this.playCount = 0),
  2894. t[1] < t[0]
  2895. ? (this.frameModifier > 0 &&
  2896. (this.playSpeed < 0
  2897. ? this.setSpeed(-this.playSpeed)
  2898. : this.setDirection(-1)),
  2899. (this.totalFrames = t[0] - t[1]),
  2900. (this.timeCompleted = this.totalFrames),
  2901. (this.firstFrame = t[1]),
  2902. this.setCurrentRawFrameValue(
  2903. this.totalFrames - 0.001 - e
  2904. ))
  2905. : t[1] > t[0] &&
  2906. (this.frameModifier < 0 &&
  2907. (this.playSpeed < 0
  2908. ? this.setSpeed(-this.playSpeed)
  2909. : this.setDirection(1)),
  2910. (this.totalFrames = t[1] - t[0]),
  2911. (this.timeCompleted = this.totalFrames),
  2912. (this.firstFrame = t[0]),
  2913. this.setCurrentRawFrameValue(0.001 + e)),
  2914. this.trigger('segmentStart');
  2915. }),
  2916. (AnimationItem.prototype.setSegment = function (t, e) {
  2917. var r = -1;
  2918. this.isPaused &&
  2919. (this.currentRawFrame + this.firstFrame < t
  2920. ? (r = t)
  2921. : this.currentRawFrame + this.firstFrame > e &&
  2922. (r = e - t)),
  2923. (this.firstFrame = t),
  2924. (this.totalFrames = e - t),
  2925. (this.timeCompleted = this.totalFrames),
  2926. -1 !== r && this.goToAndStop(r, !0);
  2927. }),
  2928. (AnimationItem.prototype.playSegments = function (t, e) {
  2929. if (
  2930. (e && (this.segments.length = 0),
  2931. 'object' === _typeof$4(t[0]))
  2932. ) {
  2933. var r,
  2934. a = t.length;
  2935. for (r = 0; r < a; r += 1) this.segments.push(t[r]);
  2936. } else this.segments.push(t);
  2937. this.segments.length &&
  2938. e &&
  2939. this.adjustSegment(this.segments.shift(), 0),
  2940. this.isPaused && this.play();
  2941. }),
  2942. (AnimationItem.prototype.resetSegments = function (t) {
  2943. (this.segments.length = 0),
  2944. this.segments.push([
  2945. this.animationData.ip,
  2946. this.animationData.op
  2947. ]),
  2948. t && this.checkSegments(0);
  2949. }),
  2950. (AnimationItem.prototype.checkSegments = function (t) {
  2951. return (
  2952. !!this.segments.length &&
  2953. (this.adjustSegment(this.segments.shift(), t), !0)
  2954. );
  2955. }),
  2956. (AnimationItem.prototype.destroy = function (t) {
  2957. (t && this.name !== t) ||
  2958. !this.renderer ||
  2959. (this.renderer.destroy(),
  2960. this.imagePreloader.destroy(),
  2961. this.trigger('destroy'),
  2962. (this._cbs = null),
  2963. (this.onEnterFrame = null),
  2964. (this.onLoopComplete = null),
  2965. (this.onComplete = null),
  2966. (this.onSegmentStart = null),
  2967. (this.onDestroy = null),
  2968. (this.renderer = null),
  2969. (this.expressionsPlugin = null),
  2970. (this.imagePreloader = null),
  2971. (this.projectInterface = null));
  2972. }),
  2973. (AnimationItem.prototype.setCurrentRawFrameValue = function (
  2974. t
  2975. ) {
  2976. (this.currentRawFrame = t), this.gotoFrame();
  2977. }),
  2978. (AnimationItem.prototype.setSpeed = function (t) {
  2979. (this.playSpeed = t), this.updaFrameModifier();
  2980. }),
  2981. (AnimationItem.prototype.setDirection = function (t) {
  2982. (this.playDirection = t < 0 ? -1 : 1),
  2983. this.updaFrameModifier();
  2984. }),
  2985. (AnimationItem.prototype.setLoop = function (t) {
  2986. this.loop = t;
  2987. }),
  2988. (AnimationItem.prototype.setVolume = function (t, e) {
  2989. (e && this.name !== e) || this.audioController.setVolume(t);
  2990. }),
  2991. (AnimationItem.prototype.getVolume = function () {
  2992. return this.audioController.getVolume();
  2993. }),
  2994. (AnimationItem.prototype.mute = function (t) {
  2995. (t && this.name !== t) || this.audioController.mute();
  2996. }),
  2997. (AnimationItem.prototype.unmute = function (t) {
  2998. (t && this.name !== t) || this.audioController.unmute();
  2999. }),
  3000. (AnimationItem.prototype.updaFrameModifier = function () {
  3001. (this.frameModifier =
  3002. this.frameMult * this.playSpeed * this.playDirection),
  3003. this.audioController.setRate(
  3004. this.playSpeed * this.playDirection
  3005. );
  3006. }),
  3007. (AnimationItem.prototype.getPath = function () {
  3008. return this.path;
  3009. }),
  3010. (AnimationItem.prototype.getAssetsPath = function (t) {
  3011. var e = '';
  3012. if (t.e) e = t.p;
  3013. else if (this.assetsPath) {
  3014. var r = t.p;
  3015. -1 !== r.indexOf('images/') && (r = r.split('/')[1]),
  3016. (e = this.assetsPath + r);
  3017. } else (e = this.path), (e += t.u ? t.u : ''), (e += t.p);
  3018. return e;
  3019. }),
  3020. (AnimationItem.prototype.getAssetData = function (t) {
  3021. for (var e = 0, r = this.assets.length; e < r; ) {
  3022. if (t === this.assets[e].id) return this.assets[e];
  3023. e += 1;
  3024. }
  3025. return null;
  3026. }),
  3027. (AnimationItem.prototype.hide = function () {
  3028. this.renderer.hide();
  3029. }),
  3030. (AnimationItem.prototype.show = function () {
  3031. this.renderer.show();
  3032. }),
  3033. (AnimationItem.prototype.getDuration = function (t) {
  3034. return t
  3035. ? this.totalFrames
  3036. : this.totalFrames / this.frameRate;
  3037. }),
  3038. (AnimationItem.prototype.updateDocumentData = function (
  3039. t,
  3040. e,
  3041. r
  3042. ) {
  3043. try {
  3044. this.renderer
  3045. .getElementByPath(t)
  3046. .updateDocumentData(e, r);
  3047. } catch (a) {}
  3048. }),
  3049. (AnimationItem.prototype.trigger = function (t) {
  3050. if (this._cbs && this._cbs[t])
  3051. switch (t) {
  3052. case 'enterFrame':
  3053. this.triggerEvent(
  3054. t,
  3055. new BMEnterFrameEvent(
  3056. t,
  3057. this.currentFrame,
  3058. this.totalFrames,
  3059. this.frameModifier
  3060. )
  3061. );
  3062. break;
  3063. case 'drawnFrame':
  3064. (this.drawnFrameEvent.currentTime =
  3065. this.currentFrame),
  3066. (this.drawnFrameEvent.totalTime = this.totalFrames),
  3067. (this.drawnFrameEvent.direction =
  3068. this.frameModifier),
  3069. this.triggerEvent(t, this.drawnFrameEvent);
  3070. break;
  3071. case 'loopComplete':
  3072. this.triggerEvent(
  3073. t,
  3074. new BMCompleteLoopEvent(
  3075. t,
  3076. this.loop,
  3077. this.playCount,
  3078. this.frameMult
  3079. )
  3080. );
  3081. break;
  3082. case 'complete':
  3083. this.triggerEvent(
  3084. t,
  3085. new BMCompleteEvent(t, this.frameMult)
  3086. );
  3087. break;
  3088. case 'segmentStart':
  3089. this.triggerEvent(
  3090. t,
  3091. new BMSegmentStartEvent(
  3092. t,
  3093. this.firstFrame,
  3094. this.totalFrames
  3095. )
  3096. );
  3097. break;
  3098. case 'destroy':
  3099. this.triggerEvent(t, new BMDestroyEvent(t, this));
  3100. break;
  3101. default:
  3102. this.triggerEvent(t);
  3103. }
  3104. 'enterFrame' === t &&
  3105. this.onEnterFrame &&
  3106. this.onEnterFrame.call(
  3107. this,
  3108. new BMEnterFrameEvent(
  3109. t,
  3110. this.currentFrame,
  3111. this.totalFrames,
  3112. this.frameMult
  3113. )
  3114. ),
  3115. 'loopComplete' === t &&
  3116. this.onLoopComplete &&
  3117. this.onLoopComplete.call(
  3118. this,
  3119. new BMCompleteLoopEvent(
  3120. t,
  3121. this.loop,
  3122. this.playCount,
  3123. this.frameMult
  3124. )
  3125. ),
  3126. 'complete' === t &&
  3127. this.onComplete &&
  3128. this.onComplete.call(
  3129. this,
  3130. new BMCompleteEvent(t, this.frameMult)
  3131. ),
  3132. 'segmentStart' === t &&
  3133. this.onSegmentStart &&
  3134. this.onSegmentStart.call(
  3135. this,
  3136. new BMSegmentStartEvent(
  3137. t,
  3138. this.firstFrame,
  3139. this.totalFrames
  3140. )
  3141. ),
  3142. 'destroy' === t &&
  3143. this.onDestroy &&
  3144. this.onDestroy.call(this, new BMDestroyEvent(t, this));
  3145. }),
  3146. (AnimationItem.prototype.triggerRenderFrameError = function (
  3147. t
  3148. ) {
  3149. var e = new BMRenderFrameErrorEvent(t, this.currentFrame);
  3150. this.triggerEvent('error', e),
  3151. this.onError && this.onError.call(this, e);
  3152. }),
  3153. (AnimationItem.prototype.triggerConfigError = function (t) {
  3154. var e = new BMConfigErrorEvent(t, this.currentFrame);
  3155. this.triggerEvent('error', e),
  3156. this.onError && this.onError.call(this, e);
  3157. });
  3158. var animationManager = (function () {
  3159. var t = {},
  3160. e = [],
  3161. r = 0,
  3162. a = 0,
  3163. i = 0,
  3164. s = !0,
  3165. n = !1;
  3166. function o(t) {
  3167. for (var r = 0, i = t.target; r < a; )
  3168. e[r].animation === i &&
  3169. (e.splice(r, 1),
  3170. (r -= 1),
  3171. (a -= 1),
  3172. i.isPaused || p()),
  3173. (r += 1);
  3174. }
  3175. function l(t, r) {
  3176. if (!t) return null;
  3177. for (var i = 0; i < a; ) {
  3178. if (e[i].elem === t && null !== e[i].elem)
  3179. return e[i].animation;
  3180. i += 1;
  3181. }
  3182. var s = new AnimationItem();
  3183. return c(s, t), s.setData(t, r), s;
  3184. }
  3185. function h() {
  3186. (i += 1), m();
  3187. }
  3188. function p() {
  3189. i -= 1;
  3190. }
  3191. function c(t, r) {
  3192. t.addEventListener('destroy', o),
  3193. t.addEventListener('_active', h),
  3194. t.addEventListener('_idle', p),
  3195. e.push({ elem: r, animation: t }),
  3196. (a += 1);
  3197. }
  3198. function d(t) {
  3199. var o,
  3200. l = t - r;
  3201. for (o = 0; o < a; o += 1) e[o].animation.advanceTime(l);
  3202. (r = t),
  3203. i && !n ? window.requestAnimationFrame(d) : (s = !0);
  3204. }
  3205. function f(t) {
  3206. (r = t), window.requestAnimationFrame(d);
  3207. }
  3208. function m() {
  3209. !n &&
  3210. i &&
  3211. s &&
  3212. (window.requestAnimationFrame(f), (s = !1));
  3213. }
  3214. return (
  3215. (t.registerAnimation = l),
  3216. (t.loadAnimation = function (t) {
  3217. var e = new AnimationItem();
  3218. return c(e, null), e.setParams(t), e;
  3219. }),
  3220. (t.setSpeed = function (t, r) {
  3221. var i;
  3222. for (i = 0; i < a; i += 1)
  3223. e[i].animation.setSpeed(t, r);
  3224. }),
  3225. (t.setDirection = function (t, r) {
  3226. var i;
  3227. for (i = 0; i < a; i += 1)
  3228. e[i].animation.setDirection(t, r);
  3229. }),
  3230. (t.play = function (t) {
  3231. var r;
  3232. for (r = 0; r < a; r += 1) e[r].animation.play(t);
  3233. }),
  3234. (t.pause = function (t) {
  3235. var r;
  3236. for (r = 0; r < a; r += 1) e[r].animation.pause(t);
  3237. }),
  3238. (t.stop = function (t) {
  3239. var r;
  3240. for (r = 0; r < a; r += 1) e[r].animation.stop(t);
  3241. }),
  3242. (t.togglePause = function (t) {
  3243. var r;
  3244. for (r = 0; r < a; r += 1)
  3245. e[r].animation.togglePause(t);
  3246. }),
  3247. (t.searchAnimations = function (t, e, r) {
  3248. var a,
  3249. i = [].concat(
  3250. [].slice.call(
  3251. document.getElementsByClassName('lottie')
  3252. ),
  3253. [].slice.call(
  3254. document.getElementsByClassName('bodymovin')
  3255. )
  3256. ),
  3257. s = i.length;
  3258. for (a = 0; a < s; a += 1)
  3259. r && i[a].setAttribute('data-bm-type', r), l(i[a], t);
  3260. if (e && 0 === s) {
  3261. r || (r = 'svg');
  3262. var n = document.getElementsByTagName('body')[0];
  3263. n.innerText = '';
  3264. var o = createTag('div');
  3265. (o.style.width = '100%'),
  3266. (o.style.height = '100%'),
  3267. o.setAttribute('data-bm-type', r),
  3268. n.appendChild(o),
  3269. l(o, t);
  3270. }
  3271. }),
  3272. (t.resize = function () {
  3273. var t;
  3274. for (t = 0; t < a; t += 1) e[t].animation.resize();
  3275. }),
  3276. (t.goToAndStop = function (t, r, i) {
  3277. var s;
  3278. for (s = 0; s < a; s += 1)
  3279. e[s].animation.goToAndStop(t, r, i);
  3280. }),
  3281. (t.destroy = function (t) {
  3282. var r;
  3283. for (r = a - 1; r >= 0; r -= 1)
  3284. e[r].animation.destroy(t);
  3285. }),
  3286. (t.freeze = function () {
  3287. n = !0;
  3288. }),
  3289. (t.unfreeze = function () {
  3290. (n = !1), m();
  3291. }),
  3292. (t.setVolume = function (t, r) {
  3293. var i;
  3294. for (i = 0; i < a; i += 1)
  3295. e[i].animation.setVolume(t, r);
  3296. }),
  3297. (t.mute = function (t) {
  3298. var r;
  3299. for (r = 0; r < a; r += 1) e[r].animation.mute(t);
  3300. }),
  3301. (t.unmute = function (t) {
  3302. var r;
  3303. for (r = 0; r < a; r += 1) e[r].animation.unmute(t);
  3304. }),
  3305. (t.getRegisteredAnimations = function () {
  3306. var t,
  3307. r = e.length,
  3308. a = [];
  3309. for (t = 0; t < r; t += 1) a.push(e[t].animation);
  3310. return a;
  3311. }),
  3312. t
  3313. );
  3314. })(),
  3315. BezierFactory = (function () {
  3316. var t = {
  3317. getBezierEasing: function (t, r, a, i, s) {
  3318. var n =
  3319. s ||
  3320. ('bez_' + t + '_' + r + '_' + a + '_' + i).replace(
  3321. /\./g,
  3322. 'p'
  3323. );
  3324. if (e[n]) return e[n];
  3325. var o = new p([t, r, a, i]);
  3326. return (e[n] = o), o;
  3327. }
  3328. },
  3329. e = {},
  3330. r = 11,
  3331. a = 1 / (r - 1),
  3332. i = 'function' == typeof Float32Array;
  3333. function s(t, e) {
  3334. return 1 - 3 * e + 3 * t;
  3335. }
  3336. function n(t, e) {
  3337. return 3 * e - 6 * t;
  3338. }
  3339. function o(t) {
  3340. return 3 * t;
  3341. }
  3342. function l(t, e, r) {
  3343. return ((s(e, r) * t + n(e, r)) * t + o(e)) * t;
  3344. }
  3345. function h(t, e, r) {
  3346. return 3 * s(e, r) * t * t + 2 * n(e, r) * t + o(e);
  3347. }
  3348. function p(t) {
  3349. (this._p = t),
  3350. (this._mSampleValues = i
  3351. ? new Float32Array(r)
  3352. : new Array(r)),
  3353. (this._precomputed = !1),
  3354. (this.get = this.get.bind(this));
  3355. }
  3356. return (
  3357. (p.prototype = {
  3358. get: function (t) {
  3359. var e = this._p[0],
  3360. r = this._p[1],
  3361. a = this._p[2],
  3362. i = this._p[3];
  3363. return (
  3364. this._precomputed || this._precompute(),
  3365. e === r && a === i
  3366. ? t
  3367. : 0 === t
  3368. ? 0
  3369. : 1 === t
  3370. ? 1
  3371. : l(this._getTForX(t), r, i)
  3372. );
  3373. },
  3374. _precompute: function () {
  3375. var t = this._p[0],
  3376. e = this._p[1],
  3377. r = this._p[2],
  3378. a = this._p[3];
  3379. (this._precomputed = !0),
  3380. (t === e && r === a) || this._calcSampleValues();
  3381. },
  3382. _calcSampleValues: function () {
  3383. for (
  3384. var t = this._p[0], e = this._p[2], i = 0;
  3385. i < r;
  3386. ++i
  3387. )
  3388. this._mSampleValues[i] = l(i * a, t, e);
  3389. },
  3390. _getTForX: function (t) {
  3391. for (
  3392. var e = this._p[0],
  3393. i = this._p[2],
  3394. s = this._mSampleValues,
  3395. n = 0,
  3396. o = 1,
  3397. p = r - 1;
  3398. o !== p && s[o] <= t;
  3399. ++o
  3400. )
  3401. n += a;
  3402. var c = n + ((t - s[--o]) / (s[o + 1] - s[o])) * a,
  3403. d = h(c, e, i);
  3404. return d >= 0.001
  3405. ? (function (t, e, r, a) {
  3406. for (var i = 0; i < 4; ++i) {
  3407. var s = h(e, r, a);
  3408. if (0 === s) return e;
  3409. e -= (l(e, r, a) - t) / s;
  3410. }
  3411. return e;
  3412. })(t, c, e, i)
  3413. : 0 === d
  3414. ? c
  3415. : (function (t, e, r, a, i) {
  3416. var s,
  3417. n,
  3418. o = 0;
  3419. do {
  3420. (s = l((n = e + (r - e) / 2), a, i) - t) > 0
  3421. ? (r = n)
  3422. : (e = n);
  3423. } while (Math.abs(s) > 1e-7 && ++o < 10);
  3424. return n;
  3425. })(t, n, n + a, e, i);
  3426. }
  3427. }),
  3428. t
  3429. );
  3430. })(),
  3431. pooling = {
  3432. double: function (t) {
  3433. return t.concat(createSizedArray(t.length));
  3434. }
  3435. },
  3436. poolFactory = function (t, e, r) {
  3437. var a = 0,
  3438. i = t,
  3439. s = createSizedArray(i);
  3440. return {
  3441. newElement: function () {
  3442. return a ? s[(a -= 1)] : e();
  3443. },
  3444. release: function (t) {
  3445. a === i && ((s = pooling.double(s)), (i *= 2)),
  3446. r && r(t),
  3447. (s[a] = t),
  3448. (a += 1);
  3449. }
  3450. };
  3451. },
  3452. bezierLengthPool = poolFactory(8, function () {
  3453. return {
  3454. addedLength: 0,
  3455. percents: createTypedArray(
  3456. 'float32',
  3457. getDefaultCurveSegments()
  3458. ),
  3459. lengths: createTypedArray(
  3460. 'float32',
  3461. getDefaultCurveSegments()
  3462. )
  3463. };
  3464. }),
  3465. segmentsLengthPool = poolFactory(
  3466. 8,
  3467. function () {
  3468. return { lengths: [], totalLength: 0 };
  3469. },
  3470. function (t) {
  3471. var e,
  3472. r = t.lengths.length;
  3473. for (e = 0; e < r; e += 1)
  3474. bezierLengthPool.release(t.lengths[e]);
  3475. t.lengths.length = 0;
  3476. }
  3477. );
  3478. function bezFunction() {
  3479. var t = Math;
  3480. function e(t, e, r, a, i, s) {
  3481. var n = t * a + e * i + r * s - i * a - s * t - r * e;
  3482. return n > -0.001 && n < 0.001;
  3483. }
  3484. var r = function (t, e, r, a) {
  3485. var i,
  3486. s,
  3487. n,
  3488. o,
  3489. l,
  3490. h,
  3491. p = getDefaultCurveSegments(),
  3492. c = 0,
  3493. d = [],
  3494. f = [],
  3495. m = bezierLengthPool.newElement();
  3496. for (n = r.length, i = 0; i < p; i += 1) {
  3497. for (l = i / (p - 1), h = 0, s = 0; s < n; s += 1)
  3498. (o =
  3499. bmPow(1 - l, 3) * t[s] +
  3500. 3 * bmPow(1 - l, 2) * l * r[s] +
  3501. 3 * (1 - l) * bmPow(l, 2) * a[s] +
  3502. bmPow(l, 3) * e[s]),
  3503. (d[s] = o),
  3504. null !== f[s] && (h += bmPow(d[s] - f[s], 2)),
  3505. (f[s] = d[s]);
  3506. h && (c += h = bmSqrt(h)),
  3507. (m.percents[i] = l),
  3508. (m.lengths[i] = c);
  3509. }
  3510. return (m.addedLength = c), m;
  3511. };
  3512. function a(t) {
  3513. (this.segmentLength = 0), (this.points = new Array(t));
  3514. }
  3515. function i(t, e) {
  3516. (this.partialLength = t), (this.point = e);
  3517. }
  3518. var s,
  3519. n =
  3520. ((s = {}),
  3521. function (t, r, n, o) {
  3522. var l = (
  3523. t[0] +
  3524. '_' +
  3525. t[1] +
  3526. '_' +
  3527. r[0] +
  3528. '_' +
  3529. r[1] +
  3530. '_' +
  3531. n[0] +
  3532. '_' +
  3533. n[1] +
  3534. '_' +
  3535. o[0] +
  3536. '_' +
  3537. o[1]
  3538. ).replace(/\./g, 'p');
  3539. if (!s[l]) {
  3540. var h,
  3541. p,
  3542. c,
  3543. d,
  3544. f,
  3545. m,
  3546. u,
  3547. g = getDefaultCurveSegments(),
  3548. y = 0,
  3549. v = null;
  3550. 2 === t.length &&
  3551. (t[0] !== r[0] || t[1] !== r[1]) &&
  3552. e(
  3553. t[0],
  3554. t[1],
  3555. r[0],
  3556. r[1],
  3557. t[0] + n[0],
  3558. t[1] + n[1]
  3559. ) &&
  3560. e(
  3561. t[0],
  3562. t[1],
  3563. r[0],
  3564. r[1],
  3565. r[0] + o[0],
  3566. r[1] + o[1]
  3567. ) &&
  3568. (g = 2);
  3569. var b = new a(g);
  3570. for (c = n.length, h = 0; h < g; h += 1) {
  3571. for (
  3572. u = createSizedArray(c),
  3573. f = h / (g - 1),
  3574. m = 0,
  3575. p = 0;
  3576. p < c;
  3577. p += 1
  3578. )
  3579. (d =
  3580. bmPow(1 - f, 3) * t[p] +
  3581. 3 * bmPow(1 - f, 2) * f * (t[p] + n[p]) +
  3582. 3 * (1 - f) * bmPow(f, 2) * (r[p] + o[p]) +
  3583. bmPow(f, 3) * r[p]),
  3584. (u[p] = d),
  3585. null !== v && (m += bmPow(u[p] - v[p], 2));
  3586. (y += m = bmSqrt(m)),
  3587. (b.points[h] = new i(m, u)),
  3588. (v = u);
  3589. }
  3590. (b.segmentLength = y), (s[l] = b);
  3591. }
  3592. return s[l];
  3593. });
  3594. function o(t, e) {
  3595. var r = e.percents,
  3596. a = e.lengths,
  3597. i = r.length,
  3598. s = bmFloor((i - 1) * t),
  3599. n = t * e.addedLength,
  3600. o = 0;
  3601. if (s === i - 1 || 0 === s || n === a[s]) return r[s];
  3602. for (var l = a[s] > n ? -1 : 1, h = !0; h; )
  3603. if (
  3604. (a[s] <= n && a[s + 1] > n
  3605. ? ((o = (n - a[s]) / (a[s + 1] - a[s])), (h = !1))
  3606. : (s += l),
  3607. s < 0 || s >= i - 1)
  3608. ) {
  3609. if (s === i - 1) return r[s];
  3610. h = !1;
  3611. }
  3612. return r[s] + (r[s + 1] - r[s]) * o;
  3613. }
  3614. var l = createTypedArray('float32', 8);
  3615. return {
  3616. getSegmentsLength: function (t) {
  3617. var e,
  3618. a = segmentsLengthPool.newElement(),
  3619. i = t.c,
  3620. s = t.v,
  3621. n = t.o,
  3622. o = t.i,
  3623. l = t._length,
  3624. h = a.lengths,
  3625. p = 0;
  3626. for (e = 0; e < l - 1; e += 1)
  3627. (h[e] = r(s[e], s[e + 1], n[e], o[e + 1])),
  3628. (p += h[e].addedLength);
  3629. return (
  3630. i &&
  3631. l &&
  3632. ((h[e] = r(s[e], s[0], n[e], o[0])),
  3633. (p += h[e].addedLength)),
  3634. (a.totalLength = p),
  3635. a
  3636. );
  3637. },
  3638. getNewSegment: function (e, r, a, i, s, n, h) {
  3639. s < 0 ? (s = 0) : s > 1 && (s = 1);
  3640. var p,
  3641. c = o(s, h),
  3642. d = o((n = n > 1 ? 1 : n), h),
  3643. f = e.length,
  3644. m = 1 - c,
  3645. u = 1 - d,
  3646. g = m * m * m,
  3647. y = c * m * m * 3,
  3648. v = c * c * m * 3,
  3649. b = c * c * c,
  3650. _ = m * m * u,
  3651. w = c * m * u + m * c * u + m * m * d,
  3652. A = c * c * u + m * c * d + c * m * d,
  3653. x = c * c * d,
  3654. P = m * u * u,
  3655. S = c * u * u + m * d * u + m * u * d,
  3656. C = c * d * u + m * d * d + c * u * d,
  3657. T = c * d * d,
  3658. E = u * u * u,
  3659. k = d * u * u + u * d * u + u * u * d,
  3660. M = d * d * u + u * d * d + d * u * d,
  3661. D = d * d * d;
  3662. for (p = 0; p < f; p += 1)
  3663. (l[4 * p] =
  3664. t.round(
  3665. 1e3 * (g * e[p] + y * a[p] + v * i[p] + b * r[p])
  3666. ) / 1e3),
  3667. (l[4 * p + 1] =
  3668. t.round(
  3669. 1e3 * (_ * e[p] + w * a[p] + A * i[p] + x * r[p])
  3670. ) / 1e3),
  3671. (l[4 * p + 2] =
  3672. t.round(
  3673. 1e3 * (P * e[p] + S * a[p] + C * i[p] + T * r[p])
  3674. ) / 1e3),
  3675. (l[4 * p + 3] =
  3676. t.round(
  3677. 1e3 * (E * e[p] + k * a[p] + M * i[p] + D * r[p])
  3678. ) / 1e3);
  3679. return l;
  3680. },
  3681. getPointInSegment: function (e, r, a, i, s, n) {
  3682. var l = o(s, n),
  3683. h = 1 - l;
  3684. return [
  3685. t.round(
  3686. 1e3 *
  3687. (h * h * h * e[0] +
  3688. (l * h * h + h * l * h + h * h * l) * a[0] +
  3689. (l * l * h + h * l * l + l * h * l) * i[0] +
  3690. l * l * l * r[0])
  3691. ) / 1e3,
  3692. t.round(
  3693. 1e3 *
  3694. (h * h * h * e[1] +
  3695. (l * h * h + h * l * h + h * h * l) * a[1] +
  3696. (l * l * h + h * l * l + l * h * l) * i[1] +
  3697. l * l * l * r[1])
  3698. ) / 1e3
  3699. ];
  3700. },
  3701. buildBezierData: n,
  3702. pointOnLine2D: e,
  3703. pointOnLine3D: function (r, a, i, s, n, o, l, h, p) {
  3704. if (0 === i && 0 === o && 0 === p)
  3705. return e(r, a, s, n, l, h);
  3706. var c,
  3707. d = t.sqrt(
  3708. t.pow(s - r, 2) + t.pow(n - a, 2) + t.pow(o - i, 2)
  3709. ),
  3710. f = t.sqrt(
  3711. t.pow(l - r, 2) + t.pow(h - a, 2) + t.pow(p - i, 2)
  3712. ),
  3713. m = t.sqrt(
  3714. t.pow(l - s, 2) + t.pow(h - n, 2) + t.pow(p - o, 2)
  3715. );
  3716. return (
  3717. (c =
  3718. d > f
  3719. ? d > m
  3720. ? d - f - m
  3721. : m - f - d
  3722. : m > f
  3723. ? m - f - d
  3724. : f - d - m) > -1e-4 && c < 1e-4
  3725. );
  3726. }
  3727. };
  3728. }
  3729. var bez = bezFunction(),
  3730. initFrame = initialDefaultFrame,
  3731. mathAbs = Math.abs;
  3732. function interpolateValue(t, e) {
  3733. var r,
  3734. a = this.offsetTime;
  3735. 'multidimensional' === this.propType &&
  3736. (r = createTypedArray('float32', this.pv.length));
  3737. for (
  3738. var i,
  3739. s,
  3740. n,
  3741. o,
  3742. l,
  3743. h,
  3744. p,
  3745. c,
  3746. d,
  3747. f = e.lastIndex,
  3748. m = f,
  3749. u = this.keyframes.length - 1,
  3750. g = !0;
  3751. g;
  3752. ) {
  3753. if (
  3754. ((i = this.keyframes[m]),
  3755. (s = this.keyframes[m + 1]),
  3756. m === u - 1 && t >= s.t - a)
  3757. ) {
  3758. i.h && (i = s), (f = 0);
  3759. break;
  3760. }
  3761. if (s.t - a > t) {
  3762. f = m;
  3763. break;
  3764. }
  3765. m < u - 1 ? (m += 1) : ((f = 0), (g = !1));
  3766. }
  3767. n = this.keyframesMetadata[m] || {};
  3768. var y,
  3769. v = s.t - a,
  3770. b = i.t - a;
  3771. if (i.to) {
  3772. n.bezierData ||
  3773. (n.bezierData = bez.buildBezierData(
  3774. i.s,
  3775. s.s || i.e,
  3776. i.to,
  3777. i.ti
  3778. ));
  3779. var _ = n.bezierData;
  3780. if (t >= v || t < b) {
  3781. var w = t >= v ? _.points.length - 1 : 0;
  3782. for (l = _.points[w].point.length, o = 0; o < l; o += 1)
  3783. r[o] = _.points[w].point[o];
  3784. } else {
  3785. n.__fnct
  3786. ? (d = n.__fnct)
  3787. : ((d = BezierFactory.getBezierEasing(
  3788. i.o.x,
  3789. i.o.y,
  3790. i.i.x,
  3791. i.i.y,
  3792. i.n
  3793. ).get),
  3794. (n.__fnct = d)),
  3795. (h = d((t - b) / (v - b)));
  3796. var A,
  3797. x = _.segmentLength * h,
  3798. P =
  3799. e.lastFrame < t && e._lastKeyframeIndex === m
  3800. ? e._lastAddedLength
  3801. : 0;
  3802. for (
  3803. c =
  3804. e.lastFrame < t && e._lastKeyframeIndex === m
  3805. ? e._lastPoint
  3806. : 0,
  3807. g = !0,
  3808. p = _.points.length;
  3809. g;
  3810. ) {
  3811. if (
  3812. ((P += _.points[c].partialLength),
  3813. 0 === x || 0 === h || c === _.points.length - 1)
  3814. ) {
  3815. for (
  3816. l = _.points[c].point.length, o = 0;
  3817. o < l;
  3818. o += 1
  3819. )
  3820. r[o] = _.points[c].point[o];
  3821. break;
  3822. }
  3823. if (x >= P && x < P + _.points[c + 1].partialLength) {
  3824. for (
  3825. A = (x - P) / _.points[c + 1].partialLength,
  3826. l = _.points[c].point.length,
  3827. o = 0;
  3828. o < l;
  3829. o += 1
  3830. )
  3831. r[o] =
  3832. _.points[c].point[o] +
  3833. (_.points[c + 1].point[o] -
  3834. _.points[c].point[o]) *
  3835. A;
  3836. break;
  3837. }
  3838. c < p - 1 ? (c += 1) : (g = !1);
  3839. }
  3840. (e._lastPoint = c),
  3841. (e._lastAddedLength = P - _.points[c].partialLength),
  3842. (e._lastKeyframeIndex = m);
  3843. }
  3844. } else {
  3845. var S, C, T, E, k;
  3846. if (
  3847. ((u = i.s.length), (y = s.s || i.e), this.sh && 1 !== i.h)
  3848. )
  3849. t >= v
  3850. ? ((r[0] = y[0]), (r[1] = y[1]), (r[2] = y[2]))
  3851. : t <= b
  3852. ? ((r[0] = i.s[0]), (r[1] = i.s[1]), (r[2] = i.s[2]))
  3853. : quaternionToEuler(
  3854. r,
  3855. slerp(
  3856. createQuaternion(i.s),
  3857. createQuaternion(y),
  3858. (t - b) / (v - b)
  3859. )
  3860. );
  3861. else
  3862. for (m = 0; m < u; m += 1)
  3863. 1 !== i.h &&
  3864. (t >= v
  3865. ? (h = 1)
  3866. : t < b
  3867. ? (h = 0)
  3868. : (i.o.x.constructor === Array
  3869. ? (n.__fnct || (n.__fnct = []),
  3870. n.__fnct[m]
  3871. ? (d = n.__fnct[m])
  3872. : ((S =
  3873. void 0 === i.o.x[m]
  3874. ? i.o.x[0]
  3875. : i.o.x[m]),
  3876. (C =
  3877. void 0 === i.o.y[m]
  3878. ? i.o.y[0]
  3879. : i.o.y[m]),
  3880. (T =
  3881. void 0 === i.i.x[m]
  3882. ? i.i.x[0]
  3883. : i.i.x[m]),
  3884. (E =
  3885. void 0 === i.i.y[m]
  3886. ? i.i.y[0]
  3887. : i.i.y[m]),
  3888. (d = BezierFactory.getBezierEasing(
  3889. S,
  3890. C,
  3891. T,
  3892. E
  3893. ).get),
  3894. (n.__fnct[m] = d)))
  3895. : n.__fnct
  3896. ? (d = n.__fnct)
  3897. : ((S = i.o.x),
  3898. (C = i.o.y),
  3899. (T = i.i.x),
  3900. (E = i.i.y),
  3901. (d = BezierFactory.getBezierEasing(
  3902. S,
  3903. C,
  3904. T,
  3905. E
  3906. ).get),
  3907. (i.keyframeMetadata = d)),
  3908. (h = d((t - b) / (v - b))))),
  3909. (y = s.s || i.e),
  3910. (k =
  3911. 1 === i.h ? i.s[m] : i.s[m] + (y[m] - i.s[m]) * h),
  3912. 'multidimensional' === this.propType
  3913. ? (r[m] = k)
  3914. : (r = k);
  3915. }
  3916. return (e.lastIndex = f), r;
  3917. }
  3918. function slerp(t, e, r) {
  3919. var a,
  3920. i,
  3921. s,
  3922. n,
  3923. o,
  3924. l = [],
  3925. h = t[0],
  3926. p = t[1],
  3927. c = t[2],
  3928. d = t[3],
  3929. f = e[0],
  3930. m = e[1],
  3931. u = e[2],
  3932. g = e[3];
  3933. return (
  3934. (i = h * f + p * m + c * u + d * g) < 0 &&
  3935. ((i = -i), (f = -f), (m = -m), (u = -u), (g = -g)),
  3936. 1 - i > 1e-6
  3937. ? ((a = Math.acos(i)),
  3938. (s = Math.sin(a)),
  3939. (n = Math.sin((1 - r) * a) / s),
  3940. (o = Math.sin(r * a) / s))
  3941. : ((n = 1 - r), (o = r)),
  3942. (l[0] = n * h + o * f),
  3943. (l[1] = n * p + o * m),
  3944. (l[2] = n * c + o * u),
  3945. (l[3] = n * d + o * g),
  3946. l
  3947. );
  3948. }
  3949. function quaternionToEuler(t, e) {
  3950. var r = e[0],
  3951. a = e[1],
  3952. i = e[2],
  3953. s = e[3],
  3954. n = Math.atan2(
  3955. 2 * a * s - 2 * r * i,
  3956. 1 - 2 * a * a - 2 * i * i
  3957. ),
  3958. o = Math.asin(2 * r * a + 2 * i * s),
  3959. l = Math.atan2(
  3960. 2 * r * s - 2 * a * i,
  3961. 1 - 2 * r * r - 2 * i * i
  3962. );
  3963. (t[0] = n / degToRads),
  3964. (t[1] = o / degToRads),
  3965. (t[2] = l / degToRads);
  3966. }
  3967. function createQuaternion(t) {
  3968. var e = t[0] * degToRads,
  3969. r = t[1] * degToRads,
  3970. a = t[2] * degToRads,
  3971. i = Math.cos(e / 2),
  3972. s = Math.cos(r / 2),
  3973. n = Math.cos(a / 2),
  3974. o = Math.sin(e / 2),
  3975. l = Math.sin(r / 2),
  3976. h = Math.sin(a / 2);
  3977. return [
  3978. o * l * n + i * s * h,
  3979. o * s * n + i * l * h,
  3980. i * l * n - o * s * h,
  3981. i * s * n - o * l * h
  3982. ];
  3983. }
  3984. function getValueAtCurrentTime() {
  3985. var t = this.comp.renderedFrame - this.offsetTime,
  3986. e = this.keyframes[0].t - this.offsetTime,
  3987. r =
  3988. this.keyframes[this.keyframes.length - 1].t -
  3989. this.offsetTime;
  3990. if (
  3991. !(
  3992. t === this._caching.lastFrame ||
  3993. (this._caching.lastFrame !== initFrame &&
  3994. ((this._caching.lastFrame >= r && t >= r) ||
  3995. (this._caching.lastFrame < e && t < e)))
  3996. )
  3997. ) {
  3998. this._caching.lastFrame >= t &&
  3999. ((this._caching._lastKeyframeIndex = -1),
  4000. (this._caching.lastIndex = 0));
  4001. var a = this.interpolateValue(t, this._caching);
  4002. this.pv = a;
  4003. }
  4004. return (this._caching.lastFrame = t), this.pv;
  4005. }
  4006. function setVValue(t) {
  4007. var e;
  4008. if ('unidimensional' === this.propType)
  4009. (e = t * this.mult),
  4010. mathAbs(this.v - e) > 1e-5 &&
  4011. ((this.v = e), (this._mdf = !0));
  4012. else
  4013. for (var r = 0, a = this.v.length; r < a; )
  4014. (e = t[r] * this.mult),
  4015. mathAbs(this.v[r] - e) > 1e-5 &&
  4016. ((this.v[r] = e), (this._mdf = !0)),
  4017. (r += 1);
  4018. }
  4019. function processEffectsSequence() {
  4020. if (
  4021. this.elem.globalData.frameId !== this.frameId &&
  4022. this.effectsSequence.length
  4023. )
  4024. if (this.lock) this.setVValue(this.pv);
  4025. else {
  4026. var t;
  4027. (this.lock = !0), (this._mdf = this._isFirstFrame);
  4028. var e = this.effectsSequence.length,
  4029. r = this.kf ? this.pv : this.data.k;
  4030. for (t = 0; t < e; t += 1) r = this.effectsSequence[t](r);
  4031. this.setVValue(r),
  4032. (this._isFirstFrame = !1),
  4033. (this.lock = !1),
  4034. (this.frameId = this.elem.globalData.frameId);
  4035. }
  4036. }
  4037. function addEffect(t) {
  4038. this.effectsSequence.push(t),
  4039. this.container.addDynamicProperty(this);
  4040. }
  4041. function ValueProperty(t, e, r, a) {
  4042. (this.propType = 'unidimensional'),
  4043. (this.mult = r || 1),
  4044. (this.data = e),
  4045. (this.v = r ? e.k * r : e.k),
  4046. (this.pv = e.k),
  4047. (this._mdf = !1),
  4048. (this.elem = t),
  4049. (this.container = a),
  4050. (this.comp = t.comp),
  4051. (this.k = !1),
  4052. (this.kf = !1),
  4053. (this.vel = 0),
  4054. (this.effectsSequence = []),
  4055. (this._isFirstFrame = !0),
  4056. (this.getValue = processEffectsSequence),
  4057. (this.setVValue = setVValue),
  4058. (this.addEffect = addEffect);
  4059. }
  4060. function MultiDimensionalProperty(t, e, r, a) {
  4061. var i;
  4062. (this.propType = 'multidimensional'),
  4063. (this.mult = r || 1),
  4064. (this.data = e),
  4065. (this._mdf = !1),
  4066. (this.elem = t),
  4067. (this.container = a),
  4068. (this.comp = t.comp),
  4069. (this.k = !1),
  4070. (this.kf = !1),
  4071. (this.frameId = -1);
  4072. var s = e.k.length;
  4073. for (
  4074. this.v = createTypedArray('float32', s),
  4075. this.pv = createTypedArray('float32', s),
  4076. this.vel = createTypedArray('float32', s),
  4077. i = 0;
  4078. i < s;
  4079. i += 1
  4080. )
  4081. (this.v[i] = e.k[i] * this.mult), (this.pv[i] = e.k[i]);
  4082. (this._isFirstFrame = !0),
  4083. (this.effectsSequence = []),
  4084. (this.getValue = processEffectsSequence),
  4085. (this.setVValue = setVValue),
  4086. (this.addEffect = addEffect);
  4087. }
  4088. function KeyframedValueProperty(t, e, r, a) {
  4089. (this.propType = 'unidimensional'),
  4090. (this.keyframes = e.k),
  4091. (this.keyframesMetadata = []),
  4092. (this.offsetTime = t.data.st),
  4093. (this.frameId = -1),
  4094. (this._caching = {
  4095. lastFrame: initFrame,
  4096. lastIndex: 0,
  4097. value: 0,
  4098. _lastKeyframeIndex: -1
  4099. }),
  4100. (this.k = !0),
  4101. (this.kf = !0),
  4102. (this.data = e),
  4103. (this.mult = r || 1),
  4104. (this.elem = t),
  4105. (this.container = a),
  4106. (this.comp = t.comp),
  4107. (this.v = initFrame),
  4108. (this.pv = initFrame),
  4109. (this._isFirstFrame = !0),
  4110. (this.getValue = processEffectsSequence),
  4111. (this.setVValue = setVValue),
  4112. (this.interpolateValue = interpolateValue),
  4113. (this.effectsSequence = [getValueAtCurrentTime.bind(this)]),
  4114. (this.addEffect = addEffect);
  4115. }
  4116. function KeyframedMultidimensionalProperty(t, e, r, a) {
  4117. var i;
  4118. this.propType = 'multidimensional';
  4119. var s,
  4120. n,
  4121. o,
  4122. l,
  4123. h = e.k.length;
  4124. for (i = 0; i < h - 1; i += 1)
  4125. e.k[i].to &&
  4126. e.k[i].s &&
  4127. e.k[i + 1] &&
  4128. e.k[i + 1].s &&
  4129. ((s = e.k[i].s),
  4130. (n = e.k[i + 1].s),
  4131. (o = e.k[i].to),
  4132. (l = e.k[i].ti),
  4133. ((2 === s.length &&
  4134. (s[0] !== n[0] || s[1] !== n[1]) &&
  4135. bez.pointOnLine2D(
  4136. s[0],
  4137. s[1],
  4138. n[0],
  4139. n[1],
  4140. s[0] + o[0],
  4141. s[1] + o[1]
  4142. ) &&
  4143. bez.pointOnLine2D(
  4144. s[0],
  4145. s[1],
  4146. n[0],
  4147. n[1],
  4148. n[0] + l[0],
  4149. n[1] + l[1]
  4150. )) ||
  4151. (3 === s.length &&
  4152. (s[0] !== n[0] || s[1] !== n[1] || s[2] !== n[2]) &&
  4153. bez.pointOnLine3D(
  4154. s[0],
  4155. s[1],
  4156. s[2],
  4157. n[0],
  4158. n[1],
  4159. n[2],
  4160. s[0] + o[0],
  4161. s[1] + o[1],
  4162. s[2] + o[2]
  4163. ) &&
  4164. bez.pointOnLine3D(
  4165. s[0],
  4166. s[1],
  4167. s[2],
  4168. n[0],
  4169. n[1],
  4170. n[2],
  4171. n[0] + l[0],
  4172. n[1] + l[1],
  4173. n[2] + l[2]
  4174. ))) &&
  4175. ((e.k[i].to = null), (e.k[i].ti = null)),
  4176. s[0] === n[0] &&
  4177. s[1] === n[1] &&
  4178. 0 === o[0] &&
  4179. 0 === o[1] &&
  4180. 0 === l[0] &&
  4181. 0 === l[1] &&
  4182. (2 === s.length ||
  4183. (s[2] === n[2] && 0 === o[2] && 0 === l[2])) &&
  4184. ((e.k[i].to = null), (e.k[i].ti = null)));
  4185. (this.effectsSequence = [getValueAtCurrentTime.bind(this)]),
  4186. (this.data = e),
  4187. (this.keyframes = e.k),
  4188. (this.keyframesMetadata = []),
  4189. (this.offsetTime = t.data.st),
  4190. (this.k = !0),
  4191. (this.kf = !0),
  4192. (this._isFirstFrame = !0),
  4193. (this.mult = r || 1),
  4194. (this.elem = t),
  4195. (this.container = a),
  4196. (this.comp = t.comp),
  4197. (this.getValue = processEffectsSequence),
  4198. (this.setVValue = setVValue),
  4199. (this.interpolateValue = interpolateValue),
  4200. (this.frameId = -1);
  4201. var p = e.k[0].s.length;
  4202. for (
  4203. this.v = createTypedArray('float32', p),
  4204. this.pv = createTypedArray('float32', p),
  4205. i = 0;
  4206. i < p;
  4207. i += 1
  4208. )
  4209. (this.v[i] = initFrame), (this.pv[i] = initFrame);
  4210. (this._caching = {
  4211. lastFrame: initFrame,
  4212. lastIndex: 0,
  4213. value: createTypedArray('float32', p)
  4214. }),
  4215. (this.addEffect = addEffect);
  4216. }
  4217. var PropertyFactory =
  4218. ((ob = {
  4219. getProp: function (t, e, r, a, i) {
  4220. var s;
  4221. if (
  4222. (e.sid && (e = t.globalData.slotManager.getProp(e)),
  4223. e.k.length)
  4224. )
  4225. if ('number' == typeof e.k[0])
  4226. s = new MultiDimensionalProperty(t, e, a, i);
  4227. else
  4228. switch (r) {
  4229. case 0:
  4230. s = new KeyframedValueProperty(t, e, a, i);
  4231. break;
  4232. case 1:
  4233. s = new KeyframedMultidimensionalProperty(
  4234. t,
  4235. e,
  4236. a,
  4237. i
  4238. );
  4239. }
  4240. else s = new ValueProperty(t, e, a, i);
  4241. return (
  4242. s.effectsSequence.length && i.addDynamicProperty(s), s
  4243. );
  4244. }
  4245. }),
  4246. ob),
  4247. ob;
  4248. function DynamicPropertyContainer() {}
  4249. DynamicPropertyContainer.prototype = {
  4250. addDynamicProperty: function (t) {
  4251. -1 === this.dynamicProperties.indexOf(t) &&
  4252. (this.dynamicProperties.push(t),
  4253. this.container.addDynamicProperty(this),
  4254. (this._isAnimated = !0));
  4255. },
  4256. iterateDynamicProperties: function () {
  4257. var t;
  4258. this._mdf = !1;
  4259. var e = this.dynamicProperties.length;
  4260. for (t = 0; t < e; t += 1)
  4261. this.dynamicProperties[t].getValue(),
  4262. this.dynamicProperties[t]._mdf && (this._mdf = !0);
  4263. },
  4264. initDynamicPropertyContainer: function (t) {
  4265. (this.container = t),
  4266. (this.dynamicProperties = []),
  4267. (this._mdf = !1),
  4268. (this._isAnimated = !1);
  4269. }
  4270. };
  4271. var pointPool = poolFactory(8, function () {
  4272. return createTypedArray('float32', 2);
  4273. });
  4274. function ShapePath() {
  4275. (this.c = !1),
  4276. (this._length = 0),
  4277. (this._maxLength = 8),
  4278. (this.v = createSizedArray(this._maxLength)),
  4279. (this.o = createSizedArray(this._maxLength)),
  4280. (this.i = createSizedArray(this._maxLength));
  4281. }
  4282. (ShapePath.prototype.setPathData = function (t, e) {
  4283. (this.c = t), this.setLength(e);
  4284. for (var r = 0; r < e; )
  4285. (this.v[r] = pointPool.newElement()),
  4286. (this.o[r] = pointPool.newElement()),
  4287. (this.i[r] = pointPool.newElement()),
  4288. (r += 1);
  4289. }),
  4290. (ShapePath.prototype.setLength = function (t) {
  4291. for (; this._maxLength < t; ) this.doubleArrayLength();
  4292. this._length = t;
  4293. }),
  4294. (ShapePath.prototype.doubleArrayLength = function () {
  4295. (this.v = this.v.concat(createSizedArray(this._maxLength))),
  4296. (this.i = this.i.concat(
  4297. createSizedArray(this._maxLength)
  4298. )),
  4299. (this.o = this.o.concat(
  4300. createSizedArray(this._maxLength)
  4301. )),
  4302. (this._maxLength *= 2);
  4303. }),
  4304. (ShapePath.prototype.setXYAt = function (t, e, r, a, i) {
  4305. var s;
  4306. switch (
  4307. ((this._length = Math.max(this._length, a + 1)),
  4308. this._length >= this._maxLength &&
  4309. this.doubleArrayLength(),
  4310. r)
  4311. ) {
  4312. case 'v':
  4313. s = this.v;
  4314. break;
  4315. case 'i':
  4316. s = this.i;
  4317. break;
  4318. case 'o':
  4319. s = this.o;
  4320. break;
  4321. default:
  4322. s = [];
  4323. }
  4324. (!s[a] || (s[a] && !i)) && (s[a] = pointPool.newElement()),
  4325. (s[a][0] = t),
  4326. (s[a][1] = e);
  4327. }),
  4328. (ShapePath.prototype.setTripleAt = function (
  4329. t,
  4330. e,
  4331. r,
  4332. a,
  4333. i,
  4334. s,
  4335. n,
  4336. o
  4337. ) {
  4338. this.setXYAt(t, e, 'v', n, o),
  4339. this.setXYAt(r, a, 'o', n, o),
  4340. this.setXYAt(i, s, 'i', n, o);
  4341. }),
  4342. (ShapePath.prototype.reverse = function () {
  4343. var t = new ShapePath();
  4344. t.setPathData(this.c, this._length);
  4345. var e = this.v,
  4346. r = this.o,
  4347. a = this.i,
  4348. i = 0;
  4349. this.c &&
  4350. (t.setTripleAt(
  4351. e[0][0],
  4352. e[0][1],
  4353. a[0][0],
  4354. a[0][1],
  4355. r[0][0],
  4356. r[0][1],
  4357. 0,
  4358. !1
  4359. ),
  4360. (i = 1));
  4361. var s,
  4362. n = this._length - 1,
  4363. o = this._length;
  4364. for (s = i; s < o; s += 1)
  4365. t.setTripleAt(
  4366. e[n][0],
  4367. e[n][1],
  4368. a[n][0],
  4369. a[n][1],
  4370. r[n][0],
  4371. r[n][1],
  4372. s,
  4373. !1
  4374. ),
  4375. (n -= 1);
  4376. return t;
  4377. }),
  4378. (ShapePath.prototype.length = function () {
  4379. return this._length;
  4380. });
  4381. var shapePool =
  4382. ((factory = poolFactory(
  4383. 4,
  4384. function () {
  4385. return new ShapePath();
  4386. },
  4387. function (t) {
  4388. var e,
  4389. r = t._length;
  4390. for (e = 0; e < r; e += 1)
  4391. pointPool.release(t.v[e]),
  4392. pointPool.release(t.i[e]),
  4393. pointPool.release(t.o[e]),
  4394. (t.v[e] = null),
  4395. (t.i[e] = null),
  4396. (t.o[e] = null);
  4397. (t._length = 0), (t.c = !1);
  4398. }
  4399. )),
  4400. (factory.clone = function (t) {
  4401. var e,
  4402. r = factory.newElement(),
  4403. a = void 0 === t._length ? t.v.length : t._length;
  4404. for (r.setLength(a), r.c = t.c, e = 0; e < a; e += 1)
  4405. r.setTripleAt(
  4406. t.v[e][0],
  4407. t.v[e][1],
  4408. t.o[e][0],
  4409. t.o[e][1],
  4410. t.i[e][0],
  4411. t.i[e][1],
  4412. e
  4413. );
  4414. return r;
  4415. }),
  4416. factory),
  4417. factory;
  4418. function ShapeCollection() {
  4419. (this._length = 0),
  4420. (this._maxLength = 4),
  4421. (this.shapes = createSizedArray(this._maxLength));
  4422. }
  4423. (ShapeCollection.prototype.addShape = function (t) {
  4424. this._length === this._maxLength &&
  4425. ((this.shapes = this.shapes.concat(
  4426. createSizedArray(this._maxLength)
  4427. )),
  4428. (this._maxLength *= 2)),
  4429. (this.shapes[this._length] = t),
  4430. (this._length += 1);
  4431. }),
  4432. (ShapeCollection.prototype.releaseShapes = function () {
  4433. var t;
  4434. for (t = 0; t < this._length; t += 1)
  4435. shapePool.release(this.shapes[t]);
  4436. this._length = 0;
  4437. });
  4438. var shapeCollectionPool = (function () {
  4439. var t = {
  4440. newShapeCollection: function () {
  4441. return e ? a[(e -= 1)] : new ShapeCollection();
  4442. },
  4443. release: function (t) {
  4444. var i,
  4445. s = t._length;
  4446. for (i = 0; i < s; i += 1)
  4447. shapePool.release(t.shapes[i]);
  4448. (t._length = 0),
  4449. e === r && ((a = pooling.double(a)), (r *= 2)),
  4450. (a[e] = t),
  4451. (e += 1);
  4452. }
  4453. },
  4454. e = 0,
  4455. r = 4,
  4456. a = createSizedArray(r);
  4457. return t;
  4458. })(),
  4459. ShapePropertyFactory = (function () {
  4460. var t = -999999;
  4461. function e(t, e, r) {
  4462. var a,
  4463. i,
  4464. s,
  4465. n,
  4466. o,
  4467. l,
  4468. h,
  4469. p,
  4470. c,
  4471. d = r.lastIndex,
  4472. f = this.keyframes;
  4473. if (t < f[0].t - this.offsetTime)
  4474. (a = f[0].s[0]), (s = !0), (d = 0);
  4475. else if (t >= f[f.length - 1].t - this.offsetTime)
  4476. (a = f[f.length - 1].s
  4477. ? f[f.length - 1].s[0]
  4478. : f[f.length - 2].e[0]),
  4479. (s = !0);
  4480. else {
  4481. for (
  4482. var m, u, g, y = d, v = f.length - 1, b = !0;
  4483. b &&
  4484. ((m = f[y]),
  4485. !((u = f[y + 1]).t - this.offsetTime > t));
  4486. )
  4487. y < v - 1 ? (y += 1) : (b = !1);
  4488. if (
  4489. ((g = this.keyframesMetadata[y] || {}),
  4490. (d = y),
  4491. !(s = 1 === m.h))
  4492. ) {
  4493. if (t >= u.t - this.offsetTime) p = 1;
  4494. else if (t < m.t - this.offsetTime) p = 0;
  4495. else {
  4496. var _;
  4497. g.__fnct
  4498. ? (_ = g.__fnct)
  4499. : ((_ = BezierFactory.getBezierEasing(
  4500. m.o.x,
  4501. m.o.y,
  4502. m.i.x,
  4503. m.i.y
  4504. ).get),
  4505. (g.__fnct = _)),
  4506. (p = _(
  4507. (t - (m.t - this.offsetTime)) /
  4508. (u.t -
  4509. this.offsetTime -
  4510. (m.t - this.offsetTime))
  4511. ));
  4512. }
  4513. i = u.s ? u.s[0] : m.e[0];
  4514. }
  4515. a = m.s[0];
  4516. }
  4517. for (
  4518. l = e._length,
  4519. h = a.i[0].length,
  4520. r.lastIndex = d,
  4521. n = 0;
  4522. n < l;
  4523. n += 1
  4524. )
  4525. for (o = 0; o < h; o += 1)
  4526. (c = s
  4527. ? a.i[n][o]
  4528. : a.i[n][o] + (i.i[n][o] - a.i[n][o]) * p),
  4529. (e.i[n][o] = c),
  4530. (c = s
  4531. ? a.o[n][o]
  4532. : a.o[n][o] + (i.o[n][o] - a.o[n][o]) * p),
  4533. (e.o[n][o] = c),
  4534. (c = s
  4535. ? a.v[n][o]
  4536. : a.v[n][o] + (i.v[n][o] - a.v[n][o]) * p),
  4537. (e.v[n][o] = c);
  4538. }
  4539. function r() {
  4540. var e = this.comp.renderedFrame - this.offsetTime,
  4541. r = this.keyframes[0].t - this.offsetTime,
  4542. a =
  4543. this.keyframes[this.keyframes.length - 1].t -
  4544. this.offsetTime,
  4545. i = this._caching.lastFrame;
  4546. return (
  4547. (i !== t && ((i < r && e < r) || (i > a && e > a))) ||
  4548. ((this._caching.lastIndex =
  4549. i < e ? this._caching.lastIndex : 0),
  4550. this.interpolateShape(e, this.pv, this._caching)),
  4551. (this._caching.lastFrame = e),
  4552. this.pv
  4553. );
  4554. }
  4555. function a() {
  4556. this.paths = this.localShapeCollection;
  4557. }
  4558. function i(t) {
  4559. (function (t, e) {
  4560. if (t._length !== e._length || t.c !== e.c) return !1;
  4561. var r,
  4562. a = t._length;
  4563. for (r = 0; r < a; r += 1)
  4564. if (
  4565. t.v[r][0] !== e.v[r][0] ||
  4566. t.v[r][1] !== e.v[r][1] ||
  4567. t.o[r][0] !== e.o[r][0] ||
  4568. t.o[r][1] !== e.o[r][1] ||
  4569. t.i[r][0] !== e.i[r][0] ||
  4570. t.i[r][1] !== e.i[r][1]
  4571. )
  4572. return !1;
  4573. return !0;
  4574. })(this.v, t) ||
  4575. ((this.v = shapePool.clone(t)),
  4576. this.localShapeCollection.releaseShapes(),
  4577. this.localShapeCollection.addShape(this.v),
  4578. (this._mdf = !0),
  4579. (this.paths = this.localShapeCollection));
  4580. }
  4581. function s() {
  4582. if (this.elem.globalData.frameId !== this.frameId)
  4583. if (this.effectsSequence.length)
  4584. if (this.lock) this.setVValue(this.pv);
  4585. else {
  4586. var t, e;
  4587. (this.lock = !0),
  4588. (this._mdf = !1),
  4589. (t = this.kf
  4590. ? this.pv
  4591. : this.data.ks
  4592. ? this.data.ks.k
  4593. : this.data.pt.k);
  4594. var r = this.effectsSequence.length;
  4595. for (e = 0; e < r; e += 1)
  4596. t = this.effectsSequence[e](t);
  4597. this.setVValue(t),
  4598. (this.lock = !1),
  4599. (this.frameId = this.elem.globalData.frameId);
  4600. }
  4601. else this._mdf = !1;
  4602. }
  4603. function n(t, e, r) {
  4604. (this.propType = 'shape'),
  4605. (this.comp = t.comp),
  4606. (this.container = t),
  4607. (this.elem = t),
  4608. (this.data = e),
  4609. (this.k = !1),
  4610. (this.kf = !1),
  4611. (this._mdf = !1);
  4612. var i = 3 === r ? e.pt.k : e.ks.k;
  4613. (this.v = shapePool.clone(i)),
  4614. (this.pv = shapePool.clone(this.v)),
  4615. (this.localShapeCollection =
  4616. shapeCollectionPool.newShapeCollection()),
  4617. (this.paths = this.localShapeCollection),
  4618. this.paths.addShape(this.v),
  4619. (this.reset = a),
  4620. (this.effectsSequence = []);
  4621. }
  4622. function o(t) {
  4623. this.effectsSequence.push(t),
  4624. this.container.addDynamicProperty(this);
  4625. }
  4626. function l(e, i, s) {
  4627. (this.propType = 'shape'),
  4628. (this.comp = e.comp),
  4629. (this.elem = e),
  4630. (this.container = e),
  4631. (this.offsetTime = e.data.st),
  4632. (this.keyframes = 3 === s ? i.pt.k : i.ks.k),
  4633. (this.keyframesMetadata = []),
  4634. (this.k = !0),
  4635. (this.kf = !0);
  4636. var n = this.keyframes[0].s[0].i.length;
  4637. (this.v = shapePool.newElement()),
  4638. this.v.setPathData(this.keyframes[0].s[0].c, n),
  4639. (this.pv = shapePool.clone(this.v)),
  4640. (this.localShapeCollection =
  4641. shapeCollectionPool.newShapeCollection()),
  4642. (this.paths = this.localShapeCollection),
  4643. this.paths.addShape(this.v),
  4644. (this.lastFrame = t),
  4645. (this.reset = a),
  4646. (this._caching = { lastFrame: t, lastIndex: 0 }),
  4647. (this.effectsSequence = [r.bind(this)]);
  4648. }
  4649. (n.prototype.interpolateShape = e),
  4650. (n.prototype.getValue = s),
  4651. (n.prototype.setVValue = i),
  4652. (n.prototype.addEffect = o),
  4653. (l.prototype.getValue = s),
  4654. (l.prototype.interpolateShape = e),
  4655. (l.prototype.setVValue = i),
  4656. (l.prototype.addEffect = o);
  4657. var h = (function () {
  4658. var t = roundCorner;
  4659. function e(t, e) {
  4660. (this.v = shapePool.newElement()),
  4661. this.v.setPathData(!0, 4),
  4662. (this.localShapeCollection =
  4663. shapeCollectionPool.newShapeCollection()),
  4664. (this.paths = this.localShapeCollection),
  4665. this.localShapeCollection.addShape(this.v),
  4666. (this.d = e.d),
  4667. (this.elem = t),
  4668. (this.comp = t.comp),
  4669. (this.frameId = -1),
  4670. this.initDynamicPropertyContainer(t),
  4671. (this.p = PropertyFactory.getProp(
  4672. t,
  4673. e.p,
  4674. 1,
  4675. 0,
  4676. this
  4677. )),
  4678. (this.s = PropertyFactory.getProp(
  4679. t,
  4680. e.s,
  4681. 1,
  4682. 0,
  4683. this
  4684. )),
  4685. this.dynamicProperties.length
  4686. ? (this.k = !0)
  4687. : ((this.k = !1), this.convertEllToPath());
  4688. }
  4689. return (
  4690. (e.prototype = {
  4691. reset: a,
  4692. getValue: function () {
  4693. this.elem.globalData.frameId !== this.frameId &&
  4694. ((this.frameId = this.elem.globalData.frameId),
  4695. this.iterateDynamicProperties(),
  4696. this._mdf && this.convertEllToPath());
  4697. },
  4698. convertEllToPath: function () {
  4699. var e = this.p.v[0],
  4700. r = this.p.v[1],
  4701. a = this.s.v[0] / 2,
  4702. i = this.s.v[1] / 2,
  4703. s = 3 !== this.d,
  4704. n = this.v;
  4705. (n.v[0][0] = e),
  4706. (n.v[0][1] = r - i),
  4707. (n.v[1][0] = s ? e + a : e - a),
  4708. (n.v[1][1] = r),
  4709. (n.v[2][0] = e),
  4710. (n.v[2][1] = r + i),
  4711. (n.v[3][0] = s ? e - a : e + a),
  4712. (n.v[3][1] = r),
  4713. (n.i[0][0] = s ? e - a * t : e + a * t),
  4714. (n.i[0][1] = r - i),
  4715. (n.i[1][0] = s ? e + a : e - a),
  4716. (n.i[1][1] = r - i * t),
  4717. (n.i[2][0] = s ? e + a * t : e - a * t),
  4718. (n.i[2][1] = r + i),
  4719. (n.i[3][0] = s ? e - a : e + a),
  4720. (n.i[3][1] = r + i * t),
  4721. (n.o[0][0] = s ? e + a * t : e - a * t),
  4722. (n.o[0][1] = r - i),
  4723. (n.o[1][0] = s ? e + a : e - a),
  4724. (n.o[1][1] = r + i * t),
  4725. (n.o[2][0] = s ? e - a * t : e + a * t),
  4726. (n.o[2][1] = r + i),
  4727. (n.o[3][0] = s ? e - a : e + a),
  4728. (n.o[3][1] = r - i * t);
  4729. }
  4730. }),
  4731. extendPrototype([DynamicPropertyContainer], e),
  4732. e
  4733. );
  4734. })(),
  4735. p = (function () {
  4736. function t(t, e) {
  4737. (this.v = shapePool.newElement()),
  4738. this.v.setPathData(!0, 0),
  4739. (this.elem = t),
  4740. (this.comp = t.comp),
  4741. (this.data = e),
  4742. (this.frameId = -1),
  4743. (this.d = e.d),
  4744. this.initDynamicPropertyContainer(t),
  4745. 1 === e.sy
  4746. ? ((this.ir = PropertyFactory.getProp(
  4747. t,
  4748. e.ir,
  4749. 0,
  4750. 0,
  4751. this
  4752. )),
  4753. (this.is = PropertyFactory.getProp(
  4754. t,
  4755. e.is,
  4756. 0,
  4757. 0.01,
  4758. this
  4759. )),
  4760. (this.convertToPath = this.convertStarToPath))
  4761. : (this.convertToPath =
  4762. this.convertPolygonToPath),
  4763. (this.pt = PropertyFactory.getProp(
  4764. t,
  4765. e.pt,
  4766. 0,
  4767. 0,
  4768. this
  4769. )),
  4770. (this.p = PropertyFactory.getProp(
  4771. t,
  4772. e.p,
  4773. 1,
  4774. 0,
  4775. this
  4776. )),
  4777. (this.r = PropertyFactory.getProp(
  4778. t,
  4779. e.r,
  4780. 0,
  4781. degToRads,
  4782. this
  4783. )),
  4784. (this.or = PropertyFactory.getProp(
  4785. t,
  4786. e.or,
  4787. 0,
  4788. 0,
  4789. this
  4790. )),
  4791. (this.os = PropertyFactory.getProp(
  4792. t,
  4793. e.os,
  4794. 0,
  4795. 0.01,
  4796. this
  4797. )),
  4798. (this.localShapeCollection =
  4799. shapeCollectionPool.newShapeCollection()),
  4800. this.localShapeCollection.addShape(this.v),
  4801. (this.paths = this.localShapeCollection),
  4802. this.dynamicProperties.length
  4803. ? (this.k = !0)
  4804. : ((this.k = !1), this.convertToPath());
  4805. }
  4806. return (
  4807. (t.prototype = {
  4808. reset: a,
  4809. getValue: function () {
  4810. this.elem.globalData.frameId !== this.frameId &&
  4811. ((this.frameId = this.elem.globalData.frameId),
  4812. this.iterateDynamicProperties(),
  4813. this._mdf && this.convertToPath());
  4814. },
  4815. convertStarToPath: function () {
  4816. var t,
  4817. e,
  4818. r,
  4819. a,
  4820. i = 2 * Math.floor(this.pt.v),
  4821. s = (2 * Math.PI) / i,
  4822. n = !0,
  4823. o = this.or.v,
  4824. l = this.ir.v,
  4825. h = this.os.v,
  4826. p = this.is.v,
  4827. c = (2 * Math.PI * o) / (2 * i),
  4828. d = (2 * Math.PI * l) / (2 * i),
  4829. f = -Math.PI / 2;
  4830. f += this.r.v;
  4831. var m = 3 === this.data.d ? -1 : 1;
  4832. for (this.v._length = 0, t = 0; t < i; t += 1) {
  4833. (r = n ? h : p), (a = n ? c : d);
  4834. var u = (e = n ? o : l) * Math.cos(f),
  4835. g = e * Math.sin(f),
  4836. y =
  4837. 0 === u && 0 === g
  4838. ? 0
  4839. : g / Math.sqrt(u * u + g * g),
  4840. v =
  4841. 0 === u && 0 === g
  4842. ? 0
  4843. : -u / Math.sqrt(u * u + g * g);
  4844. (u += +this.p.v[0]),
  4845. (g += +this.p.v[1]),
  4846. this.v.setTripleAt(
  4847. u,
  4848. g,
  4849. u - y * a * r * m,
  4850. g - v * a * r * m,
  4851. u + y * a * r * m,
  4852. g + v * a * r * m,
  4853. t,
  4854. !0
  4855. ),
  4856. (n = !n),
  4857. (f += s * m);
  4858. }
  4859. },
  4860. convertPolygonToPath: function () {
  4861. var t,
  4862. e = Math.floor(this.pt.v),
  4863. r = (2 * Math.PI) / e,
  4864. a = this.or.v,
  4865. i = this.os.v,
  4866. s = (2 * Math.PI * a) / (4 * e),
  4867. n = 0.5 * -Math.PI,
  4868. o = 3 === this.data.d ? -1 : 1;
  4869. for (
  4870. n += this.r.v, this.v._length = 0, t = 0;
  4871. t < e;
  4872. t += 1
  4873. ) {
  4874. var l = a * Math.cos(n),
  4875. h = a * Math.sin(n),
  4876. p =
  4877. 0 === l && 0 === h
  4878. ? 0
  4879. : h / Math.sqrt(l * l + h * h),
  4880. c =
  4881. 0 === l && 0 === h
  4882. ? 0
  4883. : -l / Math.sqrt(l * l + h * h);
  4884. (l += +this.p.v[0]),
  4885. (h += +this.p.v[1]),
  4886. this.v.setTripleAt(
  4887. l,
  4888. h,
  4889. l - p * s * i * o,
  4890. h - c * s * i * o,
  4891. l + p * s * i * o,
  4892. h + c * s * i * o,
  4893. t,
  4894. !0
  4895. ),
  4896. (n += r * o);
  4897. }
  4898. (this.paths.length = 0), (this.paths[0] = this.v);
  4899. }
  4900. }),
  4901. extendPrototype([DynamicPropertyContainer], t),
  4902. t
  4903. );
  4904. })(),
  4905. c = (function () {
  4906. function t(t, e) {
  4907. (this.v = shapePool.newElement()),
  4908. (this.v.c = !0),
  4909. (this.localShapeCollection =
  4910. shapeCollectionPool.newShapeCollection()),
  4911. this.localShapeCollection.addShape(this.v),
  4912. (this.paths = this.localShapeCollection),
  4913. (this.elem = t),
  4914. (this.comp = t.comp),
  4915. (this.frameId = -1),
  4916. (this.d = e.d),
  4917. this.initDynamicPropertyContainer(t),
  4918. (this.p = PropertyFactory.getProp(
  4919. t,
  4920. e.p,
  4921. 1,
  4922. 0,
  4923. this
  4924. )),
  4925. (this.s = PropertyFactory.getProp(
  4926. t,
  4927. e.s,
  4928. 1,
  4929. 0,
  4930. this
  4931. )),
  4932. (this.r = PropertyFactory.getProp(
  4933. t,
  4934. e.r,
  4935. 0,
  4936. 0,
  4937. this
  4938. )),
  4939. this.dynamicProperties.length
  4940. ? (this.k = !0)
  4941. : ((this.k = !1), this.convertRectToPath());
  4942. }
  4943. return (
  4944. (t.prototype = {
  4945. convertRectToPath: function () {
  4946. var t = this.p.v[0],
  4947. e = this.p.v[1],
  4948. r = this.s.v[0] / 2,
  4949. a = this.s.v[1] / 2,
  4950. i = bmMin(r, a, this.r.v),
  4951. s = i * (1 - roundCorner);
  4952. (this.v._length = 0),
  4953. 2 === this.d || 1 === this.d
  4954. ? (this.v.setTripleAt(
  4955. t + r,
  4956. e - a + i,
  4957. t + r,
  4958. e - a + i,
  4959. t + r,
  4960. e - a + s,
  4961. 0,
  4962. !0
  4963. ),
  4964. this.v.setTripleAt(
  4965. t + r,
  4966. e + a - i,
  4967. t + r,
  4968. e + a - s,
  4969. t + r,
  4970. e + a - i,
  4971. 1,
  4972. !0
  4973. ),
  4974. 0 !== i
  4975. ? (this.v.setTripleAt(
  4976. t + r - i,
  4977. e + a,
  4978. t + r - i,
  4979. e + a,
  4980. t + r - s,
  4981. e + a,
  4982. 2,
  4983. !0
  4984. ),
  4985. this.v.setTripleAt(
  4986. t - r + i,
  4987. e + a,
  4988. t - r + s,
  4989. e + a,
  4990. t - r + i,
  4991. e + a,
  4992. 3,
  4993. !0
  4994. ),
  4995. this.v.setTripleAt(
  4996. t - r,
  4997. e + a - i,
  4998. t - r,
  4999. e + a - i,
  5000. t - r,
  5001. e + a - s,
  5002. 4,
  5003. !0
  5004. ),
  5005. this.v.setTripleAt(
  5006. t - r,
  5007. e - a + i,
  5008. t - r,
  5009. e - a + s,
  5010. t - r,
  5011. e - a + i,
  5012. 5,
  5013. !0
  5014. ),
  5015. this.v.setTripleAt(
  5016. t - r + i,
  5017. e - a,
  5018. t - r + i,
  5019. e - a,
  5020. t - r + s,
  5021. e - a,
  5022. 6,
  5023. !0
  5024. ),
  5025. this.v.setTripleAt(
  5026. t + r - i,
  5027. e - a,
  5028. t + r - s,
  5029. e - a,
  5030. t + r - i,
  5031. e - a,
  5032. 7,
  5033. !0
  5034. ))
  5035. : (this.v.setTripleAt(
  5036. t - r,
  5037. e + a,
  5038. t - r + s,
  5039. e + a,
  5040. t - r,
  5041. e + a,
  5042. 2
  5043. ),
  5044. this.v.setTripleAt(
  5045. t - r,
  5046. e - a,
  5047. t - r,
  5048. e - a + s,
  5049. t - r,
  5050. e - a,
  5051. 3
  5052. )))
  5053. : (this.v.setTripleAt(
  5054. t + r,
  5055. e - a + i,
  5056. t + r,
  5057. e - a + s,
  5058. t + r,
  5059. e - a + i,
  5060. 0,
  5061. !0
  5062. ),
  5063. 0 !== i
  5064. ? (this.v.setTripleAt(
  5065. t + r - i,
  5066. e - a,
  5067. t + r - i,
  5068. e - a,
  5069. t + r - s,
  5070. e - a,
  5071. 1,
  5072. !0
  5073. ),
  5074. this.v.setTripleAt(
  5075. t - r + i,
  5076. e - a,
  5077. t - r + s,
  5078. e - a,
  5079. t - r + i,
  5080. e - a,
  5081. 2,
  5082. !0
  5083. ),
  5084. this.v.setTripleAt(
  5085. t - r,
  5086. e - a + i,
  5087. t - r,
  5088. e - a + i,
  5089. t - r,
  5090. e - a + s,
  5091. 3,
  5092. !0
  5093. ),
  5094. this.v.setTripleAt(
  5095. t - r,
  5096. e + a - i,
  5097. t - r,
  5098. e + a - s,
  5099. t - r,
  5100. e + a - i,
  5101. 4,
  5102. !0
  5103. ),
  5104. this.v.setTripleAt(
  5105. t - r + i,
  5106. e + a,
  5107. t - r + i,
  5108. e + a,
  5109. t - r + s,
  5110. e + a,
  5111. 5,
  5112. !0
  5113. ),
  5114. this.v.setTripleAt(
  5115. t + r - i,
  5116. e + a,
  5117. t + r - s,
  5118. e + a,
  5119. t + r - i,
  5120. e + a,
  5121. 6,
  5122. !0
  5123. ),
  5124. this.v.setTripleAt(
  5125. t + r,
  5126. e + a - i,
  5127. t + r,
  5128. e + a - i,
  5129. t + r,
  5130. e + a - s,
  5131. 7,
  5132. !0
  5133. ))
  5134. : (this.v.setTripleAt(
  5135. t - r,
  5136. e - a,
  5137. t - r + s,
  5138. e - a,
  5139. t - r,
  5140. e - a,
  5141. 1,
  5142. !0
  5143. ),
  5144. this.v.setTripleAt(
  5145. t - r,
  5146. e + a,
  5147. t - r,
  5148. e + a - s,
  5149. t - r,
  5150. e + a,
  5151. 2,
  5152. !0
  5153. ),
  5154. this.v.setTripleAt(
  5155. t + r,
  5156. e + a,
  5157. t + r - s,
  5158. e + a,
  5159. t + r,
  5160. e + a,
  5161. 3,
  5162. !0
  5163. )));
  5164. },
  5165. getValue: function () {
  5166. this.elem.globalData.frameId !== this.frameId &&
  5167. ((this.frameId = this.elem.globalData.frameId),
  5168. this.iterateDynamicProperties(),
  5169. this._mdf && this.convertRectToPath());
  5170. },
  5171. reset: a
  5172. }),
  5173. extendPrototype([DynamicPropertyContainer], t),
  5174. t
  5175. );
  5176. })(),
  5177. d = {
  5178. getShapeProp: function (t, e, r) {
  5179. var a;
  5180. return (
  5181. 3 === r || 4 === r
  5182. ? (a = (3 === r ? e.pt : e.ks).k.length
  5183. ? new l(t, e, r)
  5184. : new n(t, e, r))
  5185. : 5 === r
  5186. ? (a = new c(t, e))
  5187. : 6 === r
  5188. ? (a = new h(t, e))
  5189. : 7 === r && (a = new p(t, e)),
  5190. a.k && t.addDynamicProperty(a),
  5191. a
  5192. );
  5193. },
  5194. getConstructorFunction: function () {
  5195. return n;
  5196. },
  5197. getKeyframedConstructorFunction: function () {
  5198. return l;
  5199. }
  5200. };
  5201. return d;
  5202. })(),
  5203. Matrix = (function () {
  5204. var t = Math.cos,
  5205. e = Math.sin,
  5206. r = Math.tan,
  5207. a = Math.round;
  5208. function i() {
  5209. return (
  5210. (this.props[0] = 1),
  5211. (this.props[1] = 0),
  5212. (this.props[2] = 0),
  5213. (this.props[3] = 0),
  5214. (this.props[4] = 0),
  5215. (this.props[5] = 1),
  5216. (this.props[6] = 0),
  5217. (this.props[7] = 0),
  5218. (this.props[8] = 0),
  5219. (this.props[9] = 0),
  5220. (this.props[10] = 1),
  5221. (this.props[11] = 0),
  5222. (this.props[12] = 0),
  5223. (this.props[13] = 0),
  5224. (this.props[14] = 0),
  5225. (this.props[15] = 1),
  5226. this
  5227. );
  5228. }
  5229. function s(r) {
  5230. if (0 === r) return this;
  5231. var a = t(r),
  5232. i = e(r);
  5233. return this._t(
  5234. a,
  5235. -i,
  5236. 0,
  5237. 0,
  5238. i,
  5239. a,
  5240. 0,
  5241. 0,
  5242. 0,
  5243. 0,
  5244. 1,
  5245. 0,
  5246. 0,
  5247. 0,
  5248. 0,
  5249. 1
  5250. );
  5251. }
  5252. function n(r) {
  5253. if (0 === r) return this;
  5254. var a = t(r),
  5255. i = e(r);
  5256. return this._t(
  5257. 1,
  5258. 0,
  5259. 0,
  5260. 0,
  5261. 0,
  5262. a,
  5263. -i,
  5264. 0,
  5265. 0,
  5266. i,
  5267. a,
  5268. 0,
  5269. 0,
  5270. 0,
  5271. 0,
  5272. 1
  5273. );
  5274. }
  5275. function o(r) {
  5276. if (0 === r) return this;
  5277. var a = t(r),
  5278. i = e(r);
  5279. return this._t(
  5280. a,
  5281. 0,
  5282. i,
  5283. 0,
  5284. 0,
  5285. 1,
  5286. 0,
  5287. 0,
  5288. -i,
  5289. 0,
  5290. a,
  5291. 0,
  5292. 0,
  5293. 0,
  5294. 0,
  5295. 1
  5296. );
  5297. }
  5298. function l(r) {
  5299. if (0 === r) return this;
  5300. var a = t(r),
  5301. i = e(r);
  5302. return this._t(
  5303. a,
  5304. -i,
  5305. 0,
  5306. 0,
  5307. i,
  5308. a,
  5309. 0,
  5310. 0,
  5311. 0,
  5312. 0,
  5313. 1,
  5314. 0,
  5315. 0,
  5316. 0,
  5317. 0,
  5318. 1
  5319. );
  5320. }
  5321. function h(t, e) {
  5322. return this._t(1, e, t, 1, 0, 0);
  5323. }
  5324. function p(t, e) {
  5325. return this.shear(r(t), r(e));
  5326. }
  5327. function c(a, i) {
  5328. var s = t(i),
  5329. n = e(i);
  5330. return this._t(
  5331. s,
  5332. n,
  5333. 0,
  5334. 0,
  5335. -n,
  5336. s,
  5337. 0,
  5338. 0,
  5339. 0,
  5340. 0,
  5341. 1,
  5342. 0,
  5343. 0,
  5344. 0,
  5345. 0,
  5346. 1
  5347. )
  5348. ._t(1, 0, 0, 0, r(a), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
  5349. ._t(s, -n, 0, 0, n, s, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  5350. }
  5351. function d(t, e, r) {
  5352. return (
  5353. r || 0 === r || (r = 1),
  5354. 1 === t && 1 === e && 1 === r
  5355. ? this
  5356. : this._t(
  5357. t,
  5358. 0,
  5359. 0,
  5360. 0,
  5361. 0,
  5362. e,
  5363. 0,
  5364. 0,
  5365. 0,
  5366. 0,
  5367. r,
  5368. 0,
  5369. 0,
  5370. 0,
  5371. 0,
  5372. 1
  5373. )
  5374. );
  5375. }
  5376. function f(t, e, r, a, i, s, n, o, l, h, p, c, d, f, m, u) {
  5377. return (
  5378. (this.props[0] = t),
  5379. (this.props[1] = e),
  5380. (this.props[2] = r),
  5381. (this.props[3] = a),
  5382. (this.props[4] = i),
  5383. (this.props[5] = s),
  5384. (this.props[6] = n),
  5385. (this.props[7] = o),
  5386. (this.props[8] = l),
  5387. (this.props[9] = h),
  5388. (this.props[10] = p),
  5389. (this.props[11] = c),
  5390. (this.props[12] = d),
  5391. (this.props[13] = f),
  5392. (this.props[14] = m),
  5393. (this.props[15] = u),
  5394. this
  5395. );
  5396. }
  5397. function m(t, e, r) {
  5398. return (
  5399. (r = r || 0),
  5400. 0 !== t || 0 !== e || 0 !== r
  5401. ? this._t(
  5402. 1,
  5403. 0,
  5404. 0,
  5405. 0,
  5406. 0,
  5407. 1,
  5408. 0,
  5409. 0,
  5410. 0,
  5411. 0,
  5412. 1,
  5413. 0,
  5414. t,
  5415. e,
  5416. r,
  5417. 1
  5418. )
  5419. : this
  5420. );
  5421. }
  5422. function u(t, e, r, a, i, s, n, o, l, h, p, c, d, f, m, u) {
  5423. var g = this.props;
  5424. if (
  5425. 1 === t &&
  5426. 0 === e &&
  5427. 0 === r &&
  5428. 0 === a &&
  5429. 0 === i &&
  5430. 1 === s &&
  5431. 0 === n &&
  5432. 0 === o &&
  5433. 0 === l &&
  5434. 0 === h &&
  5435. 1 === p &&
  5436. 0 === c
  5437. )
  5438. return (
  5439. (g[12] = g[12] * t + g[15] * d),
  5440. (g[13] = g[13] * s + g[15] * f),
  5441. (g[14] = g[14] * p + g[15] * m),
  5442. (g[15] *= u),
  5443. (this._identityCalculated = !1),
  5444. this
  5445. );
  5446. var y = g[0],
  5447. v = g[1],
  5448. b = g[2],
  5449. _ = g[3],
  5450. w = g[4],
  5451. A = g[5],
  5452. x = g[6],
  5453. P = g[7],
  5454. S = g[8],
  5455. C = g[9],
  5456. T = g[10],
  5457. E = g[11],
  5458. k = g[12],
  5459. M = g[13],
  5460. D = g[14],
  5461. I = g[15];
  5462. return (
  5463. (g[0] = y * t + v * i + b * l + _ * d),
  5464. (g[1] = y * e + v * s + b * h + _ * f),
  5465. (g[2] = y * r + v * n + b * p + _ * m),
  5466. (g[3] = y * a + v * o + b * c + _ * u),
  5467. (g[4] = w * t + A * i + x * l + P * d),
  5468. (g[5] = w * e + A * s + x * h + P * f),
  5469. (g[6] = w * r + A * n + x * p + P * m),
  5470. (g[7] = w * a + A * o + x * c + P * u),
  5471. (g[8] = S * t + C * i + T * l + E * d),
  5472. (g[9] = S * e + C * s + T * h + E * f),
  5473. (g[10] = S * r + C * n + T * p + E * m),
  5474. (g[11] = S * a + C * o + T * c + E * u),
  5475. (g[12] = k * t + M * i + D * l + I * d),
  5476. (g[13] = k * e + M * s + D * h + I * f),
  5477. (g[14] = k * r + M * n + D * p + I * m),
  5478. (g[15] = k * a + M * o + D * c + I * u),
  5479. (this._identityCalculated = !1),
  5480. this
  5481. );
  5482. }
  5483. function g(t) {
  5484. var e = t.props;
  5485. return this.transform(
  5486. e[0],
  5487. e[1],
  5488. e[2],
  5489. e[3],
  5490. e[4],
  5491. e[5],
  5492. e[6],
  5493. e[7],
  5494. e[8],
  5495. e[9],
  5496. e[10],
  5497. e[11],
  5498. e[12],
  5499. e[13],
  5500. e[14],
  5501. e[15]
  5502. );
  5503. }
  5504. function y() {
  5505. return (
  5506. this._identityCalculated ||
  5507. ((this._identity = !(
  5508. 1 !== this.props[0] ||
  5509. 0 !== this.props[1] ||
  5510. 0 !== this.props[2] ||
  5511. 0 !== this.props[3] ||
  5512. 0 !== this.props[4] ||
  5513. 1 !== this.props[5] ||
  5514. 0 !== this.props[6] ||
  5515. 0 !== this.props[7] ||
  5516. 0 !== this.props[8] ||
  5517. 0 !== this.props[9] ||
  5518. 1 !== this.props[10] ||
  5519. 0 !== this.props[11] ||
  5520. 0 !== this.props[12] ||
  5521. 0 !== this.props[13] ||
  5522. 0 !== this.props[14] ||
  5523. 1 !== this.props[15]
  5524. )),
  5525. (this._identityCalculated = !0)),
  5526. this._identity
  5527. );
  5528. }
  5529. function v(t) {
  5530. for (var e = 0; e < 16; ) {
  5531. if (t.props[e] !== this.props[e]) return !1;
  5532. e += 1;
  5533. }
  5534. return !0;
  5535. }
  5536. function b(t) {
  5537. var e;
  5538. for (e = 0; e < 16; e += 1) t.props[e] = this.props[e];
  5539. return t;
  5540. }
  5541. function _(t) {
  5542. var e;
  5543. for (e = 0; e < 16; e += 1) this.props[e] = t[e];
  5544. }
  5545. function w(t, e, r) {
  5546. return {
  5547. x:
  5548. t * this.props[0] +
  5549. e * this.props[4] +
  5550. r * this.props[8] +
  5551. this.props[12],
  5552. y:
  5553. t * this.props[1] +
  5554. e * this.props[5] +
  5555. r * this.props[9] +
  5556. this.props[13],
  5557. z:
  5558. t * this.props[2] +
  5559. e * this.props[6] +
  5560. r * this.props[10] +
  5561. this.props[14]
  5562. };
  5563. }
  5564. function A(t, e, r) {
  5565. return (
  5566. t * this.props[0] +
  5567. e * this.props[4] +
  5568. r * this.props[8] +
  5569. this.props[12]
  5570. );
  5571. }
  5572. function x(t, e, r) {
  5573. return (
  5574. t * this.props[1] +
  5575. e * this.props[5] +
  5576. r * this.props[9] +
  5577. this.props[13]
  5578. );
  5579. }
  5580. function P(t, e, r) {
  5581. return (
  5582. t * this.props[2] +
  5583. e * this.props[6] +
  5584. r * this.props[10] +
  5585. this.props[14]
  5586. );
  5587. }
  5588. function S() {
  5589. var t =
  5590. this.props[0] * this.props[5] -
  5591. this.props[1] * this.props[4],
  5592. e = this.props[5] / t,
  5593. r = -this.props[1] / t,
  5594. a = -this.props[4] / t,
  5595. i = this.props[0] / t,
  5596. s =
  5597. (this.props[4] * this.props[13] -
  5598. this.props[5] * this.props[12]) /
  5599. t,
  5600. n =
  5601. -(
  5602. this.props[0] * this.props[13] -
  5603. this.props[1] * this.props[12]
  5604. ) / t,
  5605. o = new Matrix();
  5606. return (
  5607. (o.props[0] = e),
  5608. (o.props[1] = r),
  5609. (o.props[4] = a),
  5610. (o.props[5] = i),
  5611. (o.props[12] = s),
  5612. (o.props[13] = n),
  5613. o
  5614. );
  5615. }
  5616. function C(t) {
  5617. return this.getInverseMatrix().applyToPointArray(
  5618. t[0],
  5619. t[1],
  5620. t[2] || 0
  5621. );
  5622. }
  5623. function T(t) {
  5624. var e,
  5625. r = t.length,
  5626. a = [];
  5627. for (e = 0; e < r; e += 1) a[e] = C(t[e]);
  5628. return a;
  5629. }
  5630. function E(t, e, r) {
  5631. var a = createTypedArray('float32', 6);
  5632. if (this.isIdentity())
  5633. (a[0] = t[0]),
  5634. (a[1] = t[1]),
  5635. (a[2] = e[0]),
  5636. (a[3] = e[1]),
  5637. (a[4] = r[0]),
  5638. (a[5] = r[1]);
  5639. else {
  5640. var i = this.props[0],
  5641. s = this.props[1],
  5642. n = this.props[4],
  5643. o = this.props[5],
  5644. l = this.props[12],
  5645. h = this.props[13];
  5646. (a[0] = t[0] * i + t[1] * n + l),
  5647. (a[1] = t[0] * s + t[1] * o + h),
  5648. (a[2] = e[0] * i + e[1] * n + l),
  5649. (a[3] = e[0] * s + e[1] * o + h),
  5650. (a[4] = r[0] * i + r[1] * n + l),
  5651. (a[5] = r[0] * s + r[1] * o + h);
  5652. }
  5653. return a;
  5654. }
  5655. function k(t, e, r) {
  5656. return this.isIdentity()
  5657. ? [t, e, r]
  5658. : [
  5659. t * this.props[0] +
  5660. e * this.props[4] +
  5661. r * this.props[8] +
  5662. this.props[12],
  5663. t * this.props[1] +
  5664. e * this.props[5] +
  5665. r * this.props[9] +
  5666. this.props[13],
  5667. t * this.props[2] +
  5668. e * this.props[6] +
  5669. r * this.props[10] +
  5670. this.props[14]
  5671. ];
  5672. }
  5673. function M(t, e) {
  5674. if (this.isIdentity()) return t + ',' + e;
  5675. var r = this.props;
  5676. return (
  5677. Math.round(100 * (t * r[0] + e * r[4] + r[12])) / 100 +
  5678. ',' +
  5679. Math.round(100 * (t * r[1] + e * r[5] + r[13])) / 100
  5680. );
  5681. }
  5682. function D() {
  5683. for (var t = 0, e = this.props, r = 'matrix3d('; t < 16; )
  5684. (r += a(1e4 * e[t]) / 1e4),
  5685. (r += 15 === t ? ')' : ','),
  5686. (t += 1);
  5687. return r;
  5688. }
  5689. function I(t) {
  5690. return (t < 1e-6 && t > 0) || (t > -1e-6 && t < 0)
  5691. ? a(1e4 * t) / 1e4
  5692. : t;
  5693. }
  5694. function F() {
  5695. var t = this.props;
  5696. return (
  5697. 'matrix(' +
  5698. I(t[0]) +
  5699. ',' +
  5700. I(t[1]) +
  5701. ',' +
  5702. I(t[4]) +
  5703. ',' +
  5704. I(t[5]) +
  5705. ',' +
  5706. I(t[12]) +
  5707. ',' +
  5708. I(t[13]) +
  5709. ')'
  5710. );
  5711. }
  5712. return function () {
  5713. (this.reset = i),
  5714. (this.rotate = s),
  5715. (this.rotateX = n),
  5716. (this.rotateY = o),
  5717. (this.rotateZ = l),
  5718. (this.skew = p),
  5719. (this.skewFromAxis = c),
  5720. (this.shear = h),
  5721. (this.scale = d),
  5722. (this.setTransform = f),
  5723. (this.translate = m),
  5724. (this.transform = u),
  5725. (this.multiply = g),
  5726. (this.applyToPoint = w),
  5727. (this.applyToX = A),
  5728. (this.applyToY = x),
  5729. (this.applyToZ = P),
  5730. (this.applyToPointArray = k),
  5731. (this.applyToTriplePoints = E),
  5732. (this.applyToPointStringified = M),
  5733. (this.toCSS = D),
  5734. (this.to2dCSS = F),
  5735. (this.clone = b),
  5736. (this.cloneFromProps = _),
  5737. (this.equals = v),
  5738. (this.inversePoints = T),
  5739. (this.inversePoint = C),
  5740. (this.getInverseMatrix = S),
  5741. (this._t = this.transform),
  5742. (this.isIdentity = y),
  5743. (this._identity = !0),
  5744. (this._identityCalculated = !1),
  5745. (this.props = createTypedArray('float32', 16)),
  5746. this.reset();
  5747. };
  5748. })();
  5749. function _typeof$3(t) {
  5750. return (
  5751. (_typeof$3 =
  5752. 'function' == typeof Symbol &&
  5753. 'symbol' == typeof Symbol.iterator
  5754. ? function (t) {
  5755. return typeof t;
  5756. }
  5757. : function (t) {
  5758. return t &&
  5759. 'function' == typeof Symbol &&
  5760. t.constructor === Symbol &&
  5761. t !== Symbol.prototype
  5762. ? 'symbol'
  5763. : typeof t;
  5764. }),
  5765. _typeof$3(t)
  5766. );
  5767. }
  5768. var lottie = {};
  5769. function setLocation(t) {
  5770. setLocationHref(t);
  5771. }
  5772. function searchAnimations() {
  5773. animationManager.searchAnimations();
  5774. }
  5775. function setSubframeRendering(t) {
  5776. setSubframeEnabled(t);
  5777. }
  5778. function setPrefix(t) {
  5779. setIdPrefix(t);
  5780. }
  5781. function loadAnimation(t) {
  5782. return animationManager.loadAnimation(t);
  5783. }
  5784. function setQuality(t) {
  5785. if ('string' == typeof t)
  5786. switch (t) {
  5787. case 'high':
  5788. setDefaultCurveSegments(200);
  5789. break;
  5790. default:
  5791. case 'medium':
  5792. setDefaultCurveSegments(50);
  5793. break;
  5794. case 'low':
  5795. setDefaultCurveSegments(10);
  5796. }
  5797. else !isNaN(t) && t > 1 && setDefaultCurveSegments(t);
  5798. }
  5799. function inBrowser() {
  5800. return 'undefined' != typeof navigator;
  5801. }
  5802. function installPlugin(t, e) {
  5803. 'expressions' === t && setExpressionsPlugin(e);
  5804. }
  5805. function getFactory(t) {
  5806. switch (t) {
  5807. case 'propertyFactory':
  5808. return PropertyFactory;
  5809. case 'shapePropertyFactory':
  5810. return ShapePropertyFactory;
  5811. case 'matrix':
  5812. return Matrix;
  5813. default:
  5814. return null;
  5815. }
  5816. }
  5817. function checkReady() {
  5818. 'complete' === document.readyState &&
  5819. (clearInterval(readyStateCheckInterval),
  5820. searchAnimations());
  5821. }
  5822. function getQueryVariable(t) {
  5823. for (
  5824. var e = queryString.split('&'), r = 0;
  5825. r < e.length;
  5826. r += 1
  5827. ) {
  5828. var a = e[r].split('=');
  5829. if (decodeURIComponent(a[0]) == t)
  5830. return decodeURIComponent(a[1]);
  5831. }
  5832. return null;
  5833. }
  5834. (lottie.play = animationManager.play),
  5835. (lottie.pause = animationManager.pause),
  5836. (lottie.setLocationHref = setLocation),
  5837. (lottie.togglePause = animationManager.togglePause),
  5838. (lottie.setSpeed = animationManager.setSpeed),
  5839. (lottie.setDirection = animationManager.setDirection),
  5840. (lottie.stop = animationManager.stop),
  5841. (lottie.searchAnimations = searchAnimations),
  5842. (lottie.registerAnimation =
  5843. animationManager.registerAnimation),
  5844. (lottie.loadAnimation = loadAnimation),
  5845. (lottie.setSubframeRendering = setSubframeRendering),
  5846. (lottie.resize = animationManager.resize),
  5847. (lottie.goToAndStop = animationManager.goToAndStop),
  5848. (lottie.destroy = animationManager.destroy),
  5849. (lottie.setQuality = setQuality),
  5850. (lottie.inBrowser = inBrowser),
  5851. (lottie.installPlugin = installPlugin),
  5852. (lottie.freeze = animationManager.freeze),
  5853. (lottie.unfreeze = animationManager.unfreeze),
  5854. (lottie.setVolume = animationManager.setVolume),
  5855. (lottie.mute = animationManager.mute),
  5856. (lottie.unmute = animationManager.unmute),
  5857. (lottie.getRegisteredAnimations =
  5858. animationManager.getRegisteredAnimations),
  5859. (lottie.useWebWorker = setWebWorker),
  5860. (lottie.setIDPrefix = setPrefix),
  5861. (lottie.__getFactory = getFactory),
  5862. (lottie.version = '5.12.2');
  5863. var queryString = '',
  5864. scripts = document.getElementsByTagName('script'),
  5865. index = scripts.length - 1,
  5866. myScript = scripts[index] || { src: '' };
  5867. (queryString = myScript.src
  5868. ? myScript.src.replace(/^[^\?]+\??/, '')
  5869. : ''),
  5870. getQueryVariable('renderer');
  5871. var readyStateCheckInterval = setInterval(checkReady, 100);
  5872. try {
  5873. 'object' !== _typeof$3(exports) &&
  5874. (window.bodymovin = lottie);
  5875. } catch (err) {}
  5876. var ShapeModifiers = (function () {
  5877. var t = {},
  5878. e = {};
  5879. return (
  5880. (t.registerModifier = function (t, r) {
  5881. e[t] || (e[t] = r);
  5882. }),
  5883. (t.getModifier = function (t, r, a) {
  5884. return new e[t](r, a);
  5885. }),
  5886. t
  5887. );
  5888. })();
  5889. function ShapeModifier() {}
  5890. function TrimModifier() {}
  5891. function PuckerAndBloatModifier() {}
  5892. (ShapeModifier.prototype.initModifierProperties =
  5893. function () {}),
  5894. (ShapeModifier.prototype.addShapeToModifier = function () {}),
  5895. (ShapeModifier.prototype.addShape = function (t) {
  5896. if (!this.closed) {
  5897. t.sh.container.addDynamicProperty(t.sh);
  5898. var e = {
  5899. shape: t.sh,
  5900. data: t,
  5901. localShapeCollection:
  5902. shapeCollectionPool.newShapeCollection()
  5903. };
  5904. this.shapes.push(e),
  5905. this.addShapeToModifier(e),
  5906. this._isAnimated && t.setAsAnimated();
  5907. }
  5908. }),
  5909. (ShapeModifier.prototype.init = function (t, e) {
  5910. (this.shapes = []),
  5911. (this.elem = t),
  5912. this.initDynamicPropertyContainer(t),
  5913. this.initModifierProperties(t, e),
  5914. (this.frameId = initialDefaultFrame),
  5915. (this.closed = !1),
  5916. (this.k = !1),
  5917. this.dynamicProperties.length
  5918. ? (this.k = !0)
  5919. : this.getValue(!0);
  5920. }),
  5921. (ShapeModifier.prototype.processKeys = function () {
  5922. this.elem.globalData.frameId !== this.frameId &&
  5923. ((this.frameId = this.elem.globalData.frameId),
  5924. this.iterateDynamicProperties());
  5925. }),
  5926. extendPrototype([DynamicPropertyContainer], ShapeModifier),
  5927. extendPrototype([ShapeModifier], TrimModifier),
  5928. (TrimModifier.prototype.initModifierProperties = function (
  5929. t,
  5930. e
  5931. ) {
  5932. (this.s = PropertyFactory.getProp(t, e.s, 0, 0.01, this)),
  5933. (this.e = PropertyFactory.getProp(t, e.e, 0, 0.01, this)),
  5934. (this.o = PropertyFactory.getProp(t, e.o, 0, 0, this)),
  5935. (this.sValue = 0),
  5936. (this.eValue = 0),
  5937. (this.getValue = this.processKeys),
  5938. (this.m = e.m),
  5939. (this._isAnimated =
  5940. !!this.s.effectsSequence.length ||
  5941. !!this.e.effectsSequence.length ||
  5942. !!this.o.effectsSequence.length);
  5943. }),
  5944. (TrimModifier.prototype.addShapeToModifier = function (t) {
  5945. t.pathsData = [];
  5946. }),
  5947. (TrimModifier.prototype.calculateShapeEdges = function (
  5948. t,
  5949. e,
  5950. r,
  5951. a,
  5952. i
  5953. ) {
  5954. var s = [];
  5955. e <= 1
  5956. ? s.push({ s: t, e: e })
  5957. : t >= 1
  5958. ? s.push({ s: t - 1, e: e - 1 })
  5959. : (s.push({ s: t, e: 1 }), s.push({ s: 0, e: e - 1 }));
  5960. var n,
  5961. o,
  5962. l = [],
  5963. h = s.length;
  5964. for (n = 0; n < h; n += 1) {
  5965. var p, c;
  5966. (o = s[n]).e * i < a ||
  5967. o.s * i > a + r ||
  5968. ((p = o.s * i <= a ? 0 : (o.s * i - a) / r),
  5969. (c = o.e * i >= a + r ? 1 : (o.e * i - a) / r),
  5970. l.push([p, c]));
  5971. }
  5972. return l.length || l.push([0, 0]), l;
  5973. }),
  5974. (TrimModifier.prototype.releasePathsData = function (t) {
  5975. var e,
  5976. r = t.length;
  5977. for (e = 0; e < r; e += 1) segmentsLengthPool.release(t[e]);
  5978. return (t.length = 0), t;
  5979. }),
  5980. (TrimModifier.prototype.processShapes = function (t) {
  5981. var e, r, a, i;
  5982. if (this._mdf || t) {
  5983. var s = (this.o.v % 360) / 360;
  5984. if (
  5985. (s < 0 && (s += 1),
  5986. (e =
  5987. this.s.v > 1
  5988. ? 1 + s
  5989. : this.s.v < 0
  5990. ? 0 + s
  5991. : this.s.v + s) >
  5992. (r =
  5993. this.e.v > 1
  5994. ? 1 + s
  5995. : this.e.v < 0
  5996. ? 0 + s
  5997. : this.e.v + s))
  5998. ) {
  5999. var n = e;
  6000. (e = r), (r = n);
  6001. }
  6002. (e = 1e-4 * Math.round(1e4 * e)),
  6003. (r = 1e-4 * Math.round(1e4 * r)),
  6004. (this.sValue = e),
  6005. (this.eValue = r);
  6006. } else (e = this.sValue), (r = this.eValue);
  6007. var o,
  6008. l,
  6009. h,
  6010. p,
  6011. c,
  6012. d = this.shapes.length,
  6013. f = 0;
  6014. if (r === e)
  6015. for (i = 0; i < d; i += 1)
  6016. this.shapes[i].localShapeCollection.releaseShapes(),
  6017. (this.shapes[i].shape._mdf = !0),
  6018. (this.shapes[i].shape.paths =
  6019. this.shapes[i].localShapeCollection),
  6020. this._mdf && (this.shapes[i].pathsData.length = 0);
  6021. else if ((1 === r && 0 === e) || (0 === r && 1 === e)) {
  6022. if (this._mdf)
  6023. for (i = 0; i < d; i += 1)
  6024. (this.shapes[i].pathsData.length = 0),
  6025. (this.shapes[i].shape._mdf = !0);
  6026. } else {
  6027. var m,
  6028. u,
  6029. g = [];
  6030. for (i = 0; i < d; i += 1)
  6031. if (
  6032. (m = this.shapes[i]).shape._mdf ||
  6033. this._mdf ||
  6034. t ||
  6035. 2 === this.m
  6036. ) {
  6037. if (
  6038. ((l = (a = m.shape.paths)._length),
  6039. (c = 0),
  6040. !m.shape._mdf && m.pathsData.length)
  6041. )
  6042. c = m.totalShapeLength;
  6043. else {
  6044. for (
  6045. h = this.releasePathsData(m.pathsData), o = 0;
  6046. o < l;
  6047. o += 1
  6048. )
  6049. (p = bez.getSegmentsLength(a.shapes[o])),
  6050. h.push(p),
  6051. (c += p.totalLength);
  6052. (m.totalShapeLength = c), (m.pathsData = h);
  6053. }
  6054. (f += c), (m.shape._mdf = !0);
  6055. } else m.shape.paths = m.localShapeCollection;
  6056. var y,
  6057. v = e,
  6058. b = r,
  6059. _ = 0;
  6060. for (i = d - 1; i >= 0; i -= 1)
  6061. if ((m = this.shapes[i]).shape._mdf) {
  6062. for (
  6063. (u = m.localShapeCollection).releaseShapes(),
  6064. 2 === this.m && d > 1
  6065. ? ((y = this.calculateShapeEdges(
  6066. e,
  6067. r,
  6068. m.totalShapeLength,
  6069. _,
  6070. f
  6071. )),
  6072. (_ += m.totalShapeLength))
  6073. : (y = [[v, b]]),
  6074. l = y.length,
  6075. o = 0;
  6076. o < l;
  6077. o += 1
  6078. ) {
  6079. (v = y[o][0]),
  6080. (b = y[o][1]),
  6081. (g.length = 0),
  6082. b <= 1
  6083. ? g.push({
  6084. s: m.totalShapeLength * v,
  6085. e: m.totalShapeLength * b
  6086. })
  6087. : v >= 1
  6088. ? g.push({
  6089. s: m.totalShapeLength * (v - 1),
  6090. e: m.totalShapeLength * (b - 1)
  6091. })
  6092. : (g.push({
  6093. s: m.totalShapeLength * v,
  6094. e: m.totalShapeLength
  6095. }),
  6096. g.push({
  6097. s: 0,
  6098. e: m.totalShapeLength * (b - 1)
  6099. }));
  6100. var w = this.addShapes(m, g[0]);
  6101. if (g[0].s !== g[0].e) {
  6102. if (g.length > 1)
  6103. if (
  6104. m.shape.paths.shapes[
  6105. m.shape.paths._length - 1
  6106. ].c
  6107. ) {
  6108. var A = w.pop();
  6109. this.addPaths(w, u),
  6110. (w = this.addShapes(m, g[1], A));
  6111. } else
  6112. this.addPaths(w, u),
  6113. (w = this.addShapes(m, g[1]));
  6114. this.addPaths(w, u);
  6115. }
  6116. }
  6117. m.shape.paths = u;
  6118. }
  6119. }
  6120. }),
  6121. (TrimModifier.prototype.addPaths = function (t, e) {
  6122. var r,
  6123. a = t.length;
  6124. for (r = 0; r < a; r += 1) e.addShape(t[r]);
  6125. }),
  6126. (TrimModifier.prototype.addSegment = function (
  6127. t,
  6128. e,
  6129. r,
  6130. a,
  6131. i,
  6132. s,
  6133. n
  6134. ) {
  6135. i.setXYAt(e[0], e[1], 'o', s),
  6136. i.setXYAt(r[0], r[1], 'i', s + 1),
  6137. n && i.setXYAt(t[0], t[1], 'v', s),
  6138. i.setXYAt(a[0], a[1], 'v', s + 1);
  6139. }),
  6140. (TrimModifier.prototype.addSegmentFromArray = function (
  6141. t,
  6142. e,
  6143. r,
  6144. a
  6145. ) {
  6146. e.setXYAt(t[1], t[5], 'o', r),
  6147. e.setXYAt(t[2], t[6], 'i', r + 1),
  6148. a && e.setXYAt(t[0], t[4], 'v', r),
  6149. e.setXYAt(t[3], t[7], 'v', r + 1);
  6150. }),
  6151. (TrimModifier.prototype.addShapes = function (t, e, r) {
  6152. var a,
  6153. i,
  6154. s,
  6155. n,
  6156. o,
  6157. l,
  6158. h,
  6159. p,
  6160. c = t.pathsData,
  6161. d = t.shape.paths.shapes,
  6162. f = t.shape.paths._length,
  6163. m = 0,
  6164. u = [],
  6165. g = !0;
  6166. for (
  6167. r
  6168. ? ((o = r._length), (p = r._length))
  6169. : ((r = shapePool.newElement()), (o = 0), (p = 0)),
  6170. u.push(r),
  6171. a = 0;
  6172. a < f;
  6173. a += 1
  6174. ) {
  6175. for (
  6176. l = c[a].lengths,
  6177. r.c = d[a].c,
  6178. s = d[a].c ? l.length : l.length + 1,
  6179. i = 1;
  6180. i < s;
  6181. i += 1
  6182. )
  6183. if (m + (n = l[i - 1]).addedLength < e.s)
  6184. (m += n.addedLength), (r.c = !1);
  6185. else {
  6186. if (m > e.e) {
  6187. r.c = !1;
  6188. break;
  6189. }
  6190. e.s <= m && e.e >= m + n.addedLength
  6191. ? (this.addSegment(
  6192. d[a].v[i - 1],
  6193. d[a].o[i - 1],
  6194. d[a].i[i],
  6195. d[a].v[i],
  6196. r,
  6197. o,
  6198. g
  6199. ),
  6200. (g = !1))
  6201. : ((h = bez.getNewSegment(
  6202. d[a].v[i - 1],
  6203. d[a].v[i],
  6204. d[a].o[i - 1],
  6205. d[a].i[i],
  6206. (e.s - m) / n.addedLength,
  6207. (e.e - m) / n.addedLength,
  6208. l[i - 1]
  6209. )),
  6210. this.addSegmentFromArray(h, r, o, g),
  6211. (g = !1),
  6212. (r.c = !1)),
  6213. (m += n.addedLength),
  6214. (o += 1);
  6215. }
  6216. if (d[a].c && l.length) {
  6217. if (((n = l[i - 1]), m <= e.e)) {
  6218. var y = l[i - 1].addedLength;
  6219. e.s <= m && e.e >= m + y
  6220. ? (this.addSegment(
  6221. d[a].v[i - 1],
  6222. d[a].o[i - 1],
  6223. d[a].i[0],
  6224. d[a].v[0],
  6225. r,
  6226. o,
  6227. g
  6228. ),
  6229. (g = !1))
  6230. : ((h = bez.getNewSegment(
  6231. d[a].v[i - 1],
  6232. d[a].v[0],
  6233. d[a].o[i - 1],
  6234. d[a].i[0],
  6235. (e.s - m) / y,
  6236. (e.e - m) / y,
  6237. l[i - 1]
  6238. )),
  6239. this.addSegmentFromArray(h, r, o, g),
  6240. (g = !1),
  6241. (r.c = !1));
  6242. } else r.c = !1;
  6243. (m += n.addedLength), (o += 1);
  6244. }
  6245. if (
  6246. (r._length &&
  6247. (r.setXYAt(r.v[p][0], r.v[p][1], 'i', p),
  6248. r.setXYAt(
  6249. r.v[r._length - 1][0],
  6250. r.v[r._length - 1][1],
  6251. 'o',
  6252. r._length - 1
  6253. )),
  6254. m > e.e)
  6255. )
  6256. break;
  6257. a < f - 1 &&
  6258. ((r = shapePool.newElement()),
  6259. (g = !0),
  6260. u.push(r),
  6261. (o = 0));
  6262. }
  6263. return u;
  6264. }),
  6265. extendPrototype([ShapeModifier], PuckerAndBloatModifier),
  6266. (PuckerAndBloatModifier.prototype.initModifierProperties =
  6267. function (t, e) {
  6268. (this.getValue = this.processKeys),
  6269. (this.amount = PropertyFactory.getProp(
  6270. t,
  6271. e.a,
  6272. 0,
  6273. null,
  6274. this
  6275. )),
  6276. (this._isAnimated =
  6277. !!this.amount.effectsSequence.length);
  6278. }),
  6279. (PuckerAndBloatModifier.prototype.processPath = function (
  6280. t,
  6281. e
  6282. ) {
  6283. var r = e / 100,
  6284. a = [0, 0],
  6285. i = t._length,
  6286. s = 0;
  6287. for (s = 0; s < i; s += 1)
  6288. (a[0] += t.v[s][0]), (a[1] += t.v[s][1]);
  6289. (a[0] /= i), (a[1] /= i);
  6290. var n,
  6291. o,
  6292. l,
  6293. h,
  6294. p,
  6295. c,
  6296. d = shapePool.newElement();
  6297. for (d.c = t.c, s = 0; s < i; s += 1)
  6298. (n = t.v[s][0] + (a[0] - t.v[s][0]) * r),
  6299. (o = t.v[s][1] + (a[1] - t.v[s][1]) * r),
  6300. (l = t.o[s][0] + (a[0] - t.o[s][0]) * -r),
  6301. (h = t.o[s][1] + (a[1] - t.o[s][1]) * -r),
  6302. (p = t.i[s][0] + (a[0] - t.i[s][0]) * -r),
  6303. (c = t.i[s][1] + (a[1] - t.i[s][1]) * -r),
  6304. d.setTripleAt(n, o, l, h, p, c, s);
  6305. return d;
  6306. }),
  6307. (PuckerAndBloatModifier.prototype.processShapes = function (
  6308. t
  6309. ) {
  6310. var e,
  6311. r,
  6312. a,
  6313. i,
  6314. s,
  6315. n,
  6316. o = this.shapes.length,
  6317. l = this.amount.v;
  6318. if (0 !== l)
  6319. for (r = 0; r < o; r += 1) {
  6320. if (
  6321. ((n = (s = this.shapes[r]).localShapeCollection),
  6322. s.shape._mdf || this._mdf || t)
  6323. )
  6324. for (
  6325. n.releaseShapes(),
  6326. s.shape._mdf = !0,
  6327. e = s.shape.paths.shapes,
  6328. i = s.shape.paths._length,
  6329. a = 0;
  6330. a < i;
  6331. a += 1
  6332. )
  6333. n.addShape(this.processPath(e[a], l));
  6334. s.shape.paths = s.localShapeCollection;
  6335. }
  6336. this.dynamicProperties.length || (this._mdf = !1);
  6337. });
  6338. var TransformPropertyFactory = (function () {
  6339. var t = [0, 0];
  6340. function e(t, e, r) {
  6341. if (
  6342. ((this.elem = t),
  6343. (this.frameId = -1),
  6344. (this.propType = 'transform'),
  6345. (this.data = e),
  6346. (this.v = new Matrix()),
  6347. (this.pre = new Matrix()),
  6348. (this.appliedTransformations = 0),
  6349. this.initDynamicPropertyContainer(r || t),
  6350. e.p && e.p.s
  6351. ? ((this.px = PropertyFactory.getProp(
  6352. t,
  6353. e.p.x,
  6354. 0,
  6355. 0,
  6356. this
  6357. )),
  6358. (this.py = PropertyFactory.getProp(
  6359. t,
  6360. e.p.y,
  6361. 0,
  6362. 0,
  6363. this
  6364. )),
  6365. e.p.z &&
  6366. (this.pz = PropertyFactory.getProp(
  6367. t,
  6368. e.p.z,
  6369. 0,
  6370. 0,
  6371. this
  6372. )))
  6373. : (this.p = PropertyFactory.getProp(
  6374. t,
  6375. e.p || { k: [0, 0, 0] },
  6376. 1,
  6377. 0,
  6378. this
  6379. )),
  6380. e.rx)
  6381. ) {
  6382. if (
  6383. ((this.rx = PropertyFactory.getProp(
  6384. t,
  6385. e.rx,
  6386. 0,
  6387. degToRads,
  6388. this
  6389. )),
  6390. (this.ry = PropertyFactory.getProp(
  6391. t,
  6392. e.ry,
  6393. 0,
  6394. degToRads,
  6395. this
  6396. )),
  6397. (this.rz = PropertyFactory.getProp(
  6398. t,
  6399. e.rz,
  6400. 0,
  6401. degToRads,
  6402. this
  6403. )),
  6404. e.or.k[0].ti)
  6405. ) {
  6406. var a,
  6407. i = e.or.k.length;
  6408. for (a = 0; a < i; a += 1)
  6409. (e.or.k[a].to = null), (e.or.k[a].ti = null);
  6410. }
  6411. (this.or = PropertyFactory.getProp(
  6412. t,
  6413. e.or,
  6414. 1,
  6415. degToRads,
  6416. this
  6417. )),
  6418. (this.or.sh = !0);
  6419. } else
  6420. this.r = PropertyFactory.getProp(
  6421. t,
  6422. e.r || { k: 0 },
  6423. 0,
  6424. degToRads,
  6425. this
  6426. );
  6427. e.sk &&
  6428. ((this.sk = PropertyFactory.getProp(
  6429. t,
  6430. e.sk,
  6431. 0,
  6432. degToRads,
  6433. this
  6434. )),
  6435. (this.sa = PropertyFactory.getProp(
  6436. t,
  6437. e.sa,
  6438. 0,
  6439. degToRads,
  6440. this
  6441. ))),
  6442. (this.a = PropertyFactory.getProp(
  6443. t,
  6444. e.a || { k: [0, 0, 0] },
  6445. 1,
  6446. 0,
  6447. this
  6448. )),
  6449. (this.s = PropertyFactory.getProp(
  6450. t,
  6451. e.s || { k: [100, 100, 100] },
  6452. 1,
  6453. 0.01,
  6454. this
  6455. )),
  6456. e.o
  6457. ? (this.o = PropertyFactory.getProp(t, e.o, 0, 0.01, t))
  6458. : (this.o = { _mdf: !1, v: 1 }),
  6459. (this._isDirty = !0),
  6460. this.dynamicProperties.length || this.getValue(!0);
  6461. }
  6462. return (
  6463. (e.prototype = {
  6464. applyToMatrix: function (t) {
  6465. var e = this._mdf;
  6466. this.iterateDynamicProperties(),
  6467. (this._mdf = this._mdf || e),
  6468. this.a &&
  6469. t.translate(
  6470. -this.a.v[0],
  6471. -this.a.v[1],
  6472. this.a.v[2]
  6473. ),
  6474. this.s &&
  6475. t.scale(this.s.v[0], this.s.v[1], this.s.v[2]),
  6476. this.sk && t.skewFromAxis(-this.sk.v, this.sa.v),
  6477. this.r
  6478. ? t.rotate(-this.r.v)
  6479. : t
  6480. .rotateZ(-this.rz.v)
  6481. .rotateY(this.ry.v)
  6482. .rotateX(this.rx.v)
  6483. .rotateZ(-this.or.v[2])
  6484. .rotateY(this.or.v[1])
  6485. .rotateX(this.or.v[0]),
  6486. this.data.p.s
  6487. ? this.data.p.z
  6488. ? t.translate(this.px.v, this.py.v, -this.pz.v)
  6489. : t.translate(this.px.v, this.py.v, 0)
  6490. : t.translate(
  6491. this.p.v[0],
  6492. this.p.v[1],
  6493. -this.p.v[2]
  6494. );
  6495. },
  6496. getValue: function (e) {
  6497. if (this.elem.globalData.frameId !== this.frameId) {
  6498. if (
  6499. (this._isDirty &&
  6500. (this.precalculateMatrix(), (this._isDirty = !1)),
  6501. this.iterateDynamicProperties(),
  6502. this._mdf || e)
  6503. ) {
  6504. var r;
  6505. if (
  6506. (this.v.cloneFromProps(this.pre.props),
  6507. this.appliedTransformations < 1 &&
  6508. this.v.translate(
  6509. -this.a.v[0],
  6510. -this.a.v[1],
  6511. this.a.v[2]
  6512. ),
  6513. this.appliedTransformations < 2 &&
  6514. this.v.scale(
  6515. this.s.v[0],
  6516. this.s.v[1],
  6517. this.s.v[2]
  6518. ),
  6519. this.sk &&
  6520. this.appliedTransformations < 3 &&
  6521. this.v.skewFromAxis(-this.sk.v, this.sa.v),
  6522. this.r && this.appliedTransformations < 4
  6523. ? this.v.rotate(-this.r.v)
  6524. : !this.r &&
  6525. this.appliedTransformations < 4 &&
  6526. this.v
  6527. .rotateZ(-this.rz.v)
  6528. .rotateY(this.ry.v)
  6529. .rotateX(this.rx.v)
  6530. .rotateZ(-this.or.v[2])
  6531. .rotateY(this.or.v[1])
  6532. .rotateX(this.or.v[0]),
  6533. this.autoOriented)
  6534. ) {
  6535. var a, i;
  6536. if (
  6537. ((r = this.elem.globalData.frameRate),
  6538. this.p &&
  6539. this.p.keyframes &&
  6540. this.p.getValueAtTime)
  6541. )
  6542. this.p._caching.lastFrame + this.p.offsetTime <=
  6543. this.p.keyframes[0].t
  6544. ? ((a = this.p.getValueAtTime(
  6545. (this.p.keyframes[0].t + 0.01) / r,
  6546. 0
  6547. )),
  6548. (i = this.p.getValueAtTime(
  6549. this.p.keyframes[0].t / r,
  6550. 0
  6551. )))
  6552. : this.p._caching.lastFrame +
  6553. this.p.offsetTime >=
  6554. this.p.keyframes[
  6555. this.p.keyframes.length - 1
  6556. ].t
  6557. ? ((a = this.p.getValueAtTime(
  6558. this.p.keyframes[
  6559. this.p.keyframes.length - 1
  6560. ].t / r,
  6561. 0
  6562. )),
  6563. (i = this.p.getValueAtTime(
  6564. (this.p.keyframes[
  6565. this.p.keyframes.length - 1
  6566. ].t -
  6567. 0.05) /
  6568. r,
  6569. 0
  6570. )))
  6571. : ((a = this.p.pv),
  6572. (i = this.p.getValueAtTime(
  6573. (this.p._caching.lastFrame +
  6574. this.p.offsetTime -
  6575. 0.01) /
  6576. r,
  6577. this.p.offsetTime
  6578. )));
  6579. else if (
  6580. this.px &&
  6581. this.px.keyframes &&
  6582. this.py.keyframes &&
  6583. this.px.getValueAtTime &&
  6584. this.py.getValueAtTime
  6585. ) {
  6586. (a = []), (i = []);
  6587. var s = this.px,
  6588. n = this.py;
  6589. s._caching.lastFrame + s.offsetTime <=
  6590. s.keyframes[0].t
  6591. ? ((a[0] = s.getValueAtTime(
  6592. (s.keyframes[0].t + 0.01) / r,
  6593. 0
  6594. )),
  6595. (a[1] = n.getValueAtTime(
  6596. (n.keyframes[0].t + 0.01) / r,
  6597. 0
  6598. )),
  6599. (i[0] = s.getValueAtTime(
  6600. s.keyframes[0].t / r,
  6601. 0
  6602. )),
  6603. (i[1] = n.getValueAtTime(
  6604. n.keyframes[0].t / r,
  6605. 0
  6606. )))
  6607. : s._caching.lastFrame + s.offsetTime >=
  6608. s.keyframes[s.keyframes.length - 1].t
  6609. ? ((a[0] = s.getValueAtTime(
  6610. s.keyframes[s.keyframes.length - 1].t / r,
  6611. 0
  6612. )),
  6613. (a[1] = n.getValueAtTime(
  6614. n.keyframes[n.keyframes.length - 1].t / r,
  6615. 0
  6616. )),
  6617. (i[0] = s.getValueAtTime(
  6618. (s.keyframes[s.keyframes.length - 1].t -
  6619. 0.01) /
  6620. r,
  6621. 0
  6622. )),
  6623. (i[1] = n.getValueAtTime(
  6624. (n.keyframes[n.keyframes.length - 1].t -
  6625. 0.01) /
  6626. r,
  6627. 0
  6628. )))
  6629. : ((a = [s.pv, n.pv]),
  6630. (i[0] = s.getValueAtTime(
  6631. (s._caching.lastFrame +
  6632. s.offsetTime -
  6633. 0.01) /
  6634. r,
  6635. s.offsetTime
  6636. )),
  6637. (i[1] = n.getValueAtTime(
  6638. (n._caching.lastFrame +
  6639. n.offsetTime -
  6640. 0.01) /
  6641. r,
  6642. n.offsetTime
  6643. )));
  6644. } else a = i = t;
  6645. this.v.rotate(
  6646. -Math.atan2(a[1] - i[1], a[0] - i[0])
  6647. );
  6648. }
  6649. this.data.p && this.data.p.s
  6650. ? this.data.p.z
  6651. ? this.v.translate(
  6652. this.px.v,
  6653. this.py.v,
  6654. -this.pz.v
  6655. )
  6656. : this.v.translate(this.px.v, this.py.v, 0)
  6657. : this.v.translate(
  6658. this.p.v[0],
  6659. this.p.v[1],
  6660. -this.p.v[2]
  6661. );
  6662. }
  6663. this.frameId = this.elem.globalData.frameId;
  6664. }
  6665. },
  6666. precalculateMatrix: function () {
  6667. if (
  6668. ((this.appliedTransformations = 0),
  6669. this.pre.reset(),
  6670. !this.a.effectsSequence.length &&
  6671. (this.pre.translate(
  6672. -this.a.v[0],
  6673. -this.a.v[1],
  6674. this.a.v[2]
  6675. ),
  6676. (this.appliedTransformations = 1),
  6677. !this.s.effectsSequence.length))
  6678. ) {
  6679. if (
  6680. (this.pre.scale(
  6681. this.s.v[0],
  6682. this.s.v[1],
  6683. this.s.v[2]
  6684. ),
  6685. (this.appliedTransformations = 2),
  6686. this.sk)
  6687. ) {
  6688. if (
  6689. this.sk.effectsSequence.length ||
  6690. this.sa.effectsSequence.length
  6691. )
  6692. return;
  6693. this.pre.skewFromAxis(-this.sk.v, this.sa.v),
  6694. (this.appliedTransformations = 3);
  6695. }
  6696. this.r
  6697. ? this.r.effectsSequence.length ||
  6698. (this.pre.rotate(-this.r.v),
  6699. (this.appliedTransformations = 4))
  6700. : this.rz.effectsSequence.length ||
  6701. this.ry.effectsSequence.length ||
  6702. this.rx.effectsSequence.length ||
  6703. this.or.effectsSequence.length ||
  6704. (this.pre
  6705. .rotateZ(-this.rz.v)
  6706. .rotateY(this.ry.v)
  6707. .rotateX(this.rx.v)
  6708. .rotateZ(-this.or.v[2])
  6709. .rotateY(this.or.v[1])
  6710. .rotateX(this.or.v[0]),
  6711. (this.appliedTransformations = 4));
  6712. }
  6713. },
  6714. autoOrient: function () {}
  6715. }),
  6716. extendPrototype([DynamicPropertyContainer], e),
  6717. (e.prototype.addDynamicProperty = function (t) {
  6718. this._addDynamicProperty(t),
  6719. this.elem.addDynamicProperty(t),
  6720. (this._isDirty = !0);
  6721. }),
  6722. (e.prototype._addDynamicProperty =
  6723. DynamicPropertyContainer.prototype.addDynamicProperty),
  6724. {
  6725. getTransformProperty: function (t, r, a) {
  6726. return new e(t, r, a);
  6727. }
  6728. }
  6729. );
  6730. })();
  6731. function RepeaterModifier() {}
  6732. function RoundCornersModifier() {}
  6733. function floatEqual(t, e) {
  6734. return (
  6735. 1e5 * Math.abs(t - e) <= Math.min(Math.abs(t), Math.abs(e))
  6736. );
  6737. }
  6738. function floatZero(t) {
  6739. return Math.abs(t) <= 1e-5;
  6740. }
  6741. function lerp(t, e, r) {
  6742. return t * (1 - r) + e * r;
  6743. }
  6744. function lerpPoint(t, e, r) {
  6745. return [lerp(t[0], e[0], r), lerp(t[1], e[1], r)];
  6746. }
  6747. function quadRoots(t, e, r) {
  6748. if (0 === t) return [];
  6749. var a = e * e - 4 * t * r;
  6750. if (a < 0) return [];
  6751. var i = -e / (2 * t);
  6752. if (0 === a) return [i];
  6753. var s = Math.sqrt(a) / (2 * t);
  6754. return [i - s, i + s];
  6755. }
  6756. function polynomialCoefficients(t, e, r, a) {
  6757. return [
  6758. 3 * e - t - 3 * r + a,
  6759. 3 * t - 6 * e + 3 * r,
  6760. -3 * t + 3 * e,
  6761. t
  6762. ];
  6763. }
  6764. function singlePoint(t) {
  6765. return new PolynomialBezier(t, t, t, t, !1);
  6766. }
  6767. function PolynomialBezier(t, e, r, a, i) {
  6768. i && pointEqual(t, e) && (e = lerpPoint(t, a, 1 / 3)),
  6769. i && pointEqual(r, a) && (r = lerpPoint(t, a, 2 / 3));
  6770. var s = polynomialCoefficients(t[0], e[0], r[0], a[0]),
  6771. n = polynomialCoefficients(t[1], e[1], r[1], a[1]);
  6772. (this.a = [s[0], n[0]]),
  6773. (this.b = [s[1], n[1]]),
  6774. (this.c = [s[2], n[2]]),
  6775. (this.d = [s[3], n[3]]),
  6776. (this.points = [t, e, r, a]);
  6777. }
  6778. function extrema(t, e) {
  6779. var r = t.points[0][e],
  6780. a = t.points[t.points.length - 1][e];
  6781. if (r > a) {
  6782. var i = a;
  6783. (a = r), (r = i);
  6784. }
  6785. for (
  6786. var s = quadRoots(3 * t.a[e], 2 * t.b[e], t.c[e]), n = 0;
  6787. n < s.length;
  6788. n += 1
  6789. )
  6790. if (s[n] > 0 && s[n] < 1) {
  6791. var o = t.point(s[n])[e];
  6792. o < r ? (r = o) : o > a && (a = o);
  6793. }
  6794. return { min: r, max: a };
  6795. }
  6796. function intersectData(t, e, r) {
  6797. var a = t.boundingBox();
  6798. return {
  6799. cx: a.cx,
  6800. cy: a.cy,
  6801. width: a.width,
  6802. height: a.height,
  6803. bez: t,
  6804. t: (e + r) / 2,
  6805. t1: e,
  6806. t2: r
  6807. };
  6808. }
  6809. function splitData(t) {
  6810. var e = t.bez.split(0.5);
  6811. return [
  6812. intersectData(e[0], t.t1, t.t),
  6813. intersectData(e[1], t.t, t.t2)
  6814. ];
  6815. }
  6816. function boxIntersect(t, e) {
  6817. return (
  6818. 2 * Math.abs(t.cx - e.cx) < t.width + e.width &&
  6819. 2 * Math.abs(t.cy - e.cy) < t.height + e.height
  6820. );
  6821. }
  6822. function intersectsImpl(t, e, r, a, i, s) {
  6823. if (boxIntersect(t, e))
  6824. if (
  6825. r >= s ||
  6826. (t.width <= a &&
  6827. t.height <= a &&
  6828. e.width <= a &&
  6829. e.height <= a)
  6830. )
  6831. i.push([t.t, e.t]);
  6832. else {
  6833. var n = splitData(t),
  6834. o = splitData(e);
  6835. intersectsImpl(n[0], o[0], r + 1, a, i, s),
  6836. intersectsImpl(n[0], o[1], r + 1, a, i, s),
  6837. intersectsImpl(n[1], o[0], r + 1, a, i, s),
  6838. intersectsImpl(n[1], o[1], r + 1, a, i, s);
  6839. }
  6840. }
  6841. function crossProduct(t, e) {
  6842. return [
  6843. t[1] * e[2] - t[2] * e[1],
  6844. t[2] * e[0] - t[0] * e[2],
  6845. t[0] * e[1] - t[1] * e[0]
  6846. ];
  6847. }
  6848. function lineIntersection(t, e, r, a) {
  6849. var i = [t[0], t[1], 1],
  6850. s = [e[0], e[1], 1],
  6851. n = [r[0], r[1], 1],
  6852. o = [a[0], a[1], 1],
  6853. l = crossProduct(crossProduct(i, s), crossProduct(n, o));
  6854. return floatZero(l[2]) ? null : [l[0] / l[2], l[1] / l[2]];
  6855. }
  6856. function polarOffset(t, e, r) {
  6857. return [t[0] + Math.cos(e) * r, t[1] - Math.sin(e) * r];
  6858. }
  6859. function pointDistance(t, e) {
  6860. return Math.hypot(t[0] - e[0], t[1] - e[1]);
  6861. }
  6862. function pointEqual(t, e) {
  6863. return floatEqual(t[0], e[0]) && floatEqual(t[1], e[1]);
  6864. }
  6865. function ZigZagModifier() {}
  6866. function setPoint(t, e, r, a, i, s, n) {
  6867. var o = r - Math.PI / 2,
  6868. l = r + Math.PI / 2,
  6869. h = e[0] + Math.cos(r) * a * i,
  6870. p = e[1] - Math.sin(r) * a * i;
  6871. t.setTripleAt(
  6872. h,
  6873. p,
  6874. h + Math.cos(o) * s,
  6875. p - Math.sin(o) * s,
  6876. h + Math.cos(l) * n,
  6877. p - Math.sin(l) * n,
  6878. t.length()
  6879. );
  6880. }
  6881. function getPerpendicularVector(t, e) {
  6882. var r = [e[0] - t[0], e[1] - t[1]],
  6883. a = 0.5 * -Math.PI;
  6884. return [
  6885. Math.cos(a) * r[0] - Math.sin(a) * r[1],
  6886. Math.sin(a) * r[0] + Math.cos(a) * r[1]
  6887. ];
  6888. }
  6889. function getProjectingAngle(t, e) {
  6890. var r = 0 === e ? t.length() - 1 : e - 1,
  6891. a = (e + 1) % t.length(),
  6892. i = getPerpendicularVector(t.v[r], t.v[a]);
  6893. return Math.atan2(0, 1) - Math.atan2(i[1], i[0]);
  6894. }
  6895. function zigZagCorner(t, e, r, a, i, s, n) {
  6896. var o = getProjectingAngle(e, r),
  6897. l = e.v[r % e._length],
  6898. h = e.v[0 === r ? e._length - 1 : r - 1],
  6899. p = e.v[(r + 1) % e._length],
  6900. c =
  6901. 2 === s
  6902. ? Math.sqrt(
  6903. Math.pow(l[0] - h[0], 2) + Math.pow(l[1] - h[1], 2)
  6904. )
  6905. : 0,
  6906. d =
  6907. 2 === s
  6908. ? Math.sqrt(
  6909. Math.pow(l[0] - p[0], 2) + Math.pow(l[1] - p[1], 2)
  6910. )
  6911. : 0;
  6912. setPoint(
  6913. t,
  6914. e.v[r % e._length],
  6915. o,
  6916. n,
  6917. a,
  6918. d / (2 * (i + 1)),
  6919. c / (2 * (i + 1))
  6920. );
  6921. }
  6922. function zigZagSegment(t, e, r, a, i, s) {
  6923. for (var n = 0; n < a; n += 1) {
  6924. var o = (n + 1) / (a + 1),
  6925. l =
  6926. 2 === i
  6927. ? Math.sqrt(
  6928. Math.pow(e.points[3][0] - e.points[0][0], 2) +
  6929. Math.pow(e.points[3][1] - e.points[0][1], 2)
  6930. )
  6931. : 0,
  6932. h = e.normalAngle(o);
  6933. setPoint(
  6934. t,
  6935. e.point(o),
  6936. h,
  6937. s,
  6938. r,
  6939. l / (2 * (a + 1)),
  6940. l / (2 * (a + 1))
  6941. ),
  6942. (s = -s);
  6943. }
  6944. return s;
  6945. }
  6946. function linearOffset(t, e, r) {
  6947. var a = Math.atan2(e[0] - t[0], e[1] - t[1]);
  6948. return [polarOffset(t, a, r), polarOffset(e, a, r)];
  6949. }
  6950. function offsetSegment(t, e) {
  6951. var r, a, i, s, n, o, l;
  6952. (r = (l = linearOffset(t.points[0], t.points[1], e))[0]),
  6953. (a = l[1]),
  6954. (i = (l = linearOffset(t.points[1], t.points[2], e))[0]),
  6955. (s = l[1]),
  6956. (n = (l = linearOffset(t.points[2], t.points[3], e))[0]),
  6957. (o = l[1]);
  6958. var h = lineIntersection(r, a, i, s);
  6959. null === h && (h = a);
  6960. var p = lineIntersection(n, o, i, s);
  6961. return (
  6962. null === p && (p = n), new PolynomialBezier(r, h, p, o)
  6963. );
  6964. }
  6965. function joinLines(t, e, r, a, i) {
  6966. var s = e.points[3],
  6967. n = r.points[0];
  6968. if (3 === a) return s;
  6969. if (pointEqual(s, n)) return s;
  6970. if (2 === a) {
  6971. var o = -e.tangentAngle(1),
  6972. l = -r.tangentAngle(0) + Math.PI,
  6973. h = lineIntersection(
  6974. s,
  6975. polarOffset(s, o + Math.PI / 2, 100),
  6976. n,
  6977. polarOffset(n, o + Math.PI / 2, 100)
  6978. ),
  6979. p = h ? pointDistance(h, s) : pointDistance(s, n) / 2,
  6980. c = polarOffset(s, o, 2 * p * roundCorner);
  6981. return (
  6982. t.setXYAt(c[0], c[1], 'o', t.length() - 1),
  6983. (c = polarOffset(n, l, 2 * p * roundCorner)),
  6984. t.setTripleAt(
  6985. n[0],
  6986. n[1],
  6987. n[0],
  6988. n[1],
  6989. c[0],
  6990. c[1],
  6991. t.length()
  6992. ),
  6993. n
  6994. );
  6995. }
  6996. var d = lineIntersection(
  6997. pointEqual(s, e.points[2]) ? e.points[0] : e.points[2],
  6998. s,
  6999. n,
  7000. pointEqual(n, r.points[1]) ? r.points[3] : r.points[1]
  7001. );
  7002. return d && pointDistance(d, s) < i
  7003. ? (t.setTripleAt(
  7004. d[0],
  7005. d[1],
  7006. d[0],
  7007. d[1],
  7008. d[0],
  7009. d[1],
  7010. t.length()
  7011. ),
  7012. d)
  7013. : s;
  7014. }
  7015. function getIntersection(t, e) {
  7016. var r = t.intersections(e);
  7017. return (
  7018. r.length && floatEqual(r[0][0], 1) && r.shift(),
  7019. r.length ? r[0] : null
  7020. );
  7021. }
  7022. function pruneSegmentIntersection(t, e) {
  7023. var r = t.slice(),
  7024. a = e.slice(),
  7025. i = getIntersection(t[t.length - 1], e[0]);
  7026. return (
  7027. i &&
  7028. ((r[t.length - 1] = t[t.length - 1].split(i[0])[0]),
  7029. (a[0] = e[0].split(i[1])[1])),
  7030. t.length > 1 &&
  7031. e.length > 1 &&
  7032. (i = getIntersection(t[0], e[e.length - 1]))
  7033. ? [
  7034. [t[0].split(i[0])[0]],
  7035. [e[e.length - 1].split(i[1])[1]]
  7036. ]
  7037. : [r, a]
  7038. );
  7039. }
  7040. function pruneIntersections(t) {
  7041. for (var e, r = 1; r < t.length; r += 1)
  7042. (e = pruneSegmentIntersection(t[r - 1], t[r])),
  7043. (t[r - 1] = e[0]),
  7044. (t[r] = e[1]);
  7045. return (
  7046. t.length > 1 &&
  7047. ((e = pruneSegmentIntersection(t[t.length - 1], t[0])),
  7048. (t[t.length - 1] = e[0]),
  7049. (t[0] = e[1])),
  7050. t
  7051. );
  7052. }
  7053. function offsetSegmentSplit(t, e) {
  7054. var r,
  7055. a,
  7056. i,
  7057. s,
  7058. n = t.inflectionPoints();
  7059. if (0 === n.length) return [offsetSegment(t, e)];
  7060. if (1 === n.length || floatEqual(n[1], 1))
  7061. return (
  7062. (r = (i = t.split(n[0]))[0]),
  7063. (a = i[1]),
  7064. [offsetSegment(r, e), offsetSegment(a, e)]
  7065. );
  7066. r = (i = t.split(n[0]))[0];
  7067. var o = (n[1] - n[0]) / (1 - n[0]);
  7068. return (
  7069. (s = (i = i[1].split(o))[0]),
  7070. (a = i[1]),
  7071. [
  7072. offsetSegment(r, e),
  7073. offsetSegment(s, e),
  7074. offsetSegment(a, e)
  7075. ]
  7076. );
  7077. }
  7078. function OffsetPathModifier() {}
  7079. function getFontProperties(t) {
  7080. for (
  7081. var e = t.fStyle ? t.fStyle.split(' ') : [],
  7082. r = 'normal',
  7083. a = 'normal',
  7084. i = e.length,
  7085. s = 0;
  7086. s < i;
  7087. s += 1
  7088. )
  7089. switch (e[s].toLowerCase()) {
  7090. case 'italic':
  7091. a = 'italic';
  7092. break;
  7093. case 'bold':
  7094. r = '700';
  7095. break;
  7096. case 'black':
  7097. r = '900';
  7098. break;
  7099. case 'medium':
  7100. r = '500';
  7101. break;
  7102. case 'regular':
  7103. case 'normal':
  7104. r = '400';
  7105. break;
  7106. case 'light':
  7107. case 'thin':
  7108. r = '200';
  7109. }
  7110. return { style: a, weight: t.fWeight || r };
  7111. }
  7112. extendPrototype([ShapeModifier], RepeaterModifier),
  7113. (RepeaterModifier.prototype.initModifierProperties =
  7114. function (t, e) {
  7115. (this.getValue = this.processKeys),
  7116. (this.c = PropertyFactory.getProp(
  7117. t,
  7118. e.c,
  7119. 0,
  7120. null,
  7121. this
  7122. )),
  7123. (this.o = PropertyFactory.getProp(
  7124. t,
  7125. e.o,
  7126. 0,
  7127. null,
  7128. this
  7129. )),
  7130. (this.tr =
  7131. TransformPropertyFactory.getTransformProperty(
  7132. t,
  7133. e.tr,
  7134. this
  7135. )),
  7136. (this.so = PropertyFactory.getProp(
  7137. t,
  7138. e.tr.so,
  7139. 0,
  7140. 0.01,
  7141. this
  7142. )),
  7143. (this.eo = PropertyFactory.getProp(
  7144. t,
  7145. e.tr.eo,
  7146. 0,
  7147. 0.01,
  7148. this
  7149. )),
  7150. (this.data = e),
  7151. this.dynamicProperties.length || this.getValue(!0),
  7152. (this._isAnimated = !!this.dynamicProperties.length),
  7153. (this.pMatrix = new Matrix()),
  7154. (this.rMatrix = new Matrix()),
  7155. (this.sMatrix = new Matrix()),
  7156. (this.tMatrix = new Matrix()),
  7157. (this.matrix = new Matrix());
  7158. }),
  7159. (RepeaterModifier.prototype.applyTransforms = function (
  7160. t,
  7161. e,
  7162. r,
  7163. a,
  7164. i,
  7165. s
  7166. ) {
  7167. var n = s ? -1 : 1,
  7168. o = a.s.v[0] + (1 - a.s.v[0]) * (1 - i),
  7169. l = a.s.v[1] + (1 - a.s.v[1]) * (1 - i);
  7170. t.translate(a.p.v[0] * n * i, a.p.v[1] * n * i, a.p.v[2]),
  7171. e.translate(-a.a.v[0], -a.a.v[1], a.a.v[2]),
  7172. e.rotate(-a.r.v * n * i),
  7173. e.translate(a.a.v[0], a.a.v[1], a.a.v[2]),
  7174. r.translate(-a.a.v[0], -a.a.v[1], a.a.v[2]),
  7175. r.scale(s ? 1 / o : o, s ? 1 / l : l),
  7176. r.translate(a.a.v[0], a.a.v[1], a.a.v[2]);
  7177. }),
  7178. (RepeaterModifier.prototype.init = function (t, e, r, a) {
  7179. for (
  7180. this.elem = t,
  7181. this.arr = e,
  7182. this.pos = r,
  7183. this.elemsData = a,
  7184. this._currentCopies = 0,
  7185. this._elements = [],
  7186. this._groups = [],
  7187. this.frameId = -1,
  7188. this.initDynamicPropertyContainer(t),
  7189. this.initModifierProperties(t, e[r]);
  7190. r > 0;
  7191. )
  7192. (r -= 1), this._elements.unshift(e[r]);
  7193. this.dynamicProperties.length
  7194. ? (this.k = !0)
  7195. : this.getValue(!0);
  7196. }),
  7197. (RepeaterModifier.prototype.resetElements = function (t) {
  7198. var e,
  7199. r = t.length;
  7200. for (e = 0; e < r; e += 1)
  7201. (t[e]._processed = !1),
  7202. 'gr' === t[e].ty && this.resetElements(t[e].it);
  7203. }),
  7204. (RepeaterModifier.prototype.cloneElements = function (t) {
  7205. var e = JSON.parse(JSON.stringify(t));
  7206. return this.resetElements(e), e;
  7207. }),
  7208. (RepeaterModifier.prototype.changeGroupRender = function (
  7209. t,
  7210. e
  7211. ) {
  7212. var r,
  7213. a = t.length;
  7214. for (r = 0; r < a; r += 1)
  7215. (t[r]._render = e),
  7216. 'gr' === t[r].ty && this.changeGroupRender(t[r].it, e);
  7217. }),
  7218. (RepeaterModifier.prototype.processShapes = function (t) {
  7219. var e,
  7220. r,
  7221. a,
  7222. i,
  7223. s,
  7224. n = !1;
  7225. if (this._mdf || t) {
  7226. var o,
  7227. l = Math.ceil(this.c.v);
  7228. if (this._groups.length < l) {
  7229. for (; this._groups.length < l; ) {
  7230. var h = {
  7231. it: this.cloneElements(this._elements),
  7232. ty: 'gr'
  7233. };
  7234. h.it.push({
  7235. a: { a: 0, ix: 1, k: [0, 0] },
  7236. nm: 'Transform',
  7237. o: { a: 0, ix: 7, k: 100 },
  7238. p: { a: 0, ix: 2, k: [0, 0] },
  7239. r: {
  7240. a: 1,
  7241. ix: 6,
  7242. k: [
  7243. { s: 0, e: 0, t: 0 },
  7244. { s: 0, e: 0, t: 1 }
  7245. ]
  7246. },
  7247. s: { a: 0, ix: 3, k: [100, 100] },
  7248. sa: { a: 0, ix: 5, k: 0 },
  7249. sk: { a: 0, ix: 4, k: 0 },
  7250. ty: 'tr'
  7251. }),
  7252. this.arr.splice(0, 0, h),
  7253. this._groups.splice(0, 0, h),
  7254. (this._currentCopies += 1);
  7255. }
  7256. this.elem.reloadShapes(), (n = !0);
  7257. }
  7258. for (s = 0, a = 0; a <= this._groups.length - 1; a += 1) {
  7259. if (
  7260. ((o = s < l),
  7261. (this._groups[a]._render = o),
  7262. this.changeGroupRender(this._groups[a].it, o),
  7263. !o)
  7264. ) {
  7265. var p = this.elemsData[a].it,
  7266. c = p[p.length - 1];
  7267. 0 !== c.transform.op.v
  7268. ? ((c.transform.op._mdf = !0),
  7269. (c.transform.op.v = 0))
  7270. : (c.transform.op._mdf = !1);
  7271. }
  7272. s += 1;
  7273. }
  7274. this._currentCopies = l;
  7275. var d = this.o.v,
  7276. f = d % 1,
  7277. m = d > 0 ? Math.floor(d) : Math.ceil(d),
  7278. u = this.pMatrix.props,
  7279. g = this.rMatrix.props,
  7280. y = this.sMatrix.props;
  7281. this.pMatrix.reset(),
  7282. this.rMatrix.reset(),
  7283. this.sMatrix.reset(),
  7284. this.tMatrix.reset(),
  7285. this.matrix.reset();
  7286. var v,
  7287. b,
  7288. _ = 0;
  7289. if (d > 0) {
  7290. for (; _ < m; )
  7291. this.applyTransforms(
  7292. this.pMatrix,
  7293. this.rMatrix,
  7294. this.sMatrix,
  7295. this.tr,
  7296. 1,
  7297. !1
  7298. ),
  7299. (_ += 1);
  7300. f &&
  7301. (this.applyTransforms(
  7302. this.pMatrix,
  7303. this.rMatrix,
  7304. this.sMatrix,
  7305. this.tr,
  7306. f,
  7307. !1
  7308. ),
  7309. (_ += f));
  7310. } else if (d < 0) {
  7311. for (; _ > m; )
  7312. this.applyTransforms(
  7313. this.pMatrix,
  7314. this.rMatrix,
  7315. this.sMatrix,
  7316. this.tr,
  7317. 1,
  7318. !0
  7319. ),
  7320. (_ -= 1);
  7321. f &&
  7322. (this.applyTransforms(
  7323. this.pMatrix,
  7324. this.rMatrix,
  7325. this.sMatrix,
  7326. this.tr,
  7327. -f,
  7328. !0
  7329. ),
  7330. (_ -= f));
  7331. }
  7332. for (
  7333. a = 1 === this.data.m ? 0 : this._currentCopies - 1,
  7334. i = 1 === this.data.m ? 1 : -1,
  7335. s = this._currentCopies;
  7336. s;
  7337. ) {
  7338. if (
  7339. ((b = (r = (e = this.elemsData[a].it)[e.length - 1]
  7340. .transform.mProps.v.props).length),
  7341. (e[e.length - 1].transform.mProps._mdf = !0),
  7342. (e[e.length - 1].transform.op._mdf = !0),
  7343. (e[e.length - 1].transform.op.v =
  7344. 1 === this._currentCopies
  7345. ? this.so.v
  7346. : this.so.v +
  7347. (this.eo.v - this.so.v) *
  7348. (a / (this._currentCopies - 1))),
  7349. 0 !== _)
  7350. ) {
  7351. for (
  7352. ((0 !== a && 1 === i) ||
  7353. (a !== this._currentCopies - 1 && -1 === i)) &&
  7354. this.applyTransforms(
  7355. this.pMatrix,
  7356. this.rMatrix,
  7357. this.sMatrix,
  7358. this.tr,
  7359. 1,
  7360. !1
  7361. ),
  7362. this.matrix.transform(
  7363. g[0],
  7364. g[1],
  7365. g[2],
  7366. g[3],
  7367. g[4],
  7368. g[5],
  7369. g[6],
  7370. g[7],
  7371. g[8],
  7372. g[9],
  7373. g[10],
  7374. g[11],
  7375. g[12],
  7376. g[13],
  7377. g[14],
  7378. g[15]
  7379. ),
  7380. this.matrix.transform(
  7381. y[0],
  7382. y[1],
  7383. y[2],
  7384. y[3],
  7385. y[4],
  7386. y[5],
  7387. y[6],
  7388. y[7],
  7389. y[8],
  7390. y[9],
  7391. y[10],
  7392. y[11],
  7393. y[12],
  7394. y[13],
  7395. y[14],
  7396. y[15]
  7397. ),
  7398. this.matrix.transform(
  7399. u[0],
  7400. u[1],
  7401. u[2],
  7402. u[3],
  7403. u[4],
  7404. u[5],
  7405. u[6],
  7406. u[7],
  7407. u[8],
  7408. u[9],
  7409. u[10],
  7410. u[11],
  7411. u[12],
  7412. u[13],
  7413. u[14],
  7414. u[15]
  7415. ),
  7416. v = 0;
  7417. v < b;
  7418. v += 1
  7419. )
  7420. r[v] = this.matrix.props[v];
  7421. this.matrix.reset();
  7422. } else
  7423. for (this.matrix.reset(), v = 0; v < b; v += 1)
  7424. r[v] = this.matrix.props[v];
  7425. (_ += 1), (s -= 1), (a += i);
  7426. }
  7427. } else
  7428. for (s = this._currentCopies, a = 0, i = 1; s; )
  7429. (r = (e = this.elemsData[a].it)[e.length - 1].transform
  7430. .mProps.v.props),
  7431. (e[e.length - 1].transform.mProps._mdf = !1),
  7432. (e[e.length - 1].transform.op._mdf = !1),
  7433. (s -= 1),
  7434. (a += i);
  7435. return n;
  7436. }),
  7437. (RepeaterModifier.prototype.addShape = function () {}),
  7438. extendPrototype([ShapeModifier], RoundCornersModifier),
  7439. (RoundCornersModifier.prototype.initModifierProperties =
  7440. function (t, e) {
  7441. (this.getValue = this.processKeys),
  7442. (this.rd = PropertyFactory.getProp(
  7443. t,
  7444. e.r,
  7445. 0,
  7446. null,
  7447. this
  7448. )),
  7449. (this._isAnimated = !!this.rd.effectsSequence.length);
  7450. }),
  7451. (RoundCornersModifier.prototype.processPath = function (
  7452. t,
  7453. e
  7454. ) {
  7455. var r,
  7456. a = shapePool.newElement();
  7457. a.c = t.c;
  7458. var i,
  7459. s,
  7460. n,
  7461. o,
  7462. l,
  7463. h,
  7464. p,
  7465. c,
  7466. d,
  7467. f,
  7468. m,
  7469. u,
  7470. g = t._length,
  7471. y = 0;
  7472. for (r = 0; r < g; r += 1)
  7473. (i = t.v[r]),
  7474. (n = t.o[r]),
  7475. (s = t.i[r]),
  7476. i[0] === n[0] &&
  7477. i[1] === n[1] &&
  7478. i[0] === s[0] &&
  7479. i[1] === s[1]
  7480. ? (0 !== r && r !== g - 1) || t.c
  7481. ? ((o = 0 === r ? t.v[g - 1] : t.v[r - 1]),
  7482. (h = (l = Math.sqrt(
  7483. Math.pow(i[0] - o[0], 2) +
  7484. Math.pow(i[1] - o[1], 2)
  7485. ))
  7486. ? Math.min(l / 2, e) / l
  7487. : 0),
  7488. (p = m = i[0] + (o[0] - i[0]) * h),
  7489. (c = u = i[1] - (i[1] - o[1]) * h),
  7490. (d = p - (p - i[0]) * roundCorner),
  7491. (f = c - (c - i[1]) * roundCorner),
  7492. a.setTripleAt(p, c, d, f, m, u, y),
  7493. (y += 1),
  7494. (o = r === g - 1 ? t.v[0] : t.v[r + 1]),
  7495. (h = (l = Math.sqrt(
  7496. Math.pow(i[0] - o[0], 2) +
  7497. Math.pow(i[1] - o[1], 2)
  7498. ))
  7499. ? Math.min(l / 2, e) / l
  7500. : 0),
  7501. (p = d = i[0] + (o[0] - i[0]) * h),
  7502. (c = f = i[1] + (o[1] - i[1]) * h),
  7503. (m = p - (p - i[0]) * roundCorner),
  7504. (u = c - (c - i[1]) * roundCorner),
  7505. a.setTripleAt(p, c, d, f, m, u, y),
  7506. (y += 1))
  7507. : (a.setTripleAt(
  7508. i[0],
  7509. i[1],
  7510. n[0],
  7511. n[1],
  7512. s[0],
  7513. s[1],
  7514. y
  7515. ),
  7516. (y += 1))
  7517. : (a.setTripleAt(
  7518. t.v[r][0],
  7519. t.v[r][1],
  7520. t.o[r][0],
  7521. t.o[r][1],
  7522. t.i[r][0],
  7523. t.i[r][1],
  7524. y
  7525. ),
  7526. (y += 1));
  7527. return a;
  7528. }),
  7529. (RoundCornersModifier.prototype.processShapes = function (t) {
  7530. var e,
  7531. r,
  7532. a,
  7533. i,
  7534. s,
  7535. n,
  7536. o = this.shapes.length,
  7537. l = this.rd.v;
  7538. if (0 !== l)
  7539. for (r = 0; r < o; r += 1) {
  7540. if (
  7541. ((n = (s = this.shapes[r]).localShapeCollection),
  7542. s.shape._mdf || this._mdf || t)
  7543. )
  7544. for (
  7545. n.releaseShapes(),
  7546. s.shape._mdf = !0,
  7547. e = s.shape.paths.shapes,
  7548. i = s.shape.paths._length,
  7549. a = 0;
  7550. a < i;
  7551. a += 1
  7552. )
  7553. n.addShape(this.processPath(e[a], l));
  7554. s.shape.paths = s.localShapeCollection;
  7555. }
  7556. this.dynamicProperties.length || (this._mdf = !1);
  7557. }),
  7558. (PolynomialBezier.prototype.point = function (t) {
  7559. return [
  7560. ((this.a[0] * t + this.b[0]) * t + this.c[0]) * t +
  7561. this.d[0],
  7562. ((this.a[1] * t + this.b[1]) * t + this.c[1]) * t +
  7563. this.d[1]
  7564. ];
  7565. }),
  7566. (PolynomialBezier.prototype.derivative = function (t) {
  7567. return [
  7568. (3 * t * this.a[0] + 2 * this.b[0]) * t + this.c[0],
  7569. (3 * t * this.a[1] + 2 * this.b[1]) * t + this.c[1]
  7570. ];
  7571. }),
  7572. (PolynomialBezier.prototype.tangentAngle = function (t) {
  7573. var e = this.derivative(t);
  7574. return Math.atan2(e[1], e[0]);
  7575. }),
  7576. (PolynomialBezier.prototype.normalAngle = function (t) {
  7577. var e = this.derivative(t);
  7578. return Math.atan2(e[0], e[1]);
  7579. }),
  7580. (PolynomialBezier.prototype.inflectionPoints = function () {
  7581. var t = this.a[1] * this.b[0] - this.a[0] * this.b[1];
  7582. if (floatZero(t)) return [];
  7583. var e =
  7584. (-0.5 *
  7585. (this.a[1] * this.c[0] - this.a[0] * this.c[1])) /
  7586. t,
  7587. r =
  7588. e * e -
  7589. ((1 / 3) *
  7590. (this.b[1] * this.c[0] - this.b[0] * this.c[1])) /
  7591. t;
  7592. if (r < 0) return [];
  7593. var a = Math.sqrt(r);
  7594. return floatZero(a)
  7595. ? a > 0 && a < 1
  7596. ? [e]
  7597. : []
  7598. : [e - a, e + a].filter(function (t) {
  7599. return t > 0 && t < 1;
  7600. });
  7601. }),
  7602. (PolynomialBezier.prototype.split = function (t) {
  7603. if (t <= 0) return [singlePoint(this.points[0]), this];
  7604. if (t >= 1)
  7605. return [
  7606. this,
  7607. singlePoint(this.points[this.points.length - 1])
  7608. ];
  7609. var e = lerpPoint(this.points[0], this.points[1], t),
  7610. r = lerpPoint(this.points[1], this.points[2], t),
  7611. a = lerpPoint(this.points[2], this.points[3], t),
  7612. i = lerpPoint(e, r, t),
  7613. s = lerpPoint(r, a, t),
  7614. n = lerpPoint(i, s, t);
  7615. return [
  7616. new PolynomialBezier(this.points[0], e, i, n, !0),
  7617. new PolynomialBezier(n, s, a, this.points[3], !0)
  7618. ];
  7619. }),
  7620. (PolynomialBezier.prototype.bounds = function () {
  7621. return { x: extrema(this, 0), y: extrema(this, 1) };
  7622. }),
  7623. (PolynomialBezier.prototype.boundingBox = function () {
  7624. var t = this.bounds();
  7625. return {
  7626. left: t.x.min,
  7627. right: t.x.max,
  7628. top: t.y.min,
  7629. bottom: t.y.max,
  7630. width: t.x.max - t.x.min,
  7631. height: t.y.max - t.y.min,
  7632. cx: (t.x.max + t.x.min) / 2,
  7633. cy: (t.y.max + t.y.min) / 2
  7634. };
  7635. }),
  7636. (PolynomialBezier.prototype.intersections = function (
  7637. t,
  7638. e,
  7639. r
  7640. ) {
  7641. void 0 === e && (e = 2), void 0 === r && (r = 7);
  7642. var a = [];
  7643. return (
  7644. intersectsImpl(
  7645. intersectData(this, 0, 1),
  7646. intersectData(t, 0, 1),
  7647. 0,
  7648. e,
  7649. a,
  7650. r
  7651. ),
  7652. a
  7653. );
  7654. }),
  7655. (PolynomialBezier.shapeSegment = function (t, e) {
  7656. var r = (e + 1) % t.length();
  7657. return new PolynomialBezier(
  7658. t.v[e],
  7659. t.o[e],
  7660. t.i[r],
  7661. t.v[r],
  7662. !0
  7663. );
  7664. }),
  7665. (PolynomialBezier.shapeSegmentInverted = function (t, e) {
  7666. var r = (e + 1) % t.length();
  7667. return new PolynomialBezier(
  7668. t.v[r],
  7669. t.i[r],
  7670. t.o[e],
  7671. t.v[e],
  7672. !0
  7673. );
  7674. }),
  7675. extendPrototype([ShapeModifier], ZigZagModifier),
  7676. (ZigZagModifier.prototype.initModifierProperties = function (
  7677. t,
  7678. e
  7679. ) {
  7680. (this.getValue = this.processKeys),
  7681. (this.amplitude = PropertyFactory.getProp(
  7682. t,
  7683. e.s,
  7684. 0,
  7685. null,
  7686. this
  7687. )),
  7688. (this.frequency = PropertyFactory.getProp(
  7689. t,
  7690. e.r,
  7691. 0,
  7692. null,
  7693. this
  7694. )),
  7695. (this.pointsType = PropertyFactory.getProp(
  7696. t,
  7697. e.pt,
  7698. 0,
  7699. null,
  7700. this
  7701. )),
  7702. (this._isAnimated =
  7703. 0 !== this.amplitude.effectsSequence.length ||
  7704. 0 !== this.frequency.effectsSequence.length ||
  7705. 0 !== this.pointsType.effectsSequence.length);
  7706. }),
  7707. (ZigZagModifier.prototype.processPath = function (
  7708. t,
  7709. e,
  7710. r,
  7711. a
  7712. ) {
  7713. var i = t._length,
  7714. s = shapePool.newElement();
  7715. if (((s.c = t.c), t.c || (i -= 1), 0 === i)) return s;
  7716. var n = -1,
  7717. o = PolynomialBezier.shapeSegment(t, 0);
  7718. zigZagCorner(s, t, 0, e, r, a, n);
  7719. for (var l = 0; l < i; l += 1)
  7720. (n = zigZagSegment(s, o, e, r, a, -n)),
  7721. (o =
  7722. l !== i - 1 || t.c
  7723. ? PolynomialBezier.shapeSegment(t, (l + 1) % i)
  7724. : null),
  7725. zigZagCorner(s, t, l + 1, e, r, a, n);
  7726. return s;
  7727. }),
  7728. (ZigZagModifier.prototype.processShapes = function (t) {
  7729. var e,
  7730. r,
  7731. a,
  7732. i,
  7733. s,
  7734. n,
  7735. o = this.shapes.length,
  7736. l = this.amplitude.v,
  7737. h = Math.max(0, Math.round(this.frequency.v)),
  7738. p = this.pointsType.v;
  7739. if (0 !== l)
  7740. for (r = 0; r < o; r += 1) {
  7741. if (
  7742. ((n = (s = this.shapes[r]).localShapeCollection),
  7743. s.shape._mdf || this._mdf || t)
  7744. )
  7745. for (
  7746. n.releaseShapes(),
  7747. s.shape._mdf = !0,
  7748. e = s.shape.paths.shapes,
  7749. i = s.shape.paths._length,
  7750. a = 0;
  7751. a < i;
  7752. a += 1
  7753. )
  7754. n.addShape(this.processPath(e[a], l, h, p));
  7755. s.shape.paths = s.localShapeCollection;
  7756. }
  7757. this.dynamicProperties.length || (this._mdf = !1);
  7758. }),
  7759. extendPrototype([ShapeModifier], OffsetPathModifier),
  7760. (OffsetPathModifier.prototype.initModifierProperties =
  7761. function (t, e) {
  7762. (this.getValue = this.processKeys),
  7763. (this.amount = PropertyFactory.getProp(
  7764. t,
  7765. e.a,
  7766. 0,
  7767. null,
  7768. this
  7769. )),
  7770. (this.miterLimit = PropertyFactory.getProp(
  7771. t,
  7772. e.ml,
  7773. 0,
  7774. null,
  7775. this
  7776. )),
  7777. (this.lineJoin = e.lj),
  7778. (this._isAnimated =
  7779. 0 !== this.amount.effectsSequence.length);
  7780. }),
  7781. (OffsetPathModifier.prototype.processPath = function (
  7782. t,
  7783. e,
  7784. r,
  7785. a
  7786. ) {
  7787. var i = shapePool.newElement();
  7788. i.c = t.c;
  7789. var s,
  7790. n,
  7791. o,
  7792. l = t.length();
  7793. t.c || (l -= 1);
  7794. var h = [];
  7795. for (s = 0; s < l; s += 1)
  7796. (o = PolynomialBezier.shapeSegment(t, s)),
  7797. h.push(offsetSegmentSplit(o, e));
  7798. if (!t.c)
  7799. for (s = l - 1; s >= 0; s -= 1)
  7800. (o = PolynomialBezier.shapeSegmentInverted(t, s)),
  7801. h.push(offsetSegmentSplit(o, e));
  7802. h = pruneIntersections(h);
  7803. var p = null,
  7804. c = null;
  7805. for (s = 0; s < h.length; s += 1) {
  7806. var d = h[s];
  7807. for (
  7808. c && (p = joinLines(i, c, d[0], r, a)),
  7809. c = d[d.length - 1],
  7810. n = 0;
  7811. n < d.length;
  7812. n += 1
  7813. )
  7814. (o = d[n]),
  7815. p && pointEqual(o.points[0], p)
  7816. ? i.setXYAt(
  7817. o.points[1][0],
  7818. o.points[1][1],
  7819. 'o',
  7820. i.length() - 1
  7821. )
  7822. : i.setTripleAt(
  7823. o.points[0][0],
  7824. o.points[0][1],
  7825. o.points[1][0],
  7826. o.points[1][1],
  7827. o.points[0][0],
  7828. o.points[0][1],
  7829. i.length()
  7830. ),
  7831. i.setTripleAt(
  7832. o.points[3][0],
  7833. o.points[3][1],
  7834. o.points[3][0],
  7835. o.points[3][1],
  7836. o.points[2][0],
  7837. o.points[2][1],
  7838. i.length()
  7839. ),
  7840. (p = o.points[3]);
  7841. }
  7842. return h.length && joinLines(i, c, h[0][0], r, a), i;
  7843. }),
  7844. (OffsetPathModifier.prototype.processShapes = function (t) {
  7845. var e,
  7846. r,
  7847. a,
  7848. i,
  7849. s,
  7850. n,
  7851. o = this.shapes.length,
  7852. l = this.amount.v,
  7853. h = this.miterLimit.v,
  7854. p = this.lineJoin;
  7855. if (0 !== l)
  7856. for (r = 0; r < o; r += 1) {
  7857. if (
  7858. ((n = (s = this.shapes[r]).localShapeCollection),
  7859. s.shape._mdf || this._mdf || t)
  7860. )
  7861. for (
  7862. n.releaseShapes(),
  7863. s.shape._mdf = !0,
  7864. e = s.shape.paths.shapes,
  7865. i = s.shape.paths._length,
  7866. a = 0;
  7867. a < i;
  7868. a += 1
  7869. )
  7870. n.addShape(this.processPath(e[a], l, p, h));
  7871. s.shape.paths = s.localShapeCollection;
  7872. }
  7873. this.dynamicProperties.length || (this._mdf = !1);
  7874. });
  7875. var FontManager = (function () {
  7876. var t = { w: 0, size: 0, shapes: [], data: { shapes: [] } },
  7877. e = [];
  7878. e = e.concat([
  7879. 2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367,
  7880. 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377,
  7881. 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390,
  7882. 2391, 2402, 2403
  7883. ]);
  7884. var r = 127988,
  7885. a = 127462,
  7886. i = 127487,
  7887. s = [
  7888. 'd83cdffb',
  7889. 'd83cdffc',
  7890. 'd83cdffd',
  7891. 'd83cdffe',
  7892. 'd83cdfff'
  7893. ];
  7894. function n(t, e) {
  7895. var r = createTag('span');
  7896. r.setAttribute('aria-hidden', !0), (r.style.fontFamily = e);
  7897. var a = createTag('span');
  7898. (a.innerText = 'giItT1WQy@!-/#'),
  7899. (r.style.position = 'absolute'),
  7900. (r.style.left = '-10000px'),
  7901. (r.style.top = '-10000px'),
  7902. (r.style.fontSize = '300px'),
  7903. (r.style.fontVariant = 'normal'),
  7904. (r.style.fontStyle = 'normal'),
  7905. (r.style.fontWeight = 'normal'),
  7906. (r.style.letterSpacing = '0'),
  7907. r.appendChild(a),
  7908. document.body.appendChild(r);
  7909. var i = a.offsetWidth;
  7910. return (
  7911. (a.style.fontFamily =
  7912. (function (t) {
  7913. var e,
  7914. r = t.split(','),
  7915. a = r.length,
  7916. i = [];
  7917. for (e = 0; e < a; e += 1)
  7918. 'sans-serif' !== r[e] &&
  7919. 'monospace' !== r[e] &&
  7920. i.push(r[e]);
  7921. return i.join(',');
  7922. })(t) +
  7923. ', ' +
  7924. e),
  7925. { node: a, w: i, parent: r }
  7926. );
  7927. }
  7928. function o(t, e) {
  7929. var r,
  7930. a = document.body && e ? 'svg' : 'canvas',
  7931. i = getFontProperties(t);
  7932. if ('svg' === a) {
  7933. var s = createNS('text');
  7934. (s.style.fontSize = '100px'),
  7935. s.setAttribute('font-family', t.fFamily),
  7936. s.setAttribute('font-style', i.style),
  7937. s.setAttribute('font-weight', i.weight),
  7938. (s.textContent = '1'),
  7939. t.fClass
  7940. ? ((s.style.fontFamily = 'inherit'),
  7941. s.setAttribute('class', t.fClass))
  7942. : (s.style.fontFamily = t.fFamily),
  7943. e.appendChild(s),
  7944. (r = s);
  7945. } else {
  7946. var n = new OffscreenCanvas(500, 500).getContext('2d');
  7947. (n.font =
  7948. i.style + ' ' + i.weight + ' 100px ' + t.fFamily),
  7949. (r = n);
  7950. }
  7951. return {
  7952. measureText: function (t) {
  7953. return 'svg' === a
  7954. ? ((r.textContent = t), r.getComputedTextLength())
  7955. : r.measureText(t).width;
  7956. }
  7957. };
  7958. }
  7959. function l(t) {
  7960. var e = 0,
  7961. r = t.charCodeAt(0);
  7962. if (r >= 55296 && r <= 56319) {
  7963. var a = t.charCodeAt(1);
  7964. a >= 56320 &&
  7965. a <= 57343 &&
  7966. (e = 1024 * (r - 55296) + a - 56320 + 65536);
  7967. }
  7968. return e;
  7969. }
  7970. function h(t) {
  7971. var e = l(t);
  7972. return e >= a && e <= i;
  7973. }
  7974. var p = function () {
  7975. (this.fonts = []),
  7976. (this.chars = null),
  7977. (this.typekitLoaded = 0),
  7978. (this.isLoaded = !1),
  7979. (this._warned = !1),
  7980. (this.initTime = Date.now()),
  7981. (this.setIsLoadedBinded = this.setIsLoaded.bind(this)),
  7982. (this.checkLoadedFontsBinded =
  7983. this.checkLoadedFonts.bind(this));
  7984. };
  7985. (p.isModifier = function (t, e) {
  7986. var r = t.toString(16) + e.toString(16);
  7987. return -1 !== s.indexOf(r);
  7988. }),
  7989. (p.isZeroWidthJoiner = function (t) {
  7990. return 8205 === t;
  7991. }),
  7992. (p.isFlagEmoji = function (t) {
  7993. return h(t.substr(0, 2)) && h(t.substr(2, 2));
  7994. }),
  7995. (p.isRegionalCode = h),
  7996. (p.isCombinedCharacter = function (t) {
  7997. return -1 !== e.indexOf(t);
  7998. }),
  7999. (p.isRegionalFlag = function (t, e) {
  8000. var a = l(t.substr(e, 2));
  8001. if (a !== r) return !1;
  8002. var i = 0;
  8003. for (e += 2; i < 5; ) {
  8004. if ((a = l(t.substr(e, 2))) < 917601 || a > 917626)
  8005. return !1;
  8006. (i += 1), (e += 2);
  8007. }
  8008. return 917631 === l(t.substr(e, 2));
  8009. }),
  8010. (p.isVariationSelector = function (t) {
  8011. return 65039 === t;
  8012. }),
  8013. (p.BLACK_FLAG_CODE_POINT = r);
  8014. var c = {
  8015. addChars: function (t) {
  8016. if (t) {
  8017. var e;
  8018. this.chars || (this.chars = []);
  8019. var r,
  8020. a,
  8021. i = t.length,
  8022. s = this.chars.length;
  8023. for (e = 0; e < i; e += 1) {
  8024. for (r = 0, a = !1; r < s; )
  8025. this.chars[r].style === t[e].style &&
  8026. this.chars[r].fFamily === t[e].fFamily &&
  8027. this.chars[r].ch === t[e].ch &&
  8028. (a = !0),
  8029. (r += 1);
  8030. a || (this.chars.push(t[e]), (s += 1));
  8031. }
  8032. }
  8033. },
  8034. addFonts: function (t, e) {
  8035. if (t) {
  8036. if (this.chars)
  8037. return (
  8038. (this.isLoaded = !0), void (this.fonts = t.list)
  8039. );
  8040. if (!document.body)
  8041. return (
  8042. (this.isLoaded = !0),
  8043. t.list.forEach(function (t) {
  8044. (t.helper = o(t)), (t.cache = {});
  8045. }),
  8046. void (this.fonts = t.list)
  8047. );
  8048. var r,
  8049. a = t.list,
  8050. i = a.length,
  8051. s = i;
  8052. for (r = 0; r < i; r += 1) {
  8053. var l,
  8054. h,
  8055. p = !0;
  8056. if (
  8057. ((a[r].loaded = !1),
  8058. (a[r].monoCase = n(a[r].fFamily, 'monospace')),
  8059. (a[r].sansCase = n(a[r].fFamily, 'sans-serif')),
  8060. a[r].fPath)
  8061. ) {
  8062. if ('p' === a[r].fOrigin || 3 === a[r].origin) {
  8063. if (
  8064. ((l = document.querySelectorAll(
  8065. 'style[f-forigin="p"][f-family="' +
  8066. a[r].fFamily +
  8067. '"], style[f-origin="3"][f-family="' +
  8068. a[r].fFamily +
  8069. '"]'
  8070. )).length > 0 && (p = !1),
  8071. p)
  8072. ) {
  8073. var c = createTag('style');
  8074. c.setAttribute('f-forigin', a[r].fOrigin),
  8075. c.setAttribute('f-origin', a[r].origin),
  8076. c.setAttribute('f-family', a[r].fFamily),
  8077. (c.type = 'text/css'),
  8078. (c.innerText =
  8079. '@font-face {font-family: ' +
  8080. a[r].fFamily +
  8081. "; font-style: normal; src: url('" +
  8082. a[r].fPath +
  8083. "');}"),
  8084. e.appendChild(c);
  8085. }
  8086. } else if (
  8087. 'g' === a[r].fOrigin ||
  8088. 1 === a[r].origin
  8089. ) {
  8090. for (
  8091. l = document.querySelectorAll(
  8092. 'link[f-forigin="g"], link[f-origin="1"]'
  8093. ),
  8094. h = 0;
  8095. h < l.length;
  8096. h += 1
  8097. )
  8098. -1 !== l[h].href.indexOf(a[r].fPath) &&
  8099. (p = !1);
  8100. if (p) {
  8101. var d = createTag('link');
  8102. d.setAttribute('f-forigin', a[r].fOrigin),
  8103. d.setAttribute('f-origin', a[r].origin),
  8104. (d.type = 'text/css'),
  8105. (d.rel = 'stylesheet'),
  8106. (d.href = a[r].fPath),
  8107. document.body.appendChild(d);
  8108. }
  8109. } else if (
  8110. 't' === a[r].fOrigin ||
  8111. 2 === a[r].origin
  8112. ) {
  8113. for (
  8114. l = document.querySelectorAll(
  8115. 'script[f-forigin="t"], script[f-origin="2"]'
  8116. ),
  8117. h = 0;
  8118. h < l.length;
  8119. h += 1
  8120. )
  8121. a[r].fPath === l[h].src && (p = !1);
  8122. if (p) {
  8123. var f = createTag('link');
  8124. f.setAttribute('f-forigin', a[r].fOrigin),
  8125. f.setAttribute('f-origin', a[r].origin),
  8126. f.setAttribute('rel', 'stylesheet'),
  8127. f.setAttribute('href', a[r].fPath),
  8128. e.appendChild(f);
  8129. }
  8130. }
  8131. } else (a[r].loaded = !0), (s -= 1);
  8132. (a[r].helper = o(a[r], e)),
  8133. (a[r].cache = {}),
  8134. this.fonts.push(a[r]);
  8135. }
  8136. 0 === s
  8137. ? (this.isLoaded = !0)
  8138. : setTimeout(this.checkLoadedFonts.bind(this), 100);
  8139. } else this.isLoaded = !0;
  8140. },
  8141. getCharData: function (e, r, a) {
  8142. for (var i = 0, s = this.chars.length; i < s; ) {
  8143. if (
  8144. this.chars[i].ch === e &&
  8145. this.chars[i].style === r &&
  8146. this.chars[i].fFamily === a
  8147. )
  8148. return this.chars[i];
  8149. i += 1;
  8150. }
  8151. return (
  8152. (('string' == typeof e && 13 !== e.charCodeAt(0)) ||
  8153. !e) &&
  8154. console &&
  8155. console.warn &&
  8156. !this._warned &&
  8157. ((this._warned = !0),
  8158. console.warn(
  8159. 'Missing character from exported characters list: ',
  8160. e,
  8161. r,
  8162. a
  8163. )),
  8164. t
  8165. );
  8166. },
  8167. getFontByName: function (t) {
  8168. for (var e = 0, r = this.fonts.length; e < r; ) {
  8169. if (this.fonts[e].fName === t) return this.fonts[e];
  8170. e += 1;
  8171. }
  8172. return this.fonts[0];
  8173. },
  8174. measureText: function (t, e, r) {
  8175. var a = this.getFontByName(e),
  8176. i = t;
  8177. if (!a.cache[i]) {
  8178. var s = a.helper;
  8179. if (' ' === t) {
  8180. var n = s.measureText('|' + t + '|'),
  8181. o = s.measureText('||');
  8182. a.cache[i] = (n - o) / 100;
  8183. } else a.cache[i] = s.measureText(t) / 100;
  8184. }
  8185. return a.cache[i] * r;
  8186. },
  8187. checkLoadedFonts: function () {
  8188. var t,
  8189. e,
  8190. r,
  8191. a = this.fonts.length,
  8192. i = a;
  8193. for (t = 0; t < a; t += 1)
  8194. this.fonts[t].loaded
  8195. ? (i -= 1)
  8196. : 'n' === this.fonts[t].fOrigin ||
  8197. 0 === this.fonts[t].origin
  8198. ? (this.fonts[t].loaded = !0)
  8199. : ((e = this.fonts[t].monoCase.node),
  8200. (r = this.fonts[t].monoCase.w),
  8201. e.offsetWidth !== r
  8202. ? ((i -= 1), (this.fonts[t].loaded = !0))
  8203. : ((e = this.fonts[t].sansCase.node),
  8204. (r = this.fonts[t].sansCase.w),
  8205. e.offsetWidth !== r &&
  8206. ((i -= 1), (this.fonts[t].loaded = !0))),
  8207. this.fonts[t].loaded &&
  8208. (this.fonts[
  8209. t
  8210. ].sansCase.parent.parentNode.removeChild(
  8211. this.fonts[t].sansCase.parent
  8212. ),
  8213. this.fonts[
  8214. t
  8215. ].monoCase.parent.parentNode.removeChild(
  8216. this.fonts[t].monoCase.parent
  8217. )));
  8218. 0 !== i && Date.now() - this.initTime < 5e3
  8219. ? setTimeout(this.checkLoadedFontsBinded, 20)
  8220. : setTimeout(this.setIsLoadedBinded, 10);
  8221. },
  8222. setIsLoaded: function () {
  8223. this.isLoaded = !0;
  8224. }
  8225. };
  8226. return (p.prototype = c), p;
  8227. })();
  8228. function SlotManager(t) {
  8229. this.animationData = t;
  8230. }
  8231. function slotFactory(t) {
  8232. return new SlotManager(t);
  8233. }
  8234. function RenderableElement() {}
  8235. (SlotManager.prototype.getProp = function (t) {
  8236. return this.animationData.slots &&
  8237. this.animationData.slots[t.sid]
  8238. ? Object.assign(t, this.animationData.slots[t.sid].p)
  8239. : t;
  8240. }),
  8241. (RenderableElement.prototype = {
  8242. initRenderable: function () {
  8243. (this.isInRange = !1),
  8244. (this.hidden = !1),
  8245. (this.isTransparent = !1),
  8246. (this.renderableComponents = []);
  8247. },
  8248. addRenderableComponent: function (t) {
  8249. -1 === this.renderableComponents.indexOf(t) &&
  8250. this.renderableComponents.push(t);
  8251. },
  8252. removeRenderableComponent: function (t) {
  8253. -1 !== this.renderableComponents.indexOf(t) &&
  8254. this.renderableComponents.splice(
  8255. this.renderableComponents.indexOf(t),
  8256. 1
  8257. );
  8258. },
  8259. prepareRenderableFrame: function (t) {
  8260. this.checkLayerLimits(t);
  8261. },
  8262. checkTransparency: function () {
  8263. this.finalTransform.mProp.o.v <= 0
  8264. ? !this.isTransparent &&
  8265. this.globalData.renderConfig.hideOnTransparent &&
  8266. ((this.isTransparent = !0), this.hide())
  8267. : this.isTransparent &&
  8268. ((this.isTransparent = !1), this.show());
  8269. },
  8270. checkLayerLimits: function (t) {
  8271. this.data.ip - this.data.st <= t &&
  8272. this.data.op - this.data.st > t
  8273. ? !0 !== this.isInRange &&
  8274. ((this.globalData._mdf = !0),
  8275. (this._mdf = !0),
  8276. (this.isInRange = !0),
  8277. this.show())
  8278. : !1 !== this.isInRange &&
  8279. ((this.globalData._mdf = !0),
  8280. (this.isInRange = !1),
  8281. this.hide());
  8282. },
  8283. renderRenderable: function () {
  8284. var t,
  8285. e = this.renderableComponents.length;
  8286. for (t = 0; t < e; t += 1)
  8287. this.renderableComponents[t].renderFrame(
  8288. this._isFirstFrame
  8289. );
  8290. },
  8291. sourceRectAtTime: function () {
  8292. return { top: 0, left: 0, width: 100, height: 100 };
  8293. },
  8294. getLayerSize: function () {
  8295. return 5 === this.data.ty
  8296. ? {
  8297. w: this.data.textData.width,
  8298. h: this.data.textData.height
  8299. }
  8300. : { w: this.data.width, h: this.data.height };
  8301. }
  8302. });
  8303. var getBlendMode =
  8304. ((blendModeEnums = {
  8305. 0: 'source-over',
  8306. 1: 'multiply',
  8307. 2: 'screen',
  8308. 3: 'overlay',
  8309. 4: 'darken',
  8310. 5: 'lighten',
  8311. 6: 'color-dodge',
  8312. 7: 'color-burn',
  8313. 8: 'hard-light',
  8314. 9: 'soft-light',
  8315. 10: 'difference',
  8316. 11: 'exclusion',
  8317. 12: 'hue',
  8318. 13: 'saturation',
  8319. 14: 'color',
  8320. 15: 'luminosity'
  8321. }),
  8322. function (t) {
  8323. return blendModeEnums[t] || '';
  8324. }),
  8325. blendModeEnums;
  8326. function SliderEffect(t, e, r) {
  8327. this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);
  8328. }
  8329. function AngleEffect(t, e, r) {
  8330. this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);
  8331. }
  8332. function ColorEffect(t, e, r) {
  8333. this.p = PropertyFactory.getProp(e, t.v, 1, 0, r);
  8334. }
  8335. function PointEffect(t, e, r) {
  8336. this.p = PropertyFactory.getProp(e, t.v, 1, 0, r);
  8337. }
  8338. function LayerIndexEffect(t, e, r) {
  8339. this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);
  8340. }
  8341. function MaskIndexEffect(t, e, r) {
  8342. this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);
  8343. }
  8344. function CheckboxEffect(t, e, r) {
  8345. this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);
  8346. }
  8347. function NoValueEffect() {
  8348. this.p = {};
  8349. }
  8350. function EffectsManager(t, e) {
  8351. var r,
  8352. a = t.ef || [];
  8353. this.effectElements = [];
  8354. var i,
  8355. s = a.length;
  8356. for (r = 0; r < s; r += 1)
  8357. (i = new GroupEffect(a[r], e)), this.effectElements.push(i);
  8358. }
  8359. function GroupEffect(t, e) {
  8360. this.init(t, e);
  8361. }
  8362. function BaseElement() {}
  8363. function FrameElement() {}
  8364. function FootageElement(t, e, r) {
  8365. this.initFrame(),
  8366. this.initRenderable(),
  8367. (this.assetData = e.getAssetData(t.refId)),
  8368. (this.footageData = e.imageLoader.getAsset(this.assetData)),
  8369. this.initBaseData(t, e, r);
  8370. }
  8371. function AudioElement(t, e, r) {
  8372. this.initFrame(),
  8373. this.initRenderable(),
  8374. (this.assetData = e.getAssetData(t.refId)),
  8375. this.initBaseData(t, e, r),
  8376. (this._isPlaying = !1),
  8377. (this._canPlay = !1);
  8378. var a = this.globalData.getAssetsPath(this.assetData);
  8379. (this.audio = this.globalData.audioController.createAudio(a)),
  8380. (this._currentTime = 0),
  8381. this.globalData.audioController.addAudio(this),
  8382. (this._volumeMultiplier = 1),
  8383. (this._volume = 1),
  8384. (this._previousVolume = null),
  8385. (this.tm = t.tm
  8386. ? PropertyFactory.getProp(
  8387. this,
  8388. t.tm,
  8389. 0,
  8390. e.frameRate,
  8391. this
  8392. )
  8393. : { _placeholder: !0 }),
  8394. (this.lv = PropertyFactory.getProp(
  8395. this,
  8396. t.au && t.au.lv ? t.au.lv : { k: [100] },
  8397. 1,
  8398. 0.01,
  8399. this
  8400. ));
  8401. }
  8402. function BaseRenderer() {}
  8403. extendPrototype([DynamicPropertyContainer], GroupEffect),
  8404. (GroupEffect.prototype.getValue =
  8405. GroupEffect.prototype.iterateDynamicProperties),
  8406. (GroupEffect.prototype.init = function (t, e) {
  8407. var r;
  8408. (this.data = t),
  8409. (this.effectElements = []),
  8410. this.initDynamicPropertyContainer(e);
  8411. var a,
  8412. i = this.data.ef.length,
  8413. s = this.data.ef;
  8414. for (r = 0; r < i; r += 1) {
  8415. switch (((a = null), s[r].ty)) {
  8416. case 0:
  8417. a = new SliderEffect(s[r], e, this);
  8418. break;
  8419. case 1:
  8420. a = new AngleEffect(s[r], e, this);
  8421. break;
  8422. case 2:
  8423. a = new ColorEffect(s[r], e, this);
  8424. break;
  8425. case 3:
  8426. a = new PointEffect(s[r], e, this);
  8427. break;
  8428. case 4:
  8429. case 7:
  8430. a = new CheckboxEffect(s[r], e, this);
  8431. break;
  8432. case 10:
  8433. a = new LayerIndexEffect(s[r], e, this);
  8434. break;
  8435. case 11:
  8436. a = new MaskIndexEffect(s[r], e, this);
  8437. break;
  8438. case 5:
  8439. a = new EffectsManager(s[r], e);
  8440. break;
  8441. default:
  8442. a = new NoValueEffect(s[r]);
  8443. }
  8444. a && this.effectElements.push(a);
  8445. }
  8446. }),
  8447. (BaseElement.prototype = {
  8448. checkMasks: function () {
  8449. if (!this.data.hasMask) return !1;
  8450. for (
  8451. var t = 0, e = this.data.masksProperties.length;
  8452. t < e;
  8453. ) {
  8454. if (
  8455. 'n' !== this.data.masksProperties[t].mode &&
  8456. !1 !== this.data.masksProperties[t].cl
  8457. )
  8458. return !0;
  8459. t += 1;
  8460. }
  8461. return !1;
  8462. },
  8463. initExpressions: function () {
  8464. var t = getExpressionInterfaces();
  8465. if (t) {
  8466. var e = t('layer'),
  8467. r = t('effects'),
  8468. a = t('shape'),
  8469. i = t('text'),
  8470. s = t('comp');
  8471. (this.layerInterface = e(this)),
  8472. this.data.hasMask &&
  8473. this.maskManager &&
  8474. this.layerInterface.registerMaskInterface(
  8475. this.maskManager
  8476. );
  8477. var n = r.createEffectsInterface(
  8478. this,
  8479. this.layerInterface
  8480. );
  8481. this.layerInterface.registerEffectsInterface(n),
  8482. 0 === this.data.ty || this.data.xt
  8483. ? (this.compInterface = s(this))
  8484. : 4 === this.data.ty
  8485. ? ((this.layerInterface.shapeInterface = a(
  8486. this.shapesData,
  8487. this.itemsData,
  8488. this.layerInterface
  8489. )),
  8490. (this.layerInterface.content =
  8491. this.layerInterface.shapeInterface))
  8492. : 5 === this.data.ty &&
  8493. ((this.layerInterface.textInterface = i(this)),
  8494. (this.layerInterface.text =
  8495. this.layerInterface.textInterface));
  8496. }
  8497. },
  8498. setBlendMode: function () {
  8499. var t = getBlendMode(this.data.bm);
  8500. (this.baseElement || this.layerElement).style[
  8501. 'mix-blend-mode'
  8502. ] = t;
  8503. },
  8504. initBaseData: function (t, e, r) {
  8505. (this.globalData = e),
  8506. (this.comp = r),
  8507. (this.data = t),
  8508. (this.layerId = createElementID()),
  8509. this.data.sr || (this.data.sr = 1),
  8510. (this.effectsManager = new EffectsManager(
  8511. this.data,
  8512. this,
  8513. this.dynamicProperties
  8514. ));
  8515. },
  8516. getType: function () {
  8517. return this.type;
  8518. },
  8519. sourceRectAtTime: function () {}
  8520. }),
  8521. (FrameElement.prototype = {
  8522. initFrame: function () {
  8523. (this._isFirstFrame = !1),
  8524. (this.dynamicProperties = []),
  8525. (this._mdf = !1);
  8526. },
  8527. prepareProperties: function (t, e) {
  8528. var r,
  8529. a = this.dynamicProperties.length;
  8530. for (r = 0; r < a; r += 1)
  8531. (e ||
  8532. (this._isParent &&
  8533. 'transform' ===
  8534. this.dynamicProperties[r].propType)) &&
  8535. (this.dynamicProperties[r].getValue(),
  8536. this.dynamicProperties[r]._mdf &&
  8537. ((this.globalData._mdf = !0), (this._mdf = !0)));
  8538. },
  8539. addDynamicProperty: function (t) {
  8540. -1 === this.dynamicProperties.indexOf(t) &&
  8541. this.dynamicProperties.push(t);
  8542. }
  8543. }),
  8544. (FootageElement.prototype.prepareFrame = function () {}),
  8545. extendPrototype(
  8546. [RenderableElement, BaseElement, FrameElement],
  8547. FootageElement
  8548. ),
  8549. (FootageElement.prototype.getBaseElement = function () {
  8550. return null;
  8551. }),
  8552. (FootageElement.prototype.renderFrame = function () {}),
  8553. (FootageElement.prototype.destroy = function () {}),
  8554. (FootageElement.prototype.initExpressions = function () {
  8555. var t = getExpressionInterfaces();
  8556. if (t) {
  8557. var e = t('footage');
  8558. this.layerInterface = e(this);
  8559. }
  8560. }),
  8561. (FootageElement.prototype.getFootageData = function () {
  8562. return this.footageData;
  8563. }),
  8564. (AudioElement.prototype.prepareFrame = function (t) {
  8565. if (
  8566. (this.prepareRenderableFrame(t, !0),
  8567. this.prepareProperties(t, !0),
  8568. this.tm._placeholder)
  8569. )
  8570. this._currentTime = t / this.data.sr;
  8571. else {
  8572. var e = this.tm.v;
  8573. this._currentTime = e;
  8574. }
  8575. this._volume = this.lv.v[0];
  8576. var r = this._volume * this._volumeMultiplier;
  8577. this._previousVolume !== r &&
  8578. ((this._previousVolume = r), this.audio.volume(r));
  8579. }),
  8580. extendPrototype(
  8581. [RenderableElement, BaseElement, FrameElement],
  8582. AudioElement
  8583. ),
  8584. (AudioElement.prototype.renderFrame = function () {
  8585. this.isInRange &&
  8586. this._canPlay &&
  8587. (this._isPlaying
  8588. ? (!this.audio.playing() ||
  8589. Math.abs(
  8590. this._currentTime / this.globalData.frameRate -
  8591. this.audio.seek()
  8592. ) > 0.1) &&
  8593. this.audio.seek(
  8594. this._currentTime / this.globalData.frameRate
  8595. )
  8596. : (this.audio.play(),
  8597. this.audio.seek(
  8598. this._currentTime / this.globalData.frameRate
  8599. ),
  8600. (this._isPlaying = !0)));
  8601. }),
  8602. (AudioElement.prototype.show = function () {}),
  8603. (AudioElement.prototype.hide = function () {
  8604. this.audio.pause(), (this._isPlaying = !1);
  8605. }),
  8606. (AudioElement.prototype.pause = function () {
  8607. this.audio.pause(),
  8608. (this._isPlaying = !1),
  8609. (this._canPlay = !1);
  8610. }),
  8611. (AudioElement.prototype.resume = function () {
  8612. this._canPlay = !0;
  8613. }),
  8614. (AudioElement.prototype.setRate = function (t) {
  8615. this.audio.rate(t);
  8616. }),
  8617. (AudioElement.prototype.volume = function (t) {
  8618. (this._volumeMultiplier = t),
  8619. (this._previousVolume = t * this._volume),
  8620. this.audio.volume(this._previousVolume);
  8621. }),
  8622. (AudioElement.prototype.getBaseElement = function () {
  8623. return null;
  8624. }),
  8625. (AudioElement.prototype.destroy = function () {}),
  8626. (AudioElement.prototype.sourceRectAtTime = function () {}),
  8627. (AudioElement.prototype.initExpressions = function () {}),
  8628. (BaseRenderer.prototype.checkLayers = function (t) {
  8629. var e,
  8630. r,
  8631. a = this.layers.length;
  8632. for (this.completeLayers = !0, e = a - 1; e >= 0; e -= 1)
  8633. this.elements[e] ||
  8634. ((r = this.layers[e]).ip - r.st <=
  8635. t - this.layers[e].st &&
  8636. r.op - r.st > t - this.layers[e].st &&
  8637. this.buildItem(e)),
  8638. (this.completeLayers =
  8639. !!this.elements[e] && this.completeLayers);
  8640. this.checkPendingElements();
  8641. }),
  8642. (BaseRenderer.prototype.createItem = function (t) {
  8643. switch (t.ty) {
  8644. case 2:
  8645. return this.createImage(t);
  8646. case 0:
  8647. return this.createComp(t);
  8648. case 1:
  8649. return this.createSolid(t);
  8650. case 3:
  8651. default:
  8652. return this.createNull(t);
  8653. case 4:
  8654. return this.createShape(t);
  8655. case 5:
  8656. return this.createText(t);
  8657. case 6:
  8658. return this.createAudio(t);
  8659. case 13:
  8660. return this.createCamera(t);
  8661. case 15:
  8662. return this.createFootage(t);
  8663. }
  8664. }),
  8665. (BaseRenderer.prototype.createCamera = function () {
  8666. throw new Error(
  8667. "You're using a 3d camera. Try the html renderer."
  8668. );
  8669. }),
  8670. (BaseRenderer.prototype.createAudio = function (t) {
  8671. return new AudioElement(t, this.globalData, this);
  8672. }),
  8673. (BaseRenderer.prototype.createFootage = function (t) {
  8674. return new FootageElement(t, this.globalData, this);
  8675. }),
  8676. (BaseRenderer.prototype.buildAllItems = function () {
  8677. var t,
  8678. e = this.layers.length;
  8679. for (t = 0; t < e; t += 1) this.buildItem(t);
  8680. this.checkPendingElements();
  8681. }),
  8682. (BaseRenderer.prototype.includeLayers = function (t) {
  8683. var e;
  8684. this.completeLayers = !1;
  8685. var r,
  8686. a = t.length,
  8687. i = this.layers.length;
  8688. for (e = 0; e < a; e += 1)
  8689. for (r = 0; r < i; ) {
  8690. if (this.layers[r].id === t[e].id) {
  8691. this.layers[r] = t[e];
  8692. break;
  8693. }
  8694. r += 1;
  8695. }
  8696. }),
  8697. (BaseRenderer.prototype.setProjectInterface = function (t) {
  8698. this.globalData.projectInterface = t;
  8699. }),
  8700. (BaseRenderer.prototype.initItems = function () {
  8701. this.globalData.progressiveLoad || this.buildAllItems();
  8702. }),
  8703. (BaseRenderer.prototype.buildElementParenting = function (
  8704. t,
  8705. e,
  8706. r
  8707. ) {
  8708. for (
  8709. var a = this.elements,
  8710. i = this.layers,
  8711. s = 0,
  8712. n = i.length;
  8713. s < n;
  8714. )
  8715. i[s].ind == e &&
  8716. (a[s] && !0 !== a[s]
  8717. ? (r.push(a[s]),
  8718. a[s].setAsParent(),
  8719. void 0 !== i[s].parent
  8720. ? this.buildElementParenting(t, i[s].parent, r)
  8721. : t.setHierarchy(r))
  8722. : (this.buildItem(s), this.addPendingElement(t))),
  8723. (s += 1);
  8724. }),
  8725. (BaseRenderer.prototype.addPendingElement = function (t) {
  8726. this.pendingElements.push(t);
  8727. }),
  8728. (BaseRenderer.prototype.searchExtraCompositions = function (
  8729. t
  8730. ) {
  8731. var e,
  8732. r = t.length;
  8733. for (e = 0; e < r; e += 1)
  8734. if (t[e].xt) {
  8735. var a = this.createComp(t[e]);
  8736. a.initExpressions(),
  8737. this.globalData.projectInterface.registerComposition(
  8738. a
  8739. );
  8740. }
  8741. }),
  8742. (BaseRenderer.prototype.getElementById = function (t) {
  8743. var e,
  8744. r = this.elements.length;
  8745. for (e = 0; e < r; e += 1)
  8746. if (this.elements[e].data.ind === t)
  8747. return this.elements[e];
  8748. return null;
  8749. }),
  8750. (BaseRenderer.prototype.getElementByPath = function (t) {
  8751. var e,
  8752. r = t.shift();
  8753. if ('number' == typeof r) e = this.elements[r];
  8754. else {
  8755. var a,
  8756. i = this.elements.length;
  8757. for (a = 0; a < i; a += 1)
  8758. if (this.elements[a].data.nm === r) {
  8759. e = this.elements[a];
  8760. break;
  8761. }
  8762. }
  8763. return 0 === t.length ? e : e.getElementByPath(t);
  8764. }),
  8765. (BaseRenderer.prototype.setupGlobalData = function (t, e) {
  8766. (this.globalData.fontManager = new FontManager()),
  8767. (this.globalData.slotManager = slotFactory(t)),
  8768. this.globalData.fontManager.addChars(t.chars),
  8769. this.globalData.fontManager.addFonts(t.fonts, e),
  8770. (this.globalData.getAssetData =
  8771. this.animationItem.getAssetData.bind(
  8772. this.animationItem
  8773. )),
  8774. (this.globalData.getAssetsPath =
  8775. this.animationItem.getAssetsPath.bind(
  8776. this.animationItem
  8777. )),
  8778. (this.globalData.imageLoader =
  8779. this.animationItem.imagePreloader),
  8780. (this.globalData.audioController =
  8781. this.animationItem.audioController),
  8782. (this.globalData.frameId = 0),
  8783. (this.globalData.frameRate = t.fr),
  8784. (this.globalData.nm = t.nm),
  8785. (this.globalData.compSize = { w: t.w, h: t.h });
  8786. });
  8787. var effectTypes = { TRANSFORM_EFFECT: 'transformEFfect' };
  8788. function TransformElement() {}
  8789. function MaskElement(t, e, r) {
  8790. (this.data = t),
  8791. (this.element = e),
  8792. (this.globalData = r),
  8793. (this.storedData = []),
  8794. (this.masksProperties = this.data.masksProperties || []),
  8795. (this.maskElement = null);
  8796. var a,
  8797. i,
  8798. s = this.globalData.defs,
  8799. n = this.masksProperties ? this.masksProperties.length : 0;
  8800. (this.viewData = createSizedArray(n)), (this.solidPath = '');
  8801. var o,
  8802. l,
  8803. h,
  8804. p,
  8805. c,
  8806. d,
  8807. f = this.masksProperties,
  8808. m = 0,
  8809. u = [],
  8810. g = createElementID(),
  8811. y = 'clipPath',
  8812. v = 'clip-path';
  8813. for (a = 0; a < n; a += 1)
  8814. if (
  8815. ((('a' !== f[a].mode && 'n' !== f[a].mode) ||
  8816. f[a].inv ||
  8817. 100 !== f[a].o.k ||
  8818. f[a].o.x) &&
  8819. ((y = 'mask'), (v = 'mask')),
  8820. ('s' !== f[a].mode && 'i' !== f[a].mode) || 0 !== m
  8821. ? (h = null)
  8822. : ((h = createNS('rect')).setAttribute(
  8823. 'fill',
  8824. '#ffffff'
  8825. ),
  8826. h.setAttribute(
  8827. 'width',
  8828. this.element.comp.data.w || 0
  8829. ),
  8830. h.setAttribute(
  8831. 'height',
  8832. this.element.comp.data.h || 0
  8833. ),
  8834. u.push(h)),
  8835. (i = createNS('path')),
  8836. 'n' === f[a].mode)
  8837. )
  8838. (this.viewData[a] = {
  8839. op: PropertyFactory.getProp(
  8840. this.element,
  8841. f[a].o,
  8842. 0,
  8843. 0.01,
  8844. this.element
  8845. ),
  8846. prop: ShapePropertyFactory.getShapeProp(
  8847. this.element,
  8848. f[a],
  8849. 3
  8850. ),
  8851. elem: i,
  8852. lastPath: ''
  8853. }),
  8854. s.appendChild(i);
  8855. else {
  8856. var b;
  8857. if (
  8858. ((m += 1),
  8859. i.setAttribute(
  8860. 'fill',
  8861. 's' === f[a].mode ? '#000000' : '#ffffff'
  8862. ),
  8863. i.setAttribute('clip-rule', 'nonzero'),
  8864. 0 !== f[a].x.k
  8865. ? ((y = 'mask'),
  8866. (v = 'mask'),
  8867. (d = PropertyFactory.getProp(
  8868. this.element,
  8869. f[a].x,
  8870. 0,
  8871. null,
  8872. this.element
  8873. )),
  8874. (b = createElementID()),
  8875. (p = createNS('filter')).setAttribute('id', b),
  8876. (c = createNS('feMorphology')).setAttribute(
  8877. 'operator',
  8878. 'erode'
  8879. ),
  8880. c.setAttribute('in', 'SourceGraphic'),
  8881. c.setAttribute('radius', '0'),
  8882. p.appendChild(c),
  8883. s.appendChild(p),
  8884. i.setAttribute(
  8885. 'stroke',
  8886. 's' === f[a].mode ? '#000000' : '#ffffff'
  8887. ))
  8888. : ((c = null), (d = null)),
  8889. (this.storedData[a] = {
  8890. elem: i,
  8891. x: d,
  8892. expan: c,
  8893. lastPath: '',
  8894. lastOperator: '',
  8895. filterId: b,
  8896. lastRadius: 0
  8897. }),
  8898. 'i' === f[a].mode)
  8899. ) {
  8900. l = u.length;
  8901. var _ = createNS('g');
  8902. for (o = 0; o < l; o += 1) _.appendChild(u[o]);
  8903. var w = createNS('mask');
  8904. w.setAttribute('mask-type', 'alpha'),
  8905. w.setAttribute('id', g + '_' + m),
  8906. w.appendChild(i),
  8907. s.appendChild(w),
  8908. _.setAttribute(
  8909. 'mask',
  8910. 'url(' + getLocationHref() + '#' + g + '_' + m + ')'
  8911. ),
  8912. (u.length = 0),
  8913. u.push(_);
  8914. } else u.push(i);
  8915. f[a].inv &&
  8916. !this.solidPath &&
  8917. (this.solidPath = this.createLayerSolidPath()),
  8918. (this.viewData[a] = {
  8919. elem: i,
  8920. lastPath: '',
  8921. op: PropertyFactory.getProp(
  8922. this.element,
  8923. f[a].o,
  8924. 0,
  8925. 0.01,
  8926. this.element
  8927. ),
  8928. prop: ShapePropertyFactory.getShapeProp(
  8929. this.element,
  8930. f[a],
  8931. 3
  8932. ),
  8933. invRect: h
  8934. }),
  8935. this.viewData[a].prop.k ||
  8936. this.drawPath(
  8937. f[a],
  8938. this.viewData[a].prop.v,
  8939. this.viewData[a]
  8940. );
  8941. }
  8942. for (
  8943. this.maskElement = createNS(y), n = u.length, a = 0;
  8944. a < n;
  8945. a += 1
  8946. )
  8947. this.maskElement.appendChild(u[a]);
  8948. m > 0 &&
  8949. (this.maskElement.setAttribute('id', g),
  8950. this.element.maskedElement.setAttribute(
  8951. v,
  8952. 'url(' + getLocationHref() + '#' + g + ')'
  8953. ),
  8954. s.appendChild(this.maskElement)),
  8955. this.viewData.length &&
  8956. this.element.addRenderableComponent(this);
  8957. }
  8958. (TransformElement.prototype = {
  8959. initTransform: function () {
  8960. var t = new Matrix();
  8961. (this.finalTransform = {
  8962. mProp: this.data.ks
  8963. ? TransformPropertyFactory.getTransformProperty(
  8964. this,
  8965. this.data.ks,
  8966. this
  8967. )
  8968. : { o: 0 },
  8969. _matMdf: !1,
  8970. _localMatMdf: !1,
  8971. _opMdf: !1,
  8972. mat: t,
  8973. localMat: t,
  8974. localOpacity: 1
  8975. }),
  8976. this.data.ao &&
  8977. (this.finalTransform.mProp.autoOriented = !0),
  8978. this.data.ty;
  8979. },
  8980. renderTransform: function () {
  8981. if (
  8982. ((this.finalTransform._opMdf =
  8983. this.finalTransform.mProp.o._mdf || this._isFirstFrame),
  8984. (this.finalTransform._matMdf =
  8985. this.finalTransform.mProp._mdf || this._isFirstFrame),
  8986. this.hierarchy)
  8987. ) {
  8988. var t,
  8989. e = this.finalTransform.mat,
  8990. r = 0,
  8991. a = this.hierarchy.length;
  8992. if (!this.finalTransform._matMdf)
  8993. for (; r < a; ) {
  8994. if (this.hierarchy[r].finalTransform.mProp._mdf) {
  8995. this.finalTransform._matMdf = !0;
  8996. break;
  8997. }
  8998. r += 1;
  8999. }
  9000. if (this.finalTransform._matMdf)
  9001. for (
  9002. t = this.finalTransform.mProp.v.props,
  9003. e.cloneFromProps(t),
  9004. r = 0;
  9005. r < a;
  9006. r += 1
  9007. )
  9008. e.multiply(this.hierarchy[r].finalTransform.mProp.v);
  9009. }
  9010. this.finalTransform._matMdf &&
  9011. (this.finalTransform._localMatMdf =
  9012. this.finalTransform._matMdf),
  9013. this.finalTransform._opMdf &&
  9014. (this.finalTransform.localOpacity =
  9015. this.finalTransform.mProp.o.v);
  9016. },
  9017. renderLocalTransform: function () {
  9018. if (this.localTransforms) {
  9019. var t = 0,
  9020. e = this.localTransforms.length;
  9021. if (
  9022. ((this.finalTransform._localMatMdf =
  9023. this.finalTransform._matMdf),
  9024. !this.finalTransform._localMatMdf ||
  9025. !this.finalTransform._opMdf)
  9026. )
  9027. for (; t < e; )
  9028. this.localTransforms[t]._mdf &&
  9029. (this.finalTransform._localMatMdf = !0),
  9030. this.localTransforms[t]._opMdf &&
  9031. !this.finalTransform._opMdf &&
  9032. ((this.finalTransform.localOpacity =
  9033. this.finalTransform.mProp.o.v),
  9034. (this.finalTransform._opMdf = !0)),
  9035. (t += 1);
  9036. if (this.finalTransform._localMatMdf) {
  9037. var r = this.finalTransform.localMat;
  9038. for (
  9039. this.localTransforms[0].matrix.clone(r), t = 1;
  9040. t < e;
  9041. t += 1
  9042. ) {
  9043. var a = this.localTransforms[t].matrix;
  9044. r.multiply(a);
  9045. }
  9046. r.multiply(this.finalTransform.mat);
  9047. }
  9048. if (this.finalTransform._opMdf) {
  9049. var i = this.finalTransform.localOpacity;
  9050. for (t = 0; t < e; t += 1)
  9051. i *= 0.01 * this.localTransforms[t].opacity;
  9052. this.finalTransform.localOpacity = i;
  9053. }
  9054. }
  9055. },
  9056. searchEffectTransforms: function () {
  9057. if (this.renderableEffectsManager) {
  9058. var t = this.renderableEffectsManager.getEffects(
  9059. effectTypes.TRANSFORM_EFFECT
  9060. );
  9061. if (t.length) {
  9062. (this.localTransforms = []),
  9063. (this.finalTransform.localMat = new Matrix());
  9064. var e = 0,
  9065. r = t.length;
  9066. for (e = 0; e < r; e += 1)
  9067. this.localTransforms.push(t[e]);
  9068. }
  9069. }
  9070. },
  9071. globalToLocal: function (t) {
  9072. var e = [];
  9073. e.push(this.finalTransform);
  9074. for (var r, a = !0, i = this.comp; a; )
  9075. i.finalTransform
  9076. ? (i.data.hasMask && e.splice(0, 0, i.finalTransform),
  9077. (i = i.comp))
  9078. : (a = !1);
  9079. var s,
  9080. n = e.length;
  9081. for (r = 0; r < n; r += 1)
  9082. (s = e[r].mat.applyToPointArray(0, 0, 0)),
  9083. (t = [t[0] - s[0], t[1] - s[1], 0]);
  9084. return t;
  9085. },
  9086. mHelper: new Matrix()
  9087. }),
  9088. (MaskElement.prototype.getMaskProperty = function (t) {
  9089. return this.viewData[t].prop;
  9090. }),
  9091. (MaskElement.prototype.renderFrame = function (t) {
  9092. var e,
  9093. r = this.element.finalTransform.mat,
  9094. a = this.masksProperties.length;
  9095. for (e = 0; e < a; e += 1)
  9096. if (
  9097. ((this.viewData[e].prop._mdf || t) &&
  9098. this.drawPath(
  9099. this.masksProperties[e],
  9100. this.viewData[e].prop.v,
  9101. this.viewData[e]
  9102. ),
  9103. (this.viewData[e].op._mdf || t) &&
  9104. this.viewData[e].elem.setAttribute(
  9105. 'fill-opacity',
  9106. this.viewData[e].op.v
  9107. ),
  9108. 'n' !== this.masksProperties[e].mode &&
  9109. (this.viewData[e].invRect &&
  9110. (this.element.finalTransform.mProp._mdf || t) &&
  9111. this.viewData[e].invRect.setAttribute(
  9112. 'transform',
  9113. r.getInverseMatrix().to2dCSS()
  9114. ),
  9115. this.storedData[e].x &&
  9116. (this.storedData[e].x._mdf || t)))
  9117. ) {
  9118. var i = this.storedData[e].expan;
  9119. this.storedData[e].x.v < 0
  9120. ? ('erode' !== this.storedData[e].lastOperator &&
  9121. ((this.storedData[e].lastOperator = 'erode'),
  9122. this.storedData[e].elem.setAttribute(
  9123. 'filter',
  9124. 'url(' +
  9125. getLocationHref() +
  9126. '#' +
  9127. this.storedData[e].filterId +
  9128. ')'
  9129. )),
  9130. i.setAttribute('radius', -this.storedData[e].x.v))
  9131. : ('dilate' !== this.storedData[e].lastOperator &&
  9132. ((this.storedData[e].lastOperator = 'dilate'),
  9133. this.storedData[e].elem.setAttribute(
  9134. 'filter',
  9135. null
  9136. )),
  9137. this.storedData[e].elem.setAttribute(
  9138. 'stroke-width',
  9139. 2 * this.storedData[e].x.v
  9140. ));
  9141. }
  9142. }),
  9143. (MaskElement.prototype.getMaskelement = function () {
  9144. return this.maskElement;
  9145. }),
  9146. (MaskElement.prototype.createLayerSolidPath = function () {
  9147. var t = 'M0,0 ';
  9148. return (
  9149. (t += ' h' + this.globalData.compSize.w),
  9150. (t += ' v' + this.globalData.compSize.h),
  9151. (t += ' h-' + this.globalData.compSize.w),
  9152. (t += ' v-' + this.globalData.compSize.h + ' ')
  9153. );
  9154. }),
  9155. (MaskElement.prototype.drawPath = function (t, e, r) {
  9156. var a,
  9157. i,
  9158. s = ' M' + e.v[0][0] + ',' + e.v[0][1];
  9159. for (i = e._length, a = 1; a < i; a += 1)
  9160. s +=
  9161. ' C' +
  9162. e.o[a - 1][0] +
  9163. ',' +
  9164. e.o[a - 1][1] +
  9165. ' ' +
  9166. e.i[a][0] +
  9167. ',' +
  9168. e.i[a][1] +
  9169. ' ' +
  9170. e.v[a][0] +
  9171. ',' +
  9172. e.v[a][1];
  9173. if (
  9174. (e.c &&
  9175. i > 1 &&
  9176. (s +=
  9177. ' C' +
  9178. e.o[a - 1][0] +
  9179. ',' +
  9180. e.o[a - 1][1] +
  9181. ' ' +
  9182. e.i[0][0] +
  9183. ',' +
  9184. e.i[0][1] +
  9185. ' ' +
  9186. e.v[0][0] +
  9187. ',' +
  9188. e.v[0][1]),
  9189. r.lastPath !== s)
  9190. ) {
  9191. var n = '';
  9192. r.elem &&
  9193. (e.c && (n = t.inv ? this.solidPath + s : s),
  9194. r.elem.setAttribute('d', n)),
  9195. (r.lastPath = s);
  9196. }
  9197. }),
  9198. (MaskElement.prototype.destroy = function () {
  9199. (this.element = null),
  9200. (this.globalData = null),
  9201. (this.maskElement = null),
  9202. (this.data = null),
  9203. (this.masksProperties = null);
  9204. });
  9205. var filtersFactory = (function () {
  9206. var t = {
  9207. createFilter: function (t, e) {
  9208. var r = createNS('filter');
  9209. return (
  9210. r.setAttribute('id', t),
  9211. !0 !== e &&
  9212. (r.setAttribute('filterUnits', 'objectBoundingBox'),
  9213. r.setAttribute('x', '0%'),
  9214. r.setAttribute('y', '0%'),
  9215. r.setAttribute('width', '100%'),
  9216. r.setAttribute('height', '100%')),
  9217. r
  9218. );
  9219. },
  9220. createAlphaToLuminanceFilter: function () {
  9221. var t = createNS('feColorMatrix');
  9222. return (
  9223. t.setAttribute('type', 'matrix'),
  9224. t.setAttribute('color-interpolation-filters', 'sRGB'),
  9225. t.setAttribute(
  9226. 'values',
  9227. '0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1'
  9228. ),
  9229. t
  9230. );
  9231. }
  9232. };
  9233. return t;
  9234. })(),
  9235. featureSupport = (function () {
  9236. var t = {
  9237. maskType: !0,
  9238. svgLumaHidden: !0,
  9239. offscreenCanvas: 'undefined' != typeof OffscreenCanvas
  9240. };
  9241. return (
  9242. (/MSIE 10/i.test(navigator.userAgent) ||
  9243. /MSIE 9/i.test(navigator.userAgent) ||
  9244. /rv:11.0/i.test(navigator.userAgent) ||
  9245. /Edge\/\d./i.test(navigator.userAgent)) &&
  9246. (t.maskType = !1),
  9247. /firefox/i.test(navigator.userAgent) &&
  9248. (t.svgLumaHidden = !1),
  9249. t
  9250. );
  9251. })(),
  9252. registeredEffects$1 = {},
  9253. idPrefix = 'filter_result_';
  9254. function SVGEffects(t) {
  9255. var e,
  9256. r,
  9257. a = 'SourceGraphic',
  9258. i = t.data.ef ? t.data.ef.length : 0,
  9259. s = createElementID(),
  9260. n = filtersFactory.createFilter(s, !0),
  9261. o = 0;
  9262. for (this.filters = [], e = 0; e < i; e += 1) {
  9263. r = null;
  9264. var l = t.data.ef[e].ty;
  9265. registeredEffects$1[l] &&
  9266. ((r = new (0, registeredEffects$1[l].effect)(
  9267. n,
  9268. t.effectsManager.effectElements[e],
  9269. t,
  9270. idPrefix + o,
  9271. a
  9272. )),
  9273. (a = idPrefix + o),
  9274. registeredEffects$1[l].countsAsEffect && (o += 1)),
  9275. r && this.filters.push(r);
  9276. }
  9277. o &&
  9278. (t.globalData.defs.appendChild(n),
  9279. t.layerElement.setAttribute(
  9280. 'filter',
  9281. 'url(' + getLocationHref() + '#' + s + ')'
  9282. )),
  9283. this.filters.length && t.addRenderableComponent(this);
  9284. }
  9285. function registerEffect$1(t, e, r) {
  9286. registeredEffects$1[t] = { effect: e, countsAsEffect: r };
  9287. }
  9288. function SVGBaseElement() {}
  9289. function HierarchyElement() {}
  9290. function RenderableDOMElement() {}
  9291. function IImageElement(t, e, r) {
  9292. (this.assetData = e.getAssetData(t.refId)),
  9293. this.assetData &&
  9294. this.assetData.sid &&
  9295. (this.assetData = e.slotManager.getProp(this.assetData)),
  9296. this.initElement(t, e, r),
  9297. (this.sourceRect = {
  9298. top: 0,
  9299. left: 0,
  9300. width: this.assetData.w,
  9301. height: this.assetData.h
  9302. });
  9303. }
  9304. function ProcessedElement(t, e) {
  9305. (this.elem = t), (this.pos = e);
  9306. }
  9307. function IShapeElement() {}
  9308. (SVGEffects.prototype.renderFrame = function (t) {
  9309. var e,
  9310. r = this.filters.length;
  9311. for (e = 0; e < r; e += 1) this.filters[e].renderFrame(t);
  9312. }),
  9313. (SVGEffects.prototype.getEffects = function (t) {
  9314. var e,
  9315. r = this.filters.length,
  9316. a = [];
  9317. for (e = 0; e < r; e += 1)
  9318. this.filters[e].type === t && a.push(this.filters[e]);
  9319. return a;
  9320. }),
  9321. (SVGBaseElement.prototype = {
  9322. initRendererElement: function () {
  9323. this.layerElement = createNS('g');
  9324. },
  9325. createContainerElements: function () {
  9326. (this.matteElement = createNS('g')),
  9327. (this.transformedElement = this.layerElement),
  9328. (this.maskedElement = this.layerElement),
  9329. (this._sizeChanged = !1);
  9330. var t = null;
  9331. if (this.data.td) {
  9332. this.matteMasks = {};
  9333. var e = createNS('g');
  9334. e.setAttribute('id', this.layerId),
  9335. e.appendChild(this.layerElement),
  9336. (t = e),
  9337. this.globalData.defs.appendChild(e);
  9338. } else
  9339. this.data.tt
  9340. ? (this.matteElement.appendChild(this.layerElement),
  9341. (t = this.matteElement),
  9342. (this.baseElement = this.matteElement))
  9343. : (this.baseElement = this.layerElement);
  9344. if (
  9345. (this.data.ln &&
  9346. this.layerElement.setAttribute('id', this.data.ln),
  9347. this.data.cl &&
  9348. this.layerElement.setAttribute('class', this.data.cl),
  9349. 0 === this.data.ty && !this.data.hd)
  9350. ) {
  9351. var r = createNS('clipPath'),
  9352. a = createNS('path');
  9353. a.setAttribute(
  9354. 'd',
  9355. 'M0,0 L' +
  9356. this.data.w +
  9357. ',0 L' +
  9358. this.data.w +
  9359. ',' +
  9360. this.data.h +
  9361. ' L0,' +
  9362. this.data.h +
  9363. 'z'
  9364. );
  9365. var i = createElementID();
  9366. if (
  9367. (r.setAttribute('id', i),
  9368. r.appendChild(a),
  9369. this.globalData.defs.appendChild(r),
  9370. this.checkMasks())
  9371. ) {
  9372. var s = createNS('g');
  9373. s.setAttribute(
  9374. 'clip-path',
  9375. 'url(' + getLocationHref() + '#' + i + ')'
  9376. ),
  9377. s.appendChild(this.layerElement),
  9378. (this.transformedElement = s),
  9379. t
  9380. ? t.appendChild(this.transformedElement)
  9381. : (this.baseElement = this.transformedElement);
  9382. } else
  9383. this.layerElement.setAttribute(
  9384. 'clip-path',
  9385. 'url(' + getLocationHref() + '#' + i + ')'
  9386. );
  9387. }
  9388. 0 !== this.data.bm && this.setBlendMode();
  9389. },
  9390. renderElement: function () {
  9391. this.finalTransform._localMatMdf &&
  9392. this.transformedElement.setAttribute(
  9393. 'transform',
  9394. this.finalTransform.localMat.to2dCSS()
  9395. ),
  9396. this.finalTransform._opMdf &&
  9397. this.transformedElement.setAttribute(
  9398. 'opacity',
  9399. this.finalTransform.localOpacity
  9400. );
  9401. },
  9402. destroyBaseElement: function () {
  9403. (this.layerElement = null),
  9404. (this.matteElement = null),
  9405. this.maskManager.destroy();
  9406. },
  9407. getBaseElement: function () {
  9408. return this.data.hd ? null : this.baseElement;
  9409. },
  9410. createRenderableComponents: function () {
  9411. (this.maskManager = new MaskElement(
  9412. this.data,
  9413. this,
  9414. this.globalData
  9415. )),
  9416. (this.renderableEffectsManager = new SVGEffects(this)),
  9417. this.searchEffectTransforms();
  9418. },
  9419. getMatte: function (t) {
  9420. if (
  9421. (this.matteMasks || (this.matteMasks = {}),
  9422. !this.matteMasks[t])
  9423. ) {
  9424. var e,
  9425. r,
  9426. a,
  9427. i,
  9428. s = this.layerId + '_' + t;
  9429. if (1 === t || 3 === t) {
  9430. var n = createNS('mask');
  9431. n.setAttribute('id', s),
  9432. n.setAttribute(
  9433. 'mask-type',
  9434. 3 === t ? 'luminance' : 'alpha'
  9435. ),
  9436. (a = createNS('use')).setAttributeNS(
  9437. 'http://www.w3.org/1999/xlink',
  9438. 'href',
  9439. '#' + this.layerId
  9440. ),
  9441. n.appendChild(a),
  9442. this.globalData.defs.appendChild(n),
  9443. featureSupport.maskType ||
  9444. 1 !== t ||
  9445. (n.setAttribute('mask-type', 'luminance'),
  9446. (e = createElementID()),
  9447. (r = filtersFactory.createFilter(e)),
  9448. this.globalData.defs.appendChild(r),
  9449. r.appendChild(
  9450. filtersFactory.createAlphaToLuminanceFilter()
  9451. ),
  9452. (i = createNS('g')).appendChild(a),
  9453. n.appendChild(i),
  9454. i.setAttribute(
  9455. 'filter',
  9456. 'url(' + getLocationHref() + '#' + e + ')'
  9457. ));
  9458. } else if (2 === t) {
  9459. var o = createNS('mask');
  9460. o.setAttribute('id', s),
  9461. o.setAttribute('mask-type', 'alpha');
  9462. var l = createNS('g');
  9463. o.appendChild(l),
  9464. (e = createElementID()),
  9465. (r = filtersFactory.createFilter(e));
  9466. var h = createNS('feComponentTransfer');
  9467. h.setAttribute('in', 'SourceGraphic'),
  9468. r.appendChild(h);
  9469. var p = createNS('feFuncA');
  9470. p.setAttribute('type', 'table'),
  9471. p.setAttribute('tableValues', '1.0 0.0'),
  9472. h.appendChild(p),
  9473. this.globalData.defs.appendChild(r);
  9474. var c = createNS('rect');
  9475. c.setAttribute('width', this.comp.data.w),
  9476. c.setAttribute('height', this.comp.data.h),
  9477. c.setAttribute('x', '0'),
  9478. c.setAttribute('y', '0'),
  9479. c.setAttribute('fill', '#ffffff'),
  9480. c.setAttribute('opacity', '0'),
  9481. l.setAttribute(
  9482. 'filter',
  9483. 'url(' + getLocationHref() + '#' + e + ')'
  9484. ),
  9485. l.appendChild(c),
  9486. (a = createNS('use')).setAttributeNS(
  9487. 'http://www.w3.org/1999/xlink',
  9488. 'href',
  9489. '#' + this.layerId
  9490. ),
  9491. l.appendChild(a),
  9492. featureSupport.maskType ||
  9493. (o.setAttribute('mask-type', 'luminance'),
  9494. r.appendChild(
  9495. filtersFactory.createAlphaToLuminanceFilter()
  9496. ),
  9497. (i = createNS('g')),
  9498. l.appendChild(c),
  9499. i.appendChild(this.layerElement),
  9500. l.appendChild(i)),
  9501. this.globalData.defs.appendChild(o);
  9502. }
  9503. this.matteMasks[t] = s;
  9504. }
  9505. return this.matteMasks[t];
  9506. },
  9507. setMatte: function (t) {
  9508. this.matteElement &&
  9509. this.matteElement.setAttribute(
  9510. 'mask',
  9511. 'url(' + getLocationHref() + '#' + t + ')'
  9512. );
  9513. }
  9514. }),
  9515. (HierarchyElement.prototype = {
  9516. initHierarchy: function () {
  9517. (this.hierarchy = []),
  9518. (this._isParent = !1),
  9519. this.checkParenting();
  9520. },
  9521. setHierarchy: function (t) {
  9522. this.hierarchy = t;
  9523. },
  9524. setAsParent: function () {
  9525. this._isParent = !0;
  9526. },
  9527. checkParenting: function () {
  9528. void 0 !== this.data.parent &&
  9529. this.comp.buildElementParenting(
  9530. this,
  9531. this.data.parent,
  9532. []
  9533. );
  9534. }
  9535. }),
  9536. extendPrototype(
  9537. [
  9538. RenderableElement,
  9539. createProxyFunction({
  9540. initElement: function (t, e, r) {
  9541. this.initFrame(),
  9542. this.initBaseData(t, e, r),
  9543. this.initTransform(t, e, r),
  9544. this.initHierarchy(),
  9545. this.initRenderable(),
  9546. this.initRendererElement(),
  9547. this.createContainerElements(),
  9548. this.createRenderableComponents(),
  9549. this.createContent(),
  9550. this.hide();
  9551. },
  9552. hide: function () {
  9553. this.hidden ||
  9554. (this.isInRange && !this.isTransparent) ||
  9555. (((
  9556. this.baseElement || this.layerElement
  9557. ).style.display = 'none'),
  9558. (this.hidden = !0));
  9559. },
  9560. show: function () {
  9561. this.isInRange &&
  9562. !this.isTransparent &&
  9563. (this.data.hd ||
  9564. ((
  9565. this.baseElement || this.layerElement
  9566. ).style.display = 'block'),
  9567. (this.hidden = !1),
  9568. (this._isFirstFrame = !0));
  9569. },
  9570. renderFrame: function () {
  9571. this.data.hd ||
  9572. this.hidden ||
  9573. (this.renderTransform(),
  9574. this.renderRenderable(),
  9575. this.renderLocalTransform(),
  9576. this.renderElement(),
  9577. this.renderInnerContent(),
  9578. this._isFirstFrame && (this._isFirstFrame = !1));
  9579. },
  9580. renderInnerContent: function () {},
  9581. prepareFrame: function (t) {
  9582. (this._mdf = !1),
  9583. this.prepareRenderableFrame(t),
  9584. this.prepareProperties(t, this.isInRange),
  9585. this.checkTransparency();
  9586. },
  9587. destroy: function () {
  9588. (this.innerElem = null), this.destroyBaseElement();
  9589. }
  9590. })
  9591. ],
  9592. RenderableDOMElement
  9593. ),
  9594. extendPrototype(
  9595. [
  9596. BaseElement,
  9597. TransformElement,
  9598. SVGBaseElement,
  9599. HierarchyElement,
  9600. FrameElement,
  9601. RenderableDOMElement
  9602. ],
  9603. IImageElement
  9604. ),
  9605. (IImageElement.prototype.createContent = function () {
  9606. var t = this.globalData.getAssetsPath(this.assetData);
  9607. (this.innerElem = createNS('image')),
  9608. this.innerElem.setAttribute(
  9609. 'width',
  9610. this.assetData.w + 'px'
  9611. ),
  9612. this.innerElem.setAttribute(
  9613. 'height',
  9614. this.assetData.h + 'px'
  9615. ),
  9616. this.innerElem.setAttribute(
  9617. 'preserveAspectRatio',
  9618. this.assetData.pr ||
  9619. this.globalData.renderConfig.imagePreserveAspectRatio
  9620. ),
  9621. this.innerElem.setAttributeNS(
  9622. 'http://www.w3.org/1999/xlink',
  9623. 'href',
  9624. t
  9625. ),
  9626. this.layerElement.appendChild(this.innerElem);
  9627. }),
  9628. (IImageElement.prototype.sourceRectAtTime = function () {
  9629. return this.sourceRect;
  9630. }),
  9631. (IShapeElement.prototype = {
  9632. addShapeToModifiers: function (t) {
  9633. var e,
  9634. r = this.shapeModifiers.length;
  9635. for (e = 0; e < r; e += 1)
  9636. this.shapeModifiers[e].addShape(t);
  9637. },
  9638. isShapeInAnimatedModifiers: function (t) {
  9639. for (var e = this.shapeModifiers.length; 0 < e; )
  9640. if (this.shapeModifiers[0].isAnimatedWithShape(t))
  9641. return !0;
  9642. return !1;
  9643. },
  9644. renderModifiers: function () {
  9645. if (this.shapeModifiers.length) {
  9646. var t,
  9647. e = this.shapes.length;
  9648. for (t = 0; t < e; t += 1) this.shapes[t].sh.reset();
  9649. for (
  9650. t = (e = this.shapeModifiers.length) - 1;
  9651. t >= 0 &&
  9652. !this.shapeModifiers[t].processShapes(
  9653. this._isFirstFrame
  9654. );
  9655. t -= 1
  9656. );
  9657. }
  9658. },
  9659. searchProcessedElement: function (t) {
  9660. for (
  9661. var e = this.processedElements, r = 0, a = e.length;
  9662. r < a;
  9663. ) {
  9664. if (e[r].elem === t) return e[r].pos;
  9665. r += 1;
  9666. }
  9667. return 0;
  9668. },
  9669. addProcessedElement: function (t, e) {
  9670. for (var r = this.processedElements, a = r.length; a; )
  9671. if (r[(a -= 1)].elem === t) return void (r[a].pos = e);
  9672. r.push(new ProcessedElement(t, e));
  9673. },
  9674. prepareFrame: function (t) {
  9675. this.prepareRenderableFrame(t),
  9676. this.prepareProperties(t, this.isInRange);
  9677. }
  9678. });
  9679. var lineCapEnum = { 1: 'butt', 2: 'round', 3: 'square' },
  9680. lineJoinEnum = { 1: 'miter', 2: 'round', 3: 'bevel' };
  9681. function SVGShapeData(t, e, r) {
  9682. (this.caches = []),
  9683. (this.styles = []),
  9684. (this.transformers = t),
  9685. (this.lStr = ''),
  9686. (this.sh = r),
  9687. (this.lvl = e),
  9688. (this._isAnimated = !!r.k);
  9689. for (var a = 0, i = t.length; a < i; ) {
  9690. if (t[a].mProps.dynamicProperties.length) {
  9691. this._isAnimated = !0;
  9692. break;
  9693. }
  9694. a += 1;
  9695. }
  9696. }
  9697. function SVGStyleData(t, e) {
  9698. (this.data = t),
  9699. (this.type = t.ty),
  9700. (this.d = ''),
  9701. (this.lvl = e),
  9702. (this._mdf = !1),
  9703. (this.closed = !0 === t.hd),
  9704. (this.pElem = createNS('path')),
  9705. (this.msElem = null);
  9706. }
  9707. function DashProperty(t, e, r, a) {
  9708. var i;
  9709. (this.elem = t),
  9710. (this.frameId = -1),
  9711. (this.dataProps = createSizedArray(e.length)),
  9712. (this.renderer = r),
  9713. (this.k = !1),
  9714. (this.dashStr = ''),
  9715. (this.dashArray = createTypedArray(
  9716. 'float32',
  9717. e.length ? e.length - 1 : 0
  9718. )),
  9719. (this.dashoffset = createTypedArray('float32', 1)),
  9720. this.initDynamicPropertyContainer(a);
  9721. var s,
  9722. n = e.length || 0;
  9723. for (i = 0; i < n; i += 1)
  9724. (s = PropertyFactory.getProp(t, e[i].v, 0, 0, this)),
  9725. (this.k = s.k || this.k),
  9726. (this.dataProps[i] = { n: e[i].n, p: s });
  9727. this.k || this.getValue(!0), (this._isAnimated = this.k);
  9728. }
  9729. function SVGStrokeStyleData(t, e, r) {
  9730. this.initDynamicPropertyContainer(t),
  9731. (this.getValue = this.iterateDynamicProperties),
  9732. (this.o = PropertyFactory.getProp(t, e.o, 0, 0.01, this)),
  9733. (this.w = PropertyFactory.getProp(t, e.w, 0, null, this)),
  9734. (this.d = new DashProperty(t, e.d || {}, 'svg', this)),
  9735. (this.c = PropertyFactory.getProp(t, e.c, 1, 255, this)),
  9736. (this.style = r),
  9737. (this._isAnimated = !!this._isAnimated);
  9738. }
  9739. function SVGFillStyleData(t, e, r) {
  9740. this.initDynamicPropertyContainer(t),
  9741. (this.getValue = this.iterateDynamicProperties),
  9742. (this.o = PropertyFactory.getProp(t, e.o, 0, 0.01, this)),
  9743. (this.c = PropertyFactory.getProp(t, e.c, 1, 255, this)),
  9744. (this.style = r);
  9745. }
  9746. function SVGNoStyleData(t, e, r) {
  9747. this.initDynamicPropertyContainer(t),
  9748. (this.getValue = this.iterateDynamicProperties),
  9749. (this.style = r);
  9750. }
  9751. function GradientProperty(t, e, r) {
  9752. (this.data = e),
  9753. (this.c = createTypedArray('uint8c', 4 * e.p));
  9754. var a = e.k.k[0].s
  9755. ? e.k.k[0].s.length - 4 * e.p
  9756. : e.k.k.length - 4 * e.p;
  9757. (this.o = createTypedArray('float32', a)),
  9758. (this._cmdf = !1),
  9759. (this._omdf = !1),
  9760. (this._collapsable = this.checkCollapsable()),
  9761. (this._hasOpacity = a),
  9762. this.initDynamicPropertyContainer(r),
  9763. (this.prop = PropertyFactory.getProp(
  9764. t,
  9765. e.k,
  9766. 1,
  9767. null,
  9768. this
  9769. )),
  9770. (this.k = this.prop.k),
  9771. this.getValue(!0);
  9772. }
  9773. function SVGGradientFillStyleData(t, e, r) {
  9774. this.initDynamicPropertyContainer(t),
  9775. (this.getValue = this.iterateDynamicProperties),
  9776. this.initGradientData(t, e, r);
  9777. }
  9778. function SVGGradientStrokeStyleData(t, e, r) {
  9779. this.initDynamicPropertyContainer(t),
  9780. (this.getValue = this.iterateDynamicProperties),
  9781. (this.w = PropertyFactory.getProp(t, e.w, 0, null, this)),
  9782. (this.d = new DashProperty(t, e.d || {}, 'svg', this)),
  9783. this.initGradientData(t, e, r),
  9784. (this._isAnimated = !!this._isAnimated);
  9785. }
  9786. function ShapeGroupData() {
  9787. (this.it = []),
  9788. (this.prevViewData = []),
  9789. (this.gr = createNS('g'));
  9790. }
  9791. function SVGTransformData(t, e, r) {
  9792. (this.transform = { mProps: t, op: e, container: r }),
  9793. (this.elements = []),
  9794. (this._isAnimated =
  9795. this.transform.mProps.dynamicProperties.length ||
  9796. this.transform.op.effectsSequence.length);
  9797. }
  9798. (SVGShapeData.prototype.setAsAnimated = function () {
  9799. this._isAnimated = !0;
  9800. }),
  9801. (SVGStyleData.prototype.reset = function () {
  9802. (this.d = ''), (this._mdf = !1);
  9803. }),
  9804. (DashProperty.prototype.getValue = function (t) {
  9805. if (
  9806. (this.elem.globalData.frameId !== this.frameId || t) &&
  9807. ((this.frameId = this.elem.globalData.frameId),
  9808. this.iterateDynamicProperties(),
  9809. (this._mdf = this._mdf || t),
  9810. this._mdf)
  9811. ) {
  9812. var e = 0,
  9813. r = this.dataProps.length;
  9814. for (
  9815. 'svg' === this.renderer && (this.dashStr = ''), e = 0;
  9816. e < r;
  9817. e += 1
  9818. )
  9819. 'o' !== this.dataProps[e].n
  9820. ? 'svg' === this.renderer
  9821. ? (this.dashStr += ' ' + this.dataProps[e].p.v)
  9822. : (this.dashArray[e] = this.dataProps[e].p.v)
  9823. : (this.dashoffset[0] = this.dataProps[e].p.v);
  9824. }
  9825. }),
  9826. extendPrototype([DynamicPropertyContainer], DashProperty),
  9827. extendPrototype(
  9828. [DynamicPropertyContainer],
  9829. SVGStrokeStyleData
  9830. ),
  9831. extendPrototype([DynamicPropertyContainer], SVGFillStyleData),
  9832. extendPrototype([DynamicPropertyContainer], SVGNoStyleData),
  9833. (GradientProperty.prototype.comparePoints = function (t, e) {
  9834. for (var r = 0, a = this.o.length / 2; r < a; ) {
  9835. if (Math.abs(t[4 * r] - t[4 * e + 2 * r]) > 0.01)
  9836. return !1;
  9837. r += 1;
  9838. }
  9839. return !0;
  9840. }),
  9841. (GradientProperty.prototype.checkCollapsable = function () {
  9842. if (this.o.length / 2 != this.c.length / 4) return !1;
  9843. if (this.data.k.k[0].s)
  9844. for (var t = 0, e = this.data.k.k.length; t < e; ) {
  9845. if (
  9846. !this.comparePoints(this.data.k.k[t].s, this.data.p)
  9847. )
  9848. return !1;
  9849. t += 1;
  9850. }
  9851. else if (!this.comparePoints(this.data.k.k, this.data.p))
  9852. return !1;
  9853. return !0;
  9854. }),
  9855. (GradientProperty.prototype.getValue = function (t) {
  9856. if (
  9857. (this.prop.getValue(),
  9858. (this._mdf = !1),
  9859. (this._cmdf = !1),
  9860. (this._omdf = !1),
  9861. this.prop._mdf || t)
  9862. ) {
  9863. var e,
  9864. r,
  9865. a,
  9866. i = 4 * this.data.p;
  9867. for (e = 0; e < i; e += 1)
  9868. (r = e % 4 == 0 ? 100 : 255),
  9869. (a = Math.round(this.prop.v[e] * r)),
  9870. this.c[e] !== a &&
  9871. ((this.c[e] = a), (this._cmdf = !t));
  9872. if (this.o.length)
  9873. for (
  9874. i = this.prop.v.length, e = 4 * this.data.p;
  9875. e < i;
  9876. e += 1
  9877. )
  9878. (r = e % 2 == 0 ? 100 : 1),
  9879. (a =
  9880. e % 2 == 0
  9881. ? Math.round(100 * this.prop.v[e])
  9882. : this.prop.v[e]),
  9883. this.o[e - 4 * this.data.p] !== a &&
  9884. ((this.o[e - 4 * this.data.p] = a),
  9885. (this._omdf = !t));
  9886. this._mdf = !t;
  9887. }
  9888. }),
  9889. extendPrototype([DynamicPropertyContainer], GradientProperty),
  9890. (SVGGradientFillStyleData.prototype.initGradientData =
  9891. function (t, e, r) {
  9892. (this.o = PropertyFactory.getProp(t, e.o, 0, 0.01, this)),
  9893. (this.s = PropertyFactory.getProp(
  9894. t,
  9895. e.s,
  9896. 1,
  9897. null,
  9898. this
  9899. )),
  9900. (this.e = PropertyFactory.getProp(
  9901. t,
  9902. e.e,
  9903. 1,
  9904. null,
  9905. this
  9906. )),
  9907. (this.h = PropertyFactory.getProp(
  9908. t,
  9909. e.h || { k: 0 },
  9910. 0,
  9911. 0.01,
  9912. this
  9913. )),
  9914. (this.a = PropertyFactory.getProp(
  9915. t,
  9916. e.a || { k: 0 },
  9917. 0,
  9918. degToRads,
  9919. this
  9920. )),
  9921. (this.g = new GradientProperty(t, e.g, this)),
  9922. (this.style = r),
  9923. (this.stops = []),
  9924. this.setGradientData(r.pElem, e),
  9925. this.setGradientOpacity(e, r),
  9926. (this._isAnimated = !!this._isAnimated);
  9927. }),
  9928. (SVGGradientFillStyleData.prototype.setGradientData =
  9929. function (t, e) {
  9930. var r = createElementID(),
  9931. a = createNS(
  9932. 1 === e.t ? 'linearGradient' : 'radialGradient'
  9933. );
  9934. a.setAttribute('id', r),
  9935. a.setAttribute('spreadMethod', 'pad'),
  9936. a.setAttribute('gradientUnits', 'userSpaceOnUse');
  9937. var i,
  9938. s,
  9939. n,
  9940. o = [];
  9941. for (n = 4 * e.g.p, s = 0; s < n; s += 4)
  9942. (i = createNS('stop')), a.appendChild(i), o.push(i);
  9943. t.setAttribute(
  9944. 'gf' === e.ty ? 'fill' : 'stroke',
  9945. 'url(' + getLocationHref() + '#' + r + ')'
  9946. ),
  9947. (this.gf = a),
  9948. (this.cst = o);
  9949. }),
  9950. (SVGGradientFillStyleData.prototype.setGradientOpacity =
  9951. function (t, e) {
  9952. if (this.g._hasOpacity && !this.g._collapsable) {
  9953. var r,
  9954. a,
  9955. i,
  9956. s = createNS('mask'),
  9957. n = createNS('path');
  9958. s.appendChild(n);
  9959. var o = createElementID(),
  9960. l = createElementID();
  9961. s.setAttribute('id', l);
  9962. var h = createNS(
  9963. 1 === t.t ? 'linearGradient' : 'radialGradient'
  9964. );
  9965. h.setAttribute('id', o),
  9966. h.setAttribute('spreadMethod', 'pad'),
  9967. h.setAttribute('gradientUnits', 'userSpaceOnUse'),
  9968. (i = t.g.k.k[0].s
  9969. ? t.g.k.k[0].s.length
  9970. : t.g.k.k.length);
  9971. var p = this.stops;
  9972. for (a = 4 * t.g.p; a < i; a += 2)
  9973. (r = createNS('stop')).setAttribute(
  9974. 'stop-color',
  9975. 'rgb(255,255,255)'
  9976. ),
  9977. h.appendChild(r),
  9978. p.push(r);
  9979. n.setAttribute(
  9980. 'gf' === t.ty ? 'fill' : 'stroke',
  9981. 'url(' + getLocationHref() + '#' + o + ')'
  9982. ),
  9983. 'gs' === t.ty &&
  9984. (n.setAttribute(
  9985. 'stroke-linecap',
  9986. lineCapEnum[t.lc || 2]
  9987. ),
  9988. n.setAttribute(
  9989. 'stroke-linejoin',
  9990. lineJoinEnum[t.lj || 2]
  9991. ),
  9992. 1 === t.lj &&
  9993. n.setAttribute('stroke-miterlimit', t.ml)),
  9994. (this.of = h),
  9995. (this.ms = s),
  9996. (this.ost = p),
  9997. (this.maskId = l),
  9998. (e.msElem = n);
  9999. }
  10000. }),
  10001. extendPrototype(
  10002. [DynamicPropertyContainer],
  10003. SVGGradientFillStyleData
  10004. ),
  10005. extendPrototype(
  10006. [SVGGradientFillStyleData, DynamicPropertyContainer],
  10007. SVGGradientStrokeStyleData
  10008. );
  10009. var buildShapeString = function (t, e, r, a) {
  10010. if (0 === e) return '';
  10011. var i,
  10012. s = t.o,
  10013. n = t.i,
  10014. o = t.v,
  10015. l = ' M' + a.applyToPointStringified(o[0][0], o[0][1]);
  10016. for (i = 1; i < e; i += 1)
  10017. l +=
  10018. ' C' +
  10019. a.applyToPointStringified(s[i - 1][0], s[i - 1][1]) +
  10020. ' ' +
  10021. a.applyToPointStringified(n[i][0], n[i][1]) +
  10022. ' ' +
  10023. a.applyToPointStringified(o[i][0], o[i][1]);
  10024. return (
  10025. r &&
  10026. e &&
  10027. ((l +=
  10028. ' C' +
  10029. a.applyToPointStringified(s[i - 1][0], s[i - 1][1]) +
  10030. ' ' +
  10031. a.applyToPointStringified(n[0][0], n[0][1]) +
  10032. ' ' +
  10033. a.applyToPointStringified(o[0][0], o[0][1])),
  10034. (l += 'z')),
  10035. l
  10036. );
  10037. },
  10038. SVGElementsRenderer = (function () {
  10039. var t = new Matrix(),
  10040. e = new Matrix();
  10041. function r(t, e, r) {
  10042. (r || e.transform.op._mdf) &&
  10043. e.transform.container.setAttribute(
  10044. 'opacity',
  10045. e.transform.op.v
  10046. ),
  10047. (r || e.transform.mProps._mdf) &&
  10048. e.transform.container.setAttribute(
  10049. 'transform',
  10050. e.transform.mProps.v.to2dCSS()
  10051. );
  10052. }
  10053. function a() {}
  10054. function i(r, a, i) {
  10055. var s,
  10056. n,
  10057. o,
  10058. l,
  10059. h,
  10060. p,
  10061. c,
  10062. d,
  10063. f,
  10064. m,
  10065. u = a.styles.length,
  10066. g = a.lvl;
  10067. for (p = 0; p < u; p += 1) {
  10068. if (((l = a.sh._mdf || i), a.styles[p].lvl < g)) {
  10069. for (
  10070. d = e.reset(),
  10071. f = g - a.styles[p].lvl,
  10072. m = a.transformers.length - 1;
  10073. !l && f > 0;
  10074. )
  10075. (l = a.transformers[m].mProps._mdf || l),
  10076. (f -= 1),
  10077. (m -= 1);
  10078. if (l)
  10079. for (
  10080. f = g - a.styles[p].lvl,
  10081. m = a.transformers.length - 1;
  10082. f > 0;
  10083. )
  10084. d.multiply(a.transformers[m].mProps.v),
  10085. (f -= 1),
  10086. (m -= 1);
  10087. } else d = t;
  10088. if (((n = (c = a.sh.paths)._length), l)) {
  10089. for (o = '', s = 0; s < n; s += 1)
  10090. (h = c.shapes[s]) &&
  10091. h._length &&
  10092. (o += buildShapeString(h, h._length, h.c, d));
  10093. a.caches[p] = o;
  10094. } else o = a.caches[p];
  10095. (a.styles[p].d += !0 === r.hd ? '' : o),
  10096. (a.styles[p]._mdf = l || a.styles[p]._mdf);
  10097. }
  10098. }
  10099. function s(t, e, r) {
  10100. var a = e.style;
  10101. (e.c._mdf || r) &&
  10102. a.pElem.setAttribute(
  10103. 'fill',
  10104. 'rgb(' +
  10105. bmFloor(e.c.v[0]) +
  10106. ',' +
  10107. bmFloor(e.c.v[1]) +
  10108. ',' +
  10109. bmFloor(e.c.v[2]) +
  10110. ')'
  10111. ),
  10112. (e.o._mdf || r) &&
  10113. a.pElem.setAttribute('fill-opacity', e.o.v);
  10114. }
  10115. function n(t, e, r) {
  10116. o(t, e, r), l(0, e, r);
  10117. }
  10118. function o(t, e, r) {
  10119. var a,
  10120. i,
  10121. s,
  10122. n,
  10123. o,
  10124. l = e.gf,
  10125. h = e.g._hasOpacity,
  10126. p = e.s.v,
  10127. c = e.e.v;
  10128. if (e.o._mdf || r) {
  10129. var d =
  10130. 'gf' === t.ty ? 'fill-opacity' : 'stroke-opacity';
  10131. e.style.pElem.setAttribute(d, e.o.v);
  10132. }
  10133. if (e.s._mdf || r) {
  10134. var f = 1 === t.t ? 'x1' : 'cx',
  10135. m = 'x1' === f ? 'y1' : 'cy';
  10136. l.setAttribute(f, p[0]),
  10137. l.setAttribute(m, p[1]),
  10138. h &&
  10139. !e.g._collapsable &&
  10140. (e.of.setAttribute(f, p[0]),
  10141. e.of.setAttribute(m, p[1]));
  10142. }
  10143. if (e.g._cmdf || r) {
  10144. a = e.cst;
  10145. var u = e.g.c;
  10146. for (s = a.length, i = 0; i < s; i += 1)
  10147. (n = a[i]).setAttribute('offset', u[4 * i] + '%'),
  10148. n.setAttribute(
  10149. 'stop-color',
  10150. 'rgb(' +
  10151. u[4 * i + 1] +
  10152. ',' +
  10153. u[4 * i + 2] +
  10154. ',' +
  10155. u[4 * i + 3] +
  10156. ')'
  10157. );
  10158. }
  10159. if (h && (e.g._omdf || r)) {
  10160. var g = e.g.o;
  10161. for (
  10162. s = (a = e.g._collapsable ? e.cst : e.ost).length,
  10163. i = 0;
  10164. i < s;
  10165. i += 1
  10166. )
  10167. (n = a[i]),
  10168. e.g._collapsable ||
  10169. n.setAttribute('offset', g[2 * i] + '%'),
  10170. n.setAttribute('stop-opacity', g[2 * i + 1]);
  10171. }
  10172. if (1 === t.t)
  10173. (e.e._mdf || r) &&
  10174. (l.setAttribute('x2', c[0]),
  10175. l.setAttribute('y2', c[1]),
  10176. h &&
  10177. !e.g._collapsable &&
  10178. (e.of.setAttribute('x2', c[0]),
  10179. e.of.setAttribute('y2', c[1])));
  10180. else if (
  10181. ((e.s._mdf || e.e._mdf || r) &&
  10182. ((o = Math.sqrt(
  10183. Math.pow(p[0] - c[0], 2) + Math.pow(p[1] - c[1], 2)
  10184. )),
  10185. l.setAttribute('r', o),
  10186. h && !e.g._collapsable && e.of.setAttribute('r', o)),
  10187. e.e._mdf || e.h._mdf || e.a._mdf || r)
  10188. ) {
  10189. o ||
  10190. (o = Math.sqrt(
  10191. Math.pow(p[0] - c[0], 2) + Math.pow(p[1] - c[1], 2)
  10192. ));
  10193. var y = Math.atan2(c[1] - p[1], c[0] - p[0]),
  10194. v = e.h.v;
  10195. v >= 1 ? (v = 0.99) : v <= -1 && (v = -0.99);
  10196. var b = o * v,
  10197. _ = Math.cos(y + e.a.v) * b + p[0],
  10198. w = Math.sin(y + e.a.v) * b + p[1];
  10199. l.setAttribute('fx', _),
  10200. l.setAttribute('fy', w),
  10201. h &&
  10202. !e.g._collapsable &&
  10203. (e.of.setAttribute('fx', _),
  10204. e.of.setAttribute('fy', w));
  10205. }
  10206. }
  10207. function l(t, e, r) {
  10208. var a = e.style,
  10209. i = e.d;
  10210. i &&
  10211. (i._mdf || r) &&
  10212. i.dashStr &&
  10213. (a.pElem.setAttribute('stroke-dasharray', i.dashStr),
  10214. a.pElem.setAttribute(
  10215. 'stroke-dashoffset',
  10216. i.dashoffset[0]
  10217. )),
  10218. e.c &&
  10219. (e.c._mdf || r) &&
  10220. a.pElem.setAttribute(
  10221. 'stroke',
  10222. 'rgb(' +
  10223. bmFloor(e.c.v[0]) +
  10224. ',' +
  10225. bmFloor(e.c.v[1]) +
  10226. ',' +
  10227. bmFloor(e.c.v[2]) +
  10228. ')'
  10229. ),
  10230. (e.o._mdf || r) &&
  10231. a.pElem.setAttribute('stroke-opacity', e.o.v),
  10232. (e.w._mdf || r) &&
  10233. (a.pElem.setAttribute('stroke-width', e.w.v),
  10234. a.msElem &&
  10235. a.msElem.setAttribute('stroke-width', e.w.v));
  10236. }
  10237. return {
  10238. createRenderFunction: function (t) {
  10239. switch (t.ty) {
  10240. case 'fl':
  10241. return s;
  10242. case 'gf':
  10243. return o;
  10244. case 'gs':
  10245. return n;
  10246. case 'st':
  10247. return l;
  10248. case 'sh':
  10249. case 'el':
  10250. case 'rc':
  10251. case 'sr':
  10252. return i;
  10253. case 'tr':
  10254. return r;
  10255. case 'no':
  10256. return a;
  10257. default:
  10258. return null;
  10259. }
  10260. }
  10261. };
  10262. })();
  10263. function SVGShapeElement(t, e, r) {
  10264. (this.shapes = []),
  10265. (this.shapesData = t.shapes),
  10266. (this.stylesList = []),
  10267. (this.shapeModifiers = []),
  10268. (this.itemsData = []),
  10269. (this.processedElements = []),
  10270. (this.animatedContents = []),
  10271. this.initElement(t, e, r),
  10272. (this.prevViewData = []);
  10273. }
  10274. function LetterProps(t, e, r, a, i, s) {
  10275. (this.o = t),
  10276. (this.sw = e),
  10277. (this.sc = r),
  10278. (this.fc = a),
  10279. (this.m = i),
  10280. (this.p = s),
  10281. (this._mdf = {
  10282. o: !0,
  10283. sw: !!e,
  10284. sc: !!r,
  10285. fc: !!a,
  10286. m: !0,
  10287. p: !0
  10288. });
  10289. }
  10290. function TextProperty(t, e) {
  10291. (this._frameId = initialDefaultFrame),
  10292. (this.pv = ''),
  10293. (this.v = ''),
  10294. (this.kf = !1),
  10295. (this._isFirstFrame = !0),
  10296. (this._mdf = !1),
  10297. e.d &&
  10298. e.d.sid &&
  10299. (e.d = t.globalData.slotManager.getProp(e.d)),
  10300. (this.data = e),
  10301. (this.elem = t),
  10302. (this.comp = this.elem.comp),
  10303. (this.keysIndex = 0),
  10304. (this.canResize = !1),
  10305. (this.minimumFontSize = 1),
  10306. (this.effectsSequence = []),
  10307. (this.currentData = {
  10308. ascent: 0,
  10309. boxWidth: this.defaultBoxWidth,
  10310. f: '',
  10311. fStyle: '',
  10312. fWeight: '',
  10313. fc: '',
  10314. j: '',
  10315. justifyOffset: '',
  10316. l: [],
  10317. lh: 0,
  10318. lineWidths: [],
  10319. ls: '',
  10320. of: '',
  10321. s: '',
  10322. sc: '',
  10323. sw: 0,
  10324. t: 0,
  10325. tr: 0,
  10326. sz: 0,
  10327. ps: null,
  10328. fillColorAnim: !1,
  10329. strokeColorAnim: !1,
  10330. strokeWidthAnim: !1,
  10331. yOffset: 0,
  10332. finalSize: 0,
  10333. finalText: [],
  10334. finalLineHeight: 0,
  10335. __complete: !1
  10336. }),
  10337. this.copyData(this.currentData, this.data.d.k[0].s),
  10338. this.searchProperty() ||
  10339. this.completeTextData(this.currentData);
  10340. }
  10341. extendPrototype(
  10342. [
  10343. BaseElement,
  10344. TransformElement,
  10345. SVGBaseElement,
  10346. IShapeElement,
  10347. HierarchyElement,
  10348. FrameElement,
  10349. RenderableDOMElement
  10350. ],
  10351. SVGShapeElement
  10352. ),
  10353. (SVGShapeElement.prototype.initSecondaryElement =
  10354. function () {}),
  10355. (SVGShapeElement.prototype.identityMatrix = new Matrix()),
  10356. (SVGShapeElement.prototype.buildExpressionInterface =
  10357. function () {}),
  10358. (SVGShapeElement.prototype.createContent = function () {
  10359. this.searchShapes(
  10360. this.shapesData,
  10361. this.itemsData,
  10362. this.prevViewData,
  10363. this.layerElement,
  10364. 0,
  10365. [],
  10366. !0
  10367. ),
  10368. this.filterUniqueShapes();
  10369. }),
  10370. (SVGShapeElement.prototype.filterUniqueShapes = function () {
  10371. var t,
  10372. e,
  10373. r,
  10374. a,
  10375. i = this.shapes.length,
  10376. s = this.stylesList.length,
  10377. n = [],
  10378. o = !1;
  10379. for (r = 0; r < s; r += 1) {
  10380. for (
  10381. a = this.stylesList[r], o = !1, n.length = 0, t = 0;
  10382. t < i;
  10383. t += 1
  10384. )
  10385. -1 !== (e = this.shapes[t]).styles.indexOf(a) &&
  10386. (n.push(e), (o = e._isAnimated || o));
  10387. n.length > 1 && o && this.setShapesAsAnimated(n);
  10388. }
  10389. }),
  10390. (SVGShapeElement.prototype.setShapesAsAnimated = function (
  10391. t
  10392. ) {
  10393. var e,
  10394. r = t.length;
  10395. for (e = 0; e < r; e += 1) t[e].setAsAnimated();
  10396. }),
  10397. (SVGShapeElement.prototype.createStyleElement = function (
  10398. t,
  10399. e
  10400. ) {
  10401. var r,
  10402. a = new SVGStyleData(t, e),
  10403. i = a.pElem;
  10404. return (
  10405. 'st' === t.ty
  10406. ? (r = new SVGStrokeStyleData(this, t, a))
  10407. : 'fl' === t.ty
  10408. ? (r = new SVGFillStyleData(this, t, a))
  10409. : 'gf' === t.ty || 'gs' === t.ty
  10410. ? ((r = new (
  10411. 'gf' === t.ty
  10412. ? SVGGradientFillStyleData
  10413. : SVGGradientStrokeStyleData
  10414. )(this, t, a)),
  10415. this.globalData.defs.appendChild(r.gf),
  10416. r.maskId &&
  10417. (this.globalData.defs.appendChild(r.ms),
  10418. this.globalData.defs.appendChild(r.of),
  10419. i.setAttribute(
  10420. 'mask',
  10421. 'url(' + getLocationHref() + '#' + r.maskId + ')'
  10422. )))
  10423. : 'no' === t.ty && (r = new SVGNoStyleData(this, t, a)),
  10424. ('st' !== t.ty && 'gs' !== t.ty) ||
  10425. (i.setAttribute(
  10426. 'stroke-linecap',
  10427. lineCapEnum[t.lc || 2]
  10428. ),
  10429. i.setAttribute(
  10430. 'stroke-linejoin',
  10431. lineJoinEnum[t.lj || 2]
  10432. ),
  10433. i.setAttribute('fill-opacity', '0'),
  10434. 1 === t.lj &&
  10435. i.setAttribute('stroke-miterlimit', t.ml)),
  10436. 2 === t.r && i.setAttribute('fill-rule', 'evenodd'),
  10437. t.ln && i.setAttribute('id', t.ln),
  10438. t.cl && i.setAttribute('class', t.cl),
  10439. t.bm && (i.style['mix-blend-mode'] = getBlendMode(t.bm)),
  10440. this.stylesList.push(a),
  10441. this.addToAnimatedContents(t, r),
  10442. r
  10443. );
  10444. }),
  10445. (SVGShapeElement.prototype.createGroupElement = function (t) {
  10446. var e = new ShapeGroupData();
  10447. return (
  10448. t.ln && e.gr.setAttribute('id', t.ln),
  10449. t.cl && e.gr.setAttribute('class', t.cl),
  10450. t.bm &&
  10451. (e.gr.style['mix-blend-mode'] = getBlendMode(t.bm)),
  10452. e
  10453. );
  10454. }),
  10455. (SVGShapeElement.prototype.createTransformElement = function (
  10456. t,
  10457. e
  10458. ) {
  10459. var r = TransformPropertyFactory.getTransformProperty(
  10460. this,
  10461. t,
  10462. this
  10463. ),
  10464. a = new SVGTransformData(r, r.o, e);
  10465. return this.addToAnimatedContents(t, a), a;
  10466. }),
  10467. (SVGShapeElement.prototype.createShapeElement = function (
  10468. t,
  10469. e,
  10470. r
  10471. ) {
  10472. var a = 4;
  10473. 'rc' === t.ty
  10474. ? (a = 5)
  10475. : 'el' === t.ty
  10476. ? (a = 6)
  10477. : 'sr' === t.ty && (a = 7);
  10478. var i = new SVGShapeData(
  10479. e,
  10480. r,
  10481. ShapePropertyFactory.getShapeProp(this, t, a, this)
  10482. );
  10483. return (
  10484. this.shapes.push(i),
  10485. this.addShapeToModifiers(i),
  10486. this.addToAnimatedContents(t, i),
  10487. i
  10488. );
  10489. }),
  10490. (SVGShapeElement.prototype.addToAnimatedContents = function (
  10491. t,
  10492. e
  10493. ) {
  10494. for (var r = 0, a = this.animatedContents.length; r < a; ) {
  10495. if (this.animatedContents[r].element === e) return;
  10496. r += 1;
  10497. }
  10498. this.animatedContents.push({
  10499. fn: SVGElementsRenderer.createRenderFunction(t),
  10500. element: e,
  10501. data: t
  10502. });
  10503. }),
  10504. (SVGShapeElement.prototype.setElementStyles = function (t) {
  10505. var e,
  10506. r = t.styles,
  10507. a = this.stylesList.length;
  10508. for (e = 0; e < a; e += 1)
  10509. this.stylesList[e].closed || r.push(this.stylesList[e]);
  10510. }),
  10511. (SVGShapeElement.prototype.reloadShapes = function () {
  10512. var t;
  10513. this._isFirstFrame = !0;
  10514. var e = this.itemsData.length;
  10515. for (t = 0; t < e; t += 1)
  10516. this.prevViewData[t] = this.itemsData[t];
  10517. for (
  10518. this.searchShapes(
  10519. this.shapesData,
  10520. this.itemsData,
  10521. this.prevViewData,
  10522. this.layerElement,
  10523. 0,
  10524. [],
  10525. !0
  10526. ),
  10527. this.filterUniqueShapes(),
  10528. e = this.dynamicProperties.length,
  10529. t = 0;
  10530. t < e;
  10531. t += 1
  10532. )
  10533. this.dynamicProperties[t].getValue();
  10534. this.renderModifiers();
  10535. }),
  10536. (SVGShapeElement.prototype.searchShapes = function (
  10537. t,
  10538. e,
  10539. r,
  10540. a,
  10541. i,
  10542. s,
  10543. n
  10544. ) {
  10545. var o,
  10546. l,
  10547. h,
  10548. p,
  10549. c,
  10550. d,
  10551. f = [].concat(s),
  10552. m = t.length - 1,
  10553. u = [],
  10554. g = [];
  10555. for (o = m; o >= 0; o -= 1) {
  10556. if (
  10557. ((d = this.searchProcessedElement(t[o]))
  10558. ? (e[o] = r[d - 1])
  10559. : (t[o]._render = n),
  10560. 'fl' === t[o].ty ||
  10561. 'st' === t[o].ty ||
  10562. 'gf' === t[o].ty ||
  10563. 'gs' === t[o].ty ||
  10564. 'no' === t[o].ty)
  10565. )
  10566. d
  10567. ? (e[o].style.closed = !1)
  10568. : (e[o] = this.createStyleElement(t[o], i)),
  10569. t[o]._render &&
  10570. e[o].style.pElem.parentNode !== a &&
  10571. a.appendChild(e[o].style.pElem),
  10572. u.push(e[o].style);
  10573. else if ('gr' === t[o].ty) {
  10574. if (d)
  10575. for (h = e[o].it.length, l = 0; l < h; l += 1)
  10576. e[o].prevViewData[l] = e[o].it[l];
  10577. else e[o] = this.createGroupElement(t[o]);
  10578. this.searchShapes(
  10579. t[o].it,
  10580. e[o].it,
  10581. e[o].prevViewData,
  10582. e[o].gr,
  10583. i + 1,
  10584. f,
  10585. n
  10586. ),
  10587. t[o]._render &&
  10588. e[o].gr.parentNode !== a &&
  10589. a.appendChild(e[o].gr);
  10590. } else
  10591. 'tr' === t[o].ty
  10592. ? (d || (e[o] = this.createTransformElement(t[o], a)),
  10593. (p = e[o].transform),
  10594. f.push(p))
  10595. : 'sh' === t[o].ty ||
  10596. 'rc' === t[o].ty ||
  10597. 'el' === t[o].ty ||
  10598. 'sr' === t[o].ty
  10599. ? (d || (e[o] = this.createShapeElement(t[o], f, i)),
  10600. this.setElementStyles(e[o]))
  10601. : 'tm' === t[o].ty ||
  10602. 'rd' === t[o].ty ||
  10603. 'ms' === t[o].ty ||
  10604. 'pb' === t[o].ty ||
  10605. 'zz' === t[o].ty ||
  10606. 'op' === t[o].ty
  10607. ? (d
  10608. ? ((c = e[o]).closed = !1)
  10609. : ((c = ShapeModifiers.getModifier(t[o].ty)).init(
  10610. this,
  10611. t[o]
  10612. ),
  10613. (e[o] = c),
  10614. this.shapeModifiers.push(c)),
  10615. g.push(c))
  10616. : 'rp' === t[o].ty &&
  10617. (d
  10618. ? ((c = e[o]).closed = !0)
  10619. : ((c = ShapeModifiers.getModifier(t[o].ty)),
  10620. (e[o] = c),
  10621. c.init(this, t, o, e),
  10622. this.shapeModifiers.push(c),
  10623. (n = !1)),
  10624. g.push(c));
  10625. this.addProcessedElement(t[o], o + 1);
  10626. }
  10627. for (m = u.length, o = 0; o < m; o += 1) u[o].closed = !0;
  10628. for (m = g.length, o = 0; o < m; o += 1) g[o].closed = !0;
  10629. }),
  10630. (SVGShapeElement.prototype.renderInnerContent = function () {
  10631. var t;
  10632. this.renderModifiers();
  10633. var e = this.stylesList.length;
  10634. for (t = 0; t < e; t += 1) this.stylesList[t].reset();
  10635. for (this.renderShape(), t = 0; t < e; t += 1)
  10636. (this.stylesList[t]._mdf || this._isFirstFrame) &&
  10637. (this.stylesList[t].msElem &&
  10638. (this.stylesList[t].msElem.setAttribute(
  10639. 'd',
  10640. this.stylesList[t].d
  10641. ),
  10642. (this.stylesList[t].d =
  10643. 'M0 0' + this.stylesList[t].d)),
  10644. this.stylesList[t].pElem.setAttribute(
  10645. 'd',
  10646. this.stylesList[t].d || 'M0 0'
  10647. ));
  10648. }),
  10649. (SVGShapeElement.prototype.renderShape = function () {
  10650. var t,
  10651. e,
  10652. r = this.animatedContents.length;
  10653. for (t = 0; t < r; t += 1)
  10654. (e = this.animatedContents[t]),
  10655. (this._isFirstFrame || e.element._isAnimated) &&
  10656. !0 !== e.data &&
  10657. e.fn(e.data, e.element, this._isFirstFrame);
  10658. }),
  10659. (SVGShapeElement.prototype.destroy = function () {
  10660. this.destroyBaseElement(),
  10661. (this.shapesData = null),
  10662. (this.itemsData = null);
  10663. }),
  10664. (LetterProps.prototype.update = function (t, e, r, a, i, s) {
  10665. (this._mdf.o = !1),
  10666. (this._mdf.sw = !1),
  10667. (this._mdf.sc = !1),
  10668. (this._mdf.fc = !1),
  10669. (this._mdf.m = !1),
  10670. (this._mdf.p = !1);
  10671. var n = !1;
  10672. return (
  10673. this.o !== t &&
  10674. ((this.o = t), (this._mdf.o = !0), (n = !0)),
  10675. this.sw !== e &&
  10676. ((this.sw = e), (this._mdf.sw = !0), (n = !0)),
  10677. this.sc !== r &&
  10678. ((this.sc = r), (this._mdf.sc = !0), (n = !0)),
  10679. this.fc !== a &&
  10680. ((this.fc = a), (this._mdf.fc = !0), (n = !0)),
  10681. this.m !== i &&
  10682. ((this.m = i), (this._mdf.m = !0), (n = !0)),
  10683. !s.length ||
  10684. (this.p[0] === s[0] &&
  10685. this.p[1] === s[1] &&
  10686. this.p[4] === s[4] &&
  10687. this.p[5] === s[5] &&
  10688. this.p[12] === s[12] &&
  10689. this.p[13] === s[13]) ||
  10690. ((this.p = s), (this._mdf.p = !0), (n = !0)),
  10691. n
  10692. );
  10693. }),
  10694. (TextProperty.prototype.defaultBoxWidth = [0, 0]),
  10695. (TextProperty.prototype.copyData = function (t, e) {
  10696. for (var r in e)
  10697. Object.prototype.hasOwnProperty.call(e, r) &&
  10698. (t[r] = e[r]);
  10699. return t;
  10700. }),
  10701. (TextProperty.prototype.setCurrentData = function (t) {
  10702. t.__complete || this.completeTextData(t),
  10703. (this.currentData = t),
  10704. (this.currentData.boxWidth =
  10705. this.currentData.boxWidth || this.defaultBoxWidth),
  10706. (this._mdf = !0);
  10707. }),
  10708. (TextProperty.prototype.searchProperty = function () {
  10709. return this.searchKeyframes();
  10710. }),
  10711. (TextProperty.prototype.searchKeyframes = function () {
  10712. return (
  10713. (this.kf = this.data.d.k.length > 1),
  10714. this.kf &&
  10715. this.addEffect(this.getKeyframeValue.bind(this)),
  10716. this.kf
  10717. );
  10718. }),
  10719. (TextProperty.prototype.addEffect = function (t) {
  10720. this.effectsSequence.push(t),
  10721. this.elem.addDynamicProperty(this);
  10722. }),
  10723. (TextProperty.prototype.getValue = function (t) {
  10724. if (
  10725. (this.elem.globalData.frameId !== this.frameId &&
  10726. this.effectsSequence.length) ||
  10727. t
  10728. ) {
  10729. this.currentData.t = this.data.d.k[this.keysIndex].s.t;
  10730. var e = this.currentData,
  10731. r = this.keysIndex;
  10732. if (this.lock) this.setCurrentData(this.currentData);
  10733. else {
  10734. var a;
  10735. (this.lock = !0), (this._mdf = !1);
  10736. var i = this.effectsSequence.length,
  10737. s = t || this.data.d.k[this.keysIndex].s;
  10738. for (a = 0; a < i; a += 1)
  10739. s =
  10740. r !== this.keysIndex
  10741. ? this.effectsSequence[a](s, s.t)
  10742. : this.effectsSequence[a](this.currentData, s.t);
  10743. e !== s && this.setCurrentData(s),
  10744. (this.v = this.currentData),
  10745. (this.pv = this.v),
  10746. (this.lock = !1),
  10747. (this.frameId = this.elem.globalData.frameId);
  10748. }
  10749. }
  10750. }),
  10751. (TextProperty.prototype.getKeyframeValue = function () {
  10752. for (
  10753. var t = this.data.d.k,
  10754. e = this.elem.comp.renderedFrame,
  10755. r = 0,
  10756. a = t.length;
  10757. r <= a - 1 && !(r === a - 1 || t[r + 1].t > e);
  10758. )
  10759. r += 1;
  10760. return (
  10761. this.keysIndex !== r && (this.keysIndex = r),
  10762. this.data.d.k[this.keysIndex].s
  10763. );
  10764. }),
  10765. (TextProperty.prototype.buildFinalText = function (t) {
  10766. for (
  10767. var e,
  10768. r,
  10769. a = [],
  10770. i = 0,
  10771. s = t.length,
  10772. n = !1,
  10773. o = !1,
  10774. l = '';
  10775. i < s;
  10776. )
  10777. (n = o),
  10778. (o = !1),
  10779. (e = t.charCodeAt(i)),
  10780. (l = t.charAt(i)),
  10781. FontManager.isCombinedCharacter(e)
  10782. ? (n = !0)
  10783. : e >= 55296 && e <= 56319
  10784. ? FontManager.isRegionalFlag(t, i)
  10785. ? (l = t.substr(i, 14))
  10786. : (r = t.charCodeAt(i + 1)) >= 56320 &&
  10787. r <= 57343 &&
  10788. (FontManager.isModifier(e, r)
  10789. ? ((l = t.substr(i, 2)), (n = !0))
  10790. : (l = FontManager.isFlagEmoji(t.substr(i, 4))
  10791. ? t.substr(i, 4)
  10792. : t.substr(i, 2)))
  10793. : e > 56319
  10794. ? ((r = t.charCodeAt(i + 1)),
  10795. FontManager.isVariationSelector(e) && (n = !0))
  10796. : FontManager.isZeroWidthJoiner(e) &&
  10797. ((n = !0), (o = !0)),
  10798. n ? ((a[a.length - 1] += l), (n = !1)) : a.push(l),
  10799. (i += l.length);
  10800. return a;
  10801. }),
  10802. (TextProperty.prototype.completeTextData = function (t) {
  10803. t.__complete = !0;
  10804. var e,
  10805. r,
  10806. a,
  10807. i,
  10808. s,
  10809. n,
  10810. o,
  10811. l = this.elem.globalData.fontManager,
  10812. h = this.data,
  10813. p = [],
  10814. c = 0,
  10815. d = h.m.g,
  10816. f = 0,
  10817. m = 0,
  10818. u = 0,
  10819. g = [],
  10820. y = 0,
  10821. v = 0,
  10822. b = l.getFontByName(t.f),
  10823. _ = 0,
  10824. w = getFontProperties(b);
  10825. (t.fWeight = w.weight),
  10826. (t.fStyle = w.style),
  10827. (t.finalSize = t.s),
  10828. (t.finalText = this.buildFinalText(t.t)),
  10829. (r = t.finalText.length),
  10830. (t.finalLineHeight = t.lh);
  10831. var A,
  10832. x = (t.tr / 1e3) * t.finalSize;
  10833. if (t.sz)
  10834. for (var P, S, C = !0, T = t.sz[0], E = t.sz[1]; C; ) {
  10835. (P = 0),
  10836. (y = 0),
  10837. (r = (S = this.buildFinalText(t.t)).length),
  10838. (x = (t.tr / 1e3) * t.finalSize);
  10839. var k = -1;
  10840. for (e = 0; e < r; e += 1)
  10841. (A = S[e].charCodeAt(0)),
  10842. (a = !1),
  10843. ' ' === S[e]
  10844. ? (k = e)
  10845. : (13 !== A && 3 !== A) ||
  10846. ((y = 0),
  10847. (a = !0),
  10848. (P += t.finalLineHeight || 1.2 * t.finalSize)),
  10849. l.chars
  10850. ? ((o = l.getCharData(S[e], b.fStyle, b.fFamily)),
  10851. (_ = a ? 0 : (o.w * t.finalSize) / 100))
  10852. : (_ = l.measureText(S[e], t.f, t.finalSize)),
  10853. y + _ > T && ' ' !== S[e]
  10854. ? (-1 === k ? (r += 1) : (e = k),
  10855. (P += t.finalLineHeight || 1.2 * t.finalSize),
  10856. S.splice(e, k === e ? 1 : 0, '\r'),
  10857. (k = -1),
  10858. (y = 0))
  10859. : ((y += _), (y += x));
  10860. (P += (b.ascent * t.finalSize) / 100),
  10861. this.canResize &&
  10862. t.finalSize > this.minimumFontSize &&
  10863. E < P
  10864. ? ((t.finalSize -= 1),
  10865. (t.finalLineHeight = (t.finalSize * t.lh) / t.s))
  10866. : ((t.finalText = S),
  10867. (r = t.finalText.length),
  10868. (C = !1));
  10869. }
  10870. (y = -x), (_ = 0);
  10871. var M,
  10872. D = 0;
  10873. for (e = 0; e < r; e += 1)
  10874. if (
  10875. ((a = !1),
  10876. 13 === (A = (M = t.finalText[e]).charCodeAt(0)) ||
  10877. 3 === A
  10878. ? ((D = 0),
  10879. g.push(y),
  10880. (v = y > v ? y : v),
  10881. (y = -2 * x),
  10882. (i = ''),
  10883. (a = !0),
  10884. (u += 1))
  10885. : (i = M),
  10886. l.chars
  10887. ? ((o = l.getCharData(
  10888. M,
  10889. b.fStyle,
  10890. l.getFontByName(t.f).fFamily
  10891. )),
  10892. (_ = a ? 0 : (o.w * t.finalSize) / 100))
  10893. : (_ = l.measureText(i, t.f, t.finalSize)),
  10894. ' ' === M ? (D += _ + x) : ((y += _ + x + D), (D = 0)),
  10895. p.push({
  10896. l: _,
  10897. an: _,
  10898. add: f,
  10899. n: a,
  10900. anIndexes: [],
  10901. val: i,
  10902. line: u,
  10903. animatorJustifyOffset: 0
  10904. }),
  10905. 2 == d)
  10906. ) {
  10907. if (((f += _), '' === i || ' ' === i || e === r - 1)) {
  10908. for (('' !== i && ' ' !== i) || (f -= _); m <= e; )
  10909. (p[m].an = f),
  10910. (p[m].ind = c),
  10911. (p[m].extra = _),
  10912. (m += 1);
  10913. (c += 1), (f = 0);
  10914. }
  10915. } else if (3 == d) {
  10916. if (((f += _), '' === i || e === r - 1)) {
  10917. for ('' === i && (f -= _); m <= e; )
  10918. (p[m].an = f),
  10919. (p[m].ind = c),
  10920. (p[m].extra = _),
  10921. (m += 1);
  10922. (f = 0), (c += 1);
  10923. }
  10924. } else (p[c].ind = c), (p[c].extra = 0), (c += 1);
  10925. if (((t.l = p), (v = y > v ? y : v), g.push(y), t.sz))
  10926. (t.boxWidth = t.sz[0]), (t.justifyOffset = 0);
  10927. else
  10928. switch (((t.boxWidth = v), t.j)) {
  10929. case 1:
  10930. t.justifyOffset = -t.boxWidth;
  10931. break;
  10932. case 2:
  10933. t.justifyOffset = -t.boxWidth / 2;
  10934. break;
  10935. default:
  10936. t.justifyOffset = 0;
  10937. }
  10938. t.lineWidths = g;
  10939. var I,
  10940. F,
  10941. V,
  10942. B,
  10943. N = h.a;
  10944. n = N.length;
  10945. var R = [];
  10946. for (s = 0; s < n; s += 1) {
  10947. for (
  10948. (I = N[s]).a.sc && (t.strokeColorAnim = !0),
  10949. I.a.sw && (t.strokeWidthAnim = !0),
  10950. (I.a.fc || I.a.fh || I.a.fs || I.a.fb) &&
  10951. (t.fillColorAnim = !0),
  10952. B = 0,
  10953. V = I.s.b,
  10954. e = 0;
  10955. e < r;
  10956. e += 1
  10957. )
  10958. ((F = p[e]).anIndexes[s] = B),
  10959. ((1 == V && '' !== F.val) ||
  10960. (2 == V && '' !== F.val && ' ' !== F.val) ||
  10961. (3 == V && (F.n || ' ' == F.val || e == r - 1)) ||
  10962. (4 == V && (F.n || e == r - 1))) &&
  10963. (1 === I.s.rn && R.push(B), (B += 1));
  10964. h.a[s].s.totalChars = B;
  10965. var z,
  10966. L = -1;
  10967. if (1 === I.s.rn)
  10968. for (e = 0; e < r; e += 1)
  10969. L != (F = p[e]).anIndexes[s] &&
  10970. ((L = F.anIndexes[s]),
  10971. (z = R.splice(
  10972. Math.floor(Math.random() * R.length),
  10973. 1
  10974. )[0])),
  10975. (F.anIndexes[s] = z);
  10976. }
  10977. (t.yOffset = t.finalLineHeight || 1.2 * t.finalSize),
  10978. (t.ls = t.ls || 0),
  10979. (t.ascent = (b.ascent * t.finalSize) / 100);
  10980. }),
  10981. (TextProperty.prototype.updateDocumentData = function (t, e) {
  10982. e = void 0 === e ? this.keysIndex : e;
  10983. var r = this.copyData({}, this.data.d.k[e].s);
  10984. (r = this.copyData(r, t)),
  10985. (this.data.d.k[e].s = r),
  10986. this.recalculate(e),
  10987. this.setCurrentData(r),
  10988. this.elem.addDynamicProperty(this);
  10989. }),
  10990. (TextProperty.prototype.recalculate = function (t) {
  10991. var e = this.data.d.k[t].s;
  10992. (e.__complete = !1),
  10993. (this.keysIndex = 0),
  10994. (this._isFirstFrame = !0),
  10995. this.getValue(e);
  10996. }),
  10997. (TextProperty.prototype.canResizeFont = function (t) {
  10998. (this.canResize = t),
  10999. this.recalculate(this.keysIndex),
  11000. this.elem.addDynamicProperty(this);
  11001. }),
  11002. (TextProperty.prototype.setMinimumFontSize = function (t) {
  11003. (this.minimumFontSize = Math.floor(t) || 1),
  11004. this.recalculate(this.keysIndex),
  11005. this.elem.addDynamicProperty(this);
  11006. });
  11007. var TextSelectorProp = (function () {
  11008. var t = Math.max,
  11009. e = Math.min,
  11010. r = Math.floor;
  11011. function a(t, e) {
  11012. (this._currentTextLength = -1),
  11013. (this.k = !1),
  11014. (this.data = e),
  11015. (this.elem = t),
  11016. (this.comp = t.comp),
  11017. (this.finalS = 0),
  11018. (this.finalE = 0),
  11019. this.initDynamicPropertyContainer(t),
  11020. (this.s = PropertyFactory.getProp(
  11021. t,
  11022. e.s || { k: 0 },
  11023. 0,
  11024. 0,
  11025. this
  11026. )),
  11027. (this.e =
  11028. 'e' in e
  11029. ? PropertyFactory.getProp(t, e.e, 0, 0, this)
  11030. : { v: 100 }),
  11031. (this.o = PropertyFactory.getProp(
  11032. t,
  11033. e.o || { k: 0 },
  11034. 0,
  11035. 0,
  11036. this
  11037. )),
  11038. (this.xe = PropertyFactory.getProp(
  11039. t,
  11040. e.xe || { k: 0 },
  11041. 0,
  11042. 0,
  11043. this
  11044. )),
  11045. (this.ne = PropertyFactory.getProp(
  11046. t,
  11047. e.ne || { k: 0 },
  11048. 0,
  11049. 0,
  11050. this
  11051. )),
  11052. (this.sm = PropertyFactory.getProp(
  11053. t,
  11054. e.sm || { k: 100 },
  11055. 0,
  11056. 0,
  11057. this
  11058. )),
  11059. (this.a = PropertyFactory.getProp(t, e.a, 0, 0.01, this)),
  11060. this.dynamicProperties.length || this.getValue();
  11061. }
  11062. return (
  11063. (a.prototype = {
  11064. getMult: function (a) {
  11065. this._currentTextLength !==
  11066. this.elem.textProperty.currentData.l.length &&
  11067. this.getValue();
  11068. var i = 0,
  11069. s = 0,
  11070. n = 1,
  11071. o = 1;
  11072. this.ne.v > 0
  11073. ? (i = this.ne.v / 100)
  11074. : (s = -this.ne.v / 100),
  11075. this.xe.v > 0
  11076. ? (n = 1 - this.xe.v / 100)
  11077. : (o = 1 + this.xe.v / 100);
  11078. var l = BezierFactory.getBezierEasing(i, s, n, o).get,
  11079. h = 0,
  11080. p = this.finalS,
  11081. c = this.finalE,
  11082. d = this.data.sh;
  11083. if (2 === d)
  11084. h = l(
  11085. (h =
  11086. c === p
  11087. ? a >= c
  11088. ? 1
  11089. : 0
  11090. : t(0, e(0.5 / (c - p) + (a - p) / (c - p), 1)))
  11091. );
  11092. else if (3 === d)
  11093. h = l(
  11094. (h =
  11095. c === p
  11096. ? a >= c
  11097. ? 0
  11098. : 1
  11099. : 1 -
  11100. t(0, e(0.5 / (c - p) + (a - p) / (c - p), 1)))
  11101. );
  11102. else if (4 === d)
  11103. c === p
  11104. ? (h = 0)
  11105. : (h = t(
  11106. 0,
  11107. e(0.5 / (c - p) + (a - p) / (c - p), 1)
  11108. )) < 0.5
  11109. ? (h *= 2)
  11110. : (h = 1 - 2 * (h - 0.5)),
  11111. (h = l(h));
  11112. else if (5 === d) {
  11113. if (c === p) h = 0;
  11114. else {
  11115. var f = c - p,
  11116. m = -f / 2 + (a = e(t(0, a + 0.5 - p), c - p)),
  11117. u = f / 2;
  11118. h = Math.sqrt(1 - (m * m) / (u * u));
  11119. }
  11120. h = l(h);
  11121. } else
  11122. 6 === d
  11123. ? (c === p
  11124. ? (h = 0)
  11125. : ((a = e(t(0, a + 0.5 - p), c - p)),
  11126. (h =
  11127. (1 +
  11128. Math.cos(
  11129. Math.PI + (2 * Math.PI * a) / (c - p)
  11130. )) /
  11131. 2)),
  11132. (h = l(h)))
  11133. : (a >= r(p) &&
  11134. (h = t(
  11135. 0,
  11136. e(a - p < 0 ? e(c, 1) - (p - a) : c - a, 1)
  11137. )),
  11138. (h = l(h)));
  11139. if (100 !== this.sm.v) {
  11140. var g = 0.01 * this.sm.v;
  11141. 0 === g && (g = 1e-8);
  11142. var y = 0.5 - 0.5 * g;
  11143. h < y ? (h = 0) : (h = (h - y) / g) > 1 && (h = 1);
  11144. }
  11145. return h * this.a.v;
  11146. },
  11147. getValue: function (t) {
  11148. this.iterateDynamicProperties(),
  11149. (this._mdf = t || this._mdf),
  11150. (this._currentTextLength =
  11151. this.elem.textProperty.currentData.l.length || 0),
  11152. t &&
  11153. 2 === this.data.r &&
  11154. (this.e.v = this._currentTextLength);
  11155. var e =
  11156. 2 === this.data.r ? 1 : 100 / this.data.totalChars,
  11157. r = this.o.v / e,
  11158. a = this.s.v / e + r,
  11159. i = this.e.v / e + r;
  11160. if (a > i) {
  11161. var s = a;
  11162. (a = i), (i = s);
  11163. }
  11164. (this.finalS = a), (this.finalE = i);
  11165. }
  11166. }),
  11167. extendPrototype([DynamicPropertyContainer], a),
  11168. {
  11169. getTextSelectorProp: function (t, e, r) {
  11170. return new a(t, e);
  11171. }
  11172. }
  11173. );
  11174. })();
  11175. function TextAnimatorDataProperty(t, e, r) {
  11176. var a = { propType: !1 },
  11177. i = PropertyFactory.getProp,
  11178. s = e.a;
  11179. (this.a = {
  11180. r: s.r ? i(t, s.r, 0, degToRads, r) : a,
  11181. rx: s.rx ? i(t, s.rx, 0, degToRads, r) : a,
  11182. ry: s.ry ? i(t, s.ry, 0, degToRads, r) : a,
  11183. sk: s.sk ? i(t, s.sk, 0, degToRads, r) : a,
  11184. sa: s.sa ? i(t, s.sa, 0, degToRads, r) : a,
  11185. s: s.s ? i(t, s.s, 1, 0.01, r) : a,
  11186. a: s.a ? i(t, s.a, 1, 0, r) : a,
  11187. o: s.o ? i(t, s.o, 0, 0.01, r) : a,
  11188. p: s.p ? i(t, s.p, 1, 0, r) : a,
  11189. sw: s.sw ? i(t, s.sw, 0, 0, r) : a,
  11190. sc: s.sc ? i(t, s.sc, 1, 0, r) : a,
  11191. fc: s.fc ? i(t, s.fc, 1, 0, r) : a,
  11192. fh: s.fh ? i(t, s.fh, 0, 0, r) : a,
  11193. fs: s.fs ? i(t, s.fs, 0, 0.01, r) : a,
  11194. fb: s.fb ? i(t, s.fb, 0, 0.01, r) : a,
  11195. t: s.t ? i(t, s.t, 0, 0, r) : a
  11196. }),
  11197. (this.s = TextSelectorProp.getTextSelectorProp(t, e.s, r)),
  11198. (this.s.t = e.s.t);
  11199. }
  11200. function TextAnimatorProperty(t, e, r) {
  11201. (this._isFirstFrame = !0),
  11202. (this._hasMaskedPath = !1),
  11203. (this._frameId = -1),
  11204. (this._textData = t),
  11205. (this._renderType = e),
  11206. (this._elem = r),
  11207. (this._animatorsData = createSizedArray(
  11208. this._textData.a.length
  11209. )),
  11210. (this._pathData = {}),
  11211. (this._moreOptions = { alignment: {} }),
  11212. (this.renderedLetters = []),
  11213. (this.lettersChangedFlag = !1),
  11214. this.initDynamicPropertyContainer(r);
  11215. }
  11216. function ITextElement() {}
  11217. (TextAnimatorProperty.prototype.searchProperties = function () {
  11218. var t,
  11219. e,
  11220. r = this._textData.a.length,
  11221. a = PropertyFactory.getProp;
  11222. for (t = 0; t < r; t += 1)
  11223. (e = this._textData.a[t]),
  11224. (this._animatorsData[t] = new TextAnimatorDataProperty(
  11225. this._elem,
  11226. e,
  11227. this
  11228. ));
  11229. this._textData.p && 'm' in this._textData.p
  11230. ? ((this._pathData = {
  11231. a: a(this._elem, this._textData.p.a, 0, 0, this),
  11232. f: a(this._elem, this._textData.p.f, 0, 0, this),
  11233. l: a(this._elem, this._textData.p.l, 0, 0, this),
  11234. r: a(this._elem, this._textData.p.r, 0, 0, this),
  11235. p: a(this._elem, this._textData.p.p, 0, 0, this),
  11236. m: this._elem.maskManager.getMaskProperty(
  11237. this._textData.p.m
  11238. )
  11239. }),
  11240. (this._hasMaskedPath = !0))
  11241. : (this._hasMaskedPath = !1),
  11242. (this._moreOptions.alignment = a(
  11243. this._elem,
  11244. this._textData.m.a,
  11245. 1,
  11246. 0,
  11247. this
  11248. ));
  11249. }),
  11250. (TextAnimatorProperty.prototype.getMeasures = function (
  11251. t,
  11252. e
  11253. ) {
  11254. if (
  11255. ((this.lettersChangedFlag = e),
  11256. this._mdf ||
  11257. this._isFirstFrame ||
  11258. e ||
  11259. (this._hasMaskedPath && this._pathData.m._mdf))
  11260. ) {
  11261. this._isFirstFrame = !1;
  11262. var r,
  11263. a,
  11264. i,
  11265. s,
  11266. n,
  11267. o,
  11268. l,
  11269. h,
  11270. p,
  11271. c,
  11272. d,
  11273. f,
  11274. m,
  11275. u,
  11276. g,
  11277. y,
  11278. v,
  11279. b,
  11280. _,
  11281. w = this._moreOptions.alignment.v,
  11282. A = this._animatorsData,
  11283. x = this._textData,
  11284. P = this.mHelper,
  11285. S = this._renderType,
  11286. C = this.renderedLetters.length,
  11287. T = t.l;
  11288. if (this._hasMaskedPath) {
  11289. if (
  11290. ((_ = this._pathData.m),
  11291. !this._pathData.n || this._pathData._mdf)
  11292. ) {
  11293. var E,
  11294. k = _.v;
  11295. for (
  11296. this._pathData.r.v && (k = k.reverse()),
  11297. n = { tLength: 0, segments: [] },
  11298. s = k._length - 1,
  11299. y = 0,
  11300. i = 0;
  11301. i < s;
  11302. i += 1
  11303. )
  11304. (E = bez.buildBezierData(
  11305. k.v[i],
  11306. k.v[i + 1],
  11307. [k.o[i][0] - k.v[i][0], k.o[i][1] - k.v[i][1]],
  11308. [
  11309. k.i[i + 1][0] - k.v[i + 1][0],
  11310. k.i[i + 1][1] - k.v[i + 1][1]
  11311. ]
  11312. )),
  11313. (n.tLength += E.segmentLength),
  11314. n.segments.push(E),
  11315. (y += E.segmentLength);
  11316. (i = s),
  11317. _.v.c &&
  11318. ((E = bez.buildBezierData(
  11319. k.v[i],
  11320. k.v[0],
  11321. [k.o[i][0] - k.v[i][0], k.o[i][1] - k.v[i][1]],
  11322. [k.i[0][0] - k.v[0][0], k.i[0][1] - k.v[0][1]]
  11323. )),
  11324. (n.tLength += E.segmentLength),
  11325. n.segments.push(E),
  11326. (y += E.segmentLength)),
  11327. (this._pathData.pi = n);
  11328. }
  11329. if (
  11330. ((n = this._pathData.pi),
  11331. (o = this._pathData.f.v),
  11332. (d = 0),
  11333. (c = 1),
  11334. (h = 0),
  11335. (p = !0),
  11336. (u = n.segments),
  11337. o < 0 && _.v.c)
  11338. )
  11339. for (
  11340. n.tLength < Math.abs(o) &&
  11341. (o = -Math.abs(o) % n.tLength),
  11342. c = (m = u[(d = u.length - 1)].points).length - 1;
  11343. o < 0;
  11344. )
  11345. (o += m[c].partialLength),
  11346. (c -= 1) < 0 &&
  11347. (c = (m = u[(d -= 1)].points).length - 1);
  11348. (f = (m = u[d].points)[c - 1]),
  11349. (g = (l = m[c]).partialLength);
  11350. }
  11351. (s = T.length), (r = 0), (a = 0);
  11352. var M,
  11353. D,
  11354. I,
  11355. F,
  11356. V,
  11357. B = 1.2 * t.finalSize * 0.714,
  11358. N = !0;
  11359. I = A.length;
  11360. var R,
  11361. z,
  11362. L,
  11363. O,
  11364. j,
  11365. G,
  11366. H,
  11367. W,
  11368. U,
  11369. q,
  11370. J,
  11371. Y,
  11372. X = -1,
  11373. Q = o,
  11374. K = d,
  11375. $ = c,
  11376. Z = -1,
  11377. tt = '',
  11378. et = this.defaultPropsArray;
  11379. if (2 === t.j || 1 === t.j) {
  11380. var rt = 0,
  11381. at = 0,
  11382. it = 2 === t.j ? -0.5 : -1,
  11383. st = 0,
  11384. nt = !0;
  11385. for (i = 0; i < s; i += 1)
  11386. if (T[i].n) {
  11387. for (rt && (rt += at); st < i; )
  11388. (T[st].animatorJustifyOffset = rt), (st += 1);
  11389. (rt = 0), (nt = !0);
  11390. } else {
  11391. for (D = 0; D < I; D += 1)
  11392. (M = A[D].a).t.propType &&
  11393. (nt && 2 === t.j && (at += M.t.v * it),
  11394. (V = A[D].s.getMult(
  11395. T[i].anIndexes[D],
  11396. x.a[D].s.totalChars
  11397. )).length
  11398. ? (rt += M.t.v * V[0] * it)
  11399. : (rt += M.t.v * V * it));
  11400. nt = !1;
  11401. }
  11402. for (rt && (rt += at); st < i; )
  11403. (T[st].animatorJustifyOffset = rt), (st += 1);
  11404. }
  11405. for (i = 0; i < s; i += 1) {
  11406. if ((P.reset(), (O = 1), T[i].n))
  11407. (r = 0),
  11408. (a += t.yOffset),
  11409. (a += N ? 1 : 0),
  11410. (o = Q),
  11411. (N = !1),
  11412. this._hasMaskedPath &&
  11413. ((c = $),
  11414. (f = (m = u[(d = K)].points)[c - 1]),
  11415. (g = (l = m[c]).partialLength),
  11416. (h = 0)),
  11417. (tt = ''),
  11418. (J = ''),
  11419. (U = ''),
  11420. (Y = ''),
  11421. (et = this.defaultPropsArray);
  11422. else {
  11423. if (this._hasMaskedPath) {
  11424. if (Z !== T[i].line) {
  11425. switch (t.j) {
  11426. case 1:
  11427. o += y - t.lineWidths[T[i].line];
  11428. break;
  11429. case 2:
  11430. o += (y - t.lineWidths[T[i].line]) / 2;
  11431. }
  11432. Z = T[i].line;
  11433. }
  11434. X !== T[i].ind &&
  11435. (T[X] && (o += T[X].extra),
  11436. (o += T[i].an / 2),
  11437. (X = T[i].ind)),
  11438. (o += w[0] * T[i].an * 0.005);
  11439. var ot = 0;
  11440. for (D = 0; D < I; D += 1)
  11441. (M = A[D].a).p.propType &&
  11442. ((V = A[D].s.getMult(
  11443. T[i].anIndexes[D],
  11444. x.a[D].s.totalChars
  11445. )).length
  11446. ? (ot += M.p.v[0] * V[0])
  11447. : (ot += M.p.v[0] * V)),
  11448. M.a.propType &&
  11449. ((V = A[D].s.getMult(
  11450. T[i].anIndexes[D],
  11451. x.a[D].s.totalChars
  11452. )).length
  11453. ? (ot += M.a.v[0] * V[0])
  11454. : (ot += M.a.v[0] * V));
  11455. for (
  11456. p = !0,
  11457. this._pathData.a.v &&
  11458. ((o =
  11459. 0.5 * T[0].an +
  11460. ((y -
  11461. this._pathData.f.v -
  11462. 0.5 * T[0].an -
  11463. 0.5 * T[T.length - 1].an) *
  11464. X) /
  11465. (s - 1)),
  11466. (o += this._pathData.f.v));
  11467. p;
  11468. )
  11469. h + g >= o + ot || !m
  11470. ? ((v = (o + ot - h) / l.partialLength),
  11471. (z =
  11472. f.point[0] + (l.point[0] - f.point[0]) * v),
  11473. (L =
  11474. f.point[1] + (l.point[1] - f.point[1]) * v),
  11475. P.translate(
  11476. -w[0] * T[i].an * 0.005,
  11477. -w[1] * B * 0.01
  11478. ),
  11479. (p = !1))
  11480. : m &&
  11481. ((h += l.partialLength),
  11482. (c += 1) >= m.length &&
  11483. ((c = 0),
  11484. u[(d += 1)]
  11485. ? (m = u[d].points)
  11486. : _.v.c
  11487. ? ((c = 0), (m = u[(d = 0)].points))
  11488. : ((h -= l.partialLength), (m = null))),
  11489. m &&
  11490. ((f = l), (g = (l = m[c]).partialLength)));
  11491. (R = T[i].an / 2 - T[i].add), P.translate(-R, 0, 0);
  11492. } else
  11493. (R = T[i].an / 2 - T[i].add),
  11494. P.translate(-R, 0, 0),
  11495. P.translate(
  11496. -w[0] * T[i].an * 0.005,
  11497. -w[1] * B * 0.01,
  11498. 0
  11499. );
  11500. for (D = 0; D < I; D += 1)
  11501. (M = A[D].a).t.propType &&
  11502. ((V = A[D].s.getMult(
  11503. T[i].anIndexes[D],
  11504. x.a[D].s.totalChars
  11505. )),
  11506. (0 === r && 0 === t.j) ||
  11507. (this._hasMaskedPath
  11508. ? V.length
  11509. ? (o += M.t.v * V[0])
  11510. : (o += M.t.v * V)
  11511. : V.length
  11512. ? (r += M.t.v * V[0])
  11513. : (r += M.t.v * V)));
  11514. for (
  11515. t.strokeWidthAnim && (G = t.sw || 0),
  11516. t.strokeColorAnim &&
  11517. (j = t.sc
  11518. ? [t.sc[0], t.sc[1], t.sc[2]]
  11519. : [0, 0, 0]),
  11520. t.fillColorAnim &&
  11521. t.fc &&
  11522. (H = [t.fc[0], t.fc[1], t.fc[2]]),
  11523. D = 0;
  11524. D < I;
  11525. D += 1
  11526. )
  11527. (M = A[D].a).a.propType &&
  11528. ((V = A[D].s.getMult(
  11529. T[i].anIndexes[D],
  11530. x.a[D].s.totalChars
  11531. )).length
  11532. ? P.translate(
  11533. -M.a.v[0] * V[0],
  11534. -M.a.v[1] * V[1],
  11535. M.a.v[2] * V[2]
  11536. )
  11537. : P.translate(
  11538. -M.a.v[0] * V,
  11539. -M.a.v[1] * V,
  11540. M.a.v[2] * V
  11541. ));
  11542. for (D = 0; D < I; D += 1)
  11543. (M = A[D].a).s.propType &&
  11544. ((V = A[D].s.getMult(
  11545. T[i].anIndexes[D],
  11546. x.a[D].s.totalChars
  11547. )).length
  11548. ? P.scale(
  11549. 1 + (M.s.v[0] - 1) * V[0],
  11550. 1 + (M.s.v[1] - 1) * V[1],
  11551. 1
  11552. )
  11553. : P.scale(
  11554. 1 + (M.s.v[0] - 1) * V,
  11555. 1 + (M.s.v[1] - 1) * V,
  11556. 1
  11557. ));
  11558. for (D = 0; D < I; D += 1) {
  11559. if (
  11560. ((M = A[D].a),
  11561. (V = A[D].s.getMult(
  11562. T[i].anIndexes[D],
  11563. x.a[D].s.totalChars
  11564. )),
  11565. M.sk.propType &&
  11566. (V.length
  11567. ? P.skewFromAxis(
  11568. -M.sk.v * V[0],
  11569. M.sa.v * V[1]
  11570. )
  11571. : P.skewFromAxis(-M.sk.v * V, M.sa.v * V)),
  11572. M.r.propType &&
  11573. (V.length
  11574. ? P.rotateZ(-M.r.v * V[2])
  11575. : P.rotateZ(-M.r.v * V)),
  11576. M.ry.propType &&
  11577. (V.length
  11578. ? P.rotateY(M.ry.v * V[1])
  11579. : P.rotateY(M.ry.v * V)),
  11580. M.rx.propType &&
  11581. (V.length
  11582. ? P.rotateX(M.rx.v * V[0])
  11583. : P.rotateX(M.rx.v * V)),
  11584. M.o.propType &&
  11585. (V.length
  11586. ? (O += (M.o.v * V[0] - O) * V[0])
  11587. : (O += (M.o.v * V - O) * V)),
  11588. t.strokeWidthAnim &&
  11589. M.sw.propType &&
  11590. (V.length
  11591. ? (G += M.sw.v * V[0])
  11592. : (G += M.sw.v * V)),
  11593. t.strokeColorAnim && M.sc.propType)
  11594. )
  11595. for (W = 0; W < 3; W += 1)
  11596. V.length
  11597. ? (j[W] += (M.sc.v[W] - j[W]) * V[0])
  11598. : (j[W] += (M.sc.v[W] - j[W]) * V);
  11599. if (t.fillColorAnim && t.fc) {
  11600. if (M.fc.propType)
  11601. for (W = 0; W < 3; W += 1)
  11602. V.length
  11603. ? (H[W] += (M.fc.v[W] - H[W]) * V[0])
  11604. : (H[W] += (M.fc.v[W] - H[W]) * V);
  11605. M.fh.propType &&
  11606. (H = V.length
  11607. ? addHueToRGB(H, M.fh.v * V[0])
  11608. : addHueToRGB(H, M.fh.v * V)),
  11609. M.fs.propType &&
  11610. (H = V.length
  11611. ? addSaturationToRGB(H, M.fs.v * V[0])
  11612. : addSaturationToRGB(H, M.fs.v * V)),
  11613. M.fb.propType &&
  11614. (H = V.length
  11615. ? addBrightnessToRGB(H, M.fb.v * V[0])
  11616. : addBrightnessToRGB(H, M.fb.v * V));
  11617. }
  11618. }
  11619. for (D = 0; D < I; D += 1)
  11620. (M = A[D].a).p.propType &&
  11621. ((V = A[D].s.getMult(
  11622. T[i].anIndexes[D],
  11623. x.a[D].s.totalChars
  11624. )),
  11625. this._hasMaskedPath
  11626. ? V.length
  11627. ? P.translate(
  11628. 0,
  11629. M.p.v[1] * V[0],
  11630. -M.p.v[2] * V[1]
  11631. )
  11632. : P.translate(0, M.p.v[1] * V, -M.p.v[2] * V)
  11633. : V.length
  11634. ? P.translate(
  11635. M.p.v[0] * V[0],
  11636. M.p.v[1] * V[1],
  11637. -M.p.v[2] * V[2]
  11638. )
  11639. : P.translate(
  11640. M.p.v[0] * V,
  11641. M.p.v[1] * V,
  11642. -M.p.v[2] * V
  11643. ));
  11644. if (
  11645. (t.strokeWidthAnim && (U = G < 0 ? 0 : G),
  11646. t.strokeColorAnim &&
  11647. (q =
  11648. 'rgb(' +
  11649. Math.round(255 * j[0]) +
  11650. ',' +
  11651. Math.round(255 * j[1]) +
  11652. ',' +
  11653. Math.round(255 * j[2]) +
  11654. ')'),
  11655. t.fillColorAnim &&
  11656. t.fc &&
  11657. (J =
  11658. 'rgb(' +
  11659. Math.round(255 * H[0]) +
  11660. ',' +
  11661. Math.round(255 * H[1]) +
  11662. ',' +
  11663. Math.round(255 * H[2]) +
  11664. ')'),
  11665. this._hasMaskedPath)
  11666. ) {
  11667. if (
  11668. (P.translate(0, -t.ls),
  11669. P.translate(0, w[1] * B * 0.01 + a, 0),
  11670. this._pathData.p.v)
  11671. ) {
  11672. b =
  11673. (l.point[1] - f.point[1]) /
  11674. (l.point[0] - f.point[0]);
  11675. var lt = (180 * Math.atan(b)) / Math.PI;
  11676. l.point[0] < f.point[0] && (lt += 180),
  11677. P.rotate((-lt * Math.PI) / 180);
  11678. }
  11679. P.translate(z, L, 0),
  11680. (o -= w[0] * T[i].an * 0.005),
  11681. T[i + 1] &&
  11682. X !== T[i + 1].ind &&
  11683. ((o += T[i].an / 2),
  11684. (o += 0.001 * t.tr * t.finalSize));
  11685. } else {
  11686. switch (
  11687. (P.translate(r, a, 0),
  11688. t.ps &&
  11689. P.translate(t.ps[0], t.ps[1] + t.ascent, 0),
  11690. t.j)
  11691. ) {
  11692. case 1:
  11693. P.translate(
  11694. T[i].animatorJustifyOffset +
  11695. t.justifyOffset +
  11696. (t.boxWidth - t.lineWidths[T[i].line]),
  11697. 0,
  11698. 0
  11699. );
  11700. break;
  11701. case 2:
  11702. P.translate(
  11703. T[i].animatorJustifyOffset +
  11704. t.justifyOffset +
  11705. (t.boxWidth - t.lineWidths[T[i].line]) / 2,
  11706. 0,
  11707. 0
  11708. );
  11709. }
  11710. P.translate(0, -t.ls),
  11711. P.translate(R, 0, 0),
  11712. P.translate(
  11713. w[0] * T[i].an * 0.005,
  11714. w[1] * B * 0.01,
  11715. 0
  11716. ),
  11717. (r += T[i].l + 0.001 * t.tr * t.finalSize);
  11718. }
  11719. 'html' === S
  11720. ? (tt = P.toCSS())
  11721. : 'svg' === S
  11722. ? (tt = P.to2dCSS())
  11723. : (et = [
  11724. P.props[0],
  11725. P.props[1],
  11726. P.props[2],
  11727. P.props[3],
  11728. P.props[4],
  11729. P.props[5],
  11730. P.props[6],
  11731. P.props[7],
  11732. P.props[8],
  11733. P.props[9],
  11734. P.props[10],
  11735. P.props[11],
  11736. P.props[12],
  11737. P.props[13],
  11738. P.props[14],
  11739. P.props[15]
  11740. ]),
  11741. (Y = O);
  11742. }
  11743. C <= i
  11744. ? ((F = new LetterProps(Y, U, q, J, tt, et)),
  11745. this.renderedLetters.push(F),
  11746. (C += 1),
  11747. (this.lettersChangedFlag = !0))
  11748. : ((F = this.renderedLetters[i]),
  11749. (this.lettersChangedFlag =
  11750. F.update(Y, U, q, J, tt, et) ||
  11751. this.lettersChangedFlag));
  11752. }
  11753. }
  11754. }),
  11755. (TextAnimatorProperty.prototype.getValue = function () {
  11756. this._elem.globalData.frameId !== this._frameId &&
  11757. ((this._frameId = this._elem.globalData.frameId),
  11758. this.iterateDynamicProperties());
  11759. }),
  11760. (TextAnimatorProperty.prototype.mHelper = new Matrix()),
  11761. (TextAnimatorProperty.prototype.defaultPropsArray = []),
  11762. extendPrototype(
  11763. [DynamicPropertyContainer],
  11764. TextAnimatorProperty
  11765. ),
  11766. (ITextElement.prototype.initElement = function (t, e, r) {
  11767. (this.lettersChangedFlag = !0),
  11768. this.initFrame(),
  11769. this.initBaseData(t, e, r),
  11770. (this.textProperty = new TextProperty(
  11771. this,
  11772. t.t,
  11773. this.dynamicProperties
  11774. )),
  11775. (this.textAnimator = new TextAnimatorProperty(
  11776. t.t,
  11777. this.renderType,
  11778. this
  11779. )),
  11780. this.initTransform(t, e, r),
  11781. this.initHierarchy(),
  11782. this.initRenderable(),
  11783. this.initRendererElement(),
  11784. this.createContainerElements(),
  11785. this.createRenderableComponents(),
  11786. this.createContent(),
  11787. this.hide(),
  11788. this.textAnimator.searchProperties(
  11789. this.dynamicProperties
  11790. );
  11791. }),
  11792. (ITextElement.prototype.prepareFrame = function (t) {
  11793. (this._mdf = !1),
  11794. this.prepareRenderableFrame(t),
  11795. this.prepareProperties(t, this.isInRange);
  11796. }),
  11797. (ITextElement.prototype.createPathShape = function (t, e) {
  11798. var r,
  11799. a,
  11800. i = e.length,
  11801. s = '';
  11802. for (r = 0; r < i; r += 1)
  11803. 'sh' === e[r].ty &&
  11804. ((a = e[r].ks.k),
  11805. (s += buildShapeString(a, a.i.length, !0, t)));
  11806. return s;
  11807. }),
  11808. (ITextElement.prototype.updateDocumentData = function (t, e) {
  11809. this.textProperty.updateDocumentData(t, e);
  11810. }),
  11811. (ITextElement.prototype.canResizeFont = function (t) {
  11812. this.textProperty.canResizeFont(t);
  11813. }),
  11814. (ITextElement.prototype.setMinimumFontSize = function (t) {
  11815. this.textProperty.setMinimumFontSize(t);
  11816. }),
  11817. (ITextElement.prototype.applyTextPropertiesToMatrix =
  11818. function (t, e, r, a, i) {
  11819. switch (
  11820. (t.ps && e.translate(t.ps[0], t.ps[1] + t.ascent, 0),
  11821. e.translate(0, -t.ls, 0),
  11822. t.j)
  11823. ) {
  11824. case 1:
  11825. e.translate(
  11826. t.justifyOffset + (t.boxWidth - t.lineWidths[r]),
  11827. 0,
  11828. 0
  11829. );
  11830. break;
  11831. case 2:
  11832. e.translate(
  11833. t.justifyOffset +
  11834. (t.boxWidth - t.lineWidths[r]) / 2,
  11835. 0,
  11836. 0
  11837. );
  11838. }
  11839. e.translate(a, i, 0);
  11840. }),
  11841. (ITextElement.prototype.buildColor = function (t) {
  11842. return (
  11843. 'rgb(' +
  11844. Math.round(255 * t[0]) +
  11845. ',' +
  11846. Math.round(255 * t[1]) +
  11847. ',' +
  11848. Math.round(255 * t[2]) +
  11849. ')'
  11850. );
  11851. }),
  11852. (ITextElement.prototype.emptyProp = new LetterProps()),
  11853. (ITextElement.prototype.destroy = function () {}),
  11854. (ITextElement.prototype.validateText = function () {
  11855. (this.textProperty._mdf ||
  11856. this.textProperty._isFirstFrame) &&
  11857. (this.buildNewText(),
  11858. (this.textProperty._isFirstFrame = !1),
  11859. (this.textProperty._mdf = !1));
  11860. });
  11861. var emptyShapeData = { shapes: [] };
  11862. function SVGTextLottieElement(t, e, r) {
  11863. (this.textSpans = []),
  11864. (this.renderType = 'svg'),
  11865. this.initElement(t, e, r);
  11866. }
  11867. function ISolidElement(t, e, r) {
  11868. this.initElement(t, e, r);
  11869. }
  11870. function NullElement(t, e, r) {
  11871. this.initFrame(),
  11872. this.initBaseData(t, e, r),
  11873. this.initFrame(),
  11874. this.initTransform(t, e, r),
  11875. this.initHierarchy();
  11876. }
  11877. function SVGRendererBase() {}
  11878. function ICompElement() {}
  11879. function SVGCompElement(t, e, r) {
  11880. (this.layers = t.layers),
  11881. (this.supports3d = !0),
  11882. (this.completeLayers = !1),
  11883. (this.pendingElements = []),
  11884. (this.elements = this.layers
  11885. ? createSizedArray(this.layers.length)
  11886. : []),
  11887. this.initElement(t, e, r),
  11888. (this.tm = t.tm
  11889. ? PropertyFactory.getProp(
  11890. this,
  11891. t.tm,
  11892. 0,
  11893. e.frameRate,
  11894. this
  11895. )
  11896. : { _placeholder: !0 });
  11897. }
  11898. function SVGRenderer(t, e) {
  11899. (this.animationItem = t),
  11900. (this.layers = null),
  11901. (this.renderedFrame = -1),
  11902. (this.svgElement = createNS('svg'));
  11903. var r = '';
  11904. if (e && e.title) {
  11905. var a = createNS('title'),
  11906. i = createElementID();
  11907. a.setAttribute('id', i),
  11908. (a.textContent = e.title),
  11909. this.svgElement.appendChild(a),
  11910. (r += i);
  11911. }
  11912. if (e && e.description) {
  11913. var s = createNS('desc'),
  11914. n = createElementID();
  11915. s.setAttribute('id', n),
  11916. (s.textContent = e.description),
  11917. this.svgElement.appendChild(s),
  11918. (r += ' ' + n);
  11919. }
  11920. r && this.svgElement.setAttribute('aria-labelledby', r);
  11921. var o = createNS('defs');
  11922. this.svgElement.appendChild(o);
  11923. var l = createNS('g');
  11924. this.svgElement.appendChild(l),
  11925. (this.layerElement = l),
  11926. (this.renderConfig = {
  11927. preserveAspectRatio:
  11928. (e && e.preserveAspectRatio) || 'xMidYMid meet',
  11929. imagePreserveAspectRatio:
  11930. (e && e.imagePreserveAspectRatio) || 'xMidYMid slice',
  11931. contentVisibility:
  11932. (e && e.contentVisibility) || 'visible',
  11933. progressiveLoad: (e && e.progressiveLoad) || !1,
  11934. hideOnTransparent: !(e && !1 === e.hideOnTransparent),
  11935. viewBoxOnly: (e && e.viewBoxOnly) || !1,
  11936. viewBoxSize: (e && e.viewBoxSize) || !1,
  11937. className: (e && e.className) || '',
  11938. id: (e && e.id) || '',
  11939. focusable: e && e.focusable,
  11940. filterSize: {
  11941. width:
  11942. (e && e.filterSize && e.filterSize.width) || '100%',
  11943. height:
  11944. (e && e.filterSize && e.filterSize.height) || '100%',
  11945. x: (e && e.filterSize && e.filterSize.x) || '0%',
  11946. y: (e && e.filterSize && e.filterSize.y) || '0%'
  11947. },
  11948. width: e && e.width,
  11949. height: e && e.height,
  11950. runExpressions:
  11951. !e || void 0 === e.runExpressions || e.runExpressions
  11952. }),
  11953. (this.globalData = {
  11954. _mdf: !1,
  11955. frameNum: -1,
  11956. defs: o,
  11957. renderConfig: this.renderConfig
  11958. }),
  11959. (this.elements = []),
  11960. (this.pendingElements = []),
  11961. (this.destroyed = !1),
  11962. (this.rendererType = 'svg');
  11963. }
  11964. function ShapeTransformManager() {
  11965. (this.sequences = {}),
  11966. (this.sequenceList = []),
  11967. (this.transform_key_count = 0);
  11968. }
  11969. extendPrototype(
  11970. [
  11971. BaseElement,
  11972. TransformElement,
  11973. SVGBaseElement,
  11974. HierarchyElement,
  11975. FrameElement,
  11976. RenderableDOMElement,
  11977. ITextElement
  11978. ],
  11979. SVGTextLottieElement
  11980. ),
  11981. (SVGTextLottieElement.prototype.createContent = function () {
  11982. this.data.singleShape &&
  11983. !this.globalData.fontManager.chars &&
  11984. (this.textContainer = createNS('text'));
  11985. }),
  11986. (SVGTextLottieElement.prototype.buildTextContents = function (
  11987. t
  11988. ) {
  11989. for (var e = 0, r = t.length, a = [], i = ''; e < r; )
  11990. t[e] === String.fromCharCode(13) ||
  11991. t[e] === String.fromCharCode(3)
  11992. ? (a.push(i), (i = ''))
  11993. : (i += t[e]),
  11994. (e += 1);
  11995. return a.push(i), a;
  11996. }),
  11997. (SVGTextLottieElement.prototype.buildShapeData = function (
  11998. t,
  11999. e
  12000. ) {
  12001. if (t.shapes && t.shapes.length) {
  12002. var r = t.shapes[0];
  12003. if (r.it) {
  12004. var a = r.it[r.it.length - 1];
  12005. a.s && ((a.s.k[0] = e), (a.s.k[1] = e));
  12006. }
  12007. }
  12008. return t;
  12009. }),
  12010. (SVGTextLottieElement.prototype.buildNewText = function () {
  12011. var t, e;
  12012. this.addDynamicProperty(this);
  12013. var r = this.textProperty.currentData;
  12014. (this.renderedLetters = createSizedArray(
  12015. r ? r.l.length : 0
  12016. )),
  12017. r.fc
  12018. ? this.layerElement.setAttribute(
  12019. 'fill',
  12020. this.buildColor(r.fc)
  12021. )
  12022. : this.layerElement.setAttribute(
  12023. 'fill',
  12024. 'rgba(0,0,0,0)'
  12025. ),
  12026. r.sc &&
  12027. (this.layerElement.setAttribute(
  12028. 'stroke',
  12029. this.buildColor(r.sc)
  12030. ),
  12031. this.layerElement.setAttribute('stroke-width', r.sw)),
  12032. this.layerElement.setAttribute('font-size', r.finalSize);
  12033. var a = this.globalData.fontManager.getFontByName(r.f);
  12034. if (a.fClass)
  12035. this.layerElement.setAttribute('class', a.fClass);
  12036. else {
  12037. this.layerElement.setAttribute('font-family', a.fFamily);
  12038. var i = r.fWeight,
  12039. s = r.fStyle;
  12040. this.layerElement.setAttribute('font-style', s),
  12041. this.layerElement.setAttribute('font-weight', i);
  12042. }
  12043. this.layerElement.setAttribute('aria-label', r.t);
  12044. var n,
  12045. o = r.l || [],
  12046. l = !!this.globalData.fontManager.chars;
  12047. e = o.length;
  12048. var h = this.mHelper,
  12049. p = this.data.singleShape,
  12050. c = 0,
  12051. d = 0,
  12052. f = !0,
  12053. m = 0.001 * r.tr * r.finalSize;
  12054. if (!p || l || r.sz) {
  12055. var u,
  12056. g = this.textSpans.length;
  12057. for (t = 0; t < e; t += 1) {
  12058. if (
  12059. (this.textSpans[t] ||
  12060. (this.textSpans[t] = {
  12061. span: null,
  12062. childSpan: null,
  12063. glyph: null
  12064. }),
  12065. !l || !p || 0 === t)
  12066. ) {
  12067. if (
  12068. ((n =
  12069. g > t
  12070. ? this.textSpans[t].span
  12071. : createNS(l ? 'g' : 'text')),
  12072. g <= t)
  12073. ) {
  12074. if (
  12075. (n.setAttribute('stroke-linecap', 'butt'),
  12076. n.setAttribute('stroke-linejoin', 'round'),
  12077. n.setAttribute('stroke-miterlimit', '4'),
  12078. (this.textSpans[t].span = n),
  12079. l)
  12080. ) {
  12081. var y = createNS('g');
  12082. n.appendChild(y),
  12083. (this.textSpans[t].childSpan = y);
  12084. }
  12085. (this.textSpans[t].span = n),
  12086. this.layerElement.appendChild(n);
  12087. }
  12088. n.style.display = 'inherit';
  12089. }
  12090. if (
  12091. (h.reset(),
  12092. p &&
  12093. (o[t].n &&
  12094. ((c = -m),
  12095. (d += r.yOffset),
  12096. (d += f ? 1 : 0),
  12097. (f = !1)),
  12098. this.applyTextPropertiesToMatrix(
  12099. r,
  12100. h,
  12101. o[t].line,
  12102. c,
  12103. d
  12104. ),
  12105. (c += o[t].l || 0),
  12106. (c += m)),
  12107. l)
  12108. ) {
  12109. var v;
  12110. if (
  12111. 1 ===
  12112. (u = this.globalData.fontManager.getCharData(
  12113. r.finalText[t],
  12114. a.fStyle,
  12115. this.globalData.fontManager.getFontByName(r.f)
  12116. .fFamily
  12117. )).t
  12118. )
  12119. v = new SVGCompElement(
  12120. u.data,
  12121. this.globalData,
  12122. this
  12123. );
  12124. else {
  12125. var b = emptyShapeData;
  12126. u.data &&
  12127. u.data.shapes &&
  12128. (b = this.buildShapeData(u.data, r.finalSize)),
  12129. (v = new SVGShapeElement(
  12130. b,
  12131. this.globalData,
  12132. this
  12133. ));
  12134. }
  12135. if (this.textSpans[t].glyph) {
  12136. var _ = this.textSpans[t].glyph;
  12137. this.textSpans[t].childSpan.removeChild(
  12138. _.layerElement
  12139. ),
  12140. _.destroy();
  12141. }
  12142. (this.textSpans[t].glyph = v),
  12143. (v._debug = !0),
  12144. v.prepareFrame(0),
  12145. v.renderFrame(),
  12146. this.textSpans[t].childSpan.appendChild(
  12147. v.layerElement
  12148. ),
  12149. 1 === u.t &&
  12150. this.textSpans[t].childSpan.setAttribute(
  12151. 'transform',
  12152. 'scale(' +
  12153. r.finalSize / 100 +
  12154. ',' +
  12155. r.finalSize / 100 +
  12156. ')'
  12157. );
  12158. } else
  12159. p &&
  12160. n.setAttribute(
  12161. 'transform',
  12162. 'translate(' +
  12163. h.props[12] +
  12164. ',' +
  12165. h.props[13] +
  12166. ')'
  12167. ),
  12168. (n.textContent = o[t].val),
  12169. n.setAttributeNS(
  12170. 'http://www.w3.org/XML/1998/namespace',
  12171. 'xml:space',
  12172. 'preserve'
  12173. );
  12174. }
  12175. p && n && n.setAttribute('d', '');
  12176. } else {
  12177. var w = this.textContainer,
  12178. A = 'start';
  12179. switch (r.j) {
  12180. case 1:
  12181. A = 'end';
  12182. break;
  12183. case 2:
  12184. A = 'middle';
  12185. break;
  12186. default:
  12187. A = 'start';
  12188. }
  12189. w.setAttribute('text-anchor', A),
  12190. w.setAttribute('letter-spacing', m);
  12191. var x = this.buildTextContents(r.finalText);
  12192. for (
  12193. e = x.length, d = r.ps ? r.ps[1] + r.ascent : 0, t = 0;
  12194. t < e;
  12195. t += 1
  12196. )
  12197. ((n =
  12198. this.textSpans[t].span ||
  12199. createNS('tspan')).textContent = x[t]),
  12200. n.setAttribute('x', 0),
  12201. n.setAttribute('y', d),
  12202. (n.style.display = 'inherit'),
  12203. w.appendChild(n),
  12204. this.textSpans[t] ||
  12205. (this.textSpans[t] = { span: null, glyph: null }),
  12206. (this.textSpans[t].span = n),
  12207. (d += r.finalLineHeight);
  12208. this.layerElement.appendChild(w);
  12209. }
  12210. for (; t < this.textSpans.length; )
  12211. (this.textSpans[t].span.style.display = 'none'), (t += 1);
  12212. this._sizeChanged = !0;
  12213. }),
  12214. (SVGTextLottieElement.prototype.sourceRectAtTime =
  12215. function () {
  12216. if (
  12217. (this.prepareFrame(
  12218. this.comp.renderedFrame - this.data.st
  12219. ),
  12220. this.renderInnerContent(),
  12221. this._sizeChanged)
  12222. ) {
  12223. this._sizeChanged = !1;
  12224. var t = this.layerElement.getBBox();
  12225. this.bbox = {
  12226. top: t.y,
  12227. left: t.x,
  12228. width: t.width,
  12229. height: t.height
  12230. };
  12231. }
  12232. return this.bbox;
  12233. }),
  12234. (SVGTextLottieElement.prototype.getValue = function () {
  12235. var t,
  12236. e,
  12237. r = this.textSpans.length;
  12238. for (
  12239. this.renderedFrame = this.comp.renderedFrame, t = 0;
  12240. t < r;
  12241. t += 1
  12242. )
  12243. (e = this.textSpans[t].glyph) &&
  12244. (e.prepareFrame(this.comp.renderedFrame - this.data.st),
  12245. e._mdf && (this._mdf = !0));
  12246. }),
  12247. (SVGTextLottieElement.prototype.renderInnerContent =
  12248. function () {
  12249. if (
  12250. (this.validateText(),
  12251. (!this.data.singleShape || this._mdf) &&
  12252. (this.textAnimator.getMeasures(
  12253. this.textProperty.currentData,
  12254. this.lettersChangedFlag
  12255. ),
  12256. this.lettersChangedFlag ||
  12257. this.textAnimator.lettersChangedFlag))
  12258. ) {
  12259. var t, e;
  12260. this._sizeChanged = !0;
  12261. var r,
  12262. a,
  12263. i,
  12264. s = this.textAnimator.renderedLetters,
  12265. n = this.textProperty.currentData.l;
  12266. for (e = n.length, t = 0; t < e; t += 1)
  12267. n[t].n ||
  12268. ((r = s[t]),
  12269. (a = this.textSpans[t].span),
  12270. (i = this.textSpans[t].glyph) && i.renderFrame(),
  12271. r._mdf.m && a.setAttribute('transform', r.m),
  12272. r._mdf.o && a.setAttribute('opacity', r.o),
  12273. r._mdf.sw && a.setAttribute('stroke-width', r.sw),
  12274. r._mdf.sc && a.setAttribute('stroke', r.sc),
  12275. r._mdf.fc && a.setAttribute('fill', r.fc));
  12276. }
  12277. }),
  12278. extendPrototype([IImageElement], ISolidElement),
  12279. (ISolidElement.prototype.createContent = function () {
  12280. var t = createNS('rect');
  12281. t.setAttribute('width', this.data.sw),
  12282. t.setAttribute('height', this.data.sh),
  12283. t.setAttribute('fill', this.data.sc),
  12284. this.layerElement.appendChild(t);
  12285. }),
  12286. (NullElement.prototype.prepareFrame = function (t) {
  12287. this.prepareProperties(t, !0);
  12288. }),
  12289. (NullElement.prototype.renderFrame = function () {}),
  12290. (NullElement.prototype.getBaseElement = function () {
  12291. return null;
  12292. }),
  12293. (NullElement.prototype.destroy = function () {}),
  12294. (NullElement.prototype.sourceRectAtTime = function () {}),
  12295. (NullElement.prototype.hide = function () {}),
  12296. extendPrototype(
  12297. [
  12298. BaseElement,
  12299. TransformElement,
  12300. HierarchyElement,
  12301. FrameElement
  12302. ],
  12303. NullElement
  12304. ),
  12305. extendPrototype([BaseRenderer], SVGRendererBase),
  12306. (SVGRendererBase.prototype.createNull = function (t) {
  12307. return new NullElement(t, this.globalData, this);
  12308. }),
  12309. (SVGRendererBase.prototype.createShape = function (t) {
  12310. return new SVGShapeElement(t, this.globalData, this);
  12311. }),
  12312. (SVGRendererBase.prototype.createText = function (t) {
  12313. return new SVGTextLottieElement(t, this.globalData, this);
  12314. }),
  12315. (SVGRendererBase.prototype.createImage = function (t) {
  12316. return new IImageElement(t, this.globalData, this);
  12317. }),
  12318. (SVGRendererBase.prototype.createSolid = function (t) {
  12319. return new ISolidElement(t, this.globalData, this);
  12320. }),
  12321. (SVGRendererBase.prototype.configAnimation = function (t) {
  12322. this.svgElement.setAttribute(
  12323. 'xmlns',
  12324. 'http://www.w3.org/2000/svg'
  12325. ),
  12326. this.svgElement.setAttribute(
  12327. 'xmlns:xlink',
  12328. 'http://www.w3.org/1999/xlink'
  12329. ),
  12330. this.renderConfig.viewBoxSize
  12331. ? this.svgElement.setAttribute(
  12332. 'viewBox',
  12333. this.renderConfig.viewBoxSize
  12334. )
  12335. : this.svgElement.setAttribute(
  12336. 'viewBox',
  12337. '0 0 ' + t.w + ' ' + t.h
  12338. ),
  12339. this.renderConfig.viewBoxOnly ||
  12340. (this.svgElement.setAttribute('width', t.w),
  12341. this.svgElement.setAttribute('height', t.h),
  12342. (this.svgElement.style.width = '100%'),
  12343. (this.svgElement.style.height = '100%'),
  12344. (this.svgElement.style.transform =
  12345. 'translate3d(0,0,0)'),
  12346. (this.svgElement.style.contentVisibility =
  12347. this.renderConfig.contentVisibility)),
  12348. this.renderConfig.width &&
  12349. this.svgElement.setAttribute(
  12350. 'width',
  12351. this.renderConfig.width
  12352. ),
  12353. this.renderConfig.height &&
  12354. this.svgElement.setAttribute(
  12355. 'height',
  12356. this.renderConfig.height
  12357. ),
  12358. this.renderConfig.className &&
  12359. this.svgElement.setAttribute(
  12360. 'class',
  12361. this.renderConfig.className
  12362. ),
  12363. this.renderConfig.id &&
  12364. this.svgElement.setAttribute(
  12365. 'id',
  12366. this.renderConfig.id
  12367. ),
  12368. void 0 !== this.renderConfig.focusable &&
  12369. this.svgElement.setAttribute(
  12370. 'focusable',
  12371. this.renderConfig.focusable
  12372. ),
  12373. this.svgElement.setAttribute(
  12374. 'preserveAspectRatio',
  12375. this.renderConfig.preserveAspectRatio
  12376. ),
  12377. this.animationItem.wrapper.appendChild(this.svgElement);
  12378. var e = this.globalData.defs;
  12379. this.setupGlobalData(t, e),
  12380. (this.globalData.progressiveLoad =
  12381. this.renderConfig.progressiveLoad),
  12382. (this.data = t);
  12383. var r = createNS('clipPath'),
  12384. a = createNS('rect');
  12385. a.setAttribute('width', t.w),
  12386. a.setAttribute('height', t.h),
  12387. a.setAttribute('x', 0),
  12388. a.setAttribute('y', 0);
  12389. var i = createElementID();
  12390. r.setAttribute('id', i),
  12391. r.appendChild(a),
  12392. this.layerElement.setAttribute(
  12393. 'clip-path',
  12394. 'url(' + getLocationHref() + '#' + i + ')'
  12395. ),
  12396. e.appendChild(r),
  12397. (this.layers = t.layers),
  12398. (this.elements = createSizedArray(t.layers.length));
  12399. }),
  12400. (SVGRendererBase.prototype.destroy = function () {
  12401. var t;
  12402. this.animationItem.wrapper &&
  12403. (this.animationItem.wrapper.innerText = ''),
  12404. (this.layerElement = null),
  12405. (this.globalData.defs = null);
  12406. var e = this.layers ? this.layers.length : 0;
  12407. for (t = 0; t < e; t += 1)
  12408. this.elements[t] &&
  12409. this.elements[t].destroy &&
  12410. this.elements[t].destroy();
  12411. (this.elements.length = 0),
  12412. (this.destroyed = !0),
  12413. (this.animationItem = null);
  12414. }),
  12415. (SVGRendererBase.prototype.updateContainerSize =
  12416. function () {}),
  12417. (SVGRendererBase.prototype.findIndexByInd = function (t) {
  12418. var e = 0,
  12419. r = this.layers.length;
  12420. for (e = 0; e < r; e += 1)
  12421. if (this.layers[e].ind === t) return e;
  12422. return -1;
  12423. }),
  12424. (SVGRendererBase.prototype.buildItem = function (t) {
  12425. var e = this.elements;
  12426. if (!e[t] && 99 !== this.layers[t].ty) {
  12427. e[t] = !0;
  12428. var r = this.createItem(this.layers[t]);
  12429. if (
  12430. ((e[t] = r),
  12431. getExpressionsPlugin() &&
  12432. (0 === this.layers[t].ty &&
  12433. this.globalData.projectInterface.registerComposition(
  12434. r
  12435. ),
  12436. r.initExpressions()),
  12437. this.appendElementInPos(r, t),
  12438. this.layers[t].tt)
  12439. ) {
  12440. var a =
  12441. 'tp' in this.layers[t]
  12442. ? this.findIndexByInd(this.layers[t].tp)
  12443. : t - 1;
  12444. if (-1 === a) return;
  12445. if (this.elements[a] && !0 !== this.elements[a]) {
  12446. var i = e[a].getMatte(this.layers[t].tt);
  12447. r.setMatte(i);
  12448. } else this.buildItem(a), this.addPendingElement(r);
  12449. }
  12450. }
  12451. }),
  12452. (SVGRendererBase.prototype.checkPendingElements =
  12453. function () {
  12454. for (; this.pendingElements.length; ) {
  12455. var t = this.pendingElements.pop();
  12456. if ((t.checkParenting(), t.data.tt))
  12457. for (var e = 0, r = this.elements.length; e < r; ) {
  12458. if (this.elements[e] === t) {
  12459. var a =
  12460. 'tp' in t.data
  12461. ? this.findIndexByInd(t.data.tp)
  12462. : e - 1,
  12463. i = this.elements[a].getMatte(
  12464. this.layers[e].tt
  12465. );
  12466. t.setMatte(i);
  12467. break;
  12468. }
  12469. e += 1;
  12470. }
  12471. }
  12472. }),
  12473. (SVGRendererBase.prototype.renderFrame = function (t) {
  12474. if (this.renderedFrame !== t && !this.destroyed) {
  12475. var e;
  12476. null === t
  12477. ? (t = this.renderedFrame)
  12478. : (this.renderedFrame = t),
  12479. (this.globalData.frameNum = t),
  12480. (this.globalData.frameId += 1),
  12481. (this.globalData.projectInterface.currentFrame = t),
  12482. (this.globalData._mdf = !1);
  12483. var r = this.layers.length;
  12484. for (
  12485. this.completeLayers || this.checkLayers(t), e = r - 1;
  12486. e >= 0;
  12487. e -= 1
  12488. )
  12489. (this.completeLayers || this.elements[e]) &&
  12490. this.elements[e].prepareFrame(t - this.layers[e].st);
  12491. if (this.globalData._mdf)
  12492. for (e = 0; e < r; e += 1)
  12493. (this.completeLayers || this.elements[e]) &&
  12494. this.elements[e].renderFrame();
  12495. }
  12496. }),
  12497. (SVGRendererBase.prototype.appendElementInPos = function (
  12498. t,
  12499. e
  12500. ) {
  12501. var r = t.getBaseElement();
  12502. if (r) {
  12503. for (var a, i = 0; i < e; )
  12504. this.elements[i] &&
  12505. !0 !== this.elements[i] &&
  12506. this.elements[i].getBaseElement() &&
  12507. (a = this.elements[i].getBaseElement()),
  12508. (i += 1);
  12509. a
  12510. ? this.layerElement.insertBefore(r, a)
  12511. : this.layerElement.appendChild(r);
  12512. }
  12513. }),
  12514. (SVGRendererBase.prototype.hide = function () {
  12515. this.layerElement.style.display = 'none';
  12516. }),
  12517. (SVGRendererBase.prototype.show = function () {
  12518. this.layerElement.style.display = 'block';
  12519. }),
  12520. extendPrototype(
  12521. [
  12522. BaseElement,
  12523. TransformElement,
  12524. HierarchyElement,
  12525. FrameElement,
  12526. RenderableDOMElement
  12527. ],
  12528. ICompElement
  12529. ),
  12530. (ICompElement.prototype.initElement = function (t, e, r) {
  12531. this.initFrame(),
  12532. this.initBaseData(t, e, r),
  12533. this.initTransform(t, e, r),
  12534. this.initRenderable(),
  12535. this.initHierarchy(),
  12536. this.initRendererElement(),
  12537. this.createContainerElements(),
  12538. this.createRenderableComponents(),
  12539. (!this.data.xt && e.progressiveLoad) ||
  12540. this.buildAllItems(),
  12541. this.hide();
  12542. }),
  12543. (ICompElement.prototype.prepareFrame = function (t) {
  12544. if (
  12545. ((this._mdf = !1),
  12546. this.prepareRenderableFrame(t),
  12547. this.prepareProperties(t, this.isInRange),
  12548. this.isInRange || this.data.xt)
  12549. ) {
  12550. if (this.tm._placeholder)
  12551. this.renderedFrame = t / this.data.sr;
  12552. else {
  12553. var e = this.tm.v;
  12554. e === this.data.op && (e = this.data.op - 1),
  12555. (this.renderedFrame = e);
  12556. }
  12557. var r,
  12558. a = this.elements.length;
  12559. for (
  12560. this.completeLayers ||
  12561. this.checkLayers(this.renderedFrame),
  12562. r = a - 1;
  12563. r >= 0;
  12564. r -= 1
  12565. )
  12566. (this.completeLayers || this.elements[r]) &&
  12567. (this.elements[r].prepareFrame(
  12568. this.renderedFrame - this.layers[r].st
  12569. ),
  12570. this.elements[r]._mdf && (this._mdf = !0));
  12571. }
  12572. }),
  12573. (ICompElement.prototype.renderInnerContent = function () {
  12574. var t,
  12575. e = this.layers.length;
  12576. for (t = 0; t < e; t += 1)
  12577. (this.completeLayers || this.elements[t]) &&
  12578. this.elements[t].renderFrame();
  12579. }),
  12580. (ICompElement.prototype.setElements = function (t) {
  12581. this.elements = t;
  12582. }),
  12583. (ICompElement.prototype.getElements = function () {
  12584. return this.elements;
  12585. }),
  12586. (ICompElement.prototype.destroyElements = function () {
  12587. var t,
  12588. e = this.layers.length;
  12589. for (t = 0; t < e; t += 1)
  12590. this.elements[t] && this.elements[t].destroy();
  12591. }),
  12592. (ICompElement.prototype.destroy = function () {
  12593. this.destroyElements(), this.destroyBaseElement();
  12594. }),
  12595. extendPrototype(
  12596. [SVGRendererBase, ICompElement, SVGBaseElement],
  12597. SVGCompElement
  12598. ),
  12599. (SVGCompElement.prototype.createComp = function (t) {
  12600. return new SVGCompElement(t, this.globalData, this);
  12601. }),
  12602. extendPrototype([SVGRendererBase], SVGRenderer),
  12603. (SVGRenderer.prototype.createComp = function (t) {
  12604. return new SVGCompElement(t, this.globalData, this);
  12605. }),
  12606. (ShapeTransformManager.prototype = {
  12607. addTransformSequence: function (t) {
  12608. var e,
  12609. r = t.length,
  12610. a = '_';
  12611. for (e = 0; e < r; e += 1) a += t[e].transform.key + '_';
  12612. var i = this.sequences[a];
  12613. return (
  12614. i ||
  12615. ((i = {
  12616. transforms: [].concat(t),
  12617. finalTransform: new Matrix(),
  12618. _mdf: !1
  12619. }),
  12620. (this.sequences[a] = i),
  12621. this.sequenceList.push(i)),
  12622. i
  12623. );
  12624. },
  12625. processSequence: function (t, e) {
  12626. for (
  12627. var r = 0, a = t.transforms.length, i = e;
  12628. r < a && !e;
  12629. ) {
  12630. if (t.transforms[r].transform.mProps._mdf) {
  12631. i = !0;
  12632. break;
  12633. }
  12634. r += 1;
  12635. }
  12636. if (i)
  12637. for (
  12638. t.finalTransform.reset(), r = a - 1;
  12639. r >= 0;
  12640. r -= 1
  12641. )
  12642. t.finalTransform.multiply(
  12643. t.transforms[r].transform.mProps.v
  12644. );
  12645. t._mdf = i;
  12646. },
  12647. processSequences: function (t) {
  12648. var e,
  12649. r = this.sequenceList.length;
  12650. for (e = 0; e < r; e += 1)
  12651. this.processSequence(this.sequenceList[e], t);
  12652. },
  12653. getNewKey: function () {
  12654. return (
  12655. (this.transform_key_count += 1),
  12656. '_' + this.transform_key_count
  12657. );
  12658. }
  12659. });
  12660. var lumaLoader = function () {
  12661. var t = '__lottie_element_luma_buffer',
  12662. e = null,
  12663. r = null,
  12664. a = null;
  12665. function i() {
  12666. var i, s, n;
  12667. e ||
  12668. ((i = createNS('svg')),
  12669. (s = createNS('filter')),
  12670. (n = createNS('feColorMatrix')),
  12671. s.setAttribute('id', t),
  12672. n.setAttribute('type', 'matrix'),
  12673. n.setAttribute('color-interpolation-filters', 'sRGB'),
  12674. n.setAttribute(
  12675. 'values',
  12676. '0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0'
  12677. ),
  12678. s.appendChild(n),
  12679. i.appendChild(s),
  12680. i.setAttribute('id', t + '_svg'),
  12681. featureSupport.svgLumaHidden &&
  12682. (i.style.display = 'none'),
  12683. (a = i),
  12684. document.body.appendChild(a),
  12685. (e = createTag('canvas')),
  12686. ((r = e.getContext('2d')).filter = 'url(#' + t + ')'),
  12687. (r.fillStyle = 'rgba(0,0,0,0)'),
  12688. r.fillRect(0, 0, 1, 1));
  12689. }
  12690. return {
  12691. load: i,
  12692. get: function (a) {
  12693. return (
  12694. e || i(),
  12695. (e.width = a.width),
  12696. (e.height = a.height),
  12697. (r.filter = 'url(#' + t + ')'),
  12698. e
  12699. );
  12700. }
  12701. };
  12702. };
  12703. function createCanvas(t, e) {
  12704. if (featureSupport.offscreenCanvas)
  12705. return new OffscreenCanvas(t, e);
  12706. var r = createTag('canvas');
  12707. return (r.width = t), (r.height = e), r;
  12708. }
  12709. var assetLoader = {
  12710. loadLumaCanvas: lumaLoader.load,
  12711. getLumaCanvas: lumaLoader.get,
  12712. createCanvas: createCanvas
  12713. },
  12714. registeredEffects = {};
  12715. function CVEffects(t) {
  12716. var e,
  12717. r,
  12718. a = t.data.ef ? t.data.ef.length : 0;
  12719. for (this.filters = [], e = 0; e < a; e += 1) {
  12720. r = null;
  12721. var i = t.data.ef[e].ty;
  12722. registeredEffects[i] &&
  12723. (r = new (0, registeredEffects[i].effect)(
  12724. t.effectsManager.effectElements[e],
  12725. t
  12726. )),
  12727. r && this.filters.push(r);
  12728. }
  12729. this.filters.length && t.addRenderableComponent(this);
  12730. }
  12731. function registerEffect(t, e) {
  12732. registeredEffects[t] = { effect: e };
  12733. }
  12734. function CVMaskElement(t, e) {
  12735. var r;
  12736. (this.data = t),
  12737. (this.element = e),
  12738. (this.masksProperties = this.data.masksProperties || []),
  12739. (this.viewData = createSizedArray(
  12740. this.masksProperties.length
  12741. ));
  12742. var a = this.masksProperties.length,
  12743. i = !1;
  12744. for (r = 0; r < a; r += 1)
  12745. 'n' !== this.masksProperties[r].mode && (i = !0),
  12746. (this.viewData[r] = ShapePropertyFactory.getShapeProp(
  12747. this.element,
  12748. this.masksProperties[r],
  12749. 3
  12750. ));
  12751. (this.hasMasks = i),
  12752. i && this.element.addRenderableComponent(this);
  12753. }
  12754. function CVBaseElement() {}
  12755. (CVEffects.prototype.renderFrame = function (t) {
  12756. var e,
  12757. r = this.filters.length;
  12758. for (e = 0; e < r; e += 1) this.filters[e].renderFrame(t);
  12759. }),
  12760. (CVEffects.prototype.getEffects = function (t) {
  12761. var e,
  12762. r = this.filters.length,
  12763. a = [];
  12764. for (e = 0; e < r; e += 1)
  12765. this.filters[e].type === t && a.push(this.filters[e]);
  12766. return a;
  12767. }),
  12768. (CVMaskElement.prototype.renderFrame = function () {
  12769. if (this.hasMasks) {
  12770. var t,
  12771. e,
  12772. r,
  12773. a,
  12774. i = this.element.finalTransform.mat,
  12775. s = this.element.canvasContext,
  12776. n = this.masksProperties.length;
  12777. for (s.beginPath(), t = 0; t < n; t += 1)
  12778. if ('n' !== this.masksProperties[t].mode) {
  12779. var o;
  12780. this.masksProperties[t].inv &&
  12781. (s.moveTo(0, 0),
  12782. s.lineTo(this.element.globalData.compSize.w, 0),
  12783. s.lineTo(
  12784. this.element.globalData.compSize.w,
  12785. this.element.globalData.compSize.h
  12786. ),
  12787. s.lineTo(0, this.element.globalData.compSize.h),
  12788. s.lineTo(0, 0)),
  12789. (a = this.viewData[t].v),
  12790. (e = i.applyToPointArray(a.v[0][0], a.v[0][1], 0)),
  12791. s.moveTo(e[0], e[1]);
  12792. var l = a._length;
  12793. for (o = 1; o < l; o += 1)
  12794. (r = i.applyToTriplePoints(
  12795. a.o[o - 1],
  12796. a.i[o],
  12797. a.v[o]
  12798. )),
  12799. s.bezierCurveTo(
  12800. r[0],
  12801. r[1],
  12802. r[2],
  12803. r[3],
  12804. r[4],
  12805. r[5]
  12806. );
  12807. (r = i.applyToTriplePoints(
  12808. a.o[o - 1],
  12809. a.i[0],
  12810. a.v[0]
  12811. )),
  12812. s.bezierCurveTo(r[0], r[1], r[2], r[3], r[4], r[5]);
  12813. }
  12814. this.element.globalData.renderer.save(!0), s.clip();
  12815. }
  12816. }),
  12817. (CVMaskElement.prototype.getMaskProperty =
  12818. MaskElement.prototype.getMaskProperty),
  12819. (CVMaskElement.prototype.destroy = function () {
  12820. this.element = null;
  12821. });
  12822. var operationsMap = {
  12823. 1: 'source-in',
  12824. 2: 'source-out',
  12825. 3: 'source-in',
  12826. 4: 'source-out'
  12827. };
  12828. function CVShapeData(t, e, r, a) {
  12829. (this.styledShapes = []), (this.tr = [0, 0, 0, 0, 0, 0]);
  12830. var i,
  12831. s = 4;
  12832. 'rc' === e.ty
  12833. ? (s = 5)
  12834. : 'el' === e.ty
  12835. ? (s = 6)
  12836. : 'sr' === e.ty && (s = 7),
  12837. (this.sh = ShapePropertyFactory.getShapeProp(t, e, s, t));
  12838. var n,
  12839. o = r.length;
  12840. for (i = 0; i < o; i += 1)
  12841. r[i].closed ||
  12842. ((n = {
  12843. transforms: a.addTransformSequence(r[i].transforms),
  12844. trNodes: []
  12845. }),
  12846. this.styledShapes.push(n),
  12847. r[i].elements.push(n));
  12848. }
  12849. function CVShapeElement(t, e, r) {
  12850. (this.shapes = []),
  12851. (this.shapesData = t.shapes),
  12852. (this.stylesList = []),
  12853. (this.itemsData = []),
  12854. (this.prevViewData = []),
  12855. (this.shapeModifiers = []),
  12856. (this.processedElements = []),
  12857. (this.transformsManager = new ShapeTransformManager()),
  12858. this.initElement(t, e, r);
  12859. }
  12860. function CVTextElement(t, e, r) {
  12861. (this.textSpans = []),
  12862. (this.yOffset = 0),
  12863. (this.fillColorAnim = !1),
  12864. (this.strokeColorAnim = !1),
  12865. (this.strokeWidthAnim = !1),
  12866. (this.stroke = !1),
  12867. (this.fill = !1),
  12868. (this.justifyOffset = 0),
  12869. (this.currentRender = null),
  12870. (this.renderType = 'canvas'),
  12871. (this.values = {
  12872. fill: 'rgba(0,0,0,0)',
  12873. stroke: 'rgba(0,0,0,0)',
  12874. sWidth: 0,
  12875. fValue: ''
  12876. }),
  12877. this.initElement(t, e, r);
  12878. }
  12879. function CVImageElement(t, e, r) {
  12880. (this.assetData = e.getAssetData(t.refId)),
  12881. (this.img = e.imageLoader.getAsset(this.assetData)),
  12882. this.initElement(t, e, r);
  12883. }
  12884. function CVSolidElement(t, e, r) {
  12885. this.initElement(t, e, r);
  12886. }
  12887. function CanvasRendererBase() {}
  12888. function CanvasContext() {
  12889. (this.opacity = -1),
  12890. (this.transform = createTypedArray('float32', 16)),
  12891. (this.fillStyle = ''),
  12892. (this.strokeStyle = ''),
  12893. (this.lineWidth = ''),
  12894. (this.lineCap = ''),
  12895. (this.lineJoin = ''),
  12896. (this.miterLimit = ''),
  12897. (this.id = Math.random());
  12898. }
  12899. function CVContextData() {
  12900. var t;
  12901. for (
  12902. this.stack = [],
  12903. this.cArrPos = 0,
  12904. this.cTr = new Matrix(),
  12905. t = 0;
  12906. t < 15;
  12907. t += 1
  12908. ) {
  12909. var e = new CanvasContext();
  12910. this.stack[t] = e;
  12911. }
  12912. (this._length = 15),
  12913. (this.nativeContext = null),
  12914. (this.transformMat = new Matrix()),
  12915. (this.currentOpacity = 1),
  12916. (this.currentFillStyle = ''),
  12917. (this.appliedFillStyle = ''),
  12918. (this.currentStrokeStyle = ''),
  12919. (this.appliedStrokeStyle = ''),
  12920. (this.currentLineWidth = ''),
  12921. (this.appliedLineWidth = ''),
  12922. (this.currentLineCap = ''),
  12923. (this.appliedLineCap = ''),
  12924. (this.currentLineJoin = ''),
  12925. (this.appliedLineJoin = ''),
  12926. (this.appliedMiterLimit = ''),
  12927. (this.currentMiterLimit = '');
  12928. }
  12929. function CVCompElement(t, e, r) {
  12930. (this.completeLayers = !1),
  12931. (this.layers = t.layers),
  12932. (this.pendingElements = []),
  12933. (this.elements = createSizedArray(this.layers.length)),
  12934. this.initElement(t, e, r),
  12935. (this.tm = t.tm
  12936. ? PropertyFactory.getProp(
  12937. this,
  12938. t.tm,
  12939. 0,
  12940. e.frameRate,
  12941. this
  12942. )
  12943. : { _placeholder: !0 });
  12944. }
  12945. function CanvasRenderer(t, e) {
  12946. (this.animationItem = t),
  12947. (this.renderConfig = {
  12948. clearCanvas:
  12949. !e || void 0 === e.clearCanvas || e.clearCanvas,
  12950. context: (e && e.context) || null,
  12951. progressiveLoad: (e && e.progressiveLoad) || !1,
  12952. preserveAspectRatio:
  12953. (e && e.preserveAspectRatio) || 'xMidYMid meet',
  12954. imagePreserveAspectRatio:
  12955. (e && e.imagePreserveAspectRatio) || 'xMidYMid slice',
  12956. contentVisibility:
  12957. (e && e.contentVisibility) || 'visible',
  12958. className: (e && e.className) || '',
  12959. id: (e && e.id) || '',
  12960. runExpressions:
  12961. !e || void 0 === e.runExpressions || e.runExpressions
  12962. }),
  12963. (this.renderConfig.dpr = (e && e.dpr) || 1),
  12964. this.animationItem.wrapper &&
  12965. (this.renderConfig.dpr =
  12966. (e && e.dpr) || window.devicePixelRatio || 1),
  12967. (this.renderedFrame = -1),
  12968. (this.globalData = {
  12969. frameNum: -1,
  12970. _mdf: !1,
  12971. renderConfig: this.renderConfig,
  12972. currentGlobalAlpha: -1
  12973. }),
  12974. (this.contextData = new CVContextData()),
  12975. (this.elements = []),
  12976. (this.pendingElements = []),
  12977. (this.transformMat = new Matrix()),
  12978. (this.completeLayers = !1),
  12979. (this.rendererType = 'canvas'),
  12980. this.renderConfig.clearCanvas &&
  12981. ((this.ctxTransform = this.contextData.transform.bind(
  12982. this.contextData
  12983. )),
  12984. (this.ctxOpacity = this.contextData.opacity.bind(
  12985. this.contextData
  12986. )),
  12987. (this.ctxFillStyle = this.contextData.fillStyle.bind(
  12988. this.contextData
  12989. )),
  12990. (this.ctxStrokeStyle = this.contextData.strokeStyle.bind(
  12991. this.contextData
  12992. )),
  12993. (this.ctxLineWidth = this.contextData.lineWidth.bind(
  12994. this.contextData
  12995. )),
  12996. (this.ctxLineCap = this.contextData.lineCap.bind(
  12997. this.contextData
  12998. )),
  12999. (this.ctxLineJoin = this.contextData.lineJoin.bind(
  13000. this.contextData
  13001. )),
  13002. (this.ctxMiterLimit = this.contextData.miterLimit.bind(
  13003. this.contextData
  13004. )),
  13005. (this.ctxFill = this.contextData.fill.bind(
  13006. this.contextData
  13007. )),
  13008. (this.ctxFillRect = this.contextData.fillRect.bind(
  13009. this.contextData
  13010. )),
  13011. (this.ctxStroke = this.contextData.stroke.bind(
  13012. this.contextData
  13013. )),
  13014. (this.save = this.contextData.save.bind(
  13015. this.contextData
  13016. )));
  13017. }
  13018. function HBaseElement() {}
  13019. function HSolidElement(t, e, r) {
  13020. this.initElement(t, e, r);
  13021. }
  13022. function HShapeElement(t, e, r) {
  13023. (this.shapes = []),
  13024. (this.shapesData = t.shapes),
  13025. (this.stylesList = []),
  13026. (this.shapeModifiers = []),
  13027. (this.itemsData = []),
  13028. (this.processedElements = []),
  13029. (this.animatedContents = []),
  13030. (this.shapesContainer = createNS('g')),
  13031. this.initElement(t, e, r),
  13032. (this.prevViewData = []),
  13033. (this.currentBBox = { x: 999999, y: -999999, h: 0, w: 0 });
  13034. }
  13035. function HTextElement(t, e, r) {
  13036. (this.textSpans = []),
  13037. (this.textPaths = []),
  13038. (this.currentBBox = { x: 999999, y: -999999, h: 0, w: 0 }),
  13039. (this.renderType = 'svg'),
  13040. (this.isMasked = !1),
  13041. this.initElement(t, e, r);
  13042. }
  13043. function HCameraElement(t, e, r) {
  13044. this.initFrame(),
  13045. this.initBaseData(t, e, r),
  13046. this.initHierarchy();
  13047. var a = PropertyFactory.getProp;
  13048. if (
  13049. ((this.pe = a(this, t.pe, 0, 0, this)),
  13050. t.ks.p.s
  13051. ? ((this.px = a(this, t.ks.p.x, 1, 0, this)),
  13052. (this.py = a(this, t.ks.p.y, 1, 0, this)),
  13053. (this.pz = a(this, t.ks.p.z, 1, 0, this)))
  13054. : (this.p = a(this, t.ks.p, 1, 0, this)),
  13055. t.ks.a && (this.a = a(this, t.ks.a, 1, 0, this)),
  13056. t.ks.or.k.length && t.ks.or.k[0].to)
  13057. ) {
  13058. var i,
  13059. s = t.ks.or.k.length;
  13060. for (i = 0; i < s; i += 1)
  13061. (t.ks.or.k[i].to = null), (t.ks.or.k[i].ti = null);
  13062. }
  13063. (this.or = a(this, t.ks.or, 1, degToRads, this)),
  13064. (this.or.sh = !0),
  13065. (this.rx = a(this, t.ks.rx, 0, degToRads, this)),
  13066. (this.ry = a(this, t.ks.ry, 0, degToRads, this)),
  13067. (this.rz = a(this, t.ks.rz, 0, degToRads, this)),
  13068. (this.mat = new Matrix()),
  13069. (this._prevMat = new Matrix()),
  13070. (this._isFirstFrame = !0),
  13071. (this.finalTransform = { mProp: this });
  13072. }
  13073. function HImageElement(t, e, r) {
  13074. (this.assetData = e.getAssetData(t.refId)),
  13075. this.initElement(t, e, r);
  13076. }
  13077. function HybridRendererBase(t, e) {
  13078. (this.animationItem = t),
  13079. (this.layers = null),
  13080. (this.renderedFrame = -1),
  13081. (this.renderConfig = {
  13082. className: (e && e.className) || '',
  13083. imagePreserveAspectRatio:
  13084. (e && e.imagePreserveAspectRatio) || 'xMidYMid slice',
  13085. hideOnTransparent: !(e && !1 === e.hideOnTransparent),
  13086. filterSize: {
  13087. width:
  13088. (e && e.filterSize && e.filterSize.width) || '400%',
  13089. height:
  13090. (e && e.filterSize && e.filterSize.height) || '400%',
  13091. x: (e && e.filterSize && e.filterSize.x) || '-100%',
  13092. y: (e && e.filterSize && e.filterSize.y) || '-100%'
  13093. }
  13094. }),
  13095. (this.globalData = {
  13096. _mdf: !1,
  13097. frameNum: -1,
  13098. renderConfig: this.renderConfig
  13099. }),
  13100. (this.pendingElements = []),
  13101. (this.elements = []),
  13102. (this.threeDElements = []),
  13103. (this.destroyed = !1),
  13104. (this.camera = null),
  13105. (this.supports3d = !0),
  13106. (this.rendererType = 'html');
  13107. }
  13108. function HCompElement(t, e, r) {
  13109. (this.layers = t.layers),
  13110. (this.supports3d = !t.hasMask),
  13111. (this.completeLayers = !1),
  13112. (this.pendingElements = []),
  13113. (this.elements = this.layers
  13114. ? createSizedArray(this.layers.length)
  13115. : []),
  13116. this.initElement(t, e, r),
  13117. (this.tm = t.tm
  13118. ? PropertyFactory.getProp(
  13119. this,
  13120. t.tm,
  13121. 0,
  13122. e.frameRate,
  13123. this
  13124. )
  13125. : { _placeholder: !0 });
  13126. }
  13127. function HybridRenderer(t, e) {
  13128. (this.animationItem = t),
  13129. (this.layers = null),
  13130. (this.renderedFrame = -1),
  13131. (this.renderConfig = {
  13132. className: (e && e.className) || '',
  13133. imagePreserveAspectRatio:
  13134. (e && e.imagePreserveAspectRatio) || 'xMidYMid slice',
  13135. hideOnTransparent: !(e && !1 === e.hideOnTransparent),
  13136. filterSize: {
  13137. width:
  13138. (e && e.filterSize && e.filterSize.width) || '400%',
  13139. height:
  13140. (e && e.filterSize && e.filterSize.height) || '400%',
  13141. x: (e && e.filterSize && e.filterSize.x) || '-100%',
  13142. y: (e && e.filterSize && e.filterSize.y) || '-100%'
  13143. },
  13144. runExpressions:
  13145. !e || void 0 === e.runExpressions || e.runExpressions
  13146. }),
  13147. (this.globalData = {
  13148. _mdf: !1,
  13149. frameNum: -1,
  13150. renderConfig: this.renderConfig
  13151. }),
  13152. (this.pendingElements = []),
  13153. (this.elements = []),
  13154. (this.threeDElements = []),
  13155. (this.destroyed = !1),
  13156. (this.camera = null),
  13157. (this.supports3d = !0),
  13158. (this.rendererType = 'html');
  13159. }
  13160. (CVBaseElement.prototype = {
  13161. createElements: function () {},
  13162. initRendererElement: function () {},
  13163. createContainerElements: function () {
  13164. if (this.data.tt >= 1) {
  13165. this.buffers = [];
  13166. var t = this.globalData.canvasContext,
  13167. e = assetLoader.createCanvas(
  13168. t.canvas.width,
  13169. t.canvas.height
  13170. );
  13171. this.buffers.push(e);
  13172. var r = assetLoader.createCanvas(
  13173. t.canvas.width,
  13174. t.canvas.height
  13175. );
  13176. this.buffers.push(r),
  13177. this.data.tt >= 3 &&
  13178. !document._isProxy &&
  13179. assetLoader.loadLumaCanvas();
  13180. }
  13181. (this.canvasContext = this.globalData.canvasContext),
  13182. (this.transformCanvas = this.globalData.transformCanvas),
  13183. (this.renderableEffectsManager = new CVEffects(this)),
  13184. this.searchEffectTransforms();
  13185. },
  13186. createContent: function () {},
  13187. setBlendMode: function () {
  13188. var t = this.globalData;
  13189. if (t.blendMode !== this.data.bm) {
  13190. t.blendMode = this.data.bm;
  13191. var e = getBlendMode(this.data.bm);
  13192. t.canvasContext.globalCompositeOperation = e;
  13193. }
  13194. },
  13195. createRenderableComponents: function () {
  13196. (this.maskManager = new CVMaskElement(this.data, this)),
  13197. (this.transformEffects =
  13198. this.renderableEffectsManager.getEffects(
  13199. effectTypes.TRANSFORM_EFFECT
  13200. ));
  13201. },
  13202. hideElement: function () {
  13203. this.hidden ||
  13204. (this.isInRange && !this.isTransparent) ||
  13205. (this.hidden = !0);
  13206. },
  13207. showElement: function () {
  13208. this.isInRange &&
  13209. !this.isTransparent &&
  13210. ((this.hidden = !1),
  13211. (this._isFirstFrame = !0),
  13212. (this.maskManager._isFirstFrame = !0));
  13213. },
  13214. clearCanvas: function (t) {
  13215. t.clearRect(
  13216. this.transformCanvas.tx,
  13217. this.transformCanvas.ty,
  13218. this.transformCanvas.w * this.transformCanvas.sx,
  13219. this.transformCanvas.h * this.transformCanvas.sy
  13220. );
  13221. },
  13222. prepareLayer: function () {
  13223. if (this.data.tt >= 1) {
  13224. var t = this.buffers[0].getContext('2d');
  13225. this.clearCanvas(t),
  13226. t.drawImage(this.canvasContext.canvas, 0, 0),
  13227. (this.currentTransform =
  13228. this.canvasContext.getTransform()),
  13229. this.canvasContext.setTransform(1, 0, 0, 1, 0, 0),
  13230. this.clearCanvas(this.canvasContext),
  13231. this.canvasContext.setTransform(this.currentTransform);
  13232. }
  13233. },
  13234. exitLayer: function () {
  13235. if (this.data.tt >= 1) {
  13236. var t = this.buffers[1],
  13237. e = t.getContext('2d');
  13238. if (
  13239. (this.clearCanvas(e),
  13240. e.drawImage(this.canvasContext.canvas, 0, 0),
  13241. this.canvasContext.setTransform(1, 0, 0, 1, 0, 0),
  13242. this.clearCanvas(this.canvasContext),
  13243. this.canvasContext.setTransform(this.currentTransform),
  13244. this.comp
  13245. .getElementById(
  13246. 'tp' in this.data ? this.data.tp : this.data.ind - 1
  13247. )
  13248. .renderFrame(!0),
  13249. this.canvasContext.setTransform(1, 0, 0, 1, 0, 0),
  13250. this.data.tt >= 3 && !document._isProxy)
  13251. ) {
  13252. var r = assetLoader.getLumaCanvas(
  13253. this.canvasContext.canvas
  13254. );
  13255. r
  13256. .getContext('2d')
  13257. .drawImage(this.canvasContext.canvas, 0, 0),
  13258. this.clearCanvas(this.canvasContext),
  13259. this.canvasContext.drawImage(r, 0, 0);
  13260. }
  13261. (this.canvasContext.globalCompositeOperation =
  13262. operationsMap[this.data.tt]),
  13263. this.canvasContext.drawImage(t, 0, 0),
  13264. (this.canvasContext.globalCompositeOperation =
  13265. 'destination-over'),
  13266. this.canvasContext.drawImage(this.buffers[0], 0, 0),
  13267. this.canvasContext.setTransform(this.currentTransform),
  13268. (this.canvasContext.globalCompositeOperation =
  13269. 'source-over');
  13270. }
  13271. },
  13272. renderFrame: function (t) {
  13273. if (
  13274. !this.hidden &&
  13275. !this.data.hd &&
  13276. (1 !== this.data.td || t)
  13277. ) {
  13278. this.renderTransform(),
  13279. this.renderRenderable(),
  13280. this.renderLocalTransform(),
  13281. this.setBlendMode();
  13282. var e = 0 === this.data.ty;
  13283. this.prepareLayer(),
  13284. this.globalData.renderer.save(e),
  13285. this.globalData.renderer.ctxTransform(
  13286. this.finalTransform.localMat.props
  13287. ),
  13288. this.globalData.renderer.ctxOpacity(
  13289. this.finalTransform.localOpacity
  13290. ),
  13291. this.renderInnerContent(),
  13292. this.globalData.renderer.restore(e),
  13293. this.exitLayer(),
  13294. this.maskManager.hasMasks &&
  13295. this.globalData.renderer.restore(!0),
  13296. this._isFirstFrame && (this._isFirstFrame = !1);
  13297. }
  13298. },
  13299. destroy: function () {
  13300. (this.canvasContext = null),
  13301. (this.data = null),
  13302. (this.globalData = null),
  13303. this.maskManager.destroy();
  13304. },
  13305. mHelper: new Matrix()
  13306. }),
  13307. (CVBaseElement.prototype.hide =
  13308. CVBaseElement.prototype.hideElement),
  13309. (CVBaseElement.prototype.show =
  13310. CVBaseElement.prototype.showElement),
  13311. (CVShapeData.prototype.setAsAnimated =
  13312. SVGShapeData.prototype.setAsAnimated),
  13313. extendPrototype(
  13314. [
  13315. BaseElement,
  13316. TransformElement,
  13317. CVBaseElement,
  13318. IShapeElement,
  13319. HierarchyElement,
  13320. FrameElement,
  13321. RenderableElement
  13322. ],
  13323. CVShapeElement
  13324. ),
  13325. (CVShapeElement.prototype.initElement =
  13326. RenderableDOMElement.prototype.initElement),
  13327. (CVShapeElement.prototype.transformHelper = {
  13328. opacity: 1,
  13329. _opMdf: !1
  13330. }),
  13331. (CVShapeElement.prototype.dashResetter = []),
  13332. (CVShapeElement.prototype.createContent = function () {
  13333. this.searchShapes(
  13334. this.shapesData,
  13335. this.itemsData,
  13336. this.prevViewData,
  13337. !0,
  13338. []
  13339. );
  13340. }),
  13341. (CVShapeElement.prototype.createStyleElement = function (
  13342. t,
  13343. e
  13344. ) {
  13345. var r = {
  13346. data: t,
  13347. type: t.ty,
  13348. preTransforms:
  13349. this.transformsManager.addTransformSequence(e),
  13350. transforms: [],
  13351. elements: [],
  13352. closed: !0 === t.hd
  13353. },
  13354. a = {};
  13355. if (
  13356. ('fl' === t.ty || 'st' === t.ty
  13357. ? ((a.c = PropertyFactory.getProp(
  13358. this,
  13359. t.c,
  13360. 1,
  13361. 255,
  13362. this
  13363. )),
  13364. a.c.k ||
  13365. (r.co =
  13366. 'rgb(' +
  13367. bmFloor(a.c.v[0]) +
  13368. ',' +
  13369. bmFloor(a.c.v[1]) +
  13370. ',' +
  13371. bmFloor(a.c.v[2]) +
  13372. ')'))
  13373. : ('gf' !== t.ty && 'gs' !== t.ty) ||
  13374. ((a.s = PropertyFactory.getProp(
  13375. this,
  13376. t.s,
  13377. 1,
  13378. null,
  13379. this
  13380. )),
  13381. (a.e = PropertyFactory.getProp(
  13382. this,
  13383. t.e,
  13384. 1,
  13385. null,
  13386. this
  13387. )),
  13388. (a.h = PropertyFactory.getProp(
  13389. this,
  13390. t.h || { k: 0 },
  13391. 0,
  13392. 0.01,
  13393. this
  13394. )),
  13395. (a.a = PropertyFactory.getProp(
  13396. this,
  13397. t.a || { k: 0 },
  13398. 0,
  13399. degToRads,
  13400. this
  13401. )),
  13402. (a.g = new GradientProperty(this, t.g, this))),
  13403. (a.o = PropertyFactory.getProp(this, t.o, 0, 0.01, this)),
  13404. 'st' === t.ty || 'gs' === t.ty)
  13405. ) {
  13406. if (
  13407. ((r.lc = lineCapEnum[t.lc || 2]),
  13408. (r.lj = lineJoinEnum[t.lj || 2]),
  13409. 1 == t.lj && (r.ml = t.ml),
  13410. (a.w = PropertyFactory.getProp(
  13411. this,
  13412. t.w,
  13413. 0,
  13414. null,
  13415. this
  13416. )),
  13417. a.w.k || (r.wi = a.w.v),
  13418. t.d)
  13419. ) {
  13420. var i = new DashProperty(this, t.d, 'canvas', this);
  13421. (a.d = i),
  13422. a.d.k ||
  13423. ((r.da = a.d.dashArray),
  13424. (r.do = a.d.dashoffset[0]));
  13425. }
  13426. } else r.r = 2 === t.r ? 'evenodd' : 'nonzero';
  13427. return this.stylesList.push(r), (a.style = r), a;
  13428. }),
  13429. (CVShapeElement.prototype.createGroupElement = function () {
  13430. return { it: [], prevViewData: [] };
  13431. }),
  13432. (CVShapeElement.prototype.createTransformElement = function (
  13433. t
  13434. ) {
  13435. return {
  13436. transform: {
  13437. opacity: 1,
  13438. _opMdf: !1,
  13439. key: this.transformsManager.getNewKey(),
  13440. op: PropertyFactory.getProp(this, t.o, 0, 0.01, this),
  13441. mProps: TransformPropertyFactory.getTransformProperty(
  13442. this,
  13443. t,
  13444. this
  13445. )
  13446. }
  13447. };
  13448. }),
  13449. (CVShapeElement.prototype.createShapeElement = function (t) {
  13450. var e = new CVShapeData(
  13451. this,
  13452. t,
  13453. this.stylesList,
  13454. this.transformsManager
  13455. );
  13456. return this.shapes.push(e), this.addShapeToModifiers(e), e;
  13457. }),
  13458. (CVShapeElement.prototype.reloadShapes = function () {
  13459. var t;
  13460. this._isFirstFrame = !0;
  13461. var e = this.itemsData.length;
  13462. for (t = 0; t < e; t += 1)
  13463. this.prevViewData[t] = this.itemsData[t];
  13464. for (
  13465. this.searchShapes(
  13466. this.shapesData,
  13467. this.itemsData,
  13468. this.prevViewData,
  13469. !0,
  13470. []
  13471. ),
  13472. e = this.dynamicProperties.length,
  13473. t = 0;
  13474. t < e;
  13475. t += 1
  13476. )
  13477. this.dynamicProperties[t].getValue();
  13478. this.renderModifiers(),
  13479. this.transformsManager.processSequences(
  13480. this._isFirstFrame
  13481. );
  13482. }),
  13483. (CVShapeElement.prototype.addTransformToStyleList = function (
  13484. t
  13485. ) {
  13486. var e,
  13487. r = this.stylesList.length;
  13488. for (e = 0; e < r; e += 1)
  13489. this.stylesList[e].closed ||
  13490. this.stylesList[e].transforms.push(t);
  13491. }),
  13492. (CVShapeElement.prototype.removeTransformFromStyleList =
  13493. function () {
  13494. var t,
  13495. e = this.stylesList.length;
  13496. for (t = 0; t < e; t += 1)
  13497. this.stylesList[t].closed ||
  13498. this.stylesList[t].transforms.pop();
  13499. }),
  13500. (CVShapeElement.prototype.closeStyles = function (t) {
  13501. var e,
  13502. r = t.length;
  13503. for (e = 0; e < r; e += 1) t[e].closed = !0;
  13504. }),
  13505. (CVShapeElement.prototype.searchShapes = function (
  13506. t,
  13507. e,
  13508. r,
  13509. a,
  13510. i
  13511. ) {
  13512. var s,
  13513. n,
  13514. o,
  13515. l,
  13516. h,
  13517. p,
  13518. c = t.length - 1,
  13519. d = [],
  13520. f = [],
  13521. m = [].concat(i);
  13522. for (s = c; s >= 0; s -= 1) {
  13523. if (
  13524. ((l = this.searchProcessedElement(t[s]))
  13525. ? (e[s] = r[l - 1])
  13526. : (t[s]._shouldRender = a),
  13527. 'fl' === t[s].ty ||
  13528. 'st' === t[s].ty ||
  13529. 'gf' === t[s].ty ||
  13530. 'gs' === t[s].ty)
  13531. )
  13532. l
  13533. ? (e[s].style.closed = !1)
  13534. : (e[s] = this.createStyleElement(t[s], m)),
  13535. d.push(e[s].style);
  13536. else if ('gr' === t[s].ty) {
  13537. if (l)
  13538. for (o = e[s].it.length, n = 0; n < o; n += 1)
  13539. e[s].prevViewData[n] = e[s].it[n];
  13540. else e[s] = this.createGroupElement(t[s]);
  13541. this.searchShapes(
  13542. t[s].it,
  13543. e[s].it,
  13544. e[s].prevViewData,
  13545. a,
  13546. m
  13547. );
  13548. } else
  13549. 'tr' === t[s].ty
  13550. ? (l ||
  13551. ((p = this.createTransformElement(t[s])),
  13552. (e[s] = p)),
  13553. m.push(e[s]),
  13554. this.addTransformToStyleList(e[s]))
  13555. : 'sh' === t[s].ty ||
  13556. 'rc' === t[s].ty ||
  13557. 'el' === t[s].ty ||
  13558. 'sr' === t[s].ty
  13559. ? l || (e[s] = this.createShapeElement(t[s]))
  13560. : 'tm' === t[s].ty ||
  13561. 'rd' === t[s].ty ||
  13562. 'pb' === t[s].ty ||
  13563. 'zz' === t[s].ty ||
  13564. 'op' === t[s].ty
  13565. ? (l
  13566. ? ((h = e[s]).closed = !1)
  13567. : ((h = ShapeModifiers.getModifier(t[s].ty)).init(
  13568. this,
  13569. t[s]
  13570. ),
  13571. (e[s] = h),
  13572. this.shapeModifiers.push(h)),
  13573. f.push(h))
  13574. : 'rp' === t[s].ty &&
  13575. (l
  13576. ? ((h = e[s]).closed = !0)
  13577. : ((h = ShapeModifiers.getModifier(t[s].ty)),
  13578. (e[s] = h),
  13579. h.init(this, t, s, e),
  13580. this.shapeModifiers.push(h),
  13581. (a = !1)),
  13582. f.push(h));
  13583. this.addProcessedElement(t[s], s + 1);
  13584. }
  13585. for (
  13586. this.removeTransformFromStyleList(),
  13587. this.closeStyles(d),
  13588. c = f.length,
  13589. s = 0;
  13590. s < c;
  13591. s += 1
  13592. )
  13593. f[s].closed = !0;
  13594. }),
  13595. (CVShapeElement.prototype.renderInnerContent = function () {
  13596. (this.transformHelper.opacity = 1),
  13597. (this.transformHelper._opMdf = !1),
  13598. this.renderModifiers(),
  13599. this.transformsManager.processSequences(
  13600. this._isFirstFrame
  13601. ),
  13602. this.renderShape(
  13603. this.transformHelper,
  13604. this.shapesData,
  13605. this.itemsData,
  13606. !0
  13607. );
  13608. }),
  13609. (CVShapeElement.prototype.renderShapeTransform = function (
  13610. t,
  13611. e
  13612. ) {
  13613. (t._opMdf || e.op._mdf || this._isFirstFrame) &&
  13614. ((e.opacity = t.opacity),
  13615. (e.opacity *= e.op.v),
  13616. (e._opMdf = !0));
  13617. }),
  13618. (CVShapeElement.prototype.drawLayer = function () {
  13619. var t,
  13620. e,
  13621. r,
  13622. a,
  13623. i,
  13624. s,
  13625. n,
  13626. o,
  13627. l,
  13628. h = this.stylesList.length,
  13629. p = this.globalData.renderer,
  13630. c = this.globalData.canvasContext;
  13631. for (t = 0; t < h; t += 1)
  13632. if (
  13633. (('st' !== (o = (l = this.stylesList[t]).type) &&
  13634. 'gs' !== o) ||
  13635. 0 !== l.wi) &&
  13636. l.data._shouldRender &&
  13637. 0 !== l.coOp &&
  13638. 0 !== this.globalData.currentGlobalAlpha
  13639. ) {
  13640. for (
  13641. p.save(),
  13642. s = l.elements,
  13643. 'st' === o || 'gs' === o
  13644. ? (p.ctxStrokeStyle('st' === o ? l.co : l.grd),
  13645. p.ctxLineWidth(l.wi),
  13646. p.ctxLineCap(l.lc),
  13647. p.ctxLineJoin(l.lj),
  13648. p.ctxMiterLimit(l.ml || 0))
  13649. : p.ctxFillStyle('fl' === o ? l.co : l.grd),
  13650. p.ctxOpacity(l.coOp),
  13651. 'st' !== o && 'gs' !== o && c.beginPath(),
  13652. p.ctxTransform(
  13653. l.preTransforms.finalTransform.props
  13654. ),
  13655. r = s.length,
  13656. e = 0;
  13657. e < r;
  13658. e += 1
  13659. ) {
  13660. for (
  13661. ('st' !== o && 'gs' !== o) ||
  13662. (c.beginPath(),
  13663. l.da &&
  13664. (c.setLineDash(l.da),
  13665. (c.lineDashOffset = l.do))),
  13666. i = (n = s[e].trNodes).length,
  13667. a = 0;
  13668. a < i;
  13669. a += 1
  13670. )
  13671. 'm' === n[a].t
  13672. ? c.moveTo(n[a].p[0], n[a].p[1])
  13673. : 'c' === n[a].t
  13674. ? c.bezierCurveTo(
  13675. n[a].pts[0],
  13676. n[a].pts[1],
  13677. n[a].pts[2],
  13678. n[a].pts[3],
  13679. n[a].pts[4],
  13680. n[a].pts[5]
  13681. )
  13682. : c.closePath();
  13683. ('st' !== o && 'gs' !== o) ||
  13684. (p.ctxStroke(),
  13685. l.da && c.setLineDash(this.dashResetter));
  13686. }
  13687. 'st' !== o &&
  13688. 'gs' !== o &&
  13689. this.globalData.renderer.ctxFill(l.r),
  13690. p.restore();
  13691. }
  13692. }),
  13693. (CVShapeElement.prototype.renderShape = function (
  13694. t,
  13695. e,
  13696. r,
  13697. a
  13698. ) {
  13699. var i, s;
  13700. for (s = t, i = e.length - 1; i >= 0; i -= 1)
  13701. 'tr' === e[i].ty
  13702. ? ((s = r[i].transform),
  13703. this.renderShapeTransform(t, s))
  13704. : 'sh' === e[i].ty ||
  13705. 'el' === e[i].ty ||
  13706. 'rc' === e[i].ty ||
  13707. 'sr' === e[i].ty
  13708. ? this.renderPath(e[i], r[i])
  13709. : 'fl' === e[i].ty
  13710. ? this.renderFill(e[i], r[i], s)
  13711. : 'st' === e[i].ty
  13712. ? this.renderStroke(e[i], r[i], s)
  13713. : 'gf' === e[i].ty || 'gs' === e[i].ty
  13714. ? this.renderGradientFill(e[i], r[i], s)
  13715. : 'gr' === e[i].ty
  13716. ? this.renderShape(s, e[i].it, r[i].it)
  13717. : e[i].ty;
  13718. a && this.drawLayer();
  13719. }),
  13720. (CVShapeElement.prototype.renderStyledShape = function (
  13721. t,
  13722. e
  13723. ) {
  13724. if (this._isFirstFrame || e._mdf || t.transforms._mdf) {
  13725. var r,
  13726. a,
  13727. i,
  13728. s = t.trNodes,
  13729. n = e.paths,
  13730. o = n._length;
  13731. s.length = 0;
  13732. var l = t.transforms.finalTransform;
  13733. for (i = 0; i < o; i += 1) {
  13734. var h = n.shapes[i];
  13735. if (h && h.v) {
  13736. for (a = h._length, r = 1; r < a; r += 1)
  13737. 1 === r &&
  13738. s.push({
  13739. t: 'm',
  13740. p: l.applyToPointArray(h.v[0][0], h.v[0][1], 0)
  13741. }),
  13742. s.push({
  13743. t: 'c',
  13744. pts: l.applyToTriplePoints(
  13745. h.o[r - 1],
  13746. h.i[r],
  13747. h.v[r]
  13748. )
  13749. });
  13750. 1 === a &&
  13751. s.push({
  13752. t: 'm',
  13753. p: l.applyToPointArray(h.v[0][0], h.v[0][1], 0)
  13754. }),
  13755. h.c &&
  13756. a &&
  13757. (s.push({
  13758. t: 'c',
  13759. pts: l.applyToTriplePoints(
  13760. h.o[r - 1],
  13761. h.i[0],
  13762. h.v[0]
  13763. )
  13764. }),
  13765. s.push({ t: 'z' }));
  13766. }
  13767. }
  13768. t.trNodes = s;
  13769. }
  13770. }),
  13771. (CVShapeElement.prototype.renderPath = function (t, e) {
  13772. if (!0 !== t.hd && t._shouldRender) {
  13773. var r,
  13774. a = e.styledShapes.length;
  13775. for (r = 0; r < a; r += 1)
  13776. this.renderStyledShape(e.styledShapes[r], e.sh);
  13777. }
  13778. }),
  13779. (CVShapeElement.prototype.renderFill = function (t, e, r) {
  13780. var a = e.style;
  13781. (e.c._mdf || this._isFirstFrame) &&
  13782. (a.co =
  13783. 'rgb(' +
  13784. bmFloor(e.c.v[0]) +
  13785. ',' +
  13786. bmFloor(e.c.v[1]) +
  13787. ',' +
  13788. bmFloor(e.c.v[2]) +
  13789. ')'),
  13790. (e.o._mdf || r._opMdf || this._isFirstFrame) &&
  13791. (a.coOp = e.o.v * r.opacity);
  13792. }),
  13793. (CVShapeElement.prototype.renderGradientFill = function (
  13794. t,
  13795. e,
  13796. r
  13797. ) {
  13798. var a,
  13799. i = e.style;
  13800. if (
  13801. !i.grd ||
  13802. e.g._mdf ||
  13803. e.s._mdf ||
  13804. e.e._mdf ||
  13805. (1 !== t.t && (e.h._mdf || e.a._mdf))
  13806. ) {
  13807. var s,
  13808. n = this.globalData.canvasContext,
  13809. o = e.s.v,
  13810. l = e.e.v;
  13811. if (1 === t.t)
  13812. a = n.createLinearGradient(o[0], o[1], l[0], l[1]);
  13813. else {
  13814. var h = Math.sqrt(
  13815. Math.pow(o[0] - l[0], 2) + Math.pow(o[1] - l[1], 2)
  13816. ),
  13817. p = Math.atan2(l[1] - o[1], l[0] - o[0]),
  13818. c = e.h.v;
  13819. c >= 1 ? (c = 0.99) : c <= -1 && (c = -0.99);
  13820. var d = h * c,
  13821. f = Math.cos(p + e.a.v) * d + o[0],
  13822. m = Math.sin(p + e.a.v) * d + o[1];
  13823. a = n.createRadialGradient(f, m, 0, o[0], o[1], h);
  13824. }
  13825. var u = t.g.p,
  13826. g = e.g.c,
  13827. y = 1;
  13828. for (s = 0; s < u; s += 1)
  13829. e.g._hasOpacity &&
  13830. e.g._collapsable &&
  13831. (y = e.g.o[2 * s + 1]),
  13832. a.addColorStop(
  13833. g[4 * s] / 100,
  13834. 'rgba(' +
  13835. g[4 * s + 1] +
  13836. ',' +
  13837. g[4 * s + 2] +
  13838. ',' +
  13839. g[4 * s + 3] +
  13840. ',' +
  13841. y +
  13842. ')'
  13843. );
  13844. i.grd = a;
  13845. }
  13846. i.coOp = e.o.v * r.opacity;
  13847. }),
  13848. (CVShapeElement.prototype.renderStroke = function (t, e, r) {
  13849. var a = e.style,
  13850. i = e.d;
  13851. i &&
  13852. (i._mdf || this._isFirstFrame) &&
  13853. ((a.da = i.dashArray), (a.do = i.dashoffset[0])),
  13854. (e.c._mdf || this._isFirstFrame) &&
  13855. (a.co =
  13856. 'rgb(' +
  13857. bmFloor(e.c.v[0]) +
  13858. ',' +
  13859. bmFloor(e.c.v[1]) +
  13860. ',' +
  13861. bmFloor(e.c.v[2]) +
  13862. ')'),
  13863. (e.o._mdf || r._opMdf || this._isFirstFrame) &&
  13864. (a.coOp = e.o.v * r.opacity),
  13865. (e.w._mdf || this._isFirstFrame) && (a.wi = e.w.v);
  13866. }),
  13867. (CVShapeElement.prototype.destroy = function () {
  13868. (this.shapesData = null),
  13869. (this.globalData = null),
  13870. (this.canvasContext = null),
  13871. (this.stylesList.length = 0),
  13872. (this.itemsData.length = 0);
  13873. }),
  13874. extendPrototype(
  13875. [
  13876. BaseElement,
  13877. TransformElement,
  13878. CVBaseElement,
  13879. HierarchyElement,
  13880. FrameElement,
  13881. RenderableElement,
  13882. ITextElement
  13883. ],
  13884. CVTextElement
  13885. ),
  13886. (CVTextElement.prototype.tHelper =
  13887. createTag('canvas').getContext('2d')),
  13888. (CVTextElement.prototype.buildNewText = function () {
  13889. var t = this.textProperty.currentData;
  13890. this.renderedLetters = createSizedArray(
  13891. t.l ? t.l.length : 0
  13892. );
  13893. var e = !1;
  13894. t.fc
  13895. ? ((e = !0), (this.values.fill = this.buildColor(t.fc)))
  13896. : (this.values.fill = 'rgba(0,0,0,0)'),
  13897. (this.fill = e);
  13898. var r = !1;
  13899. t.sc &&
  13900. ((r = !0),
  13901. (this.values.stroke = this.buildColor(t.sc)),
  13902. (this.values.sWidth = t.sw));
  13903. var a,
  13904. i,
  13905. s,
  13906. n,
  13907. o,
  13908. l,
  13909. h,
  13910. p,
  13911. c,
  13912. d,
  13913. f,
  13914. m,
  13915. u = this.globalData.fontManager.getFontByName(t.f),
  13916. g = t.l,
  13917. y = this.mHelper;
  13918. (this.stroke = r),
  13919. (this.values.fValue =
  13920. t.finalSize +
  13921. 'px ' +
  13922. this.globalData.fontManager.getFontByName(t.f).fFamily),
  13923. (i = t.finalText.length);
  13924. var v = this.data.singleShape,
  13925. b = 0.001 * t.tr * t.finalSize,
  13926. _ = 0,
  13927. w = 0,
  13928. A = !0,
  13929. x = 0;
  13930. for (a = 0; a < i; a += 1) {
  13931. (n =
  13932. ((s = this.globalData.fontManager.getCharData(
  13933. t.finalText[a],
  13934. u.fStyle,
  13935. this.globalData.fontManager.getFontByName(t.f).fFamily
  13936. )) &&
  13937. s.data) ||
  13938. {}),
  13939. y.reset(),
  13940. v &&
  13941. g[a].n &&
  13942. ((_ = -b),
  13943. (w += t.yOffset),
  13944. (w += A ? 1 : 0),
  13945. (A = !1)),
  13946. (c = (h = n.shapes ? n.shapes[0].it : []).length),
  13947. y.scale(t.finalSize / 100, t.finalSize / 100),
  13948. v &&
  13949. this.applyTextPropertiesToMatrix(
  13950. t,
  13951. y,
  13952. g[a].line,
  13953. _,
  13954. w
  13955. ),
  13956. (f = createSizedArray(c - 1));
  13957. var P = 0;
  13958. for (p = 0; p < c; p += 1)
  13959. if ('sh' === h[p].ty) {
  13960. for (
  13961. l = h[p].ks.k.i.length,
  13962. d = h[p].ks.k,
  13963. m = [],
  13964. o = 1;
  13965. o < l;
  13966. o += 1
  13967. )
  13968. 1 === o &&
  13969. m.push(
  13970. y.applyToX(d.v[0][0], d.v[0][1], 0),
  13971. y.applyToY(d.v[0][0], d.v[0][1], 0)
  13972. ),
  13973. m.push(
  13974. y.applyToX(d.o[o - 1][0], d.o[o - 1][1], 0),
  13975. y.applyToY(d.o[o - 1][0], d.o[o - 1][1], 0),
  13976. y.applyToX(d.i[o][0], d.i[o][1], 0),
  13977. y.applyToY(d.i[o][0], d.i[o][1], 0),
  13978. y.applyToX(d.v[o][0], d.v[o][1], 0),
  13979. y.applyToY(d.v[o][0], d.v[o][1], 0)
  13980. );
  13981. m.push(
  13982. y.applyToX(d.o[o - 1][0], d.o[o - 1][1], 0),
  13983. y.applyToY(d.o[o - 1][0], d.o[o - 1][1], 0),
  13984. y.applyToX(d.i[0][0], d.i[0][1], 0),
  13985. y.applyToY(d.i[0][0], d.i[0][1], 0),
  13986. y.applyToX(d.v[0][0], d.v[0][1], 0),
  13987. y.applyToY(d.v[0][0], d.v[0][1], 0)
  13988. ),
  13989. (f[P] = m),
  13990. (P += 1);
  13991. }
  13992. v && ((_ += g[a].l), (_ += b)),
  13993. this.textSpans[x]
  13994. ? (this.textSpans[x].elem = f)
  13995. : (this.textSpans[x] = { elem: f }),
  13996. (x += 1);
  13997. }
  13998. }),
  13999. (CVTextElement.prototype.renderInnerContent = function () {
  14000. var t, e, r, a, i, s;
  14001. this.validateText(),
  14002. (this.canvasContext.font = this.values.fValue),
  14003. this.globalData.renderer.ctxLineCap('butt'),
  14004. this.globalData.renderer.ctxLineJoin('miter'),
  14005. this.globalData.renderer.ctxMiterLimit(4),
  14006. this.data.singleShape ||
  14007. this.textAnimator.getMeasures(
  14008. this.textProperty.currentData,
  14009. this.lettersChangedFlag
  14010. );
  14011. var n,
  14012. o = this.textAnimator.renderedLetters,
  14013. l = this.textProperty.currentData.l;
  14014. e = l.length;
  14015. var h,
  14016. p,
  14017. c = null,
  14018. d = null,
  14019. f = null,
  14020. m = this.globalData.renderer;
  14021. for (t = 0; t < e; t += 1)
  14022. if (!l[t].n) {
  14023. if (
  14024. ((n = o[t]) &&
  14025. (m.save(), m.ctxTransform(n.p), m.ctxOpacity(n.o)),
  14026. this.fill)
  14027. ) {
  14028. for (
  14029. n && n.fc
  14030. ? c !== n.fc && (m.ctxFillStyle(n.fc), (c = n.fc))
  14031. : c !== this.values.fill &&
  14032. ((c = this.values.fill),
  14033. m.ctxFillStyle(this.values.fill)),
  14034. a = (h = this.textSpans[t].elem).length,
  14035. this.globalData.canvasContext.beginPath(),
  14036. r = 0;
  14037. r < a;
  14038. r += 1
  14039. )
  14040. for (
  14041. s = (p = h[r]).length,
  14042. this.globalData.canvasContext.moveTo(
  14043. p[0],
  14044. p[1]
  14045. ),
  14046. i = 2;
  14047. i < s;
  14048. i += 6
  14049. )
  14050. this.globalData.canvasContext.bezierCurveTo(
  14051. p[i],
  14052. p[i + 1],
  14053. p[i + 2],
  14054. p[i + 3],
  14055. p[i + 4],
  14056. p[i + 5]
  14057. );
  14058. this.globalData.canvasContext.closePath(),
  14059. m.ctxFill();
  14060. }
  14061. if (this.stroke) {
  14062. for (
  14063. n && n.sw
  14064. ? f !== n.sw && ((f = n.sw), m.ctxLineWidth(n.sw))
  14065. : f !== this.values.sWidth &&
  14066. ((f = this.values.sWidth),
  14067. m.ctxLineWidth(this.values.sWidth)),
  14068. n && n.sc
  14069. ? d !== n.sc &&
  14070. ((d = n.sc), m.ctxStrokeStyle(n.sc))
  14071. : d !== this.values.stroke &&
  14072. ((d = this.values.stroke),
  14073. m.ctxStrokeStyle(this.values.stroke)),
  14074. a = (h = this.textSpans[t].elem).length,
  14075. this.globalData.canvasContext.beginPath(),
  14076. r = 0;
  14077. r < a;
  14078. r += 1
  14079. )
  14080. for (
  14081. s = (p = h[r]).length,
  14082. this.globalData.canvasContext.moveTo(
  14083. p[0],
  14084. p[1]
  14085. ),
  14086. i = 2;
  14087. i < s;
  14088. i += 6
  14089. )
  14090. this.globalData.canvasContext.bezierCurveTo(
  14091. p[i],
  14092. p[i + 1],
  14093. p[i + 2],
  14094. p[i + 3],
  14095. p[i + 4],
  14096. p[i + 5]
  14097. );
  14098. this.globalData.canvasContext.closePath(),
  14099. m.ctxStroke();
  14100. }
  14101. n && this.globalData.renderer.restore();
  14102. }
  14103. }),
  14104. extendPrototype(
  14105. [
  14106. BaseElement,
  14107. TransformElement,
  14108. CVBaseElement,
  14109. HierarchyElement,
  14110. FrameElement,
  14111. RenderableElement
  14112. ],
  14113. CVImageElement
  14114. ),
  14115. (CVImageElement.prototype.initElement =
  14116. SVGShapeElement.prototype.initElement),
  14117. (CVImageElement.prototype.prepareFrame =
  14118. IImageElement.prototype.prepareFrame),
  14119. (CVImageElement.prototype.createContent = function () {
  14120. if (
  14121. this.img.width &&
  14122. (this.assetData.w !== this.img.width ||
  14123. this.assetData.h !== this.img.height)
  14124. ) {
  14125. var t = createTag('canvas');
  14126. (t.width = this.assetData.w),
  14127. (t.height = this.assetData.h);
  14128. var e,
  14129. r,
  14130. a = t.getContext('2d'),
  14131. i = this.img.width,
  14132. s = this.img.height,
  14133. n = i / s,
  14134. o = this.assetData.w / this.assetData.h,
  14135. l =
  14136. this.assetData.pr ||
  14137. this.globalData.renderConfig.imagePreserveAspectRatio;
  14138. (n > o && 'xMidYMid slice' === l) ||
  14139. (n < o && 'xMidYMid slice' !== l)
  14140. ? (e = (r = s) * o)
  14141. : (r = (e = i) / o),
  14142. a.drawImage(
  14143. this.img,
  14144. (i - e) / 2,
  14145. (s - r) / 2,
  14146. e,
  14147. r,
  14148. 0,
  14149. 0,
  14150. this.assetData.w,
  14151. this.assetData.h
  14152. ),
  14153. (this.img = t);
  14154. }
  14155. }),
  14156. (CVImageElement.prototype.renderInnerContent = function () {
  14157. this.canvasContext.drawImage(this.img, 0, 0);
  14158. }),
  14159. (CVImageElement.prototype.destroy = function () {
  14160. this.img = null;
  14161. }),
  14162. extendPrototype(
  14163. [
  14164. BaseElement,
  14165. TransformElement,
  14166. CVBaseElement,
  14167. HierarchyElement,
  14168. FrameElement,
  14169. RenderableElement
  14170. ],
  14171. CVSolidElement
  14172. ),
  14173. (CVSolidElement.prototype.initElement =
  14174. SVGShapeElement.prototype.initElement),
  14175. (CVSolidElement.prototype.prepareFrame =
  14176. IImageElement.prototype.prepareFrame),
  14177. (CVSolidElement.prototype.renderInnerContent = function () {
  14178. this.globalData.renderer.ctxFillStyle(this.data.sc),
  14179. this.globalData.renderer.ctxFillRect(
  14180. 0,
  14181. 0,
  14182. this.data.sw,
  14183. this.data.sh
  14184. );
  14185. }),
  14186. extendPrototype([BaseRenderer], CanvasRendererBase),
  14187. (CanvasRendererBase.prototype.createShape = function (t) {
  14188. return new CVShapeElement(t, this.globalData, this);
  14189. }),
  14190. (CanvasRendererBase.prototype.createText = function (t) {
  14191. return new CVTextElement(t, this.globalData, this);
  14192. }),
  14193. (CanvasRendererBase.prototype.createImage = function (t) {
  14194. return new CVImageElement(t, this.globalData, this);
  14195. }),
  14196. (CanvasRendererBase.prototype.createSolid = function (t) {
  14197. return new CVSolidElement(t, this.globalData, this);
  14198. }),
  14199. (CanvasRendererBase.prototype.createNull =
  14200. SVGRenderer.prototype.createNull),
  14201. (CanvasRendererBase.prototype.ctxTransform = function (t) {
  14202. (1 === t[0] &&
  14203. 0 === t[1] &&
  14204. 0 === t[4] &&
  14205. 1 === t[5] &&
  14206. 0 === t[12] &&
  14207. 0 === t[13]) ||
  14208. this.canvasContext.transform(
  14209. t[0],
  14210. t[1],
  14211. t[4],
  14212. t[5],
  14213. t[12],
  14214. t[13]
  14215. );
  14216. }),
  14217. (CanvasRendererBase.prototype.ctxOpacity = function (t) {
  14218. this.canvasContext.globalAlpha *= t < 0 ? 0 : t;
  14219. }),
  14220. (CanvasRendererBase.prototype.ctxFillStyle = function (t) {
  14221. this.canvasContext.fillStyle = t;
  14222. }),
  14223. (CanvasRendererBase.prototype.ctxStrokeStyle = function (t) {
  14224. this.canvasContext.strokeStyle = t;
  14225. }),
  14226. (CanvasRendererBase.prototype.ctxLineWidth = function (t) {
  14227. this.canvasContext.lineWidth = t;
  14228. }),
  14229. (CanvasRendererBase.prototype.ctxLineCap = function (t) {
  14230. this.canvasContext.lineCap = t;
  14231. }),
  14232. (CanvasRendererBase.prototype.ctxLineJoin = function (t) {
  14233. this.canvasContext.lineJoin = t;
  14234. }),
  14235. (CanvasRendererBase.prototype.ctxMiterLimit = function (t) {
  14236. this.canvasContext.miterLimit = t;
  14237. }),
  14238. (CanvasRendererBase.prototype.ctxFill = function (t) {
  14239. this.canvasContext.fill(t);
  14240. }),
  14241. (CanvasRendererBase.prototype.ctxFillRect = function (
  14242. t,
  14243. e,
  14244. r,
  14245. a
  14246. ) {
  14247. this.canvasContext.fillRect(t, e, r, a);
  14248. }),
  14249. (CanvasRendererBase.prototype.ctxStroke = function () {
  14250. this.canvasContext.stroke();
  14251. }),
  14252. (CanvasRendererBase.prototype.reset = function () {
  14253. this.renderConfig.clearCanvas
  14254. ? this.contextData.reset()
  14255. : this.canvasContext.restore();
  14256. }),
  14257. (CanvasRendererBase.prototype.save = function () {
  14258. this.canvasContext.save();
  14259. }),
  14260. (CanvasRendererBase.prototype.restore = function (t) {
  14261. this.renderConfig.clearCanvas
  14262. ? (t && (this.globalData.blendMode = 'source-over'),
  14263. this.contextData.restore(t))
  14264. : this.canvasContext.restore();
  14265. }),
  14266. (CanvasRendererBase.prototype.configAnimation = function (t) {
  14267. if (this.animationItem.wrapper) {
  14268. this.animationItem.container = createTag('canvas');
  14269. var e = this.animationItem.container.style;
  14270. (e.width = '100%'), (e.height = '100%');
  14271. var r = '0px 0px 0px';
  14272. (e.transformOrigin = r),
  14273. (e.mozTransformOrigin = r),
  14274. (e.webkitTransformOrigin = r),
  14275. (e['-webkit-transform'] = r),
  14276. (e.contentVisibility =
  14277. this.renderConfig.contentVisibility),
  14278. this.animationItem.wrapper.appendChild(
  14279. this.animationItem.container
  14280. ),
  14281. (this.canvasContext =
  14282. this.animationItem.container.getContext('2d')),
  14283. this.renderConfig.className &&
  14284. this.animationItem.container.setAttribute(
  14285. 'class',
  14286. this.renderConfig.className
  14287. ),
  14288. this.renderConfig.id &&
  14289. this.animationItem.container.setAttribute(
  14290. 'id',
  14291. this.renderConfig.id
  14292. );
  14293. } else this.canvasContext = this.renderConfig.context;
  14294. this.contextData.setContext(this.canvasContext),
  14295. (this.data = t),
  14296. (this.layers = t.layers),
  14297. (this.transformCanvas = {
  14298. w: t.w,
  14299. h: t.h,
  14300. sx: 0,
  14301. sy: 0,
  14302. tx: 0,
  14303. ty: 0
  14304. }),
  14305. this.setupGlobalData(t, document.body),
  14306. (this.globalData.canvasContext = this.canvasContext),
  14307. (this.globalData.renderer = this),
  14308. (this.globalData.isDashed = !1),
  14309. (this.globalData.progressiveLoad =
  14310. this.renderConfig.progressiveLoad),
  14311. (this.globalData.transformCanvas = this.transformCanvas),
  14312. (this.elements = createSizedArray(t.layers.length)),
  14313. this.updateContainerSize();
  14314. }),
  14315. (CanvasRendererBase.prototype.updateContainerSize = function (
  14316. t,
  14317. e
  14318. ) {
  14319. var r, a, i, s;
  14320. if (
  14321. (this.reset(),
  14322. t
  14323. ? ((r = t),
  14324. (a = e),
  14325. (this.canvasContext.canvas.width = r),
  14326. (this.canvasContext.canvas.height = a))
  14327. : (this.animationItem.wrapper &&
  14328. this.animationItem.container
  14329. ? ((r = this.animationItem.wrapper.offsetWidth),
  14330. (a = this.animationItem.wrapper.offsetHeight))
  14331. : ((r = this.canvasContext.canvas.width),
  14332. (a = this.canvasContext.canvas.height)),
  14333. (this.canvasContext.canvas.width =
  14334. r * this.renderConfig.dpr),
  14335. (this.canvasContext.canvas.height =
  14336. a * this.renderConfig.dpr)),
  14337. -1 !==
  14338. this.renderConfig.preserveAspectRatio.indexOf('meet') ||
  14339. -1 !==
  14340. this.renderConfig.preserveAspectRatio.indexOf(
  14341. 'slice'
  14342. ))
  14343. ) {
  14344. var n = this.renderConfig.preserveAspectRatio.split(' '),
  14345. o = n[1] || 'meet',
  14346. l = n[0] || 'xMidYMid',
  14347. h = l.substr(0, 4),
  14348. p = l.substr(4);
  14349. (i = r / a),
  14350. ((s = this.transformCanvas.w / this.transformCanvas.h) >
  14351. i &&
  14352. 'meet' === o) ||
  14353. (s < i && 'slice' === o)
  14354. ? ((this.transformCanvas.sx =
  14355. r /
  14356. (this.transformCanvas.w / this.renderConfig.dpr)),
  14357. (this.transformCanvas.sy =
  14358. r /
  14359. (this.transformCanvas.w / this.renderConfig.dpr)))
  14360. : ((this.transformCanvas.sx =
  14361. a /
  14362. (this.transformCanvas.h / this.renderConfig.dpr)),
  14363. (this.transformCanvas.sy =
  14364. a /
  14365. (this.transformCanvas.h /
  14366. this.renderConfig.dpr))),
  14367. (this.transformCanvas.tx =
  14368. 'xMid' === h &&
  14369. ((s < i && 'meet' === o) || (s > i && 'slice' === o))
  14370. ? ((r -
  14371. this.transformCanvas.w *
  14372. (a / this.transformCanvas.h)) /
  14373. 2) *
  14374. this.renderConfig.dpr
  14375. : 'xMax' === h &&
  14376. ((s < i && 'meet' === o) ||
  14377. (s > i && 'slice' === o))
  14378. ? (r -
  14379. this.transformCanvas.w *
  14380. (a / this.transformCanvas.h)) *
  14381. this.renderConfig.dpr
  14382. : 0),
  14383. (this.transformCanvas.ty =
  14384. 'YMid' === p &&
  14385. ((s > i && 'meet' === o) || (s < i && 'slice' === o))
  14386. ? ((a -
  14387. this.transformCanvas.h *
  14388. (r / this.transformCanvas.w)) /
  14389. 2) *
  14390. this.renderConfig.dpr
  14391. : 'YMax' === p &&
  14392. ((s > i && 'meet' === o) ||
  14393. (s < i && 'slice' === o))
  14394. ? (a -
  14395. this.transformCanvas.h *
  14396. (r / this.transformCanvas.w)) *
  14397. this.renderConfig.dpr
  14398. : 0);
  14399. } else
  14400. 'none' === this.renderConfig.preserveAspectRatio
  14401. ? ((this.transformCanvas.sx =
  14402. r /
  14403. (this.transformCanvas.w / this.renderConfig.dpr)),
  14404. (this.transformCanvas.sy =
  14405. a /
  14406. (this.transformCanvas.h / this.renderConfig.dpr)),
  14407. (this.transformCanvas.tx = 0),
  14408. (this.transformCanvas.ty = 0))
  14409. : ((this.transformCanvas.sx = this.renderConfig.dpr),
  14410. (this.transformCanvas.sy = this.renderConfig.dpr),
  14411. (this.transformCanvas.tx = 0),
  14412. (this.transformCanvas.ty = 0));
  14413. (this.transformCanvas.props = [
  14414. this.transformCanvas.sx,
  14415. 0,
  14416. 0,
  14417. 0,
  14418. 0,
  14419. this.transformCanvas.sy,
  14420. 0,
  14421. 0,
  14422. 0,
  14423. 0,
  14424. 1,
  14425. 0,
  14426. this.transformCanvas.tx,
  14427. this.transformCanvas.ty,
  14428. 0,
  14429. 1
  14430. ]),
  14431. this.ctxTransform(this.transformCanvas.props),
  14432. this.canvasContext.beginPath(),
  14433. this.canvasContext.rect(
  14434. 0,
  14435. 0,
  14436. this.transformCanvas.w,
  14437. this.transformCanvas.h
  14438. ),
  14439. this.canvasContext.closePath(),
  14440. this.canvasContext.clip(),
  14441. this.renderFrame(this.renderedFrame, !0);
  14442. }),
  14443. (CanvasRendererBase.prototype.destroy = function () {
  14444. var t;
  14445. for (
  14446. this.renderConfig.clearCanvas &&
  14447. this.animationItem.wrapper &&
  14448. (this.animationItem.wrapper.innerText = ''),
  14449. t = (this.layers ? this.layers.length : 0) - 1;
  14450. t >= 0;
  14451. t -= 1
  14452. )
  14453. this.elements[t] &&
  14454. this.elements[t].destroy &&
  14455. this.elements[t].destroy();
  14456. (this.elements.length = 0),
  14457. (this.globalData.canvasContext = null),
  14458. (this.animationItem.container = null),
  14459. (this.destroyed = !0);
  14460. }),
  14461. (CanvasRendererBase.prototype.renderFrame = function (t, e) {
  14462. if (
  14463. (this.renderedFrame !== t ||
  14464. !0 !== this.renderConfig.clearCanvas ||
  14465. e) &&
  14466. !this.destroyed &&
  14467. -1 !== t
  14468. ) {
  14469. var r;
  14470. (this.renderedFrame = t),
  14471. (this.globalData.frameNum =
  14472. t - this.animationItem._isFirstFrame),
  14473. (this.globalData.frameId += 1),
  14474. (this.globalData._mdf =
  14475. !this.renderConfig.clearCanvas || e),
  14476. (this.globalData.projectInterface.currentFrame = t);
  14477. var a = this.layers.length;
  14478. for (
  14479. this.completeLayers || this.checkLayers(t), r = a - 1;
  14480. r >= 0;
  14481. r -= 1
  14482. )
  14483. (this.completeLayers || this.elements[r]) &&
  14484. this.elements[r].prepareFrame(t - this.layers[r].st);
  14485. if (this.globalData._mdf) {
  14486. for (
  14487. !0 === this.renderConfig.clearCanvas
  14488. ? this.canvasContext.clearRect(
  14489. 0,
  14490. 0,
  14491. this.transformCanvas.w,
  14492. this.transformCanvas.h
  14493. )
  14494. : this.save(),
  14495. r = a - 1;
  14496. r >= 0;
  14497. r -= 1
  14498. )
  14499. (this.completeLayers || this.elements[r]) &&
  14500. this.elements[r].renderFrame();
  14501. !0 !== this.renderConfig.clearCanvas && this.restore();
  14502. }
  14503. }
  14504. }),
  14505. (CanvasRendererBase.prototype.buildItem = function (t) {
  14506. var e = this.elements;
  14507. if (!e[t] && 99 !== this.layers[t].ty) {
  14508. var r = this.createItem(
  14509. this.layers[t],
  14510. this,
  14511. this.globalData
  14512. );
  14513. (e[t] = r), r.initExpressions();
  14514. }
  14515. }),
  14516. (CanvasRendererBase.prototype.checkPendingElements =
  14517. function () {
  14518. for (; this.pendingElements.length; )
  14519. this.pendingElements.pop().checkParenting();
  14520. }),
  14521. (CanvasRendererBase.prototype.hide = function () {
  14522. this.animationItem.container.style.display = 'none';
  14523. }),
  14524. (CanvasRendererBase.prototype.show = function () {
  14525. this.animationItem.container.style.display = 'block';
  14526. }),
  14527. (CVContextData.prototype.duplicate = function () {
  14528. var t = 2 * this._length,
  14529. e = 0;
  14530. for (e = this._length; e < t; e += 1)
  14531. this.stack[e] = new CanvasContext();
  14532. this._length = t;
  14533. }),
  14534. (CVContextData.prototype.reset = function () {
  14535. (this.cArrPos = 0),
  14536. this.cTr.reset(),
  14537. (this.stack[this.cArrPos].opacity = 1);
  14538. }),
  14539. (CVContextData.prototype.restore = function (t) {
  14540. this.cArrPos -= 1;
  14541. var e,
  14542. r = this.stack[this.cArrPos],
  14543. a = r.transform,
  14544. i = this.cTr.props;
  14545. for (e = 0; e < 16; e += 1) i[e] = a[e];
  14546. if (t) {
  14547. this.nativeContext.restore();
  14548. var s = this.stack[this.cArrPos + 1];
  14549. (this.appliedFillStyle = s.fillStyle),
  14550. (this.appliedStrokeStyle = s.strokeStyle),
  14551. (this.appliedLineWidth = s.lineWidth),
  14552. (this.appliedLineCap = s.lineCap),
  14553. (this.appliedLineJoin = s.lineJoin),
  14554. (this.appliedMiterLimit = s.miterLimit);
  14555. }
  14556. this.nativeContext.setTransform(
  14557. a[0],
  14558. a[1],
  14559. a[4],
  14560. a[5],
  14561. a[12],
  14562. a[13]
  14563. ),
  14564. (t ||
  14565. (-1 !== r.opacity &&
  14566. this.currentOpacity !== r.opacity)) &&
  14567. ((this.nativeContext.globalAlpha = r.opacity),
  14568. (this.currentOpacity = r.opacity)),
  14569. (this.currentFillStyle = r.fillStyle),
  14570. (this.currentStrokeStyle = r.strokeStyle),
  14571. (this.currentLineWidth = r.lineWidth),
  14572. (this.currentLineCap = r.lineCap),
  14573. (this.currentLineJoin = r.lineJoin),
  14574. (this.currentMiterLimit = r.miterLimit);
  14575. }),
  14576. (CVContextData.prototype.save = function (t) {
  14577. t && this.nativeContext.save();
  14578. var e = this.cTr.props;
  14579. this._length <= this.cArrPos && this.duplicate();
  14580. var r,
  14581. a = this.stack[this.cArrPos];
  14582. for (r = 0; r < 16; r += 1) a.transform[r] = e[r];
  14583. this.cArrPos += 1;
  14584. var i = this.stack[this.cArrPos];
  14585. (i.opacity = a.opacity),
  14586. (i.fillStyle = a.fillStyle),
  14587. (i.strokeStyle = a.strokeStyle),
  14588. (i.lineWidth = a.lineWidth),
  14589. (i.lineCap = a.lineCap),
  14590. (i.lineJoin = a.lineJoin),
  14591. (i.miterLimit = a.miterLimit);
  14592. }),
  14593. (CVContextData.prototype.setOpacity = function (t) {
  14594. this.stack[this.cArrPos].opacity = t;
  14595. }),
  14596. (CVContextData.prototype.setContext = function (t) {
  14597. this.nativeContext = t;
  14598. }),
  14599. (CVContextData.prototype.fillStyle = function (t) {
  14600. this.stack[this.cArrPos].fillStyle !== t &&
  14601. ((this.currentFillStyle = t),
  14602. (this.stack[this.cArrPos].fillStyle = t));
  14603. }),
  14604. (CVContextData.prototype.strokeStyle = function (t) {
  14605. this.stack[this.cArrPos].strokeStyle !== t &&
  14606. ((this.currentStrokeStyle = t),
  14607. (this.stack[this.cArrPos].strokeStyle = t));
  14608. }),
  14609. (CVContextData.prototype.lineWidth = function (t) {
  14610. this.stack[this.cArrPos].lineWidth !== t &&
  14611. ((this.currentLineWidth = t),
  14612. (this.stack[this.cArrPos].lineWidth = t));
  14613. }),
  14614. (CVContextData.prototype.lineCap = function (t) {
  14615. this.stack[this.cArrPos].lineCap !== t &&
  14616. ((this.currentLineCap = t),
  14617. (this.stack[this.cArrPos].lineCap = t));
  14618. }),
  14619. (CVContextData.prototype.lineJoin = function (t) {
  14620. this.stack[this.cArrPos].lineJoin !== t &&
  14621. ((this.currentLineJoin = t),
  14622. (this.stack[this.cArrPos].lineJoin = t));
  14623. }),
  14624. (CVContextData.prototype.miterLimit = function (t) {
  14625. this.stack[this.cArrPos].miterLimit !== t &&
  14626. ((this.currentMiterLimit = t),
  14627. (this.stack[this.cArrPos].miterLimit = t));
  14628. }),
  14629. (CVContextData.prototype.transform = function (t) {
  14630. this.transformMat.cloneFromProps(t);
  14631. var e = this.cTr;
  14632. this.transformMat.multiply(e),
  14633. e.cloneFromProps(this.transformMat.props);
  14634. var r = e.props;
  14635. this.nativeContext.setTransform(
  14636. r[0],
  14637. r[1],
  14638. r[4],
  14639. r[5],
  14640. r[12],
  14641. r[13]
  14642. );
  14643. }),
  14644. (CVContextData.prototype.opacity = function (t) {
  14645. var e = this.stack[this.cArrPos].opacity;
  14646. (e *= t < 0 ? 0 : t),
  14647. this.stack[this.cArrPos].opacity !== e &&
  14648. (this.currentOpacity !== t &&
  14649. ((this.nativeContext.globalAlpha = t),
  14650. (this.currentOpacity = t)),
  14651. (this.stack[this.cArrPos].opacity = e));
  14652. }),
  14653. (CVContextData.prototype.fill = function (t) {
  14654. this.appliedFillStyle !== this.currentFillStyle &&
  14655. ((this.appliedFillStyle = this.currentFillStyle),
  14656. (this.nativeContext.fillStyle = this.appliedFillStyle)),
  14657. this.nativeContext.fill(t);
  14658. }),
  14659. (CVContextData.prototype.fillRect = function (t, e, r, a) {
  14660. this.appliedFillStyle !== this.currentFillStyle &&
  14661. ((this.appliedFillStyle = this.currentFillStyle),
  14662. (this.nativeContext.fillStyle = this.appliedFillStyle)),
  14663. this.nativeContext.fillRect(t, e, r, a);
  14664. }),
  14665. (CVContextData.prototype.stroke = function () {
  14666. this.appliedStrokeStyle !== this.currentStrokeStyle &&
  14667. ((this.appliedStrokeStyle = this.currentStrokeStyle),
  14668. (this.nativeContext.strokeStyle =
  14669. this.appliedStrokeStyle)),
  14670. this.appliedLineWidth !== this.currentLineWidth &&
  14671. ((this.appliedLineWidth = this.currentLineWidth),
  14672. (this.nativeContext.lineWidth = this.appliedLineWidth)),
  14673. this.appliedLineCap !== this.currentLineCap &&
  14674. ((this.appliedLineCap = this.currentLineCap),
  14675. (this.nativeContext.lineCap = this.appliedLineCap)),
  14676. this.appliedLineJoin !== this.currentLineJoin &&
  14677. ((this.appliedLineJoin = this.currentLineJoin),
  14678. (this.nativeContext.lineJoin = this.appliedLineJoin)),
  14679. this.appliedMiterLimit !== this.currentMiterLimit &&
  14680. ((this.appliedMiterLimit = this.currentMiterLimit),
  14681. (this.nativeContext.miterLimit =
  14682. this.appliedMiterLimit)),
  14683. this.nativeContext.stroke();
  14684. }),
  14685. extendPrototype(
  14686. [CanvasRendererBase, ICompElement, CVBaseElement],
  14687. CVCompElement
  14688. ),
  14689. (CVCompElement.prototype.renderInnerContent = function () {
  14690. var t,
  14691. e = this.canvasContext;
  14692. for (
  14693. e.beginPath(),
  14694. e.moveTo(0, 0),
  14695. e.lineTo(this.data.w, 0),
  14696. e.lineTo(this.data.w, this.data.h),
  14697. e.lineTo(0, this.data.h),
  14698. e.lineTo(0, 0),
  14699. e.clip(),
  14700. t = this.layers.length - 1;
  14701. t >= 0;
  14702. t -= 1
  14703. )
  14704. (this.completeLayers || this.elements[t]) &&
  14705. this.elements[t].renderFrame();
  14706. }),
  14707. (CVCompElement.prototype.destroy = function () {
  14708. var t;
  14709. for (t = this.layers.length - 1; t >= 0; t -= 1)
  14710. this.elements[t] && this.elements[t].destroy();
  14711. (this.layers = null), (this.elements = null);
  14712. }),
  14713. (CVCompElement.prototype.createComp = function (t) {
  14714. return new CVCompElement(t, this.globalData, this);
  14715. }),
  14716. extendPrototype([CanvasRendererBase], CanvasRenderer),
  14717. (CanvasRenderer.prototype.createComp = function (t) {
  14718. return new CVCompElement(t, this.globalData, this);
  14719. }),
  14720. (HBaseElement.prototype = {
  14721. checkBlendMode: function () {},
  14722. initRendererElement: function () {
  14723. (this.baseElement = createTag(this.data.tg || 'div')),
  14724. this.data.hasMask
  14725. ? ((this.svgElement = createNS('svg')),
  14726. (this.layerElement = createNS('g')),
  14727. (this.maskedElement = this.layerElement),
  14728. this.svgElement.appendChild(this.layerElement),
  14729. this.baseElement.appendChild(this.svgElement))
  14730. : (this.layerElement = this.baseElement),
  14731. styleDiv(this.baseElement);
  14732. },
  14733. createContainerElements: function () {
  14734. (this.renderableEffectsManager = new CVEffects(this)),
  14735. (this.transformedElement = this.baseElement),
  14736. (this.maskedElement = this.layerElement),
  14737. this.data.ln &&
  14738. this.layerElement.setAttribute('id', this.data.ln),
  14739. this.data.cl &&
  14740. this.layerElement.setAttribute('class', this.data.cl),
  14741. 0 !== this.data.bm && this.setBlendMode();
  14742. },
  14743. renderElement: function () {
  14744. var t = this.transformedElement
  14745. ? this.transformedElement.style
  14746. : {};
  14747. if (this.finalTransform._matMdf) {
  14748. var e = this.finalTransform.mat.toCSS();
  14749. (t.transform = e), (t.webkitTransform = e);
  14750. }
  14751. this.finalTransform._opMdf &&
  14752. (t.opacity = this.finalTransform.mProp.o.v);
  14753. },
  14754. renderFrame: function () {
  14755. this.data.hd ||
  14756. this.hidden ||
  14757. (this.renderTransform(),
  14758. this.renderRenderable(),
  14759. this.renderElement(),
  14760. this.renderInnerContent(),
  14761. this._isFirstFrame && (this._isFirstFrame = !1));
  14762. },
  14763. destroy: function () {
  14764. (this.layerElement = null),
  14765. (this.transformedElement = null),
  14766. this.matteElement && (this.matteElement = null),
  14767. this.maskManager &&
  14768. (this.maskManager.destroy(),
  14769. (this.maskManager = null));
  14770. },
  14771. createRenderableComponents: function () {
  14772. this.maskManager = new MaskElement(
  14773. this.data,
  14774. this,
  14775. this.globalData
  14776. );
  14777. },
  14778. addEffects: function () {},
  14779. setMatte: function () {}
  14780. }),
  14781. (HBaseElement.prototype.getBaseElement =
  14782. SVGBaseElement.prototype.getBaseElement),
  14783. (HBaseElement.prototype.destroyBaseElement =
  14784. HBaseElement.prototype.destroy),
  14785. (HBaseElement.prototype.buildElementParenting =
  14786. BaseRenderer.prototype.buildElementParenting),
  14787. extendPrototype(
  14788. [
  14789. BaseElement,
  14790. TransformElement,
  14791. HBaseElement,
  14792. HierarchyElement,
  14793. FrameElement,
  14794. RenderableDOMElement
  14795. ],
  14796. HSolidElement
  14797. ),
  14798. (HSolidElement.prototype.createContent = function () {
  14799. var t;
  14800. this.data.hasMask
  14801. ? ((t = createNS('rect')).setAttribute(
  14802. 'width',
  14803. this.data.sw
  14804. ),
  14805. t.setAttribute('height', this.data.sh),
  14806. t.setAttribute('fill', this.data.sc),
  14807. this.svgElement.setAttribute('width', this.data.sw),
  14808. this.svgElement.setAttribute('height', this.data.sh))
  14809. : (((t = createTag('div')).style.width =
  14810. this.data.sw + 'px'),
  14811. (t.style.height = this.data.sh + 'px'),
  14812. (t.style.backgroundColor = this.data.sc)),
  14813. this.layerElement.appendChild(t);
  14814. }),
  14815. extendPrototype(
  14816. [
  14817. BaseElement,
  14818. TransformElement,
  14819. HSolidElement,
  14820. SVGShapeElement,
  14821. HBaseElement,
  14822. HierarchyElement,
  14823. FrameElement,
  14824. RenderableElement
  14825. ],
  14826. HShapeElement
  14827. ),
  14828. (HShapeElement.prototype._renderShapeFrame =
  14829. HShapeElement.prototype.renderInnerContent),
  14830. (HShapeElement.prototype.createContent = function () {
  14831. var t;
  14832. if (
  14833. ((this.baseElement.style.fontSize = 0), this.data.hasMask)
  14834. )
  14835. this.layerElement.appendChild(this.shapesContainer),
  14836. (t = this.svgElement);
  14837. else {
  14838. t = createNS('svg');
  14839. var e = this.comp.data
  14840. ? this.comp.data
  14841. : this.globalData.compSize;
  14842. t.setAttribute('width', e.w),
  14843. t.setAttribute('height', e.h),
  14844. t.appendChild(this.shapesContainer),
  14845. this.layerElement.appendChild(t);
  14846. }
  14847. this.searchShapes(
  14848. this.shapesData,
  14849. this.itemsData,
  14850. this.prevViewData,
  14851. this.shapesContainer,
  14852. 0,
  14853. [],
  14854. !0
  14855. ),
  14856. this.filterUniqueShapes(),
  14857. (this.shapeCont = t);
  14858. }),
  14859. (HShapeElement.prototype.getTransformedPoint = function (
  14860. t,
  14861. e
  14862. ) {
  14863. var r,
  14864. a = t.length;
  14865. for (r = 0; r < a; r += 1)
  14866. e = t[r].mProps.v.applyToPointArray(e[0], e[1], 0);
  14867. return e;
  14868. }),
  14869. (HShapeElement.prototype.calculateShapeBoundingBox =
  14870. function (t, e) {
  14871. var r,
  14872. a,
  14873. i,
  14874. s,
  14875. n,
  14876. o = t.sh.v,
  14877. l = t.transformers,
  14878. h = o._length;
  14879. if (!(h <= 1)) {
  14880. for (r = 0; r < h - 1; r += 1)
  14881. (a = this.getTransformedPoint(l, o.v[r])),
  14882. (i = this.getTransformedPoint(l, o.o[r])),
  14883. (s = this.getTransformedPoint(l, o.i[r + 1])),
  14884. (n = this.getTransformedPoint(l, o.v[r + 1])),
  14885. this.checkBounds(a, i, s, n, e);
  14886. o.c &&
  14887. ((a = this.getTransformedPoint(l, o.v[r])),
  14888. (i = this.getTransformedPoint(l, o.o[r])),
  14889. (s = this.getTransformedPoint(l, o.i[0])),
  14890. (n = this.getTransformedPoint(l, o.v[0])),
  14891. this.checkBounds(a, i, s, n, e));
  14892. }
  14893. }),
  14894. (HShapeElement.prototype.checkBounds = function (
  14895. t,
  14896. e,
  14897. r,
  14898. a,
  14899. i
  14900. ) {
  14901. this.getBoundsOfCurve(t, e, r, a);
  14902. var s = this.shapeBoundingBox;
  14903. (i.x = bmMin(s.left, i.x)),
  14904. (i.xMax = bmMax(s.right, i.xMax)),
  14905. (i.y = bmMin(s.top, i.y)),
  14906. (i.yMax = bmMax(s.bottom, i.yMax));
  14907. }),
  14908. (HShapeElement.prototype.shapeBoundingBox = {
  14909. left: 0,
  14910. right: 0,
  14911. top: 0,
  14912. bottom: 0
  14913. }),
  14914. (HShapeElement.prototype.tempBoundingBox = {
  14915. x: 0,
  14916. xMax: 0,
  14917. y: 0,
  14918. yMax: 0,
  14919. width: 0,
  14920. height: 0
  14921. }),
  14922. (HShapeElement.prototype.getBoundsOfCurve = function (
  14923. t,
  14924. e,
  14925. r,
  14926. a
  14927. ) {
  14928. for (
  14929. var i,
  14930. s,
  14931. n,
  14932. o,
  14933. l,
  14934. h,
  14935. p,
  14936. c = [
  14937. [t[0], a[0]],
  14938. [t[1], a[1]]
  14939. ],
  14940. d = 0;
  14941. d < 2;
  14942. ++d
  14943. )
  14944. (s = 6 * t[d] - 12 * e[d] + 6 * r[d]),
  14945. (i = -3 * t[d] + 9 * e[d] - 9 * r[d] + 3 * a[d]),
  14946. (n = 3 * e[d] - 3 * t[d]),
  14947. (s |= 0),
  14948. (n |= 0),
  14949. (0 == (i |= 0) && 0 === s) ||
  14950. (0 === i
  14951. ? (o = -n / s) > 0 &&
  14952. o < 1 &&
  14953. c[d].push(this.calculateF(o, t, e, r, a, d))
  14954. : (l = s * s - 4 * n * i) >= 0 &&
  14955. ((h = (-s + bmSqrt(l)) / (2 * i)) > 0 &&
  14956. h < 1 &&
  14957. c[d].push(this.calculateF(h, t, e, r, a, d)),
  14958. (p = (-s - bmSqrt(l)) / (2 * i)) > 0 &&
  14959. p < 1 &&
  14960. c[d].push(this.calculateF(p, t, e, r, a, d))));
  14961. (this.shapeBoundingBox.left = bmMin.apply(null, c[0])),
  14962. (this.shapeBoundingBox.top = bmMin.apply(null, c[1])),
  14963. (this.shapeBoundingBox.right = bmMax.apply(null, c[0])),
  14964. (this.shapeBoundingBox.bottom = bmMax.apply(null, c[1]));
  14965. }),
  14966. (HShapeElement.prototype.calculateF = function (
  14967. t,
  14968. e,
  14969. r,
  14970. a,
  14971. i,
  14972. s
  14973. ) {
  14974. return (
  14975. bmPow(1 - t, 3) * e[s] +
  14976. 3 * bmPow(1 - t, 2) * t * r[s] +
  14977. 3 * (1 - t) * bmPow(t, 2) * a[s] +
  14978. bmPow(t, 3) * i[s]
  14979. );
  14980. }),
  14981. (HShapeElement.prototype.calculateBoundingBox = function (
  14982. t,
  14983. e
  14984. ) {
  14985. var r,
  14986. a = t.length;
  14987. for (r = 0; r < a; r += 1)
  14988. t[r] && t[r].sh
  14989. ? this.calculateShapeBoundingBox(t[r], e)
  14990. : t[r] && t[r].it
  14991. ? this.calculateBoundingBox(t[r].it, e)
  14992. : t[r] &&
  14993. t[r].style &&
  14994. t[r].w &&
  14995. this.expandStrokeBoundingBox(t[r].w, e);
  14996. }),
  14997. (HShapeElement.prototype.expandStrokeBoundingBox = function (
  14998. t,
  14999. e
  15000. ) {
  15001. var r = 0;
  15002. if (t.keyframes) {
  15003. for (var a = 0; a < t.keyframes.length; a += 1) {
  15004. var i = t.keyframes[a].s;
  15005. i > r && (r = i);
  15006. }
  15007. r *= t.mult;
  15008. } else r = t.v * t.mult;
  15009. (e.x -= r), (e.xMax += r), (e.y -= r), (e.yMax += r);
  15010. }),
  15011. (HShapeElement.prototype.currentBoxContains = function (t) {
  15012. return (
  15013. this.currentBBox.x <= t.x &&
  15014. this.currentBBox.y <= t.y &&
  15015. this.currentBBox.width + this.currentBBox.x >=
  15016. t.x + t.width &&
  15017. this.currentBBox.height + this.currentBBox.y >=
  15018. t.y + t.height
  15019. );
  15020. }),
  15021. (HShapeElement.prototype.renderInnerContent = function () {
  15022. if (
  15023. (this._renderShapeFrame(),
  15024. !this.hidden && (this._isFirstFrame || this._mdf))
  15025. ) {
  15026. var t = this.tempBoundingBox,
  15027. e = 999999;
  15028. if (
  15029. ((t.x = e),
  15030. (t.xMax = -e),
  15031. (t.y = e),
  15032. (t.yMax = -e),
  15033. this.calculateBoundingBox(this.itemsData, t),
  15034. (t.width = t.xMax < t.x ? 0 : t.xMax - t.x),
  15035. (t.height = t.yMax < t.y ? 0 : t.yMax - t.y),
  15036. this.currentBoxContains(t))
  15037. )
  15038. return;
  15039. var r = !1;
  15040. if (
  15041. (this.currentBBox.w !== t.width &&
  15042. ((this.currentBBox.w = t.width),
  15043. this.shapeCont.setAttribute('width', t.width),
  15044. (r = !0)),
  15045. this.currentBBox.h !== t.height &&
  15046. ((this.currentBBox.h = t.height),
  15047. this.shapeCont.setAttribute('height', t.height),
  15048. (r = !0)),
  15049. r ||
  15050. this.currentBBox.x !== t.x ||
  15051. this.currentBBox.y !== t.y)
  15052. ) {
  15053. (this.currentBBox.w = t.width),
  15054. (this.currentBBox.h = t.height),
  15055. (this.currentBBox.x = t.x),
  15056. (this.currentBBox.y = t.y),
  15057. this.shapeCont.setAttribute(
  15058. 'viewBox',
  15059. this.currentBBox.x +
  15060. ' ' +
  15061. this.currentBBox.y +
  15062. ' ' +
  15063. this.currentBBox.w +
  15064. ' ' +
  15065. this.currentBBox.h
  15066. );
  15067. var a = this.shapeCont.style,
  15068. i =
  15069. 'translate(' +
  15070. this.currentBBox.x +
  15071. 'px,' +
  15072. this.currentBBox.y +
  15073. 'px)';
  15074. (a.transform = i), (a.webkitTransform = i);
  15075. }
  15076. }
  15077. }),
  15078. extendPrototype(
  15079. [
  15080. BaseElement,
  15081. TransformElement,
  15082. HBaseElement,
  15083. HierarchyElement,
  15084. FrameElement,
  15085. RenderableDOMElement,
  15086. ITextElement
  15087. ],
  15088. HTextElement
  15089. ),
  15090. (HTextElement.prototype.createContent = function () {
  15091. if (((this.isMasked = this.checkMasks()), this.isMasked)) {
  15092. (this.renderType = 'svg'),
  15093. (this.compW = this.comp.data.w),
  15094. (this.compH = this.comp.data.h),
  15095. this.svgElement.setAttribute('width', this.compW),
  15096. this.svgElement.setAttribute('height', this.compH);
  15097. var t = createNS('g');
  15098. this.maskedElement.appendChild(t), (this.innerElem = t);
  15099. } else
  15100. (this.renderType = 'html'),
  15101. (this.innerElem = this.layerElement);
  15102. this.checkParenting();
  15103. }),
  15104. (HTextElement.prototype.buildNewText = function () {
  15105. var t = this.textProperty.currentData;
  15106. this.renderedLetters = createSizedArray(
  15107. t.l ? t.l.length : 0
  15108. );
  15109. var e = this.innerElem.style,
  15110. r = t.fc ? this.buildColor(t.fc) : 'rgba(0,0,0,0)';
  15111. (e.fill = r),
  15112. (e.color = r),
  15113. t.sc &&
  15114. ((e.stroke = this.buildColor(t.sc)),
  15115. (e.strokeWidth = t.sw + 'px'));
  15116. var a,
  15117. i,
  15118. s = this.globalData.fontManager.getFontByName(t.f);
  15119. if (!this.globalData.fontManager.chars)
  15120. if (
  15121. ((e.fontSize = t.finalSize + 'px'),
  15122. (e.lineHeight = t.finalSize + 'px'),
  15123. s.fClass)
  15124. )
  15125. this.innerElem.className = s.fClass;
  15126. else {
  15127. e.fontFamily = s.fFamily;
  15128. var n = t.fWeight,
  15129. o = t.fStyle;
  15130. (e.fontStyle = o), (e.fontWeight = n);
  15131. }
  15132. var l,
  15133. h,
  15134. p,
  15135. c = t.l;
  15136. i = c.length;
  15137. var d,
  15138. f = this.mHelper,
  15139. m = '',
  15140. u = 0;
  15141. for (a = 0; a < i; a += 1) {
  15142. if (
  15143. (this.globalData.fontManager.chars
  15144. ? (this.textPaths[u]
  15145. ? (l = this.textPaths[u])
  15146. : ((l = createNS('path')).setAttribute(
  15147. 'stroke-linecap',
  15148. lineCapEnum[1]
  15149. ),
  15150. l.setAttribute(
  15151. 'stroke-linejoin',
  15152. lineJoinEnum[2]
  15153. ),
  15154. l.setAttribute('stroke-miterlimit', '4')),
  15155. this.isMasked ||
  15156. (this.textSpans[u]
  15157. ? (p = (h = this.textSpans[u]).children[0])
  15158. : (((h =
  15159. createTag('div')).style.lineHeight = 0),
  15160. (p = createNS('svg')).appendChild(l),
  15161. styleDiv(h))))
  15162. : this.isMasked
  15163. ? (l = this.textPaths[u]
  15164. ? this.textPaths[u]
  15165. : createNS('text'))
  15166. : this.textSpans[u]
  15167. ? ((h = this.textSpans[u]), (l = this.textPaths[u]))
  15168. : (styleDiv((h = createTag('span'))),
  15169. styleDiv((l = createTag('span'))),
  15170. h.appendChild(l)),
  15171. this.globalData.fontManager.chars)
  15172. ) {
  15173. var g,
  15174. y = this.globalData.fontManager.getCharData(
  15175. t.finalText[a],
  15176. s.fStyle,
  15177. this.globalData.fontManager.getFontByName(t.f)
  15178. .fFamily
  15179. );
  15180. if (
  15181. ((g = y ? y.data : null),
  15182. f.reset(),
  15183. g &&
  15184. g.shapes &&
  15185. g.shapes.length &&
  15186. ((d = g.shapes[0].it),
  15187. f.scale(t.finalSize / 100, t.finalSize / 100),
  15188. (m = this.createPathShape(f, d)),
  15189. l.setAttribute('d', m)),
  15190. this.isMasked)
  15191. )
  15192. this.innerElem.appendChild(l);
  15193. else {
  15194. if ((this.innerElem.appendChild(h), g && g.shapes)) {
  15195. document.body.appendChild(p);
  15196. var v = p.getBBox();
  15197. p.setAttribute('width', v.width + 2),
  15198. p.setAttribute('height', v.height + 2),
  15199. p.setAttribute(
  15200. 'viewBox',
  15201. v.x -
  15202. 1 +
  15203. ' ' +
  15204. (v.y - 1) +
  15205. ' ' +
  15206. (v.width + 2) +
  15207. ' ' +
  15208. (v.height + 2)
  15209. );
  15210. var b = p.style,
  15211. _ =
  15212. 'translate(' +
  15213. (v.x - 1) +
  15214. 'px,' +
  15215. (v.y - 1) +
  15216. 'px)';
  15217. (b.transform = _),
  15218. (b.webkitTransform = _),
  15219. (c[a].yOffset = v.y - 1);
  15220. } else
  15221. p.setAttribute('width', 1),
  15222. p.setAttribute('height', 1);
  15223. h.appendChild(p);
  15224. }
  15225. } else if (
  15226. ((l.textContent = c[a].val),
  15227. l.setAttributeNS(
  15228. 'http://www.w3.org/XML/1998/namespace',
  15229. 'xml:space',
  15230. 'preserve'
  15231. ),
  15232. this.isMasked)
  15233. )
  15234. this.innerElem.appendChild(l);
  15235. else {
  15236. this.innerElem.appendChild(h);
  15237. var w = l.style,
  15238. A = 'translate3d(0,' + -t.finalSize / 1.2 + 'px,0)';
  15239. (w.transform = A), (w.webkitTransform = A);
  15240. }
  15241. this.isMasked
  15242. ? (this.textSpans[u] = l)
  15243. : (this.textSpans[u] = h),
  15244. (this.textSpans[u].style.display = 'block'),
  15245. (this.textPaths[u] = l),
  15246. (u += 1);
  15247. }
  15248. for (; u < this.textSpans.length; )
  15249. (this.textSpans[u].style.display = 'none'), (u += 1);
  15250. }),
  15251. (HTextElement.prototype.renderInnerContent = function () {
  15252. var t;
  15253. if ((this.validateText(), this.data.singleShape)) {
  15254. if (!this._isFirstFrame && !this.lettersChangedFlag)
  15255. return;
  15256. if (this.isMasked && this.finalTransform._matMdf) {
  15257. this.svgElement.setAttribute(
  15258. 'viewBox',
  15259. -this.finalTransform.mProp.p.v[0] +
  15260. ' ' +
  15261. -this.finalTransform.mProp.p.v[1] +
  15262. ' ' +
  15263. this.compW +
  15264. ' ' +
  15265. this.compH
  15266. ),
  15267. (t = this.svgElement.style);
  15268. var e =
  15269. 'translate(' +
  15270. -this.finalTransform.mProp.p.v[0] +
  15271. 'px,' +
  15272. -this.finalTransform.mProp.p.v[1] +
  15273. 'px)';
  15274. (t.transform = e), (t.webkitTransform = e);
  15275. }
  15276. }
  15277. if (
  15278. (this.textAnimator.getMeasures(
  15279. this.textProperty.currentData,
  15280. this.lettersChangedFlag
  15281. ),
  15282. this.lettersChangedFlag ||
  15283. this.textAnimator.lettersChangedFlag)
  15284. ) {
  15285. var r,
  15286. a,
  15287. i,
  15288. s,
  15289. n,
  15290. o = 0,
  15291. l = this.textAnimator.renderedLetters,
  15292. h = this.textProperty.currentData.l;
  15293. for (a = h.length, r = 0; r < a; r += 1)
  15294. h[r].n
  15295. ? (o += 1)
  15296. : ((s = this.textSpans[r]),
  15297. (n = this.textPaths[r]),
  15298. (i = l[o]),
  15299. (o += 1),
  15300. i._mdf.m &&
  15301. (this.isMasked
  15302. ? s.setAttribute('transform', i.m)
  15303. : ((s.style.webkitTransform = i.m),
  15304. (s.style.transform = i.m))),
  15305. (s.style.opacity = i.o),
  15306. i.sw &&
  15307. i._mdf.sw &&
  15308. n.setAttribute('stroke-width', i.sw),
  15309. i.sc && i._mdf.sc && n.setAttribute('stroke', i.sc),
  15310. i.fc &&
  15311. i._mdf.fc &&
  15312. (n.setAttribute('fill', i.fc),
  15313. (n.style.color = i.fc)));
  15314. if (
  15315. this.innerElem.getBBox &&
  15316. !this.hidden &&
  15317. (this._isFirstFrame || this._mdf)
  15318. ) {
  15319. var p = this.innerElem.getBBox();
  15320. if (
  15321. (this.currentBBox.w !== p.width &&
  15322. ((this.currentBBox.w = p.width),
  15323. this.svgElement.setAttribute('width', p.width)),
  15324. this.currentBBox.h !== p.height &&
  15325. ((this.currentBBox.h = p.height),
  15326. this.svgElement.setAttribute('height', p.height)),
  15327. this.currentBBox.w !== p.width + 2 ||
  15328. this.currentBBox.h !== p.height + 2 ||
  15329. this.currentBBox.x !== p.x - 1 ||
  15330. this.currentBBox.y !== p.y - 1)
  15331. ) {
  15332. (this.currentBBox.w = p.width + 2),
  15333. (this.currentBBox.h = p.height + 2),
  15334. (this.currentBBox.x = p.x - 1),
  15335. (this.currentBBox.y = p.y - 1),
  15336. this.svgElement.setAttribute(
  15337. 'viewBox',
  15338. this.currentBBox.x +
  15339. ' ' +
  15340. this.currentBBox.y +
  15341. ' ' +
  15342. this.currentBBox.w +
  15343. ' ' +
  15344. this.currentBBox.h
  15345. ),
  15346. (t = this.svgElement.style);
  15347. var c =
  15348. 'translate(' +
  15349. this.currentBBox.x +
  15350. 'px,' +
  15351. this.currentBBox.y +
  15352. 'px)';
  15353. (t.transform = c), (t.webkitTransform = c);
  15354. }
  15355. }
  15356. }
  15357. }),
  15358. extendPrototype(
  15359. [BaseElement, FrameElement, HierarchyElement],
  15360. HCameraElement
  15361. ),
  15362. (HCameraElement.prototype.setup = function () {
  15363. var t,
  15364. e,
  15365. r,
  15366. a,
  15367. i = this.comp.threeDElements.length;
  15368. for (t = 0; t < i; t += 1)
  15369. if ('3d' === (e = this.comp.threeDElements[t]).type) {
  15370. (r = e.perspectiveElem.style), (a = e.container.style);
  15371. var s = this.pe.v + 'px',
  15372. n = '0px 0px 0px',
  15373. o = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';
  15374. (r.perspective = s),
  15375. (r.webkitPerspective = s),
  15376. (a.transformOrigin = n),
  15377. (a.mozTransformOrigin = n),
  15378. (a.webkitTransformOrigin = n),
  15379. (r.transform = o),
  15380. (r.webkitTransform = o);
  15381. }
  15382. }),
  15383. (HCameraElement.prototype.createElements = function () {}),
  15384. (HCameraElement.prototype.hide = function () {}),
  15385. (HCameraElement.prototype.renderFrame = function () {
  15386. var t,
  15387. e,
  15388. r = this._isFirstFrame;
  15389. if (this.hierarchy)
  15390. for (e = this.hierarchy.length, t = 0; t < e; t += 1)
  15391. r = this.hierarchy[t].finalTransform.mProp._mdf || r;
  15392. if (
  15393. r ||
  15394. this.pe._mdf ||
  15395. (this.p && this.p._mdf) ||
  15396. (this.px &&
  15397. (this.px._mdf || this.py._mdf || this.pz._mdf)) ||
  15398. this.rx._mdf ||
  15399. this.ry._mdf ||
  15400. this.rz._mdf ||
  15401. this.or._mdf ||
  15402. (this.a && this.a._mdf)
  15403. ) {
  15404. if ((this.mat.reset(), this.hierarchy))
  15405. for (
  15406. t = e = this.hierarchy.length - 1;
  15407. t >= 0;
  15408. t -= 1
  15409. ) {
  15410. var a = this.hierarchy[t].finalTransform.mProp;
  15411. this.mat.translate(-a.p.v[0], -a.p.v[1], a.p.v[2]),
  15412. this.mat
  15413. .rotateX(-a.or.v[0])
  15414. .rotateY(-a.or.v[1])
  15415. .rotateZ(a.or.v[2]),
  15416. this.mat
  15417. .rotateX(-a.rx.v)
  15418. .rotateY(-a.ry.v)
  15419. .rotateZ(a.rz.v),
  15420. this.mat.scale(
  15421. 1 / a.s.v[0],
  15422. 1 / a.s.v[1],
  15423. 1 / a.s.v[2]
  15424. ),
  15425. this.mat.translate(a.a.v[0], a.a.v[1], a.a.v[2]);
  15426. }
  15427. if (
  15428. (this.p
  15429. ? this.mat.translate(
  15430. -this.p.v[0],
  15431. -this.p.v[1],
  15432. this.p.v[2]
  15433. )
  15434. : this.mat.translate(
  15435. -this.px.v,
  15436. -this.py.v,
  15437. this.pz.v
  15438. ),
  15439. this.a)
  15440. ) {
  15441. var i;
  15442. i = this.p
  15443. ? [
  15444. this.p.v[0] - this.a.v[0],
  15445. this.p.v[1] - this.a.v[1],
  15446. this.p.v[2] - this.a.v[2]
  15447. ]
  15448. : [
  15449. this.px.v - this.a.v[0],
  15450. this.py.v - this.a.v[1],
  15451. this.pz.v - this.a.v[2]
  15452. ];
  15453. var s = Math.sqrt(
  15454. Math.pow(i[0], 2) +
  15455. Math.pow(i[1], 2) +
  15456. Math.pow(i[2], 2)
  15457. ),
  15458. n = [i[0] / s, i[1] / s, i[2] / s],
  15459. o = Math.sqrt(n[2] * n[2] + n[0] * n[0]),
  15460. l = Math.atan2(n[1], o),
  15461. h = Math.atan2(n[0], -n[2]);
  15462. this.mat.rotateY(h).rotateX(-l);
  15463. }
  15464. this.mat
  15465. .rotateX(-this.rx.v)
  15466. .rotateY(-this.ry.v)
  15467. .rotateZ(this.rz.v),
  15468. this.mat
  15469. .rotateX(-this.or.v[0])
  15470. .rotateY(-this.or.v[1])
  15471. .rotateZ(this.or.v[2]),
  15472. this.mat.translate(
  15473. this.globalData.compSize.w / 2,
  15474. this.globalData.compSize.h / 2,
  15475. 0
  15476. ),
  15477. this.mat.translate(0, 0, this.pe.v);
  15478. var p = !this._prevMat.equals(this.mat);
  15479. if ((p || this.pe._mdf) && this.comp.threeDElements) {
  15480. var c, d, f;
  15481. for (
  15482. e = this.comp.threeDElements.length, t = 0;
  15483. t < e;
  15484. t += 1
  15485. )
  15486. if ('3d' === (c = this.comp.threeDElements[t]).type) {
  15487. if (p) {
  15488. var m = this.mat.toCSS();
  15489. ((f = c.container.style).transform = m),
  15490. (f.webkitTransform = m);
  15491. }
  15492. this.pe._mdf &&
  15493. (((d = c.perspectiveElem.style).perspective =
  15494. this.pe.v + 'px'),
  15495. (d.webkitPerspective = this.pe.v + 'px'));
  15496. }
  15497. this.mat.clone(this._prevMat);
  15498. }
  15499. }
  15500. this._isFirstFrame = !1;
  15501. }),
  15502. (HCameraElement.prototype.prepareFrame = function (t) {
  15503. this.prepareProperties(t, !0);
  15504. }),
  15505. (HCameraElement.prototype.destroy = function () {}),
  15506. (HCameraElement.prototype.getBaseElement = function () {
  15507. return null;
  15508. }),
  15509. extendPrototype(
  15510. [
  15511. BaseElement,
  15512. TransformElement,
  15513. HBaseElement,
  15514. HSolidElement,
  15515. HierarchyElement,
  15516. FrameElement,
  15517. RenderableElement
  15518. ],
  15519. HImageElement
  15520. ),
  15521. (HImageElement.prototype.createContent = function () {
  15522. var t = this.globalData.getAssetsPath(this.assetData),
  15523. e = new Image();
  15524. this.data.hasMask
  15525. ? ((this.imageElem = createNS('image')),
  15526. this.imageElem.setAttribute(
  15527. 'width',
  15528. this.assetData.w + 'px'
  15529. ),
  15530. this.imageElem.setAttribute(
  15531. 'height',
  15532. this.assetData.h + 'px'
  15533. ),
  15534. this.imageElem.setAttributeNS(
  15535. 'http://www.w3.org/1999/xlink',
  15536. 'href',
  15537. t
  15538. ),
  15539. this.layerElement.appendChild(this.imageElem),
  15540. this.baseElement.setAttribute(
  15541. 'width',
  15542. this.assetData.w
  15543. ),
  15544. this.baseElement.setAttribute(
  15545. 'height',
  15546. this.assetData.h
  15547. ))
  15548. : this.layerElement.appendChild(e),
  15549. (e.crossOrigin = 'anonymous'),
  15550. (e.src = t),
  15551. this.data.ln &&
  15552. this.baseElement.setAttribute('id', this.data.ln);
  15553. }),
  15554. extendPrototype([BaseRenderer], HybridRendererBase),
  15555. (HybridRendererBase.prototype.buildItem =
  15556. SVGRenderer.prototype.buildItem),
  15557. (HybridRendererBase.prototype.checkPendingElements =
  15558. function () {
  15559. for (; this.pendingElements.length; )
  15560. this.pendingElements.pop().checkParenting();
  15561. }),
  15562. (HybridRendererBase.prototype.appendElementInPos = function (
  15563. t,
  15564. e
  15565. ) {
  15566. var r = t.getBaseElement();
  15567. if (r) {
  15568. var a = this.layers[e];
  15569. if (a.ddd && this.supports3d) this.addTo3dContainer(r, e);
  15570. else if (this.threeDElements) this.addTo3dContainer(r, e);
  15571. else {
  15572. for (var i, s, n = 0; n < e; )
  15573. this.elements[n] &&
  15574. !0 !== this.elements[n] &&
  15575. this.elements[n].getBaseElement &&
  15576. ((s = this.elements[n]),
  15577. (i =
  15578. (this.layers[n].ddd
  15579. ? this.getThreeDContainerByPos(n)
  15580. : s.getBaseElement()) || i)),
  15581. (n += 1);
  15582. i
  15583. ? (a.ddd && this.supports3d) ||
  15584. this.layerElement.insertBefore(r, i)
  15585. : (a.ddd && this.supports3d) ||
  15586. this.layerElement.appendChild(r);
  15587. }
  15588. }
  15589. }),
  15590. (HybridRendererBase.prototype.createShape = function (t) {
  15591. return this.supports3d
  15592. ? new HShapeElement(t, this.globalData, this)
  15593. : new SVGShapeElement(t, this.globalData, this);
  15594. }),
  15595. (HybridRendererBase.prototype.createText = function (t) {
  15596. return this.supports3d
  15597. ? new HTextElement(t, this.globalData, this)
  15598. : new SVGTextLottieElement(t, this.globalData, this);
  15599. }),
  15600. (HybridRendererBase.prototype.createCamera = function (t) {
  15601. return (
  15602. (this.camera = new HCameraElement(
  15603. t,
  15604. this.globalData,
  15605. this
  15606. )),
  15607. this.camera
  15608. );
  15609. }),
  15610. (HybridRendererBase.prototype.createImage = function (t) {
  15611. return this.supports3d
  15612. ? new HImageElement(t, this.globalData, this)
  15613. : new IImageElement(t, this.globalData, this);
  15614. }),
  15615. (HybridRendererBase.prototype.createSolid = function (t) {
  15616. return this.supports3d
  15617. ? new HSolidElement(t, this.globalData, this)
  15618. : new ISolidElement(t, this.globalData, this);
  15619. }),
  15620. (HybridRendererBase.prototype.createNull =
  15621. SVGRenderer.prototype.createNull),
  15622. (HybridRendererBase.prototype.getThreeDContainerByPos =
  15623. function (t) {
  15624. for (var e = 0, r = this.threeDElements.length; e < r; ) {
  15625. if (
  15626. this.threeDElements[e].startPos <= t &&
  15627. this.threeDElements[e].endPos >= t
  15628. )
  15629. return this.threeDElements[e].perspectiveElem;
  15630. e += 1;
  15631. }
  15632. return null;
  15633. }),
  15634. (HybridRendererBase.prototype.createThreeDContainer =
  15635. function (t, e) {
  15636. var r,
  15637. a,
  15638. i = createTag('div');
  15639. styleDiv(i);
  15640. var s = createTag('div');
  15641. if ((styleDiv(s), '3d' === e)) {
  15642. ((r = i.style).width =
  15643. this.globalData.compSize.w + 'px'),
  15644. (r.height = this.globalData.compSize.h + 'px');
  15645. var n = '50% 50%';
  15646. (r.webkitTransformOrigin = n),
  15647. (r.mozTransformOrigin = n),
  15648. (r.transformOrigin = n);
  15649. var o = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';
  15650. ((a = s.style).transform = o), (a.webkitTransform = o);
  15651. }
  15652. i.appendChild(s);
  15653. var l = {
  15654. container: s,
  15655. perspectiveElem: i,
  15656. startPos: t,
  15657. endPos: t,
  15658. type: e
  15659. };
  15660. return this.threeDElements.push(l), l;
  15661. }),
  15662. (HybridRendererBase.prototype.build3dContainers =
  15663. function () {
  15664. var t,
  15665. e,
  15666. r = this.layers.length,
  15667. a = '';
  15668. for (t = 0; t < r; t += 1)
  15669. this.layers[t].ddd && 3 !== this.layers[t].ty
  15670. ? ('3d' !== a &&
  15671. ((a = '3d'),
  15672. (e = this.createThreeDContainer(t, '3d'))),
  15673. (e.endPos = Math.max(e.endPos, t)))
  15674. : ('2d' !== a &&
  15675. ((a = '2d'),
  15676. (e = this.createThreeDContainer(t, '2d'))),
  15677. (e.endPos = Math.max(e.endPos, t)));
  15678. for (
  15679. t = (r = this.threeDElements.length) - 1;
  15680. t >= 0;
  15681. t -= 1
  15682. )
  15683. this.resizerElem.appendChild(
  15684. this.threeDElements[t].perspectiveElem
  15685. );
  15686. }),
  15687. (HybridRendererBase.prototype.addTo3dContainer = function (
  15688. t,
  15689. e
  15690. ) {
  15691. for (var r = 0, a = this.threeDElements.length; r < a; ) {
  15692. if (e <= this.threeDElements[r].endPos) {
  15693. for (
  15694. var i, s = this.threeDElements[r].startPos;
  15695. s < e;
  15696. )
  15697. this.elements[s] &&
  15698. this.elements[s].getBaseElement &&
  15699. (i = this.elements[s].getBaseElement()),
  15700. (s += 1);
  15701. i
  15702. ? this.threeDElements[r].container.insertBefore(t, i)
  15703. : this.threeDElements[r].container.appendChild(t);
  15704. break;
  15705. }
  15706. r += 1;
  15707. }
  15708. }),
  15709. (HybridRendererBase.prototype.configAnimation = function (t) {
  15710. var e = createTag('div'),
  15711. r = this.animationItem.wrapper,
  15712. a = e.style;
  15713. (a.width = t.w + 'px'),
  15714. (a.height = t.h + 'px'),
  15715. (this.resizerElem = e),
  15716. styleDiv(e),
  15717. (a.transformStyle = 'flat'),
  15718. (a.mozTransformStyle = 'flat'),
  15719. (a.webkitTransformStyle = 'flat'),
  15720. this.renderConfig.className &&
  15721. e.setAttribute('class', this.renderConfig.className),
  15722. r.appendChild(e),
  15723. (a.overflow = 'hidden');
  15724. var i = createNS('svg');
  15725. i.setAttribute('width', '1'),
  15726. i.setAttribute('height', '1'),
  15727. styleDiv(i),
  15728. this.resizerElem.appendChild(i);
  15729. var s = createNS('defs');
  15730. i.appendChild(s),
  15731. (this.data = t),
  15732. this.setupGlobalData(t, i),
  15733. (this.globalData.defs = s),
  15734. (this.layers = t.layers),
  15735. (this.layerElement = this.resizerElem),
  15736. this.build3dContainers(),
  15737. this.updateContainerSize();
  15738. }),
  15739. (HybridRendererBase.prototype.destroy = function () {
  15740. var t;
  15741. this.animationItem.wrapper &&
  15742. (this.animationItem.wrapper.innerText = ''),
  15743. (this.animationItem.container = null),
  15744. (this.globalData.defs = null);
  15745. var e = this.layers ? this.layers.length : 0;
  15746. for (t = 0; t < e; t += 1)
  15747. this.elements[t] &&
  15748. this.elements[t].destroy &&
  15749. this.elements[t].destroy();
  15750. (this.elements.length = 0),
  15751. (this.destroyed = !0),
  15752. (this.animationItem = null);
  15753. }),
  15754. (HybridRendererBase.prototype.updateContainerSize =
  15755. function () {
  15756. var t,
  15757. e,
  15758. r,
  15759. a,
  15760. i = this.animationItem.wrapper.offsetWidth,
  15761. s = this.animationItem.wrapper.offsetHeight,
  15762. n = i / s;
  15763. this.globalData.compSize.w / this.globalData.compSize.h >
  15764. n
  15765. ? ((t = i / this.globalData.compSize.w),
  15766. (e = i / this.globalData.compSize.w),
  15767. (r = 0),
  15768. (a =
  15769. (s -
  15770. this.globalData.compSize.h *
  15771. (i / this.globalData.compSize.w)) /
  15772. 2))
  15773. : ((t = s / this.globalData.compSize.h),
  15774. (e = s / this.globalData.compSize.h),
  15775. (r =
  15776. (i -
  15777. this.globalData.compSize.w *
  15778. (s / this.globalData.compSize.h)) /
  15779. 2),
  15780. (a = 0));
  15781. var o = this.resizerElem.style;
  15782. (o.webkitTransform =
  15783. 'matrix3d(' +
  15784. t +
  15785. ',0,0,0,0,' +
  15786. e +
  15787. ',0,0,0,0,1,0,' +
  15788. r +
  15789. ',' +
  15790. a +
  15791. ',0,1)'),
  15792. (o.transform = o.webkitTransform);
  15793. }),
  15794. (HybridRendererBase.prototype.renderFrame =
  15795. SVGRenderer.prototype.renderFrame),
  15796. (HybridRendererBase.prototype.hide = function () {
  15797. this.resizerElem.style.display = 'none';
  15798. }),
  15799. (HybridRendererBase.prototype.show = function () {
  15800. this.resizerElem.style.display = 'block';
  15801. }),
  15802. (HybridRendererBase.prototype.initItems = function () {
  15803. if ((this.buildAllItems(), this.camera))
  15804. this.camera.setup();
  15805. else {
  15806. var t,
  15807. e = this.globalData.compSize.w,
  15808. r = this.globalData.compSize.h,
  15809. a = this.threeDElements.length;
  15810. for (t = 0; t < a; t += 1) {
  15811. var i = this.threeDElements[t].perspectiveElem.style;
  15812. (i.webkitPerspective =
  15813. Math.sqrt(Math.pow(e, 2) + Math.pow(r, 2)) + 'px'),
  15814. (i.perspective = i.webkitPerspective);
  15815. }
  15816. }
  15817. }),
  15818. (HybridRendererBase.prototype.searchExtraCompositions =
  15819. function (t) {
  15820. var e,
  15821. r = t.length,
  15822. a = createTag('div');
  15823. for (e = 0; e < r; e += 1)
  15824. if (t[e].xt) {
  15825. var i = this.createComp(
  15826. t[e],
  15827. a,
  15828. this.globalData.comp,
  15829. null
  15830. );
  15831. i.initExpressions(),
  15832. this.globalData.projectInterface.registerComposition(
  15833. i
  15834. );
  15835. }
  15836. }),
  15837. extendPrototype(
  15838. [HybridRendererBase, ICompElement, HBaseElement],
  15839. HCompElement
  15840. ),
  15841. (HCompElement.prototype._createBaseContainerElements =
  15842. HCompElement.prototype.createContainerElements),
  15843. (HCompElement.prototype.createContainerElements =
  15844. function () {
  15845. this._createBaseContainerElements(),
  15846. this.data.hasMask
  15847. ? (this.svgElement.setAttribute('width', this.data.w),
  15848. this.svgElement.setAttribute('height', this.data.h),
  15849. (this.transformedElement = this.baseElement))
  15850. : (this.transformedElement = this.layerElement);
  15851. }),
  15852. (HCompElement.prototype.addTo3dContainer = function (t, e) {
  15853. for (var r, a = 0; a < e; )
  15854. this.elements[a] &&
  15855. this.elements[a].getBaseElement &&
  15856. (r = this.elements[a].getBaseElement()),
  15857. (a += 1);
  15858. r
  15859. ? this.layerElement.insertBefore(t, r)
  15860. : this.layerElement.appendChild(t);
  15861. }),
  15862. (HCompElement.prototype.createComp = function (t) {
  15863. return this.supports3d
  15864. ? new HCompElement(t, this.globalData, this)
  15865. : new SVGCompElement(t, this.globalData, this);
  15866. }),
  15867. extendPrototype([HybridRendererBase], HybridRenderer),
  15868. (HybridRenderer.prototype.createComp = function (t) {
  15869. return this.supports3d
  15870. ? new HCompElement(t, this.globalData, this)
  15871. : new SVGCompElement(t, this.globalData, this);
  15872. });
  15873. var CompExpressionInterface = function (t) {
  15874. function e(e) {
  15875. for (var r = 0, a = t.layers.length; r < a; ) {
  15876. if (t.layers[r].nm === e || t.layers[r].ind === e)
  15877. return t.elements[r].layerInterface;
  15878. r += 1;
  15879. }
  15880. return null;
  15881. }
  15882. return (
  15883. Object.defineProperty(e, '_name', { value: t.data.nm }),
  15884. (e.layer = e),
  15885. (e.pixelAspect = 1),
  15886. (e.height = t.data.h || t.globalData.compSize.h),
  15887. (e.width = t.data.w || t.globalData.compSize.w),
  15888. (e.pixelAspect = 1),
  15889. (e.frameDuration = 1 / t.globalData.frameRate),
  15890. (e.displayStartTime = 0),
  15891. (e.numLayers = t.layers.length),
  15892. e
  15893. );
  15894. };
  15895. function _typeof$2(t) {
  15896. return (
  15897. (_typeof$2 =
  15898. 'function' == typeof Symbol &&
  15899. 'symbol' == typeof Symbol.iterator
  15900. ? function (t) {
  15901. return typeof t;
  15902. }
  15903. : function (t) {
  15904. return t &&
  15905. 'function' == typeof Symbol &&
  15906. t.constructor === Symbol &&
  15907. t !== Symbol.prototype
  15908. ? 'symbol'
  15909. : typeof t;
  15910. }),
  15911. _typeof$2(t)
  15912. );
  15913. }
  15914. function seedRandom(t, e) {
  15915. var r = this,
  15916. a = 256,
  15917. i = 'random',
  15918. s = e.pow(a, 6),
  15919. n = e.pow(2, 52),
  15920. o = 2 * n,
  15921. l = a - 1;
  15922. function h(t) {
  15923. var e,
  15924. r = t.length,
  15925. i = this,
  15926. s = 0,
  15927. n = (i.i = i.j = 0),
  15928. o = (i.S = []);
  15929. for (r || (t = [r++]); s < a; ) o[s] = s++;
  15930. for (s = 0; s < a; s++)
  15931. (o[s] = o[(n = l & (n + t[s % r] + (e = o[s])))]),
  15932. (o[n] = e);
  15933. i.g = function (t) {
  15934. for (var e, r = 0, s = i.i, n = i.j, o = i.S; t--; )
  15935. (e = o[(s = l & (s + 1))]),
  15936. (r =
  15937. r * a +
  15938. o[
  15939. l & ((o[s] = o[(n = l & (n + e))]) + (o[n] = e))
  15940. ]);
  15941. return (i.i = s), (i.j = n), r;
  15942. };
  15943. }
  15944. function p(t, e) {
  15945. return (e.i = t.i), (e.j = t.j), (e.S = t.S.slice()), e;
  15946. }
  15947. function c(t, e) {
  15948. var r,
  15949. a = [],
  15950. i = _typeof$2(t);
  15951. if (e && 'object' == i)
  15952. for (r in t)
  15953. try {
  15954. a.push(c(t[r], e - 1));
  15955. } catch (s) {}
  15956. return a.length ? a : 'string' == i ? t : t + '\0';
  15957. }
  15958. function d(t, e) {
  15959. for (var r, a = t + '', i = 0; i < a.length; )
  15960. e[l & i] = l & ((r ^= 19 * e[l & i]) + a.charCodeAt(i++));
  15961. return f(e);
  15962. }
  15963. function f(t) {
  15964. return String.fromCharCode.apply(0, t);
  15965. }
  15966. (e['seed' + i] = function (l, m, u) {
  15967. var g = [],
  15968. y = d(
  15969. c(
  15970. (m = !0 === m ? { entropy: !0 } : m || {}).entropy
  15971. ? [l, f(t)]
  15972. : null === l
  15973. ? (function () {
  15974. try {
  15975. var e = new Uint8Array(a);
  15976. return (
  15977. (r.crypto || r.msCrypto).getRandomValues(e),
  15978. f(e)
  15979. );
  15980. } catch (n) {
  15981. var i = r.navigator,
  15982. s = i && i.plugins;
  15983. return [+new Date(), r, s, r.screen, f(t)];
  15984. }
  15985. })()
  15986. : l,
  15987. 3
  15988. ),
  15989. g
  15990. ),
  15991. v = new h(g),
  15992. b = function () {
  15993. for (var t = v.g(6), e = s, r = 0; t < n; )
  15994. (t = (t + r) * a), (e *= a), (r = v.g(1));
  15995. for (; t >= o; ) (t /= 2), (e /= 2), (r >>>= 1);
  15996. return (t + r) / e;
  15997. };
  15998. return (
  15999. (b.int32 = function () {
  16000. return 0 | v.g(4);
  16001. }),
  16002. (b.quick = function () {
  16003. return v.g(4) / 4294967296;
  16004. }),
  16005. (b.double = b),
  16006. d(f(v.S), t),
  16007. (
  16008. m.pass ||
  16009. u ||
  16010. function (t, r, a, s) {
  16011. return (
  16012. s &&
  16013. (s.S && p(s, v),
  16014. (t.state = function () {
  16015. return p(v, {});
  16016. })),
  16017. a ? ((e[i] = t), r) : t
  16018. );
  16019. }
  16020. )(b, y, 'global' in m ? m.global : this == e, m.state)
  16021. );
  16022. }),
  16023. d(e.random(), t);
  16024. }
  16025. function initialize$2(t) {
  16026. seedRandom([], t);
  16027. }
  16028. var propTypes = { SHAPE: 'shape' };
  16029. function _typeof$1(t) {
  16030. return (
  16031. (_typeof$1 =
  16032. 'function' == typeof Symbol &&
  16033. 'symbol' == typeof Symbol.iterator
  16034. ? function (t) {
  16035. return typeof t;
  16036. }
  16037. : function (t) {
  16038. return t &&
  16039. 'function' == typeof Symbol &&
  16040. t.constructor === Symbol &&
  16041. t !== Symbol.prototype
  16042. ? 'symbol'
  16043. : typeof t;
  16044. }),
  16045. _typeof$1(t)
  16046. );
  16047. }
  16048. var ExpressionManager = (function () {
  16049. var ob = {},
  16050. Math = BMMath,
  16051. window = null,
  16052. document = null,
  16053. XMLHttpRequest = null,
  16054. fetch = null,
  16055. frames = null,
  16056. _lottieGlobal = {};
  16057. function resetFrame() {
  16058. _lottieGlobal = {};
  16059. }
  16060. function $bm_isInstanceOfArray(t) {
  16061. return (
  16062. t.constructor === Array ||
  16063. t.constructor === Float32Array
  16064. );
  16065. }
  16066. function isNumerable(t, e) {
  16067. return (
  16068. 'number' === t ||
  16069. e instanceof Number ||
  16070. 'boolean' === t ||
  16071. 'string' === t
  16072. );
  16073. }
  16074. function $bm_neg(t) {
  16075. var e = _typeof$1(t);
  16076. if (
  16077. 'number' === e ||
  16078. t instanceof Number ||
  16079. 'boolean' === e
  16080. )
  16081. return -t;
  16082. if ($bm_isInstanceOfArray(t)) {
  16083. var r,
  16084. a = t.length,
  16085. i = [];
  16086. for (r = 0; r < a; r += 1) i[r] = -t[r];
  16087. return i;
  16088. }
  16089. return t.propType ? t.v : -t;
  16090. }
  16091. initialize$2(BMMath);
  16092. var easeInBez = BezierFactory.getBezierEasing(
  16093. 0.333,
  16094. 0,
  16095. 0.833,
  16096. 0.833,
  16097. 'easeIn'
  16098. ).get,
  16099. easeOutBez = BezierFactory.getBezierEasing(
  16100. 0.167,
  16101. 0.167,
  16102. 0.667,
  16103. 1,
  16104. 'easeOut'
  16105. ).get,
  16106. easeInOutBez = BezierFactory.getBezierEasing(
  16107. 0.33,
  16108. 0,
  16109. 0.667,
  16110. 1,
  16111. 'easeInOut'
  16112. ).get;
  16113. function sum(t, e) {
  16114. var r = _typeof$1(t),
  16115. a = _typeof$1(e);
  16116. if (
  16117. (isNumerable(r, t) && isNumerable(a, e)) ||
  16118. 'string' === r ||
  16119. 'string' === a
  16120. )
  16121. return t + e;
  16122. if ($bm_isInstanceOfArray(t) && isNumerable(a, e))
  16123. return ((t = t.slice(0))[0] += e), t;
  16124. if (isNumerable(r, t) && $bm_isInstanceOfArray(e))
  16125. return ((e = e.slice(0))[0] = t + e[0]), e;
  16126. if (
  16127. $bm_isInstanceOfArray(t) &&
  16128. $bm_isInstanceOfArray(e)
  16129. ) {
  16130. for (
  16131. var i = 0, s = t.length, n = e.length, o = [];
  16132. i < s || i < n;
  16133. )
  16134. ('number' == typeof t[i] || t[i] instanceof Number) &&
  16135. ('number' == typeof e[i] || e[i] instanceof Number)
  16136. ? (o[i] = t[i] + e[i])
  16137. : (o[i] = void 0 === e[i] ? t[i] : t[i] || e[i]),
  16138. (i += 1);
  16139. return o;
  16140. }
  16141. return 0;
  16142. }
  16143. var add = sum;
  16144. function sub(t, e) {
  16145. var r = _typeof$1(t),
  16146. a = _typeof$1(e);
  16147. if (isNumerable(r, t) && isNumerable(a, e))
  16148. return (
  16149. 'string' === r && (t = parseInt(t, 10)),
  16150. 'string' === a && (e = parseInt(e, 10)),
  16151. t - e
  16152. );
  16153. if ($bm_isInstanceOfArray(t) && isNumerable(a, e))
  16154. return ((t = t.slice(0))[0] -= e), t;
  16155. if (isNumerable(r, t) && $bm_isInstanceOfArray(e))
  16156. return ((e = e.slice(0))[0] = t - e[0]), e;
  16157. if (
  16158. $bm_isInstanceOfArray(t) &&
  16159. $bm_isInstanceOfArray(e)
  16160. ) {
  16161. for (
  16162. var i = 0, s = t.length, n = e.length, o = [];
  16163. i < s || i < n;
  16164. )
  16165. ('number' == typeof t[i] || t[i] instanceof Number) &&
  16166. ('number' == typeof e[i] || e[i] instanceof Number)
  16167. ? (o[i] = t[i] - e[i])
  16168. : (o[i] = void 0 === e[i] ? t[i] : t[i] || e[i]),
  16169. (i += 1);
  16170. return o;
  16171. }
  16172. return 0;
  16173. }
  16174. function mul(t, e) {
  16175. var r,
  16176. a,
  16177. i,
  16178. s = _typeof$1(t),
  16179. n = _typeof$1(e);
  16180. if (isNumerable(s, t) && isNumerable(n, e)) return t * e;
  16181. if ($bm_isInstanceOfArray(t) && isNumerable(n, e)) {
  16182. for (
  16183. i = t.length,
  16184. r = createTypedArray('float32', i),
  16185. a = 0;
  16186. a < i;
  16187. a += 1
  16188. )
  16189. r[a] = t[a] * e;
  16190. return r;
  16191. }
  16192. if (isNumerable(s, t) && $bm_isInstanceOfArray(e)) {
  16193. for (
  16194. i = e.length,
  16195. r = createTypedArray('float32', i),
  16196. a = 0;
  16197. a < i;
  16198. a += 1
  16199. )
  16200. r[a] = t * e[a];
  16201. return r;
  16202. }
  16203. return 0;
  16204. }
  16205. function div(t, e) {
  16206. var r,
  16207. a,
  16208. i,
  16209. s = _typeof$1(t),
  16210. n = _typeof$1(e);
  16211. if (isNumerable(s, t) && isNumerable(n, e)) return t / e;
  16212. if ($bm_isInstanceOfArray(t) && isNumerable(n, e)) {
  16213. for (
  16214. i = t.length,
  16215. r = createTypedArray('float32', i),
  16216. a = 0;
  16217. a < i;
  16218. a += 1
  16219. )
  16220. r[a] = t[a] / e;
  16221. return r;
  16222. }
  16223. if (isNumerable(s, t) && $bm_isInstanceOfArray(e)) {
  16224. for (
  16225. i = e.length,
  16226. r = createTypedArray('float32', i),
  16227. a = 0;
  16228. a < i;
  16229. a += 1
  16230. )
  16231. r[a] = t / e[a];
  16232. return r;
  16233. }
  16234. return 0;
  16235. }
  16236. function mod(t, e) {
  16237. return (
  16238. 'string' == typeof t && (t = parseInt(t, 10)),
  16239. 'string' == typeof e && (e = parseInt(e, 10)),
  16240. t % e
  16241. );
  16242. }
  16243. var $bm_sum = sum,
  16244. $bm_sub = sub,
  16245. $bm_mul = mul,
  16246. $bm_div = div,
  16247. $bm_mod = mod;
  16248. function clamp(t, e, r) {
  16249. if (e > r) {
  16250. var a = r;
  16251. (r = e), (e = a);
  16252. }
  16253. return Math.min(Math.max(t, e), r);
  16254. }
  16255. function radiansToDegrees(t) {
  16256. return t / degToRads;
  16257. }
  16258. var radians_to_degrees = radiansToDegrees;
  16259. function degreesToRadians(t) {
  16260. return t * degToRads;
  16261. }
  16262. var degrees_to_radians = radiansToDegrees,
  16263. helperLengthArray = [0, 0, 0, 0, 0, 0];
  16264. function length(t, e) {
  16265. if ('number' == typeof t || t instanceof Number)
  16266. return (e = e || 0), Math.abs(t - e);
  16267. var r;
  16268. e || (e = helperLengthArray);
  16269. var a = Math.min(t.length, e.length),
  16270. i = 0;
  16271. for (r = 0; r < a; r += 1) i += Math.pow(e[r] - t[r], 2);
  16272. return Math.sqrt(i);
  16273. }
  16274. function normalize(t) {
  16275. return div(t, length(t));
  16276. }
  16277. function rgbToHsl(t) {
  16278. var e,
  16279. r,
  16280. a = t[0],
  16281. i = t[1],
  16282. s = t[2],
  16283. n = Math.max(a, i, s),
  16284. o = Math.min(a, i, s),
  16285. l = (n + o) / 2;
  16286. if (n === o) (e = 0), (r = 0);
  16287. else {
  16288. var h = n - o;
  16289. switch (
  16290. ((r = l > 0.5 ? h / (2 - n - o) : h / (n + o)), n)
  16291. ) {
  16292. case a:
  16293. e = (i - s) / h + (i < s ? 6 : 0);
  16294. break;
  16295. case i:
  16296. e = (s - a) / h + 2;
  16297. break;
  16298. case s:
  16299. e = (a - i) / h + 4;
  16300. }
  16301. e /= 6;
  16302. }
  16303. return [e, r, l, t[3]];
  16304. }
  16305. function hue2rgb(t, e, r) {
  16306. return (
  16307. r < 0 && (r += 1),
  16308. r > 1 && (r -= 1),
  16309. r < 1 / 6
  16310. ? t + 6 * (e - t) * r
  16311. : r < 0.5
  16312. ? e
  16313. : r < 2 / 3
  16314. ? t + (e - t) * (2 / 3 - r) * 6
  16315. : t
  16316. );
  16317. }
  16318. function hslToRgb(t) {
  16319. var e,
  16320. r,
  16321. a,
  16322. i = t[0],
  16323. s = t[1],
  16324. n = t[2];
  16325. if (0 === s) (e = n), (a = n), (r = n);
  16326. else {
  16327. var o = n < 0.5 ? n * (1 + s) : n + s - n * s,
  16328. l = 2 * n - o;
  16329. (e = hue2rgb(l, o, i + 1 / 3)),
  16330. (r = hue2rgb(l, o, i)),
  16331. (a = hue2rgb(l, o, i - 1 / 3));
  16332. }
  16333. return [e, r, a, t[3]];
  16334. }
  16335. function linear(t, e, r, a, i) {
  16336. if (
  16337. ((void 0 !== a && void 0 !== i) ||
  16338. ((a = e), (i = r), (e = 0), (r = 1)),
  16339. r < e)
  16340. ) {
  16341. var s = r;
  16342. (r = e), (e = s);
  16343. }
  16344. if (t <= e) return a;
  16345. if (t >= r) return i;
  16346. var n,
  16347. o = r === e ? 0 : (t - e) / (r - e);
  16348. if (!a.length) return a + (i - a) * o;
  16349. var l = a.length,
  16350. h = createTypedArray('float32', l);
  16351. for (n = 0; n < l; n += 1)
  16352. h[n] = a[n] + (i[n] - a[n]) * o;
  16353. return h;
  16354. }
  16355. function random(t, e) {
  16356. if (
  16357. (void 0 === e &&
  16358. (void 0 === t
  16359. ? ((t = 0), (e = 1))
  16360. : ((e = t), (t = void 0))),
  16361. e.length)
  16362. ) {
  16363. var r,
  16364. a = e.length;
  16365. t || (t = createTypedArray('float32', a));
  16366. var i = createTypedArray('float32', a),
  16367. s = BMMath.random();
  16368. for (r = 0; r < a; r += 1)
  16369. i[r] = t[r] + s * (e[r] - t[r]);
  16370. return i;
  16371. }
  16372. return (
  16373. void 0 === t && (t = 0), t + BMMath.random() * (e - t)
  16374. );
  16375. }
  16376. function createPath(t, e, r, a) {
  16377. var i,
  16378. s = t.length,
  16379. n = shapePool.newElement();
  16380. n.setPathData(!!a, s);
  16381. var o,
  16382. l,
  16383. h = [0, 0];
  16384. for (i = 0; i < s; i += 1)
  16385. (o = e && e[i] ? e[i] : h),
  16386. (l = r && r[i] ? r[i] : h),
  16387. n.setTripleAt(
  16388. t[i][0],
  16389. t[i][1],
  16390. l[0] + t[i][0],
  16391. l[1] + t[i][1],
  16392. o[0] + t[i][0],
  16393. o[1] + t[i][1],
  16394. i,
  16395. !0
  16396. );
  16397. return n;
  16398. }
  16399. function initiateExpression(elem, data, property) {
  16400. function noOp(t) {
  16401. return t;
  16402. }
  16403. if (!elem.globalData.renderConfig.runExpressions)
  16404. return noOp;
  16405. var val = data.x,
  16406. needsVelocity = /velocity(?![\w\d])/.test(val),
  16407. _needsRandom = -1 !== val.indexOf('random'),
  16408. elemType = elem.data.ty,
  16409. transform,
  16410. $bm_transform,
  16411. content,
  16412. effect,
  16413. thisProperty = property;
  16414. (thisProperty.valueAtTime = thisProperty.getValueAtTime),
  16415. Object.defineProperty(thisProperty, 'value', {
  16416. get: function () {
  16417. return thisProperty.v;
  16418. }
  16419. }),
  16420. (elem.comp.frameDuration =
  16421. 1 / elem.comp.globalData.frameRate),
  16422. (elem.comp.displayStartTime = 0);
  16423. var inPoint =
  16424. elem.data.ip / elem.comp.globalData.frameRate,
  16425. outPoint =
  16426. elem.data.op / elem.comp.globalData.frameRate,
  16427. width = elem.data.sw ? elem.data.sw : 0,
  16428. height = elem.data.sh ? elem.data.sh : 0,
  16429. name = elem.data.nm,
  16430. loopIn,
  16431. loop_in,
  16432. loopOut,
  16433. loop_out,
  16434. smooth,
  16435. toWorld,
  16436. fromWorld,
  16437. fromComp,
  16438. toComp,
  16439. fromCompToSurface,
  16440. position,
  16441. rotation,
  16442. anchorPoint,
  16443. scale,
  16444. thisLayer,
  16445. thisComp,
  16446. mask,
  16447. valueAtTime,
  16448. velocityAtTime,
  16449. scoped_bm_rt,
  16450. expression_function = eval(
  16451. '[function _expression_function(){' +
  16452. val +
  16453. ';scoped_bm_rt=$bm_rt}]'
  16454. )[0],
  16455. numKeys = property.kf ? data.k.length : 0,
  16456. active = !this.data || !0 !== this.data.hd,
  16457. wiggle = function (t, e) {
  16458. var r,
  16459. a,
  16460. i = this.pv.length ? this.pv.length : 1,
  16461. s = createTypedArray('float32', i),
  16462. n = Math.floor(5 * time);
  16463. for (r = 0, a = 0; r < n; ) {
  16464. for (a = 0; a < i; a += 1)
  16465. s[a] += -e + 2 * e * BMMath.random();
  16466. r += 1;
  16467. }
  16468. var o = 5 * time,
  16469. l = o - Math.floor(o),
  16470. h = createTypedArray('float32', i);
  16471. if (i > 1) {
  16472. for (a = 0; a < i; a += 1)
  16473. h[a] =
  16474. this.pv[a] +
  16475. s[a] +
  16476. (-e + 2 * e * BMMath.random()) * l;
  16477. return h;
  16478. }
  16479. return (
  16480. this.pv + s[0] + (-e + 2 * e * BMMath.random()) * l
  16481. );
  16482. }.bind(this);
  16483. function loopInDuration(t, e) {
  16484. return loopIn(t, e, !0);
  16485. }
  16486. function loopOutDuration(t, e) {
  16487. return loopOut(t, e, !0);
  16488. }
  16489. thisProperty.loopIn &&
  16490. ((loopIn = thisProperty.loopIn.bind(thisProperty)),
  16491. (loop_in = loopIn)),
  16492. thisProperty.loopOut &&
  16493. ((loopOut = thisProperty.loopOut.bind(thisProperty)),
  16494. (loop_out = loopOut)),
  16495. thisProperty.smooth &&
  16496. (smooth = thisProperty.smooth.bind(thisProperty)),
  16497. this.getValueAtTime &&
  16498. (valueAtTime = this.getValueAtTime.bind(this)),
  16499. this.getVelocityAtTime &&
  16500. (velocityAtTime = this.getVelocityAtTime.bind(this));
  16501. var comp = elem.comp.globalData.projectInterface.bind(
  16502. elem.comp.globalData.projectInterface
  16503. ),
  16504. time,
  16505. velocity,
  16506. value,
  16507. text,
  16508. textIndex,
  16509. textTotal,
  16510. selectorValue;
  16511. function lookAt(t, e) {
  16512. var r = [e[0] - t[0], e[1] - t[1], e[2] - t[2]],
  16513. a =
  16514. Math.atan2(
  16515. r[0],
  16516. Math.sqrt(r[1] * r[1] + r[2] * r[2])
  16517. ) / degToRads;
  16518. return [-Math.atan2(r[1], r[2]) / degToRads, a, 0];
  16519. }
  16520. function easeOut(t, e, r, a, i) {
  16521. return applyEase(easeOutBez, t, e, r, a, i);
  16522. }
  16523. function easeIn(t, e, r, a, i) {
  16524. return applyEase(easeInBez, t, e, r, a, i);
  16525. }
  16526. function ease(t, e, r, a, i) {
  16527. return applyEase(easeInOutBez, t, e, r, a, i);
  16528. }
  16529. function applyEase(t, e, r, a, i, s) {
  16530. void 0 === i
  16531. ? ((i = r), (s = a))
  16532. : (e = (e - r) / (a - r)),
  16533. e > 1 ? (e = 1) : e < 0 && (e = 0);
  16534. var n = t(e);
  16535. if ($bm_isInstanceOfArray(i)) {
  16536. var o,
  16537. l = i.length,
  16538. h = createTypedArray('float32', l);
  16539. for (o = 0; o < l; o += 1)
  16540. h[o] = (s[o] - i[o]) * n + i[o];
  16541. return h;
  16542. }
  16543. return (s - i) * n + i;
  16544. }
  16545. function nearestKey(t) {
  16546. var e,
  16547. r,
  16548. a,
  16549. i = data.k.length;
  16550. if (data.k.length && 'number' != typeof data.k[0])
  16551. if (
  16552. ((r = -1),
  16553. (t *= elem.comp.globalData.frameRate) < data.k[0].t)
  16554. )
  16555. (r = 1), (a = data.k[0].t);
  16556. else {
  16557. for (e = 0; e < i - 1; e += 1) {
  16558. if (t === data.k[e].t) {
  16559. (r = e + 1), (a = data.k[e].t);
  16560. break;
  16561. }
  16562. if (t > data.k[e].t && t < data.k[e + 1].t) {
  16563. t - data.k[e].t > data.k[e + 1].t - t
  16564. ? ((r = e + 2), (a = data.k[e + 1].t))
  16565. : ((r = e + 1), (a = data.k[e].t));
  16566. break;
  16567. }
  16568. }
  16569. -1 === r && ((r = e + 1), (a = data.k[e].t));
  16570. }
  16571. else (r = 0), (a = 0);
  16572. var s = {};
  16573. return (
  16574. (s.index = r),
  16575. (s.time = a / elem.comp.globalData.frameRate),
  16576. s
  16577. );
  16578. }
  16579. function key(t) {
  16580. var e, r, a;
  16581. if (!data.k.length || 'number' == typeof data.k[0])
  16582. throw new Error(
  16583. 'The property has no keyframe at index ' + t
  16584. );
  16585. (t -= 1),
  16586. (e = {
  16587. time: data.k[t].t / elem.comp.globalData.frameRate,
  16588. value: []
  16589. });
  16590. var i = Object.prototype.hasOwnProperty.call(
  16591. data.k[t],
  16592. 's'
  16593. )
  16594. ? data.k[t].s
  16595. : data.k[t - 1].e;
  16596. for (a = i.length, r = 0; r < a; r += 1)
  16597. (e[r] = i[r]), (e.value[r] = i[r]);
  16598. return e;
  16599. }
  16600. function framesToTime(t, e) {
  16601. return e || (e = elem.comp.globalData.frameRate), t / e;
  16602. }
  16603. function timeToFrames(t, e) {
  16604. return (
  16605. t || 0 === t || (t = time),
  16606. e || (e = elem.comp.globalData.frameRate),
  16607. t * e
  16608. );
  16609. }
  16610. function seedRandom(t) {
  16611. BMMath.seedrandom(randSeed + t);
  16612. }
  16613. function sourceRectAtTime() {
  16614. return elem.sourceRectAtTime();
  16615. }
  16616. function substring(t, e) {
  16617. return 'string' == typeof value
  16618. ? void 0 === e
  16619. ? value.substring(t)
  16620. : value.substring(t, e)
  16621. : '';
  16622. }
  16623. function substr(t, e) {
  16624. return 'string' == typeof value
  16625. ? void 0 === e
  16626. ? value.substr(t)
  16627. : value.substr(t, e)
  16628. : '';
  16629. }
  16630. function posterizeTime(t) {
  16631. (time = 0 === t ? 0 : Math.floor(time * t) / t),
  16632. (value = valueAtTime(time));
  16633. }
  16634. var index = elem.data.ind,
  16635. hasParent = !(
  16636. !elem.hierarchy || !elem.hierarchy.length
  16637. ),
  16638. parent,
  16639. randSeed = Math.floor(1e6 * Math.random()),
  16640. globalData = elem.globalData;
  16641. function executeExpression(t) {
  16642. return (
  16643. (value = t),
  16644. this.frameExpressionId === elem.globalData.frameId &&
  16645. 'textSelector' !== this.propType
  16646. ? value
  16647. : ('textSelector' === this.propType &&
  16648. ((textIndex = this.textIndex),
  16649. (textTotal = this.textTotal),
  16650. (selectorValue = this.selectorValue)),
  16651. thisLayer ||
  16652. ((text = elem.layerInterface.text),
  16653. (thisLayer = elem.layerInterface),
  16654. (thisComp = elem.comp.compInterface),
  16655. (toWorld = thisLayer.toWorld.bind(thisLayer)),
  16656. (fromWorld =
  16657. thisLayer.fromWorld.bind(thisLayer)),
  16658. (fromComp = thisLayer.fromComp.bind(thisLayer)),
  16659. (toComp = thisLayer.toComp.bind(thisLayer)),
  16660. (mask = thisLayer.mask
  16661. ? thisLayer.mask.bind(thisLayer)
  16662. : null),
  16663. (fromCompToSurface = fromComp)),
  16664. transform ||
  16665. ((transform = elem.layerInterface(
  16666. 'ADBE Transform Group'
  16667. )),
  16668. ($bm_transform = transform),
  16669. transform &&
  16670. (anchorPoint = transform.anchorPoint)),
  16671. 4 !== elemType ||
  16672. content ||
  16673. (content = thisLayer(
  16674. 'ADBE Root Vectors Group'
  16675. )),
  16676. effect || (effect = thisLayer(4)),
  16677. (hasParent = !(
  16678. !elem.hierarchy || !elem.hierarchy.length
  16679. )) &&
  16680. !parent &&
  16681. (parent = elem.hierarchy[0].layerInterface),
  16682. (time =
  16683. this.comp.renderedFrame /
  16684. this.comp.globalData.frameRate),
  16685. _needsRandom && seedRandom(randSeed + time),
  16686. needsVelocity &&
  16687. (velocity = velocityAtTime(time)),
  16688. expression_function(),
  16689. (this.frameExpressionId =
  16690. elem.globalData.frameId),
  16691. (scoped_bm_rt =
  16692. scoped_bm_rt.propType === propTypes.SHAPE
  16693. ? scoped_bm_rt.v
  16694. : scoped_bm_rt))
  16695. );
  16696. }
  16697. return (
  16698. (executeExpression.__preventDeadCodeRemoval = [
  16699. $bm_transform,
  16700. anchorPoint,
  16701. time,
  16702. velocity,
  16703. inPoint,
  16704. outPoint,
  16705. width,
  16706. height,
  16707. name,
  16708. loop_in,
  16709. loop_out,
  16710. smooth,
  16711. toComp,
  16712. fromCompToSurface,
  16713. toWorld,
  16714. fromWorld,
  16715. mask,
  16716. position,
  16717. rotation,
  16718. scale,
  16719. thisComp,
  16720. numKeys,
  16721. active,
  16722. wiggle,
  16723. loopInDuration,
  16724. loopOutDuration,
  16725. comp,
  16726. lookAt,
  16727. easeOut,
  16728. easeIn,
  16729. ease,
  16730. nearestKey,
  16731. key,
  16732. text,
  16733. textIndex,
  16734. textTotal,
  16735. selectorValue,
  16736. framesToTime,
  16737. timeToFrames,
  16738. sourceRectAtTime,
  16739. substring,
  16740. substr,
  16741. posterizeTime,
  16742. index,
  16743. globalData
  16744. ]),
  16745. executeExpression
  16746. );
  16747. }
  16748. return (
  16749. (ob.initiateExpression = initiateExpression),
  16750. (ob.__preventDeadCodeRemoval = [
  16751. window,
  16752. document,
  16753. XMLHttpRequest,
  16754. fetch,
  16755. frames,
  16756. $bm_neg,
  16757. add,
  16758. $bm_sum,
  16759. $bm_sub,
  16760. $bm_mul,
  16761. $bm_div,
  16762. $bm_mod,
  16763. clamp,
  16764. radians_to_degrees,
  16765. degreesToRadians,
  16766. degrees_to_radians,
  16767. normalize,
  16768. rgbToHsl,
  16769. hslToRgb,
  16770. linear,
  16771. random,
  16772. createPath,
  16773. _lottieGlobal
  16774. ]),
  16775. (ob.resetFrame = resetFrame),
  16776. ob
  16777. );
  16778. })(),
  16779. Expressions = (function () {
  16780. var t = {
  16781. initExpressions: function (t) {
  16782. var e = 0,
  16783. r = [];
  16784. (t.renderer.compInterface = CompExpressionInterface(
  16785. t.renderer
  16786. )),
  16787. t.renderer.globalData.projectInterface.registerComposition(
  16788. t.renderer
  16789. ),
  16790. (t.renderer.globalData.pushExpression = function () {
  16791. e += 1;
  16792. }),
  16793. (t.renderer.globalData.popExpression = function () {
  16794. 0 == (e -= 1) &&
  16795. (function () {
  16796. var t,
  16797. e = r.length;
  16798. for (t = 0; t < e; t += 1) r[t].release();
  16799. r.length = 0;
  16800. })();
  16801. }),
  16802. (t.renderer.globalData.registerExpressionProperty =
  16803. function (t) {
  16804. -1 === r.indexOf(t) && r.push(t);
  16805. });
  16806. }
  16807. };
  16808. return (t.resetFrame = ExpressionManager.resetFrame), t;
  16809. })(),
  16810. MaskManagerInterface = (function () {
  16811. function t(t, e) {
  16812. (this._mask = t), (this._data = e);
  16813. }
  16814. return (
  16815. Object.defineProperty(t.prototype, 'maskPath', {
  16816. get: function () {
  16817. return (
  16818. this._mask.prop.k && this._mask.prop.getValue(),
  16819. this._mask.prop
  16820. );
  16821. }
  16822. }),
  16823. Object.defineProperty(t.prototype, 'maskOpacity', {
  16824. get: function () {
  16825. return (
  16826. this._mask.op.k && this._mask.op.getValue(),
  16827. 100 * this._mask.op.v
  16828. );
  16829. }
  16830. }),
  16831. function (e) {
  16832. var r,
  16833. a = createSizedArray(e.viewData.length),
  16834. i = e.viewData.length;
  16835. for (r = 0; r < i; r += 1)
  16836. a[r] = new t(e.viewData[r], e.masksProperties[r]);
  16837. return function (t) {
  16838. for (r = 0; r < i; ) {
  16839. if (e.masksProperties[r].nm === t) return a[r];
  16840. r += 1;
  16841. }
  16842. return null;
  16843. };
  16844. }
  16845. );
  16846. })(),
  16847. ExpressionPropertyInterface = (function () {
  16848. var t = { pv: 0, v: 0, mult: 1 },
  16849. e = { pv: [0, 0, 0], v: [0, 0, 0], mult: 1 };
  16850. function r(t, e, r) {
  16851. Object.defineProperty(t, 'velocity', {
  16852. get: function () {
  16853. return e.getVelocityAtTime(e.comp.currentFrame);
  16854. }
  16855. }),
  16856. (t.numKeys = e.keyframes ? e.keyframes.length : 0),
  16857. (t.key = function (a) {
  16858. if (!t.numKeys) return 0;
  16859. var i = '';
  16860. i =
  16861. 's' in e.keyframes[a - 1]
  16862. ? e.keyframes[a - 1].s
  16863. : 'e' in e.keyframes[a - 2]
  16864. ? e.keyframes[a - 2].e
  16865. : e.keyframes[a - 2].s;
  16866. var s =
  16867. 'unidimensional' === r
  16868. ? new Number(i)
  16869. : Object.assign({}, i);
  16870. return (
  16871. (s.time =
  16872. e.keyframes[a - 1].t /
  16873. e.elem.comp.globalData.frameRate),
  16874. (s.value = 'unidimensional' === r ? i[0] : i),
  16875. s
  16876. );
  16877. }),
  16878. (t.valueAtTime = e.getValueAtTime),
  16879. (t.speedAtTime = e.getSpeedAtTime),
  16880. (t.velocityAtTime = e.getVelocityAtTime),
  16881. (t.propertyGroup = e.propertyGroup);
  16882. }
  16883. function a() {
  16884. return t;
  16885. }
  16886. return function (i) {
  16887. return i
  16888. ? 'unidimensional' === i.propType
  16889. ? (function (e) {
  16890. (e && 'pv' in e) || (e = t);
  16891. var a = 1 / e.mult,
  16892. i = e.pv * a,
  16893. s = new Number(i);
  16894. return (
  16895. (s.value = i),
  16896. r(s, e, 'unidimensional'),
  16897. function () {
  16898. return (
  16899. e.k && e.getValue(),
  16900. (i = e.v * a),
  16901. s.value !== i &&
  16902. (((s = new Number(i)).value = i),
  16903. r(s, e, 'unidimensional')),
  16904. s
  16905. );
  16906. }
  16907. );
  16908. })(i)
  16909. : (function (t) {
  16910. (t && 'pv' in t) || (t = e);
  16911. var a = 1 / t.mult,
  16912. i = (t.data && t.data.l) || t.pv.length,
  16913. s = createTypedArray('float32', i),
  16914. n = createTypedArray('float32', i);
  16915. return (
  16916. (s.value = n),
  16917. r(s, t, 'multidimensional'),
  16918. function () {
  16919. t.k && t.getValue();
  16920. for (var e = 0; e < i; e += 1)
  16921. (n[e] = t.v[e] * a), (s[e] = n[e]);
  16922. return s;
  16923. }
  16924. );
  16925. })(i)
  16926. : a;
  16927. };
  16928. })(),
  16929. TransformExpressionInterface = function (t) {
  16930. function e(t) {
  16931. switch (t) {
  16932. case 'scale':
  16933. case 'Scale':
  16934. case 'ADBE Scale':
  16935. case 6:
  16936. return e.scale;
  16937. case 'rotation':
  16938. case 'Rotation':
  16939. case 'ADBE Rotation':
  16940. case 'ADBE Rotate Z':
  16941. case 10:
  16942. return e.rotation;
  16943. case 'ADBE Rotate X':
  16944. return e.xRotation;
  16945. case 'ADBE Rotate Y':
  16946. return e.yRotation;
  16947. case 'position':
  16948. case 'Position':
  16949. case 'ADBE Position':
  16950. case 2:
  16951. return e.position;
  16952. case 'ADBE Position_0':
  16953. return e.xPosition;
  16954. case 'ADBE Position_1':
  16955. return e.yPosition;
  16956. case 'ADBE Position_2':
  16957. return e.zPosition;
  16958. case 'anchorPoint':
  16959. case 'AnchorPoint':
  16960. case 'Anchor Point':
  16961. case 'ADBE AnchorPoint':
  16962. case 1:
  16963. return e.anchorPoint;
  16964. case 'opacity':
  16965. case 'Opacity':
  16966. case 11:
  16967. return e.opacity;
  16968. default:
  16969. return null;
  16970. }
  16971. }
  16972. var r, a, i, s;
  16973. return (
  16974. Object.defineProperty(e, 'rotation', {
  16975. get: ExpressionPropertyInterface(t.r || t.rz)
  16976. }),
  16977. Object.defineProperty(e, 'zRotation', {
  16978. get: ExpressionPropertyInterface(t.rz || t.r)
  16979. }),
  16980. Object.defineProperty(e, 'xRotation', {
  16981. get: ExpressionPropertyInterface(t.rx)
  16982. }),
  16983. Object.defineProperty(e, 'yRotation', {
  16984. get: ExpressionPropertyInterface(t.ry)
  16985. }),
  16986. Object.defineProperty(e, 'scale', {
  16987. get: ExpressionPropertyInterface(t.s)
  16988. }),
  16989. t.p
  16990. ? (s = ExpressionPropertyInterface(t.p))
  16991. : ((r = ExpressionPropertyInterface(t.px)),
  16992. (a = ExpressionPropertyInterface(t.py)),
  16993. t.pz && (i = ExpressionPropertyInterface(t.pz))),
  16994. Object.defineProperty(e, 'position', {
  16995. get: function () {
  16996. return t.p ? s() : [r(), a(), i ? i() : 0];
  16997. }
  16998. }),
  16999. Object.defineProperty(e, 'xPosition', {
  17000. get: ExpressionPropertyInterface(t.px)
  17001. }),
  17002. Object.defineProperty(e, 'yPosition', {
  17003. get: ExpressionPropertyInterface(t.py)
  17004. }),
  17005. Object.defineProperty(e, 'zPosition', {
  17006. get: ExpressionPropertyInterface(t.pz)
  17007. }),
  17008. Object.defineProperty(e, 'anchorPoint', {
  17009. get: ExpressionPropertyInterface(t.a)
  17010. }),
  17011. Object.defineProperty(e, 'opacity', {
  17012. get: ExpressionPropertyInterface(t.o)
  17013. }),
  17014. Object.defineProperty(e, 'skew', {
  17015. get: ExpressionPropertyInterface(t.sk)
  17016. }),
  17017. Object.defineProperty(e, 'skewAxis', {
  17018. get: ExpressionPropertyInterface(t.sa)
  17019. }),
  17020. Object.defineProperty(e, 'orientation', {
  17021. get: ExpressionPropertyInterface(t.or)
  17022. }),
  17023. e
  17024. );
  17025. },
  17026. LayerExpressionInterface = (function () {
  17027. function t(t) {
  17028. var e = new Matrix();
  17029. return (
  17030. void 0 !== t
  17031. ? this._elem.finalTransform.mProp
  17032. .getValueAtTime(t)
  17033. .clone(e)
  17034. : this._elem.finalTransform.mProp.applyToMatrix(e),
  17035. e
  17036. );
  17037. }
  17038. function e(t, e) {
  17039. var r = this.getMatrix(e);
  17040. return (
  17041. (r.props[12] = 0),
  17042. (r.props[13] = 0),
  17043. (r.props[14] = 0),
  17044. this.applyPoint(r, t)
  17045. );
  17046. }
  17047. function r(t, e) {
  17048. var r = this.getMatrix(e);
  17049. return this.applyPoint(r, t);
  17050. }
  17051. function a(t, e) {
  17052. var r = this.getMatrix(e);
  17053. return (
  17054. (r.props[12] = 0),
  17055. (r.props[13] = 0),
  17056. (r.props[14] = 0),
  17057. this.invertPoint(r, t)
  17058. );
  17059. }
  17060. function i(t, e) {
  17061. var r = this.getMatrix(e);
  17062. return this.invertPoint(r, t);
  17063. }
  17064. function s(t, e) {
  17065. if (this._elem.hierarchy && this._elem.hierarchy.length) {
  17066. var r,
  17067. a = this._elem.hierarchy.length;
  17068. for (r = 0; r < a; r += 1)
  17069. this._elem.hierarchy[
  17070. r
  17071. ].finalTransform.mProp.applyToMatrix(t);
  17072. }
  17073. return t.applyToPointArray(e[0], e[1], e[2] || 0);
  17074. }
  17075. function n(t, e) {
  17076. if (this._elem.hierarchy && this._elem.hierarchy.length) {
  17077. var r,
  17078. a = this._elem.hierarchy.length;
  17079. for (r = 0; r < a; r += 1)
  17080. this._elem.hierarchy[
  17081. r
  17082. ].finalTransform.mProp.applyToMatrix(t);
  17083. }
  17084. return t.inversePoint(e);
  17085. }
  17086. function o(t) {
  17087. var e = new Matrix();
  17088. if (
  17089. (e.reset(),
  17090. this._elem.finalTransform.mProp.applyToMatrix(e),
  17091. this._elem.hierarchy && this._elem.hierarchy.length)
  17092. ) {
  17093. var r,
  17094. a = this._elem.hierarchy.length;
  17095. for (r = 0; r < a; r += 1)
  17096. this._elem.hierarchy[
  17097. r
  17098. ].finalTransform.mProp.applyToMatrix(e);
  17099. return e.inversePoint(t);
  17100. }
  17101. return e.inversePoint(t);
  17102. }
  17103. function l() {
  17104. return [1, 1, 1, 1];
  17105. }
  17106. return function (h) {
  17107. var p;
  17108. function c(t) {
  17109. switch (t) {
  17110. case 'ADBE Root Vectors Group':
  17111. case 'Contents':
  17112. case 2:
  17113. return c.shapeInterface;
  17114. case 1:
  17115. case 6:
  17116. case 'Transform':
  17117. case 'transform':
  17118. case 'ADBE Transform Group':
  17119. return p;
  17120. case 4:
  17121. case 'ADBE Effect Parade':
  17122. case 'effects':
  17123. case 'Effects':
  17124. return c.effect;
  17125. case 'ADBE Text Properties':
  17126. return c.textInterface;
  17127. default:
  17128. return null;
  17129. }
  17130. }
  17131. (c.getMatrix = t),
  17132. (c.invertPoint = n),
  17133. (c.applyPoint = s),
  17134. (c.toWorld = r),
  17135. (c.toWorldVec = e),
  17136. (c.fromWorld = i),
  17137. (c.fromWorldVec = a),
  17138. (c.toComp = r),
  17139. (c.fromComp = o),
  17140. (c.sampleImage = l),
  17141. (c.sourceRectAtTime = h.sourceRectAtTime.bind(h)),
  17142. (c._elem = h);
  17143. var d = getDescriptor(
  17144. (p = TransformExpressionInterface(
  17145. h.finalTransform.mProp
  17146. )),
  17147. 'anchorPoint'
  17148. );
  17149. return (
  17150. Object.defineProperties(c, {
  17151. hasParent: {
  17152. get: function () {
  17153. return h.hierarchy.length;
  17154. }
  17155. },
  17156. parent: {
  17157. get: function () {
  17158. return h.hierarchy[0].layerInterface;
  17159. }
  17160. },
  17161. rotation: getDescriptor(p, 'rotation'),
  17162. scale: getDescriptor(p, 'scale'),
  17163. position: getDescriptor(p, 'position'),
  17164. opacity: getDescriptor(p, 'opacity'),
  17165. anchorPoint: d,
  17166. anchor_point: d,
  17167. transform: {
  17168. get: function () {
  17169. return p;
  17170. }
  17171. },
  17172. active: {
  17173. get: function () {
  17174. return h.isInRange;
  17175. }
  17176. }
  17177. }),
  17178. (c.startTime = h.data.st),
  17179. (c.index = h.data.ind),
  17180. (c.source = h.data.refId),
  17181. (c.height = 0 === h.data.ty ? h.data.h : 100),
  17182. (c.width = 0 === h.data.ty ? h.data.w : 100),
  17183. (c.inPoint = h.data.ip / h.comp.globalData.frameRate),
  17184. (c.outPoint = h.data.op / h.comp.globalData.frameRate),
  17185. (c._name = h.data.nm),
  17186. (c.registerMaskInterface = function (t) {
  17187. c.mask = new MaskManagerInterface(t, h);
  17188. }),
  17189. (c.registerEffectsInterface = function (t) {
  17190. c.effect = t;
  17191. }),
  17192. c
  17193. );
  17194. };
  17195. })(),
  17196. propertyGroupFactory = function (t, e) {
  17197. return function (r) {
  17198. return (r = void 0 === r ? 1 : r) <= 0 ? t : e(r - 1);
  17199. };
  17200. },
  17201. PropertyInterface = function (t, e) {
  17202. var r = { _name: t };
  17203. return function (t) {
  17204. return (t = void 0 === t ? 1 : t) <= 0 ? r : e(t - 1);
  17205. };
  17206. },
  17207. EffectsExpressionInterface = (function () {
  17208. function t(r, a, i, s) {
  17209. function n(t) {
  17210. for (var e = r.ef, a = 0, i = e.length; a < i; ) {
  17211. if (t === e[a].nm || t === e[a].mn || t === e[a].ix)
  17212. return 5 === e[a].ty ? h[a] : h[a]();
  17213. a += 1;
  17214. }
  17215. throw new Error();
  17216. }
  17217. var o,
  17218. l = propertyGroupFactory(n, i),
  17219. h = [],
  17220. p = r.ef.length;
  17221. for (o = 0; o < p; o += 1)
  17222. 5 === r.ef[o].ty
  17223. ? h.push(
  17224. t(
  17225. r.ef[o],
  17226. a.effectElements[o],
  17227. a.effectElements[o].propertyGroup,
  17228. s
  17229. )
  17230. )
  17231. : h.push(e(a.effectElements[o], r.ef[o].ty, s, l));
  17232. return (
  17233. 'ADBE Color Control' === r.mn &&
  17234. Object.defineProperty(n, 'color', {
  17235. get: function () {
  17236. return h[0]();
  17237. }
  17238. }),
  17239. Object.defineProperties(n, {
  17240. numProperties: {
  17241. get: function () {
  17242. return r.np;
  17243. }
  17244. },
  17245. _name: { value: r.nm },
  17246. propertyGroup: { value: l }
  17247. }),
  17248. (n.enabled = 0 !== r.en),
  17249. (n.active = n.enabled),
  17250. n
  17251. );
  17252. }
  17253. function e(t, e, r, a) {
  17254. var i = ExpressionPropertyInterface(t.p);
  17255. return (
  17256. t.p.setGroupProperty &&
  17257. t.p.setGroupProperty(PropertyInterface('', a)),
  17258. function () {
  17259. return 10 === e ? r.comp.compInterface(t.p.v) : i();
  17260. }
  17261. );
  17262. }
  17263. return {
  17264. createEffectsInterface: function (e, r) {
  17265. if (e.effectsManager) {
  17266. var a,
  17267. i = [],
  17268. s = e.data.ef,
  17269. n = e.effectsManager.effectElements.length;
  17270. for (a = 0; a < n; a += 1)
  17271. i.push(
  17272. t(s[a], e.effectsManager.effectElements[a], r, e)
  17273. );
  17274. var o = e.data.ef || [],
  17275. l = function (t) {
  17276. for (a = 0, n = o.length; a < n; ) {
  17277. if (
  17278. t === o[a].nm ||
  17279. t === o[a].mn ||
  17280. t === o[a].ix
  17281. )
  17282. return i[a];
  17283. a += 1;
  17284. }
  17285. return null;
  17286. };
  17287. return (
  17288. Object.defineProperty(l, 'numProperties', {
  17289. get: function () {
  17290. return o.length;
  17291. }
  17292. }),
  17293. l
  17294. );
  17295. }
  17296. return null;
  17297. }
  17298. };
  17299. })(),
  17300. ShapePathInterface = function (t, e, r) {
  17301. var a = e.sh;
  17302. function i(t) {
  17303. return 'Shape' === t ||
  17304. 'shape' === t ||
  17305. 'Path' === t ||
  17306. 'path' === t ||
  17307. 'ADBE Vector Shape' === t ||
  17308. 2 === t
  17309. ? i.path
  17310. : null;
  17311. }
  17312. var s = propertyGroupFactory(i, r);
  17313. return (
  17314. a.setGroupProperty(PropertyInterface('Path', s)),
  17315. Object.defineProperties(i, {
  17316. path: {
  17317. get: function () {
  17318. return a.k && a.getValue(), a;
  17319. }
  17320. },
  17321. shape: {
  17322. get: function () {
  17323. return a.k && a.getValue(), a;
  17324. }
  17325. },
  17326. _name: { value: t.nm },
  17327. ix: { value: t.ix },
  17328. propertyIndex: { value: t.ix },
  17329. mn: { value: t.mn },
  17330. propertyGroup: { value: r }
  17331. }),
  17332. i
  17333. );
  17334. },
  17335. ShapeExpressionInterface = (function () {
  17336. function t(t, n, d) {
  17337. var f,
  17338. m = [],
  17339. u = t ? t.length : 0;
  17340. for (f = 0; f < u; f += 1)
  17341. 'gr' === t[f].ty
  17342. ? m.push(e(t[f], n[f], d))
  17343. : 'fl' === t[f].ty
  17344. ? m.push(r(t[f], n[f], d))
  17345. : 'st' === t[f].ty
  17346. ? m.push(i(t[f], n[f], d))
  17347. : 'tm' === t[f].ty
  17348. ? m.push(s(t[f], n[f], d))
  17349. : 'tr' === t[f].ty ||
  17350. ('el' === t[f].ty
  17351. ? m.push(o(t[f], n[f], d))
  17352. : 'sr' === t[f].ty
  17353. ? m.push(l(t[f], n[f], d))
  17354. : 'sh' === t[f].ty
  17355. ? m.push(ShapePathInterface(t[f], n[f], d))
  17356. : 'rc' === t[f].ty
  17357. ? m.push(h(t[f], n[f], d))
  17358. : 'rd' === t[f].ty
  17359. ? m.push(p(t[f], n[f], d))
  17360. : 'rp' === t[f].ty
  17361. ? m.push(c(t[f], n[f], d))
  17362. : 'gf' === t[f].ty
  17363. ? m.push(a(t[f], n[f], d))
  17364. : m.push(
  17365. (t[f],
  17366. n[f],
  17367. function () {
  17368. return null;
  17369. })
  17370. ));
  17371. return m;
  17372. }
  17373. function e(e, r, a) {
  17374. var i = function (t) {
  17375. switch (t) {
  17376. case 'ADBE Vectors Group':
  17377. case 'Contents':
  17378. case 2:
  17379. return i.content;
  17380. default:
  17381. return i.transform;
  17382. }
  17383. };
  17384. i.propertyGroup = propertyGroupFactory(i, a);
  17385. var s = (function (e, r, a) {
  17386. var i,
  17387. s = function (t) {
  17388. for (var e = 0, r = i.length; e < r; ) {
  17389. if (
  17390. i[e]._name === t ||
  17391. i[e].mn === t ||
  17392. i[e].propertyIndex === t ||
  17393. i[e].ix === t ||
  17394. i[e].ind === t
  17395. )
  17396. return i[e];
  17397. e += 1;
  17398. }
  17399. return 'number' == typeof t ? i[t - 1] : null;
  17400. };
  17401. (s.propertyGroup = propertyGroupFactory(s, a)),
  17402. (i = t(e.it, r.it, s.propertyGroup)),
  17403. (s.numProperties = i.length);
  17404. var o = n(
  17405. e.it[e.it.length - 1],
  17406. r.it[r.it.length - 1],
  17407. s.propertyGroup
  17408. );
  17409. return (
  17410. (s.transform = o),
  17411. (s.propertyIndex = e.cix),
  17412. (s._name = e.nm),
  17413. s
  17414. );
  17415. })(e, r, i.propertyGroup),
  17416. o = n(
  17417. e.it[e.it.length - 1],
  17418. r.it[r.it.length - 1],
  17419. i.propertyGroup
  17420. );
  17421. return (
  17422. (i.content = s),
  17423. (i.transform = o),
  17424. Object.defineProperty(i, '_name', {
  17425. get: function () {
  17426. return e.nm;
  17427. }
  17428. }),
  17429. (i.numProperties = e.np),
  17430. (i.propertyIndex = e.ix),
  17431. (i.nm = e.nm),
  17432. (i.mn = e.mn),
  17433. i
  17434. );
  17435. }
  17436. function r(t, e, r) {
  17437. function a(t) {
  17438. return 'Color' === t || 'color' === t
  17439. ? a.color
  17440. : 'Opacity' === t || 'opacity' === t
  17441. ? a.opacity
  17442. : null;
  17443. }
  17444. return (
  17445. Object.defineProperties(a, {
  17446. color: { get: ExpressionPropertyInterface(e.c) },
  17447. opacity: { get: ExpressionPropertyInterface(e.o) },
  17448. _name: { value: t.nm },
  17449. mn: { value: t.mn }
  17450. }),
  17451. e.c.setGroupProperty(PropertyInterface('Color', r)),
  17452. e.o.setGroupProperty(PropertyInterface('Opacity', r)),
  17453. a
  17454. );
  17455. }
  17456. function a(t, e, r) {
  17457. function a(t) {
  17458. return 'Start Point' === t || 'start point' === t
  17459. ? a.startPoint
  17460. : 'End Point' === t || 'end point' === t
  17461. ? a.endPoint
  17462. : 'Opacity' === t || 'opacity' === t
  17463. ? a.opacity
  17464. : null;
  17465. }
  17466. return (
  17467. Object.defineProperties(a, {
  17468. startPoint: { get: ExpressionPropertyInterface(e.s) },
  17469. endPoint: { get: ExpressionPropertyInterface(e.e) },
  17470. opacity: { get: ExpressionPropertyInterface(e.o) },
  17471. type: {
  17472. get: function () {
  17473. return 'a';
  17474. }
  17475. },
  17476. _name: { value: t.nm },
  17477. mn: { value: t.mn }
  17478. }),
  17479. e.s.setGroupProperty(
  17480. PropertyInterface('Start Point', r)
  17481. ),
  17482. e.e.setGroupProperty(PropertyInterface('End Point', r)),
  17483. e.o.setGroupProperty(PropertyInterface('Opacity', r)),
  17484. a
  17485. );
  17486. }
  17487. function i(t, e, r) {
  17488. var a,
  17489. i = propertyGroupFactory(h, r),
  17490. s = propertyGroupFactory(l, i);
  17491. function n(r) {
  17492. Object.defineProperty(l, t.d[r].nm, {
  17493. get: ExpressionPropertyInterface(e.d.dataProps[r].p)
  17494. });
  17495. }
  17496. var o = t.d ? t.d.length : 0,
  17497. l = {};
  17498. for (a = 0; a < o; a += 1)
  17499. n(a), e.d.dataProps[a].p.setGroupProperty(s);
  17500. function h(t) {
  17501. return 'Color' === t || 'color' === t
  17502. ? h.color
  17503. : 'Opacity' === t || 'opacity' === t
  17504. ? h.opacity
  17505. : 'Stroke Width' === t || 'stroke width' === t
  17506. ? h.strokeWidth
  17507. : null;
  17508. }
  17509. return (
  17510. Object.defineProperties(h, {
  17511. color: { get: ExpressionPropertyInterface(e.c) },
  17512. opacity: { get: ExpressionPropertyInterface(e.o) },
  17513. strokeWidth: {
  17514. get: ExpressionPropertyInterface(e.w)
  17515. },
  17516. dash: {
  17517. get: function () {
  17518. return l;
  17519. }
  17520. },
  17521. _name: { value: t.nm },
  17522. mn: { value: t.mn }
  17523. }),
  17524. e.c.setGroupProperty(PropertyInterface('Color', i)),
  17525. e.o.setGroupProperty(PropertyInterface('Opacity', i)),
  17526. e.w.setGroupProperty(
  17527. PropertyInterface('Stroke Width', i)
  17528. ),
  17529. h
  17530. );
  17531. }
  17532. function s(t, e, r) {
  17533. function a(e) {
  17534. return e === t.e.ix || 'End' === e || 'end' === e
  17535. ? a.end
  17536. : e === t.s.ix
  17537. ? a.start
  17538. : e === t.o.ix
  17539. ? a.offset
  17540. : null;
  17541. }
  17542. var i = propertyGroupFactory(a, r);
  17543. return (
  17544. (a.propertyIndex = t.ix),
  17545. e.s.setGroupProperty(PropertyInterface('Start', i)),
  17546. e.e.setGroupProperty(PropertyInterface('End', i)),
  17547. e.o.setGroupProperty(PropertyInterface('Offset', i)),
  17548. (a.propertyIndex = t.ix),
  17549. (a.propertyGroup = r),
  17550. Object.defineProperties(a, {
  17551. start: { get: ExpressionPropertyInterface(e.s) },
  17552. end: { get: ExpressionPropertyInterface(e.e) },
  17553. offset: { get: ExpressionPropertyInterface(e.o) },
  17554. _name: { value: t.nm }
  17555. }),
  17556. (a.mn = t.mn),
  17557. a
  17558. );
  17559. }
  17560. function n(t, e, r) {
  17561. function a(e) {
  17562. return t.a.ix === e || 'Anchor Point' === e
  17563. ? a.anchorPoint
  17564. : t.o.ix === e || 'Opacity' === e
  17565. ? a.opacity
  17566. : t.p.ix === e || 'Position' === e
  17567. ? a.position
  17568. : t.r.ix === e ||
  17569. 'Rotation' === e ||
  17570. 'ADBE Vector Rotation' === e
  17571. ? a.rotation
  17572. : t.s.ix === e || 'Scale' === e
  17573. ? a.scale
  17574. : (t.sk && t.sk.ix === e) || 'Skew' === e
  17575. ? a.skew
  17576. : (t.sa && t.sa.ix === e) || 'Skew Axis' === e
  17577. ? a.skewAxis
  17578. : null;
  17579. }
  17580. var i = propertyGroupFactory(a, r);
  17581. return (
  17582. e.transform.mProps.o.setGroupProperty(
  17583. PropertyInterface('Opacity', i)
  17584. ),
  17585. e.transform.mProps.p.setGroupProperty(
  17586. PropertyInterface('Position', i)
  17587. ),
  17588. e.transform.mProps.a.setGroupProperty(
  17589. PropertyInterface('Anchor Point', i)
  17590. ),
  17591. e.transform.mProps.s.setGroupProperty(
  17592. PropertyInterface('Scale', i)
  17593. ),
  17594. e.transform.mProps.r.setGroupProperty(
  17595. PropertyInterface('Rotation', i)
  17596. ),
  17597. e.transform.mProps.sk &&
  17598. (e.transform.mProps.sk.setGroupProperty(
  17599. PropertyInterface('Skew', i)
  17600. ),
  17601. e.transform.mProps.sa.setGroupProperty(
  17602. PropertyInterface('Skew Angle', i)
  17603. )),
  17604. e.transform.op.setGroupProperty(
  17605. PropertyInterface('Opacity', i)
  17606. ),
  17607. Object.defineProperties(a, {
  17608. opacity: {
  17609. get: ExpressionPropertyInterface(
  17610. e.transform.mProps.o
  17611. )
  17612. },
  17613. position: {
  17614. get: ExpressionPropertyInterface(
  17615. e.transform.mProps.p
  17616. )
  17617. },
  17618. anchorPoint: {
  17619. get: ExpressionPropertyInterface(
  17620. e.transform.mProps.a
  17621. )
  17622. },
  17623. scale: {
  17624. get: ExpressionPropertyInterface(
  17625. e.transform.mProps.s
  17626. )
  17627. },
  17628. rotation: {
  17629. get: ExpressionPropertyInterface(
  17630. e.transform.mProps.r
  17631. )
  17632. },
  17633. skew: {
  17634. get: ExpressionPropertyInterface(
  17635. e.transform.mProps.sk
  17636. )
  17637. },
  17638. skewAxis: {
  17639. get: ExpressionPropertyInterface(
  17640. e.transform.mProps.sa
  17641. )
  17642. },
  17643. _name: { value: t.nm }
  17644. }),
  17645. (a.ty = 'tr'),
  17646. (a.mn = t.mn),
  17647. (a.propertyGroup = r),
  17648. a
  17649. );
  17650. }
  17651. function o(t, e, r) {
  17652. function a(e) {
  17653. return t.p.ix === e
  17654. ? a.position
  17655. : t.s.ix === e
  17656. ? a.size
  17657. : null;
  17658. }
  17659. var i = propertyGroupFactory(a, r);
  17660. a.propertyIndex = t.ix;
  17661. var s = 'tm' === e.sh.ty ? e.sh.prop : e.sh;
  17662. return (
  17663. s.s.setGroupProperty(PropertyInterface('Size', i)),
  17664. s.p.setGroupProperty(PropertyInterface('Position', i)),
  17665. Object.defineProperties(a, {
  17666. size: { get: ExpressionPropertyInterface(s.s) },
  17667. position: { get: ExpressionPropertyInterface(s.p) },
  17668. _name: { value: t.nm }
  17669. }),
  17670. (a.mn = t.mn),
  17671. a
  17672. );
  17673. }
  17674. function l(t, e, r) {
  17675. function a(e) {
  17676. return t.p.ix === e
  17677. ? a.position
  17678. : t.r.ix === e
  17679. ? a.rotation
  17680. : t.pt.ix === e
  17681. ? a.points
  17682. : t.or.ix === e ||
  17683. 'ADBE Vector Star Outer Radius' === e
  17684. ? a.outerRadius
  17685. : t.os.ix === e
  17686. ? a.outerRoundness
  17687. : !t.ir ||
  17688. (t.ir.ix !== e &&
  17689. 'ADBE Vector Star Inner Radius' !== e)
  17690. ? t.is && t.is.ix === e
  17691. ? a.innerRoundness
  17692. : null
  17693. : a.innerRadius;
  17694. }
  17695. var i = propertyGroupFactory(a, r),
  17696. s = 'tm' === e.sh.ty ? e.sh.prop : e.sh;
  17697. return (
  17698. (a.propertyIndex = t.ix),
  17699. s.or.setGroupProperty(
  17700. PropertyInterface('Outer Radius', i)
  17701. ),
  17702. s.os.setGroupProperty(
  17703. PropertyInterface('Outer Roundness', i)
  17704. ),
  17705. s.pt.setGroupProperty(PropertyInterface('Points', i)),
  17706. s.p.setGroupProperty(PropertyInterface('Position', i)),
  17707. s.r.setGroupProperty(PropertyInterface('Rotation', i)),
  17708. t.ir &&
  17709. (s.ir.setGroupProperty(
  17710. PropertyInterface('Inner Radius', i)
  17711. ),
  17712. s.is.setGroupProperty(
  17713. PropertyInterface('Inner Roundness', i)
  17714. )),
  17715. Object.defineProperties(a, {
  17716. position: { get: ExpressionPropertyInterface(s.p) },
  17717. rotation: { get: ExpressionPropertyInterface(s.r) },
  17718. points: { get: ExpressionPropertyInterface(s.pt) },
  17719. outerRadius: {
  17720. get: ExpressionPropertyInterface(s.or)
  17721. },
  17722. outerRoundness: {
  17723. get: ExpressionPropertyInterface(s.os)
  17724. },
  17725. innerRadius: {
  17726. get: ExpressionPropertyInterface(s.ir)
  17727. },
  17728. innerRoundness: {
  17729. get: ExpressionPropertyInterface(s.is)
  17730. },
  17731. _name: { value: t.nm }
  17732. }),
  17733. (a.mn = t.mn),
  17734. a
  17735. );
  17736. }
  17737. function h(t, e, r) {
  17738. function a(e) {
  17739. return t.p.ix === e
  17740. ? a.position
  17741. : t.r.ix === e
  17742. ? a.roundness
  17743. : t.s.ix === e ||
  17744. 'Size' === e ||
  17745. 'ADBE Vector Rect Size' === e
  17746. ? a.size
  17747. : null;
  17748. }
  17749. var i = propertyGroupFactory(a, r),
  17750. s = 'tm' === e.sh.ty ? e.sh.prop : e.sh;
  17751. return (
  17752. (a.propertyIndex = t.ix),
  17753. s.p.setGroupProperty(PropertyInterface('Position', i)),
  17754. s.s.setGroupProperty(PropertyInterface('Size', i)),
  17755. s.r.setGroupProperty(PropertyInterface('Rotation', i)),
  17756. Object.defineProperties(a, {
  17757. position: { get: ExpressionPropertyInterface(s.p) },
  17758. roundness: { get: ExpressionPropertyInterface(s.r) },
  17759. size: { get: ExpressionPropertyInterface(s.s) },
  17760. _name: { value: t.nm }
  17761. }),
  17762. (a.mn = t.mn),
  17763. a
  17764. );
  17765. }
  17766. function p(t, e, r) {
  17767. function a(e) {
  17768. return t.r.ix === e || 'Round Corners 1' === e
  17769. ? a.radius
  17770. : null;
  17771. }
  17772. var i = propertyGroupFactory(a, r),
  17773. s = e;
  17774. return (
  17775. (a.propertyIndex = t.ix),
  17776. s.rd.setGroupProperty(PropertyInterface('Radius', i)),
  17777. Object.defineProperties(a, {
  17778. radius: { get: ExpressionPropertyInterface(s.rd) },
  17779. _name: { value: t.nm }
  17780. }),
  17781. (a.mn = t.mn),
  17782. a
  17783. );
  17784. }
  17785. function c(t, e, r) {
  17786. function a(e) {
  17787. return t.c.ix === e || 'Copies' === e
  17788. ? a.copies
  17789. : t.o.ix === e || 'Offset' === e
  17790. ? a.offset
  17791. : null;
  17792. }
  17793. var i = propertyGroupFactory(a, r),
  17794. s = e;
  17795. return (
  17796. (a.propertyIndex = t.ix),
  17797. s.c.setGroupProperty(PropertyInterface('Copies', i)),
  17798. s.o.setGroupProperty(PropertyInterface('Offset', i)),
  17799. Object.defineProperties(a, {
  17800. copies: { get: ExpressionPropertyInterface(s.c) },
  17801. offset: { get: ExpressionPropertyInterface(s.o) },
  17802. _name: { value: t.nm }
  17803. }),
  17804. (a.mn = t.mn),
  17805. a
  17806. );
  17807. }
  17808. return function (e, r, a) {
  17809. var i;
  17810. function s(t) {
  17811. if ('number' == typeof t)
  17812. return 0 === (t = void 0 === t ? 1 : t)
  17813. ? a
  17814. : i[t - 1];
  17815. for (var e = 0, r = i.length; e < r; ) {
  17816. if (i[e]._name === t) return i[e];
  17817. e += 1;
  17818. }
  17819. return null;
  17820. }
  17821. return (
  17822. (s.propertyGroup = propertyGroupFactory(s, function () {
  17823. return a;
  17824. })),
  17825. (i = t(e, r, s.propertyGroup)),
  17826. (s.numProperties = i.length),
  17827. (s._name = 'Contents'),
  17828. s
  17829. );
  17830. };
  17831. })(),
  17832. TextExpressionInterface = function (t) {
  17833. var e;
  17834. function r(t) {
  17835. return 'ADBE Text Document' === t ? r.sourceText : null;
  17836. }
  17837. return (
  17838. Object.defineProperty(r, 'sourceText', {
  17839. get: function () {
  17840. t.textProperty.getValue();
  17841. var r = t.textProperty.currentData.t;
  17842. return (
  17843. (e && r === e.value) ||
  17844. (((e = new String(r)).value = r || new String(r)),
  17845. Object.defineProperty(e, 'style', {
  17846. get: function () {
  17847. return {
  17848. fillColor: t.textProperty.currentData.fc
  17849. };
  17850. }
  17851. })),
  17852. e
  17853. );
  17854. }
  17855. }),
  17856. r
  17857. );
  17858. };
  17859. function _typeof(t) {
  17860. return (
  17861. (_typeof =
  17862. 'function' == typeof Symbol &&
  17863. 'symbol' == typeof Symbol.iterator
  17864. ? function (t) {
  17865. return typeof t;
  17866. }
  17867. : function (t) {
  17868. return t &&
  17869. 'function' == typeof Symbol &&
  17870. t.constructor === Symbol &&
  17871. t !== Symbol.prototype
  17872. ? 'symbol'
  17873. : typeof t;
  17874. }),
  17875. _typeof(t)
  17876. );
  17877. }
  17878. var FootageInterface =
  17879. ((dataInterfaceFactory = function (t) {
  17880. function e(t) {
  17881. return 'Outline' === t ? e.outlineInterface() : null;
  17882. }
  17883. return (
  17884. (e._name = 'Outline'),
  17885. (e.outlineInterface = (function (t) {
  17886. var e = '',
  17887. r = t.getFootageData();
  17888. function a(t) {
  17889. if (r[t])
  17890. return (
  17891. (e = t),
  17892. 'object' === _typeof((r = r[t])) ? a : r
  17893. );
  17894. var i = t.indexOf(e);
  17895. if (-1 !== i) {
  17896. var s = parseInt(t.substr(i + e.length), 10);
  17897. return 'object' === _typeof((r = r[s])) ? a : r;
  17898. }
  17899. return '';
  17900. }
  17901. return function () {
  17902. return (e = ''), (r = t.getFootageData()), a;
  17903. };
  17904. })(t)),
  17905. e
  17906. );
  17907. }),
  17908. function (t) {
  17909. function e(t) {
  17910. return 'Data' === t ? e.dataInterface : null;
  17911. }
  17912. return (
  17913. (e._name = 'Data'),
  17914. (e.dataInterface = dataInterfaceFactory(t)),
  17915. e
  17916. );
  17917. }),
  17918. dataInterfaceFactory,
  17919. interfaces = {
  17920. layer: LayerExpressionInterface,
  17921. effects: EffectsExpressionInterface,
  17922. comp: CompExpressionInterface,
  17923. shape: ShapeExpressionInterface,
  17924. text: TextExpressionInterface,
  17925. footage: FootageInterface
  17926. };
  17927. function getInterface(t) {
  17928. return interfaces[t] || null;
  17929. }
  17930. var expressionHelpers = {
  17931. searchExpressions: function (t, e, r) {
  17932. e.x &&
  17933. ((r.k = !0),
  17934. (r.x = !0),
  17935. (r.initiateExpression =
  17936. ExpressionManager.initiateExpression),
  17937. r.effectsSequence.push(
  17938. r.initiateExpression(t, e, r).bind(r)
  17939. ));
  17940. },
  17941. getSpeedAtTime: function (t) {
  17942. var e = this.getValueAtTime(t),
  17943. r = this.getValueAtTime(t + -0.01),
  17944. a = 0;
  17945. if (e.length) {
  17946. var i;
  17947. for (i = 0; i < e.length; i += 1)
  17948. a += Math.pow(r[i] - e[i], 2);
  17949. a = 100 * Math.sqrt(a);
  17950. } else a = 0;
  17951. return a;
  17952. },
  17953. getVelocityAtTime: function (t) {
  17954. if (void 0 !== this.vel) return this.vel;
  17955. var e,
  17956. r,
  17957. a = -0.001,
  17958. i = this.getValueAtTime(t),
  17959. s = this.getValueAtTime(t + a);
  17960. if (i.length)
  17961. for (
  17962. e = createTypedArray('float32', i.length), r = 0;
  17963. r < i.length;
  17964. r += 1
  17965. )
  17966. e[r] = (s[r] - i[r]) / a;
  17967. else e = (s - i) / a;
  17968. return e;
  17969. },
  17970. getValueAtTime: function (t) {
  17971. return (
  17972. (t *= this.elem.globalData.frameRate),
  17973. (t -= this.offsetTime) !==
  17974. this._cachingAtTime.lastFrame &&
  17975. ((this._cachingAtTime.lastIndex =
  17976. this._cachingAtTime.lastFrame < t
  17977. ? this._cachingAtTime.lastIndex
  17978. : 0),
  17979. (this._cachingAtTime.value = this.interpolateValue(
  17980. t,
  17981. this._cachingAtTime
  17982. )),
  17983. (this._cachingAtTime.lastFrame = t)),
  17984. this._cachingAtTime.value
  17985. );
  17986. },
  17987. getStaticValueAtTime: function () {
  17988. return this.pv;
  17989. },
  17990. setGroupProperty: function (t) {
  17991. this.propertyGroup = t;
  17992. }
  17993. };
  17994. function addPropertyDecorator() {
  17995. function t(t, e, r) {
  17996. if (!this.k || !this.keyframes) return this.pv;
  17997. t = t ? t.toLowerCase() : '';
  17998. var a,
  17999. i,
  18000. s,
  18001. n,
  18002. o,
  18003. l = this.comp.renderedFrame,
  18004. h = this.keyframes,
  18005. p = h[h.length - 1].t;
  18006. if (l <= p) return this.pv;
  18007. if (
  18008. (r
  18009. ? (i =
  18010. p -
  18011. (a = e
  18012. ? Math.abs(
  18013. p - this.elem.comp.globalData.frameRate * e
  18014. )
  18015. : Math.max(0, p - this.elem.data.ip)))
  18016. : ((!e || e > h.length - 1) && (e = h.length - 1),
  18017. (a = p - (i = h[h.length - 1 - e].t))),
  18018. 'pingpong' === t)
  18019. ) {
  18020. if (Math.floor((l - i) / a) % 2 != 0)
  18021. return this.getValueAtTime(
  18022. (a - ((l - i) % a) + i) /
  18023. this.comp.globalData.frameRate,
  18024. 0
  18025. );
  18026. } else {
  18027. if ('offset' === t) {
  18028. var c = this.getValueAtTime(
  18029. i / this.comp.globalData.frameRate,
  18030. 0
  18031. ),
  18032. d = this.getValueAtTime(
  18033. p / this.comp.globalData.frameRate,
  18034. 0
  18035. ),
  18036. f = this.getValueAtTime(
  18037. (((l - i) % a) + i) /
  18038. this.comp.globalData.frameRate,
  18039. 0
  18040. ),
  18041. m = Math.floor((l - i) / a);
  18042. if (this.pv.length) {
  18043. for (
  18044. n = (o = new Array(c.length)).length, s = 0;
  18045. s < n;
  18046. s += 1
  18047. )
  18048. o[s] = (d[s] - c[s]) * m + f[s];
  18049. return o;
  18050. }
  18051. return (d - c) * m + f;
  18052. }
  18053. if ('continue' === t) {
  18054. var u = this.getValueAtTime(
  18055. p / this.comp.globalData.frameRate,
  18056. 0
  18057. ),
  18058. g = this.getValueAtTime(
  18059. (p - 0.001) / this.comp.globalData.frameRate,
  18060. 0
  18061. );
  18062. if (this.pv.length) {
  18063. for (
  18064. n = (o = new Array(u.length)).length, s = 0;
  18065. s < n;
  18066. s += 1
  18067. )
  18068. o[s] =
  18069. u[s] +
  18070. ((u[s] - g[s]) *
  18071. ((l - p) / this.comp.globalData.frameRate)) /
  18072. 5e-4;
  18073. return o;
  18074. }
  18075. return u + ((l - p) / 0.001) * (u - g);
  18076. }
  18077. }
  18078. return this.getValueAtTime(
  18079. (((l - i) % a) + i) / this.comp.globalData.frameRate,
  18080. 0
  18081. );
  18082. }
  18083. function e(t, e, r) {
  18084. if (!this.k) return this.pv;
  18085. t = t ? t.toLowerCase() : '';
  18086. var a,
  18087. i,
  18088. s,
  18089. n,
  18090. o,
  18091. l = this.comp.renderedFrame,
  18092. h = this.keyframes,
  18093. p = h[0].t;
  18094. if (l >= p) return this.pv;
  18095. if (
  18096. (r
  18097. ? (i =
  18098. p +
  18099. (a = e
  18100. ? Math.abs(
  18101. this.elem.comp.globalData.frameRate * e
  18102. )
  18103. : Math.max(0, this.elem.data.op - p)))
  18104. : ((!e || e > h.length - 1) && (e = h.length - 1),
  18105. (a = (i = h[e].t) - p)),
  18106. 'pingpong' === t)
  18107. ) {
  18108. if (Math.floor((p - l) / a) % 2 == 0)
  18109. return this.getValueAtTime(
  18110. (((p - l) % a) + p) / this.comp.globalData.frameRate,
  18111. 0
  18112. );
  18113. } else {
  18114. if ('offset' === t) {
  18115. var c = this.getValueAtTime(
  18116. p / this.comp.globalData.frameRate,
  18117. 0
  18118. ),
  18119. d = this.getValueAtTime(
  18120. i / this.comp.globalData.frameRate,
  18121. 0
  18122. ),
  18123. f = this.getValueAtTime(
  18124. (a - ((p - l) % a) + p) /
  18125. this.comp.globalData.frameRate,
  18126. 0
  18127. ),
  18128. m = Math.floor((p - l) / a) + 1;
  18129. if (this.pv.length) {
  18130. for (
  18131. n = (o = new Array(c.length)).length, s = 0;
  18132. s < n;
  18133. s += 1
  18134. )
  18135. o[s] = f[s] - (d[s] - c[s]) * m;
  18136. return o;
  18137. }
  18138. return f - (d - c) * m;
  18139. }
  18140. if ('continue' === t) {
  18141. var u = this.getValueAtTime(
  18142. p / this.comp.globalData.frameRate,
  18143. 0
  18144. ),
  18145. g = this.getValueAtTime(
  18146. (p + 0.001) / this.comp.globalData.frameRate,
  18147. 0
  18148. );
  18149. if (this.pv.length) {
  18150. for (
  18151. n = (o = new Array(u.length)).length, s = 0;
  18152. s < n;
  18153. s += 1
  18154. )
  18155. o[s] = u[s] + ((u[s] - g[s]) * (p - l)) / 0.001;
  18156. return o;
  18157. }
  18158. return u + ((u - g) * (p - l)) / 0.001;
  18159. }
  18160. }
  18161. return this.getValueAtTime(
  18162. (a - (((p - l) % a) + p)) /
  18163. this.comp.globalData.frameRate,
  18164. 0
  18165. );
  18166. }
  18167. function r(t, e) {
  18168. if (!this.k) return this.pv;
  18169. if (((t = 0.5 * (t || 0.4)), (e = Math.floor(e || 5)) <= 1))
  18170. return this.pv;
  18171. var r,
  18172. a,
  18173. i =
  18174. this.comp.renderedFrame /
  18175. this.comp.globalData.frameRate,
  18176. s = i - t,
  18177. n = e > 1 ? (i + t - s) / (e - 1) : 1,
  18178. o = 0,
  18179. l = 0;
  18180. for (
  18181. r = this.pv.length
  18182. ? createTypedArray('float32', this.pv.length)
  18183. : 0;
  18184. o < e;
  18185. ) {
  18186. if (
  18187. ((a = this.getValueAtTime(s + o * n)), this.pv.length)
  18188. )
  18189. for (l = 0; l < this.pv.length; l += 1) r[l] += a[l];
  18190. else r += a;
  18191. o += 1;
  18192. }
  18193. if (this.pv.length)
  18194. for (l = 0; l < this.pv.length; l += 1) r[l] /= e;
  18195. else r /= e;
  18196. return r;
  18197. }
  18198. function a(t) {
  18199. this._transformCachingAtTime ||
  18200. (this._transformCachingAtTime = { v: new Matrix() });
  18201. var e = this._transformCachingAtTime.v;
  18202. if (
  18203. (e.cloneFromProps(this.pre.props),
  18204. this.appliedTransformations < 1)
  18205. ) {
  18206. var r = this.a.getValueAtTime(t);
  18207. e.translate(
  18208. -r[0] * this.a.mult,
  18209. -r[1] * this.a.mult,
  18210. r[2] * this.a.mult
  18211. );
  18212. }
  18213. if (this.appliedTransformations < 2) {
  18214. var a = this.s.getValueAtTime(t);
  18215. e.scale(
  18216. a[0] * this.s.mult,
  18217. a[1] * this.s.mult,
  18218. a[2] * this.s.mult
  18219. );
  18220. }
  18221. if (this.sk && this.appliedTransformations < 3) {
  18222. var i = this.sk.getValueAtTime(t),
  18223. s = this.sa.getValueAtTime(t);
  18224. e.skewFromAxis(-i * this.sk.mult, s * this.sa.mult);
  18225. }
  18226. if (this.r && this.appliedTransformations < 4) {
  18227. var n = this.r.getValueAtTime(t);
  18228. e.rotate(-n * this.r.mult);
  18229. } else if (!this.r && this.appliedTransformations < 4) {
  18230. var o = this.rz.getValueAtTime(t),
  18231. l = this.ry.getValueAtTime(t),
  18232. h = this.rx.getValueAtTime(t),
  18233. p = this.or.getValueAtTime(t);
  18234. e.rotateZ(-o * this.rz.mult)
  18235. .rotateY(l * this.ry.mult)
  18236. .rotateX(h * this.rx.mult)
  18237. .rotateZ(-p[2] * this.or.mult)
  18238. .rotateY(p[1] * this.or.mult)
  18239. .rotateX(p[0] * this.or.mult);
  18240. }
  18241. if (this.data.p && this.data.p.s) {
  18242. var c = this.px.getValueAtTime(t),
  18243. d = this.py.getValueAtTime(t);
  18244. if (this.data.p.z) {
  18245. var f = this.pz.getValueAtTime(t);
  18246. e.translate(
  18247. c * this.px.mult,
  18248. d * this.py.mult,
  18249. -f * this.pz.mult
  18250. );
  18251. } else e.translate(c * this.px.mult, d * this.py.mult, 0);
  18252. } else {
  18253. var m = this.p.getValueAtTime(t);
  18254. e.translate(
  18255. m[0] * this.p.mult,
  18256. m[1] * this.p.mult,
  18257. -m[2] * this.p.mult
  18258. );
  18259. }
  18260. return e;
  18261. }
  18262. function i() {
  18263. return this.v.clone(new Matrix());
  18264. }
  18265. var s = TransformPropertyFactory.getTransformProperty;
  18266. TransformPropertyFactory.getTransformProperty = function (
  18267. t,
  18268. e,
  18269. r
  18270. ) {
  18271. var n = s(t, e, r);
  18272. return (
  18273. n.dynamicProperties.length
  18274. ? (n.getValueAtTime = a.bind(n))
  18275. : (n.getValueAtTime = i.bind(n)),
  18276. (n.setGroupProperty = expressionHelpers.setGroupProperty),
  18277. n
  18278. );
  18279. };
  18280. var n = PropertyFactory.getProp;
  18281. PropertyFactory.getProp = function (a, i, s, o, l) {
  18282. var h = n(a, i, s, o, l);
  18283. h.kf
  18284. ? (h.getValueAtTime =
  18285. expressionHelpers.getValueAtTime.bind(h))
  18286. : (h.getValueAtTime =
  18287. expressionHelpers.getStaticValueAtTime.bind(h)),
  18288. (h.setGroupProperty = expressionHelpers.setGroupProperty),
  18289. (h.loopOut = t),
  18290. (h.loopIn = e),
  18291. (h.smooth = r),
  18292. (h.getVelocityAtTime =
  18293. expressionHelpers.getVelocityAtTime.bind(h)),
  18294. (h.getSpeedAtTime =
  18295. expressionHelpers.getSpeedAtTime.bind(h)),
  18296. (h.numKeys = 1 === i.a ? i.k.length : 0),
  18297. (h.propertyIndex = i.ix);
  18298. var p = 0;
  18299. return (
  18300. 0 !== s &&
  18301. (p = createTypedArray(
  18302. 'float32',
  18303. 1 === i.a ? i.k[0].s.length : i.k.length
  18304. )),
  18305. (h._cachingAtTime = {
  18306. lastFrame: initialDefaultFrame,
  18307. lastIndex: 0,
  18308. value: p
  18309. }),
  18310. expressionHelpers.searchExpressions(a, i, h),
  18311. h.k && l.addDynamicProperty(h),
  18312. h
  18313. );
  18314. };
  18315. var o = ShapePropertyFactory.getConstructorFunction(),
  18316. l = ShapePropertyFactory.getKeyframedConstructorFunction();
  18317. function h() {}
  18318. (h.prototype = {
  18319. vertices: function (t, e) {
  18320. this.k && this.getValue();
  18321. var r,
  18322. a = this.v;
  18323. void 0 !== e && (a = this.getValueAtTime(e, 0));
  18324. var i = a._length,
  18325. s = a[t],
  18326. n = a.v,
  18327. o = createSizedArray(i);
  18328. for (r = 0; r < i; r += 1)
  18329. o[r] =
  18330. 'i' === t || 'o' === t
  18331. ? [s[r][0] - n[r][0], s[r][1] - n[r][1]]
  18332. : [s[r][0], s[r][1]];
  18333. return o;
  18334. },
  18335. points: function (t) {
  18336. return this.vertices('v', t);
  18337. },
  18338. inTangents: function (t) {
  18339. return this.vertices('i', t);
  18340. },
  18341. outTangents: function (t) {
  18342. return this.vertices('o', t);
  18343. },
  18344. isClosed: function () {
  18345. return this.v.c;
  18346. },
  18347. pointOnPath: function (t, e) {
  18348. var r = this.v;
  18349. void 0 !== e && (r = this.getValueAtTime(e, 0)),
  18350. this._segmentsLength ||
  18351. (this._segmentsLength = bez.getSegmentsLength(r));
  18352. for (
  18353. var a,
  18354. i = this._segmentsLength,
  18355. s = i.lengths,
  18356. n = i.totalLength * t,
  18357. o = 0,
  18358. l = s.length,
  18359. h = 0;
  18360. o < l;
  18361. ) {
  18362. if (h + s[o].addedLength > n) {
  18363. var p = o,
  18364. c = r.c && o === l - 1 ? 0 : o + 1,
  18365. d = (n - h) / s[o].addedLength;
  18366. a = bez.getPointInSegment(
  18367. r.v[p],
  18368. r.v[c],
  18369. r.o[p],
  18370. r.i[c],
  18371. d,
  18372. s[o]
  18373. );
  18374. break;
  18375. }
  18376. (h += s[o].addedLength), (o += 1);
  18377. }
  18378. return (
  18379. a ||
  18380. (a = r.c
  18381. ? [r.v[0][0], r.v[0][1]]
  18382. : [r.v[r._length - 1][0], r.v[r._length - 1][1]]),
  18383. a
  18384. );
  18385. },
  18386. vectorOnPath: function (t, e, r) {
  18387. 1 == t ? (t = this.v.c) : 0 == t && (t = 0.999);
  18388. var a = this.pointOnPath(t, e),
  18389. i = this.pointOnPath(t + 0.001, e),
  18390. s = i[0] - a[0],
  18391. n = i[1] - a[1],
  18392. o = Math.sqrt(Math.pow(s, 2) + Math.pow(n, 2));
  18393. return 0 === o
  18394. ? [0, 0]
  18395. : 'tangent' === r
  18396. ? [s / o, n / o]
  18397. : [-n / o, s / o];
  18398. },
  18399. tangentOnPath: function (t, e) {
  18400. return this.vectorOnPath(t, e, 'tangent');
  18401. },
  18402. normalOnPath: function (t, e) {
  18403. return this.vectorOnPath(t, e, 'normal');
  18404. },
  18405. setGroupProperty: expressionHelpers.setGroupProperty,
  18406. getValueAtTime: expressionHelpers.getStaticValueAtTime
  18407. }),
  18408. extendPrototype([h], o),
  18409. extendPrototype([h], l),
  18410. (l.prototype.getValueAtTime = function (t) {
  18411. return (
  18412. this._cachingAtTime ||
  18413. (this._cachingAtTime = {
  18414. shapeValue: shapePool.clone(this.pv),
  18415. lastIndex: 0,
  18416. lastTime: initialDefaultFrame
  18417. }),
  18418. (t *= this.elem.globalData.frameRate),
  18419. (t -= this.offsetTime) !==
  18420. this._cachingAtTime.lastTime &&
  18421. ((this._cachingAtTime.lastIndex =
  18422. this._cachingAtTime.lastTime < t
  18423. ? this._caching.lastIndex
  18424. : 0),
  18425. (this._cachingAtTime.lastTime = t),
  18426. this.interpolateShape(
  18427. t,
  18428. this._cachingAtTime.shapeValue,
  18429. this._cachingAtTime
  18430. )),
  18431. this._cachingAtTime.shapeValue
  18432. );
  18433. }),
  18434. (l.prototype.initiateExpression =
  18435. ExpressionManager.initiateExpression);
  18436. var p = ShapePropertyFactory.getShapeProp;
  18437. ShapePropertyFactory.getShapeProp = function (t, e, r, a, i) {
  18438. var s = p(t, e, r, a, i);
  18439. return (
  18440. (s.propertyIndex = e.ix),
  18441. (s.lock = !1),
  18442. 3 === r
  18443. ? expressionHelpers.searchExpressions(t, e.pt, s)
  18444. : 4 === r &&
  18445. expressionHelpers.searchExpressions(t, e.ks, s),
  18446. s.k && t.addDynamicProperty(s),
  18447. s
  18448. );
  18449. };
  18450. }
  18451. function initialize$1() {
  18452. addPropertyDecorator();
  18453. }
  18454. function addDecorator() {
  18455. (TextProperty.prototype.getExpressionValue = function (t, e) {
  18456. var r = this.calculateExpression(e);
  18457. if (t.t !== r) {
  18458. var a = {};
  18459. return (
  18460. this.copyData(a, t),
  18461. (a.t = r.toString()),
  18462. (a.__complete = !1),
  18463. a
  18464. );
  18465. }
  18466. return t;
  18467. }),
  18468. (TextProperty.prototype.searchProperty = function () {
  18469. var t = this.searchKeyframes(),
  18470. e = this.searchExpressions();
  18471. return (this.kf = t || e), this.kf;
  18472. }),
  18473. (TextProperty.prototype.searchExpressions = function () {
  18474. return this.data.d.x
  18475. ? ((this.calculateExpression =
  18476. ExpressionManager.initiateExpression.bind(this)(
  18477. this.elem,
  18478. this.data.d,
  18479. this
  18480. )),
  18481. this.addEffect(this.getExpressionValue.bind(this)),
  18482. !0)
  18483. : null;
  18484. });
  18485. }
  18486. function initialize() {
  18487. addDecorator();
  18488. }
  18489. function SVGComposableEffect() {}
  18490. SVGComposableEffect.prototype = {
  18491. createMergeNode: function (t, e) {
  18492. var r,
  18493. a,
  18494. i = createNS('feMerge');
  18495. for (
  18496. i.setAttribute('result', t), a = 0;
  18497. a < e.length;
  18498. a += 1
  18499. )
  18500. (r = createNS('feMergeNode')).setAttribute('in', e[a]),
  18501. i.appendChild(r),
  18502. i.appendChild(r);
  18503. return i;
  18504. }
  18505. };
  18506. var linearFilterValue =
  18507. '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0';
  18508. function SVGTintFilter(t, e, r, a, i) {
  18509. this.filterManager = e;
  18510. var s = createNS('feColorMatrix');
  18511. s.setAttribute('type', 'matrix'),
  18512. s.setAttribute('color-interpolation-filters', 'linearRGB'),
  18513. s.setAttribute('values', linearFilterValue + ' 1 0'),
  18514. (this.linearFilter = s),
  18515. s.setAttribute('result', a + '_tint_1'),
  18516. t.appendChild(s),
  18517. (s = createNS('feColorMatrix')).setAttribute(
  18518. 'type',
  18519. 'matrix'
  18520. ),
  18521. s.setAttribute('color-interpolation-filters', 'sRGB'),
  18522. s.setAttribute(
  18523. 'values',
  18524. '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0'
  18525. ),
  18526. s.setAttribute('result', a + '_tint_2'),
  18527. t.appendChild(s),
  18528. (this.matrixFilter = s);
  18529. var n = this.createMergeNode(a, [
  18530. i,
  18531. a + '_tint_1',
  18532. a + '_tint_2'
  18533. ]);
  18534. t.appendChild(n);
  18535. }
  18536. function SVGFillFilter(t, e, r, a) {
  18537. this.filterManager = e;
  18538. var i = createNS('feColorMatrix');
  18539. i.setAttribute('type', 'matrix'),
  18540. i.setAttribute('color-interpolation-filters', 'sRGB'),
  18541. i.setAttribute(
  18542. 'values',
  18543. '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0'
  18544. ),
  18545. i.setAttribute('result', a),
  18546. t.appendChild(i),
  18547. (this.matrixFilter = i);
  18548. }
  18549. function SVGStrokeEffect(t, e, r) {
  18550. (this.initialized = !1),
  18551. (this.filterManager = e),
  18552. (this.elem = r),
  18553. (this.paths = []);
  18554. }
  18555. function SVGTritoneFilter(t, e, r, a) {
  18556. this.filterManager = e;
  18557. var i = createNS('feColorMatrix');
  18558. i.setAttribute('type', 'matrix'),
  18559. i.setAttribute('color-interpolation-filters', 'linearRGB'),
  18560. i.setAttribute(
  18561. 'values',
  18562. '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'
  18563. ),
  18564. t.appendChild(i);
  18565. var s = createNS('feComponentTransfer');
  18566. s.setAttribute('color-interpolation-filters', 'sRGB'),
  18567. s.setAttribute('result', a),
  18568. (this.matrixFilter = s);
  18569. var n = createNS('feFuncR');
  18570. n.setAttribute('type', 'table'),
  18571. s.appendChild(n),
  18572. (this.feFuncR = n);
  18573. var o = createNS('feFuncG');
  18574. o.setAttribute('type', 'table'),
  18575. s.appendChild(o),
  18576. (this.feFuncG = o);
  18577. var l = createNS('feFuncB');
  18578. l.setAttribute('type', 'table'),
  18579. s.appendChild(l),
  18580. (this.feFuncB = l),
  18581. t.appendChild(s);
  18582. }
  18583. function SVGProLevelsFilter(t, e, r, a) {
  18584. this.filterManager = e;
  18585. var i = this.filterManager.effectElements,
  18586. s = createNS('feComponentTransfer');
  18587. (i[10].p.k ||
  18588. 0 !== i[10].p.v ||
  18589. i[11].p.k ||
  18590. 1 !== i[11].p.v ||
  18591. i[12].p.k ||
  18592. 1 !== i[12].p.v ||
  18593. i[13].p.k ||
  18594. 0 !== i[13].p.v ||
  18595. i[14].p.k ||
  18596. 1 !== i[14].p.v) &&
  18597. (this.feFuncR = this.createFeFunc('feFuncR', s)),
  18598. (i[17].p.k ||
  18599. 0 !== i[17].p.v ||
  18600. i[18].p.k ||
  18601. 1 !== i[18].p.v ||
  18602. i[19].p.k ||
  18603. 1 !== i[19].p.v ||
  18604. i[20].p.k ||
  18605. 0 !== i[20].p.v ||
  18606. i[21].p.k ||
  18607. 1 !== i[21].p.v) &&
  18608. (this.feFuncG = this.createFeFunc('feFuncG', s)),
  18609. (i[24].p.k ||
  18610. 0 !== i[24].p.v ||
  18611. i[25].p.k ||
  18612. 1 !== i[25].p.v ||
  18613. i[26].p.k ||
  18614. 1 !== i[26].p.v ||
  18615. i[27].p.k ||
  18616. 0 !== i[27].p.v ||
  18617. i[28].p.k ||
  18618. 1 !== i[28].p.v) &&
  18619. (this.feFuncB = this.createFeFunc('feFuncB', s)),
  18620. (i[31].p.k ||
  18621. 0 !== i[31].p.v ||
  18622. i[32].p.k ||
  18623. 1 !== i[32].p.v ||
  18624. i[33].p.k ||
  18625. 1 !== i[33].p.v ||
  18626. i[34].p.k ||
  18627. 0 !== i[34].p.v ||
  18628. i[35].p.k ||
  18629. 1 !== i[35].p.v) &&
  18630. (this.feFuncA = this.createFeFunc('feFuncA', s)),
  18631. (this.feFuncR ||
  18632. this.feFuncG ||
  18633. this.feFuncB ||
  18634. this.feFuncA) &&
  18635. (s.setAttribute('color-interpolation-filters', 'sRGB'),
  18636. t.appendChild(s)),
  18637. (i[3].p.k ||
  18638. 0 !== i[3].p.v ||
  18639. i[4].p.k ||
  18640. 1 !== i[4].p.v ||
  18641. i[5].p.k ||
  18642. 1 !== i[5].p.v ||
  18643. i[6].p.k ||
  18644. 0 !== i[6].p.v ||
  18645. i[7].p.k ||
  18646. 1 !== i[7].p.v) &&
  18647. ((s = createNS('feComponentTransfer')).setAttribute(
  18648. 'color-interpolation-filters',
  18649. 'sRGB'
  18650. ),
  18651. s.setAttribute('result', a),
  18652. t.appendChild(s),
  18653. (this.feFuncRComposed = this.createFeFunc('feFuncR', s)),
  18654. (this.feFuncGComposed = this.createFeFunc('feFuncG', s)),
  18655. (this.feFuncBComposed = this.createFeFunc('feFuncB', s)));
  18656. }
  18657. function SVGDropShadowEffect(t, e, r, a, i) {
  18658. var s = e.container.globalData.renderConfig.filterSize,
  18659. n = e.data.fs || s;
  18660. t.setAttribute('x', n.x || s.x),
  18661. t.setAttribute('y', n.y || s.y),
  18662. t.setAttribute('width', n.width || s.width),
  18663. t.setAttribute('height', n.height || s.height),
  18664. (this.filterManager = e);
  18665. var o = createNS('feGaussianBlur');
  18666. o.setAttribute('in', 'SourceAlpha'),
  18667. o.setAttribute('result', a + '_drop_shadow_1'),
  18668. o.setAttribute('stdDeviation', '0'),
  18669. (this.feGaussianBlur = o),
  18670. t.appendChild(o);
  18671. var l = createNS('feOffset');
  18672. l.setAttribute('dx', '25'),
  18673. l.setAttribute('dy', '0'),
  18674. l.setAttribute('in', a + '_drop_shadow_1'),
  18675. l.setAttribute('result', a + '_drop_shadow_2'),
  18676. (this.feOffset = l),
  18677. t.appendChild(l);
  18678. var h = createNS('feFlood');
  18679. h.setAttribute('flood-color', '#00ff00'),
  18680. h.setAttribute('flood-opacity', '1'),
  18681. h.setAttribute('result', a + '_drop_shadow_3'),
  18682. (this.feFlood = h),
  18683. t.appendChild(h);
  18684. var p = createNS('feComposite');
  18685. p.setAttribute('in', a + '_drop_shadow_3'),
  18686. p.setAttribute('in2', a + '_drop_shadow_2'),
  18687. p.setAttribute('operator', 'in'),
  18688. p.setAttribute('result', a + '_drop_shadow_4'),
  18689. t.appendChild(p);
  18690. var c = this.createMergeNode(a, [a + '_drop_shadow_4', i]);
  18691. t.appendChild(c);
  18692. }
  18693. extendPrototype([SVGComposableEffect], SVGTintFilter),
  18694. (SVGTintFilter.prototype.renderFrame = function (t) {
  18695. if (t || this.filterManager._mdf) {
  18696. var e = this.filterManager.effectElements[0].p.v,
  18697. r = this.filterManager.effectElements[1].p.v,
  18698. a = this.filterManager.effectElements[2].p.v / 100;
  18699. this.linearFilter.setAttribute(
  18700. 'values',
  18701. linearFilterValue + ' ' + a + ' 0'
  18702. ),
  18703. this.matrixFilter.setAttribute(
  18704. 'values',
  18705. r[0] -
  18706. e[0] +
  18707. ' 0 0 0 ' +
  18708. e[0] +
  18709. ' ' +
  18710. (r[1] - e[1]) +
  18711. ' 0 0 0 ' +
  18712. e[1] +
  18713. ' ' +
  18714. (r[2] - e[2]) +
  18715. ' 0 0 0 ' +
  18716. e[2] +
  18717. ' 0 0 0 1 0'
  18718. );
  18719. }
  18720. }),
  18721. (SVGFillFilter.prototype.renderFrame = function (t) {
  18722. if (t || this.filterManager._mdf) {
  18723. var e = this.filterManager.effectElements[2].p.v,
  18724. r = this.filterManager.effectElements[6].p.v;
  18725. this.matrixFilter.setAttribute(
  18726. 'values',
  18727. '0 0 0 0 ' +
  18728. e[0] +
  18729. ' 0 0 0 0 ' +
  18730. e[1] +
  18731. ' 0 0 0 0 ' +
  18732. e[2] +
  18733. ' 0 0 0 ' +
  18734. r +
  18735. ' 0'
  18736. );
  18737. }
  18738. }),
  18739. (SVGStrokeEffect.prototype.initialize = function () {
  18740. var t,
  18741. e,
  18742. r,
  18743. a,
  18744. i =
  18745. this.elem.layerElement.children ||
  18746. this.elem.layerElement.childNodes;
  18747. for (
  18748. 1 === this.filterManager.effectElements[1].p.v
  18749. ? ((a = this.elem.maskManager.masksProperties.length),
  18750. (r = 0))
  18751. : (a =
  18752. 1 +
  18753. (r = this.filterManager.effectElements[0].p.v - 1)),
  18754. (e = createNS('g')).setAttribute('fill', 'none'),
  18755. e.setAttribute('stroke-linecap', 'round'),
  18756. e.setAttribute('stroke-dashoffset', 1);
  18757. r < a;
  18758. r += 1
  18759. )
  18760. (t = createNS('path')),
  18761. e.appendChild(t),
  18762. this.paths.push({ p: t, m: r });
  18763. if (3 === this.filterManager.effectElements[10].p.v) {
  18764. var s = createNS('mask'),
  18765. n = createElementID();
  18766. s.setAttribute('id', n),
  18767. s.setAttribute('mask-type', 'alpha'),
  18768. s.appendChild(e),
  18769. this.elem.globalData.defs.appendChild(s);
  18770. var o = createNS('g');
  18771. for (
  18772. o.setAttribute(
  18773. 'mask',
  18774. 'url(' + getLocationHref() + '#' + n + ')'
  18775. );
  18776. i[0];
  18777. )
  18778. o.appendChild(i[0]);
  18779. this.elem.layerElement.appendChild(o),
  18780. (this.masker = s),
  18781. e.setAttribute('stroke', '#fff');
  18782. } else if (
  18783. 1 === this.filterManager.effectElements[10].p.v ||
  18784. 2 === this.filterManager.effectElements[10].p.v
  18785. ) {
  18786. if (2 === this.filterManager.effectElements[10].p.v)
  18787. for (
  18788. i =
  18789. this.elem.layerElement.children ||
  18790. this.elem.layerElement.childNodes;
  18791. i.length;
  18792. )
  18793. this.elem.layerElement.removeChild(i[0]);
  18794. this.elem.layerElement.appendChild(e),
  18795. this.elem.layerElement.removeAttribute('mask'),
  18796. e.setAttribute('stroke', '#fff');
  18797. }
  18798. (this.initialized = !0), (this.pathMasker = e);
  18799. }),
  18800. (SVGStrokeEffect.prototype.renderFrame = function (t) {
  18801. var e;
  18802. this.initialized || this.initialize();
  18803. var r,
  18804. a,
  18805. i = this.paths.length;
  18806. for (e = 0; e < i; e += 1)
  18807. if (
  18808. -1 !== this.paths[e].m &&
  18809. ((r = this.elem.maskManager.viewData[this.paths[e].m]),
  18810. (a = this.paths[e].p),
  18811. (t || this.filterManager._mdf || r.prop._mdf) &&
  18812. a.setAttribute('d', r.lastPath),
  18813. t ||
  18814. this.filterManager.effectElements[9].p._mdf ||
  18815. this.filterManager.effectElements[4].p._mdf ||
  18816. this.filterManager.effectElements[7].p._mdf ||
  18817. this.filterManager.effectElements[8].p._mdf ||
  18818. r.prop._mdf)
  18819. ) {
  18820. var s;
  18821. if (
  18822. 0 !== this.filterManager.effectElements[7].p.v ||
  18823. 100 !== this.filterManager.effectElements[8].p.v
  18824. ) {
  18825. var n =
  18826. 0.01 *
  18827. Math.min(
  18828. this.filterManager.effectElements[7].p.v,
  18829. this.filterManager.effectElements[8].p.v
  18830. ),
  18831. o =
  18832. 0.01 *
  18833. Math.max(
  18834. this.filterManager.effectElements[7].p.v,
  18835. this.filterManager.effectElements[8].p.v
  18836. ),
  18837. l = a.getTotalLength();
  18838. s = '0 0 0 ' + l * n + ' ';
  18839. var h,
  18840. p = l * (o - n),
  18841. c =
  18842. 1 +
  18843. 2 *
  18844. this.filterManager.effectElements[4].p.v *
  18845. this.filterManager.effectElements[9].p.v *
  18846. 0.01,
  18847. d = Math.floor(p / c);
  18848. for (h = 0; h < d; h += 1)
  18849. s +=
  18850. '1 ' +
  18851. 2 *
  18852. this.filterManager.effectElements[4].p.v *
  18853. this.filterManager.effectElements[9].p.v *
  18854. 0.01 +
  18855. ' ';
  18856. s += '0 ' + 10 * l + ' 0 0';
  18857. } else
  18858. s =
  18859. '1 ' +
  18860. 2 *
  18861. this.filterManager.effectElements[4].p.v *
  18862. this.filterManager.effectElements[9].p.v *
  18863. 0.01;
  18864. a.setAttribute('stroke-dasharray', s);
  18865. }
  18866. if (
  18867. ((t || this.filterManager.effectElements[4].p._mdf) &&
  18868. this.pathMasker.setAttribute(
  18869. 'stroke-width',
  18870. 2 * this.filterManager.effectElements[4].p.v
  18871. ),
  18872. (t || this.filterManager.effectElements[6].p._mdf) &&
  18873. this.pathMasker.setAttribute(
  18874. 'opacity',
  18875. this.filterManager.effectElements[6].p.v
  18876. ),
  18877. (1 === this.filterManager.effectElements[10].p.v ||
  18878. 2 === this.filterManager.effectElements[10].p.v) &&
  18879. (t || this.filterManager.effectElements[3].p._mdf))
  18880. ) {
  18881. var f = this.filterManager.effectElements[3].p.v;
  18882. this.pathMasker.setAttribute(
  18883. 'stroke',
  18884. 'rgb(' +
  18885. bmFloor(255 * f[0]) +
  18886. ',' +
  18887. bmFloor(255 * f[1]) +
  18888. ',' +
  18889. bmFloor(255 * f[2]) +
  18890. ')'
  18891. );
  18892. }
  18893. }),
  18894. (SVGTritoneFilter.prototype.renderFrame = function (t) {
  18895. if (t || this.filterManager._mdf) {
  18896. var e = this.filterManager.effectElements[0].p.v,
  18897. r = this.filterManager.effectElements[1].p.v,
  18898. a = this.filterManager.effectElements[2].p.v,
  18899. i = a[0] + ' ' + r[0] + ' ' + e[0],
  18900. s = a[1] + ' ' + r[1] + ' ' + e[1],
  18901. n = a[2] + ' ' + r[2] + ' ' + e[2];
  18902. this.feFuncR.setAttribute('tableValues', i),
  18903. this.feFuncG.setAttribute('tableValues', s),
  18904. this.feFuncB.setAttribute('tableValues', n);
  18905. }
  18906. }),
  18907. (SVGProLevelsFilter.prototype.createFeFunc = function (t, e) {
  18908. var r = createNS(t);
  18909. return r.setAttribute('type', 'table'), e.appendChild(r), r;
  18910. }),
  18911. (SVGProLevelsFilter.prototype.getTableValue = function (
  18912. t,
  18913. e,
  18914. r,
  18915. a,
  18916. i
  18917. ) {
  18918. for (
  18919. var s,
  18920. n,
  18921. o = 0,
  18922. l = Math.min(t, e),
  18923. h = Math.max(t, e),
  18924. p = Array.call(null, { length: 256 }),
  18925. c = 0,
  18926. d = i - a,
  18927. f = e - t;
  18928. o <= 256;
  18929. )
  18930. (n =
  18931. (s = o / 256) <= l
  18932. ? f < 0
  18933. ? i
  18934. : a
  18935. : s >= h
  18936. ? f < 0
  18937. ? a
  18938. : i
  18939. : a + d * Math.pow((s - t) / f, 1 / r)),
  18940. (p[c] = n),
  18941. (c += 1),
  18942. (o += 256 / 255);
  18943. return p.join(' ');
  18944. }),
  18945. (SVGProLevelsFilter.prototype.renderFrame = function (t) {
  18946. if (t || this.filterManager._mdf) {
  18947. var e,
  18948. r = this.filterManager.effectElements;
  18949. this.feFuncRComposed &&
  18950. (t ||
  18951. r[3].p._mdf ||
  18952. r[4].p._mdf ||
  18953. r[5].p._mdf ||
  18954. r[6].p._mdf ||
  18955. r[7].p._mdf) &&
  18956. ((e = this.getTableValue(
  18957. r[3].p.v,
  18958. r[4].p.v,
  18959. r[5].p.v,
  18960. r[6].p.v,
  18961. r[7].p.v
  18962. )),
  18963. this.feFuncRComposed.setAttribute('tableValues', e),
  18964. this.feFuncGComposed.setAttribute('tableValues', e),
  18965. this.feFuncBComposed.setAttribute('tableValues', e)),
  18966. this.feFuncR &&
  18967. (t ||
  18968. r[10].p._mdf ||
  18969. r[11].p._mdf ||
  18970. r[12].p._mdf ||
  18971. r[13].p._mdf ||
  18972. r[14].p._mdf) &&
  18973. ((e = this.getTableValue(
  18974. r[10].p.v,
  18975. r[11].p.v,
  18976. r[12].p.v,
  18977. r[13].p.v,
  18978. r[14].p.v
  18979. )),
  18980. this.feFuncR.setAttribute('tableValues', e)),
  18981. this.feFuncG &&
  18982. (t ||
  18983. r[17].p._mdf ||
  18984. r[18].p._mdf ||
  18985. r[19].p._mdf ||
  18986. r[20].p._mdf ||
  18987. r[21].p._mdf) &&
  18988. ((e = this.getTableValue(
  18989. r[17].p.v,
  18990. r[18].p.v,
  18991. r[19].p.v,
  18992. r[20].p.v,
  18993. r[21].p.v
  18994. )),
  18995. this.feFuncG.setAttribute('tableValues', e)),
  18996. this.feFuncB &&
  18997. (t ||
  18998. r[24].p._mdf ||
  18999. r[25].p._mdf ||
  19000. r[26].p._mdf ||
  19001. r[27].p._mdf ||
  19002. r[28].p._mdf) &&
  19003. ((e = this.getTableValue(
  19004. r[24].p.v,
  19005. r[25].p.v,
  19006. r[26].p.v,
  19007. r[27].p.v,
  19008. r[28].p.v
  19009. )),
  19010. this.feFuncB.setAttribute('tableValues', e)),
  19011. this.feFuncA &&
  19012. (t ||
  19013. r[31].p._mdf ||
  19014. r[32].p._mdf ||
  19015. r[33].p._mdf ||
  19016. r[34].p._mdf ||
  19017. r[35].p._mdf) &&
  19018. ((e = this.getTableValue(
  19019. r[31].p.v,
  19020. r[32].p.v,
  19021. r[33].p.v,
  19022. r[34].p.v,
  19023. r[35].p.v
  19024. )),
  19025. this.feFuncA.setAttribute('tableValues', e));
  19026. }
  19027. }),
  19028. extendPrototype([SVGComposableEffect], SVGDropShadowEffect),
  19029. (SVGDropShadowEffect.prototype.renderFrame = function (t) {
  19030. if (t || this.filterManager._mdf) {
  19031. if (
  19032. ((t || this.filterManager.effectElements[4].p._mdf) &&
  19033. this.feGaussianBlur.setAttribute(
  19034. 'stdDeviation',
  19035. this.filterManager.effectElements[4].p.v / 4
  19036. ),
  19037. t || this.filterManager.effectElements[0].p._mdf)
  19038. ) {
  19039. var e = this.filterManager.effectElements[0].p.v;
  19040. this.feFlood.setAttribute(
  19041. 'flood-color',
  19042. rgbToHex(
  19043. Math.round(255 * e[0]),
  19044. Math.round(255 * e[1]),
  19045. Math.round(255 * e[2])
  19046. )
  19047. );
  19048. }
  19049. if (
  19050. ((t || this.filterManager.effectElements[1].p._mdf) &&
  19051. this.feFlood.setAttribute(
  19052. 'flood-opacity',
  19053. this.filterManager.effectElements[1].p.v / 255
  19054. ),
  19055. t ||
  19056. this.filterManager.effectElements[2].p._mdf ||
  19057. this.filterManager.effectElements[3].p._mdf)
  19058. ) {
  19059. var r = this.filterManager.effectElements[3].p.v,
  19060. a =
  19061. (this.filterManager.effectElements[2].p.v - 90) *
  19062. degToRads,
  19063. i = r * Math.cos(a),
  19064. s = r * Math.sin(a);
  19065. this.feOffset.setAttribute('dx', i),
  19066. this.feOffset.setAttribute('dy', s);
  19067. }
  19068. }
  19069. });
  19070. var _svgMatteSymbols = [];
  19071. function SVGMatte3Effect(t, e, r) {
  19072. (this.initialized = !1),
  19073. (this.filterManager = e),
  19074. (this.filterElem = t),
  19075. (this.elem = r),
  19076. (r.matteElement = createNS('g')),
  19077. r.matteElement.appendChild(r.layerElement),
  19078. r.matteElement.appendChild(r.transformedElement),
  19079. (r.baseElement = r.matteElement);
  19080. }
  19081. function SVGGaussianBlurEffect(t, e, r, a) {
  19082. t.setAttribute('x', '-100%'),
  19083. t.setAttribute('y', '-100%'),
  19084. t.setAttribute('width', '300%'),
  19085. t.setAttribute('height', '300%'),
  19086. (this.filterManager = e);
  19087. var i = createNS('feGaussianBlur');
  19088. i.setAttribute('result', a),
  19089. t.appendChild(i),
  19090. (this.feGaussianBlur = i);
  19091. }
  19092. function TransformEffect() {}
  19093. function SVGTransformEffect(t, e) {
  19094. this.init(e);
  19095. }
  19096. function CVTransformEffect(t) {
  19097. this.init(t);
  19098. }
  19099. return (
  19100. (SVGMatte3Effect.prototype.findSymbol = function (t) {
  19101. for (var e = 0, r = _svgMatteSymbols.length; e < r; ) {
  19102. if (_svgMatteSymbols[e] === t) return _svgMatteSymbols[e];
  19103. e += 1;
  19104. }
  19105. return null;
  19106. }),
  19107. (SVGMatte3Effect.prototype.replaceInParent = function (t, e) {
  19108. var r = t.layerElement.parentNode;
  19109. if (r) {
  19110. for (
  19111. var a, i = r.children, s = 0, n = i.length;
  19112. s < n && i[s] !== t.layerElement;
  19113. )
  19114. s += 1;
  19115. s <= n - 2 && (a = i[s + 1]);
  19116. var o = createNS('use');
  19117. o.setAttribute('href', '#' + e),
  19118. a ? r.insertBefore(o, a) : r.appendChild(o);
  19119. }
  19120. }),
  19121. (SVGMatte3Effect.prototype.setElementAsMask = function (
  19122. t,
  19123. e
  19124. ) {
  19125. if (!this.findSymbol(e)) {
  19126. var r = createElementID(),
  19127. a = createNS('mask');
  19128. a.setAttribute('id', e.layerId),
  19129. a.setAttribute('mask-type', 'alpha'),
  19130. _svgMatteSymbols.push(e);
  19131. var i = t.globalData.defs;
  19132. i.appendChild(a);
  19133. var s = createNS('symbol');
  19134. s.setAttribute('id', r),
  19135. this.replaceInParent(e, r),
  19136. s.appendChild(e.layerElement),
  19137. i.appendChild(s);
  19138. var n = createNS('use');
  19139. n.setAttribute('href', '#' + r),
  19140. a.appendChild(n),
  19141. (e.data.hd = !1),
  19142. e.show();
  19143. }
  19144. t.setMatte(e.layerId);
  19145. }),
  19146. (SVGMatte3Effect.prototype.initialize = function () {
  19147. for (
  19148. var t = this.filterManager.effectElements[0].p.v,
  19149. e = this.elem.comp.elements,
  19150. r = 0,
  19151. a = e.length;
  19152. r < a;
  19153. )
  19154. e[r] &&
  19155. e[r].data.ind === t &&
  19156. this.setElementAsMask(this.elem, e[r]),
  19157. (r += 1);
  19158. this.initialized = !0;
  19159. }),
  19160. (SVGMatte3Effect.prototype.renderFrame = function () {
  19161. this.initialized || this.initialize();
  19162. }),
  19163. (SVGGaussianBlurEffect.prototype.renderFrame = function (t) {
  19164. if (t || this.filterManager._mdf) {
  19165. var e = 0.3 * this.filterManager.effectElements[0].p.v,
  19166. r = this.filterManager.effectElements[1].p.v,
  19167. a = 3 == r ? 0 : e,
  19168. i = 2 == r ? 0 : e;
  19169. this.feGaussianBlur.setAttribute(
  19170. 'stdDeviation',
  19171. a + ' ' + i
  19172. );
  19173. var s =
  19174. 1 == this.filterManager.effectElements[2].p.v
  19175. ? 'wrap'
  19176. : 'duplicate';
  19177. this.feGaussianBlur.setAttribute('edgeMode', s);
  19178. }
  19179. }),
  19180. (TransformEffect.prototype.init = function (t) {
  19181. (this.effectsManager = t),
  19182. (this.type = effectTypes.TRANSFORM_EFFECT),
  19183. (this.matrix = new Matrix()),
  19184. (this.opacity = -1),
  19185. (this._mdf = !1),
  19186. (this._opMdf = !1);
  19187. }),
  19188. (TransformEffect.prototype.renderFrame = function (t) {
  19189. if (
  19190. ((this._opMdf = !1),
  19191. (this._mdf = !1),
  19192. t || this.effectsManager._mdf)
  19193. ) {
  19194. var e = this.effectsManager.effectElements,
  19195. r = e[0].p.v,
  19196. a = e[1].p.v,
  19197. i = 1 === e[2].p.v,
  19198. s = e[3].p.v,
  19199. n = i ? s : e[4].p.v,
  19200. o = e[5].p.v,
  19201. l = e[6].p.v,
  19202. h = e[7].p.v;
  19203. this.matrix.reset(),
  19204. this.matrix.translate(-r[0], -r[1], r[2]),
  19205. this.matrix.scale(0.01 * n, 0.01 * s, 1),
  19206. this.matrix.rotate(-h * degToRads),
  19207. this.matrix.skewFromAxis(
  19208. -o * degToRads,
  19209. (l + 90) * degToRads
  19210. ),
  19211. this.matrix.translate(a[0], a[1], 0),
  19212. (this._mdf = !0),
  19213. this.opacity !== e[8].p.v &&
  19214. ((this.opacity = e[8].p.v), (this._opMdf = !0));
  19215. }
  19216. }),
  19217. extendPrototype([TransformEffect], SVGTransformEffect),
  19218. extendPrototype([TransformEffect], CVTransformEffect),
  19219. registerRenderer('canvas', CanvasRenderer),
  19220. registerRenderer('html', HybridRenderer),
  19221. registerRenderer('svg', SVGRenderer),
  19222. ShapeModifiers.registerModifier('tm', TrimModifier),
  19223. ShapeModifiers.registerModifier('pb', PuckerAndBloatModifier),
  19224. ShapeModifiers.registerModifier('rp', RepeaterModifier),
  19225. ShapeModifiers.registerModifier('rd', RoundCornersModifier),
  19226. ShapeModifiers.registerModifier('zz', ZigZagModifier),
  19227. ShapeModifiers.registerModifier('op', OffsetPathModifier),
  19228. setExpressionsPlugin(Expressions),
  19229. setExpressionInterfaces(getInterface),
  19230. initialize$1(),
  19231. initialize(),
  19232. registerEffect$1(20, SVGTintFilter, !0),
  19233. registerEffect$1(21, SVGFillFilter, !0),
  19234. registerEffect$1(22, SVGStrokeEffect, !1),
  19235. registerEffect$1(23, SVGTritoneFilter, !0),
  19236. registerEffect$1(24, SVGProLevelsFilter, !0),
  19237. registerEffect$1(25, SVGDropShadowEffect, !0),
  19238. registerEffect$1(28, SVGMatte3Effect, !1),
  19239. registerEffect$1(29, SVGGaussianBlurEffect, !0),
  19240. registerEffect$1(35, SVGTransformEffect, !1),
  19241. registerEffect(35, CVTransformEffect),
  19242. lottie
  19243. );
  19244. }),
  19245. (module.exports = factory()));
  19246. })(lottie, lottie.exports);
  19247. var lottieExports = lottie.exports;
  19248. const Lottie = getDefaultExportFromCjs(lottieExports);
  19249. var freeGlobal =
  19250. 'object' == typeof global &&
  19251. global &&
  19252. global.Object === Object &&
  19253. global,
  19254. freeGlobal$1 = freeGlobal,
  19255. freeSelf =
  19256. 'object' == typeof self && self && self.Object === Object && self,
  19257. root = freeGlobal$1 || freeSelf || Function('return this')(),
  19258. root$1 = root,
  19259. Symbol$1 = root$1.Symbol,
  19260. Symbol$2 = Symbol$1,
  19261. objectProto$e = Object.prototype,
  19262. hasOwnProperty$b = objectProto$e.hasOwnProperty,
  19263. nativeObjectToString$1 = objectProto$e.toString,
  19264. symToStringTag$1 = Symbol$2 ? Symbol$2.toStringTag : void 0;
  19265. function getRawTag(t) {
  19266. var e = hasOwnProperty$b.call(t, symToStringTag$1),
  19267. r = t[symToStringTag$1];
  19268. try {
  19269. t[symToStringTag$1] = void 0;
  19270. var a = !0;
  19271. } catch (s) {}
  19272. var i = nativeObjectToString$1.call(t);
  19273. return (
  19274. a && (e ? (t[symToStringTag$1] = r) : delete t[symToStringTag$1]),
  19275. i
  19276. );
  19277. }
  19278. var objectProto$d = Object.prototype,
  19279. nativeObjectToString = objectProto$d.toString;
  19280. function objectToString(t) {
  19281. return nativeObjectToString.call(t);
  19282. }
  19283. var nullTag = '[object Null]',
  19284. undefinedTag = '[object Undefined]',
  19285. symToStringTag = Symbol$2 ? Symbol$2.toStringTag : void 0;
  19286. function baseGetTag(t) {
  19287. return null == t
  19288. ? void 0 === t
  19289. ? undefinedTag
  19290. : nullTag
  19291. : symToStringTag && symToStringTag in Object(t)
  19292. ? getRawTag(t)
  19293. : objectToString(t);
  19294. }
  19295. function isObjectLike(t) {
  19296. return null != t && 'object' == typeof t;
  19297. }
  19298. var isArray = Array.isArray,
  19299. isArray$1 = isArray;
  19300. function isObject(t) {
  19301. var e = typeof t;
  19302. return null != t && ('object' == e || 'function' == e);
  19303. }
  19304. var asyncTag = '[object AsyncFunction]',
  19305. funcTag$2 = '[object Function]',
  19306. genTag$1 = '[object GeneratorFunction]',
  19307. proxyTag = '[object Proxy]';
  19308. function isFunction(t) {
  19309. if (!isObject(t)) return !1;
  19310. var e = baseGetTag(t);
  19311. return (
  19312. e == funcTag$2 || e == genTag$1 || e == asyncTag || e == proxyTag
  19313. );
  19314. }
  19315. var coreJsData = root$1['__core-js_shared__'],
  19316. coreJsData$1 = coreJsData,
  19317. maskSrcKey =
  19318. ((uid = /[^.]+$/.exec(
  19319. (coreJsData$1 &&
  19320. coreJsData$1.keys &&
  19321. coreJsData$1.keys.IE_PROTO) ||
  19322. ''
  19323. )),
  19324. uid ? 'Symbol(src)_1.' + uid : ''),
  19325. uid;
  19326. function isMasked(t) {
  19327. return !!maskSrcKey && maskSrcKey in t;
  19328. }
  19329. var funcProto$1 = Function.prototype,
  19330. funcToString$1 = funcProto$1.toString;
  19331. function toSource(t) {
  19332. if (null != t) {
  19333. try {
  19334. return funcToString$1.call(t);
  19335. } catch (e) {}
  19336. try {
  19337. return t + '';
  19338. } catch (e) {}
  19339. }
  19340. return '';
  19341. }
  19342. var reRegExpChar = /[\\^$.*+?()[\]{}|]/g,
  19343. reIsHostCtor = /^\[object .+?Constructor\]$/,
  19344. funcProto = Function.prototype,
  19345. objectProto$c = Object.prototype,
  19346. funcToString = funcProto.toString,
  19347. hasOwnProperty$a = objectProto$c.hasOwnProperty,
  19348. reIsNative = RegExp(
  19349. '^' +
  19350. funcToString
  19351. .call(hasOwnProperty$a)
  19352. .replace(reRegExpChar, '\\$&')
  19353. .replace(
  19354. /hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,
  19355. '$1.*?'
  19356. ) +
  19357. '$'
  19358. );
  19359. function baseIsNative(t) {
  19360. return (
  19361. !(!isObject(t) || isMasked(t)) &&
  19362. (isFunction(t) ? reIsNative : reIsHostCtor).test(toSource(t))
  19363. );
  19364. }
  19365. function getValue(t, e) {
  19366. return null == t ? void 0 : t[e];
  19367. }
  19368. function getNative(t, e) {
  19369. var r = getValue(t, e);
  19370. return baseIsNative(r) ? r : void 0;
  19371. }
  19372. var WeakMap = getNative(root$1, 'WeakMap'),
  19373. WeakMap$1 = WeakMap,
  19374. objectCreate = Object.create,
  19375. baseCreate = (function () {
  19376. function t() {}
  19377. return function (e) {
  19378. if (!isObject(e)) return {};
  19379. if (objectCreate) return objectCreate(e);
  19380. t.prototype = e;
  19381. var r = new t();
  19382. return (t.prototype = void 0), r;
  19383. };
  19384. })(),
  19385. baseCreate$1 = baseCreate;
  19386. function copyArray(t, e) {
  19387. var r = -1,
  19388. a = t.length;
  19389. for (e || (e = Array(a)); ++r < a; ) e[r] = t[r];
  19390. return e;
  19391. }
  19392. var defineProperty = (function () {
  19393. try {
  19394. var t = getNative(Object, 'defineProperty');
  19395. return t({}, '', {}), t;
  19396. } catch (e) {}
  19397. })(),
  19398. defineProperty$1 = defineProperty;
  19399. function arrayEach(t, e) {
  19400. for (
  19401. var r = -1, a = null == t ? 0 : t.length;
  19402. ++r < a && !1 !== e(t[r], r, t);
  19403. );
  19404. return t;
  19405. }
  19406. var MAX_SAFE_INTEGER$1 = 9007199254740991,
  19407. reIsUint = /^(?:0|[1-9]\d*)$/;
  19408. function isIndex(t, e) {
  19409. var r = typeof t;
  19410. return (
  19411. !!(e = null == e ? MAX_SAFE_INTEGER$1 : e) &&
  19412. ('number' == r || ('symbol' != r && reIsUint.test(t))) &&
  19413. t > -1 &&
  19414. t % 1 == 0 &&
  19415. t < e
  19416. );
  19417. }
  19418. function baseAssignValue(t, e, r) {
  19419. '__proto__' == e && defineProperty$1
  19420. ? defineProperty$1(t, e, {
  19421. configurable: !0,
  19422. enumerable: !0,
  19423. value: r,
  19424. writable: !0
  19425. })
  19426. : (t[e] = r);
  19427. }
  19428. function eq(t, e) {
  19429. return t === e || (t != t && e != e);
  19430. }
  19431. var objectProto$b = Object.prototype,
  19432. hasOwnProperty$9 = objectProto$b.hasOwnProperty;
  19433. function assignValue(t, e, r) {
  19434. var a = t[e];
  19435. (hasOwnProperty$9.call(t, e) &&
  19436. eq(a, r) &&
  19437. (void 0 !== r || e in t)) ||
  19438. baseAssignValue(t, e, r);
  19439. }
  19440. function copyObject(t, e, r, a) {
  19441. var i = !r;
  19442. r || (r = {});
  19443. for (var s = -1, n = e.length; ++s < n; ) {
  19444. var o = e[s],
  19445. l = a ? a(r[o], t[o], o, r, t) : void 0;
  19446. void 0 === l && (l = t[o]),
  19447. i ? baseAssignValue(r, o, l) : assignValue(r, o, l);
  19448. }
  19449. return r;
  19450. }
  19451. var MAX_SAFE_INTEGER = 9007199254740991;
  19452. function isLength(t) {
  19453. return (
  19454. 'number' == typeof t &&
  19455. t > -1 &&
  19456. t % 1 == 0 &&
  19457. t <= MAX_SAFE_INTEGER
  19458. );
  19459. }
  19460. function isArrayLike(t) {
  19461. return null != t && isLength(t.length) && !isFunction(t);
  19462. }
  19463. var objectProto$a = Object.prototype;
  19464. function isPrototype(t) {
  19465. var e = t && t.constructor;
  19466. return (
  19467. t === (('function' == typeof e && e.prototype) || objectProto$a)
  19468. );
  19469. }
  19470. function baseTimes(t, e) {
  19471. for (var r = -1, a = Array(t); ++r < t; ) a[r] = e(r);
  19472. return a;
  19473. }
  19474. var argsTag$3 = '[object Arguments]';
  19475. function baseIsArguments(t) {
  19476. return isObjectLike(t) && baseGetTag(t) == argsTag$3;
  19477. }
  19478. var objectProto$9 = Object.prototype,
  19479. hasOwnProperty$8 = objectProto$9.hasOwnProperty,
  19480. propertyIsEnumerable$1 = objectProto$9.propertyIsEnumerable,
  19481. isArguments = baseIsArguments(
  19482. (function () {
  19483. return arguments;
  19484. })()
  19485. )
  19486. ? baseIsArguments
  19487. : function (t) {
  19488. return (
  19489. isObjectLike(t) &&
  19490. hasOwnProperty$8.call(t, 'callee') &&
  19491. !propertyIsEnumerable$1.call(t, 'callee')
  19492. );
  19493. },
  19494. isArguments$1 = isArguments;
  19495. function stubFalse() {
  19496. return !1;
  19497. }
  19498. var freeExports$2 =
  19499. 'object' == typeof exports &&
  19500. exports &&
  19501. !exports.nodeType &&
  19502. exports,
  19503. freeModule$2 =
  19504. freeExports$2 &&
  19505. 'object' == typeof module &&
  19506. module &&
  19507. !module.nodeType &&
  19508. module,
  19509. moduleExports$2 =
  19510. freeModule$2 && freeModule$2.exports === freeExports$2,
  19511. Buffer$1 = moduleExports$2 ? root$1.Buffer : void 0,
  19512. nativeIsBuffer = Buffer$1 ? Buffer$1.isBuffer : void 0,
  19513. isBuffer = nativeIsBuffer || stubFalse,
  19514. isBuffer$1 = isBuffer,
  19515. argsTag$2 = '[object Arguments]',
  19516. arrayTag$2 = '[object Array]',
  19517. boolTag$3 = '[object Boolean]',
  19518. dateTag$3 = '[object Date]',
  19519. errorTag$2 = '[object Error]',
  19520. funcTag$1 = '[object Function]',
  19521. mapTag$5 = '[object Map]',
  19522. numberTag$3 = '[object Number]',
  19523. objectTag$3 = '[object Object]',
  19524. regexpTag$3 = '[object RegExp]',
  19525. setTag$5 = '[object Set]',
  19526. stringTag$3 = '[object String]',
  19527. weakMapTag$2 = '[object WeakMap]',
  19528. arrayBufferTag$3 = '[object ArrayBuffer]',
  19529. dataViewTag$4 = '[object DataView]',
  19530. float32Tag$2 = '[object Float32Array]',
  19531. float64Tag$2 = '[object Float64Array]',
  19532. int8Tag$2 = '[object Int8Array]',
  19533. int16Tag$2 = '[object Int16Array]',
  19534. int32Tag$2 = '[object Int32Array]',
  19535. uint8Tag$2 = '[object Uint8Array]',
  19536. uint8ClampedTag$2 = '[object Uint8ClampedArray]',
  19537. uint16Tag$2 = '[object Uint16Array]',
  19538. uint32Tag$2 = '[object Uint32Array]',
  19539. typedArrayTags = {};
  19540. function baseIsTypedArray(t) {
  19541. return (
  19542. isObjectLike(t) &&
  19543. isLength(t.length) &&
  19544. !!typedArrayTags[baseGetTag(t)]
  19545. );
  19546. }
  19547. function baseUnary(t) {
  19548. return function (e) {
  19549. return t(e);
  19550. };
  19551. }
  19552. (typedArrayTags[float32Tag$2] =
  19553. typedArrayTags[float64Tag$2] =
  19554. typedArrayTags[int8Tag$2] =
  19555. typedArrayTags[int16Tag$2] =
  19556. typedArrayTags[int32Tag$2] =
  19557. typedArrayTags[uint8Tag$2] =
  19558. typedArrayTags[uint8ClampedTag$2] =
  19559. typedArrayTags[uint16Tag$2] =
  19560. typedArrayTags[uint32Tag$2] =
  19561. !0),
  19562. (typedArrayTags[argsTag$2] =
  19563. typedArrayTags[arrayTag$2] =
  19564. typedArrayTags[arrayBufferTag$3] =
  19565. typedArrayTags[boolTag$3] =
  19566. typedArrayTags[dataViewTag$4] =
  19567. typedArrayTags[dateTag$3] =
  19568. typedArrayTags[errorTag$2] =
  19569. typedArrayTags[funcTag$1] =
  19570. typedArrayTags[mapTag$5] =
  19571. typedArrayTags[numberTag$3] =
  19572. typedArrayTags[objectTag$3] =
  19573. typedArrayTags[regexpTag$3] =
  19574. typedArrayTags[setTag$5] =
  19575. typedArrayTags[stringTag$3] =
  19576. typedArrayTags[weakMapTag$2] =
  19577. !1);
  19578. var freeExports$1 =
  19579. 'object' == typeof exports &&
  19580. exports &&
  19581. !exports.nodeType &&
  19582. exports,
  19583. freeModule$1 =
  19584. freeExports$1 &&
  19585. 'object' == typeof module &&
  19586. module &&
  19587. !module.nodeType &&
  19588. module,
  19589. moduleExports$1 =
  19590. freeModule$1 && freeModule$1.exports === freeExports$1,
  19591. freeProcess = moduleExports$1 && freeGlobal$1.process,
  19592. nodeUtil = (function () {
  19593. try {
  19594. var t =
  19595. freeModule$1 &&
  19596. freeModule$1.require &&
  19597. freeModule$1.require('util').types;
  19598. return (
  19599. t ||
  19600. (freeProcess &&
  19601. freeProcess.binding &&
  19602. freeProcess.binding('util'))
  19603. );
  19604. } catch (e) {}
  19605. })(),
  19606. nodeUtil$1 = nodeUtil,
  19607. nodeIsTypedArray = nodeUtil$1 && nodeUtil$1.isTypedArray,
  19608. isTypedArray = nodeIsTypedArray
  19609. ? baseUnary(nodeIsTypedArray)
  19610. : baseIsTypedArray,
  19611. isTypedArray$1 = isTypedArray,
  19612. objectProto$8 = Object.prototype,
  19613. hasOwnProperty$7 = objectProto$8.hasOwnProperty;
  19614. function arrayLikeKeys(t, e) {
  19615. var r = isArray$1(t),
  19616. a = !r && isArguments$1(t),
  19617. i = !r && !a && isBuffer$1(t),
  19618. s = !r && !a && !i && isTypedArray$1(t),
  19619. n = r || a || i || s,
  19620. o = n ? baseTimes(t.length, String) : [],
  19621. l = o.length;
  19622. for (var h in t)
  19623. (!e && !hasOwnProperty$7.call(t, h)) ||
  19624. (n &&
  19625. ('length' == h ||
  19626. (i && ('offset' == h || 'parent' == h)) ||
  19627. (s &&
  19628. ('buffer' == h ||
  19629. 'byteLength' == h ||
  19630. 'byteOffset' == h)) ||
  19631. isIndex(h, l))) ||
  19632. o.push(h);
  19633. return o;
  19634. }
  19635. function overArg(t, e) {
  19636. return function (r) {
  19637. return t(e(r));
  19638. };
  19639. }
  19640. var nativeKeys = overArg(Object.keys, Object),
  19641. nativeKeys$1 = nativeKeys,
  19642. objectProto$7 = Object.prototype,
  19643. hasOwnProperty$6 = objectProto$7.hasOwnProperty;
  19644. function baseKeys(t) {
  19645. if (!isPrototype(t)) return nativeKeys$1(t);
  19646. var e = [];
  19647. for (var r in Object(t))
  19648. hasOwnProperty$6.call(t, r) && 'constructor' != r && e.push(r);
  19649. return e;
  19650. }
  19651. function keys(t) {
  19652. return isArrayLike(t) ? arrayLikeKeys(t) : baseKeys(t);
  19653. }
  19654. function nativeKeysIn(t) {
  19655. var e = [];
  19656. if (null != t) for (var r in Object(t)) e.push(r);
  19657. return e;
  19658. }
  19659. var objectProto$6 = Object.prototype,
  19660. hasOwnProperty$5 = objectProto$6.hasOwnProperty;
  19661. function baseKeysIn(t) {
  19662. if (!isObject(t)) return nativeKeysIn(t);
  19663. var e = isPrototype(t),
  19664. r = [];
  19665. for (var a in t)
  19666. ('constructor' != a || (!e && hasOwnProperty$5.call(t, a))) &&
  19667. r.push(a);
  19668. return r;
  19669. }
  19670. function keysIn(t) {
  19671. return isArrayLike(t) ? arrayLikeKeys(t, !0) : baseKeysIn(t);
  19672. }
  19673. var nativeCreate = getNative(Object, 'create'),
  19674. nativeCreate$1 = nativeCreate;
  19675. function hashClear() {
  19676. (this.__data__ = nativeCreate$1 ? nativeCreate$1(null) : {}),
  19677. (this.size = 0);
  19678. }
  19679. function hashDelete(t) {
  19680. var e = this.has(t) && delete this.__data__[t];
  19681. return (this.size -= e ? 1 : 0), e;
  19682. }
  19683. var HASH_UNDEFINED$2 = '__lodash_hash_undefined__',
  19684. objectProto$5 = Object.prototype,
  19685. hasOwnProperty$4 = objectProto$5.hasOwnProperty;
  19686. function hashGet(t) {
  19687. var e = this.__data__;
  19688. if (nativeCreate$1) {
  19689. var r = e[t];
  19690. return r === HASH_UNDEFINED$2 ? void 0 : r;
  19691. }
  19692. return hasOwnProperty$4.call(e, t) ? e[t] : void 0;
  19693. }
  19694. var objectProto$4 = Object.prototype,
  19695. hasOwnProperty$3 = objectProto$4.hasOwnProperty;
  19696. function hashHas(t) {
  19697. var e = this.__data__;
  19698. return nativeCreate$1
  19699. ? void 0 !== e[t]
  19700. : hasOwnProperty$3.call(e, t);
  19701. }
  19702. var HASH_UNDEFINED$1 = '__lodash_hash_undefined__';
  19703. function hashSet(t, e) {
  19704. var r = this.__data__;
  19705. return (
  19706. (this.size += this.has(t) ? 0 : 1),
  19707. (r[t] = nativeCreate$1 && void 0 === e ? HASH_UNDEFINED$1 : e),
  19708. this
  19709. );
  19710. }
  19711. function Hash(t) {
  19712. var e = -1,
  19713. r = null == t ? 0 : t.length;
  19714. for (this.clear(); ++e < r; ) {
  19715. var a = t[e];
  19716. this.set(a[0], a[1]);
  19717. }
  19718. }
  19719. function listCacheClear() {
  19720. (this.__data__ = []), (this.size = 0);
  19721. }
  19722. function assocIndexOf(t, e) {
  19723. for (var r = t.length; r--; ) if (eq(t[r][0], e)) return r;
  19724. return -1;
  19725. }
  19726. (Hash.prototype.clear = hashClear),
  19727. (Hash.prototype.delete = hashDelete),
  19728. (Hash.prototype.get = hashGet),
  19729. (Hash.prototype.has = hashHas),
  19730. (Hash.prototype.set = hashSet);
  19731. var arrayProto = Array.prototype,
  19732. splice = arrayProto.splice;
  19733. function listCacheDelete(t) {
  19734. var e = this.__data__,
  19735. r = assocIndexOf(e, t);
  19736. return (
  19737. !(r < 0) &&
  19738. (r == e.length - 1 ? e.pop() : splice.call(e, r, 1),
  19739. --this.size,
  19740. !0)
  19741. );
  19742. }
  19743. function listCacheGet(t) {
  19744. var e = this.__data__,
  19745. r = assocIndexOf(e, t);
  19746. return r < 0 ? void 0 : e[r][1];
  19747. }
  19748. function listCacheHas(t) {
  19749. return assocIndexOf(this.__data__, t) > -1;
  19750. }
  19751. function listCacheSet(t, e) {
  19752. var r = this.__data__,
  19753. a = assocIndexOf(r, t);
  19754. return a < 0 ? (++this.size, r.push([t, e])) : (r[a][1] = e), this;
  19755. }
  19756. function ListCache(t) {
  19757. var e = -1,
  19758. r = null == t ? 0 : t.length;
  19759. for (this.clear(); ++e < r; ) {
  19760. var a = t[e];
  19761. this.set(a[0], a[1]);
  19762. }
  19763. }
  19764. (ListCache.prototype.clear = listCacheClear),
  19765. (ListCache.prototype.delete = listCacheDelete),
  19766. (ListCache.prototype.get = listCacheGet),
  19767. (ListCache.prototype.has = listCacheHas),
  19768. (ListCache.prototype.set = listCacheSet);
  19769. var Map = getNative(root$1, 'Map'),
  19770. Map$1 = Map;
  19771. function mapCacheClear() {
  19772. (this.size = 0),
  19773. (this.__data__ = {
  19774. hash: new Hash(),
  19775. map: new (Map$1 || ListCache)(),
  19776. string: new Hash()
  19777. });
  19778. }
  19779. function isKeyable(t) {
  19780. var e = typeof t;
  19781. return 'string' == e ||
  19782. 'number' == e ||
  19783. 'symbol' == e ||
  19784. 'boolean' == e
  19785. ? '__proto__' !== t
  19786. : null === t;
  19787. }
  19788. function getMapData(t, e) {
  19789. var r = t.__data__;
  19790. return isKeyable(e)
  19791. ? r['string' == typeof e ? 'string' : 'hash']
  19792. : r.map;
  19793. }
  19794. function mapCacheDelete(t) {
  19795. var e = getMapData(this, t).delete(t);
  19796. return (this.size -= e ? 1 : 0), e;
  19797. }
  19798. function mapCacheGet(t) {
  19799. return getMapData(this, t).get(t);
  19800. }
  19801. function mapCacheHas(t) {
  19802. return getMapData(this, t).has(t);
  19803. }
  19804. function mapCacheSet(t, e) {
  19805. var r = getMapData(this, t),
  19806. a = r.size;
  19807. return r.set(t, e), (this.size += r.size == a ? 0 : 1), this;
  19808. }
  19809. function MapCache(t) {
  19810. var e = -1,
  19811. r = null == t ? 0 : t.length;
  19812. for (this.clear(); ++e < r; ) {
  19813. var a = t[e];
  19814. this.set(a[0], a[1]);
  19815. }
  19816. }
  19817. function arrayPush(t, e) {
  19818. for (var r = -1, a = e.length, i = t.length; ++r < a; )
  19819. t[i + r] = e[r];
  19820. return t;
  19821. }
  19822. (MapCache.prototype.clear = mapCacheClear),
  19823. (MapCache.prototype.delete = mapCacheDelete),
  19824. (MapCache.prototype.get = mapCacheGet),
  19825. (MapCache.prototype.has = mapCacheHas),
  19826. (MapCache.prototype.set = mapCacheSet);
  19827. var getPrototype = overArg(Object.getPrototypeOf, Object),
  19828. getPrototype$1 = getPrototype;
  19829. function stackClear() {
  19830. (this.__data__ = new ListCache()), (this.size = 0);
  19831. }
  19832. function stackDelete(t) {
  19833. var e = this.__data__,
  19834. r = e.delete(t);
  19835. return (this.size = e.size), r;
  19836. }
  19837. function stackGet(t) {
  19838. return this.__data__.get(t);
  19839. }
  19840. function stackHas(t) {
  19841. return this.__data__.has(t);
  19842. }
  19843. var LARGE_ARRAY_SIZE = 200;
  19844. function stackSet(t, e) {
  19845. var r = this.__data__;
  19846. if (r instanceof ListCache) {
  19847. var a = r.__data__;
  19848. if (!Map$1 || a.length < LARGE_ARRAY_SIZE - 1)
  19849. return a.push([t, e]), (this.size = ++r.size), this;
  19850. r = this.__data__ = new MapCache(a);
  19851. }
  19852. return r.set(t, e), (this.size = r.size), this;
  19853. }
  19854. function Stack(t) {
  19855. var e = (this.__data__ = new ListCache(t));
  19856. this.size = e.size;
  19857. }
  19858. function baseAssign(t, e) {
  19859. return t && copyObject(e, keys(e), t);
  19860. }
  19861. function baseAssignIn(t, e) {
  19862. return t && copyObject(e, keysIn(e), t);
  19863. }
  19864. (Stack.prototype.clear = stackClear),
  19865. (Stack.prototype.delete = stackDelete),
  19866. (Stack.prototype.get = stackGet),
  19867. (Stack.prototype.has = stackHas),
  19868. (Stack.prototype.set = stackSet);
  19869. var freeExports =
  19870. 'object' == typeof exports &&
  19871. exports &&
  19872. !exports.nodeType &&
  19873. exports,
  19874. freeModule =
  19875. freeExports &&
  19876. 'object' == typeof module &&
  19877. module &&
  19878. !module.nodeType &&
  19879. module,
  19880. moduleExports = freeModule && freeModule.exports === freeExports,
  19881. Buffer = moduleExports ? root$1.Buffer : void 0,
  19882. allocUnsafe = Buffer ? Buffer.allocUnsafe : void 0;
  19883. function cloneBuffer(t, e) {
  19884. if (e) return t.slice();
  19885. var r = t.length,
  19886. a = allocUnsafe ? allocUnsafe(r) : new t.constructor(r);
  19887. return t.copy(a), a;
  19888. }
  19889. function arrayFilter(t, e) {
  19890. for (
  19891. var r = -1, a = null == t ? 0 : t.length, i = 0, s = [];
  19892. ++r < a;
  19893. ) {
  19894. var n = t[r];
  19895. e(n, r, t) && (s[i++] = n);
  19896. }
  19897. return s;
  19898. }
  19899. function stubArray() {
  19900. return [];
  19901. }
  19902. var objectProto$3 = Object.prototype,
  19903. propertyIsEnumerable = objectProto$3.propertyIsEnumerable,
  19904. nativeGetSymbols$1 = Object.getOwnPropertySymbols,
  19905. getSymbols = nativeGetSymbols$1
  19906. ? function (t) {
  19907. return null == t
  19908. ? []
  19909. : ((t = Object(t)),
  19910. arrayFilter(nativeGetSymbols$1(t), function (e) {
  19911. return propertyIsEnumerable.call(t, e);
  19912. }));
  19913. }
  19914. : stubArray,
  19915. getSymbols$1 = getSymbols;
  19916. function copySymbols(t, e) {
  19917. return copyObject(t, getSymbols$1(t), e);
  19918. }
  19919. var nativeGetSymbols = Object.getOwnPropertySymbols,
  19920. getSymbolsIn = nativeGetSymbols
  19921. ? function (t) {
  19922. for (var e = []; t; )
  19923. arrayPush(e, getSymbols$1(t)), (t = getPrototype$1(t));
  19924. return e;
  19925. }
  19926. : stubArray,
  19927. getSymbolsIn$1 = getSymbolsIn;
  19928. function copySymbolsIn(t, e) {
  19929. return copyObject(t, getSymbolsIn$1(t), e);
  19930. }
  19931. function baseGetAllKeys(t, e, r) {
  19932. var a = e(t);
  19933. return isArray$1(t) ? a : arrayPush(a, r(t));
  19934. }
  19935. function getAllKeys(t) {
  19936. return baseGetAllKeys(t, keys, getSymbols$1);
  19937. }
  19938. function getAllKeysIn(t) {
  19939. return baseGetAllKeys(t, keysIn, getSymbolsIn$1);
  19940. }
  19941. var DataView = getNative(root$1, 'DataView'),
  19942. DataView$1 = DataView,
  19943. Promise$1 = getNative(root$1, 'Promise'),
  19944. Promise$2 = Promise$1,
  19945. Set = getNative(root$1, 'Set'),
  19946. Set$1 = Set,
  19947. mapTag$4 = '[object Map]',
  19948. objectTag$2 = '[object Object]',
  19949. promiseTag = '[object Promise]',
  19950. setTag$4 = '[object Set]',
  19951. weakMapTag$1 = '[object WeakMap]',
  19952. dataViewTag$3 = '[object DataView]',
  19953. dataViewCtorString = toSource(DataView$1),
  19954. mapCtorString = toSource(Map$1),
  19955. promiseCtorString = toSource(Promise$2),
  19956. setCtorString = toSource(Set$1),
  19957. weakMapCtorString = toSource(WeakMap$1),
  19958. getTag = baseGetTag;
  19959. ((DataView$1 &&
  19960. getTag(new DataView$1(new ArrayBuffer(1))) != dataViewTag$3) ||
  19961. (Map$1 && getTag(new Map$1()) != mapTag$4) ||
  19962. (Promise$2 && getTag(Promise$2.resolve()) != promiseTag) ||
  19963. (Set$1 && getTag(new Set$1()) != setTag$4) ||
  19964. (WeakMap$1 && getTag(new WeakMap$1()) != weakMapTag$1)) &&
  19965. (getTag = function (t) {
  19966. var e = baseGetTag(t),
  19967. r = e == objectTag$2 ? t.constructor : void 0,
  19968. a = r ? toSource(r) : '';
  19969. if (a)
  19970. switch (a) {
  19971. case dataViewCtorString:
  19972. return dataViewTag$3;
  19973. case mapCtorString:
  19974. return mapTag$4;
  19975. case promiseCtorString:
  19976. return promiseTag;
  19977. case setCtorString:
  19978. return setTag$4;
  19979. case weakMapCtorString:
  19980. return weakMapTag$1;
  19981. }
  19982. return e;
  19983. });
  19984. var getTag$1 = getTag,
  19985. objectProto$2 = Object.prototype,
  19986. hasOwnProperty$2 = objectProto$2.hasOwnProperty;
  19987. function initCloneArray(t) {
  19988. var e = t.length,
  19989. r = new t.constructor(e);
  19990. return (
  19991. e &&
  19992. 'string' == typeof t[0] &&
  19993. hasOwnProperty$2.call(t, 'index') &&
  19994. ((r.index = t.index), (r.input = t.input)),
  19995. r
  19996. );
  19997. }
  19998. var Uint8Array$1 = root$1.Uint8Array,
  19999. Uint8Array$1$1 = Uint8Array$1;
  20000. function cloneArrayBuffer(t) {
  20001. var e = new t.constructor(t.byteLength);
  20002. return new Uint8Array$1$1(e).set(new Uint8Array$1$1(t)), e;
  20003. }
  20004. function cloneDataView(t, e) {
  20005. var r = e ? cloneArrayBuffer(t.buffer) : t.buffer;
  20006. return new t.constructor(r, t.byteOffset, t.byteLength);
  20007. }
  20008. var reFlags = /\w*$/;
  20009. function cloneRegExp(t) {
  20010. var e = new t.constructor(t.source, reFlags.exec(t));
  20011. return (e.lastIndex = t.lastIndex), e;
  20012. }
  20013. var symbolProto$1 = Symbol$2 ? Symbol$2.prototype : void 0,
  20014. symbolValueOf$1 = symbolProto$1 ? symbolProto$1.valueOf : void 0;
  20015. function cloneSymbol(t) {
  20016. return symbolValueOf$1 ? Object(symbolValueOf$1.call(t)) : {};
  20017. }
  20018. function cloneTypedArray(t, e) {
  20019. var r = e ? cloneArrayBuffer(t.buffer) : t.buffer;
  20020. return new t.constructor(r, t.byteOffset, t.length);
  20021. }
  20022. var boolTag$2 = '[object Boolean]',
  20023. dateTag$2 = '[object Date]',
  20024. mapTag$3 = '[object Map]',
  20025. numberTag$2 = '[object Number]',
  20026. regexpTag$2 = '[object RegExp]',
  20027. setTag$3 = '[object Set]',
  20028. stringTag$2 = '[object String]',
  20029. symbolTag$2 = '[object Symbol]',
  20030. arrayBufferTag$2 = '[object ArrayBuffer]',
  20031. dataViewTag$2 = '[object DataView]',
  20032. float32Tag$1 = '[object Float32Array]',
  20033. float64Tag$1 = '[object Float64Array]',
  20034. int8Tag$1 = '[object Int8Array]',
  20035. int16Tag$1 = '[object Int16Array]',
  20036. int32Tag$1 = '[object Int32Array]',
  20037. uint8Tag$1 = '[object Uint8Array]',
  20038. uint8ClampedTag$1 = '[object Uint8ClampedArray]',
  20039. uint16Tag$1 = '[object Uint16Array]',
  20040. uint32Tag$1 = '[object Uint32Array]';
  20041. function initCloneByTag(t, e, r) {
  20042. var a = t.constructor;
  20043. switch (e) {
  20044. case arrayBufferTag$2:
  20045. return cloneArrayBuffer(t);
  20046. case boolTag$2:
  20047. case dateTag$2:
  20048. return new a(+t);
  20049. case dataViewTag$2:
  20050. return cloneDataView(t, r);
  20051. case float32Tag$1:
  20052. case float64Tag$1:
  20053. case int8Tag$1:
  20054. case int16Tag$1:
  20055. case int32Tag$1:
  20056. case uint8Tag$1:
  20057. case uint8ClampedTag$1:
  20058. case uint16Tag$1:
  20059. case uint32Tag$1:
  20060. return cloneTypedArray(t, r);
  20061. case mapTag$3:
  20062. return new a();
  20063. case numberTag$2:
  20064. case stringTag$2:
  20065. return new a(t);
  20066. case regexpTag$2:
  20067. return cloneRegExp(t);
  20068. case setTag$3:
  20069. return new a();
  20070. case symbolTag$2:
  20071. return cloneSymbol(t);
  20072. }
  20073. }
  20074. function initCloneObject(t) {
  20075. return 'function' != typeof t.constructor || isPrototype(t)
  20076. ? {}
  20077. : baseCreate$1(getPrototype$1(t));
  20078. }
  20079. var mapTag$2 = '[object Map]';
  20080. function baseIsMap(t) {
  20081. return isObjectLike(t) && getTag$1(t) == mapTag$2;
  20082. }
  20083. var nodeIsMap = nodeUtil$1 && nodeUtil$1.isMap,
  20084. isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap,
  20085. isMap$1 = isMap,
  20086. setTag$2 = '[object Set]';
  20087. function baseIsSet(t) {
  20088. return isObjectLike(t) && getTag$1(t) == setTag$2;
  20089. }
  20090. var nodeIsSet = nodeUtil$1 && nodeUtil$1.isSet,
  20091. isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet,
  20092. isSet$1 = isSet,
  20093. CLONE_DEEP_FLAG$1 = 1,
  20094. CLONE_FLAT_FLAG = 2,
  20095. CLONE_SYMBOLS_FLAG$1 = 4,
  20096. argsTag$1 = '[object Arguments]',
  20097. arrayTag$1 = '[object Array]',
  20098. boolTag$1 = '[object Boolean]',
  20099. dateTag$1 = '[object Date]',
  20100. errorTag$1 = '[object Error]',
  20101. funcTag = '[object Function]',
  20102. genTag = '[object GeneratorFunction]',
  20103. mapTag$1 = '[object Map]',
  20104. numberTag$1 = '[object Number]',
  20105. objectTag$1 = '[object Object]',
  20106. regexpTag$1 = '[object RegExp]',
  20107. setTag$1 = '[object Set]',
  20108. stringTag$1 = '[object String]',
  20109. symbolTag$1 = '[object Symbol]',
  20110. weakMapTag = '[object WeakMap]',
  20111. arrayBufferTag$1 = '[object ArrayBuffer]',
  20112. dataViewTag$1 = '[object DataView]',
  20113. float32Tag = '[object Float32Array]',
  20114. float64Tag = '[object Float64Array]',
  20115. int8Tag = '[object Int8Array]',
  20116. int16Tag = '[object Int16Array]',
  20117. int32Tag = '[object Int32Array]',
  20118. uint8Tag = '[object Uint8Array]',
  20119. uint8ClampedTag = '[object Uint8ClampedArray]',
  20120. uint16Tag = '[object Uint16Array]',
  20121. uint32Tag = '[object Uint32Array]',
  20122. cloneableTags = {};
  20123. function baseClone(t, e, r, a, i, s) {
  20124. var n,
  20125. o = e & CLONE_DEEP_FLAG$1,
  20126. l = e & CLONE_FLAT_FLAG,
  20127. h = e & CLONE_SYMBOLS_FLAG$1;
  20128. if ((r && (n = i ? r(t, a, i, s) : r(t)), void 0 !== n)) return n;
  20129. if (!isObject(t)) return t;
  20130. var p = isArray$1(t);
  20131. if (p) {
  20132. if (((n = initCloneArray(t)), !o)) return copyArray(t, n);
  20133. } else {
  20134. var c = getTag$1(t),
  20135. d = c == funcTag || c == genTag;
  20136. if (isBuffer$1(t)) return cloneBuffer(t, o);
  20137. if (c == objectTag$1 || c == argsTag$1 || (d && !i)) {
  20138. if (((n = l || d ? {} : initCloneObject(t)), !o))
  20139. return l
  20140. ? copySymbolsIn(t, baseAssignIn(n, t))
  20141. : copySymbols(t, baseAssign(n, t));
  20142. } else {
  20143. if (!cloneableTags[c]) return i ? t : {};
  20144. n = initCloneByTag(t, c, o);
  20145. }
  20146. }
  20147. s || (s = new Stack());
  20148. var f = s.get(t);
  20149. if (f) return f;
  20150. s.set(t, n),
  20151. isSet$1(t)
  20152. ? t.forEach(function (a) {
  20153. n.add(baseClone(a, e, r, a, t, s));
  20154. })
  20155. : isMap$1(t) &&
  20156. t.forEach(function (a, i) {
  20157. n.set(i, baseClone(a, e, r, i, t, s));
  20158. });
  20159. var m = p
  20160. ? void 0
  20161. : (h ? (l ? getAllKeysIn : getAllKeys) : l ? keysIn : keys)(t);
  20162. return (
  20163. arrayEach(m || t, function (a, i) {
  20164. m && (a = t[(i = a)]),
  20165. assignValue(n, i, baseClone(a, e, r, i, t, s));
  20166. }),
  20167. n
  20168. );
  20169. }
  20170. (cloneableTags[argsTag$1] =
  20171. cloneableTags[arrayTag$1] =
  20172. cloneableTags[arrayBufferTag$1] =
  20173. cloneableTags[dataViewTag$1] =
  20174. cloneableTags[boolTag$1] =
  20175. cloneableTags[dateTag$1] =
  20176. cloneableTags[float32Tag] =
  20177. cloneableTags[float64Tag] =
  20178. cloneableTags[int8Tag] =
  20179. cloneableTags[int16Tag] =
  20180. cloneableTags[int32Tag] =
  20181. cloneableTags[mapTag$1] =
  20182. cloneableTags[numberTag$1] =
  20183. cloneableTags[objectTag$1] =
  20184. cloneableTags[regexpTag$1] =
  20185. cloneableTags[setTag$1] =
  20186. cloneableTags[stringTag$1] =
  20187. cloneableTags[symbolTag$1] =
  20188. cloneableTags[uint8Tag] =
  20189. cloneableTags[uint8ClampedTag] =
  20190. cloneableTags[uint16Tag] =
  20191. cloneableTags[uint32Tag] =
  20192. !0),
  20193. (cloneableTags[errorTag$1] =
  20194. cloneableTags[funcTag] =
  20195. cloneableTags[weakMapTag] =
  20196. !1);
  20197. var CLONE_DEEP_FLAG = 1,
  20198. CLONE_SYMBOLS_FLAG = 4;
  20199. function cloneDeep(t) {
  20200. return baseClone(t, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
  20201. }
  20202. var HASH_UNDEFINED = '__lodash_hash_undefined__';
  20203. function setCacheAdd(t) {
  20204. return this.__data__.set(t, HASH_UNDEFINED), this;
  20205. }
  20206. function setCacheHas(t) {
  20207. return this.__data__.has(t);
  20208. }
  20209. function SetCache(t) {
  20210. var e = -1,
  20211. r = null == t ? 0 : t.length;
  20212. for (this.__data__ = new MapCache(); ++e < r; ) this.add(t[e]);
  20213. }
  20214. function arraySome(t, e) {
  20215. for (var r = -1, a = null == t ? 0 : t.length; ++r < a; )
  20216. if (e(t[r], r, t)) return !0;
  20217. return !1;
  20218. }
  20219. function cacheHas(t, e) {
  20220. return t.has(e);
  20221. }
  20222. (SetCache.prototype.add = SetCache.prototype.push = setCacheAdd),
  20223. (SetCache.prototype.has = setCacheHas);
  20224. var COMPARE_PARTIAL_FLAG$3 = 1,
  20225. COMPARE_UNORDERED_FLAG$1 = 2;
  20226. function equalArrays(t, e, r, a, i, s) {
  20227. var n = r & COMPARE_PARTIAL_FLAG$3,
  20228. o = t.length,
  20229. l = e.length;
  20230. if (o != l && !(n && l > o)) return !1;
  20231. var h = s.get(t),
  20232. p = s.get(e);
  20233. if (h && p) return h == e && p == t;
  20234. var c = -1,
  20235. d = !0,
  20236. f = r & COMPARE_UNORDERED_FLAG$1 ? new SetCache() : void 0;
  20237. for (s.set(t, e), s.set(e, t); ++c < o; ) {
  20238. var m = t[c],
  20239. u = e[c];
  20240. if (a) var g = n ? a(u, m, c, e, t, s) : a(m, u, c, t, e, s);
  20241. if (void 0 !== g) {
  20242. if (g) continue;
  20243. d = !1;
  20244. break;
  20245. }
  20246. if (f) {
  20247. if (
  20248. !arraySome(e, function (t, e) {
  20249. if (!cacheHas(f, e) && (m === t || i(m, t, r, a, s)))
  20250. return f.push(e);
  20251. })
  20252. ) {
  20253. d = !1;
  20254. break;
  20255. }
  20256. } else if (m !== u && !i(m, u, r, a, s)) {
  20257. d = !1;
  20258. break;
  20259. }
  20260. }
  20261. return s.delete(t), s.delete(e), d;
  20262. }
  20263. function mapToArray(t) {
  20264. var e = -1,
  20265. r = Array(t.size);
  20266. return (
  20267. t.forEach(function (t, a) {
  20268. r[++e] = [a, t];
  20269. }),
  20270. r
  20271. );
  20272. }
  20273. function setToArray(t) {
  20274. var e = -1,
  20275. r = Array(t.size);
  20276. return (
  20277. t.forEach(function (t) {
  20278. r[++e] = t;
  20279. }),
  20280. r
  20281. );
  20282. }
  20283. var COMPARE_PARTIAL_FLAG$2 = 1,
  20284. COMPARE_UNORDERED_FLAG = 2,
  20285. boolTag = '[object Boolean]',
  20286. dateTag = '[object Date]',
  20287. errorTag = '[object Error]',
  20288. mapTag = '[object Map]',
  20289. numberTag = '[object Number]',
  20290. regexpTag = '[object RegExp]',
  20291. setTag = '[object Set]',
  20292. stringTag = '[object String]',
  20293. symbolTag = '[object Symbol]',
  20294. arrayBufferTag = '[object ArrayBuffer]',
  20295. dataViewTag = '[object DataView]',
  20296. symbolProto = Symbol$2 ? Symbol$2.prototype : void 0,
  20297. symbolValueOf = symbolProto ? symbolProto.valueOf : void 0;
  20298. function equalByTag(t, e, r, a, i, s, n) {
  20299. switch (r) {
  20300. case dataViewTag:
  20301. if (
  20302. t.byteLength != e.byteLength ||
  20303. t.byteOffset != e.byteOffset
  20304. )
  20305. return !1;
  20306. (t = t.buffer), (e = e.buffer);
  20307. case arrayBufferTag:
  20308. return !(
  20309. t.byteLength != e.byteLength ||
  20310. !s(new Uint8Array$1$1(t), new Uint8Array$1$1(e))
  20311. );
  20312. case boolTag:
  20313. case dateTag:
  20314. case numberTag:
  20315. return eq(+t, +e);
  20316. case errorTag:
  20317. return t.name == e.name && t.message == e.message;
  20318. case regexpTag:
  20319. case stringTag:
  20320. return t == e + '';
  20321. case mapTag:
  20322. var o = mapToArray;
  20323. case setTag:
  20324. var l = a & COMPARE_PARTIAL_FLAG$2;
  20325. if ((o || (o = setToArray), t.size != e.size && !l)) return !1;
  20326. var h = n.get(t);
  20327. if (h) return h == e;
  20328. (a |= COMPARE_UNORDERED_FLAG), n.set(t, e);
  20329. var p = equalArrays(o(t), o(e), a, i, s, n);
  20330. return n.delete(t), p;
  20331. case symbolTag:
  20332. if (symbolValueOf)
  20333. return symbolValueOf.call(t) == symbolValueOf.call(e);
  20334. }
  20335. return !1;
  20336. }
  20337. var COMPARE_PARTIAL_FLAG$1 = 1,
  20338. objectProto$1 = Object.prototype,
  20339. hasOwnProperty$1 = objectProto$1.hasOwnProperty;
  20340. function equalObjects(t, e, r, a, i, s) {
  20341. var n = r & COMPARE_PARTIAL_FLAG$1,
  20342. o = getAllKeys(t),
  20343. l = o.length;
  20344. if (l != getAllKeys(e).length && !n) return !1;
  20345. for (var h = l; h--; ) {
  20346. var p = o[h];
  20347. if (!(n ? p in e : hasOwnProperty$1.call(e, p))) return !1;
  20348. }
  20349. var c = s.get(t),
  20350. d = s.get(e);
  20351. if (c && d) return c == e && d == t;
  20352. var f = !0;
  20353. s.set(t, e), s.set(e, t);
  20354. for (var m = n; ++h < l; ) {
  20355. var u = t[(p = o[h])],
  20356. g = e[p];
  20357. if (a) var y = n ? a(g, u, p, e, t, s) : a(u, g, p, t, e, s);
  20358. if (!(void 0 === y ? u === g || i(u, g, r, a, s) : y)) {
  20359. f = !1;
  20360. break;
  20361. }
  20362. m || (m = 'constructor' == p);
  20363. }
  20364. if (f && !m) {
  20365. var v = t.constructor,
  20366. b = e.constructor;
  20367. v == b ||
  20368. !('constructor' in t) ||
  20369. !('constructor' in e) ||
  20370. ('function' == typeof v &&
  20371. v instanceof v &&
  20372. 'function' == typeof b &&
  20373. b instanceof b) ||
  20374. (f = !1);
  20375. }
  20376. return s.delete(t), s.delete(e), f;
  20377. }
  20378. var COMPARE_PARTIAL_FLAG = 1,
  20379. argsTag = '[object Arguments]',
  20380. arrayTag = '[object Array]',
  20381. objectTag = '[object Object]',
  20382. objectProto = Object.prototype,
  20383. hasOwnProperty = objectProto.hasOwnProperty;
  20384. function baseIsEqualDeep(t, e, r, a, i, s) {
  20385. var n = isArray$1(t),
  20386. o = isArray$1(e),
  20387. l = n ? arrayTag : getTag$1(t),
  20388. h = o ? arrayTag : getTag$1(e),
  20389. p = (l = l == argsTag ? objectTag : l) == objectTag,
  20390. c = (h = h == argsTag ? objectTag : h) == objectTag,
  20391. d = l == h;
  20392. if (d && isBuffer$1(t)) {
  20393. if (!isBuffer$1(e)) return !1;
  20394. (n = !0), (p = !1);
  20395. }
  20396. if (d && !p)
  20397. return (
  20398. s || (s = new Stack()),
  20399. n || isTypedArray$1(t)
  20400. ? equalArrays(t, e, r, a, i, s)
  20401. : equalByTag(t, e, l, r, a, i, s)
  20402. );
  20403. if (!(r & COMPARE_PARTIAL_FLAG)) {
  20404. var f = p && hasOwnProperty.call(t, '__wrapped__'),
  20405. m = c && hasOwnProperty.call(e, '__wrapped__');
  20406. if (f || m) {
  20407. var u = f ? t.value() : t,
  20408. g = m ? e.value() : e;
  20409. return s || (s = new Stack()), i(u, g, r, a, s);
  20410. }
  20411. }
  20412. return (
  20413. !!d && (s || (s = new Stack()), equalObjects(t, e, r, a, i, s))
  20414. );
  20415. }
  20416. function baseIsEqual(t, e, r, a, i) {
  20417. return (
  20418. t === e ||
  20419. (null == t || null == e || (!isObjectLike(t) && !isObjectLike(e))
  20420. ? t != t && e != e
  20421. : baseIsEqualDeep(t, e, r, a, baseIsEqual, i))
  20422. );
  20423. }
  20424. function isEqual(t, e) {
  20425. return baseIsEqual(t, e);
  20426. }
  20427. var _export_sfc = (t, e) => {
  20428. const r = t.__vccOpts || t;
  20429. for (const [a, i] of e) r[a] = i;
  20430. return r;
  20431. };
  20432. const _sfc_main = defineComponent({
  20433. props: {
  20434. animationData: { type: Object, default: () => ({}) },
  20435. animationLink: { type: String, default: '' },
  20436. loop: { type: [Boolean, Number], default: !0 },
  20437. autoPlay: { type: Boolean, default: !0 },
  20438. width: { type: [Number, String], default: '100%' },
  20439. height: { type: [Number, String], default: '100%' },
  20440. speed: { type: Number, default: 1 },
  20441. delay: { type: Number, default: 0 },
  20442. direction: { type: String, default: 'forward' },
  20443. pauseOnHover: { type: Boolean, default: !1 },
  20444. playOnHover: { type: Boolean, default: !1 },
  20445. backgroundColor: { type: String, default: 'transparent' },
  20446. pauseAnimation: { type: Boolean, default: !1 },
  20447. renderer: { type: String, default: 'svg' },
  20448. rendererSettings: { type: Object, default: () => ({}) },
  20449. assetsPath: { type: String, default: '' }
  20450. },
  20451. emits: {
  20452. onComplete: null,
  20453. onLoopComplete: null,
  20454. onEnterFrame: null,
  20455. onSegmentStart: null,
  20456. onAnimationLoaded: null
  20457. },
  20458. setup(t, { emit: e }) {
  20459. let r = ref(null);
  20460. const a = ref('');
  20461. let i = 1;
  20462. const s = computed(() => {
  20463. let e = t.width,
  20464. r = t.height;
  20465. return (
  20466. 'number' == typeof t.width && (e = `${t.width}px`),
  20467. 'number' == typeof t.height && (r = `${t.height}px`),
  20468. {
  20469. '--lottie-animation-container-width': e,
  20470. '--lottie-animation-container-height': r,
  20471. '--lottie-animation-container-background-color':
  20472. t.backgroundColor
  20473. }
  20474. );
  20475. });
  20476. watch(
  20477. () => t.pauseAnimation,
  20478. () => {
  20479. (t.pauseOnHover || t.playOnHover) && t.pauseAnimation
  20480. ? console.error(
  20481. 'If you are using pauseAnimation prop for Vue3-Lottie, please remove the props pauseOnHover and playOnHover'
  20482. )
  20483. : r && (t.pauseAnimation ? r.pause() : r.play());
  20484. }
  20485. );
  20486. const n = a => {
  20487. if (t.pauseOnHover && t.playOnHover)
  20488. throw new Error(
  20489. 'You cannot set pauseOnHover and playOnHover for Vue3-Lottie at the same time.'
  20490. );
  20491. if ('' === t.animationLink && isEqual(t.animationData, {}))
  20492. throw new Error(
  20493. 'You must provide either animationLink or animationData'
  20494. );
  20495. const s = setInterval(() => {
  20496. if (
  20497. (t =>
  20498. null !== document.querySelector(`[data-id="${t}"]`))(a)
  20499. ) {
  20500. clearInterval(s);
  20501. const n = document.querySelector(`[data-id="${a}" ]`);
  20502. n &&
  20503. (async a => {
  20504. let s = t.autoPlay;
  20505. t.playOnHover && (s = !1);
  20506. let n = {};
  20507. if (
  20508. (!1 === isEqual(t.animationData, {}) &&
  20509. (n = cloneDeep(t.animationData)),
  20510. '' != t.animationLink)
  20511. )
  20512. try {
  20513. const e = await fetch(t.animationLink);
  20514. n = await e.json();
  20515. } catch (h) {
  20516. return void console.error(h);
  20517. }
  20518. let o = t.loop;
  20519. 'number' == typeof o && o > 0 && (o -= 1),
  20520. t.delay > 0 && (s = !1);
  20521. const l = {
  20522. container: a,
  20523. renderer: t.renderer,
  20524. loop: o,
  20525. autoplay: s,
  20526. animationData: n,
  20527. assetsPath: t.assetsPath
  20528. };
  20529. !1 === isEqual(t.rendererSettings, {}) &&
  20530. (l.rendererSettings = t.rendererSettings),
  20531. (r = Lottie.loadAnimation(l)),
  20532. setTimeout(() => {
  20533. (s = t.autoPlay),
  20534. t.playOnHover
  20535. ? r.pause()
  20536. : s
  20537. ? r.play()
  20538. : r.pause(),
  20539. e('onAnimationLoaded');
  20540. }, t.delay),
  20541. r.setSpeed(t.speed),
  20542. 'reverse' === t.direction && r.setDirection(-1),
  20543. 'normal' === t.direction && r.setDirection(1),
  20544. (t.pauseAnimation || t.playOnHover) && r.pause(),
  20545. r.addEventListener('loopComplete', () => {
  20546. 'alternate' === t.direction &&
  20547. (r.stop(),
  20548. (i *= -1),
  20549. r.setDirection(i),
  20550. r.play()),
  20551. e('onLoopComplete');
  20552. }),
  20553. r.addEventListener('complete', () => {
  20554. e('onComplete');
  20555. }),
  20556. r.addEventListener('enterFrame', () => {
  20557. e('onEnterFrame');
  20558. }),
  20559. r.addEventListener('segmentStart', () => {
  20560. e('onSegmentStart');
  20561. });
  20562. })(n);
  20563. }
  20564. }, 0);
  20565. };
  20566. return (
  20567. onMounted(async () => {
  20568. (a.value = (t => {
  20569. for (
  20570. var e = '',
  20571. r =
  20572. 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',
  20573. a = 0;
  20574. a < t;
  20575. a++
  20576. )
  20577. e += r.charAt(Math.floor(62 * Math.random()));
  20578. return e;
  20579. })(20)),
  20580. n(a.value);
  20581. }),
  20582. {
  20583. elementid: a,
  20584. hoverEnded: () => {
  20585. r && t.pauseOnHover && r.play(),
  20586. r && t.playOnHover && r.pause();
  20587. },
  20588. hoverStarted: () => {
  20589. r && t.pauseOnHover && r.pause(),
  20590. r && t.playOnHover && r.play();
  20591. },
  20592. getCurrentStyle: s,
  20593. play: () => {
  20594. r && r.play();
  20595. },
  20596. pause: () => {
  20597. r && r.pause();
  20598. },
  20599. stop: () => {
  20600. r && r.stop();
  20601. },
  20602. destroy: () => {
  20603. r && r.destroy();
  20604. },
  20605. setSpeed: (t = 1) => {
  20606. if (t <= 0)
  20607. throw new Error('Speed must be greater than 0');
  20608. r && r.setSpeed(t);
  20609. },
  20610. setDirection: t => {
  20611. r &&
  20612. ('forward' === t
  20613. ? r.setDirection(1)
  20614. : 'reverse' === t && r.setDirection(-1));
  20615. },
  20616. goToAndStop: (t, e = !0) => {
  20617. r && r.goToAndStop(t, e);
  20618. },
  20619. goToAndPlay: (t, e = !0) => {
  20620. r && r.goToAndPlay(t, e);
  20621. },
  20622. playSegments: (t, e = !1) => {
  20623. r && r.playSegments(t, e);
  20624. },
  20625. setSubFrame: (t = !0) => {
  20626. r && r.setSubframe(t);
  20627. },
  20628. getDuration: (t = !0) => {
  20629. if (r) return r.getDuration(t);
  20630. },
  20631. updateDocumentData: (t, e = 0) => {
  20632. r && r.renderer.elements[e].updateDocumentData(t);
  20633. }
  20634. }
  20635. );
  20636. }
  20637. }),
  20638. _hoisted_1 = ['data-id'];
  20639. function _sfc_render(t, e, r, a, i, s) {
  20640. return (
  20641. openBlock(),
  20642. createElementBlock(
  20643. 'div',
  20644. {
  20645. 'data-id': t.elementid,
  20646. class: 'lottie-animation-container',
  20647. style: normalizeStyle(t.getCurrentStyle),
  20648. onMouseenter:
  20649. e[0] ||
  20650. (e[0] = (...e) => t.hoverStarted && t.hoverStarted(...e)),
  20651. onMouseleave:
  20652. e[1] ||
  20653. (e[1] = (...e) => t.hoverEnded && t.hoverEnded(...e))
  20654. },
  20655. null,
  20656. 44,
  20657. _hoisted_1
  20658. )
  20659. );
  20660. }
  20661. var Vue3Lottie = _export_sfc(_sfc_main, [['render', _sfc_render]]);
  20662. const v = '5.7.1',
  20663. fr = 60,
  20664. ip = 0,
  20665. op = 120,
  20666. w = 2436,
  20667. h = 1125,
  20668. nm = '合成 1',
  20669. ddd = 0,
  20670. assets = [
  20671. {
  20672. id: 'image_0',
  20673. w: 195,
  20674. h: 264,
  20675. u: '',
  20676. p: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMMAAAEICAYAAADiJ0BpAAAACXBIWXMAAAABAAAAAQBPJcTWAAAAJHpUWHRDcmVhdG9yAAAImXNMyU9KVXBMK0ktUnBNS0tNLikGAEF6Bs5qehXFAAAgAElEQVR4nO19ebxlRXXut85tGhBoZGjAhEkRISjJQ5QYYwjghBFiVMQ5xhiHRJOoz0jEiahIElEjUcOLmJ8xosGg4hRFoy2IedHggMg8NUQF6WZqmga6++4vf1StqlW19xnu1Hc3d31w+5yzd1WtqtprrqpzBFsh7r9p1aOmNzdHgTyK4AFosFKEKwksBxj+JwEBQMZa8TV+ZvwcitC0Hu+T4R6YmpFUj6bdXDYWCKVqurlwqgMBpCiby5CESEm37Kul30Ay8dwJ4C6Qt1HkFwJ+F4PBBZze8Vu7PubEu0bP8NKELHYHJgV5zbb3rb7p+U3D14H8VeWUNpMAaDE6K2Yu7xkilQABqJlV38dylmlrgUvXbT9HCeEQASI5om/luFQZJBqxXSPU9wrwiW22HZyx06/90U/qeV7K2CqE4d4bv/lETvOjIPcLPGe0YnzIlmktoymzgsgMXDGk3lbhyEyE+FlKZq6tQmwg1RcphbBi4lxO6Yf22/03n5H72U2/qq8W0sxPukNCRAjyzF1WLDtJDn7Z3TN+KA9A9FoYSA7uvXHV36Hha0jGZ0qjlZEYCqg1JFQtF0xh3Z7KrTB1Ev18v9DMlqnQwcTI9WKbNPdzHRbFIFkA2/S72syC1KZPU6+ir1cIyEBukin+7i6PftUlrQewxNBbYSA5dd/qVR9vmuYFACptnUppWWAEQ6s/39K2hnFSOXO9m9HbblVyY6p+FfSL/pdCVGvwFk3pErQ8ztpaJcEFYjxhi7cVh5B3NAMcu/tj//h7WMIYLHYHhuG+67/5wabhC0SykU9KGQTZGOZkDCBhGMG4IsosypjJpVDtGVyb2HJ8bwQkauGsXwNjMpMJdZJqkSQPIllzQ10aAGxKbW8Z1o5ZwgCUTCpENmDR/9xWsmDqglk6af7ynBDcZUA5f8MlH9l74gf0AEQvheG+6y94CgWvslpSH3jW2qVRSwyfHGuJz9q4R1Yb1zBuB1AKh7YZGCtbjczxtdXKFsPGBDmWSA1UXcj+fym0+Vq2GtX4C7cv98mOu7AuguKVbB684b6NH0vu6BJE74SB5KDB9JmdPJutf+vhZsVoNL7RuLF665MVDm1P/9quDyGmXijfJA2c6CczZoJXy9haTobQb/U19yG5fKjGb01L6gOGj19drMbQJ5545/f+4RmdpJcAeicM969e9WSCDy0UZx3UqpUoilRPHkhlWgKjnyrhqu7aBjKd2B9RsYjuEdnkivGvyBKJmKxSdmUK+qaDkv6xoiHJAtbJgi6Lp6ndYvwqLJLL2PoN+MethpYIeicMDfkiMDM9gOyGWLfEal4biCavIufgRdckigxOTrGqK5EagaEfGmhpasuU1j3SekE5s6JvGzArA7TjYNEOTJn258pdM+9UCEVymTLTlgXABvkgnnzXZWftiiWI3gkDIY/KcaiqNiRNHPzueBslk9qHqgo6+832ThV3GAHSEkVEa1yyIgtj1hMQ4wmtK8aNyf2yMQ3ytfgh6//abc+JAFPdLPYNGX/sH+P8xQk0bdZxB0FSNq/ffBCWIHonDALsnzS2ai7VakU8AHMtfJIoAS2NV/nrNigtV5CrBTvTj9Lft+1Y+mLoR+GwgXgqafR3R2BMNrGd1M12vKF1qgC7mLfW+I3VsePXPkUrMuDmh2MJonfCQDYPjm9aWn50Nig1ED+2Y4iy3bbjY7VuQT/6+9kqFKq9oFtbmYwcYHfkkQx9w9ySa4rmuYp2peyDukz1POkEVu3W0bW231C2a3VxCWDZYnegBdKY8rb2VyeiuB59eyFvIHDOsoF8FVNYvd203HE/sHIzmodLw+Ma4rkAVsLEEEXa0bTVzdRd7hGyBbBtitHySU6sIFRpV5Rt5uko4xzlf40ZYPqf6YveKuYpp45jWePKjVQ0SwT9E4aIFHzqBQFAzc6g1GoDWSeQkx904O7/KPKYTVVT6wBcB+B83rrqTetvX/9GkG9CNXaaf/WdqOtVeUidmaeakVKALIBkF8gyYR5X6UYBmcELK6IxQGWZugxgu0WjRlTf5CClIwRfeuinMDBrypRC1X+SylMG4/XLttnmuG33f/IV45qVPY5eD+Btd1/5pVVsNp8LYNfWYlSin42UdV0i0coqGQtQaNh0IX1K7lDy6xvkVeLch2SxxNyjbbMpLZi1AMx0bQq6a5tJaRW05PS4qXxAoncxQ7bipQtjbiEH0rhtsHzqSZMIgsVOBx+3ClNTzxBgY2LMFJgY+lDPJFyss0/xInT/j8YVRUxi3L6WpgdgV7XtXVqFkEnp3fJFrYiJbdSlKhb17D2NU4oyXT1cOuifMESXIQWPkrVe6coIZEpesv3+T71hNmRWHHT8RSJ4sy6IRf8n+92BROF324xM6Ir1+7U6UbB2lCgNvMtUqxFEmyVj9u1tfFAo72IvFVK7VJdLDH2TQco7rCTTT3PfjlmWEnonDDaoY8WYthSE39zhgGO/PBdaOxx84BkYyOrEmDCuielD4d9bB9v0qbAG2h4zE2btnkvWFi/RE2Xa/LkgRJtUsO22BbVFP1K3cUs9/vkCL3nPDrdd8N59eM0Z285bowuI3sUMlmlSvr4jozRo8ME505JHblx3xXkfIZtT1ZdXTZrWHqwboerfaPvk5kg7y5THk4NWm9fPYYf68pGokoDSByyTJ/qmzVDU7JCNbRVBu1pdlIF4XkQsuj4r3Hbh6Yc0wpcBPGHNXc2+kAZrfr4Jv7jgb34iIp9aubN8QH7tL+6ZG5WFQe8sA1BpZMsoESK4f/udB1+bD1qybPB5JMbMbkqbfr4fLuTsTKyUBYG5nmW07KpkN8WO2dZJlsMwei4cr1TWsgj0bTCtgmpK1ptm6+0eMwH56am1337fM9dc+J5vTKO5jGxeT3Lf1C4AAR9FTp966x2bL7v1gtMOmxWhBUbvhCGv2jI/NGaXARCwwQ2y11PnRbvs+PDjr4RgWqJZCNpWEk/nsw3Gv1cXxLCX2eVQuU9S8Fi2FA3UrUljluwmpnjEzIWNL2iFD9WuWeMyJSGMf7oto1yRL923SXH3D85Yufai009ee9FNNxDTn6XgmDTKZKDseQ5ABPsRPP+2C967zwxIbRH0Thjyfv7qoSWXoAHQ3Dx/9GRaiDVAdmFAI4TqK6E8j9B5niAJi3a5Y2GPiUtaYy4zRyqEWduX5znKcSRX0vh3KsDapTx/1uXMFqiS46FY+5/vO2Ltd07/+L33bPofEqcS3IdpEmK7JqjP5zlUMLFyMza+ZQJSWxS9ixkK/7jQU8YPH8j280oT3D47PcbVKAsVfahXbQUAparHkmmLFo0bkzJXlcbu6GhJHxX91K6xWHaUHY3ZY6HaXr2BDwB4zRnb3rZm03NJvIYNHxvkPlun5IaxQ9DiR5YDOHb4QBcHvRMGRWAuqR5uAIlfni86vOX8He6+bf3ORdYIVTCcVKYAbIyWLYWjVqt1mSRsLMtofZu1snJV3GMQuuLUnKVftC3ZRZL6tgmw1SXtsAu3X/yBfZv7mlet/cWmlwPYvRQ+pnnJFi+3L+pKUsckYNNoDNM7N6mHwmACvwQpNBjIfe67+ksP2+4Rx10/V2obbr/3t4sVY6qJz31Rk68xdGsfj2HE5FSpxlS2IVEeqGxng+wUFEwkdvwd+5iMK9llsVrbOGKdlFkqLDHRkLL2Pz/wRDTTr27ub36Xwikr61morVumY7IbHrPVs+svAMCmmcQj26LooTDUGkx9ZDETTWyGPBvAe+ZKa5rTJySatcuRyGe6dntD6zwBCN0iJ+ZaWTZLjU1lFvSz258ItM9RV4wsAJtyp2s3/TSonMrV9uNpPSHfSzQ7hqJN0b8ybrGC1Hb5kLpfbhOfUZS+BdG7ABrIJt/un2lpYvL/8tZVO86Fzn3XfO4AsHmRugm6X8HS1cRIrVXTfRvgAkgugxjvijZ1a7JCxo+umap4hXE3oO0Y7RwvWZdLX21mqm7fBu05UQCQQRA0pG7Pv2knWaj6PEcWntb4eioNvRQGAABLLad/ZqL33HDHPe+effMcbNrYfIjANimDBBQMZ7dEDD1PEF9qS1aUExhV3T7PYN0v6/okLatNSMWUdjyt8Nj4NeXAh2SMquupOuOep47x2+SAEcr8uYjCxtBffPRPGKqHrb4mkTW1ZjuapvnTe67+0itmQ+buKz5zesPmqTaDUq8eJ1+Xdp0jM4m6EFa7FulR7XP8SxbBWIWW+9E1/vSn7WbGCj0ZQ9+0FW7kOCanfc1Kf8Xkdg5y9dzXEDpISV9QjakW5P5Zh/4JQ0SYv7ynP2hGQINEIFxsmub/3X3FF/6K5ERj4Q2rtlt32Wc+jgavSxcr3zfQZ6av2tlsjst1TWCZI/yS+dN9dUMqoUNLBqAqQOmmHactpioDW9NAu1zlRrXptT+rRSiNWwd9IwQ6oDrD1Dl/PUJPhcEEqoKklbszKATAt62/6vPfv+eqLzxtmFDwmn/f9q7LP/PidRtuvxLgi5OvXrhHpYuSy2AMfXtf+912BlS721Xp7FcbrayammU9m2HK0mPopyuVi2Qsk7UixfiL+KMqo//R9NHOg8ZVVayTy6CiX6aF+4LeuW/rr/4KkwmHPnsaHqiY0Zh7AIDIGpBfB5rVgsEdIFcSPJDAk0DuZF0L1G2iahMo6FoBsarcugZQpuxo09ZLLl9BPzVYujBi5ESdxlSldI3S2GqXpBKi7PK1LVhJP9PtnqtKoPRfNkqwmq9Mf69j3tYr/utharXL743Xgfx0DOOVC2RcCeAFoYaePzYPtxIC80gTw6j2DuWyRcjGgylXWfr72pRxD1QromCN7GNbl8HGAMm1yG23VrjTXKm6aAtqHhqLFe50BiJ/SPXJbNiSAKa5KvvLoowhWAYeRpjC/a5V7sVG79ykFMwC2TQXSQm1yalGulw2hPQQAOtXZx2mDyS5uYVFsK6ZljIBQqffXrkRJm4o/HojRK0uG6bJ9FsNoGBKMa6e5eQu+iluMdmi2K6tXtK3tCWTtvurzAjSaEx9jTxGxS2Ljd4JQxGM6QU7cYbZyiyOlZn8ITFfvKzMZh9UHSymera95J603TPVsDnLk1tIQb+yuhGCwuWL1zPTFhOQykCFgyjHb6yJtUx512+mmcJY6zKpwY1zK3YiUj/N/LOaf6BT2+cumfHnSeoVeicMQNTKhmkBlBNoTH1ZK5ZhZtqcji1KtB4cqzpZwRr6xfOrdvIUWrR0ObS09aKG7jpN9Ief51DOrYZfCpfxzbX/efxV5seUU4Zt08909UKtsErhNuNCjj90drr2QS02eicMaaLU45D8GK3LZPPuydSnBjLjpW+XiH/ZKtTnCbR6zu6oP67ucJGvUReM+rClkBjSMIGxKolOYxnGuG+kGbPZSg51+bJVMMMvhcuMudiyUVsl7RbsdeNKoXSrsryE+esal1qOJASQjudUuV89Qe+EIfmxhiE1qi3OE9SaHShMeHafqn1FRQxg3lkXClkTpjSlaSfft/Qtt2QhLLJSiT6N4JQMovuFOs9zwJ6nqOgXvJWF0KYyi5SmiZCtK1O4qZW1KzcA1pbVzn+2REVWDGY8/TMM/csmtV0Nye9ZlrOTm0rZeAPlnJe6qO1GFA9Li7S4DlE2K/rSRd9aLJb0VYPSCmC9Cm4Yx85LFLRwuTF1bXuqsROrt+kDrc19Valy3EX1WjgAVuOpLVYX/T6hd5YBQPTxE3tm6wAkl8HGAOFy249O2rEVdxi3Ad1MkHxqq50TrSx82oAVCr2Wv0KGJpgtOle4R5a6pMa66FsrFYi1LYakXaWMOf8UAyR3syOYt+OP85XcU2MtSyuLDvpqCTvusS7ZD/TOMqgFsG6P3b4NdGnwzNx2sShp5vjgas2U7U5bS2V3Jm9QSy4cyv6hYIqyTWVqxkNBxrQkt2xU4BvaGDZ+wgwWiVFN/4JwSjl+0blCi6mt5dO+WDdn6PxLUT3HTEbYmVzDfqKXliFpcGW0lt9flYsf9OGqFswOlvXRDZ3sQbRcLiNFSYNTX2Ml/eIARWIYKd2uwrKZAVi/u14QNK1CNXhmdGVSbSsL0CjNXJq0HBcpzczANfmafjV/9fih44+WKQ/QjK5/QtFLYVCdrUyUGJq5BOprqgWNy9AKP1JRpuvqAnSZfBomy5qSqeHav1cXqcjfJ4Yz7Zs6rb6aem36xfBh08FgqYWHWs9i/DkjlxSGVPMnSR5abVFviNLv7n9yzTqsXp/QS2EAkCdXspZpmfRQEIGpcj11F+oYItxuPwgpXi1zxevR32+5VKbxQvAMneH0rRsUPtffjZT7ZX4fojSLxj0pKrTpF7nT8prKa4opjDXS+9bSdYHVu5aVTeSbzvp9QP9iBvuwVMtXDJSYMlkOG9DlvTqFb43Sjal95qJN4/60sztS0Ert6jWtbpmX0NaR2a9K+3bSKq1YiqFSu9mq2cP/2v3ijIKho0xfpF2LMUlJv4qNir1YHfOnma32/CNnt3poHXprGYpV6KSZsxtgkTVrro3atUB+EF3arW1vzKIXsnWyrk1BX2XYuMSFFhezL6fDurToGx40TZT9N32zlsyOoOynGX8RXFR9QrUKrdZ5yPxVRioJbqYTVYDktvuI/lkGID1YZtVtwoVSS9XZo/RvKqNaPnngsIffuzSY+t+WaYhMs5u+akq7Mm76bHpg3Y1O/95aOrVilr7pOJktYRnLaBmr5au2h8xfsm7GSNk4JxAePn/sasD0a5S7tZjon2Uw2k/Mwza3CjVq3RyBVGUiI0guK3UDMEyXC1T0c/14M7ZRlrHWq3B3kgbv3pHTaamSkOQ2Wxvh4r3i9yFsH61CsMOz5MTSF3Mtu6PWOpZjy4ytliPPP8vX4j5RP4M+oH+WIWrBlCLVQ/Cs89Rtv9u20dlmVp6Fj201fSjesSrLwu5AOabO66Mo01HOasciRrG+tXFPkrtlrIM6/mmu7MmxNMD4ml3GMn3b9e3mZvx2lmlGnoYvZbs04y8sqOknDP1asHuA3lmGNGkEyKblHxeLA4qk8aqHa+KGsnrpD+uNei9Ne41Am46Ma55nqTWTeUnuWCajurH28XP369+HKP17MYpVisvFnJCAmb8s3KPol8qlldJNJO082/Eb5WLnXy2CeU5Dt30sInonDDqppeJgYgDr61p/WzVk3VhSTvpv0nrmQUcu1BQmbFtWa2dujW8tfdtn60aYH2VEqXUL+rG+QPtiJqQrVgCTexTmwrpoKORX76vvnxiysgrDz3NoGbMuUisOmNSwEdTiRF+yJNJHL6mHblJiHBtEIzFFoWErJqF5b59LfCyFuRcIKDTV2/t0rIuQhCJqvXKfUQf9PJqkFS0j2eo6ZjF1WvRTz5GNUtGJmr5xuapxtV2rbiEtp1jK+VcfztC042m1Wyzm1cquH+idZVAXGsgPzfBAKtTeT2/cJ2U8o7lVsxXpPY1FkOsnzQWr7a3LJclC5f4YSxI6XclJZtiWVbBjliyoagyttcseW+3ClLtjkacs5fx1qrJV6Ph9iDjqliuZYhYjeDRzqPOXXDXzFZgap+jzGJHeXmz0ThhKBVy6MpaxOn/5xronkrdxFAtrrRgku2YpTRlfrVuW2ixikFIDJjNU+N25XnmeoByz0tJ6otbGMryxLqPPc1j3qN7XZcXUvEuuTimEzI1VAXBBPjN8LNV9nqOfXxGj6J2bVGQuhsG6HJVJt+YelTku2tT6DY1A6MPOaxJ1eet+hH5ogBzcLhuTZE1o2yw7kzVoKXytAJNlf1rjVyp2/Ch9/7LFdv2iXR3zEHemc/4T/W6LZZw0M5/9Qe8sg0LSP3Xmga0HDrQfKlAKiGkuuTJaRrVom4mMSZf0sXLftEyZNQJM8Fhbk0rbF1vUI53iUI7V5smt056Y8UvH+FtzYyyoGVadXUp9qayjdj8nGLRbxmLoGDDsPIf6hf1Cb4Uh+6PmC2/rwNYEtKleelUXBbAxgFHJLe2m1/O17JJYL0yq+8k9MjSsi2JjAEMoyUSR1dE4xo5X/W5U46/6bOWsoN9yuZCESntdQ9dWVDAzfbaeh9Xy6i7mDBOM1bME3DJMhNKbLc2w/ZaJIpmCDu0umSlydJrdluIXRNFtXXLgl7VnuXCUTE2ndaEKSGTI2Kjpf5vBC60bVGvl99fzhKSdrcItzxPYXun8dI9/IFhnLkb6+ccfhy2cFdbNtFkIezEP/UIvhSH741lLM/nMWcWQyBNrGLEVLFsthrrd7MnWJj/1A22tmu4X9LNblZkm+Sp19aQ9A/1kXkDz7d551Na0mDqWvuR22+M3LXWNv2TQNw4GchSAc0WwuWRoHUBpvYDsIhX0C99Ue+/CMCHaD9e4ofVDK/z4NPHWh7UNwD4gFO0nYTIMNxH9WKB+wJl+pNeRUpT0ymK8afwxCFBXq8wG2RZKVgv/shVDDKdvX8P9lUeefMGeR735OYPl2F8GeKeI/KI1ftN4Frx6/N30Tfa5N+hlNsmmTUvfPD9gtQoyELJprhkAl5DcAAQJp+Sf7pP4ABpR6RegARp1bwAMRNCgKSNHxBfGik3s20CAJh5SEUEDYiCD0F7DSB+7gzic5F7F2LL5ylZB3Q/182smq90rlJYiuW9Un15/TKucv8KNYWmBk0uXDRQAYPfHv+VnAN7Gyz79rltvvfo5Ar4akN9otSvmmQja5zkMnUjg550MsIjonTCodqpThuEhVl/WK/J9kcFLVvzqiZctRl8nwR3fO/NZDfkPAPawv+1stXHgoVKTFqvQquGZ909Zhq3bCg20nRFdtbfVbdQTPlfSoNcfeeJGAGcDOHvNhac+enrz5tcAeD6I7bJBZv4RRxpraS1xvD4gzhsxbYuCHrpJAUUQiZJhwrTLj1cM8PidHnlCbwUBAHY54lWf3QZTvwXw3mIRjKVWjR+S2bMui83ORDOSNH62LlX8US+wpDbQpp+JTDSmlUe++Qd7HfP2P3zQDsv3JnESBrI6WRXY52TGFccekwCXL1ux/OTJZnDLobfCYJlGH1bOrRPbYPCyqK16jxW//oqrReQdaceChV2Vlayv1V20wpIzNe0t1imu0HbrDI5Y+aD5Q0l/Bvn/Fb9+8m0PedIpf7vn0ThABoNnDAbytYGgDr5SmyHukR8OZPnxuz3ulHUTE9pC6J2bBFgBqLQYwjMeiKzZ4dATLl6s/s0Kg8GXsXnzaXY7Q86QxVcbA5hFwZS7l2w8UuRg/P2EDs2cnB99b6xL9q80tprZoX2RUxoAXwDwhTXffOdB4KaXNoJnCvFwggMBbqHwsoFMfWyPJ77jbBGZzARtYfROGHIwVgbNsMqTzZWL1b/ZYped97n69ttuSNo+Zb8sD9s4oQqaS7+7nVGzP0SSMgxUwULaYJrXXtBqQwPgqTmMc+Uxb70KwF8C+Evy01Nrv3PDg1Y+4aS7c4l3zqH1hUXvhCEHY5LSg1ZrRWF5xOL1cHa4484bDwQqYU/8rtZCzPuK55N1rDcsmveq7VXSxG4OrNYetE0jXNkNmx+InDgN4O6xBXuCXsYMumpbup7GOSD2vOeycw9bnN7NDpxujq1TqcV9k0FTza1uDQDjd+vH4b8P0ZVOtSv3qZ0ixs4BeNPfrzZaUPROGAjdPm1z7jFzYnKCmzZv+ih58TaL2NWJced/f/hhEJySkzwE2ahfksacgmEto7FDlTmymRnNAtmNfe3vUGqXSxYkLQNk+oPeccWWQe+GrcFg6xAITTAZ/ODD1l16zYXrrvjXXrtMt3/3w0+fnua3Se4AMeMxatmurXSe5zDp1tEruznOsOeobZiRDvVkf9TQD0KxVC1D72KGYq9QYdhZfIzlHoeNvPzOH599+YD4UUPcG+52PU0WL1omPPgGAwzCCrQt3yCrixaHNGV7kePYxHPJkN0AHt6Q+9eZxjgAWOFQt6Uc/xDYclWMYTNxxepa3aLWbxojEMYyL0H0ThhEhARj0qRMHwKAphjzQXNMgTi0IQ/NUWdO06TtDFJnaZC0LRC2YrQCUyHQ0DBIvTJu2mpyJiexs7o3sUshEcaU94cZV7IKQG5ftJlyN6xqcEs/9yuPPf8+gw2200Qbt0nnuIcbhrYgeucmAbxZGcBmWbr385v0a3xNK7PMQjRsP325YxRITrQykAqRlIyXBKHKBqW3sf8pFlCrwZJ5ad4n8vZanTFKWaGyf7aiHVMxfhtzVP0p0riBxj1YguihMMjqasUtatC4a6ZwLewCBIoAW5GyJAXTZCFT5m9ZDTFFjb9eaO+aEVUSbJamzulLLmK7mgNdtAsDKQYY9/sQdXUmpo9lbSrVHAgpxr8Ml2IJon/CIPwOKo2VGDo961L76aXWEU5jMVraG5ZRkBnGFLCp0EJ7VylQvdE6wpmaLIUwa2+grZ2RNH6x76jrPqvxY8j4K7PY1S4RKw/k3j12PfgKLEH0TxiWDf4JQPanJT/kcj9/1mjhk2Fm5IcrRamS6aR4rc5VMweSyuStOMHk+nO3jJtVUB5HP/ejGL8Zu6ASCqTlB2P90A7MzRs7f+3zHAIh/mVr2fM13+idMKw46IQrIfJV/aza12qx/M1tWdOmbQ6tYDPHFtmHNlYlMU739mhtM+f1kbdEmBNp9oipHspJbRsBSdobVisPsQB6LcVASDFMbaFK+qa+WtQUw0RXy1i7MGYByGbZsmUfmMnzeiChd8IAAMsFr6TI3WkV2mhmoO0bD9Ps2fbHckY71lq5y9Kw0p4jfx/CWLLklmg5bUPXTkxf602idoy5n5KE2FodmL5VoUoxJi1l2x6yE/a03Y48+fJWM0sEvRSG7R954k1TkJeLJvOtZi60eaVVrU+efPXMmDTasStWyP537XMbTd7hz2tsmtusBqSamerMmfMIhqbNapXnOZjbN/FO8Yocv7SzU5mWtSK2rIAXrRwcecqQR7Ik0EthAICdDj3xnCnI74OYznwhLfVnGaxBs5gAABImSURBVLvI0FiOTNuh27ozcHKTi1nrIZUVyWajuJYXvsRoWrQK55igkpbC/cuCWQTDRf9LobULb10HhVDXLw0GQKwaLN/+d+Toozd3TNCSQRd39ArrL/3Xp2xm81E03BsVcwLMz9wyGYHiiXdYhNbhehNYqgtt65bxCRDNU263I9uV3ieL0EE/DyDVS2OMzFyvT9R9yzxfJheK8VcWIbZPkGftIfv+mRz90vuwxNF7YQAAXvfpndet3/TXEHkpyW0Ds9jgUUqmSQFuZMJKQ5Y+vxWCwNB2D5Th4sS0liGzcNbBL+P/VSxTl6vaBczh+uQWiul/GSTb9nOyQMvbHFtWFFFxXD4lg1evPPqt3xo190sJW4UwKNZf+sk9N7H5kwHlhU3THICklQMk+c2lhrTasLXa2j44kF6tP5/udmhYjRvK9lEwJKp6Zbtd11LN1E6m331GQWwd05Zx4+4F+XVM4UN7HPmWr/f1xNliYasSBosNl3xi703EURAe0FBWCqdXArIcaMAGkBgNsbFatEl8Z4UoMH7TzdC652iAGM7nDXtNukzA/r5xsafP8lu12S/RaVL1FkMPrRPoDgA0rU2EQfwEuIvk2oHg5kbwX3vs/oiLl+oagsPhcDgcDofD4XA4HA6Hw+FwOBwOh8PhcDgcDofD4XA4HA6Hw+FwOBwOh8PhcDgcDofD4XA4HA6Hw+FwOBwOh8PhcDgcDofD4XA4HA6Hw+FwOBwOh8PhcDgcDofD4XA4HA6Hw+FwOBwOh8PhcDgcDofD4XA4HA6Hw+FwOBwOh8PhcDgcDofD4XA4HA6Hw+FwOBwOh8PhcDgcDofD4XA4HA6Hw+FwOBwOh8PhcDgcDofD4XA4HA6Hw+FwOBwOh8PhcDgcDofD4XA4HA6Hw+FwOBwOh8PhcDgcDofD4XA4HA6Hw+FwOBwOh8PhcDgcDofD4XA4HA6Hw+FwOBwOh8PhcDgcDofD4XA4HA6Hw+FwOBwOh8PhcDgcDofD4XA4HA6Hw+FwOBwOh8PhcDgcDofD4XA4HA6Hw+FwOBwOh8PhcDgcDofD4XA4HA6Hw+FwOBwOh8PhcDgcDofD4XA4HA6Hw+FwOB4okHEFSK4EsFZEuAX64+g5SA4A7Bg/bhSR+xapH8v0vYhsXmhizyP5XZINyScuKLE5gOSxJK+Nf89b7P4oSP4ZyVXx71GL3Z9hILmc5Mb4d94E5Q9hxt9V7Zy4sL0t+nFX7MNd89XmshH31gE4Ir7/YwDfGNGxnQAcNce+XCIiN82i3g4ADojvV3QVILkzgCNn27EK/yEi905Q7kDkOdl5nmgvFLaJr1MTlJ0276cAgORhAM4G8CskHyoifzPP/dsiGCUMXwHwEwCPAvAMkg8RkZuHlN0fwBfm2JdXAPjIHNsYhodj7v1TPBTA6nlqa2tESxgA3AJgp/j+NJJXi8jntmy35o6hwiAiJPkeAP8cy70cwDu2VMdqRB9RzfhFIvLXi9WXrQ0kXwdgmKs7MO+PIPmlIeUuE5GT0CEMInIzyeMBfBshnvgEyceLyCVz7PoWxSjLAACfAvAuAPsAeDnJU0VkekydCwD8y4T0nwJgUj9TADw9vh/mphxM8pjq2m0AbgDwghFtvwyZWd4D4Icjyq4Z088+4v8gz90o7DGinLp6XZYBIvIjki9AUFgPAvCvJA8XkQ2z6O+iIAkDyUcCeHRHmUsQhGEdgD8iqYPbKCLndJS/QkQ+Ognx6MvPZ9D1uvhn8WUROQ5BsIf1wwbe54jI9+exTzMCySkEZpoJNorI/SPur0FQCF0QBDcXCErmliHlfh5fbfZo26IhkS9Gb+IkAAcD+ACCR7FVwFqG4wCMcj0OAXCm+XwngC5h2Bqxn3n/00XrRcARAP5zhnX+GsCbht0UkTcAeEPXPZLLAaggfUNEjh9Dy1rlLqF9K4AnIyhWkhyISDOmzV5gnJs0Z5A8DsH1AICTFziw+hcAF1bXJslQ7RtfNwG4dV579MCDdXtawiAim0i+EMBBIvL5cY2RvBnAXnPozwqSs1kDWyciRZbPCsPnAFw7poEdAZwV6/3XhERXIJhMYOFTjBeJyFnDbpJ8GoDdqsvbANglvl8P4IVD5vbnIvLNjja/DOBXOspbOv9GctTi1NNF5IqO6z8EcNmQOrsBeNqINhcEIjJNciOA5RjizonIlQCu3KIdmwfYVbyrAVw9qjDJk0yd94wq21O8E8DhI+7vguHB/9cAtIQBwC8jpFtH4SFj7i8fcv2cYTl7kodjjDBEDf1rY2jbtYVDSP7tmPIWB05Y/mIR+fSYMhvRtuqjcDRC36cBrJpBvd8EsH3XjYndpLiw9hfx4w+7tOQSxU+RtydYrEReBPwZysCzvr9QW12OB/DcGZR/GPIzngQPmbD8xwCME4bbReTJkxKOK88rANwzw3rXIYyzhZnEDG9ANv1bzCrEAG9n5FVSANg27pkCStdrJ3Pd4vYqJbwWwHMmIC/otga5QMhUtUDynwC8NH58ep1zJ/lhhJX9hQSxMIJm97RN0v4DJ4COJlmzFZcC+LcF61EbxyCshlscj+5A9/T4V+NQhNV0xf0i8q1xhEmO3cg4AruY97d33LfuyYJYBhF5PoDnd92LG+5WisgvZtouya8DeBKCi7J8a8kWjcNgXAGSDwLwCQTNPA3gDxd8l+AWBskjSL4q/u0xT83uat53CYOd+8VgpicCuIXkzST/ZIZ1dc1hCuU4AcxZiSwaJrEMpyNng04XkYtnSMM+9NlowJ8D+OQs6lncOeb+7wJ4c3z/A8xPelUtw0YRuafj/oJbhjH4/fi6F0avuHfB7lHbE8HtBACQfDiAz5N8L4CzxywG9gojhYHkq5H92isBnDILGtaHXzfTyiLyYwAvnAXdxYYKQ5dVAEphWDDLQHJvhB0EFssAPDO+vzWW+40xTU2LyPfi+5+b63ugTP8+DWGB9qMInsQ/z6Lbi4KhwkDyWQDOMJc+O8uDHDateMcs6o9E3EP/9vjxlSJy0XzTmCXGCcOWcpNeitEbLPfAZCveGxC2ywOlMOxZlfud+DoNYNimv16iUxhIPgFhf7p9YCeT3BXAn4vIxhnQWFBhQGC6Q+L7IsVJcmqCjYXzjpgBU8a5bUgxaxm2thjMLs6mNCXJ7ZHPcFwoIsPG3ku0hIHkbwL4IoDtOsq/CsCjSZ4gIv8zIQ0rDMO05EQgeSiA0xDOPXx5VCBPci8A15H8EYBTReTf50J7hphkzHbuF1Jgz0a5W+DpAP48vj8TwGcnbMf28Yr4eQrAI8z1o5D5Zus+z0DyWACfQV5m32De/whhK/ARAH5A8vki8h8T0Pil+Ho/SvM6GzwT4WE+HSEbMmoN4NkIfX88ZhGrzBF2lXvYtgS7brJgwiAi1wO4HgBIbgPgQ/HWzwC8YUhwP67N+0leC+AglMJgdyBvvcJA8rkIWxH0IZ2FsFfntfHzqwG8BOFE2u4Azif5VhF59xgaqiWvmgeX5ffi61qEcxOjoA/mFxjvE1vG3DSLftU4wrz/7pAyVhHNB81J8AqE46gA8JcqCDGdrJb+cyIyyVnynyAIw8Gxjd0AaL3/FpGZ7v5dSfKaGZRXl3jHGdarkwkJy4CQZ0dIX2qM8H4ReX1MjymmReSVJO8E8MZY9gmjqJLcE8CD48eujWgTg+S+AA6LH88bJVgkH2L6dt4Ei0J7m/eTun+j8FjzfpgwzLcAjgTJ/QCcGj/+F4L7pBDk/VG2X6PwPQTruwvJAxEUlbpIk7peFlMIx3NnisEs67Wg2ula5Fz3X4nIKcMqiMhJUSBOQtA0o/BM8/7S2XYy4sXm/WfGlH02smBPYq51o916EVk7suQYxAWnx8SPPxWRYa6hZbqZJCRm06cphIXTnRGe85/Pw1f/2C+IeDxyCn4DglcxU0xjZopoPwQhJoAbZ1BvbwxJHC0DABG5neT/RzCR7xvXmoicRvJTxhTegLA8DwRfVPFs837bGMwCwFtE5EsAzkU4SQeMsBxxv9Eb48c7MPqbOrZDcOkA4C6M2VsUocKweoKy43AQ8ga8YVYBKIVhoRemHobSin+12qZuV4yPJ9kV9H9cRF5rPv8QITmwK8JWHZ3Df5ylQlkjIuN2/yaYjXp3z7DeRBv1niciP+sq1AURWW3er0fFoDENe1T8uBbAdcjbiXeJ9W7CZIdvTkFmsPeLyCi34lTkFfNPjimrwqO58mFHI2eCx5n3o4RBtxE34/o4V4jINSTXICyACsp9UzW2GXJ/B/tBRBqS3wLwLAQFAASh3hq39gMozzNMLAgT4hmm/fMxy4wJyd2Rz9H+FN0b8RRHIQf8tyBvsRiFY5A143wIg10tH3UASv3rLfWNdK9BGRtZ7IS8u+BShC3XNbrc3G8gCIPiYyPcwmF4OcJcbMl52AEdazsLeezTMsVHMCKKHwURWRsPqXwcwJs7vsDrPxB2Zu4E4O+RY4U/FZFJFvnsNupxGaqRiIGkfsvGjQC+M6K4Wob1c6E5KUYdromJjlPix2smcZUjbJZuM4DiIBLJhwE4JLrEw/q1RVepRaTeAZ2wIMIQmVeZ4ocicgHJF42psw2Ah4nIVfU9Efk3klcD+HHHvetI/g9CWli/reE8ETm3g8xzELTQ5khzP+TtAzcC+Hy8/iwA3xeRG0nq6vYk+fhXIluZM8dksdTt2CLCMFfUq/kxKD/NFLlWRGrL+miEI68XAThhNtvFtyTmXRgig/29uTTpVw3uDeBKklei44sDhn0hVUyjnouQ0QBC0Ny5JbnjYb0e2ZJ8MJ7vfRmAf0TY3vy0uFFwLEhuC+AP4sf7MT6jon75uB21WwI2HtiP5OsRviRhH/N6FYDfNuXeC+BY8/lgko8TEesaaqD6BCxwxmw+MK/CENcCvon8oD875LuVuqDnCA7GhHljko9DSLPqKvcGAC8a8TWYtu7bAfxZ/HgPgLNiWvRYBAH5JQAXkvy9SQ4CIVgdPQn46VEZFZIrkK3Ygu7fIflQBDdy1/i3W8d7m9k6HN3nxNPCFslXIG/pAIK/vx1CvGYX7B4ZX6+d0GXtL0i+lxm/PqbsISRvMOV/Flcl9f6LzL0Xd9R/lrk/css2yQHDQZz7TZ2bST52VL1YV0i+jyXeYe5Pkfxnc+++6DaNanMnktfNYK6eZsr+U3XvN8y9huT0iD/FaSNoHcHZ4R6Sl5P8CskzSb4ktvdUhm/sVrye5NtMf3/b0L4sXj97WP9mCy7At3CPIzhWGBiY609J3mvK3sLsa2s5Kwz1t96B5PvN/cfU92OZFSRfy5LxSPJSBqs0bjyHkvx8VbeVCoxj+rAps5Hha2aGtfsxU/bbE/TjfFP+ZdU9KwyTYpQw7GbKbWJQGj8m+Q2SnyJ5Bsm/MWW+xpDBq9uZIvl2kptN2XfFezsyPHOSvIrk9iT3ZRAOMgrSfIJ9EwaSjyf5rerB3Eyy9T1CDBpFcTXJPyB5XPw7lUETkUHbP6iqewDJD5Bc18EIX2VwO0aN4zEkzzMPR/HOGYx/A8nf6ijzHFPmLoYMit7bPzLFrgzW4zCS55jy0wyHb2x7VhiuIPnFIX8XmnJDhSG2eVDsQ+dxTJJ7mrZaq/skf5nt5/yhqszx5t6VzAJ/77jnMxuwL8LAoG2+wja+wrB1uqutvVhaj2FobbVm0GI1LmZgxJHnuFlqPcVdJF87ql6sKyQ/WdU7zNzfm+Tt5v4Lq/pnjRnrX3XQtMJw0oi+HW7KjRSGCcY5VBhI/hLJteb+NMl3d807ydM6xrggJ93YI2EQlprpDpKvmaC9l3O0QFzKyr2K9Q5i8N1J8uskn9TV/hCahzL7uLczmPoHj6+Z6m9L8jux/mqS+5t7R5JcH+99vKPuiUPGuYHDGapXwhDvnxvv3cBw8GtUW+9kdqVuYYfLNR/gAgjDyG8xIPk2hAM9AHCciPzA3DsEYZHqQwhbJCbqVGTEX0H+cQsgrE7fCOD6Ybl5hi3m187mG7JJvhEhc/ZBEZnx2QaGvVHnIHwzyOrq3mMQvm36WBG5u7q3M8LB+50RthzfgbAt5SIR6fy2a4ZtLPorQ5eJSOf25DiPR8WPV4vI5TMdV0VTLfIqEXlTdX8lwhcKv7ke45D2DkZYY/h3EVmQ1DHz3qTWd6bOFnP6Sg+Sy2d4BNThmBcwxKVTCEcL5nQ8wOFwOBwOh8PhcDgcDofD4XA4HLPG/wL++QhYbLqZPgAAAABJRU5ErkJggg==',
  20677. e: 1
  20678. },
  20679. {
  20680. id: 'image_1',
  20681. w: 1080,
  20682. h: 3,
  20683. u: '',
  20684. p: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABDgAAAAECAYAAABr549KAAAACXBIWXMAAAABAAAAAQBPJcTWAAAAJHpUWHRDcmVhdG9yAAAImXNMyU9KVXBMK0ktUnBNS0tNLikGAEF6Bs5qehXFAAAQPklEQVR4nO2bW44cx5WGvz8yq9gtkbQ1tmDIkAFiYMwDX7UBbcLrEbgebYIb0CsfBoJBwMIIguwZXXjprs44vx/ikpFZ1RQHMPykAJuVGXHucT0n44hfy7+12FZ/efZMfAE8gy+fPtVfAOp/z58/1+fAc+BzgEePxGfw4sVf9bSif318qD/X55fztXj5kidPnvDNt9/r0z/Bt99dF15/hPT9UQBp/lGaHnQZfj8dBPB/P74SH33ER8APP70SgKaD+A3o1Rs95jE/pzcFLxUcpbfl/c1c36faPgteI63vb4APlfT25iSA6wp7k05qcFdccaPSLk3idCeugNtU6Sehu9qedAROWsSptJ+U9IATpKTTXdLxAHdKOgBaFqGkOy2CIwctEgXvThJL1uFw4G7JkhbBAZRFhWFZxOGAliwkwQJKWiouwEFJzMAicSi/C0sxtKoOWWJemBeJQ1JrXlRokFPvG5HXsSIV2jlq3QytPQOEYEZacRYNtHIWU5UjF6ZT001SLkQKrUkrXsQqA6U+k5k0D7KFyBmYakXDmQjFKuM0jP1oPHLRbYe35QvQcBNZ1jQ2KdTEH+VkggivfACYReQzOHKls6GSBLn9Y6p2yVE1TcCG/gQRWgnWMklEVAQIvNONitfgmzxWkzGAFBWU0tZl6DLtbcZg51irCJImFdxo/1Z7jODyyn/TFNq8d/064k6W2DxO07Y9iI6dBrk71frQnyev/OPcnnH2UMvk0hcp3YPQGGZt9OmCJPZEpQv9+c4yzpX6HgHMWtvG310ZO6NVRWyrJG37fOy/Up/OaralaRqBOsC5+gOH9ywRVZhhBL0P+jjgEqSE3w34S/TSSs/2vn4cj+W3zd8YbLcRqeI3Wr8gx2iDcUxWW9ipyxQ7cc8oJ/kyv60GWPfY7HxKkOQiS9raZ6dCdP4rnR1XcrYvdeBa8k7+xGasJbvPmZxhqtCevdJs/M91DNutV7d9Je8tmil2nxLkyExMZMvjbElddnu1zSB/an23zuPETtZLfTHqCUCByVWeor49AUxTlSC8GZONd186qnxpqs/r+tNtlTNUvRvdsz7vsNHlal3ktI7VKdkZIKdhTo02Ks/TiLfh38Qe8G33+rzayGmVcaLwnRpgssvenVZchwHM1PHmFG62siczr3CVsqGcuDyF89JsM8MM3tgpDDPz1OgvcBde5vJuT4YFnDx3AWzugHmVyZ1/5VPEKHV3VUZgJlzFMY12k9dh5tk4fFd1Pxxm+1Rp2z558rHy9xzGs0+cOB5nc4LbQ/joMLfA8eCjZ5+4xT642/IYvnL4BiAOhfYt+Jh95aNvBn2uIpuro4nsjZ7xwPAaX1+ZN0AspT2uDK/hg8X8/BB/mE3cGeDRww/MT8DDxT/+CH5U6vkB/PihAT6qsH/P5df5seF7YvmNAeLjk/kf+OQPbw2f8s3fvmH55GMDPFneGuBr4M+nVwZ4ATx9+p/mK+Dnn/2c4p89Bz7//PvC/0vgxQvzRXXu+KL3q3T/+vtr+dcXbRzu9ynNKecLePYMvgC+fKp3OubAi+tzx/zlXBzwJwDzA3373T/0yR8/Ab6FdNR330Gaj9L0k2B1xouD/RE//PQ36T9+r98AP6XX0qtZpLeChyi91cOH8Or1JL2dxMNJenvbHPf0Nt3qmmvQSVLSjZK4PenqCm5vk0iTkHSlOxXnNOl0V54fqDjap1MSWsTxgFIk7iSUJak4xpJYFqGsRVM6QD14Zi06Fsf4kMUyI0UiSwtZM3N3rtWcP0UihzLSBGRJSJpz1jKHlGdR9+AJCYUySCFBVKc8isMkJ5iIcJpEqYtQdcQUFb/UF7xpmhThCudETGIKRRSchBQVHyRJStR2ORW+CCzZqTqHKSQlrAgEk1DlkSRZCSxkhZVSCkVYiUkoJCRcaRsVx1FClkIJWSSKDnIiJMsSStgiWW48HCJNRTaKnFiVJpJJCGEnqejiQIiKj0SFwbTASLgGHGpYBoNAzXEs9i3nyCRqnbGKh+jqKAqwcnE0Gq0yg1fnowcKAIdAuDrTogbXJGTjDlzajSksXbwGq/IPcBGZ5k80OdsbBg+Onlu9CHuArw1e8aNpg6Uib33tQrcgTDsXrbR6AKcdGJv9ql3UzmhlkHslusrZeseuJt3Yo/x6o+8eflV/ALBdTe069HfBTRqXLe1qaMImla4aAdTYVrm6bbfiuFkMrzoOtryg+14ul5Wnnd2q+dexdO5bNvac02tcPfLd8KvmbgRKN6jbcdV95a0N/oao+1joLdUYG3NUoLO+azpshnzlawmZrfoNSBdtuQ7ZLc0R5lyDOv629t/y25Bwnf8b2XQOWzgNdj3rlta3q601ot7Tv71xJ9Zm0Jzp1/n1cc34X1ejtY1khoW1tI0KDW3b50GfJpjHFa4Pm27zcbk9L7r4uFZcGvDrktbKao21B8UawelzW7buo3suY+8+1SV1lKrb1aA0LkV7+2mltVZXGQe6g/1dN7jNMrNyhbqc6EyVXuFB0DK1Rr0Y4UvdufrawfZ6b0EqPhsedTpXew/bzzjLBQSUg1eR0WO8ZJ2AG+HWBawu5tZ+W60TtEEONh8E3Om2Bg86n23/d75thRx4DjZJW7p9saj9MoowMBydtygzmjQ4/5Y2u1lqpyFc5U5NkK0OUgukbGypYROycNdl7MZy1Km7R5vPVQ411LbjVEQNNnSB3Q6/QQ65bUdmDblXvYbFUrJXeQ01vteDXB7w3bYaY4OTazSP1Ow/9r1to0Bysh3C2FHnUBQr2KQpJEdkSHJgmSRbDhY7TSmiHD6dqJE7K0hF9hK3VAlsJBkrqrBGKnFOO0pg1A4li4hwMtgp4TCRUnJyRJAM2SWQK5NwsYejjJvkEqSycxlPTlKAC2wZAU6O6LAk55xNarjJCZd3R2TsKSXnjFOFn5KCbJPsnGFKKRbK+0RypgSPphbMnMGOKAG4yfjOCzAzFZPZxor5avKyLODJnm3uCixzePZkKt0727Pr56spooRja8BqzuEWxLXNYQo7Sh+c4OiDbw9LlObwlY92ZN84fPUg/NZHXzmMj+bqle0HNYAU9vUD8yrb19kPP8x+9Qoc1z349Ojh4h/jQzsW88MP/PbxQ/PbO/O/8Pff3pl//A7XwFEsp/LbA0a/M8utX9Yh+mR56zFQRAsSwSZQxOefG74sQSKAv7xwiRF9wT5Y9D7lPT91/Fr+lWXRfiuuTvC8NIgRGoav8gAcpBYoAUm5BiEAhq+426/gLbhRv4xG6OLXwQtlmiYufmL7BfQS3NjIMLQWOdpXlXJAsAhKcEP1C63rF8ROZQZFCdyMDqMqsVTf2m9ADF+he0mWAkHlkyZB5V/4KlLZpVTCGGo7Yz2zq3ogdSeT1i/uSeGscFanULZ/9W21C9T3yvGktnNMAjZfibWeuO4JbmxWgdDKwZdcgaZDYd6OinYJ3Aw21iBn1d3IBWmQTUG9qTDoJaMWLAjQGty46Imcl0ZLTfbCpb6cnyAvELiv5QzSlKDVemwWa99X83f77OQf9E4l+Gb1MVnItpNTUUttcg5E+mmNzcPofN4v/vbV53VtLFwgYu/H34Z/HeOsf97pr2F+NHusWg14rn/a2Q+VwJylfhrtvoA4Wz9pzVt5KqV7dBn/9gZoqu7gLtrlMs02LqxhjKhMlTpHmo4Xcdv4O5PVbZyk9c/teQPX1bmgWnNsL8ei9vYYNOyRtPfD2TmmA6kSZPF+4p5JvI70zr4tvbyjN96ll3Yw2veBi01NUjnFFtu6fxBqI+vd/df6f9fe+tSuNHyx/R69Gr0N3Xv07/v9Fu7SyBjGnM9CBT2WcWGeXphLdVtounijV9dusJ13MqoQ8a6trBcbDQYdtjK/e1xfXD/Oagb3e0d4Azv2l0BK6z7hqGeG8dZeQiTVerZrYueyrhsedRz3m7b/nE2hy+v6RtOu2KUNIHT5SpVgF6Tf2Wa1Q3PXJUVdr2VJXs+DYRQezw11nd/OgX7OS/Q1sY0Q9aiGh/HZbTIouhnTQ4yw/mzm3AjbDqEtKjfA9n7RVndIIs7tWmejUhUs2tlUVgn3WDg6ZF08tufKQNFh+8cfqaxZVYaoUhWYcNszo35IXD8sdQUShK31xme9QTXsteVmlol2G3n0HquvEf3cszqXqWnP4HAOH1zVfIR6XfDecuat1ruk0/tsSCPPpnSn0z/uThOUU3vWFFLOIXJoUvG1yo1tyk1soEBLMJdLNXP9k7Qsud/Q1tJ8uJlfy7+vvN/A+LX8S0r/gltvwTx7VgJTX365pqc8f/7x5gbMV4/+W5/xGXwGvPhrwX8KX399np4yP/hQn/6p1H373bX4Y3ke01PgY9qNGLg/RUW1XlNJT+HxT/z8qqYltBSV12/FI85SVN6kWR98AHp7ozc39fnmVlxf8/bmpDE9BUCadAXcKIkb0PWd4Iqr0125WQMo3QkegO6k9uX+tIgH0NM/Tqm83y2CpLsl6XAALYtODUZJl9JTOMBhSVq0aObAUusgq6ScHJBygV2SOMwlrWTJXZ6ZrBKA+YXUlFaUtNTGXldTVC6mp0BNUanpKT3A1OqgpagsGupaegr0jailp2SVwFiu2J1lSGsES1tZOtt9SsSF1BRgs/lfTE3Z4hb+F1JUpjSkbtClRtrZYuqktukLVacYYSlXctsGTZT0m1wJTlKO4XpwwLRPMRl1amXcdINdWkr9HhUD/8ovZKVdqsc+PWWq+jduU8nbuLyWlxtY27qpBzmHS+NV3iGVprAvn2nq5XyV7IIyYlpay/hW6NNvQU8b/tv8hijRx67vHqoFPc/rU8VdbRpwzmbyZZtskBq8z+WMy1f+pQs2hWEc3MdoKBrn1yV5GG707xOEUhkQ7TCYUn++lL5wAbs+t1SVcUqsAK0+lvXQusk9+OW8lXeXLv97onf+PdnAlz/RvEdqyMiv5VTs0EebEambuaeKtK7oqSvv4O72hTou8xvfZ3mdZxBkEhOWPeof0VIldsZLieY7v5f+Z6kSiZRGbarsiXMDeJ8aU2TqYMneZt+kjV2d7a08aWfANQSXWnpJSoZM5Pa86alKYrhN0Pj7PB2lfvVlX59J7hkRdTFLljtUKvYnjakrlBsLbZ/qPNJZX6Se/lOFy2OocUix2CBpczskB0zthsQ0DWkNsEnv2KSoDO9AsrzNhGv09jQq/55xs5XNQ0rOxET5Ul745RG223vl1VNVSl4L/GKqSktVWnw5VSXt7JDXNJVmo3nGy4rT0lRKCgn0NJWZ+r1x8gwsU5RxsZS7B8xzE6vSCjPNkKlpKiVFpcEtlPSiZZrM8v9MVZnnloFS6oZUFTjZntY0lXkyS0lTubPNPBmHD7bhgKn1wGFuNw9mw4mTZx8BjuWWABH2MYxr+olnw225PdDSVKLcGOAGbo4Fzi43AUqayg320VcPcrlNAGzSVGqKymtnf8CHXExR4SGuOC1NxbEYHuO8+H1SVIDLaSpAS1X55m+wfPLaT3jCy5cvefLpH0r7n1+ZF9s0la/4is9+/q/LNxDuuX3wa5rKv6/8EycY65bo+YM2AAAAAElFTkSuQmCC',
  20685. e: 1
  20686. }
  20687. ],
  20688. layers = [
  20689. {
  20690. ddd: 0,
  20691. ind: 1,
  20692. ty: 2,
  20693. nm: '加载视频@3x.png',
  20694. cl: 'png',
  20695. refId: 'image_0',
  20696. sr: 1,
  20697. ks: {
  20698. o: { a: 0, k: 100, ix: 11 },
  20699. r: { a: 0, k: 0, ix: 10 },
  20700. p: { a: 0, k: [1218, 562, 0], ix: 2 },
  20701. a: { a: 0, k: [97.5, 132, 0], ix: 1 },
  20702. s: { a: 0, k: [100, 100, 100], ix: 6 }
  20703. },
  20704. ao: 0,
  20705. ip: 0,
  20706. op: 300,
  20707. st: 0,
  20708. bm: 0
  20709. },
  20710. {
  20711. ddd: 0,
  20712. ind: 2,
  20713. ty: 2,
  20714. nm: '进度条@3x.png',
  20715. cl: 'png',
  20716. refId: 'image_1',
  20717. sr: 1,
  20718. ks: {
  20719. o: {
  20720. a: 1,
  20721. k: [
  20722. {
  20723. i: { x: [0.667], y: [1] },
  20724. o: { x: [0.333], y: [0] },
  20725. t: 60,
  20726. s: [100],
  20727. e: [0]
  20728. },
  20729. {
  20730. i: { x: [0.667], y: [1] },
  20731. o: { x: [0.333], y: [0] },
  20732. t: 61,
  20733. s: [0],
  20734. e: [0]
  20735. },
  20736. { t: 120 }
  20737. ],
  20738. ix: 11
  20739. },
  20740. r: { a: 0, k: 0, ix: 10 },
  20741. p: { a: 0, k: [678, 587.5, 0], ix: 2 },
  20742. a: { a: 0, k: [0, 1.5, 0], ix: 1 },
  20743. s: {
  20744. a: 1,
  20745. k: [
  20746. {
  20747. i: { x: [0.667, 0.667, 0.667], y: [1, 1, 1] },
  20748. o: { x: [0.333, 0.333, 0.333], y: [0, 0, 0] },
  20749. t: 0,
  20750. s: [0, 100, 100],
  20751. e: [100, 100, 100]
  20752. },
  20753. { t: 60 }
  20754. ],
  20755. ix: 6
  20756. }
  20757. },
  20758. ao: 0,
  20759. ip: 0,
  20760. op: 300,
  20761. st: 0,
  20762. bm: 0
  20763. },
  20764. {
  20765. ddd: 0,
  20766. ind: 3,
  20767. ty: 2,
  20768. nm: '进度条@3x.png',
  20769. cl: 'png',
  20770. refId: 'image_1',
  20771. sr: 1,
  20772. ks: {
  20773. o: {
  20774. a: 1,
  20775. k: [
  20776. {
  20777. i: { x: [0.667], y: [1] },
  20778. o: { x: [0.333], y: [0] },
  20779. t: 0,
  20780. s: [0],
  20781. e: [0]
  20782. },
  20783. {
  20784. i: { x: [0.667], y: [1] },
  20785. o: { x: [0.333], y: [0] },
  20786. t: 60,
  20787. s: [0],
  20788. e: [100]
  20789. },
  20790. { t: 61 }
  20791. ],
  20792. ix: 11
  20793. },
  20794. r: { a: 0, k: 0, ix: 10 },
  20795. p: { a: 0, k: [1758, 589, 0], ix: 2 },
  20796. a: { a: 0, k: [1080, 3, 0], ix: 1 },
  20797. s: {
  20798. a: 1,
  20799. k: [
  20800. {
  20801. i: { x: [0.667, 0.667, 0.667], y: [1, 1, 1] },
  20802. o: { x: [0.333, 0.333, 0.333], y: [0, 0, 0] },
  20803. t: 60,
  20804. s: [100, 100, 100],
  20805. e: [100, 100, 100]
  20806. },
  20807. {
  20808. i: { x: [0.667, 0.667, 0.667], y: [1, 1, 1] },
  20809. o: { x: [0.333, 0.333, 0.333], y: [0, 0, 0] },
  20810. t: 61,
  20811. s: [100, 100, 100],
  20812. e: [0, 100, 100]
  20813. },
  20814. { t: 120 }
  20815. ],
  20816. ix: 6
  20817. }
  20818. },
  20819. ao: 0,
  20820. ip: 0,
  20821. op: 300,
  20822. st: 0,
  20823. bm: 0
  20824. }
  20825. ],
  20826. markers = [],
  20827. playLoadData = {
  20828. v: v,
  20829. fr: fr,
  20830. ip: ip,
  20831. op: op,
  20832. w: w,
  20833. h: h,
  20834. nm: nm,
  20835. ddd: ddd,
  20836. assets: assets,
  20837. layers: layers,
  20838. markers: markers
  20839. },
  20840. videoWrap = '_videoWrap_19uw7_1',
  20841. sectionAnimate$1 = '_sectionAnimate_19uw7_5',
  20842. controls$1 = '_controls_19uw7_11',
  20843. time$1 = '_time_19uw7_24',
  20844. line$1 = '_line_19uw7_36',
  20845. actions$1 = '_actions_19uw7_43',
  20846. actionWrap$1 = '_actionWrap_19uw7_51',
  20847. actionBtn$1 = '_actionBtn_19uw7_54',
  20848. iconReplay$1 = '_iconReplay_19uw7_65',
  20849. slider$1 = '_slider_19uw7_74',
  20850. styles$3 = {
  20851. videoWrap: videoWrap,
  20852. sectionAnimate: sectionAnimate$1,
  20853. controls: controls$1,
  20854. time: time$1,
  20855. line: line$1,
  20856. actions: actions$1,
  20857. actionWrap: actionWrap$1,
  20858. actionBtn: actionBtn$1,
  20859. iconReplay: iconReplay$1,
  20860. slider: slider$1
  20861. },
  20862. VideoPlay = defineComponent({
  20863. name: 'video-play',
  20864. props: {
  20865. item: { type: Object, default: () => ({}) },
  20866. isEmtry: { type: Boolean, default: !1 }
  20867. },
  20868. emits: [
  20869. 'loadedmetadata',
  20870. 'togglePlay',
  20871. 'ended',
  20872. 'reset',
  20873. 'error'
  20874. ],
  20875. setup(t, { emit: e, expose: r }) {
  20876. const { item: a, isEmtry: i } = toRefs(t),
  20877. s = reactive({
  20878. paused: !0,
  20879. currentTimeNum: 0,
  20880. currentTime: '00:00',
  20881. durationNum: 0,
  20882. duration: '00:00',
  20883. showBar: !0
  20884. }),
  20885. n = ref(),
  20886. o = ref(),
  20887. l = ref(
  20888. 'video' + Date.now() + Math.floor(100 * Math.random())
  20889. ),
  20890. h = t => {
  20891. if (t > 0) {
  20892. const e = Math.floor(t / 60),
  20893. r = t % 60;
  20894. return (
  20895. (e < 10 ? '0' + e : e) + ':' + (r < 10 ? '0' + r : r)
  20896. );
  20897. }
  20898. return '00:00';
  20899. },
  20900. p = () => {
  20901. o.value && o.value.currentTime(0);
  20902. },
  20903. c = t => {
  20904. t?.stopPropagation(),
  20905. s.paused
  20906. ? (o.value.play(), (s.paused = !1))
  20907. : (o.value.pause(), (s.paused = !0)),
  20908. e('togglePlay', s.paused);
  20909. };
  20910. onMounted(() => {
  20911. (o.value = TCPlayer(l.value, { appID: '', controls: !1 })),
  20912. o.value &&
  20913. (o.value.src(i.value ? '' : a.value.content),
  20914. o.value.one('loadedmetadata', () => {
  20915. console.log(' Loading metadata'),
  20916. (s.duration = h(Math.round(o.value.duration()))),
  20917. (s.durationNum = o.value.duration()),
  20918. e('loadedmetadata', o.value);
  20919. }),
  20920. o.value.on('timeupdate', () => {
  20921. (s.currentTime = h(
  20922. Math.round(o.value?.currentTime() || 0)
  20923. )),
  20924. (s.currentTimeNum = o.value.currentTime());
  20925. }),
  20926. o.value.on('ended', () => {
  20927. (s.paused = !0), e('ended');
  20928. }),
  20929. o.value.on('pause', () => {
  20930. s.paused = !0;
  20931. }),
  20932. o.value.on('playing', () => {
  20933. s.paused = !1;
  20934. }),
  20935. o.value.on('error', t => {
  20936. e('error'), console.log(t, 'error');
  20937. }));
  20938. });
  20939. return (
  20940. onUnmounted(() => {
  20941. o.value &&
  20942. (o.value.pause(), o.value.src(''), o.value.dispose());
  20943. }),
  20944. r({
  20945. onPlay: () => {
  20946. o.value && (o.value.src(a.value.content), e('reset'));
  20947. },
  20948. stop: () => {
  20949. o.value.currentTime(0), o.value.pause();
  20950. },
  20951. toggleHideControl: t => {
  20952. s.showBar = t;
  20953. }
  20954. }),
  20955. () =>
  20956. createVNode('div', { class: styles$3.videoWrap }, [
  20957. createVNode(
  20958. 'video',
  20959. {
  20960. style: { width: '100%', height: '100%' },
  20961. src: i.value ? '' : a.value.content,
  20962. ref: n,
  20963. id: l.value,
  20964. preload: 'auto',
  20965. playsinline: !0,
  20966. 'webkit-playsinline': !0
  20967. },
  20968. null
  20969. ),
  20970. createVNode(
  20971. 'div',
  20972. {
  20973. class: [
  20974. styles$3.controls,
  20975. s.showBar ? '' : styles$3.sectionAnimate
  20976. ],
  20977. onClick: t => {
  20978. t.stopPropagation(), e('reset');
  20979. }
  20980. },
  20981. [
  20982. createVNode('div', { class: styles$3.actions }, [
  20983. createVNode('div', { class: styles$3.actionWrap }, [
  20984. createVNode(
  20985. 'button',
  20986. { class: styles$3.actionBtn, onClick: c },
  20987. [
  20988. s.paused
  20989. ? createVNode(
  20990. 'img',
  20991. {
  20992. class: styles$3.playIcon,
  20993. src: iconplay
  20994. },
  20995. null
  20996. )
  20997. : createVNode(
  20998. 'img',
  20999. {
  21000. class: styles$3.playIcon,
  21001. src: iconpause
  21002. },
  21003. null
  21004. )
  21005. ]
  21006. )
  21007. ]),
  21008. createVNode('div', { class: styles$3.time }, [
  21009. createVNode(
  21010. 'div',
  21011. {
  21012. class: 'plyr__time plyr__time--current',
  21013. 'aria-label': 'Current time'
  21014. },
  21015. [s.currentTime]
  21016. ),
  21017. createVNode('span', { class: styles$3.line }, [
  21018. createTextVNode('/')
  21019. ]),
  21020. createVNode(
  21021. 'div',
  21022. {
  21023. class: 'plyr__time plyr__time--duration',
  21024. 'aria-label': 'Duration'
  21025. },
  21026. [s.duration]
  21027. )
  21028. ])
  21029. ]),
  21030. createVNode('div', { class: styles$3.slider }, [
  21031. createVNode(
  21032. NSlider,
  21033. {
  21034. value: s.currentTimeNum,
  21035. step: 0.01,
  21036. max: s.durationNum,
  21037. tooltip: !1,
  21038. 'onUpdate:value': t => {
  21039. o.value.currentTime(t),
  21040. (s.currentTimeNum = t),
  21041. (s.currentTime = h(Math.round(t || 0)));
  21042. }
  21043. },
  21044. null
  21045. )
  21046. ]),
  21047. createVNode('div', { class: styles$3.actions }, [
  21048. createVNode('div', { class: styles$3.actionWrap }, [
  21049. createVNode(
  21050. 'button',
  21051. { class: styles$3.iconReplay, onClick: p },
  21052. [
  21053. createVNode(
  21054. 'img',
  21055. { src: iconReplay$2 },
  21056. null
  21057. )
  21058. ]
  21059. )
  21060. ])
  21061. ])
  21062. ]
  21063. )
  21064. ])
  21065. );
  21066. }
  21067. }),
  21068. pen = '_pen_apyjn_1',
  21069. open = '_open_apyjn_9',
  21070. whiteboard = '_whiteboard_apyjn_12',
  21071. hide = '_hide_apyjn_15',
  21072. iframe = '_iframe_apyjn_18',
  21073. dely = '_dely_apyjn_24',
  21074. rightItem = '_rightItem_apyjn_27',
  21075. img = '_img_apyjn_42',
  21076. removeVisiable = '_removeVisiable_apyjn_50',
  21077. studentRemove = '_studentRemove_apyjn_56',
  21078. btnGroupModal = '_btnGroupModal_apyjn_68',
  21079. styles$2 = {
  21080. pen: pen,
  21081. open: open,
  21082. whiteboard: whiteboard,
  21083. hide: hide,
  21084. iframe: iframe,
  21085. dely: dely,
  21086. rightItem: rightItem,
  21087. img: img,
  21088. removeVisiable: removeVisiable,
  21089. studentRemove: studentRemove,
  21090. btnGroupModal: btnGroupModal
  21091. },
  21092. Pen = exports(
  21093. 'P',
  21094. defineComponent({
  21095. name: 'pen-page',
  21096. props: {
  21097. show: { type: Boolean, default: !1 },
  21098. type: { type: String, default: 'pen' },
  21099. close: { type: Function, default: () => ({}) }
  21100. },
  21101. setup(t) {
  21102. const { show: e, type: r } = toRefs(t),
  21103. a = reactive({
  21104. status: !1,
  21105. title: 'pen' === r.value ? '退出批注' : '退出白板',
  21106. content:
  21107. 'pen' === r.value
  21108. ? '确认是否退出批注?'
  21109. : '确认是否退出白板?'
  21110. }),
  21111. i = ref(!0),
  21112. s = `${
  21113. /(localhost|192)/.test(location.host)
  21114. ? 'https://test.lexiaoya.cn/'
  21115. : location.origin
  21116. }/classroom-whiteboard?t=${+new Date()}`;
  21117. return () =>
  21118. createVNode(
  21119. 'div',
  21120. {
  21121. class: [
  21122. styles$2.pen,
  21123. 'whiteboard' === r.value ? styles$2.whiteboard : '',
  21124. i.value ? styles$2.dely : '',
  21125. e.value ? styles$2.open : styles$2.hide
  21126. ]
  21127. },
  21128. [
  21129. createVNode(
  21130. 'iframe',
  21131. {
  21132. class: styles$2.iframe,
  21133. frameborder: '0',
  21134. width: '100vw',
  21135. height: '100vh',
  21136. src: s,
  21137. onLoad: () => {
  21138. i.value = !1;
  21139. }
  21140. },
  21141. null
  21142. ),
  21143. createVNode(
  21144. 'div',
  21145. {
  21146. class: styles$2.rightItem,
  21147. onClick: () => (a.status = !0)
  21148. },
  21149. [
  21150. createVNode(
  21151. 'svg',
  21152. {
  21153. width: '28px',
  21154. height: '28px',
  21155. viewBox: '0 0 34 34',
  21156. version: '1.1',
  21157. xmlns: 'http://www.w3.org/2000/svg'
  21158. },
  21159. [
  21160. createVNode(
  21161. 'g',
  21162. {
  21163. stroke: 'none',
  21164. 'stroke-width': '1',
  21165. fill: 'none',
  21166. 'fill-rule': 'evenodd'
  21167. },
  21168. [
  21169. createVNode(
  21170. 'g',
  21171. {
  21172. transform:
  21173. 'translate(-1842.000000, -1016.000000)',
  21174. stroke: '#FFFFFF'
  21175. },
  21176. [
  21177. createVNode(
  21178. 'g',
  21179. {
  21180. transform:
  21181. 'translate(980.000000, 1006.000000)'
  21182. },
  21183. [
  21184. createVNode(
  21185. 'g',
  21186. {
  21187. transform:
  21188. 'translate(862.000000, 10.000000)'
  21189. },
  21190. [
  21191. createVNode(
  21192. 'g',
  21193. {
  21194. transform:
  21195. 'translate(4.000000, 5.000000)'
  21196. },
  21197. [
  21198. createVNode(
  21199. 'g',
  21200. {
  21201. transform:
  21202. 'translate(8.058241, 5.009812)',
  21203. fill: '#FFFFFF',
  21204. 'fill-rule': 'nonzero',
  21205. 'stroke-width': '0.3'
  21206. },
  21207. [
  21208. createVNode(
  21209. 'path',
  21210. {
  21211. d: 'M11.6084252,-0.15 C11.9880433,-0.15 12.3676614,-0.00518057514 12.6573002,0.284458275 L12.6573002,0.284458275 L18.3141545,5.94131252 C18.6037933,6.23095137 18.7486128,6.61056948 18.7486128,6.99018758 C18.7486128,7.36980569 18.6037933,7.74942379 18.3141545,8.03906264 L18.3141545,8.03906264 L12.6573002,13.6959169 C12.3676614,13.9855557 11.9880433,14.1303752 11.6084252,14.1303752 C11.2288071,14.1303752 10.849189,13.9855557 10.5595501,13.6959169 C10.2699113,13.406278 10.1250918,13.0266599 10.1250918,12.6470418 C10.1250918,12.2674237 10.2699113,11.8878056 10.5595368,11.5981801 L10.5595368,11.5981801 L13.6839174,8.47301484 L1.33333333,8.47352092 C0.923722144,8.47352092 0.552888811,8.30749318 0.284458275,8.03906264 C0.0160277386,7.77063211 -0.15,7.39979877 -0.15,6.99018758 C-0.15,6.61194961 -0.00841906355,6.26678575 0.224608408,6.00476938 C0.462154637,5.73767211 0.794779811,5.55707713 1.16932931,5.51583101 L1.16932931,5.51583101 L13.6841044,5.50627626 L10.5595501,2.38220839 C10.2699113,2.09256954 10.1250918,1.71295144 10.1250918,1.33333333 C10.1250918,0.953715229 10.2699113,0.574097124 10.5595501,0.284458275 C10.849189,-0.00518057514 11.2288071,-0.15 11.6084252,-0.15 Z'
  21212. },
  21213. null
  21214. )
  21215. ]
  21216. ),
  21217. createVNode(
  21218. 'path',
  21219. {
  21220. d: 'M15,24 L3,24 C1.34314575,24 -1.1293615e-15,22.6568542 0,21 L0,3 C-2.02906125e-16,1.34314575 1.34314575,3.04359188e-16 3,0 L15,0 L15,0',
  21221. 'stroke-width': '3.5',
  21222. 'stroke-linecap':
  21223. 'round',
  21224. 'stroke-linejoin':
  21225. 'round'
  21226. },
  21227. null
  21228. )
  21229. ]
  21230. )
  21231. ]
  21232. )
  21233. ]
  21234. )
  21235. ]
  21236. )
  21237. ]
  21238. )
  21239. ]
  21240. )
  21241. ]
  21242. ),
  21243. createVNode(
  21244. NModal,
  21245. {
  21246. transformOrigin: 'center',
  21247. show: a.status,
  21248. 'onUpdate:show': t => (a.status = t),
  21249. preset: 'card',
  21250. title: a.title,
  21251. class: ['modalTitle', styles$2.removeVisiable]
  21252. },
  21253. {
  21254. default: () => [
  21255. createVNode(
  21256. 'div',
  21257. { class: styles$2.studentRemove },
  21258. [
  21259. createVNode('p', null, [a.content]),
  21260. createVNode(
  21261. NSpace,
  21262. { class: styles$2.btnGroupModal },
  21263. {
  21264. default: () => [
  21265. createVNode(
  21266. NButton,
  21267. {
  21268. type: 'default',
  21269. round: !0,
  21270. onClick: () => {
  21271. a.status = !1;
  21272. }
  21273. },
  21274. {
  21275. default: () => [
  21276. createTextVNode('取消')
  21277. ]
  21278. }
  21279. ),
  21280. createVNode(
  21281. NButton,
  21282. {
  21283. type: 'primary',
  21284. round: !0,
  21285. onClick: () => {
  21286. (a.status = !1), t.close();
  21287. }
  21288. },
  21289. {
  21290. default: () => [
  21291. createTextVNode('确认')
  21292. ]
  21293. }
  21294. )
  21295. ]
  21296. }
  21297. )
  21298. ]
  21299. )
  21300. ]
  21301. }
  21302. )
  21303. ]
  21304. );
  21305. }
  21306. })
  21307. ),
  21308. audioWrap = '_audioWrap_8oxfj_1',
  21309. audioContainer = '_audioContainer_8oxfj_6',
  21310. audio = '_audio_8oxfj_1',
  21311. tempVudio = '_tempVudio_8oxfj_22',
  21312. sectionAnimate = '_sectionAnimate_8oxfj_34',
  21313. controls = '_controls_8oxfj_40',
  21314. time = '_time_8oxfj_53',
  21315. line = '_line_8oxfj_65',
  21316. actions = '_actions_8oxfj_72',
  21317. actionWrap = '_actionWrap_8oxfj_80',
  21318. actionBtn = '_actionBtn_8oxfj_83',
  21319. iconReplay = '_iconReplay_8oxfj_95',
  21320. slider = '_slider_8oxfj_104',
  21321. styles$1 = {
  21322. audioWrap: audioWrap,
  21323. audioContainer: audioContainer,
  21324. audio: audio,
  21325. tempVudio: tempVudio,
  21326. sectionAnimate: sectionAnimate,
  21327. controls: controls,
  21328. time: time,
  21329. line: line,
  21330. actions: actions,
  21331. actionWrap: actionWrap,
  21332. actionBtn: actionBtn,
  21333. iconReplay: iconReplay,
  21334. slider: slider
  21335. },
  21336. AudioPay = defineComponent({
  21337. name: 'audio-play',
  21338. props: {
  21339. item: { type: Object, default: () => ({}) },
  21340. isEmtry: { type: Boolean, default: !1 }
  21341. },
  21342. emits: ['loadedmetadata', 'togglePlay', 'ended', 'reset'],
  21343. setup(t, { emit: e, expose: r }) {
  21344. const a = reactive({
  21345. paused: !0,
  21346. currentTimeNum: 0,
  21347. currentTime: '00:00',
  21348. durationNum: 0,
  21349. duration: '00:00',
  21350. showBar: !0,
  21351. afterMa3: !0
  21352. }),
  21353. i = ref(),
  21354. s = ref();
  21355. let n = null;
  21356. const o = t => {
  21357. console.log(t, 'e', t),
  21358. t?.stopPropagation(),
  21359. s.value.paused
  21360. ? (l(s.value, i.value),
  21361. s.value.play(),
  21362. (a.afterMa3 = !1))
  21363. : s.value?.pause(),
  21364. (a.paused = s.value?.paused),
  21365. t.target?.focus(),
  21366. e('togglePlay', a.paused);
  21367. },
  21368. l = (t, e) => {
  21369. n ||
  21370. ((n = new Vudio(t, e, {
  21371. effect: 'waveform',
  21372. accuracy: 256,
  21373. width: 1024,
  21374. height: 600,
  21375. waveform: {
  21376. maxHeight: 200,
  21377. color: [
  21378. [0, '#44D1FF'],
  21379. [0.5, '#44D1FF'],
  21380. [0.5, '#198CFE'],
  21381. [1, '#198CFE']
  21382. ],
  21383. prettify: !1
  21384. }
  21385. })),
  21386. n.dance());
  21387. },
  21388. h = t => {
  21389. if (t > 0) {
  21390. const e = Math.floor(t / 60),
  21391. r = t % 60;
  21392. return (
  21393. (e < 10 ? '0' + e : e) + ':' + (r < 10 ? '0' + r : r)
  21394. );
  21395. }
  21396. return '00:00';
  21397. },
  21398. p = () => {
  21399. s.value && (s.value.currentTime = 0);
  21400. };
  21401. let c = null;
  21402. const d = ref(),
  21403. f = ref();
  21404. return (
  21405. nextTick(() => {
  21406. (c = new Vudio(f.value, d.value, {
  21407. effect: 'waveform',
  21408. accuracy: 256,
  21409. width: 1024,
  21410. height: 600,
  21411. waveform: {
  21412. maxHeight: 200,
  21413. color: [
  21414. [0, '#44D1FF'],
  21415. [0.5, '#44D1FF'],
  21416. [0.5, '#198CFE'],
  21417. [1, '#198CFE']
  21418. ],
  21419. prettify: !1
  21420. }
  21421. })),
  21422. c.dance();
  21423. }),
  21424. r({
  21425. toggleHideControl: t => {
  21426. a.showBar = t;
  21427. }
  21428. }),
  21429. () =>
  21430. createVNode('div', { class: styles$1.audioWrap }, [
  21431. createVNode('div', { class: styles$1.audioContainer }, [
  21432. createVNode(
  21433. 'audio',
  21434. {
  21435. ref: s,
  21436. crossorigin: 'anonymous',
  21437. src: t.item.content + '?time=1',
  21438. onEnded: () => {
  21439. (a.paused = !0), e('ended');
  21440. },
  21441. onTimeupdate: () => {
  21442. (a.currentTime = h(
  21443. Math.round(s.value?.currentTime || 0)
  21444. )),
  21445. (a.currentTimeNum = s.value?.currentTime || 0);
  21446. },
  21447. onLoadedmetadata: () => {
  21448. (a.duration = h(Math.round(s.value?.duration))),
  21449. (a.durationNum = s.value?.duration),
  21450. t.item.autoPlay && s.value && s.value.play(),
  21451. s.value &&
  21452. ((s.value.stop = () => {
  21453. s.value?.pause(),
  21454. (a.paused = !0),
  21455. e('togglePlay', a.paused);
  21456. }),
  21457. (s.value.onPlay = () => {
  21458. s.value?.play(),
  21459. (a.paused = !1),
  21460. l(s.value, i.value),
  21461. e('togglePlay', a.paused);
  21462. })),
  21463. e('loadedmetadata', s.value);
  21464. }
  21465. },
  21466. null
  21467. ),
  21468. createVNode('canvas', { ref: i }, null),
  21469. a.afterMa3 &&
  21470. createVNode('div', { class: styles$1.tempVudio }, [
  21471. createVNode(
  21472. 'audio',
  21473. { ref: f, src: tickMp3 },
  21474. null
  21475. ),
  21476. createVNode('canvas', { ref: d }, null)
  21477. ])
  21478. ]),
  21479. createVNode(
  21480. 'div',
  21481. {
  21482. class: [
  21483. styles$1.controls,
  21484. a.showBar ? '' : styles$1.sectionAnimate
  21485. ],
  21486. onClick: t => {
  21487. t.stopPropagation(), e('reset');
  21488. }
  21489. },
  21490. [
  21491. createVNode('div', { class: styles$1.actions }, [
  21492. createVNode('div', { class: styles$1.actionWrap }, [
  21493. createVNode(
  21494. 'div',
  21495. { class: styles$1.actionBtn, onClick: o },
  21496. [
  21497. a.paused
  21498. ? createVNode(
  21499. 'img',
  21500. {
  21501. class: styles$1.playIcon,
  21502. src: iconplay
  21503. },
  21504. null
  21505. )
  21506. : createVNode(
  21507. 'img',
  21508. {
  21509. class: styles$1.playIcon,
  21510. src: iconpause
  21511. },
  21512. null
  21513. )
  21514. ]
  21515. )
  21516. ]),
  21517. createVNode('div', { class: styles$1.time }, [
  21518. createVNode(
  21519. 'div',
  21520. {
  21521. class: 'plyr__time plyr__time--current',
  21522. 'aria-label': 'Current time'
  21523. },
  21524. [a.currentTime]
  21525. ),
  21526. createVNode('span', { class: styles$1.line }, [
  21527. createTextVNode('/')
  21528. ]),
  21529. createVNode(
  21530. 'div',
  21531. {
  21532. class: 'plyr__time plyr__time--duration',
  21533. 'aria-label': 'Duration'
  21534. },
  21535. [a.duration]
  21536. )
  21537. ])
  21538. ]),
  21539. createVNode('div', { class: styles$1.slider }, [
  21540. createVNode(
  21541. NSlider,
  21542. {
  21543. value: a.currentTimeNum,
  21544. step: 0.01,
  21545. max: a.durationNum,
  21546. tooltip: !1,
  21547. 'onUpdate:value': t => {
  21548. (s.value.currentTime = t),
  21549. (a.currentTimeNum = t),
  21550. (a.currentTime = h(Math.round(t || 0)));
  21551. }
  21552. },
  21553. null
  21554. )
  21555. ]),
  21556. createVNode('div', { class: styles$1.actions }, [
  21557. createVNode('div', { class: styles$1.actionWrap }, [
  21558. createVNode(
  21559. 'button',
  21560. { class: styles$1.iconReplay, onClick: p },
  21561. [
  21562. createVNode(
  21563. 'img',
  21564. { src: iconReplay$2 },
  21565. null
  21566. )
  21567. ]
  21568. )
  21569. ])
  21570. ])
  21571. ]
  21572. )
  21573. ])
  21574. );
  21575. }
  21576. }),
  21577. scrollBar = '_scrollBar_ds6lg_1',
  21578. treeParent = '_treeParent_ds6lg_5',
  21579. treeChild = '_treeChild_ds6lg_8',
  21580. treeItem = '_treeItem_ds6lg_11',
  21581. title = '_title_ds6lg_23',
  21582. dir = '_dir_ds6lg_33',
  21583. titleSelect = '_titleSelect_ds6lg_42',
  21584. arrow = '_arrow_ds6lg_50',
  21585. arrowSelect = '_arrowSelect_ds6lg_57',
  21586. childArrow = '_childArrow_ds6lg_61',
  21587. childItem = '_childItem_ds6lg_64',
  21588. childSelect = '_childSelect_ds6lg_71',
  21589. styles = {
  21590. scrollBar: scrollBar,
  21591. treeParent: treeParent,
  21592. treeChild: treeChild,
  21593. treeItem: treeItem,
  21594. title: title,
  21595. dir: dir,
  21596. titleSelect: titleSelect,
  21597. arrow: arrow,
  21598. arrowSelect: arrowSelect,
  21599. childArrow: childArrow,
  21600. childItem: childItem,
  21601. childSelect: childSelect
  21602. },
  21603. Chapter = defineComponent({
  21604. name: 'chapter-modal',
  21605. props: {
  21606. treeList: { type: Array, default: () => [] },
  21607. itemActive: { type: String, default: '' }
  21608. },
  21609. emits: ['handleSelect'],
  21610. setup(t, { emit: e }) {
  21611. const r = useMessage(),
  21612. { treeList: a, itemActive: i } = toRefs(t),
  21613. s = (t, e, r = []) => {
  21614. for (const a of e) {
  21615. if (a.knowledgeList && a.knowledgeList.length > 0) {
  21616. const e = s(t, a.knowledgeList, [...r, a.id]);
  21617. if (e.includes(t)) return e;
  21618. }
  21619. if (a.id === t) return [...r, t];
  21620. }
  21621. return r;
  21622. };
  21623. return (
  21624. watch(
  21625. () => t.itemActive,
  21626. () => {
  21627. const t = s(i.value, a.value);
  21628. t.length > 0 &&
  21629. a.value.forEach(e => {
  21630. e.id == t[0] ? (e.selected = !0) : (e.selected = !1);
  21631. });
  21632. }
  21633. ),
  21634. onMounted(() => {
  21635. const t = s(i.value, a.value);
  21636. t.length > 0 &&
  21637. a.value.forEach(e => {
  21638. e.id == t[0] && (e.selected = !0);
  21639. });
  21640. }),
  21641. () =>
  21642. createVNode(
  21643. NScrollbar,
  21644. { class: styles.scrollBar },
  21645. {
  21646. default: () => [
  21647. createVNode('div', { class: [styles.listSection] }, [
  21648. a.value.map((t, s) =>
  21649. createVNode(
  21650. 'div',
  21651. { class: styles.treeParent, key: 'parent' + s },
  21652. [
  21653. createVNode(
  21654. 'div',
  21655. {
  21656. class: [
  21657. styles.treeItem,
  21658. styles.parentItem
  21659. ],
  21660. onClick: () => {
  21661. a.value.forEach(e => {
  21662. t.id !== e.id && (e.selected = !1);
  21663. }),
  21664. (t.selected = !t.selected);
  21665. }
  21666. },
  21667. [
  21668. t.knowledgeList &&
  21669. t.knowledgeList.length > 0 &&
  21670. createVNode(
  21671. 'span',
  21672. {
  21673. class: [
  21674. styles.arrow,
  21675. t.selected
  21676. ? styles.arrowSelect
  21677. : ''
  21678. ]
  21679. },
  21680. null
  21681. ),
  21682. createVNode(
  21683. 'p',
  21684. {
  21685. class: [
  21686. styles.title,
  21687. t.selected ? styles.titleSelect : ''
  21688. ]
  21689. },
  21690. [
  21691. createVNode(
  21692. 'span',
  21693. {
  21694. class: [
  21695. styles.dir,
  21696. t.selected
  21697. ? styles.dirSelect
  21698. : ''
  21699. ]
  21700. },
  21701. null
  21702. ),
  21703. t.name
  21704. ]
  21705. )
  21706. ]
  21707. ),
  21708. t.selected &&
  21709. t.knowledgeList &&
  21710. t.knowledgeList.map((t, a) =>
  21711. createVNode(
  21712. 'div',
  21713. {
  21714. key: 'child' + a,
  21715. class: [
  21716. styles.treeItem,
  21717. styles.childItem,
  21718. styles.animation,
  21719. i.value === t.id
  21720. ? styles.childSelect
  21721. : ''
  21722. ],
  21723. onClick: () => {
  21724. i.value != t.id &&
  21725. (t.containMaterial
  21726. ? e('handleSelect', {
  21727. itemActive: t.id,
  21728. itemName: t.name
  21729. })
  21730. : r.error('该章节暂无课件'));
  21731. }
  21732. },
  21733. [
  21734. createVNode(
  21735. 'span',
  21736. { class: styles.childArrow },
  21737. null
  21738. ),
  21739. createVNode(
  21740. 'p',
  21741. { class: styles.title },
  21742. [t.name]
  21743. )
  21744. ]
  21745. )
  21746. )
  21747. ]
  21748. )
  21749. )
  21750. ])
  21751. ]
  21752. }
  21753. )
  21754. );
  21755. }
  21756. }),
  21757. iconBeatIcon =
  21758. 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABwCAMAAADxPgR5AAAAw1BMVEUAAADk9P/k8//l9f/n9f/l9P/l9P/l8//l9P/l9P/l8//l9P/m9P/o9v/o+P/q///k9P/l8//k9P/m9P/m8//l8//l9f/n9v/o8//p9P/////l9P/k8/8wmP/f8f94vf9HpP9gsP/M5/83nP/W6/+94P+Ryf9Cof9Tqv9Np/9xuf/Z7f99v/9ptf80mv/R6v88n//E4/+dz/+Ixf+i0v9XrP+t2P+Zzf9dr/+m1P+Nx/9ksv/i8v+33f+z2/+Bwf+43P+CkBr8AAAAHHRSTlMA+cdMSc777eG2mIpwKyAM0ca/jIOBalRCFwWp75BYaQAABSBJREFUaN7Vm+lyokAQgL3vK9FsstkeFAUv8L6iJjHv/1S7AsFSmO4Gcct8v6yKoZmZvqeNBaOSKhXyD7VcNh7P5moP+UIpVYndiGqqno6DD/F0PVWNWlq5kcgAQibRKEcn7XcpDQzSpd+RiHvJZ4BJJv9ytbhkAgKRSF4l7rkGgUk/h9eURwjFYzmcGRTjEJJ4MYSZpHJwBblUQHGvRbiS4msgD5aAq0lUAthCFiIgy7aQXxARv3jyniAynjjyChAhBVreH4iUP6z1/cc1PkHkPPH18/a6moSbkJT6lyzchGxF4j8Z/mxtNi8w1wwv5+9XGf76IHw4MDy5bzwCEkP4YgBJyifeMuJf219gmxEfq8iGIvT95PUBQmxqmZVPtPedS3GdfZuVdVzmOcHypb67MjaPF/kgIEQiEM6zRyT/jEpg7QqfpgyOAgcKIOAejp8zKV8LtSUcWuriiy81cZL3Akw+h14tHX6e3sYczUDOqdLJ8xY3bwlfWnNnmft/8j9ASt6t/1j12LYnpPS2cGR4XLHcmWe+68cSx+RVgaK2vyWOlyCj5AhMA8nHVLiMV8PdZrnc7IarsXCZfgBoA+vjp7SSc7wakGzcJ3dGSw1ctOWo477HxljZnxYgw/ZvDSB4N92zmiteVXLP9vhhtRFTuXNt8Ixw9L1rO8VXe3en/R5osNYJU6xSOroQNiMNJGjuK00AJVNluLWlsFlwXmrJcG91QNE7trJsCSt1vqYDSp00Cq1nq+AHaThjW3HsfccMAw/1TWExB5K5sGjigT8Wq+AbKizMS0PRfaKEYzz4plaI7PDNesbbO5xxtPDBxGOu9pdVIl8sMRY489PJIVwyYyyxFCuQJu999N6ycfAwtO0VLxfzmIqOLQ31bJ5qRUHwMLG/rwEWEx8wn33SGFrgSW82IOchViNVRucL1G0dQ3M3pKRQxpYpA18g9Kw9VZAiI5ZFUibbkhGBEj+BuKUs5mi6dvxGBEresYu5mjjl1owgAg17UzCBWUJneiAT2HYxwKVHaE0WUxorJVpJBJ6xd01vZfsEKTnMLFoy1zgQlwzx3T5Rwwx/KnNUPW/yfeYMp4jhI67Nfu6eVXm/nbnZHubaCsgZyhRgdilvqruKRpxhAQtPK+l5TMzRontiPjk/9xUSnpAA7EQbBQKg2CqEBeAKlfvNIAAzKqOsYEnU1vrvHQRgZ/3LFnE0WJqoEX0fqf5qaJpYJ9RUTIDNRBBKWsdT/QMSwJEU4YA3+aoZQgVaCltHW4SaZapEudaXhDc0gPapzkmDSt+nBrAwplRZ0LBLbnKPDsDiQJ5AmWwqbITFGhisybon7bZNqFPszBhOpkOabYnRGNKdeKcBgdYiK4vMb07rq+v0mSeEyfcFqdF5XnNv6PREdEDQe26qIeeF175UVk5LaIk0Hpz20ErhtS9jSaLMt5H1JmcjIRgFfpLdgm67WVpz4nN6Tbcr1Mb7Cfwmu6Ge2rFb4+wv21PLVsUd0rPnGgHvtrmM1e66rSmK1l531bFwMd8B4zHgRcm8I1A6c0CJl4NeBU1GmLwRFaWLIS67vlSZOPULCHLVUNd5enPqlTZt6kCSCnlhCcraPKtkBuZaAZoiciVLY+jL3cI0F7ulzozMidf7uHS+3bX6/QwO3GY04r6GP6Ifb7m/AZ5oR5TucwgrujGz+x2ki2ZU8L6HIa8e9/wJA61hR3Zrzz9pKDn42PVPHCznj85HTDUp/3FAkm8G//3nD38BdFFOVnOjvZkAAAAASUVORK5CYII=',
  21759. iconChange =
  21760. 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABwCAMAAADxPgR5AAAAtFBMVEUAAADl8//k9P/l9f/n9f/l9P/l9P/l9P/m8//m9P/o+P/q///k9P/k8//l8//k9P/l9P/k9P/k8//m8//m9P/l9P/l9P/l9f/n9v/o8//o8//n+f/p9P/////l9P/k8/8wmP+02//Z7f+QyP82m/9+wP88nv9Vq//S6v/H5f/C4//h8v+t1/9fsP9Mpv+h0f+azv+Vy//d7//N6P+23P+n1f+e0P+Ixf9qtv9Fo/+73v+OyP+arTjPAAAAH3RSTlMAx/lMSc774YJwIAzR7uy/uLSYl4yLiWpUQiwqFwWpOo+15wAAA4hJREFUaN7Vm2tX4jAQhpPSK1SE5SIgOsilLTcBQS76///X7hoPXWCiaWhn6/P1PTmvkcwwmQwsGUXTq1W475QNo+z4vFLzzCLLiJJZtwxAMKy6WUrbreNyG77A5m4nPbeuZ4ECltdNxa5dtUERu9q+2q7AIRG8cJVdy4fEWC1tu/tb0OL2Xi8MmgZoYjQ1wsR04AocM6HdQwOupPGQKINxuBpeTBALN5ACN8oRcgcpcafm50JquCp+vyBFfn3v9wip8qi0P8I9upA6rvL5JDirBcgEaTwWbyATboqS/MkhIzieVxuQGQ3Mz4QMMZHvWwcyxLn8Rm5CpjQv6hcDUCaL1eCU5WwNn6xnyzNxtZgAinFe56D10nR56GGE2+kfcRui4mE5RSurs3oQEKKwJ+N5PH6WimEECKfVo4/5HXpyguAL8YA5+t/mtHlPm/l3GY4j+mvvCl6xfBP7tTU2qLHF+KZTRdS+WDlcRv1Txqvg+EGuxmditBwKqQ+XVI/3PxsLQLFwh0jjodCGY0TcCQ2T7C4TeICwEQufMG0ktBGmPQltg2keE1jowthQdp5ek66zhF8Hki3U10D0AVw6Q1cEIYlhHIolm87QLom0RmEYp7c6pWFdBAWFYRwYBqWhwVgRKA2hyExaQ5N5tIYeq9Ea1liF1rDCOK0hZz6toc8cWkOHlWkNy8ygNTTIDcn/peSHhjwsyANfK7W9Ce1NJ7VpJe++0PpaydvTMITBX2kAWl9Ppo4hbEajDegYmholRoxWicEMSkNDlIl0hpZOIRyjVwgXKA1NcZkhM7RL8XVNcscfQEIGYt0EFXl8IZVlk2A2hQRMZ0GchWQX0g6gHBttw1OCfQSfRPvgTDy220B65ZYGxkLe2XuBD17k/b2FJCgEnnyLOFv4YIur8g16cWMIYx3It/j1BoM1YNjduPWFIm+JziOAaC5vpgJKVdLci+nvZJschuFQtr1dH3Da7AiXH/PB6ISLvyA41QfyMOJaj06zc8MZqFJAWtAKLJDzr4SFNNmVWP3rtwJlWsgzghqT+fGwTkCZW+ShRN3yfR+G+/cJqGPcUz8F/f/Hroyf8/LwYJnpk2w+Hp2ze1bPz+BANqMR+Rr+SH+8JX8DPOmOKOVzCCu9MbP8DtKlMyqY72HIq8c9f8JAq+7Irt/6SUPJyceuf+JgOfHofEypIP9xQEE9DMh//vAbvXewtdzt9jkAAAAASUVORK5CYII=',
  21761. iconDown =
  21762. 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABwCAMAAADxPgR5AAAAt1BMVEUAAADl8//l9f/l9P/l9P/k9P/l9P/m9P/q///k9P/n9f/k9P/k8//l8//l9P/l9P/k9P/l9P/k9P/k8//m8//m9P/m8//l8//l9f/n9v/n9f/o8//o8//n+f/p+P/m9//p9P/////l9P/k8/8wmP85nf/h8v9HpP/b7v/R6v/I5v+63v9+wP9AoP+g0f+Yzf9zuv9ks/9OqP/C4v+y2v+s1/+m1P+Zzf+Ryf+Jxv9cr/9st/9XrP/lnD+mAAAAI3RSTlMAx0zO+/qKcAzRSvju7OLfv7i0mJeMg4FqVElCLCoiHhcFqVhMnCYAAAKcSURBVGjetNeJUupAEIXhnuwJO7LIjp5AABW57l59/+eytFKZogq0p5P5XuCvJNNdEzIzH4e9jopbDd9vtGLV6YXjOVkSJX23hhNqbj+JqGLTgfLwC08NplSZZeiCwQ2XVIVJ1wOT151QWY6CEeVQGaMYxtwRSc3aEGnPSCIKfAj5gWBMkiZKaCZk5ipAScEVGVgolKYWxObUUYE6e0IuUZFLYhmiMkNiuECFLuhP16jUteD5rD7jEJUb8s+n/bPqwIqz87iow4r64sz+VLBEnd6rAawJ6IQEFiWU06ImLGpGjBdq96XOfFjlz+hYG5a16cgI1h3fHmOwrHcbSMWCnfa6StODOOmQpsCxT789bCGjdG8Cliz9kUmL+k+nC451mst2EOlSbumBJUtzd7Kit8yDIXju06L4CIkwD7pgOhTF1Q0EXPoxBdttyeKUvg2gGRSfYG6gh5DrPS08QzMZxciDiTddfIEpLxJc1V51cQ8+vd76MLTXxXsY6uuhMPCii2/g0oNRg7FnXXyHkRrRHAJPq6J4CyNzGkPiRlocn12k/OJhDb6QepB5vCuKHwbFHnUgtNPFf/xihxSkdpkubsCkKIbYVhf/c4sxtSC3fdDFNVha1ICYLvK3XIN8lLH5LD4jWPyv6u3lBkAYhsGwBBdgA/ZflCMnJB7Jh9sFKlVN69h/+Ib8SPml4WXBC58/bfzx5t8T/4C5xNAiistELoS11N94M6PbNd6Q8pZbmwrcNuHGkLa+uLmn7Utu0GILeuYmu44ReFCio6D/w67mOC8hsGyNZDNC575YPQcc6EEjsuCPerwlD+CpRZQyIaw6zCwXpKtBBbNhyM+45whA61tkd91HgpKfY9cjguUYnT/XMl0PB0z3y4CPPxwYqUFcDbWqqAAAAABJRU5ErkJggg==',
  21763. iconMenu =
  21764. 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABwCAMAAADxPgR5AAAAqFBMVEUAAADl8//k9P/l9P/m9P/l9f/n9f/l9P/l9P/l8//m9P/o9v/q///k8//l8//k9P/k9P/l9P/k9P/m8//l8//l9f/n9v/o8//p+P/m9//p9P/////l9P/k8/8wmP+g0f/U6//W6//Y7f+czv81m//h8v8/oP/M5/+x2v9yuv9Yrf9Rqf+s1//B4f+PyP/c7/9mtP/F5P+Wy/+23P+k0/+Bwf99v/9cr//VxVGGAAAAHXRSTlMAx/nPi0xK++GYcCsM7uzSv7i0g4FqVEIiHhcFqXWR2NYAAAMBSURBVGjevNZrb9sgGAXgF+z4nnuaW3tYtuXaemmzbuv//2eTjDrJEngQA883Pli2EeflkJ11UuRTNs5GnI+yMZvmRbImT6okjjgUeBQnFTlWzlmKDimbl+TMtohgICq25MJqlsJQOltRXwMGK2xAfSwjWIuWdK9ygrtMyvtiEHPciccVWUsy9JAlZOcxRk/xI1nYMPTGNhZZGMKBoXFCHuDIAxlZwJkFGcjhUE7/9QSnnoz+L+A/LuDcwvh8BjirA3ihzeNmCC+GG838ZPCEqedqDG9iUkjgUaK4bzN4lFWBNlS/qSWHV7yktgk8m1DLEt6122ME76IAM00/4RgCYPTPCmq7+vyKT4cfX74bqXdQW9GnGZSueyGOZ0inZ2Fqf4XSjEjaplCpm6ePOzSehYUaKumWpAJKb6Lxs1nchI03KBXdmXgRjd/N4ixsvHQmo4TaRTR+yfMjbFygJufbHGqnffOxBzT+CHP7E9Tm3SG8feyPl6+QDtej6es+bp1RrFJoHVqr129GDtBKK39jTT/eYgQU+7so9MHgCIgTrRHUmhIElVCBoArKEVROUwQ1JYagGI2ht6vfWxXDTL2D3pgy6MiK8Q6pd8WQMhpBzXnFkEbaQeO8Ykhc+0LnFUPi2i11XjGkkfbQOK8YUtYVi7/Vm0EKgzAURJFiheKqLgqFtLFYCEIQpND738xFVlnkJ8b88WdW7QGiLzNPO09TDmLMljoWjSLi08JnTMpXEWngjzb4wxv+eoK/gOGIgYYoOCbCQRiN+ld3mYGl6+nORBuHGC72906K0ZHmZFCBrLmIsapABvLKbTzE+L92xISu3ESpwIEYF6o24UCMG1UMMSBG96SqLwbEuEfKPYcY2v0ugRiPeH25eP9GnZSFOITYghZdQcNLdvSMAB9K0FPQ+WMX85wnYbBknWRljM58s7occYBHjZAlf5TXW+QJPGUVJZkSVjnNTK5IV0YVlC1DHtY9axBa85XdmqTk/dp1jWI5UJ3307fhjwPa9GMA//xhA1C4YmYrR8CJAAAAAElFTkSuQmCC',
  21765. iconNote =
  21766. 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABwCAMAAADxPgR5AAAAwFBMVEUAAADk9P/k8//l9f/n9f/l9P/l9P/l8//l9P/l8//m8//m9P/o9v/q///k9P/k9P/l9P/k9P/m9P/l9P/l9P/l9f/n9v/o8//p+P/m9//p9P/////l8//l8//l9P/k8/8wmP9Wq/9Rqf80mv9Bof83nP/S6v94vf/d8P/X7f/F5P9yuf9mtP88nv/K5v+73v9IpP+Ixf/A4f9/wP9st/+j0/+w2f+bzv+Uy/9Zrf/O6P+OyP9fsP/h8v+13P+p1v+YamAyAAAAH3RSTlMA+cdMSs777eGYgnArDNG/uLSMi4lqVEIiHhcFxsWpm2xOQwAABJ5JREFUaN7Vm2lT6lAMhlso+yIgV3G7OdhS9lVAWcT//6/uaKNHKU2TUu7g88UZmOlrw8mb9JzUkNGwCrnKQzmbMc1MtvxQyRWshnEiSlYtZcIBzFTNKsWtVswn0kCQTuSL8andFlLAIFW4jUXuupoGJunq9dFyyQSISCSPkrsqg5jUVfSVcgGRuChGS4O6CREx6xHSxMrCEWQtodzdJRzJ5Z1E7yYBR5O4EeRCBmIgw86QPxATf3h6eYiNPEcvBzGSC9f7C7HyV3Z/p7/HPMROnr8+T79Wk3ASkoH+koGTkLkJ8E+5n3XHy8XbrAshJA77qtSv3WlTeTxuRiFOfrAegYh121bf6LtAYR2ot7L69zZUP2k9k/XRX5HrIOFJ+XkCgrqvfzGlen76VNex3+eI+qUXhQwH0+fp/Cu6L1RntdcPgoCx8nCW4DGbeB/YYwjmZ/dYliSfgxH0x3gFwZQje9pAfdCG70y9D3dMh5N4zPPhm1mpdwaU32i9a+DTa3mCg+5eoL1s7EAw+kmnCmw6jwpxdv5bpGNaNZDbNLBpK8301R/qDfU0d4uCBYGjqe+s1r6YknZTQMEU37G9HLedz8RfgAbXLkEKXQ24vK48nbfu4MvOOoB0UJCiKGycMNnmAPDcQsXJDDx2+BtS5GVJuMPl6aXH53K10UHn6h2MMZWKpbTM0uw1hrCtkO1H8fVumS796RLamsTSdKFdDrWLY7ibEN7A1WQ1aQsad/tVfEe6QFHU+Ekxs71EwGRHNjYqen8d9DsyMUyepWHJmwGyVwp1uElMw2gAiz66mf8/wW/0L0jSYHaHC2xAD373mZKtEYRi8Yx01MLiQ3yrc5C20xzH0jDJl6QB9YFBzqiwukLKJ2focR1gUDHuIZQlXjHg9rGC9IDDPaNfc9HSXDjIlpXyunfLgoa84oI0oAHwyBoZCGFDXnGktMVwyIQazRgtDQ7j6H6UhRkm2EXrClgSc21ATEEdUvKKG7KnWr0Cl4yRFbfZmi6Gew1ssnRauEOyn8ZwvwGfsvHAqBFjiQHRPJDW5tpUczvGCtIBARXSvF+ojOhgBemBhBxZnraUxTR1kRdQIAvw8OMWSAOagwyLajE6RJHoYQXpgowG1UStdV/oA2vSGGSYZJs4CnbtAWlAdJtYiyC4UMTNhzXCSbkg5qfjghSLfJjpBa3DCdFThT/MGAmpYJuxmUftnOSFgku0NKIm0Q+kRZlgz9ZttpQivakwO9TfzmzdU8mTwqPAF1yv9N6onELIxtB479LuE7ZMVE2iN4aQKiXYRrW2o75w1hCBqt7cowVRTTPpQRSuye1LLbinpjcSxUmoSRKCtvpJcwnRSIZuQbvKh+1MHlnMZ76cYGyyP6rI+I3hinGMsIss52//L1gHJS92XIJmkXcUNB7EFNI6+7Cr129God8LPuxCLDghFnlgGT+X5JFs/CTuzuPQ+XTH6uczOHCa0YjzGv6If7zl/AZ44h1ROs8hrPjGzM53kC6eUcHzHoY8etzzNwy0Rh3ZLV/9pqFk+dj1bxws//+j80gpGfxyQFKSBvLXH+4/X3+4j/D6wz82EbmlhUaaogAAAABJRU5ErkJggg==',
  21767. iconOverClass =
  21768. 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABwCAMAAADxPgR5AAAAulBMVEUAAAD/6uj/6ej/6+j/6ur/6ef/6uj/6uf/6uf/6+j/8Oz/9er/6uf/6ef/6ej/6uj/6uj/6uj/6uf/6uj/6ej/6ef/6+n/6uj/6ef/6en/6ur/7Oj/7uj/7e3/9On/////6uj/6ef/U3b/na7/4+P/WHr/5+b/x83/kKT/2Nr/Z4X/qLb/3d7/rbr/lqj/gZn/d5H/1Nf/zdL/usT/tsH/s77/v8f/iZ//e5T/XH3/bor/4OD/orH/b4qWx+cJAAAAIXRSTlMA+8dMSfnhzoxwIAzu7NLQxr+4tJiXiYOBalRCLCoXBamt+0gtAAAEWElEQVRo3rTTaZKDIBiE4QYREcxiFmMWY7oq9z/j/J6MM8Mn8Nygq96GjDft+bDf2k1db+x2fzi3xqOQYFxTc0HdOBOQ2eOiFf+g9OWBbJ5twwhN+0QO96NiJHW8I1WlKaIrpLjtKLa7Ya2p5yr9hDXCoLiSGgLEjGUCayAzOyZyMwS8ZjLtBV/omEFXIdKVmVwRZWQ2IyKcmNEJ/3oxq5dsX/mNI7MbBX0Wb7ViERV+4TsW0XksmjUL0TOWOBbjsMCwIIMfgmVBNuDTwKIGfJgURd5viqgJ3/WU+KK1XncSBoIwDC9GPMZzjIkak2/YruXQSimFAvd/X8putwkpzkxjfH5veEvamWxRE9UF+ngwB17Rh53Qj4lFH4e3xzv0sSRviT7u/rDTRuSNwOA33AmifwyemNYbRHJQ9maiJyjYKhsfD46zykLhKfY+BpCVGyKqjgUrItqUkA0+THAJkct9Ipl1g7OE9nIH0aUJziGxNQVlN1hSUFtIzo33Lvfm1PjsBj+pMZeL7z74AoFre1vXDbptW3QQvOiGMG17M3SDmLXFVDWK1wPwMmrUu+NjsaupkYE3uFastXESn9/9NvgupSAZK9bbBXhfFEy5TTOl4Au8C3koVhTk/GrLKVjJgzEEax6/QD7o4jmwhsZcgROnLCmk5V0kcVJZV+ZU9QZHkIIYqd7iqbBIbRL+4E4O7pqjVlinz5rLRA45iFxz8Xg2j+CsyVtoggvy1uA8mntwJrQ3ARPsHubcm1swLHmpLpiSZ8G4NWeKoch0wUwxGGfmBowy/oQmGB+vBOOGXzQVeYUuWJBXgTHkg1Pyvqu3ut4EYSg6YpZtGl1mYkyWzKQFLIWKgqLD6P//W3u6vlR6Dwqunkc1vYbez3MPBjNoKMs7DY4Bg9q6rKtXqwGDY8tpeDegEhlrwMVsp5kAiWZrfR5LGe8sFwNSzcQd+GXTQ9JVpZsuoHQH/hQI/IOAcAACf/oyA1JbvRQAljWQ2mZMeUqocQCwR3rFD6YA76xD2D+3YwrwECrAWrDQUAEeck3UAXEb/JevbJuopOXrzgiSim0T36Eu6hgxA9YR6qHe+Va/oJ566QwJ6s8LnuQbBdjslAsHcmx+CkbAuGZqa5ghWMNMbRDmZM4GNI1rDceZXymxBDHHRu6MzkuvHrhP6fuMHblBUiGRhI2y4mYj4QH4DaJNyAfJZKbFBTojc+THEG2yCDCahnBOwtV2uwqTsyRARE2waEF9VbF0Iq4w6gsn91QqHUgVSu7h9GV0qmUD6lOE0JetCVqTx1efZm4EgsENFLQOU+thhlpA+LyRZC+zdXoxts5KgeL7jjVCVJRKlUUrVv/LXpT0iuDn0aug/1929bzO82Fh2etK1o+lc39rdX+EA/1II/wSf3Qvb/FPwNOtRMlPEVZ3MjN/hXTdSAX9FkPeLfd8BkHr7ZLdZxIlt5ddP6Ow/OHSecJo0PxywAAPg4e//vAHMr7+ynUuAYkAAAAASUVORK5CYII=',
  21769. iconSetTime =
  21770. 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABwCAMAAADxPgR5AAAAwFBMVEUAAADk9P/l9P/k8//m9P/l9f/n9f/l9P/l8//l9P/l8//m9P/o9v/q///l9P/l9P/k9P/l8//k9P/m8//l8//l9f/n9v/o8//p+P/m9//p9P/////l9P/k8/8wmP8xmf9ks/+Jxf88n/9arv81mv/B4v+i0v9AoP+Uy/+Awf+93//X7P+dz//g8f+02/+OyP9Tqv+p1f9ut/+v2P9Mp/9GpP/i8v/b7v90uv9ntf85nf/G5P/P6P+YzP+FxP95vv9fYimLAAAAHXRSTlMA+c/Hi0xK++22mHArDOLf0sa/g4FqVEIiHhcFqe9k29sAAATCSURBVGjetNZrU7JAGMZxUEIRz1oe6trQNJCDJ7SyMr//t3qGDecZV7B7EX+vnPHFf/Zw76DI6etmxWg1G2VVLTeaLaNi6n3lRmq6VlCRQC1oei3vWrVTLOGCUrFTza82NAsgKJjDXHI9owSiktG7OndXhJTi3VW5hwKkFR6y35Q2MmlXs42BpiIjVcswJnodV6jrkrlHDVfSHmV6gyKuVhxIzEIZOSiTJ+QeObmn9brITZfSqyBHlb97T8jVk9z6br/GLnLXpd/P29/VO9xE6jwOyriJ8iDl/SziRorJ76qGm9GSejoSBO7KGUlwVm6ABPp5r1bHmXD9yaR9rkOcqdcIG+q+sIxe3L83tapC4DyzzJ4dCNSqEGxDcGBXOUDQFr4HIViwKy0gOP16LODU/Lg3y0U4lRAulseTmONU4dKb9raJT9+DNC++a5u3Cy+c+Mb4jJsBCMLZziLazcIAwIxxvvje/O/1IFiyiAVgtWVStisAFossIegpRwZOfbPIJAB+mLQfIJiwyDdOGUpsWErc0TX/Ic8H1ol7WhrGQROC33W58MbxXSVi3NiDG69VYKbMBD5YBHBYZOaByJuxiAOwyAeSJ6MK0Y4vC+AXfA8Jez5MAF/sDqIqD3YgsuLgNro6kDKJbmoctCDqCEMoBu3oRCAlOnVbCAqjWCulBsfZguPUYKnGnzXpoDedh+F86tGC4vOmyQW/HMtmMdtyvuSCGh8KevB9v2SCpf9OD/LBUMnBYG+zBPY+IAdVRemDGpxuWIrNFzWIvqJTg/6ExbbWYeT7o4O1ZbGJTw3qikkMOsfVjKbA0XR0XLVDDJpKhRb049wcgnm8TJ8WrCgGKehO+M6NApwJRr//uaSgobRIQf6Mj10kcsf8ySYFW0qTFLSjNUyRgq/fJgWbSoMS5J/Fr0j1yr+4KMGGUiYF3/aHEBfMZ8RLU1ZUQpCEFlQvBfnJff6r3ux2EwSCKNxaoanGm/Z6jNJaBJS/REBJfP/HarJk0otlThwEs34P4BHYYXbPHEjFxTxNIAhvqanqIyk4mmJFtxQumpKX+21w+ZRo0cCyKLpu0GxvpOm6SYHKAhY+5esB5AQL/wMJtkPO+C3BV9sCCVIcavXCmJDgArYns5kONHJBlBAUXMIGzFbN740UcUWEBX20xRgM3GK8vD5S8BVuEwHt4dAOEZzBjbBI0pjTWKIXnMOtvki5NpR6QR8eZiRiLoJYK/i+gsc1iT0L7rWCb/hAyoi2WKYV/BKO3CUWTFkwxYKlcOS2CyNimwV0PdAp2eiJrKIQbBN2L+Tfy00bkv9R1P+Il5IxtOve+yRSFVFUVCTS9ZidZAzZPfHEawKDV9XJ6oWyuXflRYHBi+oqmnt2KSYBW9d62CwPkp4iZDyptsOsJhV1FkpvBQ9Z0HT+d+h/FHQX1+t7zbDJXufru8hr22THY4T6fI/e2dL7lAclTHYZKnfJSBiUgFEQ2rFhwj6DdY6HXUyVbpvNt4JNs00rwsMuxqcJ8V0YWE46knVj6DzdWN2d4MA00Qi3wh/jx1vcC/CMG1FyM4Q1XszM3SDdOFFBt8OQd8c9nyHQOjyy+0yhZH3s+hmD5RNG5zErT/44wFOUwaM/f/gDgMx5mkMYVqUAAAAASUVORK5CYII=',
  21771. iconToneIcon =
  21772. 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABwCAMAAADxPgR5AAAAyVBMVEUAAADk9P/l9P/k8//m9f/l9f/n9f/l9P/l9P/l8//m9P/m8//o9v/o+P/q///k8//l8//l9P/l9P/k9P/l8//k9P/l9P/n9v/o8//p9P/////l9P/k8/8wmP9st/87nv+Jxf/U6//g8v91u/80mv/Z7f9ls/9Eov/L5/+Ryf96vv/d8P+h0f+u2P82m/+93/+33P9brv8/oP/H5P+Xzf/C4v+n1f+czv9/wP9Rqf9Kpf/P6f+Lxv9wuP9Op/9Vq/+y2v+Cwv/S6v8GsZ0zAAAAHHRSTlMA+c/HbkxJ+7aYjIIrIAzu7OLf0sa/iVRCFwWpJErPEgAABT9JREFUaN7VW2tX2kAQTQhvQalQq+0kaB4QXoK8RVDx//+oHjehSzC5EyD04P3E6UlzszuPOzs7KvuhnE0X8rXqdUVVK9fVWr6QzpaVE+EyW0ypFAI1VcxeJs1WutByBJDTLkrJsd2lUxQDqfRdInS3+RzFRC5/ezRdRqO9oGWOovuVor2R+nW4p/ykg/CzdFgY3Kh0INSbA8Ik+4OOwI/snnS/i3Qkir/3ymAaHQ2tvEcsXFECuIodIWlKCOl4fBeUGC7i8BUoQRR4vj+UKP6cfn14jdh+ydsR++fpfTVDJ0FkPJav6CS4KkfkT41OBC08r3L5+qV7bxlBrOatvkk8iqF6RAjm7FUPR7094hmzIXoL9a/X1AHmDquPXxX5Bi2vrWMs2EXe7PKVVMBn6BzqE8JQd+scVC9ZWy8OwtY3GLpcZbVTD4JHp7qH5uzrS91eQ/fwRAyC1SOoP526eOHjskOhmPjuO+Pq1bg5raUL9KK/6M3bAHOz6A8+w6EcMxSvG4MnHO+R6eb77PDFapLvFrytH8NCY/HMSmyw2P7wuJQnnTx42RJvqIAp0kLj8+dKPN6nMOT/nf/QeUx4oS0chrFz6zPf2mKF4Y/n7uLIrvj4Z8Iw27bd/vwxFwtsM1KMzmQP4g0WcTDd8dyw1o/icRdHRokA3qWPIvTedAmDolCShROOwgGmcxr6NvqgoIJBKL3OwcospRKa0A/FS9gzEO9qQr7Os76DZWTX4ZIr1Tq2F2EI/8RSeAw2QUaWMijP3BPAyGdrTUxn4BvzDRU3sFEx4/OMFdD8LlyiCAyV364XYpN7P/g/5lHCryhlQngSMs/vqCGt/ghTU5mpDuuhUuHO3qMzg0gBw8h6ESdSN3R/prbvuNJo77s2jT7ZFIgtZ7phVutFrRBboQC1kO7F2yZh+XwZsOEqrg3zSo1YMTTDCO8jvHQOvZRqSjWGGEJCPw5dFIcSVeWaF0NIKDPNiDp9g8k0dK1UeDHEhGTxuVSioqi8GGLCXbXAuVeVhEAMMSG9LIJ8FiHCCi+GHCENtunsFgFUkNOYUgwxobFFZ7iEcK1UWTFkCV2PyjJW66lDGFWlxoohS9j2K5lJY2FxhDUlz4ohR+j4xehDHVQjMrUVWDHkCO99RewisZbJO82LISbs+MnUJ+xxjbcsL4aYcLY5z01Q0EsBLvNiiAkX3sJkFEGUFUVlxBAQys96/fz5zBfNqiwTgRhCwjdvH2QWf+A6C0VGDDHhYKuhMPbLG4AiKPUdmYgBoVdqt7YyUwv6DDjMDDwxhIS++tYdL0BkiYoOM4oGxRAS+mZbbzvsAhBq6EDa9sQQEn7YwrE+Aqphch3+EnDSIUHCddDOS85NS6ip8CTiCxL6bbhRsEE0Yttt6egVNhGhb+bGjtldkEhRY8jyOkKA0Gzu+JWFbZi7Q60v3yBTQNjdrUGHOLflcXNv4qkAIHzd+aQuU7PdMu3LJqMWPT0Ydk4TC6KGGrRyTx8HUYRPwUZw50mm1VBkYAtaSrk9Cyf0Mudw41Ujv/7uwpjATfau7uF57JpfCY2tY6LTW7G99l8xrhHa4fcH3lZv/bs8xTQ/wDUCf1FiNvT9UJ/AixL+Ksic78X36nJXQfxl13QRm85uO/xlF3+dZ47fYtENrRek9HtdWL50l20DYbVu9QmheB5Xsie8dD6Xa/VTDQ6c02jEKYY/zm28JekBnnMcUUpyCOtcx8ySGqQ751HBBIYhz3/c86iB1u8ysnvYUPJ3G7veb7D8u47Oe7jMRP9xQCZ+GPz3P3/4C1OFU4IrW2mHAAAAAElFTkSuQmCC',
  21773. iconUp =
  21774. 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABwCAMAAADxPgR5AAAAulBMVEUAAADk8//m9f/l9P/l9P/k9P/l8//l9P/m8//m9P/q///k9P/k9P/l9P/l9P/k9P/k8//m8//m9P/l9P/l9P/l9f/n9v/l9f/n9f/o8//o8//n+f/p+P/m9//p9P/////l8//l8//l9P/k8/8wmP/h8v+Yzf9Eov/b7v/E4/+12/+Nx/9+wP9xuf83nP8zmv/U6//P6f/K5v+g0f9ks/9arv9Ipf86nv8+oP+83/+s1/+m1P9Np/9Rqf8vxikbAAAAI3RSTlMAx0vO+/nttoJwDNH64t+/mJeMi4lqVE1JQiwqIh4XBcbFqQTxdBcAAAKqSURBVGjevNaHUttAEMbxVW8uuOBegE9yAQzYDjYt7/9amTDOwWiUZG+l8+8F/iPp9rSkZzKIWsF10vA9z28k10ErGkzIkNhuOx4KeE7bjqlio9By8Q+uFY6oMrPIAYMTzagKw8AFkxsMqSzbghbLpjJ6CbQ5PZIaNyHSHMvGoFuDUK0rGBO7jhLqNumZd1BSZ04aphZKs6bE1vdRAb9PTJeoyCWxhKhMSAwXqNAF/dcNKnUjeD6jzxiiciH/fJo/q30Y8dd5nPowwp9SobkFQ6w5FenAmA4VsGGQXfC/rcOgekx5XRjVpZxxDUbV8ntOE4Y1c/sgjOvRdwmkVrsMLEklI/G0SdPjAiw2fbEgs/1If9uDwyJlCJntIf10AMtQBQOI7JbpSQaOgE5mLiTWqrcEizs7BSNIrF/SPxbgiU5BBwKvR9XbgMmhTyMI3D6o3j3YRqLFSd5DKB3Ct0fVuwOTGsXYha53YQ9uLLrW9inzfBZfb21oWqTKHpragqG4U7nHd2hQg+Ehh917gzaPaAIt96r3cAuBCQ2QY7SHAUXgyzaqd3yFSEQt5LB6L2vItCgAV/ZD9ZbSHgK6AtPqW28HqSv2vrZ6Vr3DFmIJNcCSffU+niDXIB8sC9X7WaYHn3vRqA/4vEIZ3tmDZ3+lZz805x+LX9WbIQLAIAwDxeT8NPxi/3/Z1AQOSnqkHgukl2ufOCW8+B1/2vDHG/+e8A8Yjxh0iMJjIh6E8aiPDzP0uMYPpPzIzUMFHpvEwdAbAEMs+sLhHo0vcUALI+gLh+x0jYAXJXQVdL7sSq7zHArL1ErWo3TOq9V9xIEcNcJL/tDrLX4Cj1ZR8pSwdJqZr0inUQW9Zcht3bOC0BpVdu+nkpS8rl1XFMun1fnaywHD+kP71x9aYP3hA/M5Qidw03TPAAAAAElFTkSuQmCC',
  21775. iconWhite =
  21776. 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABwCAMAAADxPgR5AAAAulBMVEUAAADk9P/k8//l9f/n9f/l9P/l9P/m8//m9P/o+P/q///k9P/k8//l8//l9P/l9P/l8//k9P/k8//m8//m9P/l9P/l9P/l9f/n9v/o8//o8//n+f/p9P/////l9P/k8/8wmP/Y7f+Fw//d8P+t1/9/v/8+n/9otf95vf8zmv+Bwv9st/+k0/9cr/9Dov/U6//D4/9zuv/N6P9Op/83nP9ptv+dz/+QyP/g8v+WzP+94P+13P+73v+33f9oZhavAAAAH3RSTlMA+cdMSc62gnAgDNHu7OLfxr+Yl4yLiWpUQiwqFwWpuFocwwAAA9RJREFUaN681otO6kAUheE9pVfKVS4CgmsKqQHTQtETMcbz/q910kOJhhntdFrme4E/Tbp2hqoJbH/kDsJ+l7FuPxy4I98O6Eba9thhkGDO2G5TwxaexfALZnkLaszSd6DA8ZfUhLnLoIi5c6qrZaESq0V1zEJU5sxI18MQWoYPejOYMmhiU42Z2D3U0LOpmtUENU1WVEFgoTYrqLCFDhrQUV7IPRpyT0o8NMYjBXdo0B2VekSjHpW+z+A3emicp/x/GvhXW7iJH/cYdHATnYCkVhZUfcbb7Xb9AkWW/K5O1Hs7nttHUDQhCRvKjvwsgSqbBO0elL0WwRiqem0hOIWyza4IplA2Fd4vDMo+eOEPlLHrd84QModkHYtSfnGMBevkAJnh1XtQmjtyLUdpckbfhRBle65pn0EUlt20Q97TLR5KLpwlH5u+I0TWV28OUbTjNewiiOZ04UKUnJeWbSrK0h+PkEuFJYPoxHMZKst47gQRW9KZD4k1z0WoLOK5NSR8OnNMBZ1zbwFTQSwo55kLepSzTAWLKbaZuSBrC2dNGtxcRP+9awaL8zYuCyb76zOSvugGx8IoxGC244JUPSgOg5UET1xioxlkRAFKggkXPUEziIDssuD7Kxe8aQdt8suC2Lw9x/HzN6cPaAd9GgHmdgiMyDUbdGlgNjig0GwwpL7ZYJ+6ZoNdYqXBz3T/9Jv0b4UgKw/+q97sdhqGYSjcsQ46dsUFaHATN9tYq0K7td2g7P3fix9PQkJ2PNMuyr4HqKsojuJzTuoWBNpaUVBe0g5EOsWSyptmDyJ7xaaR2yItQaBMNW0hN35l13/Z/VAgNtU0vvejzf/hnfgtmESx34JxNPVbcBpFI58FR3hN9FdwIl+EJfQX4bHPgjE7zKQFjupLNXiPLVJ6mOHGtS6HnuQdq5zckMJAfzbcQPpEShj9eaNHbrIxLAyAJZoCSXwVTFhhqG7yHHqR501NC0MofQkUgBwMQQZIYQSuCXGPZtEex0Jyul8C0i6Mm0dGvuQ/uXX+DiyNk6vTTaet+4sF8T+SBTUzDt6f3Wv2Ar8rzjMhRHaGAyA7g7Ba7sE4mBM2AkMmOT9rQDLDc6cwSkpeVkb2gJRGMEpOs4I+RDWogiO82vCgMLusrJW8AmIVZlcUS15aZVg6QBrDEGsMy0bW1+rWXfBeZcluVtkXtnJ2TvbNquYs2TBM5/PZ6uEEB84TjQgr/DF8vCW8AM+wEaUwQ1jDxczCDdINExUMOwzZO+55CYHW/0Z2Z/NLCiXrY9eXGCz3EJ2nuR3zjwPGijbw/fzhE7HYtyzsXc6MAAAAAElFTkSuQmCC',
  21777. iconWork =
  21778. 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABwCAMAAADxPgR5AAAAt1BMVEUAAAD/6uj/6uj/6+j/6ur/6uf/6ef/6uj/6uf/6uj/6+j/8Oz/9er/6uj/6uf/6ef/6uj/6uf/6uj/6ej/6ef/6+n/6en/6ur/7Oj/7uj/7e3/9On/////6uj/6ef/U3b/39//mav/2tv/XX7/n6//hZz/WXv/iZ7/e5T/Z4T/5OT/s7//YYD/cIz/4eH/1tn/u8T/fpf/dY//prT/x87/wsr/k6b/aof/rbr/jaL/nK3/z9P/yc/wFT71AAAAHnRSTlMA/MdMSc754YyCcCAM0e7sv7i0mJeJalRCLCoXBamy1b4xAAAECklEQVRo3tWba3OaQBSGl+Wigiaaahqb9CyRSFNA8ZJoLv3/v6sd6JRE9nJYLmOfjxmHZ1Z4T5azR1INz3KnEzrqXTrOZW9EJ1PX8khLDK2+7QAHx+5bw6Zt8wE1QIJBB/PmbLeuDQhs97YR3c2VAUiMq5vaOpNCJahZS/d1BJWxv2rrvo1Bi/E3vRjMDNDEmGnExOpBDXpWRd1dH2rSv6tUwSjUhnoVsnABDXCBTsi1AY1gXON8A2iMAcb3BRrki9r3HRrlu+769NeIvH8d3cdraIFrSf4MaAFDmEevnPf3fRxBXS48Qf0s17OYMbZaQ10ov65y6nXC/rCE2vR5PgvKsIw91MYq+4Y9KLPNjU9Ql96wJJwBhzTIhIkPn1j7HOS3elbav/ATsWEZj5/+9pNxCVdvqTgbp/ucMfC5Zxlv8I9FyMQchCEan+wHQcSOZWw+REXGagECPu8eRyBikWQXClL4yzOTG0VrHH2qaSDm+fRCW7nxAAJMUkBBwp5lvBZPzds9h8OO5aTAhxa+GxBTLCkGBU/543sPAoo3nSuQ4ucXCt+VxuxzRxBwRf5ya4CcX2F+JWUZf8w+J8ziLclxQcULY8oyXqTWBwEuybFBySuujD9knxJG0c59c1ATrYoyri+EOX7jlIZ5GV/UEg74IZSWcZxQFsWhASiKMq4vNIacsqYq4881hGBytjKIMq4v7JdDoS7ju0gtlAXDkRarh5fo9HrsoC90CPFUFWYVKcs4XggesUBCkl2+VMaTSFtoSQupn/+7KZfxVFvokilaWJTxQH+FUzLBCov8hxvQFk4IrSiE9NkHfSElI7ywQF84Ij0tYfrj+PMDx+U7UtgjlzrC6MhOSHyc8JI4GkLeZjjGCR094VNZuEEK9b5S2J36jmvkV6r50Kwfto8f2N772Iem+1jQboWUTLoVTsi0W+GUuN0KXWJ1K7SIV0EYv/7g87pfo7cYxEELD9JXe+wmithYoc9kbNDbxD5WmEqFMXojbGKFsJP4ggVKaGUvM1jhYhmEAnZP+JcZQruLBc1fSLsTDjLhvDvhnGTYXQltVdskKnpeOA6KtomyMRRkRQQwFMEJxY0hZevrscg0vvGwU7a+yI28kRgijXHeIX9QNPdkUfQDlpFsl0q2CcsIF8IQFpiyJeKRL9BEtaCXVX1bYSZwTfaoonG5xjXZyRhEvCR4XbAHEWPVQUnBOl6ukkBJslrGa/xBCZlBq8wwh114dA67iAUtYvEPLFujLzqSbQl6Jzx0boUL71yO1dsaHDin0Yg2hj/Obbyl6QGecxxRanII61zHzJoapDvnUcEGhiHPf9yz64FW/ZHd0df/aSi5+tj1/zhY3vHofMHQFP84wMTHoPOfP/wGTQWP9qtjfVcAAAAASUVORK5CYII=';
  21779. function _isSlot(t) {
  21780. return (
  21781. 'function' == typeof t ||
  21782. ('[object Object]' === Object.prototype.toString.call(t) &&
  21783. !isVNode(t))
  21784. );
  21785. }
  21786. const AttendClass = exports(
  21787. 'A',
  21788. defineComponent({
  21789. name: 'CoursewarePlay',
  21790. props: {
  21791. type: { type: String, default: '' },
  21792. subjectId: { type: [String, Number], default: '' },
  21793. lessonCourseId: { type: [String, Number], default: '' },
  21794. detailId: { type: String, default: '' },
  21795. classGroupId: { type: String, default: '' },
  21796. classId: { type: String, defaault: '' },
  21797. preStudentNum: { type: [String, Number], default: '' }
  21798. },
  21799. emits: ['close'],
  21800. setup(t, { emit: e }) {
  21801. const r = useMessage(),
  21802. a = useRoute(),
  21803. i = useRouter(),
  21804. s = useUserStore(),
  21805. n = reactive({ width: '100vw' });
  21806. onUnmounted(() => {});
  21807. const o = reactive({
  21808. type: 'class',
  21809. subjectId: '',
  21810. lessonCourseId: '',
  21811. lessonCoursewareDetailId: '',
  21812. detailId: '',
  21813. classGroupId: '',
  21814. classId: '',
  21815. preStudentNum: '',
  21816. knowledgePointList: [],
  21817. itemList: [],
  21818. videoRefs: {},
  21819. audioRefs: {},
  21820. modelAttendStatus: !1,
  21821. modalAttendMessage: '本节课未设置课后作业,是否继续?',
  21822. modelTrainStatus: !1,
  21823. homeworkStatus: !0,
  21824. removeVisiable: !1,
  21825. removeTitle: '',
  21826. removeContent: ''
  21827. }),
  21828. l = reactive({
  21829. nowTime: 0,
  21830. model: !0,
  21831. isAnimation: !0,
  21832. timer: null,
  21833. item: null
  21834. }),
  21835. h = async () => {
  21836. try {
  21837. const t =
  21838. (
  21839. await queryCourseware({
  21840. coursewareDetailKnowledgeId: o.detailId,
  21841. subjectId: o.subjectId,
  21842. pag: 1,
  21843. rows: 99
  21844. })
  21845. ).data.rows || [],
  21846. e = [];
  21847. t.forEach(t => {
  21848. t.removeFlag ||
  21849. e.push({
  21850. id: t.id,
  21851. materialId: t.materialId,
  21852. coverImg: t.coverImg,
  21853. type: t.materialType,
  21854. title: t.materialName,
  21855. isCollect: !!t.favoriteFlag,
  21856. isSelected: 'PLATFORM' === t.source,
  21857. content: t.content
  21858. });
  21859. }),
  21860. (o.knowledgePointList = e),
  21861. (o.itemList = o.knowledgePointList.map(t => ({
  21862. ...t,
  21863. iframeRef: null,
  21864. videoEle: null,
  21865. audioEle: null,
  21866. autoPlay: !1,
  21867. isprepare: !1,
  21868. isRender: !1
  21869. })));
  21870. } catch {}
  21871. },
  21872. p = ref(!1),
  21873. c = ref(!1),
  21874. d = ref(!1),
  21875. f = t => {
  21876. if (
  21877. (console.log(t.data?.api, t.data, 'ev.data'),
  21878. 'headerTogge' === t.data?.api &&
  21879. (l.model = t.data.show || 'play' != t.data.playState),
  21880. 'onAttendToggleMenu' === t.data?.api &&
  21881. (l.model = !l.model),
  21882. 'api_fingerPreView' === t.data?.api &&
  21883. (clearInterval(l.timer), (l.model = !t.data.state)),
  21884. 'documentBodyKeyup' === t.data?.api &&
  21885. ('ArrowLeft' === t.data?.code && (E(), C('up')),
  21886. 'ArrowRight' === t.data?.code && (E(), C('down'))),
  21887. 'onLogin' === t.data?.api)
  21888. ) {
  21889. const t = document;
  21890. t.exitFullscreen
  21891. ? t.exitFullscreen()
  21892. : t.mozCancelFullScreen
  21893. ? t.mozCancelFullScreen()
  21894. : t.webkitExitFullscreen && t.webkitExitFullscreen(),
  21895. s.logout(),
  21896. i.replace('/login');
  21897. }
  21898. };
  21899. onMounted(() => {
  21900. const e = a.query;
  21901. console.log(e, t.preStudentNum, '学生人数'),
  21902. (o.type = t.type || e.type),
  21903. (o.subjectId = t.subjectId || e.subjectId),
  21904. (o.detailId = t.detailId || e.detailId),
  21905. (o.lessonCourseId = t.lessonCourseId || e.lessonCourseId),
  21906. (o.classGroupId = t.classGroupId || e.classGroupId),
  21907. (o.classId = t.classId || e.classId),
  21908. (o.preStudentNum = t.preStudentNum || e.preStudentNum),
  21909. window.addEventListener('message', f),
  21910. h(),
  21911. g();
  21912. });
  21913. const m = reactive({
  21914. open: !1,
  21915. activeIndex: 0,
  21916. toolOpen: !1,
  21917. chapterOpen: !1,
  21918. chapterDetails: [],
  21919. chapterLoading: !1
  21920. }),
  21921. u = (t, e, r = []) => {
  21922. for (const a of e) {
  21923. if (a.knowledgeList && a.knowledgeList.length > 0) {
  21924. const e = u(t, a.knowledgeList, [...r, a.id]);
  21925. if (e.includes(t)) return e;
  21926. }
  21927. if (a.id === t) return [...r, t];
  21928. }
  21929. return r;
  21930. },
  21931. g = async () => {
  21932. try {
  21933. const t = await lessonCoursewareDetail({
  21934. id: o.lessonCourseId,
  21935. subjectId: o.subjectId
  21936. });
  21937. m.chapterDetails = t.data.lessonList || [];
  21938. const e = u(o.detailId, m.chapterDetails);
  21939. o.lessonCoursewareDetailId = e[0];
  21940. } catch {}
  21941. },
  21942. y = async () => {
  21943. try {
  21944. if (!o.classId) return;
  21945. await courseScheduleUpdate({
  21946. lessonCoursewareKnowledgeDetailId: o.detailId,
  21947. id: o.classId
  21948. });
  21949. } catch {}
  21950. },
  21951. v = computed(() => {
  21952. let t = '';
  21953. return (
  21954. m.chapterDetails.forEach(e => {
  21955. e.id === o.lessonCoursewareDetailId &&
  21956. ((t = e.name),
  21957. e.knowledgeList?.forEach(e => {
  21958. e.id === o.detailId && (t += ' - ' + e.name);
  21959. }));
  21960. }),
  21961. t
  21962. );
  21963. }),
  21964. b = () => {
  21965. for (let e = 0; e < o.itemList.length; e++) {
  21966. const r = o.itemList[e];
  21967. if ('VIDEO' === r.type && r.videoEle)
  21968. try {
  21969. r.videoEle?.currentTime(0), r.videoEle?.pause();
  21970. } catch (t) {}
  21971. 'SONG' === r.type && r.audioEle && r.audioEle?.stop(),
  21972. 'MUSIC' === r.type &&
  21973. r.iframeRef?.contentWindow?.postMessage(
  21974. { api: 'setPlayState' },
  21975. '*'
  21976. );
  21977. }
  21978. },
  21979. _ = () => {
  21980. clearTimeout(l.timer),
  21981. r.destroyAll(),
  21982. (l.timer = setTimeout(() => {
  21983. (l.model = !1),
  21984. Object.values(o.videoRefs).map(t =>
  21985. t?.toggleHideControl(!1)
  21986. ),
  21987. Object.values(o.audioRefs).map(t =>
  21988. t?.toggleHideControl(!1)
  21989. );
  21990. }, 4e3));
  21991. },
  21992. w = ref(3),
  21993. A = [
  21994. {
  21995. prev: {
  21996. transform: 'translate3d(0, 0, -800px) rotateX(180deg)'
  21997. },
  21998. next: {
  21999. transform:
  22000. 'translate3d(0, 0, -800px) rotateX(-180deg)'
  22001. }
  22002. },
  22003. {
  22004. prev: { transform: 'translate3d(-100%, 0, -800px)' },
  22005. next: { transform: 'translate3d(100%, 0, -800px)' }
  22006. },
  22007. {
  22008. prev: {
  22009. transform:
  22010. 'translate3d(-50%, 0, -800px) rotateY(80deg)'
  22011. },
  22012. next: {
  22013. transform:
  22014. 'translate3d(50%, 0, -800px) rotateY(-80deg)'
  22015. }
  22016. },
  22017. {
  22018. prev: {
  22019. transform:
  22020. 'translate3d(-100%, 0, -800px) rotateY(-120deg)'
  22021. },
  22022. next: {
  22023. transform:
  22024. 'translate3d(100%, 0, -800px) rotateY(120deg)'
  22025. }
  22026. },
  22027. {
  22028. prev: {
  22029. transform:
  22030. 'translate3d(-50%, 50%, -800px) rotateZ(-14deg)',
  22031. opacity: 0
  22032. },
  22033. next: {
  22034. transform:
  22035. 'translate3d(50%, 50%, -800px) rotateZ(14deg)',
  22036. opacity: 0
  22037. }
  22038. },
  22039. {
  22040. prev: {
  22041. transform:
  22042. 'translateZ(-800px) rotate3d(0, -1, 0, 90deg)',
  22043. opacity: 0
  22044. },
  22045. next: {
  22046. transform:
  22047. 'translateZ(-800px) rotate3d(0, 1, 0, 90deg)',
  22048. opacity: 0
  22049. },
  22050. current: { transitionDelay: '700ms' }
  22051. }
  22052. ],
  22053. x = ref(),
  22054. P = t => {
  22055. m.activeIndex != t &&
  22056. (b(),
  22057. clearTimeout(x.value),
  22058. S(m.activeIndex, t),
  22059. (m.activeIndex = t),
  22060. (x.value = setTimeout(
  22061. () => {
  22062. const e = o.itemList[t];
  22063. e &&
  22064. ('MUSIC' == e.type && (l.model = !0),
  22065. 'SONG' === e.type &&
  22066. (clearTimeout(l.timer), r.destroyAll()),
  22067. 'VIDEO' === e.type &&
  22068. (clearTimeout(l.timer),
  22069. r.destroyAll(),
  22070. nextTick(() => {
  22071. e.error &&
  22072. (e.videoEle?.src(e.content),
  22073. (e.error = !1));
  22074. })));
  22075. },
  22076. l.isAnimation ? 800 : 0
  22077. )));
  22078. },
  22079. S = (t, e) => {
  22080. const r = o.itemList[t],
  22081. a = o.itemList[e];
  22082. if (a) {
  22083. if (a.knowledgePointId != r.knowledgePointId)
  22084. return void (l.isAnimation = !0);
  22085. const i = r.videoEle,
  22086. s = a.videoEle;
  22087. (i && i.duration < 8 && t < e) ||
  22088. (s && s.duration < 8 && t > e)
  22089. ? (l.isAnimation = !1)
  22090. : (l.isAnimation = !0);
  22091. } else l.isAnimation = !(r?.adviseStudyTimeSecond < 8);
  22092. },
  22093. C = async t => {
  22094. if ('up' === t) {
  22095. if (m.activeIndex > 0) return void P(m.activeIndex - 1);
  22096. let t = m.chapterDetails.findIndex(
  22097. t => t.id == o.lessonCoursewareDetailId
  22098. );
  22099. const e = m.chapterDetails[t]?.knowledgeList || [];
  22100. let r = e.findIndex(t => t.id == o.detailId),
  22101. a = !1,
  22102. i = '',
  22103. s = '';
  22104. for (
  22105. ;
  22106. r >= 0 &&
  22107. (r--,
  22108. r >= 0 &&
  22109. e[r].containMaterial &&
  22110. ((a = !0),
  22111. (i = e[r].lessonCoursewareDetailId),
  22112. (s = e[r].id)),
  22113. !a);
  22114. );
  22115. if (a)
  22116. return (
  22117. (m.chapterLoading = !0),
  22118. (o.detailId = s),
  22119. (o.lessonCoursewareDetailId = i),
  22120. 'preview' !== o.type && (await y()),
  22121. await h(),
  22122. (m.activeIndex = o.itemList.length - 1 || 0),
  22123. (m.chapterOpen = !1),
  22124. void (m.chapterLoading = !1)
  22125. );
  22126. let n = !1;
  22127. for (; t >= 0; ) {
  22128. t--;
  22129. const e = m.chapterDetails[t]?.knowledgeList || [];
  22130. let r = e.length;
  22131. for (
  22132. ;
  22133. r > 0 &&
  22134. (e[r - 1].containMaterial &&
  22135. ((n = !0),
  22136. (i = e[r - 1].lessonCoursewareDetailId),
  22137. (s = e[r - 1].id)),
  22138. r--,
  22139. !n);
  22140. );
  22141. if (n) break;
  22142. }
  22143. if (n)
  22144. return (
  22145. (m.chapterLoading = !0),
  22146. (o.detailId = s),
  22147. (o.lessonCoursewareDetailId = i),
  22148. await h(),
  22149. (m.activeIndex = o.itemList.length - 1 || 0),
  22150. void (m.chapterLoading = !1)
  22151. );
  22152. } else {
  22153. if (m.activeIndex < o.itemList.length - 1)
  22154. return void P(m.activeIndex + 1);
  22155. let t = m.chapterDetails.findIndex(
  22156. t => t.id == o.lessonCoursewareDetailId
  22157. );
  22158. const e = m.chapterDetails[t]?.knowledgeList || [];
  22159. let r = e.findIndex(t => t.id == o.detailId),
  22160. a = !1,
  22161. i = '',
  22162. s = '';
  22163. for (
  22164. ;
  22165. r < e.length - 1 &&
  22166. (r++,
  22167. r >= 0 &&
  22168. e[r].containMaterial &&
  22169. ((a = !0),
  22170. (i = e[r].lessonCoursewareDetailId),
  22171. (s = e[r].id)),
  22172. !a);
  22173. );
  22174. if (a)
  22175. return (
  22176. (m.chapterLoading = !0),
  22177. (o.detailId = s),
  22178. (o.lessonCoursewareDetailId = i),
  22179. 'preview' !== o.type && (await y()),
  22180. await h(),
  22181. (m.activeIndex = 0),
  22182. (m.chapterOpen = !1),
  22183. void (m.chapterLoading = !1)
  22184. );
  22185. let n = !1;
  22186. for (; t <= m.chapterDetails.length - 1; ) {
  22187. t++;
  22188. const e = m.chapterDetails[t]?.knowledgeList || [];
  22189. let r = 0;
  22190. for (
  22191. ;
  22192. r <= e.length - 1 &&
  22193. (e[r].containMaterial &&
  22194. ((n = !0),
  22195. (i = e[r].lessonCoursewareDetailId),
  22196. (s = e[r].id)),
  22197. r++,
  22198. !n);
  22199. );
  22200. if (n) break;
  22201. }
  22202. if (n)
  22203. return (
  22204. (m.chapterLoading = !0),
  22205. (o.detailId = s),
  22206. (o.lessonCoursewareDetailId = i),
  22207. 'preview' !== o.type && (await y()),
  22208. await h(),
  22209. (m.activeIndex = 0),
  22210. (m.chapterOpen = !1),
  22211. void (m.chapterLoading = !1)
  22212. );
  22213. }
  22214. },
  22215. T = () => {
  22216. const t = o.itemList[m.activeIndex];
  22217. 'VIDEO' != t?.type || t.videoEle?.paused || _(),
  22218. 'SONG' != t?.type || t.audioEle?.paused || _();
  22219. };
  22220. document.body.addEventListener('keyup', t => {
  22221. 'ArrowLeft' === t.code
  22222. ? (E(), C('up'))
  22223. : 'ArrowRight' === t.code && (E(), C('down'));
  22224. });
  22225. const E = (t = !0) => {
  22226. clearTimeout(l.timer),
  22227. (l.model = t),
  22228. Object.values(o.videoRefs).map(e =>
  22229. e?.toggleHideControl(t)
  22230. ),
  22231. Object.values(o.audioRefs).map(e =>
  22232. e?.toggleHideControl(t)
  22233. );
  22234. },
  22235. k = reactive({ type: '', penShow: !1, whiteboardShow: !1 }),
  22236. M = t => {
  22237. const e = o.itemList[m.activeIndex];
  22238. switch (
  22239. ('VIDEO' === e.type &&
  22240. e.videoEle &&
  22241. e.videoEle?.pause(),
  22242. 'SONG' === e.type && e.audioEle && e.audioEle?.stop(),
  22243. 'MUSIC' === e.type &&
  22244. e.iframeRef?.contentWindow?.postMessage(
  22245. { api: 'setPlayState' },
  22246. '*'
  22247. ),
  22248. clearTimeout(l.timer),
  22249. r.destroyAll(),
  22250. (l.model = !1),
  22251. Object.values(o.videoRefs).map(t =>
  22252. t?.toggleHideControl(!1)
  22253. ),
  22254. Object.values(o.audioRefs).map(t =>
  22255. t?.toggleHideControl(!1)
  22256. ),
  22257. (m.toolOpen = !1),
  22258. (k.type = t.type),
  22259. t.type)
  22260. ) {
  22261. case 'pen':
  22262. k.penShow = !0;
  22263. break;
  22264. case 'whiteboard':
  22265. k.whiteboardShow = !0;
  22266. }
  22267. },
  22268. D = () => {
  22269. (k.type = 'init'),
  22270. ((t = !0) => {
  22271. (l.model = t),
  22272. Object.values(o.videoRefs).map(e =>
  22273. e?.toggleHideControl(t)
  22274. ),
  22275. Object.values(o.audioRefs).map(e =>
  22276. e?.toggleHideControl(t)
  22277. );
  22278. })();
  22279. },
  22280. I = t => {
  22281. 'setTimeIcon' == t && (d.value = !0),
  22282. 'beatIcon' == t && (p.value = !0),
  22283. 'toneIcon' == t && (c.value = !0);
  22284. },
  22285. F = computed(() => {
  22286. if (m.activeIndex > 0) return !0;
  22287. let t = m.chapterDetails.findIndex(
  22288. t => t.id == o.lessonCoursewareDetailId
  22289. );
  22290. const e = m.chapterDetails[t]?.knowledgeList || [];
  22291. let r = e.findIndex(t => t.id == o.detailId);
  22292. if (t <= 0 && r <= 0) return !1;
  22293. let a = !1;
  22294. for (; r >= 0; )
  22295. r--, r >= 0 && e[r].containMaterial && (a = !0);
  22296. if (a) return !0;
  22297. if (t <= 0) return !1;
  22298. let i = !1;
  22299. for (; t >= 0; ) {
  22300. t--;
  22301. const e = m.chapterDetails[t]?.knowledgeList || [];
  22302. let r = e.length;
  22303. for (; r > 0; )
  22304. e[r - 1].containMaterial && (i = !0), r--;
  22305. if (i) return !0;
  22306. }
  22307. return !1;
  22308. }),
  22309. V = computed(() => {
  22310. if (m.activeIndex < o.itemList.length - 1) return !0;
  22311. let t = m.chapterDetails.findIndex(
  22312. t => t.id == o.lessonCoursewareDetailId
  22313. );
  22314. const e = m.chapterDetails[t]?.knowledgeList || [];
  22315. let r = e.findIndex(t => t.id == o.detailId);
  22316. if (t >= m.chapterDetails.length - 1 && r >= e.length - 1)
  22317. return !1;
  22318. let a = !1;
  22319. for (; r < e.length - 1; )
  22320. r++, r >= 0 && e[r].containMaterial && (a = !0);
  22321. if (a) return !0;
  22322. if (t >= m.chapterDetails.length - 1) return !1;
  22323. let i = !1;
  22324. for (; t < m.chapterDetails.length - 1; ) {
  22325. t++;
  22326. const e = m.chapterDetails[t]?.knowledgeList || [];
  22327. let r = 0;
  22328. for (; r <= e.length - 1; )
  22329. e[r].containMaterial && (i = !0), r++;
  22330. if (i) return !0;
  22331. }
  22332. return !1;
  22333. });
  22334. return () => {
  22335. let t;
  22336. return createVNode(
  22337. 'div',
  22338. {
  22339. id: 'playContent',
  22340. class: [styles$5.playContent, 'wrap']
  22341. },
  22342. [
  22343. createVNode(
  22344. 'div',
  22345. {
  22346. onClick: () => {
  22347. clearTimeout(l.timer),
  22348. (l.model = !l.model),
  22349. Object.values(o.videoRefs).map(t =>
  22350. t?.toggleHideControl(l.model)
  22351. ),
  22352. Object.values(o.audioRefs).map(t =>
  22353. t?.toggleHideControl(l.model)
  22354. );
  22355. }
  22356. },
  22357. [
  22358. createVNode(
  22359. 'div',
  22360. {
  22361. class: styles$5.coursewarePlay,
  22362. style: { width: n.width },
  22363. onClick: t => {
  22364. t.stopPropagation(), _();
  22365. }
  22366. },
  22367. [
  22368. m.chapterLoading
  22369. ? ''
  22370. : createVNode(
  22371. 'div',
  22372. { class: styles$5.wraps },
  22373. [
  22374. o.itemList.map((t, e) => {
  22375. const a =
  22376. Math.abs(m.activeIndex - e) < 2,
  22377. i = Math.abs(m.activeIndex - e) > 4;
  22378. return a
  22379. ? createVNode(
  22380. 'div',
  22381. {
  22382. key: 'index' + e,
  22383. class: [
  22384. styles$5.itemDiv,
  22385. m.activeIndex === e &&
  22386. styles$5.itemActive,
  22387. l.isAnimation &&
  22388. styles$5.acitveAnimation,
  22389. Math.abs(
  22390. m.activeIndex - e
  22391. ) < 2
  22392. ? styles$5.show
  22393. : styles$5.hide
  22394. ],
  22395. style:
  22396. e < m.activeIndex
  22397. ? A[w.value].prev
  22398. : e > m.activeIndex
  22399. ? A[w.value].next
  22400. : {},
  22401. onClick: e => {
  22402. e.stopPropagation(),
  22403. clearTimeout(l.timer),
  22404. Date.now() - l.nowTime <
  22405. 300
  22406. ? (t => {
  22407. if (
  22408. t &&
  22409. 'VIDEO' === t.type
  22410. ) {
  22411. const e =
  22412. t.videoEle;
  22413. e &&
  22414. (e.paused
  22415. ? (r.destroyAll(),
  22416. e.play())
  22417. : (r.warning(
  22418. '已暂停'
  22419. ),
  22420. e.pause()));
  22421. }
  22422. })(t)
  22423. : ((l.nowTime =
  22424. Date.now()),
  22425. (l.timer = setTimeout(
  22426. () => {
  22427. (l.model =
  22428. !l.model),
  22429. Object.values(
  22430. o.videoRefs
  22431. ).map(t =>
  22432. t?.toggleHideControl(
  22433. l.model
  22434. )
  22435. ),
  22436. Object.values(
  22437. o.audioRefs
  22438. ).map(t =>
  22439. t?.toggleHideControl(
  22440. l.model
  22441. )
  22442. ),
  22443. l.model && _();
  22444. },
  22445. 300
  22446. )));
  22447. }
  22448. },
  22449. [
  22450. 'VIDEO' === t.type
  22451. ? createVNode(
  22452. Fragment,
  22453. null,
  22454. [
  22455. createVNode(
  22456. VideoPlay,
  22457. {
  22458. ref: t =>
  22459. (o.videoRefs[
  22460. e
  22461. ] = t),
  22462. item: t,
  22463. isEmtry: i,
  22464. onLoadedmetadata:
  22465. e => {
  22466. (t.videoEle =
  22467. e),
  22468. (t.isprepare =
  22469. !0);
  22470. },
  22471. onTogglePlay:
  22472. e => {
  22473. (t.autoPlay =
  22474. !1),
  22475. e || m.open
  22476. ? clearTimeout(
  22477. l.timer
  22478. )
  22479. : _();
  22480. },
  22481. onReset: () => {
  22482. t.videoEle
  22483. ?.paused ||
  22484. _();
  22485. },
  22486. onError: () => {
  22487. console.log(
  22488. 'video error'
  22489. ),
  22490. (t.error =
  22491. !0);
  22492. }
  22493. },
  22494. null
  22495. ),
  22496. createVNode(
  22497. Transition,
  22498. {
  22499. name: 'van-fade'
  22500. },
  22501. {
  22502. default: () => [
  22503. !t.isprepare &&
  22504. createVNode(
  22505. 'div',
  22506. {
  22507. class:
  22508. styles$5.loadWrap
  22509. },
  22510. [
  22511. createVNode(
  22512. Vue3Lottie,
  22513. {
  22514. animationData:
  22515. playLoadData
  22516. },
  22517. null
  22518. )
  22519. ]
  22520. )
  22521. ]
  22522. }
  22523. )
  22524. ]
  22525. )
  22526. : 'IMG' === t.type
  22527. ? createVNode(
  22528. 'img',
  22529. { src: t.content },
  22530. null
  22531. )
  22532. : 'SONG' === t.type
  22533. ? createVNode(
  22534. AudioPay,
  22535. {
  22536. item: t,
  22537. ref: t =>
  22538. (o.audioRefs[e] =
  22539. t),
  22540. onLoadedmetadata:
  22541. e => {
  22542. (t.audioEle = e),
  22543. (t.isprepare =
  22544. !0);
  22545. },
  22546. onTogglePlay: e => {
  22547. (t.autoPlay = !1),
  22548. e || m.open
  22549. ? clearTimeout(
  22550. l.timer
  22551. )
  22552. : _();
  22553. },
  22554. onEnded: () => {
  22555. const t =
  22556. m.activeIndex + 1;
  22557. t <
  22558. o.itemList
  22559. .length && P(t);
  22560. },
  22561. onReset: () => {
  22562. t.audioEle
  22563. ?.paused || _();
  22564. }
  22565. },
  22566. null
  22567. )
  22568. : createVNode(
  22569. MusicScore,
  22570. {
  22571. activeModel: l.model,
  22572. activeStatus:
  22573. m.activeIndex === e,
  22574. 'data-vid': t.id,
  22575. music: t,
  22576. onSetIframe: e => {
  22577. t.iframeRef = e;
  22578. }
  22579. },
  22580. null
  22581. )
  22582. ]
  22583. )
  22584. : null;
  22585. })
  22586. ]
  22587. )
  22588. ]
  22589. )
  22590. ]
  22591. ),
  22592. createVNode(
  22593. 'div',
  22594. {
  22595. style: {
  22596. transform: l.model ? '' : 'translateY(-100%)'
  22597. },
  22598. class: styles$5.headerContainer
  22599. },
  22600. [
  22601. createVNode('div', { class: styles$5.menu }, [
  22602. v.value
  22603. ]),
  22604. '22:43'
  22605. ]
  22606. ),
  22607. createVNode(
  22608. 'div',
  22609. {
  22610. onClick: t => {
  22611. t.stopPropagation();
  22612. },
  22613. class: [
  22614. styles$5.switchDisplaySection,
  22615. l.model ? '' : styles$5.sectionAnimate
  22616. ]
  22617. },
  22618. [
  22619. createVNode(
  22620. NSpace,
  22621. { class: styles$5.switchSpace },
  22622. {
  22623. default: () => [
  22624. createVNode(
  22625. 'div',
  22626. {
  22627. class: styles$5.btnItem,
  22628. onClick: async () => {
  22629. 'preview' === o.type
  22630. ? (b(),
  22631. (o.removeVisiable = !0),
  22632. (o.removeTitle = '结束预览'),
  22633. (o.removeContent =
  22634. '请确认是否结束预览?'))
  22635. : ((o.removeVisiable = !0),
  22636. (o.removeTitle = '结束课程'),
  22637. (o.removeContent =
  22638. '请确认是否结束课程?'));
  22639. }
  22640. },
  22641. [
  22642. createVNode(
  22643. 'img',
  22644. { src: iconOverClass },
  22645. null
  22646. ),
  22647. createVNode('p', null, [
  22648. 'preview' !== o.type
  22649. ? '结束课程'
  22650. : '结束预览'
  22651. ])
  22652. ]
  22653. ),
  22654. 'preview' !== o.type &&
  22655. createVNode(
  22656. 'div',
  22657. {
  22658. class: [
  22659. styles$5.btnItem,
  22660. o.preStudentNum <= 0
  22661. ? styles$5.btnsDisabled
  22662. : ''
  22663. ],
  22664. onClick: async () => {
  22665. if (o.preStudentNum <= 0) return;
  22666. const t = await lessonPreTrainingPage(
  22667. {
  22668. coursewareKnowledgeDetailId:
  22669. o.detailId,
  22670. subjectId: o.subjectId,
  22671. page: 1,
  22672. rows: 99
  22673. }
  22674. );
  22675. t.data.rows &&
  22676. t.data.rows.length &&
  22677. (o.modalAttendMessage =
  22678. '本节课已设置课后作业,是否布置?'),
  22679. (o.modelAttendStatus = !0);
  22680. }
  22681. },
  22682. [
  22683. createVNode(
  22684. 'img',
  22685. { src: iconWork },
  22686. null
  22687. ),
  22688. createVNode('p', null, [
  22689. createTextVNode('布置作业')
  22690. ])
  22691. ]
  22692. ),
  22693. createVNode(
  22694. 'div',
  22695. {
  22696. class: styles$5.btnItem,
  22697. onClick: () =>
  22698. M({
  22699. type: 'pen',
  22700. icon: iconNote,
  22701. name: '批注'
  22702. })
  22703. },
  22704. [
  22705. createVNode(
  22706. 'img',
  22707. { src: iconNote },
  22708. null
  22709. ),
  22710. createVNode('p', null, [
  22711. createTextVNode('批注')
  22712. ])
  22713. ]
  22714. ),
  22715. createVNode(
  22716. 'div',
  22717. {
  22718. class: styles$5.btnItem,
  22719. onClick: () =>
  22720. M({
  22721. type: 'whiteboard',
  22722. icon: iconWhite,
  22723. name: '白板'
  22724. })
  22725. },
  22726. [
  22727. createVNode(
  22728. 'img',
  22729. { src: iconWhite },
  22730. null
  22731. ),
  22732. createVNode('p', null, [
  22733. createTextVNode('白板')
  22734. ])
  22735. ]
  22736. ),
  22737. createVNode(
  22738. 'div',
  22739. {
  22740. class: styles$5.btnItem,
  22741. onClick: () => I('beatIcon')
  22742. },
  22743. [
  22744. createVNode(
  22745. 'img',
  22746. { src: iconToneIcon },
  22747. null
  22748. ),
  22749. createVNode('p', null, [
  22750. createTextVNode('节拍器')
  22751. ])
  22752. ]
  22753. ),
  22754. createVNode(
  22755. 'div',
  22756. {
  22757. class: styles$5.btnItem,
  22758. onClick: () => I('toneIcon')
  22759. },
  22760. [
  22761. createVNode(
  22762. 'img',
  22763. { src: iconSetTime },
  22764. null
  22765. ),
  22766. createVNode('p', null, [
  22767. createTextVNode('调音器')
  22768. ])
  22769. ]
  22770. ),
  22771. createVNode(
  22772. 'div',
  22773. {
  22774. class: styles$5.btnItem,
  22775. onClick: () => I('setTimeIcon')
  22776. },
  22777. [
  22778. createVNode(
  22779. 'img',
  22780. { src: iconBeatIcon },
  22781. null
  22782. ),
  22783. createVNode('p', null, [
  22784. createTextVNode('计时器')
  22785. ])
  22786. ]
  22787. )
  22788. ]
  22789. }
  22790. ),
  22791. createVNode(
  22792. NSpace,
  22793. { class: styles$5.switchSpace },
  22794. {
  22795. default: () => [
  22796. createVNode(
  22797. 'div',
  22798. {
  22799. class: styles$5.btnItem,
  22800. onClick: () => (m.chapterOpen = !0)
  22801. },
  22802. [
  22803. createVNode(
  22804. 'img',
  22805. { src: iconChange },
  22806. null
  22807. ),
  22808. createVNode('p', null, [
  22809. createTextVNode('切换章节')
  22810. ])
  22811. ]
  22812. ),
  22813. createVNode(
  22814. 'div',
  22815. {
  22816. class: styles$5.btnItem,
  22817. onClick: () => (m.open = !0)
  22818. },
  22819. [
  22820. createVNode(
  22821. 'img',
  22822. { src: iconMenu },
  22823. null
  22824. ),
  22825. createVNode('p', null, [
  22826. createTextVNode('资源列表')
  22827. ])
  22828. ]
  22829. ),
  22830. createVNode(
  22831. 'div',
  22832. {
  22833. class: [
  22834. styles$5.btnItem,
  22835. F.value ? '' : styles$5.btnsDisabled
  22836. ],
  22837. onClick: () => {
  22838. F.value && C('up');
  22839. }
  22840. },
  22841. [
  22842. createVNode('img', { src: iconUp }, null),
  22843. createVNode('p', null, [
  22844. createTextVNode('上一个')
  22845. ])
  22846. ]
  22847. ),
  22848. createVNode(
  22849. 'div',
  22850. {
  22851. class: [
  22852. styles$5.btnItem,
  22853. V.value ? '' : styles$5.btnsDisabled
  22854. ],
  22855. onClick: () => {
  22856. V.value && C('down');
  22857. }
  22858. },
  22859. [
  22860. createVNode(
  22861. 'img',
  22862. { src: iconDown },
  22863. null
  22864. ),
  22865. createVNode('p', null, [
  22866. createTextVNode('下一个')
  22867. ])
  22868. ]
  22869. )
  22870. ]
  22871. }
  22872. )
  22873. ]
  22874. ),
  22875. createVNode(
  22876. NDrawer,
  22877. {
  22878. show: m.open,
  22879. 'onUpdate:show': t => (m.open = t),
  22880. class: styles$5.drawerContainer,
  22881. onAfterLeave: T,
  22882. showMask: !1
  22883. },
  22884. {
  22885. default: () => [
  22886. createVNode(
  22887. NDrawerContent,
  22888. { title: '资源列表', closable: !0 },
  22889. _isSlot(
  22890. (t = o.knowledgePointList.map((t, e) =>
  22891. createVNode(
  22892. 'div',
  22893. { class: styles$5.cardContainer },
  22894. [
  22895. createVNode(
  22896. CardType,
  22897. {
  22898. item: t,
  22899. isActive: m.activeIndex === e,
  22900. isCollect: !1,
  22901. isShowCollect: !1,
  22902. onClick: t => {
  22903. (m.open = !1),
  22904. (t => {
  22905. const e =
  22906. o.itemList.findIndex(
  22907. e => e.id == t
  22908. );
  22909. e > -1 && P(e);
  22910. })(t.id);
  22911. }
  22912. },
  22913. null
  22914. )
  22915. ]
  22916. )
  22917. ))
  22918. )
  22919. ? t
  22920. : { default: () => [t] }
  22921. )
  22922. ]
  22923. }
  22924. ),
  22925. createVNode(
  22926. NDrawer,
  22927. {
  22928. show: m.chapterOpen,
  22929. 'onUpdate:show': t => (m.chapterOpen = t),
  22930. class: styles$5.drawerContainer,
  22931. onAfterLeave: T,
  22932. showMask: !1,
  22933. displayDirective: 'show'
  22934. },
  22935. {
  22936. default: () => [
  22937. createVNode(
  22938. NDrawerContent,
  22939. { title: '切换章节', closable: !0 },
  22940. {
  22941. default: () => [
  22942. createVNode(
  22943. Chapter,
  22944. {
  22945. treeList: m.chapterDetails,
  22946. itemActive: o.detailId,
  22947. onHandleSelect: async t => {
  22948. m.chapterLoading = !0;
  22949. try {
  22950. o.detailId = t.itemActive;
  22951. const e = u(
  22952. t.itemActive,
  22953. m.chapterDetails
  22954. );
  22955. (o.lessonCoursewareDetailId = e[0]),
  22956. 'preview' !== o.type &&
  22957. (await y()),
  22958. await h(),
  22959. (m.activeIndex = 0),
  22960. (m.chapterOpen = !1);
  22961. } catch {}
  22962. m.chapterLoading = !1;
  22963. }
  22964. },
  22965. null
  22966. )
  22967. ]
  22968. }
  22969. )
  22970. ]
  22971. }
  22972. ),
  22973. k.penShow &&
  22974. createVNode(
  22975. Pen,
  22976. {
  22977. show: 'pen' === k.type,
  22978. type: k.type,
  22979. close: () => D()
  22980. },
  22981. null
  22982. ),
  22983. k.whiteboardShow &&
  22984. createVNode(
  22985. Pen,
  22986. {
  22987. show: 'whiteboard' === k.type,
  22988. type: k.type,
  22989. close: () => D()
  22990. },
  22991. null
  22992. ),
  22993. createVNode(
  22994. NModal,
  22995. {
  22996. transformOrigin: 'center',
  22997. show: o.modelAttendStatus,
  22998. 'onUpdate:show': t => (o.modelAttendStatus = t),
  22999. preset: 'card',
  23000. title: '课后作业',
  23001. class: ['modalTitle', styles$5.removeVisiable]
  23002. },
  23003. {
  23004. default: () => [
  23005. createVNode(
  23006. 'div',
  23007. { class: styles$5.studentRemove },
  23008. [
  23009. createVNode('p', null, [
  23010. o.modalAttendMessage
  23011. ]),
  23012. createVNode(
  23013. NSpace,
  23014. { class: styles$5.btnGroupModal },
  23015. {
  23016. default: () => [
  23017. createVNode(
  23018. NButton,
  23019. {
  23020. type: 'default',
  23021. round: !0,
  23022. onClick: () => {
  23023. (o.modelAttendStatus = !1),
  23024. b(),
  23025. (o.modelAttendStatus = !1);
  23026. }
  23027. },
  23028. {
  23029. default: () => [
  23030. createTextVNode('暂不布置')
  23031. ]
  23032. }
  23033. ),
  23034. createVNode(
  23035. NButton,
  23036. {
  23037. type: 'primary',
  23038. round: !0,
  23039. onClick: () => {
  23040. (o.modelTrainStatus = !0),
  23041. (o.modelAttendStatus = !1);
  23042. }
  23043. },
  23044. {
  23045. default: () => [
  23046. createTextVNode('布置')
  23047. ]
  23048. }
  23049. )
  23050. ]
  23051. }
  23052. )
  23053. ]
  23054. )
  23055. ]
  23056. }
  23057. ),
  23058. createVNode(
  23059. NModal,
  23060. {
  23061. transformOrigin: 'center',
  23062. show: o.modelTrainStatus,
  23063. 'onUpdate:show': t => (o.modelTrainStatus = t),
  23064. preset: 'card',
  23065. class: [
  23066. styles$5.attendClassModal,
  23067. styles$5.trainClassModal
  23068. ],
  23069. title: '作业设置'
  23070. },
  23071. {
  23072. default: () => [
  23073. createVNode(
  23074. TrainSettings,
  23075. {
  23076. detailId: o.detailId,
  23077. subjectId: o.subjectId,
  23078. classGroupId: o.classGroupId,
  23079. onClose: () => (o.modelTrainStatus = !1),
  23080. onConfirm: () => {
  23081. o.modelTrainStatus = !1;
  23082. }
  23083. },
  23084. null
  23085. )
  23086. ]
  23087. }
  23088. ),
  23089. createVNode(
  23090. NModal,
  23091. {
  23092. transformOrigin: 'center',
  23093. class: ['modalTitle background'],
  23094. title: '节拍器',
  23095. preset: 'card',
  23096. show: p.value,
  23097. 'onUpdate:show': t => (p.value = t),
  23098. style: { width: '687px' }
  23099. },
  23100. {
  23101. default: () => [
  23102. createVNode('div', { class: styles$5.modeWrap }, [
  23103. createVNode(
  23104. 'iframe',
  23105. {
  23106. src: `${vaildUrl()}/metronome/?id=${new Date().getTime()}`,
  23107. scrolling: 'no',
  23108. frameborder: '0',
  23109. width: '100%',
  23110. height: '650px'
  23111. },
  23112. null
  23113. )
  23114. ])
  23115. ]
  23116. }
  23117. ),
  23118. createVNode(
  23119. NModal,
  23120. {
  23121. transformOrigin: 'center',
  23122. class: ['background'],
  23123. show: c.value,
  23124. 'onUpdate:show': t => (c.value = t)
  23125. },
  23126. {
  23127. default: () => [
  23128. createVNode('div', null, [
  23129. createVNode(
  23130. PlaceholderTone,
  23131. {
  23132. onClose: () => {
  23133. c.value = !1;
  23134. }
  23135. },
  23136. null
  23137. )
  23138. ])
  23139. ]
  23140. }
  23141. ),
  23142. createVNode(
  23143. NModal,
  23144. {
  23145. transformOrigin: 'center',
  23146. show: d.value,
  23147. 'onUpdate:show': t => (d.value = t),
  23148. class: ['modalTitle background'],
  23149. title: '计时器',
  23150. preset: 'card',
  23151. style: { width: px2vw(772) }
  23152. },
  23153. {
  23154. default: () => [
  23155. createVNode('div', null, [
  23156. createVNode(TimerMeter, null, null)
  23157. ])
  23158. ]
  23159. }
  23160. ),
  23161. createVNode(
  23162. NModal,
  23163. {
  23164. transformOrigin: 'center',
  23165. show: o.removeVisiable,
  23166. 'onUpdate:show': t => (o.removeVisiable = t),
  23167. preset: 'card',
  23168. class: ['modalTitle', styles$5.removeVisiable],
  23169. title: o.removeTitle
  23170. },
  23171. {
  23172. default: () => [
  23173. createVNode(
  23174. 'div',
  23175. { class: styles$5.studentRemove },
  23176. [
  23177. createVNode('p', null, [o.removeContent]),
  23178. createVNode(
  23179. NSpace,
  23180. {
  23181. class: styles$5.btnGroupModal,
  23182. justify: 'center'
  23183. },
  23184. {
  23185. default: () => [
  23186. createVNode(
  23187. NButton,
  23188. {
  23189. round: !0,
  23190. onClick: () =>
  23191. (o.removeVisiable = !1)
  23192. },
  23193. {
  23194. default: () => [
  23195. createTextVNode('取消')
  23196. ]
  23197. }
  23198. ),
  23199. createVNode(
  23200. NButton,
  23201. {
  23202. round: !0,
  23203. type: 'primary',
  23204. onClick: () => {
  23205. state.application
  23206. ? (document.exitFullscreen
  23207. ? document.exitFullscreen()
  23208. : document.mozCancelFullScreen
  23209. ? document.mozCancelFullScreen()
  23210. : document.webkitExitFullscreen &&
  23211. document.webkitExitFullscreen(),
  23212. e('close'))
  23213. : window.close();
  23214. }
  23215. },
  23216. {
  23217. default: () => [
  23218. createTextVNode('确定')
  23219. ]
  23220. }
  23221. )
  23222. ]
  23223. }
  23224. )
  23225. ]
  23226. )
  23227. ]
  23228. }
  23229. )
  23230. ]
  23231. );
  23232. };
  23233. }
  23234. })
  23235. ),
  23236. index = Object.freeze(
  23237. Object.defineProperty(
  23238. { __proto__: null, default: AttendClass },
  23239. Symbol.toStringTag,
  23240. { value: 'Module' }
  23241. )
  23242. );
  23243. exports('i', index);
  23244. }
  23245. };
  23246. }
  23247. );
  23248. })();