vue.js 3.0MB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627266282662926630266312663226633266342663526636266372663826639266402664126642266432664426645266462664726648266492665026651266522665326654266552665626657266582665926660266612666226663266642666526666266672666826669266702667126672266732667426675266762667726678266792668026681266822668326684266852668626687266882668926690266912669226693266942669526696266972669826699267002670126702267032670426705267062670726708267092671026711267122671326714267152671626717267182671926720267212672226723267242672526726267272672826729267302673126732267332673426735267362673726738267392674026741267422674326744267452674626747267482674926750267512675226753267542675526756267572675826759267602676126762267632676426765267662676726768267692677026771267722677326774267752677626777267782677926780267812678226783267842678526786267872678826789267902679126792267932679426795267962679726798267992680026801268022680326804268052680626807268082680926810268112681226813268142681526816268172681826819268202682126822268232682426825268262682726828268292683026831268322683326834268352683626837268382683926840268412684226843268442684526846268472684826849268502685126852268532685426855268562685726858268592686026861268622686326864268652686626867268682686926870268712687226873268742687526876268772687826879268802688126882268832688426885268862688726888268892689026891268922689326894268952689626897268982689926900269012690226903269042690526906269072690826909269102691126912269132691426915269162691726918269192692026921269222692326924269252692626927269282692926930269312693226933269342693526936269372693826939269402694126942269432694426945269462694726948269492695026951269522695326954269552695626957269582695926960269612696226963269642696526966269672696826969269702697126972269732697426975269762697726978269792698026981269822698326984269852698626987269882698926990269912699226993269942699526996269972699826999270002700127002270032700427005270062700727008270092701027011270122701327014270152701627017270182701927020270212702227023270242702527026270272702827029270302703127032270332703427035270362703727038270392704027041270422704327044270452704627047270482704927050270512705227053270542705527056270572705827059270602706127062270632706427065270662706727068270692707027071270722707327074270752707627077270782707927080270812708227083270842708527086270872708827089270902709127092270932709427095270962709727098270992710027101271022710327104271052710627107271082710927110271112711227113271142711527116271172711827119271202712127122271232712427125271262712727128271292713027131271322713327134271352713627137271382713927140271412714227143271442714527146271472714827149271502715127152271532715427155271562715727158271592716027161271622716327164271652716627167271682716927170271712717227173271742717527176271772717827179271802718127182271832718427185271862718727188271892719027191271922719327194271952719627197271982719927200272012720227203272042720527206272072720827209272102721127212272132721427215272162721727218272192722027221272222722327224272252722627227272282722927230272312723227233272342723527236272372723827239272402724127242272432724427245272462724727248272492725027251272522725327254272552725627257272582725927260272612726227263272642726527266272672726827269272702727127272272732727427275272762727727278272792728027281272822728327284272852728627287272882728927290272912729227293272942729527296272972729827299273002730127302273032730427305273062730727308273092731027311273122731327314273152731627317273182731927320273212732227323273242732527326273272732827329273302733127332273332733427335273362733727338273392734027341273422734327344273452734627347273482734927350273512735227353273542735527356273572735827359273602736127362273632736427365273662736727368273692737027371273722737327374273752737627377273782737927380273812738227383273842738527386273872738827389273902739127392273932739427395273962739727398273992740027401274022740327404274052740627407274082740927410274112741227413274142741527416274172741827419274202742127422274232742427425274262742727428274292743027431274322743327434274352743627437274382743927440274412744227443274442744527446274472744827449274502745127452274532745427455274562745727458274592746027461274622746327464274652746627467274682746927470274712747227473274742747527476274772747827479274802748127482274832748427485274862748727488274892749027491274922749327494274952749627497274982749927500275012750227503275042750527506275072750827509275102751127512275132751427515275162751727518275192752027521275222752327524275252752627527275282752927530275312753227533275342753527536275372753827539275402754127542275432754427545275462754727548275492755027551275522755327554275552755627557275582755927560275612756227563275642756527566275672756827569275702757127572275732757427575275762757727578275792758027581275822758327584275852758627587275882758927590275912759227593275942759527596275972759827599276002760127602276032760427605276062760727608276092761027611276122761327614276152761627617276182761927620276212762227623276242762527626276272762827629276302763127632276332763427635276362763727638276392764027641276422764327644276452764627647276482764927650276512765227653276542765527656276572765827659276602766127662276632766427665276662766727668276692767027671276722767327674276752767627677276782767927680276812768227683276842768527686276872768827689276902769127692276932769427695276962769727698276992770027701277022770327704277052770627707277082770927710277112771227713277142771527716277172771827719277202772127722277232772427725277262772727728277292773027731277322773327734277352773627737277382773927740277412774227743277442774527746277472774827749277502775127752277532775427755277562775727758277592776027761277622776327764277652776627767277682776927770277712777227773277742777527776277772777827779277802778127782277832778427785277862778727788277892779027791277922779327794277952779627797277982779927800278012780227803278042780527806278072780827809278102781127812278132781427815278162781727818278192782027821278222782327824278252782627827278282782927830278312783227833278342783527836278372783827839278402784127842278432784427845278462784727848278492785027851278522785327854278552785627857278582785927860278612786227863278642786527866278672786827869278702787127872278732787427875278762787727878278792788027881278822788327884278852788627887278882788927890278912789227893278942789527896278972789827899279002790127902279032790427905279062790727908279092791027911279122791327914279152791627917279182791927920279212792227923279242792527926279272792827929279302793127932279332793427935279362793727938279392794027941279422794327944279452794627947279482794927950279512795227953279542795527956279572795827959279602796127962279632796427965279662796727968279692797027971279722797327974279752797627977279782797927980279812798227983279842798527986279872798827989279902799127992279932799427995279962799727998279992800028001280022800328004280052800628007280082800928010280112801228013280142801528016280172801828019280202802128022280232802428025280262802728028280292803028031280322803328034280352803628037280382803928040280412804228043280442804528046280472804828049280502805128052280532805428055280562805728058280592806028061280622806328064280652806628067280682806928070280712807228073280742807528076280772807828079280802808128082280832808428085280862808728088280892809028091280922809328094280952809628097280982809928100281012810228103281042810528106281072810828109281102811128112281132811428115281162811728118281192812028121281222812328124281252812628127281282812928130281312813228133281342813528136281372813828139281402814128142281432814428145281462814728148281492815028151281522815328154281552815628157281582815928160281612816228163281642816528166281672816828169281702817128172281732817428175281762817728178281792818028181281822818328184281852818628187281882818928190281912819228193281942819528196281972819828199282002820128202282032820428205282062820728208282092821028211282122821328214282152821628217282182821928220282212822228223282242822528226282272822828229282302823128232282332823428235282362823728238282392824028241282422824328244282452824628247282482824928250282512825228253282542825528256282572825828259282602826128262282632826428265282662826728268282692827028271282722827328274282752827628277282782827928280282812828228283282842828528286282872828828289282902829128292282932829428295282962829728298282992830028301283022830328304283052830628307283082830928310283112831228313283142831528316283172831828319283202832128322283232832428325283262832728328283292833028331283322833328334283352833628337283382833928340283412834228343283442834528346283472834828349283502835128352283532835428355283562835728358283592836028361283622836328364283652836628367283682836928370283712837228373283742837528376283772837828379283802838128382283832838428385283862838728388283892839028391283922839328394283952839628397283982839928400284012840228403284042840528406284072840828409284102841128412284132841428415284162841728418284192842028421284222842328424284252842628427284282842928430284312843228433284342843528436284372843828439284402844128442284432844428445284462844728448284492845028451284522845328454284552845628457284582845928460284612846228463284642846528466284672846828469284702847128472284732847428475284762847728478284792848028481284822848328484284852848628487284882848928490284912849228493284942849528496284972849828499285002850128502285032850428505285062850728508285092851028511285122851328514285152851628517285182851928520285212852228523285242852528526285272852828529285302853128532285332853428535285362853728538285392854028541285422854328544285452854628547285482854928550285512855228553285542855528556285572855828559285602856128562285632856428565285662856728568285692857028571285722857328574285752857628577285782857928580285812858228583285842858528586285872858828589285902859128592285932859428595285962859728598285992860028601286022860328604286052860628607286082860928610286112861228613286142861528616286172861828619286202862128622286232862428625286262862728628286292863028631286322863328634286352863628637286382863928640286412864228643286442864528646286472864828649286502865128652286532865428655286562865728658286592866028661286622866328664286652866628667286682866928670286712867228673286742867528676286772867828679286802868128682286832868428685286862868728688286892869028691286922869328694286952869628697286982869928700287012870228703287042870528706287072870828709287102871128712287132871428715287162871728718287192872028721287222872328724287252872628727287282872928730287312873228733287342873528736287372873828739287402874128742287432874428745287462874728748287492875028751287522875328754287552875628757287582875928760287612876228763287642876528766287672876828769287702877128772287732877428775287762877728778287792878028781287822878328784287852878628787287882878928790287912879228793287942879528796287972879828799288002880128802288032880428805288062880728808288092881028811288122881328814288152881628817288182881928820288212882228823288242882528826288272882828829288302883128832288332883428835288362883728838288392884028841288422884328844288452884628847288482884928850288512885228853288542885528856288572885828859288602886128862288632886428865288662886728868288692887028871288722887328874288752887628877288782887928880288812888228883288842888528886288872888828889288902889128892288932889428895288962889728898288992890028901289022890328904289052890628907289082890928910289112891228913289142891528916289172891828919289202892128922289232892428925289262892728928289292893028931289322893328934289352893628937289382893928940289412894228943289442894528946289472894828949289502895128952289532895428955289562895728958289592896028961289622896328964289652896628967289682896928970289712897228973289742897528976289772897828979289802898128982289832898428985289862898728988289892899028991289922899328994289952899628997289982899929000290012900229003290042900529006290072900829009290102901129012290132901429015290162901729018290192902029021290222902329024290252902629027290282902929030290312903229033290342903529036290372903829039290402904129042290432904429045290462904729048290492905029051290522905329054290552905629057290582905929060290612906229063290642906529066290672906829069290702907129072290732907429075290762907729078290792908029081290822908329084290852908629087290882908929090290912909229093290942909529096290972909829099291002910129102291032910429105291062910729108291092911029111291122911329114291152911629117291182911929120291212912229123291242912529126291272912829129291302913129132291332913429135291362913729138291392914029141291422914329144291452914629147291482914929150291512915229153291542915529156291572915829159291602916129162291632916429165291662916729168291692917029171291722917329174291752917629177291782917929180291812918229183291842918529186291872918829189291902919129192291932919429195291962919729198291992920029201292022920329204292052920629207292082920929210292112921229213292142921529216292172921829219292202922129222292232922429225292262922729228292292923029231292322923329234292352923629237292382923929240292412924229243292442924529246292472924829249292502925129252292532925429255292562925729258292592926029261292622926329264292652926629267292682926929270292712927229273292742927529276292772927829279292802928129282292832928429285292862928729288292892929029291292922929329294292952929629297292982929929300293012930229303293042930529306293072930829309293102931129312293132931429315293162931729318293192932029321293222932329324293252932629327293282932929330293312933229333293342933529336293372933829339293402934129342293432934429345293462934729348293492935029351293522935329354293552935629357293582935929360293612936229363293642936529366293672936829369293702937129372293732937429375293762937729378293792938029381293822938329384293852938629387293882938929390293912939229393293942939529396293972939829399294002940129402294032940429405294062940729408294092941029411294122941329414294152941629417294182941929420294212942229423294242942529426294272942829429294302943129432294332943429435294362943729438294392944029441294422944329444294452944629447294482944929450294512945229453294542945529456294572945829459294602946129462294632946429465294662946729468294692947029471294722947329474294752947629477294782947929480294812948229483294842948529486294872948829489294902949129492294932949429495294962949729498294992950029501295022950329504295052950629507295082950929510295112951229513295142951529516295172951829519295202952129522295232952429525295262952729528295292953029531295322953329534295352953629537295382953929540295412954229543295442954529546295472954829549295502955129552295532955429555295562955729558295592956029561295622956329564295652956629567295682956929570295712957229573295742957529576295772957829579295802958129582295832958429585295862958729588295892959029591295922959329594295952959629597295982959929600296012960229603296042960529606296072960829609296102961129612296132961429615296162961729618296192962029621296222962329624296252962629627296282962929630296312963229633296342963529636296372963829639296402964129642296432964429645296462964729648296492965029651296522965329654296552965629657296582965929660296612966229663296642966529666296672966829669296702967129672296732967429675296762967729678296792968029681296822968329684296852968629687296882968929690296912969229693296942969529696296972969829699297002970129702297032970429705297062970729708297092971029711297122971329714297152971629717297182971929720297212972229723297242972529726297272972829729297302973129732297332973429735297362973729738297392974029741297422974329744297452974629747297482974929750297512975229753297542975529756297572975829759297602976129762297632976429765297662976729768297692977029771297722977329774297752977629777297782977929780297812978229783297842978529786297872978829789297902979129792297932979429795297962979729798297992980029801298022980329804298052980629807298082980929810298112981229813298142981529816298172981829819298202982129822298232982429825298262982729828298292983029831298322983329834298352983629837298382983929840298412984229843298442984529846298472984829849298502985129852298532985429855298562985729858298592986029861298622986329864298652986629867298682986929870298712987229873298742987529876298772987829879298802988129882298832988429885298862988729888298892989029891298922989329894298952989629897298982989929900299012990229903299042990529906299072990829909299102991129912299132991429915299162991729918299192992029921299222992329924299252992629927299282992929930299312993229933299342993529936299372993829939299402994129942299432994429945299462994729948299492995029951299522995329954299552995629957299582995929960299612996229963299642996529966299672996829969299702997129972299732997429975299762997729978299792998029981299822998329984299852998629987299882998929990299912999229993299942999529996299972999829999300003000130002300033000430005300063000730008300093001030011300123001330014300153001630017300183001930020300213002230023300243002530026300273002830029300303003130032300333003430035300363003730038300393004030041300423004330044300453004630047300483004930050300513005230053300543005530056300573005830059300603006130062300633006430065300663006730068300693007030071300723007330074300753007630077300783007930080300813008230083300843008530086300873008830089300903009130092300933009430095300963009730098300993010030101301023010330104301053010630107301083010930110301113011230113301143011530116301173011830119301203012130122301233012430125301263012730128301293013030131301323013330134301353013630137301383013930140301413014230143301443014530146301473014830149301503015130152301533015430155301563015730158301593016030161301623016330164301653016630167301683016930170301713017230173301743017530176301773017830179301803018130182301833018430185301863018730188301893019030191301923019330194301953019630197301983019930200302013020230203302043020530206302073020830209302103021130212302133021430215302163021730218302193022030221302223022330224302253022630227302283022930230302313023230233302343023530236302373023830239302403024130242302433024430245302463024730248302493025030251302523025330254302553025630257302583025930260302613026230263302643026530266302673026830269302703027130272302733027430275302763027730278302793028030281302823028330284302853028630287302883028930290302913029230293302943029530296302973029830299303003030130302303033030430305303063030730308303093031030311303123031330314303153031630317303183031930320303213032230323303243032530326303273032830329303303033130332303333033430335303363033730338303393034030341303423034330344303453034630347303483034930350303513035230353303543035530356303573035830359303603036130362303633036430365303663036730368303693037030371303723037330374303753037630377303783037930380303813038230383303843038530386303873038830389303903039130392303933039430395303963039730398303993040030401304023040330404304053040630407304083040930410304113041230413304143041530416304173041830419304203042130422304233042430425304263042730428304293043030431304323043330434304353043630437304383043930440304413044230443304443044530446304473044830449304503045130452304533045430455304563045730458304593046030461304623046330464304653046630467304683046930470304713047230473304743047530476304773047830479304803048130482304833048430485304863048730488304893049030491304923049330494304953049630497304983049930500305013050230503305043050530506305073050830509305103051130512305133051430515305163051730518305193052030521305223052330524305253052630527305283052930530305313053230533305343053530536305373053830539305403054130542305433054430545305463054730548305493055030551305523055330554305553055630557305583055930560305613056230563305643056530566305673056830569305703057130572305733057430575305763057730578305793058030581305823058330584305853058630587305883058930590305913059230593305943059530596305973059830599306003060130602306033060430605306063060730608306093061030611306123061330614306153061630617306183061930620306213062230623306243062530626306273062830629306303063130632306333063430635306363063730638306393064030641306423064330644306453064630647306483064930650306513065230653306543065530656306573065830659306603066130662306633066430665306663066730668306693067030671306723067330674306753067630677306783067930680306813068230683306843068530686306873068830689306903069130692306933069430695306963069730698306993070030701307023070330704307053070630707307083070930710307113071230713307143071530716307173071830719307203072130722307233072430725307263072730728307293073030731307323073330734307353073630737307383073930740307413074230743307443074530746307473074830749307503075130752307533075430755307563075730758307593076030761307623076330764307653076630767307683076930770307713077230773307743077530776307773077830779307803078130782307833078430785307863078730788307893079030791307923079330794307953079630797307983079930800308013080230803308043080530806308073080830809308103081130812308133081430815308163081730818308193082030821308223082330824308253082630827308283082930830308313083230833308343083530836308373083830839308403084130842308433084430845308463084730848308493085030851308523085330854308553085630857308583085930860308613086230863308643086530866308673086830869308703087130872308733087430875308763087730878308793088030881308823088330884308853088630887308883088930890308913089230893308943089530896308973089830899309003090130902309033090430905309063090730908309093091030911309123091330914309153091630917309183091930920309213092230923309243092530926309273092830929309303093130932309333093430935309363093730938309393094030941309423094330944309453094630947309483094930950309513095230953309543095530956309573095830959309603096130962309633096430965309663096730968309693097030971309723097330974309753097630977309783097930980309813098230983309843098530986309873098830989309903099130992309933099430995309963099730998309993100031001310023100331004310053100631007310083100931010310113101231013310143101531016310173101831019310203102131022310233102431025310263102731028310293103031031310323103331034310353103631037310383103931040310413104231043310443104531046310473104831049310503105131052310533105431055310563105731058310593106031061310623106331064310653106631067310683106931070310713107231073310743107531076310773107831079310803108131082310833108431085310863108731088310893109031091310923109331094310953109631097310983109931100311013110231103311043110531106311073110831109311103111131112311133111431115311163111731118311193112031121311223112331124311253112631127311283112931130311313113231133311343113531136311373113831139311403114131142311433114431145311463114731148311493115031151311523115331154311553115631157311583115931160311613116231163311643116531166311673116831169311703117131172311733117431175311763117731178311793118031181311823118331184311853118631187311883118931190311913119231193311943119531196311973119831199312003120131202312033120431205312063120731208312093121031211312123121331214312153121631217312183121931220312213122231223312243122531226312273122831229312303123131232312333123431235312363123731238312393124031241312423124331244312453124631247312483124931250312513125231253312543125531256312573125831259312603126131262312633126431265312663126731268312693127031271312723127331274312753127631277312783127931280312813128231283312843128531286312873128831289312903129131292312933129431295312963129731298312993130031301313023130331304313053130631307313083130931310313113131231313313143131531316313173131831319313203132131322313233132431325313263132731328313293133031331313323133331334313353133631337313383133931340313413134231343313443134531346313473134831349313503135131352313533135431355313563135731358313593136031361313623136331364313653136631367313683136931370313713137231373313743137531376313773137831379313803138131382313833138431385313863138731388313893139031391313923139331394313953139631397313983139931400314013140231403314043140531406314073140831409314103141131412314133141431415314163141731418314193142031421314223142331424314253142631427314283142931430314313143231433314343143531436314373143831439314403144131442314433144431445314463144731448314493145031451314523145331454314553145631457314583145931460314613146231463314643146531466314673146831469314703147131472314733147431475314763147731478314793148031481314823148331484314853148631487314883148931490314913149231493314943149531496314973149831499315003150131502315033150431505315063150731508315093151031511315123151331514315153151631517315183151931520315213152231523315243152531526315273152831529315303153131532315333153431535315363153731538315393154031541315423154331544315453154631547315483154931550315513155231553315543155531556315573155831559315603156131562315633156431565315663156731568315693157031571315723157331574315753157631577315783157931580315813158231583315843158531586315873158831589315903159131592315933159431595315963159731598315993160031601316023160331604316053160631607316083160931610316113161231613316143161531616316173161831619316203162131622316233162431625316263162731628316293163031631316323163331634316353163631637316383163931640316413164231643316443164531646316473164831649316503165131652316533165431655316563165731658316593166031661316623166331664316653166631667316683166931670316713167231673316743167531676316773167831679316803168131682316833168431685316863168731688316893169031691316923169331694316953169631697316983169931700317013170231703317043170531706317073170831709317103171131712317133171431715317163171731718317193172031721317223172331724317253172631727317283172931730317313173231733317343173531736317373173831739317403174131742317433174431745317463174731748317493175031751317523175331754317553175631757317583175931760317613176231763317643176531766317673176831769317703177131772317733177431775317763177731778317793178031781317823178331784317853178631787317883178931790317913179231793317943179531796317973179831799318003180131802318033180431805318063180731808318093181031811318123181331814318153181631817318183181931820318213182231823318243182531826318273182831829318303183131832318333183431835318363183731838318393184031841318423184331844318453184631847318483184931850318513185231853318543185531856318573185831859318603186131862318633186431865318663186731868318693187031871318723187331874318753187631877318783187931880318813188231883318843188531886318873188831889318903189131892318933189431895318963189731898318993190031901319023190331904319053190631907319083190931910319113191231913319143191531916319173191831919319203192131922319233192431925319263192731928319293193031931319323193331934319353193631937319383193931940319413194231943319443194531946319473194831949319503195131952319533195431955319563195731958319593196031961319623196331964319653196631967319683196931970319713197231973319743197531976319773197831979319803198131982319833198431985319863198731988319893199031991319923199331994319953199631997319983199932000320013200232003320043200532006320073200832009320103201132012320133201432015320163201732018320193202032021320223202332024320253202632027320283202932030320313203232033320343203532036320373203832039320403204132042320433204432045320463204732048320493205032051320523205332054320553205632057320583205932060320613206232063320643206532066320673206832069320703207132072320733207432075320763207732078320793208032081320823208332084320853208632087320883208932090320913209232093320943209532096320973209832099321003210132102321033210432105321063210732108321093211032111321123211332114321153211632117321183211932120321213212232123321243212532126321273212832129321303213132132321333213432135321363213732138321393214032141321423214332144321453214632147321483214932150321513215232153321543215532156321573215832159321603216132162321633216432165321663216732168321693217032171321723217332174321753217632177321783217932180321813218232183321843218532186321873218832189321903219132192321933219432195321963219732198321993220032201322023220332204322053220632207322083220932210322113221232213322143221532216322173221832219322203222132222322233222432225322263222732228322293223032231322323223332234322353223632237322383223932240322413224232243322443224532246322473224832249322503225132252322533225432255322563225732258322593226032261322623226332264322653226632267322683226932270322713227232273322743227532276322773227832279322803228132282322833228432285322863228732288322893229032291322923229332294322953229632297322983229932300323013230232303323043230532306323073230832309323103231132312323133231432315323163231732318323193232032321323223232332324323253232632327323283232932330323313233232333323343233532336323373233832339323403234132342323433234432345323463234732348323493235032351323523235332354323553235632357323583235932360323613236232363323643236532366323673236832369323703237132372323733237432375323763237732378323793238032381323823238332384323853238632387323883238932390323913239232393323943239532396323973239832399324003240132402324033240432405324063240732408324093241032411324123241332414324153241632417324183241932420324213242232423324243242532426324273242832429324303243132432324333243432435324363243732438324393244032441324423244332444324453244632447324483244932450324513245232453324543245532456324573245832459324603246132462324633246432465324663246732468324693247032471324723247332474324753247632477324783247932480324813248232483324843248532486324873248832489324903249132492324933249432495324963249732498324993250032501325023250332504325053250632507325083250932510325113251232513325143251532516325173251832519325203252132522325233252432525325263252732528325293253032531325323253332534325353253632537325383253932540325413254232543325443254532546325473254832549325503255132552325533255432555325563255732558325593256032561325623256332564325653256632567325683256932570325713257232573325743257532576325773257832579325803258132582325833258432585325863258732588325893259032591325923259332594325953259632597325983259932600326013260232603326043260532606326073260832609326103261132612326133261432615326163261732618326193262032621326223262332624326253262632627326283262932630326313263232633326343263532636326373263832639326403264132642326433264432645326463264732648326493265032651326523265332654326553265632657326583265932660326613266232663326643266532666326673266832669326703267132672326733267432675326763267732678326793268032681326823268332684326853268632687326883268932690326913269232693326943269532696326973269832699327003270132702327033270432705327063270732708327093271032711327123271332714327153271632717327183271932720327213272232723327243272532726327273272832729327303273132732327333273432735327363273732738327393274032741327423274332744327453274632747327483274932750327513275232753327543275532756327573275832759327603276132762327633276432765327663276732768327693277032771327723277332774327753277632777327783277932780327813278232783327843278532786327873278832789327903279132792327933279432795327963279732798327993280032801328023280332804328053280632807328083280932810328113281232813328143281532816328173281832819328203282132822328233282432825328263282732828328293283032831328323283332834328353283632837328383283932840328413284232843328443284532846328473284832849328503285132852328533285432855328563285732858328593286032861328623286332864328653286632867328683286932870328713287232873328743287532876328773287832879328803288132882328833288432885328863288732888328893289032891328923289332894328953289632897328983289932900329013290232903329043290532906329073290832909329103291132912329133291432915329163291732918329193292032921329223292332924329253292632927329283292932930329313293232933329343293532936329373293832939329403294132942329433294432945329463294732948329493295032951329523295332954329553295632957329583295932960329613296232963329643296532966329673296832969329703297132972329733297432975329763297732978329793298032981329823298332984329853298632987329883298932990329913299232993329943299532996329973299832999330003300133002330033300433005330063300733008330093301033011330123301333014330153301633017330183301933020330213302233023330243302533026330273302833029330303303133032330333303433035330363303733038330393304033041330423304333044330453304633047330483304933050330513305233053330543305533056330573305833059330603306133062330633306433065330663306733068330693307033071330723307333074330753307633077330783307933080330813308233083330843308533086330873308833089330903309133092330933309433095330963309733098330993310033101331023310333104331053310633107331083310933110331113311233113331143311533116331173311833119331203312133122331233312433125331263312733128331293313033131331323313333134331353313633137331383313933140331413314233143331443314533146331473314833149331503315133152331533315433155331563315733158331593316033161331623316333164331653316633167331683316933170331713317233173331743317533176331773317833179331803318133182331833318433185331863318733188331893319033191331923319333194331953319633197331983319933200332013320233203332043320533206332073320833209332103321133212332133321433215332163321733218332193322033221332223322333224332253322633227332283322933230332313323233233332343323533236332373323833239332403324133242332433324433245332463324733248332493325033251332523325333254332553325633257332583325933260332613326233263332643326533266332673326833269332703327133272332733327433275332763327733278332793328033281332823328333284332853328633287332883328933290332913329233293332943329533296332973329833299333003330133302333033330433305333063330733308333093331033311333123331333314333153331633317333183331933320333213332233323333243332533326333273332833329333303333133332333333333433335333363333733338333393334033341333423334333344333453334633347333483334933350333513335233353333543335533356333573335833359333603336133362333633336433365333663336733368333693337033371333723337333374333753337633377333783337933380333813338233383333843338533386333873338833389333903339133392333933339433395333963339733398333993340033401334023340333404334053340633407334083340933410334113341233413334143341533416334173341833419334203342133422334233342433425334263342733428334293343033431334323343333434334353343633437334383343933440334413344233443334443344533446334473344833449334503345133452334533345433455334563345733458334593346033461334623346333464334653346633467334683346933470334713347233473334743347533476334773347833479334803348133482334833348433485334863348733488334893349033491334923349333494334953349633497334983349933500335013350233503335043350533506335073350833509335103351133512335133351433515335163351733518335193352033521335223352333524335253352633527335283352933530335313353233533335343353533536335373353833539335403354133542335433354433545335463354733548335493355033551335523355333554335553355633557335583355933560335613356233563335643356533566335673356833569335703357133572335733357433575335763357733578335793358033581335823358333584335853358633587335883358933590335913359233593335943359533596335973359833599336003360133602336033360433605336063360733608336093361033611336123361333614336153361633617336183361933620336213362233623336243362533626336273362833629336303363133632336333363433635336363363733638336393364033641336423364333644336453364633647336483364933650336513365233653336543365533656336573365833659336603366133662336633366433665336663366733668336693367033671336723367333674336753367633677336783367933680336813368233683336843368533686336873368833689336903369133692336933369433695336963369733698336993370033701337023370333704337053370633707337083370933710337113371233713337143371533716337173371833719337203372133722337233372433725337263372733728337293373033731337323373333734337353373633737337383373933740337413374233743337443374533746337473374833749337503375133752337533375433755337563375733758337593376033761337623376333764337653376633767337683376933770337713377233773337743377533776337773377833779337803378133782337833378433785337863378733788337893379033791337923379333794337953379633797337983379933800338013380233803338043380533806338073380833809338103381133812338133381433815338163381733818338193382033821338223382333824338253382633827338283382933830338313383233833338343383533836338373383833839338403384133842338433384433845338463384733848338493385033851338523385333854338553385633857338583385933860338613386233863338643386533866338673386833869338703387133872338733387433875338763387733878338793388033881338823388333884338853388633887338883388933890338913389233893338943389533896338973389833899339003390133902339033390433905339063390733908339093391033911339123391333914339153391633917339183391933920339213392233923339243392533926339273392833929339303393133932339333393433935339363393733938339393394033941339423394333944339453394633947339483394933950339513395233953339543395533956339573395833959339603396133962339633396433965339663396733968339693397033971339723397333974339753397633977339783397933980339813398233983339843398533986339873398833989339903399133992339933399433995339963399733998339993400034001340023400334004340053400634007340083400934010340113401234013340143401534016340173401834019340203402134022340233402434025340263402734028340293403034031340323403334034340353403634037340383403934040340413404234043340443404534046340473404834049340503405134052340533405434055340563405734058340593406034061340623406334064340653406634067340683406934070340713407234073340743407534076340773407834079340803408134082340833408434085340863408734088340893409034091340923409334094340953409634097340983409934100341013410234103341043410534106341073410834109341103411134112341133411434115341163411734118341193412034121341223412334124341253412634127341283412934130341313413234133341343413534136341373413834139341403414134142341433414434145341463414734148341493415034151341523415334154341553415634157341583415934160341613416234163341643416534166341673416834169341703417134172341733417434175341763417734178341793418034181341823418334184341853418634187341883418934190341913419234193341943419534196341973419834199342003420134202342033420434205342063420734208342093421034211342123421334214342153421634217342183421934220342213422234223342243422534226342273422834229342303423134232342333423434235342363423734238342393424034241342423424334244342453424634247342483424934250342513425234253342543425534256342573425834259342603426134262342633426434265342663426734268342693427034271342723427334274342753427634277342783427934280342813428234283342843428534286342873428834289342903429134292342933429434295342963429734298342993430034301343023430334304343053430634307343083430934310343113431234313343143431534316343173431834319343203432134322343233432434325343263432734328343293433034331343323433334334343353433634337343383433934340343413434234343343443434534346343473434834349343503435134352343533435434355343563435734358343593436034361343623436334364343653436634367343683436934370343713437234373343743437534376343773437834379343803438134382343833438434385343863438734388343893439034391343923439334394343953439634397343983439934400344013440234403344043440534406344073440834409344103441134412344133441434415344163441734418344193442034421344223442334424344253442634427344283442934430344313443234433344343443534436344373443834439344403444134442344433444434445344463444734448344493445034451344523445334454344553445634457344583445934460344613446234463344643446534466344673446834469344703447134472344733447434475344763447734478344793448034481344823448334484344853448634487344883448934490344913449234493344943449534496344973449834499345003450134502345033450434505345063450734508345093451034511345123451334514345153451634517345183451934520345213452234523345243452534526345273452834529345303453134532345333453434535345363453734538345393454034541345423454334544345453454634547345483454934550345513455234553345543455534556345573455834559345603456134562345633456434565345663456734568345693457034571345723457334574345753457634577345783457934580345813458234583345843458534586345873458834589345903459134592345933459434595345963459734598345993460034601346023460334604346053460634607346083460934610346113461234613346143461534616346173461834619346203462134622346233462434625346263462734628346293463034631346323463334634346353463634637346383463934640346413464234643346443464534646346473464834649346503465134652346533465434655346563465734658346593466034661346623466334664346653466634667346683466934670346713467234673346743467534676346773467834679346803468134682346833468434685346863468734688346893469034691346923469334694346953469634697346983469934700347013470234703347043470534706347073470834709347103471134712347133471434715347163471734718347193472034721347223472334724347253472634727347283472934730347313473234733347343473534736347373473834739347403474134742347433474434745347463474734748347493475034751347523475334754347553475634757347583475934760347613476234763347643476534766347673476834769347703477134772347733477434775347763477734778347793478034781347823478334784347853478634787347883478934790347913479234793347943479534796347973479834799348003480134802348033480434805348063480734808348093481034811348123481334814348153481634817348183481934820348213482234823348243482534826348273482834829348303483134832348333483434835348363483734838348393484034841348423484334844348453484634847348483484934850348513485234853348543485534856348573485834859348603486134862348633486434865348663486734868348693487034871348723487334874348753487634877348783487934880348813488234883348843488534886348873488834889348903489134892348933489434895348963489734898348993490034901349023490334904349053490634907349083490934910349113491234913349143491534916349173491834919349203492134922349233492434925349263492734928349293493034931349323493334934349353493634937349383493934940349413494234943349443494534946349473494834949349503495134952349533495434955349563495734958349593496034961349623496334964349653496634967349683496934970349713497234973349743497534976349773497834979349803498134982349833498434985349863498734988349893499034991349923499334994349953499634997349983499935000350013500235003350043500535006350073500835009350103501135012350133501435015350163501735018350193502035021350223502335024350253502635027350283502935030350313503235033350343503535036350373503835039350403504135042350433504435045350463504735048350493505035051350523505335054350553505635057350583505935060350613506235063350643506535066350673506835069350703507135072350733507435075350763507735078350793508035081350823508335084350853508635087350883508935090350913509235093350943509535096350973509835099351003510135102351033510435105351063510735108351093511035111351123511335114351153511635117351183511935120351213512235123351243512535126351273512835129351303513135132351333513435135351363513735138351393514035141351423514335144351453514635147351483514935150351513515235153351543515535156351573515835159351603516135162351633516435165351663516735168351693517035171351723517335174351753517635177351783517935180351813518235183351843518535186351873518835189351903519135192351933519435195351963519735198351993520035201352023520335204352053520635207352083520935210352113521235213352143521535216352173521835219352203522135222352233522435225352263522735228352293523035231352323523335234352353523635237352383523935240352413524235243352443524535246352473524835249352503525135252352533525435255352563525735258352593526035261352623526335264352653526635267352683526935270352713527235273352743527535276352773527835279352803528135282352833528435285352863528735288352893529035291352923529335294352953529635297352983529935300353013530235303353043530535306353073530835309353103531135312353133531435315353163531735318353193532035321353223532335324353253532635327353283532935330353313533235333353343533535336353373533835339353403534135342353433534435345353463534735348353493535035351353523535335354353553535635357353583535935360353613536235363353643536535366353673536835369353703537135372353733537435375353763537735378353793538035381353823538335384353853538635387353883538935390353913539235393353943539535396353973539835399354003540135402354033540435405354063540735408354093541035411354123541335414354153541635417354183541935420354213542235423354243542535426354273542835429354303543135432354333543435435354363543735438354393544035441354423544335444354453544635447354483544935450354513545235453354543545535456354573545835459354603546135462354633546435465354663546735468354693547035471354723547335474354753547635477354783547935480354813548235483354843548535486354873548835489354903549135492354933549435495354963549735498354993550035501355023550335504355053550635507355083550935510355113551235513355143551535516355173551835519355203552135522355233552435525355263552735528355293553035531355323553335534355353553635537355383553935540355413554235543355443554535546355473554835549355503555135552355533555435555355563555735558355593556035561355623556335564355653556635567355683556935570355713557235573355743557535576355773557835579355803558135582355833558435585355863558735588355893559035591355923559335594355953559635597355983559935600356013560235603356043560535606356073560835609356103561135612356133561435615356163561735618356193562035621356223562335624356253562635627356283562935630356313563235633356343563535636356373563835639356403564135642356433564435645356463564735648356493565035651356523565335654356553565635657356583565935660356613566235663356643566535666356673566835669356703567135672356733567435675356763567735678356793568035681356823568335684356853568635687356883568935690356913569235693356943569535696356973569835699357003570135702357033570435705357063570735708357093571035711357123571335714357153571635717357183571935720357213572235723357243572535726357273572835729357303573135732357333573435735357363573735738357393574035741357423574335744357453574635747357483574935750357513575235753357543575535756357573575835759357603576135762357633576435765357663576735768357693577035771357723577335774357753577635777357783577935780357813578235783357843578535786357873578835789357903579135792357933579435795357963579735798357993580035801358023580335804358053580635807358083580935810358113581235813358143581535816358173581835819358203582135822358233582435825358263582735828358293583035831358323583335834358353583635837358383583935840358413584235843358443584535846358473584835849358503585135852358533585435855358563585735858358593586035861358623586335864358653586635867358683586935870358713587235873358743587535876358773587835879358803588135882358833588435885358863588735888358893589035891358923589335894358953589635897358983589935900359013590235903359043590535906359073590835909359103591135912359133591435915359163591735918359193592035921359223592335924359253592635927359283592935930359313593235933359343593535936359373593835939359403594135942359433594435945359463594735948359493595035951359523595335954359553595635957359583595935960359613596235963359643596535966359673596835969359703597135972359733597435975359763597735978359793598035981359823598335984359853598635987359883598935990359913599235993359943599535996359973599835999360003600136002360033600436005360063600736008360093601036011360123601336014360153601636017360183601936020360213602236023360243602536026360273602836029360303603136032360333603436035360363603736038360393604036041360423604336044360453604636047360483604936050360513605236053360543605536056360573605836059360603606136062360633606436065360663606736068360693607036071360723607336074360753607636077360783607936080360813608236083360843608536086360873608836089360903609136092360933609436095360963609736098360993610036101361023610336104361053610636107361083610936110361113611236113361143611536116361173611836119361203612136122361233612436125361263612736128361293613036131361323613336134361353613636137361383613936140361413614236143361443614536146361473614836149361503615136152361533615436155361563615736158361593616036161361623616336164361653616636167361683616936170361713617236173361743617536176361773617836179361803618136182361833618436185361863618736188361893619036191361923619336194361953619636197361983619936200362013620236203362043620536206362073620836209362103621136212362133621436215362163621736218362193622036221362223622336224362253622636227362283622936230362313623236233362343623536236362373623836239362403624136242362433624436245362463624736248362493625036251362523625336254362553625636257362583625936260362613626236263362643626536266362673626836269362703627136272362733627436275362763627736278362793628036281362823628336284362853628636287362883628936290362913629236293362943629536296362973629836299363003630136302363033630436305363063630736308363093631036311363123631336314363153631636317363183631936320363213632236323363243632536326363273632836329363303633136332363333633436335363363633736338363393634036341363423634336344363453634636347363483634936350363513635236353363543635536356363573635836359363603636136362363633636436365363663636736368363693637036371363723637336374363753637636377363783637936380363813638236383363843638536386363873638836389363903639136392363933639436395363963639736398363993640036401364023640336404364053640636407364083640936410364113641236413364143641536416364173641836419364203642136422364233642436425364263642736428364293643036431364323643336434364353643636437364383643936440364413644236443364443644536446364473644836449364503645136452364533645436455364563645736458364593646036461364623646336464364653646636467364683646936470364713647236473364743647536476364773647836479364803648136482364833648436485364863648736488364893649036491364923649336494364953649636497364983649936500365013650236503365043650536506365073650836509365103651136512365133651436515365163651736518365193652036521365223652336524365253652636527365283652936530365313653236533365343653536536365373653836539365403654136542365433654436545365463654736548365493655036551365523655336554365553655636557365583655936560365613656236563365643656536566365673656836569365703657136572365733657436575365763657736578365793658036581365823658336584365853658636587365883658936590365913659236593365943659536596365973659836599366003660136602366033660436605366063660736608366093661036611366123661336614366153661636617366183661936620366213662236623366243662536626366273662836629366303663136632366333663436635366363663736638366393664036641366423664336644366453664636647366483664936650366513665236653366543665536656366573665836659366603666136662366633666436665366663666736668366693667036671366723667336674366753667636677366783667936680366813668236683366843668536686366873668836689366903669136692366933669436695366963669736698366993670036701367023670336704367053670636707367083670936710367113671236713367143671536716367173671836719367203672136722367233672436725367263672736728367293673036731367323673336734367353673636737367383673936740367413674236743367443674536746367473674836749367503675136752367533675436755367563675736758367593676036761367623676336764367653676636767367683676936770367713677236773367743677536776367773677836779367803678136782367833678436785367863678736788367893679036791367923679336794367953679636797367983679936800368013680236803368043680536806368073680836809368103681136812368133681436815368163681736818368193682036821368223682336824368253682636827368283682936830368313683236833368343683536836368373683836839368403684136842368433684436845368463684736848368493685036851368523685336854368553685636857368583685936860368613686236863368643686536866368673686836869368703687136872368733687436875368763687736878368793688036881368823688336884368853688636887368883688936890368913689236893368943689536896368973689836899369003690136902369033690436905369063690736908369093691036911369123691336914369153691636917369183691936920369213692236923369243692536926369273692836929369303693136932369333693436935369363693736938369393694036941369423694336944369453694636947369483694936950369513695236953369543695536956369573695836959369603696136962369633696436965369663696736968369693697036971369723697336974369753697636977369783697936980369813698236983369843698536986369873698836989369903699136992369933699436995369963699736998369993700037001370023700337004370053700637007370083700937010370113701237013370143701537016370173701837019370203702137022370233702437025370263702737028370293703037031370323703337034370353703637037370383703937040370413704237043370443704537046370473704837049370503705137052370533705437055370563705737058370593706037061370623706337064370653706637067370683706937070370713707237073370743707537076370773707837079370803708137082370833708437085370863708737088370893709037091370923709337094370953709637097370983709937100371013710237103371043710537106371073710837109371103711137112371133711437115371163711737118371193712037121371223712337124371253712637127371283712937130371313713237133371343713537136371373713837139371403714137142371433714437145371463714737148371493715037151371523715337154371553715637157371583715937160371613716237163371643716537166371673716837169371703717137172371733717437175371763717737178371793718037181371823718337184371853718637187371883718937190371913719237193371943719537196371973719837199372003720137202372033720437205372063720737208372093721037211372123721337214372153721637217372183721937220372213722237223372243722537226372273722837229372303723137232372333723437235372363723737238372393724037241372423724337244372453724637247372483724937250372513725237253372543725537256372573725837259372603726137262372633726437265372663726737268372693727037271372723727337274372753727637277372783727937280372813728237283372843728537286372873728837289372903729137292372933729437295372963729737298372993730037301373023730337304373053730637307373083730937310373113731237313373143731537316373173731837319373203732137322373233732437325373263732737328373293733037331373323733337334373353733637337373383733937340373413734237343373443734537346373473734837349373503735137352373533735437355373563735737358373593736037361373623736337364373653736637367373683736937370373713737237373373743737537376373773737837379373803738137382373833738437385373863738737388373893739037391373923739337394373953739637397373983739937400374013740237403374043740537406374073740837409374103741137412374133741437415374163741737418374193742037421374223742337424374253742637427374283742937430374313743237433374343743537436374373743837439374403744137442374433744437445374463744737448374493745037451374523745337454374553745637457374583745937460374613746237463374643746537466374673746837469374703747137472374733747437475374763747737478374793748037481374823748337484374853748637487374883748937490374913749237493374943749537496374973749837499375003750137502375033750437505375063750737508375093751037511375123751337514375153751637517375183751937520375213752237523375243752537526375273752837529375303753137532375333753437535375363753737538375393754037541375423754337544375453754637547375483754937550375513755237553375543755537556375573755837559375603756137562375633756437565375663756737568375693757037571375723757337574375753757637577375783757937580375813758237583375843758537586375873758837589375903759137592375933759437595375963759737598375993760037601376023760337604376053760637607376083760937610376113761237613376143761537616376173761837619376203762137622376233762437625376263762737628376293763037631376323763337634376353763637637376383763937640376413764237643376443764537646376473764837649376503765137652376533765437655376563765737658376593766037661376623766337664376653766637667376683766937670376713767237673376743767537676376773767837679376803768137682376833768437685376863768737688376893769037691376923769337694376953769637697376983769937700377013770237703377043770537706377073770837709377103771137712377133771437715377163771737718377193772037721377223772337724377253772637727377283772937730377313773237733377343773537736377373773837739377403774137742377433774437745377463774737748377493775037751377523775337754377553775637757377583775937760377613776237763377643776537766377673776837769377703777137772377733777437775377763777737778377793778037781377823778337784377853778637787377883778937790377913779237793377943779537796377973779837799378003780137802378033780437805378063780737808378093781037811378123781337814378153781637817378183781937820378213782237823378243782537826378273782837829378303783137832378333783437835378363783737838378393784037841378423784337844378453784637847378483784937850378513785237853378543785537856378573785837859378603786137862378633786437865378663786737868378693787037871378723787337874378753787637877378783787937880378813788237883378843788537886378873788837889378903789137892378933789437895378963789737898378993790037901379023790337904379053790637907379083790937910379113791237913379143791537916379173791837919379203792137922379233792437925379263792737928379293793037931379323793337934379353793637937379383793937940379413794237943379443794537946379473794837949379503795137952379533795437955379563795737958379593796037961379623796337964379653796637967379683796937970379713797237973379743797537976379773797837979379803798137982379833798437985379863798737988379893799037991379923799337994379953799637997379983799938000380013800238003380043800538006380073800838009380103801138012380133801438015380163801738018380193802038021380223802338024380253802638027380283802938030380313803238033380343803538036380373803838039380403804138042380433804438045380463804738048380493805038051380523805338054380553805638057380583805938060380613806238063380643806538066380673806838069380703807138072380733807438075380763807738078380793808038081380823808338084380853808638087380883808938090380913809238093380943809538096380973809838099381003810138102381033810438105381063810738108381093811038111381123811338114381153811638117381183811938120381213812238123381243812538126381273812838129381303813138132381333813438135381363813738138381393814038141381423814338144381453814638147381483814938150381513815238153381543815538156381573815838159381603816138162381633816438165381663816738168381693817038171381723817338174381753817638177381783817938180381813818238183381843818538186381873818838189381903819138192381933819438195381963819738198381993820038201382023820338204382053820638207382083820938210382113821238213382143821538216382173821838219382203822138222382233822438225382263822738228382293823038231382323823338234382353823638237382383823938240382413824238243382443824538246382473824838249382503825138252382533825438255382563825738258382593826038261382623826338264382653826638267382683826938270382713827238273382743827538276382773827838279382803828138282382833828438285382863828738288382893829038291382923829338294382953829638297382983829938300383013830238303383043830538306383073830838309383103831138312383133831438315383163831738318383193832038321383223832338324383253832638327383283832938330383313833238333383343833538336383373833838339383403834138342383433834438345383463834738348383493835038351383523835338354383553835638357383583835938360383613836238363383643836538366383673836838369383703837138372383733837438375383763837738378383793838038381383823838338384383853838638387383883838938390383913839238393383943839538396383973839838399384003840138402384033840438405384063840738408384093841038411384123841338414384153841638417384183841938420384213842238423384243842538426384273842838429384303843138432384333843438435384363843738438384393844038441384423844338444384453844638447384483844938450384513845238453384543845538456384573845838459384603846138462384633846438465384663846738468384693847038471384723847338474384753847638477384783847938480384813848238483384843848538486384873848838489384903849138492384933849438495384963849738498384993850038501385023850338504385053850638507385083850938510385113851238513385143851538516385173851838519385203852138522385233852438525385263852738528385293853038531385323853338534385353853638537385383853938540385413854238543385443854538546385473854838549385503855138552385533855438555385563855738558385593856038561385623856338564385653856638567385683856938570385713857238573385743857538576385773857838579385803858138582385833858438585385863858738588385893859038591385923859338594385953859638597385983859938600386013860238603386043860538606386073860838609386103861138612386133861438615386163861738618386193862038621386223862338624386253862638627386283862938630386313863238633386343863538636386373863838639386403864138642386433864438645386463864738648386493865038651386523865338654386553865638657386583865938660386613866238663386643866538666386673866838669386703867138672386733867438675386763867738678386793868038681386823868338684386853868638687386883868938690386913869238693386943869538696386973869838699387003870138702387033870438705387063870738708387093871038711387123871338714387153871638717387183871938720387213872238723387243872538726387273872838729387303873138732387333873438735387363873738738387393874038741387423874338744387453874638747387483874938750387513875238753387543875538756387573875838759387603876138762387633876438765387663876738768387693877038771387723877338774387753877638777387783877938780387813878238783387843878538786387873878838789387903879138792387933879438795387963879738798387993880038801388023880338804388053880638807388083880938810388113881238813388143881538816388173881838819388203882138822388233882438825388263882738828388293883038831388323883338834388353883638837388383883938840388413884238843388443884538846388473884838849388503885138852388533885438855388563885738858388593886038861388623886338864388653886638867388683886938870388713887238873388743887538876388773887838879388803888138882388833888438885388863888738888388893889038891388923889338894388953889638897388983889938900389013890238903389043890538906389073890838909389103891138912389133891438915389163891738918389193892038921389223892338924389253892638927389283892938930389313893238933389343893538936389373893838939389403894138942389433894438945389463894738948389493895038951389523895338954389553895638957389583895938960389613896238963389643896538966389673896838969389703897138972389733897438975389763897738978389793898038981389823898338984389853898638987389883898938990389913899238993389943899538996389973899838999390003900139002390033900439005390063900739008390093901039011390123901339014390153901639017390183901939020390213902239023390243902539026390273902839029390303903139032390333903439035390363903739038390393904039041390423904339044390453904639047390483904939050390513905239053390543905539056390573905839059390603906139062390633906439065390663906739068390693907039071390723907339074390753907639077390783907939080390813908239083390843908539086390873908839089390903909139092390933909439095390963909739098390993910039101391023910339104391053910639107391083910939110391113911239113391143911539116391173911839119391203912139122391233912439125391263912739128391293913039131391323913339134391353913639137391383913939140391413914239143391443914539146391473914839149391503915139152391533915439155391563915739158391593916039161391623916339164391653916639167391683916939170391713917239173391743917539176391773917839179391803918139182391833918439185391863918739188391893919039191391923919339194391953919639197391983919939200392013920239203392043920539206392073920839209392103921139212392133921439215392163921739218392193922039221392223922339224392253922639227392283922939230392313923239233392343923539236392373923839239392403924139242392433924439245392463924739248392493925039251392523925339254392553925639257392583925939260392613926239263392643926539266392673926839269392703927139272392733927439275392763927739278392793928039281392823928339284392853928639287392883928939290392913929239293392943929539296392973929839299393003930139302393033930439305393063930739308393093931039311393123931339314393153931639317393183931939320393213932239323393243932539326393273932839329393303933139332393333933439335393363933739338393393934039341393423934339344393453934639347393483934939350393513935239353393543935539356393573935839359393603936139362393633936439365393663936739368393693937039371393723937339374393753937639377393783937939380393813938239383393843938539386393873938839389393903939139392393933939439395393963939739398393993940039401394023940339404394053940639407394083940939410394113941239413394143941539416394173941839419394203942139422394233942439425394263942739428394293943039431394323943339434394353943639437394383943939440394413944239443394443944539446394473944839449394503945139452394533945439455394563945739458394593946039461394623946339464394653946639467394683946939470394713947239473394743947539476394773947839479394803948139482394833948439485394863948739488394893949039491394923949339494394953949639497394983949939500395013950239503395043950539506395073950839509395103951139512395133951439515395163951739518395193952039521395223952339524395253952639527395283952939530395313953239533395343953539536395373953839539395403954139542395433954439545395463954739548395493955039551395523955339554395553955639557395583955939560395613956239563395643956539566395673956839569395703957139572395733957439575395763957739578395793958039581395823958339584395853958639587395883958939590395913959239593395943959539596395973959839599396003960139602396033960439605396063960739608396093961039611396123961339614396153961639617396183961939620396213962239623396243962539626396273962839629396303963139632396333963439635396363963739638396393964039641396423964339644396453964639647396483964939650396513965239653396543965539656396573965839659396603966139662396633966439665396663966739668396693967039671396723967339674396753967639677396783967939680396813968239683396843968539686396873968839689396903969139692396933969439695396963969739698396993970039701397023970339704397053970639707397083970939710397113971239713397143971539716397173971839719397203972139722397233972439725397263972739728397293973039731397323973339734397353973639737397383973939740397413974239743397443974539746397473974839749397503975139752397533975439755397563975739758397593976039761397623976339764397653976639767397683976939770397713977239773397743977539776397773977839779397803978139782397833978439785397863978739788397893979039791397923979339794397953979639797397983979939800398013980239803398043980539806398073980839809398103981139812398133981439815398163981739818398193982039821398223982339824398253982639827398283982939830398313983239833398343983539836398373983839839398403984139842398433984439845398463984739848398493985039851398523985339854398553985639857398583985939860398613986239863398643986539866398673986839869398703987139872398733987439875398763987739878398793988039881398823988339884398853988639887398883988939890398913989239893398943989539896398973989839899399003990139902399033990439905399063990739908399093991039911399123991339914399153991639917399183991939920399213992239923399243992539926399273992839929399303993139932399333993439935399363993739938399393994039941399423994339944399453994639947399483994939950399513995239953399543995539956399573995839959399603996139962399633996439965399663996739968399693997039971399723997339974399753997639977399783997939980399813998239983399843998539986399873998839989399903999139992399933999439995399963999739998399994000040001400024000340004400054000640007400084000940010400114001240013400144001540016400174001840019400204002140022400234002440025400264002740028400294003040031400324003340034400354003640037400384003940040400414004240043400444004540046400474004840049400504005140052400534005440055400564005740058400594006040061400624006340064400654006640067400684006940070400714007240073400744007540076400774007840079400804008140082400834008440085400864008740088400894009040091400924009340094400954009640097400984009940100401014010240103401044010540106401074010840109401104011140112401134011440115401164011740118401194012040121401224012340124401254012640127401284012940130401314013240133401344013540136401374013840139401404014140142401434014440145401464014740148401494015040151401524015340154401554015640157401584015940160401614016240163401644016540166401674016840169401704017140172401734017440175401764017740178401794018040181401824018340184401854018640187401884018940190401914019240193401944019540196401974019840199402004020140202402034020440205402064020740208402094021040211402124021340214402154021640217402184021940220402214022240223402244022540226402274022840229402304023140232402334023440235402364023740238402394024040241402424024340244402454024640247402484024940250402514025240253402544025540256402574025840259402604026140262402634026440265402664026740268402694027040271402724027340274402754027640277402784027940280402814028240283402844028540286402874028840289402904029140292402934029440295402964029740298402994030040301403024030340304403054030640307403084030940310403114031240313403144031540316403174031840319403204032140322403234032440325403264032740328403294033040331403324033340334403354033640337403384033940340403414034240343403444034540346403474034840349403504035140352403534035440355403564035740358403594036040361403624036340364403654036640367403684036940370403714037240373403744037540376403774037840379403804038140382403834038440385403864038740388403894039040391403924039340394403954039640397403984039940400404014040240403404044040540406404074040840409404104041140412404134041440415404164041740418404194042040421404224042340424404254042640427404284042940430404314043240433404344043540436404374043840439404404044140442404434044440445404464044740448404494045040451404524045340454404554045640457404584045940460404614046240463404644046540466404674046840469404704047140472404734047440475404764047740478404794048040481404824048340484404854048640487404884048940490404914049240493404944049540496404974049840499405004050140502405034050440505405064050740508405094051040511405124051340514405154051640517405184051940520405214052240523405244052540526405274052840529405304053140532405334053440535405364053740538405394054040541405424054340544405454054640547405484054940550405514055240553405544055540556405574055840559405604056140562405634056440565405664056740568405694057040571405724057340574405754057640577405784057940580405814058240583405844058540586405874058840589405904059140592405934059440595405964059740598405994060040601406024060340604406054060640607406084060940610406114061240613406144061540616406174061840619406204062140622406234062440625406264062740628406294063040631406324063340634406354063640637406384063940640406414064240643406444064540646406474064840649406504065140652406534065440655406564065740658406594066040661406624066340664406654066640667406684066940670406714067240673406744067540676406774067840679406804068140682406834068440685406864068740688406894069040691406924069340694406954069640697406984069940700407014070240703407044070540706407074070840709407104071140712407134071440715407164071740718407194072040721407224072340724407254072640727407284072940730407314073240733407344073540736407374073840739407404074140742407434074440745407464074740748407494075040751407524075340754407554075640757407584075940760407614076240763407644076540766407674076840769407704077140772407734077440775407764077740778407794078040781407824078340784407854078640787407884078940790407914079240793407944079540796407974079840799408004080140802408034080440805408064080740808408094081040811408124081340814408154081640817408184081940820408214082240823408244082540826408274082840829408304083140832408334083440835408364083740838408394084040841408424084340844408454084640847408484084940850408514085240853408544085540856408574085840859408604086140862408634086440865408664086740868408694087040871408724087340874408754087640877408784087940880408814088240883408844088540886408874088840889408904089140892408934089440895408964089740898408994090040901409024090340904409054090640907409084090940910409114091240913409144091540916409174091840919409204092140922409234092440925409264092740928409294093040931409324093340934409354093640937409384093940940409414094240943409444094540946409474094840949409504095140952409534095440955409564095740958409594096040961409624096340964409654096640967409684096940970409714097240973409744097540976409774097840979409804098140982409834098440985409864098740988409894099040991409924099340994409954099640997409984099941000410014100241003410044100541006410074100841009410104101141012410134101441015410164101741018410194102041021410224102341024410254102641027410284102941030410314103241033410344103541036410374103841039410404104141042410434104441045410464104741048410494105041051410524105341054410554105641057410584105941060410614106241063410644106541066410674106841069410704107141072410734107441075410764107741078410794108041081410824108341084410854108641087410884108941090410914109241093410944109541096410974109841099411004110141102411034110441105411064110741108411094111041111411124111341114411154111641117411184111941120411214112241123411244112541126411274112841129411304113141132411334113441135411364113741138411394114041141411424114341144411454114641147411484114941150411514115241153411544115541156411574115841159411604116141162411634116441165411664116741168411694117041171411724117341174411754117641177411784117941180411814118241183411844118541186411874118841189411904119141192411934119441195411964119741198411994120041201412024120341204412054120641207412084120941210412114121241213412144121541216412174121841219412204122141222412234122441225412264122741228412294123041231412324123341234412354123641237412384123941240412414124241243412444124541246412474124841249412504125141252412534125441255412564125741258412594126041261412624126341264412654126641267412684126941270412714127241273412744127541276412774127841279412804128141282412834128441285412864128741288412894129041291412924129341294412954129641297412984129941300413014130241303413044130541306413074130841309413104131141312413134131441315413164131741318413194132041321413224132341324413254132641327413284132941330413314133241333413344133541336413374133841339413404134141342413434134441345413464134741348413494135041351413524135341354413554135641357413584135941360413614136241363413644136541366413674136841369413704137141372413734137441375413764137741378413794138041381413824138341384413854138641387413884138941390413914139241393413944139541396413974139841399414004140141402414034140441405414064140741408414094141041411414124141341414414154141641417414184141941420414214142241423414244142541426414274142841429414304143141432414334143441435414364143741438414394144041441414424144341444414454144641447414484144941450414514145241453414544145541456414574145841459414604146141462414634146441465414664146741468414694147041471414724147341474414754147641477414784147941480414814148241483414844148541486414874148841489414904149141492414934149441495414964149741498414994150041501415024150341504415054150641507415084150941510415114151241513415144151541516415174151841519415204152141522415234152441525415264152741528415294153041531415324153341534415354153641537415384153941540415414154241543415444154541546415474154841549415504155141552415534155441555415564155741558415594156041561415624156341564415654156641567415684156941570415714157241573415744157541576415774157841579415804158141582415834158441585415864158741588415894159041591415924159341594415954159641597415984159941600416014160241603416044160541606416074160841609416104161141612416134161441615416164161741618416194162041621416224162341624416254162641627416284162941630416314163241633416344163541636416374163841639416404164141642416434164441645416464164741648416494165041651416524165341654416554165641657416584165941660416614166241663416644166541666416674166841669416704167141672416734167441675416764167741678416794168041681416824168341684416854168641687416884168941690416914169241693416944169541696416974169841699417004170141702417034170441705417064170741708417094171041711417124171341714417154171641717417184171941720417214172241723417244172541726417274172841729417304173141732417334173441735417364173741738417394174041741417424174341744417454174641747417484174941750417514175241753417544175541756417574175841759417604176141762417634176441765417664176741768417694177041771417724177341774417754177641777417784177941780417814178241783417844178541786417874178841789417904179141792417934179441795417964179741798417994180041801418024180341804418054180641807418084180941810418114181241813418144181541816418174181841819418204182141822418234182441825418264182741828418294183041831418324183341834418354183641837418384183941840418414184241843418444184541846418474184841849418504185141852418534185441855418564185741858418594186041861418624186341864418654186641867418684186941870418714187241873418744187541876418774187841879418804188141882418834188441885418864188741888418894189041891418924189341894418954189641897418984189941900419014190241903419044190541906419074190841909419104191141912419134191441915419164191741918419194192041921419224192341924419254192641927419284192941930419314193241933419344193541936419374193841939419404194141942419434194441945419464194741948419494195041951419524195341954419554195641957419584195941960419614196241963419644196541966419674196841969419704197141972419734197441975419764197741978419794198041981419824198341984419854198641987419884198941990419914199241993419944199541996419974199841999420004200142002420034200442005420064200742008420094201042011420124201342014420154201642017420184201942020420214202242023420244202542026420274202842029420304203142032420334203442035420364203742038420394204042041420424204342044420454204642047420484204942050420514205242053420544205542056420574205842059420604206142062420634206442065420664206742068420694207042071420724207342074420754207642077420784207942080420814208242083420844208542086420874208842089420904209142092420934209442095420964209742098420994210042101421024210342104421054210642107421084210942110421114211242113421144211542116421174211842119421204212142122421234212442125421264212742128421294213042131421324213342134421354213642137421384213942140421414214242143421444214542146421474214842149421504215142152421534215442155421564215742158421594216042161421624216342164421654216642167421684216942170421714217242173421744217542176421774217842179421804218142182421834218442185421864218742188421894219042191421924219342194421954219642197421984219942200422014220242203422044220542206422074220842209422104221142212422134221442215422164221742218422194222042221422224222342224422254222642227422284222942230422314223242233422344223542236422374223842239422404224142242422434224442245422464224742248422494225042251422524225342254422554225642257422584225942260422614226242263422644226542266422674226842269422704227142272422734227442275422764227742278422794228042281422824228342284422854228642287422884228942290422914229242293422944229542296422974229842299423004230142302423034230442305423064230742308423094231042311423124231342314423154231642317423184231942320423214232242323423244232542326423274232842329423304233142332423334233442335423364233742338423394234042341423424234342344423454234642347423484234942350423514235242353423544235542356423574235842359423604236142362423634236442365423664236742368423694237042371423724237342374423754237642377423784237942380423814238242383423844238542386423874238842389423904239142392423934239442395423964239742398423994240042401424024240342404424054240642407424084240942410424114241242413424144241542416424174241842419424204242142422424234242442425424264242742428424294243042431424324243342434424354243642437424384243942440424414244242443424444244542446424474244842449424504245142452424534245442455424564245742458424594246042461424624246342464424654246642467424684246942470424714247242473424744247542476424774247842479424804248142482424834248442485424864248742488424894249042491424924249342494424954249642497424984249942500425014250242503425044250542506425074250842509425104251142512425134251442515425164251742518425194252042521425224252342524425254252642527425284252942530425314253242533425344253542536425374253842539425404254142542425434254442545425464254742548425494255042551425524255342554425554255642557425584255942560425614256242563425644256542566425674256842569425704257142572425734257442575425764257742578425794258042581425824258342584425854258642587425884258942590425914259242593425944259542596425974259842599426004260142602426034260442605426064260742608426094261042611426124261342614426154261642617426184261942620426214262242623426244262542626426274262842629426304263142632426334263442635426364263742638426394264042641426424264342644426454264642647426484264942650426514265242653426544265542656426574265842659426604266142662426634266442665426664266742668426694267042671426724267342674426754267642677426784267942680426814268242683426844268542686426874268842689426904269142692426934269442695426964269742698426994270042701427024270342704427054270642707427084270942710427114271242713427144271542716427174271842719427204272142722427234272442725427264272742728427294273042731427324273342734427354273642737427384273942740427414274242743427444274542746427474274842749427504275142752427534275442755427564275742758427594276042761427624276342764427654276642767427684276942770427714277242773427744277542776427774277842779427804278142782427834278442785427864278742788427894279042791427924279342794427954279642797427984279942800428014280242803428044280542806428074280842809428104281142812428134281442815428164281742818428194282042821428224282342824428254282642827428284282942830428314283242833428344283542836428374283842839428404284142842428434284442845428464284742848428494285042851428524285342854428554285642857428584285942860428614286242863428644286542866428674286842869428704287142872428734287442875428764287742878428794288042881428824288342884428854288642887428884288942890428914289242893428944289542896428974289842899429004290142902429034290442905429064290742908429094291042911429124291342914429154291642917429184291942920429214292242923429244292542926429274292842929429304293142932429334293442935429364293742938429394294042941429424294342944429454294642947429484294942950429514295242953429544295542956429574295842959429604296142962429634296442965429664296742968429694297042971429724297342974429754297642977429784297942980429814298242983429844298542986429874298842989429904299142992429934299442995429964299742998429994300043001430024300343004430054300643007430084300943010430114301243013430144301543016430174301843019430204302143022430234302443025430264302743028430294303043031430324303343034430354303643037430384303943040430414304243043430444304543046430474304843049430504305143052430534305443055430564305743058430594306043061430624306343064430654306643067430684306943070430714307243073430744307543076430774307843079430804308143082430834308443085430864308743088430894309043091430924309343094430954309643097430984309943100431014310243103431044310543106431074310843109431104311143112431134311443115431164311743118431194312043121431224312343124431254312643127431284312943130431314313243133431344313543136431374313843139431404314143142431434314443145431464314743148431494315043151431524315343154431554315643157431584315943160431614316243163431644316543166431674316843169431704317143172431734317443175431764317743178431794318043181431824318343184431854318643187431884318943190431914319243193431944319543196431974319843199432004320143202432034320443205432064320743208432094321043211432124321343214432154321643217432184321943220432214322243223432244322543226432274322843229432304323143232432334323443235432364323743238432394324043241432424324343244432454324643247432484324943250432514325243253432544325543256432574325843259432604326143262432634326443265432664326743268432694327043271432724327343274432754327643277432784327943280432814328243283432844328543286432874328843289432904329143292432934329443295432964329743298432994330043301433024330343304433054330643307433084330943310433114331243313433144331543316433174331843319433204332143322433234332443325433264332743328433294333043331433324333343334433354333643337433384333943340433414334243343433444334543346433474334843349433504335143352433534335443355433564335743358433594336043361433624336343364433654336643367433684336943370433714337243373433744337543376433774337843379433804338143382433834338443385433864338743388433894339043391433924339343394433954339643397433984339943400434014340243403434044340543406434074340843409434104341143412434134341443415434164341743418434194342043421434224342343424434254342643427434284342943430434314343243433434344343543436434374343843439434404344143442434434344443445434464344743448434494345043451434524345343454434554345643457434584345943460434614346243463434644346543466434674346843469434704347143472434734347443475434764347743478434794348043481434824348343484434854348643487434884348943490434914349243493434944349543496434974349843499435004350143502435034350443505435064350743508435094351043511435124351343514435154351643517435184351943520435214352243523435244352543526435274352843529435304353143532435334353443535435364353743538435394354043541435424354343544435454354643547435484354943550435514355243553435544355543556435574355843559435604356143562435634356443565435664356743568435694357043571435724357343574435754357643577435784357943580435814358243583435844358543586435874358843589435904359143592435934359443595435964359743598435994360043601436024360343604436054360643607436084360943610436114361243613436144361543616436174361843619436204362143622436234362443625436264362743628436294363043631436324363343634436354363643637436384363943640436414364243643436444364543646436474364843649436504365143652436534365443655436564365743658436594366043661436624366343664436654366643667436684366943670436714367243673436744367543676436774367843679436804368143682436834368443685436864368743688436894369043691436924369343694436954369643697436984369943700437014370243703437044370543706437074370843709437104371143712437134371443715437164371743718437194372043721437224372343724437254372643727437284372943730437314373243733437344373543736437374373843739437404374143742437434374443745437464374743748437494375043751437524375343754437554375643757437584375943760437614376243763437644376543766437674376843769437704377143772437734377443775437764377743778437794378043781437824378343784437854378643787437884378943790437914379243793437944379543796437974379843799438004380143802438034380443805438064380743808438094381043811438124381343814438154381643817438184381943820438214382243823438244382543826438274382843829438304383143832438334383443835438364383743838438394384043841438424384343844438454384643847438484384943850438514385243853438544385543856438574385843859438604386143862438634386443865438664386743868438694387043871438724387343874438754387643877438784387943880438814388243883438844388543886438874388843889438904389143892438934389443895438964389743898438994390043901439024390343904439054390643907439084390943910439114391243913439144391543916439174391843919439204392143922439234392443925439264392743928439294393043931439324393343934439354393643937439384393943940439414394243943439444394543946439474394843949439504395143952439534395443955439564395743958439594396043961439624396343964439654396643967439684396943970439714397243973439744397543976439774397843979439804398143982439834398443985439864398743988439894399043991439924399343994439954399643997439984399944000440014400244003440044400544006440074400844009440104401144012440134401444015440164401744018440194402044021440224402344024440254402644027440284402944030440314403244033440344403544036440374403844039440404404144042440434404444045440464404744048440494405044051440524405344054440554405644057440584405944060440614406244063440644406544066440674406844069440704407144072440734407444075440764407744078440794408044081440824408344084440854408644087440884408944090440914409244093440944409544096440974409844099441004410144102441034410444105441064410744108441094411044111441124411344114441154411644117441184411944120441214412244123441244412544126441274412844129441304413144132441334413444135441364413744138441394414044141441424414344144441454414644147441484414944150441514415244153441544415544156441574415844159441604416144162441634416444165441664416744168441694417044171441724417344174441754417644177441784417944180441814418244183441844418544186441874418844189441904419144192441934419444195441964419744198441994420044201442024420344204442054420644207442084420944210442114421244213442144421544216442174421844219442204422144222442234422444225442264422744228442294423044231442324423344234442354423644237442384423944240442414424244243442444424544246442474424844249442504425144252442534425444255442564425744258442594426044261442624426344264442654426644267442684426944270442714427244273442744427544276442774427844279442804428144282442834428444285442864428744288442894429044291442924429344294442954429644297442984429944300443014430244303443044430544306443074430844309443104431144312443134431444315443164431744318443194432044321443224432344324443254432644327443284432944330443314433244333443344433544336443374433844339443404434144342443434434444345443464434744348443494435044351443524435344354443554435644357443584435944360443614436244363443644436544366443674436844369443704437144372443734437444375443764437744378443794438044381443824438344384443854438644387443884438944390443914439244393443944439544396443974439844399444004440144402444034440444405444064440744408444094441044411444124441344414444154441644417444184441944420444214442244423444244442544426444274442844429444304443144432444334443444435444364443744438444394444044441444424444344444444454444644447444484444944450444514445244453444544445544456444574445844459444604446144462444634446444465444664446744468444694447044471444724447344474444754447644477444784447944480444814448244483444844448544486444874448844489444904449144492444934449444495444964449744498444994450044501445024450344504445054450644507445084450944510445114451244513445144451544516445174451844519445204452144522445234452444525445264452744528445294453044531445324453344534445354453644537445384453944540445414454244543445444454544546445474454844549445504455144552445534455444555445564455744558445594456044561445624456344564445654456644567445684456944570445714457244573445744457544576445774457844579445804458144582445834458444585445864458744588445894459044591445924459344594445954459644597445984459944600446014460244603446044460544606446074460844609446104461144612446134461444615446164461744618446194462044621446224462344624446254462644627446284462944630446314463244633446344463544636446374463844639446404464144642446434464444645446464464744648446494465044651446524465344654446554465644657446584465944660446614466244663446644466544666446674466844669446704467144672446734467444675446764467744678446794468044681446824468344684446854468644687446884468944690446914469244693446944469544696446974469844699447004470144702447034470444705447064470744708447094471044711447124471344714447154471644717447184471944720447214472244723447244472544726447274472844729447304473144732447334473444735447364473744738447394474044741447424474344744447454474644747447484474944750447514475244753447544475544756447574475844759447604476144762447634476444765447664476744768447694477044771447724477344774447754477644777447784477944780447814478244783447844478544786447874478844789447904479144792447934479444795447964479744798447994480044801448024480344804448054480644807448084480944810448114481244813448144481544816448174481844819448204482144822448234482444825448264482744828448294483044831448324483344834448354483644837448384483944840448414484244843448444484544846448474484844849448504485144852448534485444855448564485744858448594486044861448624486344864448654486644867448684486944870448714487244873448744487544876448774487844879448804488144882448834488444885448864488744888448894489044891448924489344894448954489644897448984489944900449014490244903449044490544906449074490844909449104491144912449134491444915449164491744918449194492044921449224492344924449254492644927449284492944930449314493244933449344493544936449374493844939449404494144942449434494444945449464494744948449494495044951449524495344954449554495644957449584495944960449614496244963449644496544966449674496844969449704497144972449734497444975449764497744978449794498044981449824498344984449854498644987449884498944990449914499244993449944499544996449974499844999450004500145002450034500445005450064500745008450094501045011450124501345014450154501645017450184501945020450214502245023450244502545026450274502845029450304503145032450334503445035450364503745038450394504045041450424504345044450454504645047450484504945050450514505245053450544505545056450574505845059450604506145062450634506445065450664506745068450694507045071450724507345074450754507645077450784507945080450814508245083450844508545086450874508845089450904509145092450934509445095450964509745098450994510045101451024510345104451054510645107451084510945110451114511245113451144511545116451174511845119451204512145122451234512445125451264512745128451294513045131451324513345134451354513645137451384513945140451414514245143451444514545146451474514845149451504515145152451534515445155451564515745158451594516045161451624516345164451654516645167451684516945170451714517245173451744517545176451774517845179451804518145182451834518445185451864518745188451894519045191451924519345194451954519645197451984519945200452014520245203452044520545206452074520845209452104521145212452134521445215452164521745218452194522045221452224522345224452254522645227452284522945230452314523245233452344523545236452374523845239452404524145242452434524445245452464524745248452494525045251452524525345254452554525645257452584525945260452614526245263452644526545266452674526845269452704527145272452734527445275452764527745278452794528045281452824528345284452854528645287452884528945290452914529245293452944529545296452974529845299453004530145302453034530445305453064530745308453094531045311453124531345314453154531645317453184531945320453214532245323453244532545326453274532845329453304533145332453334533445335453364533745338453394534045341453424534345344453454534645347453484534945350453514535245353453544535545356453574535845359453604536145362453634536445365453664536745368453694537045371453724537345374453754537645377453784537945380453814538245383453844538545386453874538845389453904539145392453934539445395453964539745398453994540045401454024540345404454054540645407454084540945410454114541245413454144541545416454174541845419454204542145422454234542445425454264542745428454294543045431454324543345434454354543645437454384543945440454414544245443454444544545446454474544845449454504545145452454534545445455454564545745458454594546045461454624546345464454654546645467454684546945470454714547245473454744547545476454774547845479454804548145482454834548445485454864548745488454894549045491454924549345494454954549645497454984549945500455014550245503455044550545506455074550845509455104551145512455134551445515455164551745518455194552045521455224552345524455254552645527455284552945530455314553245533455344553545536455374553845539455404554145542455434554445545455464554745548455494555045551455524555345554455554555645557455584555945560455614556245563455644556545566455674556845569455704557145572455734557445575455764557745578455794558045581455824558345584455854558645587455884558945590455914559245593455944559545596455974559845599456004560145602456034560445605456064560745608456094561045611456124561345614456154561645617456184561945620456214562245623456244562545626456274562845629456304563145632456334563445635456364563745638456394564045641456424564345644456454564645647456484564945650456514565245653456544565545656456574565845659456604566145662456634566445665456664566745668456694567045671456724567345674456754567645677456784567945680456814568245683456844568545686456874568845689456904569145692456934569445695456964569745698456994570045701457024570345704457054570645707457084570945710457114571245713457144571545716457174571845719457204572145722457234572445725457264572745728457294573045731457324573345734457354573645737457384573945740457414574245743457444574545746457474574845749457504575145752457534575445755457564575745758457594576045761457624576345764457654576645767457684576945770457714577245773457744577545776457774577845779457804578145782457834578445785457864578745788457894579045791457924579345794457954579645797457984579945800458014580245803458044580545806458074580845809458104581145812458134581445815458164581745818458194582045821458224582345824458254582645827458284582945830458314583245833458344583545836458374583845839458404584145842458434584445845458464584745848458494585045851458524585345854458554585645857458584585945860458614586245863458644586545866458674586845869458704587145872458734587445875458764587745878458794588045881458824588345884458854588645887458884588945890458914589245893458944589545896458974589845899459004590145902459034590445905459064590745908459094591045911459124591345914459154591645917459184591945920459214592245923459244592545926459274592845929459304593145932459334593445935459364593745938459394594045941459424594345944459454594645947459484594945950459514595245953459544595545956459574595845959459604596145962459634596445965459664596745968459694597045971459724597345974459754597645977459784597945980459814598245983459844598545986459874598845989459904599145992459934599445995459964599745998459994600046001460024600346004460054600646007460084600946010460114601246013460144601546016460174601846019460204602146022460234602446025460264602746028460294603046031460324603346034460354603646037460384603946040460414604246043460444604546046460474604846049460504605146052460534605446055460564605746058460594606046061460624606346064460654606646067460684606946070460714607246073460744607546076460774607846079460804608146082460834608446085460864608746088460894609046091460924609346094460954609646097460984609946100461014610246103461044610546106461074610846109461104611146112461134611446115461164611746118461194612046121461224612346124461254612646127461284612946130461314613246133461344613546136461374613846139461404614146142461434614446145461464614746148461494615046151461524615346154461554615646157461584615946160461614616246163461644616546166461674616846169461704617146172461734617446175461764617746178461794618046181461824618346184461854618646187461884618946190461914619246193461944619546196461974619846199462004620146202462034620446205462064620746208462094621046211462124621346214462154621646217462184621946220462214622246223462244622546226462274622846229462304623146232462334623446235462364623746238462394624046241462424624346244462454624646247462484624946250462514625246253462544625546256462574625846259462604626146262462634626446265462664626746268462694627046271462724627346274462754627646277462784627946280462814628246283462844628546286462874628846289462904629146292462934629446295462964629746298462994630046301463024630346304463054630646307463084630946310463114631246313463144631546316463174631846319463204632146322463234632446325463264632746328463294633046331463324633346334463354633646337463384633946340463414634246343463444634546346463474634846349463504635146352463534635446355463564635746358463594636046361463624636346364463654636646367463684636946370463714637246373463744637546376463774637846379463804638146382463834638446385463864638746388463894639046391463924639346394463954639646397463984639946400464014640246403464044640546406464074640846409464104641146412464134641446415464164641746418464194642046421464224642346424464254642646427464284642946430464314643246433464344643546436464374643846439464404644146442464434644446445464464644746448464494645046451464524645346454464554645646457464584645946460464614646246463464644646546466464674646846469464704647146472464734647446475464764647746478464794648046481464824648346484464854648646487464884648946490464914649246493464944649546496464974649846499465004650146502465034650446505465064650746508465094651046511465124651346514465154651646517465184651946520465214652246523465244652546526465274652846529465304653146532465334653446535465364653746538465394654046541465424654346544465454654646547465484654946550465514655246553465544655546556465574655846559465604656146562465634656446565465664656746568465694657046571465724657346574465754657646577465784657946580465814658246583465844658546586465874658846589465904659146592465934659446595465964659746598465994660046601466024660346604466054660646607466084660946610466114661246613466144661546616466174661846619466204662146622466234662446625466264662746628466294663046631466324663346634466354663646637466384663946640466414664246643466444664546646466474664846649466504665146652466534665446655466564665746658466594666046661466624666346664466654666646667466684666946670466714667246673466744667546676466774667846679466804668146682466834668446685466864668746688466894669046691466924669346694466954669646697466984669946700467014670246703467044670546706467074670846709467104671146712467134671446715467164671746718467194672046721467224672346724467254672646727467284672946730467314673246733467344673546736467374673846739467404674146742467434674446745467464674746748467494675046751467524675346754467554675646757467584675946760467614676246763467644676546766467674676846769467704677146772467734677446775467764677746778467794678046781467824678346784467854678646787467884678946790467914679246793467944679546796467974679846799468004680146802468034680446805468064680746808468094681046811468124681346814468154681646817468184681946820468214682246823468244682546826468274682846829468304683146832468334683446835468364683746838468394684046841468424684346844468454684646847468484684946850468514685246853468544685546856468574685846859468604686146862468634686446865468664686746868468694687046871468724687346874468754687646877468784687946880468814688246883468844688546886468874688846889468904689146892468934689446895468964689746898468994690046901469024690346904469054690646907469084690946910469114691246913469144691546916469174691846919469204692146922469234692446925469264692746928469294693046931469324693346934469354693646937469384693946940469414694246943469444694546946469474694846949469504695146952469534695446955469564695746958469594696046961469624696346964469654696646967469684696946970469714697246973469744697546976469774697846979469804698146982469834698446985469864698746988469894699046991469924699346994469954699646997469984699947000470014700247003470044700547006470074700847009470104701147012470134701447015470164701747018470194702047021470224702347024470254702647027470284702947030470314703247033470344703547036470374703847039470404704147042470434704447045470464704747048470494705047051470524705347054470554705647057470584705947060470614706247063470644706547066470674706847069470704707147072470734707447075470764707747078470794708047081470824708347084470854708647087470884708947090470914709247093470944709547096470974709847099471004710147102471034710447105471064710747108471094711047111471124711347114471154711647117471184711947120471214712247123471244712547126471274712847129471304713147132471334713447135471364713747138471394714047141471424714347144471454714647147471484714947150471514715247153471544715547156471574715847159471604716147162471634716447165471664716747168471694717047171471724717347174471754717647177471784717947180471814718247183471844718547186471874718847189471904719147192471934719447195471964719747198471994720047201472024720347204472054720647207472084720947210472114721247213472144721547216472174721847219472204722147222472234722447225472264722747228472294723047231472324723347234472354723647237472384723947240472414724247243472444724547246472474724847249472504725147252472534725447255472564725747258472594726047261472624726347264472654726647267472684726947270472714727247273472744727547276472774727847279472804728147282472834728447285472864728747288472894729047291472924729347294472954729647297472984729947300473014730247303473044730547306473074730847309473104731147312473134731447315473164731747318473194732047321473224732347324473254732647327473284732947330473314733247333473344733547336473374733847339473404734147342473434734447345473464734747348473494735047351473524735347354473554735647357473584735947360473614736247363473644736547366473674736847369473704737147372473734737447375473764737747378473794738047381473824738347384473854738647387473884738947390473914739247393473944739547396473974739847399474004740147402474034740447405474064740747408474094741047411474124741347414474154741647417474184741947420474214742247423474244742547426474274742847429474304743147432474334743447435474364743747438474394744047441474424744347444474454744647447474484744947450474514745247453474544745547456474574745847459474604746147462474634746447465474664746747468474694747047471474724747347474474754747647477474784747947480474814748247483474844748547486474874748847489474904749147492474934749447495474964749747498474994750047501475024750347504475054750647507475084750947510475114751247513475144751547516475174751847519475204752147522475234752447525475264752747528475294753047531475324753347534475354753647537475384753947540475414754247543475444754547546475474754847549475504755147552475534755447555475564755747558475594756047561475624756347564475654756647567475684756947570475714757247573475744757547576475774757847579475804758147582475834758447585475864758747588475894759047591475924759347594475954759647597475984759947600476014760247603476044760547606476074760847609476104761147612476134761447615476164761747618476194762047621476224762347624476254762647627476284762947630476314763247633476344763547636476374763847639476404764147642476434764447645476464764747648476494765047651476524765347654476554765647657476584765947660476614766247663476644766547666476674766847669476704767147672476734767447675476764767747678476794768047681476824768347684476854768647687476884768947690476914769247693476944769547696476974769847699477004770147702477034770447705477064770747708477094771047711477124771347714477154771647717477184771947720477214772247723477244772547726477274772847729477304773147732477334773447735477364773747738477394774047741477424774347744477454774647747477484774947750477514775247753477544775547756477574775847759477604776147762477634776447765477664776747768477694777047771477724777347774477754777647777477784777947780477814778247783477844778547786477874778847789477904779147792477934779447795477964779747798477994780047801478024780347804478054780647807478084780947810478114781247813478144781547816478174781847819478204782147822478234782447825478264782747828478294783047831478324783347834478354783647837478384783947840478414784247843478444784547846478474784847849478504785147852478534785447855478564785747858478594786047861478624786347864478654786647867478684786947870478714787247873478744787547876478774787847879478804788147882478834788447885478864788747888478894789047891478924789347894478954789647897478984789947900479014790247903479044790547906479074790847909479104791147912479134791447915479164791747918479194792047921479224792347924479254792647927479284792947930479314793247933479344793547936479374793847939479404794147942479434794447945479464794747948479494795047951479524795347954479554795647957479584795947960479614796247963479644796547966479674796847969479704797147972479734797447975479764797747978479794798047981479824798347984479854798647987479884798947990479914799247993479944799547996479974799847999480004800148002480034800448005480064800748008480094801048011480124801348014480154801648017480184801948020480214802248023480244802548026480274802848029480304803148032480334803448035480364803748038480394804048041480424804348044480454804648047480484804948050480514805248053480544805548056480574805848059480604806148062480634806448065480664806748068480694807048071480724807348074480754807648077480784807948080480814808248083480844808548086480874808848089480904809148092480934809448095480964809748098480994810048101481024810348104481054810648107481084810948110481114811248113481144811548116481174811848119481204812148122481234812448125481264812748128481294813048131481324813348134481354813648137481384813948140481414814248143481444814548146481474814848149481504815148152481534815448155481564815748158481594816048161481624816348164481654816648167481684816948170481714817248173481744817548176481774817848179481804818148182481834818448185481864818748188481894819048191481924819348194481954819648197481984819948200482014820248203482044820548206482074820848209482104821148212482134821448215482164821748218482194822048221482224822348224482254822648227482284822948230482314823248233482344823548236482374823848239482404824148242482434824448245482464824748248482494825048251482524825348254482554825648257482584825948260482614826248263482644826548266482674826848269482704827148272482734827448275482764827748278482794828048281482824828348284482854828648287482884828948290482914829248293482944829548296482974829848299483004830148302483034830448305483064830748308483094831048311483124831348314483154831648317483184831948320483214832248323483244832548326483274832848329483304833148332483334833448335483364833748338483394834048341483424834348344483454834648347483484834948350483514835248353483544835548356483574835848359483604836148362483634836448365483664836748368483694837048371483724837348374483754837648377483784837948380483814838248383483844838548386483874838848389483904839148392483934839448395483964839748398483994840048401484024840348404484054840648407484084840948410484114841248413484144841548416484174841848419484204842148422484234842448425484264842748428484294843048431484324843348434484354843648437484384843948440484414844248443484444844548446484474844848449484504845148452484534845448455484564845748458484594846048461484624846348464484654846648467484684846948470484714847248473484744847548476484774847848479484804848148482484834848448485484864848748488484894849048491484924849348494484954849648497484984849948500485014850248503485044850548506485074850848509485104851148512485134851448515485164851748518485194852048521485224852348524485254852648527485284852948530485314853248533485344853548536485374853848539485404854148542485434854448545485464854748548485494855048551485524855348554485554855648557485584855948560485614856248563485644856548566485674856848569485704857148572485734857448575485764857748578485794858048581485824858348584485854858648587485884858948590485914859248593485944859548596485974859848599486004860148602486034860448605486064860748608486094861048611486124861348614486154861648617486184861948620486214862248623486244862548626486274862848629486304863148632486334863448635486364863748638486394864048641486424864348644486454864648647486484864948650486514865248653486544865548656486574865848659486604866148662486634866448665486664866748668486694867048671486724867348674486754867648677486784867948680486814868248683486844868548686486874868848689486904869148692486934869448695486964869748698486994870048701487024870348704487054870648707487084870948710487114871248713487144871548716487174871848719487204872148722487234872448725487264872748728487294873048731487324873348734487354873648737487384873948740487414874248743487444874548746487474874848749487504875148752487534875448755487564875748758487594876048761487624876348764487654876648767487684876948770487714877248773487744877548776487774877848779487804878148782487834878448785487864878748788487894879048791487924879348794487954879648797487984879948800488014880248803488044880548806488074880848809488104881148812488134881448815488164881748818488194882048821488224882348824488254882648827488284882948830488314883248833488344883548836488374883848839488404884148842488434884448845488464884748848488494885048851488524885348854488554885648857488584885948860488614886248863488644886548866488674886848869488704887148872488734887448875488764887748878488794888048881488824888348884488854888648887488884888948890488914889248893488944889548896488974889848899489004890148902489034890448905489064890748908489094891048911489124891348914489154891648917489184891948920489214892248923489244892548926489274892848929489304893148932489334893448935489364893748938489394894048941489424894348944489454894648947489484894948950489514895248953489544895548956489574895848959489604896148962489634896448965489664896748968489694897048971489724897348974489754897648977489784897948980489814898248983489844898548986489874898848989489904899148992489934899448995489964899748998489994900049001490024900349004490054900649007490084900949010490114901249013490144901549016490174901849019490204902149022490234902449025490264902749028490294903049031490324903349034490354903649037490384903949040490414904249043490444904549046490474904849049490504905149052490534905449055490564905749058490594906049061490624906349064490654906649067490684906949070490714907249073490744907549076490774907849079490804908149082490834908449085490864908749088490894909049091490924909349094490954909649097490984909949100491014910249103491044910549106491074910849109491104911149112491134911449115491164911749118491194912049121491224912349124491254912649127491284912949130491314913249133491344913549136491374913849139491404914149142491434914449145491464914749148491494915049151491524915349154491554915649157491584915949160491614916249163491644916549166491674916849169491704917149172491734917449175491764917749178491794918049181491824918349184491854918649187491884918949190491914919249193491944919549196491974919849199492004920149202492034920449205492064920749208492094921049211492124921349214492154921649217492184921949220492214922249223492244922549226492274922849229492304923149232492334923449235492364923749238492394924049241492424924349244492454924649247492484924949250492514925249253492544925549256492574925849259492604926149262492634926449265492664926749268492694927049271492724927349274492754927649277492784927949280492814928249283492844928549286492874928849289492904929149292492934929449295492964929749298492994930049301493024930349304493054930649307493084930949310493114931249313493144931549316493174931849319493204932149322493234932449325493264932749328493294933049331493324933349334493354933649337493384933949340493414934249343493444934549346493474934849349493504935149352493534935449355493564935749358493594936049361493624936349364493654936649367493684936949370493714937249373493744937549376493774937849379493804938149382493834938449385493864938749388493894939049391493924939349394493954939649397493984939949400494014940249403494044940549406494074940849409494104941149412494134941449415494164941749418494194942049421494224942349424494254942649427494284942949430494314943249433494344943549436494374943849439494404944149442494434944449445494464944749448494494945049451494524945349454494554945649457494584945949460494614946249463494644946549466494674946849469494704947149472494734947449475494764947749478494794948049481494824948349484494854948649487494884948949490494914949249493494944949549496494974949849499495004950149502495034950449505495064950749508495094951049511495124951349514495154951649517495184951949520495214952249523495244952549526495274952849529495304953149532495334953449535495364953749538495394954049541495424954349544495454954649547495484954949550495514955249553495544955549556495574955849559495604956149562495634956449565495664956749568495694957049571495724957349574495754957649577495784957949580495814958249583495844958549586495874958849589495904959149592495934959449595495964959749598495994960049601496024960349604496054960649607496084960949610496114961249613496144961549616496174961849619496204962149622496234962449625496264962749628496294963049631496324963349634496354963649637496384963949640496414964249643496444964549646496474964849649496504965149652496534965449655496564965749658496594966049661496624966349664496654966649667496684966949670496714967249673496744967549676496774967849679496804968149682496834968449685496864968749688496894969049691496924969349694496954969649697496984969949700497014970249703497044970549706497074970849709497104971149712497134971449715497164971749718497194972049721497224972349724497254972649727497284972949730497314973249733497344973549736497374973849739497404974149742497434974449745497464974749748497494975049751497524975349754497554975649757497584975949760497614976249763497644976549766497674976849769497704977149772497734977449775497764977749778497794978049781497824978349784497854978649787497884978949790497914979249793497944979549796497974979849799498004980149802498034980449805498064980749808498094981049811498124981349814498154981649817498184981949820498214982249823498244982549826498274982849829498304983149832498334983449835498364983749838498394984049841498424984349844498454984649847498484984949850498514985249853498544985549856498574985849859498604986149862498634986449865498664986749868498694987049871498724987349874498754987649877498784987949880498814988249883498844988549886498874988849889498904989149892498934989449895498964989749898498994990049901499024990349904499054990649907499084990949910499114991249913499144991549916499174991849919499204992149922499234992449925499264992749928499294993049931499324993349934499354993649937499384993949940499414994249943499444994549946499474994849949499504995149952499534995449955499564995749958499594996049961499624996349964499654996649967499684996949970499714997249973499744997549976499774997849979499804998149982499834998449985499864998749988499894999049991499924999349994499954999649997499984999950000500015000250003500045000550006500075000850009500105001150012500135001450015500165001750018500195002050021500225002350024500255002650027500285002950030500315003250033500345003550036500375003850039500405004150042500435004450045500465004750048500495005050051500525005350054500555005650057500585005950060500615006250063500645006550066500675006850069500705007150072500735007450075500765007750078500795008050081500825008350084500855008650087500885008950090500915009250093500945009550096500975009850099501005010150102501035010450105501065010750108501095011050111501125011350114501155011650117501185011950120501215012250123501245012550126501275012850129501305013150132501335013450135501365013750138501395014050141501425014350144501455014650147501485014950150501515015250153501545015550156501575015850159501605016150162501635016450165501665016750168501695017050171501725017350174501755017650177501785017950180501815018250183501845018550186501875018850189501905019150192501935019450195501965019750198501995020050201502025020350204502055020650207502085020950210502115021250213502145021550216502175021850219502205022150222502235022450225502265022750228502295023050231502325023350234502355023650237502385023950240502415024250243502445024550246502475024850249502505025150252502535025450255502565025750258502595026050261502625026350264502655026650267502685026950270502715027250273502745027550276502775027850279502805028150282502835028450285502865028750288502895029050291502925029350294502955029650297502985029950300503015030250303503045030550306503075030850309503105031150312503135031450315503165031750318503195032050321503225032350324503255032650327503285032950330503315033250333503345033550336503375033850339503405034150342503435034450345503465034750348503495035050351503525035350354503555035650357503585035950360503615036250363503645036550366503675036850369503705037150372503735037450375503765037750378503795038050381503825038350384503855038650387503885038950390503915039250393503945039550396503975039850399504005040150402504035040450405504065040750408504095041050411504125041350414504155041650417504185041950420504215042250423504245042550426504275042850429504305043150432504335043450435504365043750438504395044050441504425044350444504455044650447504485044950450504515045250453504545045550456504575045850459504605046150462504635046450465504665046750468504695047050471504725047350474504755047650477504785047950480504815048250483504845048550486504875048850489504905049150492504935049450495504965049750498504995050050501505025050350504505055050650507505085050950510505115051250513505145051550516505175051850519505205052150522505235052450525505265052750528505295053050531505325053350534505355053650537505385053950540505415054250543505445054550546505475054850549505505055150552505535055450555505565055750558505595056050561505625056350564505655056650567505685056950570505715057250573505745057550576505775057850579505805058150582505835058450585505865058750588505895059050591505925059350594505955059650597505985059950600506015060250603506045060550606506075060850609506105061150612506135061450615506165061750618506195062050621506225062350624506255062650627506285062950630506315063250633506345063550636506375063850639506405064150642506435064450645506465064750648506495065050651506525065350654506555065650657506585065950660506615066250663506645066550666506675066850669506705067150672506735067450675506765067750678506795068050681506825068350684506855068650687506885068950690506915069250693506945069550696506975069850699507005070150702507035070450705507065070750708507095071050711507125071350714507155071650717507185071950720507215072250723507245072550726507275072850729507305073150732507335073450735507365073750738507395074050741507425074350744507455074650747507485074950750507515075250753507545075550756507575075850759507605076150762507635076450765507665076750768507695077050771507725077350774507755077650777507785077950780507815078250783507845078550786507875078850789507905079150792507935079450795507965079750798507995080050801508025080350804508055080650807508085080950810508115081250813508145081550816508175081850819508205082150822508235082450825508265082750828508295083050831508325083350834508355083650837508385083950840508415084250843508445084550846508475084850849508505085150852508535085450855508565085750858508595086050861508625086350864508655086650867508685086950870508715087250873508745087550876508775087850879508805088150882508835088450885508865088750888508895089050891508925089350894508955089650897508985089950900509015090250903509045090550906509075090850909509105091150912509135091450915509165091750918509195092050921509225092350924509255092650927509285092950930509315093250933509345093550936509375093850939509405094150942509435094450945509465094750948509495095050951509525095350954509555095650957509585095950960509615096250963509645096550966509675096850969509705097150972509735097450975509765097750978509795098050981509825098350984509855098650987509885098950990509915099250993509945099550996509975099850999510005100151002510035100451005510065100751008510095101051011510125101351014510155101651017510185101951020510215102251023510245102551026510275102851029510305103151032510335103451035510365103751038510395104051041510425104351044510455104651047510485104951050510515105251053510545105551056510575105851059510605106151062510635106451065510665106751068510695107051071510725107351074510755107651077510785107951080510815108251083510845108551086510875108851089510905109151092510935109451095510965109751098510995110051101511025110351104511055110651107511085110951110511115111251113511145111551116511175111851119511205112151122511235112451125511265112751128511295113051131511325113351134511355113651137511385113951140511415114251143511445114551146511475114851149511505115151152511535115451155511565115751158511595116051161511625116351164511655116651167511685116951170511715117251173511745117551176511775117851179511805118151182511835118451185511865118751188511895119051191511925119351194511955119651197511985119951200512015120251203512045120551206512075120851209512105121151212512135121451215512165121751218512195122051221512225122351224512255122651227512285122951230512315123251233512345123551236512375123851239512405124151242512435124451245512465124751248512495125051251512525125351254512555125651257512585125951260512615126251263512645126551266512675126851269512705127151272512735127451275512765127751278512795128051281512825128351284512855128651287512885128951290512915129251293512945129551296512975129851299513005130151302513035130451305513065130751308513095131051311513125131351314513155131651317513185131951320513215132251323513245132551326513275132851329513305133151332513335133451335513365133751338513395134051341513425134351344513455134651347513485134951350513515135251353513545135551356513575135851359513605136151362513635136451365513665136751368513695137051371513725137351374513755137651377513785137951380513815138251383513845138551386513875138851389513905139151392513935139451395513965139751398513995140051401514025140351404514055140651407514085140951410514115141251413514145141551416514175141851419514205142151422514235142451425514265142751428514295143051431514325143351434514355143651437514385143951440514415144251443514445144551446514475144851449514505145151452514535145451455514565145751458514595146051461514625146351464514655146651467514685146951470514715147251473514745147551476514775147851479514805148151482514835148451485514865148751488514895149051491514925149351494514955149651497514985149951500515015150251503515045150551506515075150851509515105151151512515135151451515515165151751518515195152051521515225152351524515255152651527515285152951530515315153251533515345153551536515375153851539515405154151542515435154451545515465154751548515495155051551515525155351554515555155651557515585155951560515615156251563515645156551566515675156851569515705157151572515735157451575515765157751578515795158051581515825158351584515855158651587515885158951590515915159251593515945159551596515975159851599516005160151602516035160451605516065160751608516095161051611516125161351614516155161651617516185161951620516215162251623516245162551626516275162851629516305163151632516335163451635516365163751638516395164051641516425164351644516455164651647516485164951650516515165251653516545165551656516575165851659516605166151662516635166451665516665166751668516695167051671516725167351674516755167651677516785167951680516815168251683516845168551686516875168851689516905169151692516935169451695516965169751698516995170051701517025170351704517055170651707517085170951710517115171251713517145171551716517175171851719517205172151722517235172451725517265172751728517295173051731517325173351734517355173651737517385173951740517415174251743517445174551746517475174851749517505175151752517535175451755517565175751758517595176051761517625176351764517655176651767517685176951770517715177251773517745177551776517775177851779517805178151782517835178451785517865178751788517895179051791517925179351794517955179651797517985179951800518015180251803518045180551806518075180851809518105181151812518135181451815518165181751818518195182051821518225182351824518255182651827518285182951830518315183251833518345183551836518375183851839518405184151842518435184451845518465184751848518495185051851518525185351854518555185651857518585185951860518615186251863518645186551866518675186851869518705187151872518735187451875518765187751878518795188051881518825188351884518855188651887518885188951890518915189251893518945189551896518975189851899519005190151902519035190451905519065190751908519095191051911519125191351914519155191651917519185191951920519215192251923519245192551926519275192851929519305193151932519335193451935519365193751938519395194051941519425194351944519455194651947519485194951950519515195251953519545195551956519575195851959519605196151962519635196451965519665196751968519695197051971519725197351974519755197651977519785197951980519815198251983519845198551986519875198851989519905199151992519935199451995519965199751998519995200052001520025200352004520055200652007520085200952010520115201252013520145201552016520175201852019520205202152022520235202452025520265202752028520295203052031520325203352034520355203652037520385203952040520415204252043520445204552046520475204852049520505205152052520535205452055520565205752058520595206052061520625206352064520655206652067520685206952070520715207252073520745207552076520775207852079520805208152082520835208452085520865208752088520895209052091520925209352094520955209652097520985209952100521015210252103521045210552106521075210852109521105211152112521135211452115521165211752118521195212052121521225212352124521255212652127521285212952130521315213252133521345213552136521375213852139521405214152142521435214452145521465214752148521495215052151521525215352154521555215652157521585215952160521615216252163521645216552166521675216852169521705217152172521735217452175521765217752178521795218052181521825218352184521855218652187521885218952190521915219252193521945219552196521975219852199522005220152202522035220452205522065220752208522095221052211522125221352214522155221652217522185221952220522215222252223522245222552226522275222852229522305223152232522335223452235522365223752238522395224052241522425224352244522455224652247522485224952250522515225252253522545225552256522575225852259522605226152262522635226452265522665226752268522695227052271522725227352274522755227652277522785227952280522815228252283522845228552286522875228852289522905229152292522935229452295522965229752298522995230052301523025230352304523055230652307523085230952310523115231252313523145231552316523175231852319523205232152322523235232452325523265232752328523295233052331523325233352334523355233652337523385233952340523415234252343523445234552346523475234852349523505235152352523535235452355523565235752358523595236052361523625236352364523655236652367523685236952370523715237252373523745237552376523775237852379523805238152382523835238452385523865238752388523895239052391523925239352394523955239652397523985239952400524015240252403524045240552406524075240852409524105241152412524135241452415524165241752418524195242052421524225242352424524255242652427524285242952430524315243252433524345243552436524375243852439524405244152442524435244452445524465244752448524495245052451524525245352454524555245652457524585245952460524615246252463524645246552466524675246852469524705247152472524735247452475524765247752478524795248052481524825248352484524855248652487524885248952490524915249252493524945249552496524975249852499525005250152502525035250452505525065250752508525095251052511525125251352514525155251652517525185251952520525215252252523525245252552526525275252852529525305253152532525335253452535525365253752538525395254052541525425254352544525455254652547525485254952550525515255252553525545255552556525575255852559525605256152562525635256452565525665256752568525695257052571525725257352574525755257652577525785257952580525815258252583525845258552586525875258852589525905259152592525935259452595525965259752598525995260052601526025260352604526055260652607526085260952610526115261252613526145261552616526175261852619526205262152622526235262452625526265262752628526295263052631526325263352634526355263652637526385263952640526415264252643526445264552646526475264852649526505265152652526535265452655526565265752658526595266052661526625266352664526655266652667526685266952670526715267252673526745267552676526775267852679526805268152682526835268452685526865268752688526895269052691526925269352694526955269652697526985269952700527015270252703527045270552706527075270852709527105271152712527135271452715527165271752718527195272052721527225272352724527255272652727527285272952730527315273252733527345273552736527375273852739527405274152742527435274452745527465274752748527495275052751527525275352754527555275652757527585275952760527615276252763527645276552766527675276852769527705277152772527735277452775527765277752778527795278052781527825278352784527855278652787527885278952790527915279252793527945279552796527975279852799528005280152802528035280452805528065280752808528095281052811528125281352814528155281652817528185281952820528215282252823528245282552826528275282852829528305283152832528335283452835528365283752838528395284052841528425284352844528455284652847528485284952850528515285252853528545285552856528575285852859528605286152862528635286452865528665286752868528695287052871528725287352874528755287652877528785287952880528815288252883528845288552886528875288852889528905289152892528935289452895528965289752898528995290052901529025290352904529055290652907529085290952910529115291252913529145291552916529175291852919529205292152922529235292452925529265292752928529295293052931529325293352934529355293652937529385293952940529415294252943529445294552946529475294852949529505295152952529535295452955529565295752958529595296052961529625296352964529655296652967529685296952970529715297252973529745297552976529775297852979529805298152982529835298452985529865298752988529895299052991529925299352994529955299652997529985299953000530015300253003530045300553006530075300853009530105301153012530135301453015530165301753018530195302053021530225302353024530255302653027530285302953030530315303253033530345303553036530375303853039530405304153042530435304453045530465304753048530495305053051530525305353054530555305653057530585305953060530615306253063530645306553066530675306853069530705307153072530735307453075530765307753078530795308053081530825308353084530855308653087530885308953090530915309253093530945309553096530975309853099531005310153102531035310453105531065310753108531095311053111531125311353114531155311653117531185311953120531215312253123531245312553126531275312853129531305313153132531335313453135531365313753138531395314053141531425314353144531455314653147531485314953150531515315253153531545315553156531575315853159531605316153162531635316453165531665316753168531695317053171531725317353174531755317653177531785317953180531815318253183531845318553186531875318853189531905319153192531935319453195531965319753198531995320053201532025320353204532055320653207532085320953210532115321253213532145321553216532175321853219532205322153222532235322453225532265322753228532295323053231532325323353234532355323653237532385323953240532415324253243532445324553246532475324853249532505325153252532535325453255532565325753258532595326053261532625326353264532655326653267532685326953270532715327253273532745327553276532775327853279532805328153282532835328453285532865328753288532895329053291532925329353294532955329653297532985329953300533015330253303533045330553306533075330853309533105331153312533135331453315533165331753318533195332053321533225332353324533255332653327533285332953330533315333253333533345333553336533375333853339533405334153342533435334453345533465334753348533495335053351533525335353354533555335653357533585335953360533615336253363533645336553366533675336853369533705337153372533735337453375533765337753378533795338053381533825338353384533855338653387533885338953390533915339253393533945339553396533975339853399534005340153402534035340453405534065340753408534095341053411534125341353414534155341653417534185341953420534215342253423534245342553426534275342853429534305343153432534335343453435534365343753438534395344053441534425344353444534455344653447534485344953450534515345253453534545345553456534575345853459534605346153462534635346453465534665346753468534695347053471534725347353474534755347653477534785347953480534815348253483534845348553486534875348853489534905349153492534935349453495534965349753498534995350053501535025350353504535055350653507535085350953510535115351253513535145351553516535175351853519535205352153522535235352453525535265352753528535295353053531535325353353534535355353653537535385353953540535415354253543535445354553546535475354853549535505355153552535535355453555535565355753558535595356053561535625356353564535655356653567535685356953570535715357253573535745357553576535775357853579535805358153582535835358453585535865358753588535895359053591535925359353594535955359653597535985359953600536015360253603536045360553606536075360853609536105361153612536135361453615536165361753618536195362053621536225362353624536255362653627536285362953630536315363253633536345363553636536375363853639536405364153642536435364453645536465364753648536495365053651536525365353654536555365653657536585365953660536615366253663536645366553666536675366853669536705367153672536735367453675536765367753678536795368053681536825368353684536855368653687536885368953690536915369253693536945369553696536975369853699537005370153702537035370453705537065370753708537095371053711537125371353714537155371653717537185371953720537215372253723537245372553726537275372853729537305373153732537335373453735537365373753738537395374053741537425374353744537455374653747537485374953750537515375253753537545375553756537575375853759537605376153762537635376453765537665376753768537695377053771537725377353774537755377653777537785377953780537815378253783537845378553786537875378853789537905379153792537935379453795537965379753798537995380053801538025380353804538055380653807538085380953810538115381253813538145381553816538175381853819538205382153822538235382453825538265382753828538295383053831538325383353834538355383653837538385383953840538415384253843538445384553846538475384853849538505385153852538535385453855538565385753858538595386053861538625386353864538655386653867538685386953870538715387253873538745387553876538775387853879538805388153882538835388453885538865388753888538895389053891538925389353894538955389653897538985389953900539015390253903539045390553906539075390853909539105391153912539135391453915539165391753918539195392053921539225392353924539255392653927539285392953930539315393253933539345393553936539375393853939539405394153942539435394453945539465394753948539495395053951539525395353954539555395653957539585395953960539615396253963539645396553966539675396853969539705397153972539735397453975539765397753978539795398053981539825398353984539855398653987539885398953990539915399253993539945399553996539975399853999540005400154002540035400454005540065400754008540095401054011540125401354014540155401654017540185401954020540215402254023540245402554026540275402854029540305403154032540335403454035540365403754038540395404054041540425404354044540455404654047540485404954050540515405254053540545405554056540575405854059540605406154062540635406454065540665406754068540695407054071540725407354074540755407654077540785407954080540815408254083540845408554086540875408854089540905409154092540935409454095540965409754098540995410054101541025410354104541055410654107541085410954110541115411254113541145411554116541175411854119541205412154122541235412454125541265412754128541295413054131541325413354134541355413654137541385413954140541415414254143541445414554146541475414854149541505415154152541535415454155541565415754158541595416054161541625416354164541655416654167541685416954170541715417254173541745417554176541775417854179541805418154182541835418454185541865418754188541895419054191541925419354194541955419654197541985419954200542015420254203542045420554206542075420854209542105421154212542135421454215542165421754218542195422054221542225422354224542255422654227542285422954230542315423254233542345423554236542375423854239542405424154242542435424454245542465424754248542495425054251542525425354254542555425654257542585425954260542615426254263542645426554266542675426854269542705427154272542735427454275542765427754278542795428054281542825428354284542855428654287542885428954290542915429254293542945429554296542975429854299543005430154302543035430454305543065430754308543095431054311543125431354314543155431654317543185431954320543215432254323543245432554326543275432854329543305433154332543335433454335543365433754338543395434054341543425434354344543455434654347543485434954350543515435254353543545435554356543575435854359543605436154362543635436454365543665436754368543695437054371543725437354374543755437654377543785437954380543815438254383543845438554386543875438854389543905439154392543935439454395543965439754398543995440054401544025440354404544055440654407544085440954410544115441254413544145441554416544175441854419544205442154422544235442454425544265442754428544295443054431544325443354434544355443654437544385443954440544415444254443544445444554446544475444854449544505445154452544535445454455544565445754458544595446054461544625446354464544655446654467544685446954470544715447254473544745447554476544775447854479544805448154482544835448454485544865448754488544895449054491544925449354494544955449654497544985449954500545015450254503545045450554506545075450854509545105451154512545135451454515545165451754518545195452054521545225452354524545255452654527545285452954530545315453254533545345453554536545375453854539545405454154542545435454454545545465454754548545495455054551545525455354554545555455654557545585455954560545615456254563545645456554566545675456854569545705457154572545735457454575545765457754578545795458054581545825458354584545855458654587545885458954590545915459254593545945459554596545975459854599546005460154602546035460454605546065460754608546095461054611546125461354614546155461654617546185461954620546215462254623546245462554626546275462854629546305463154632546335463454635546365463754638546395464054641546425464354644546455464654647546485464954650546515465254653546545465554656546575465854659546605466154662546635466454665546665466754668546695467054671546725467354674546755467654677546785467954680546815468254683546845468554686546875468854689546905469154692546935469454695546965469754698546995470054701547025470354704547055470654707547085470954710547115471254713547145471554716547175471854719547205472154722547235472454725547265472754728547295473054731547325473354734547355473654737547385473954740547415474254743547445474554746547475474854749547505475154752547535475454755547565475754758547595476054761547625476354764547655476654767547685476954770547715477254773547745477554776547775477854779547805478154782547835478454785547865478754788547895479054791547925479354794547955479654797547985479954800548015480254803548045480554806548075480854809548105481154812548135481454815548165481754818548195482054821548225482354824548255482654827548285482954830548315483254833548345483554836548375483854839548405484154842548435484454845548465484754848548495485054851548525485354854548555485654857548585485954860548615486254863548645486554866548675486854869548705487154872548735487454875548765487754878548795488054881548825488354884548855488654887548885488954890548915489254893548945489554896548975489854899549005490154902549035490454905549065490754908549095491054911549125491354914549155491654917549185491954920549215492254923549245492554926549275492854929549305493154932549335493454935549365493754938549395494054941549425494354944549455494654947549485494954950549515495254953549545495554956549575495854959549605496154962549635496454965549665496754968549695497054971549725497354974549755497654977549785497954980549815498254983549845498554986549875498854989549905499154992549935499454995549965499754998549995500055001550025500355004550055500655007550085500955010550115501255013550145501555016550175501855019550205502155022550235502455025550265502755028550295503055031550325503355034550355503655037550385503955040550415504255043550445504555046550475504855049550505505155052550535505455055550565505755058550595506055061550625506355064550655506655067550685506955070550715507255073550745507555076550775507855079550805508155082550835508455085550865508755088550895509055091550925509355094550955509655097550985509955100551015510255103551045510555106551075510855109551105511155112551135511455115551165511755118551195512055121551225512355124551255512655127551285512955130551315513255133551345513555136551375513855139551405514155142551435514455145551465514755148551495515055151551525515355154551555515655157551585515955160551615516255163551645516555166551675516855169551705517155172551735517455175551765517755178551795518055181551825518355184551855518655187551885518955190551915519255193551945519555196551975519855199552005520155202552035520455205552065520755208552095521055211552125521355214552155521655217552185521955220552215522255223552245522555226552275522855229552305523155232552335523455235552365523755238552395524055241552425524355244552455524655247552485524955250552515525255253552545525555256552575525855259552605526155262552635526455265552665526755268552695527055271552725527355274552755527655277552785527955280552815528255283552845528555286552875528855289552905529155292552935529455295552965529755298552995530055301553025530355304553055530655307553085530955310553115531255313553145531555316553175531855319553205532155322553235532455325553265532755328553295533055331553325533355334553355533655337553385533955340553415534255343553445534555346553475534855349553505535155352553535535455355553565535755358553595536055361553625536355364553655536655367553685536955370553715537255373553745537555376553775537855379553805538155382553835538455385553865538755388553895539055391553925539355394553955539655397553985539955400554015540255403554045540555406554075540855409554105541155412554135541455415554165541755418554195542055421554225542355424554255542655427554285542955430554315543255433554345543555436554375543855439554405544155442554435544455445554465544755448554495545055451554525545355454554555545655457554585545955460554615546255463554645546555466554675546855469554705547155472554735547455475554765547755478554795548055481554825548355484554855548655487554885548955490554915549255493554945549555496554975549855499555005550155502555035550455505555065550755508555095551055511555125551355514555155551655517555185551955520555215552255523555245552555526555275552855529555305553155532555335553455535555365553755538555395554055541555425554355544555455554655547555485554955550555515555255553555545555555556555575555855559555605556155562555635556455565555665556755568555695557055571555725557355574555755557655577555785557955580555815558255583555845558555586555875558855589555905559155592555935559455595555965559755598555995560055601556025560355604556055560655607556085560955610556115561255613556145561555616556175561855619556205562155622556235562455625556265562755628556295563055631556325563355634556355563655637556385563955640556415564255643556445564555646556475564855649556505565155652556535565455655556565565755658556595566055661556625566355664556655566655667556685566955670556715567255673556745567555676556775567855679556805568155682556835568455685556865568755688556895569055691556925569355694556955569655697556985569955700557015570255703557045570555706557075570855709557105571155712557135571455715557165571755718557195572055721557225572355724557255572655727557285572955730557315573255733557345573555736557375573855739557405574155742557435574455745557465574755748557495575055751557525575355754557555575655757557585575955760557615576255763557645576555766557675576855769557705577155772557735577455775557765577755778557795578055781557825578355784557855578655787557885578955790557915579255793557945579555796557975579855799558005580155802558035580455805558065580755808558095581055811558125581355814558155581655817558185581955820558215582255823558245582555826558275582855829558305583155832558335583455835558365583755838558395584055841558425584355844558455584655847558485584955850558515585255853558545585555856558575585855859558605586155862558635586455865558665586755868558695587055871558725587355874558755587655877558785587955880558815588255883558845588555886558875588855889558905589155892558935589455895558965589755898558995590055901559025590355904559055590655907559085590955910559115591255913559145591555916559175591855919559205592155922559235592455925559265592755928559295593055931559325593355934559355593655937559385593955940559415594255943559445594555946559475594855949559505595155952559535595455955559565595755958559595596055961559625596355964559655596655967559685596955970559715597255973559745597555976559775597855979559805598155982559835598455985559865598755988559895599055991559925599355994559955599655997559985599956000560015600256003560045600556006560075600856009560105601156012560135601456015560165601756018560195602056021560225602356024560255602656027560285602956030560315603256033560345603556036560375603856039560405604156042560435604456045560465604756048560495605056051560525605356054560555605656057560585605956060560615606256063560645606556066560675606856069560705607156072560735607456075560765607756078560795608056081560825608356084560855608656087560885608956090560915609256093560945609556096560975609856099561005610156102561035610456105561065610756108561095611056111561125611356114561155611656117561185611956120561215612256123561245612556126561275612856129561305613156132561335613456135561365613756138561395614056141561425614356144561455614656147561485614956150561515615256153561545615556156561575615856159561605616156162561635616456165561665616756168561695617056171561725617356174561755617656177561785617956180561815618256183561845618556186561875618856189561905619156192561935619456195561965619756198561995620056201562025620356204562055620656207562085620956210562115621256213562145621556216562175621856219562205622156222562235622456225562265622756228562295623056231562325623356234562355623656237562385623956240562415624256243562445624556246562475624856249562505625156252562535625456255562565625756258562595626056261562625626356264562655626656267562685626956270562715627256273562745627556276562775627856279562805628156282562835628456285562865628756288562895629056291562925629356294562955629656297562985629956300563015630256303563045630556306563075630856309563105631156312563135631456315563165631756318563195632056321563225632356324563255632656327563285632956330563315633256333563345633556336563375633856339563405634156342563435634456345563465634756348563495635056351563525635356354563555635656357563585635956360563615636256363563645636556366563675636856369563705637156372563735637456375563765637756378563795638056381563825638356384563855638656387563885638956390563915639256393563945639556396563975639856399564005640156402564035640456405564065640756408564095641056411564125641356414564155641656417564185641956420564215642256423564245642556426564275642856429564305643156432564335643456435564365643756438564395644056441564425644356444564455644656447564485644956450564515645256453564545645556456564575645856459564605646156462564635646456465564665646756468564695647056471564725647356474564755647656477564785647956480564815648256483564845648556486564875648856489564905649156492564935649456495564965649756498564995650056501565025650356504565055650656507565085650956510565115651256513565145651556516565175651856519565205652156522565235652456525565265652756528565295653056531565325653356534565355653656537565385653956540565415654256543565445654556546565475654856549565505655156552565535655456555565565655756558565595656056561565625656356564565655656656567565685656956570565715657256573565745657556576565775657856579565805658156582565835658456585565865658756588565895659056591565925659356594565955659656597565985659956600566015660256603566045660556606566075660856609566105661156612566135661456615566165661756618566195662056621566225662356624566255662656627566285662956630566315663256633566345663556636566375663856639566405664156642566435664456645566465664756648566495665056651566525665356654566555665656657566585665956660566615666256663566645666556666566675666856669566705667156672566735667456675566765667756678566795668056681566825668356684566855668656687566885668956690566915669256693566945669556696566975669856699567005670156702567035670456705567065670756708567095671056711567125671356714567155671656717567185671956720567215672256723567245672556726567275672856729567305673156732567335673456735567365673756738567395674056741567425674356744567455674656747567485674956750567515675256753567545675556756567575675856759567605676156762567635676456765567665676756768567695677056771567725677356774567755677656777567785677956780567815678256783567845678556786567875678856789567905679156792567935679456795567965679756798567995680056801568025680356804568055680656807568085680956810568115681256813568145681556816568175681856819568205682156822568235682456825568265682756828568295683056831568325683356834568355683656837568385683956840568415684256843568445684556846568475684856849568505685156852568535685456855568565685756858568595686056861568625686356864568655686656867568685686956870568715687256873568745687556876568775687856879568805688156882568835688456885568865688756888568895689056891568925689356894568955689656897568985689956900569015690256903569045690556906569075690856909569105691156912569135691456915569165691756918569195692056921569225692356924569255692656927569285692956930569315693256933569345693556936569375693856939569405694156942569435694456945569465694756948569495695056951569525695356954569555695656957569585695956960569615696256963569645696556966569675696856969569705697156972569735697456975569765697756978569795698056981569825698356984569855698656987569885698956990569915699256993569945699556996569975699856999570005700157002570035700457005570065700757008570095701057011570125701357014570155701657017570185701957020570215702257023570245702557026570275702857029570305703157032570335703457035570365703757038570395704057041570425704357044570455704657047570485704957050570515705257053570545705557056570575705857059570605706157062570635706457065570665706757068570695707057071570725707357074570755707657077570785707957080570815708257083570845708557086570875708857089570905709157092570935709457095570965709757098570995710057101571025710357104571055710657107571085710957110571115711257113571145711557116571175711857119571205712157122571235712457125571265712757128571295713057131571325713357134571355713657137571385713957140571415714257143571445714557146571475714857149571505715157152571535715457155571565715757158571595716057161571625716357164571655716657167571685716957170571715717257173571745717557176571775717857179571805718157182571835718457185571865718757188571895719057191571925719357194571955719657197571985719957200572015720257203572045720557206572075720857209572105721157212572135721457215572165721757218572195722057221572225722357224572255722657227572285722957230572315723257233572345723557236572375723857239572405724157242572435724457245572465724757248572495725057251572525725357254572555725657257572585725957260572615726257263572645726557266572675726857269572705727157272572735727457275572765727757278572795728057281572825728357284572855728657287572885728957290572915729257293572945729557296572975729857299573005730157302573035730457305573065730757308573095731057311573125731357314573155731657317573185731957320573215732257323573245732557326573275732857329573305733157332573335733457335573365733757338573395734057341573425734357344573455734657347573485734957350573515735257353573545735557356573575735857359573605736157362573635736457365573665736757368573695737057371573725737357374573755737657377573785737957380573815738257383573845738557386573875738857389573905739157392573935739457395573965739757398573995740057401574025740357404574055740657407574085740957410574115741257413574145741557416574175741857419574205742157422574235742457425574265742757428574295743057431574325743357434574355743657437574385743957440574415744257443574445744557446574475744857449574505745157452574535745457455574565745757458574595746057461574625746357464574655746657467574685746957470574715747257473574745747557476574775747857479574805748157482574835748457485574865748757488574895749057491574925749357494574955749657497574985749957500575015750257503575045750557506575075750857509575105751157512575135751457515575165751757518575195752057521575225752357524575255752657527575285752957530575315753257533575345753557536575375753857539575405754157542575435754457545575465754757548575495755057551575525755357554575555755657557575585755957560575615756257563575645756557566575675756857569575705757157572575735757457575575765757757578575795758057581575825758357584575855758657587575885758957590575915759257593575945759557596575975759857599576005760157602576035760457605576065760757608576095761057611576125761357614576155761657617576185761957620576215762257623576245762557626576275762857629576305763157632576335763457635576365763757638576395764057641576425764357644576455764657647576485764957650576515765257653576545765557656576575765857659576605766157662576635766457665576665766757668576695767057671576725767357674576755767657677576785767957680576815768257683576845768557686576875768857689576905769157692576935769457695576965769757698576995770057701577025770357704577055770657707577085770957710577115771257713577145771557716577175771857719577205772157722577235772457725577265772757728577295773057731577325773357734577355773657737577385773957740577415774257743577445774557746577475774857749577505775157752577535775457755577565775757758577595776057761577625776357764577655776657767577685776957770577715777257773577745777557776577775777857779577805778157782577835778457785577865778757788577895779057791577925779357794577955779657797577985779957800578015780257803578045780557806578075780857809578105781157812578135781457815578165781757818578195782057821578225782357824578255782657827578285782957830578315783257833578345783557836578375783857839578405784157842578435784457845578465784757848578495785057851578525785357854578555785657857578585785957860578615786257863578645786557866578675786857869578705787157872578735787457875578765787757878578795788057881578825788357884578855788657887578885788957890578915789257893578945789557896578975789857899579005790157902579035790457905579065790757908579095791057911579125791357914579155791657917579185791957920579215792257923579245792557926579275792857929579305793157932579335793457935579365793757938579395794057941579425794357944579455794657947579485794957950579515795257953579545795557956579575795857959579605796157962579635796457965579665796757968579695797057971579725797357974579755797657977579785797957980579815798257983579845798557986579875798857989579905799157992579935799457995579965799757998579995800058001580025800358004580055800658007580085800958010580115801258013580145801558016580175801858019580205802158022580235802458025580265802758028580295803058031580325803358034580355803658037580385803958040580415804258043580445804558046580475804858049580505805158052580535805458055580565805758058580595806058061580625806358064580655806658067580685806958070580715807258073580745807558076580775807858079580805808158082580835808458085580865808758088580895809058091580925809358094580955809658097580985809958100581015810258103581045810558106581075810858109581105811158112581135811458115581165811758118581195812058121581225812358124581255812658127581285812958130581315813258133581345813558136581375813858139581405814158142581435814458145581465814758148581495815058151581525815358154581555815658157581585815958160581615816258163581645816558166581675816858169581705817158172581735817458175581765817758178581795818058181581825818358184581855818658187581885818958190581915819258193581945819558196581975819858199582005820158202582035820458205582065820758208582095821058211582125821358214582155821658217582185821958220582215822258223582245822558226582275822858229582305823158232582335823458235582365823758238582395824058241582425824358244582455824658247582485824958250582515825258253582545825558256582575825858259582605826158262582635826458265582665826758268582695827058271582725827358274582755827658277582785827958280582815828258283582845828558286582875828858289582905829158292582935829458295582965829758298582995830058301583025830358304583055830658307583085830958310583115831258313583145831558316583175831858319583205832158322583235832458325583265832758328583295833058331583325833358334583355833658337583385833958340583415834258343583445834558346583475834858349583505835158352583535835458355583565835758358583595836058361583625836358364583655836658367583685836958370583715837258373583745837558376583775837858379583805838158382583835838458385583865838758388583895839058391583925839358394583955839658397583985839958400584015840258403584045840558406584075840858409584105841158412584135841458415584165841758418584195842058421584225842358424584255842658427584285842958430584315843258433584345843558436584375843858439584405844158442584435844458445584465844758448584495845058451584525845358454584555845658457584585845958460584615846258463584645846558466584675846858469584705847158472584735847458475584765847758478584795848058481584825848358484584855848658487584885848958490584915849258493584945849558496584975849858499585005850158502585035850458505585065850758508585095851058511585125851358514585155851658517585185851958520585215852258523585245852558526585275852858529585305853158532585335853458535585365853758538585395854058541585425854358544585455854658547585485854958550585515855258553585545855558556585575855858559585605856158562585635856458565585665856758568585695857058571585725857358574585755857658577585785857958580585815858258583585845858558586585875858858589585905859158592585935859458595585965859758598585995860058601586025860358604586055860658607586085860958610586115861258613586145861558616586175861858619586205862158622586235862458625586265862758628586295863058631586325863358634586355863658637586385863958640586415864258643586445864558646586475864858649586505865158652586535865458655586565865758658586595866058661586625866358664586655866658667586685866958670586715867258673586745867558676586775867858679
  1. /******/ (() => { // webpackBootstrap
  2. /******/ var __webpack_modules__ = ({
  3. /***/ "./node_modules/@inertiajs/inertia-vue3/dist/index.js":
  4. /*!************************************************************!*\
  5. !*** ./node_modules/@inertiajs/inertia-vue3/dist/index.js ***!
  6. \************************************************************/
  7. /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
  8. function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var r=e(__webpack_require__(/*! lodash.isequal */ "./node_modules/lodash.isequal/index.js")),t=__webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js"),n=e(__webpack_require__(/*! lodash.clonedeep */ "./node_modules/lodash.clonedeep/index.js")),o=__webpack_require__(/*! @inertiajs/inertia */ "./node_modules/@inertiajs/inertia/dist/index.js");function i(){return(i=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(this,arguments)}function a(){var e=[].slice.call(arguments),a="string"==typeof e[0]?e[0]:null,u=("string"==typeof e[0]?e[1]:e[0])||{},s=a?o.Inertia.restore(a):null,c=n(u),l=null,p=null,f=function(e){return e},d=t.reactive(i({},s?s.data:u,{isDirty:!1,errors:s?s.errors:{},hasErrors:!1,processing:!1,progress:null,wasSuccessful:!1,recentlySuccessful:!1,data:function(){var e=this;return Object.keys(u).reduce(function(r,t){return r[t]=e[t],r},{})},transform:function(e){return f=e,this},defaults:function(e,r){var t;return c=void 0===e?this.data():Object.assign({},n(c),r?((t={})[e]=r,t):e),this},reset:function(){var e=[].slice.call(arguments),r=n(c);return Object.assign(this,0===e.length?r:Object.keys(r).filter(function(r){return e.includes(r)}).reduce(function(e,t){return e[t]=r[t],e},{})),this},setError:function(e,r){var t;return Object.assign(this.errors,r?((t={})[e]=r,t):e),this.hasErrors=Object.keys(this.errors).length>0,this},clearErrors:function(){var e=this,r=[].slice.call(arguments);return this.errors=Object.keys(this.errors).reduce(function(t,n){var o;return i({},t,r.length>0&&!r.includes(n)?((o={})[n]=e.errors[n],o):{})},{}),this.hasErrors=Object.keys(this.errors).length>0,this},submit:function(e,r,t){var a=this,u=this;void 0===t&&(t={});var s=f(this.data()),d=i({},t,{onCancelToken:function(e){if(l=e,t.onCancelToken)return t.onCancelToken(e)},onBefore:function(e){if(u.wasSuccessful=!1,u.recentlySuccessful=!1,clearTimeout(p),t.onBefore)return t.onBefore(e)},onStart:function(e){if(u.processing=!0,t.onStart)return t.onStart(e)},onProgress:function(e){if(u.progress=e,t.onProgress)return t.onProgress(e)},onSuccess:function(e){try{var r=function(e){return c=n(a.data()),a.isDirty=!1,e};return a.processing=!1,a.progress=null,a.clearErrors(),a.wasSuccessful=!0,a.recentlySuccessful=!0,p=setTimeout(function(){return a.recentlySuccessful=!1},2e3),Promise.resolve(t.onSuccess?Promise.resolve(t.onSuccess(e)).then(r):r(null))}catch(e){return Promise.reject(e)}},onError:function(e){if(u.processing=!1,u.progress=null,u.clearErrors().setError(e),t.onError)return t.onError(e)},onCancel:function(){if(u.processing=!1,u.progress=null,t.onCancel)return t.onCancel()},onFinish:function(){if(u.processing=!1,u.progress=null,l=null,t.onFinish)return t.onFinish()}});"delete"===e?o.Inertia.delete(r,i({},d,{data:s})):o.Inertia[e](r,s,d)},get:function(e,r){this.submit("get",e,r)},post:function(e,r){this.submit("post",e,r)},put:function(e,r){this.submit("put",e,r)},patch:function(e,r){this.submit("patch",e,r)},delete:function(e,r){this.submit("delete",e,r)},cancel:function(){l&&l.cancel()},__rememberable:null===a,__remember:function(){return{data:this.data(),errors:this.errors}},__restore:function(e){Object.assign(this,e.data),this.setError(e.errors)}}));return t.watch(d,function(e){d.isDirty=!r(d.data(),c),a&&o.Inertia.remember(n(e.__remember()),a)},{immediate:!0,deep:!0}),d}var u={created:function(){var e=this;if(this.$options.remember){Array.isArray(this.$options.remember)&&(this.$options.remember={data:this.$options.remember}),"string"==typeof this.$options.remember&&(this.$options.remember={data:[this.$options.remember]}),"string"==typeof this.$options.remember.data&&(this.$options.remember={data:[this.$options.remember.data]});var r=this.$options.remember.key instanceof Function?this.$options.remember.key.call(this):this.$options.remember.key,t=o.Inertia.restore(r),a=this.$options.remember.data.filter(function(r){return!(null!==e[r]&&"object"==typeof e[r]&&!1===e[r].__rememberable)}),u=function(r){return null!==e[r]&&"object"==typeof e[r]&&"function"==typeof e[r].__remember&&"function"==typeof e[r].__restore};a.forEach(function(s){void 0!==e[s]&&void 0!==t&&void 0!==t[s]&&(u(s)?e[s].__restore(t[s]):e[s]=t[s]),e.$watch(s,function(){o.Inertia.remember(a.reduce(function(r,t){var o;return i({},r,((o={})[t]=n(u(t)?e[t].__remember():e[t]),o))},{}),r)},{immediate:!0,deep:!0})})}}},s=t.ref(null),c=t.ref({}),l=t.ref(null),p=null,f={name:"Inertia",props:{initialPage:{type:Object,required:!0},initialComponent:{type:Object,required:!1},resolveComponent:{type:Function,required:!1},titleCallback:{type:Function,required:!1,default:function(e){return e}},onHeadUpdate:{type:Function,required:!1,default:function(){return function(){}}}},setup:function(e){var r=e.initialPage,n=e.initialComponent,a=e.resolveComponent,u=e.titleCallback,f=e.onHeadUpdate;s.value=n?t.markRaw(n):null,c.value=r,l.value=null;var d="undefined"==typeof window;return p=o.createHeadManager(d,u,f),d||o.Inertia.init({initialPage:r,resolveComponent:a,swapComponent:function(e){try{return s.value=t.markRaw(e.component),c.value=e.page,l.value=e.preserveState?l.value:Date.now(),Promise.resolve()}catch(e){return Promise.reject(e)}}}),function(){if(s.value){s.value.inheritAttrs=!!s.value.inheritAttrs;var e=t.h(s.value,i({},c.value.props,{key:l.value}));return s.value.layout?"function"==typeof s.value.layout?s.value.layout(t.h,e):(Array.isArray(s.value.layout)?s.value.layout:[s.value.layout]).concat(e).reverse().reduce(function(e,r){return r.inheritAttrs=!!r.inheritAttrs,t.h(r,i({},c.value.props),function(){return e})}):e}}}},d={install:function(e){o.Inertia.form=a,Object.defineProperty(e.config.globalProperties,"$inertia",{get:function(){return o.Inertia}}),Object.defineProperty(e.config.globalProperties,"$page",{get:function(){return c.value}}),Object.defineProperty(e.config.globalProperties,"$headManager",{get:function(){return p}}),e.mixin(u)}},h={props:{title:{type:String,required:!1}},data:function(){return{provider:this.$headManager.createProvider()}},beforeUnmount:function(){this.provider.disconnect()},methods:{isUnaryTag:function(e){return["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"].indexOf(e.type)>-1},renderTagStart:function(e){e.props=e.props||{},e.props.inertia=void 0!==e.props["head-key"]?e.props["head-key"]:"";var r=Object.keys(e.props).reduce(function(r,t){var n=e.props[t];return["key","head-key"].includes(t)?r:""===n?r+" "+t:r+" "+t+'="'+n+'"'},"");return"<"+e.type+r+">"},renderTagChildren:function(e){var r=this;return"string"==typeof e.children?e.children:e.children.reduce(function(e,t){return e+r.renderTag(t)},"")},renderTag:function(e){if("Symbol(Text)"===e.type.toString())return e.children;if("Symbol()"===e.type.toString())return"";if("Symbol(Comment)"===e.type.toString())return"";var r=this.renderTagStart(e);return e.children&&(r+=this.renderTagChildren(e)),this.isUnaryTag(e)||(r+="</"+e.type+">"),r},addTitleElement:function(e){return this.title&&!e.find(function(e){return e.startsWith("<title")})&&e.push("<title inertia>"+this.title+"</title>"),e},renderNodes:function(e){var r=this;return this.addTitleElement(e.flatMap(function(e){return"Symbol(Fragment)"===e.type.toString()?e.children:e}).map(function(e){return r.renderTag(e)}).filter(function(e){return e}))}},render:function(){this.provider.update(this.renderNodes(this.$slots.default?this.$slots.default():[]))}},m={name:"InertiaLink",props:{as:{type:String,default:"a"},data:{type:Object,default:function(){return{}}},href:{type:String},method:{type:String,default:"get"},replace:{type:Boolean,default:!1},preserveScroll:{type:Boolean,default:!1},preserveState:{type:Boolean,default:null},only:{type:Array,default:function(){return[]}},headers:{type:Object,default:function(){return{}}},queryStringArrayFormat:{type:String,default:"brackets"}},setup:function(e,r){var n=r.slots,a=r.attrs;return function(e){var r=e.as.toLowerCase(),u=e.method.toLowerCase(),s=o.mergeDataIntoQueryString(u,e.href||"",e.data,e.queryStringArrayFormat),c=s[0],l=s[1];return"a"===r&&"get"!==u&&console.warn('Creating POST/PUT/PATCH/DELETE <a> links is discouraged as it causes "Open Link in New Tab/Window" accessibility issues.\n\nPlease specify a more appropriate element using the "as" attribute. For example:\n\n<Link href="'+c+'" method="'+u+'" as="button">...</Link>'),t.h(e.as,i({},a,"a"===r?{href:c}:{},{onClick:function(r){var t;o.shouldIntercept(r)&&(r.preventDefault(),o.Inertia.visit(c,{data:l,method:u,replace:e.replace,preserveScroll:e.preserveScroll,preserveState:null!=(t=e.preserveState)?t:"get"!==u,only:e.only,headers:e.headers,onCancelToken:a.onCancelToken||function(){return{}},onBefore:a.onBefore||function(){return{}},onStart:a.onStart||function(){return{}},onProgress:a.onProgress||function(){return{}},onFinish:a.onFinish||function(){return{}},onCancel:a.onCancel||function(){return{}},onSuccess:a.onSuccess||function(){return{}},onError:a.onError||function(){return{}}}))}}),n)}}};exports.App=f,exports.Head=h,exports.InertiaApp=f,exports.InertiaHead=h,exports.InertiaLink=m,exports.Link=m,exports.app=f,exports.createInertiaApp=function(e){try{var r,n,o,i,a,u,s;n=void 0===(r=e.id)?"app":r,o=e.resolve,i=e.setup,a=e.title,u=e.page,s=e.render;var c="undefined"==typeof window,l=c?null:document.getElementById(n),p=u||JSON.parse(l.dataset.page),h=function(e){return Promise.resolve(o(e)).then(function(e){return e.default||e})},m=[];return Promise.resolve(h(p.component).then(function(e){return i({el:l,app:f,App:f,props:{initialPage:p,initialComponent:e,resolveComponent:h,titleCallback:a,onHeadUpdate:c?function(e){return m=e}:null},plugin:d})})).then(function(e){return function(){if(c)return Promise.resolve(s(t.createSSRApp({render:function(){return t.h("div",{id:n,"data-page":JSON.stringify(p),innerHTML:s(e)})}}))).then(function(e){return{head:m,body:e}})}()})}catch(e){return Promise.reject(e)}},exports.link=m,exports.plugin=d,exports.useForm=a,exports.usePage=function(){return{props:t.computed(function(){return c.value.props}),url:t.computed(function(){return c.value.url}),component:t.computed(function(){return c.value.component}),version:t.computed(function(){return c.value.version})}},exports.useRemember=function(e,r){if("object"==typeof e&&null!==e&&!1===e.__rememberable)return e;var i=o.Inertia.restore(r),a=t.isReactive(e)?t.reactive:t.ref,u="function"==typeof e.__remember&&"function"==typeof e.__restore,s=void 0===i?e:a(u?e.__restore(i):i);return t.watch(s,function(t){o.Inertia.remember(n(u?e.__remember():t),r)},{immediate:!0,deep:!0}),s};
  9. //# sourceMappingURL=index.js.map
  10. /***/ }),
  11. /***/ "./node_modules/@inertiajs/inertia/dist/index.js":
  12. /*!*******************************************************!*\
  13. !*** ./node_modules/@inertiajs/inertia/dist/index.js ***!
  14. \*******************************************************/
  15. /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
  16. function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var t=e(__webpack_require__(/*! axios */ "./node_modules/@inertiajs/inertia/node_modules/axios/index.js")),n=__webpack_require__(/*! qs */ "./node_modules/qs/lib/index.js"),i=e(__webpack_require__(/*! deepmerge */ "./node_modules/deepmerge/dist/cjs.js"));function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var o,s={modal:null,listener:null,show:function(e){var t=this;"object"==typeof e&&(e="All Inertia requests must receive a valid Inertia response, however a plain JSON response was received.<hr>"+JSON.stringify(e));var n=document.createElement("html");n.innerHTML=e,n.querySelectorAll("a").forEach(function(e){return e.setAttribute("target","_top")}),this.modal=document.createElement("div"),this.modal.style.position="fixed",this.modal.style.width="100vw",this.modal.style.height="100vh",this.modal.style.padding="50px",this.modal.style.boxSizing="border-box",this.modal.style.backgroundColor="rgba(0, 0, 0, .6)",this.modal.style.zIndex=2e5,this.modal.addEventListener("click",function(){return t.hide()});var i=document.createElement("iframe");if(i.style.backgroundColor="white",i.style.borderRadius="5px",i.style.width="100%",i.style.height="100%",this.modal.appendChild(i),document.body.prepend(this.modal),document.body.style.overflow="hidden",!i.contentWindow)throw new Error("iframe not yet ready.");i.contentWindow.document.open(),i.contentWindow.document.write(n.outerHTML),i.contentWindow.document.close(),this.listener=this.hideOnEscape.bind(this),document.addEventListener("keydown",this.listener)},hide:function(){this.modal.outerHTML="",this.modal=null,document.body.style.overflow="visible",document.removeEventListener("keydown",this.listener)},hideOnEscape:function(e){27===e.keyCode&&this.hide()}};function a(e,t){var n;return function(){var i=arguments,r=this;clearTimeout(n),n=setTimeout(function(){return e.apply(r,[].slice.call(i))},t)}}function c(e,t,n){for(var i in void 0===t&&(t=new FormData),void 0===n&&(n=null),e=e||{})Object.prototype.hasOwnProperty.call(e,i)&&d(t,l(n,i),e[i]);return t}function l(e,t){return e?e+"["+t+"]":t}function d(e,t,n){return Array.isArray(n)?Array.from(n.keys()).forEach(function(i){return d(e,l(t,i.toString()),n[i])}):n instanceof Date?e.append(t,n.toISOString()):n instanceof File?e.append(t,n,n.name):n instanceof Blob?e.append(t,n):"boolean"==typeof n?e.append(t,n?"1":"0"):"string"==typeof n?e.append(t,n):"number"==typeof n?e.append(t,""+n):null==n?e.append(t,""):void c(n,e,t)}function u(e){return new URL(e.toString(),window.location.toString())}function h(e,t,r,o){void 0===o&&(o="brackets");var s=/^https?:\/\//.test(t.toString()),a=s||t.toString().startsWith("/"),c=!a&&!t.toString().startsWith("#")&&!t.toString().startsWith("?"),l=t.toString().includes("?")||e===exports.Method.GET&&Object.keys(r).length,d=t.toString().includes("#"),u=new URL(t.toString(),"http://localhost");return e===exports.Method.GET&&Object.keys(r).length&&(u.search=n.stringify(i(n.parse(u.search,{ignoreQueryPrefix:!0}),r),{encodeValuesOnly:!0,arrayFormat:o}),r={}),[[s?u.protocol+"//"+u.host:"",a?u.pathname:"",c?u.pathname.substring(1):"",l?u.search:"",d?u.hash:""].join(""),r]}function p(e){return(e=new URL(e.href)).hash="",e}function f(e,t){return document.dispatchEvent(new CustomEvent("inertia:"+e,t))}(o=exports.Method||(exports.Method={})).GET="get",o.POST="post",o.PUT="put",o.PATCH="patch",o.DELETE="delete";var v=function(e){return f("finish",{detail:{visit:e}})},m=function(e){return f("navigate",{detail:{page:e}})},g="undefined"==typeof window,w=function(){function e(){this.visitId=null}var n=e.prototype;return n.init=function(e){var t=e.resolveComponent,n=e.swapComponent;this.page=e.initialPage,this.resolveComponent=t,this.swapComponent=n,this.isBackForwardVisit()?this.handleBackForwardVisit(this.page):this.isLocationVisit()?this.handleLocationVisit(this.page):this.handleInitialPageVisit(this.page),this.setupEventListeners()},n.handleInitialPageVisit=function(e){this.page.url+=window.location.hash,this.setPage(e,{preserveState:!0}).then(function(){return m(e)})},n.setupEventListeners=function(){window.addEventListener("popstate",this.handlePopstateEvent.bind(this)),document.addEventListener("scroll",a(this.handleScrollEvent.bind(this),100),!0)},n.scrollRegions=function(){return document.querySelectorAll("[scroll-region]")},n.handleScrollEvent=function(e){"function"==typeof e.target.hasAttribute&&e.target.hasAttribute("scroll-region")&&this.saveScrollPositions()},n.saveScrollPositions=function(){this.replaceState(r({},this.page,{scrollRegions:Array.from(this.scrollRegions()).map(function(e){return{top:e.scrollTop,left:e.scrollLeft}})}))},n.resetScrollPositions=function(){var e;document.documentElement.scrollTop=0,document.documentElement.scrollLeft=0,this.scrollRegions().forEach(function(e){e.scrollTop=0,e.scrollLeft=0}),this.saveScrollPositions(),window.location.hash&&(null==(e=document.getElementById(window.location.hash.slice(1)))||e.scrollIntoView())},n.restoreScrollPositions=function(){var e=this;this.page.scrollRegions&&this.scrollRegions().forEach(function(t,n){var i=e.page.scrollRegions[n];i&&(t.scrollTop=i.top,t.scrollLeft=i.left)})},n.isBackForwardVisit=function(){return window.history.state&&window.performance&&window.performance.getEntriesByType("navigation").length>0&&"back_forward"===window.performance.getEntriesByType("navigation")[0].type},n.handleBackForwardVisit=function(e){var t=this;window.history.state.version=e.version,this.setPage(window.history.state,{preserveScroll:!0,preserveState:!0}).then(function(){t.restoreScrollPositions(),m(e)})},n.locationVisit=function(e,t){try{window.sessionStorage.setItem("inertiaLocationVisit",JSON.stringify({preserveScroll:t})),window.location.href=e.href,p(window.location).href===p(e).href&&window.location.reload()}catch(e){return!1}},n.isLocationVisit=function(){try{return null!==window.sessionStorage.getItem("inertiaLocationVisit")}catch(e){return!1}},n.handleLocationVisit=function(e){var t,n,i,r,o=this,s=JSON.parse(window.sessionStorage.getItem("inertiaLocationVisit")||"");window.sessionStorage.removeItem("inertiaLocationVisit"),e.url+=window.location.hash,e.rememberedState=null!=(t=null==(n=window.history.state)?void 0:n.rememberedState)?t:{},e.scrollRegions=null!=(i=null==(r=window.history.state)?void 0:r.scrollRegions)?i:[],this.setPage(e,{preserveScroll:s.preserveScroll,preserveState:!0}).then(function(){s.preserveScroll&&o.restoreScrollPositions(),m(e)})},n.isLocationVisitResponse=function(e){return e&&409===e.status&&e.headers["x-inertia-location"]},n.isInertiaResponse=function(e){return null==e?void 0:e.headers["x-inertia"]},n.createVisitId=function(){return this.visitId={},this.visitId},n.cancelVisit=function(e,t){var n=t.cancelled,i=void 0!==n&&n,r=t.interrupted,o=void 0!==r&&r;!e||e.completed||e.cancelled||e.interrupted||(e.cancelToken.cancel(),e.onCancel(),e.completed=!1,e.cancelled=i,e.interrupted=o,v(e),e.onFinish(e))},n.finishVisit=function(e){e.cancelled||e.interrupted||(e.completed=!0,e.cancelled=!1,e.interrupted=!1,v(e),e.onFinish(e))},n.resolvePreserveOption=function(e,t){return"function"==typeof e?e(t):"errors"===e?Object.keys(t.props.errors||{}).length>0:e},n.visit=function(e,n){var i=this,o=void 0===n?{}:n,a=o.method,l=void 0===a?exports.Method.GET:a,d=o.data,v=void 0===d?{}:d,m=o.replace,g=void 0!==m&&m,w=o.preserveScroll,y=void 0!==w&&w,S=o.preserveState,b=void 0!==S&&S,E=o.only,P=void 0===E?[]:E,I=o.headers,x=void 0===I?{}:I,V=o.errorBag,T=void 0===V?"":V,L=o.forceFormData,O=void 0!==L&&L,k=o.onCancelToken,C=void 0===k?function(){}:k,M=o.onBefore,A=void 0===M?function(){}:M,F=o.onStart,R=void 0===F?function(){}:F,j=o.onProgress,D=void 0===j?function(){}:j,B=o.onFinish,q=void 0===B?function(){}:B,N=o.onCancel,H=void 0===N?function(){}:N,W=o.onSuccess,G=void 0===W?function(){}:W,U=o.onError,X=void 0===U?function(){}:U,J=o.queryStringArrayFormat,K=void 0===J?"brackets":J,_="string"==typeof e?u(e):e;if(!function e(t){return t instanceof File||t instanceof Blob||t instanceof FileList&&t.length>0||t instanceof FormData&&Array.from(t.values()).some(function(t){return e(t)})||"object"==typeof t&&null!==t&&Object.values(t).some(function(t){return e(t)})}(v)&&!O||v instanceof FormData||(v=c(v)),!(v instanceof FormData)){var z=h(l,_,v,K),Q=z[1];_=u(z[0]),v=Q}var Y={url:_,method:l,data:v,replace:g,preserveScroll:y,preserveState:b,only:P,headers:x,errorBag:T,forceFormData:O,queryStringArrayFormat:K,cancelled:!1,completed:!1,interrupted:!1};if(!1!==A(Y)&&function(e){return f("before",{cancelable:!0,detail:{visit:e}})}(Y)){this.activeVisit&&this.cancelVisit(this.activeVisit,{interrupted:!0}),this.saveScrollPositions();var Z=this.createVisitId();this.activeVisit=r({},Y,{onCancelToken:C,onBefore:A,onStart:R,onProgress:D,onFinish:q,onCancel:H,onSuccess:G,onError:X,queryStringArrayFormat:K,cancelToken:t.CancelToken.source()}),C({cancel:function(){i.activeVisit&&i.cancelVisit(i.activeVisit,{cancelled:!0})}}),function(e){f("start",{detail:{visit:e}})}(Y),R(Y),t({method:l,url:p(_).href,data:l===exports.Method.GET?{}:v,params:l===exports.Method.GET?v:{},cancelToken:this.activeVisit.cancelToken.token,headers:r({},x,{Accept:"text/html, application/xhtml+xml","X-Requested-With":"XMLHttpRequest","X-Inertia":!0},P.length?{"X-Inertia-Partial-Component":this.page.component,"X-Inertia-Partial-Data":P.join(",")}:{},T&&T.length?{"X-Inertia-Error-Bag":T}:{},this.page.version?{"X-Inertia-Version":this.page.version}:{}),onUploadProgress:function(e){v instanceof FormData&&(e.percentage=Math.round(e.loaded/e.total*100),function(e){f("progress",{detail:{progress:e}})}(e),D(e))}}).then(function(e){var t;if(!i.isInertiaResponse(e))return Promise.reject({response:e});var n=e.data;P.length&&n.component===i.page.component&&(n.props=r({},i.page.props,n.props)),y=i.resolvePreserveOption(y,n),(b=i.resolvePreserveOption(b,n))&&null!=(t=window.history.state)&&t.rememberedState&&n.component===i.page.component&&(n.rememberedState=window.history.state.rememberedState);var o=_,s=u(n.url);return o.hash&&!s.hash&&p(o).href===s.href&&(s.hash=o.hash,n.url=s.href),i.setPage(n,{visitId:Z,replace:g,preserveScroll:y,preserveState:b})}).then(function(){var e=i.page.props.errors||{};if(Object.keys(e).length>0){var t=T?e[T]?e[T]:{}:e;return function(e){f("error",{detail:{errors:e}})}(t),X(t)}return f("success",{detail:{page:i.page}}),G(i.page)}).catch(function(e){if(i.isInertiaResponse(e.response))return i.setPage(e.response.data,{visitId:Z});if(i.isLocationVisitResponse(e.response)){var t=u(e.response.headers["x-inertia-location"]),n=_;n.hash&&!t.hash&&p(n).href===t.href&&(t.hash=n.hash),i.locationVisit(t,!0===y)}else{if(!e.response)return Promise.reject(e);f("invalid",{cancelable:!0,detail:{response:e.response}})&&s.show(e.response.data)}}).then(function(){i.activeVisit&&i.finishVisit(i.activeVisit)}).catch(function(e){if(!t.isCancel(e)){var n=f("exception",{cancelable:!0,detail:{exception:e}});if(i.activeVisit&&i.finishVisit(i.activeVisit),n)return Promise.reject(e)}})}},n.setPage=function(e,t){var n=this,i=void 0===t?{}:t,r=i.visitId,o=void 0===r?this.createVisitId():r,s=i.replace,a=void 0!==s&&s,c=i.preserveScroll,l=void 0!==c&&c,d=i.preserveState,h=void 0!==d&&d;return Promise.resolve(this.resolveComponent(e.component)).then(function(t){o===n.visitId&&(e.scrollRegions=e.scrollRegions||[],e.rememberedState=e.rememberedState||{},(a=a||u(e.url).href===window.location.href)?n.replaceState(e):n.pushState(e),n.swapComponent({component:t,page:e,preserveState:h}).then(function(){l||n.resetScrollPositions(),a||m(e)}))})},n.pushState=function(e){this.page=e,window.history.pushState(e,"",e.url)},n.replaceState=function(e){this.page=e,window.history.replaceState(e,"",e.url)},n.handlePopstateEvent=function(e){var t=this;if(null!==e.state){var n=e.state,i=this.createVisitId();Promise.resolve(this.resolveComponent(n.component)).then(function(e){i===t.visitId&&(t.page=n,t.swapComponent({component:e,page:n,preserveState:!1}).then(function(){t.restoreScrollPositions(),m(n)}))})}else{var o=u(this.page.url);o.hash=window.location.hash,this.replaceState(r({},this.page,{url:o.href})),this.resetScrollPositions()}},n.get=function(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),this.visit(e,r({},n,{method:exports.Method.GET,data:t}))},n.reload=function(e){return void 0===e&&(e={}),this.visit(window.location.href,r({},e,{preserveScroll:!0,preserveState:!0}))},n.replace=function(e,t){var n;return void 0===t&&(t={}),console.warn("Inertia.replace() has been deprecated and will be removed in a future release. Please use Inertia."+(null!=(n=t.method)?n:"get")+"() instead."),this.visit(e,r({preserveState:!0},t,{replace:!0}))},n.post=function(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),this.visit(e,r({preserveState:!0},n,{method:exports.Method.POST,data:t}))},n.put=function(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),this.visit(e,r({preserveState:!0},n,{method:exports.Method.PUT,data:t}))},n.patch=function(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),this.visit(e,r({preserveState:!0},n,{method:exports.Method.PATCH,data:t}))},n.delete=function(e,t){return void 0===t&&(t={}),this.visit(e,r({preserveState:!0},t,{method:exports.Method.DELETE}))},n.remember=function(e,t){var n,i;void 0===t&&(t="default"),g||this.replaceState(r({},this.page,{rememberedState:r({},null==(n=this.page)?void 0:n.rememberedState,(i={},i[t]=e,i))}))},n.restore=function(e){var t,n;if(void 0===e&&(e="default"),!g)return null==(t=window.history.state)||null==(n=t.rememberedState)?void 0:n[e]},n.on=function(e,t){var n=function(e){var n=t(e);e.cancelable&&!e.defaultPrevented&&!1===n&&e.preventDefault()};return document.addEventListener("inertia:"+e,n),function(){return document.removeEventListener("inertia:"+e,n)}},e}(),y={buildDOMElement:function(e){var t=document.createElement("template");t.innerHTML=e;var n=t.content.firstChild;if(!e.startsWith("<script "))return n;var i=document.createElement("script");return i.innerHTML=n.innerHTML,n.getAttributeNames().forEach(function(e){i.setAttribute(e,n.getAttribute(e)||"")}),i},isInertiaManagedElement:function(e){return e.nodeType===Node.ELEMENT_NODE&&null!==e.getAttribute("inertia")},findMatchingElementIndex:function(e,t){var n=e.getAttribute("inertia");return null!==n?t.findIndex(function(e){return e.getAttribute("inertia")===n}):-1},update:a(function(e){var t=this,n=e.map(function(e){return t.buildDOMElement(e)});Array.from(document.head.childNodes).filter(function(e){return t.isInertiaManagedElement(e)}).forEach(function(e){var i=t.findMatchingElementIndex(e,n);if(-1!==i){var r,o=n.splice(i,1)[0];o&&!e.isEqualNode(o)&&(null==e||null==(r=e.parentNode)||r.replaceChild(o,e))}else{var s;null==e||null==(s=e.parentNode)||s.removeChild(e)}}),n.forEach(function(e){return document.head.appendChild(e)})},1)},S=new w;exports.Inertia=S,exports.createHeadManager=function(e,t,n){var i={},r=0;function o(){var e=Object.values(i).reduce(function(e,t){return e.concat(t)},[]).reduce(function(e,n){if(-1===n.indexOf("<"))return e;if(0===n.indexOf("<title ")){var i=n.match(/(<title [^>]+>)(.*?)(<\/title>)/);return e.title=i?""+i[1]+t(i[2])+i[3]:n,e}var r=n.match(/ inertia="[^"]+"/);return r?e[r[0]]=n:e[Object.keys(e).length]=n,e},{});return Object.values(e)}function s(){e?n(o()):y.update(o())}return{createProvider:function(){var e=function(){var e=r+=1;return i[e]=[],e.toString()}();return{update:function(t){return function(e,t){void 0===t&&(t=[]),null!==e&&Object.keys(i).indexOf(e)>-1&&(i[e]=t),s()}(e,t)},disconnect:function(){return function(e){null!==e&&-1!==Object.keys(i).indexOf(e)&&(delete i[e],s())}(e)}}}}},exports.hrefToUrl=u,exports.mergeDataIntoQueryString=h,exports.shouldIntercept=function(e){var t="a"===e.currentTarget.tagName.toLowerCase();return!(e.target&&null!=e&&e.target.isContentEditable||e.defaultPrevented||t&&e.which>1||t&&e.altKey||t&&e.ctrlKey||t&&e.metaKey||t&&e.shiftKey)},exports.urlWithoutHash=p;
  17. //# sourceMappingURL=index.js.map
  18. /***/ }),
  19. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/index.js":
  20. /*!*********************************************************************!*\
  21. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/index.js ***!
  22. \*********************************************************************/
  23. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  24. module.exports = __webpack_require__(/*! ./lib/axios */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/axios.js");
  25. /***/ }),
  26. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/adapters/xhr.js":
  27. /*!********************************************************************************!*\
  28. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/adapters/xhr.js ***!
  29. \********************************************************************************/
  30. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  31. "use strict";
  32. var utils = __webpack_require__(/*! ./../utils */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/utils.js");
  33. var settle = __webpack_require__(/*! ./../core/settle */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/settle.js");
  34. var cookies = __webpack_require__(/*! ./../helpers/cookies */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/cookies.js");
  35. var buildURL = __webpack_require__(/*! ./../helpers/buildURL */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/buildURL.js");
  36. var buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/buildFullPath.js");
  37. var parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/parseHeaders.js");
  38. var isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/isURLSameOrigin.js");
  39. var createError = __webpack_require__(/*! ../core/createError */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/createError.js");
  40. module.exports = function xhrAdapter(config) {
  41. return new Promise(function dispatchXhrRequest(resolve, reject) {
  42. var requestData = config.data;
  43. var requestHeaders = config.headers;
  44. var responseType = config.responseType;
  45. if (utils.isFormData(requestData)) {
  46. delete requestHeaders['Content-Type']; // Let the browser set it
  47. }
  48. var request = new XMLHttpRequest();
  49. // HTTP basic authentication
  50. if (config.auth) {
  51. var username = config.auth.username || '';
  52. var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';
  53. requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
  54. }
  55. var fullPath = buildFullPath(config.baseURL, config.url);
  56. request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);
  57. // Set the request timeout in MS
  58. request.timeout = config.timeout;
  59. function onloadend() {
  60. if (!request) {
  61. return;
  62. }
  63. // Prepare the response
  64. var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;
  65. var responseData = !responseType || responseType === 'text' || responseType === 'json' ?
  66. request.responseText : request.response;
  67. var response = {
  68. data: responseData,
  69. status: request.status,
  70. statusText: request.statusText,
  71. headers: responseHeaders,
  72. config: config,
  73. request: request
  74. };
  75. settle(resolve, reject, response);
  76. // Clean up request
  77. request = null;
  78. }
  79. if ('onloadend' in request) {
  80. // Use onloadend if available
  81. request.onloadend = onloadend;
  82. } else {
  83. // Listen for ready state to emulate onloadend
  84. request.onreadystatechange = function handleLoad() {
  85. if (!request || request.readyState !== 4) {
  86. return;
  87. }
  88. // The request errored out and we didn't get a response, this will be
  89. // handled by onerror instead
  90. // With one exception: request that using file: protocol, most browsers
  91. // will return status as 0 even though it's a successful request
  92. if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
  93. return;
  94. }
  95. // readystate handler is calling before onerror or ontimeout handlers,
  96. // so we should call onloadend on the next 'tick'
  97. setTimeout(onloadend);
  98. };
  99. }
  100. // Handle browser request cancellation (as opposed to a manual cancellation)
  101. request.onabort = function handleAbort() {
  102. if (!request) {
  103. return;
  104. }
  105. reject(createError('Request aborted', config, 'ECONNABORTED', request));
  106. // Clean up request
  107. request = null;
  108. };
  109. // Handle low level network errors
  110. request.onerror = function handleError() {
  111. // Real errors are hidden from us by the browser
  112. // onerror should only fire if it's a network error
  113. reject(createError('Network Error', config, null, request));
  114. // Clean up request
  115. request = null;
  116. };
  117. // Handle timeout
  118. request.ontimeout = function handleTimeout() {
  119. var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';
  120. if (config.timeoutErrorMessage) {
  121. timeoutErrorMessage = config.timeoutErrorMessage;
  122. }
  123. reject(createError(
  124. timeoutErrorMessage,
  125. config,
  126. config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',
  127. request));
  128. // Clean up request
  129. request = null;
  130. };
  131. // Add xsrf header
  132. // This is only done if running in a standard browser environment.
  133. // Specifically not if we're in a web worker, or react-native.
  134. if (utils.isStandardBrowserEnv()) {
  135. // Add xsrf header
  136. var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?
  137. cookies.read(config.xsrfCookieName) :
  138. undefined;
  139. if (xsrfValue) {
  140. requestHeaders[config.xsrfHeaderName] = xsrfValue;
  141. }
  142. }
  143. // Add headers to the request
  144. if ('setRequestHeader' in request) {
  145. utils.forEach(requestHeaders, function setRequestHeader(val, key) {
  146. if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {
  147. // Remove Content-Type if data is undefined
  148. delete requestHeaders[key];
  149. } else {
  150. // Otherwise add header to the request
  151. request.setRequestHeader(key, val);
  152. }
  153. });
  154. }
  155. // Add withCredentials to request if needed
  156. if (!utils.isUndefined(config.withCredentials)) {
  157. request.withCredentials = !!config.withCredentials;
  158. }
  159. // Add responseType to request if needed
  160. if (responseType && responseType !== 'json') {
  161. request.responseType = config.responseType;
  162. }
  163. // Handle progress if needed
  164. if (typeof config.onDownloadProgress === 'function') {
  165. request.addEventListener('progress', config.onDownloadProgress);
  166. }
  167. // Not all browsers support upload events
  168. if (typeof config.onUploadProgress === 'function' && request.upload) {
  169. request.upload.addEventListener('progress', config.onUploadProgress);
  170. }
  171. if (config.cancelToken) {
  172. // Handle cancellation
  173. config.cancelToken.promise.then(function onCanceled(cancel) {
  174. if (!request) {
  175. return;
  176. }
  177. request.abort();
  178. reject(cancel);
  179. // Clean up request
  180. request = null;
  181. });
  182. }
  183. if (!requestData) {
  184. requestData = null;
  185. }
  186. // Send the request
  187. request.send(requestData);
  188. });
  189. };
  190. /***/ }),
  191. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/axios.js":
  192. /*!*************************************************************************!*\
  193. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/axios.js ***!
  194. \*************************************************************************/
  195. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  196. "use strict";
  197. var utils = __webpack_require__(/*! ./utils */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/utils.js");
  198. var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/bind.js");
  199. var Axios = __webpack_require__(/*! ./core/Axios */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/Axios.js");
  200. var mergeConfig = __webpack_require__(/*! ./core/mergeConfig */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/mergeConfig.js");
  201. var defaults = __webpack_require__(/*! ./defaults */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/defaults.js");
  202. /**
  203. * Create an instance of Axios
  204. *
  205. * @param {Object} defaultConfig The default config for the instance
  206. * @return {Axios} A new instance of Axios
  207. */
  208. function createInstance(defaultConfig) {
  209. var context = new Axios(defaultConfig);
  210. var instance = bind(Axios.prototype.request, context);
  211. // Copy axios.prototype to instance
  212. utils.extend(instance, Axios.prototype, context);
  213. // Copy context to instance
  214. utils.extend(instance, context);
  215. return instance;
  216. }
  217. // Create the default instance to be exported
  218. var axios = createInstance(defaults);
  219. // Expose Axios class to allow class inheritance
  220. axios.Axios = Axios;
  221. // Factory for creating new instances
  222. axios.create = function create(instanceConfig) {
  223. return createInstance(mergeConfig(axios.defaults, instanceConfig));
  224. };
  225. // Expose Cancel & CancelToken
  226. axios.Cancel = __webpack_require__(/*! ./cancel/Cancel */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/cancel/Cancel.js");
  227. axios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/cancel/CancelToken.js");
  228. axios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/cancel/isCancel.js");
  229. // Expose all/spread
  230. axios.all = function all(promises) {
  231. return Promise.all(promises);
  232. };
  233. axios.spread = __webpack_require__(/*! ./helpers/spread */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/spread.js");
  234. // Expose isAxiosError
  235. axios.isAxiosError = __webpack_require__(/*! ./helpers/isAxiosError */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/isAxiosError.js");
  236. module.exports = axios;
  237. // Allow use of default import syntax in TypeScript
  238. module.exports["default"] = axios;
  239. /***/ }),
  240. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/cancel/Cancel.js":
  241. /*!*********************************************************************************!*\
  242. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/cancel/Cancel.js ***!
  243. \*********************************************************************************/
  244. /***/ ((module) => {
  245. "use strict";
  246. /**
  247. * A `Cancel` is an object that is thrown when an operation is canceled.
  248. *
  249. * @class
  250. * @param {string=} message The message.
  251. */
  252. function Cancel(message) {
  253. this.message = message;
  254. }
  255. Cancel.prototype.toString = function toString() {
  256. return 'Cancel' + (this.message ? ': ' + this.message : '');
  257. };
  258. Cancel.prototype.__CANCEL__ = true;
  259. module.exports = Cancel;
  260. /***/ }),
  261. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/cancel/CancelToken.js":
  262. /*!**************************************************************************************!*\
  263. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/cancel/CancelToken.js ***!
  264. \**************************************************************************************/
  265. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  266. "use strict";
  267. var Cancel = __webpack_require__(/*! ./Cancel */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/cancel/Cancel.js");
  268. /**
  269. * A `CancelToken` is an object that can be used to request cancellation of an operation.
  270. *
  271. * @class
  272. * @param {Function} executor The executor function.
  273. */
  274. function CancelToken(executor) {
  275. if (typeof executor !== 'function') {
  276. throw new TypeError('executor must be a function.');
  277. }
  278. var resolvePromise;
  279. this.promise = new Promise(function promiseExecutor(resolve) {
  280. resolvePromise = resolve;
  281. });
  282. var token = this;
  283. executor(function cancel(message) {
  284. if (token.reason) {
  285. // Cancellation has already been requested
  286. return;
  287. }
  288. token.reason = new Cancel(message);
  289. resolvePromise(token.reason);
  290. });
  291. }
  292. /**
  293. * Throws a `Cancel` if cancellation has been requested.
  294. */
  295. CancelToken.prototype.throwIfRequested = function throwIfRequested() {
  296. if (this.reason) {
  297. throw this.reason;
  298. }
  299. };
  300. /**
  301. * Returns an object that contains a new `CancelToken` and a function that, when called,
  302. * cancels the `CancelToken`.
  303. */
  304. CancelToken.source = function source() {
  305. var cancel;
  306. var token = new CancelToken(function executor(c) {
  307. cancel = c;
  308. });
  309. return {
  310. token: token,
  311. cancel: cancel
  312. };
  313. };
  314. module.exports = CancelToken;
  315. /***/ }),
  316. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/cancel/isCancel.js":
  317. /*!***********************************************************************************!*\
  318. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/cancel/isCancel.js ***!
  319. \***********************************************************************************/
  320. /***/ ((module) => {
  321. "use strict";
  322. module.exports = function isCancel(value) {
  323. return !!(value && value.__CANCEL__);
  324. };
  325. /***/ }),
  326. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/Axios.js":
  327. /*!******************************************************************************!*\
  328. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/Axios.js ***!
  329. \******************************************************************************/
  330. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  331. "use strict";
  332. var utils = __webpack_require__(/*! ./../utils */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/utils.js");
  333. var buildURL = __webpack_require__(/*! ../helpers/buildURL */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/buildURL.js");
  334. var InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/InterceptorManager.js");
  335. var dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/dispatchRequest.js");
  336. var mergeConfig = __webpack_require__(/*! ./mergeConfig */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/mergeConfig.js");
  337. var validator = __webpack_require__(/*! ../helpers/validator */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/validator.js");
  338. var validators = validator.validators;
  339. /**
  340. * Create a new instance of Axios
  341. *
  342. * @param {Object} instanceConfig The default config for the instance
  343. */
  344. function Axios(instanceConfig) {
  345. this.defaults = instanceConfig;
  346. this.interceptors = {
  347. request: new InterceptorManager(),
  348. response: new InterceptorManager()
  349. };
  350. }
  351. /**
  352. * Dispatch a request
  353. *
  354. * @param {Object} config The config specific for this request (merged with this.defaults)
  355. */
  356. Axios.prototype.request = function request(config) {
  357. /*eslint no-param-reassign:0*/
  358. // Allow for axios('example/url'[, config]) a la fetch API
  359. if (typeof config === 'string') {
  360. config = arguments[1] || {};
  361. config.url = arguments[0];
  362. } else {
  363. config = config || {};
  364. }
  365. config = mergeConfig(this.defaults, config);
  366. // Set config.method
  367. if (config.method) {
  368. config.method = config.method.toLowerCase();
  369. } else if (this.defaults.method) {
  370. config.method = this.defaults.method.toLowerCase();
  371. } else {
  372. config.method = 'get';
  373. }
  374. var transitional = config.transitional;
  375. if (transitional !== undefined) {
  376. validator.assertOptions(transitional, {
  377. silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'),
  378. forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'),
  379. clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0')
  380. }, false);
  381. }
  382. // filter out skipped interceptors
  383. var requestInterceptorChain = [];
  384. var synchronousRequestInterceptors = true;
  385. this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
  386. if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {
  387. return;
  388. }
  389. synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;
  390. requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);
  391. });
  392. var responseInterceptorChain = [];
  393. this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
  394. responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
  395. });
  396. var promise;
  397. if (!synchronousRequestInterceptors) {
  398. var chain = [dispatchRequest, undefined];
  399. Array.prototype.unshift.apply(chain, requestInterceptorChain);
  400. chain = chain.concat(responseInterceptorChain);
  401. promise = Promise.resolve(config);
  402. while (chain.length) {
  403. promise = promise.then(chain.shift(), chain.shift());
  404. }
  405. return promise;
  406. }
  407. var newConfig = config;
  408. while (requestInterceptorChain.length) {
  409. var onFulfilled = requestInterceptorChain.shift();
  410. var onRejected = requestInterceptorChain.shift();
  411. try {
  412. newConfig = onFulfilled(newConfig);
  413. } catch (error) {
  414. onRejected(error);
  415. break;
  416. }
  417. }
  418. try {
  419. promise = dispatchRequest(newConfig);
  420. } catch (error) {
  421. return Promise.reject(error);
  422. }
  423. while (responseInterceptorChain.length) {
  424. promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());
  425. }
  426. return promise;
  427. };
  428. Axios.prototype.getUri = function getUri(config) {
  429. config = mergeConfig(this.defaults, config);
  430. return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, '');
  431. };
  432. // Provide aliases for supported request methods
  433. utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {
  434. /*eslint func-names:0*/
  435. Axios.prototype[method] = function(url, config) {
  436. return this.request(mergeConfig(config || {}, {
  437. method: method,
  438. url: url,
  439. data: (config || {}).data
  440. }));
  441. };
  442. });
  443. utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
  444. /*eslint func-names:0*/
  445. Axios.prototype[method] = function(url, data, config) {
  446. return this.request(mergeConfig(config || {}, {
  447. method: method,
  448. url: url,
  449. data: data
  450. }));
  451. };
  452. });
  453. module.exports = Axios;
  454. /***/ }),
  455. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/InterceptorManager.js":
  456. /*!*******************************************************************************************!*\
  457. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/InterceptorManager.js ***!
  458. \*******************************************************************************************/
  459. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  460. "use strict";
  461. var utils = __webpack_require__(/*! ./../utils */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/utils.js");
  462. function InterceptorManager() {
  463. this.handlers = [];
  464. }
  465. /**
  466. * Add a new interceptor to the stack
  467. *
  468. * @param {Function} fulfilled The function to handle `then` for a `Promise`
  469. * @param {Function} rejected The function to handle `reject` for a `Promise`
  470. *
  471. * @return {Number} An ID used to remove interceptor later
  472. */
  473. InterceptorManager.prototype.use = function use(fulfilled, rejected, options) {
  474. this.handlers.push({
  475. fulfilled: fulfilled,
  476. rejected: rejected,
  477. synchronous: options ? options.synchronous : false,
  478. runWhen: options ? options.runWhen : null
  479. });
  480. return this.handlers.length - 1;
  481. };
  482. /**
  483. * Remove an interceptor from the stack
  484. *
  485. * @param {Number} id The ID that was returned by `use`
  486. */
  487. InterceptorManager.prototype.eject = function eject(id) {
  488. if (this.handlers[id]) {
  489. this.handlers[id] = null;
  490. }
  491. };
  492. /**
  493. * Iterate over all the registered interceptors
  494. *
  495. * This method is particularly useful for skipping over any
  496. * interceptors that may have become `null` calling `eject`.
  497. *
  498. * @param {Function} fn The function to call for each interceptor
  499. */
  500. InterceptorManager.prototype.forEach = function forEach(fn) {
  501. utils.forEach(this.handlers, function forEachHandler(h) {
  502. if (h !== null) {
  503. fn(h);
  504. }
  505. });
  506. };
  507. module.exports = InterceptorManager;
  508. /***/ }),
  509. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/buildFullPath.js":
  510. /*!**************************************************************************************!*\
  511. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/buildFullPath.js ***!
  512. \**************************************************************************************/
  513. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  514. "use strict";
  515. var isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/isAbsoluteURL.js");
  516. var combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/combineURLs.js");
  517. /**
  518. * Creates a new URL by combining the baseURL with the requestedURL,
  519. * only when the requestedURL is not already an absolute URL.
  520. * If the requestURL is absolute, this function returns the requestedURL untouched.
  521. *
  522. * @param {string} baseURL The base URL
  523. * @param {string} requestedURL Absolute or relative URL to combine
  524. * @returns {string} The combined full path
  525. */
  526. module.exports = function buildFullPath(baseURL, requestedURL) {
  527. if (baseURL && !isAbsoluteURL(requestedURL)) {
  528. return combineURLs(baseURL, requestedURL);
  529. }
  530. return requestedURL;
  531. };
  532. /***/ }),
  533. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/createError.js":
  534. /*!************************************************************************************!*\
  535. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/createError.js ***!
  536. \************************************************************************************/
  537. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  538. "use strict";
  539. var enhanceError = __webpack_require__(/*! ./enhanceError */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/enhanceError.js");
  540. /**
  541. * Create an Error with the specified message, config, error code, request and response.
  542. *
  543. * @param {string} message The error message.
  544. * @param {Object} config The config.
  545. * @param {string} [code] The error code (for example, 'ECONNABORTED').
  546. * @param {Object} [request] The request.
  547. * @param {Object} [response] The response.
  548. * @returns {Error} The created error.
  549. */
  550. module.exports = function createError(message, config, code, request, response) {
  551. var error = new Error(message);
  552. return enhanceError(error, config, code, request, response);
  553. };
  554. /***/ }),
  555. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/dispatchRequest.js":
  556. /*!****************************************************************************************!*\
  557. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/dispatchRequest.js ***!
  558. \****************************************************************************************/
  559. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  560. "use strict";
  561. var utils = __webpack_require__(/*! ./../utils */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/utils.js");
  562. var transformData = __webpack_require__(/*! ./transformData */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/transformData.js");
  563. var isCancel = __webpack_require__(/*! ../cancel/isCancel */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/cancel/isCancel.js");
  564. var defaults = __webpack_require__(/*! ../defaults */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/defaults.js");
  565. /**
  566. * Throws a `Cancel` if cancellation has been requested.
  567. */
  568. function throwIfCancellationRequested(config) {
  569. if (config.cancelToken) {
  570. config.cancelToken.throwIfRequested();
  571. }
  572. }
  573. /**
  574. * Dispatch a request to the server using the configured adapter.
  575. *
  576. * @param {object} config The config that is to be used for the request
  577. * @returns {Promise} The Promise to be fulfilled
  578. */
  579. module.exports = function dispatchRequest(config) {
  580. throwIfCancellationRequested(config);
  581. // Ensure headers exist
  582. config.headers = config.headers || {};
  583. // Transform request data
  584. config.data = transformData.call(
  585. config,
  586. config.data,
  587. config.headers,
  588. config.transformRequest
  589. );
  590. // Flatten headers
  591. config.headers = utils.merge(
  592. config.headers.common || {},
  593. config.headers[config.method] || {},
  594. config.headers
  595. );
  596. utils.forEach(
  597. ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],
  598. function cleanHeaderConfig(method) {
  599. delete config.headers[method];
  600. }
  601. );
  602. var adapter = config.adapter || defaults.adapter;
  603. return adapter(config).then(function onAdapterResolution(response) {
  604. throwIfCancellationRequested(config);
  605. // Transform response data
  606. response.data = transformData.call(
  607. config,
  608. response.data,
  609. response.headers,
  610. config.transformResponse
  611. );
  612. return response;
  613. }, function onAdapterRejection(reason) {
  614. if (!isCancel(reason)) {
  615. throwIfCancellationRequested(config);
  616. // Transform response data
  617. if (reason && reason.response) {
  618. reason.response.data = transformData.call(
  619. config,
  620. reason.response.data,
  621. reason.response.headers,
  622. config.transformResponse
  623. );
  624. }
  625. }
  626. return Promise.reject(reason);
  627. });
  628. };
  629. /***/ }),
  630. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/enhanceError.js":
  631. /*!*************************************************************************************!*\
  632. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/enhanceError.js ***!
  633. \*************************************************************************************/
  634. /***/ ((module) => {
  635. "use strict";
  636. /**
  637. * Update an Error with the specified config, error code, and response.
  638. *
  639. * @param {Error} error The error to update.
  640. * @param {Object} config The config.
  641. * @param {string} [code] The error code (for example, 'ECONNABORTED').
  642. * @param {Object} [request] The request.
  643. * @param {Object} [response] The response.
  644. * @returns {Error} The error.
  645. */
  646. module.exports = function enhanceError(error, config, code, request, response) {
  647. error.config = config;
  648. if (code) {
  649. error.code = code;
  650. }
  651. error.request = request;
  652. error.response = response;
  653. error.isAxiosError = true;
  654. error.toJSON = function toJSON() {
  655. return {
  656. // Standard
  657. message: this.message,
  658. name: this.name,
  659. // Microsoft
  660. description: this.description,
  661. number: this.number,
  662. // Mozilla
  663. fileName: this.fileName,
  664. lineNumber: this.lineNumber,
  665. columnNumber: this.columnNumber,
  666. stack: this.stack,
  667. // Axios
  668. config: this.config,
  669. code: this.code
  670. };
  671. };
  672. return error;
  673. };
  674. /***/ }),
  675. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/mergeConfig.js":
  676. /*!************************************************************************************!*\
  677. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/mergeConfig.js ***!
  678. \************************************************************************************/
  679. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  680. "use strict";
  681. var utils = __webpack_require__(/*! ../utils */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/utils.js");
  682. /**
  683. * Config-specific merge-function which creates a new config-object
  684. * by merging two configuration objects together.
  685. *
  686. * @param {Object} config1
  687. * @param {Object} config2
  688. * @returns {Object} New object resulting from merging config2 to config1
  689. */
  690. module.exports = function mergeConfig(config1, config2) {
  691. // eslint-disable-next-line no-param-reassign
  692. config2 = config2 || {};
  693. var config = {};
  694. var valueFromConfig2Keys = ['url', 'method', 'data'];
  695. var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];
  696. var defaultToConfig2Keys = [
  697. 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',
  698. 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',
  699. 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',
  700. 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',
  701. 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'
  702. ];
  703. var directMergeKeys = ['validateStatus'];
  704. function getMergedValue(target, source) {
  705. if (utils.isPlainObject(target) && utils.isPlainObject(source)) {
  706. return utils.merge(target, source);
  707. } else if (utils.isPlainObject(source)) {
  708. return utils.merge({}, source);
  709. } else if (utils.isArray(source)) {
  710. return source.slice();
  711. }
  712. return source;
  713. }
  714. function mergeDeepProperties(prop) {
  715. if (!utils.isUndefined(config2[prop])) {
  716. config[prop] = getMergedValue(config1[prop], config2[prop]);
  717. } else if (!utils.isUndefined(config1[prop])) {
  718. config[prop] = getMergedValue(undefined, config1[prop]);
  719. }
  720. }
  721. utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {
  722. if (!utils.isUndefined(config2[prop])) {
  723. config[prop] = getMergedValue(undefined, config2[prop]);
  724. }
  725. });
  726. utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);
  727. utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {
  728. if (!utils.isUndefined(config2[prop])) {
  729. config[prop] = getMergedValue(undefined, config2[prop]);
  730. } else if (!utils.isUndefined(config1[prop])) {
  731. config[prop] = getMergedValue(undefined, config1[prop]);
  732. }
  733. });
  734. utils.forEach(directMergeKeys, function merge(prop) {
  735. if (prop in config2) {
  736. config[prop] = getMergedValue(config1[prop], config2[prop]);
  737. } else if (prop in config1) {
  738. config[prop] = getMergedValue(undefined, config1[prop]);
  739. }
  740. });
  741. var axiosKeys = valueFromConfig2Keys
  742. .concat(mergeDeepPropertiesKeys)
  743. .concat(defaultToConfig2Keys)
  744. .concat(directMergeKeys);
  745. var otherKeys = Object
  746. .keys(config1)
  747. .concat(Object.keys(config2))
  748. .filter(function filterAxiosKeys(key) {
  749. return axiosKeys.indexOf(key) === -1;
  750. });
  751. utils.forEach(otherKeys, mergeDeepProperties);
  752. return config;
  753. };
  754. /***/ }),
  755. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/settle.js":
  756. /*!*******************************************************************************!*\
  757. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/settle.js ***!
  758. \*******************************************************************************/
  759. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  760. "use strict";
  761. var createError = __webpack_require__(/*! ./createError */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/createError.js");
  762. /**
  763. * Resolve or reject a Promise based on response status.
  764. *
  765. * @param {Function} resolve A function that resolves the promise.
  766. * @param {Function} reject A function that rejects the promise.
  767. * @param {object} response The response.
  768. */
  769. module.exports = function settle(resolve, reject, response) {
  770. var validateStatus = response.config.validateStatus;
  771. if (!response.status || !validateStatus || validateStatus(response.status)) {
  772. resolve(response);
  773. } else {
  774. reject(createError(
  775. 'Request failed with status code ' + response.status,
  776. response.config,
  777. null,
  778. response.request,
  779. response
  780. ));
  781. }
  782. };
  783. /***/ }),
  784. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/transformData.js":
  785. /*!**************************************************************************************!*\
  786. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/transformData.js ***!
  787. \**************************************************************************************/
  788. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  789. "use strict";
  790. var utils = __webpack_require__(/*! ./../utils */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/utils.js");
  791. var defaults = __webpack_require__(/*! ./../defaults */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/defaults.js");
  792. /**
  793. * Transform the data for a request or a response
  794. *
  795. * @param {Object|String} data The data to be transformed
  796. * @param {Array} headers The headers for the request or response
  797. * @param {Array|Function} fns A single function or Array of functions
  798. * @returns {*} The resulting transformed data
  799. */
  800. module.exports = function transformData(data, headers, fns) {
  801. var context = this || defaults;
  802. /*eslint no-param-reassign:0*/
  803. utils.forEach(fns, function transform(fn) {
  804. data = fn.call(context, data, headers);
  805. });
  806. return data;
  807. };
  808. /***/ }),
  809. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/defaults.js":
  810. /*!****************************************************************************!*\
  811. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/defaults.js ***!
  812. \****************************************************************************/
  813. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  814. "use strict";
  815. /* provided dependency */ var process = __webpack_require__(/*! process/browser.js */ "./node_modules/process/browser.js");
  816. var utils = __webpack_require__(/*! ./utils */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/utils.js");
  817. var normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/normalizeHeaderName.js");
  818. var enhanceError = __webpack_require__(/*! ./core/enhanceError */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/core/enhanceError.js");
  819. var DEFAULT_CONTENT_TYPE = {
  820. 'Content-Type': 'application/x-www-form-urlencoded'
  821. };
  822. function setContentTypeIfUnset(headers, value) {
  823. if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {
  824. headers['Content-Type'] = value;
  825. }
  826. }
  827. function getDefaultAdapter() {
  828. var adapter;
  829. if (typeof XMLHttpRequest !== 'undefined') {
  830. // For browsers use XHR adapter
  831. adapter = __webpack_require__(/*! ./adapters/xhr */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/adapters/xhr.js");
  832. } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {
  833. // For node use HTTP adapter
  834. adapter = __webpack_require__(/*! ./adapters/http */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/adapters/xhr.js");
  835. }
  836. return adapter;
  837. }
  838. function stringifySafely(rawValue, parser, encoder) {
  839. if (utils.isString(rawValue)) {
  840. try {
  841. (parser || JSON.parse)(rawValue);
  842. return utils.trim(rawValue);
  843. } catch (e) {
  844. if (e.name !== 'SyntaxError') {
  845. throw e;
  846. }
  847. }
  848. }
  849. return (encoder || JSON.stringify)(rawValue);
  850. }
  851. var defaults = {
  852. transitional: {
  853. silentJSONParsing: true,
  854. forcedJSONParsing: true,
  855. clarifyTimeoutError: false
  856. },
  857. adapter: getDefaultAdapter(),
  858. transformRequest: [function transformRequest(data, headers) {
  859. normalizeHeaderName(headers, 'Accept');
  860. normalizeHeaderName(headers, 'Content-Type');
  861. if (utils.isFormData(data) ||
  862. utils.isArrayBuffer(data) ||
  863. utils.isBuffer(data) ||
  864. utils.isStream(data) ||
  865. utils.isFile(data) ||
  866. utils.isBlob(data)
  867. ) {
  868. return data;
  869. }
  870. if (utils.isArrayBufferView(data)) {
  871. return data.buffer;
  872. }
  873. if (utils.isURLSearchParams(data)) {
  874. setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
  875. return data.toString();
  876. }
  877. if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {
  878. setContentTypeIfUnset(headers, 'application/json');
  879. return stringifySafely(data);
  880. }
  881. return data;
  882. }],
  883. transformResponse: [function transformResponse(data) {
  884. var transitional = this.transitional;
  885. var silentJSONParsing = transitional && transitional.silentJSONParsing;
  886. var forcedJSONParsing = transitional && transitional.forcedJSONParsing;
  887. var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';
  888. if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {
  889. try {
  890. return JSON.parse(data);
  891. } catch (e) {
  892. if (strictJSONParsing) {
  893. if (e.name === 'SyntaxError') {
  894. throw enhanceError(e, this, 'E_JSON_PARSE');
  895. }
  896. throw e;
  897. }
  898. }
  899. }
  900. return data;
  901. }],
  902. /**
  903. * A timeout in milliseconds to abort a request. If set to 0 (default) a
  904. * timeout is not created.
  905. */
  906. timeout: 0,
  907. xsrfCookieName: 'XSRF-TOKEN',
  908. xsrfHeaderName: 'X-XSRF-TOKEN',
  909. maxContentLength: -1,
  910. maxBodyLength: -1,
  911. validateStatus: function validateStatus(status) {
  912. return status >= 200 && status < 300;
  913. }
  914. };
  915. defaults.headers = {
  916. common: {
  917. 'Accept': 'application/json, text/plain, */*'
  918. }
  919. };
  920. utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {
  921. defaults.headers[method] = {};
  922. });
  923. utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
  924. defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);
  925. });
  926. module.exports = defaults;
  927. /***/ }),
  928. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/bind.js":
  929. /*!********************************************************************************!*\
  930. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/bind.js ***!
  931. \********************************************************************************/
  932. /***/ ((module) => {
  933. "use strict";
  934. module.exports = function bind(fn, thisArg) {
  935. return function wrap() {
  936. var args = new Array(arguments.length);
  937. for (var i = 0; i < args.length; i++) {
  938. args[i] = arguments[i];
  939. }
  940. return fn.apply(thisArg, args);
  941. };
  942. };
  943. /***/ }),
  944. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/buildURL.js":
  945. /*!************************************************************************************!*\
  946. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/buildURL.js ***!
  947. \************************************************************************************/
  948. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  949. "use strict";
  950. var utils = __webpack_require__(/*! ./../utils */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/utils.js");
  951. function encode(val) {
  952. return encodeURIComponent(val).
  953. replace(/%3A/gi, ':').
  954. replace(/%24/g, '$').
  955. replace(/%2C/gi, ',').
  956. replace(/%20/g, '+').
  957. replace(/%5B/gi, '[').
  958. replace(/%5D/gi, ']');
  959. }
  960. /**
  961. * Build a URL by appending params to the end
  962. *
  963. * @param {string} url The base of the url (e.g., http://www.google.com)
  964. * @param {object} [params] The params to be appended
  965. * @returns {string} The formatted url
  966. */
  967. module.exports = function buildURL(url, params, paramsSerializer) {
  968. /*eslint no-param-reassign:0*/
  969. if (!params) {
  970. return url;
  971. }
  972. var serializedParams;
  973. if (paramsSerializer) {
  974. serializedParams = paramsSerializer(params);
  975. } else if (utils.isURLSearchParams(params)) {
  976. serializedParams = params.toString();
  977. } else {
  978. var parts = [];
  979. utils.forEach(params, function serialize(val, key) {
  980. if (val === null || typeof val === 'undefined') {
  981. return;
  982. }
  983. if (utils.isArray(val)) {
  984. key = key + '[]';
  985. } else {
  986. val = [val];
  987. }
  988. utils.forEach(val, function parseValue(v) {
  989. if (utils.isDate(v)) {
  990. v = v.toISOString();
  991. } else if (utils.isObject(v)) {
  992. v = JSON.stringify(v);
  993. }
  994. parts.push(encode(key) + '=' + encode(v));
  995. });
  996. });
  997. serializedParams = parts.join('&');
  998. }
  999. if (serializedParams) {
  1000. var hashmarkIndex = url.indexOf('#');
  1001. if (hashmarkIndex !== -1) {
  1002. url = url.slice(0, hashmarkIndex);
  1003. }
  1004. url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
  1005. }
  1006. return url;
  1007. };
  1008. /***/ }),
  1009. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/combineURLs.js":
  1010. /*!***************************************************************************************!*\
  1011. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/combineURLs.js ***!
  1012. \***************************************************************************************/
  1013. /***/ ((module) => {
  1014. "use strict";
  1015. /**
  1016. * Creates a new URL by combining the specified URLs
  1017. *
  1018. * @param {string} baseURL The base URL
  1019. * @param {string} relativeURL The relative URL
  1020. * @returns {string} The combined URL
  1021. */
  1022. module.exports = function combineURLs(baseURL, relativeURL) {
  1023. return relativeURL
  1024. ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '')
  1025. : baseURL;
  1026. };
  1027. /***/ }),
  1028. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/cookies.js":
  1029. /*!***********************************************************************************!*\
  1030. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/cookies.js ***!
  1031. \***********************************************************************************/
  1032. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1033. "use strict";
  1034. var utils = __webpack_require__(/*! ./../utils */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/utils.js");
  1035. module.exports = (
  1036. utils.isStandardBrowserEnv() ?
  1037. // Standard browser envs support document.cookie
  1038. (function standardBrowserEnv() {
  1039. return {
  1040. write: function write(name, value, expires, path, domain, secure) {
  1041. var cookie = [];
  1042. cookie.push(name + '=' + encodeURIComponent(value));
  1043. if (utils.isNumber(expires)) {
  1044. cookie.push('expires=' + new Date(expires).toGMTString());
  1045. }
  1046. if (utils.isString(path)) {
  1047. cookie.push('path=' + path);
  1048. }
  1049. if (utils.isString(domain)) {
  1050. cookie.push('domain=' + domain);
  1051. }
  1052. if (secure === true) {
  1053. cookie.push('secure');
  1054. }
  1055. document.cookie = cookie.join('; ');
  1056. },
  1057. read: function read(name) {
  1058. var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)'));
  1059. return (match ? decodeURIComponent(match[3]) : null);
  1060. },
  1061. remove: function remove(name) {
  1062. this.write(name, '', Date.now() - 86400000);
  1063. }
  1064. };
  1065. })() :
  1066. // Non standard browser env (web workers, react-native) lack needed support.
  1067. (function nonStandardBrowserEnv() {
  1068. return {
  1069. write: function write() {},
  1070. read: function read() { return null; },
  1071. remove: function remove() {}
  1072. };
  1073. })()
  1074. );
  1075. /***/ }),
  1076. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/isAbsoluteURL.js":
  1077. /*!*****************************************************************************************!*\
  1078. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/isAbsoluteURL.js ***!
  1079. \*****************************************************************************************/
  1080. /***/ ((module) => {
  1081. "use strict";
  1082. /**
  1083. * Determines whether the specified URL is absolute
  1084. *
  1085. * @param {string} url The URL to test
  1086. * @returns {boolean} True if the specified URL is absolute, otherwise false
  1087. */
  1088. module.exports = function isAbsoluteURL(url) {
  1089. // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL).
  1090. // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
  1091. // by any combination of letters, digits, plus, period, or hyphen.
  1092. return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url);
  1093. };
  1094. /***/ }),
  1095. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/isAxiosError.js":
  1096. /*!****************************************************************************************!*\
  1097. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/isAxiosError.js ***!
  1098. \****************************************************************************************/
  1099. /***/ ((module) => {
  1100. "use strict";
  1101. /**
  1102. * Determines whether the payload is an error thrown by Axios
  1103. *
  1104. * @param {*} payload The value to test
  1105. * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false
  1106. */
  1107. module.exports = function isAxiosError(payload) {
  1108. return (typeof payload === 'object') && (payload.isAxiosError === true);
  1109. };
  1110. /***/ }),
  1111. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/isURLSameOrigin.js":
  1112. /*!*******************************************************************************************!*\
  1113. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/isURLSameOrigin.js ***!
  1114. \*******************************************************************************************/
  1115. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1116. "use strict";
  1117. var utils = __webpack_require__(/*! ./../utils */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/utils.js");
  1118. module.exports = (
  1119. utils.isStandardBrowserEnv() ?
  1120. // Standard browser envs have full support of the APIs needed to test
  1121. // whether the request URL is of the same origin as current location.
  1122. (function standardBrowserEnv() {
  1123. var msie = /(msie|trident)/i.test(navigator.userAgent);
  1124. var urlParsingNode = document.createElement('a');
  1125. var originURL;
  1126. /**
  1127. * Parse a URL to discover it's components
  1128. *
  1129. * @param {String} url The URL to be parsed
  1130. * @returns {Object}
  1131. */
  1132. function resolveURL(url) {
  1133. var href = url;
  1134. if (msie) {
  1135. // IE needs attribute set twice to normalize properties
  1136. urlParsingNode.setAttribute('href', href);
  1137. href = urlParsingNode.href;
  1138. }
  1139. urlParsingNode.setAttribute('href', href);
  1140. // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils
  1141. return {
  1142. href: urlParsingNode.href,
  1143. protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',
  1144. host: urlParsingNode.host,
  1145. search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '',
  1146. hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',
  1147. hostname: urlParsingNode.hostname,
  1148. port: urlParsingNode.port,
  1149. pathname: (urlParsingNode.pathname.charAt(0) === '/') ?
  1150. urlParsingNode.pathname :
  1151. '/' + urlParsingNode.pathname
  1152. };
  1153. }
  1154. originURL = resolveURL(window.location.href);
  1155. /**
  1156. * Determine if a URL shares the same origin as the current location
  1157. *
  1158. * @param {String} requestURL The URL to test
  1159. * @returns {boolean} True if URL shares the same origin, otherwise false
  1160. */
  1161. return function isURLSameOrigin(requestURL) {
  1162. var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;
  1163. return (parsed.protocol === originURL.protocol &&
  1164. parsed.host === originURL.host);
  1165. };
  1166. })() :
  1167. // Non standard browser envs (web workers, react-native) lack needed support.
  1168. (function nonStandardBrowserEnv() {
  1169. return function isURLSameOrigin() {
  1170. return true;
  1171. };
  1172. })()
  1173. );
  1174. /***/ }),
  1175. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/normalizeHeaderName.js":
  1176. /*!***********************************************************************************************!*\
  1177. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/normalizeHeaderName.js ***!
  1178. \***********************************************************************************************/
  1179. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1180. "use strict";
  1181. var utils = __webpack_require__(/*! ../utils */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/utils.js");
  1182. module.exports = function normalizeHeaderName(headers, normalizedName) {
  1183. utils.forEach(headers, function processHeader(value, name) {
  1184. if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {
  1185. headers[normalizedName] = value;
  1186. delete headers[name];
  1187. }
  1188. });
  1189. };
  1190. /***/ }),
  1191. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/parseHeaders.js":
  1192. /*!****************************************************************************************!*\
  1193. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/parseHeaders.js ***!
  1194. \****************************************************************************************/
  1195. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1196. "use strict";
  1197. var utils = __webpack_require__(/*! ./../utils */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/utils.js");
  1198. // Headers whose duplicates are ignored by node
  1199. // c.f. https://nodejs.org/api/http.html#http_message_headers
  1200. var ignoreDuplicateOf = [
  1201. 'age', 'authorization', 'content-length', 'content-type', 'etag',
  1202. 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',
  1203. 'last-modified', 'location', 'max-forwards', 'proxy-authorization',
  1204. 'referer', 'retry-after', 'user-agent'
  1205. ];
  1206. /**
  1207. * Parse headers into an object
  1208. *
  1209. * ```
  1210. * Date: Wed, 27 Aug 2014 08:58:49 GMT
  1211. * Content-Type: application/json
  1212. * Connection: keep-alive
  1213. * Transfer-Encoding: chunked
  1214. * ```
  1215. *
  1216. * @param {String} headers Headers needing to be parsed
  1217. * @returns {Object} Headers parsed into an object
  1218. */
  1219. module.exports = function parseHeaders(headers) {
  1220. var parsed = {};
  1221. var key;
  1222. var val;
  1223. var i;
  1224. if (!headers) { return parsed; }
  1225. utils.forEach(headers.split('\n'), function parser(line) {
  1226. i = line.indexOf(':');
  1227. key = utils.trim(line.substr(0, i)).toLowerCase();
  1228. val = utils.trim(line.substr(i + 1));
  1229. if (key) {
  1230. if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {
  1231. return;
  1232. }
  1233. if (key === 'set-cookie') {
  1234. parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);
  1235. } else {
  1236. parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
  1237. }
  1238. }
  1239. });
  1240. return parsed;
  1241. };
  1242. /***/ }),
  1243. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/spread.js":
  1244. /*!**********************************************************************************!*\
  1245. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/spread.js ***!
  1246. \**********************************************************************************/
  1247. /***/ ((module) => {
  1248. "use strict";
  1249. /**
  1250. * Syntactic sugar for invoking a function and expanding an array for arguments.
  1251. *
  1252. * Common use case would be to use `Function.prototype.apply`.
  1253. *
  1254. * ```js
  1255. * function f(x, y, z) {}
  1256. * var args = [1, 2, 3];
  1257. * f.apply(null, args);
  1258. * ```
  1259. *
  1260. * With `spread` this example can be re-written.
  1261. *
  1262. * ```js
  1263. * spread(function(x, y, z) {})([1, 2, 3]);
  1264. * ```
  1265. *
  1266. * @param {Function} callback
  1267. * @returns {Function}
  1268. */
  1269. module.exports = function spread(callback) {
  1270. return function wrap(arr) {
  1271. return callback.apply(null, arr);
  1272. };
  1273. };
  1274. /***/ }),
  1275. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/validator.js":
  1276. /*!*************************************************************************************!*\
  1277. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/validator.js ***!
  1278. \*************************************************************************************/
  1279. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1280. "use strict";
  1281. var pkg = __webpack_require__(/*! ./../../package.json */ "./node_modules/@inertiajs/inertia/node_modules/axios/package.json");
  1282. var validators = {};
  1283. // eslint-disable-next-line func-names
  1284. ['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {
  1285. validators[type] = function validator(thing) {
  1286. return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;
  1287. };
  1288. });
  1289. var deprecatedWarnings = {};
  1290. var currentVerArr = pkg.version.split('.');
  1291. /**
  1292. * Compare package versions
  1293. * @param {string} version
  1294. * @param {string?} thanVersion
  1295. * @returns {boolean}
  1296. */
  1297. function isOlderVersion(version, thanVersion) {
  1298. var pkgVersionArr = thanVersion ? thanVersion.split('.') : currentVerArr;
  1299. var destVer = version.split('.');
  1300. for (var i = 0; i < 3; i++) {
  1301. if (pkgVersionArr[i] > destVer[i]) {
  1302. return true;
  1303. } else if (pkgVersionArr[i] < destVer[i]) {
  1304. return false;
  1305. }
  1306. }
  1307. return false;
  1308. }
  1309. /**
  1310. * Transitional option validator
  1311. * @param {function|boolean?} validator
  1312. * @param {string?} version
  1313. * @param {string} message
  1314. * @returns {function}
  1315. */
  1316. validators.transitional = function transitional(validator, version, message) {
  1317. var isDeprecated = version && isOlderVersion(version);
  1318. function formatMessage(opt, desc) {
  1319. return '[Axios v' + pkg.version + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : '');
  1320. }
  1321. // eslint-disable-next-line func-names
  1322. return function(value, opt, opts) {
  1323. if (validator === false) {
  1324. throw new Error(formatMessage(opt, ' has been removed in ' + version));
  1325. }
  1326. if (isDeprecated && !deprecatedWarnings[opt]) {
  1327. deprecatedWarnings[opt] = true;
  1328. // eslint-disable-next-line no-console
  1329. console.warn(
  1330. formatMessage(
  1331. opt,
  1332. ' has been deprecated since v' + version + ' and will be removed in the near future'
  1333. )
  1334. );
  1335. }
  1336. return validator ? validator(value, opt, opts) : true;
  1337. };
  1338. };
  1339. /**
  1340. * Assert object's properties type
  1341. * @param {object} options
  1342. * @param {object} schema
  1343. * @param {boolean?} allowUnknown
  1344. */
  1345. function assertOptions(options, schema, allowUnknown) {
  1346. if (typeof options !== 'object') {
  1347. throw new TypeError('options must be an object');
  1348. }
  1349. var keys = Object.keys(options);
  1350. var i = keys.length;
  1351. while (i-- > 0) {
  1352. var opt = keys[i];
  1353. var validator = schema[opt];
  1354. if (validator) {
  1355. var value = options[opt];
  1356. var result = value === undefined || validator(value, opt, options);
  1357. if (result !== true) {
  1358. throw new TypeError('option ' + opt + ' must be ' + result);
  1359. }
  1360. continue;
  1361. }
  1362. if (allowUnknown !== true) {
  1363. throw Error('Unknown option ' + opt);
  1364. }
  1365. }
  1366. }
  1367. module.exports = {
  1368. isOlderVersion: isOlderVersion,
  1369. assertOptions: assertOptions,
  1370. validators: validators
  1371. };
  1372. /***/ }),
  1373. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/utils.js":
  1374. /*!*************************************************************************!*\
  1375. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/lib/utils.js ***!
  1376. \*************************************************************************/
  1377. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  1378. "use strict";
  1379. var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/@inertiajs/inertia/node_modules/axios/lib/helpers/bind.js");
  1380. // utils is a library of generic helper functions non-specific to axios
  1381. var toString = Object.prototype.toString;
  1382. /**
  1383. * Determine if a value is an Array
  1384. *
  1385. * @param {Object} val The value to test
  1386. * @returns {boolean} True if value is an Array, otherwise false
  1387. */
  1388. function isArray(val) {
  1389. return toString.call(val) === '[object Array]';
  1390. }
  1391. /**
  1392. * Determine if a value is undefined
  1393. *
  1394. * @param {Object} val The value to test
  1395. * @returns {boolean} True if the value is undefined, otherwise false
  1396. */
  1397. function isUndefined(val) {
  1398. return typeof val === 'undefined';
  1399. }
  1400. /**
  1401. * Determine if a value is a Buffer
  1402. *
  1403. * @param {Object} val The value to test
  1404. * @returns {boolean} True if value is a Buffer, otherwise false
  1405. */
  1406. function isBuffer(val) {
  1407. return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)
  1408. && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);
  1409. }
  1410. /**
  1411. * Determine if a value is an ArrayBuffer
  1412. *
  1413. * @param {Object} val The value to test
  1414. * @returns {boolean} True if value is an ArrayBuffer, otherwise false
  1415. */
  1416. function isArrayBuffer(val) {
  1417. return toString.call(val) === '[object ArrayBuffer]';
  1418. }
  1419. /**
  1420. * Determine if a value is a FormData
  1421. *
  1422. * @param {Object} val The value to test
  1423. * @returns {boolean} True if value is an FormData, otherwise false
  1424. */
  1425. function isFormData(val) {
  1426. return (typeof FormData !== 'undefined') && (val instanceof FormData);
  1427. }
  1428. /**
  1429. * Determine if a value is a view on an ArrayBuffer
  1430. *
  1431. * @param {Object} val The value to test
  1432. * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false
  1433. */
  1434. function isArrayBufferView(val) {
  1435. var result;
  1436. if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {
  1437. result = ArrayBuffer.isView(val);
  1438. } else {
  1439. result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);
  1440. }
  1441. return result;
  1442. }
  1443. /**
  1444. * Determine if a value is a String
  1445. *
  1446. * @param {Object} val The value to test
  1447. * @returns {boolean} True if value is a String, otherwise false
  1448. */
  1449. function isString(val) {
  1450. return typeof val === 'string';
  1451. }
  1452. /**
  1453. * Determine if a value is a Number
  1454. *
  1455. * @param {Object} val The value to test
  1456. * @returns {boolean} True if value is a Number, otherwise false
  1457. */
  1458. function isNumber(val) {
  1459. return typeof val === 'number';
  1460. }
  1461. /**
  1462. * Determine if a value is an Object
  1463. *
  1464. * @param {Object} val The value to test
  1465. * @returns {boolean} True if value is an Object, otherwise false
  1466. */
  1467. function isObject(val) {
  1468. return val !== null && typeof val === 'object';
  1469. }
  1470. /**
  1471. * Determine if a value is a plain Object
  1472. *
  1473. * @param {Object} val The value to test
  1474. * @return {boolean} True if value is a plain Object, otherwise false
  1475. */
  1476. function isPlainObject(val) {
  1477. if (toString.call(val) !== '[object Object]') {
  1478. return false;
  1479. }
  1480. var prototype = Object.getPrototypeOf(val);
  1481. return prototype === null || prototype === Object.prototype;
  1482. }
  1483. /**
  1484. * Determine if a value is a Date
  1485. *
  1486. * @param {Object} val The value to test
  1487. * @returns {boolean} True if value is a Date, otherwise false
  1488. */
  1489. function isDate(val) {
  1490. return toString.call(val) === '[object Date]';
  1491. }
  1492. /**
  1493. * Determine if a value is a File
  1494. *
  1495. * @param {Object} val The value to test
  1496. * @returns {boolean} True if value is a File, otherwise false
  1497. */
  1498. function isFile(val) {
  1499. return toString.call(val) === '[object File]';
  1500. }
  1501. /**
  1502. * Determine if a value is a Blob
  1503. *
  1504. * @param {Object} val The value to test
  1505. * @returns {boolean} True if value is a Blob, otherwise false
  1506. */
  1507. function isBlob(val) {
  1508. return toString.call(val) === '[object Blob]';
  1509. }
  1510. /**
  1511. * Determine if a value is a Function
  1512. *
  1513. * @param {Object} val The value to test
  1514. * @returns {boolean} True if value is a Function, otherwise false
  1515. */
  1516. function isFunction(val) {
  1517. return toString.call(val) === '[object Function]';
  1518. }
  1519. /**
  1520. * Determine if a value is a Stream
  1521. *
  1522. * @param {Object} val The value to test
  1523. * @returns {boolean} True if value is a Stream, otherwise false
  1524. */
  1525. function isStream(val) {
  1526. return isObject(val) && isFunction(val.pipe);
  1527. }
  1528. /**
  1529. * Determine if a value is a URLSearchParams object
  1530. *
  1531. * @param {Object} val The value to test
  1532. * @returns {boolean} True if value is a URLSearchParams object, otherwise false
  1533. */
  1534. function isURLSearchParams(val) {
  1535. return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;
  1536. }
  1537. /**
  1538. * Trim excess whitespace off the beginning and end of a string
  1539. *
  1540. * @param {String} str The String to trim
  1541. * @returns {String} The String freed of excess whitespace
  1542. */
  1543. function trim(str) {
  1544. return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g, '');
  1545. }
  1546. /**
  1547. * Determine if we're running in a standard browser environment
  1548. *
  1549. * This allows axios to run in a web worker, and react-native.
  1550. * Both environments support XMLHttpRequest, but not fully standard globals.
  1551. *
  1552. * web workers:
  1553. * typeof window -> undefined
  1554. * typeof document -> undefined
  1555. *
  1556. * react-native:
  1557. * navigator.product -> 'ReactNative'
  1558. * nativescript
  1559. * navigator.product -> 'NativeScript' or 'NS'
  1560. */
  1561. function isStandardBrowserEnv() {
  1562. if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||
  1563. navigator.product === 'NativeScript' ||
  1564. navigator.product === 'NS')) {
  1565. return false;
  1566. }
  1567. return (
  1568. typeof window !== 'undefined' &&
  1569. typeof document !== 'undefined'
  1570. );
  1571. }
  1572. /**
  1573. * Iterate over an Array or an Object invoking a function for each item.
  1574. *
  1575. * If `obj` is an Array callback will be called passing
  1576. * the value, index, and complete array for each item.
  1577. *
  1578. * If 'obj' is an Object callback will be called passing
  1579. * the value, key, and complete object for each property.
  1580. *
  1581. * @param {Object|Array} obj The object to iterate
  1582. * @param {Function} fn The callback to invoke for each item
  1583. */
  1584. function forEach(obj, fn) {
  1585. // Don't bother if no value provided
  1586. if (obj === null || typeof obj === 'undefined') {
  1587. return;
  1588. }
  1589. // Force an array if not already something iterable
  1590. if (typeof obj !== 'object') {
  1591. /*eslint no-param-reassign:0*/
  1592. obj = [obj];
  1593. }
  1594. if (isArray(obj)) {
  1595. // Iterate over array values
  1596. for (var i = 0, l = obj.length; i < l; i++) {
  1597. fn.call(null, obj[i], i, obj);
  1598. }
  1599. } else {
  1600. // Iterate over object keys
  1601. for (var key in obj) {
  1602. if (Object.prototype.hasOwnProperty.call(obj, key)) {
  1603. fn.call(null, obj[key], key, obj);
  1604. }
  1605. }
  1606. }
  1607. }
  1608. /**
  1609. * Accepts varargs expecting each argument to be an object, then
  1610. * immutably merges the properties of each object and returns result.
  1611. *
  1612. * When multiple objects contain the same key the later object in
  1613. * the arguments list will take precedence.
  1614. *
  1615. * Example:
  1616. *
  1617. * ```js
  1618. * var result = merge({foo: 123}, {foo: 456});
  1619. * console.log(result.foo); // outputs 456
  1620. * ```
  1621. *
  1622. * @param {Object} obj1 Object to merge
  1623. * @returns {Object} Result of all merge properties
  1624. */
  1625. function merge(/* obj1, obj2, obj3, ... */) {
  1626. var result = {};
  1627. function assignValue(val, key) {
  1628. if (isPlainObject(result[key]) && isPlainObject(val)) {
  1629. result[key] = merge(result[key], val);
  1630. } else if (isPlainObject(val)) {
  1631. result[key] = merge({}, val);
  1632. } else if (isArray(val)) {
  1633. result[key] = val.slice();
  1634. } else {
  1635. result[key] = val;
  1636. }
  1637. }
  1638. for (var i = 0, l = arguments.length; i < l; i++) {
  1639. forEach(arguments[i], assignValue);
  1640. }
  1641. return result;
  1642. }
  1643. /**
  1644. * Extends object a by mutably adding to it the properties of object b.
  1645. *
  1646. * @param {Object} a The object to be extended
  1647. * @param {Object} b The object to copy properties from
  1648. * @param {Object} thisArg The object to bind function to
  1649. * @return {Object} The resulting value of object a
  1650. */
  1651. function extend(a, b, thisArg) {
  1652. forEach(b, function assignValue(val, key) {
  1653. if (thisArg && typeof val === 'function') {
  1654. a[key] = bind(val, thisArg);
  1655. } else {
  1656. a[key] = val;
  1657. }
  1658. });
  1659. return a;
  1660. }
  1661. /**
  1662. * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)
  1663. *
  1664. * @param {string} content with BOM
  1665. * @return {string} content value without BOM
  1666. */
  1667. function stripBOM(content) {
  1668. if (content.charCodeAt(0) === 0xFEFF) {
  1669. content = content.slice(1);
  1670. }
  1671. return content;
  1672. }
  1673. module.exports = {
  1674. isArray: isArray,
  1675. isArrayBuffer: isArrayBuffer,
  1676. isBuffer: isBuffer,
  1677. isFormData: isFormData,
  1678. isArrayBufferView: isArrayBufferView,
  1679. isString: isString,
  1680. isNumber: isNumber,
  1681. isObject: isObject,
  1682. isPlainObject: isPlainObject,
  1683. isUndefined: isUndefined,
  1684. isDate: isDate,
  1685. isFile: isFile,
  1686. isBlob: isBlob,
  1687. isFunction: isFunction,
  1688. isStream: isStream,
  1689. isURLSearchParams: isURLSearchParams,
  1690. isStandardBrowserEnv: isStandardBrowserEnv,
  1691. forEach: forEach,
  1692. merge: merge,
  1693. extend: extend,
  1694. trim: trim,
  1695. stripBOM: stripBOM
  1696. };
  1697. /***/ }),
  1698. /***/ "./node_modules/@inertiajs/progress/dist/index.js":
  1699. /*!********************************************************!*\
  1700. !*** ./node_modules/@inertiajs/progress/dist/index.js ***!
  1701. \********************************************************/
  1702. /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
  1703. var n,e=(n=__webpack_require__(/*! nprogress */ "./node_modules/nprogress/nprogress.js"))&&"object"==typeof n&&"default"in n?n.default:n,t=null;function r(n){document.addEventListener("inertia:start",o.bind(null,n)),document.addEventListener("inertia:progress",i),document.addEventListener("inertia:finish",s)}function o(n){t=setTimeout(function(){return e.start()},n)}function i(n){e.isStarted()&&n.detail.progress.percentage&&e.set(Math.max(e.status,n.detail.progress.percentage/100*.9))}function s(n){clearTimeout(t),e.isStarted()&&(n.detail.visit.completed?e.done():n.detail.visit.interrupted?e.set(0):n.detail.visit.cancelled&&(e.done(),e.remove()))}exports.InertiaProgress={init:function(n){var t=void 0===n?{}:n,o=t.delay,i=t.color,s=void 0===i?"#29d":i,a=t.includeCSS,p=void 0===a||a,d=t.showSpinner,l=void 0!==d&&d;r(void 0===o?250:o),e.configure({showSpinner:l}),p&&function(n){var e=document.createElement("style");e.type="text/css",e.textContent="\n #nprogress {\n pointer-events: none;\n }\n\n #nprogress .bar {\n background: "+n+";\n\n position: fixed;\n z-index: 1031;\n top: 0;\n left: 0;\n\n width: 100%;\n height: 2px;\n }\n\n #nprogress .peg {\n display: block;\n position: absolute;\n right: 0px;\n width: 100px;\n height: 100%;\n box-shadow: 0 0 10px "+n+", 0 0 5px "+n+";\n opacity: 1.0;\n\n -webkit-transform: rotate(3deg) translate(0px, -4px);\n -ms-transform: rotate(3deg) translate(0px, -4px);\n transform: rotate(3deg) translate(0px, -4px);\n }\n\n #nprogress .spinner {\n display: block;\n position: fixed;\n z-index: 1031;\n top: 15px;\n right: 15px;\n }\n\n #nprogress .spinner-icon {\n width: 18px;\n height: 18px;\n box-sizing: border-box;\n\n border: solid 2px transparent;\n border-top-color: "+n+";\n border-left-color: "+n+";\n border-radius: 50%;\n\n -webkit-animation: nprogress-spinner 400ms linear infinite;\n animation: nprogress-spinner 400ms linear infinite;\n }\n\n .nprogress-custom-parent {\n overflow: hidden;\n position: relative;\n }\n\n .nprogress-custom-parent #nprogress .spinner,\n .nprogress-custom-parent #nprogress .bar {\n position: absolute;\n }\n\n @-webkit-keyframes nprogress-spinner {\n 0% { -webkit-transform: rotate(0deg); }\n 100% { -webkit-transform: rotate(360deg); }\n }\n @keyframes nprogress-spinner {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n }\n ",document.head.appendChild(e)}(s)}};
  1704. //# sourceMappingURL=index.js.map
  1705. /***/ }),
  1706. /***/ "./node_modules/@vue/compiler-core/dist/compiler-core.esm-bundler.js":
  1707. /*!***************************************************************************!*\
  1708. !*** ./node_modules/@vue/compiler-core/dist/compiler-core.esm-bundler.js ***!
  1709. \***************************************************************************/
  1710. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  1711. "use strict";
  1712. __webpack_require__.r(__webpack_exports__);
  1713. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  1714. /* harmony export */ "BASE_TRANSITION": () => (/* binding */ BASE_TRANSITION),
  1715. /* harmony export */ "CAMELIZE": () => (/* binding */ CAMELIZE),
  1716. /* harmony export */ "CAPITALIZE": () => (/* binding */ CAPITALIZE),
  1717. /* harmony export */ "CREATE_BLOCK": () => (/* binding */ CREATE_BLOCK),
  1718. /* harmony export */ "CREATE_COMMENT": () => (/* binding */ CREATE_COMMENT),
  1719. /* harmony export */ "CREATE_ELEMENT_BLOCK": () => (/* binding */ CREATE_ELEMENT_BLOCK),
  1720. /* harmony export */ "CREATE_ELEMENT_VNODE": () => (/* binding */ CREATE_ELEMENT_VNODE),
  1721. /* harmony export */ "CREATE_SLOTS": () => (/* binding */ CREATE_SLOTS),
  1722. /* harmony export */ "CREATE_STATIC": () => (/* binding */ CREATE_STATIC),
  1723. /* harmony export */ "CREATE_TEXT": () => (/* binding */ CREATE_TEXT),
  1724. /* harmony export */ "CREATE_VNODE": () => (/* binding */ CREATE_VNODE),
  1725. /* harmony export */ "FRAGMENT": () => (/* binding */ FRAGMENT),
  1726. /* harmony export */ "GUARD_REACTIVE_PROPS": () => (/* binding */ GUARD_REACTIVE_PROPS),
  1727. /* harmony export */ "IS_MEMO_SAME": () => (/* binding */ IS_MEMO_SAME),
  1728. /* harmony export */ "IS_REF": () => (/* binding */ IS_REF),
  1729. /* harmony export */ "KEEP_ALIVE": () => (/* binding */ KEEP_ALIVE),
  1730. /* harmony export */ "MERGE_PROPS": () => (/* binding */ MERGE_PROPS),
  1731. /* harmony export */ "NORMALIZE_CLASS": () => (/* binding */ NORMALIZE_CLASS),
  1732. /* harmony export */ "NORMALIZE_PROPS": () => (/* binding */ NORMALIZE_PROPS),
  1733. /* harmony export */ "NORMALIZE_STYLE": () => (/* binding */ NORMALIZE_STYLE),
  1734. /* harmony export */ "OPEN_BLOCK": () => (/* binding */ OPEN_BLOCK),
  1735. /* harmony export */ "POP_SCOPE_ID": () => (/* binding */ POP_SCOPE_ID),
  1736. /* harmony export */ "PUSH_SCOPE_ID": () => (/* binding */ PUSH_SCOPE_ID),
  1737. /* harmony export */ "RENDER_LIST": () => (/* binding */ RENDER_LIST),
  1738. /* harmony export */ "RENDER_SLOT": () => (/* binding */ RENDER_SLOT),
  1739. /* harmony export */ "RESOLVE_COMPONENT": () => (/* binding */ RESOLVE_COMPONENT),
  1740. /* harmony export */ "RESOLVE_DIRECTIVE": () => (/* binding */ RESOLVE_DIRECTIVE),
  1741. /* harmony export */ "RESOLVE_DYNAMIC_COMPONENT": () => (/* binding */ RESOLVE_DYNAMIC_COMPONENT),
  1742. /* harmony export */ "RESOLVE_FILTER": () => (/* binding */ RESOLVE_FILTER),
  1743. /* harmony export */ "SET_BLOCK_TRACKING": () => (/* binding */ SET_BLOCK_TRACKING),
  1744. /* harmony export */ "SUSPENSE": () => (/* binding */ SUSPENSE),
  1745. /* harmony export */ "TELEPORT": () => (/* binding */ TELEPORT),
  1746. /* harmony export */ "TO_DISPLAY_STRING": () => (/* binding */ TO_DISPLAY_STRING),
  1747. /* harmony export */ "TO_HANDLERS": () => (/* binding */ TO_HANDLERS),
  1748. /* harmony export */ "TO_HANDLER_KEY": () => (/* binding */ TO_HANDLER_KEY),
  1749. /* harmony export */ "UNREF": () => (/* binding */ UNREF),
  1750. /* harmony export */ "WITH_CTX": () => (/* binding */ WITH_CTX),
  1751. /* harmony export */ "WITH_DIRECTIVES": () => (/* binding */ WITH_DIRECTIVES),
  1752. /* harmony export */ "WITH_MEMO": () => (/* binding */ WITH_MEMO),
  1753. /* harmony export */ "advancePositionWithClone": () => (/* binding */ advancePositionWithClone),
  1754. /* harmony export */ "advancePositionWithMutation": () => (/* binding */ advancePositionWithMutation),
  1755. /* harmony export */ "assert": () => (/* binding */ assert),
  1756. /* harmony export */ "baseCompile": () => (/* binding */ baseCompile),
  1757. /* harmony export */ "baseParse": () => (/* binding */ baseParse),
  1758. /* harmony export */ "buildDirectiveArgs": () => (/* binding */ buildDirectiveArgs),
  1759. /* harmony export */ "buildProps": () => (/* binding */ buildProps),
  1760. /* harmony export */ "buildSlots": () => (/* binding */ buildSlots),
  1761. /* harmony export */ "checkCompatEnabled": () => (/* binding */ checkCompatEnabled),
  1762. /* harmony export */ "createArrayExpression": () => (/* binding */ createArrayExpression),
  1763. /* harmony export */ "createAssignmentExpression": () => (/* binding */ createAssignmentExpression),
  1764. /* harmony export */ "createBlockStatement": () => (/* binding */ createBlockStatement),
  1765. /* harmony export */ "createCacheExpression": () => (/* binding */ createCacheExpression),
  1766. /* harmony export */ "createCallExpression": () => (/* binding */ createCallExpression),
  1767. /* harmony export */ "createCompilerError": () => (/* binding */ createCompilerError),
  1768. /* harmony export */ "createCompoundExpression": () => (/* binding */ createCompoundExpression),
  1769. /* harmony export */ "createConditionalExpression": () => (/* binding */ createConditionalExpression),
  1770. /* harmony export */ "createForLoopParams": () => (/* binding */ createForLoopParams),
  1771. /* harmony export */ "createFunctionExpression": () => (/* binding */ createFunctionExpression),
  1772. /* harmony export */ "createIfStatement": () => (/* binding */ createIfStatement),
  1773. /* harmony export */ "createInterpolation": () => (/* binding */ createInterpolation),
  1774. /* harmony export */ "createObjectExpression": () => (/* binding */ createObjectExpression),
  1775. /* harmony export */ "createObjectProperty": () => (/* binding */ createObjectProperty),
  1776. /* harmony export */ "createReturnStatement": () => (/* binding */ createReturnStatement),
  1777. /* harmony export */ "createRoot": () => (/* binding */ createRoot),
  1778. /* harmony export */ "createSequenceExpression": () => (/* binding */ createSequenceExpression),
  1779. /* harmony export */ "createSimpleExpression": () => (/* binding */ createSimpleExpression),
  1780. /* harmony export */ "createStructuralDirectiveTransform": () => (/* binding */ createStructuralDirectiveTransform),
  1781. /* harmony export */ "createTemplateLiteral": () => (/* binding */ createTemplateLiteral),
  1782. /* harmony export */ "createTransformContext": () => (/* binding */ createTransformContext),
  1783. /* harmony export */ "createVNodeCall": () => (/* binding */ createVNodeCall),
  1784. /* harmony export */ "extractIdentifiers": () => (/* binding */ extractIdentifiers),
  1785. /* harmony export */ "findDir": () => (/* binding */ findDir),
  1786. /* harmony export */ "findProp": () => (/* binding */ findProp),
  1787. /* harmony export */ "generate": () => (/* binding */ generate),
  1788. /* harmony export */ "generateCodeFrame": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_0__.generateCodeFrame),
  1789. /* harmony export */ "getBaseTransformPreset": () => (/* binding */ getBaseTransformPreset),
  1790. /* harmony export */ "getInnerRange": () => (/* binding */ getInnerRange),
  1791. /* harmony export */ "getMemoedVNodeCall": () => (/* binding */ getMemoedVNodeCall),
  1792. /* harmony export */ "getVNodeBlockHelper": () => (/* binding */ getVNodeBlockHelper),
  1793. /* harmony export */ "getVNodeHelper": () => (/* binding */ getVNodeHelper),
  1794. /* harmony export */ "hasDynamicKeyVBind": () => (/* binding */ hasDynamicKeyVBind),
  1795. /* harmony export */ "hasScopeRef": () => (/* binding */ hasScopeRef),
  1796. /* harmony export */ "helperNameMap": () => (/* binding */ helperNameMap),
  1797. /* harmony export */ "injectProp": () => (/* binding */ injectProp),
  1798. /* harmony export */ "isBuiltInType": () => (/* binding */ isBuiltInType),
  1799. /* harmony export */ "isCoreComponent": () => (/* binding */ isCoreComponent),
  1800. /* harmony export */ "isFunctionType": () => (/* binding */ isFunctionType),
  1801. /* harmony export */ "isInDestructureAssignment": () => (/* binding */ isInDestructureAssignment),
  1802. /* harmony export */ "isMemberExpression": () => (/* binding */ isMemberExpression),
  1803. /* harmony export */ "isMemberExpressionBrowser": () => (/* binding */ isMemberExpressionBrowser),
  1804. /* harmony export */ "isMemberExpressionNode": () => (/* binding */ isMemberExpressionNode),
  1805. /* harmony export */ "isReferencedIdentifier": () => (/* binding */ isReferencedIdentifier),
  1806. /* harmony export */ "isSimpleIdentifier": () => (/* binding */ isSimpleIdentifier),
  1807. /* harmony export */ "isSlotOutlet": () => (/* binding */ isSlotOutlet),
  1808. /* harmony export */ "isStaticArgOf": () => (/* binding */ isStaticArgOf),
  1809. /* harmony export */ "isStaticExp": () => (/* binding */ isStaticExp),
  1810. /* harmony export */ "isStaticProperty": () => (/* binding */ isStaticProperty),
  1811. /* harmony export */ "isStaticPropertyKey": () => (/* binding */ isStaticPropertyKey),
  1812. /* harmony export */ "isTemplateNode": () => (/* binding */ isTemplateNode),
  1813. /* harmony export */ "isText": () => (/* binding */ isText),
  1814. /* harmony export */ "isVSlot": () => (/* binding */ isVSlot),
  1815. /* harmony export */ "locStub": () => (/* binding */ locStub),
  1816. /* harmony export */ "makeBlock": () => (/* binding */ makeBlock),
  1817. /* harmony export */ "noopDirectiveTransform": () => (/* binding */ noopDirectiveTransform),
  1818. /* harmony export */ "processExpression": () => (/* binding */ processExpression),
  1819. /* harmony export */ "processFor": () => (/* binding */ processFor),
  1820. /* harmony export */ "processIf": () => (/* binding */ processIf),
  1821. /* harmony export */ "processSlotOutlet": () => (/* binding */ processSlotOutlet),
  1822. /* harmony export */ "registerRuntimeHelpers": () => (/* binding */ registerRuntimeHelpers),
  1823. /* harmony export */ "resolveComponentType": () => (/* binding */ resolveComponentType),
  1824. /* harmony export */ "toValidAssetId": () => (/* binding */ toValidAssetId),
  1825. /* harmony export */ "trackSlotScopes": () => (/* binding */ trackSlotScopes),
  1826. /* harmony export */ "trackVForSlotScopes": () => (/* binding */ trackVForSlotScopes),
  1827. /* harmony export */ "transform": () => (/* binding */ transform),
  1828. /* harmony export */ "transformBind": () => (/* binding */ transformBind),
  1829. /* harmony export */ "transformElement": () => (/* binding */ transformElement),
  1830. /* harmony export */ "transformExpression": () => (/* binding */ transformExpression),
  1831. /* harmony export */ "transformModel": () => (/* binding */ transformModel),
  1832. /* harmony export */ "transformOn": () => (/* binding */ transformOn),
  1833. /* harmony export */ "traverseNode": () => (/* binding */ traverseNode),
  1834. /* harmony export */ "walkBlockDeclarations": () => (/* binding */ walkBlockDeclarations),
  1835. /* harmony export */ "walkFunctionParams": () => (/* binding */ walkFunctionParams),
  1836. /* harmony export */ "walkIdentifiers": () => (/* binding */ walkIdentifiers),
  1837. /* harmony export */ "warnDeprecation": () => (/* binding */ warnDeprecation)
  1838. /* harmony export */ });
  1839. /* harmony import */ var _vue_shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @vue/shared */ "./node_modules/@vue/shared/dist/shared.esm-bundler.js");
  1840. function defaultOnError(error) {
  1841. throw error;
  1842. }
  1843. function defaultOnWarn(msg) {
  1844. ( true) && console.warn(`[Vue warn] ${msg.message}`);
  1845. }
  1846. function createCompilerError(code, loc, messages, additionalMessage) {
  1847. const msg = true
  1848. ? (messages || errorMessages)[code] + (additionalMessage || ``)
  1849. : 0;
  1850. const error = new SyntaxError(String(msg));
  1851. error.code = code;
  1852. error.loc = loc;
  1853. return error;
  1854. }
  1855. const errorMessages = {
  1856. // parse errors
  1857. [0 /* ABRUPT_CLOSING_OF_EMPTY_COMMENT */]: 'Illegal comment.',
  1858. [1 /* CDATA_IN_HTML_CONTENT */]: 'CDATA section is allowed only in XML context.',
  1859. [2 /* DUPLICATE_ATTRIBUTE */]: 'Duplicate attribute.',
  1860. [3 /* END_TAG_WITH_ATTRIBUTES */]: 'End tag cannot have attributes.',
  1861. [4 /* END_TAG_WITH_TRAILING_SOLIDUS */]: "Illegal '/' in tags.",
  1862. [5 /* EOF_BEFORE_TAG_NAME */]: 'Unexpected EOF in tag.',
  1863. [6 /* EOF_IN_CDATA */]: 'Unexpected EOF in CDATA section.',
  1864. [7 /* EOF_IN_COMMENT */]: 'Unexpected EOF in comment.',
  1865. [8 /* EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT */]: 'Unexpected EOF in script.',
  1866. [9 /* EOF_IN_TAG */]: 'Unexpected EOF in tag.',
  1867. [10 /* INCORRECTLY_CLOSED_COMMENT */]: 'Incorrectly closed comment.',
  1868. [11 /* INCORRECTLY_OPENED_COMMENT */]: 'Incorrectly opened comment.',
  1869. [12 /* INVALID_FIRST_CHARACTER_OF_TAG_NAME */]: "Illegal tag name. Use '&lt;' to print '<'.",
  1870. [13 /* MISSING_ATTRIBUTE_VALUE */]: 'Attribute value was expected.',
  1871. [14 /* MISSING_END_TAG_NAME */]: 'End tag name was expected.',
  1872. [15 /* MISSING_WHITESPACE_BETWEEN_ATTRIBUTES */]: 'Whitespace was expected.',
  1873. [16 /* NESTED_COMMENT */]: "Unexpected '<!--' in comment.",
  1874. [17 /* UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME */]: 'Attribute name cannot contain U+0022 ("), U+0027 (\'), and U+003C (<).',
  1875. [18 /* UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE */]: 'Unquoted attribute value cannot contain U+0022 ("), U+0027 (\'), U+003C (<), U+003D (=), and U+0060 (`).',
  1876. [19 /* UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME */]: "Attribute name cannot start with '='.",
  1877. [21 /* UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME */]: "'<?' is allowed only in XML context.",
  1878. [20 /* UNEXPECTED_NULL_CHARACTER */]: `Unexpected null character.`,
  1879. [22 /* UNEXPECTED_SOLIDUS_IN_TAG */]: "Illegal '/' in tags.",
  1880. // Vue-specific parse errors
  1881. [23 /* X_INVALID_END_TAG */]: 'Invalid end tag.',
  1882. [24 /* X_MISSING_END_TAG */]: 'Element is missing end tag.',
  1883. [25 /* X_MISSING_INTERPOLATION_END */]: 'Interpolation end sign was not found.',
  1884. [27 /* X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END */]: 'End bracket for dynamic directive argument was not found. ' +
  1885. 'Note that dynamic directive argument cannot contain spaces.',
  1886. [26 /* X_MISSING_DIRECTIVE_NAME */]: 'Legal directive name was expected.',
  1887. // transform errors
  1888. [28 /* X_V_IF_NO_EXPRESSION */]: `v-if/v-else-if is missing expression.`,
  1889. [29 /* X_V_IF_SAME_KEY */]: `v-if/else branches must use unique keys.`,
  1890. [30 /* X_V_ELSE_NO_ADJACENT_IF */]: `v-else/v-else-if has no adjacent v-if or v-else-if.`,
  1891. [31 /* X_V_FOR_NO_EXPRESSION */]: `v-for is missing expression.`,
  1892. [32 /* X_V_FOR_MALFORMED_EXPRESSION */]: `v-for has invalid expression.`,
  1893. [33 /* X_V_FOR_TEMPLATE_KEY_PLACEMENT */]: `<template v-for> key should be placed on the <template> tag.`,
  1894. [34 /* X_V_BIND_NO_EXPRESSION */]: `v-bind is missing expression.`,
  1895. [35 /* X_V_ON_NO_EXPRESSION */]: `v-on is missing expression.`,
  1896. [36 /* X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET */]: `Unexpected custom directive on <slot> outlet.`,
  1897. [37 /* X_V_SLOT_MIXED_SLOT_USAGE */]: `Mixed v-slot usage on both the component and nested <template>.` +
  1898. `When there are multiple named slots, all slots should use <template> ` +
  1899. `syntax to avoid scope ambiguity.`,
  1900. [38 /* X_V_SLOT_DUPLICATE_SLOT_NAMES */]: `Duplicate slot names found. `,
  1901. [39 /* X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN */]: `Extraneous children found when component already has explicitly named ` +
  1902. `default slot. These children will be ignored.`,
  1903. [40 /* X_V_SLOT_MISPLACED */]: `v-slot can only be used on components or <template> tags.`,
  1904. [41 /* X_V_MODEL_NO_EXPRESSION */]: `v-model is missing expression.`,
  1905. [42 /* X_V_MODEL_MALFORMED_EXPRESSION */]: `v-model value must be a valid JavaScript member expression.`,
  1906. [43 /* X_V_MODEL_ON_SCOPE_VARIABLE */]: `v-model cannot be used on v-for or v-slot scope variables because they are not writable.`,
  1907. [44 /* X_INVALID_EXPRESSION */]: `Error parsing JavaScript expression: `,
  1908. [45 /* X_KEEP_ALIVE_INVALID_CHILDREN */]: `<KeepAlive> expects exactly one child component.`,
  1909. // generic errors
  1910. [46 /* X_PREFIX_ID_NOT_SUPPORTED */]: `"prefixIdentifiers" option is not supported in this build of compiler.`,
  1911. [47 /* X_MODULE_MODE_NOT_SUPPORTED */]: `ES module mode is not supported in this build of compiler.`,
  1912. [48 /* X_CACHE_HANDLER_NOT_SUPPORTED */]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
  1913. [49 /* X_SCOPE_ID_NOT_SUPPORTED */]: `"scopeId" option is only supported in module mode.`,
  1914. // just to fulfill types
  1915. [50 /* __EXTEND_POINT__ */]: ``
  1916. };
  1917. const FRAGMENT = Symbol(( true) ? `Fragment` : 0);
  1918. const TELEPORT = Symbol(( true) ? `Teleport` : 0);
  1919. const SUSPENSE = Symbol(( true) ? `Suspense` : 0);
  1920. const KEEP_ALIVE = Symbol(( true) ? `KeepAlive` : 0);
  1921. const BASE_TRANSITION = Symbol(( true) ? `BaseTransition` : 0);
  1922. const OPEN_BLOCK = Symbol(( true) ? `openBlock` : 0);
  1923. const CREATE_BLOCK = Symbol(( true) ? `createBlock` : 0);
  1924. const CREATE_ELEMENT_BLOCK = Symbol(( true) ? `createElementBlock` : 0);
  1925. const CREATE_VNODE = Symbol(( true) ? `createVNode` : 0);
  1926. const CREATE_ELEMENT_VNODE = Symbol(( true) ? `createElementVNode` : 0);
  1927. const CREATE_COMMENT = Symbol(( true) ? `createCommentVNode` : 0);
  1928. const CREATE_TEXT = Symbol(( true) ? `createTextVNode` : 0);
  1929. const CREATE_STATIC = Symbol(( true) ? `createStaticVNode` : 0);
  1930. const RESOLVE_COMPONENT = Symbol(( true) ? `resolveComponent` : 0);
  1931. const RESOLVE_DYNAMIC_COMPONENT = Symbol(( true) ? `resolveDynamicComponent` : 0);
  1932. const RESOLVE_DIRECTIVE = Symbol(( true) ? `resolveDirective` : 0);
  1933. const RESOLVE_FILTER = Symbol(( true) ? `resolveFilter` : 0);
  1934. const WITH_DIRECTIVES = Symbol(( true) ? `withDirectives` : 0);
  1935. const RENDER_LIST = Symbol(( true) ? `renderList` : 0);
  1936. const RENDER_SLOT = Symbol(( true) ? `renderSlot` : 0);
  1937. const CREATE_SLOTS = Symbol(( true) ? `createSlots` : 0);
  1938. const TO_DISPLAY_STRING = Symbol(( true) ? `toDisplayString` : 0);
  1939. const MERGE_PROPS = Symbol(( true) ? `mergeProps` : 0);
  1940. const NORMALIZE_CLASS = Symbol(( true) ? `normalizeClass` : 0);
  1941. const NORMALIZE_STYLE = Symbol(( true) ? `normalizeStyle` : 0);
  1942. const NORMALIZE_PROPS = Symbol(( true) ? `normalizeProps` : 0);
  1943. const GUARD_REACTIVE_PROPS = Symbol(( true) ? `guardReactiveProps` : 0);
  1944. const TO_HANDLERS = Symbol(( true) ? `toHandlers` : 0);
  1945. const CAMELIZE = Symbol(( true) ? `camelize` : 0);
  1946. const CAPITALIZE = Symbol(( true) ? `capitalize` : 0);
  1947. const TO_HANDLER_KEY = Symbol(( true) ? `toHandlerKey` : 0);
  1948. const SET_BLOCK_TRACKING = Symbol(( true) ? `setBlockTracking` : 0);
  1949. const PUSH_SCOPE_ID = Symbol(( true) ? `pushScopeId` : 0);
  1950. const POP_SCOPE_ID = Symbol(( true) ? `popScopeId` : 0);
  1951. const WITH_CTX = Symbol(( true) ? `withCtx` : 0);
  1952. const UNREF = Symbol(( true) ? `unref` : 0);
  1953. const IS_REF = Symbol(( true) ? `isRef` : 0);
  1954. const WITH_MEMO = Symbol(( true) ? `withMemo` : 0);
  1955. const IS_MEMO_SAME = Symbol(( true) ? `isMemoSame` : 0);
  1956. // Name mapping for runtime helpers that need to be imported from 'vue' in
  1957. // generated code. Make sure these are correctly exported in the runtime!
  1958. // Using `any` here because TS doesn't allow symbols as index type.
  1959. const helperNameMap = {
  1960. [FRAGMENT]: `Fragment`,
  1961. [TELEPORT]: `Teleport`,
  1962. [SUSPENSE]: `Suspense`,
  1963. [KEEP_ALIVE]: `KeepAlive`,
  1964. [BASE_TRANSITION]: `BaseTransition`,
  1965. [OPEN_BLOCK]: `openBlock`,
  1966. [CREATE_BLOCK]: `createBlock`,
  1967. [CREATE_ELEMENT_BLOCK]: `createElementBlock`,
  1968. [CREATE_VNODE]: `createVNode`,
  1969. [CREATE_ELEMENT_VNODE]: `createElementVNode`,
  1970. [CREATE_COMMENT]: `createCommentVNode`,
  1971. [CREATE_TEXT]: `createTextVNode`,
  1972. [CREATE_STATIC]: `createStaticVNode`,
  1973. [RESOLVE_COMPONENT]: `resolveComponent`,
  1974. [RESOLVE_DYNAMIC_COMPONENT]: `resolveDynamicComponent`,
  1975. [RESOLVE_DIRECTIVE]: `resolveDirective`,
  1976. [RESOLVE_FILTER]: `resolveFilter`,
  1977. [WITH_DIRECTIVES]: `withDirectives`,
  1978. [RENDER_LIST]: `renderList`,
  1979. [RENDER_SLOT]: `renderSlot`,
  1980. [CREATE_SLOTS]: `createSlots`,
  1981. [TO_DISPLAY_STRING]: `toDisplayString`,
  1982. [MERGE_PROPS]: `mergeProps`,
  1983. [NORMALIZE_CLASS]: `normalizeClass`,
  1984. [NORMALIZE_STYLE]: `normalizeStyle`,
  1985. [NORMALIZE_PROPS]: `normalizeProps`,
  1986. [GUARD_REACTIVE_PROPS]: `guardReactiveProps`,
  1987. [TO_HANDLERS]: `toHandlers`,
  1988. [CAMELIZE]: `camelize`,
  1989. [CAPITALIZE]: `capitalize`,
  1990. [TO_HANDLER_KEY]: `toHandlerKey`,
  1991. [SET_BLOCK_TRACKING]: `setBlockTracking`,
  1992. [PUSH_SCOPE_ID]: `pushScopeId`,
  1993. [POP_SCOPE_ID]: `popScopeId`,
  1994. [WITH_CTX]: `withCtx`,
  1995. [UNREF]: `unref`,
  1996. [IS_REF]: `isRef`,
  1997. [WITH_MEMO]: `withMemo`,
  1998. [IS_MEMO_SAME]: `isMemoSame`
  1999. };
  2000. function registerRuntimeHelpers(helpers) {
  2001. Object.getOwnPropertySymbols(helpers).forEach(s => {
  2002. helperNameMap[s] = helpers[s];
  2003. });
  2004. }
  2005. // AST Utilities ---------------------------------------------------------------
  2006. // Some expressions, e.g. sequence and conditional expressions, are never
  2007. // associated with template nodes, so their source locations are just a stub.
  2008. // Container types like CompoundExpression also don't need a real location.
  2009. const locStub = {
  2010. source: '',
  2011. start: { line: 1, column: 1, offset: 0 },
  2012. end: { line: 1, column: 1, offset: 0 }
  2013. };
  2014. function createRoot(children, loc = locStub) {
  2015. return {
  2016. type: 0 /* ROOT */,
  2017. children,
  2018. helpers: [],
  2019. components: [],
  2020. directives: [],
  2021. hoists: [],
  2022. imports: [],
  2023. cached: 0,
  2024. temps: 0,
  2025. codegenNode: undefined,
  2026. loc
  2027. };
  2028. }
  2029. function createVNodeCall(context, tag, props, children, patchFlag, dynamicProps, directives, isBlock = false, disableTracking = false, isComponent = false, loc = locStub) {
  2030. if (context) {
  2031. if (isBlock) {
  2032. context.helper(OPEN_BLOCK);
  2033. context.helper(getVNodeBlockHelper(context.inSSR, isComponent));
  2034. }
  2035. else {
  2036. context.helper(getVNodeHelper(context.inSSR, isComponent));
  2037. }
  2038. if (directives) {
  2039. context.helper(WITH_DIRECTIVES);
  2040. }
  2041. }
  2042. return {
  2043. type: 13 /* VNODE_CALL */,
  2044. tag,
  2045. props,
  2046. children,
  2047. patchFlag,
  2048. dynamicProps,
  2049. directives,
  2050. isBlock,
  2051. disableTracking,
  2052. isComponent,
  2053. loc
  2054. };
  2055. }
  2056. function createArrayExpression(elements, loc = locStub) {
  2057. return {
  2058. type: 17 /* JS_ARRAY_EXPRESSION */,
  2059. loc,
  2060. elements
  2061. };
  2062. }
  2063. function createObjectExpression(properties, loc = locStub) {
  2064. return {
  2065. type: 15 /* JS_OBJECT_EXPRESSION */,
  2066. loc,
  2067. properties
  2068. };
  2069. }
  2070. function createObjectProperty(key, value) {
  2071. return {
  2072. type: 16 /* JS_PROPERTY */,
  2073. loc: locStub,
  2074. key: (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(key) ? createSimpleExpression(key, true) : key,
  2075. value
  2076. };
  2077. }
  2078. function createSimpleExpression(content, isStatic = false, loc = locStub, constType = 0 /* NOT_CONSTANT */) {
  2079. return {
  2080. type: 4 /* SIMPLE_EXPRESSION */,
  2081. loc,
  2082. content,
  2083. isStatic,
  2084. constType: isStatic ? 3 /* CAN_STRINGIFY */ : constType
  2085. };
  2086. }
  2087. function createInterpolation(content, loc) {
  2088. return {
  2089. type: 5 /* INTERPOLATION */,
  2090. loc,
  2091. content: (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(content)
  2092. ? createSimpleExpression(content, false, loc)
  2093. : content
  2094. };
  2095. }
  2096. function createCompoundExpression(children, loc = locStub) {
  2097. return {
  2098. type: 8 /* COMPOUND_EXPRESSION */,
  2099. loc,
  2100. children
  2101. };
  2102. }
  2103. function createCallExpression(callee, args = [], loc = locStub) {
  2104. return {
  2105. type: 14 /* JS_CALL_EXPRESSION */,
  2106. loc,
  2107. callee,
  2108. arguments: args
  2109. };
  2110. }
  2111. function createFunctionExpression(params, returns = undefined, newline = false, isSlot = false, loc = locStub) {
  2112. return {
  2113. type: 18 /* JS_FUNCTION_EXPRESSION */,
  2114. params,
  2115. returns,
  2116. newline,
  2117. isSlot,
  2118. loc
  2119. };
  2120. }
  2121. function createConditionalExpression(test, consequent, alternate, newline = true) {
  2122. return {
  2123. type: 19 /* JS_CONDITIONAL_EXPRESSION */,
  2124. test,
  2125. consequent,
  2126. alternate,
  2127. newline,
  2128. loc: locStub
  2129. };
  2130. }
  2131. function createCacheExpression(index, value, isVNode = false) {
  2132. return {
  2133. type: 20 /* JS_CACHE_EXPRESSION */,
  2134. index,
  2135. value,
  2136. isVNode,
  2137. loc: locStub
  2138. };
  2139. }
  2140. function createBlockStatement(body) {
  2141. return {
  2142. type: 21 /* JS_BLOCK_STATEMENT */,
  2143. body,
  2144. loc: locStub
  2145. };
  2146. }
  2147. function createTemplateLiteral(elements) {
  2148. return {
  2149. type: 22 /* JS_TEMPLATE_LITERAL */,
  2150. elements,
  2151. loc: locStub
  2152. };
  2153. }
  2154. function createIfStatement(test, consequent, alternate) {
  2155. return {
  2156. type: 23 /* JS_IF_STATEMENT */,
  2157. test,
  2158. consequent,
  2159. alternate,
  2160. loc: locStub
  2161. };
  2162. }
  2163. function createAssignmentExpression(left, right) {
  2164. return {
  2165. type: 24 /* JS_ASSIGNMENT_EXPRESSION */,
  2166. left,
  2167. right,
  2168. loc: locStub
  2169. };
  2170. }
  2171. function createSequenceExpression(expressions) {
  2172. return {
  2173. type: 25 /* JS_SEQUENCE_EXPRESSION */,
  2174. expressions,
  2175. loc: locStub
  2176. };
  2177. }
  2178. function createReturnStatement(returns) {
  2179. return {
  2180. type: 26 /* JS_RETURN_STATEMENT */,
  2181. returns,
  2182. loc: locStub
  2183. };
  2184. }
  2185. const isStaticExp = (p) => p.type === 4 /* SIMPLE_EXPRESSION */ && p.isStatic;
  2186. const isBuiltInType = (tag, expected) => tag === expected || tag === (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hyphenate)(expected);
  2187. function isCoreComponent(tag) {
  2188. if (isBuiltInType(tag, 'Teleport')) {
  2189. return TELEPORT;
  2190. }
  2191. else if (isBuiltInType(tag, 'Suspense')) {
  2192. return SUSPENSE;
  2193. }
  2194. else if (isBuiltInType(tag, 'KeepAlive')) {
  2195. return KEEP_ALIVE;
  2196. }
  2197. else if (isBuiltInType(tag, 'BaseTransition')) {
  2198. return BASE_TRANSITION;
  2199. }
  2200. }
  2201. const nonIdentifierRE = /^\d|[^\$\w]/;
  2202. const isSimpleIdentifier = (name) => !nonIdentifierRE.test(name);
  2203. const validFirstIdentCharRE = /[A-Za-z_$\xA0-\uFFFF]/;
  2204. const validIdentCharRE = /[\.\?\w$\xA0-\uFFFF]/;
  2205. const whitespaceRE = /\s+[.[]\s*|\s*[.[]\s+/g;
  2206. /**
  2207. * Simple lexer to check if an expression is a member expression. This is
  2208. * lax and only checks validity at the root level (i.e. does not validate exps
  2209. * inside square brackets), but it's ok since these are only used on template
  2210. * expressions and false positives are invalid expressions in the first place.
  2211. */
  2212. const isMemberExpressionBrowser = (path) => {
  2213. // remove whitespaces around . or [ first
  2214. path = path.trim().replace(whitespaceRE, s => s.trim());
  2215. let state = 0 /* inMemberExp */;
  2216. let stateStack = [];
  2217. let currentOpenBracketCount = 0;
  2218. let currentOpenParensCount = 0;
  2219. let currentStringType = null;
  2220. for (let i = 0; i < path.length; i++) {
  2221. const char = path.charAt(i);
  2222. switch (state) {
  2223. case 0 /* inMemberExp */:
  2224. if (char === '[') {
  2225. stateStack.push(state);
  2226. state = 1 /* inBrackets */;
  2227. currentOpenBracketCount++;
  2228. }
  2229. else if (char === '(') {
  2230. stateStack.push(state);
  2231. state = 2 /* inParens */;
  2232. currentOpenParensCount++;
  2233. }
  2234. else if (!(i === 0 ? validFirstIdentCharRE : validIdentCharRE).test(char)) {
  2235. return false;
  2236. }
  2237. break;
  2238. case 1 /* inBrackets */:
  2239. if (char === `'` || char === `"` || char === '`') {
  2240. stateStack.push(state);
  2241. state = 3 /* inString */;
  2242. currentStringType = char;
  2243. }
  2244. else if (char === `[`) {
  2245. currentOpenBracketCount++;
  2246. }
  2247. else if (char === `]`) {
  2248. if (!--currentOpenBracketCount) {
  2249. state = stateStack.pop();
  2250. }
  2251. }
  2252. break;
  2253. case 2 /* inParens */:
  2254. if (char === `'` || char === `"` || char === '`') {
  2255. stateStack.push(state);
  2256. state = 3 /* inString */;
  2257. currentStringType = char;
  2258. }
  2259. else if (char === `(`) {
  2260. currentOpenParensCount++;
  2261. }
  2262. else if (char === `)`) {
  2263. // if the exp ends as a call then it should not be considered valid
  2264. if (i === path.length - 1) {
  2265. return false;
  2266. }
  2267. if (!--currentOpenParensCount) {
  2268. state = stateStack.pop();
  2269. }
  2270. }
  2271. break;
  2272. case 3 /* inString */:
  2273. if (char === currentStringType) {
  2274. state = stateStack.pop();
  2275. currentStringType = null;
  2276. }
  2277. break;
  2278. }
  2279. }
  2280. return !currentOpenBracketCount && !currentOpenParensCount;
  2281. };
  2282. const isMemberExpressionNode = _vue_shared__WEBPACK_IMPORTED_MODULE_0__.NOOP
  2283. ;
  2284. const isMemberExpression = isMemberExpressionBrowser
  2285. ;
  2286. function getInnerRange(loc, offset, length) {
  2287. const source = loc.source.slice(offset, offset + length);
  2288. const newLoc = {
  2289. source,
  2290. start: advancePositionWithClone(loc.start, loc.source, offset),
  2291. end: loc.end
  2292. };
  2293. if (length != null) {
  2294. newLoc.end = advancePositionWithClone(loc.start, loc.source, offset + length);
  2295. }
  2296. return newLoc;
  2297. }
  2298. function advancePositionWithClone(pos, source, numberOfCharacters = source.length) {
  2299. return advancePositionWithMutation((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.extend)({}, pos), source, numberOfCharacters);
  2300. }
  2301. // advance by mutation without cloning (for performance reasons), since this
  2302. // gets called a lot in the parser
  2303. function advancePositionWithMutation(pos, source, numberOfCharacters = source.length) {
  2304. let linesCount = 0;
  2305. let lastNewLinePos = -1;
  2306. for (let i = 0; i < numberOfCharacters; i++) {
  2307. if (source.charCodeAt(i) === 10 /* newline char code */) {
  2308. linesCount++;
  2309. lastNewLinePos = i;
  2310. }
  2311. }
  2312. pos.offset += numberOfCharacters;
  2313. pos.line += linesCount;
  2314. pos.column =
  2315. lastNewLinePos === -1
  2316. ? pos.column + numberOfCharacters
  2317. : numberOfCharacters - lastNewLinePos;
  2318. return pos;
  2319. }
  2320. function assert(condition, msg) {
  2321. /* istanbul ignore if */
  2322. if (!condition) {
  2323. throw new Error(msg || `unexpected compiler condition`);
  2324. }
  2325. }
  2326. function findDir(node, name, allowEmpty = false) {
  2327. for (let i = 0; i < node.props.length; i++) {
  2328. const p = node.props[i];
  2329. if (p.type === 7 /* DIRECTIVE */ &&
  2330. (allowEmpty || p.exp) &&
  2331. ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(name) ? p.name === name : name.test(p.name))) {
  2332. return p;
  2333. }
  2334. }
  2335. }
  2336. function findProp(node, name, dynamicOnly = false, allowEmpty = false) {
  2337. for (let i = 0; i < node.props.length; i++) {
  2338. const p = node.props[i];
  2339. if (p.type === 6 /* ATTRIBUTE */) {
  2340. if (dynamicOnly)
  2341. continue;
  2342. if (p.name === name && (p.value || allowEmpty)) {
  2343. return p;
  2344. }
  2345. }
  2346. else if (p.name === 'bind' &&
  2347. (p.exp || allowEmpty) &&
  2348. isStaticArgOf(p.arg, name)) {
  2349. return p;
  2350. }
  2351. }
  2352. }
  2353. function isStaticArgOf(arg, name) {
  2354. return !!(arg && isStaticExp(arg) && arg.content === name);
  2355. }
  2356. function hasDynamicKeyVBind(node) {
  2357. return node.props.some(p => p.type === 7 /* DIRECTIVE */ &&
  2358. p.name === 'bind' &&
  2359. (!p.arg || // v-bind="obj"
  2360. p.arg.type !== 4 /* SIMPLE_EXPRESSION */ || // v-bind:[_ctx.foo]
  2361. !p.arg.isStatic) // v-bind:[foo]
  2362. );
  2363. }
  2364. function isText(node) {
  2365. return node.type === 5 /* INTERPOLATION */ || node.type === 2 /* TEXT */;
  2366. }
  2367. function isVSlot(p) {
  2368. return p.type === 7 /* DIRECTIVE */ && p.name === 'slot';
  2369. }
  2370. function isTemplateNode(node) {
  2371. return (node.type === 1 /* ELEMENT */ && node.tagType === 3 /* TEMPLATE */);
  2372. }
  2373. function isSlotOutlet(node) {
  2374. return node.type === 1 /* ELEMENT */ && node.tagType === 2 /* SLOT */;
  2375. }
  2376. function getVNodeHelper(ssr, isComponent) {
  2377. return ssr || isComponent ? CREATE_VNODE : CREATE_ELEMENT_VNODE;
  2378. }
  2379. function getVNodeBlockHelper(ssr, isComponent) {
  2380. return ssr || isComponent ? CREATE_BLOCK : CREATE_ELEMENT_BLOCK;
  2381. }
  2382. const propsHelperSet = new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);
  2383. function getUnnormalizedProps(props, callPath = []) {
  2384. if (props &&
  2385. !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(props) &&
  2386. props.type === 14 /* JS_CALL_EXPRESSION */) {
  2387. const callee = props.callee;
  2388. if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(callee) && propsHelperSet.has(callee)) {
  2389. return getUnnormalizedProps(props.arguments[0], callPath.concat(props));
  2390. }
  2391. }
  2392. return [props, callPath];
  2393. }
  2394. function injectProp(node, prop, context) {
  2395. let propsWithInjection;
  2396. /**
  2397. * 1. mergeProps(...)
  2398. * 2. toHandlers(...)
  2399. * 3. normalizeProps(...)
  2400. * 4. normalizeProps(guardReactiveProps(...))
  2401. *
  2402. * we need to get the real props before normalization
  2403. */
  2404. let props = node.type === 13 /* VNODE_CALL */ ? node.props : node.arguments[2];
  2405. let callPath = [];
  2406. let parentCall;
  2407. if (props &&
  2408. !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(props) &&
  2409. props.type === 14 /* JS_CALL_EXPRESSION */) {
  2410. const ret = getUnnormalizedProps(props);
  2411. props = ret[0];
  2412. callPath = ret[1];
  2413. parentCall = callPath[callPath.length - 1];
  2414. }
  2415. if (props == null || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(props)) {
  2416. propsWithInjection = createObjectExpression([prop]);
  2417. }
  2418. else if (props.type === 14 /* JS_CALL_EXPRESSION */) {
  2419. // merged props... add ours
  2420. // only inject key to object literal if it's the first argument so that
  2421. // if doesn't override user provided keys
  2422. const first = props.arguments[0];
  2423. if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(first) && first.type === 15 /* JS_OBJECT_EXPRESSION */) {
  2424. first.properties.unshift(prop);
  2425. }
  2426. else {
  2427. if (props.callee === TO_HANDLERS) {
  2428. // #2366
  2429. propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [
  2430. createObjectExpression([prop]),
  2431. props
  2432. ]);
  2433. }
  2434. else {
  2435. props.arguments.unshift(createObjectExpression([prop]));
  2436. }
  2437. }
  2438. !propsWithInjection && (propsWithInjection = props);
  2439. }
  2440. else if (props.type === 15 /* JS_OBJECT_EXPRESSION */) {
  2441. let alreadyExists = false;
  2442. // check existing key to avoid overriding user provided keys
  2443. if (prop.key.type === 4 /* SIMPLE_EXPRESSION */) {
  2444. const propKeyName = prop.key.content;
  2445. alreadyExists = props.properties.some(p => p.key.type === 4 /* SIMPLE_EXPRESSION */ &&
  2446. p.key.content === propKeyName);
  2447. }
  2448. if (!alreadyExists) {
  2449. props.properties.unshift(prop);
  2450. }
  2451. propsWithInjection = props;
  2452. }
  2453. else {
  2454. // single v-bind with expression, return a merged replacement
  2455. propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [
  2456. createObjectExpression([prop]),
  2457. props
  2458. ]);
  2459. // in the case of nested helper call, e.g. `normalizeProps(guardReactiveProps(props))`,
  2460. // it will be rewritten as `normalizeProps(mergeProps({ key: 0 }, props))`,
  2461. // the `guardReactiveProps` will no longer be needed
  2462. if (parentCall && parentCall.callee === GUARD_REACTIVE_PROPS) {
  2463. parentCall = callPath[callPath.length - 2];
  2464. }
  2465. }
  2466. if (node.type === 13 /* VNODE_CALL */) {
  2467. if (parentCall) {
  2468. parentCall.arguments[0] = propsWithInjection;
  2469. }
  2470. else {
  2471. node.props = propsWithInjection;
  2472. }
  2473. }
  2474. else {
  2475. if (parentCall) {
  2476. parentCall.arguments[0] = propsWithInjection;
  2477. }
  2478. else {
  2479. node.arguments[2] = propsWithInjection;
  2480. }
  2481. }
  2482. }
  2483. function toValidAssetId(name, type) {
  2484. // see issue#4422, we need adding identifier on validAssetId if variable `name` has specific character
  2485. return `_${type}_${name.replace(/[^\w]/g, (searchValue, replaceValue) => {
  2486. return searchValue === '-' ? '_' : name.charCodeAt(replaceValue).toString();
  2487. })}`;
  2488. }
  2489. // Check if a node contains expressions that reference current context scope ids
  2490. function hasScopeRef(node, ids) {
  2491. if (!node || Object.keys(ids).length === 0) {
  2492. return false;
  2493. }
  2494. switch (node.type) {
  2495. case 1 /* ELEMENT */:
  2496. for (let i = 0; i < node.props.length; i++) {
  2497. const p = node.props[i];
  2498. if (p.type === 7 /* DIRECTIVE */ &&
  2499. (hasScopeRef(p.arg, ids) || hasScopeRef(p.exp, ids))) {
  2500. return true;
  2501. }
  2502. }
  2503. return node.children.some(c => hasScopeRef(c, ids));
  2504. case 11 /* FOR */:
  2505. if (hasScopeRef(node.source, ids)) {
  2506. return true;
  2507. }
  2508. return node.children.some(c => hasScopeRef(c, ids));
  2509. case 9 /* IF */:
  2510. return node.branches.some(b => hasScopeRef(b, ids));
  2511. case 10 /* IF_BRANCH */:
  2512. if (hasScopeRef(node.condition, ids)) {
  2513. return true;
  2514. }
  2515. return node.children.some(c => hasScopeRef(c, ids));
  2516. case 4 /* SIMPLE_EXPRESSION */:
  2517. return (!node.isStatic &&
  2518. isSimpleIdentifier(node.content) &&
  2519. !!ids[node.content]);
  2520. case 8 /* COMPOUND_EXPRESSION */:
  2521. return node.children.some(c => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isObject)(c) && hasScopeRef(c, ids));
  2522. case 5 /* INTERPOLATION */:
  2523. case 12 /* TEXT_CALL */:
  2524. return hasScopeRef(node.content, ids);
  2525. case 2 /* TEXT */:
  2526. case 3 /* COMMENT */:
  2527. return false;
  2528. default:
  2529. if ((true)) ;
  2530. return false;
  2531. }
  2532. }
  2533. function getMemoedVNodeCall(node) {
  2534. if (node.type === 14 /* JS_CALL_EXPRESSION */ && node.callee === WITH_MEMO) {
  2535. return node.arguments[1].returns;
  2536. }
  2537. else {
  2538. return node;
  2539. }
  2540. }
  2541. function makeBlock(node, { helper, removeHelper, inSSR }) {
  2542. if (!node.isBlock) {
  2543. node.isBlock = true;
  2544. removeHelper(getVNodeHelper(inSSR, node.isComponent));
  2545. helper(OPEN_BLOCK);
  2546. helper(getVNodeBlockHelper(inSSR, node.isComponent));
  2547. }
  2548. }
  2549. const deprecationData = {
  2550. ["COMPILER_IS_ON_ELEMENT" /* COMPILER_IS_ON_ELEMENT */]: {
  2551. message: `Platform-native elements with "is" prop will no longer be ` +
  2552. `treated as components in Vue 3 unless the "is" value is explicitly ` +
  2553. `prefixed with "vue:".`,
  2554. link: `https://v3-migration.vuejs.org/breaking-changes/custom-elements-interop.html`
  2555. },
  2556. ["COMPILER_V_BIND_SYNC" /* COMPILER_V_BIND_SYNC */]: {
  2557. message: key => `.sync modifier for v-bind has been removed. Use v-model with ` +
  2558. `argument instead. \`v-bind:${key}.sync\` should be changed to ` +
  2559. `\`v-model:${key}\`.`,
  2560. link: `https://v3-migration.vuejs.org/breaking-changes/v-model.html`
  2561. },
  2562. ["COMPILER_V_BIND_PROP" /* COMPILER_V_BIND_PROP */]: {
  2563. message: `.prop modifier for v-bind has been removed and no longer necessary. ` +
  2564. `Vue 3 will automatically set a binding as DOM property when appropriate.`
  2565. },
  2566. ["COMPILER_V_BIND_OBJECT_ORDER" /* COMPILER_V_BIND_OBJECT_ORDER */]: {
  2567. message: `v-bind="obj" usage is now order sensitive and behaves like JavaScript ` +
  2568. `object spread: it will now overwrite an existing non-mergeable attribute ` +
  2569. `that appears before v-bind in the case of conflict. ` +
  2570. `To retain 2.x behavior, move v-bind to make it the first attribute. ` +
  2571. `You can also suppress this warning if the usage is intended.`,
  2572. link: `https://v3-migration.vuejs.org/breaking-changes/v-bind.html`
  2573. },
  2574. ["COMPILER_V_ON_NATIVE" /* COMPILER_V_ON_NATIVE */]: {
  2575. message: `.native modifier for v-on has been removed as is no longer necessary.`,
  2576. link: `https://v3-migration.vuejs.org/breaking-changes/v-on-native-modifier-removed.html`
  2577. },
  2578. ["COMPILER_V_IF_V_FOR_PRECEDENCE" /* COMPILER_V_IF_V_FOR_PRECEDENCE */]: {
  2579. message: `v-if / v-for precedence when used on the same element has changed ` +
  2580. `in Vue 3: v-if now takes higher precedence and will no longer have ` +
  2581. `access to v-for scope variables. It is best to avoid the ambiguity ` +
  2582. `with <template> tags or use a computed property that filters v-for ` +
  2583. `data source.`,
  2584. link: `https://v3-migration.vuejs.org/breaking-changes/v-if-v-for.html`
  2585. },
  2586. ["COMPILER_NATIVE_TEMPLATE" /* COMPILER_NATIVE_TEMPLATE */]: {
  2587. message: `<template> with no special directives will render as a native template ` +
  2588. `element instead of its inner content in Vue 3.`
  2589. },
  2590. ["COMPILER_INLINE_TEMPLATE" /* COMPILER_INLINE_TEMPLATE */]: {
  2591. message: `"inline-template" has been removed in Vue 3.`,
  2592. link: `https://v3-migration.vuejs.org/breaking-changes/inline-template-attribute.html`
  2593. },
  2594. ["COMPILER_FILTER" /* COMPILER_FILTERS */]: {
  2595. message: `filters have been removed in Vue 3. ` +
  2596. `The "|" symbol will be treated as native JavaScript bitwise OR operator. ` +
  2597. `Use method calls or computed properties instead.`,
  2598. link: `https://v3-migration.vuejs.org/breaking-changes/filters.html`
  2599. }
  2600. };
  2601. function getCompatValue(key, context) {
  2602. const config = context.options
  2603. ? context.options.compatConfig
  2604. : context.compatConfig;
  2605. const value = config && config[key];
  2606. if (key === 'MODE') {
  2607. return value || 3; // compiler defaults to v3 behavior
  2608. }
  2609. else {
  2610. return value;
  2611. }
  2612. }
  2613. function isCompatEnabled(key, context) {
  2614. const mode = getCompatValue('MODE', context);
  2615. const value = getCompatValue(key, context);
  2616. // in v3 mode, only enable if explicitly set to true
  2617. // otherwise enable for any non-false value
  2618. return mode === 3 ? value === true : value !== false;
  2619. }
  2620. function checkCompatEnabled(key, context, loc, ...args) {
  2621. const enabled = isCompatEnabled(key, context);
  2622. if (( true) && enabled) {
  2623. warnDeprecation(key, context, loc, ...args);
  2624. }
  2625. return enabled;
  2626. }
  2627. function warnDeprecation(key, context, loc, ...args) {
  2628. const val = getCompatValue(key, context);
  2629. if (val === 'suppress-warning') {
  2630. return;
  2631. }
  2632. const { message, link } = deprecationData[key];
  2633. const msg = `(deprecation ${key}) ${typeof message === 'function' ? message(...args) : message}${link ? `\n Details: ${link}` : ``}`;
  2634. const err = new SyntaxError(msg);
  2635. err.code = key;
  2636. if (loc)
  2637. err.loc = loc;
  2638. context.onWarn(err);
  2639. }
  2640. // The default decoder only provides escapes for characters reserved as part of
  2641. // the template syntax, and is only used if the custom renderer did not provide
  2642. // a platform-specific decoder.
  2643. const decodeRE = /&(gt|lt|amp|apos|quot);/g;
  2644. const decodeMap = {
  2645. gt: '>',
  2646. lt: '<',
  2647. amp: '&',
  2648. apos: "'",
  2649. quot: '"'
  2650. };
  2651. const defaultParserOptions = {
  2652. delimiters: [`{{`, `}}`],
  2653. getNamespace: () => 0 /* HTML */,
  2654. getTextMode: () => 0 /* DATA */,
  2655. isVoidTag: _vue_shared__WEBPACK_IMPORTED_MODULE_0__.NO,
  2656. isPreTag: _vue_shared__WEBPACK_IMPORTED_MODULE_0__.NO,
  2657. isCustomElement: _vue_shared__WEBPACK_IMPORTED_MODULE_0__.NO,
  2658. decodeEntities: (rawText) => rawText.replace(decodeRE, (_, p1) => decodeMap[p1]),
  2659. onError: defaultOnError,
  2660. onWarn: defaultOnWarn,
  2661. comments: ("development" !== 'production')
  2662. };
  2663. function baseParse(content, options = {}) {
  2664. const context = createParserContext(content, options);
  2665. const start = getCursor(context);
  2666. return createRoot(parseChildren(context, 0 /* DATA */, []), getSelection(context, start));
  2667. }
  2668. function createParserContext(content, rawOptions) {
  2669. const options = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.extend)({}, defaultParserOptions);
  2670. let key;
  2671. for (key in rawOptions) {
  2672. // @ts-ignore
  2673. options[key] =
  2674. rawOptions[key] === undefined
  2675. ? defaultParserOptions[key]
  2676. : rawOptions[key];
  2677. }
  2678. return {
  2679. options,
  2680. column: 1,
  2681. line: 1,
  2682. offset: 0,
  2683. originalSource: content,
  2684. source: content,
  2685. inPre: false,
  2686. inVPre: false,
  2687. onWarn: options.onWarn
  2688. };
  2689. }
  2690. function parseChildren(context, mode, ancestors) {
  2691. const parent = last(ancestors);
  2692. const ns = parent ? parent.ns : 0 /* HTML */;
  2693. const nodes = [];
  2694. while (!isEnd(context, mode, ancestors)) {
  2695. const s = context.source;
  2696. let node = undefined;
  2697. if (mode === 0 /* DATA */ || mode === 1 /* RCDATA */) {
  2698. if (!context.inVPre && startsWith(s, context.options.delimiters[0])) {
  2699. // '{{'
  2700. node = parseInterpolation(context, mode);
  2701. }
  2702. else if (mode === 0 /* DATA */ && s[0] === '<') {
  2703. // https://html.spec.whatwg.org/multipage/parsing.html#tag-open-state
  2704. if (s.length === 1) {
  2705. emitError(context, 5 /* EOF_BEFORE_TAG_NAME */, 1);
  2706. }
  2707. else if (s[1] === '!') {
  2708. // https://html.spec.whatwg.org/multipage/parsing.html#markup-declaration-open-state
  2709. if (startsWith(s, '<!--')) {
  2710. node = parseComment(context);
  2711. }
  2712. else if (startsWith(s, '<!DOCTYPE')) {
  2713. // Ignore DOCTYPE by a limitation.
  2714. node = parseBogusComment(context);
  2715. }
  2716. else if (startsWith(s, '<![CDATA[')) {
  2717. if (ns !== 0 /* HTML */) {
  2718. node = parseCDATA(context, ancestors);
  2719. }
  2720. else {
  2721. emitError(context, 1 /* CDATA_IN_HTML_CONTENT */);
  2722. node = parseBogusComment(context);
  2723. }
  2724. }
  2725. else {
  2726. emitError(context, 11 /* INCORRECTLY_OPENED_COMMENT */);
  2727. node = parseBogusComment(context);
  2728. }
  2729. }
  2730. else if (s[1] === '/') {
  2731. // https://html.spec.whatwg.org/multipage/parsing.html#end-tag-open-state
  2732. if (s.length === 2) {
  2733. emitError(context, 5 /* EOF_BEFORE_TAG_NAME */, 2);
  2734. }
  2735. else if (s[2] === '>') {
  2736. emitError(context, 14 /* MISSING_END_TAG_NAME */, 2);
  2737. advanceBy(context, 3);
  2738. continue;
  2739. }
  2740. else if (/[a-z]/i.test(s[2])) {
  2741. emitError(context, 23 /* X_INVALID_END_TAG */);
  2742. parseTag(context, 1 /* End */, parent);
  2743. continue;
  2744. }
  2745. else {
  2746. emitError(context, 12 /* INVALID_FIRST_CHARACTER_OF_TAG_NAME */, 2);
  2747. node = parseBogusComment(context);
  2748. }
  2749. }
  2750. else if (/[a-z]/i.test(s[1])) {
  2751. node = parseElement(context, ancestors);
  2752. // 2.x <template> with no directive compat
  2753. if (isCompatEnabled("COMPILER_NATIVE_TEMPLATE" /* COMPILER_NATIVE_TEMPLATE */, context) &&
  2754. node &&
  2755. node.tag === 'template' &&
  2756. !node.props.some(p => p.type === 7 /* DIRECTIVE */ &&
  2757. isSpecialTemplateDirective(p.name))) {
  2758. ( true) &&
  2759. warnDeprecation("COMPILER_NATIVE_TEMPLATE" /* COMPILER_NATIVE_TEMPLATE */, context, node.loc);
  2760. node = node.children;
  2761. }
  2762. }
  2763. else if (s[1] === '?') {
  2764. emitError(context, 21 /* UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME */, 1);
  2765. node = parseBogusComment(context);
  2766. }
  2767. else {
  2768. emitError(context, 12 /* INVALID_FIRST_CHARACTER_OF_TAG_NAME */, 1);
  2769. }
  2770. }
  2771. }
  2772. if (!node) {
  2773. node = parseText(context, mode);
  2774. }
  2775. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(node)) {
  2776. for (let i = 0; i < node.length; i++) {
  2777. pushNode(nodes, node[i]);
  2778. }
  2779. }
  2780. else {
  2781. pushNode(nodes, node);
  2782. }
  2783. }
  2784. // Whitespace handling strategy like v2
  2785. let removedWhitespace = false;
  2786. if (mode !== 2 /* RAWTEXT */ && mode !== 1 /* RCDATA */) {
  2787. const shouldCondense = context.options.whitespace !== 'preserve';
  2788. for (let i = 0; i < nodes.length; i++) {
  2789. const node = nodes[i];
  2790. if (!context.inPre && node.type === 2 /* TEXT */) {
  2791. if (!/[^\t\r\n\f ]/.test(node.content)) {
  2792. const prev = nodes[i - 1];
  2793. const next = nodes[i + 1];
  2794. // Remove if:
  2795. // - the whitespace is the first or last node, or:
  2796. // - (condense mode) the whitespace is adjacent to a comment, or:
  2797. // - (condense mode) the whitespace is between two elements AND contains newline
  2798. if (!prev ||
  2799. !next ||
  2800. (shouldCondense &&
  2801. (prev.type === 3 /* COMMENT */ ||
  2802. next.type === 3 /* COMMENT */ ||
  2803. (prev.type === 1 /* ELEMENT */ &&
  2804. next.type === 1 /* ELEMENT */ &&
  2805. /[\r\n]/.test(node.content))))) {
  2806. removedWhitespace = true;
  2807. nodes[i] = null;
  2808. }
  2809. else {
  2810. // Otherwise, the whitespace is condensed into a single space
  2811. node.content = ' ';
  2812. }
  2813. }
  2814. else if (shouldCondense) {
  2815. // in condense mode, consecutive whitespaces in text are condensed
  2816. // down to a single space.
  2817. node.content = node.content.replace(/[\t\r\n\f ]+/g, ' ');
  2818. }
  2819. }
  2820. // Remove comment nodes if desired by configuration.
  2821. else if (node.type === 3 /* COMMENT */ && !context.options.comments) {
  2822. removedWhitespace = true;
  2823. nodes[i] = null;
  2824. }
  2825. }
  2826. if (context.inPre && parent && context.options.isPreTag(parent.tag)) {
  2827. // remove leading newline per html spec
  2828. // https://html.spec.whatwg.org/multipage/grouping-content.html#the-pre-element
  2829. const first = nodes[0];
  2830. if (first && first.type === 2 /* TEXT */) {
  2831. first.content = first.content.replace(/^\r?\n/, '');
  2832. }
  2833. }
  2834. }
  2835. return removedWhitespace ? nodes.filter(Boolean) : nodes;
  2836. }
  2837. function pushNode(nodes, node) {
  2838. if (node.type === 2 /* TEXT */) {
  2839. const prev = last(nodes);
  2840. // Merge if both this and the previous node are text and those are
  2841. // consecutive. This happens for cases like "a < b".
  2842. if (prev &&
  2843. prev.type === 2 /* TEXT */ &&
  2844. prev.loc.end.offset === node.loc.start.offset) {
  2845. prev.content += node.content;
  2846. prev.loc.end = node.loc.end;
  2847. prev.loc.source += node.loc.source;
  2848. return;
  2849. }
  2850. }
  2851. nodes.push(node);
  2852. }
  2853. function parseCDATA(context, ancestors) {
  2854. advanceBy(context, 9);
  2855. const nodes = parseChildren(context, 3 /* CDATA */, ancestors);
  2856. if (context.source.length === 0) {
  2857. emitError(context, 6 /* EOF_IN_CDATA */);
  2858. }
  2859. else {
  2860. advanceBy(context, 3);
  2861. }
  2862. return nodes;
  2863. }
  2864. function parseComment(context) {
  2865. const start = getCursor(context);
  2866. let content;
  2867. // Regular comment.
  2868. const match = /--(\!)?>/.exec(context.source);
  2869. if (!match) {
  2870. content = context.source.slice(4);
  2871. advanceBy(context, context.source.length);
  2872. emitError(context, 7 /* EOF_IN_COMMENT */);
  2873. }
  2874. else {
  2875. if (match.index <= 3) {
  2876. emitError(context, 0 /* ABRUPT_CLOSING_OF_EMPTY_COMMENT */);
  2877. }
  2878. if (match[1]) {
  2879. emitError(context, 10 /* INCORRECTLY_CLOSED_COMMENT */);
  2880. }
  2881. content = context.source.slice(4, match.index);
  2882. // Advancing with reporting nested comments.
  2883. const s = context.source.slice(0, match.index);
  2884. let prevIndex = 1, nestedIndex = 0;
  2885. while ((nestedIndex = s.indexOf('<!--', prevIndex)) !== -1) {
  2886. advanceBy(context, nestedIndex - prevIndex + 1);
  2887. if (nestedIndex + 4 < s.length) {
  2888. emitError(context, 16 /* NESTED_COMMENT */);
  2889. }
  2890. prevIndex = nestedIndex + 1;
  2891. }
  2892. advanceBy(context, match.index + match[0].length - prevIndex + 1);
  2893. }
  2894. return {
  2895. type: 3 /* COMMENT */,
  2896. content,
  2897. loc: getSelection(context, start)
  2898. };
  2899. }
  2900. function parseBogusComment(context) {
  2901. const start = getCursor(context);
  2902. const contentStart = context.source[1] === '?' ? 1 : 2;
  2903. let content;
  2904. const closeIndex = context.source.indexOf('>');
  2905. if (closeIndex === -1) {
  2906. content = context.source.slice(contentStart);
  2907. advanceBy(context, context.source.length);
  2908. }
  2909. else {
  2910. content = context.source.slice(contentStart, closeIndex);
  2911. advanceBy(context, closeIndex + 1);
  2912. }
  2913. return {
  2914. type: 3 /* COMMENT */,
  2915. content,
  2916. loc: getSelection(context, start)
  2917. };
  2918. }
  2919. function parseElement(context, ancestors) {
  2920. // Start tag.
  2921. const wasInPre = context.inPre;
  2922. const wasInVPre = context.inVPre;
  2923. const parent = last(ancestors);
  2924. const element = parseTag(context, 0 /* Start */, parent);
  2925. const isPreBoundary = context.inPre && !wasInPre;
  2926. const isVPreBoundary = context.inVPre && !wasInVPre;
  2927. if (element.isSelfClosing || context.options.isVoidTag(element.tag)) {
  2928. // #4030 self-closing <pre> tag
  2929. if (isPreBoundary) {
  2930. context.inPre = false;
  2931. }
  2932. if (isVPreBoundary) {
  2933. context.inVPre = false;
  2934. }
  2935. return element;
  2936. }
  2937. // Children.
  2938. ancestors.push(element);
  2939. const mode = context.options.getTextMode(element, parent);
  2940. const children = parseChildren(context, mode, ancestors);
  2941. ancestors.pop();
  2942. // 2.x inline-template compat
  2943. {
  2944. const inlineTemplateProp = element.props.find(p => p.type === 6 /* ATTRIBUTE */ && p.name === 'inline-template');
  2945. if (inlineTemplateProp &&
  2946. checkCompatEnabled("COMPILER_INLINE_TEMPLATE" /* COMPILER_INLINE_TEMPLATE */, context, inlineTemplateProp.loc)) {
  2947. const loc = getSelection(context, element.loc.end);
  2948. inlineTemplateProp.value = {
  2949. type: 2 /* TEXT */,
  2950. content: loc.source,
  2951. loc
  2952. };
  2953. }
  2954. }
  2955. element.children = children;
  2956. // End tag.
  2957. if (startsWithEndTagOpen(context.source, element.tag)) {
  2958. parseTag(context, 1 /* End */, parent);
  2959. }
  2960. else {
  2961. emitError(context, 24 /* X_MISSING_END_TAG */, 0, element.loc.start);
  2962. if (context.source.length === 0 && element.tag.toLowerCase() === 'script') {
  2963. const first = children[0];
  2964. if (first && startsWith(first.loc.source, '<!--')) {
  2965. emitError(context, 8 /* EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT */);
  2966. }
  2967. }
  2968. }
  2969. element.loc = getSelection(context, element.loc.start);
  2970. if (isPreBoundary) {
  2971. context.inPre = false;
  2972. }
  2973. if (isVPreBoundary) {
  2974. context.inVPre = false;
  2975. }
  2976. return element;
  2977. }
  2978. const isSpecialTemplateDirective = /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.makeMap)(`if,else,else-if,for,slot`);
  2979. function parseTag(context, type, parent) {
  2980. // Tag open.
  2981. const start = getCursor(context);
  2982. const match = /^<\/?([a-z][^\t\r\n\f />]*)/i.exec(context.source);
  2983. const tag = match[1];
  2984. const ns = context.options.getNamespace(tag, parent);
  2985. advanceBy(context, match[0].length);
  2986. advanceSpaces(context);
  2987. // save current state in case we need to re-parse attributes with v-pre
  2988. const cursor = getCursor(context);
  2989. const currentSource = context.source;
  2990. // check <pre> tag
  2991. if (context.options.isPreTag(tag)) {
  2992. context.inPre = true;
  2993. }
  2994. // Attributes.
  2995. let props = parseAttributes(context, type);
  2996. // check v-pre
  2997. if (type === 0 /* Start */ &&
  2998. !context.inVPre &&
  2999. props.some(p => p.type === 7 /* DIRECTIVE */ && p.name === 'pre')) {
  3000. context.inVPre = true;
  3001. // reset context
  3002. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.extend)(context, cursor);
  3003. context.source = currentSource;
  3004. // re-parse attrs and filter out v-pre itself
  3005. props = parseAttributes(context, type).filter(p => p.name !== 'v-pre');
  3006. }
  3007. // Tag close.
  3008. let isSelfClosing = false;
  3009. if (context.source.length === 0) {
  3010. emitError(context, 9 /* EOF_IN_TAG */);
  3011. }
  3012. else {
  3013. isSelfClosing = startsWith(context.source, '/>');
  3014. if (type === 1 /* End */ && isSelfClosing) {
  3015. emitError(context, 4 /* END_TAG_WITH_TRAILING_SOLIDUS */);
  3016. }
  3017. advanceBy(context, isSelfClosing ? 2 : 1);
  3018. }
  3019. if (type === 1 /* End */) {
  3020. return;
  3021. }
  3022. // 2.x deprecation checks
  3023. if (( true) &&
  3024. isCompatEnabled("COMPILER_V_IF_V_FOR_PRECEDENCE" /* COMPILER_V_IF_V_FOR_PRECEDENCE */, context)) {
  3025. let hasIf = false;
  3026. let hasFor = false;
  3027. for (let i = 0; i < props.length; i++) {
  3028. const p = props[i];
  3029. if (p.type === 7 /* DIRECTIVE */) {
  3030. if (p.name === 'if') {
  3031. hasIf = true;
  3032. }
  3033. else if (p.name === 'for') {
  3034. hasFor = true;
  3035. }
  3036. }
  3037. if (hasIf && hasFor) {
  3038. warnDeprecation("COMPILER_V_IF_V_FOR_PRECEDENCE" /* COMPILER_V_IF_V_FOR_PRECEDENCE */, context, getSelection(context, start));
  3039. break;
  3040. }
  3041. }
  3042. }
  3043. let tagType = 0 /* ELEMENT */;
  3044. if (!context.inVPre) {
  3045. if (tag === 'slot') {
  3046. tagType = 2 /* SLOT */;
  3047. }
  3048. else if (tag === 'template') {
  3049. if (props.some(p => p.type === 7 /* DIRECTIVE */ && isSpecialTemplateDirective(p.name))) {
  3050. tagType = 3 /* TEMPLATE */;
  3051. }
  3052. }
  3053. else if (isComponent(tag, props, context)) {
  3054. tagType = 1 /* COMPONENT */;
  3055. }
  3056. }
  3057. return {
  3058. type: 1 /* ELEMENT */,
  3059. ns,
  3060. tag,
  3061. tagType,
  3062. props,
  3063. isSelfClosing,
  3064. children: [],
  3065. loc: getSelection(context, start),
  3066. codegenNode: undefined // to be created during transform phase
  3067. };
  3068. }
  3069. function isComponent(tag, props, context) {
  3070. const options = context.options;
  3071. if (options.isCustomElement(tag)) {
  3072. return false;
  3073. }
  3074. if (tag === 'component' ||
  3075. /^[A-Z]/.test(tag) ||
  3076. isCoreComponent(tag) ||
  3077. (options.isBuiltInComponent && options.isBuiltInComponent(tag)) ||
  3078. (options.isNativeTag && !options.isNativeTag(tag))) {
  3079. return true;
  3080. }
  3081. // at this point the tag should be a native tag, but check for potential "is"
  3082. // casting
  3083. for (let i = 0; i < props.length; i++) {
  3084. const p = props[i];
  3085. if (p.type === 6 /* ATTRIBUTE */) {
  3086. if (p.name === 'is' && p.value) {
  3087. if (p.value.content.startsWith('vue:')) {
  3088. return true;
  3089. }
  3090. else if (checkCompatEnabled("COMPILER_IS_ON_ELEMENT" /* COMPILER_IS_ON_ELEMENT */, context, p.loc)) {
  3091. return true;
  3092. }
  3093. }
  3094. }
  3095. else {
  3096. // directive
  3097. // v-is (TODO Deprecate)
  3098. if (p.name === 'is') {
  3099. return true;
  3100. }
  3101. else if (
  3102. // :is on plain element - only treat as component in compat mode
  3103. p.name === 'bind' &&
  3104. isStaticArgOf(p.arg, 'is') &&
  3105. true &&
  3106. checkCompatEnabled("COMPILER_IS_ON_ELEMENT" /* COMPILER_IS_ON_ELEMENT */, context, p.loc)) {
  3107. return true;
  3108. }
  3109. }
  3110. }
  3111. }
  3112. function parseAttributes(context, type) {
  3113. const props = [];
  3114. const attributeNames = new Set();
  3115. while (context.source.length > 0 &&
  3116. !startsWith(context.source, '>') &&
  3117. !startsWith(context.source, '/>')) {
  3118. if (startsWith(context.source, '/')) {
  3119. emitError(context, 22 /* UNEXPECTED_SOLIDUS_IN_TAG */);
  3120. advanceBy(context, 1);
  3121. advanceSpaces(context);
  3122. continue;
  3123. }
  3124. if (type === 1 /* End */) {
  3125. emitError(context, 3 /* END_TAG_WITH_ATTRIBUTES */);
  3126. }
  3127. const attr = parseAttribute(context, attributeNames);
  3128. // Trim whitespace between class
  3129. // https://github.com/vuejs/core/issues/4251
  3130. if (attr.type === 6 /* ATTRIBUTE */ &&
  3131. attr.value &&
  3132. attr.name === 'class') {
  3133. attr.value.content = attr.value.content.replace(/\s+/g, ' ').trim();
  3134. }
  3135. if (type === 0 /* Start */) {
  3136. props.push(attr);
  3137. }
  3138. if (/^[^\t\r\n\f />]/.test(context.source)) {
  3139. emitError(context, 15 /* MISSING_WHITESPACE_BETWEEN_ATTRIBUTES */);
  3140. }
  3141. advanceSpaces(context);
  3142. }
  3143. return props;
  3144. }
  3145. function parseAttribute(context, nameSet) {
  3146. // Name.
  3147. const start = getCursor(context);
  3148. const match = /^[^\t\r\n\f />][^\t\r\n\f />=]*/.exec(context.source);
  3149. const name = match[0];
  3150. if (nameSet.has(name)) {
  3151. emitError(context, 2 /* DUPLICATE_ATTRIBUTE */);
  3152. }
  3153. nameSet.add(name);
  3154. if (name[0] === '=') {
  3155. emitError(context, 19 /* UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME */);
  3156. }
  3157. {
  3158. const pattern = /["'<]/g;
  3159. let m;
  3160. while ((m = pattern.exec(name))) {
  3161. emitError(context, 17 /* UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME */, m.index);
  3162. }
  3163. }
  3164. advanceBy(context, name.length);
  3165. // Value
  3166. let value = undefined;
  3167. if (/^[\t\r\n\f ]*=/.test(context.source)) {
  3168. advanceSpaces(context);
  3169. advanceBy(context, 1);
  3170. advanceSpaces(context);
  3171. value = parseAttributeValue(context);
  3172. if (!value) {
  3173. emitError(context, 13 /* MISSING_ATTRIBUTE_VALUE */);
  3174. }
  3175. }
  3176. const loc = getSelection(context, start);
  3177. if (!context.inVPre && /^(v-[A-Za-z0-9-]|:|\.|@|#)/.test(name)) {
  3178. const match = /(?:^v-([a-z0-9-]+))?(?:(?::|^\.|^@|^#)(\[[^\]]+\]|[^\.]+))?(.+)?$/i.exec(name);
  3179. let isPropShorthand = startsWith(name, '.');
  3180. let dirName = match[1] ||
  3181. (isPropShorthand || startsWith(name, ':')
  3182. ? 'bind'
  3183. : startsWith(name, '@')
  3184. ? 'on'
  3185. : 'slot');
  3186. let arg;
  3187. if (match[2]) {
  3188. const isSlot = dirName === 'slot';
  3189. const startOffset = name.lastIndexOf(match[2]);
  3190. const loc = getSelection(context, getNewPosition(context, start, startOffset), getNewPosition(context, start, startOffset + match[2].length + ((isSlot && match[3]) || '').length));
  3191. let content = match[2];
  3192. let isStatic = true;
  3193. if (content.startsWith('[')) {
  3194. isStatic = false;
  3195. if (!content.endsWith(']')) {
  3196. emitError(context, 27 /* X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END */);
  3197. content = content.slice(1);
  3198. }
  3199. else {
  3200. content = content.slice(1, content.length - 1);
  3201. }
  3202. }
  3203. else if (isSlot) {
  3204. // #1241 special case for v-slot: vuetify relies extensively on slot
  3205. // names containing dots. v-slot doesn't have any modifiers and Vue 2.x
  3206. // supports such usage so we are keeping it consistent with 2.x.
  3207. content += match[3] || '';
  3208. }
  3209. arg = {
  3210. type: 4 /* SIMPLE_EXPRESSION */,
  3211. content,
  3212. isStatic,
  3213. constType: isStatic
  3214. ? 3 /* CAN_STRINGIFY */
  3215. : 0 /* NOT_CONSTANT */,
  3216. loc
  3217. };
  3218. }
  3219. if (value && value.isQuoted) {
  3220. const valueLoc = value.loc;
  3221. valueLoc.start.offset++;
  3222. valueLoc.start.column++;
  3223. valueLoc.end = advancePositionWithClone(valueLoc.start, value.content);
  3224. valueLoc.source = valueLoc.source.slice(1, -1);
  3225. }
  3226. const modifiers = match[3] ? match[3].slice(1).split('.') : [];
  3227. if (isPropShorthand)
  3228. modifiers.push('prop');
  3229. // 2.x compat v-bind:foo.sync -> v-model:foo
  3230. if (dirName === 'bind' && arg) {
  3231. if (modifiers.includes('sync') &&
  3232. checkCompatEnabled("COMPILER_V_BIND_SYNC" /* COMPILER_V_BIND_SYNC */, context, loc, arg.loc.source)) {
  3233. dirName = 'model';
  3234. modifiers.splice(modifiers.indexOf('sync'), 1);
  3235. }
  3236. if (( true) && modifiers.includes('prop')) {
  3237. checkCompatEnabled("COMPILER_V_BIND_PROP" /* COMPILER_V_BIND_PROP */, context, loc);
  3238. }
  3239. }
  3240. return {
  3241. type: 7 /* DIRECTIVE */,
  3242. name: dirName,
  3243. exp: value && {
  3244. type: 4 /* SIMPLE_EXPRESSION */,
  3245. content: value.content,
  3246. isStatic: false,
  3247. // Treat as non-constant by default. This can be potentially set to
  3248. // other values by `transformExpression` to make it eligible for hoisting.
  3249. constType: 0 /* NOT_CONSTANT */,
  3250. loc: value.loc
  3251. },
  3252. arg,
  3253. modifiers,
  3254. loc
  3255. };
  3256. }
  3257. // missing directive name or illegal directive name
  3258. if (!context.inVPre && startsWith(name, 'v-')) {
  3259. emitError(context, 26 /* X_MISSING_DIRECTIVE_NAME */);
  3260. }
  3261. return {
  3262. type: 6 /* ATTRIBUTE */,
  3263. name,
  3264. value: value && {
  3265. type: 2 /* TEXT */,
  3266. content: value.content,
  3267. loc: value.loc
  3268. },
  3269. loc
  3270. };
  3271. }
  3272. function parseAttributeValue(context) {
  3273. const start = getCursor(context);
  3274. let content;
  3275. const quote = context.source[0];
  3276. const isQuoted = quote === `"` || quote === `'`;
  3277. if (isQuoted) {
  3278. // Quoted value.
  3279. advanceBy(context, 1);
  3280. const endIndex = context.source.indexOf(quote);
  3281. if (endIndex === -1) {
  3282. content = parseTextData(context, context.source.length, 4 /* ATTRIBUTE_VALUE */);
  3283. }
  3284. else {
  3285. content = parseTextData(context, endIndex, 4 /* ATTRIBUTE_VALUE */);
  3286. advanceBy(context, 1);
  3287. }
  3288. }
  3289. else {
  3290. // Unquoted
  3291. const match = /^[^\t\r\n\f >]+/.exec(context.source);
  3292. if (!match) {
  3293. return undefined;
  3294. }
  3295. const unexpectedChars = /["'<=`]/g;
  3296. let m;
  3297. while ((m = unexpectedChars.exec(match[0]))) {
  3298. emitError(context, 18 /* UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE */, m.index);
  3299. }
  3300. content = parseTextData(context, match[0].length, 4 /* ATTRIBUTE_VALUE */);
  3301. }
  3302. return { content, isQuoted, loc: getSelection(context, start) };
  3303. }
  3304. function parseInterpolation(context, mode) {
  3305. const [open, close] = context.options.delimiters;
  3306. const closeIndex = context.source.indexOf(close, open.length);
  3307. if (closeIndex === -1) {
  3308. emitError(context, 25 /* X_MISSING_INTERPOLATION_END */);
  3309. return undefined;
  3310. }
  3311. const start = getCursor(context);
  3312. advanceBy(context, open.length);
  3313. const innerStart = getCursor(context);
  3314. const innerEnd = getCursor(context);
  3315. const rawContentLength = closeIndex - open.length;
  3316. const rawContent = context.source.slice(0, rawContentLength);
  3317. const preTrimContent = parseTextData(context, rawContentLength, mode);
  3318. const content = preTrimContent.trim();
  3319. const startOffset = preTrimContent.indexOf(content);
  3320. if (startOffset > 0) {
  3321. advancePositionWithMutation(innerStart, rawContent, startOffset);
  3322. }
  3323. const endOffset = rawContentLength - (preTrimContent.length - content.length - startOffset);
  3324. advancePositionWithMutation(innerEnd, rawContent, endOffset);
  3325. advanceBy(context, close.length);
  3326. return {
  3327. type: 5 /* INTERPOLATION */,
  3328. content: {
  3329. type: 4 /* SIMPLE_EXPRESSION */,
  3330. isStatic: false,
  3331. // Set `isConstant` to false by default and will decide in transformExpression
  3332. constType: 0 /* NOT_CONSTANT */,
  3333. content,
  3334. loc: getSelection(context, innerStart, innerEnd)
  3335. },
  3336. loc: getSelection(context, start)
  3337. };
  3338. }
  3339. function parseText(context, mode) {
  3340. const endTokens = mode === 3 /* CDATA */ ? [']]>'] : ['<', context.options.delimiters[0]];
  3341. let endIndex = context.source.length;
  3342. for (let i = 0; i < endTokens.length; i++) {
  3343. const index = context.source.indexOf(endTokens[i], 1);
  3344. if (index !== -1 && endIndex > index) {
  3345. endIndex = index;
  3346. }
  3347. }
  3348. const start = getCursor(context);
  3349. const content = parseTextData(context, endIndex, mode);
  3350. return {
  3351. type: 2 /* TEXT */,
  3352. content,
  3353. loc: getSelection(context, start)
  3354. };
  3355. }
  3356. /**
  3357. * Get text data with a given length from the current location.
  3358. * This translates HTML entities in the text data.
  3359. */
  3360. function parseTextData(context, length, mode) {
  3361. const rawText = context.source.slice(0, length);
  3362. advanceBy(context, length);
  3363. if (mode === 2 /* RAWTEXT */ ||
  3364. mode === 3 /* CDATA */ ||
  3365. !rawText.includes('&')) {
  3366. return rawText;
  3367. }
  3368. else {
  3369. // DATA or RCDATA containing "&"". Entity decoding required.
  3370. return context.options.decodeEntities(rawText, mode === 4 /* ATTRIBUTE_VALUE */);
  3371. }
  3372. }
  3373. function getCursor(context) {
  3374. const { column, line, offset } = context;
  3375. return { column, line, offset };
  3376. }
  3377. function getSelection(context, start, end) {
  3378. end = end || getCursor(context);
  3379. return {
  3380. start,
  3381. end,
  3382. source: context.originalSource.slice(start.offset, end.offset)
  3383. };
  3384. }
  3385. function last(xs) {
  3386. return xs[xs.length - 1];
  3387. }
  3388. function startsWith(source, searchString) {
  3389. return source.startsWith(searchString);
  3390. }
  3391. function advanceBy(context, numberOfCharacters) {
  3392. const { source } = context;
  3393. advancePositionWithMutation(context, source, numberOfCharacters);
  3394. context.source = source.slice(numberOfCharacters);
  3395. }
  3396. function advanceSpaces(context) {
  3397. const match = /^[\t\r\n\f ]+/.exec(context.source);
  3398. if (match) {
  3399. advanceBy(context, match[0].length);
  3400. }
  3401. }
  3402. function getNewPosition(context, start, numberOfCharacters) {
  3403. return advancePositionWithClone(start, context.originalSource.slice(start.offset, numberOfCharacters), numberOfCharacters);
  3404. }
  3405. function emitError(context, code, offset, loc = getCursor(context)) {
  3406. if (offset) {
  3407. loc.offset += offset;
  3408. loc.column += offset;
  3409. }
  3410. context.options.onError(createCompilerError(code, {
  3411. start: loc,
  3412. end: loc,
  3413. source: ''
  3414. }));
  3415. }
  3416. function isEnd(context, mode, ancestors) {
  3417. const s = context.source;
  3418. switch (mode) {
  3419. case 0 /* DATA */:
  3420. if (startsWith(s, '</')) {
  3421. // TODO: probably bad performance
  3422. for (let i = ancestors.length - 1; i >= 0; --i) {
  3423. if (startsWithEndTagOpen(s, ancestors[i].tag)) {
  3424. return true;
  3425. }
  3426. }
  3427. }
  3428. break;
  3429. case 1 /* RCDATA */:
  3430. case 2 /* RAWTEXT */: {
  3431. const parent = last(ancestors);
  3432. if (parent && startsWithEndTagOpen(s, parent.tag)) {
  3433. return true;
  3434. }
  3435. break;
  3436. }
  3437. case 3 /* CDATA */:
  3438. if (startsWith(s, ']]>')) {
  3439. return true;
  3440. }
  3441. break;
  3442. }
  3443. return !s;
  3444. }
  3445. function startsWithEndTagOpen(source, tag) {
  3446. return (startsWith(source, '</') &&
  3447. source.slice(2, 2 + tag.length).toLowerCase() === tag.toLowerCase() &&
  3448. /[\t\r\n\f />]/.test(source[2 + tag.length] || '>'));
  3449. }
  3450. function hoistStatic(root, context) {
  3451. walk(root, context,
  3452. // Root node is unfortunately non-hoistable due to potential parent
  3453. // fallthrough attributes.
  3454. isSingleElementRoot(root, root.children[0]));
  3455. }
  3456. function isSingleElementRoot(root, child) {
  3457. const { children } = root;
  3458. return (children.length === 1 &&
  3459. child.type === 1 /* ELEMENT */ &&
  3460. !isSlotOutlet(child));
  3461. }
  3462. function walk(node, context, doNotHoistNode = false) {
  3463. const { children } = node;
  3464. const originalCount = children.length;
  3465. let hoistedCount = 0;
  3466. for (let i = 0; i < children.length; i++) {
  3467. const child = children[i];
  3468. // only plain elements & text calls are eligible for hoisting.
  3469. if (child.type === 1 /* ELEMENT */ &&
  3470. child.tagType === 0 /* ELEMENT */) {
  3471. const constantType = doNotHoistNode
  3472. ? 0 /* NOT_CONSTANT */
  3473. : getConstantType(child, context);
  3474. if (constantType > 0 /* NOT_CONSTANT */) {
  3475. if (constantType >= 2 /* CAN_HOIST */) {
  3476. child.codegenNode.patchFlag =
  3477. -1 /* HOISTED */ + (( true) ? ` /* HOISTED */` : 0);
  3478. child.codegenNode = context.hoist(child.codegenNode);
  3479. hoistedCount++;
  3480. continue;
  3481. }
  3482. }
  3483. else {
  3484. // node may contain dynamic children, but its props may be eligible for
  3485. // hoisting.
  3486. const codegenNode = child.codegenNode;
  3487. if (codegenNode.type === 13 /* VNODE_CALL */) {
  3488. const flag = getPatchFlag(codegenNode);
  3489. if ((!flag ||
  3490. flag === 512 /* NEED_PATCH */ ||
  3491. flag === 1 /* TEXT */) &&
  3492. getGeneratedPropsConstantType(child, context) >=
  3493. 2 /* CAN_HOIST */) {
  3494. const props = getNodeProps(child);
  3495. if (props) {
  3496. codegenNode.props = context.hoist(props);
  3497. }
  3498. }
  3499. if (codegenNode.dynamicProps) {
  3500. codegenNode.dynamicProps = context.hoist(codegenNode.dynamicProps);
  3501. }
  3502. }
  3503. }
  3504. }
  3505. else if (child.type === 12 /* TEXT_CALL */ &&
  3506. getConstantType(child.content, context) >= 2 /* CAN_HOIST */) {
  3507. child.codegenNode = context.hoist(child.codegenNode);
  3508. hoistedCount++;
  3509. }
  3510. // walk further
  3511. if (child.type === 1 /* ELEMENT */) {
  3512. const isComponent = child.tagType === 1 /* COMPONENT */;
  3513. if (isComponent) {
  3514. context.scopes.vSlot++;
  3515. }
  3516. walk(child, context);
  3517. if (isComponent) {
  3518. context.scopes.vSlot--;
  3519. }
  3520. }
  3521. else if (child.type === 11 /* FOR */) {
  3522. // Do not hoist v-for single child because it has to be a block
  3523. walk(child, context, child.children.length === 1);
  3524. }
  3525. else if (child.type === 9 /* IF */) {
  3526. for (let i = 0; i < child.branches.length; i++) {
  3527. // Do not hoist v-if single child because it has to be a block
  3528. walk(child.branches[i], context, child.branches[i].children.length === 1);
  3529. }
  3530. }
  3531. }
  3532. if (hoistedCount && context.transformHoist) {
  3533. context.transformHoist(children, context, node);
  3534. }
  3535. // all children were hoisted - the entire children array is hoistable.
  3536. if (hoistedCount &&
  3537. hoistedCount === originalCount &&
  3538. node.type === 1 /* ELEMENT */ &&
  3539. node.tagType === 0 /* ELEMENT */ &&
  3540. node.codegenNode &&
  3541. node.codegenNode.type === 13 /* VNODE_CALL */ &&
  3542. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(node.codegenNode.children)) {
  3543. node.codegenNode.children = context.hoist(createArrayExpression(node.codegenNode.children));
  3544. }
  3545. }
  3546. function getConstantType(node, context) {
  3547. const { constantCache } = context;
  3548. switch (node.type) {
  3549. case 1 /* ELEMENT */:
  3550. if (node.tagType !== 0 /* ELEMENT */) {
  3551. return 0 /* NOT_CONSTANT */;
  3552. }
  3553. const cached = constantCache.get(node);
  3554. if (cached !== undefined) {
  3555. return cached;
  3556. }
  3557. const codegenNode = node.codegenNode;
  3558. if (codegenNode.type !== 13 /* VNODE_CALL */) {
  3559. return 0 /* NOT_CONSTANT */;
  3560. }
  3561. if (codegenNode.isBlock &&
  3562. node.tag !== 'svg' &&
  3563. node.tag !== 'foreignObject') {
  3564. return 0 /* NOT_CONSTANT */;
  3565. }
  3566. const flag = getPatchFlag(codegenNode);
  3567. if (!flag) {
  3568. let returnType = 3 /* CAN_STRINGIFY */;
  3569. // Element itself has no patch flag. However we still need to check:
  3570. // 1. Even for a node with no patch flag, it is possible for it to contain
  3571. // non-hoistable expressions that refers to scope variables, e.g. compiler
  3572. // injected keys or cached event handlers. Therefore we need to always
  3573. // check the codegenNode's props to be sure.
  3574. const generatedPropsType = getGeneratedPropsConstantType(node, context);
  3575. if (generatedPropsType === 0 /* NOT_CONSTANT */) {
  3576. constantCache.set(node, 0 /* NOT_CONSTANT */);
  3577. return 0 /* NOT_CONSTANT */;
  3578. }
  3579. if (generatedPropsType < returnType) {
  3580. returnType = generatedPropsType;
  3581. }
  3582. // 2. its children.
  3583. for (let i = 0; i < node.children.length; i++) {
  3584. const childType = getConstantType(node.children[i], context);
  3585. if (childType === 0 /* NOT_CONSTANT */) {
  3586. constantCache.set(node, 0 /* NOT_CONSTANT */);
  3587. return 0 /* NOT_CONSTANT */;
  3588. }
  3589. if (childType < returnType) {
  3590. returnType = childType;
  3591. }
  3592. }
  3593. // 3. if the type is not already CAN_SKIP_PATCH which is the lowest non-0
  3594. // type, check if any of the props can cause the type to be lowered
  3595. // we can skip can_patch because it's guaranteed by the absence of a
  3596. // patchFlag.
  3597. if (returnType > 1 /* CAN_SKIP_PATCH */) {
  3598. for (let i = 0; i < node.props.length; i++) {
  3599. const p = node.props[i];
  3600. if (p.type === 7 /* DIRECTIVE */ && p.name === 'bind' && p.exp) {
  3601. const expType = getConstantType(p.exp, context);
  3602. if (expType === 0 /* NOT_CONSTANT */) {
  3603. constantCache.set(node, 0 /* NOT_CONSTANT */);
  3604. return 0 /* NOT_CONSTANT */;
  3605. }
  3606. if (expType < returnType) {
  3607. returnType = expType;
  3608. }
  3609. }
  3610. }
  3611. }
  3612. // only svg/foreignObject could be block here, however if they are
  3613. // static then they don't need to be blocks since there will be no
  3614. // nested updates.
  3615. if (codegenNode.isBlock) {
  3616. context.removeHelper(OPEN_BLOCK);
  3617. context.removeHelper(getVNodeBlockHelper(context.inSSR, codegenNode.isComponent));
  3618. codegenNode.isBlock = false;
  3619. context.helper(getVNodeHelper(context.inSSR, codegenNode.isComponent));
  3620. }
  3621. constantCache.set(node, returnType);
  3622. return returnType;
  3623. }
  3624. else {
  3625. constantCache.set(node, 0 /* NOT_CONSTANT */);
  3626. return 0 /* NOT_CONSTANT */;
  3627. }
  3628. case 2 /* TEXT */:
  3629. case 3 /* COMMENT */:
  3630. return 3 /* CAN_STRINGIFY */;
  3631. case 9 /* IF */:
  3632. case 11 /* FOR */:
  3633. case 10 /* IF_BRANCH */:
  3634. return 0 /* NOT_CONSTANT */;
  3635. case 5 /* INTERPOLATION */:
  3636. case 12 /* TEXT_CALL */:
  3637. return getConstantType(node.content, context);
  3638. case 4 /* SIMPLE_EXPRESSION */:
  3639. return node.constType;
  3640. case 8 /* COMPOUND_EXPRESSION */:
  3641. let returnType = 3 /* CAN_STRINGIFY */;
  3642. for (let i = 0; i < node.children.length; i++) {
  3643. const child = node.children[i];
  3644. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(child) || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isSymbol)(child)) {
  3645. continue;
  3646. }
  3647. const childType = getConstantType(child, context);
  3648. if (childType === 0 /* NOT_CONSTANT */) {
  3649. return 0 /* NOT_CONSTANT */;
  3650. }
  3651. else if (childType < returnType) {
  3652. returnType = childType;
  3653. }
  3654. }
  3655. return returnType;
  3656. default:
  3657. if ((true)) ;
  3658. return 0 /* NOT_CONSTANT */;
  3659. }
  3660. }
  3661. const allowHoistedHelperSet = new Set([
  3662. NORMALIZE_CLASS,
  3663. NORMALIZE_STYLE,
  3664. NORMALIZE_PROPS,
  3665. GUARD_REACTIVE_PROPS
  3666. ]);
  3667. function getConstantTypeOfHelperCall(value, context) {
  3668. if (value.type === 14 /* JS_CALL_EXPRESSION */ &&
  3669. !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(value.callee) &&
  3670. allowHoistedHelperSet.has(value.callee)) {
  3671. const arg = value.arguments[0];
  3672. if (arg.type === 4 /* SIMPLE_EXPRESSION */) {
  3673. return getConstantType(arg, context);
  3674. }
  3675. else if (arg.type === 14 /* JS_CALL_EXPRESSION */) {
  3676. // in the case of nested helper call, e.g. `normalizeProps(guardReactiveProps(exp))`
  3677. return getConstantTypeOfHelperCall(arg, context);
  3678. }
  3679. }
  3680. return 0 /* NOT_CONSTANT */;
  3681. }
  3682. function getGeneratedPropsConstantType(node, context) {
  3683. let returnType = 3 /* CAN_STRINGIFY */;
  3684. const props = getNodeProps(node);
  3685. if (props && props.type === 15 /* JS_OBJECT_EXPRESSION */) {
  3686. const { properties } = props;
  3687. for (let i = 0; i < properties.length; i++) {
  3688. const { key, value } = properties[i];
  3689. const keyType = getConstantType(key, context);
  3690. if (keyType === 0 /* NOT_CONSTANT */) {
  3691. return keyType;
  3692. }
  3693. if (keyType < returnType) {
  3694. returnType = keyType;
  3695. }
  3696. let valueType;
  3697. if (value.type === 4 /* SIMPLE_EXPRESSION */) {
  3698. valueType = getConstantType(value, context);
  3699. }
  3700. else if (value.type === 14 /* JS_CALL_EXPRESSION */) {
  3701. // some helper calls can be hoisted,
  3702. // such as the `normalizeProps` generated by the compiler for pre-normalize class,
  3703. // in this case we need to respect the ConstantType of the helper's arguments
  3704. valueType = getConstantTypeOfHelperCall(value, context);
  3705. }
  3706. else {
  3707. valueType = 0 /* NOT_CONSTANT */;
  3708. }
  3709. if (valueType === 0 /* NOT_CONSTANT */) {
  3710. return valueType;
  3711. }
  3712. if (valueType < returnType) {
  3713. returnType = valueType;
  3714. }
  3715. }
  3716. }
  3717. return returnType;
  3718. }
  3719. function getNodeProps(node) {
  3720. const codegenNode = node.codegenNode;
  3721. if (codegenNode.type === 13 /* VNODE_CALL */) {
  3722. return codegenNode.props;
  3723. }
  3724. }
  3725. function getPatchFlag(node) {
  3726. const flag = node.patchFlag;
  3727. return flag ? parseInt(flag, 10) : undefined;
  3728. }
  3729. function createTransformContext(root, { filename = '', prefixIdentifiers = false, hoistStatic = false, cacheHandlers = false, nodeTransforms = [], directiveTransforms = {}, transformHoist = null, isBuiltInComponent = _vue_shared__WEBPACK_IMPORTED_MODULE_0__.NOOP, isCustomElement = _vue_shared__WEBPACK_IMPORTED_MODULE_0__.NOOP, expressionPlugins = [], scopeId = null, slotted = true, ssr = false, inSSR = false, ssrCssVars = ``, bindingMetadata = _vue_shared__WEBPACK_IMPORTED_MODULE_0__.EMPTY_OBJ, inline = false, isTS = false, onError = defaultOnError, onWarn = defaultOnWarn, compatConfig }) {
  3730. const nameMatch = filename.replace(/\?.*$/, '').match(/([^/\\]+)\.\w+$/);
  3731. const context = {
  3732. // options
  3733. selfName: nameMatch && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.capitalize)((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.camelize)(nameMatch[1])),
  3734. prefixIdentifiers,
  3735. hoistStatic,
  3736. cacheHandlers,
  3737. nodeTransforms,
  3738. directiveTransforms,
  3739. transformHoist,
  3740. isBuiltInComponent,
  3741. isCustomElement,
  3742. expressionPlugins,
  3743. scopeId,
  3744. slotted,
  3745. ssr,
  3746. inSSR,
  3747. ssrCssVars,
  3748. bindingMetadata,
  3749. inline,
  3750. isTS,
  3751. onError,
  3752. onWarn,
  3753. compatConfig,
  3754. // state
  3755. root,
  3756. helpers: new Map(),
  3757. components: new Set(),
  3758. directives: new Set(),
  3759. hoists: [],
  3760. imports: [],
  3761. constantCache: new Map(),
  3762. temps: 0,
  3763. cached: 0,
  3764. identifiers: Object.create(null),
  3765. scopes: {
  3766. vFor: 0,
  3767. vSlot: 0,
  3768. vPre: 0,
  3769. vOnce: 0
  3770. },
  3771. parent: null,
  3772. currentNode: root,
  3773. childIndex: 0,
  3774. inVOnce: false,
  3775. // methods
  3776. helper(name) {
  3777. const count = context.helpers.get(name) || 0;
  3778. context.helpers.set(name, count + 1);
  3779. return name;
  3780. },
  3781. removeHelper(name) {
  3782. const count = context.helpers.get(name);
  3783. if (count) {
  3784. const currentCount = count - 1;
  3785. if (!currentCount) {
  3786. context.helpers.delete(name);
  3787. }
  3788. else {
  3789. context.helpers.set(name, currentCount);
  3790. }
  3791. }
  3792. },
  3793. helperString(name) {
  3794. return `_${helperNameMap[context.helper(name)]}`;
  3795. },
  3796. replaceNode(node) {
  3797. /* istanbul ignore if */
  3798. if ((true)) {
  3799. if (!context.currentNode) {
  3800. throw new Error(`Node being replaced is already removed.`);
  3801. }
  3802. if (!context.parent) {
  3803. throw new Error(`Cannot replace root node.`);
  3804. }
  3805. }
  3806. context.parent.children[context.childIndex] = context.currentNode = node;
  3807. },
  3808. removeNode(node) {
  3809. if (( true) && !context.parent) {
  3810. throw new Error(`Cannot remove root node.`);
  3811. }
  3812. const list = context.parent.children;
  3813. const removalIndex = node
  3814. ? list.indexOf(node)
  3815. : context.currentNode
  3816. ? context.childIndex
  3817. : -1;
  3818. /* istanbul ignore if */
  3819. if (( true) && removalIndex < 0) {
  3820. throw new Error(`node being removed is not a child of current parent`);
  3821. }
  3822. if (!node || node === context.currentNode) {
  3823. // current node removed
  3824. context.currentNode = null;
  3825. context.onNodeRemoved();
  3826. }
  3827. else {
  3828. // sibling node removed
  3829. if (context.childIndex > removalIndex) {
  3830. context.childIndex--;
  3831. context.onNodeRemoved();
  3832. }
  3833. }
  3834. context.parent.children.splice(removalIndex, 1);
  3835. },
  3836. onNodeRemoved: () => { },
  3837. addIdentifiers(exp) {
  3838. },
  3839. removeIdentifiers(exp) {
  3840. },
  3841. hoist(exp) {
  3842. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(exp))
  3843. exp = createSimpleExpression(exp);
  3844. context.hoists.push(exp);
  3845. const identifier = createSimpleExpression(`_hoisted_${context.hoists.length}`, false, exp.loc, 2 /* CAN_HOIST */);
  3846. identifier.hoisted = exp;
  3847. return identifier;
  3848. },
  3849. cache(exp, isVNode = false) {
  3850. return createCacheExpression(context.cached++, exp, isVNode);
  3851. }
  3852. };
  3853. {
  3854. context.filters = new Set();
  3855. }
  3856. return context;
  3857. }
  3858. function transform(root, options) {
  3859. const context = createTransformContext(root, options);
  3860. traverseNode(root, context);
  3861. if (options.hoistStatic) {
  3862. hoistStatic(root, context);
  3863. }
  3864. if (!options.ssr) {
  3865. createRootCodegen(root, context);
  3866. }
  3867. // finalize meta information
  3868. root.helpers = [...context.helpers.keys()];
  3869. root.components = [...context.components];
  3870. root.directives = [...context.directives];
  3871. root.imports = context.imports;
  3872. root.hoists = context.hoists;
  3873. root.temps = context.temps;
  3874. root.cached = context.cached;
  3875. {
  3876. root.filters = [...context.filters];
  3877. }
  3878. }
  3879. function createRootCodegen(root, context) {
  3880. const { helper } = context;
  3881. const { children } = root;
  3882. if (children.length === 1) {
  3883. const child = children[0];
  3884. // if the single child is an element, turn it into a block.
  3885. if (isSingleElementRoot(root, child) && child.codegenNode) {
  3886. // single element root is never hoisted so codegenNode will never be
  3887. // SimpleExpressionNode
  3888. const codegenNode = child.codegenNode;
  3889. if (codegenNode.type === 13 /* VNODE_CALL */) {
  3890. makeBlock(codegenNode, context);
  3891. }
  3892. root.codegenNode = codegenNode;
  3893. }
  3894. else {
  3895. // - single <slot/>, IfNode, ForNode: already blocks.
  3896. // - single text node: always patched.
  3897. // root codegen falls through via genNode()
  3898. root.codegenNode = child;
  3899. }
  3900. }
  3901. else if (children.length > 1) {
  3902. // root has multiple nodes - return a fragment block.
  3903. let patchFlag = 64 /* STABLE_FRAGMENT */;
  3904. let patchFlagText = _vue_shared__WEBPACK_IMPORTED_MODULE_0__.PatchFlagNames[64];
  3905. // check if the fragment actually contains a single valid child with
  3906. // the rest being comments
  3907. if (( true) &&
  3908. children.filter(c => c.type !== 3 /* COMMENT */).length === 1) {
  3909. patchFlag |= 2048 /* DEV_ROOT_FRAGMENT */;
  3910. patchFlagText += `, ${_vue_shared__WEBPACK_IMPORTED_MODULE_0__.PatchFlagNames[2048]}`;
  3911. }
  3912. root.codegenNode = createVNodeCall(context, helper(FRAGMENT), undefined, root.children, patchFlag + (( true) ? ` /* ${patchFlagText} */` : 0), undefined, undefined, true, undefined, false /* isComponent */);
  3913. }
  3914. else ;
  3915. }
  3916. function traverseChildren(parent, context) {
  3917. let i = 0;
  3918. const nodeRemoved = () => {
  3919. i--;
  3920. };
  3921. for (; i < parent.children.length; i++) {
  3922. const child = parent.children[i];
  3923. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(child))
  3924. continue;
  3925. context.parent = parent;
  3926. context.childIndex = i;
  3927. context.onNodeRemoved = nodeRemoved;
  3928. traverseNode(child, context);
  3929. }
  3930. }
  3931. function traverseNode(node, context) {
  3932. context.currentNode = node;
  3933. // apply transform plugins
  3934. const { nodeTransforms } = context;
  3935. const exitFns = [];
  3936. for (let i = 0; i < nodeTransforms.length; i++) {
  3937. const onExit = nodeTransforms[i](node, context);
  3938. if (onExit) {
  3939. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(onExit)) {
  3940. exitFns.push(...onExit);
  3941. }
  3942. else {
  3943. exitFns.push(onExit);
  3944. }
  3945. }
  3946. if (!context.currentNode) {
  3947. // node was removed
  3948. return;
  3949. }
  3950. else {
  3951. // node may have been replaced
  3952. node = context.currentNode;
  3953. }
  3954. }
  3955. switch (node.type) {
  3956. case 3 /* COMMENT */:
  3957. if (!context.ssr) {
  3958. // inject import for the Comment symbol, which is needed for creating
  3959. // comment nodes with `createVNode`
  3960. context.helper(CREATE_COMMENT);
  3961. }
  3962. break;
  3963. case 5 /* INTERPOLATION */:
  3964. // no need to traverse, but we need to inject toString helper
  3965. if (!context.ssr) {
  3966. context.helper(TO_DISPLAY_STRING);
  3967. }
  3968. break;
  3969. // for container types, further traverse downwards
  3970. case 9 /* IF */:
  3971. for (let i = 0; i < node.branches.length; i++) {
  3972. traverseNode(node.branches[i], context);
  3973. }
  3974. break;
  3975. case 10 /* IF_BRANCH */:
  3976. case 11 /* FOR */:
  3977. case 1 /* ELEMENT */:
  3978. case 0 /* ROOT */:
  3979. traverseChildren(node, context);
  3980. break;
  3981. }
  3982. // exit transforms
  3983. context.currentNode = node;
  3984. let i = exitFns.length;
  3985. while (i--) {
  3986. exitFns[i]();
  3987. }
  3988. }
  3989. function createStructuralDirectiveTransform(name, fn) {
  3990. const matches = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(name)
  3991. ? (n) => n === name
  3992. : (n) => name.test(n);
  3993. return (node, context) => {
  3994. if (node.type === 1 /* ELEMENT */) {
  3995. const { props } = node;
  3996. // structural directive transforms are not concerned with slots
  3997. // as they are handled separately in vSlot.ts
  3998. if (node.tagType === 3 /* TEMPLATE */ && props.some(isVSlot)) {
  3999. return;
  4000. }
  4001. const exitFns = [];
  4002. for (let i = 0; i < props.length; i++) {
  4003. const prop = props[i];
  4004. if (prop.type === 7 /* DIRECTIVE */ && matches(prop.name)) {
  4005. // structural directives are removed to avoid infinite recursion
  4006. // also we remove them *before* applying so that it can further
  4007. // traverse itself in case it moves the node around
  4008. props.splice(i, 1);
  4009. i--;
  4010. const onExit = fn(node, prop, context);
  4011. if (onExit)
  4012. exitFns.push(onExit);
  4013. }
  4014. }
  4015. return exitFns;
  4016. }
  4017. };
  4018. }
  4019. const PURE_ANNOTATION = `/*#__PURE__*/`;
  4020. function createCodegenContext(ast, { mode = 'function', prefixIdentifiers = mode === 'module', sourceMap = false, filename = `template.vue.html`, scopeId = null, optimizeImports = false, runtimeGlobalName = `Vue`, runtimeModuleName = `vue`, ssrRuntimeModuleName = 'vue/server-renderer', ssr = false, isTS = false, inSSR = false }) {
  4021. const context = {
  4022. mode,
  4023. prefixIdentifiers,
  4024. sourceMap,
  4025. filename,
  4026. scopeId,
  4027. optimizeImports,
  4028. runtimeGlobalName,
  4029. runtimeModuleName,
  4030. ssrRuntimeModuleName,
  4031. ssr,
  4032. isTS,
  4033. inSSR,
  4034. source: ast.loc.source,
  4035. code: ``,
  4036. column: 1,
  4037. line: 1,
  4038. offset: 0,
  4039. indentLevel: 0,
  4040. pure: false,
  4041. map: undefined,
  4042. helper(key) {
  4043. return `_${helperNameMap[key]}`;
  4044. },
  4045. push(code, node) {
  4046. context.code += code;
  4047. },
  4048. indent() {
  4049. newline(++context.indentLevel);
  4050. },
  4051. deindent(withoutNewLine = false) {
  4052. if (withoutNewLine) {
  4053. --context.indentLevel;
  4054. }
  4055. else {
  4056. newline(--context.indentLevel);
  4057. }
  4058. },
  4059. newline() {
  4060. newline(context.indentLevel);
  4061. }
  4062. };
  4063. function newline(n) {
  4064. context.push('\n' + ` `.repeat(n));
  4065. }
  4066. return context;
  4067. }
  4068. function generate(ast, options = {}) {
  4069. const context = createCodegenContext(ast, options);
  4070. if (options.onContextCreated)
  4071. options.onContextCreated(context);
  4072. const { mode, push, prefixIdentifiers, indent, deindent, newline, scopeId, ssr } = context;
  4073. const hasHelpers = ast.helpers.length > 0;
  4074. const useWithBlock = !prefixIdentifiers && mode !== 'module';
  4075. // preambles
  4076. // in setup() inline mode, the preamble is generated in a sub context
  4077. // and returned separately.
  4078. const preambleContext = context;
  4079. {
  4080. genFunctionPreamble(ast, preambleContext);
  4081. }
  4082. // enter render function
  4083. const functionName = ssr ? `ssrRender` : `render`;
  4084. const args = ssr ? ['_ctx', '_push', '_parent', '_attrs'] : ['_ctx', '_cache'];
  4085. const signature = args.join(', ');
  4086. {
  4087. push(`function ${functionName}(${signature}) {`);
  4088. }
  4089. indent();
  4090. if (useWithBlock) {
  4091. push(`with (_ctx) {`);
  4092. indent();
  4093. // function mode const declarations should be inside with block
  4094. // also they should be renamed to avoid collision with user properties
  4095. if (hasHelpers) {
  4096. push(`const { ${ast.helpers
  4097. .map(s => `${helperNameMap[s]}: _${helperNameMap[s]}`)
  4098. .join(', ')} } = _Vue`);
  4099. push(`\n`);
  4100. newline();
  4101. }
  4102. }
  4103. // generate asset resolution statements
  4104. if (ast.components.length) {
  4105. genAssets(ast.components, 'component', context);
  4106. if (ast.directives.length || ast.temps > 0) {
  4107. newline();
  4108. }
  4109. }
  4110. if (ast.directives.length) {
  4111. genAssets(ast.directives, 'directive', context);
  4112. if (ast.temps > 0) {
  4113. newline();
  4114. }
  4115. }
  4116. if (ast.filters && ast.filters.length) {
  4117. newline();
  4118. genAssets(ast.filters, 'filter', context);
  4119. newline();
  4120. }
  4121. if (ast.temps > 0) {
  4122. push(`let `);
  4123. for (let i = 0; i < ast.temps; i++) {
  4124. push(`${i > 0 ? `, ` : ``}_temp${i}`);
  4125. }
  4126. }
  4127. if (ast.components.length || ast.directives.length || ast.temps) {
  4128. push(`\n`);
  4129. newline();
  4130. }
  4131. // generate the VNode tree expression
  4132. if (!ssr) {
  4133. push(`return `);
  4134. }
  4135. if (ast.codegenNode) {
  4136. genNode(ast.codegenNode, context);
  4137. }
  4138. else {
  4139. push(`null`);
  4140. }
  4141. if (useWithBlock) {
  4142. deindent();
  4143. push(`}`);
  4144. }
  4145. deindent();
  4146. push(`}`);
  4147. return {
  4148. ast,
  4149. code: context.code,
  4150. preamble: ``,
  4151. // SourceMapGenerator does have toJSON() method but it's not in the types
  4152. map: context.map ? context.map.toJSON() : undefined
  4153. };
  4154. }
  4155. function genFunctionPreamble(ast, context) {
  4156. const { ssr, prefixIdentifiers, push, newline, runtimeModuleName, runtimeGlobalName, ssrRuntimeModuleName } = context;
  4157. const VueBinding = runtimeGlobalName;
  4158. const aliasHelper = (s) => `${helperNameMap[s]}: _${helperNameMap[s]}`;
  4159. // Generate const declaration for helpers
  4160. // In prefix mode, we place the const declaration at top so it's done
  4161. // only once; But if we not prefixing, we place the declaration inside the
  4162. // with block so it doesn't incur the `in` check cost for every helper access.
  4163. if (ast.helpers.length > 0) {
  4164. {
  4165. // "with" mode.
  4166. // save Vue in a separate variable to avoid collision
  4167. push(`const _Vue = ${VueBinding}\n`);
  4168. // in "with" mode, helpers are declared inside the with block to avoid
  4169. // has check cost, but hoists are lifted out of the function - we need
  4170. // to provide the helper here.
  4171. if (ast.hoists.length) {
  4172. const staticHelpers = [
  4173. CREATE_VNODE,
  4174. CREATE_ELEMENT_VNODE,
  4175. CREATE_COMMENT,
  4176. CREATE_TEXT,
  4177. CREATE_STATIC
  4178. ]
  4179. .filter(helper => ast.helpers.includes(helper))
  4180. .map(aliasHelper)
  4181. .join(', ');
  4182. push(`const { ${staticHelpers} } = _Vue\n`);
  4183. }
  4184. }
  4185. }
  4186. genHoists(ast.hoists, context);
  4187. newline();
  4188. push(`return `);
  4189. }
  4190. function genAssets(assets, type, { helper, push, newline, isTS }) {
  4191. const resolver = helper(type === 'filter'
  4192. ? RESOLVE_FILTER
  4193. : type === 'component'
  4194. ? RESOLVE_COMPONENT
  4195. : RESOLVE_DIRECTIVE);
  4196. for (let i = 0; i < assets.length; i++) {
  4197. let id = assets[i];
  4198. // potential component implicit self-reference inferred from SFC filename
  4199. const maybeSelfReference = id.endsWith('__self');
  4200. if (maybeSelfReference) {
  4201. id = id.slice(0, -6);
  4202. }
  4203. push(`const ${toValidAssetId(id, type)} = ${resolver}(${JSON.stringify(id)}${maybeSelfReference ? `, true` : ``})${isTS ? `!` : ``}`);
  4204. if (i < assets.length - 1) {
  4205. newline();
  4206. }
  4207. }
  4208. }
  4209. function genHoists(hoists, context) {
  4210. if (!hoists.length) {
  4211. return;
  4212. }
  4213. context.pure = true;
  4214. const { push, newline, helper, scopeId, mode } = context;
  4215. newline();
  4216. for (let i = 0; i < hoists.length; i++) {
  4217. const exp = hoists[i];
  4218. if (exp) {
  4219. push(`const _hoisted_${i + 1} = ${``}`);
  4220. genNode(exp, context);
  4221. newline();
  4222. }
  4223. }
  4224. context.pure = false;
  4225. }
  4226. function isText$1(n) {
  4227. return ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(n) ||
  4228. n.type === 4 /* SIMPLE_EXPRESSION */ ||
  4229. n.type === 2 /* TEXT */ ||
  4230. n.type === 5 /* INTERPOLATION */ ||
  4231. n.type === 8 /* COMPOUND_EXPRESSION */);
  4232. }
  4233. function genNodeListAsArray(nodes, context) {
  4234. const multilines = nodes.length > 3 ||
  4235. ((( true)) && nodes.some(n => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(n) || !isText$1(n)));
  4236. context.push(`[`);
  4237. multilines && context.indent();
  4238. genNodeList(nodes, context, multilines);
  4239. multilines && context.deindent();
  4240. context.push(`]`);
  4241. }
  4242. function genNodeList(nodes, context, multilines = false, comma = true) {
  4243. const { push, newline } = context;
  4244. for (let i = 0; i < nodes.length; i++) {
  4245. const node = nodes[i];
  4246. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(node)) {
  4247. push(node);
  4248. }
  4249. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(node)) {
  4250. genNodeListAsArray(node, context);
  4251. }
  4252. else {
  4253. genNode(node, context);
  4254. }
  4255. if (i < nodes.length - 1) {
  4256. if (multilines) {
  4257. comma && push(',');
  4258. newline();
  4259. }
  4260. else {
  4261. comma && push(', ');
  4262. }
  4263. }
  4264. }
  4265. }
  4266. function genNode(node, context) {
  4267. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(node)) {
  4268. context.push(node);
  4269. return;
  4270. }
  4271. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isSymbol)(node)) {
  4272. context.push(context.helper(node));
  4273. return;
  4274. }
  4275. switch (node.type) {
  4276. case 1 /* ELEMENT */:
  4277. case 9 /* IF */:
  4278. case 11 /* FOR */:
  4279. ( true) &&
  4280. assert(node.codegenNode != null, `Codegen node is missing for element/if/for node. ` +
  4281. `Apply appropriate transforms first.`);
  4282. genNode(node.codegenNode, context);
  4283. break;
  4284. case 2 /* TEXT */:
  4285. genText(node, context);
  4286. break;
  4287. case 4 /* SIMPLE_EXPRESSION */:
  4288. genExpression(node, context);
  4289. break;
  4290. case 5 /* INTERPOLATION */:
  4291. genInterpolation(node, context);
  4292. break;
  4293. case 12 /* TEXT_CALL */:
  4294. genNode(node.codegenNode, context);
  4295. break;
  4296. case 8 /* COMPOUND_EXPRESSION */:
  4297. genCompoundExpression(node, context);
  4298. break;
  4299. case 3 /* COMMENT */:
  4300. genComment(node, context);
  4301. break;
  4302. case 13 /* VNODE_CALL */:
  4303. genVNodeCall(node, context);
  4304. break;
  4305. case 14 /* JS_CALL_EXPRESSION */:
  4306. genCallExpression(node, context);
  4307. break;
  4308. case 15 /* JS_OBJECT_EXPRESSION */:
  4309. genObjectExpression(node, context);
  4310. break;
  4311. case 17 /* JS_ARRAY_EXPRESSION */:
  4312. genArrayExpression(node, context);
  4313. break;
  4314. case 18 /* JS_FUNCTION_EXPRESSION */:
  4315. genFunctionExpression(node, context);
  4316. break;
  4317. case 19 /* JS_CONDITIONAL_EXPRESSION */:
  4318. genConditionalExpression(node, context);
  4319. break;
  4320. case 20 /* JS_CACHE_EXPRESSION */:
  4321. genCacheExpression(node, context);
  4322. break;
  4323. case 21 /* JS_BLOCK_STATEMENT */:
  4324. genNodeList(node.body, context, true, false);
  4325. break;
  4326. // SSR only types
  4327. case 22 /* JS_TEMPLATE_LITERAL */:
  4328. break;
  4329. case 23 /* JS_IF_STATEMENT */:
  4330. break;
  4331. case 24 /* JS_ASSIGNMENT_EXPRESSION */:
  4332. break;
  4333. case 25 /* JS_SEQUENCE_EXPRESSION */:
  4334. break;
  4335. case 26 /* JS_RETURN_STATEMENT */:
  4336. break;
  4337. /* istanbul ignore next */
  4338. case 10 /* IF_BRANCH */:
  4339. // noop
  4340. break;
  4341. default:
  4342. if ((true)) {
  4343. assert(false, `unhandled codegen node type: ${node.type}`);
  4344. // make sure we exhaust all possible types
  4345. const exhaustiveCheck = node;
  4346. return exhaustiveCheck;
  4347. }
  4348. }
  4349. }
  4350. function genText(node, context) {
  4351. context.push(JSON.stringify(node.content), node);
  4352. }
  4353. function genExpression(node, context) {
  4354. const { content, isStatic } = node;
  4355. context.push(isStatic ? JSON.stringify(content) : content, node);
  4356. }
  4357. function genInterpolation(node, context) {
  4358. const { push, helper, pure } = context;
  4359. if (pure)
  4360. push(PURE_ANNOTATION);
  4361. push(`${helper(TO_DISPLAY_STRING)}(`);
  4362. genNode(node.content, context);
  4363. push(`)`);
  4364. }
  4365. function genCompoundExpression(node, context) {
  4366. for (let i = 0; i < node.children.length; i++) {
  4367. const child = node.children[i];
  4368. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(child)) {
  4369. context.push(child);
  4370. }
  4371. else {
  4372. genNode(child, context);
  4373. }
  4374. }
  4375. }
  4376. function genExpressionAsPropertyKey(node, context) {
  4377. const { push } = context;
  4378. if (node.type === 8 /* COMPOUND_EXPRESSION */) {
  4379. push(`[`);
  4380. genCompoundExpression(node, context);
  4381. push(`]`);
  4382. }
  4383. else if (node.isStatic) {
  4384. // only quote keys if necessary
  4385. const text = isSimpleIdentifier(node.content)
  4386. ? node.content
  4387. : JSON.stringify(node.content);
  4388. push(text, node);
  4389. }
  4390. else {
  4391. push(`[${node.content}]`, node);
  4392. }
  4393. }
  4394. function genComment(node, context) {
  4395. const { push, helper, pure } = context;
  4396. if (pure) {
  4397. push(PURE_ANNOTATION);
  4398. }
  4399. push(`${helper(CREATE_COMMENT)}(${JSON.stringify(node.content)})`, node);
  4400. }
  4401. function genVNodeCall(node, context) {
  4402. const { push, helper, pure } = context;
  4403. const { tag, props, children, patchFlag, dynamicProps, directives, isBlock, disableTracking, isComponent } = node;
  4404. if (directives) {
  4405. push(helper(WITH_DIRECTIVES) + `(`);
  4406. }
  4407. if (isBlock) {
  4408. push(`(${helper(OPEN_BLOCK)}(${disableTracking ? `true` : ``}), `);
  4409. }
  4410. if (pure) {
  4411. push(PURE_ANNOTATION);
  4412. }
  4413. const callHelper = isBlock
  4414. ? getVNodeBlockHelper(context.inSSR, isComponent)
  4415. : getVNodeHelper(context.inSSR, isComponent);
  4416. push(helper(callHelper) + `(`, node);
  4417. genNodeList(genNullableArgs([tag, props, children, patchFlag, dynamicProps]), context);
  4418. push(`)`);
  4419. if (isBlock) {
  4420. push(`)`);
  4421. }
  4422. if (directives) {
  4423. push(`, `);
  4424. genNode(directives, context);
  4425. push(`)`);
  4426. }
  4427. }
  4428. function genNullableArgs(args) {
  4429. let i = args.length;
  4430. while (i--) {
  4431. if (args[i] != null)
  4432. break;
  4433. }
  4434. return args.slice(0, i + 1).map(arg => arg || `null`);
  4435. }
  4436. // JavaScript
  4437. function genCallExpression(node, context) {
  4438. const { push, helper, pure } = context;
  4439. const callee = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(node.callee) ? node.callee : helper(node.callee);
  4440. if (pure) {
  4441. push(PURE_ANNOTATION);
  4442. }
  4443. push(callee + `(`, node);
  4444. genNodeList(node.arguments, context);
  4445. push(`)`);
  4446. }
  4447. function genObjectExpression(node, context) {
  4448. const { push, indent, deindent, newline } = context;
  4449. const { properties } = node;
  4450. if (!properties.length) {
  4451. push(`{}`, node);
  4452. return;
  4453. }
  4454. const multilines = properties.length > 1 ||
  4455. ((( true)) &&
  4456. properties.some(p => p.value.type !== 4 /* SIMPLE_EXPRESSION */));
  4457. push(multilines ? `{` : `{ `);
  4458. multilines && indent();
  4459. for (let i = 0; i < properties.length; i++) {
  4460. const { key, value } = properties[i];
  4461. // key
  4462. genExpressionAsPropertyKey(key, context);
  4463. push(`: `);
  4464. // value
  4465. genNode(value, context);
  4466. if (i < properties.length - 1) {
  4467. // will only reach this if it's multilines
  4468. push(`,`);
  4469. newline();
  4470. }
  4471. }
  4472. multilines && deindent();
  4473. push(multilines ? `}` : ` }`);
  4474. }
  4475. function genArrayExpression(node, context) {
  4476. genNodeListAsArray(node.elements, context);
  4477. }
  4478. function genFunctionExpression(node, context) {
  4479. const { push, indent, deindent } = context;
  4480. const { params, returns, body, newline, isSlot } = node;
  4481. if (isSlot) {
  4482. // wrap slot functions with owner context
  4483. push(`_${helperNameMap[WITH_CTX]}(`);
  4484. }
  4485. push(`(`, node);
  4486. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(params)) {
  4487. genNodeList(params, context);
  4488. }
  4489. else if (params) {
  4490. genNode(params, context);
  4491. }
  4492. push(`) => `);
  4493. if (newline || body) {
  4494. push(`{`);
  4495. indent();
  4496. }
  4497. if (returns) {
  4498. if (newline) {
  4499. push(`return `);
  4500. }
  4501. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(returns)) {
  4502. genNodeListAsArray(returns, context);
  4503. }
  4504. else {
  4505. genNode(returns, context);
  4506. }
  4507. }
  4508. else if (body) {
  4509. genNode(body, context);
  4510. }
  4511. if (newline || body) {
  4512. deindent();
  4513. push(`}`);
  4514. }
  4515. if (isSlot) {
  4516. if (node.isNonScopedSlot) {
  4517. push(`, undefined, true`);
  4518. }
  4519. push(`)`);
  4520. }
  4521. }
  4522. function genConditionalExpression(node, context) {
  4523. const { test, consequent, alternate, newline: needNewline } = node;
  4524. const { push, indent, deindent, newline } = context;
  4525. if (test.type === 4 /* SIMPLE_EXPRESSION */) {
  4526. const needsParens = !isSimpleIdentifier(test.content);
  4527. needsParens && push(`(`);
  4528. genExpression(test, context);
  4529. needsParens && push(`)`);
  4530. }
  4531. else {
  4532. push(`(`);
  4533. genNode(test, context);
  4534. push(`)`);
  4535. }
  4536. needNewline && indent();
  4537. context.indentLevel++;
  4538. needNewline || push(` `);
  4539. push(`? `);
  4540. genNode(consequent, context);
  4541. context.indentLevel--;
  4542. needNewline && newline();
  4543. needNewline || push(` `);
  4544. push(`: `);
  4545. const isNested = alternate.type === 19 /* JS_CONDITIONAL_EXPRESSION */;
  4546. if (!isNested) {
  4547. context.indentLevel++;
  4548. }
  4549. genNode(alternate, context);
  4550. if (!isNested) {
  4551. context.indentLevel--;
  4552. }
  4553. needNewline && deindent(true /* without newline */);
  4554. }
  4555. function genCacheExpression(node, context) {
  4556. const { push, helper, indent, deindent, newline } = context;
  4557. push(`_cache[${node.index}] || (`);
  4558. if (node.isVNode) {
  4559. indent();
  4560. push(`${helper(SET_BLOCK_TRACKING)}(-1),`);
  4561. newline();
  4562. }
  4563. push(`_cache[${node.index}] = `);
  4564. genNode(node.value, context);
  4565. if (node.isVNode) {
  4566. push(`,`);
  4567. newline();
  4568. push(`${helper(SET_BLOCK_TRACKING)}(1),`);
  4569. newline();
  4570. push(`_cache[${node.index}]`);
  4571. deindent();
  4572. }
  4573. push(`)`);
  4574. }
  4575. function walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [], knownIds = Object.create(null)) {
  4576. {
  4577. return;
  4578. }
  4579. }
  4580. function isReferencedIdentifier(id, parent, parentStack) {
  4581. {
  4582. return false;
  4583. }
  4584. }
  4585. function isInDestructureAssignment(parent, parentStack) {
  4586. if (parent &&
  4587. (parent.type === 'ObjectProperty' || parent.type === 'ArrayPattern')) {
  4588. let i = parentStack.length;
  4589. while (i--) {
  4590. const p = parentStack[i];
  4591. if (p.type === 'AssignmentExpression') {
  4592. return true;
  4593. }
  4594. else if (p.type !== 'ObjectProperty' && !p.type.endsWith('Pattern')) {
  4595. break;
  4596. }
  4597. }
  4598. }
  4599. return false;
  4600. }
  4601. function walkFunctionParams(node, onIdent) {
  4602. for (const p of node.params) {
  4603. for (const id of extractIdentifiers(p)) {
  4604. onIdent(id);
  4605. }
  4606. }
  4607. }
  4608. function walkBlockDeclarations(block, onIdent) {
  4609. for (const stmt of block.body) {
  4610. if (stmt.type === 'VariableDeclaration') {
  4611. if (stmt.declare)
  4612. continue;
  4613. for (const decl of stmt.declarations) {
  4614. for (const id of extractIdentifiers(decl.id)) {
  4615. onIdent(id);
  4616. }
  4617. }
  4618. }
  4619. else if (stmt.type === 'FunctionDeclaration' ||
  4620. stmt.type === 'ClassDeclaration') {
  4621. if (stmt.declare || !stmt.id)
  4622. continue;
  4623. onIdent(stmt.id);
  4624. }
  4625. }
  4626. }
  4627. function extractIdentifiers(param, nodes = []) {
  4628. switch (param.type) {
  4629. case 'Identifier':
  4630. nodes.push(param);
  4631. break;
  4632. case 'MemberExpression':
  4633. let object = param;
  4634. while (object.type === 'MemberExpression') {
  4635. object = object.object;
  4636. }
  4637. nodes.push(object);
  4638. break;
  4639. case 'ObjectPattern':
  4640. for (const prop of param.properties) {
  4641. if (prop.type === 'RestElement') {
  4642. extractIdentifiers(prop.argument, nodes);
  4643. }
  4644. else {
  4645. extractIdentifiers(prop.value, nodes);
  4646. }
  4647. }
  4648. break;
  4649. case 'ArrayPattern':
  4650. param.elements.forEach(element => {
  4651. if (element)
  4652. extractIdentifiers(element, nodes);
  4653. });
  4654. break;
  4655. case 'RestElement':
  4656. extractIdentifiers(param.argument, nodes);
  4657. break;
  4658. case 'AssignmentPattern':
  4659. extractIdentifiers(param.left, nodes);
  4660. break;
  4661. }
  4662. return nodes;
  4663. }
  4664. const isFunctionType = (node) => {
  4665. return /Function(?:Expression|Declaration)$|Method$/.test(node.type);
  4666. };
  4667. const isStaticProperty = (node) => node &&
  4668. (node.type === 'ObjectProperty' || node.type === 'ObjectMethod') &&
  4669. !node.computed;
  4670. const isStaticPropertyKey = (node, parent) => isStaticProperty(parent) && parent.key === node;
  4671. // these keywords should not appear inside expressions, but operators like
  4672. // typeof, instanceof and in are allowed
  4673. const prohibitedKeywordRE = new RegExp('\\b' +
  4674. ('do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' +
  4675. 'super,throw,while,yield,delete,export,import,return,switch,default,' +
  4676. 'extends,finally,continue,debugger,function,arguments,typeof,void')
  4677. .split(',')
  4678. .join('\\b|\\b') +
  4679. '\\b');
  4680. // strip strings in expressions
  4681. const stripStringRE = /'(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*\$\{|\}(?:[^`\\]|\\.)*`|`(?:[^`\\]|\\.)*`/g;
  4682. /**
  4683. * Validate a non-prefixed expression.
  4684. * This is only called when using the in-browser runtime compiler since it
  4685. * doesn't prefix expressions.
  4686. */
  4687. function validateBrowserExpression(node, context, asParams = false, asRawStatements = false) {
  4688. const exp = node.content;
  4689. // empty expressions are validated per-directive since some directives
  4690. // do allow empty expressions.
  4691. if (!exp.trim()) {
  4692. return;
  4693. }
  4694. try {
  4695. new Function(asRawStatements
  4696. ? ` ${exp} `
  4697. : `return ${asParams ? `(${exp}) => {}` : `(${exp})`}`);
  4698. }
  4699. catch (e) {
  4700. let message = e.message;
  4701. const keywordMatch = exp
  4702. .replace(stripStringRE, '')
  4703. .match(prohibitedKeywordRE);
  4704. if (keywordMatch) {
  4705. message = `avoid using JavaScript keyword as property name: "${keywordMatch[0]}"`;
  4706. }
  4707. context.onError(createCompilerError(44 /* X_INVALID_EXPRESSION */, node.loc, undefined, message));
  4708. }
  4709. }
  4710. const transformExpression = (node, context) => {
  4711. if (node.type === 5 /* INTERPOLATION */) {
  4712. node.content = processExpression(node.content, context);
  4713. }
  4714. else if (node.type === 1 /* ELEMENT */) {
  4715. // handle directives on element
  4716. for (let i = 0; i < node.props.length; i++) {
  4717. const dir = node.props[i];
  4718. // do not process for v-on & v-for since they are special handled
  4719. if (dir.type === 7 /* DIRECTIVE */ && dir.name !== 'for') {
  4720. const exp = dir.exp;
  4721. const arg = dir.arg;
  4722. // do not process exp if this is v-on:arg - we need special handling
  4723. // for wrapping inline statements.
  4724. if (exp &&
  4725. exp.type === 4 /* SIMPLE_EXPRESSION */ &&
  4726. !(dir.name === 'on' && arg)) {
  4727. dir.exp = processExpression(exp, context,
  4728. // slot args must be processed as function params
  4729. dir.name === 'slot');
  4730. }
  4731. if (arg && arg.type === 4 /* SIMPLE_EXPRESSION */ && !arg.isStatic) {
  4732. dir.arg = processExpression(arg, context);
  4733. }
  4734. }
  4735. }
  4736. }
  4737. };
  4738. // Important: since this function uses Node.js only dependencies, it should
  4739. // always be used with a leading !true check so that it can be
  4740. // tree-shaken from the browser build.
  4741. function processExpression(node, context,
  4742. // some expressions like v-slot props & v-for aliases should be parsed as
  4743. // function params
  4744. asParams = false,
  4745. // v-on handler values may contain multiple statements
  4746. asRawStatements = false, localVars = Object.create(context.identifiers)) {
  4747. {
  4748. if ((true)) {
  4749. // simple in-browser validation (same logic in 2.x)
  4750. validateBrowserExpression(node, context, asParams, asRawStatements);
  4751. }
  4752. return node;
  4753. }
  4754. }
  4755. const transformIf = createStructuralDirectiveTransform(/^(if|else|else-if)$/, (node, dir, context) => {
  4756. return processIf(node, dir, context, (ifNode, branch, isRoot) => {
  4757. // #1587: We need to dynamically increment the key based on the current
  4758. // node's sibling nodes, since chained v-if/else branches are
  4759. // rendered at the same depth
  4760. const siblings = context.parent.children;
  4761. let i = siblings.indexOf(ifNode);
  4762. let key = 0;
  4763. while (i-- >= 0) {
  4764. const sibling = siblings[i];
  4765. if (sibling && sibling.type === 9 /* IF */) {
  4766. key += sibling.branches.length;
  4767. }
  4768. }
  4769. // Exit callback. Complete the codegenNode when all children have been
  4770. // transformed.
  4771. return () => {
  4772. if (isRoot) {
  4773. ifNode.codegenNode = createCodegenNodeForBranch(branch, key, context);
  4774. }
  4775. else {
  4776. // attach this branch's codegen node to the v-if root.
  4777. const parentCondition = getParentCondition(ifNode.codegenNode);
  4778. parentCondition.alternate = createCodegenNodeForBranch(branch, key + ifNode.branches.length - 1, context);
  4779. }
  4780. };
  4781. });
  4782. });
  4783. // target-agnostic transform used for both Client and SSR
  4784. function processIf(node, dir, context, processCodegen) {
  4785. if (dir.name !== 'else' &&
  4786. (!dir.exp || !dir.exp.content.trim())) {
  4787. const loc = dir.exp ? dir.exp.loc : node.loc;
  4788. context.onError(createCompilerError(28 /* X_V_IF_NO_EXPRESSION */, dir.loc));
  4789. dir.exp = createSimpleExpression(`true`, false, loc);
  4790. }
  4791. if ( true && dir.exp) {
  4792. validateBrowserExpression(dir.exp, context);
  4793. }
  4794. if (dir.name === 'if') {
  4795. const branch = createIfBranch(node, dir);
  4796. const ifNode = {
  4797. type: 9 /* IF */,
  4798. loc: node.loc,
  4799. branches: [branch]
  4800. };
  4801. context.replaceNode(ifNode);
  4802. if (processCodegen) {
  4803. return processCodegen(ifNode, branch, true);
  4804. }
  4805. }
  4806. else {
  4807. // locate the adjacent v-if
  4808. const siblings = context.parent.children;
  4809. const comments = [];
  4810. let i = siblings.indexOf(node);
  4811. while (i-- >= -1) {
  4812. const sibling = siblings[i];
  4813. if (( true) && sibling && sibling.type === 3 /* COMMENT */) {
  4814. context.removeNode(sibling);
  4815. comments.unshift(sibling);
  4816. continue;
  4817. }
  4818. if (sibling &&
  4819. sibling.type === 2 /* TEXT */ &&
  4820. !sibling.content.trim().length) {
  4821. context.removeNode(sibling);
  4822. continue;
  4823. }
  4824. if (sibling && sibling.type === 9 /* IF */) {
  4825. // Check if v-else was followed by v-else-if
  4826. if (dir.name === 'else-if' &&
  4827. sibling.branches[sibling.branches.length - 1].condition === undefined) {
  4828. context.onError(createCompilerError(30 /* X_V_ELSE_NO_ADJACENT_IF */, node.loc));
  4829. }
  4830. // move the node to the if node's branches
  4831. context.removeNode();
  4832. const branch = createIfBranch(node, dir);
  4833. if (( true) &&
  4834. comments.length &&
  4835. // #3619 ignore comments if the v-if is direct child of <transition>
  4836. !(context.parent &&
  4837. context.parent.type === 1 /* ELEMENT */ &&
  4838. isBuiltInType(context.parent.tag, 'transition'))) {
  4839. branch.children = [...comments, ...branch.children];
  4840. }
  4841. // check if user is forcing same key on different branches
  4842. if (true) {
  4843. const key = branch.userKey;
  4844. if (key) {
  4845. sibling.branches.forEach(({ userKey }) => {
  4846. if (isSameKey(userKey, key)) {
  4847. context.onError(createCompilerError(29 /* X_V_IF_SAME_KEY */, branch.userKey.loc));
  4848. }
  4849. });
  4850. }
  4851. }
  4852. sibling.branches.push(branch);
  4853. const onExit = processCodegen && processCodegen(sibling, branch, false);
  4854. // since the branch was removed, it will not be traversed.
  4855. // make sure to traverse here.
  4856. traverseNode(branch, context);
  4857. // call on exit
  4858. if (onExit)
  4859. onExit();
  4860. // make sure to reset currentNode after traversal to indicate this
  4861. // node has been removed.
  4862. context.currentNode = null;
  4863. }
  4864. else {
  4865. context.onError(createCompilerError(30 /* X_V_ELSE_NO_ADJACENT_IF */, node.loc));
  4866. }
  4867. break;
  4868. }
  4869. }
  4870. }
  4871. function createIfBranch(node, dir) {
  4872. return {
  4873. type: 10 /* IF_BRANCH */,
  4874. loc: node.loc,
  4875. condition: dir.name === 'else' ? undefined : dir.exp,
  4876. children: node.tagType === 3 /* TEMPLATE */ && !findDir(node, 'for')
  4877. ? node.children
  4878. : [node],
  4879. userKey: findProp(node, `key`)
  4880. };
  4881. }
  4882. function createCodegenNodeForBranch(branch, keyIndex, context) {
  4883. if (branch.condition) {
  4884. return createConditionalExpression(branch.condition, createChildrenCodegenNode(branch, keyIndex, context),
  4885. // make sure to pass in asBlock: true so that the comment node call
  4886. // closes the current block.
  4887. createCallExpression(context.helper(CREATE_COMMENT), [
  4888. ( true) ? '"v-if"' : 0,
  4889. 'true'
  4890. ]));
  4891. }
  4892. else {
  4893. return createChildrenCodegenNode(branch, keyIndex, context);
  4894. }
  4895. }
  4896. function createChildrenCodegenNode(branch, keyIndex, context) {
  4897. const { helper } = context;
  4898. const keyProperty = createObjectProperty(`key`, createSimpleExpression(`${keyIndex}`, false, locStub, 2 /* CAN_HOIST */));
  4899. const { children } = branch;
  4900. const firstChild = children[0];
  4901. const needFragmentWrapper = children.length !== 1 || firstChild.type !== 1 /* ELEMENT */;
  4902. if (needFragmentWrapper) {
  4903. if (children.length === 1 && firstChild.type === 11 /* FOR */) {
  4904. // optimize away nested fragments when child is a ForNode
  4905. const vnodeCall = firstChild.codegenNode;
  4906. injectProp(vnodeCall, keyProperty, context);
  4907. return vnodeCall;
  4908. }
  4909. else {
  4910. let patchFlag = 64 /* STABLE_FRAGMENT */;
  4911. let patchFlagText = _vue_shared__WEBPACK_IMPORTED_MODULE_0__.PatchFlagNames[64];
  4912. // check if the fragment actually contains a single valid child with
  4913. // the rest being comments
  4914. if (( true) &&
  4915. children.filter(c => c.type !== 3 /* COMMENT */).length === 1) {
  4916. patchFlag |= 2048 /* DEV_ROOT_FRAGMENT */;
  4917. patchFlagText += `, ${_vue_shared__WEBPACK_IMPORTED_MODULE_0__.PatchFlagNames[2048]}`;
  4918. }
  4919. return createVNodeCall(context, helper(FRAGMENT), createObjectExpression([keyProperty]), children, patchFlag + (( true) ? ` /* ${patchFlagText} */` : 0), undefined, undefined, true, false, false /* isComponent */, branch.loc);
  4920. }
  4921. }
  4922. else {
  4923. const ret = firstChild.codegenNode;
  4924. const vnodeCall = getMemoedVNodeCall(ret);
  4925. // Change createVNode to createBlock.
  4926. if (vnodeCall.type === 13 /* VNODE_CALL */) {
  4927. makeBlock(vnodeCall, context);
  4928. }
  4929. // inject branch key
  4930. injectProp(vnodeCall, keyProperty, context);
  4931. return ret;
  4932. }
  4933. }
  4934. function isSameKey(a, b) {
  4935. if (!a || a.type !== b.type) {
  4936. return false;
  4937. }
  4938. if (a.type === 6 /* ATTRIBUTE */) {
  4939. if (a.value.content !== b.value.content) {
  4940. return false;
  4941. }
  4942. }
  4943. else {
  4944. // directive
  4945. const exp = a.exp;
  4946. const branchExp = b.exp;
  4947. if (exp.type !== branchExp.type) {
  4948. return false;
  4949. }
  4950. if (exp.type !== 4 /* SIMPLE_EXPRESSION */ ||
  4951. exp.isStatic !== branchExp.isStatic ||
  4952. exp.content !== branchExp.content) {
  4953. return false;
  4954. }
  4955. }
  4956. return true;
  4957. }
  4958. function getParentCondition(node) {
  4959. while (true) {
  4960. if (node.type === 19 /* JS_CONDITIONAL_EXPRESSION */) {
  4961. if (node.alternate.type === 19 /* JS_CONDITIONAL_EXPRESSION */) {
  4962. node = node.alternate;
  4963. }
  4964. else {
  4965. return node;
  4966. }
  4967. }
  4968. else if (node.type === 20 /* JS_CACHE_EXPRESSION */) {
  4969. node = node.value;
  4970. }
  4971. }
  4972. }
  4973. const transformFor = createStructuralDirectiveTransform('for', (node, dir, context) => {
  4974. const { helper, removeHelper } = context;
  4975. return processFor(node, dir, context, forNode => {
  4976. // create the loop render function expression now, and add the
  4977. // iterator on exit after all children have been traversed
  4978. const renderExp = createCallExpression(helper(RENDER_LIST), [
  4979. forNode.source
  4980. ]);
  4981. const isTemplate = isTemplateNode(node);
  4982. const memo = findDir(node, 'memo');
  4983. const keyProp = findProp(node, `key`);
  4984. const keyExp = keyProp &&
  4985. (keyProp.type === 6 /* ATTRIBUTE */
  4986. ? createSimpleExpression(keyProp.value.content, true)
  4987. : keyProp.exp);
  4988. const keyProperty = keyProp ? createObjectProperty(`key`, keyExp) : null;
  4989. const isStableFragment = forNode.source.type === 4 /* SIMPLE_EXPRESSION */ &&
  4990. forNode.source.constType > 0 /* NOT_CONSTANT */;
  4991. const fragmentFlag = isStableFragment
  4992. ? 64 /* STABLE_FRAGMENT */
  4993. : keyProp
  4994. ? 128 /* KEYED_FRAGMENT */
  4995. : 256 /* UNKEYED_FRAGMENT */;
  4996. forNode.codegenNode = createVNodeCall(context, helper(FRAGMENT), undefined, renderExp, fragmentFlag +
  4997. (( true) ? ` /* ${_vue_shared__WEBPACK_IMPORTED_MODULE_0__.PatchFlagNames[fragmentFlag]} */` : 0), undefined, undefined, true /* isBlock */, !isStableFragment /* disableTracking */, false /* isComponent */, node.loc);
  4998. return () => {
  4999. // finish the codegen now that all children have been traversed
  5000. let childBlock;
  5001. const { children } = forNode;
  5002. // check <template v-for> key placement
  5003. if (( true) && isTemplate) {
  5004. node.children.some(c => {
  5005. if (c.type === 1 /* ELEMENT */) {
  5006. const key = findProp(c, 'key');
  5007. if (key) {
  5008. context.onError(createCompilerError(33 /* X_V_FOR_TEMPLATE_KEY_PLACEMENT */, key.loc));
  5009. return true;
  5010. }
  5011. }
  5012. });
  5013. }
  5014. const needFragmentWrapper = children.length !== 1 || children[0].type !== 1 /* ELEMENT */;
  5015. const slotOutlet = isSlotOutlet(node)
  5016. ? node
  5017. : isTemplate &&
  5018. node.children.length === 1 &&
  5019. isSlotOutlet(node.children[0])
  5020. ? node.children[0] // api-extractor somehow fails to infer this
  5021. : null;
  5022. if (slotOutlet) {
  5023. // <slot v-for="..."> or <template v-for="..."><slot/></template>
  5024. childBlock = slotOutlet.codegenNode;
  5025. if (isTemplate && keyProperty) {
  5026. // <template v-for="..." :key="..."><slot/></template>
  5027. // we need to inject the key to the renderSlot() call.
  5028. // the props for renderSlot is passed as the 3rd argument.
  5029. injectProp(childBlock, keyProperty, context);
  5030. }
  5031. }
  5032. else if (needFragmentWrapper) {
  5033. // <template v-for="..."> with text or multi-elements
  5034. // should generate a fragment block for each loop
  5035. childBlock = createVNodeCall(context, helper(FRAGMENT), keyProperty ? createObjectExpression([keyProperty]) : undefined, node.children, 64 /* STABLE_FRAGMENT */ +
  5036. (( true)
  5037. ? ` /* ${_vue_shared__WEBPACK_IMPORTED_MODULE_0__.PatchFlagNames[64]} */`
  5038. : 0), undefined, undefined, true, undefined, false /* isComponent */);
  5039. }
  5040. else {
  5041. // Normal element v-for. Directly use the child's codegenNode
  5042. // but mark it as a block.
  5043. childBlock = children[0]
  5044. .codegenNode;
  5045. if (isTemplate && keyProperty) {
  5046. injectProp(childBlock, keyProperty, context);
  5047. }
  5048. if (childBlock.isBlock !== !isStableFragment) {
  5049. if (childBlock.isBlock) {
  5050. // switch from block to vnode
  5051. removeHelper(OPEN_BLOCK);
  5052. removeHelper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));
  5053. }
  5054. else {
  5055. // switch from vnode to block
  5056. removeHelper(getVNodeHelper(context.inSSR, childBlock.isComponent));
  5057. }
  5058. }
  5059. childBlock.isBlock = !isStableFragment;
  5060. if (childBlock.isBlock) {
  5061. helper(OPEN_BLOCK);
  5062. helper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));
  5063. }
  5064. else {
  5065. helper(getVNodeHelper(context.inSSR, childBlock.isComponent));
  5066. }
  5067. }
  5068. if (memo) {
  5069. const loop = createFunctionExpression(createForLoopParams(forNode.parseResult, [
  5070. createSimpleExpression(`_cached`)
  5071. ]));
  5072. loop.body = createBlockStatement([
  5073. createCompoundExpression([`const _memo = (`, memo.exp, `)`]),
  5074. createCompoundExpression([
  5075. `if (_cached`,
  5076. ...(keyExp ? [` && _cached.key === `, keyExp] : []),
  5077. ` && ${context.helperString(IS_MEMO_SAME)}(_cached, _memo)) return _cached`
  5078. ]),
  5079. createCompoundExpression([`const _item = `, childBlock]),
  5080. createSimpleExpression(`_item.memo = _memo`),
  5081. createSimpleExpression(`return _item`)
  5082. ]);
  5083. renderExp.arguments.push(loop, createSimpleExpression(`_cache`), createSimpleExpression(String(context.cached++)));
  5084. }
  5085. else {
  5086. renderExp.arguments.push(createFunctionExpression(createForLoopParams(forNode.parseResult), childBlock, true /* force newline */));
  5087. }
  5088. };
  5089. });
  5090. });
  5091. // target-agnostic transform used for both Client and SSR
  5092. function processFor(node, dir, context, processCodegen) {
  5093. if (!dir.exp) {
  5094. context.onError(createCompilerError(31 /* X_V_FOR_NO_EXPRESSION */, dir.loc));
  5095. return;
  5096. }
  5097. const parseResult = parseForExpression(
  5098. // can only be simple expression because vFor transform is applied
  5099. // before expression transform.
  5100. dir.exp, context);
  5101. if (!parseResult) {
  5102. context.onError(createCompilerError(32 /* X_V_FOR_MALFORMED_EXPRESSION */, dir.loc));
  5103. return;
  5104. }
  5105. const { addIdentifiers, removeIdentifiers, scopes } = context;
  5106. const { source, value, key, index } = parseResult;
  5107. const forNode = {
  5108. type: 11 /* FOR */,
  5109. loc: dir.loc,
  5110. source,
  5111. valueAlias: value,
  5112. keyAlias: key,
  5113. objectIndexAlias: index,
  5114. parseResult,
  5115. children: isTemplateNode(node) ? node.children : [node]
  5116. };
  5117. context.replaceNode(forNode);
  5118. // bookkeeping
  5119. scopes.vFor++;
  5120. const onExit = processCodegen && processCodegen(forNode);
  5121. return () => {
  5122. scopes.vFor--;
  5123. if (onExit)
  5124. onExit();
  5125. };
  5126. }
  5127. const forAliasRE = /([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/;
  5128. // This regex doesn't cover the case if key or index aliases have destructuring,
  5129. // but those do not make sense in the first place, so this works in practice.
  5130. const forIteratorRE = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/;
  5131. const stripParensRE = /^\(|\)$/g;
  5132. function parseForExpression(input, context) {
  5133. const loc = input.loc;
  5134. const exp = input.content;
  5135. const inMatch = exp.match(forAliasRE);
  5136. if (!inMatch)
  5137. return;
  5138. const [, LHS, RHS] = inMatch;
  5139. const result = {
  5140. source: createAliasExpression(loc, RHS.trim(), exp.indexOf(RHS, LHS.length)),
  5141. value: undefined,
  5142. key: undefined,
  5143. index: undefined
  5144. };
  5145. if (true) {
  5146. validateBrowserExpression(result.source, context);
  5147. }
  5148. let valueContent = LHS.trim().replace(stripParensRE, '').trim();
  5149. const trimmedOffset = LHS.indexOf(valueContent);
  5150. const iteratorMatch = valueContent.match(forIteratorRE);
  5151. if (iteratorMatch) {
  5152. valueContent = valueContent.replace(forIteratorRE, '').trim();
  5153. const keyContent = iteratorMatch[1].trim();
  5154. let keyOffset;
  5155. if (keyContent) {
  5156. keyOffset = exp.indexOf(keyContent, trimmedOffset + valueContent.length);
  5157. result.key = createAliasExpression(loc, keyContent, keyOffset);
  5158. if (true) {
  5159. validateBrowserExpression(result.key, context, true);
  5160. }
  5161. }
  5162. if (iteratorMatch[2]) {
  5163. const indexContent = iteratorMatch[2].trim();
  5164. if (indexContent) {
  5165. result.index = createAliasExpression(loc, indexContent, exp.indexOf(indexContent, result.key
  5166. ? keyOffset + keyContent.length
  5167. : trimmedOffset + valueContent.length));
  5168. if (true) {
  5169. validateBrowserExpression(result.index, context, true);
  5170. }
  5171. }
  5172. }
  5173. }
  5174. if (valueContent) {
  5175. result.value = createAliasExpression(loc, valueContent, trimmedOffset);
  5176. if (true) {
  5177. validateBrowserExpression(result.value, context, true);
  5178. }
  5179. }
  5180. return result;
  5181. }
  5182. function createAliasExpression(range, content, offset) {
  5183. return createSimpleExpression(content, false, getInnerRange(range, offset, content.length));
  5184. }
  5185. function createForLoopParams({ value, key, index }, memoArgs = []) {
  5186. return createParamsList([value, key, index, ...memoArgs]);
  5187. }
  5188. function createParamsList(args) {
  5189. let i = args.length;
  5190. while (i--) {
  5191. if (args[i])
  5192. break;
  5193. }
  5194. return args
  5195. .slice(0, i + 1)
  5196. .map((arg, i) => arg || createSimpleExpression(`_`.repeat(i + 1), false));
  5197. }
  5198. const defaultFallback = createSimpleExpression(`undefined`, false);
  5199. // A NodeTransform that:
  5200. // 1. Tracks scope identifiers for scoped slots so that they don't get prefixed
  5201. // by transformExpression. This is only applied in non-browser builds with
  5202. // { prefixIdentifiers: true }.
  5203. // 2. Track v-slot depths so that we know a slot is inside another slot.
  5204. // Note the exit callback is executed before buildSlots() on the same node,
  5205. // so only nested slots see positive numbers.
  5206. const trackSlotScopes = (node, context) => {
  5207. if (node.type === 1 /* ELEMENT */ &&
  5208. (node.tagType === 1 /* COMPONENT */ ||
  5209. node.tagType === 3 /* TEMPLATE */)) {
  5210. // We are only checking non-empty v-slot here
  5211. // since we only care about slots that introduce scope variables.
  5212. const vSlot = findDir(node, 'slot');
  5213. if (vSlot) {
  5214. vSlot.exp;
  5215. context.scopes.vSlot++;
  5216. return () => {
  5217. context.scopes.vSlot--;
  5218. };
  5219. }
  5220. }
  5221. };
  5222. // A NodeTransform that tracks scope identifiers for scoped slots with v-for.
  5223. // This transform is only applied in non-browser builds with { prefixIdentifiers: true }
  5224. const trackVForSlotScopes = (node, context) => {
  5225. let vFor;
  5226. if (isTemplateNode(node) &&
  5227. node.props.some(isVSlot) &&
  5228. (vFor = findDir(node, 'for'))) {
  5229. const result = (vFor.parseResult = parseForExpression(vFor.exp, context));
  5230. if (result) {
  5231. const { value, key, index } = result;
  5232. const { addIdentifiers, removeIdentifiers } = context;
  5233. value && addIdentifiers(value);
  5234. key && addIdentifiers(key);
  5235. index && addIdentifiers(index);
  5236. return () => {
  5237. value && removeIdentifiers(value);
  5238. key && removeIdentifiers(key);
  5239. index && removeIdentifiers(index);
  5240. };
  5241. }
  5242. }
  5243. };
  5244. const buildClientSlotFn = (props, children, loc) => createFunctionExpression(props, children, false /* newline */, true /* isSlot */, children.length ? children[0].loc : loc);
  5245. // Instead of being a DirectiveTransform, v-slot processing is called during
  5246. // transformElement to build the slots object for a component.
  5247. function buildSlots(node, context, buildSlotFn = buildClientSlotFn) {
  5248. context.helper(WITH_CTX);
  5249. const { children, loc } = node;
  5250. const slotsProperties = [];
  5251. const dynamicSlots = [];
  5252. // If the slot is inside a v-for or another v-slot, force it to be dynamic
  5253. // since it likely uses a scope variable.
  5254. let hasDynamicSlots = context.scopes.vSlot > 0 || context.scopes.vFor > 0;
  5255. // 1. Check for slot with slotProps on component itself.
  5256. // <Comp v-slot="{ prop }"/>
  5257. const onComponentSlot = findDir(node, 'slot', true);
  5258. if (onComponentSlot) {
  5259. const { arg, exp } = onComponentSlot;
  5260. if (arg && !isStaticExp(arg)) {
  5261. hasDynamicSlots = true;
  5262. }
  5263. slotsProperties.push(createObjectProperty(arg || createSimpleExpression('default', true), buildSlotFn(exp, children, loc)));
  5264. }
  5265. // 2. Iterate through children and check for template slots
  5266. // <template v-slot:foo="{ prop }">
  5267. let hasTemplateSlots = false;
  5268. let hasNamedDefaultSlot = false;
  5269. const implicitDefaultChildren = [];
  5270. const seenSlotNames = new Set();
  5271. for (let i = 0; i < children.length; i++) {
  5272. const slotElement = children[i];
  5273. let slotDir;
  5274. if (!isTemplateNode(slotElement) ||
  5275. !(slotDir = findDir(slotElement, 'slot', true))) {
  5276. // not a <template v-slot>, skip.
  5277. if (slotElement.type !== 3 /* COMMENT */) {
  5278. implicitDefaultChildren.push(slotElement);
  5279. }
  5280. continue;
  5281. }
  5282. if (onComponentSlot) {
  5283. // already has on-component slot - this is incorrect usage.
  5284. context.onError(createCompilerError(37 /* X_V_SLOT_MIXED_SLOT_USAGE */, slotDir.loc));
  5285. break;
  5286. }
  5287. hasTemplateSlots = true;
  5288. const { children: slotChildren, loc: slotLoc } = slotElement;
  5289. const { arg: slotName = createSimpleExpression(`default`, true), exp: slotProps, loc: dirLoc } = slotDir;
  5290. // check if name is dynamic.
  5291. let staticSlotName;
  5292. if (isStaticExp(slotName)) {
  5293. staticSlotName = slotName ? slotName.content : `default`;
  5294. }
  5295. else {
  5296. hasDynamicSlots = true;
  5297. }
  5298. const slotFunction = buildSlotFn(slotProps, slotChildren, slotLoc);
  5299. // check if this slot is conditional (v-if/v-for)
  5300. let vIf;
  5301. let vElse;
  5302. let vFor;
  5303. if ((vIf = findDir(slotElement, 'if'))) {
  5304. hasDynamicSlots = true;
  5305. dynamicSlots.push(createConditionalExpression(vIf.exp, buildDynamicSlot(slotName, slotFunction), defaultFallback));
  5306. }
  5307. else if ((vElse = findDir(slotElement, /^else(-if)?$/, true /* allowEmpty */))) {
  5308. // find adjacent v-if
  5309. let j = i;
  5310. let prev;
  5311. while (j--) {
  5312. prev = children[j];
  5313. if (prev.type !== 3 /* COMMENT */) {
  5314. break;
  5315. }
  5316. }
  5317. if (prev && isTemplateNode(prev) && findDir(prev, 'if')) {
  5318. // remove node
  5319. children.splice(i, 1);
  5320. i--;
  5321. // attach this slot to previous conditional
  5322. let conditional = dynamicSlots[dynamicSlots.length - 1];
  5323. while (conditional.alternate.type === 19 /* JS_CONDITIONAL_EXPRESSION */) {
  5324. conditional = conditional.alternate;
  5325. }
  5326. conditional.alternate = vElse.exp
  5327. ? createConditionalExpression(vElse.exp, buildDynamicSlot(slotName, slotFunction), defaultFallback)
  5328. : buildDynamicSlot(slotName, slotFunction);
  5329. }
  5330. else {
  5331. context.onError(createCompilerError(30 /* X_V_ELSE_NO_ADJACENT_IF */, vElse.loc));
  5332. }
  5333. }
  5334. else if ((vFor = findDir(slotElement, 'for'))) {
  5335. hasDynamicSlots = true;
  5336. const parseResult = vFor.parseResult ||
  5337. parseForExpression(vFor.exp, context);
  5338. if (parseResult) {
  5339. // Render the dynamic slots as an array and add it to the createSlot()
  5340. // args. The runtime knows how to handle it appropriately.
  5341. dynamicSlots.push(createCallExpression(context.helper(RENDER_LIST), [
  5342. parseResult.source,
  5343. createFunctionExpression(createForLoopParams(parseResult), buildDynamicSlot(slotName, slotFunction), true /* force newline */)
  5344. ]));
  5345. }
  5346. else {
  5347. context.onError(createCompilerError(32 /* X_V_FOR_MALFORMED_EXPRESSION */, vFor.loc));
  5348. }
  5349. }
  5350. else {
  5351. // check duplicate static names
  5352. if (staticSlotName) {
  5353. if (seenSlotNames.has(staticSlotName)) {
  5354. context.onError(createCompilerError(38 /* X_V_SLOT_DUPLICATE_SLOT_NAMES */, dirLoc));
  5355. continue;
  5356. }
  5357. seenSlotNames.add(staticSlotName);
  5358. if (staticSlotName === 'default') {
  5359. hasNamedDefaultSlot = true;
  5360. }
  5361. }
  5362. slotsProperties.push(createObjectProperty(slotName, slotFunction));
  5363. }
  5364. }
  5365. if (!onComponentSlot) {
  5366. const buildDefaultSlotProperty = (props, children) => {
  5367. const fn = buildSlotFn(props, children, loc);
  5368. if (context.compatConfig) {
  5369. fn.isNonScopedSlot = true;
  5370. }
  5371. return createObjectProperty(`default`, fn);
  5372. };
  5373. if (!hasTemplateSlots) {
  5374. // implicit default slot (on component)
  5375. slotsProperties.push(buildDefaultSlotProperty(undefined, children));
  5376. }
  5377. else if (implicitDefaultChildren.length &&
  5378. // #3766
  5379. // with whitespace: 'preserve', whitespaces between slots will end up in
  5380. // implicitDefaultChildren. Ignore if all implicit children are whitespaces.
  5381. implicitDefaultChildren.some(node => isNonWhitespaceContent(node))) {
  5382. // implicit default slot (mixed with named slots)
  5383. if (hasNamedDefaultSlot) {
  5384. context.onError(createCompilerError(39 /* X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN */, implicitDefaultChildren[0].loc));
  5385. }
  5386. else {
  5387. slotsProperties.push(buildDefaultSlotProperty(undefined, implicitDefaultChildren));
  5388. }
  5389. }
  5390. }
  5391. const slotFlag = hasDynamicSlots
  5392. ? 2 /* DYNAMIC */
  5393. : hasForwardedSlots(node.children)
  5394. ? 3 /* FORWARDED */
  5395. : 1 /* STABLE */;
  5396. let slots = createObjectExpression(slotsProperties.concat(createObjectProperty(`_`,
  5397. // 2 = compiled but dynamic = can skip normalization, but must run diff
  5398. // 1 = compiled and static = can skip normalization AND diff as optimized
  5399. createSimpleExpression(slotFlag + (( true) ? ` /* ${_vue_shared__WEBPACK_IMPORTED_MODULE_0__.slotFlagsText[slotFlag]} */` : 0), false))), loc);
  5400. if (dynamicSlots.length) {
  5401. slots = createCallExpression(context.helper(CREATE_SLOTS), [
  5402. slots,
  5403. createArrayExpression(dynamicSlots)
  5404. ]);
  5405. }
  5406. return {
  5407. slots,
  5408. hasDynamicSlots
  5409. };
  5410. }
  5411. function buildDynamicSlot(name, fn) {
  5412. return createObjectExpression([
  5413. createObjectProperty(`name`, name),
  5414. createObjectProperty(`fn`, fn)
  5415. ]);
  5416. }
  5417. function hasForwardedSlots(children) {
  5418. for (let i = 0; i < children.length; i++) {
  5419. const child = children[i];
  5420. switch (child.type) {
  5421. case 1 /* ELEMENT */:
  5422. if (child.tagType === 2 /* SLOT */ ||
  5423. hasForwardedSlots(child.children)) {
  5424. return true;
  5425. }
  5426. break;
  5427. case 9 /* IF */:
  5428. if (hasForwardedSlots(child.branches))
  5429. return true;
  5430. break;
  5431. case 10 /* IF_BRANCH */:
  5432. case 11 /* FOR */:
  5433. if (hasForwardedSlots(child.children))
  5434. return true;
  5435. break;
  5436. }
  5437. }
  5438. return false;
  5439. }
  5440. function isNonWhitespaceContent(node) {
  5441. if (node.type !== 2 /* TEXT */ && node.type !== 12 /* TEXT_CALL */)
  5442. return true;
  5443. return node.type === 2 /* TEXT */
  5444. ? !!node.content.trim()
  5445. : isNonWhitespaceContent(node.content);
  5446. }
  5447. // some directive transforms (e.g. v-model) may return a symbol for runtime
  5448. // import, which should be used instead of a resolveDirective call.
  5449. const directiveImportMap = new WeakMap();
  5450. // generate a JavaScript AST for this element's codegen
  5451. const transformElement = (node, context) => {
  5452. // perform the work on exit, after all child expressions have been
  5453. // processed and merged.
  5454. return function postTransformElement() {
  5455. node = context.currentNode;
  5456. if (!(node.type === 1 /* ELEMENT */ &&
  5457. (node.tagType === 0 /* ELEMENT */ ||
  5458. node.tagType === 1 /* COMPONENT */))) {
  5459. return;
  5460. }
  5461. const { tag, props } = node;
  5462. const isComponent = node.tagType === 1 /* COMPONENT */;
  5463. // The goal of the transform is to create a codegenNode implementing the
  5464. // VNodeCall interface.
  5465. let vnodeTag = isComponent
  5466. ? resolveComponentType(node, context)
  5467. : `"${tag}"`;
  5468. const isDynamicComponent = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isObject)(vnodeTag) && vnodeTag.callee === RESOLVE_DYNAMIC_COMPONENT;
  5469. let vnodeProps;
  5470. let vnodeChildren;
  5471. let vnodePatchFlag;
  5472. let patchFlag = 0;
  5473. let vnodeDynamicProps;
  5474. let dynamicPropNames;
  5475. let vnodeDirectives;
  5476. let shouldUseBlock =
  5477. // dynamic component may resolve to plain elements
  5478. isDynamicComponent ||
  5479. vnodeTag === TELEPORT ||
  5480. vnodeTag === SUSPENSE ||
  5481. (!isComponent &&
  5482. // <svg> and <foreignObject> must be forced into blocks so that block
  5483. // updates inside get proper isSVG flag at runtime. (#639, #643)
  5484. // This is technically web-specific, but splitting the logic out of core
  5485. // leads to too much unnecessary complexity.
  5486. (tag === 'svg' || tag === 'foreignObject'));
  5487. // props
  5488. if (props.length > 0) {
  5489. const propsBuildResult = buildProps(node, context);
  5490. vnodeProps = propsBuildResult.props;
  5491. patchFlag = propsBuildResult.patchFlag;
  5492. dynamicPropNames = propsBuildResult.dynamicPropNames;
  5493. const directives = propsBuildResult.directives;
  5494. vnodeDirectives =
  5495. directives && directives.length
  5496. ? createArrayExpression(directives.map(dir => buildDirectiveArgs(dir, context)))
  5497. : undefined;
  5498. if (propsBuildResult.shouldUseBlock) {
  5499. shouldUseBlock = true;
  5500. }
  5501. }
  5502. // children
  5503. if (node.children.length > 0) {
  5504. if (vnodeTag === KEEP_ALIVE) {
  5505. // Although a built-in component, we compile KeepAlive with raw children
  5506. // instead of slot functions so that it can be used inside Transition
  5507. // or other Transition-wrapping HOCs.
  5508. // To ensure correct updates with block optimizations, we need to:
  5509. // 1. Force keep-alive into a block. This avoids its children being
  5510. // collected by a parent block.
  5511. shouldUseBlock = true;
  5512. // 2. Force keep-alive to always be updated, since it uses raw children.
  5513. patchFlag |= 1024 /* DYNAMIC_SLOTS */;
  5514. if (( true) && node.children.length > 1) {
  5515. context.onError(createCompilerError(45 /* X_KEEP_ALIVE_INVALID_CHILDREN */, {
  5516. start: node.children[0].loc.start,
  5517. end: node.children[node.children.length - 1].loc.end,
  5518. source: ''
  5519. }));
  5520. }
  5521. }
  5522. const shouldBuildAsSlots = isComponent &&
  5523. // Teleport is not a real component and has dedicated runtime handling
  5524. vnodeTag !== TELEPORT &&
  5525. // explained above.
  5526. vnodeTag !== KEEP_ALIVE;
  5527. if (shouldBuildAsSlots) {
  5528. const { slots, hasDynamicSlots } = buildSlots(node, context);
  5529. vnodeChildren = slots;
  5530. if (hasDynamicSlots) {
  5531. patchFlag |= 1024 /* DYNAMIC_SLOTS */;
  5532. }
  5533. }
  5534. else if (node.children.length === 1 && vnodeTag !== TELEPORT) {
  5535. const child = node.children[0];
  5536. const type = child.type;
  5537. // check for dynamic text children
  5538. const hasDynamicTextChild = type === 5 /* INTERPOLATION */ ||
  5539. type === 8 /* COMPOUND_EXPRESSION */;
  5540. if (hasDynamicTextChild &&
  5541. getConstantType(child, context) === 0 /* NOT_CONSTANT */) {
  5542. patchFlag |= 1 /* TEXT */;
  5543. }
  5544. // pass directly if the only child is a text node
  5545. // (plain / interpolation / expression)
  5546. if (hasDynamicTextChild || type === 2 /* TEXT */) {
  5547. vnodeChildren = child;
  5548. }
  5549. else {
  5550. vnodeChildren = node.children;
  5551. }
  5552. }
  5553. else {
  5554. vnodeChildren = node.children;
  5555. }
  5556. }
  5557. // patchFlag & dynamicPropNames
  5558. if (patchFlag !== 0) {
  5559. if ((true)) {
  5560. if (patchFlag < 0) {
  5561. // special flags (negative and mutually exclusive)
  5562. vnodePatchFlag = patchFlag + ` /* ${_vue_shared__WEBPACK_IMPORTED_MODULE_0__.PatchFlagNames[patchFlag]} */`;
  5563. }
  5564. else {
  5565. // bitwise flags
  5566. const flagNames = Object.keys(_vue_shared__WEBPACK_IMPORTED_MODULE_0__.PatchFlagNames)
  5567. .map(Number)
  5568. .filter(n => n > 0 && patchFlag & n)
  5569. .map(n => _vue_shared__WEBPACK_IMPORTED_MODULE_0__.PatchFlagNames[n])
  5570. .join(`, `);
  5571. vnodePatchFlag = patchFlag + ` /* ${flagNames} */`;
  5572. }
  5573. }
  5574. else {}
  5575. if (dynamicPropNames && dynamicPropNames.length) {
  5576. vnodeDynamicProps = stringifyDynamicPropNames(dynamicPropNames);
  5577. }
  5578. }
  5579. node.codegenNode = createVNodeCall(context, vnodeTag, vnodeProps, vnodeChildren, vnodePatchFlag, vnodeDynamicProps, vnodeDirectives, !!shouldUseBlock, false /* disableTracking */, isComponent, node.loc);
  5580. };
  5581. };
  5582. function resolveComponentType(node, context, ssr = false) {
  5583. let { tag } = node;
  5584. // 1. dynamic component
  5585. const isExplicitDynamic = isComponentTag(tag);
  5586. const isProp = findProp(node, 'is');
  5587. if (isProp) {
  5588. if (isExplicitDynamic ||
  5589. (isCompatEnabled("COMPILER_IS_ON_ELEMENT" /* COMPILER_IS_ON_ELEMENT */, context))) {
  5590. const exp = isProp.type === 6 /* ATTRIBUTE */
  5591. ? isProp.value && createSimpleExpression(isProp.value.content, true)
  5592. : isProp.exp;
  5593. if (exp) {
  5594. return createCallExpression(context.helper(RESOLVE_DYNAMIC_COMPONENT), [
  5595. exp
  5596. ]);
  5597. }
  5598. }
  5599. else if (isProp.type === 6 /* ATTRIBUTE */ &&
  5600. isProp.value.content.startsWith('vue:')) {
  5601. // <button is="vue:xxx">
  5602. // if not <component>, only is value that starts with "vue:" will be
  5603. // treated as component by the parse phase and reach here, unless it's
  5604. // compat mode where all is values are considered components
  5605. tag = isProp.value.content.slice(4);
  5606. }
  5607. }
  5608. // 1.5 v-is (TODO: Deprecate)
  5609. const isDir = !isExplicitDynamic && findDir(node, 'is');
  5610. if (isDir && isDir.exp) {
  5611. return createCallExpression(context.helper(RESOLVE_DYNAMIC_COMPONENT), [
  5612. isDir.exp
  5613. ]);
  5614. }
  5615. // 2. built-in components (Teleport, Transition, KeepAlive, Suspense...)
  5616. const builtIn = isCoreComponent(tag) || context.isBuiltInComponent(tag);
  5617. if (builtIn) {
  5618. // built-ins are simply fallthroughs / have special handling during ssr
  5619. // so we don't need to import their runtime equivalents
  5620. if (!ssr)
  5621. context.helper(builtIn);
  5622. return builtIn;
  5623. }
  5624. // 5. user component (resolve)
  5625. context.helper(RESOLVE_COMPONENT);
  5626. context.components.add(tag);
  5627. return toValidAssetId(tag, `component`);
  5628. }
  5629. function buildProps(node, context, props = node.props, ssr = false) {
  5630. const { tag, loc: elementLoc, children } = node;
  5631. const isComponent = node.tagType === 1 /* COMPONENT */;
  5632. let properties = [];
  5633. const mergeArgs = [];
  5634. const runtimeDirectives = [];
  5635. const hasChildren = children.length > 0;
  5636. let shouldUseBlock = false;
  5637. // patchFlag analysis
  5638. let patchFlag = 0;
  5639. let hasRef = false;
  5640. let hasClassBinding = false;
  5641. let hasStyleBinding = false;
  5642. let hasHydrationEventBinding = false;
  5643. let hasDynamicKeys = false;
  5644. let hasVnodeHook = false;
  5645. const dynamicPropNames = [];
  5646. const analyzePatchFlag = ({ key, value }) => {
  5647. if (isStaticExp(key)) {
  5648. const name = key.content;
  5649. const isEventHandler = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isOn)(name);
  5650. if (!isComponent &&
  5651. isEventHandler &&
  5652. // omit the flag for click handlers because hydration gives click
  5653. // dedicated fast path.
  5654. name.toLowerCase() !== 'onclick' &&
  5655. // omit v-model handlers
  5656. name !== 'onUpdate:modelValue' &&
  5657. // omit onVnodeXXX hooks
  5658. !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isReservedProp)(name)) {
  5659. hasHydrationEventBinding = true;
  5660. }
  5661. if (isEventHandler && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isReservedProp)(name)) {
  5662. hasVnodeHook = true;
  5663. }
  5664. if (value.type === 20 /* JS_CACHE_EXPRESSION */ ||
  5665. ((value.type === 4 /* SIMPLE_EXPRESSION */ ||
  5666. value.type === 8 /* COMPOUND_EXPRESSION */) &&
  5667. getConstantType(value, context) > 0)) {
  5668. // skip if the prop is a cached handler or has constant value
  5669. return;
  5670. }
  5671. if (name === 'ref') {
  5672. hasRef = true;
  5673. }
  5674. else if (name === 'class') {
  5675. hasClassBinding = true;
  5676. }
  5677. else if (name === 'style') {
  5678. hasStyleBinding = true;
  5679. }
  5680. else if (name !== 'key' && !dynamicPropNames.includes(name)) {
  5681. dynamicPropNames.push(name);
  5682. }
  5683. // treat the dynamic class and style binding of the component as dynamic props
  5684. if (isComponent &&
  5685. (name === 'class' || name === 'style') &&
  5686. !dynamicPropNames.includes(name)) {
  5687. dynamicPropNames.push(name);
  5688. }
  5689. }
  5690. else {
  5691. hasDynamicKeys = true;
  5692. }
  5693. };
  5694. for (let i = 0; i < props.length; i++) {
  5695. // static attribute
  5696. const prop = props[i];
  5697. if (prop.type === 6 /* ATTRIBUTE */) {
  5698. const { loc, name, value } = prop;
  5699. let isStatic = true;
  5700. if (name === 'ref') {
  5701. hasRef = true;
  5702. if (context.scopes.vFor > 0) {
  5703. properties.push(createObjectProperty(createSimpleExpression('ref_for', true), createSimpleExpression('true')));
  5704. }
  5705. }
  5706. // skip is on <component>, or is="vue:xxx"
  5707. if (name === 'is' &&
  5708. (isComponentTag(tag) ||
  5709. (value && value.content.startsWith('vue:')) ||
  5710. (isCompatEnabled("COMPILER_IS_ON_ELEMENT" /* COMPILER_IS_ON_ELEMENT */, context)))) {
  5711. continue;
  5712. }
  5713. properties.push(createObjectProperty(createSimpleExpression(name, true, getInnerRange(loc, 0, name.length)), createSimpleExpression(value ? value.content : '', isStatic, value ? value.loc : loc)));
  5714. }
  5715. else {
  5716. // directives
  5717. const { name, arg, exp, loc } = prop;
  5718. const isVBind = name === 'bind';
  5719. const isVOn = name === 'on';
  5720. // skip v-slot - it is handled by its dedicated transform.
  5721. if (name === 'slot') {
  5722. if (!isComponent) {
  5723. context.onError(createCompilerError(40 /* X_V_SLOT_MISPLACED */, loc));
  5724. }
  5725. continue;
  5726. }
  5727. // skip v-once/v-memo - they are handled by dedicated transforms.
  5728. if (name === 'once' || name === 'memo') {
  5729. continue;
  5730. }
  5731. // skip v-is and :is on <component>
  5732. if (name === 'is' ||
  5733. (isVBind &&
  5734. isStaticArgOf(arg, 'is') &&
  5735. (isComponentTag(tag) ||
  5736. (isCompatEnabled("COMPILER_IS_ON_ELEMENT" /* COMPILER_IS_ON_ELEMENT */, context))))) {
  5737. continue;
  5738. }
  5739. // skip v-on in SSR compilation
  5740. if (isVOn && ssr) {
  5741. continue;
  5742. }
  5743. if (
  5744. // #938: elements with dynamic keys should be forced into blocks
  5745. (isVBind && isStaticArgOf(arg, 'key')) ||
  5746. // inline before-update hooks need to force block so that it is invoked
  5747. // before children
  5748. (isVOn && hasChildren && isStaticArgOf(arg, 'vue:before-update'))) {
  5749. shouldUseBlock = true;
  5750. }
  5751. if (isVBind && isStaticArgOf(arg, 'ref') && context.scopes.vFor > 0) {
  5752. properties.push(createObjectProperty(createSimpleExpression('ref_for', true), createSimpleExpression('true')));
  5753. }
  5754. // special case for v-bind and v-on with no argument
  5755. if (!arg && (isVBind || isVOn)) {
  5756. hasDynamicKeys = true;
  5757. if (exp) {
  5758. if (properties.length) {
  5759. mergeArgs.push(createObjectExpression(dedupeProperties(properties), elementLoc));
  5760. properties = [];
  5761. }
  5762. if (isVBind) {
  5763. {
  5764. // 2.x v-bind object order compat
  5765. if ((true)) {
  5766. const hasOverridableKeys = mergeArgs.some(arg => {
  5767. if (arg.type === 15 /* JS_OBJECT_EXPRESSION */) {
  5768. return arg.properties.some(({ key }) => {
  5769. if (key.type !== 4 /* SIMPLE_EXPRESSION */ ||
  5770. !key.isStatic) {
  5771. return true;
  5772. }
  5773. return (key.content !== 'class' &&
  5774. key.content !== 'style' &&
  5775. !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isOn)(key.content));
  5776. });
  5777. }
  5778. else {
  5779. // dynamic expression
  5780. return true;
  5781. }
  5782. });
  5783. if (hasOverridableKeys) {
  5784. checkCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER" /* COMPILER_V_BIND_OBJECT_ORDER */, context, loc);
  5785. }
  5786. }
  5787. if (isCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER" /* COMPILER_V_BIND_OBJECT_ORDER */, context)) {
  5788. mergeArgs.unshift(exp);
  5789. continue;
  5790. }
  5791. }
  5792. mergeArgs.push(exp);
  5793. }
  5794. else {
  5795. // v-on="obj" -> toHandlers(obj)
  5796. mergeArgs.push({
  5797. type: 14 /* JS_CALL_EXPRESSION */,
  5798. loc,
  5799. callee: context.helper(TO_HANDLERS),
  5800. arguments: [exp]
  5801. });
  5802. }
  5803. }
  5804. else {
  5805. context.onError(createCompilerError(isVBind
  5806. ? 34 /* X_V_BIND_NO_EXPRESSION */
  5807. : 35 /* X_V_ON_NO_EXPRESSION */, loc));
  5808. }
  5809. continue;
  5810. }
  5811. const directiveTransform = context.directiveTransforms[name];
  5812. if (directiveTransform) {
  5813. // has built-in directive transform.
  5814. const { props, needRuntime } = directiveTransform(prop, node, context);
  5815. !ssr && props.forEach(analyzePatchFlag);
  5816. properties.push(...props);
  5817. if (needRuntime) {
  5818. runtimeDirectives.push(prop);
  5819. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isSymbol)(needRuntime)) {
  5820. directiveImportMap.set(prop, needRuntime);
  5821. }
  5822. }
  5823. }
  5824. else if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isBuiltInDirective)(name)) {
  5825. // no built-in transform, this is a user custom directive.
  5826. runtimeDirectives.push(prop);
  5827. // custom dirs may use beforeUpdate so they need to force blocks
  5828. // to ensure before-update gets called before children update
  5829. if (hasChildren) {
  5830. shouldUseBlock = true;
  5831. }
  5832. }
  5833. }
  5834. }
  5835. let propsExpression = undefined;
  5836. // has v-bind="object" or v-on="object", wrap with mergeProps
  5837. if (mergeArgs.length) {
  5838. if (properties.length) {
  5839. mergeArgs.push(createObjectExpression(dedupeProperties(properties), elementLoc));
  5840. }
  5841. if (mergeArgs.length > 1) {
  5842. propsExpression = createCallExpression(context.helper(MERGE_PROPS), mergeArgs, elementLoc);
  5843. }
  5844. else {
  5845. // single v-bind with nothing else - no need for a mergeProps call
  5846. propsExpression = mergeArgs[0];
  5847. }
  5848. }
  5849. else if (properties.length) {
  5850. propsExpression = createObjectExpression(dedupeProperties(properties), elementLoc);
  5851. }
  5852. // patchFlag analysis
  5853. if (hasDynamicKeys) {
  5854. patchFlag |= 16 /* FULL_PROPS */;
  5855. }
  5856. else {
  5857. if (hasClassBinding && !isComponent) {
  5858. patchFlag |= 2 /* CLASS */;
  5859. }
  5860. if (hasStyleBinding && !isComponent) {
  5861. patchFlag |= 4 /* STYLE */;
  5862. }
  5863. if (dynamicPropNames.length) {
  5864. patchFlag |= 8 /* PROPS */;
  5865. }
  5866. if (hasHydrationEventBinding) {
  5867. patchFlag |= 32 /* HYDRATE_EVENTS */;
  5868. }
  5869. }
  5870. if (!shouldUseBlock &&
  5871. (patchFlag === 0 || patchFlag === 32 /* HYDRATE_EVENTS */) &&
  5872. (hasRef || hasVnodeHook || runtimeDirectives.length > 0)) {
  5873. patchFlag |= 512 /* NEED_PATCH */;
  5874. }
  5875. // pre-normalize props, SSR is skipped for now
  5876. if (!context.inSSR && propsExpression) {
  5877. switch (propsExpression.type) {
  5878. case 15 /* JS_OBJECT_EXPRESSION */:
  5879. // means that there is no v-bind,
  5880. // but still need to deal with dynamic key binding
  5881. let classKeyIndex = -1;
  5882. let styleKeyIndex = -1;
  5883. let hasDynamicKey = false;
  5884. for (let i = 0; i < propsExpression.properties.length; i++) {
  5885. const key = propsExpression.properties[i].key;
  5886. if (isStaticExp(key)) {
  5887. if (key.content === 'class') {
  5888. classKeyIndex = i;
  5889. }
  5890. else if (key.content === 'style') {
  5891. styleKeyIndex = i;
  5892. }
  5893. }
  5894. else if (!key.isHandlerKey) {
  5895. hasDynamicKey = true;
  5896. }
  5897. }
  5898. const classProp = propsExpression.properties[classKeyIndex];
  5899. const styleProp = propsExpression.properties[styleKeyIndex];
  5900. // no dynamic key
  5901. if (!hasDynamicKey) {
  5902. if (classProp && !isStaticExp(classProp.value)) {
  5903. classProp.value = createCallExpression(context.helper(NORMALIZE_CLASS), [classProp.value]);
  5904. }
  5905. if (styleProp &&
  5906. !isStaticExp(styleProp.value) &&
  5907. // the static style is compiled into an object,
  5908. // so use `hasStyleBinding` to ensure that it is a dynamic style binding
  5909. (hasStyleBinding ||
  5910. // v-bind:style and style both exist,
  5911. // v-bind:style with static literal object
  5912. styleProp.value.type === 17 /* JS_ARRAY_EXPRESSION */)) {
  5913. styleProp.value = createCallExpression(context.helper(NORMALIZE_STYLE), [styleProp.value]);
  5914. }
  5915. }
  5916. else {
  5917. // dynamic key binding, wrap with `normalizeProps`
  5918. propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [propsExpression]);
  5919. }
  5920. break;
  5921. case 14 /* JS_CALL_EXPRESSION */:
  5922. // mergeProps call, do nothing
  5923. break;
  5924. default:
  5925. // single v-bind
  5926. propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [
  5927. createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [
  5928. propsExpression
  5929. ])
  5930. ]);
  5931. break;
  5932. }
  5933. }
  5934. return {
  5935. props: propsExpression,
  5936. directives: runtimeDirectives,
  5937. patchFlag,
  5938. dynamicPropNames,
  5939. shouldUseBlock
  5940. };
  5941. }
  5942. // Dedupe props in an object literal.
  5943. // Literal duplicated attributes would have been warned during the parse phase,
  5944. // however, it's possible to encounter duplicated `onXXX` handlers with different
  5945. // modifiers. We also need to merge static and dynamic class / style attributes.
  5946. // - onXXX handlers / style: merge into array
  5947. // - class: merge into single expression with concatenation
  5948. function dedupeProperties(properties) {
  5949. const knownProps = new Map();
  5950. const deduped = [];
  5951. for (let i = 0; i < properties.length; i++) {
  5952. const prop = properties[i];
  5953. // dynamic keys are always allowed
  5954. if (prop.key.type === 8 /* COMPOUND_EXPRESSION */ || !prop.key.isStatic) {
  5955. deduped.push(prop);
  5956. continue;
  5957. }
  5958. const name = prop.key.content;
  5959. const existing = knownProps.get(name);
  5960. if (existing) {
  5961. if (name === 'style' || name === 'class' || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isOn)(name)) {
  5962. mergeAsArray(existing, prop);
  5963. }
  5964. // unexpected duplicate, should have emitted error during parse
  5965. }
  5966. else {
  5967. knownProps.set(name, prop);
  5968. deduped.push(prop);
  5969. }
  5970. }
  5971. return deduped;
  5972. }
  5973. function mergeAsArray(existing, incoming) {
  5974. if (existing.value.type === 17 /* JS_ARRAY_EXPRESSION */) {
  5975. existing.value.elements.push(incoming.value);
  5976. }
  5977. else {
  5978. existing.value = createArrayExpression([existing.value, incoming.value], existing.loc);
  5979. }
  5980. }
  5981. function buildDirectiveArgs(dir, context) {
  5982. const dirArgs = [];
  5983. const runtime = directiveImportMap.get(dir);
  5984. if (runtime) {
  5985. // built-in directive with runtime
  5986. dirArgs.push(context.helperString(runtime));
  5987. }
  5988. else {
  5989. {
  5990. // inject statement for resolving directive
  5991. context.helper(RESOLVE_DIRECTIVE);
  5992. context.directives.add(dir.name);
  5993. dirArgs.push(toValidAssetId(dir.name, `directive`));
  5994. }
  5995. }
  5996. const { loc } = dir;
  5997. if (dir.exp)
  5998. dirArgs.push(dir.exp);
  5999. if (dir.arg) {
  6000. if (!dir.exp) {
  6001. dirArgs.push(`void 0`);
  6002. }
  6003. dirArgs.push(dir.arg);
  6004. }
  6005. if (Object.keys(dir.modifiers).length) {
  6006. if (!dir.arg) {
  6007. if (!dir.exp) {
  6008. dirArgs.push(`void 0`);
  6009. }
  6010. dirArgs.push(`void 0`);
  6011. }
  6012. const trueExpression = createSimpleExpression(`true`, false, loc);
  6013. dirArgs.push(createObjectExpression(dir.modifiers.map(modifier => createObjectProperty(modifier, trueExpression)), loc));
  6014. }
  6015. return createArrayExpression(dirArgs, dir.loc);
  6016. }
  6017. function stringifyDynamicPropNames(props) {
  6018. let propsNamesString = `[`;
  6019. for (let i = 0, l = props.length; i < l; i++) {
  6020. propsNamesString += JSON.stringify(props[i]);
  6021. if (i < l - 1)
  6022. propsNamesString += ', ';
  6023. }
  6024. return propsNamesString + `]`;
  6025. }
  6026. function isComponentTag(tag) {
  6027. return tag === 'component' || tag === 'Component';
  6028. }
  6029. ( true)
  6030. ? Object.freeze({})
  6031. : 0;
  6032. ( true) ? Object.freeze([]) : 0;
  6033. const cacheStringFunction = (fn) => {
  6034. const cache = Object.create(null);
  6035. return ((str) => {
  6036. const hit = cache[str];
  6037. return hit || (cache[str] = fn(str));
  6038. });
  6039. };
  6040. const camelizeRE = /-(\w)/g;
  6041. /**
  6042. * @private
  6043. */
  6044. const camelize = cacheStringFunction((str) => {
  6045. return str.replace(camelizeRE, (_, c) => (c ? c.toUpperCase() : ''));
  6046. });
  6047. const transformSlotOutlet = (node, context) => {
  6048. if (isSlotOutlet(node)) {
  6049. const { children, loc } = node;
  6050. const { slotName, slotProps } = processSlotOutlet(node, context);
  6051. const slotArgs = [
  6052. context.prefixIdentifiers ? `_ctx.$slots` : `$slots`,
  6053. slotName,
  6054. '{}',
  6055. 'undefined',
  6056. 'true'
  6057. ];
  6058. let expectedLen = 2;
  6059. if (slotProps) {
  6060. slotArgs[2] = slotProps;
  6061. expectedLen = 3;
  6062. }
  6063. if (children.length) {
  6064. slotArgs[3] = createFunctionExpression([], children, false, false, loc);
  6065. expectedLen = 4;
  6066. }
  6067. if (context.scopeId && !context.slotted) {
  6068. expectedLen = 5;
  6069. }
  6070. slotArgs.splice(expectedLen); // remove unused arguments
  6071. node.codegenNode = createCallExpression(context.helper(RENDER_SLOT), slotArgs, loc);
  6072. }
  6073. };
  6074. function processSlotOutlet(node, context) {
  6075. let slotName = `"default"`;
  6076. let slotProps = undefined;
  6077. const nonNameProps = [];
  6078. for (let i = 0; i < node.props.length; i++) {
  6079. const p = node.props[i];
  6080. if (p.type === 6 /* ATTRIBUTE */) {
  6081. if (p.value) {
  6082. if (p.name === 'name') {
  6083. slotName = JSON.stringify(p.value.content);
  6084. }
  6085. else {
  6086. p.name = camelize(p.name);
  6087. nonNameProps.push(p);
  6088. }
  6089. }
  6090. }
  6091. else {
  6092. if (p.name === 'bind' && isStaticArgOf(p.arg, 'name')) {
  6093. if (p.exp)
  6094. slotName = p.exp;
  6095. }
  6096. else {
  6097. if (p.name === 'bind' && p.arg && isStaticExp(p.arg)) {
  6098. p.arg.content = camelize(p.arg.content);
  6099. }
  6100. nonNameProps.push(p);
  6101. }
  6102. }
  6103. }
  6104. if (nonNameProps.length > 0) {
  6105. const { props, directives } = buildProps(node, context, nonNameProps);
  6106. slotProps = props;
  6107. if (directives.length) {
  6108. context.onError(createCompilerError(36 /* X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET */, directives[0].loc));
  6109. }
  6110. }
  6111. return {
  6112. slotName,
  6113. slotProps
  6114. };
  6115. }
  6116. const fnExpRE = /^\s*([\w$_]+|(async\s*)?\([^)]*?\))\s*=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;
  6117. const transformOn = (dir, node, context, augmentor) => {
  6118. const { loc, modifiers, arg } = dir;
  6119. if (!dir.exp && !modifiers.length) {
  6120. context.onError(createCompilerError(35 /* X_V_ON_NO_EXPRESSION */, loc));
  6121. }
  6122. let eventName;
  6123. if (arg.type === 4 /* SIMPLE_EXPRESSION */) {
  6124. if (arg.isStatic) {
  6125. let rawName = arg.content;
  6126. // TODO deprecate @vnodeXXX usage
  6127. if (rawName.startsWith('vue:')) {
  6128. rawName = `vnode-${rawName.slice(4)}`;
  6129. }
  6130. // for all event listeners, auto convert it to camelCase. See issue #2249
  6131. eventName = createSimpleExpression((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.toHandlerKey)((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.camelize)(rawName)), true, arg.loc);
  6132. }
  6133. else {
  6134. // #2388
  6135. eventName = createCompoundExpression([
  6136. `${context.helperString(TO_HANDLER_KEY)}(`,
  6137. arg,
  6138. `)`
  6139. ]);
  6140. }
  6141. }
  6142. else {
  6143. // already a compound expression.
  6144. eventName = arg;
  6145. eventName.children.unshift(`${context.helperString(TO_HANDLER_KEY)}(`);
  6146. eventName.children.push(`)`);
  6147. }
  6148. // handler processing
  6149. let exp = dir.exp;
  6150. if (exp && !exp.content.trim()) {
  6151. exp = undefined;
  6152. }
  6153. let shouldCache = context.cacheHandlers && !exp && !context.inVOnce;
  6154. if (exp) {
  6155. const isMemberExp = isMemberExpression(exp.content);
  6156. const isInlineStatement = !(isMemberExp || fnExpRE.test(exp.content));
  6157. const hasMultipleStatements = exp.content.includes(`;`);
  6158. if (true) {
  6159. validateBrowserExpression(exp, context, false, hasMultipleStatements);
  6160. }
  6161. if (isInlineStatement || (shouldCache && isMemberExp)) {
  6162. // wrap inline statement in a function expression
  6163. exp = createCompoundExpression([
  6164. `${isInlineStatement
  6165. ? `$event`
  6166. : `${``}(...args)`} => ${hasMultipleStatements ? `{` : `(`}`,
  6167. exp,
  6168. hasMultipleStatements ? `}` : `)`
  6169. ]);
  6170. }
  6171. }
  6172. let ret = {
  6173. props: [
  6174. createObjectProperty(eventName, exp || createSimpleExpression(`() => {}`, false, loc))
  6175. ]
  6176. };
  6177. // apply extended compiler augmentor
  6178. if (augmentor) {
  6179. ret = augmentor(ret);
  6180. }
  6181. if (shouldCache) {
  6182. // cache handlers so that it's always the same handler being passed down.
  6183. // this avoids unnecessary re-renders when users use inline handlers on
  6184. // components.
  6185. ret.props[0].value = context.cache(ret.props[0].value);
  6186. }
  6187. // mark the key as handler for props normalization check
  6188. ret.props.forEach(p => (p.key.isHandlerKey = true));
  6189. return ret;
  6190. };
  6191. // v-bind without arg is handled directly in ./transformElements.ts due to it affecting
  6192. // codegen for the entire props object. This transform here is only for v-bind
  6193. // *with* args.
  6194. const transformBind = (dir, _node, context) => {
  6195. const { exp, modifiers, loc } = dir;
  6196. const arg = dir.arg;
  6197. if (arg.type !== 4 /* SIMPLE_EXPRESSION */) {
  6198. arg.children.unshift(`(`);
  6199. arg.children.push(`) || ""`);
  6200. }
  6201. else if (!arg.isStatic) {
  6202. arg.content = `${arg.content} || ""`;
  6203. }
  6204. // .sync is replaced by v-model:arg
  6205. if (modifiers.includes('camel')) {
  6206. if (arg.type === 4 /* SIMPLE_EXPRESSION */) {
  6207. if (arg.isStatic) {
  6208. arg.content = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.camelize)(arg.content);
  6209. }
  6210. else {
  6211. arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;
  6212. }
  6213. }
  6214. else {
  6215. arg.children.unshift(`${context.helperString(CAMELIZE)}(`);
  6216. arg.children.push(`)`);
  6217. }
  6218. }
  6219. if (!context.inSSR) {
  6220. if (modifiers.includes('prop')) {
  6221. injectPrefix(arg, '.');
  6222. }
  6223. if (modifiers.includes('attr')) {
  6224. injectPrefix(arg, '^');
  6225. }
  6226. }
  6227. if (!exp ||
  6228. (exp.type === 4 /* SIMPLE_EXPRESSION */ && !exp.content.trim())) {
  6229. context.onError(createCompilerError(34 /* X_V_BIND_NO_EXPRESSION */, loc));
  6230. return {
  6231. props: [createObjectProperty(arg, createSimpleExpression('', true, loc))]
  6232. };
  6233. }
  6234. return {
  6235. props: [createObjectProperty(arg, exp)]
  6236. };
  6237. };
  6238. const injectPrefix = (arg, prefix) => {
  6239. if (arg.type === 4 /* SIMPLE_EXPRESSION */) {
  6240. if (arg.isStatic) {
  6241. arg.content = prefix + arg.content;
  6242. }
  6243. else {
  6244. arg.content = `\`${prefix}\${${arg.content}}\``;
  6245. }
  6246. }
  6247. else {
  6248. arg.children.unshift(`'${prefix}' + (`);
  6249. arg.children.push(`)`);
  6250. }
  6251. };
  6252. // Merge adjacent text nodes and expressions into a single expression
  6253. // e.g. <div>abc {{ d }} {{ e }}</div> should have a single expression node as child.
  6254. const transformText = (node, context) => {
  6255. if (node.type === 0 /* ROOT */ ||
  6256. node.type === 1 /* ELEMENT */ ||
  6257. node.type === 11 /* FOR */ ||
  6258. node.type === 10 /* IF_BRANCH */) {
  6259. // perform the transform on node exit so that all expressions have already
  6260. // been processed.
  6261. return () => {
  6262. const children = node.children;
  6263. let currentContainer = undefined;
  6264. let hasText = false;
  6265. for (let i = 0; i < children.length; i++) {
  6266. const child = children[i];
  6267. if (isText(child)) {
  6268. hasText = true;
  6269. for (let j = i + 1; j < children.length; j++) {
  6270. const next = children[j];
  6271. if (isText(next)) {
  6272. if (!currentContainer) {
  6273. currentContainer = children[i] = {
  6274. type: 8 /* COMPOUND_EXPRESSION */,
  6275. loc: child.loc,
  6276. children: [child]
  6277. };
  6278. }
  6279. // merge adjacent text node into current
  6280. currentContainer.children.push(` + `, next);
  6281. children.splice(j, 1);
  6282. j--;
  6283. }
  6284. else {
  6285. currentContainer = undefined;
  6286. break;
  6287. }
  6288. }
  6289. }
  6290. }
  6291. if (!hasText ||
  6292. // if this is a plain element with a single text child, leave it
  6293. // as-is since the runtime has dedicated fast path for this by directly
  6294. // setting textContent of the element.
  6295. // for component root it's always normalized anyway.
  6296. (children.length === 1 &&
  6297. (node.type === 0 /* ROOT */ ||
  6298. (node.type === 1 /* ELEMENT */ &&
  6299. node.tagType === 0 /* ELEMENT */ &&
  6300. // #3756
  6301. // custom directives can potentially add DOM elements arbitrarily,
  6302. // we need to avoid setting textContent of the element at runtime
  6303. // to avoid accidentally overwriting the DOM elements added
  6304. // by the user through custom directives.
  6305. !node.props.find(p => p.type === 7 /* DIRECTIVE */ &&
  6306. !context.directiveTransforms[p.name]) &&
  6307. // in compat mode, <template> tags with no special directives
  6308. // will be rendered as a fragment so its children must be
  6309. // converted into vnodes.
  6310. !(node.tag === 'template'))))) {
  6311. return;
  6312. }
  6313. // pre-convert text nodes into createTextVNode(text) calls to avoid
  6314. // runtime normalization.
  6315. for (let i = 0; i < children.length; i++) {
  6316. const child = children[i];
  6317. if (isText(child) || child.type === 8 /* COMPOUND_EXPRESSION */) {
  6318. const callArgs = [];
  6319. // createTextVNode defaults to single whitespace, so if it is a
  6320. // single space the code could be an empty call to save bytes.
  6321. if (child.type !== 2 /* TEXT */ || child.content !== ' ') {
  6322. callArgs.push(child);
  6323. }
  6324. // mark dynamic text with flag so it gets patched inside a block
  6325. if (!context.ssr &&
  6326. getConstantType(child, context) === 0 /* NOT_CONSTANT */) {
  6327. callArgs.push(1 /* TEXT */ +
  6328. (( true) ? ` /* ${_vue_shared__WEBPACK_IMPORTED_MODULE_0__.PatchFlagNames[1]} */` : 0));
  6329. }
  6330. children[i] = {
  6331. type: 12 /* TEXT_CALL */,
  6332. content: child,
  6333. loc: child.loc,
  6334. codegenNode: createCallExpression(context.helper(CREATE_TEXT), callArgs)
  6335. };
  6336. }
  6337. }
  6338. };
  6339. }
  6340. };
  6341. const seen = new WeakSet();
  6342. const transformOnce = (node, context) => {
  6343. if (node.type === 1 /* ELEMENT */ && findDir(node, 'once', true)) {
  6344. if (seen.has(node) || context.inVOnce) {
  6345. return;
  6346. }
  6347. seen.add(node);
  6348. context.inVOnce = true;
  6349. context.helper(SET_BLOCK_TRACKING);
  6350. return () => {
  6351. context.inVOnce = false;
  6352. const cur = context.currentNode;
  6353. if (cur.codegenNode) {
  6354. cur.codegenNode = context.cache(cur.codegenNode, true /* isVNode */);
  6355. }
  6356. };
  6357. }
  6358. };
  6359. const transformModel = (dir, node, context) => {
  6360. const { exp, arg } = dir;
  6361. if (!exp) {
  6362. context.onError(createCompilerError(41 /* X_V_MODEL_NO_EXPRESSION */, dir.loc));
  6363. return createTransformProps();
  6364. }
  6365. const rawExp = exp.loc.source;
  6366. const expString = exp.type === 4 /* SIMPLE_EXPRESSION */ ? exp.content : rawExp;
  6367. // im SFC <script setup> inline mode, the exp may have been transformed into
  6368. // _unref(exp)
  6369. context.bindingMetadata[rawExp];
  6370. const maybeRef = !true /* SETUP_CONST */;
  6371. if (!expString.trim() ||
  6372. (!isMemberExpression(expString) && !maybeRef)) {
  6373. context.onError(createCompilerError(42 /* X_V_MODEL_MALFORMED_EXPRESSION */, exp.loc));
  6374. return createTransformProps();
  6375. }
  6376. const propName = arg ? arg : createSimpleExpression('modelValue', true);
  6377. const eventName = arg
  6378. ? isStaticExp(arg)
  6379. ? `onUpdate:${arg.content}`
  6380. : createCompoundExpression(['"onUpdate:" + ', arg])
  6381. : `onUpdate:modelValue`;
  6382. let assignmentExp;
  6383. const eventArg = context.isTS ? `($event: any)` : `$event`;
  6384. {
  6385. assignmentExp = createCompoundExpression([
  6386. `${eventArg} => ((`,
  6387. exp,
  6388. `) = $event)`
  6389. ]);
  6390. }
  6391. const props = [
  6392. // modelValue: foo
  6393. createObjectProperty(propName, dir.exp),
  6394. // "onUpdate:modelValue": $event => (foo = $event)
  6395. createObjectProperty(eventName, assignmentExp)
  6396. ];
  6397. // modelModifiers: { foo: true, "bar-baz": true }
  6398. if (dir.modifiers.length && node.tagType === 1 /* COMPONENT */) {
  6399. const modifiers = dir.modifiers
  6400. .map(m => (isSimpleIdentifier(m) ? m : JSON.stringify(m)) + `: true`)
  6401. .join(`, `);
  6402. const modifiersKey = arg
  6403. ? isStaticExp(arg)
  6404. ? `${arg.content}Modifiers`
  6405. : createCompoundExpression([arg, ' + "Modifiers"'])
  6406. : `modelModifiers`;
  6407. props.push(createObjectProperty(modifiersKey, createSimpleExpression(`{ ${modifiers} }`, false, dir.loc, 2 /* CAN_HOIST */)));
  6408. }
  6409. return createTransformProps(props);
  6410. };
  6411. function createTransformProps(props = []) {
  6412. return { props };
  6413. }
  6414. const validDivisionCharRE = /[\w).+\-_$\]]/;
  6415. const transformFilter = (node, context) => {
  6416. if (!isCompatEnabled("COMPILER_FILTER" /* COMPILER_FILTERS */, context)) {
  6417. return;
  6418. }
  6419. if (node.type === 5 /* INTERPOLATION */) {
  6420. // filter rewrite is applied before expression transform so only
  6421. // simple expressions are possible at this stage
  6422. rewriteFilter(node.content, context);
  6423. }
  6424. if (node.type === 1 /* ELEMENT */) {
  6425. node.props.forEach((prop) => {
  6426. if (prop.type === 7 /* DIRECTIVE */ &&
  6427. prop.name !== 'for' &&
  6428. prop.exp) {
  6429. rewriteFilter(prop.exp, context);
  6430. }
  6431. });
  6432. }
  6433. };
  6434. function rewriteFilter(node, context) {
  6435. if (node.type === 4 /* SIMPLE_EXPRESSION */) {
  6436. parseFilter(node, context);
  6437. }
  6438. else {
  6439. for (let i = 0; i < node.children.length; i++) {
  6440. const child = node.children[i];
  6441. if (typeof child !== 'object')
  6442. continue;
  6443. if (child.type === 4 /* SIMPLE_EXPRESSION */) {
  6444. parseFilter(child, context);
  6445. }
  6446. else if (child.type === 8 /* COMPOUND_EXPRESSION */) {
  6447. rewriteFilter(node, context);
  6448. }
  6449. else if (child.type === 5 /* INTERPOLATION */) {
  6450. rewriteFilter(child.content, context);
  6451. }
  6452. }
  6453. }
  6454. }
  6455. function parseFilter(node, context) {
  6456. const exp = node.content;
  6457. let inSingle = false;
  6458. let inDouble = false;
  6459. let inTemplateString = false;
  6460. let inRegex = false;
  6461. let curly = 0;
  6462. let square = 0;
  6463. let paren = 0;
  6464. let lastFilterIndex = 0;
  6465. let c, prev, i, expression, filters = [];
  6466. for (i = 0; i < exp.length; i++) {
  6467. prev = c;
  6468. c = exp.charCodeAt(i);
  6469. if (inSingle) {
  6470. if (c === 0x27 && prev !== 0x5c)
  6471. inSingle = false;
  6472. }
  6473. else if (inDouble) {
  6474. if (c === 0x22 && prev !== 0x5c)
  6475. inDouble = false;
  6476. }
  6477. else if (inTemplateString) {
  6478. if (c === 0x60 && prev !== 0x5c)
  6479. inTemplateString = false;
  6480. }
  6481. else if (inRegex) {
  6482. if (c === 0x2f && prev !== 0x5c)
  6483. inRegex = false;
  6484. }
  6485. else if (c === 0x7c && // pipe
  6486. exp.charCodeAt(i + 1) !== 0x7c &&
  6487. exp.charCodeAt(i - 1) !== 0x7c &&
  6488. !curly &&
  6489. !square &&
  6490. !paren) {
  6491. if (expression === undefined) {
  6492. // first filter, end of expression
  6493. lastFilterIndex = i + 1;
  6494. expression = exp.slice(0, i).trim();
  6495. }
  6496. else {
  6497. pushFilter();
  6498. }
  6499. }
  6500. else {
  6501. switch (c) {
  6502. case 0x22:
  6503. inDouble = true;
  6504. break; // "
  6505. case 0x27:
  6506. inSingle = true;
  6507. break; // '
  6508. case 0x60:
  6509. inTemplateString = true;
  6510. break; // `
  6511. case 0x28:
  6512. paren++;
  6513. break; // (
  6514. case 0x29:
  6515. paren--;
  6516. break; // )
  6517. case 0x5b:
  6518. square++;
  6519. break; // [
  6520. case 0x5d:
  6521. square--;
  6522. break; // ]
  6523. case 0x7b:
  6524. curly++;
  6525. break; // {
  6526. case 0x7d:
  6527. curly--;
  6528. break; // }
  6529. }
  6530. if (c === 0x2f) {
  6531. // /
  6532. let j = i - 1;
  6533. let p;
  6534. // find first non-whitespace prev char
  6535. for (; j >= 0; j--) {
  6536. p = exp.charAt(j);
  6537. if (p !== ' ')
  6538. break;
  6539. }
  6540. if (!p || !validDivisionCharRE.test(p)) {
  6541. inRegex = true;
  6542. }
  6543. }
  6544. }
  6545. }
  6546. if (expression === undefined) {
  6547. expression = exp.slice(0, i).trim();
  6548. }
  6549. else if (lastFilterIndex !== 0) {
  6550. pushFilter();
  6551. }
  6552. function pushFilter() {
  6553. filters.push(exp.slice(lastFilterIndex, i).trim());
  6554. lastFilterIndex = i + 1;
  6555. }
  6556. if (filters.length) {
  6557. ( true) &&
  6558. warnDeprecation("COMPILER_FILTER" /* COMPILER_FILTERS */, context, node.loc);
  6559. for (i = 0; i < filters.length; i++) {
  6560. expression = wrapFilter(expression, filters[i], context);
  6561. }
  6562. node.content = expression;
  6563. }
  6564. }
  6565. function wrapFilter(exp, filter, context) {
  6566. context.helper(RESOLVE_FILTER);
  6567. const i = filter.indexOf('(');
  6568. if (i < 0) {
  6569. context.filters.add(filter);
  6570. return `${toValidAssetId(filter, 'filter')}(${exp})`;
  6571. }
  6572. else {
  6573. const name = filter.slice(0, i);
  6574. const args = filter.slice(i + 1);
  6575. context.filters.add(name);
  6576. return `${toValidAssetId(name, 'filter')}(${exp}${args !== ')' ? ',' + args : args}`;
  6577. }
  6578. }
  6579. const seen$1 = new WeakSet();
  6580. const transformMemo = (node, context) => {
  6581. if (node.type === 1 /* ELEMENT */) {
  6582. const dir = findDir(node, 'memo');
  6583. if (!dir || seen$1.has(node)) {
  6584. return;
  6585. }
  6586. seen$1.add(node);
  6587. return () => {
  6588. const codegenNode = node.codegenNode ||
  6589. context.currentNode.codegenNode;
  6590. if (codegenNode && codegenNode.type === 13 /* VNODE_CALL */) {
  6591. // non-component sub tree should be turned into a block
  6592. if (node.tagType !== 1 /* COMPONENT */) {
  6593. makeBlock(codegenNode, context);
  6594. }
  6595. node.codegenNode = createCallExpression(context.helper(WITH_MEMO), [
  6596. dir.exp,
  6597. createFunctionExpression(undefined, codegenNode),
  6598. `_cache`,
  6599. String(context.cached++)
  6600. ]);
  6601. }
  6602. };
  6603. }
  6604. };
  6605. function getBaseTransformPreset(prefixIdentifiers) {
  6606. return [
  6607. [
  6608. transformOnce,
  6609. transformIf,
  6610. transformMemo,
  6611. transformFor,
  6612. ...([transformFilter] ),
  6613. ...(( true)
  6614. ? [transformExpression]
  6615. : 0),
  6616. transformSlotOutlet,
  6617. transformElement,
  6618. trackSlotScopes,
  6619. transformText
  6620. ],
  6621. {
  6622. on: transformOn,
  6623. bind: transformBind,
  6624. model: transformModel
  6625. }
  6626. ];
  6627. }
  6628. // we name it `baseCompile` so that higher order compilers like
  6629. // @vue/compiler-dom can export `compile` while re-exporting everything else.
  6630. function baseCompile(template, options = {}) {
  6631. const onError = options.onError || defaultOnError;
  6632. const isModuleMode = options.mode === 'module';
  6633. /* istanbul ignore if */
  6634. {
  6635. if (options.prefixIdentifiers === true) {
  6636. onError(createCompilerError(46 /* X_PREFIX_ID_NOT_SUPPORTED */));
  6637. }
  6638. else if (isModuleMode) {
  6639. onError(createCompilerError(47 /* X_MODULE_MODE_NOT_SUPPORTED */));
  6640. }
  6641. }
  6642. const prefixIdentifiers = !true ;
  6643. if (options.cacheHandlers) {
  6644. onError(createCompilerError(48 /* X_CACHE_HANDLER_NOT_SUPPORTED */));
  6645. }
  6646. if (options.scopeId && !isModuleMode) {
  6647. onError(createCompilerError(49 /* X_SCOPE_ID_NOT_SUPPORTED */));
  6648. }
  6649. const ast = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isString)(template) ? baseParse(template, options) : template;
  6650. const [nodeTransforms, directiveTransforms] = getBaseTransformPreset();
  6651. transform(ast, (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.extend)({}, options, {
  6652. prefixIdentifiers,
  6653. nodeTransforms: [
  6654. ...nodeTransforms,
  6655. ...(options.nodeTransforms || []) // user transforms
  6656. ],
  6657. directiveTransforms: (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.extend)({}, directiveTransforms, options.directiveTransforms || {} // user transforms
  6658. )
  6659. }));
  6660. return generate(ast, (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.extend)({}, options, {
  6661. prefixIdentifiers
  6662. }));
  6663. }
  6664. const noopDirectiveTransform = () => ({ props: [] });
  6665. /***/ }),
  6666. /***/ "./node_modules/@vue/compiler-dom/dist/compiler-dom.esm-bundler.js":
  6667. /*!*************************************************************************!*\
  6668. !*** ./node_modules/@vue/compiler-dom/dist/compiler-dom.esm-bundler.js ***!
  6669. \*************************************************************************/
  6670. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  6671. "use strict";
  6672. __webpack_require__.r(__webpack_exports__);
  6673. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6674. /* harmony export */ "BASE_TRANSITION": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.BASE_TRANSITION),
  6675. /* harmony export */ "CAMELIZE": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.CAMELIZE),
  6676. /* harmony export */ "CAPITALIZE": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.CAPITALIZE),
  6677. /* harmony export */ "CREATE_BLOCK": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.CREATE_BLOCK),
  6678. /* harmony export */ "CREATE_COMMENT": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.CREATE_COMMENT),
  6679. /* harmony export */ "CREATE_ELEMENT_BLOCK": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.CREATE_ELEMENT_BLOCK),
  6680. /* harmony export */ "CREATE_ELEMENT_VNODE": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.CREATE_ELEMENT_VNODE),
  6681. /* harmony export */ "CREATE_SLOTS": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.CREATE_SLOTS),
  6682. /* harmony export */ "CREATE_STATIC": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.CREATE_STATIC),
  6683. /* harmony export */ "CREATE_TEXT": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.CREATE_TEXT),
  6684. /* harmony export */ "CREATE_VNODE": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.CREATE_VNODE),
  6685. /* harmony export */ "DOMDirectiveTransforms": () => (/* binding */ DOMDirectiveTransforms),
  6686. /* harmony export */ "DOMNodeTransforms": () => (/* binding */ DOMNodeTransforms),
  6687. /* harmony export */ "FRAGMENT": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.FRAGMENT),
  6688. /* harmony export */ "GUARD_REACTIVE_PROPS": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.GUARD_REACTIVE_PROPS),
  6689. /* harmony export */ "IS_MEMO_SAME": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.IS_MEMO_SAME),
  6690. /* harmony export */ "IS_REF": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.IS_REF),
  6691. /* harmony export */ "KEEP_ALIVE": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.KEEP_ALIVE),
  6692. /* harmony export */ "MERGE_PROPS": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.MERGE_PROPS),
  6693. /* harmony export */ "NORMALIZE_CLASS": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.NORMALIZE_CLASS),
  6694. /* harmony export */ "NORMALIZE_PROPS": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.NORMALIZE_PROPS),
  6695. /* harmony export */ "NORMALIZE_STYLE": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.NORMALIZE_STYLE),
  6696. /* harmony export */ "OPEN_BLOCK": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.OPEN_BLOCK),
  6697. /* harmony export */ "POP_SCOPE_ID": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.POP_SCOPE_ID),
  6698. /* harmony export */ "PUSH_SCOPE_ID": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.PUSH_SCOPE_ID),
  6699. /* harmony export */ "RENDER_LIST": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.RENDER_LIST),
  6700. /* harmony export */ "RENDER_SLOT": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.RENDER_SLOT),
  6701. /* harmony export */ "RESOLVE_COMPONENT": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.RESOLVE_COMPONENT),
  6702. /* harmony export */ "RESOLVE_DIRECTIVE": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.RESOLVE_DIRECTIVE),
  6703. /* harmony export */ "RESOLVE_DYNAMIC_COMPONENT": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.RESOLVE_DYNAMIC_COMPONENT),
  6704. /* harmony export */ "RESOLVE_FILTER": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.RESOLVE_FILTER),
  6705. /* harmony export */ "SET_BLOCK_TRACKING": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.SET_BLOCK_TRACKING),
  6706. /* harmony export */ "SUSPENSE": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.SUSPENSE),
  6707. /* harmony export */ "TELEPORT": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.TELEPORT),
  6708. /* harmony export */ "TO_DISPLAY_STRING": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.TO_DISPLAY_STRING),
  6709. /* harmony export */ "TO_HANDLERS": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.TO_HANDLERS),
  6710. /* harmony export */ "TO_HANDLER_KEY": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.TO_HANDLER_KEY),
  6711. /* harmony export */ "TRANSITION": () => (/* binding */ TRANSITION),
  6712. /* harmony export */ "TRANSITION_GROUP": () => (/* binding */ TRANSITION_GROUP),
  6713. /* harmony export */ "UNREF": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.UNREF),
  6714. /* harmony export */ "V_MODEL_CHECKBOX": () => (/* binding */ V_MODEL_CHECKBOX),
  6715. /* harmony export */ "V_MODEL_DYNAMIC": () => (/* binding */ V_MODEL_DYNAMIC),
  6716. /* harmony export */ "V_MODEL_RADIO": () => (/* binding */ V_MODEL_RADIO),
  6717. /* harmony export */ "V_MODEL_SELECT": () => (/* binding */ V_MODEL_SELECT),
  6718. /* harmony export */ "V_MODEL_TEXT": () => (/* binding */ V_MODEL_TEXT),
  6719. /* harmony export */ "V_ON_WITH_KEYS": () => (/* binding */ V_ON_WITH_KEYS),
  6720. /* harmony export */ "V_ON_WITH_MODIFIERS": () => (/* binding */ V_ON_WITH_MODIFIERS),
  6721. /* harmony export */ "V_SHOW": () => (/* binding */ V_SHOW),
  6722. /* harmony export */ "WITH_CTX": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.WITH_CTX),
  6723. /* harmony export */ "WITH_DIRECTIVES": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.WITH_DIRECTIVES),
  6724. /* harmony export */ "WITH_MEMO": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.WITH_MEMO),
  6725. /* harmony export */ "advancePositionWithClone": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.advancePositionWithClone),
  6726. /* harmony export */ "advancePositionWithMutation": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.advancePositionWithMutation),
  6727. /* harmony export */ "assert": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.assert),
  6728. /* harmony export */ "baseCompile": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.baseCompile),
  6729. /* harmony export */ "baseParse": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.baseParse),
  6730. /* harmony export */ "buildDirectiveArgs": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.buildDirectiveArgs),
  6731. /* harmony export */ "buildProps": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.buildProps),
  6732. /* harmony export */ "buildSlots": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.buildSlots),
  6733. /* harmony export */ "checkCompatEnabled": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.checkCompatEnabled),
  6734. /* harmony export */ "compile": () => (/* binding */ compile),
  6735. /* harmony export */ "createArrayExpression": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createArrayExpression),
  6736. /* harmony export */ "createAssignmentExpression": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createAssignmentExpression),
  6737. /* harmony export */ "createBlockStatement": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createBlockStatement),
  6738. /* harmony export */ "createCacheExpression": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createCacheExpression),
  6739. /* harmony export */ "createCallExpression": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createCallExpression),
  6740. /* harmony export */ "createCompilerError": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createCompilerError),
  6741. /* harmony export */ "createCompoundExpression": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createCompoundExpression),
  6742. /* harmony export */ "createConditionalExpression": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createConditionalExpression),
  6743. /* harmony export */ "createDOMCompilerError": () => (/* binding */ createDOMCompilerError),
  6744. /* harmony export */ "createForLoopParams": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createForLoopParams),
  6745. /* harmony export */ "createFunctionExpression": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createFunctionExpression),
  6746. /* harmony export */ "createIfStatement": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createIfStatement),
  6747. /* harmony export */ "createInterpolation": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createInterpolation),
  6748. /* harmony export */ "createObjectExpression": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createObjectExpression),
  6749. /* harmony export */ "createObjectProperty": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createObjectProperty),
  6750. /* harmony export */ "createReturnStatement": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createReturnStatement),
  6751. /* harmony export */ "createRoot": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createRoot),
  6752. /* harmony export */ "createSequenceExpression": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createSequenceExpression),
  6753. /* harmony export */ "createSimpleExpression": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createSimpleExpression),
  6754. /* harmony export */ "createStructuralDirectiveTransform": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createStructuralDirectiveTransform),
  6755. /* harmony export */ "createTemplateLiteral": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createTemplateLiteral),
  6756. /* harmony export */ "createTransformContext": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createTransformContext),
  6757. /* harmony export */ "createVNodeCall": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createVNodeCall),
  6758. /* harmony export */ "extractIdentifiers": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.extractIdentifiers),
  6759. /* harmony export */ "findDir": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.findDir),
  6760. /* harmony export */ "findProp": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.findProp),
  6761. /* harmony export */ "generate": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.generate),
  6762. /* harmony export */ "generateCodeFrame": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.generateCodeFrame),
  6763. /* harmony export */ "getBaseTransformPreset": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.getBaseTransformPreset),
  6764. /* harmony export */ "getInnerRange": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.getInnerRange),
  6765. /* harmony export */ "getMemoedVNodeCall": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.getMemoedVNodeCall),
  6766. /* harmony export */ "getVNodeBlockHelper": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.getVNodeBlockHelper),
  6767. /* harmony export */ "getVNodeHelper": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.getVNodeHelper),
  6768. /* harmony export */ "hasDynamicKeyVBind": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.hasDynamicKeyVBind),
  6769. /* harmony export */ "hasScopeRef": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.hasScopeRef),
  6770. /* harmony export */ "helperNameMap": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.helperNameMap),
  6771. /* harmony export */ "injectProp": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.injectProp),
  6772. /* harmony export */ "isBuiltInType": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isBuiltInType),
  6773. /* harmony export */ "isCoreComponent": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isCoreComponent),
  6774. /* harmony export */ "isFunctionType": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isFunctionType),
  6775. /* harmony export */ "isInDestructureAssignment": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isInDestructureAssignment),
  6776. /* harmony export */ "isMemberExpression": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isMemberExpression),
  6777. /* harmony export */ "isMemberExpressionBrowser": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isMemberExpressionBrowser),
  6778. /* harmony export */ "isMemberExpressionNode": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isMemberExpressionNode),
  6779. /* harmony export */ "isReferencedIdentifier": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isReferencedIdentifier),
  6780. /* harmony export */ "isSimpleIdentifier": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isSimpleIdentifier),
  6781. /* harmony export */ "isSlotOutlet": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isSlotOutlet),
  6782. /* harmony export */ "isStaticArgOf": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isStaticArgOf),
  6783. /* harmony export */ "isStaticExp": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isStaticExp),
  6784. /* harmony export */ "isStaticProperty": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isStaticProperty),
  6785. /* harmony export */ "isStaticPropertyKey": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isStaticPropertyKey),
  6786. /* harmony export */ "isTemplateNode": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isTemplateNode),
  6787. /* harmony export */ "isText": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isText),
  6788. /* harmony export */ "isVSlot": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isVSlot),
  6789. /* harmony export */ "locStub": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.locStub),
  6790. /* harmony export */ "makeBlock": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.makeBlock),
  6791. /* harmony export */ "noopDirectiveTransform": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.noopDirectiveTransform),
  6792. /* harmony export */ "parse": () => (/* binding */ parse),
  6793. /* harmony export */ "parserOptions": () => (/* binding */ parserOptions),
  6794. /* harmony export */ "processExpression": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.processExpression),
  6795. /* harmony export */ "processFor": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.processFor),
  6796. /* harmony export */ "processIf": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.processIf),
  6797. /* harmony export */ "processSlotOutlet": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.processSlotOutlet),
  6798. /* harmony export */ "registerRuntimeHelpers": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.registerRuntimeHelpers),
  6799. /* harmony export */ "resolveComponentType": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.resolveComponentType),
  6800. /* harmony export */ "toValidAssetId": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.toValidAssetId),
  6801. /* harmony export */ "trackSlotScopes": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.trackSlotScopes),
  6802. /* harmony export */ "trackVForSlotScopes": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.trackVForSlotScopes),
  6803. /* harmony export */ "transform": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.transform),
  6804. /* harmony export */ "transformBind": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.transformBind),
  6805. /* harmony export */ "transformElement": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.transformElement),
  6806. /* harmony export */ "transformExpression": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.transformExpression),
  6807. /* harmony export */ "transformModel": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.transformModel),
  6808. /* harmony export */ "transformOn": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.transformOn),
  6809. /* harmony export */ "transformStyle": () => (/* binding */ transformStyle),
  6810. /* harmony export */ "traverseNode": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.traverseNode),
  6811. /* harmony export */ "walkBlockDeclarations": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.walkBlockDeclarations),
  6812. /* harmony export */ "walkFunctionParams": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.walkFunctionParams),
  6813. /* harmony export */ "walkIdentifiers": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.walkIdentifiers),
  6814. /* harmony export */ "warnDeprecation": () => (/* reexport safe */ _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.warnDeprecation)
  6815. /* harmony export */ });
  6816. /* harmony import */ var _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @vue/compiler-core */ "./node_modules/@vue/compiler-core/dist/compiler-core.esm-bundler.js");
  6817. /* harmony import */ var _vue_shared__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @vue/shared */ "./node_modules/@vue/shared/dist/shared.esm-bundler.js");
  6818. const V_MODEL_RADIO = Symbol(( true) ? `vModelRadio` : 0);
  6819. const V_MODEL_CHECKBOX = Symbol(( true) ? `vModelCheckbox` : 0);
  6820. const V_MODEL_TEXT = Symbol(( true) ? `vModelText` : 0);
  6821. const V_MODEL_SELECT = Symbol(( true) ? `vModelSelect` : 0);
  6822. const V_MODEL_DYNAMIC = Symbol(( true) ? `vModelDynamic` : 0);
  6823. const V_ON_WITH_MODIFIERS = Symbol(( true) ? `vOnModifiersGuard` : 0);
  6824. const V_ON_WITH_KEYS = Symbol(( true) ? `vOnKeysGuard` : 0);
  6825. const V_SHOW = Symbol(( true) ? `vShow` : 0);
  6826. const TRANSITION = Symbol(( true) ? `Transition` : 0);
  6827. const TRANSITION_GROUP = Symbol(( true) ? `TransitionGroup` : 0);
  6828. (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.registerRuntimeHelpers)({
  6829. [V_MODEL_RADIO]: `vModelRadio`,
  6830. [V_MODEL_CHECKBOX]: `vModelCheckbox`,
  6831. [V_MODEL_TEXT]: `vModelText`,
  6832. [V_MODEL_SELECT]: `vModelSelect`,
  6833. [V_MODEL_DYNAMIC]: `vModelDynamic`,
  6834. [V_ON_WITH_MODIFIERS]: `withModifiers`,
  6835. [V_ON_WITH_KEYS]: `withKeys`,
  6836. [V_SHOW]: `vShow`,
  6837. [TRANSITION]: `Transition`,
  6838. [TRANSITION_GROUP]: `TransitionGroup`
  6839. });
  6840. /* eslint-disable no-restricted-globals */
  6841. let decoder;
  6842. function decodeHtmlBrowser(raw, asAttr = false) {
  6843. if (!decoder) {
  6844. decoder = document.createElement('div');
  6845. }
  6846. if (asAttr) {
  6847. decoder.innerHTML = `<div foo="${raw.replace(/"/g, '&quot;')}">`;
  6848. return decoder.children[0].getAttribute('foo');
  6849. }
  6850. else {
  6851. decoder.innerHTML = raw;
  6852. return decoder.textContent;
  6853. }
  6854. }
  6855. const isRawTextContainer = /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.makeMap)('style,iframe,script,noscript', true);
  6856. const parserOptions = {
  6857. isVoidTag: _vue_shared__WEBPACK_IMPORTED_MODULE_1__.isVoidTag,
  6858. isNativeTag: tag => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isHTMLTag)(tag) || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isSVGTag)(tag),
  6859. isPreTag: tag => tag === 'pre',
  6860. decodeEntities: decodeHtmlBrowser ,
  6861. isBuiltInComponent: (tag) => {
  6862. if ((0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isBuiltInType)(tag, `Transition`)) {
  6863. return TRANSITION;
  6864. }
  6865. else if ((0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isBuiltInType)(tag, `TransitionGroup`)) {
  6866. return TRANSITION_GROUP;
  6867. }
  6868. },
  6869. // https://html.spec.whatwg.org/multipage/parsing.html#tree-construction-dispatcher
  6870. getNamespace(tag, parent) {
  6871. let ns = parent ? parent.ns : 0 /* HTML */;
  6872. if (parent && ns === 2 /* MATH_ML */) {
  6873. if (parent.tag === 'annotation-xml') {
  6874. if (tag === 'svg') {
  6875. return 1 /* SVG */;
  6876. }
  6877. if (parent.props.some(a => a.type === 6 /* ATTRIBUTE */ &&
  6878. a.name === 'encoding' &&
  6879. a.value != null &&
  6880. (a.value.content === 'text/html' ||
  6881. a.value.content === 'application/xhtml+xml'))) {
  6882. ns = 0 /* HTML */;
  6883. }
  6884. }
  6885. else if (/^m(?:[ions]|text)$/.test(parent.tag) &&
  6886. tag !== 'mglyph' &&
  6887. tag !== 'malignmark') {
  6888. ns = 0 /* HTML */;
  6889. }
  6890. }
  6891. else if (parent && ns === 1 /* SVG */) {
  6892. if (parent.tag === 'foreignObject' ||
  6893. parent.tag === 'desc' ||
  6894. parent.tag === 'title') {
  6895. ns = 0 /* HTML */;
  6896. }
  6897. }
  6898. if (ns === 0 /* HTML */) {
  6899. if (tag === 'svg') {
  6900. return 1 /* SVG */;
  6901. }
  6902. if (tag === 'math') {
  6903. return 2 /* MATH_ML */;
  6904. }
  6905. }
  6906. return ns;
  6907. },
  6908. // https://html.spec.whatwg.org/multipage/parsing.html#parsing-html-fragments
  6909. getTextMode({ tag, ns }) {
  6910. if (ns === 0 /* HTML */) {
  6911. if (tag === 'textarea' || tag === 'title') {
  6912. return 1 /* RCDATA */;
  6913. }
  6914. if (isRawTextContainer(tag)) {
  6915. return 2 /* RAWTEXT */;
  6916. }
  6917. }
  6918. return 0 /* DATA */;
  6919. }
  6920. };
  6921. // Parse inline CSS strings for static style attributes into an object.
  6922. // This is a NodeTransform since it works on the static `style` attribute and
  6923. // converts it into a dynamic equivalent:
  6924. // style="color: red" -> :style='{ "color": "red" }'
  6925. // It is then processed by `transformElement` and included in the generated
  6926. // props.
  6927. const transformStyle = node => {
  6928. if (node.type === 1 /* ELEMENT */) {
  6929. node.props.forEach((p, i) => {
  6930. if (p.type === 6 /* ATTRIBUTE */ && p.name === 'style' && p.value) {
  6931. // replace p with an expression node
  6932. node.props[i] = {
  6933. type: 7 /* DIRECTIVE */,
  6934. name: `bind`,
  6935. arg: (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createSimpleExpression)(`style`, true, p.loc),
  6936. exp: parseInlineCSS(p.value.content, p.loc),
  6937. modifiers: [],
  6938. loc: p.loc
  6939. };
  6940. }
  6941. });
  6942. }
  6943. };
  6944. const parseInlineCSS = (cssText, loc) => {
  6945. const normalized = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.parseStringStyle)(cssText);
  6946. return (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createSimpleExpression)(JSON.stringify(normalized), false, loc, 3 /* CAN_STRINGIFY */);
  6947. };
  6948. function createDOMCompilerError(code, loc) {
  6949. return (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createCompilerError)(code, loc, true ? DOMErrorMessages : 0);
  6950. }
  6951. const DOMErrorMessages = {
  6952. [50 /* X_V_HTML_NO_EXPRESSION */]: `v-html is missing expression.`,
  6953. [51 /* X_V_HTML_WITH_CHILDREN */]: `v-html will override element children.`,
  6954. [52 /* X_V_TEXT_NO_EXPRESSION */]: `v-text is missing expression.`,
  6955. [53 /* X_V_TEXT_WITH_CHILDREN */]: `v-text will override element children.`,
  6956. [54 /* X_V_MODEL_ON_INVALID_ELEMENT */]: `v-model can only be used on <input>, <textarea> and <select> elements.`,
  6957. [55 /* X_V_MODEL_ARG_ON_ELEMENT */]: `v-model argument is not supported on plain elements.`,
  6958. [56 /* X_V_MODEL_ON_FILE_INPUT_ELEMENT */]: `v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.`,
  6959. [57 /* X_V_MODEL_UNNECESSARY_VALUE */]: `Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.`,
  6960. [58 /* X_V_SHOW_NO_EXPRESSION */]: `v-show is missing expression.`,
  6961. [59 /* X_TRANSITION_INVALID_CHILDREN */]: `<Transition> expects exactly one child element or component.`,
  6962. [60 /* X_IGNORED_SIDE_EFFECT_TAG */]: `Tags with side effect (<script> and <style>) are ignored in client component templates.`
  6963. };
  6964. const transformVHtml = (dir, node, context) => {
  6965. const { exp, loc } = dir;
  6966. if (!exp) {
  6967. context.onError(createDOMCompilerError(50 /* X_V_HTML_NO_EXPRESSION */, loc));
  6968. }
  6969. if (node.children.length) {
  6970. context.onError(createDOMCompilerError(51 /* X_V_HTML_WITH_CHILDREN */, loc));
  6971. node.children.length = 0;
  6972. }
  6973. return {
  6974. props: [
  6975. (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createObjectProperty)((0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createSimpleExpression)(`innerHTML`, true, loc), exp || (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createSimpleExpression)('', true))
  6976. ]
  6977. };
  6978. };
  6979. const transformVText = (dir, node, context) => {
  6980. const { exp, loc } = dir;
  6981. if (!exp) {
  6982. context.onError(createDOMCompilerError(52 /* X_V_TEXT_NO_EXPRESSION */, loc));
  6983. }
  6984. if (node.children.length) {
  6985. context.onError(createDOMCompilerError(53 /* X_V_TEXT_WITH_CHILDREN */, loc));
  6986. node.children.length = 0;
  6987. }
  6988. return {
  6989. props: [
  6990. (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createObjectProperty)((0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createSimpleExpression)(`textContent`, true), exp
  6991. ? (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createCallExpression)(context.helperString(_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.TO_DISPLAY_STRING), [exp], loc)
  6992. : (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createSimpleExpression)('', true))
  6993. ]
  6994. };
  6995. };
  6996. const transformModel = (dir, node, context) => {
  6997. const baseResult = (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.transformModel)(dir, node, context);
  6998. // base transform has errors OR component v-model (only need props)
  6999. if (!baseResult.props.length || node.tagType === 1 /* COMPONENT */) {
  7000. return baseResult;
  7001. }
  7002. if (dir.arg) {
  7003. context.onError(createDOMCompilerError(55 /* X_V_MODEL_ARG_ON_ELEMENT */, dir.arg.loc));
  7004. }
  7005. function checkDuplicatedValue() {
  7006. const value = (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.findProp)(node, 'value');
  7007. if (value) {
  7008. context.onError(createDOMCompilerError(57 /* X_V_MODEL_UNNECESSARY_VALUE */, value.loc));
  7009. }
  7010. }
  7011. const { tag } = node;
  7012. const isCustomElement = context.isCustomElement(tag);
  7013. if (tag === 'input' ||
  7014. tag === 'textarea' ||
  7015. tag === 'select' ||
  7016. isCustomElement) {
  7017. let directiveToUse = V_MODEL_TEXT;
  7018. let isInvalidType = false;
  7019. if (tag === 'input' || isCustomElement) {
  7020. const type = (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.findProp)(node, `type`);
  7021. if (type) {
  7022. if (type.type === 7 /* DIRECTIVE */) {
  7023. // :type="foo"
  7024. directiveToUse = V_MODEL_DYNAMIC;
  7025. }
  7026. else if (type.value) {
  7027. switch (type.value.content) {
  7028. case 'radio':
  7029. directiveToUse = V_MODEL_RADIO;
  7030. break;
  7031. case 'checkbox':
  7032. directiveToUse = V_MODEL_CHECKBOX;
  7033. break;
  7034. case 'file':
  7035. isInvalidType = true;
  7036. context.onError(createDOMCompilerError(56 /* X_V_MODEL_ON_FILE_INPUT_ELEMENT */, dir.loc));
  7037. break;
  7038. default:
  7039. // text type
  7040. ( true) && checkDuplicatedValue();
  7041. break;
  7042. }
  7043. }
  7044. }
  7045. else if ((0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.hasDynamicKeyVBind)(node)) {
  7046. // element has bindings with dynamic keys, which can possibly contain
  7047. // "type".
  7048. directiveToUse = V_MODEL_DYNAMIC;
  7049. }
  7050. else {
  7051. // text type
  7052. ( true) && checkDuplicatedValue();
  7053. }
  7054. }
  7055. else if (tag === 'select') {
  7056. directiveToUse = V_MODEL_SELECT;
  7057. }
  7058. else {
  7059. // textarea
  7060. ( true) && checkDuplicatedValue();
  7061. }
  7062. // inject runtime directive
  7063. // by returning the helper symbol via needRuntime
  7064. // the import will replaced a resolveDirective call.
  7065. if (!isInvalidType) {
  7066. baseResult.needRuntime = context.helper(directiveToUse);
  7067. }
  7068. }
  7069. else {
  7070. context.onError(createDOMCompilerError(54 /* X_V_MODEL_ON_INVALID_ELEMENT */, dir.loc));
  7071. }
  7072. // native vmodel doesn't need the `modelValue` props since they are also
  7073. // passed to the runtime as `binding.value`. removing it reduces code size.
  7074. baseResult.props = baseResult.props.filter(p => !(p.key.type === 4 /* SIMPLE_EXPRESSION */ &&
  7075. p.key.content === 'modelValue'));
  7076. return baseResult;
  7077. };
  7078. const isEventOptionModifier = /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.makeMap)(`passive,once,capture`);
  7079. const isNonKeyModifier = /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.makeMap)(
  7080. // event propagation management
  7081. `stop,prevent,self,` +
  7082. // system modifiers + exact
  7083. `ctrl,shift,alt,meta,exact,` +
  7084. // mouse
  7085. `middle`);
  7086. // left & right could be mouse or key modifiers based on event type
  7087. const maybeKeyModifier = /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.makeMap)('left,right');
  7088. const isKeyboardEvent = /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.makeMap)(`onkeyup,onkeydown,onkeypress`, true);
  7089. const resolveModifiers = (key, modifiers, context, loc) => {
  7090. const keyModifiers = [];
  7091. const nonKeyModifiers = [];
  7092. const eventOptionModifiers = [];
  7093. for (let i = 0; i < modifiers.length; i++) {
  7094. const modifier = modifiers[i];
  7095. if (modifier === 'native' &&
  7096. (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.checkCompatEnabled)("COMPILER_V_ON_NATIVE" /* COMPILER_V_ON_NATIVE */, context, loc)) {
  7097. eventOptionModifiers.push(modifier);
  7098. }
  7099. else if (isEventOptionModifier(modifier)) {
  7100. // eventOptionModifiers: modifiers for addEventListener() options,
  7101. // e.g. .passive & .capture
  7102. eventOptionModifiers.push(modifier);
  7103. }
  7104. else {
  7105. // runtimeModifiers: modifiers that needs runtime guards
  7106. if (maybeKeyModifier(modifier)) {
  7107. if ((0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isStaticExp)(key)) {
  7108. if (isKeyboardEvent(key.content)) {
  7109. keyModifiers.push(modifier);
  7110. }
  7111. else {
  7112. nonKeyModifiers.push(modifier);
  7113. }
  7114. }
  7115. else {
  7116. keyModifiers.push(modifier);
  7117. nonKeyModifiers.push(modifier);
  7118. }
  7119. }
  7120. else {
  7121. if (isNonKeyModifier(modifier)) {
  7122. nonKeyModifiers.push(modifier);
  7123. }
  7124. else {
  7125. keyModifiers.push(modifier);
  7126. }
  7127. }
  7128. }
  7129. }
  7130. return {
  7131. keyModifiers,
  7132. nonKeyModifiers,
  7133. eventOptionModifiers
  7134. };
  7135. };
  7136. const transformClick = (key, event) => {
  7137. const isStaticClick = (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isStaticExp)(key) && key.content.toLowerCase() === 'onclick';
  7138. return isStaticClick
  7139. ? (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createSimpleExpression)(event, true)
  7140. : key.type !== 4 /* SIMPLE_EXPRESSION */
  7141. ? (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createCompoundExpression)([
  7142. `(`,
  7143. key,
  7144. `) === "onClick" ? "${event}" : (`,
  7145. key,
  7146. `)`
  7147. ])
  7148. : key;
  7149. };
  7150. const transformOn = (dir, node, context) => {
  7151. return (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.transformOn)(dir, node, context, baseResult => {
  7152. const { modifiers } = dir;
  7153. if (!modifiers.length)
  7154. return baseResult;
  7155. let { key, value: handlerExp } = baseResult.props[0];
  7156. const { keyModifiers, nonKeyModifiers, eventOptionModifiers } = resolveModifiers(key, modifiers, context, dir.loc);
  7157. // normalize click.right and click.middle since they don't actually fire
  7158. if (nonKeyModifiers.includes('right')) {
  7159. key = transformClick(key, `onContextmenu`);
  7160. }
  7161. if (nonKeyModifiers.includes('middle')) {
  7162. key = transformClick(key, `onMouseup`);
  7163. }
  7164. if (nonKeyModifiers.length) {
  7165. handlerExp = (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createCallExpression)(context.helper(V_ON_WITH_MODIFIERS), [
  7166. handlerExp,
  7167. JSON.stringify(nonKeyModifiers)
  7168. ]);
  7169. }
  7170. if (keyModifiers.length &&
  7171. // if event name is dynamic, always wrap with keys guard
  7172. (!(0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isStaticExp)(key) || isKeyboardEvent(key.content))) {
  7173. handlerExp = (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createCallExpression)(context.helper(V_ON_WITH_KEYS), [
  7174. handlerExp,
  7175. JSON.stringify(keyModifiers)
  7176. ]);
  7177. }
  7178. if (eventOptionModifiers.length) {
  7179. const modifierPostfix = eventOptionModifiers.map(_vue_shared__WEBPACK_IMPORTED_MODULE_1__.capitalize).join('');
  7180. key = (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.isStaticExp)(key)
  7181. ? (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createSimpleExpression)(`${key.content}${modifierPostfix}`, true)
  7182. : (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createCompoundExpression)([`(`, key, `) + "${modifierPostfix}"`]);
  7183. }
  7184. return {
  7185. props: [(0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.createObjectProperty)(key, handlerExp)]
  7186. };
  7187. });
  7188. };
  7189. const transformShow = (dir, node, context) => {
  7190. const { exp, loc } = dir;
  7191. if (!exp) {
  7192. context.onError(createDOMCompilerError(58 /* X_V_SHOW_NO_EXPRESSION */, loc));
  7193. }
  7194. return {
  7195. props: [],
  7196. needRuntime: context.helper(V_SHOW)
  7197. };
  7198. };
  7199. const warnTransitionChildren = (node, context) => {
  7200. if (node.type === 1 /* ELEMENT */ &&
  7201. node.tagType === 1 /* COMPONENT */) {
  7202. const component = context.isBuiltInComponent(node.tag);
  7203. if (component === TRANSITION) {
  7204. return () => {
  7205. if (node.children.length && hasMultipleChildren(node)) {
  7206. context.onError(createDOMCompilerError(59 /* X_TRANSITION_INVALID_CHILDREN */, {
  7207. start: node.children[0].loc.start,
  7208. end: node.children[node.children.length - 1].loc.end,
  7209. source: ''
  7210. }));
  7211. }
  7212. };
  7213. }
  7214. }
  7215. };
  7216. function hasMultipleChildren(node) {
  7217. // #1352 filter out potential comment nodes.
  7218. const children = (node.children = node.children.filter(c => c.type !== 3 /* COMMENT */ &&
  7219. !(c.type === 2 /* TEXT */ && !c.content.trim())));
  7220. const child = children[0];
  7221. return (children.length !== 1 ||
  7222. child.type === 11 /* FOR */ ||
  7223. (child.type === 9 /* IF */ && child.branches.some(hasMultipleChildren)));
  7224. }
  7225. const ignoreSideEffectTags = (node, context) => {
  7226. if (node.type === 1 /* ELEMENT */ &&
  7227. node.tagType === 0 /* ELEMENT */ &&
  7228. (node.tag === 'script' || node.tag === 'style')) {
  7229. context.onError(createDOMCompilerError(60 /* X_IGNORED_SIDE_EFFECT_TAG */, node.loc));
  7230. context.removeNode();
  7231. }
  7232. };
  7233. const DOMNodeTransforms = [
  7234. transformStyle,
  7235. ...(( true) ? [warnTransitionChildren] : 0)
  7236. ];
  7237. const DOMDirectiveTransforms = {
  7238. cloak: _vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.noopDirectiveTransform,
  7239. html: transformVHtml,
  7240. text: transformVText,
  7241. model: transformModel,
  7242. on: transformOn,
  7243. show: transformShow
  7244. };
  7245. function compile(template, options = {}) {
  7246. return (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.baseCompile)(template, (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)({}, parserOptions, options, {
  7247. nodeTransforms: [
  7248. // ignore <script> and <tag>
  7249. // this is not put inside DOMNodeTransforms because that list is used
  7250. // by compiler-ssr to generate vnode fallback branches
  7251. ignoreSideEffectTags,
  7252. ...DOMNodeTransforms,
  7253. ...(options.nodeTransforms || [])
  7254. ],
  7255. directiveTransforms: (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)({}, DOMDirectiveTransforms, options.directiveTransforms || {}),
  7256. transformHoist: null
  7257. }));
  7258. }
  7259. function parse(template, options = {}) {
  7260. return (0,_vue_compiler_core__WEBPACK_IMPORTED_MODULE_0__.baseParse)(template, (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)({}, parserOptions, options));
  7261. }
  7262. /***/ }),
  7263. /***/ "./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js":
  7264. /*!*********************************************************************!*\
  7265. !*** ./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js ***!
  7266. \*********************************************************************/
  7267. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  7268. "use strict";
  7269. __webpack_require__.r(__webpack_exports__);
  7270. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  7271. /* harmony export */ "EffectScope": () => (/* binding */ EffectScope),
  7272. /* harmony export */ "ITERATE_KEY": () => (/* binding */ ITERATE_KEY),
  7273. /* harmony export */ "ReactiveEffect": () => (/* binding */ ReactiveEffect),
  7274. /* harmony export */ "computed": () => (/* binding */ computed),
  7275. /* harmony export */ "customRef": () => (/* binding */ customRef),
  7276. /* harmony export */ "deferredComputed": () => (/* binding */ deferredComputed),
  7277. /* harmony export */ "effect": () => (/* binding */ effect),
  7278. /* harmony export */ "effectScope": () => (/* binding */ effectScope),
  7279. /* harmony export */ "enableTracking": () => (/* binding */ enableTracking),
  7280. /* harmony export */ "getCurrentScope": () => (/* binding */ getCurrentScope),
  7281. /* harmony export */ "isProxy": () => (/* binding */ isProxy),
  7282. /* harmony export */ "isReactive": () => (/* binding */ isReactive),
  7283. /* harmony export */ "isReadonly": () => (/* binding */ isReadonly),
  7284. /* harmony export */ "isRef": () => (/* binding */ isRef),
  7285. /* harmony export */ "isShallow": () => (/* binding */ isShallow),
  7286. /* harmony export */ "markRaw": () => (/* binding */ markRaw),
  7287. /* harmony export */ "onScopeDispose": () => (/* binding */ onScopeDispose),
  7288. /* harmony export */ "pauseTracking": () => (/* binding */ pauseTracking),
  7289. /* harmony export */ "proxyRefs": () => (/* binding */ proxyRefs),
  7290. /* harmony export */ "reactive": () => (/* binding */ reactive),
  7291. /* harmony export */ "readonly": () => (/* binding */ readonly),
  7292. /* harmony export */ "ref": () => (/* binding */ ref),
  7293. /* harmony export */ "resetTracking": () => (/* binding */ resetTracking),
  7294. /* harmony export */ "shallowReactive": () => (/* binding */ shallowReactive),
  7295. /* harmony export */ "shallowReadonly": () => (/* binding */ shallowReadonly),
  7296. /* harmony export */ "shallowRef": () => (/* binding */ shallowRef),
  7297. /* harmony export */ "stop": () => (/* binding */ stop),
  7298. /* harmony export */ "toRaw": () => (/* binding */ toRaw),
  7299. /* harmony export */ "toRef": () => (/* binding */ toRef),
  7300. /* harmony export */ "toRefs": () => (/* binding */ toRefs),
  7301. /* harmony export */ "track": () => (/* binding */ track),
  7302. /* harmony export */ "trigger": () => (/* binding */ trigger),
  7303. /* harmony export */ "triggerRef": () => (/* binding */ triggerRef),
  7304. /* harmony export */ "unref": () => (/* binding */ unref)
  7305. /* harmony export */ });
  7306. /* harmony import */ var _vue_shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @vue/shared */ "./node_modules/@vue/shared/dist/shared.esm-bundler.js");
  7307. function warn(msg, ...args) {
  7308. console.warn(`[Vue warn] ${msg}`, ...args);
  7309. }
  7310. let activeEffectScope;
  7311. class EffectScope {
  7312. constructor(detached = false) {
  7313. /**
  7314. * @internal
  7315. */
  7316. this.active = true;
  7317. /**
  7318. * @internal
  7319. */
  7320. this.effects = [];
  7321. /**
  7322. * @internal
  7323. */
  7324. this.cleanups = [];
  7325. if (!detached && activeEffectScope) {
  7326. this.parent = activeEffectScope;
  7327. this.index =
  7328. (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;
  7329. }
  7330. }
  7331. run(fn) {
  7332. if (this.active) {
  7333. const currentEffectScope = activeEffectScope;
  7334. try {
  7335. activeEffectScope = this;
  7336. return fn();
  7337. }
  7338. finally {
  7339. activeEffectScope = currentEffectScope;
  7340. }
  7341. }
  7342. else if ((true)) {
  7343. warn(`cannot run an inactive effect scope.`);
  7344. }
  7345. }
  7346. /**
  7347. * This should only be called on non-detached scopes
  7348. * @internal
  7349. */
  7350. on() {
  7351. activeEffectScope = this;
  7352. }
  7353. /**
  7354. * This should only be called on non-detached scopes
  7355. * @internal
  7356. */
  7357. off() {
  7358. activeEffectScope = this.parent;
  7359. }
  7360. stop(fromParent) {
  7361. if (this.active) {
  7362. let i, l;
  7363. for (i = 0, l = this.effects.length; i < l; i++) {
  7364. this.effects[i].stop();
  7365. }
  7366. for (i = 0, l = this.cleanups.length; i < l; i++) {
  7367. this.cleanups[i]();
  7368. }
  7369. if (this.scopes) {
  7370. for (i = 0, l = this.scopes.length; i < l; i++) {
  7371. this.scopes[i].stop(true);
  7372. }
  7373. }
  7374. // nested scope, dereference from parent to avoid memory leaks
  7375. if (this.parent && !fromParent) {
  7376. // optimized O(1) removal
  7377. const last = this.parent.scopes.pop();
  7378. if (last && last !== this) {
  7379. this.parent.scopes[this.index] = last;
  7380. last.index = this.index;
  7381. }
  7382. }
  7383. this.active = false;
  7384. }
  7385. }
  7386. }
  7387. function effectScope(detached) {
  7388. return new EffectScope(detached);
  7389. }
  7390. function recordEffectScope(effect, scope = activeEffectScope) {
  7391. if (scope && scope.active) {
  7392. scope.effects.push(effect);
  7393. }
  7394. }
  7395. function getCurrentScope() {
  7396. return activeEffectScope;
  7397. }
  7398. function onScopeDispose(fn) {
  7399. if (activeEffectScope) {
  7400. activeEffectScope.cleanups.push(fn);
  7401. }
  7402. else if ((true)) {
  7403. warn(`onScopeDispose() is called when there is no active effect scope` +
  7404. ` to be associated with.`);
  7405. }
  7406. }
  7407. const createDep = (effects) => {
  7408. const dep = new Set(effects);
  7409. dep.w = 0;
  7410. dep.n = 0;
  7411. return dep;
  7412. };
  7413. const wasTracked = (dep) => (dep.w & trackOpBit) > 0;
  7414. const newTracked = (dep) => (dep.n & trackOpBit) > 0;
  7415. const initDepMarkers = ({ deps }) => {
  7416. if (deps.length) {
  7417. for (let i = 0; i < deps.length; i++) {
  7418. deps[i].w |= trackOpBit; // set was tracked
  7419. }
  7420. }
  7421. };
  7422. const finalizeDepMarkers = (effect) => {
  7423. const { deps } = effect;
  7424. if (deps.length) {
  7425. let ptr = 0;
  7426. for (let i = 0; i < deps.length; i++) {
  7427. const dep = deps[i];
  7428. if (wasTracked(dep) && !newTracked(dep)) {
  7429. dep.delete(effect);
  7430. }
  7431. else {
  7432. deps[ptr++] = dep;
  7433. }
  7434. // clear bits
  7435. dep.w &= ~trackOpBit;
  7436. dep.n &= ~trackOpBit;
  7437. }
  7438. deps.length = ptr;
  7439. }
  7440. };
  7441. const targetMap = new WeakMap();
  7442. // The number of effects currently being tracked recursively.
  7443. let effectTrackDepth = 0;
  7444. let trackOpBit = 1;
  7445. /**
  7446. * The bitwise track markers support at most 30 levels of recursion.
  7447. * This value is chosen to enable modern JS engines to use a SMI on all platforms.
  7448. * When recursion depth is greater, fall back to using a full cleanup.
  7449. */
  7450. const maxMarkerBits = 30;
  7451. let activeEffect;
  7452. const ITERATE_KEY = Symbol(( true) ? 'iterate' : 0);
  7453. const MAP_KEY_ITERATE_KEY = Symbol(( true) ? 'Map key iterate' : 0);
  7454. class ReactiveEffect {
  7455. constructor(fn, scheduler = null, scope) {
  7456. this.fn = fn;
  7457. this.scheduler = scheduler;
  7458. this.active = true;
  7459. this.deps = [];
  7460. this.parent = undefined;
  7461. recordEffectScope(this, scope);
  7462. }
  7463. run() {
  7464. if (!this.active) {
  7465. return this.fn();
  7466. }
  7467. let parent = activeEffect;
  7468. let lastShouldTrack = shouldTrack;
  7469. while (parent) {
  7470. if (parent === this) {
  7471. return;
  7472. }
  7473. parent = parent.parent;
  7474. }
  7475. try {
  7476. this.parent = activeEffect;
  7477. activeEffect = this;
  7478. shouldTrack = true;
  7479. trackOpBit = 1 << ++effectTrackDepth;
  7480. if (effectTrackDepth <= maxMarkerBits) {
  7481. initDepMarkers(this);
  7482. }
  7483. else {
  7484. cleanupEffect(this);
  7485. }
  7486. return this.fn();
  7487. }
  7488. finally {
  7489. if (effectTrackDepth <= maxMarkerBits) {
  7490. finalizeDepMarkers(this);
  7491. }
  7492. trackOpBit = 1 << --effectTrackDepth;
  7493. activeEffect = this.parent;
  7494. shouldTrack = lastShouldTrack;
  7495. this.parent = undefined;
  7496. if (this.deferStop) {
  7497. this.stop();
  7498. }
  7499. }
  7500. }
  7501. stop() {
  7502. // stopped while running itself - defer the cleanup
  7503. if (activeEffect === this) {
  7504. this.deferStop = true;
  7505. }
  7506. else if (this.active) {
  7507. cleanupEffect(this);
  7508. if (this.onStop) {
  7509. this.onStop();
  7510. }
  7511. this.active = false;
  7512. }
  7513. }
  7514. }
  7515. function cleanupEffect(effect) {
  7516. const { deps } = effect;
  7517. if (deps.length) {
  7518. for (let i = 0; i < deps.length; i++) {
  7519. deps[i].delete(effect);
  7520. }
  7521. deps.length = 0;
  7522. }
  7523. }
  7524. function effect(fn, options) {
  7525. if (fn.effect) {
  7526. fn = fn.effect.fn;
  7527. }
  7528. const _effect = new ReactiveEffect(fn);
  7529. if (options) {
  7530. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.extend)(_effect, options);
  7531. if (options.scope)
  7532. recordEffectScope(_effect, options.scope);
  7533. }
  7534. if (!options || !options.lazy) {
  7535. _effect.run();
  7536. }
  7537. const runner = _effect.run.bind(_effect);
  7538. runner.effect = _effect;
  7539. return runner;
  7540. }
  7541. function stop(runner) {
  7542. runner.effect.stop();
  7543. }
  7544. let shouldTrack = true;
  7545. const trackStack = [];
  7546. function pauseTracking() {
  7547. trackStack.push(shouldTrack);
  7548. shouldTrack = false;
  7549. }
  7550. function enableTracking() {
  7551. trackStack.push(shouldTrack);
  7552. shouldTrack = true;
  7553. }
  7554. function resetTracking() {
  7555. const last = trackStack.pop();
  7556. shouldTrack = last === undefined ? true : last;
  7557. }
  7558. function track(target, type, key) {
  7559. if (shouldTrack && activeEffect) {
  7560. let depsMap = targetMap.get(target);
  7561. if (!depsMap) {
  7562. targetMap.set(target, (depsMap = new Map()));
  7563. }
  7564. let dep = depsMap.get(key);
  7565. if (!dep) {
  7566. depsMap.set(key, (dep = createDep()));
  7567. }
  7568. const eventInfo = ( true)
  7569. ? { effect: activeEffect, target, type, key }
  7570. : 0;
  7571. trackEffects(dep, eventInfo);
  7572. }
  7573. }
  7574. function trackEffects(dep, debuggerEventExtraInfo) {
  7575. let shouldTrack = false;
  7576. if (effectTrackDepth <= maxMarkerBits) {
  7577. if (!newTracked(dep)) {
  7578. dep.n |= trackOpBit; // set newly tracked
  7579. shouldTrack = !wasTracked(dep);
  7580. }
  7581. }
  7582. else {
  7583. // Full cleanup mode.
  7584. shouldTrack = !dep.has(activeEffect);
  7585. }
  7586. if (shouldTrack) {
  7587. dep.add(activeEffect);
  7588. activeEffect.deps.push(dep);
  7589. if (( true) && activeEffect.onTrack) {
  7590. activeEffect.onTrack(Object.assign({ effect: activeEffect }, debuggerEventExtraInfo));
  7591. }
  7592. }
  7593. }
  7594. function trigger(target, type, key, newValue, oldValue, oldTarget) {
  7595. const depsMap = targetMap.get(target);
  7596. if (!depsMap) {
  7597. // never been tracked
  7598. return;
  7599. }
  7600. let deps = [];
  7601. if (type === "clear" /* CLEAR */) {
  7602. // collection being cleared
  7603. // trigger all effects for target
  7604. deps = [...depsMap.values()];
  7605. }
  7606. else if (key === 'length' && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(target)) {
  7607. depsMap.forEach((dep, key) => {
  7608. if (key === 'length' || key >= newValue) {
  7609. deps.push(dep);
  7610. }
  7611. });
  7612. }
  7613. else {
  7614. // schedule runs for SET | ADD | DELETE
  7615. if (key !== void 0) {
  7616. deps.push(depsMap.get(key));
  7617. }
  7618. // also run for iteration key on ADD | DELETE | Map.SET
  7619. switch (type) {
  7620. case "add" /* ADD */:
  7621. if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(target)) {
  7622. deps.push(depsMap.get(ITERATE_KEY));
  7623. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isMap)(target)) {
  7624. deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));
  7625. }
  7626. }
  7627. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isIntegerKey)(key)) {
  7628. // new index added to array -> length changes
  7629. deps.push(depsMap.get('length'));
  7630. }
  7631. break;
  7632. case "delete" /* DELETE */:
  7633. if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(target)) {
  7634. deps.push(depsMap.get(ITERATE_KEY));
  7635. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isMap)(target)) {
  7636. deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));
  7637. }
  7638. }
  7639. break;
  7640. case "set" /* SET */:
  7641. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isMap)(target)) {
  7642. deps.push(depsMap.get(ITERATE_KEY));
  7643. }
  7644. break;
  7645. }
  7646. }
  7647. const eventInfo = ( true)
  7648. ? { target, type, key, newValue, oldValue, oldTarget }
  7649. : 0;
  7650. if (deps.length === 1) {
  7651. if (deps[0]) {
  7652. if ((true)) {
  7653. triggerEffects(deps[0], eventInfo);
  7654. }
  7655. else {}
  7656. }
  7657. }
  7658. else {
  7659. const effects = [];
  7660. for (const dep of deps) {
  7661. if (dep) {
  7662. effects.push(...dep);
  7663. }
  7664. }
  7665. if ((true)) {
  7666. triggerEffects(createDep(effects), eventInfo);
  7667. }
  7668. else {}
  7669. }
  7670. }
  7671. function triggerEffects(dep, debuggerEventExtraInfo) {
  7672. // spread into array for stabilization
  7673. for (const effect of (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(dep) ? dep : [...dep]) {
  7674. if (effect !== activeEffect || effect.allowRecurse) {
  7675. if (( true) && effect.onTrigger) {
  7676. effect.onTrigger((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.extend)({ effect }, debuggerEventExtraInfo));
  7677. }
  7678. if (effect.scheduler) {
  7679. effect.scheduler();
  7680. }
  7681. else {
  7682. effect.run();
  7683. }
  7684. }
  7685. }
  7686. }
  7687. const isNonTrackableKeys = /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.makeMap)(`__proto__,__v_isRef,__isVue`);
  7688. const builtInSymbols = new Set(
  7689. /*#__PURE__*/
  7690. Object.getOwnPropertyNames(Symbol)
  7691. .map(key => Symbol[key])
  7692. .filter(_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isSymbol));
  7693. const get = /*#__PURE__*/ createGetter();
  7694. const shallowGet = /*#__PURE__*/ createGetter(false, true);
  7695. const readonlyGet = /*#__PURE__*/ createGetter(true);
  7696. const shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);
  7697. const arrayInstrumentations = /*#__PURE__*/ createArrayInstrumentations();
  7698. function createArrayInstrumentations() {
  7699. const instrumentations = {};
  7700. ['includes', 'indexOf', 'lastIndexOf'].forEach(key => {
  7701. instrumentations[key] = function (...args) {
  7702. const arr = toRaw(this);
  7703. for (let i = 0, l = this.length; i < l; i++) {
  7704. track(arr, "get" /* GET */, i + '');
  7705. }
  7706. // we run the method using the original args first (which may be reactive)
  7707. const res = arr[key](...args);
  7708. if (res === -1 || res === false) {
  7709. // if that didn't work, run it again using raw values.
  7710. return arr[key](...args.map(toRaw));
  7711. }
  7712. else {
  7713. return res;
  7714. }
  7715. };
  7716. });
  7717. ['push', 'pop', 'shift', 'unshift', 'splice'].forEach(key => {
  7718. instrumentations[key] = function (...args) {
  7719. pauseTracking();
  7720. const res = toRaw(this)[key].apply(this, args);
  7721. resetTracking();
  7722. return res;
  7723. };
  7724. });
  7725. return instrumentations;
  7726. }
  7727. function createGetter(isReadonly = false, shallow = false) {
  7728. return function get(target, key, receiver) {
  7729. if (key === "__v_isReactive" /* IS_REACTIVE */) {
  7730. return !isReadonly;
  7731. }
  7732. else if (key === "__v_isReadonly" /* IS_READONLY */) {
  7733. return isReadonly;
  7734. }
  7735. else if (key === "__v_isShallow" /* IS_SHALLOW */) {
  7736. return shallow;
  7737. }
  7738. else if (key === "__v_raw" /* RAW */ &&
  7739. receiver ===
  7740. (isReadonly
  7741. ? shallow
  7742. ? shallowReadonlyMap
  7743. : readonlyMap
  7744. : shallow
  7745. ? shallowReactiveMap
  7746. : reactiveMap).get(target)) {
  7747. return target;
  7748. }
  7749. const targetIsArray = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(target);
  7750. if (!isReadonly && targetIsArray && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hasOwn)(arrayInstrumentations, key)) {
  7751. return Reflect.get(arrayInstrumentations, key, receiver);
  7752. }
  7753. const res = Reflect.get(target, key, receiver);
  7754. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isSymbol)(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {
  7755. return res;
  7756. }
  7757. if (!isReadonly) {
  7758. track(target, "get" /* GET */, key);
  7759. }
  7760. if (shallow) {
  7761. return res;
  7762. }
  7763. if (isRef(res)) {
  7764. // ref unwrapping - does not apply for Array + integer key.
  7765. const shouldUnwrap = !targetIsArray || !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isIntegerKey)(key);
  7766. return shouldUnwrap ? res.value : res;
  7767. }
  7768. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isObject)(res)) {
  7769. // Convert returned value into a proxy as well. we do the isObject check
  7770. // here to avoid invalid value warning. Also need to lazy access readonly
  7771. // and reactive here to avoid circular dependency.
  7772. return isReadonly ? readonly(res) : reactive(res);
  7773. }
  7774. return res;
  7775. };
  7776. }
  7777. const set = /*#__PURE__*/ createSetter();
  7778. const shallowSet = /*#__PURE__*/ createSetter(true);
  7779. function createSetter(shallow = false) {
  7780. return function set(target, key, value, receiver) {
  7781. let oldValue = target[key];
  7782. if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {
  7783. return false;
  7784. }
  7785. if (!shallow && !isReadonly(value)) {
  7786. if (!isShallow(value)) {
  7787. value = toRaw(value);
  7788. oldValue = toRaw(oldValue);
  7789. }
  7790. if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(target) && isRef(oldValue) && !isRef(value)) {
  7791. oldValue.value = value;
  7792. return true;
  7793. }
  7794. }
  7795. const hadKey = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(target) && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isIntegerKey)(key)
  7796. ? Number(key) < target.length
  7797. : (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hasOwn)(target, key);
  7798. const result = Reflect.set(target, key, value, receiver);
  7799. // don't trigger if target is something up in the prototype chain of original
  7800. if (target === toRaw(receiver)) {
  7801. if (!hadKey) {
  7802. trigger(target, "add" /* ADD */, key, value);
  7803. }
  7804. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hasChanged)(value, oldValue)) {
  7805. trigger(target, "set" /* SET */, key, value, oldValue);
  7806. }
  7807. }
  7808. return result;
  7809. };
  7810. }
  7811. function deleteProperty(target, key) {
  7812. const hadKey = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hasOwn)(target, key);
  7813. const oldValue = target[key];
  7814. const result = Reflect.deleteProperty(target, key);
  7815. if (result && hadKey) {
  7816. trigger(target, "delete" /* DELETE */, key, undefined, oldValue);
  7817. }
  7818. return result;
  7819. }
  7820. function has(target, key) {
  7821. const result = Reflect.has(target, key);
  7822. if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isSymbol)(key) || !builtInSymbols.has(key)) {
  7823. track(target, "has" /* HAS */, key);
  7824. }
  7825. return result;
  7826. }
  7827. function ownKeys(target) {
  7828. track(target, "iterate" /* ITERATE */, (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(target) ? 'length' : ITERATE_KEY);
  7829. return Reflect.ownKeys(target);
  7830. }
  7831. const mutableHandlers = {
  7832. get,
  7833. set,
  7834. deleteProperty,
  7835. has,
  7836. ownKeys
  7837. };
  7838. const readonlyHandlers = {
  7839. get: readonlyGet,
  7840. set(target, key) {
  7841. if ((true)) {
  7842. warn(`Set operation on key "${String(key)}" failed: target is readonly.`, target);
  7843. }
  7844. return true;
  7845. },
  7846. deleteProperty(target, key) {
  7847. if ((true)) {
  7848. warn(`Delete operation on key "${String(key)}" failed: target is readonly.`, target);
  7849. }
  7850. return true;
  7851. }
  7852. };
  7853. const shallowReactiveHandlers = /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.extend)({}, mutableHandlers, {
  7854. get: shallowGet,
  7855. set: shallowSet
  7856. });
  7857. // Props handlers are special in the sense that it should not unwrap top-level
  7858. // refs (in order to allow refs to be explicitly passed down), but should
  7859. // retain the reactivity of the normal readonly object.
  7860. const shallowReadonlyHandlers = /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.extend)({}, readonlyHandlers, {
  7861. get: shallowReadonlyGet
  7862. });
  7863. const toShallow = (value) => value;
  7864. const getProto = (v) => Reflect.getPrototypeOf(v);
  7865. function get$1(target, key, isReadonly = false, isShallow = false) {
  7866. // #1772: readonly(reactive(Map)) should return readonly + reactive version
  7867. // of the value
  7868. target = target["__v_raw" /* RAW */];
  7869. const rawTarget = toRaw(target);
  7870. const rawKey = toRaw(key);
  7871. if (key !== rawKey) {
  7872. !isReadonly && track(rawTarget, "get" /* GET */, key);
  7873. }
  7874. !isReadonly && track(rawTarget, "get" /* GET */, rawKey);
  7875. const { has } = getProto(rawTarget);
  7876. const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
  7877. if (has.call(rawTarget, key)) {
  7878. return wrap(target.get(key));
  7879. }
  7880. else if (has.call(rawTarget, rawKey)) {
  7881. return wrap(target.get(rawKey));
  7882. }
  7883. else if (target !== rawTarget) {
  7884. // #3602 readonly(reactive(Map))
  7885. // ensure that the nested reactive `Map` can do tracking for itself
  7886. target.get(key);
  7887. }
  7888. }
  7889. function has$1(key, isReadonly = false) {
  7890. const target = this["__v_raw" /* RAW */];
  7891. const rawTarget = toRaw(target);
  7892. const rawKey = toRaw(key);
  7893. if (key !== rawKey) {
  7894. !isReadonly && track(rawTarget, "has" /* HAS */, key);
  7895. }
  7896. !isReadonly && track(rawTarget, "has" /* HAS */, rawKey);
  7897. return key === rawKey
  7898. ? target.has(key)
  7899. : target.has(key) || target.has(rawKey);
  7900. }
  7901. function size(target, isReadonly = false) {
  7902. target = target["__v_raw" /* RAW */];
  7903. !isReadonly && track(toRaw(target), "iterate" /* ITERATE */, ITERATE_KEY);
  7904. return Reflect.get(target, 'size', target);
  7905. }
  7906. function add(value) {
  7907. value = toRaw(value);
  7908. const target = toRaw(this);
  7909. const proto = getProto(target);
  7910. const hadKey = proto.has.call(target, value);
  7911. if (!hadKey) {
  7912. target.add(value);
  7913. trigger(target, "add" /* ADD */, value, value);
  7914. }
  7915. return this;
  7916. }
  7917. function set$1(key, value) {
  7918. value = toRaw(value);
  7919. const target = toRaw(this);
  7920. const { has, get } = getProto(target);
  7921. let hadKey = has.call(target, key);
  7922. if (!hadKey) {
  7923. key = toRaw(key);
  7924. hadKey = has.call(target, key);
  7925. }
  7926. else if ((true)) {
  7927. checkIdentityKeys(target, has, key);
  7928. }
  7929. const oldValue = get.call(target, key);
  7930. target.set(key, value);
  7931. if (!hadKey) {
  7932. trigger(target, "add" /* ADD */, key, value);
  7933. }
  7934. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hasChanged)(value, oldValue)) {
  7935. trigger(target, "set" /* SET */, key, value, oldValue);
  7936. }
  7937. return this;
  7938. }
  7939. function deleteEntry(key) {
  7940. const target = toRaw(this);
  7941. const { has, get } = getProto(target);
  7942. let hadKey = has.call(target, key);
  7943. if (!hadKey) {
  7944. key = toRaw(key);
  7945. hadKey = has.call(target, key);
  7946. }
  7947. else if ((true)) {
  7948. checkIdentityKeys(target, has, key);
  7949. }
  7950. const oldValue = get ? get.call(target, key) : undefined;
  7951. // forward the operation before queueing reactions
  7952. const result = target.delete(key);
  7953. if (hadKey) {
  7954. trigger(target, "delete" /* DELETE */, key, undefined, oldValue);
  7955. }
  7956. return result;
  7957. }
  7958. function clear() {
  7959. const target = toRaw(this);
  7960. const hadItems = target.size !== 0;
  7961. const oldTarget = ( true)
  7962. ? (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isMap)(target)
  7963. ? new Map(target)
  7964. : new Set(target)
  7965. : 0;
  7966. // forward the operation before queueing reactions
  7967. const result = target.clear();
  7968. if (hadItems) {
  7969. trigger(target, "clear" /* CLEAR */, undefined, undefined, oldTarget);
  7970. }
  7971. return result;
  7972. }
  7973. function createForEach(isReadonly, isShallow) {
  7974. return function forEach(callback, thisArg) {
  7975. const observed = this;
  7976. const target = observed["__v_raw" /* RAW */];
  7977. const rawTarget = toRaw(target);
  7978. const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
  7979. !isReadonly && track(rawTarget, "iterate" /* ITERATE */, ITERATE_KEY);
  7980. return target.forEach((value, key) => {
  7981. // important: make sure the callback is
  7982. // 1. invoked with the reactive map as `this` and 3rd arg
  7983. // 2. the value received should be a corresponding reactive/readonly.
  7984. return callback.call(thisArg, wrap(value), wrap(key), observed);
  7985. });
  7986. };
  7987. }
  7988. function createIterableMethod(method, isReadonly, isShallow) {
  7989. return function (...args) {
  7990. const target = this["__v_raw" /* RAW */];
  7991. const rawTarget = toRaw(target);
  7992. const targetIsMap = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isMap)(rawTarget);
  7993. const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);
  7994. const isKeyOnly = method === 'keys' && targetIsMap;
  7995. const innerIterator = target[method](...args);
  7996. const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
  7997. !isReadonly &&
  7998. track(rawTarget, "iterate" /* ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);
  7999. // return a wrapped iterator which returns observed versions of the
  8000. // values emitted from the real iterator
  8001. return {
  8002. // iterator protocol
  8003. next() {
  8004. const { value, done } = innerIterator.next();
  8005. return done
  8006. ? { value, done }
  8007. : {
  8008. value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),
  8009. done
  8010. };
  8011. },
  8012. // iterable protocol
  8013. [Symbol.iterator]() {
  8014. return this;
  8015. }
  8016. };
  8017. };
  8018. }
  8019. function createReadonlyMethod(type) {
  8020. return function (...args) {
  8021. if ((true)) {
  8022. const key = args[0] ? `on key "${args[0]}" ` : ``;
  8023. console.warn(`${(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.capitalize)(type)} operation ${key}failed: target is readonly.`, toRaw(this));
  8024. }
  8025. return type === "delete" /* DELETE */ ? false : this;
  8026. };
  8027. }
  8028. function createInstrumentations() {
  8029. const mutableInstrumentations = {
  8030. get(key) {
  8031. return get$1(this, key);
  8032. },
  8033. get size() {
  8034. return size(this);
  8035. },
  8036. has: has$1,
  8037. add,
  8038. set: set$1,
  8039. delete: deleteEntry,
  8040. clear,
  8041. forEach: createForEach(false, false)
  8042. };
  8043. const shallowInstrumentations = {
  8044. get(key) {
  8045. return get$1(this, key, false, true);
  8046. },
  8047. get size() {
  8048. return size(this);
  8049. },
  8050. has: has$1,
  8051. add,
  8052. set: set$1,
  8053. delete: deleteEntry,
  8054. clear,
  8055. forEach: createForEach(false, true)
  8056. };
  8057. const readonlyInstrumentations = {
  8058. get(key) {
  8059. return get$1(this, key, true);
  8060. },
  8061. get size() {
  8062. return size(this, true);
  8063. },
  8064. has(key) {
  8065. return has$1.call(this, key, true);
  8066. },
  8067. add: createReadonlyMethod("add" /* ADD */),
  8068. set: createReadonlyMethod("set" /* SET */),
  8069. delete: createReadonlyMethod("delete" /* DELETE */),
  8070. clear: createReadonlyMethod("clear" /* CLEAR */),
  8071. forEach: createForEach(true, false)
  8072. };
  8073. const shallowReadonlyInstrumentations = {
  8074. get(key) {
  8075. return get$1(this, key, true, true);
  8076. },
  8077. get size() {
  8078. return size(this, true);
  8079. },
  8080. has(key) {
  8081. return has$1.call(this, key, true);
  8082. },
  8083. add: createReadonlyMethod("add" /* ADD */),
  8084. set: createReadonlyMethod("set" /* SET */),
  8085. delete: createReadonlyMethod("delete" /* DELETE */),
  8086. clear: createReadonlyMethod("clear" /* CLEAR */),
  8087. forEach: createForEach(true, true)
  8088. };
  8089. const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];
  8090. iteratorMethods.forEach(method => {
  8091. mutableInstrumentations[method] = createIterableMethod(method, false, false);
  8092. readonlyInstrumentations[method] = createIterableMethod(method, true, false);
  8093. shallowInstrumentations[method] = createIterableMethod(method, false, true);
  8094. shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true);
  8095. });
  8096. return [
  8097. mutableInstrumentations,
  8098. readonlyInstrumentations,
  8099. shallowInstrumentations,
  8100. shallowReadonlyInstrumentations
  8101. ];
  8102. }
  8103. const [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* #__PURE__*/ createInstrumentations();
  8104. function createInstrumentationGetter(isReadonly, shallow) {
  8105. const instrumentations = shallow
  8106. ? isReadonly
  8107. ? shallowReadonlyInstrumentations
  8108. : shallowInstrumentations
  8109. : isReadonly
  8110. ? readonlyInstrumentations
  8111. : mutableInstrumentations;
  8112. return (target, key, receiver) => {
  8113. if (key === "__v_isReactive" /* IS_REACTIVE */) {
  8114. return !isReadonly;
  8115. }
  8116. else if (key === "__v_isReadonly" /* IS_READONLY */) {
  8117. return isReadonly;
  8118. }
  8119. else if (key === "__v_raw" /* RAW */) {
  8120. return target;
  8121. }
  8122. return Reflect.get((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hasOwn)(instrumentations, key) && key in target
  8123. ? instrumentations
  8124. : target, key, receiver);
  8125. };
  8126. }
  8127. const mutableCollectionHandlers = {
  8128. get: /*#__PURE__*/ createInstrumentationGetter(false, false)
  8129. };
  8130. const shallowCollectionHandlers = {
  8131. get: /*#__PURE__*/ createInstrumentationGetter(false, true)
  8132. };
  8133. const readonlyCollectionHandlers = {
  8134. get: /*#__PURE__*/ createInstrumentationGetter(true, false)
  8135. };
  8136. const shallowReadonlyCollectionHandlers = {
  8137. get: /*#__PURE__*/ createInstrumentationGetter(true, true)
  8138. };
  8139. function checkIdentityKeys(target, has, key) {
  8140. const rawKey = toRaw(key);
  8141. if (rawKey !== key && has.call(target, rawKey)) {
  8142. const type = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.toRawType)(target);
  8143. console.warn(`Reactive ${type} contains both the raw and reactive ` +
  8144. `versions of the same object${type === `Map` ? ` as keys` : ``}, ` +
  8145. `which can lead to inconsistencies. ` +
  8146. `Avoid differentiating between the raw and reactive versions ` +
  8147. `of an object and only use the reactive version if possible.`);
  8148. }
  8149. }
  8150. const reactiveMap = new WeakMap();
  8151. const shallowReactiveMap = new WeakMap();
  8152. const readonlyMap = new WeakMap();
  8153. const shallowReadonlyMap = new WeakMap();
  8154. function targetTypeMap(rawType) {
  8155. switch (rawType) {
  8156. case 'Object':
  8157. case 'Array':
  8158. return 1 /* COMMON */;
  8159. case 'Map':
  8160. case 'Set':
  8161. case 'WeakMap':
  8162. case 'WeakSet':
  8163. return 2 /* COLLECTION */;
  8164. default:
  8165. return 0 /* INVALID */;
  8166. }
  8167. }
  8168. function getTargetType(value) {
  8169. return value["__v_skip" /* SKIP */] || !Object.isExtensible(value)
  8170. ? 0 /* INVALID */
  8171. : targetTypeMap((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.toRawType)(value));
  8172. }
  8173. function reactive(target) {
  8174. // if trying to observe a readonly proxy, return the readonly version.
  8175. if (isReadonly(target)) {
  8176. return target;
  8177. }
  8178. return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);
  8179. }
  8180. /**
  8181. * Return a shallowly-reactive copy of the original object, where only the root
  8182. * level properties are reactive. It also does not auto-unwrap refs (even at the
  8183. * root level).
  8184. */
  8185. function shallowReactive(target) {
  8186. return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);
  8187. }
  8188. /**
  8189. * Creates a readonly copy of the original object. Note the returned copy is not
  8190. * made reactive, but `readonly` can be called on an already reactive object.
  8191. */
  8192. function readonly(target) {
  8193. return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);
  8194. }
  8195. /**
  8196. * Returns a reactive-copy of the original object, where only the root level
  8197. * properties are readonly, and does NOT unwrap refs nor recursively convert
  8198. * returned properties.
  8199. * This is used for creating the props proxy object for stateful components.
  8200. */
  8201. function shallowReadonly(target) {
  8202. return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);
  8203. }
  8204. function createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers, proxyMap) {
  8205. if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isObject)(target)) {
  8206. if ((true)) {
  8207. console.warn(`value cannot be made reactive: ${String(target)}`);
  8208. }
  8209. return target;
  8210. }
  8211. // target is already a Proxy, return it.
  8212. // exception: calling readonly() on a reactive object
  8213. if (target["__v_raw" /* RAW */] &&
  8214. !(isReadonly && target["__v_isReactive" /* IS_REACTIVE */])) {
  8215. return target;
  8216. }
  8217. // target already has corresponding Proxy
  8218. const existingProxy = proxyMap.get(target);
  8219. if (existingProxy) {
  8220. return existingProxy;
  8221. }
  8222. // only a whitelist of value types can be observed.
  8223. const targetType = getTargetType(target);
  8224. if (targetType === 0 /* INVALID */) {
  8225. return target;
  8226. }
  8227. const proxy = new Proxy(target, targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers);
  8228. proxyMap.set(target, proxy);
  8229. return proxy;
  8230. }
  8231. function isReactive(value) {
  8232. if (isReadonly(value)) {
  8233. return isReactive(value["__v_raw" /* RAW */]);
  8234. }
  8235. return !!(value && value["__v_isReactive" /* IS_REACTIVE */]);
  8236. }
  8237. function isReadonly(value) {
  8238. return !!(value && value["__v_isReadonly" /* IS_READONLY */]);
  8239. }
  8240. function isShallow(value) {
  8241. return !!(value && value["__v_isShallow" /* IS_SHALLOW */]);
  8242. }
  8243. function isProxy(value) {
  8244. return isReactive(value) || isReadonly(value);
  8245. }
  8246. function toRaw(observed) {
  8247. const raw = observed && observed["__v_raw" /* RAW */];
  8248. return raw ? toRaw(raw) : observed;
  8249. }
  8250. function markRaw(value) {
  8251. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.def)(value, "__v_skip" /* SKIP */, true);
  8252. return value;
  8253. }
  8254. const toReactive = (value) => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isObject)(value) ? reactive(value) : value;
  8255. const toReadonly = (value) => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isObject)(value) ? readonly(value) : value;
  8256. function trackRefValue(ref) {
  8257. if (shouldTrack && activeEffect) {
  8258. ref = toRaw(ref);
  8259. if ((true)) {
  8260. trackEffects(ref.dep || (ref.dep = createDep()), {
  8261. target: ref,
  8262. type: "get" /* GET */,
  8263. key: 'value'
  8264. });
  8265. }
  8266. else {}
  8267. }
  8268. }
  8269. function triggerRefValue(ref, newVal) {
  8270. ref = toRaw(ref);
  8271. if (ref.dep) {
  8272. if ((true)) {
  8273. triggerEffects(ref.dep, {
  8274. target: ref,
  8275. type: "set" /* SET */,
  8276. key: 'value',
  8277. newValue: newVal
  8278. });
  8279. }
  8280. else {}
  8281. }
  8282. }
  8283. function isRef(r) {
  8284. return !!(r && r.__v_isRef === true);
  8285. }
  8286. function ref(value) {
  8287. return createRef(value, false);
  8288. }
  8289. function shallowRef(value) {
  8290. return createRef(value, true);
  8291. }
  8292. function createRef(rawValue, shallow) {
  8293. if (isRef(rawValue)) {
  8294. return rawValue;
  8295. }
  8296. return new RefImpl(rawValue, shallow);
  8297. }
  8298. class RefImpl {
  8299. constructor(value, __v_isShallow) {
  8300. this.__v_isShallow = __v_isShallow;
  8301. this.dep = undefined;
  8302. this.__v_isRef = true;
  8303. this._rawValue = __v_isShallow ? value : toRaw(value);
  8304. this._value = __v_isShallow ? value : toReactive(value);
  8305. }
  8306. get value() {
  8307. trackRefValue(this);
  8308. return this._value;
  8309. }
  8310. set value(newVal) {
  8311. newVal = this.__v_isShallow ? newVal : toRaw(newVal);
  8312. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.hasChanged)(newVal, this._rawValue)) {
  8313. this._rawValue = newVal;
  8314. this._value = this.__v_isShallow ? newVal : toReactive(newVal);
  8315. triggerRefValue(this, newVal);
  8316. }
  8317. }
  8318. }
  8319. function triggerRef(ref) {
  8320. triggerRefValue(ref, ( true) ? ref.value : 0);
  8321. }
  8322. function unref(ref) {
  8323. return isRef(ref) ? ref.value : ref;
  8324. }
  8325. const shallowUnwrapHandlers = {
  8326. get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),
  8327. set: (target, key, value, receiver) => {
  8328. const oldValue = target[key];
  8329. if (isRef(oldValue) && !isRef(value)) {
  8330. oldValue.value = value;
  8331. return true;
  8332. }
  8333. else {
  8334. return Reflect.set(target, key, value, receiver);
  8335. }
  8336. }
  8337. };
  8338. function proxyRefs(objectWithRefs) {
  8339. return isReactive(objectWithRefs)
  8340. ? objectWithRefs
  8341. : new Proxy(objectWithRefs, shallowUnwrapHandlers);
  8342. }
  8343. class CustomRefImpl {
  8344. constructor(factory) {
  8345. this.dep = undefined;
  8346. this.__v_isRef = true;
  8347. const { get, set } = factory(() => trackRefValue(this), () => triggerRefValue(this));
  8348. this._get = get;
  8349. this._set = set;
  8350. }
  8351. get value() {
  8352. return this._get();
  8353. }
  8354. set value(newVal) {
  8355. this._set(newVal);
  8356. }
  8357. }
  8358. function customRef(factory) {
  8359. return new CustomRefImpl(factory);
  8360. }
  8361. function toRefs(object) {
  8362. if (( true) && !isProxy(object)) {
  8363. console.warn(`toRefs() expects a reactive object but received a plain one.`);
  8364. }
  8365. const ret = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isArray)(object) ? new Array(object.length) : {};
  8366. for (const key in object) {
  8367. ret[key] = toRef(object, key);
  8368. }
  8369. return ret;
  8370. }
  8371. class ObjectRefImpl {
  8372. constructor(_object, _key, _defaultValue) {
  8373. this._object = _object;
  8374. this._key = _key;
  8375. this._defaultValue = _defaultValue;
  8376. this.__v_isRef = true;
  8377. }
  8378. get value() {
  8379. const val = this._object[this._key];
  8380. return val === undefined ? this._defaultValue : val;
  8381. }
  8382. set value(newVal) {
  8383. this._object[this._key] = newVal;
  8384. }
  8385. }
  8386. function toRef(object, key, defaultValue) {
  8387. const val = object[key];
  8388. return isRef(val)
  8389. ? val
  8390. : new ObjectRefImpl(object, key, defaultValue);
  8391. }
  8392. class ComputedRefImpl {
  8393. constructor(getter, _setter, isReadonly, isSSR) {
  8394. this._setter = _setter;
  8395. this.dep = undefined;
  8396. this.__v_isRef = true;
  8397. this._dirty = true;
  8398. this.effect = new ReactiveEffect(getter, () => {
  8399. if (!this._dirty) {
  8400. this._dirty = true;
  8401. triggerRefValue(this);
  8402. }
  8403. });
  8404. this.effect.computed = this;
  8405. this.effect.active = this._cacheable = !isSSR;
  8406. this["__v_isReadonly" /* IS_READONLY */] = isReadonly;
  8407. }
  8408. get value() {
  8409. // the computed ref may get wrapped by other proxies e.g. readonly() #3376
  8410. const self = toRaw(this);
  8411. trackRefValue(self);
  8412. if (self._dirty || !self._cacheable) {
  8413. self._dirty = false;
  8414. self._value = self.effect.run();
  8415. }
  8416. return self._value;
  8417. }
  8418. set value(newValue) {
  8419. this._setter(newValue);
  8420. }
  8421. }
  8422. function computed(getterOrOptions, debugOptions, isSSR = false) {
  8423. let getter;
  8424. let setter;
  8425. const onlyGetter = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_0__.isFunction)(getterOrOptions);
  8426. if (onlyGetter) {
  8427. getter = getterOrOptions;
  8428. setter = ( true)
  8429. ? () => {
  8430. console.warn('Write operation failed: computed value is readonly');
  8431. }
  8432. : 0;
  8433. }
  8434. else {
  8435. getter = getterOrOptions.get;
  8436. setter = getterOrOptions.set;
  8437. }
  8438. const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);
  8439. if (( true) && debugOptions && !isSSR) {
  8440. cRef.effect.onTrack = debugOptions.onTrack;
  8441. cRef.effect.onTrigger = debugOptions.onTrigger;
  8442. }
  8443. return cRef;
  8444. }
  8445. var _a;
  8446. const tick = /*#__PURE__*/ Promise.resolve();
  8447. const queue = [];
  8448. let queued = false;
  8449. const scheduler = (fn) => {
  8450. queue.push(fn);
  8451. if (!queued) {
  8452. queued = true;
  8453. tick.then(flush);
  8454. }
  8455. };
  8456. const flush = () => {
  8457. for (let i = 0; i < queue.length; i++) {
  8458. queue[i]();
  8459. }
  8460. queue.length = 0;
  8461. queued = false;
  8462. };
  8463. class DeferredComputedRefImpl {
  8464. constructor(getter) {
  8465. this.dep = undefined;
  8466. this._dirty = true;
  8467. this.__v_isRef = true;
  8468. this[_a] = true;
  8469. let compareTarget;
  8470. let hasCompareTarget = false;
  8471. let scheduled = false;
  8472. this.effect = new ReactiveEffect(getter, (computedTrigger) => {
  8473. if (this.dep) {
  8474. if (computedTrigger) {
  8475. compareTarget = this._value;
  8476. hasCompareTarget = true;
  8477. }
  8478. else if (!scheduled) {
  8479. const valueToCompare = hasCompareTarget ? compareTarget : this._value;
  8480. scheduled = true;
  8481. hasCompareTarget = false;
  8482. scheduler(() => {
  8483. if (this.effect.active && this._get() !== valueToCompare) {
  8484. triggerRefValue(this);
  8485. }
  8486. scheduled = false;
  8487. });
  8488. }
  8489. // chained upstream computeds are notified synchronously to ensure
  8490. // value invalidation in case of sync access; normal effects are
  8491. // deferred to be triggered in scheduler.
  8492. for (const e of this.dep) {
  8493. if (e.computed instanceof DeferredComputedRefImpl) {
  8494. e.scheduler(true /* computedTrigger */);
  8495. }
  8496. }
  8497. }
  8498. this._dirty = true;
  8499. });
  8500. this.effect.computed = this;
  8501. }
  8502. _get() {
  8503. if (this._dirty) {
  8504. this._dirty = false;
  8505. return (this._value = this.effect.run());
  8506. }
  8507. return this._value;
  8508. }
  8509. get value() {
  8510. trackRefValue(this);
  8511. // the computed ref may get wrapped by other proxies e.g. readonly() #3376
  8512. return toRaw(this)._get();
  8513. }
  8514. }
  8515. _a = "__v_isReadonly" /* IS_READONLY */;
  8516. function deferredComputed(getter) {
  8517. return new DeferredComputedRefImpl(getter);
  8518. }
  8519. /***/ }),
  8520. /***/ "./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js":
  8521. /*!*************************************************************************!*\
  8522. !*** ./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js ***!
  8523. \*************************************************************************/
  8524. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  8525. "use strict";
  8526. __webpack_require__.r(__webpack_exports__);
  8527. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  8528. /* harmony export */ "BaseTransition": () => (/* binding */ BaseTransition),
  8529. /* harmony export */ "Comment": () => (/* binding */ Comment),
  8530. /* harmony export */ "EffectScope": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.EffectScope),
  8531. /* harmony export */ "Fragment": () => (/* binding */ Fragment),
  8532. /* harmony export */ "KeepAlive": () => (/* binding */ KeepAlive),
  8533. /* harmony export */ "ReactiveEffect": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.ReactiveEffect),
  8534. /* harmony export */ "Static": () => (/* binding */ Static),
  8535. /* harmony export */ "Suspense": () => (/* binding */ Suspense),
  8536. /* harmony export */ "Teleport": () => (/* binding */ Teleport),
  8537. /* harmony export */ "Text": () => (/* binding */ Text),
  8538. /* harmony export */ "callWithAsyncErrorHandling": () => (/* binding */ callWithAsyncErrorHandling),
  8539. /* harmony export */ "callWithErrorHandling": () => (/* binding */ callWithErrorHandling),
  8540. /* harmony export */ "camelize": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize),
  8541. /* harmony export */ "capitalize": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_1__.capitalize),
  8542. /* harmony export */ "cloneVNode": () => (/* binding */ cloneVNode),
  8543. /* harmony export */ "compatUtils": () => (/* binding */ compatUtils),
  8544. /* harmony export */ "computed": () => (/* binding */ computed),
  8545. /* harmony export */ "createBlock": () => (/* binding */ createBlock),
  8546. /* harmony export */ "createCommentVNode": () => (/* binding */ createCommentVNode),
  8547. /* harmony export */ "createElementBlock": () => (/* binding */ createElementBlock),
  8548. /* harmony export */ "createElementVNode": () => (/* binding */ createBaseVNode),
  8549. /* harmony export */ "createHydrationRenderer": () => (/* binding */ createHydrationRenderer),
  8550. /* harmony export */ "createPropsRestProxy": () => (/* binding */ createPropsRestProxy),
  8551. /* harmony export */ "createRenderer": () => (/* binding */ createRenderer),
  8552. /* harmony export */ "createSlots": () => (/* binding */ createSlots),
  8553. /* harmony export */ "createStaticVNode": () => (/* binding */ createStaticVNode),
  8554. /* harmony export */ "createTextVNode": () => (/* binding */ createTextVNode),
  8555. /* harmony export */ "createVNode": () => (/* binding */ createVNode),
  8556. /* harmony export */ "customRef": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.customRef),
  8557. /* harmony export */ "defineAsyncComponent": () => (/* binding */ defineAsyncComponent),
  8558. /* harmony export */ "defineComponent": () => (/* binding */ defineComponent),
  8559. /* harmony export */ "defineEmits": () => (/* binding */ defineEmits),
  8560. /* harmony export */ "defineExpose": () => (/* binding */ defineExpose),
  8561. /* harmony export */ "defineProps": () => (/* binding */ defineProps),
  8562. /* harmony export */ "devtools": () => (/* binding */ devtools),
  8563. /* harmony export */ "effect": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.effect),
  8564. /* harmony export */ "effectScope": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.effectScope),
  8565. /* harmony export */ "getCurrentInstance": () => (/* binding */ getCurrentInstance),
  8566. /* harmony export */ "getCurrentScope": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.getCurrentScope),
  8567. /* harmony export */ "getTransitionRawChildren": () => (/* binding */ getTransitionRawChildren),
  8568. /* harmony export */ "guardReactiveProps": () => (/* binding */ guardReactiveProps),
  8569. /* harmony export */ "h": () => (/* binding */ h),
  8570. /* harmony export */ "handleError": () => (/* binding */ handleError),
  8571. /* harmony export */ "initCustomFormatter": () => (/* binding */ initCustomFormatter),
  8572. /* harmony export */ "inject": () => (/* binding */ inject),
  8573. /* harmony export */ "isMemoSame": () => (/* binding */ isMemoSame),
  8574. /* harmony export */ "isProxy": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isProxy),
  8575. /* harmony export */ "isReactive": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isReactive),
  8576. /* harmony export */ "isReadonly": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isReadonly),
  8577. /* harmony export */ "isRef": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef),
  8578. /* harmony export */ "isRuntimeOnly": () => (/* binding */ isRuntimeOnly),
  8579. /* harmony export */ "isShallow": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isShallow),
  8580. /* harmony export */ "isVNode": () => (/* binding */ isVNode),
  8581. /* harmony export */ "markRaw": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.markRaw),
  8582. /* harmony export */ "mergeDefaults": () => (/* binding */ mergeDefaults),
  8583. /* harmony export */ "mergeProps": () => (/* binding */ mergeProps),
  8584. /* harmony export */ "nextTick": () => (/* binding */ nextTick),
  8585. /* harmony export */ "normalizeClass": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_1__.normalizeClass),
  8586. /* harmony export */ "normalizeProps": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_1__.normalizeProps),
  8587. /* harmony export */ "normalizeStyle": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_1__.normalizeStyle),
  8588. /* harmony export */ "onActivated": () => (/* binding */ onActivated),
  8589. /* harmony export */ "onBeforeMount": () => (/* binding */ onBeforeMount),
  8590. /* harmony export */ "onBeforeUnmount": () => (/* binding */ onBeforeUnmount),
  8591. /* harmony export */ "onBeforeUpdate": () => (/* binding */ onBeforeUpdate),
  8592. /* harmony export */ "onDeactivated": () => (/* binding */ onDeactivated),
  8593. /* harmony export */ "onErrorCaptured": () => (/* binding */ onErrorCaptured),
  8594. /* harmony export */ "onMounted": () => (/* binding */ onMounted),
  8595. /* harmony export */ "onRenderTracked": () => (/* binding */ onRenderTracked),
  8596. /* harmony export */ "onRenderTriggered": () => (/* binding */ onRenderTriggered),
  8597. /* harmony export */ "onScopeDispose": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.onScopeDispose),
  8598. /* harmony export */ "onServerPrefetch": () => (/* binding */ onServerPrefetch),
  8599. /* harmony export */ "onUnmounted": () => (/* binding */ onUnmounted),
  8600. /* harmony export */ "onUpdated": () => (/* binding */ onUpdated),
  8601. /* harmony export */ "openBlock": () => (/* binding */ openBlock),
  8602. /* harmony export */ "popScopeId": () => (/* binding */ popScopeId),
  8603. /* harmony export */ "provide": () => (/* binding */ provide),
  8604. /* harmony export */ "proxyRefs": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.proxyRefs),
  8605. /* harmony export */ "pushScopeId": () => (/* binding */ pushScopeId),
  8606. /* harmony export */ "queuePostFlushCb": () => (/* binding */ queuePostFlushCb),
  8607. /* harmony export */ "reactive": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.reactive),
  8608. /* harmony export */ "readonly": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.readonly),
  8609. /* harmony export */ "ref": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.ref),
  8610. /* harmony export */ "registerRuntimeCompiler": () => (/* binding */ registerRuntimeCompiler),
  8611. /* harmony export */ "renderList": () => (/* binding */ renderList),
  8612. /* harmony export */ "renderSlot": () => (/* binding */ renderSlot),
  8613. /* harmony export */ "resolveComponent": () => (/* binding */ resolveComponent),
  8614. /* harmony export */ "resolveDirective": () => (/* binding */ resolveDirective),
  8615. /* harmony export */ "resolveDynamicComponent": () => (/* binding */ resolveDynamicComponent),
  8616. /* harmony export */ "resolveFilter": () => (/* binding */ resolveFilter),
  8617. /* harmony export */ "resolveTransitionHooks": () => (/* binding */ resolveTransitionHooks),
  8618. /* harmony export */ "setBlockTracking": () => (/* binding */ setBlockTracking),
  8619. /* harmony export */ "setDevtoolsHook": () => (/* binding */ setDevtoolsHook),
  8620. /* harmony export */ "setTransitionHooks": () => (/* binding */ setTransitionHooks),
  8621. /* harmony export */ "shallowReactive": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowReactive),
  8622. /* harmony export */ "shallowReadonly": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowReadonly),
  8623. /* harmony export */ "shallowRef": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowRef),
  8624. /* harmony export */ "ssrContextKey": () => (/* binding */ ssrContextKey),
  8625. /* harmony export */ "ssrUtils": () => (/* binding */ ssrUtils),
  8626. /* harmony export */ "stop": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.stop),
  8627. /* harmony export */ "toDisplayString": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_1__.toDisplayString),
  8628. /* harmony export */ "toHandlerKey": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey),
  8629. /* harmony export */ "toHandlers": () => (/* binding */ toHandlers),
  8630. /* harmony export */ "toRaw": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw),
  8631. /* harmony export */ "toRef": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRef),
  8632. /* harmony export */ "toRefs": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRefs),
  8633. /* harmony export */ "transformVNodeArgs": () => (/* binding */ transformVNodeArgs),
  8634. /* harmony export */ "triggerRef": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.triggerRef),
  8635. /* harmony export */ "unref": () => (/* reexport safe */ _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.unref),
  8636. /* harmony export */ "useAttrs": () => (/* binding */ useAttrs),
  8637. /* harmony export */ "useSSRContext": () => (/* binding */ useSSRContext),
  8638. /* harmony export */ "useSlots": () => (/* binding */ useSlots),
  8639. /* harmony export */ "useTransitionState": () => (/* binding */ useTransitionState),
  8640. /* harmony export */ "version": () => (/* binding */ version),
  8641. /* harmony export */ "warn": () => (/* binding */ warn),
  8642. /* harmony export */ "watch": () => (/* binding */ watch),
  8643. /* harmony export */ "watchEffect": () => (/* binding */ watchEffect),
  8644. /* harmony export */ "watchPostEffect": () => (/* binding */ watchPostEffect),
  8645. /* harmony export */ "watchSyncEffect": () => (/* binding */ watchSyncEffect),
  8646. /* harmony export */ "withAsyncContext": () => (/* binding */ withAsyncContext),
  8647. /* harmony export */ "withCtx": () => (/* binding */ withCtx),
  8648. /* harmony export */ "withDefaults": () => (/* binding */ withDefaults),
  8649. /* harmony export */ "withDirectives": () => (/* binding */ withDirectives),
  8650. /* harmony export */ "withMemo": () => (/* binding */ withMemo),
  8651. /* harmony export */ "withScopeId": () => (/* binding */ withScopeId)
  8652. /* harmony export */ });
  8653. /* harmony import */ var _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @vue/reactivity */ "./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js");
  8654. /* harmony import */ var _vue_shared__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @vue/shared */ "./node_modules/@vue/shared/dist/shared.esm-bundler.js");
  8655. const stack = [];
  8656. function pushWarningContext(vnode) {
  8657. stack.push(vnode);
  8658. }
  8659. function popWarningContext() {
  8660. stack.pop();
  8661. }
  8662. function warn(msg, ...args) {
  8663. // avoid props formatting or warn handler tracking deps that might be mutated
  8664. // during patch, leading to infinite recursion.
  8665. (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.pauseTracking)();
  8666. const instance = stack.length ? stack[stack.length - 1].component : null;
  8667. const appWarnHandler = instance && instance.appContext.config.warnHandler;
  8668. const trace = getComponentTrace();
  8669. if (appWarnHandler) {
  8670. callWithErrorHandling(appWarnHandler, instance, 11 /* APP_WARN_HANDLER */, [
  8671. msg + args.join(''),
  8672. instance && instance.proxy,
  8673. trace
  8674. .map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`)
  8675. .join('\n'),
  8676. trace
  8677. ]);
  8678. }
  8679. else {
  8680. const warnArgs = [`[Vue warn]: ${msg}`, ...args];
  8681. /* istanbul ignore if */
  8682. if (trace.length &&
  8683. // avoid spamming console during tests
  8684. !false) {
  8685. warnArgs.push(`\n`, ...formatTrace(trace));
  8686. }
  8687. console.warn(...warnArgs);
  8688. }
  8689. (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.resetTracking)();
  8690. }
  8691. function getComponentTrace() {
  8692. let currentVNode = stack[stack.length - 1];
  8693. if (!currentVNode) {
  8694. return [];
  8695. }
  8696. // we can't just use the stack because it will be incomplete during updates
  8697. // that did not start from the root. Re-construct the parent chain using
  8698. // instance parent pointers.
  8699. const normalizedStack = [];
  8700. while (currentVNode) {
  8701. const last = normalizedStack[0];
  8702. if (last && last.vnode === currentVNode) {
  8703. last.recurseCount++;
  8704. }
  8705. else {
  8706. normalizedStack.push({
  8707. vnode: currentVNode,
  8708. recurseCount: 0
  8709. });
  8710. }
  8711. const parentInstance = currentVNode.component && currentVNode.component.parent;
  8712. currentVNode = parentInstance && parentInstance.vnode;
  8713. }
  8714. return normalizedStack;
  8715. }
  8716. /* istanbul ignore next */
  8717. function formatTrace(trace) {
  8718. const logs = [];
  8719. trace.forEach((entry, i) => {
  8720. logs.push(...(i === 0 ? [] : [`\n`]), ...formatTraceEntry(entry));
  8721. });
  8722. return logs;
  8723. }
  8724. function formatTraceEntry({ vnode, recurseCount }) {
  8725. const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;
  8726. const isRoot = vnode.component ? vnode.component.parent == null : false;
  8727. const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;
  8728. const close = `>` + postfix;
  8729. return vnode.props
  8730. ? [open, ...formatProps(vnode.props), close]
  8731. : [open + close];
  8732. }
  8733. /* istanbul ignore next */
  8734. function formatProps(props) {
  8735. const res = [];
  8736. const keys = Object.keys(props);
  8737. keys.slice(0, 3).forEach(key => {
  8738. res.push(...formatProp(key, props[key]));
  8739. });
  8740. if (keys.length > 3) {
  8741. res.push(` ...`);
  8742. }
  8743. return res;
  8744. }
  8745. /* istanbul ignore next */
  8746. function formatProp(key, value, raw) {
  8747. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(value)) {
  8748. value = JSON.stringify(value);
  8749. return raw ? value : [`${key}=${value}`];
  8750. }
  8751. else if (typeof value === 'number' ||
  8752. typeof value === 'boolean' ||
  8753. value == null) {
  8754. return raw ? value : [`${key}=${value}`];
  8755. }
  8756. else if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef)(value)) {
  8757. value = formatProp(key, (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw)(value.value), true);
  8758. return raw ? value : [`${key}=Ref<`, value, `>`];
  8759. }
  8760. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(value)) {
  8761. return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];
  8762. }
  8763. else {
  8764. value = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw)(value);
  8765. return raw ? value : [`${key}=`, value];
  8766. }
  8767. }
  8768. const ErrorTypeStrings = {
  8769. ["sp" /* SERVER_PREFETCH */]: 'serverPrefetch hook',
  8770. ["bc" /* BEFORE_CREATE */]: 'beforeCreate hook',
  8771. ["c" /* CREATED */]: 'created hook',
  8772. ["bm" /* BEFORE_MOUNT */]: 'beforeMount hook',
  8773. ["m" /* MOUNTED */]: 'mounted hook',
  8774. ["bu" /* BEFORE_UPDATE */]: 'beforeUpdate hook',
  8775. ["u" /* UPDATED */]: 'updated',
  8776. ["bum" /* BEFORE_UNMOUNT */]: 'beforeUnmount hook',
  8777. ["um" /* UNMOUNTED */]: 'unmounted hook',
  8778. ["a" /* ACTIVATED */]: 'activated hook',
  8779. ["da" /* DEACTIVATED */]: 'deactivated hook',
  8780. ["ec" /* ERROR_CAPTURED */]: 'errorCaptured hook',
  8781. ["rtc" /* RENDER_TRACKED */]: 'renderTracked hook',
  8782. ["rtg" /* RENDER_TRIGGERED */]: 'renderTriggered hook',
  8783. [0 /* SETUP_FUNCTION */]: 'setup function',
  8784. [1 /* RENDER_FUNCTION */]: 'render function',
  8785. [2 /* WATCH_GETTER */]: 'watcher getter',
  8786. [3 /* WATCH_CALLBACK */]: 'watcher callback',
  8787. [4 /* WATCH_CLEANUP */]: 'watcher cleanup function',
  8788. [5 /* NATIVE_EVENT_HANDLER */]: 'native event handler',
  8789. [6 /* COMPONENT_EVENT_HANDLER */]: 'component event handler',
  8790. [7 /* VNODE_HOOK */]: 'vnode hook',
  8791. [8 /* DIRECTIVE_HOOK */]: 'directive hook',
  8792. [9 /* TRANSITION_HOOK */]: 'transition hook',
  8793. [10 /* APP_ERROR_HANDLER */]: 'app errorHandler',
  8794. [11 /* APP_WARN_HANDLER */]: 'app warnHandler',
  8795. [12 /* FUNCTION_REF */]: 'ref function',
  8796. [13 /* ASYNC_COMPONENT_LOADER */]: 'async component loader',
  8797. [14 /* SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +
  8798. 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core'
  8799. };
  8800. function callWithErrorHandling(fn, instance, type, args) {
  8801. let res;
  8802. try {
  8803. res = args ? fn(...args) : fn();
  8804. }
  8805. catch (err) {
  8806. handleError(err, instance, type);
  8807. }
  8808. return res;
  8809. }
  8810. function callWithAsyncErrorHandling(fn, instance, type, args) {
  8811. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(fn)) {
  8812. const res = callWithErrorHandling(fn, instance, type, args);
  8813. if (res && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isPromise)(res)) {
  8814. res.catch(err => {
  8815. handleError(err, instance, type);
  8816. });
  8817. }
  8818. return res;
  8819. }
  8820. const values = [];
  8821. for (let i = 0; i < fn.length; i++) {
  8822. values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));
  8823. }
  8824. return values;
  8825. }
  8826. function handleError(err, instance, type, throwInDev = true) {
  8827. const contextVNode = instance ? instance.vnode : null;
  8828. if (instance) {
  8829. let cur = instance.parent;
  8830. // the exposed instance is the render proxy to keep it consistent with 2.x
  8831. const exposedInstance = instance.proxy;
  8832. // in production the hook receives only the error code
  8833. const errorInfo = ( true) ? ErrorTypeStrings[type] : 0;
  8834. while (cur) {
  8835. const errorCapturedHooks = cur.ec;
  8836. if (errorCapturedHooks) {
  8837. for (let i = 0; i < errorCapturedHooks.length; i++) {
  8838. if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {
  8839. return;
  8840. }
  8841. }
  8842. }
  8843. cur = cur.parent;
  8844. }
  8845. // app-level handling
  8846. const appErrorHandler = instance.appContext.config.errorHandler;
  8847. if (appErrorHandler) {
  8848. callWithErrorHandling(appErrorHandler, null, 10 /* APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);
  8849. return;
  8850. }
  8851. }
  8852. logError(err, type, contextVNode, throwInDev);
  8853. }
  8854. function logError(err, type, contextVNode, throwInDev = true) {
  8855. if ((true)) {
  8856. const info = ErrorTypeStrings[type];
  8857. if (contextVNode) {
  8858. pushWarningContext(contextVNode);
  8859. }
  8860. warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);
  8861. if (contextVNode) {
  8862. popWarningContext();
  8863. }
  8864. // crash in dev by default so it's more noticeable
  8865. if (throwInDev) {
  8866. throw err;
  8867. }
  8868. else {
  8869. console.error(err);
  8870. }
  8871. }
  8872. else {}
  8873. }
  8874. let isFlushing = false;
  8875. let isFlushPending = false;
  8876. const queue = [];
  8877. let flushIndex = 0;
  8878. const pendingPreFlushCbs = [];
  8879. let activePreFlushCbs = null;
  8880. let preFlushIndex = 0;
  8881. const pendingPostFlushCbs = [];
  8882. let activePostFlushCbs = null;
  8883. let postFlushIndex = 0;
  8884. const resolvedPromise = /*#__PURE__*/ Promise.resolve();
  8885. let currentFlushPromise = null;
  8886. let currentPreFlushParentJob = null;
  8887. const RECURSION_LIMIT = 100;
  8888. function nextTick(fn) {
  8889. const p = currentFlushPromise || resolvedPromise;
  8890. return fn ? p.then(this ? fn.bind(this) : fn) : p;
  8891. }
  8892. // #2768
  8893. // Use binary-search to find a suitable position in the queue,
  8894. // so that the queue maintains the increasing order of job's id,
  8895. // which can prevent the job from being skipped and also can avoid repeated patching.
  8896. function findInsertionIndex(id) {
  8897. // the start index should be `flushIndex + 1`
  8898. let start = flushIndex + 1;
  8899. let end = queue.length;
  8900. while (start < end) {
  8901. const middle = (start + end) >>> 1;
  8902. const middleJobId = getId(queue[middle]);
  8903. middleJobId < id ? (start = middle + 1) : (end = middle);
  8904. }
  8905. return start;
  8906. }
  8907. function queueJob(job) {
  8908. // the dedupe search uses the startIndex argument of Array.includes()
  8909. // by default the search index includes the current job that is being run
  8910. // so it cannot recursively trigger itself again.
  8911. // if the job is a watch() callback, the search will start with a +1 index to
  8912. // allow it recursively trigger itself - it is the user's responsibility to
  8913. // ensure it doesn't end up in an infinite loop.
  8914. if ((!queue.length ||
  8915. !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) &&
  8916. job !== currentPreFlushParentJob) {
  8917. if (job.id == null) {
  8918. queue.push(job);
  8919. }
  8920. else {
  8921. queue.splice(findInsertionIndex(job.id), 0, job);
  8922. }
  8923. queueFlush();
  8924. }
  8925. }
  8926. function queueFlush() {
  8927. if (!isFlushing && !isFlushPending) {
  8928. isFlushPending = true;
  8929. currentFlushPromise = resolvedPromise.then(flushJobs);
  8930. }
  8931. }
  8932. function invalidateJob(job) {
  8933. const i = queue.indexOf(job);
  8934. if (i > flushIndex) {
  8935. queue.splice(i, 1);
  8936. }
  8937. }
  8938. function queueCb(cb, activeQueue, pendingQueue, index) {
  8939. if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(cb)) {
  8940. if (!activeQueue ||
  8941. !activeQueue.includes(cb, cb.allowRecurse ? index + 1 : index)) {
  8942. pendingQueue.push(cb);
  8943. }
  8944. }
  8945. else {
  8946. // if cb is an array, it is a component lifecycle hook which can only be
  8947. // triggered by a job, which is already deduped in the main queue, so
  8948. // we can skip duplicate check here to improve perf
  8949. pendingQueue.push(...cb);
  8950. }
  8951. queueFlush();
  8952. }
  8953. function queuePreFlushCb(cb) {
  8954. queueCb(cb, activePreFlushCbs, pendingPreFlushCbs, preFlushIndex);
  8955. }
  8956. function queuePostFlushCb(cb) {
  8957. queueCb(cb, activePostFlushCbs, pendingPostFlushCbs, postFlushIndex);
  8958. }
  8959. function flushPreFlushCbs(seen, parentJob = null) {
  8960. if (pendingPreFlushCbs.length) {
  8961. currentPreFlushParentJob = parentJob;
  8962. activePreFlushCbs = [...new Set(pendingPreFlushCbs)];
  8963. pendingPreFlushCbs.length = 0;
  8964. if ((true)) {
  8965. seen = seen || new Map();
  8966. }
  8967. for (preFlushIndex = 0; preFlushIndex < activePreFlushCbs.length; preFlushIndex++) {
  8968. if (( true) &&
  8969. checkRecursiveUpdates(seen, activePreFlushCbs[preFlushIndex])) {
  8970. continue;
  8971. }
  8972. activePreFlushCbs[preFlushIndex]();
  8973. }
  8974. activePreFlushCbs = null;
  8975. preFlushIndex = 0;
  8976. currentPreFlushParentJob = null;
  8977. // recursively flush until it drains
  8978. flushPreFlushCbs(seen, parentJob);
  8979. }
  8980. }
  8981. function flushPostFlushCbs(seen) {
  8982. if (pendingPostFlushCbs.length) {
  8983. const deduped = [...new Set(pendingPostFlushCbs)];
  8984. pendingPostFlushCbs.length = 0;
  8985. // #1947 already has active queue, nested flushPostFlushCbs call
  8986. if (activePostFlushCbs) {
  8987. activePostFlushCbs.push(...deduped);
  8988. return;
  8989. }
  8990. activePostFlushCbs = deduped;
  8991. if ((true)) {
  8992. seen = seen || new Map();
  8993. }
  8994. activePostFlushCbs.sort((a, b) => getId(a) - getId(b));
  8995. for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {
  8996. if (( true) &&
  8997. checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {
  8998. continue;
  8999. }
  9000. activePostFlushCbs[postFlushIndex]();
  9001. }
  9002. activePostFlushCbs = null;
  9003. postFlushIndex = 0;
  9004. }
  9005. }
  9006. const getId = (job) => job.id == null ? Infinity : job.id;
  9007. function flushJobs(seen) {
  9008. isFlushPending = false;
  9009. isFlushing = true;
  9010. if ((true)) {
  9011. seen = seen || new Map();
  9012. }
  9013. flushPreFlushCbs(seen);
  9014. // Sort queue before flush.
  9015. // This ensures that:
  9016. // 1. Components are updated from parent to child. (because parent is always
  9017. // created before the child so its render effect will have smaller
  9018. // priority number)
  9019. // 2. If a component is unmounted during a parent component's update,
  9020. // its update can be skipped.
  9021. queue.sort((a, b) => getId(a) - getId(b));
  9022. // conditional usage of checkRecursiveUpdate must be determined out of
  9023. // try ... catch block since Rollup by default de-optimizes treeshaking
  9024. // inside try-catch. This can leave all warning code unshaked. Although
  9025. // they would get eventually shaken by a minifier like terser, some minifiers
  9026. // would fail to do that (e.g. https://github.com/evanw/esbuild/issues/1610)
  9027. const check = ( true)
  9028. ? (job) => checkRecursiveUpdates(seen, job)
  9029. : 0;
  9030. try {
  9031. for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {
  9032. const job = queue[flushIndex];
  9033. if (job && job.active !== false) {
  9034. if (( true) && check(job)) {
  9035. continue;
  9036. }
  9037. // console.log(`running:`, job.id)
  9038. callWithErrorHandling(job, null, 14 /* SCHEDULER */);
  9039. }
  9040. }
  9041. }
  9042. finally {
  9043. flushIndex = 0;
  9044. queue.length = 0;
  9045. flushPostFlushCbs(seen);
  9046. isFlushing = false;
  9047. currentFlushPromise = null;
  9048. // some postFlushCb queued jobs!
  9049. // keep flushing until it drains.
  9050. if (queue.length ||
  9051. pendingPreFlushCbs.length ||
  9052. pendingPostFlushCbs.length) {
  9053. flushJobs(seen);
  9054. }
  9055. }
  9056. }
  9057. function checkRecursiveUpdates(seen, fn) {
  9058. if (!seen.has(fn)) {
  9059. seen.set(fn, 1);
  9060. }
  9061. else {
  9062. const count = seen.get(fn);
  9063. if (count > RECURSION_LIMIT) {
  9064. const instance = fn.ownerInstance;
  9065. const componentName = instance && getComponentName(instance.type);
  9066. warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +
  9067. `This means you have a reactive effect that is mutating its own ` +
  9068. `dependencies and thus recursively triggering itself. Possible sources ` +
  9069. `include component template, render function, updated hook or ` +
  9070. `watcher source function.`);
  9071. return true;
  9072. }
  9073. else {
  9074. seen.set(fn, count + 1);
  9075. }
  9076. }
  9077. }
  9078. /* eslint-disable no-restricted-globals */
  9079. let isHmrUpdating = false;
  9080. const hmrDirtyComponents = new Set();
  9081. // Expose the HMR runtime on the global object
  9082. // This makes it entirely tree-shakable without polluting the exports and makes
  9083. // it easier to be used in toolings like vue-loader
  9084. // Note: for a component to be eligible for HMR it also needs the __hmrId option
  9085. // to be set so that its instances can be registered / removed.
  9086. if ((true)) {
  9087. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.getGlobalThis)().__VUE_HMR_RUNTIME__ = {
  9088. createRecord: tryWrap(createRecord),
  9089. rerender: tryWrap(rerender),
  9090. reload: tryWrap(reload)
  9091. };
  9092. }
  9093. const map = new Map();
  9094. function registerHMR(instance) {
  9095. const id = instance.type.__hmrId;
  9096. let record = map.get(id);
  9097. if (!record) {
  9098. createRecord(id, instance.type);
  9099. record = map.get(id);
  9100. }
  9101. record.instances.add(instance);
  9102. }
  9103. function unregisterHMR(instance) {
  9104. map.get(instance.type.__hmrId).instances.delete(instance);
  9105. }
  9106. function createRecord(id, initialDef) {
  9107. if (map.has(id)) {
  9108. return false;
  9109. }
  9110. map.set(id, {
  9111. initialDef: normalizeClassComponent(initialDef),
  9112. instances: new Set()
  9113. });
  9114. return true;
  9115. }
  9116. function normalizeClassComponent(component) {
  9117. return isClassComponent(component) ? component.__vccOpts : component;
  9118. }
  9119. function rerender(id, newRender) {
  9120. const record = map.get(id);
  9121. if (!record) {
  9122. return;
  9123. }
  9124. // update initial record (for not-yet-rendered component)
  9125. record.initialDef.render = newRender;
  9126. [...record.instances].forEach(instance => {
  9127. if (newRender) {
  9128. instance.render = newRender;
  9129. normalizeClassComponent(instance.type).render = newRender;
  9130. }
  9131. instance.renderCache = [];
  9132. // this flag forces child components with slot content to update
  9133. isHmrUpdating = true;
  9134. instance.update();
  9135. isHmrUpdating = false;
  9136. });
  9137. }
  9138. function reload(id, newComp) {
  9139. const record = map.get(id);
  9140. if (!record)
  9141. return;
  9142. newComp = normalizeClassComponent(newComp);
  9143. // update initial def (for not-yet-rendered components)
  9144. updateComponentDef(record.initialDef, newComp);
  9145. // create a snapshot which avoids the set being mutated during updates
  9146. const instances = [...record.instances];
  9147. for (const instance of instances) {
  9148. const oldComp = normalizeClassComponent(instance.type);
  9149. if (!hmrDirtyComponents.has(oldComp)) {
  9150. // 1. Update existing comp definition to match new one
  9151. if (oldComp !== record.initialDef) {
  9152. updateComponentDef(oldComp, newComp);
  9153. }
  9154. // 2. mark definition dirty. This forces the renderer to replace the
  9155. // component on patch.
  9156. hmrDirtyComponents.add(oldComp);
  9157. }
  9158. // 3. invalidate options resolution cache
  9159. instance.appContext.optionsCache.delete(instance.type);
  9160. // 4. actually update
  9161. if (instance.ceReload) {
  9162. // custom element
  9163. hmrDirtyComponents.add(oldComp);
  9164. instance.ceReload(newComp.styles);
  9165. hmrDirtyComponents.delete(oldComp);
  9166. }
  9167. else if (instance.parent) {
  9168. // 4. Force the parent instance to re-render. This will cause all updated
  9169. // components to be unmounted and re-mounted. Queue the update so that we
  9170. // don't end up forcing the same parent to re-render multiple times.
  9171. queueJob(instance.parent.update);
  9172. // instance is the inner component of an async custom element
  9173. // invoke to reset styles
  9174. if (instance.parent.type.__asyncLoader &&
  9175. instance.parent.ceReload) {
  9176. instance.parent.ceReload(newComp.styles);
  9177. }
  9178. }
  9179. else if (instance.appContext.reload) {
  9180. // root instance mounted via createApp() has a reload method
  9181. instance.appContext.reload();
  9182. }
  9183. else if (typeof window !== 'undefined') {
  9184. // root instance inside tree created via raw render(). Force reload.
  9185. window.location.reload();
  9186. }
  9187. else {
  9188. console.warn('[HMR] Root or manually mounted instance modified. Full reload required.');
  9189. }
  9190. }
  9191. // 5. make sure to cleanup dirty hmr components after update
  9192. queuePostFlushCb(() => {
  9193. for (const instance of instances) {
  9194. hmrDirtyComponents.delete(normalizeClassComponent(instance.type));
  9195. }
  9196. });
  9197. }
  9198. function updateComponentDef(oldComp, newComp) {
  9199. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)(oldComp, newComp);
  9200. for (const key in oldComp) {
  9201. if (key !== '__file' && !(key in newComp)) {
  9202. delete oldComp[key];
  9203. }
  9204. }
  9205. }
  9206. function tryWrap(fn) {
  9207. return (id, arg) => {
  9208. try {
  9209. return fn(id, arg);
  9210. }
  9211. catch (e) {
  9212. console.error(e);
  9213. console.warn(`[HMR] Something went wrong during Vue component hot-reload. ` +
  9214. `Full reload required.`);
  9215. }
  9216. };
  9217. }
  9218. let devtools;
  9219. let buffer = [];
  9220. let devtoolsNotInstalled = false;
  9221. function emit(event, ...args) {
  9222. if (devtools) {
  9223. devtools.emit(event, ...args);
  9224. }
  9225. else if (!devtoolsNotInstalled) {
  9226. buffer.push({ event, args });
  9227. }
  9228. }
  9229. function setDevtoolsHook(hook, target) {
  9230. var _a, _b;
  9231. devtools = hook;
  9232. if (devtools) {
  9233. devtools.enabled = true;
  9234. buffer.forEach(({ event, args }) => devtools.emit(event, ...args));
  9235. buffer = [];
  9236. }
  9237. else if (
  9238. // handle late devtools injection - only do this if we are in an actual
  9239. // browser environment to avoid the timer handle stalling test runner exit
  9240. // (#4815)
  9241. // eslint-disable-next-line no-restricted-globals
  9242. typeof window !== 'undefined' &&
  9243. // some envs mock window but not fully
  9244. window.HTMLElement &&
  9245. // also exclude jsdom
  9246. !((_b = (_a = window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === null || _b === void 0 ? void 0 : _b.includes('jsdom'))) {
  9247. const replay = (target.__VUE_DEVTOOLS_HOOK_REPLAY__ =
  9248. target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []);
  9249. replay.push((newHook) => {
  9250. setDevtoolsHook(newHook, target);
  9251. });
  9252. // clear buffer after 3s - the user probably doesn't have devtools installed
  9253. // at all, and keeping the buffer will cause memory leaks (#4738)
  9254. setTimeout(() => {
  9255. if (!devtools) {
  9256. target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;
  9257. devtoolsNotInstalled = true;
  9258. buffer = [];
  9259. }
  9260. }, 3000);
  9261. }
  9262. else {
  9263. // non-browser env, assume not installed
  9264. devtoolsNotInstalled = true;
  9265. buffer = [];
  9266. }
  9267. }
  9268. function devtoolsInitApp(app, version) {
  9269. emit("app:init" /* APP_INIT */, app, version, {
  9270. Fragment,
  9271. Text,
  9272. Comment,
  9273. Static
  9274. });
  9275. }
  9276. function devtoolsUnmountApp(app) {
  9277. emit("app:unmount" /* APP_UNMOUNT */, app);
  9278. }
  9279. const devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook("component:added" /* COMPONENT_ADDED */);
  9280. const devtoolsComponentUpdated =
  9281. /*#__PURE__*/ createDevtoolsComponentHook("component:updated" /* COMPONENT_UPDATED */);
  9282. const devtoolsComponentRemoved =
  9283. /*#__PURE__*/ createDevtoolsComponentHook("component:removed" /* COMPONENT_REMOVED */);
  9284. function createDevtoolsComponentHook(hook) {
  9285. return (component) => {
  9286. emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);
  9287. };
  9288. }
  9289. const devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook("perf:start" /* PERFORMANCE_START */);
  9290. const devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook("perf:end" /* PERFORMANCE_END */);
  9291. function createDevtoolsPerformanceHook(hook) {
  9292. return (component, type, time) => {
  9293. emit(hook, component.appContext.app, component.uid, component, type, time);
  9294. };
  9295. }
  9296. function devtoolsComponentEmit(component, event, params) {
  9297. emit("component:emit" /* COMPONENT_EMIT */, component.appContext.app, component, event, params);
  9298. }
  9299. function emit$1(instance, event, ...rawArgs) {
  9300. if (instance.isUnmounted)
  9301. return;
  9302. const props = instance.vnode.props || _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ;
  9303. if ((true)) {
  9304. const { emitsOptions, propsOptions: [propsOptions] } = instance;
  9305. if (emitsOptions) {
  9306. if (!(event in emitsOptions) &&
  9307. !(false )) {
  9308. if (!propsOptions || !((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey)(event) in propsOptions)) {
  9309. warn(`Component emitted event "${event}" but it is neither declared in ` +
  9310. `the emits option nor as an "${(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey)(event)}" prop.`);
  9311. }
  9312. }
  9313. else {
  9314. const validator = emitsOptions[event];
  9315. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(validator)) {
  9316. const isValid = validator(...rawArgs);
  9317. if (!isValid) {
  9318. warn(`Invalid event arguments: event validation failed for event "${event}".`);
  9319. }
  9320. }
  9321. }
  9322. }
  9323. }
  9324. let args = rawArgs;
  9325. const isModelListener = event.startsWith('update:');
  9326. // for v-model update:xxx events, apply modifiers on args
  9327. const modelArg = isModelListener && event.slice(7);
  9328. if (modelArg && modelArg in props) {
  9329. const modifiersKey = `${modelArg === 'modelValue' ? 'model' : modelArg}Modifiers`;
  9330. const { number, trim } = props[modifiersKey] || _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ;
  9331. if (trim) {
  9332. args = rawArgs.map(a => a.trim());
  9333. }
  9334. else if (number) {
  9335. args = rawArgs.map(_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toNumber);
  9336. }
  9337. }
  9338. if (true) {
  9339. devtoolsComponentEmit(instance, event, args);
  9340. }
  9341. if ((true)) {
  9342. const lowerCaseEvent = event.toLowerCase();
  9343. if (lowerCaseEvent !== event && props[(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey)(lowerCaseEvent)]) {
  9344. warn(`Event "${lowerCaseEvent}" is emitted in component ` +
  9345. `${formatComponentName(instance, instance.type)} but the handler is registered for "${event}". ` +
  9346. `Note that HTML attributes are case-insensitive and you cannot use ` +
  9347. `v-on to listen to camelCase events when using in-DOM templates. ` +
  9348. `You should probably use "${(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hyphenate)(event)}" instead of "${event}".`);
  9349. }
  9350. }
  9351. let handlerName;
  9352. let handler = props[(handlerName = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey)(event))] ||
  9353. // also try camelCase event handler (#2249)
  9354. props[(handlerName = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey)((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(event)))];
  9355. // for v-model update:xxx events, also trigger kebab-case equivalent
  9356. // for props passed via kebab-case
  9357. if (!handler && isModelListener) {
  9358. handler = props[(handlerName = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey)((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hyphenate)(event)))];
  9359. }
  9360. if (handler) {
  9361. callWithAsyncErrorHandling(handler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);
  9362. }
  9363. const onceHandler = props[handlerName + `Once`];
  9364. if (onceHandler) {
  9365. if (!instance.emitted) {
  9366. instance.emitted = {};
  9367. }
  9368. else if (instance.emitted[handlerName]) {
  9369. return;
  9370. }
  9371. instance.emitted[handlerName] = true;
  9372. callWithAsyncErrorHandling(onceHandler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);
  9373. }
  9374. }
  9375. function normalizeEmitsOptions(comp, appContext, asMixin = false) {
  9376. const cache = appContext.emitsCache;
  9377. const cached = cache.get(comp);
  9378. if (cached !== undefined) {
  9379. return cached;
  9380. }
  9381. const raw = comp.emits;
  9382. let normalized = {};
  9383. // apply mixin/extends props
  9384. let hasExtends = false;
  9385. if ( true && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(comp)) {
  9386. const extendEmits = (raw) => {
  9387. const normalizedFromExtend = normalizeEmitsOptions(raw, appContext, true);
  9388. if (normalizedFromExtend) {
  9389. hasExtends = true;
  9390. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)(normalized, normalizedFromExtend);
  9391. }
  9392. };
  9393. if (!asMixin && appContext.mixins.length) {
  9394. appContext.mixins.forEach(extendEmits);
  9395. }
  9396. if (comp.extends) {
  9397. extendEmits(comp.extends);
  9398. }
  9399. if (comp.mixins) {
  9400. comp.mixins.forEach(extendEmits);
  9401. }
  9402. }
  9403. if (!raw && !hasExtends) {
  9404. cache.set(comp, null);
  9405. return null;
  9406. }
  9407. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(raw)) {
  9408. raw.forEach(key => (normalized[key] = null));
  9409. }
  9410. else {
  9411. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)(normalized, raw);
  9412. }
  9413. cache.set(comp, normalized);
  9414. return normalized;
  9415. }
  9416. // Check if an incoming prop key is a declared emit event listener.
  9417. // e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are
  9418. // both considered matched listeners.
  9419. function isEmitListener(options, key) {
  9420. if (!options || !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isOn)(key)) {
  9421. return false;
  9422. }
  9423. key = key.slice(2).replace(/Once$/, '');
  9424. return ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(options, key[0].toLowerCase() + key.slice(1)) ||
  9425. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(options, (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hyphenate)(key)) ||
  9426. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(options, key));
  9427. }
  9428. /**
  9429. * mark the current rendering instance for asset resolution (e.g.
  9430. * resolveComponent, resolveDirective) during render
  9431. */
  9432. let currentRenderingInstance = null;
  9433. let currentScopeId = null;
  9434. /**
  9435. * Note: rendering calls maybe nested. The function returns the parent rendering
  9436. * instance if present, which should be restored after the render is done:
  9437. *
  9438. * ```js
  9439. * const prev = setCurrentRenderingInstance(i)
  9440. * // ...render
  9441. * setCurrentRenderingInstance(prev)
  9442. * ```
  9443. */
  9444. function setCurrentRenderingInstance(instance) {
  9445. const prev = currentRenderingInstance;
  9446. currentRenderingInstance = instance;
  9447. currentScopeId = (instance && instance.type.__scopeId) || null;
  9448. return prev;
  9449. }
  9450. /**
  9451. * Set scope id when creating hoisted vnodes.
  9452. * @private compiler helper
  9453. */
  9454. function pushScopeId(id) {
  9455. currentScopeId = id;
  9456. }
  9457. /**
  9458. * Technically we no longer need this after 3.0.8 but we need to keep the same
  9459. * API for backwards compat w/ code generated by compilers.
  9460. * @private
  9461. */
  9462. function popScopeId() {
  9463. currentScopeId = null;
  9464. }
  9465. /**
  9466. * Only for backwards compat
  9467. * @private
  9468. */
  9469. const withScopeId = (_id) => withCtx;
  9470. /**
  9471. * Wrap a slot function to memoize current rendering instance
  9472. * @private compiler helper
  9473. */
  9474. function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot // false only
  9475. ) {
  9476. if (!ctx)
  9477. return fn;
  9478. // already normalized
  9479. if (fn._n) {
  9480. return fn;
  9481. }
  9482. const renderFnWithContext = (...args) => {
  9483. // If a user calls a compiled slot inside a template expression (#1745), it
  9484. // can mess up block tracking, so by default we disable block tracking and
  9485. // force bail out when invoking a compiled slot (indicated by the ._d flag).
  9486. // This isn't necessary if rendering a compiled `<slot>`, so we flip the
  9487. // ._d flag off when invoking the wrapped fn inside `renderSlot`.
  9488. if (renderFnWithContext._d) {
  9489. setBlockTracking(-1);
  9490. }
  9491. const prevInstance = setCurrentRenderingInstance(ctx);
  9492. const res = fn(...args);
  9493. setCurrentRenderingInstance(prevInstance);
  9494. if (renderFnWithContext._d) {
  9495. setBlockTracking(1);
  9496. }
  9497. if (true) {
  9498. devtoolsComponentUpdated(ctx);
  9499. }
  9500. return res;
  9501. };
  9502. // mark normalized to avoid duplicated wrapping
  9503. renderFnWithContext._n = true;
  9504. // mark this as compiled by default
  9505. // this is used in vnode.ts -> normalizeChildren() to set the slot
  9506. // rendering flag.
  9507. renderFnWithContext._c = true;
  9508. // disable block tracking by default
  9509. renderFnWithContext._d = true;
  9510. return renderFnWithContext;
  9511. }
  9512. /**
  9513. * dev only flag to track whether $attrs was used during render.
  9514. * If $attrs was used during render then the warning for failed attrs
  9515. * fallthrough can be suppressed.
  9516. */
  9517. let accessedAttrs = false;
  9518. function markAttrsAccessed() {
  9519. accessedAttrs = true;
  9520. }
  9521. function renderComponentRoot(instance) {
  9522. const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, data, setupState, ctx, inheritAttrs } = instance;
  9523. let result;
  9524. let fallthroughAttrs;
  9525. const prev = setCurrentRenderingInstance(instance);
  9526. if ((true)) {
  9527. accessedAttrs = false;
  9528. }
  9529. try {
  9530. if (vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */) {
  9531. // withProxy is a proxy with a different `has` trap only for
  9532. // runtime-compiled render functions using `with` block.
  9533. const proxyToUse = withProxy || proxy;
  9534. result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));
  9535. fallthroughAttrs = attrs;
  9536. }
  9537. else {
  9538. // functional
  9539. const render = Component;
  9540. // in dev, mark attrs accessed if optional props (attrs === props)
  9541. if (( true) && attrs === props) {
  9542. markAttrsAccessed();
  9543. }
  9544. result = normalizeVNode(render.length > 1
  9545. ? render(props, ( true)
  9546. ? {
  9547. get attrs() {
  9548. markAttrsAccessed();
  9549. return attrs;
  9550. },
  9551. slots,
  9552. emit
  9553. }
  9554. : 0)
  9555. : render(props, null /* we know it doesn't need it */));
  9556. fallthroughAttrs = Component.props
  9557. ? attrs
  9558. : getFunctionalFallthrough(attrs);
  9559. }
  9560. }
  9561. catch (err) {
  9562. blockStack.length = 0;
  9563. handleError(err, instance, 1 /* RENDER_FUNCTION */);
  9564. result = createVNode(Comment);
  9565. }
  9566. // attr merging
  9567. // in dev mode, comments are preserved, and it's possible for a template
  9568. // to have comments along side the root element which makes it a fragment
  9569. let root = result;
  9570. let setRoot = undefined;
  9571. if (( true) &&
  9572. result.patchFlag > 0 &&
  9573. result.patchFlag & 2048 /* DEV_ROOT_FRAGMENT */) {
  9574. [root, setRoot] = getChildRoot(result);
  9575. }
  9576. if (fallthroughAttrs && inheritAttrs !== false) {
  9577. const keys = Object.keys(fallthroughAttrs);
  9578. const { shapeFlag } = root;
  9579. if (keys.length) {
  9580. if (shapeFlag & (1 /* ELEMENT */ | 6 /* COMPONENT */)) {
  9581. if (propsOptions && keys.some(_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isModelListener)) {
  9582. // If a v-model listener (onUpdate:xxx) has a corresponding declared
  9583. // prop, it indicates this component expects to handle v-model and
  9584. // it should not fallthrough.
  9585. // related: #1543, #1643, #1989
  9586. fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);
  9587. }
  9588. root = cloneVNode(root, fallthroughAttrs);
  9589. }
  9590. else if (( true) && !accessedAttrs && root.type !== Comment) {
  9591. const allAttrs = Object.keys(attrs);
  9592. const eventAttrs = [];
  9593. const extraAttrs = [];
  9594. for (let i = 0, l = allAttrs.length; i < l; i++) {
  9595. const key = allAttrs[i];
  9596. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isOn)(key)) {
  9597. // ignore v-model handlers when they fail to fallthrough
  9598. if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isModelListener)(key)) {
  9599. // remove `on`, lowercase first letter to reflect event casing
  9600. // accurately
  9601. eventAttrs.push(key[2].toLowerCase() + key.slice(3));
  9602. }
  9603. }
  9604. else {
  9605. extraAttrs.push(key);
  9606. }
  9607. }
  9608. if (extraAttrs.length) {
  9609. warn(`Extraneous non-props attributes (` +
  9610. `${extraAttrs.join(', ')}) ` +
  9611. `were passed to component but could not be automatically inherited ` +
  9612. `because component renders fragment or text root nodes.`);
  9613. }
  9614. if (eventAttrs.length) {
  9615. warn(`Extraneous non-emits event listeners (` +
  9616. `${eventAttrs.join(', ')}) ` +
  9617. `were passed to component but could not be automatically inherited ` +
  9618. `because component renders fragment or text root nodes. ` +
  9619. `If the listener is intended to be a component custom event listener only, ` +
  9620. `declare it using the "emits" option.`);
  9621. }
  9622. }
  9623. }
  9624. }
  9625. // inherit directives
  9626. if (vnode.dirs) {
  9627. if (( true) && !isElementRoot(root)) {
  9628. warn(`Runtime directive used on component with non-element root node. ` +
  9629. `The directives will not function as intended.`);
  9630. }
  9631. root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
  9632. }
  9633. // inherit transition data
  9634. if (vnode.transition) {
  9635. if (( true) && !isElementRoot(root)) {
  9636. warn(`Component inside <Transition> renders non-element root node ` +
  9637. `that cannot be animated.`);
  9638. }
  9639. root.transition = vnode.transition;
  9640. }
  9641. if (( true) && setRoot) {
  9642. setRoot(root);
  9643. }
  9644. else {
  9645. result = root;
  9646. }
  9647. setCurrentRenderingInstance(prev);
  9648. return result;
  9649. }
  9650. /**
  9651. * dev only
  9652. * In dev mode, template root level comments are rendered, which turns the
  9653. * template into a fragment root, but we need to locate the single element
  9654. * root for attrs and scope id processing.
  9655. */
  9656. const getChildRoot = (vnode) => {
  9657. const rawChildren = vnode.children;
  9658. const dynamicChildren = vnode.dynamicChildren;
  9659. const childRoot = filterSingleRoot(rawChildren);
  9660. if (!childRoot) {
  9661. return [vnode, undefined];
  9662. }
  9663. const index = rawChildren.indexOf(childRoot);
  9664. const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;
  9665. const setRoot = (updatedRoot) => {
  9666. rawChildren[index] = updatedRoot;
  9667. if (dynamicChildren) {
  9668. if (dynamicIndex > -1) {
  9669. dynamicChildren[dynamicIndex] = updatedRoot;
  9670. }
  9671. else if (updatedRoot.patchFlag > 0) {
  9672. vnode.dynamicChildren = [...dynamicChildren, updatedRoot];
  9673. }
  9674. }
  9675. };
  9676. return [normalizeVNode(childRoot), setRoot];
  9677. };
  9678. function filterSingleRoot(children) {
  9679. let singleRoot;
  9680. for (let i = 0; i < children.length; i++) {
  9681. const child = children[i];
  9682. if (isVNode(child)) {
  9683. // ignore user comment
  9684. if (child.type !== Comment || child.children === 'v-if') {
  9685. if (singleRoot) {
  9686. // has more than 1 non-comment child, return now
  9687. return;
  9688. }
  9689. else {
  9690. singleRoot = child;
  9691. }
  9692. }
  9693. }
  9694. else {
  9695. return;
  9696. }
  9697. }
  9698. return singleRoot;
  9699. }
  9700. const getFunctionalFallthrough = (attrs) => {
  9701. let res;
  9702. for (const key in attrs) {
  9703. if (key === 'class' || key === 'style' || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isOn)(key)) {
  9704. (res || (res = {}))[key] = attrs[key];
  9705. }
  9706. }
  9707. return res;
  9708. };
  9709. const filterModelListeners = (attrs, props) => {
  9710. const res = {};
  9711. for (const key in attrs) {
  9712. if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isModelListener)(key) || !(key.slice(9) in props)) {
  9713. res[key] = attrs[key];
  9714. }
  9715. }
  9716. return res;
  9717. };
  9718. const isElementRoot = (vnode) => {
  9719. return (vnode.shapeFlag & (6 /* COMPONENT */ | 1 /* ELEMENT */) ||
  9720. vnode.type === Comment // potential v-if branch switch
  9721. );
  9722. };
  9723. function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
  9724. const { props: prevProps, children: prevChildren, component } = prevVNode;
  9725. const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;
  9726. const emits = component.emitsOptions;
  9727. // Parent component's render function was hot-updated. Since this may have
  9728. // caused the child component's slots content to have changed, we need to
  9729. // force the child to update as well.
  9730. if (( true) && (prevChildren || nextChildren) && isHmrUpdating) {
  9731. return true;
  9732. }
  9733. // force child update for runtime directive or transition on component vnode.
  9734. if (nextVNode.dirs || nextVNode.transition) {
  9735. return true;
  9736. }
  9737. if (optimized && patchFlag >= 0) {
  9738. if (patchFlag & 1024 /* DYNAMIC_SLOTS */) {
  9739. // slot content that references values that might have changed,
  9740. // e.g. in a v-for
  9741. return true;
  9742. }
  9743. if (patchFlag & 16 /* FULL_PROPS */) {
  9744. if (!prevProps) {
  9745. return !!nextProps;
  9746. }
  9747. // presence of this flag indicates props are always non-null
  9748. return hasPropsChanged(prevProps, nextProps, emits);
  9749. }
  9750. else if (patchFlag & 8 /* PROPS */) {
  9751. const dynamicProps = nextVNode.dynamicProps;
  9752. for (let i = 0; i < dynamicProps.length; i++) {
  9753. const key = dynamicProps[i];
  9754. if (nextProps[key] !== prevProps[key] &&
  9755. !isEmitListener(emits, key)) {
  9756. return true;
  9757. }
  9758. }
  9759. }
  9760. }
  9761. else {
  9762. // this path is only taken by manually written render functions
  9763. // so presence of any children leads to a forced update
  9764. if (prevChildren || nextChildren) {
  9765. if (!nextChildren || !nextChildren.$stable) {
  9766. return true;
  9767. }
  9768. }
  9769. if (prevProps === nextProps) {
  9770. return false;
  9771. }
  9772. if (!prevProps) {
  9773. return !!nextProps;
  9774. }
  9775. if (!nextProps) {
  9776. return true;
  9777. }
  9778. return hasPropsChanged(prevProps, nextProps, emits);
  9779. }
  9780. return false;
  9781. }
  9782. function hasPropsChanged(prevProps, nextProps, emitsOptions) {
  9783. const nextKeys = Object.keys(nextProps);
  9784. if (nextKeys.length !== Object.keys(prevProps).length) {
  9785. return true;
  9786. }
  9787. for (let i = 0; i < nextKeys.length; i++) {
  9788. const key = nextKeys[i];
  9789. if (nextProps[key] !== prevProps[key] &&
  9790. !isEmitListener(emitsOptions, key)) {
  9791. return true;
  9792. }
  9793. }
  9794. return false;
  9795. }
  9796. function updateHOCHostEl({ vnode, parent }, el // HostNode
  9797. ) {
  9798. while (parent && parent.subTree === vnode) {
  9799. (vnode = parent.vnode).el = el;
  9800. parent = parent.parent;
  9801. }
  9802. }
  9803. const isSuspense = (type) => type.__isSuspense;
  9804. // Suspense exposes a component-like API, and is treated like a component
  9805. // in the compiler, but internally it's a special built-in type that hooks
  9806. // directly into the renderer.
  9807. const SuspenseImpl = {
  9808. name: 'Suspense',
  9809. // In order to make Suspense tree-shakable, we need to avoid importing it
  9810. // directly in the renderer. The renderer checks for the __isSuspense flag
  9811. // on a vnode's type and calls the `process` method, passing in renderer
  9812. // internals.
  9813. __isSuspense: true,
  9814. process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized,
  9815. // platform-specific impl passed from renderer
  9816. rendererInternals) {
  9817. if (n1 == null) {
  9818. mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals);
  9819. }
  9820. else {
  9821. patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, rendererInternals);
  9822. }
  9823. },
  9824. hydrate: hydrateSuspense,
  9825. create: createSuspenseBoundary,
  9826. normalize: normalizeSuspenseChildren
  9827. };
  9828. // Force-casted public typing for h and TSX props inference
  9829. const Suspense = (SuspenseImpl );
  9830. function triggerEvent(vnode, name) {
  9831. const eventListener = vnode.props && vnode.props[name];
  9832. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(eventListener)) {
  9833. eventListener();
  9834. }
  9835. }
  9836. function mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {
  9837. const { p: patch, o: { createElement } } = rendererInternals;
  9838. const hiddenContainer = createElement('div');
  9839. const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals));
  9840. // start mounting the content subtree in an off-dom container
  9841. patch(null, (suspense.pendingBranch = vnode.ssContent), hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds);
  9842. // now check if we have encountered any async deps
  9843. if (suspense.deps > 0) {
  9844. // has async
  9845. // invoke @fallback event
  9846. triggerEvent(vnode, 'onPending');
  9847. triggerEvent(vnode, 'onFallback');
  9848. // mount the fallback tree
  9849. patch(null, vnode.ssFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context
  9850. isSVG, slotScopeIds);
  9851. setActiveBranch(suspense, vnode.ssFallback);
  9852. }
  9853. else {
  9854. // Suspense has no async deps. Just resolve.
  9855. suspense.resolve();
  9856. }
  9857. }
  9858. function patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {
  9859. const suspense = (n2.suspense = n1.suspense);
  9860. suspense.vnode = n2;
  9861. n2.el = n1.el;
  9862. const newBranch = n2.ssContent;
  9863. const newFallback = n2.ssFallback;
  9864. const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;
  9865. if (pendingBranch) {
  9866. suspense.pendingBranch = newBranch;
  9867. if (isSameVNodeType(newBranch, pendingBranch)) {
  9868. // same root type but content may have changed.
  9869. patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);
  9870. if (suspense.deps <= 0) {
  9871. suspense.resolve();
  9872. }
  9873. else if (isInFallback) {
  9874. patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context
  9875. isSVG, slotScopeIds, optimized);
  9876. setActiveBranch(suspense, newFallback);
  9877. }
  9878. }
  9879. else {
  9880. // toggled before pending tree is resolved
  9881. suspense.pendingId++;
  9882. if (isHydrating) {
  9883. // if toggled before hydration is finished, the current DOM tree is
  9884. // no longer valid. set it as the active branch so it will be unmounted
  9885. // when resolved
  9886. suspense.isHydrating = false;
  9887. suspense.activeBranch = pendingBranch;
  9888. }
  9889. else {
  9890. unmount(pendingBranch, parentComponent, suspense);
  9891. }
  9892. // increment pending ID. this is used to invalidate async callbacks
  9893. // reset suspense state
  9894. suspense.deps = 0;
  9895. // discard effects from pending branch
  9896. suspense.effects.length = 0;
  9897. // discard previous container
  9898. suspense.hiddenContainer = createElement('div');
  9899. if (isInFallback) {
  9900. // already in fallback state
  9901. patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);
  9902. if (suspense.deps <= 0) {
  9903. suspense.resolve();
  9904. }
  9905. else {
  9906. patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context
  9907. isSVG, slotScopeIds, optimized);
  9908. setActiveBranch(suspense, newFallback);
  9909. }
  9910. }
  9911. else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {
  9912. // toggled "back" to current active branch
  9913. patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);
  9914. // force resolve
  9915. suspense.resolve(true);
  9916. }
  9917. else {
  9918. // switched to a 3rd branch
  9919. patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);
  9920. if (suspense.deps <= 0) {
  9921. suspense.resolve();
  9922. }
  9923. }
  9924. }
  9925. }
  9926. else {
  9927. if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {
  9928. // root did not change, just normal patch
  9929. patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);
  9930. setActiveBranch(suspense, newBranch);
  9931. }
  9932. else {
  9933. // root node toggled
  9934. // invoke @pending event
  9935. triggerEvent(n2, 'onPending');
  9936. // mount pending branch in off-dom container
  9937. suspense.pendingBranch = newBranch;
  9938. suspense.pendingId++;
  9939. patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);
  9940. if (suspense.deps <= 0) {
  9941. // incoming branch has no async deps, resolve now.
  9942. suspense.resolve();
  9943. }
  9944. else {
  9945. const { timeout, pendingId } = suspense;
  9946. if (timeout > 0) {
  9947. setTimeout(() => {
  9948. if (suspense.pendingId === pendingId) {
  9949. suspense.fallback(newFallback);
  9950. }
  9951. }, timeout);
  9952. }
  9953. else if (timeout === 0) {
  9954. suspense.fallback(newFallback);
  9955. }
  9956. }
  9957. }
  9958. }
  9959. }
  9960. let hasWarned = false;
  9961. function createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {
  9962. /* istanbul ignore if */
  9963. if ( true && !hasWarned) {
  9964. hasWarned = true;
  9965. // @ts-ignore `console.info` cannot be null error
  9966. console[console.info ? 'info' : 'log'](`<Suspense> is an experimental feature and its API will likely change.`);
  9967. }
  9968. const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;
  9969. const timeout = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toNumber)(vnode.props && vnode.props.timeout);
  9970. const suspense = {
  9971. vnode,
  9972. parent,
  9973. parentComponent,
  9974. isSVG,
  9975. container,
  9976. hiddenContainer,
  9977. anchor,
  9978. deps: 0,
  9979. pendingId: 0,
  9980. timeout: typeof timeout === 'number' ? timeout : -1,
  9981. activeBranch: null,
  9982. pendingBranch: null,
  9983. isInFallback: true,
  9984. isHydrating,
  9985. isUnmounted: false,
  9986. effects: [],
  9987. resolve(resume = false) {
  9988. if ((true)) {
  9989. if (!resume && !suspense.pendingBranch) {
  9990. throw new Error(`suspense.resolve() is called without a pending branch.`);
  9991. }
  9992. if (suspense.isUnmounted) {
  9993. throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`);
  9994. }
  9995. }
  9996. const { vnode, activeBranch, pendingBranch, pendingId, effects, parentComponent, container } = suspense;
  9997. if (suspense.isHydrating) {
  9998. suspense.isHydrating = false;
  9999. }
  10000. else if (!resume) {
  10001. const delayEnter = activeBranch &&
  10002. pendingBranch.transition &&
  10003. pendingBranch.transition.mode === 'out-in';
  10004. if (delayEnter) {
  10005. activeBranch.transition.afterLeave = () => {
  10006. if (pendingId === suspense.pendingId) {
  10007. move(pendingBranch, container, anchor, 0 /* ENTER */);
  10008. }
  10009. };
  10010. }
  10011. // this is initial anchor on mount
  10012. let { anchor } = suspense;
  10013. // unmount current active tree
  10014. if (activeBranch) {
  10015. // if the fallback tree was mounted, it may have been moved
  10016. // as part of a parent suspense. get the latest anchor for insertion
  10017. anchor = next(activeBranch);
  10018. unmount(activeBranch, parentComponent, suspense, true);
  10019. }
  10020. if (!delayEnter) {
  10021. // move content from off-dom container to actual container
  10022. move(pendingBranch, container, anchor, 0 /* ENTER */);
  10023. }
  10024. }
  10025. setActiveBranch(suspense, pendingBranch);
  10026. suspense.pendingBranch = null;
  10027. suspense.isInFallback = false;
  10028. // flush buffered effects
  10029. // check if there is a pending parent suspense
  10030. let parent = suspense.parent;
  10031. let hasUnresolvedAncestor = false;
  10032. while (parent) {
  10033. if (parent.pendingBranch) {
  10034. // found a pending parent suspense, merge buffered post jobs
  10035. // into that parent
  10036. parent.effects.push(...effects);
  10037. hasUnresolvedAncestor = true;
  10038. break;
  10039. }
  10040. parent = parent.parent;
  10041. }
  10042. // no pending parent suspense, flush all jobs
  10043. if (!hasUnresolvedAncestor) {
  10044. queuePostFlushCb(effects);
  10045. }
  10046. suspense.effects = [];
  10047. // invoke @resolve event
  10048. triggerEvent(vnode, 'onResolve');
  10049. },
  10050. fallback(fallbackVNode) {
  10051. if (!suspense.pendingBranch) {
  10052. return;
  10053. }
  10054. const { vnode, activeBranch, parentComponent, container, isSVG } = suspense;
  10055. // invoke @fallback event
  10056. triggerEvent(vnode, 'onFallback');
  10057. const anchor = next(activeBranch);
  10058. const mountFallback = () => {
  10059. if (!suspense.isInFallback) {
  10060. return;
  10061. }
  10062. // mount the fallback tree
  10063. patch(null, fallbackVNode, container, anchor, parentComponent, null, // fallback tree will not have suspense context
  10064. isSVG, slotScopeIds, optimized);
  10065. setActiveBranch(suspense, fallbackVNode);
  10066. };
  10067. const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === 'out-in';
  10068. if (delayEnter) {
  10069. activeBranch.transition.afterLeave = mountFallback;
  10070. }
  10071. suspense.isInFallback = true;
  10072. // unmount current active branch
  10073. unmount(activeBranch, parentComponent, null, // no suspense so unmount hooks fire now
  10074. true // shouldRemove
  10075. );
  10076. if (!delayEnter) {
  10077. mountFallback();
  10078. }
  10079. },
  10080. move(container, anchor, type) {
  10081. suspense.activeBranch &&
  10082. move(suspense.activeBranch, container, anchor, type);
  10083. suspense.container = container;
  10084. },
  10085. next() {
  10086. return suspense.activeBranch && next(suspense.activeBranch);
  10087. },
  10088. registerDep(instance, setupRenderEffect) {
  10089. const isInPendingSuspense = !!suspense.pendingBranch;
  10090. if (isInPendingSuspense) {
  10091. suspense.deps++;
  10092. }
  10093. const hydratedEl = instance.vnode.el;
  10094. instance
  10095. .asyncDep.catch(err => {
  10096. handleError(err, instance, 0 /* SETUP_FUNCTION */);
  10097. })
  10098. .then(asyncSetupResult => {
  10099. // retry when the setup() promise resolves.
  10100. // component may have been unmounted before resolve.
  10101. if (instance.isUnmounted ||
  10102. suspense.isUnmounted ||
  10103. suspense.pendingId !== instance.suspenseId) {
  10104. return;
  10105. }
  10106. // retry from this component
  10107. instance.asyncResolved = true;
  10108. const { vnode } = instance;
  10109. if ((true)) {
  10110. pushWarningContext(vnode);
  10111. }
  10112. handleSetupResult(instance, asyncSetupResult, false);
  10113. if (hydratedEl) {
  10114. // vnode may have been replaced if an update happened before the
  10115. // async dep is resolved.
  10116. vnode.el = hydratedEl;
  10117. }
  10118. const placeholder = !hydratedEl && instance.subTree.el;
  10119. setupRenderEffect(instance, vnode,
  10120. // component may have been moved before resolve.
  10121. // if this is not a hydration, instance.subTree will be the comment
  10122. // placeholder.
  10123. parentNode(hydratedEl || instance.subTree.el),
  10124. // anchor will not be used if this is hydration, so only need to
  10125. // consider the comment placeholder case.
  10126. hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);
  10127. if (placeholder) {
  10128. remove(placeholder);
  10129. }
  10130. updateHOCHostEl(instance, vnode.el);
  10131. if ((true)) {
  10132. popWarningContext();
  10133. }
  10134. // only decrease deps count if suspense is not already resolved
  10135. if (isInPendingSuspense && --suspense.deps === 0) {
  10136. suspense.resolve();
  10137. }
  10138. });
  10139. },
  10140. unmount(parentSuspense, doRemove) {
  10141. suspense.isUnmounted = true;
  10142. if (suspense.activeBranch) {
  10143. unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);
  10144. }
  10145. if (suspense.pendingBranch) {
  10146. unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);
  10147. }
  10148. }
  10149. };
  10150. return suspense;
  10151. }
  10152. function hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {
  10153. /* eslint-disable no-restricted-globals */
  10154. const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, slotScopeIds, optimized, rendererInternals, true /* hydrating */));
  10155. // there are two possible scenarios for server-rendered suspense:
  10156. // - success: ssr content should be fully resolved
  10157. // - failure: ssr content should be the fallback branch.
  10158. // however, on the client we don't really know if it has failed or not
  10159. // attempt to hydrate the DOM assuming it has succeeded, but we still
  10160. // need to construct a suspense boundary first
  10161. const result = hydrateNode(node, (suspense.pendingBranch = vnode.ssContent), parentComponent, suspense, slotScopeIds, optimized);
  10162. if (suspense.deps === 0) {
  10163. suspense.resolve();
  10164. }
  10165. return result;
  10166. /* eslint-enable no-restricted-globals */
  10167. }
  10168. function normalizeSuspenseChildren(vnode) {
  10169. const { shapeFlag, children } = vnode;
  10170. const isSlotChildren = shapeFlag & 32 /* SLOTS_CHILDREN */;
  10171. vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);
  10172. vnode.ssFallback = isSlotChildren
  10173. ? normalizeSuspenseSlot(children.fallback)
  10174. : createVNode(Comment);
  10175. }
  10176. function normalizeSuspenseSlot(s) {
  10177. let block;
  10178. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(s)) {
  10179. const trackBlock = isBlockTreeEnabled && s._c;
  10180. if (trackBlock) {
  10181. // disableTracking: false
  10182. // allow block tracking for compiled slots
  10183. // (see ./componentRenderContext.ts)
  10184. s._d = false;
  10185. openBlock();
  10186. }
  10187. s = s();
  10188. if (trackBlock) {
  10189. s._d = true;
  10190. block = currentBlock;
  10191. closeBlock();
  10192. }
  10193. }
  10194. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(s)) {
  10195. const singleChild = filterSingleRoot(s);
  10196. if (( true) && !singleChild) {
  10197. warn(`<Suspense> slots expect a single root node.`);
  10198. }
  10199. s = singleChild;
  10200. }
  10201. s = normalizeVNode(s);
  10202. if (block && !s.dynamicChildren) {
  10203. s.dynamicChildren = block.filter(c => c !== s);
  10204. }
  10205. return s;
  10206. }
  10207. function queueEffectWithSuspense(fn, suspense) {
  10208. if (suspense && suspense.pendingBranch) {
  10209. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(fn)) {
  10210. suspense.effects.push(...fn);
  10211. }
  10212. else {
  10213. suspense.effects.push(fn);
  10214. }
  10215. }
  10216. else {
  10217. queuePostFlushCb(fn);
  10218. }
  10219. }
  10220. function setActiveBranch(suspense, branch) {
  10221. suspense.activeBranch = branch;
  10222. const { vnode, parentComponent } = suspense;
  10223. const el = (vnode.el = branch.el);
  10224. // in case suspense is the root node of a component,
  10225. // recursively update the HOC el
  10226. if (parentComponent && parentComponent.subTree === vnode) {
  10227. parentComponent.vnode.el = el;
  10228. updateHOCHostEl(parentComponent, el);
  10229. }
  10230. }
  10231. function provide(key, value) {
  10232. if (!currentInstance) {
  10233. if ((true)) {
  10234. warn(`provide() can only be used inside setup().`);
  10235. }
  10236. }
  10237. else {
  10238. let provides = currentInstance.provides;
  10239. // by default an instance inherits its parent's provides object
  10240. // but when it needs to provide values of its own, it creates its
  10241. // own provides object using parent provides object as prototype.
  10242. // this way in `inject` we can simply look up injections from direct
  10243. // parent and let the prototype chain do the work.
  10244. const parentProvides = currentInstance.parent && currentInstance.parent.provides;
  10245. if (parentProvides === provides) {
  10246. provides = currentInstance.provides = Object.create(parentProvides);
  10247. }
  10248. // TS doesn't allow symbol as index type
  10249. provides[key] = value;
  10250. }
  10251. }
  10252. function inject(key, defaultValue, treatDefaultAsFactory = false) {
  10253. // fallback to `currentRenderingInstance` so that this can be called in
  10254. // a functional component
  10255. const instance = currentInstance || currentRenderingInstance;
  10256. if (instance) {
  10257. // #2400
  10258. // to support `app.use` plugins,
  10259. // fallback to appContext's `provides` if the instance is at root
  10260. const provides = instance.parent == null
  10261. ? instance.vnode.appContext && instance.vnode.appContext.provides
  10262. : instance.parent.provides;
  10263. if (provides && key in provides) {
  10264. // TS doesn't allow symbol as index type
  10265. return provides[key];
  10266. }
  10267. else if (arguments.length > 1) {
  10268. return treatDefaultAsFactory && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(defaultValue)
  10269. ? defaultValue.call(instance.proxy)
  10270. : defaultValue;
  10271. }
  10272. else if ((true)) {
  10273. warn(`injection "${String(key)}" not found.`);
  10274. }
  10275. }
  10276. else if ((true)) {
  10277. warn(`inject() can only be used inside setup() or functional components.`);
  10278. }
  10279. }
  10280. // Simple effect.
  10281. function watchEffect(effect, options) {
  10282. return doWatch(effect, null, options);
  10283. }
  10284. function watchPostEffect(effect, options) {
  10285. return doWatch(effect, null, (( true)
  10286. ? Object.assign(Object.assign({}, options), { flush: 'post' }) : 0));
  10287. }
  10288. function watchSyncEffect(effect, options) {
  10289. return doWatch(effect, null, (( true)
  10290. ? Object.assign(Object.assign({}, options), { flush: 'sync' }) : 0));
  10291. }
  10292. // initial value for watchers to trigger on undefined initial values
  10293. const INITIAL_WATCHER_VALUE = {};
  10294. // implementation
  10295. function watch(source, cb, options) {
  10296. if (( true) && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(cb)) {
  10297. warn(`\`watch(fn, options?)\` signature has been moved to a separate API. ` +
  10298. `Use \`watchEffect(fn, options?)\` instead. \`watch\` now only ` +
  10299. `supports \`watch(source, cb, options?) signature.`);
  10300. }
  10301. return doWatch(source, cb, options);
  10302. }
  10303. function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ) {
  10304. if (( true) && !cb) {
  10305. if (immediate !== undefined) {
  10306. warn(`watch() "immediate" option is only respected when using the ` +
  10307. `watch(source, callback, options?) signature.`);
  10308. }
  10309. if (deep !== undefined) {
  10310. warn(`watch() "deep" option is only respected when using the ` +
  10311. `watch(source, callback, options?) signature.`);
  10312. }
  10313. }
  10314. const warnInvalidSource = (s) => {
  10315. warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +
  10316. `a reactive object, or an array of these types.`);
  10317. };
  10318. const instance = currentInstance;
  10319. let getter;
  10320. let forceTrigger = false;
  10321. let isMultiSource = false;
  10322. if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef)(source)) {
  10323. getter = () => source.value;
  10324. forceTrigger = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isShallow)(source);
  10325. }
  10326. else if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isReactive)(source)) {
  10327. getter = () => source;
  10328. deep = true;
  10329. }
  10330. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(source)) {
  10331. isMultiSource = true;
  10332. forceTrigger = source.some(_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isReactive);
  10333. getter = () => source.map(s => {
  10334. if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef)(s)) {
  10335. return s.value;
  10336. }
  10337. else if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isReactive)(s)) {
  10338. return traverse(s);
  10339. }
  10340. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(s)) {
  10341. return callWithErrorHandling(s, instance, 2 /* WATCH_GETTER */);
  10342. }
  10343. else {
  10344. ( true) && warnInvalidSource(s);
  10345. }
  10346. });
  10347. }
  10348. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(source)) {
  10349. if (cb) {
  10350. // getter with cb
  10351. getter = () => callWithErrorHandling(source, instance, 2 /* WATCH_GETTER */);
  10352. }
  10353. else {
  10354. // no cb -> simple effect
  10355. getter = () => {
  10356. if (instance && instance.isUnmounted) {
  10357. return;
  10358. }
  10359. if (cleanup) {
  10360. cleanup();
  10361. }
  10362. return callWithAsyncErrorHandling(source, instance, 3 /* WATCH_CALLBACK */, [onCleanup]);
  10363. };
  10364. }
  10365. }
  10366. else {
  10367. getter = _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP;
  10368. ( true) && warnInvalidSource(source);
  10369. }
  10370. if (cb && deep) {
  10371. const baseGetter = getter;
  10372. getter = () => traverse(baseGetter());
  10373. }
  10374. let cleanup;
  10375. let onCleanup = (fn) => {
  10376. cleanup = effect.onStop = () => {
  10377. callWithErrorHandling(fn, instance, 4 /* WATCH_CLEANUP */);
  10378. };
  10379. };
  10380. // in SSR there is no need to setup an actual effect, and it should be noop
  10381. // unless it's eager
  10382. if (isInSSRComponentSetup) {
  10383. // we will also not call the invalidate callback (+ runner is not set up)
  10384. onCleanup = _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP;
  10385. if (!cb) {
  10386. getter();
  10387. }
  10388. else if (immediate) {
  10389. callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [
  10390. getter(),
  10391. isMultiSource ? [] : undefined,
  10392. onCleanup
  10393. ]);
  10394. }
  10395. return _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP;
  10396. }
  10397. let oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;
  10398. const job = () => {
  10399. if (!effect.active) {
  10400. return;
  10401. }
  10402. if (cb) {
  10403. // watch(source, cb)
  10404. const newValue = effect.run();
  10405. if (deep ||
  10406. forceTrigger ||
  10407. (isMultiSource
  10408. ? newValue.some((v, i) => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasChanged)(v, oldValue[i]))
  10409. : (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasChanged)(newValue, oldValue)) ||
  10410. (false )) {
  10411. // cleanup before running cb again
  10412. if (cleanup) {
  10413. cleanup();
  10414. }
  10415. callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [
  10416. newValue,
  10417. // pass undefined as the old value when it's changed for the first time
  10418. oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,
  10419. onCleanup
  10420. ]);
  10421. oldValue = newValue;
  10422. }
  10423. }
  10424. else {
  10425. // watchEffect
  10426. effect.run();
  10427. }
  10428. };
  10429. // important: mark the job as a watcher callback so that scheduler knows
  10430. // it is allowed to self-trigger (#1727)
  10431. job.allowRecurse = !!cb;
  10432. let scheduler;
  10433. if (flush === 'sync') {
  10434. scheduler = job; // the scheduler function gets called directly
  10435. }
  10436. else if (flush === 'post') {
  10437. scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);
  10438. }
  10439. else {
  10440. // default: 'pre'
  10441. scheduler = () => {
  10442. if (!instance || instance.isMounted) {
  10443. queuePreFlushCb(job);
  10444. }
  10445. else {
  10446. // with 'pre' option, the first call must happen before
  10447. // the component is mounted so it is called synchronously.
  10448. job();
  10449. }
  10450. };
  10451. }
  10452. const effect = new _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.ReactiveEffect(getter, scheduler);
  10453. if ((true)) {
  10454. effect.onTrack = onTrack;
  10455. effect.onTrigger = onTrigger;
  10456. }
  10457. // initial run
  10458. if (cb) {
  10459. if (immediate) {
  10460. job();
  10461. }
  10462. else {
  10463. oldValue = effect.run();
  10464. }
  10465. }
  10466. else if (flush === 'post') {
  10467. queuePostRenderEffect(effect.run.bind(effect), instance && instance.suspense);
  10468. }
  10469. else {
  10470. effect.run();
  10471. }
  10472. return () => {
  10473. effect.stop();
  10474. if (instance && instance.scope) {
  10475. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.remove)(instance.scope.effects, effect);
  10476. }
  10477. };
  10478. }
  10479. // this.$watch
  10480. function instanceWatch(source, value, options) {
  10481. const publicThis = this.proxy;
  10482. const getter = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(source)
  10483. ? source.includes('.')
  10484. ? createPathGetter(publicThis, source)
  10485. : () => publicThis[source]
  10486. : source.bind(publicThis, publicThis);
  10487. let cb;
  10488. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(value)) {
  10489. cb = value;
  10490. }
  10491. else {
  10492. cb = value.handler;
  10493. options = value;
  10494. }
  10495. const cur = currentInstance;
  10496. setCurrentInstance(this);
  10497. const res = doWatch(getter, cb.bind(publicThis), options);
  10498. if (cur) {
  10499. setCurrentInstance(cur);
  10500. }
  10501. else {
  10502. unsetCurrentInstance();
  10503. }
  10504. return res;
  10505. }
  10506. function createPathGetter(ctx, path) {
  10507. const segments = path.split('.');
  10508. return () => {
  10509. let cur = ctx;
  10510. for (let i = 0; i < segments.length && cur; i++) {
  10511. cur = cur[segments[i]];
  10512. }
  10513. return cur;
  10514. };
  10515. }
  10516. function traverse(value, seen) {
  10517. if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(value) || value["__v_skip" /* SKIP */]) {
  10518. return value;
  10519. }
  10520. seen = seen || new Set();
  10521. if (seen.has(value)) {
  10522. return value;
  10523. }
  10524. seen.add(value);
  10525. if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef)(value)) {
  10526. traverse(value.value, seen);
  10527. }
  10528. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(value)) {
  10529. for (let i = 0; i < value.length; i++) {
  10530. traverse(value[i], seen);
  10531. }
  10532. }
  10533. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isSet)(value) || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isMap)(value)) {
  10534. value.forEach((v) => {
  10535. traverse(v, seen);
  10536. });
  10537. }
  10538. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isPlainObject)(value)) {
  10539. for (const key in value) {
  10540. traverse(value[key], seen);
  10541. }
  10542. }
  10543. return value;
  10544. }
  10545. function useTransitionState() {
  10546. const state = {
  10547. isMounted: false,
  10548. isLeaving: false,
  10549. isUnmounting: false,
  10550. leavingVNodes: new Map()
  10551. };
  10552. onMounted(() => {
  10553. state.isMounted = true;
  10554. });
  10555. onBeforeUnmount(() => {
  10556. state.isUnmounting = true;
  10557. });
  10558. return state;
  10559. }
  10560. const TransitionHookValidator = [Function, Array];
  10561. const BaseTransitionImpl = {
  10562. name: `BaseTransition`,
  10563. props: {
  10564. mode: String,
  10565. appear: Boolean,
  10566. persisted: Boolean,
  10567. // enter
  10568. onBeforeEnter: TransitionHookValidator,
  10569. onEnter: TransitionHookValidator,
  10570. onAfterEnter: TransitionHookValidator,
  10571. onEnterCancelled: TransitionHookValidator,
  10572. // leave
  10573. onBeforeLeave: TransitionHookValidator,
  10574. onLeave: TransitionHookValidator,
  10575. onAfterLeave: TransitionHookValidator,
  10576. onLeaveCancelled: TransitionHookValidator,
  10577. // appear
  10578. onBeforeAppear: TransitionHookValidator,
  10579. onAppear: TransitionHookValidator,
  10580. onAfterAppear: TransitionHookValidator,
  10581. onAppearCancelled: TransitionHookValidator
  10582. },
  10583. setup(props, { slots }) {
  10584. const instance = getCurrentInstance();
  10585. const state = useTransitionState();
  10586. let prevTransitionKey;
  10587. return () => {
  10588. const children = slots.default && getTransitionRawChildren(slots.default(), true);
  10589. if (!children || !children.length) {
  10590. return;
  10591. }
  10592. let child = children[0];
  10593. if (children.length > 1) {
  10594. let hasFound = false;
  10595. // locate first non-comment child
  10596. for (const c of children) {
  10597. if (c.type !== Comment) {
  10598. if (( true) && hasFound) {
  10599. // warn more than one non-comment child
  10600. warn('<transition> can only be used on a single element or component. ' +
  10601. 'Use <transition-group> for lists.');
  10602. break;
  10603. }
  10604. child = c;
  10605. hasFound = true;
  10606. if (false)
  10607. {}
  10608. }
  10609. }
  10610. }
  10611. // there's no need to track reactivity for these props so use the raw
  10612. // props for a bit better perf
  10613. const rawProps = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw)(props);
  10614. const { mode } = rawProps;
  10615. // check mode
  10616. if (( true) &&
  10617. mode &&
  10618. mode !== 'in-out' &&
  10619. mode !== 'out-in' &&
  10620. mode !== 'default') {
  10621. warn(`invalid <transition> mode: ${mode}`);
  10622. }
  10623. if (state.isLeaving) {
  10624. return emptyPlaceholder(child);
  10625. }
  10626. // in the case of <transition><keep-alive/></transition>, we need to
  10627. // compare the type of the kept-alive children.
  10628. const innerChild = getKeepAliveChild(child);
  10629. if (!innerChild) {
  10630. return emptyPlaceholder(child);
  10631. }
  10632. const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance);
  10633. setTransitionHooks(innerChild, enterHooks);
  10634. const oldChild = instance.subTree;
  10635. const oldInnerChild = oldChild && getKeepAliveChild(oldChild);
  10636. let transitionKeyChanged = false;
  10637. const { getTransitionKey } = innerChild.type;
  10638. if (getTransitionKey) {
  10639. const key = getTransitionKey();
  10640. if (prevTransitionKey === undefined) {
  10641. prevTransitionKey = key;
  10642. }
  10643. else if (key !== prevTransitionKey) {
  10644. prevTransitionKey = key;
  10645. transitionKeyChanged = true;
  10646. }
  10647. }
  10648. // handle mode
  10649. if (oldInnerChild &&
  10650. oldInnerChild.type !== Comment &&
  10651. (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {
  10652. const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);
  10653. // update old tree's hooks in case of dynamic transition
  10654. setTransitionHooks(oldInnerChild, leavingHooks);
  10655. // switching between different views
  10656. if (mode === 'out-in') {
  10657. state.isLeaving = true;
  10658. // return placeholder node and queue update when leave finishes
  10659. leavingHooks.afterLeave = () => {
  10660. state.isLeaving = false;
  10661. instance.update();
  10662. };
  10663. return emptyPlaceholder(child);
  10664. }
  10665. else if (mode === 'in-out' && innerChild.type !== Comment) {
  10666. leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {
  10667. const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);
  10668. leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;
  10669. // early removal callback
  10670. el._leaveCb = () => {
  10671. earlyRemove();
  10672. el._leaveCb = undefined;
  10673. delete enterHooks.delayedLeave;
  10674. };
  10675. enterHooks.delayedLeave = delayedLeave;
  10676. };
  10677. }
  10678. }
  10679. return child;
  10680. };
  10681. }
  10682. };
  10683. // export the public type for h/tsx inference
  10684. // also to avoid inline import() in generated d.ts files
  10685. const BaseTransition = BaseTransitionImpl;
  10686. function getLeavingNodesForType(state, vnode) {
  10687. const { leavingVNodes } = state;
  10688. let leavingVNodesCache = leavingVNodes.get(vnode.type);
  10689. if (!leavingVNodesCache) {
  10690. leavingVNodesCache = Object.create(null);
  10691. leavingVNodes.set(vnode.type, leavingVNodesCache);
  10692. }
  10693. return leavingVNodesCache;
  10694. }
  10695. // The transition hooks are attached to the vnode as vnode.transition
  10696. // and will be called at appropriate timing in the renderer.
  10697. function resolveTransitionHooks(vnode, props, state, instance) {
  10698. const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;
  10699. const key = String(vnode.key);
  10700. const leavingVNodesCache = getLeavingNodesForType(state, vnode);
  10701. const callHook = (hook, args) => {
  10702. hook &&
  10703. callWithAsyncErrorHandling(hook, instance, 9 /* TRANSITION_HOOK */, args);
  10704. };
  10705. const hooks = {
  10706. mode,
  10707. persisted,
  10708. beforeEnter(el) {
  10709. let hook = onBeforeEnter;
  10710. if (!state.isMounted) {
  10711. if (appear) {
  10712. hook = onBeforeAppear || onBeforeEnter;
  10713. }
  10714. else {
  10715. return;
  10716. }
  10717. }
  10718. // for same element (v-show)
  10719. if (el._leaveCb) {
  10720. el._leaveCb(true /* cancelled */);
  10721. }
  10722. // for toggled element with same key (v-if)
  10723. const leavingVNode = leavingVNodesCache[key];
  10724. if (leavingVNode &&
  10725. isSameVNodeType(vnode, leavingVNode) &&
  10726. leavingVNode.el._leaveCb) {
  10727. // force early removal (not cancelled)
  10728. leavingVNode.el._leaveCb();
  10729. }
  10730. callHook(hook, [el]);
  10731. },
  10732. enter(el) {
  10733. let hook = onEnter;
  10734. let afterHook = onAfterEnter;
  10735. let cancelHook = onEnterCancelled;
  10736. if (!state.isMounted) {
  10737. if (appear) {
  10738. hook = onAppear || onEnter;
  10739. afterHook = onAfterAppear || onAfterEnter;
  10740. cancelHook = onAppearCancelled || onEnterCancelled;
  10741. }
  10742. else {
  10743. return;
  10744. }
  10745. }
  10746. let called = false;
  10747. const done = (el._enterCb = (cancelled) => {
  10748. if (called)
  10749. return;
  10750. called = true;
  10751. if (cancelled) {
  10752. callHook(cancelHook, [el]);
  10753. }
  10754. else {
  10755. callHook(afterHook, [el]);
  10756. }
  10757. if (hooks.delayedLeave) {
  10758. hooks.delayedLeave();
  10759. }
  10760. el._enterCb = undefined;
  10761. });
  10762. if (hook) {
  10763. hook(el, done);
  10764. if (hook.length <= 1) {
  10765. done();
  10766. }
  10767. }
  10768. else {
  10769. done();
  10770. }
  10771. },
  10772. leave(el, remove) {
  10773. const key = String(vnode.key);
  10774. if (el._enterCb) {
  10775. el._enterCb(true /* cancelled */);
  10776. }
  10777. if (state.isUnmounting) {
  10778. return remove();
  10779. }
  10780. callHook(onBeforeLeave, [el]);
  10781. let called = false;
  10782. const done = (el._leaveCb = (cancelled) => {
  10783. if (called)
  10784. return;
  10785. called = true;
  10786. remove();
  10787. if (cancelled) {
  10788. callHook(onLeaveCancelled, [el]);
  10789. }
  10790. else {
  10791. callHook(onAfterLeave, [el]);
  10792. }
  10793. el._leaveCb = undefined;
  10794. if (leavingVNodesCache[key] === vnode) {
  10795. delete leavingVNodesCache[key];
  10796. }
  10797. });
  10798. leavingVNodesCache[key] = vnode;
  10799. if (onLeave) {
  10800. onLeave(el, done);
  10801. if (onLeave.length <= 1) {
  10802. done();
  10803. }
  10804. }
  10805. else {
  10806. done();
  10807. }
  10808. },
  10809. clone(vnode) {
  10810. return resolveTransitionHooks(vnode, props, state, instance);
  10811. }
  10812. };
  10813. return hooks;
  10814. }
  10815. // the placeholder really only handles one special case: KeepAlive
  10816. // in the case of a KeepAlive in a leave phase we need to return a KeepAlive
  10817. // placeholder with empty content to avoid the KeepAlive instance from being
  10818. // unmounted.
  10819. function emptyPlaceholder(vnode) {
  10820. if (isKeepAlive(vnode)) {
  10821. vnode = cloneVNode(vnode);
  10822. vnode.children = null;
  10823. return vnode;
  10824. }
  10825. }
  10826. function getKeepAliveChild(vnode) {
  10827. return isKeepAlive(vnode)
  10828. ? vnode.children
  10829. ? vnode.children[0]
  10830. : undefined
  10831. : vnode;
  10832. }
  10833. function setTransitionHooks(vnode, hooks) {
  10834. if (vnode.shapeFlag & 6 /* COMPONENT */ && vnode.component) {
  10835. setTransitionHooks(vnode.component.subTree, hooks);
  10836. }
  10837. else if (vnode.shapeFlag & 128 /* SUSPENSE */) {
  10838. vnode.ssContent.transition = hooks.clone(vnode.ssContent);
  10839. vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);
  10840. }
  10841. else {
  10842. vnode.transition = hooks;
  10843. }
  10844. }
  10845. function getTransitionRawChildren(children, keepComment = false, parentKey) {
  10846. let ret = [];
  10847. let keyedFragmentCount = 0;
  10848. for (let i = 0; i < children.length; i++) {
  10849. let child = children[i];
  10850. // #5360 inherit parent key in case of <template v-for>
  10851. const key = parentKey == null
  10852. ? child.key
  10853. : String(parentKey) + String(child.key != null ? child.key : i);
  10854. // handle fragment children case, e.g. v-for
  10855. if (child.type === Fragment) {
  10856. if (child.patchFlag & 128 /* KEYED_FRAGMENT */)
  10857. keyedFragmentCount++;
  10858. ret = ret.concat(getTransitionRawChildren(child.children, keepComment, key));
  10859. }
  10860. // comment placeholders should be skipped, e.g. v-if
  10861. else if (keepComment || child.type !== Comment) {
  10862. ret.push(key != null ? cloneVNode(child, { key }) : child);
  10863. }
  10864. }
  10865. // #1126 if a transition children list contains multiple sub fragments, these
  10866. // fragments will be merged into a flat children array. Since each v-for
  10867. // fragment may contain different static bindings inside, we need to de-op
  10868. // these children to force full diffs to ensure correct behavior.
  10869. if (keyedFragmentCount > 1) {
  10870. for (let i = 0; i < ret.length; i++) {
  10871. ret[i].patchFlag = -2 /* BAIL */;
  10872. }
  10873. }
  10874. return ret;
  10875. }
  10876. // implementation, close to no-op
  10877. function defineComponent(options) {
  10878. return (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(options) ? { setup: options, name: options.name } : options;
  10879. }
  10880. const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
  10881. function defineAsyncComponent(source) {
  10882. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(source)) {
  10883. source = { loader: source };
  10884. }
  10885. const { loader, loadingComponent, errorComponent, delay = 200, timeout, // undefined = never times out
  10886. suspensible = true, onError: userOnError } = source;
  10887. let pendingRequest = null;
  10888. let resolvedComp;
  10889. let retries = 0;
  10890. const retry = () => {
  10891. retries++;
  10892. pendingRequest = null;
  10893. return load();
  10894. };
  10895. const load = () => {
  10896. let thisRequest;
  10897. return (pendingRequest ||
  10898. (thisRequest = pendingRequest =
  10899. loader()
  10900. .catch(err => {
  10901. err = err instanceof Error ? err : new Error(String(err));
  10902. if (userOnError) {
  10903. return new Promise((resolve, reject) => {
  10904. const userRetry = () => resolve(retry());
  10905. const userFail = () => reject(err);
  10906. userOnError(err, userRetry, userFail, retries + 1);
  10907. });
  10908. }
  10909. else {
  10910. throw err;
  10911. }
  10912. })
  10913. .then((comp) => {
  10914. if (thisRequest !== pendingRequest && pendingRequest) {
  10915. return pendingRequest;
  10916. }
  10917. if (( true) && !comp) {
  10918. warn(`Async component loader resolved to undefined. ` +
  10919. `If you are using retry(), make sure to return its return value.`);
  10920. }
  10921. // interop module default
  10922. if (comp &&
  10923. (comp.__esModule || comp[Symbol.toStringTag] === 'Module')) {
  10924. comp = comp.default;
  10925. }
  10926. if (( true) && comp && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(comp) && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(comp)) {
  10927. throw new Error(`Invalid async component load result: ${comp}`);
  10928. }
  10929. resolvedComp = comp;
  10930. return comp;
  10931. })));
  10932. };
  10933. return defineComponent({
  10934. name: 'AsyncComponentWrapper',
  10935. __asyncLoader: load,
  10936. get __asyncResolved() {
  10937. return resolvedComp;
  10938. },
  10939. setup() {
  10940. const instance = currentInstance;
  10941. // already resolved
  10942. if (resolvedComp) {
  10943. return () => createInnerComp(resolvedComp, instance);
  10944. }
  10945. const onError = (err) => {
  10946. pendingRequest = null;
  10947. handleError(err, instance, 13 /* ASYNC_COMPONENT_LOADER */, !errorComponent /* do not throw in dev if user provided error component */);
  10948. };
  10949. // suspense-controlled or SSR.
  10950. if ((suspensible && instance.suspense) ||
  10951. (isInSSRComponentSetup)) {
  10952. return load()
  10953. .then(comp => {
  10954. return () => createInnerComp(comp, instance);
  10955. })
  10956. .catch(err => {
  10957. onError(err);
  10958. return () => errorComponent
  10959. ? createVNode(errorComponent, {
  10960. error: err
  10961. })
  10962. : null;
  10963. });
  10964. }
  10965. const loaded = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.ref)(false);
  10966. const error = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.ref)();
  10967. const delayed = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.ref)(!!delay);
  10968. if (delay) {
  10969. setTimeout(() => {
  10970. delayed.value = false;
  10971. }, delay);
  10972. }
  10973. if (timeout != null) {
  10974. setTimeout(() => {
  10975. if (!loaded.value && !error.value) {
  10976. const err = new Error(`Async component timed out after ${timeout}ms.`);
  10977. onError(err);
  10978. error.value = err;
  10979. }
  10980. }, timeout);
  10981. }
  10982. load()
  10983. .then(() => {
  10984. loaded.value = true;
  10985. if (instance.parent && isKeepAlive(instance.parent.vnode)) {
  10986. // parent is keep-alive, force update so the loaded component's
  10987. // name is taken into account
  10988. queueJob(instance.parent.update);
  10989. }
  10990. })
  10991. .catch(err => {
  10992. onError(err);
  10993. error.value = err;
  10994. });
  10995. return () => {
  10996. if (loaded.value && resolvedComp) {
  10997. return createInnerComp(resolvedComp, instance);
  10998. }
  10999. else if (error.value && errorComponent) {
  11000. return createVNode(errorComponent, {
  11001. error: error.value
  11002. });
  11003. }
  11004. else if (loadingComponent && !delayed.value) {
  11005. return createVNode(loadingComponent);
  11006. }
  11007. };
  11008. }
  11009. });
  11010. }
  11011. function createInnerComp(comp, { vnode: { ref, props, children } }) {
  11012. const vnode = createVNode(comp, props, children);
  11013. // ensure inner component inherits the async wrapper's ref owner
  11014. vnode.ref = ref;
  11015. return vnode;
  11016. }
  11017. const isKeepAlive = (vnode) => vnode.type.__isKeepAlive;
  11018. const KeepAliveImpl = {
  11019. name: `KeepAlive`,
  11020. // Marker for special handling inside the renderer. We are not using a ===
  11021. // check directly on KeepAlive in the renderer, because importing it directly
  11022. // would prevent it from being tree-shaken.
  11023. __isKeepAlive: true,
  11024. props: {
  11025. include: [String, RegExp, Array],
  11026. exclude: [String, RegExp, Array],
  11027. max: [String, Number]
  11028. },
  11029. setup(props, { slots }) {
  11030. const instance = getCurrentInstance();
  11031. // KeepAlive communicates with the instantiated renderer via the
  11032. // ctx where the renderer passes in its internals,
  11033. // and the KeepAlive instance exposes activate/deactivate implementations.
  11034. // The whole point of this is to avoid importing KeepAlive directly in the
  11035. // renderer to facilitate tree-shaking.
  11036. const sharedContext = instance.ctx;
  11037. // if the internal renderer is not registered, it indicates that this is server-side rendering,
  11038. // for KeepAlive, we just need to render its children
  11039. if (!sharedContext.renderer) {
  11040. return slots.default;
  11041. }
  11042. const cache = new Map();
  11043. const keys = new Set();
  11044. let current = null;
  11045. if (true) {
  11046. instance.__v_cache = cache;
  11047. }
  11048. const parentSuspense = instance.suspense;
  11049. const { renderer: { p: patch, m: move, um: _unmount, o: { createElement } } } = sharedContext;
  11050. const storageContainer = createElement('div');
  11051. sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => {
  11052. const instance = vnode.component;
  11053. move(vnode, container, anchor, 0 /* ENTER */, parentSuspense);
  11054. // in case props have changed
  11055. patch(instance.vnode, vnode, container, anchor, instance, parentSuspense, isSVG, vnode.slotScopeIds, optimized);
  11056. queuePostRenderEffect(() => {
  11057. instance.isDeactivated = false;
  11058. if (instance.a) {
  11059. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.invokeArrayFns)(instance.a);
  11060. }
  11061. const vnodeHook = vnode.props && vnode.props.onVnodeMounted;
  11062. if (vnodeHook) {
  11063. invokeVNodeHook(vnodeHook, instance.parent, vnode);
  11064. }
  11065. }, parentSuspense);
  11066. if (true) {
  11067. // Update components tree
  11068. devtoolsComponentAdded(instance);
  11069. }
  11070. };
  11071. sharedContext.deactivate = (vnode) => {
  11072. const instance = vnode.component;
  11073. move(vnode, storageContainer, null, 1 /* LEAVE */, parentSuspense);
  11074. queuePostRenderEffect(() => {
  11075. if (instance.da) {
  11076. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.invokeArrayFns)(instance.da);
  11077. }
  11078. const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;
  11079. if (vnodeHook) {
  11080. invokeVNodeHook(vnodeHook, instance.parent, vnode);
  11081. }
  11082. instance.isDeactivated = true;
  11083. }, parentSuspense);
  11084. if (true) {
  11085. // Update components tree
  11086. devtoolsComponentAdded(instance);
  11087. }
  11088. };
  11089. function unmount(vnode) {
  11090. // reset the shapeFlag so it can be properly unmounted
  11091. resetShapeFlag(vnode);
  11092. _unmount(vnode, instance, parentSuspense, true);
  11093. }
  11094. function pruneCache(filter) {
  11095. cache.forEach((vnode, key) => {
  11096. const name = getComponentName(vnode.type);
  11097. if (name && (!filter || !filter(name))) {
  11098. pruneCacheEntry(key);
  11099. }
  11100. });
  11101. }
  11102. function pruneCacheEntry(key) {
  11103. const cached = cache.get(key);
  11104. if (!current || cached.type !== current.type) {
  11105. unmount(cached);
  11106. }
  11107. else if (current) {
  11108. // current active instance should no longer be kept-alive.
  11109. // we can't unmount it now but it might be later, so reset its flag now.
  11110. resetShapeFlag(current);
  11111. }
  11112. cache.delete(key);
  11113. keys.delete(key);
  11114. }
  11115. // prune cache on include/exclude prop change
  11116. watch(() => [props.include, props.exclude], ([include, exclude]) => {
  11117. include && pruneCache(name => matches(include, name));
  11118. exclude && pruneCache(name => !matches(exclude, name));
  11119. },
  11120. // prune post-render after `current` has been updated
  11121. { flush: 'post', deep: true });
  11122. // cache sub tree after render
  11123. let pendingCacheKey = null;
  11124. const cacheSubtree = () => {
  11125. // fix #1621, the pendingCacheKey could be 0
  11126. if (pendingCacheKey != null) {
  11127. cache.set(pendingCacheKey, getInnerChild(instance.subTree));
  11128. }
  11129. };
  11130. onMounted(cacheSubtree);
  11131. onUpdated(cacheSubtree);
  11132. onBeforeUnmount(() => {
  11133. cache.forEach(cached => {
  11134. const { subTree, suspense } = instance;
  11135. const vnode = getInnerChild(subTree);
  11136. if (cached.type === vnode.type) {
  11137. // current instance will be unmounted as part of keep-alive's unmount
  11138. resetShapeFlag(vnode);
  11139. // but invoke its deactivated hook here
  11140. const da = vnode.component.da;
  11141. da && queuePostRenderEffect(da, suspense);
  11142. return;
  11143. }
  11144. unmount(cached);
  11145. });
  11146. });
  11147. return () => {
  11148. pendingCacheKey = null;
  11149. if (!slots.default) {
  11150. return null;
  11151. }
  11152. const children = slots.default();
  11153. const rawVNode = children[0];
  11154. if (children.length > 1) {
  11155. if ((true)) {
  11156. warn(`KeepAlive should contain exactly one component child.`);
  11157. }
  11158. current = null;
  11159. return children;
  11160. }
  11161. else if (!isVNode(rawVNode) ||
  11162. (!(rawVNode.shapeFlag & 4 /* STATEFUL_COMPONENT */) &&
  11163. !(rawVNode.shapeFlag & 128 /* SUSPENSE */))) {
  11164. current = null;
  11165. return rawVNode;
  11166. }
  11167. let vnode = getInnerChild(rawVNode);
  11168. const comp = vnode.type;
  11169. // for async components, name check should be based in its loaded
  11170. // inner component if available
  11171. const name = getComponentName(isAsyncWrapper(vnode)
  11172. ? vnode.type.__asyncResolved || {}
  11173. : comp);
  11174. const { include, exclude, max } = props;
  11175. if ((include && (!name || !matches(include, name))) ||
  11176. (exclude && name && matches(exclude, name))) {
  11177. current = vnode;
  11178. return rawVNode;
  11179. }
  11180. const key = vnode.key == null ? comp : vnode.key;
  11181. const cachedVNode = cache.get(key);
  11182. // clone vnode if it's reused because we are going to mutate it
  11183. if (vnode.el) {
  11184. vnode = cloneVNode(vnode);
  11185. if (rawVNode.shapeFlag & 128 /* SUSPENSE */) {
  11186. rawVNode.ssContent = vnode;
  11187. }
  11188. }
  11189. // #1513 it's possible for the returned vnode to be cloned due to attr
  11190. // fallthrough or scopeId, so the vnode here may not be the final vnode
  11191. // that is mounted. Instead of caching it directly, we store the pending
  11192. // key and cache `instance.subTree` (the normalized vnode) in
  11193. // beforeMount/beforeUpdate hooks.
  11194. pendingCacheKey = key;
  11195. if (cachedVNode) {
  11196. // copy over mounted state
  11197. vnode.el = cachedVNode.el;
  11198. vnode.component = cachedVNode.component;
  11199. if (vnode.transition) {
  11200. // recursively update transition hooks on subTree
  11201. setTransitionHooks(vnode, vnode.transition);
  11202. }
  11203. // avoid vnode being mounted as fresh
  11204. vnode.shapeFlag |= 512 /* COMPONENT_KEPT_ALIVE */;
  11205. // make this key the freshest
  11206. keys.delete(key);
  11207. keys.add(key);
  11208. }
  11209. else {
  11210. keys.add(key);
  11211. // prune oldest entry
  11212. if (max && keys.size > parseInt(max, 10)) {
  11213. pruneCacheEntry(keys.values().next().value);
  11214. }
  11215. }
  11216. // avoid vnode being unmounted
  11217. vnode.shapeFlag |= 256 /* COMPONENT_SHOULD_KEEP_ALIVE */;
  11218. current = vnode;
  11219. return rawVNode;
  11220. };
  11221. }
  11222. };
  11223. // export the public type for h/tsx inference
  11224. // also to avoid inline import() in generated d.ts files
  11225. const KeepAlive = KeepAliveImpl;
  11226. function matches(pattern, name) {
  11227. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(pattern)) {
  11228. return pattern.some((p) => matches(p, name));
  11229. }
  11230. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(pattern)) {
  11231. return pattern.split(',').includes(name);
  11232. }
  11233. else if (pattern.test) {
  11234. return pattern.test(name);
  11235. }
  11236. /* istanbul ignore next */
  11237. return false;
  11238. }
  11239. function onActivated(hook, target) {
  11240. registerKeepAliveHook(hook, "a" /* ACTIVATED */, target);
  11241. }
  11242. function onDeactivated(hook, target) {
  11243. registerKeepAliveHook(hook, "da" /* DEACTIVATED */, target);
  11244. }
  11245. function registerKeepAliveHook(hook, type, target = currentInstance) {
  11246. // cache the deactivate branch check wrapper for injected hooks so the same
  11247. // hook can be properly deduped by the scheduler. "__wdc" stands for "with
  11248. // deactivation check".
  11249. const wrappedHook = hook.__wdc ||
  11250. (hook.__wdc = () => {
  11251. // only fire the hook if the target instance is NOT in a deactivated branch.
  11252. let current = target;
  11253. while (current) {
  11254. if (current.isDeactivated) {
  11255. return;
  11256. }
  11257. current = current.parent;
  11258. }
  11259. return hook();
  11260. });
  11261. injectHook(type, wrappedHook, target);
  11262. // In addition to registering it on the target instance, we walk up the parent
  11263. // chain and register it on all ancestor instances that are keep-alive roots.
  11264. // This avoids the need to walk the entire component tree when invoking these
  11265. // hooks, and more importantly, avoids the need to track child components in
  11266. // arrays.
  11267. if (target) {
  11268. let current = target.parent;
  11269. while (current && current.parent) {
  11270. if (isKeepAlive(current.parent.vnode)) {
  11271. injectToKeepAliveRoot(wrappedHook, type, target, current);
  11272. }
  11273. current = current.parent;
  11274. }
  11275. }
  11276. }
  11277. function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {
  11278. // injectHook wraps the original for error handling, so make sure to remove
  11279. // the wrapped version.
  11280. const injected = injectHook(type, hook, keepAliveRoot, true /* prepend */);
  11281. onUnmounted(() => {
  11282. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.remove)(keepAliveRoot[type], injected);
  11283. }, target);
  11284. }
  11285. function resetShapeFlag(vnode) {
  11286. let shapeFlag = vnode.shapeFlag;
  11287. if (shapeFlag & 256 /* COMPONENT_SHOULD_KEEP_ALIVE */) {
  11288. shapeFlag -= 256 /* COMPONENT_SHOULD_KEEP_ALIVE */;
  11289. }
  11290. if (shapeFlag & 512 /* COMPONENT_KEPT_ALIVE */) {
  11291. shapeFlag -= 512 /* COMPONENT_KEPT_ALIVE */;
  11292. }
  11293. vnode.shapeFlag = shapeFlag;
  11294. }
  11295. function getInnerChild(vnode) {
  11296. return vnode.shapeFlag & 128 /* SUSPENSE */ ? vnode.ssContent : vnode;
  11297. }
  11298. function injectHook(type, hook, target = currentInstance, prepend = false) {
  11299. if (target) {
  11300. const hooks = target[type] || (target[type] = []);
  11301. // cache the error handling wrapper for injected hooks so the same hook
  11302. // can be properly deduped by the scheduler. "__weh" stands for "with error
  11303. // handling".
  11304. const wrappedHook = hook.__weh ||
  11305. (hook.__weh = (...args) => {
  11306. if (target.isUnmounted) {
  11307. return;
  11308. }
  11309. // disable tracking inside all lifecycle hooks
  11310. // since they can potentially be called inside effects.
  11311. (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.pauseTracking)();
  11312. // Set currentInstance during hook invocation.
  11313. // This assumes the hook does not synchronously trigger other hooks, which
  11314. // can only be false when the user does something really funky.
  11315. setCurrentInstance(target);
  11316. const res = callWithAsyncErrorHandling(hook, target, type, args);
  11317. unsetCurrentInstance();
  11318. (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.resetTracking)();
  11319. return res;
  11320. });
  11321. if (prepend) {
  11322. hooks.unshift(wrappedHook);
  11323. }
  11324. else {
  11325. hooks.push(wrappedHook);
  11326. }
  11327. return wrappedHook;
  11328. }
  11329. else if ((true)) {
  11330. const apiName = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey)(ErrorTypeStrings[type].replace(/ hook$/, ''));
  11331. warn(`${apiName} is called when there is no active component instance to be ` +
  11332. `associated with. ` +
  11333. `Lifecycle injection APIs can only be used during execution of setup().` +
  11334. (` If you are using async setup(), make sure to register lifecycle ` +
  11335. `hooks before the first await statement.`
  11336. ));
  11337. }
  11338. }
  11339. const createHook = (lifecycle) => (hook, target = currentInstance) =>
  11340. // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)
  11341. (!isInSSRComponentSetup || lifecycle === "sp" /* SERVER_PREFETCH */) &&
  11342. injectHook(lifecycle, hook, target);
  11343. const onBeforeMount = createHook("bm" /* BEFORE_MOUNT */);
  11344. const onMounted = createHook("m" /* MOUNTED */);
  11345. const onBeforeUpdate = createHook("bu" /* BEFORE_UPDATE */);
  11346. const onUpdated = createHook("u" /* UPDATED */);
  11347. const onBeforeUnmount = createHook("bum" /* BEFORE_UNMOUNT */);
  11348. const onUnmounted = createHook("um" /* UNMOUNTED */);
  11349. const onServerPrefetch = createHook("sp" /* SERVER_PREFETCH */);
  11350. const onRenderTriggered = createHook("rtg" /* RENDER_TRIGGERED */);
  11351. const onRenderTracked = createHook("rtc" /* RENDER_TRACKED */);
  11352. function onErrorCaptured(hook, target = currentInstance) {
  11353. injectHook("ec" /* ERROR_CAPTURED */, hook, target);
  11354. }
  11355. function createDuplicateChecker() {
  11356. const cache = Object.create(null);
  11357. return (type, key) => {
  11358. if (cache[key]) {
  11359. warn(`${type} property "${key}" is already defined in ${cache[key]}.`);
  11360. }
  11361. else {
  11362. cache[key] = type;
  11363. }
  11364. };
  11365. }
  11366. let shouldCacheAccess = true;
  11367. function applyOptions(instance) {
  11368. const options = resolveMergedOptions(instance);
  11369. const publicThis = instance.proxy;
  11370. const ctx = instance.ctx;
  11371. // do not cache property access on public proxy during state initialization
  11372. shouldCacheAccess = false;
  11373. // call beforeCreate first before accessing other options since
  11374. // the hook may mutate resolved options (#2791)
  11375. if (options.beforeCreate) {
  11376. callHook(options.beforeCreate, instance, "bc" /* BEFORE_CREATE */);
  11377. }
  11378. const {
  11379. // state
  11380. data: dataOptions, computed: computedOptions, methods, watch: watchOptions, provide: provideOptions, inject: injectOptions,
  11381. // lifecycle
  11382. created, beforeMount, mounted, beforeUpdate, updated, activated, deactivated, beforeDestroy, beforeUnmount, destroyed, unmounted, render, renderTracked, renderTriggered, errorCaptured, serverPrefetch,
  11383. // public API
  11384. expose, inheritAttrs,
  11385. // assets
  11386. components, directives, filters } = options;
  11387. const checkDuplicateProperties = ( true) ? createDuplicateChecker() : 0;
  11388. if ((true)) {
  11389. const [propsOptions] = instance.propsOptions;
  11390. if (propsOptions) {
  11391. for (const key in propsOptions) {
  11392. checkDuplicateProperties("Props" /* PROPS */, key);
  11393. }
  11394. }
  11395. }
  11396. // options initialization order (to be consistent with Vue 2):
  11397. // - props (already done outside of this function)
  11398. // - inject
  11399. // - methods
  11400. // - data (deferred since it relies on `this` access)
  11401. // - computed
  11402. // - watch (deferred since it relies on `this` access)
  11403. if (injectOptions) {
  11404. resolveInjections(injectOptions, ctx, checkDuplicateProperties, instance.appContext.config.unwrapInjectedRef);
  11405. }
  11406. if (methods) {
  11407. for (const key in methods) {
  11408. const methodHandler = methods[key];
  11409. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(methodHandler)) {
  11410. // In dev mode, we use the `createRenderContext` function to define
  11411. // methods to the proxy target, and those are read-only but
  11412. // reconfigurable, so it needs to be redefined here
  11413. if ((true)) {
  11414. Object.defineProperty(ctx, key, {
  11415. value: methodHandler.bind(publicThis),
  11416. configurable: true,
  11417. enumerable: true,
  11418. writable: true
  11419. });
  11420. }
  11421. else {}
  11422. if ((true)) {
  11423. checkDuplicateProperties("Methods" /* METHODS */, key);
  11424. }
  11425. }
  11426. else if ((true)) {
  11427. warn(`Method "${key}" has type "${typeof methodHandler}" in the component definition. ` +
  11428. `Did you reference the function correctly?`);
  11429. }
  11430. }
  11431. }
  11432. if (dataOptions) {
  11433. if (( true) && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(dataOptions)) {
  11434. warn(`The data option must be a function. ` +
  11435. `Plain object usage is no longer supported.`);
  11436. }
  11437. const data = dataOptions.call(publicThis, publicThis);
  11438. if (( true) && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isPromise)(data)) {
  11439. warn(`data() returned a Promise - note data() cannot be async; If you ` +
  11440. `intend to perform data fetching before component renders, use ` +
  11441. `async setup() + <Suspense>.`);
  11442. }
  11443. if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(data)) {
  11444. ( true) && warn(`data() should return an object.`);
  11445. }
  11446. else {
  11447. instance.data = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.reactive)(data);
  11448. if ((true)) {
  11449. for (const key in data) {
  11450. checkDuplicateProperties("Data" /* DATA */, key);
  11451. // expose data on ctx during dev
  11452. if (key[0] !== '$' && key[0] !== '_') {
  11453. Object.defineProperty(ctx, key, {
  11454. configurable: true,
  11455. enumerable: true,
  11456. get: () => data[key],
  11457. set: _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP
  11458. });
  11459. }
  11460. }
  11461. }
  11462. }
  11463. }
  11464. // state initialization complete at this point - start caching access
  11465. shouldCacheAccess = true;
  11466. if (computedOptions) {
  11467. for (const key in computedOptions) {
  11468. const opt = computedOptions[key];
  11469. const get = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(opt)
  11470. ? opt.bind(publicThis, publicThis)
  11471. : (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(opt.get)
  11472. ? opt.get.bind(publicThis, publicThis)
  11473. : _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP;
  11474. if (( true) && get === _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP) {
  11475. warn(`Computed property "${key}" has no getter.`);
  11476. }
  11477. const set = !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(opt) && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(opt.set)
  11478. ? opt.set.bind(publicThis)
  11479. : ( true)
  11480. ? () => {
  11481. warn(`Write operation failed: computed property "${key}" is readonly.`);
  11482. }
  11483. : 0;
  11484. const c = computed({
  11485. get,
  11486. set
  11487. });
  11488. Object.defineProperty(ctx, key, {
  11489. enumerable: true,
  11490. configurable: true,
  11491. get: () => c.value,
  11492. set: v => (c.value = v)
  11493. });
  11494. if ((true)) {
  11495. checkDuplicateProperties("Computed" /* COMPUTED */, key);
  11496. }
  11497. }
  11498. }
  11499. if (watchOptions) {
  11500. for (const key in watchOptions) {
  11501. createWatcher(watchOptions[key], ctx, publicThis, key);
  11502. }
  11503. }
  11504. if (provideOptions) {
  11505. const provides = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(provideOptions)
  11506. ? provideOptions.call(publicThis)
  11507. : provideOptions;
  11508. Reflect.ownKeys(provides).forEach(key => {
  11509. provide(key, provides[key]);
  11510. });
  11511. }
  11512. if (created) {
  11513. callHook(created, instance, "c" /* CREATED */);
  11514. }
  11515. function registerLifecycleHook(register, hook) {
  11516. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(hook)) {
  11517. hook.forEach(_hook => register(_hook.bind(publicThis)));
  11518. }
  11519. else if (hook) {
  11520. register(hook.bind(publicThis));
  11521. }
  11522. }
  11523. registerLifecycleHook(onBeforeMount, beforeMount);
  11524. registerLifecycleHook(onMounted, mounted);
  11525. registerLifecycleHook(onBeforeUpdate, beforeUpdate);
  11526. registerLifecycleHook(onUpdated, updated);
  11527. registerLifecycleHook(onActivated, activated);
  11528. registerLifecycleHook(onDeactivated, deactivated);
  11529. registerLifecycleHook(onErrorCaptured, errorCaptured);
  11530. registerLifecycleHook(onRenderTracked, renderTracked);
  11531. registerLifecycleHook(onRenderTriggered, renderTriggered);
  11532. registerLifecycleHook(onBeforeUnmount, beforeUnmount);
  11533. registerLifecycleHook(onUnmounted, unmounted);
  11534. registerLifecycleHook(onServerPrefetch, serverPrefetch);
  11535. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(expose)) {
  11536. if (expose.length) {
  11537. const exposed = instance.exposed || (instance.exposed = {});
  11538. expose.forEach(key => {
  11539. Object.defineProperty(exposed, key, {
  11540. get: () => publicThis[key],
  11541. set: val => (publicThis[key] = val)
  11542. });
  11543. });
  11544. }
  11545. else if (!instance.exposed) {
  11546. instance.exposed = {};
  11547. }
  11548. }
  11549. // options that are handled when creating the instance but also need to be
  11550. // applied from mixins
  11551. if (render && instance.render === _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP) {
  11552. instance.render = render;
  11553. }
  11554. if (inheritAttrs != null) {
  11555. instance.inheritAttrs = inheritAttrs;
  11556. }
  11557. // asset options.
  11558. if (components)
  11559. instance.components = components;
  11560. if (directives)
  11561. instance.directives = directives;
  11562. }
  11563. function resolveInjections(injectOptions, ctx, checkDuplicateProperties = _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP, unwrapRef = false) {
  11564. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(injectOptions)) {
  11565. injectOptions = normalizeInject(injectOptions);
  11566. }
  11567. for (const key in injectOptions) {
  11568. const opt = injectOptions[key];
  11569. let injected;
  11570. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(opt)) {
  11571. if ('default' in opt) {
  11572. injected = inject(opt.from || key, opt.default, true /* treat default function as factory */);
  11573. }
  11574. else {
  11575. injected = inject(opt.from || key);
  11576. }
  11577. }
  11578. else {
  11579. injected = inject(opt);
  11580. }
  11581. if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef)(injected)) {
  11582. // TODO remove the check in 3.3
  11583. if (unwrapRef) {
  11584. Object.defineProperty(ctx, key, {
  11585. enumerable: true,
  11586. configurable: true,
  11587. get: () => injected.value,
  11588. set: v => (injected.value = v)
  11589. });
  11590. }
  11591. else {
  11592. if ((true)) {
  11593. warn(`injected property "${key}" is a ref and will be auto-unwrapped ` +
  11594. `and no longer needs \`.value\` in the next minor release. ` +
  11595. `To opt-in to the new behavior now, ` +
  11596. `set \`app.config.unwrapInjectedRef = true\` (this config is ` +
  11597. `temporary and will not be needed in the future.)`);
  11598. }
  11599. ctx[key] = injected;
  11600. }
  11601. }
  11602. else {
  11603. ctx[key] = injected;
  11604. }
  11605. if ((true)) {
  11606. checkDuplicateProperties("Inject" /* INJECT */, key);
  11607. }
  11608. }
  11609. }
  11610. function callHook(hook, instance, type) {
  11611. callWithAsyncErrorHandling((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(hook)
  11612. ? hook.map(h => h.bind(instance.proxy))
  11613. : hook.bind(instance.proxy), instance, type);
  11614. }
  11615. function createWatcher(raw, ctx, publicThis, key) {
  11616. const getter = key.includes('.')
  11617. ? createPathGetter(publicThis, key)
  11618. : () => publicThis[key];
  11619. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(raw)) {
  11620. const handler = ctx[raw];
  11621. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(handler)) {
  11622. watch(getter, handler);
  11623. }
  11624. else if ((true)) {
  11625. warn(`Invalid watch handler specified by key "${raw}"`, handler);
  11626. }
  11627. }
  11628. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(raw)) {
  11629. watch(getter, raw.bind(publicThis));
  11630. }
  11631. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(raw)) {
  11632. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(raw)) {
  11633. raw.forEach(r => createWatcher(r, ctx, publicThis, key));
  11634. }
  11635. else {
  11636. const handler = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(raw.handler)
  11637. ? raw.handler.bind(publicThis)
  11638. : ctx[raw.handler];
  11639. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(handler)) {
  11640. watch(getter, handler, raw);
  11641. }
  11642. else if ((true)) {
  11643. warn(`Invalid watch handler specified by key "${raw.handler}"`, handler);
  11644. }
  11645. }
  11646. }
  11647. else if ((true)) {
  11648. warn(`Invalid watch option: "${key}"`, raw);
  11649. }
  11650. }
  11651. /**
  11652. * Resolve merged options and cache it on the component.
  11653. * This is done only once per-component since the merging does not involve
  11654. * instances.
  11655. */
  11656. function resolveMergedOptions(instance) {
  11657. const base = instance.type;
  11658. const { mixins, extends: extendsOptions } = base;
  11659. const { mixins: globalMixins, optionsCache: cache, config: { optionMergeStrategies } } = instance.appContext;
  11660. const cached = cache.get(base);
  11661. let resolved;
  11662. if (cached) {
  11663. resolved = cached;
  11664. }
  11665. else if (!globalMixins.length && !mixins && !extendsOptions) {
  11666. {
  11667. resolved = base;
  11668. }
  11669. }
  11670. else {
  11671. resolved = {};
  11672. if (globalMixins.length) {
  11673. globalMixins.forEach(m => mergeOptions(resolved, m, optionMergeStrategies, true));
  11674. }
  11675. mergeOptions(resolved, base, optionMergeStrategies);
  11676. }
  11677. cache.set(base, resolved);
  11678. return resolved;
  11679. }
  11680. function mergeOptions(to, from, strats, asMixin = false) {
  11681. const { mixins, extends: extendsOptions } = from;
  11682. if (extendsOptions) {
  11683. mergeOptions(to, extendsOptions, strats, true);
  11684. }
  11685. if (mixins) {
  11686. mixins.forEach((m) => mergeOptions(to, m, strats, true));
  11687. }
  11688. for (const key in from) {
  11689. if (asMixin && key === 'expose') {
  11690. ( true) &&
  11691. warn(`"expose" option is ignored when declared in mixins or extends. ` +
  11692. `It should only be declared in the base component itself.`);
  11693. }
  11694. else {
  11695. const strat = internalOptionMergeStrats[key] || (strats && strats[key]);
  11696. to[key] = strat ? strat(to[key], from[key]) : from[key];
  11697. }
  11698. }
  11699. return to;
  11700. }
  11701. const internalOptionMergeStrats = {
  11702. data: mergeDataFn,
  11703. props: mergeObjectOptions,
  11704. emits: mergeObjectOptions,
  11705. // objects
  11706. methods: mergeObjectOptions,
  11707. computed: mergeObjectOptions,
  11708. // lifecycle
  11709. beforeCreate: mergeAsArray,
  11710. created: mergeAsArray,
  11711. beforeMount: mergeAsArray,
  11712. mounted: mergeAsArray,
  11713. beforeUpdate: mergeAsArray,
  11714. updated: mergeAsArray,
  11715. beforeDestroy: mergeAsArray,
  11716. beforeUnmount: mergeAsArray,
  11717. destroyed: mergeAsArray,
  11718. unmounted: mergeAsArray,
  11719. activated: mergeAsArray,
  11720. deactivated: mergeAsArray,
  11721. errorCaptured: mergeAsArray,
  11722. serverPrefetch: mergeAsArray,
  11723. // assets
  11724. components: mergeObjectOptions,
  11725. directives: mergeObjectOptions,
  11726. // watch
  11727. watch: mergeWatchOptions,
  11728. // provide / inject
  11729. provide: mergeDataFn,
  11730. inject: mergeInject
  11731. };
  11732. function mergeDataFn(to, from) {
  11733. if (!from) {
  11734. return to;
  11735. }
  11736. if (!to) {
  11737. return from;
  11738. }
  11739. return function mergedDataFn() {
  11740. return ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend))((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(to) ? to.call(this, this) : to, (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(from) ? from.call(this, this) : from);
  11741. };
  11742. }
  11743. function mergeInject(to, from) {
  11744. return mergeObjectOptions(normalizeInject(to), normalizeInject(from));
  11745. }
  11746. function normalizeInject(raw) {
  11747. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(raw)) {
  11748. const res = {};
  11749. for (let i = 0; i < raw.length; i++) {
  11750. res[raw[i]] = raw[i];
  11751. }
  11752. return res;
  11753. }
  11754. return raw;
  11755. }
  11756. function mergeAsArray(to, from) {
  11757. return to ? [...new Set([].concat(to, from))] : from;
  11758. }
  11759. function mergeObjectOptions(to, from) {
  11760. return to ? (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)(Object.create(null), to), from) : from;
  11761. }
  11762. function mergeWatchOptions(to, from) {
  11763. if (!to)
  11764. return from;
  11765. if (!from)
  11766. return to;
  11767. const merged = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)(Object.create(null), to);
  11768. for (const key in from) {
  11769. merged[key] = mergeAsArray(to[key], from[key]);
  11770. }
  11771. return merged;
  11772. }
  11773. function initProps(instance, rawProps, isStateful, // result of bitwise flag comparison
  11774. isSSR = false) {
  11775. const props = {};
  11776. const attrs = {};
  11777. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.def)(attrs, InternalObjectKey, 1);
  11778. instance.propsDefaults = Object.create(null);
  11779. setFullProps(instance, rawProps, props, attrs);
  11780. // ensure all declared prop keys are present
  11781. for (const key in instance.propsOptions[0]) {
  11782. if (!(key in props)) {
  11783. props[key] = undefined;
  11784. }
  11785. }
  11786. // validation
  11787. if ((true)) {
  11788. validateProps(rawProps || {}, props, instance);
  11789. }
  11790. if (isStateful) {
  11791. // stateful
  11792. instance.props = isSSR ? props : (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowReactive)(props);
  11793. }
  11794. else {
  11795. if (!instance.type.props) {
  11796. // functional w/ optional props, props === attrs
  11797. instance.props = attrs;
  11798. }
  11799. else {
  11800. // functional w/ declared props
  11801. instance.props = props;
  11802. }
  11803. }
  11804. instance.attrs = attrs;
  11805. }
  11806. function updateProps(instance, rawProps, rawPrevProps, optimized) {
  11807. const { props, attrs, vnode: { patchFlag } } = instance;
  11808. const rawCurrentProps = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw)(props);
  11809. const [options] = instance.propsOptions;
  11810. let hasAttrsChanged = false;
  11811. if (
  11812. // always force full diff in dev
  11813. // - #1942 if hmr is enabled with sfc component
  11814. // - vite#872 non-sfc component used by sfc component
  11815. !(( true) &&
  11816. (instance.type.__hmrId ||
  11817. (instance.parent && instance.parent.type.__hmrId))) &&
  11818. (optimized || patchFlag > 0) &&
  11819. !(patchFlag & 16 /* FULL_PROPS */)) {
  11820. if (patchFlag & 8 /* PROPS */) {
  11821. // Compiler-generated props & no keys change, just set the updated
  11822. // the props.
  11823. const propsToUpdate = instance.vnode.dynamicProps;
  11824. for (let i = 0; i < propsToUpdate.length; i++) {
  11825. let key = propsToUpdate[i];
  11826. // skip if the prop key is a declared emit event listener
  11827. if (isEmitListener(instance.emitsOptions, key)) {
  11828. continue;
  11829. }
  11830. // PROPS flag guarantees rawProps to be non-null
  11831. const value = rawProps[key];
  11832. if (options) {
  11833. // attr / props separation was done on init and will be consistent
  11834. // in this code path, so just check if attrs have it.
  11835. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(attrs, key)) {
  11836. if (value !== attrs[key]) {
  11837. attrs[key] = value;
  11838. hasAttrsChanged = true;
  11839. }
  11840. }
  11841. else {
  11842. const camelizedKey = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(key);
  11843. props[camelizedKey] = resolvePropValue(options, rawCurrentProps, camelizedKey, value, instance, false /* isAbsent */);
  11844. }
  11845. }
  11846. else {
  11847. if (value !== attrs[key]) {
  11848. attrs[key] = value;
  11849. hasAttrsChanged = true;
  11850. }
  11851. }
  11852. }
  11853. }
  11854. }
  11855. else {
  11856. // full props update.
  11857. if (setFullProps(instance, rawProps, props, attrs)) {
  11858. hasAttrsChanged = true;
  11859. }
  11860. // in case of dynamic props, check if we need to delete keys from
  11861. // the props object
  11862. let kebabKey;
  11863. for (const key in rawCurrentProps) {
  11864. if (!rawProps ||
  11865. // for camelCase
  11866. (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(rawProps, key) &&
  11867. // it's possible the original props was passed in as kebab-case
  11868. // and converted to camelCase (#955)
  11869. ((kebabKey = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hyphenate)(key)) === key || !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(rawProps, kebabKey)))) {
  11870. if (options) {
  11871. if (rawPrevProps &&
  11872. // for camelCase
  11873. (rawPrevProps[key] !== undefined ||
  11874. // for kebab-case
  11875. rawPrevProps[kebabKey] !== undefined)) {
  11876. props[key] = resolvePropValue(options, rawCurrentProps, key, undefined, instance, true /* isAbsent */);
  11877. }
  11878. }
  11879. else {
  11880. delete props[key];
  11881. }
  11882. }
  11883. }
  11884. // in the case of functional component w/o props declaration, props and
  11885. // attrs point to the same object so it should already have been updated.
  11886. if (attrs !== rawCurrentProps) {
  11887. for (const key in attrs) {
  11888. if (!rawProps ||
  11889. (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(rawProps, key) &&
  11890. (!false ))) {
  11891. delete attrs[key];
  11892. hasAttrsChanged = true;
  11893. }
  11894. }
  11895. }
  11896. }
  11897. // trigger updates for $attrs in case it's used in component slots
  11898. if (hasAttrsChanged) {
  11899. (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.trigger)(instance, "set" /* SET */, '$attrs');
  11900. }
  11901. if ((true)) {
  11902. validateProps(rawProps || {}, props, instance);
  11903. }
  11904. }
  11905. function setFullProps(instance, rawProps, props, attrs) {
  11906. const [options, needCastKeys] = instance.propsOptions;
  11907. let hasAttrsChanged = false;
  11908. let rawCastValues;
  11909. if (rawProps) {
  11910. for (let key in rawProps) {
  11911. // key, ref are reserved and never passed down
  11912. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isReservedProp)(key)) {
  11913. continue;
  11914. }
  11915. const value = rawProps[key];
  11916. // prop option names are camelized during normalization, so to support
  11917. // kebab -> camel conversion here we need to camelize the key.
  11918. let camelKey;
  11919. if (options && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(options, (camelKey = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(key)))) {
  11920. if (!needCastKeys || !needCastKeys.includes(camelKey)) {
  11921. props[camelKey] = value;
  11922. }
  11923. else {
  11924. (rawCastValues || (rawCastValues = {}))[camelKey] = value;
  11925. }
  11926. }
  11927. else if (!isEmitListener(instance.emitsOptions, key)) {
  11928. if (!(key in attrs) || value !== attrs[key]) {
  11929. attrs[key] = value;
  11930. hasAttrsChanged = true;
  11931. }
  11932. }
  11933. }
  11934. }
  11935. if (needCastKeys) {
  11936. const rawCurrentProps = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw)(props);
  11937. const castValues = rawCastValues || _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ;
  11938. for (let i = 0; i < needCastKeys.length; i++) {
  11939. const key = needCastKeys[i];
  11940. props[key] = resolvePropValue(options, rawCurrentProps, key, castValues[key], instance, !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(castValues, key));
  11941. }
  11942. }
  11943. return hasAttrsChanged;
  11944. }
  11945. function resolvePropValue(options, props, key, value, instance, isAbsent) {
  11946. const opt = options[key];
  11947. if (opt != null) {
  11948. const hasDefault = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(opt, 'default');
  11949. // default values
  11950. if (hasDefault && value === undefined) {
  11951. const defaultValue = opt.default;
  11952. if (opt.type !== Function && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(defaultValue)) {
  11953. const { propsDefaults } = instance;
  11954. if (key in propsDefaults) {
  11955. value = propsDefaults[key];
  11956. }
  11957. else {
  11958. setCurrentInstance(instance);
  11959. value = propsDefaults[key] = defaultValue.call(null, props);
  11960. unsetCurrentInstance();
  11961. }
  11962. }
  11963. else {
  11964. value = defaultValue;
  11965. }
  11966. }
  11967. // boolean casting
  11968. if (opt[0 /* shouldCast */]) {
  11969. if (isAbsent && !hasDefault) {
  11970. value = false;
  11971. }
  11972. else if (opt[1 /* shouldCastTrue */] &&
  11973. (value === '' || value === (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hyphenate)(key))) {
  11974. value = true;
  11975. }
  11976. }
  11977. }
  11978. return value;
  11979. }
  11980. function normalizePropsOptions(comp, appContext, asMixin = false) {
  11981. const cache = appContext.propsCache;
  11982. const cached = cache.get(comp);
  11983. if (cached) {
  11984. return cached;
  11985. }
  11986. const raw = comp.props;
  11987. const normalized = {};
  11988. const needCastKeys = [];
  11989. // apply mixin/extends props
  11990. let hasExtends = false;
  11991. if ( true && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(comp)) {
  11992. const extendProps = (raw) => {
  11993. hasExtends = true;
  11994. const [props, keys] = normalizePropsOptions(raw, appContext, true);
  11995. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)(normalized, props);
  11996. if (keys)
  11997. needCastKeys.push(...keys);
  11998. };
  11999. if (!asMixin && appContext.mixins.length) {
  12000. appContext.mixins.forEach(extendProps);
  12001. }
  12002. if (comp.extends) {
  12003. extendProps(comp.extends);
  12004. }
  12005. if (comp.mixins) {
  12006. comp.mixins.forEach(extendProps);
  12007. }
  12008. }
  12009. if (!raw && !hasExtends) {
  12010. cache.set(comp, _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_ARR);
  12011. return _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_ARR;
  12012. }
  12013. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(raw)) {
  12014. for (let i = 0; i < raw.length; i++) {
  12015. if (( true) && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(raw[i])) {
  12016. warn(`props must be strings when using array syntax.`, raw[i]);
  12017. }
  12018. const normalizedKey = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(raw[i]);
  12019. if (validatePropName(normalizedKey)) {
  12020. normalized[normalizedKey] = _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ;
  12021. }
  12022. }
  12023. }
  12024. else if (raw) {
  12025. if (( true) && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(raw)) {
  12026. warn(`invalid props options`, raw);
  12027. }
  12028. for (const key in raw) {
  12029. const normalizedKey = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(key);
  12030. if (validatePropName(normalizedKey)) {
  12031. const opt = raw[key];
  12032. const prop = (normalized[normalizedKey] =
  12033. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(opt) || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(opt) ? { type: opt } : opt);
  12034. if (prop) {
  12035. const booleanIndex = getTypeIndex(Boolean, prop.type);
  12036. const stringIndex = getTypeIndex(String, prop.type);
  12037. prop[0 /* shouldCast */] = booleanIndex > -1;
  12038. prop[1 /* shouldCastTrue */] =
  12039. stringIndex < 0 || booleanIndex < stringIndex;
  12040. // if the prop needs boolean casting or default value
  12041. if (booleanIndex > -1 || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(prop, 'default')) {
  12042. needCastKeys.push(normalizedKey);
  12043. }
  12044. }
  12045. }
  12046. }
  12047. }
  12048. const res = [normalized, needCastKeys];
  12049. cache.set(comp, res);
  12050. return res;
  12051. }
  12052. function validatePropName(key) {
  12053. if (key[0] !== '$') {
  12054. return true;
  12055. }
  12056. else if ((true)) {
  12057. warn(`Invalid prop name: "${key}" is a reserved property.`);
  12058. }
  12059. return false;
  12060. }
  12061. // use function string name to check type constructors
  12062. // so that it works across vms / iframes.
  12063. function getType(ctor) {
  12064. const match = ctor && ctor.toString().match(/^\s*function (\w+)/);
  12065. return match ? match[1] : ctor === null ? 'null' : '';
  12066. }
  12067. function isSameType(a, b) {
  12068. return getType(a) === getType(b);
  12069. }
  12070. function getTypeIndex(type, expectedTypes) {
  12071. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(expectedTypes)) {
  12072. return expectedTypes.findIndex(t => isSameType(t, type));
  12073. }
  12074. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(expectedTypes)) {
  12075. return isSameType(expectedTypes, type) ? 0 : -1;
  12076. }
  12077. return -1;
  12078. }
  12079. /**
  12080. * dev only
  12081. */
  12082. function validateProps(rawProps, props, instance) {
  12083. const resolvedValues = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw)(props);
  12084. const options = instance.propsOptions[0];
  12085. for (const key in options) {
  12086. let opt = options[key];
  12087. if (opt == null)
  12088. continue;
  12089. validateProp(key, resolvedValues[key], opt, !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(rawProps, key) && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(rawProps, (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hyphenate)(key)));
  12090. }
  12091. }
  12092. /**
  12093. * dev only
  12094. */
  12095. function validateProp(name, value, prop, isAbsent) {
  12096. const { type, required, validator } = prop;
  12097. // required!
  12098. if (required && isAbsent) {
  12099. warn('Missing required prop: "' + name + '"');
  12100. return;
  12101. }
  12102. // missing but optional
  12103. if (value == null && !prop.required) {
  12104. return;
  12105. }
  12106. // type check
  12107. if (type != null && type !== true) {
  12108. let isValid = false;
  12109. const types = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(type) ? type : [type];
  12110. const expectedTypes = [];
  12111. // value is valid as long as one of the specified types match
  12112. for (let i = 0; i < types.length && !isValid; i++) {
  12113. const { valid, expectedType } = assertType(value, types[i]);
  12114. expectedTypes.push(expectedType || '');
  12115. isValid = valid;
  12116. }
  12117. if (!isValid) {
  12118. warn(getInvalidTypeMessage(name, value, expectedTypes));
  12119. return;
  12120. }
  12121. }
  12122. // custom validator
  12123. if (validator && !validator(value)) {
  12124. warn('Invalid prop: custom validator check failed for prop "' + name + '".');
  12125. }
  12126. }
  12127. const isSimpleType = /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.makeMap)('String,Number,Boolean,Function,Symbol,BigInt');
  12128. /**
  12129. * dev only
  12130. */
  12131. function assertType(value, type) {
  12132. let valid;
  12133. const expectedType = getType(type);
  12134. if (isSimpleType(expectedType)) {
  12135. const t = typeof value;
  12136. valid = t === expectedType.toLowerCase();
  12137. // for primitive wrapper objects
  12138. if (!valid && t === 'object') {
  12139. valid = value instanceof type;
  12140. }
  12141. }
  12142. else if (expectedType === 'Object') {
  12143. valid = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(value);
  12144. }
  12145. else if (expectedType === 'Array') {
  12146. valid = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(value);
  12147. }
  12148. else if (expectedType === 'null') {
  12149. valid = value === null;
  12150. }
  12151. else {
  12152. valid = value instanceof type;
  12153. }
  12154. return {
  12155. valid,
  12156. expectedType
  12157. };
  12158. }
  12159. /**
  12160. * dev only
  12161. */
  12162. function getInvalidTypeMessage(name, value, expectedTypes) {
  12163. let message = `Invalid prop: type check failed for prop "${name}".` +
  12164. ` Expected ${expectedTypes.map(_vue_shared__WEBPACK_IMPORTED_MODULE_1__.capitalize).join(' | ')}`;
  12165. const expectedType = expectedTypes[0];
  12166. const receivedType = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toRawType)(value);
  12167. const expectedValue = styleValue(value, expectedType);
  12168. const receivedValue = styleValue(value, receivedType);
  12169. // check if we need to specify expected value
  12170. if (expectedTypes.length === 1 &&
  12171. isExplicable(expectedType) &&
  12172. !isBoolean(expectedType, receivedType)) {
  12173. message += ` with value ${expectedValue}`;
  12174. }
  12175. message += `, got ${receivedType} `;
  12176. // check if we need to specify received value
  12177. if (isExplicable(receivedType)) {
  12178. message += `with value ${receivedValue}.`;
  12179. }
  12180. return message;
  12181. }
  12182. /**
  12183. * dev only
  12184. */
  12185. function styleValue(value, type) {
  12186. if (type === 'String') {
  12187. return `"${value}"`;
  12188. }
  12189. else if (type === 'Number') {
  12190. return `${Number(value)}`;
  12191. }
  12192. else {
  12193. return `${value}`;
  12194. }
  12195. }
  12196. /**
  12197. * dev only
  12198. */
  12199. function isExplicable(type) {
  12200. const explicitTypes = ['string', 'number', 'boolean'];
  12201. return explicitTypes.some(elem => type.toLowerCase() === elem);
  12202. }
  12203. /**
  12204. * dev only
  12205. */
  12206. function isBoolean(...args) {
  12207. return args.some(elem => elem.toLowerCase() === 'boolean');
  12208. }
  12209. const isInternalKey = (key) => key[0] === '_' || key === '$stable';
  12210. const normalizeSlotValue = (value) => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(value)
  12211. ? value.map(normalizeVNode)
  12212. : [normalizeVNode(value)];
  12213. const normalizeSlot = (key, rawSlot, ctx) => {
  12214. const normalized = withCtx((...args) => {
  12215. if (( true) && currentInstance) {
  12216. warn(`Slot "${key}" invoked outside of the render function: ` +
  12217. `this will not track dependencies used in the slot. ` +
  12218. `Invoke the slot function inside the render function instead.`);
  12219. }
  12220. return normalizeSlotValue(rawSlot(...args));
  12221. }, ctx);
  12222. normalized._c = false;
  12223. return normalized;
  12224. };
  12225. const normalizeObjectSlots = (rawSlots, slots, instance) => {
  12226. const ctx = rawSlots._ctx;
  12227. for (const key in rawSlots) {
  12228. if (isInternalKey(key))
  12229. continue;
  12230. const value = rawSlots[key];
  12231. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(value)) {
  12232. slots[key] = normalizeSlot(key, value, ctx);
  12233. }
  12234. else if (value != null) {
  12235. if (true) {
  12236. warn(`Non-function value encountered for slot "${key}". ` +
  12237. `Prefer function slots for better performance.`);
  12238. }
  12239. const normalized = normalizeSlotValue(value);
  12240. slots[key] = () => normalized;
  12241. }
  12242. }
  12243. };
  12244. const normalizeVNodeSlots = (instance, children) => {
  12245. if (( true) &&
  12246. !isKeepAlive(instance.vnode) &&
  12247. !(false )) {
  12248. warn(`Non-function value encountered for default slot. ` +
  12249. `Prefer function slots for better performance.`);
  12250. }
  12251. const normalized = normalizeSlotValue(children);
  12252. instance.slots.default = () => normalized;
  12253. };
  12254. const initSlots = (instance, children) => {
  12255. if (instance.vnode.shapeFlag & 32 /* SLOTS_CHILDREN */) {
  12256. const type = children._;
  12257. if (type) {
  12258. // users can get the shallow readonly version of the slots object through `this.$slots`,
  12259. // we should avoid the proxy object polluting the slots of the internal instance
  12260. instance.slots = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw)(children);
  12261. // make compiler marker non-enumerable
  12262. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.def)(children, '_', type);
  12263. }
  12264. else {
  12265. normalizeObjectSlots(children, (instance.slots = {}));
  12266. }
  12267. }
  12268. else {
  12269. instance.slots = {};
  12270. if (children) {
  12271. normalizeVNodeSlots(instance, children);
  12272. }
  12273. }
  12274. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.def)(instance.slots, InternalObjectKey, 1);
  12275. };
  12276. const updateSlots = (instance, children, optimized) => {
  12277. const { vnode, slots } = instance;
  12278. let needDeletionCheck = true;
  12279. let deletionComparisonTarget = _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ;
  12280. if (vnode.shapeFlag & 32 /* SLOTS_CHILDREN */) {
  12281. const type = children._;
  12282. if (type) {
  12283. // compiled slots.
  12284. if (( true) && isHmrUpdating) {
  12285. // Parent was HMR updated so slot content may have changed.
  12286. // force update slots and mark instance for hmr as well
  12287. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)(slots, children);
  12288. }
  12289. else if (optimized && type === 1 /* STABLE */) {
  12290. // compiled AND stable.
  12291. // no need to update, and skip stale slots removal.
  12292. needDeletionCheck = false;
  12293. }
  12294. else {
  12295. // compiled but dynamic (v-if/v-for on slots) - update slots, but skip
  12296. // normalization.
  12297. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)(slots, children);
  12298. // #2893
  12299. // when rendering the optimized slots by manually written render function,
  12300. // we need to delete the `slots._` flag if necessary to make subsequent updates reliable,
  12301. // i.e. let the `renderSlot` create the bailed Fragment
  12302. if (!optimized && type === 1 /* STABLE */) {
  12303. delete slots._;
  12304. }
  12305. }
  12306. }
  12307. else {
  12308. needDeletionCheck = !children.$stable;
  12309. normalizeObjectSlots(children, slots);
  12310. }
  12311. deletionComparisonTarget = children;
  12312. }
  12313. else if (children) {
  12314. // non slot object children (direct value) passed to a component
  12315. normalizeVNodeSlots(instance, children);
  12316. deletionComparisonTarget = { default: 1 };
  12317. }
  12318. // delete stale slots
  12319. if (needDeletionCheck) {
  12320. for (const key in slots) {
  12321. if (!isInternalKey(key) && !(key in deletionComparisonTarget)) {
  12322. delete slots[key];
  12323. }
  12324. }
  12325. }
  12326. };
  12327. /**
  12328. Runtime helper for applying directives to a vnode. Example usage:
  12329. const comp = resolveComponent('comp')
  12330. const foo = resolveDirective('foo')
  12331. const bar = resolveDirective('bar')
  12332. return withDirectives(h(comp), [
  12333. [foo, this.x],
  12334. [bar, this.y]
  12335. ])
  12336. */
  12337. function validateDirectiveName(name) {
  12338. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isBuiltInDirective)(name)) {
  12339. warn('Do not use built-in directive ids as custom directive id: ' + name);
  12340. }
  12341. }
  12342. /**
  12343. * Adds directives to a VNode.
  12344. */
  12345. function withDirectives(vnode, directives) {
  12346. const internalInstance = currentRenderingInstance;
  12347. if (internalInstance === null) {
  12348. ( true) && warn(`withDirectives can only be used inside render functions.`);
  12349. return vnode;
  12350. }
  12351. const instance = getExposeProxy(internalInstance) ||
  12352. internalInstance.proxy;
  12353. const bindings = vnode.dirs || (vnode.dirs = []);
  12354. for (let i = 0; i < directives.length; i++) {
  12355. let [dir, value, arg, modifiers = _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ] = directives[i];
  12356. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(dir)) {
  12357. dir = {
  12358. mounted: dir,
  12359. updated: dir
  12360. };
  12361. }
  12362. if (dir.deep) {
  12363. traverse(value);
  12364. }
  12365. bindings.push({
  12366. dir,
  12367. instance,
  12368. value,
  12369. oldValue: void 0,
  12370. arg,
  12371. modifiers
  12372. });
  12373. }
  12374. return vnode;
  12375. }
  12376. function invokeDirectiveHook(vnode, prevVNode, instance, name) {
  12377. const bindings = vnode.dirs;
  12378. const oldBindings = prevVNode && prevVNode.dirs;
  12379. for (let i = 0; i < bindings.length; i++) {
  12380. const binding = bindings[i];
  12381. if (oldBindings) {
  12382. binding.oldValue = oldBindings[i].value;
  12383. }
  12384. let hook = binding.dir[name];
  12385. if (hook) {
  12386. // disable tracking inside all lifecycle hooks
  12387. // since they can potentially be called inside effects.
  12388. (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.pauseTracking)();
  12389. callWithAsyncErrorHandling(hook, instance, 8 /* DIRECTIVE_HOOK */, [
  12390. vnode.el,
  12391. binding,
  12392. vnode,
  12393. prevVNode
  12394. ]);
  12395. (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.resetTracking)();
  12396. }
  12397. }
  12398. }
  12399. function createAppContext() {
  12400. return {
  12401. app: null,
  12402. config: {
  12403. isNativeTag: _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NO,
  12404. performance: false,
  12405. globalProperties: {},
  12406. optionMergeStrategies: {},
  12407. errorHandler: undefined,
  12408. warnHandler: undefined,
  12409. compilerOptions: {}
  12410. },
  12411. mixins: [],
  12412. components: {},
  12413. directives: {},
  12414. provides: Object.create(null),
  12415. optionsCache: new WeakMap(),
  12416. propsCache: new WeakMap(),
  12417. emitsCache: new WeakMap()
  12418. };
  12419. }
  12420. let uid = 0;
  12421. function createAppAPI(render, hydrate) {
  12422. return function createApp(rootComponent, rootProps = null) {
  12423. if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(rootComponent)) {
  12424. rootComponent = Object.assign({}, rootComponent);
  12425. }
  12426. if (rootProps != null && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(rootProps)) {
  12427. ( true) && warn(`root props passed to app.mount() must be an object.`);
  12428. rootProps = null;
  12429. }
  12430. const context = createAppContext();
  12431. const installedPlugins = new Set();
  12432. let isMounted = false;
  12433. const app = (context.app = {
  12434. _uid: uid++,
  12435. _component: rootComponent,
  12436. _props: rootProps,
  12437. _container: null,
  12438. _context: context,
  12439. _instance: null,
  12440. version,
  12441. get config() {
  12442. return context.config;
  12443. },
  12444. set config(v) {
  12445. if ((true)) {
  12446. warn(`app.config cannot be replaced. Modify individual options instead.`);
  12447. }
  12448. },
  12449. use(plugin, ...options) {
  12450. if (installedPlugins.has(plugin)) {
  12451. ( true) && warn(`Plugin has already been applied to target app.`);
  12452. }
  12453. else if (plugin && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(plugin.install)) {
  12454. installedPlugins.add(plugin);
  12455. plugin.install(app, ...options);
  12456. }
  12457. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(plugin)) {
  12458. installedPlugins.add(plugin);
  12459. plugin(app, ...options);
  12460. }
  12461. else if ((true)) {
  12462. warn(`A plugin must either be a function or an object with an "install" ` +
  12463. `function.`);
  12464. }
  12465. return app;
  12466. },
  12467. mixin(mixin) {
  12468. if (true) {
  12469. if (!context.mixins.includes(mixin)) {
  12470. context.mixins.push(mixin);
  12471. }
  12472. else if ((true)) {
  12473. warn('Mixin has already been applied to target app' +
  12474. (mixin.name ? `: ${mixin.name}` : ''));
  12475. }
  12476. }
  12477. else {}
  12478. return app;
  12479. },
  12480. component(name, component) {
  12481. if ((true)) {
  12482. validateComponentName(name, context.config);
  12483. }
  12484. if (!component) {
  12485. return context.components[name];
  12486. }
  12487. if (( true) && context.components[name]) {
  12488. warn(`Component "${name}" has already been registered in target app.`);
  12489. }
  12490. context.components[name] = component;
  12491. return app;
  12492. },
  12493. directive(name, directive) {
  12494. if ((true)) {
  12495. validateDirectiveName(name);
  12496. }
  12497. if (!directive) {
  12498. return context.directives[name];
  12499. }
  12500. if (( true) && context.directives[name]) {
  12501. warn(`Directive "${name}" has already been registered in target app.`);
  12502. }
  12503. context.directives[name] = directive;
  12504. return app;
  12505. },
  12506. mount(rootContainer, isHydrate, isSVG) {
  12507. if (!isMounted) {
  12508. const vnode = createVNode(rootComponent, rootProps);
  12509. // store app context on the root VNode.
  12510. // this will be set on the root instance on initial mount.
  12511. vnode.appContext = context;
  12512. // HMR root reload
  12513. if ((true)) {
  12514. context.reload = () => {
  12515. render(cloneVNode(vnode), rootContainer, isSVG);
  12516. };
  12517. }
  12518. if (isHydrate && hydrate) {
  12519. hydrate(vnode, rootContainer);
  12520. }
  12521. else {
  12522. render(vnode, rootContainer, isSVG);
  12523. }
  12524. isMounted = true;
  12525. app._container = rootContainer;
  12526. rootContainer.__vue_app__ = app;
  12527. if (true) {
  12528. app._instance = vnode.component;
  12529. devtoolsInitApp(app, version);
  12530. }
  12531. return getExposeProxy(vnode.component) || vnode.component.proxy;
  12532. }
  12533. else if ((true)) {
  12534. warn(`App has already been mounted.\n` +
  12535. `If you want to remount the same app, move your app creation logic ` +
  12536. `into a factory function and create fresh app instances for each ` +
  12537. `mount - e.g. \`const createMyApp = () => createApp(App)\``);
  12538. }
  12539. },
  12540. unmount() {
  12541. if (isMounted) {
  12542. render(null, app._container);
  12543. if (true) {
  12544. app._instance = null;
  12545. devtoolsUnmountApp(app);
  12546. }
  12547. delete app._container.__vue_app__;
  12548. }
  12549. else if ((true)) {
  12550. warn(`Cannot unmount an app that is not mounted.`);
  12551. }
  12552. },
  12553. provide(key, value) {
  12554. if (( true) && key in context.provides) {
  12555. warn(`App already provides property with key "${String(key)}". ` +
  12556. `It will be overwritten with the new value.`);
  12557. }
  12558. // TypeScript doesn't allow symbols as index type
  12559. // https://github.com/Microsoft/TypeScript/issues/24587
  12560. context.provides[key] = value;
  12561. return app;
  12562. }
  12563. });
  12564. return app;
  12565. };
  12566. }
  12567. /**
  12568. * Function for handling a template ref
  12569. */
  12570. function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
  12571. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(rawRef)) {
  12572. rawRef.forEach((r, i) => setRef(r, oldRawRef && ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(oldRawRef) ? oldRawRef[i] : oldRawRef), parentSuspense, vnode, isUnmount));
  12573. return;
  12574. }
  12575. if (isAsyncWrapper(vnode) && !isUnmount) {
  12576. // when mounting async components, nothing needs to be done,
  12577. // because the template ref is forwarded to inner component
  12578. return;
  12579. }
  12580. const refValue = vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */
  12581. ? getExposeProxy(vnode.component) || vnode.component.proxy
  12582. : vnode.el;
  12583. const value = isUnmount ? null : refValue;
  12584. const { i: owner, r: ref } = rawRef;
  12585. if (( true) && !owner) {
  12586. warn(`Missing ref owner context. ref cannot be used on hoisted vnodes. ` +
  12587. `A vnode with ref must be created inside the render function.`);
  12588. return;
  12589. }
  12590. const oldRef = oldRawRef && oldRawRef.r;
  12591. const refs = owner.refs === _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ ? (owner.refs = {}) : owner.refs;
  12592. const setupState = owner.setupState;
  12593. // dynamic ref changed. unset old ref
  12594. if (oldRef != null && oldRef !== ref) {
  12595. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(oldRef)) {
  12596. refs[oldRef] = null;
  12597. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(setupState, oldRef)) {
  12598. setupState[oldRef] = null;
  12599. }
  12600. }
  12601. else if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef)(oldRef)) {
  12602. oldRef.value = null;
  12603. }
  12604. }
  12605. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(ref)) {
  12606. callWithErrorHandling(ref, owner, 12 /* FUNCTION_REF */, [value, refs]);
  12607. }
  12608. else {
  12609. const _isString = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(ref);
  12610. const _isRef = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef)(ref);
  12611. if (_isString || _isRef) {
  12612. const doSet = () => {
  12613. if (rawRef.f) {
  12614. const existing = _isString ? refs[ref] : ref.value;
  12615. if (isUnmount) {
  12616. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(existing) && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.remove)(existing, refValue);
  12617. }
  12618. else {
  12619. if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(existing)) {
  12620. if (_isString) {
  12621. refs[ref] = [refValue];
  12622. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(setupState, ref)) {
  12623. setupState[ref] = refs[ref];
  12624. }
  12625. }
  12626. else {
  12627. ref.value = [refValue];
  12628. if (rawRef.k)
  12629. refs[rawRef.k] = ref.value;
  12630. }
  12631. }
  12632. else if (!existing.includes(refValue)) {
  12633. existing.push(refValue);
  12634. }
  12635. }
  12636. }
  12637. else if (_isString) {
  12638. refs[ref] = value;
  12639. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(setupState, ref)) {
  12640. setupState[ref] = value;
  12641. }
  12642. }
  12643. else if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef)(ref)) {
  12644. ref.value = value;
  12645. if (rawRef.k)
  12646. refs[rawRef.k] = value;
  12647. }
  12648. else if ((true)) {
  12649. warn('Invalid template ref type:', ref, `(${typeof ref})`);
  12650. }
  12651. };
  12652. if (value) {
  12653. doSet.id = -1;
  12654. queuePostRenderEffect(doSet, parentSuspense);
  12655. }
  12656. else {
  12657. doSet();
  12658. }
  12659. }
  12660. else if ((true)) {
  12661. warn('Invalid template ref type:', ref, `(${typeof ref})`);
  12662. }
  12663. }
  12664. }
  12665. let hasMismatch = false;
  12666. const isSVGContainer = (container) => /svg/.test(container.namespaceURI) && container.tagName !== 'foreignObject';
  12667. const isComment = (node) => node.nodeType === 8 /* COMMENT */;
  12668. // Note: hydration is DOM-specific
  12669. // But we have to place it in core due to tight coupling with core - splitting
  12670. // it out creates a ton of unnecessary complexity.
  12671. // Hydration also depends on some renderer internal logic which needs to be
  12672. // passed in via arguments.
  12673. function createHydrationFunctions(rendererInternals) {
  12674. const { mt: mountComponent, p: patch, o: { patchProp, nextSibling, parentNode, remove, insert, createComment } } = rendererInternals;
  12675. const hydrate = (vnode, container) => {
  12676. if (!container.hasChildNodes()) {
  12677. ( true) &&
  12678. warn(`Attempting to hydrate existing markup but container is empty. ` +
  12679. `Performing full mount instead.`);
  12680. patch(null, vnode, container);
  12681. flushPostFlushCbs();
  12682. return;
  12683. }
  12684. hasMismatch = false;
  12685. hydrateNode(container.firstChild, vnode, null, null, null);
  12686. flushPostFlushCbs();
  12687. if (hasMismatch && !false) {
  12688. // this error should show up in production
  12689. console.error(`Hydration completed but contains mismatches.`);
  12690. }
  12691. };
  12692. const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {
  12693. const isFragmentStart = isComment(node) && node.data === '[';
  12694. const onMismatch = () => handleMismatch(node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragmentStart);
  12695. const { type, ref, shapeFlag } = vnode;
  12696. const domType = node.nodeType;
  12697. vnode.el = node;
  12698. let nextNode = null;
  12699. switch (type) {
  12700. case Text:
  12701. if (domType !== 3 /* TEXT */) {
  12702. nextNode = onMismatch();
  12703. }
  12704. else {
  12705. if (node.data !== vnode.children) {
  12706. hasMismatch = true;
  12707. ( true) &&
  12708. warn(`Hydration text mismatch:` +
  12709. `\n- Client: ${JSON.stringify(node.data)}` +
  12710. `\n- Server: ${JSON.stringify(vnode.children)}`);
  12711. node.data = vnode.children;
  12712. }
  12713. nextNode = nextSibling(node);
  12714. }
  12715. break;
  12716. case Comment:
  12717. if (domType !== 8 /* COMMENT */ || isFragmentStart) {
  12718. nextNode = onMismatch();
  12719. }
  12720. else {
  12721. nextNode = nextSibling(node);
  12722. }
  12723. break;
  12724. case Static:
  12725. if (domType !== 1 /* ELEMENT */) {
  12726. nextNode = onMismatch();
  12727. }
  12728. else {
  12729. // determine anchor, adopt content
  12730. nextNode = node;
  12731. // if the static vnode has its content stripped during build,
  12732. // adopt it from the server-rendered HTML.
  12733. const needToAdoptContent = !vnode.children.length;
  12734. for (let i = 0; i < vnode.staticCount; i++) {
  12735. if (needToAdoptContent)
  12736. vnode.children += nextNode.outerHTML;
  12737. if (i === vnode.staticCount - 1) {
  12738. vnode.anchor = nextNode;
  12739. }
  12740. nextNode = nextSibling(nextNode);
  12741. }
  12742. return nextNode;
  12743. }
  12744. break;
  12745. case Fragment:
  12746. if (!isFragmentStart) {
  12747. nextNode = onMismatch();
  12748. }
  12749. else {
  12750. nextNode = hydrateFragment(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
  12751. }
  12752. break;
  12753. default:
  12754. if (shapeFlag & 1 /* ELEMENT */) {
  12755. if (domType !== 1 /* ELEMENT */ ||
  12756. vnode.type.toLowerCase() !==
  12757. node.tagName.toLowerCase()) {
  12758. nextNode = onMismatch();
  12759. }
  12760. else {
  12761. nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
  12762. }
  12763. }
  12764. else if (shapeFlag & 6 /* COMPONENT */) {
  12765. // when setting up the render effect, if the initial vnode already
  12766. // has .el set, the component will perform hydration instead of mount
  12767. // on its sub-tree.
  12768. vnode.slotScopeIds = slotScopeIds;
  12769. const container = parentNode(node);
  12770. mountComponent(vnode, container, null, parentComponent, parentSuspense, isSVGContainer(container), optimized);
  12771. // component may be async, so in the case of fragments we cannot rely
  12772. // on component's rendered output to determine the end of the fragment
  12773. // instead, we do a lookahead to find the end anchor node.
  12774. nextNode = isFragmentStart
  12775. ? locateClosingAsyncAnchor(node)
  12776. : nextSibling(node);
  12777. // #3787
  12778. // if component is async, it may get moved / unmounted before its
  12779. // inner component is loaded, so we need to give it a placeholder
  12780. // vnode that matches its adopted DOM.
  12781. if (isAsyncWrapper(vnode)) {
  12782. let subTree;
  12783. if (isFragmentStart) {
  12784. subTree = createVNode(Fragment);
  12785. subTree.anchor = nextNode
  12786. ? nextNode.previousSibling
  12787. : container.lastChild;
  12788. }
  12789. else {
  12790. subTree =
  12791. node.nodeType === 3 ? createTextVNode('') : createVNode('div');
  12792. }
  12793. subTree.el = node;
  12794. vnode.component.subTree = subTree;
  12795. }
  12796. }
  12797. else if (shapeFlag & 64 /* TELEPORT */) {
  12798. if (domType !== 8 /* COMMENT */) {
  12799. nextNode = onMismatch();
  12800. }
  12801. else {
  12802. nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, rendererInternals, hydrateChildren);
  12803. }
  12804. }
  12805. else if (shapeFlag & 128 /* SUSPENSE */) {
  12806. nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, isSVGContainer(parentNode(node)), slotScopeIds, optimized, rendererInternals, hydrateNode);
  12807. }
  12808. else if ((true)) {
  12809. warn('Invalid HostVNode type:', type, `(${typeof type})`);
  12810. }
  12811. }
  12812. if (ref != null) {
  12813. setRef(ref, null, parentSuspense, vnode);
  12814. }
  12815. return nextNode;
  12816. };
  12817. const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {
  12818. optimized = optimized || !!vnode.dynamicChildren;
  12819. const { type, props, patchFlag, shapeFlag, dirs } = vnode;
  12820. // #4006 for form elements with non-string v-model value bindings
  12821. // e.g. <option :value="obj">, <input type="checkbox" :true-value="1">
  12822. const forcePatchValue = (type === 'input' && dirs) || type === 'option';
  12823. // skip props & children if this is hoisted static nodes
  12824. // #5405 in dev, always hydrate children for HMR
  12825. if (true /* HOISTED */) {
  12826. if (dirs) {
  12827. invokeDirectiveHook(vnode, null, parentComponent, 'created');
  12828. }
  12829. // props
  12830. if (props) {
  12831. if (forcePatchValue ||
  12832. !optimized ||
  12833. patchFlag & (16 /* FULL_PROPS */ | 32 /* HYDRATE_EVENTS */)) {
  12834. for (const key in props) {
  12835. if ((forcePatchValue && key.endsWith('value')) ||
  12836. ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isOn)(key) && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isReservedProp)(key))) {
  12837. patchProp(el, key, null, props[key], false, undefined, parentComponent);
  12838. }
  12839. }
  12840. }
  12841. else if (props.onClick) {
  12842. // Fast path for click listeners (which is most often) to avoid
  12843. // iterating through props.
  12844. patchProp(el, 'onClick', null, props.onClick, false, undefined, parentComponent);
  12845. }
  12846. }
  12847. // vnode / directive hooks
  12848. let vnodeHooks;
  12849. if ((vnodeHooks = props && props.onVnodeBeforeMount)) {
  12850. invokeVNodeHook(vnodeHooks, parentComponent, vnode);
  12851. }
  12852. if (dirs) {
  12853. invokeDirectiveHook(vnode, null, parentComponent, 'beforeMount');
  12854. }
  12855. if ((vnodeHooks = props && props.onVnodeMounted) || dirs) {
  12856. queueEffectWithSuspense(() => {
  12857. vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);
  12858. dirs && invokeDirectiveHook(vnode, null, parentComponent, 'mounted');
  12859. }, parentSuspense);
  12860. }
  12861. // children
  12862. if (shapeFlag & 16 /* ARRAY_CHILDREN */ &&
  12863. // skip if element has innerHTML / textContent
  12864. !(props && (props.innerHTML || props.textContent))) {
  12865. let next = hydrateChildren(el.firstChild, vnode, el, parentComponent, parentSuspense, slotScopeIds, optimized);
  12866. let hasWarned = false;
  12867. while (next) {
  12868. hasMismatch = true;
  12869. if (( true) && !hasWarned) {
  12870. warn(`Hydration children mismatch in <${vnode.type}>: ` +
  12871. `server rendered element contains more child nodes than client vdom.`);
  12872. hasWarned = true;
  12873. }
  12874. // The SSRed DOM contains more nodes than it should. Remove them.
  12875. const cur = next;
  12876. next = next.nextSibling;
  12877. remove(cur);
  12878. }
  12879. }
  12880. else if (shapeFlag & 8 /* TEXT_CHILDREN */) {
  12881. if (el.textContent !== vnode.children) {
  12882. hasMismatch = true;
  12883. ( true) &&
  12884. warn(`Hydration text content mismatch in <${vnode.type}>:\n` +
  12885. `- Client: ${el.textContent}\n` +
  12886. `- Server: ${vnode.children}`);
  12887. el.textContent = vnode.children;
  12888. }
  12889. }
  12890. }
  12891. return el.nextSibling;
  12892. };
  12893. const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {
  12894. optimized = optimized || !!parentVNode.dynamicChildren;
  12895. const children = parentVNode.children;
  12896. const l = children.length;
  12897. let hasWarned = false;
  12898. for (let i = 0; i < l; i++) {
  12899. const vnode = optimized
  12900. ? children[i]
  12901. : (children[i] = normalizeVNode(children[i]));
  12902. if (node) {
  12903. node = hydrateNode(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
  12904. }
  12905. else if (vnode.type === Text && !vnode.children) {
  12906. continue;
  12907. }
  12908. else {
  12909. hasMismatch = true;
  12910. if (( true) && !hasWarned) {
  12911. warn(`Hydration children mismatch in <${container.tagName.toLowerCase()}>: ` +
  12912. `server rendered element contains fewer child nodes than client vdom.`);
  12913. hasWarned = true;
  12914. }
  12915. // the SSRed DOM didn't contain enough nodes. Mount the missing ones.
  12916. patch(null, vnode, container, null, parentComponent, parentSuspense, isSVGContainer(container), slotScopeIds);
  12917. }
  12918. }
  12919. return node;
  12920. };
  12921. const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {
  12922. const { slotScopeIds: fragmentSlotScopeIds } = vnode;
  12923. if (fragmentSlotScopeIds) {
  12924. slotScopeIds = slotScopeIds
  12925. ? slotScopeIds.concat(fragmentSlotScopeIds)
  12926. : fragmentSlotScopeIds;
  12927. }
  12928. const container = parentNode(node);
  12929. const next = hydrateChildren(nextSibling(node), vnode, container, parentComponent, parentSuspense, slotScopeIds, optimized);
  12930. if (next && isComment(next) && next.data === ']') {
  12931. return nextSibling((vnode.anchor = next));
  12932. }
  12933. else {
  12934. // fragment didn't hydrate successfully, since we didn't get a end anchor
  12935. // back. This should have led to node/children mismatch warnings.
  12936. hasMismatch = true;
  12937. // since the anchor is missing, we need to create one and insert it
  12938. insert((vnode.anchor = createComment(`]`)), container, next);
  12939. return next;
  12940. }
  12941. };
  12942. const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {
  12943. hasMismatch = true;
  12944. ( true) &&
  12945. warn(`Hydration node mismatch:\n- Client vnode:`, vnode.type, `\n- Server rendered DOM:`, node, node.nodeType === 3 /* TEXT */
  12946. ? `(text)`
  12947. : isComment(node) && node.data === '['
  12948. ? `(start of fragment)`
  12949. : ``);
  12950. vnode.el = null;
  12951. if (isFragment) {
  12952. // remove excessive fragment nodes
  12953. const end = locateClosingAsyncAnchor(node);
  12954. while (true) {
  12955. const next = nextSibling(node);
  12956. if (next && next !== end) {
  12957. remove(next);
  12958. }
  12959. else {
  12960. break;
  12961. }
  12962. }
  12963. }
  12964. const next = nextSibling(node);
  12965. const container = parentNode(node);
  12966. remove(node);
  12967. patch(null, vnode, container, next, parentComponent, parentSuspense, isSVGContainer(container), slotScopeIds);
  12968. return next;
  12969. };
  12970. const locateClosingAsyncAnchor = (node) => {
  12971. let match = 0;
  12972. while (node) {
  12973. node = nextSibling(node);
  12974. if (node && isComment(node)) {
  12975. if (node.data === '[')
  12976. match++;
  12977. if (node.data === ']') {
  12978. if (match === 0) {
  12979. return nextSibling(node);
  12980. }
  12981. else {
  12982. match--;
  12983. }
  12984. }
  12985. }
  12986. }
  12987. return node;
  12988. };
  12989. return [hydrate, hydrateNode];
  12990. }
  12991. /* eslint-disable no-restricted-globals */
  12992. let supported;
  12993. let perf;
  12994. function startMeasure(instance, type) {
  12995. if (instance.appContext.config.performance && isSupported()) {
  12996. perf.mark(`vue-${type}-${instance.uid}`);
  12997. }
  12998. if (true) {
  12999. devtoolsPerfStart(instance, type, isSupported() ? perf.now() : Date.now());
  13000. }
  13001. }
  13002. function endMeasure(instance, type) {
  13003. if (instance.appContext.config.performance && isSupported()) {
  13004. const startTag = `vue-${type}-${instance.uid}`;
  13005. const endTag = startTag + `:end`;
  13006. perf.mark(endTag);
  13007. perf.measure(`<${formatComponentName(instance, instance.type)}> ${type}`, startTag, endTag);
  13008. perf.clearMarks(startTag);
  13009. perf.clearMarks(endTag);
  13010. }
  13011. if (true) {
  13012. devtoolsPerfEnd(instance, type, isSupported() ? perf.now() : Date.now());
  13013. }
  13014. }
  13015. function isSupported() {
  13016. if (supported !== undefined) {
  13017. return supported;
  13018. }
  13019. if (typeof window !== 'undefined' && window.performance) {
  13020. supported = true;
  13021. perf = window.performance;
  13022. }
  13023. else {
  13024. supported = false;
  13025. }
  13026. return supported;
  13027. }
  13028. /**
  13029. * This is only called in esm-bundler builds.
  13030. * It is called when a renderer is created, in `baseCreateRenderer` so that
  13031. * importing runtime-core is side-effects free.
  13032. *
  13033. * istanbul-ignore-next
  13034. */
  13035. function initFeatureFlags() {
  13036. const needWarn = [];
  13037. if (false) {}
  13038. if (false) {}
  13039. if (( true) && needWarn.length) {
  13040. const multi = needWarn.length > 1;
  13041. console.warn(`Feature flag${multi ? `s` : ``} ${needWarn.join(', ')} ${multi ? `are` : `is`} not explicitly defined. You are running the esm-bundler build of Vue, ` +
  13042. `which expects these compile-time feature flags to be globally injected ` +
  13043. `via the bundler config in order to get better tree-shaking in the ` +
  13044. `production bundle.\n\n` +
  13045. `For more details, see https://link.vuejs.org/feature-flags.`);
  13046. }
  13047. }
  13048. const queuePostRenderEffect = queueEffectWithSuspense
  13049. ;
  13050. /**
  13051. * The createRenderer function accepts two generic arguments:
  13052. * HostNode and HostElement, corresponding to Node and Element types in the
  13053. * host environment. For example, for runtime-dom, HostNode would be the DOM
  13054. * `Node` interface and HostElement would be the DOM `Element` interface.
  13055. *
  13056. * Custom renderers can pass in the platform specific types like this:
  13057. *
  13058. * ``` js
  13059. * const { render, createApp } = createRenderer<Node, Element>({
  13060. * patchProp,
  13061. * ...nodeOps
  13062. * })
  13063. * ```
  13064. */
  13065. function createRenderer(options) {
  13066. return baseCreateRenderer(options);
  13067. }
  13068. // Separate API for creating hydration-enabled renderer.
  13069. // Hydration logic is only used when calling this function, making it
  13070. // tree-shakable.
  13071. function createHydrationRenderer(options) {
  13072. return baseCreateRenderer(options, createHydrationFunctions);
  13073. }
  13074. // implementation
  13075. function baseCreateRenderer(options, createHydrationFns) {
  13076. // compile-time feature flags check
  13077. {
  13078. initFeatureFlags();
  13079. }
  13080. const target = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.getGlobalThis)();
  13081. target.__VUE__ = true;
  13082. if (true) {
  13083. setDevtoolsHook(target.__VUE_DEVTOOLS_GLOBAL_HOOK__, target);
  13084. }
  13085. const { insert: hostInsert, remove: hostRemove, patchProp: hostPatchProp, createElement: hostCreateElement, createText: hostCreateText, createComment: hostCreateComment, setText: hostSetText, setElementText: hostSetElementText, parentNode: hostParentNode, nextSibling: hostNextSibling, setScopeId: hostSetScopeId = _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP, cloneNode: hostCloneNode, insertStaticContent: hostInsertStaticContent } = options;
  13086. // Note: functions inside this closure should use `const xxx = () => {}`
  13087. // style in order to prevent being inlined by minifiers.
  13088. const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, isSVG = false, slotScopeIds = null, optimized = ( true) && isHmrUpdating ? false : !!n2.dynamicChildren) => {
  13089. if (n1 === n2) {
  13090. return;
  13091. }
  13092. // patching & not same type, unmount old tree
  13093. if (n1 && !isSameVNodeType(n1, n2)) {
  13094. anchor = getNextHostNode(n1);
  13095. unmount(n1, parentComponent, parentSuspense, true);
  13096. n1 = null;
  13097. }
  13098. if (n2.patchFlag === -2 /* BAIL */) {
  13099. optimized = false;
  13100. n2.dynamicChildren = null;
  13101. }
  13102. const { type, ref, shapeFlag } = n2;
  13103. switch (type) {
  13104. case Text:
  13105. processText(n1, n2, container, anchor);
  13106. break;
  13107. case Comment:
  13108. processCommentNode(n1, n2, container, anchor);
  13109. break;
  13110. case Static:
  13111. if (n1 == null) {
  13112. mountStaticNode(n2, container, anchor, isSVG);
  13113. }
  13114. else if ((true)) {
  13115. patchStaticNode(n1, n2, container, isSVG);
  13116. }
  13117. break;
  13118. case Fragment:
  13119. processFragment(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
  13120. break;
  13121. default:
  13122. if (shapeFlag & 1 /* ELEMENT */) {
  13123. processElement(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
  13124. }
  13125. else if (shapeFlag & 6 /* COMPONENT */) {
  13126. processComponent(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
  13127. }
  13128. else if (shapeFlag & 64 /* TELEPORT */) {
  13129. type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals);
  13130. }
  13131. else if (shapeFlag & 128 /* SUSPENSE */) {
  13132. type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals);
  13133. }
  13134. else if ((true)) {
  13135. warn('Invalid VNode type:', type, `(${typeof type})`);
  13136. }
  13137. }
  13138. // set ref
  13139. if (ref != null && parentComponent) {
  13140. setRef(ref, n1 && n1.ref, parentSuspense, n2 || n1, !n2);
  13141. }
  13142. };
  13143. const processText = (n1, n2, container, anchor) => {
  13144. if (n1 == null) {
  13145. hostInsert((n2.el = hostCreateText(n2.children)), container, anchor);
  13146. }
  13147. else {
  13148. const el = (n2.el = n1.el);
  13149. if (n2.children !== n1.children) {
  13150. hostSetText(el, n2.children);
  13151. }
  13152. }
  13153. };
  13154. const processCommentNode = (n1, n2, container, anchor) => {
  13155. if (n1 == null) {
  13156. hostInsert((n2.el = hostCreateComment(n2.children || '')), container, anchor);
  13157. }
  13158. else {
  13159. // there's no support for dynamic comments
  13160. n2.el = n1.el;
  13161. }
  13162. };
  13163. const mountStaticNode = (n2, container, anchor, isSVG) => {
  13164. [n2.el, n2.anchor] = hostInsertStaticContent(n2.children, container, anchor, isSVG, n2.el, n2.anchor);
  13165. };
  13166. /**
  13167. * Dev / HMR only
  13168. */
  13169. const patchStaticNode = (n1, n2, container, isSVG) => {
  13170. // static nodes are only patched during dev for HMR
  13171. if (n2.children !== n1.children) {
  13172. const anchor = hostNextSibling(n1.anchor);
  13173. // remove existing
  13174. removeStaticNode(n1);
  13175. [n2.el, n2.anchor] = hostInsertStaticContent(n2.children, container, anchor, isSVG);
  13176. }
  13177. else {
  13178. n2.el = n1.el;
  13179. n2.anchor = n1.anchor;
  13180. }
  13181. };
  13182. const moveStaticNode = ({ el, anchor }, container, nextSibling) => {
  13183. let next;
  13184. while (el && el !== anchor) {
  13185. next = hostNextSibling(el);
  13186. hostInsert(el, container, nextSibling);
  13187. el = next;
  13188. }
  13189. hostInsert(anchor, container, nextSibling);
  13190. };
  13191. const removeStaticNode = ({ el, anchor }) => {
  13192. let next;
  13193. while (el && el !== anchor) {
  13194. next = hostNextSibling(el);
  13195. hostRemove(el);
  13196. el = next;
  13197. }
  13198. hostRemove(anchor);
  13199. };
  13200. const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
  13201. isSVG = isSVG || n2.type === 'svg';
  13202. if (n1 == null) {
  13203. mountElement(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
  13204. }
  13205. else {
  13206. patchElement(n1, n2, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
  13207. }
  13208. };
  13209. const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
  13210. let el;
  13211. let vnodeHook;
  13212. const { type, props, shapeFlag, transition, patchFlag, dirs } = vnode;
  13213. if (false /* HOISTED */) {}
  13214. else {
  13215. el = vnode.el = hostCreateElement(vnode.type, isSVG, props && props.is, props);
  13216. // mount children first, since some props may rely on child content
  13217. // being already rendered, e.g. `<select value>`
  13218. if (shapeFlag & 8 /* TEXT_CHILDREN */) {
  13219. hostSetElementText(el, vnode.children);
  13220. }
  13221. else if (shapeFlag & 16 /* ARRAY_CHILDREN */) {
  13222. mountChildren(vnode.children, el, null, parentComponent, parentSuspense, isSVG && type !== 'foreignObject', slotScopeIds, optimized);
  13223. }
  13224. if (dirs) {
  13225. invokeDirectiveHook(vnode, null, parentComponent, 'created');
  13226. }
  13227. // props
  13228. if (props) {
  13229. for (const key in props) {
  13230. if (key !== 'value' && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isReservedProp)(key)) {
  13231. hostPatchProp(el, key, null, props[key], isSVG, vnode.children, parentComponent, parentSuspense, unmountChildren);
  13232. }
  13233. }
  13234. /**
  13235. * Special case for setting value on DOM elements:
  13236. * - it can be order-sensitive (e.g. should be set *after* min/max, #2325, #4024)
  13237. * - it needs to be forced (#1471)
  13238. * #2353 proposes adding another renderer option to configure this, but
  13239. * the properties affects are so finite it is worth special casing it
  13240. * here to reduce the complexity. (Special casing it also should not
  13241. * affect non-DOM renderers)
  13242. */
  13243. if ('value' in props) {
  13244. hostPatchProp(el, 'value', null, props.value);
  13245. }
  13246. if ((vnodeHook = props.onVnodeBeforeMount)) {
  13247. invokeVNodeHook(vnodeHook, parentComponent, vnode);
  13248. }
  13249. }
  13250. // scopeId
  13251. setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent);
  13252. }
  13253. if (true) {
  13254. Object.defineProperty(el, '__vnode', {
  13255. value: vnode,
  13256. enumerable: false
  13257. });
  13258. Object.defineProperty(el, '__vueParentComponent', {
  13259. value: parentComponent,
  13260. enumerable: false
  13261. });
  13262. }
  13263. if (dirs) {
  13264. invokeDirectiveHook(vnode, null, parentComponent, 'beforeMount');
  13265. }
  13266. // #1583 For inside suspense + suspense not resolved case, enter hook should call when suspense resolved
  13267. // #1689 For inside suspense + suspense resolved case, just call it
  13268. const needCallTransitionHooks = (!parentSuspense || (parentSuspense && !parentSuspense.pendingBranch)) &&
  13269. transition &&
  13270. !transition.persisted;
  13271. if (needCallTransitionHooks) {
  13272. transition.beforeEnter(el);
  13273. }
  13274. hostInsert(el, container, anchor);
  13275. if ((vnodeHook = props && props.onVnodeMounted) ||
  13276. needCallTransitionHooks ||
  13277. dirs) {
  13278. queuePostRenderEffect(() => {
  13279. vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
  13280. needCallTransitionHooks && transition.enter(el);
  13281. dirs && invokeDirectiveHook(vnode, null, parentComponent, 'mounted');
  13282. }, parentSuspense);
  13283. }
  13284. };
  13285. const setScopeId = (el, vnode, scopeId, slotScopeIds, parentComponent) => {
  13286. if (scopeId) {
  13287. hostSetScopeId(el, scopeId);
  13288. }
  13289. if (slotScopeIds) {
  13290. for (let i = 0; i < slotScopeIds.length; i++) {
  13291. hostSetScopeId(el, slotScopeIds[i]);
  13292. }
  13293. }
  13294. if (parentComponent) {
  13295. let subTree = parentComponent.subTree;
  13296. if (( true) &&
  13297. subTree.patchFlag > 0 &&
  13298. subTree.patchFlag & 2048 /* DEV_ROOT_FRAGMENT */) {
  13299. subTree =
  13300. filterSingleRoot(subTree.children) || subTree;
  13301. }
  13302. if (vnode === subTree) {
  13303. const parentVNode = parentComponent.vnode;
  13304. setScopeId(el, parentVNode, parentVNode.scopeId, parentVNode.slotScopeIds, parentComponent.parent);
  13305. }
  13306. }
  13307. };
  13308. const mountChildren = (children, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, start = 0) => {
  13309. for (let i = start; i < children.length; i++) {
  13310. const child = (children[i] = optimized
  13311. ? cloneIfMounted(children[i])
  13312. : normalizeVNode(children[i]));
  13313. patch(null, child, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
  13314. }
  13315. };
  13316. const patchElement = (n1, n2, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
  13317. const el = (n2.el = n1.el);
  13318. let { patchFlag, dynamicChildren, dirs } = n2;
  13319. // #1426 take the old vnode's patch flag into account since user may clone a
  13320. // compiler-generated vnode, which de-opts to FULL_PROPS
  13321. patchFlag |= n1.patchFlag & 16 /* FULL_PROPS */;
  13322. const oldProps = n1.props || _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ;
  13323. const newProps = n2.props || _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ;
  13324. let vnodeHook;
  13325. // disable recurse in beforeUpdate hooks
  13326. parentComponent && toggleRecurse(parentComponent, false);
  13327. if ((vnodeHook = newProps.onVnodeBeforeUpdate)) {
  13328. invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
  13329. }
  13330. if (dirs) {
  13331. invokeDirectiveHook(n2, n1, parentComponent, 'beforeUpdate');
  13332. }
  13333. parentComponent && toggleRecurse(parentComponent, true);
  13334. if (( true) && isHmrUpdating) {
  13335. // HMR updated, force full diff
  13336. patchFlag = 0;
  13337. optimized = false;
  13338. dynamicChildren = null;
  13339. }
  13340. const areChildrenSVG = isSVG && n2.type !== 'foreignObject';
  13341. if (dynamicChildren) {
  13342. patchBlockChildren(n1.dynamicChildren, dynamicChildren, el, parentComponent, parentSuspense, areChildrenSVG, slotScopeIds);
  13343. if (( true) && parentComponent && parentComponent.type.__hmrId) {
  13344. traverseStaticChildren(n1, n2);
  13345. }
  13346. }
  13347. else if (!optimized) {
  13348. // full diff
  13349. patchChildren(n1, n2, el, null, parentComponent, parentSuspense, areChildrenSVG, slotScopeIds, false);
  13350. }
  13351. if (patchFlag > 0) {
  13352. // the presence of a patchFlag means this element's render code was
  13353. // generated by the compiler and can take the fast path.
  13354. // in this path old node and new node are guaranteed to have the same shape
  13355. // (i.e. at the exact same position in the source template)
  13356. if (patchFlag & 16 /* FULL_PROPS */) {
  13357. // element props contain dynamic keys, full diff needed
  13358. patchProps(el, n2, oldProps, newProps, parentComponent, parentSuspense, isSVG);
  13359. }
  13360. else {
  13361. // class
  13362. // this flag is matched when the element has dynamic class bindings.
  13363. if (patchFlag & 2 /* CLASS */) {
  13364. if (oldProps.class !== newProps.class) {
  13365. hostPatchProp(el, 'class', null, newProps.class, isSVG);
  13366. }
  13367. }
  13368. // style
  13369. // this flag is matched when the element has dynamic style bindings
  13370. if (patchFlag & 4 /* STYLE */) {
  13371. hostPatchProp(el, 'style', oldProps.style, newProps.style, isSVG);
  13372. }
  13373. // props
  13374. // This flag is matched when the element has dynamic prop/attr bindings
  13375. // other than class and style. The keys of dynamic prop/attrs are saved for
  13376. // faster iteration.
  13377. // Note dynamic keys like :[foo]="bar" will cause this optimization to
  13378. // bail out and go through a full diff because we need to unset the old key
  13379. if (patchFlag & 8 /* PROPS */) {
  13380. // if the flag is present then dynamicProps must be non-null
  13381. const propsToUpdate = n2.dynamicProps;
  13382. for (let i = 0; i < propsToUpdate.length; i++) {
  13383. const key = propsToUpdate[i];
  13384. const prev = oldProps[key];
  13385. const next = newProps[key];
  13386. // #1471 force patch value
  13387. if (next !== prev || key === 'value') {
  13388. hostPatchProp(el, key, prev, next, isSVG, n1.children, parentComponent, parentSuspense, unmountChildren);
  13389. }
  13390. }
  13391. }
  13392. }
  13393. // text
  13394. // This flag is matched when the element has only dynamic text children.
  13395. if (patchFlag & 1 /* TEXT */) {
  13396. if (n1.children !== n2.children) {
  13397. hostSetElementText(el, n2.children);
  13398. }
  13399. }
  13400. }
  13401. else if (!optimized && dynamicChildren == null) {
  13402. // unoptimized, full diff
  13403. patchProps(el, n2, oldProps, newProps, parentComponent, parentSuspense, isSVG);
  13404. }
  13405. if ((vnodeHook = newProps.onVnodeUpdated) || dirs) {
  13406. queuePostRenderEffect(() => {
  13407. vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
  13408. dirs && invokeDirectiveHook(n2, n1, parentComponent, 'updated');
  13409. }, parentSuspense);
  13410. }
  13411. };
  13412. // The fast path for blocks.
  13413. const patchBlockChildren = (oldChildren, newChildren, fallbackContainer, parentComponent, parentSuspense, isSVG, slotScopeIds) => {
  13414. for (let i = 0; i < newChildren.length; i++) {
  13415. const oldVNode = oldChildren[i];
  13416. const newVNode = newChildren[i];
  13417. // Determine the container (parent element) for the patch.
  13418. const container =
  13419. // oldVNode may be an errored async setup() component inside Suspense
  13420. // which will not have a mounted element
  13421. oldVNode.el &&
  13422. // - In the case of a Fragment, we need to provide the actual parent
  13423. // of the Fragment itself so it can move its children.
  13424. (oldVNode.type === Fragment ||
  13425. // - In the case of different nodes, there is going to be a replacement
  13426. // which also requires the correct parent container
  13427. !isSameVNodeType(oldVNode, newVNode) ||
  13428. // - In the case of a component, it could contain anything.
  13429. oldVNode.shapeFlag & (6 /* COMPONENT */ | 64 /* TELEPORT */))
  13430. ? hostParentNode(oldVNode.el)
  13431. : // In other cases, the parent container is not actually used so we
  13432. // just pass the block element here to avoid a DOM parentNode call.
  13433. fallbackContainer;
  13434. patch(oldVNode, newVNode, container, null, parentComponent, parentSuspense, isSVG, slotScopeIds, true);
  13435. }
  13436. };
  13437. const patchProps = (el, vnode, oldProps, newProps, parentComponent, parentSuspense, isSVG) => {
  13438. if (oldProps !== newProps) {
  13439. for (const key in newProps) {
  13440. // empty string is not valid prop
  13441. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isReservedProp)(key))
  13442. continue;
  13443. const next = newProps[key];
  13444. const prev = oldProps[key];
  13445. // defer patching value
  13446. if (next !== prev && key !== 'value') {
  13447. hostPatchProp(el, key, prev, next, isSVG, vnode.children, parentComponent, parentSuspense, unmountChildren);
  13448. }
  13449. }
  13450. if (oldProps !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ) {
  13451. for (const key in oldProps) {
  13452. if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isReservedProp)(key) && !(key in newProps)) {
  13453. hostPatchProp(el, key, oldProps[key], null, isSVG, vnode.children, parentComponent, parentSuspense, unmountChildren);
  13454. }
  13455. }
  13456. }
  13457. if ('value' in newProps) {
  13458. hostPatchProp(el, 'value', oldProps.value, newProps.value);
  13459. }
  13460. }
  13461. };
  13462. const processFragment = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
  13463. const fragmentStartAnchor = (n2.el = n1 ? n1.el : hostCreateText(''));
  13464. const fragmentEndAnchor = (n2.anchor = n1 ? n1.anchor : hostCreateText(''));
  13465. let { patchFlag, dynamicChildren, slotScopeIds: fragmentSlotScopeIds } = n2;
  13466. if (( true) && isHmrUpdating) {
  13467. // HMR updated, force full diff
  13468. patchFlag = 0;
  13469. optimized = false;
  13470. dynamicChildren = null;
  13471. }
  13472. // check if this is a slot fragment with :slotted scope ids
  13473. if (fragmentSlotScopeIds) {
  13474. slotScopeIds = slotScopeIds
  13475. ? slotScopeIds.concat(fragmentSlotScopeIds)
  13476. : fragmentSlotScopeIds;
  13477. }
  13478. if (n1 == null) {
  13479. hostInsert(fragmentStartAnchor, container, anchor);
  13480. hostInsert(fragmentEndAnchor, container, anchor);
  13481. // a fragment can only have array children
  13482. // since they are either generated by the compiler, or implicitly created
  13483. // from arrays.
  13484. mountChildren(n2.children, container, fragmentEndAnchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
  13485. }
  13486. else {
  13487. if (patchFlag > 0 &&
  13488. patchFlag & 64 /* STABLE_FRAGMENT */ &&
  13489. dynamicChildren &&
  13490. // #2715 the previous fragment could've been a BAILed one as a result
  13491. // of renderSlot() with no valid children
  13492. n1.dynamicChildren) {
  13493. // a stable fragment (template root or <template v-for>) doesn't need to
  13494. // patch children order, but it may contain dynamicChildren.
  13495. patchBlockChildren(n1.dynamicChildren, dynamicChildren, container, parentComponent, parentSuspense, isSVG, slotScopeIds);
  13496. if (( true) && parentComponent && parentComponent.type.__hmrId) {
  13497. traverseStaticChildren(n1, n2);
  13498. }
  13499. else if (
  13500. // #2080 if the stable fragment has a key, it's a <template v-for> that may
  13501. // get moved around. Make sure all root level vnodes inherit el.
  13502. // #2134 or if it's a component root, it may also get moved around
  13503. // as the component is being moved.
  13504. n2.key != null ||
  13505. (parentComponent && n2 === parentComponent.subTree)) {
  13506. traverseStaticChildren(n1, n2, true /* shallow */);
  13507. }
  13508. }
  13509. else {
  13510. // keyed / unkeyed, or manual fragments.
  13511. // for keyed & unkeyed, since they are compiler generated from v-for,
  13512. // each child is guaranteed to be a block so the fragment will never
  13513. // have dynamicChildren.
  13514. patchChildren(n1, n2, container, fragmentEndAnchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
  13515. }
  13516. }
  13517. };
  13518. const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
  13519. n2.slotScopeIds = slotScopeIds;
  13520. if (n1 == null) {
  13521. if (n2.shapeFlag & 512 /* COMPONENT_KEPT_ALIVE */) {
  13522. parentComponent.ctx.activate(n2, container, anchor, isSVG, optimized);
  13523. }
  13524. else {
  13525. mountComponent(n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);
  13526. }
  13527. }
  13528. else {
  13529. updateComponent(n1, n2, optimized);
  13530. }
  13531. };
  13532. const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, isSVG, optimized) => {
  13533. const instance = (initialVNode.component = createComponentInstance(initialVNode, parentComponent, parentSuspense));
  13534. if (( true) && instance.type.__hmrId) {
  13535. registerHMR(instance);
  13536. }
  13537. if ((true)) {
  13538. pushWarningContext(initialVNode);
  13539. startMeasure(instance, `mount`);
  13540. }
  13541. // inject renderer internals for keepAlive
  13542. if (isKeepAlive(initialVNode)) {
  13543. instance.ctx.renderer = internals;
  13544. }
  13545. // resolve props and slots for setup context
  13546. {
  13547. if ((true)) {
  13548. startMeasure(instance, `init`);
  13549. }
  13550. setupComponent(instance);
  13551. if ((true)) {
  13552. endMeasure(instance, `init`);
  13553. }
  13554. }
  13555. // setup() is async. This component relies on async logic to be resolved
  13556. // before proceeding
  13557. if (instance.asyncDep) {
  13558. parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect);
  13559. // Give it a placeholder if this is not hydration
  13560. // TODO handle self-defined fallback
  13561. if (!initialVNode.el) {
  13562. const placeholder = (instance.subTree = createVNode(Comment));
  13563. processCommentNode(null, placeholder, container, anchor);
  13564. }
  13565. return;
  13566. }
  13567. setupRenderEffect(instance, initialVNode, container, anchor, parentSuspense, isSVG, optimized);
  13568. if ((true)) {
  13569. popWarningContext();
  13570. endMeasure(instance, `mount`);
  13571. }
  13572. };
  13573. const updateComponent = (n1, n2, optimized) => {
  13574. const instance = (n2.component = n1.component);
  13575. if (shouldUpdateComponent(n1, n2, optimized)) {
  13576. if (instance.asyncDep &&
  13577. !instance.asyncResolved) {
  13578. // async & still pending - just update props and slots
  13579. // since the component's reactive effect for render isn't set-up yet
  13580. if ((true)) {
  13581. pushWarningContext(n2);
  13582. }
  13583. updateComponentPreRender(instance, n2, optimized);
  13584. if ((true)) {
  13585. popWarningContext();
  13586. }
  13587. return;
  13588. }
  13589. else {
  13590. // normal update
  13591. instance.next = n2;
  13592. // in case the child component is also queued, remove it to avoid
  13593. // double updating the same child component in the same flush.
  13594. invalidateJob(instance.update);
  13595. // instance.update is the reactive effect.
  13596. instance.update();
  13597. }
  13598. }
  13599. else {
  13600. // no update needed. just copy over properties
  13601. n2.component = n1.component;
  13602. n2.el = n1.el;
  13603. instance.vnode = n2;
  13604. }
  13605. };
  13606. const setupRenderEffect = (instance, initialVNode, container, anchor, parentSuspense, isSVG, optimized) => {
  13607. const componentUpdateFn = () => {
  13608. if (!instance.isMounted) {
  13609. let vnodeHook;
  13610. const { el, props } = initialVNode;
  13611. const { bm, m, parent } = instance;
  13612. const isAsyncWrapperVNode = isAsyncWrapper(initialVNode);
  13613. toggleRecurse(instance, false);
  13614. // beforeMount hook
  13615. if (bm) {
  13616. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.invokeArrayFns)(bm);
  13617. }
  13618. // onVnodeBeforeMount
  13619. if (!isAsyncWrapperVNode &&
  13620. (vnodeHook = props && props.onVnodeBeforeMount)) {
  13621. invokeVNodeHook(vnodeHook, parent, initialVNode);
  13622. }
  13623. toggleRecurse(instance, true);
  13624. if (el && hydrateNode) {
  13625. // vnode has adopted host node - perform hydration instead of mount.
  13626. const hydrateSubTree = () => {
  13627. if ((true)) {
  13628. startMeasure(instance, `render`);
  13629. }
  13630. instance.subTree = renderComponentRoot(instance);
  13631. if ((true)) {
  13632. endMeasure(instance, `render`);
  13633. }
  13634. if ((true)) {
  13635. startMeasure(instance, `hydrate`);
  13636. }
  13637. hydrateNode(el, instance.subTree, instance, parentSuspense, null);
  13638. if ((true)) {
  13639. endMeasure(instance, `hydrate`);
  13640. }
  13641. };
  13642. if (isAsyncWrapperVNode) {
  13643. initialVNode.type.__asyncLoader().then(
  13644. // note: we are moving the render call into an async callback,
  13645. // which means it won't track dependencies - but it's ok because
  13646. // a server-rendered async wrapper is already in resolved state
  13647. // and it will never need to change.
  13648. () => !instance.isUnmounted && hydrateSubTree());
  13649. }
  13650. else {
  13651. hydrateSubTree();
  13652. }
  13653. }
  13654. else {
  13655. if ((true)) {
  13656. startMeasure(instance, `render`);
  13657. }
  13658. const subTree = (instance.subTree = renderComponentRoot(instance));
  13659. if ((true)) {
  13660. endMeasure(instance, `render`);
  13661. }
  13662. if ((true)) {
  13663. startMeasure(instance, `patch`);
  13664. }
  13665. patch(null, subTree, container, anchor, instance, parentSuspense, isSVG);
  13666. if ((true)) {
  13667. endMeasure(instance, `patch`);
  13668. }
  13669. initialVNode.el = subTree.el;
  13670. }
  13671. // mounted hook
  13672. if (m) {
  13673. queuePostRenderEffect(m, parentSuspense);
  13674. }
  13675. // onVnodeMounted
  13676. if (!isAsyncWrapperVNode &&
  13677. (vnodeHook = props && props.onVnodeMounted)) {
  13678. const scopedInitialVNode = initialVNode;
  13679. queuePostRenderEffect(() => invokeVNodeHook(vnodeHook, parent, scopedInitialVNode), parentSuspense);
  13680. }
  13681. // activated hook for keep-alive roots.
  13682. // #1742 activated hook must be accessed after first render
  13683. // since the hook may be injected by a child keep-alive
  13684. if (initialVNode.shapeFlag & 256 /* COMPONENT_SHOULD_KEEP_ALIVE */) {
  13685. instance.a && queuePostRenderEffect(instance.a, parentSuspense);
  13686. }
  13687. instance.isMounted = true;
  13688. if (true) {
  13689. devtoolsComponentAdded(instance);
  13690. }
  13691. // #2458: deference mount-only object parameters to prevent memleaks
  13692. initialVNode = container = anchor = null;
  13693. }
  13694. else {
  13695. // updateComponent
  13696. // This is triggered by mutation of component's own state (next: null)
  13697. // OR parent calling processComponent (next: VNode)
  13698. let { next, bu, u, parent, vnode } = instance;
  13699. let originNext = next;
  13700. let vnodeHook;
  13701. if ((true)) {
  13702. pushWarningContext(next || instance.vnode);
  13703. }
  13704. // Disallow component effect recursion during pre-lifecycle hooks.
  13705. toggleRecurse(instance, false);
  13706. if (next) {
  13707. next.el = vnode.el;
  13708. updateComponentPreRender(instance, next, optimized);
  13709. }
  13710. else {
  13711. next = vnode;
  13712. }
  13713. // beforeUpdate hook
  13714. if (bu) {
  13715. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.invokeArrayFns)(bu);
  13716. }
  13717. // onVnodeBeforeUpdate
  13718. if ((vnodeHook = next.props && next.props.onVnodeBeforeUpdate)) {
  13719. invokeVNodeHook(vnodeHook, parent, next, vnode);
  13720. }
  13721. toggleRecurse(instance, true);
  13722. // render
  13723. if ((true)) {
  13724. startMeasure(instance, `render`);
  13725. }
  13726. const nextTree = renderComponentRoot(instance);
  13727. if ((true)) {
  13728. endMeasure(instance, `render`);
  13729. }
  13730. const prevTree = instance.subTree;
  13731. instance.subTree = nextTree;
  13732. if ((true)) {
  13733. startMeasure(instance, `patch`);
  13734. }
  13735. patch(prevTree, nextTree,
  13736. // parent may have changed if it's in a teleport
  13737. hostParentNode(prevTree.el),
  13738. // anchor may have changed if it's in a fragment
  13739. getNextHostNode(prevTree), instance, parentSuspense, isSVG);
  13740. if ((true)) {
  13741. endMeasure(instance, `patch`);
  13742. }
  13743. next.el = nextTree.el;
  13744. if (originNext === null) {
  13745. // self-triggered update. In case of HOC, update parent component
  13746. // vnode el. HOC is indicated by parent instance's subTree pointing
  13747. // to child component's vnode
  13748. updateHOCHostEl(instance, nextTree.el);
  13749. }
  13750. // updated hook
  13751. if (u) {
  13752. queuePostRenderEffect(u, parentSuspense);
  13753. }
  13754. // onVnodeUpdated
  13755. if ((vnodeHook = next.props && next.props.onVnodeUpdated)) {
  13756. queuePostRenderEffect(() => invokeVNodeHook(vnodeHook, parent, next, vnode), parentSuspense);
  13757. }
  13758. if (true) {
  13759. devtoolsComponentUpdated(instance);
  13760. }
  13761. if ((true)) {
  13762. popWarningContext();
  13763. }
  13764. }
  13765. };
  13766. // create reactive effect for rendering
  13767. const effect = (instance.effect = new _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.ReactiveEffect(componentUpdateFn, () => queueJob(instance.update), instance.scope // track it in component's effect scope
  13768. ));
  13769. const update = (instance.update = effect.run.bind(effect));
  13770. update.id = instance.uid;
  13771. // allowRecurse
  13772. // #1801, #2043 component render effects should allow recursive updates
  13773. toggleRecurse(instance, true);
  13774. if ((true)) {
  13775. effect.onTrack = instance.rtc
  13776. ? e => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.invokeArrayFns)(instance.rtc, e)
  13777. : void 0;
  13778. effect.onTrigger = instance.rtg
  13779. ? e => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.invokeArrayFns)(instance.rtg, e)
  13780. : void 0;
  13781. // @ts-ignore (for scheduler)
  13782. update.ownerInstance = instance;
  13783. }
  13784. update();
  13785. };
  13786. const updateComponentPreRender = (instance, nextVNode, optimized) => {
  13787. nextVNode.component = instance;
  13788. const prevProps = instance.vnode.props;
  13789. instance.vnode = nextVNode;
  13790. instance.next = null;
  13791. updateProps(instance, nextVNode.props, prevProps, optimized);
  13792. updateSlots(instance, nextVNode.children, optimized);
  13793. (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.pauseTracking)();
  13794. // props update may have triggered pre-flush watchers.
  13795. // flush them before the render update.
  13796. flushPreFlushCbs(undefined, instance.update);
  13797. (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.resetTracking)();
  13798. };
  13799. const patchChildren = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized = false) => {
  13800. const c1 = n1 && n1.children;
  13801. const prevShapeFlag = n1 ? n1.shapeFlag : 0;
  13802. const c2 = n2.children;
  13803. const { patchFlag, shapeFlag } = n2;
  13804. // fast path
  13805. if (patchFlag > 0) {
  13806. if (patchFlag & 128 /* KEYED_FRAGMENT */) {
  13807. // this could be either fully-keyed or mixed (some keyed some not)
  13808. // presence of patchFlag means children are guaranteed to be arrays
  13809. patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
  13810. return;
  13811. }
  13812. else if (patchFlag & 256 /* UNKEYED_FRAGMENT */) {
  13813. // unkeyed
  13814. patchUnkeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
  13815. return;
  13816. }
  13817. }
  13818. // children has 3 possibilities: text, array or no children.
  13819. if (shapeFlag & 8 /* TEXT_CHILDREN */) {
  13820. // text children fast path
  13821. if (prevShapeFlag & 16 /* ARRAY_CHILDREN */) {
  13822. unmountChildren(c1, parentComponent, parentSuspense);
  13823. }
  13824. if (c2 !== c1) {
  13825. hostSetElementText(container, c2);
  13826. }
  13827. }
  13828. else {
  13829. if (prevShapeFlag & 16 /* ARRAY_CHILDREN */) {
  13830. // prev children was array
  13831. if (shapeFlag & 16 /* ARRAY_CHILDREN */) {
  13832. // two arrays, cannot assume anything, do full diff
  13833. patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
  13834. }
  13835. else {
  13836. // no new children, just unmount old
  13837. unmountChildren(c1, parentComponent, parentSuspense, true);
  13838. }
  13839. }
  13840. else {
  13841. // prev children was text OR null
  13842. // new children is array OR null
  13843. if (prevShapeFlag & 8 /* TEXT_CHILDREN */) {
  13844. hostSetElementText(container, '');
  13845. }
  13846. // mount new if array
  13847. if (shapeFlag & 16 /* ARRAY_CHILDREN */) {
  13848. mountChildren(c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
  13849. }
  13850. }
  13851. }
  13852. };
  13853. const patchUnkeyedChildren = (c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
  13854. c1 = c1 || _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_ARR;
  13855. c2 = c2 || _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_ARR;
  13856. const oldLength = c1.length;
  13857. const newLength = c2.length;
  13858. const commonLength = Math.min(oldLength, newLength);
  13859. let i;
  13860. for (i = 0; i < commonLength; i++) {
  13861. const nextChild = (c2[i] = optimized
  13862. ? cloneIfMounted(c2[i])
  13863. : normalizeVNode(c2[i]));
  13864. patch(c1[i], nextChild, container, null, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
  13865. }
  13866. if (oldLength > newLength) {
  13867. // remove old
  13868. unmountChildren(c1, parentComponent, parentSuspense, true, false, commonLength);
  13869. }
  13870. else {
  13871. // mount new
  13872. mountChildren(c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, commonLength);
  13873. }
  13874. };
  13875. // can be all-keyed or mixed
  13876. const patchKeyedChildren = (c1, c2, container, parentAnchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
  13877. let i = 0;
  13878. const l2 = c2.length;
  13879. let e1 = c1.length - 1; // prev ending index
  13880. let e2 = l2 - 1; // next ending index
  13881. // 1. sync from start
  13882. // (a b) c
  13883. // (a b) d e
  13884. while (i <= e1 && i <= e2) {
  13885. const n1 = c1[i];
  13886. const n2 = (c2[i] = optimized
  13887. ? cloneIfMounted(c2[i])
  13888. : normalizeVNode(c2[i]));
  13889. if (isSameVNodeType(n1, n2)) {
  13890. patch(n1, n2, container, null, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
  13891. }
  13892. else {
  13893. break;
  13894. }
  13895. i++;
  13896. }
  13897. // 2. sync from end
  13898. // a (b c)
  13899. // d e (b c)
  13900. while (i <= e1 && i <= e2) {
  13901. const n1 = c1[e1];
  13902. const n2 = (c2[e2] = optimized
  13903. ? cloneIfMounted(c2[e2])
  13904. : normalizeVNode(c2[e2]));
  13905. if (isSameVNodeType(n1, n2)) {
  13906. patch(n1, n2, container, null, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
  13907. }
  13908. else {
  13909. break;
  13910. }
  13911. e1--;
  13912. e2--;
  13913. }
  13914. // 3. common sequence + mount
  13915. // (a b)
  13916. // (a b) c
  13917. // i = 2, e1 = 1, e2 = 2
  13918. // (a b)
  13919. // c (a b)
  13920. // i = 0, e1 = -1, e2 = 0
  13921. if (i > e1) {
  13922. if (i <= e2) {
  13923. const nextPos = e2 + 1;
  13924. const anchor = nextPos < l2 ? c2[nextPos].el : parentAnchor;
  13925. while (i <= e2) {
  13926. patch(null, (c2[i] = optimized
  13927. ? cloneIfMounted(c2[i])
  13928. : normalizeVNode(c2[i])), container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
  13929. i++;
  13930. }
  13931. }
  13932. }
  13933. // 4. common sequence + unmount
  13934. // (a b) c
  13935. // (a b)
  13936. // i = 2, e1 = 2, e2 = 1
  13937. // a (b c)
  13938. // (b c)
  13939. // i = 0, e1 = 0, e2 = -1
  13940. else if (i > e2) {
  13941. while (i <= e1) {
  13942. unmount(c1[i], parentComponent, parentSuspense, true);
  13943. i++;
  13944. }
  13945. }
  13946. // 5. unknown sequence
  13947. // [i ... e1 + 1]: a b [c d e] f g
  13948. // [i ... e2 + 1]: a b [e d c h] f g
  13949. // i = 2, e1 = 4, e2 = 5
  13950. else {
  13951. const s1 = i; // prev starting index
  13952. const s2 = i; // next starting index
  13953. // 5.1 build key:index map for newChildren
  13954. const keyToNewIndexMap = new Map();
  13955. for (i = s2; i <= e2; i++) {
  13956. const nextChild = (c2[i] = optimized
  13957. ? cloneIfMounted(c2[i])
  13958. : normalizeVNode(c2[i]));
  13959. if (nextChild.key != null) {
  13960. if (( true) && keyToNewIndexMap.has(nextChild.key)) {
  13961. warn(`Duplicate keys found during update:`, JSON.stringify(nextChild.key), `Make sure keys are unique.`);
  13962. }
  13963. keyToNewIndexMap.set(nextChild.key, i);
  13964. }
  13965. }
  13966. // 5.2 loop through old children left to be patched and try to patch
  13967. // matching nodes & remove nodes that are no longer present
  13968. let j;
  13969. let patched = 0;
  13970. const toBePatched = e2 - s2 + 1;
  13971. let moved = false;
  13972. // used to track whether any node has moved
  13973. let maxNewIndexSoFar = 0;
  13974. // works as Map<newIndex, oldIndex>
  13975. // Note that oldIndex is offset by +1
  13976. // and oldIndex = 0 is a special value indicating the new node has
  13977. // no corresponding old node.
  13978. // used for determining longest stable subsequence
  13979. const newIndexToOldIndexMap = new Array(toBePatched);
  13980. for (i = 0; i < toBePatched; i++)
  13981. newIndexToOldIndexMap[i] = 0;
  13982. for (i = s1; i <= e1; i++) {
  13983. const prevChild = c1[i];
  13984. if (patched >= toBePatched) {
  13985. // all new children have been patched so this can only be a removal
  13986. unmount(prevChild, parentComponent, parentSuspense, true);
  13987. continue;
  13988. }
  13989. let newIndex;
  13990. if (prevChild.key != null) {
  13991. newIndex = keyToNewIndexMap.get(prevChild.key);
  13992. }
  13993. else {
  13994. // key-less node, try to locate a key-less node of the same type
  13995. for (j = s2; j <= e2; j++) {
  13996. if (newIndexToOldIndexMap[j - s2] === 0 &&
  13997. isSameVNodeType(prevChild, c2[j])) {
  13998. newIndex = j;
  13999. break;
  14000. }
  14001. }
  14002. }
  14003. if (newIndex === undefined) {
  14004. unmount(prevChild, parentComponent, parentSuspense, true);
  14005. }
  14006. else {
  14007. newIndexToOldIndexMap[newIndex - s2] = i + 1;
  14008. if (newIndex >= maxNewIndexSoFar) {
  14009. maxNewIndexSoFar = newIndex;
  14010. }
  14011. else {
  14012. moved = true;
  14013. }
  14014. patch(prevChild, c2[newIndex], container, null, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
  14015. patched++;
  14016. }
  14017. }
  14018. // 5.3 move and mount
  14019. // generate longest stable subsequence only when nodes have moved
  14020. const increasingNewIndexSequence = moved
  14021. ? getSequence(newIndexToOldIndexMap)
  14022. : _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_ARR;
  14023. j = increasingNewIndexSequence.length - 1;
  14024. // looping backwards so that we can use last patched node as anchor
  14025. for (i = toBePatched - 1; i >= 0; i--) {
  14026. const nextIndex = s2 + i;
  14027. const nextChild = c2[nextIndex];
  14028. const anchor = nextIndex + 1 < l2 ? c2[nextIndex + 1].el : parentAnchor;
  14029. if (newIndexToOldIndexMap[i] === 0) {
  14030. // mount new
  14031. patch(null, nextChild, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
  14032. }
  14033. else if (moved) {
  14034. // move if:
  14035. // There is no stable subsequence (e.g. a reverse)
  14036. // OR current node is not among the stable sequence
  14037. if (j < 0 || i !== increasingNewIndexSequence[j]) {
  14038. move(nextChild, container, anchor, 2 /* REORDER */);
  14039. }
  14040. else {
  14041. j--;
  14042. }
  14043. }
  14044. }
  14045. }
  14046. };
  14047. const move = (vnode, container, anchor, moveType, parentSuspense = null) => {
  14048. const { el, type, transition, children, shapeFlag } = vnode;
  14049. if (shapeFlag & 6 /* COMPONENT */) {
  14050. move(vnode.component.subTree, container, anchor, moveType);
  14051. return;
  14052. }
  14053. if (shapeFlag & 128 /* SUSPENSE */) {
  14054. vnode.suspense.move(container, anchor, moveType);
  14055. return;
  14056. }
  14057. if (shapeFlag & 64 /* TELEPORT */) {
  14058. type.move(vnode, container, anchor, internals);
  14059. return;
  14060. }
  14061. if (type === Fragment) {
  14062. hostInsert(el, container, anchor);
  14063. for (let i = 0; i < children.length; i++) {
  14064. move(children[i], container, anchor, moveType);
  14065. }
  14066. hostInsert(vnode.anchor, container, anchor);
  14067. return;
  14068. }
  14069. if (type === Static) {
  14070. moveStaticNode(vnode, container, anchor);
  14071. return;
  14072. }
  14073. // single nodes
  14074. const needTransition = moveType !== 2 /* REORDER */ &&
  14075. shapeFlag & 1 /* ELEMENT */ &&
  14076. transition;
  14077. if (needTransition) {
  14078. if (moveType === 0 /* ENTER */) {
  14079. transition.beforeEnter(el);
  14080. hostInsert(el, container, anchor);
  14081. queuePostRenderEffect(() => transition.enter(el), parentSuspense);
  14082. }
  14083. else {
  14084. const { leave, delayLeave, afterLeave } = transition;
  14085. const remove = () => hostInsert(el, container, anchor);
  14086. const performLeave = () => {
  14087. leave(el, () => {
  14088. remove();
  14089. afterLeave && afterLeave();
  14090. });
  14091. };
  14092. if (delayLeave) {
  14093. delayLeave(el, remove, performLeave);
  14094. }
  14095. else {
  14096. performLeave();
  14097. }
  14098. }
  14099. }
  14100. else {
  14101. hostInsert(el, container, anchor);
  14102. }
  14103. };
  14104. const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {
  14105. const { type, props, ref, children, dynamicChildren, shapeFlag, patchFlag, dirs } = vnode;
  14106. // unset ref
  14107. if (ref != null) {
  14108. setRef(ref, null, parentSuspense, vnode, true);
  14109. }
  14110. if (shapeFlag & 256 /* COMPONENT_SHOULD_KEEP_ALIVE */) {
  14111. parentComponent.ctx.deactivate(vnode);
  14112. return;
  14113. }
  14114. const shouldInvokeDirs = shapeFlag & 1 /* ELEMENT */ && dirs;
  14115. const shouldInvokeVnodeHook = !isAsyncWrapper(vnode);
  14116. let vnodeHook;
  14117. if (shouldInvokeVnodeHook &&
  14118. (vnodeHook = props && props.onVnodeBeforeUnmount)) {
  14119. invokeVNodeHook(vnodeHook, parentComponent, vnode);
  14120. }
  14121. if (shapeFlag & 6 /* COMPONENT */) {
  14122. unmountComponent(vnode.component, parentSuspense, doRemove);
  14123. }
  14124. else {
  14125. if (shapeFlag & 128 /* SUSPENSE */) {
  14126. vnode.suspense.unmount(parentSuspense, doRemove);
  14127. return;
  14128. }
  14129. if (shouldInvokeDirs) {
  14130. invokeDirectiveHook(vnode, null, parentComponent, 'beforeUnmount');
  14131. }
  14132. if (shapeFlag & 64 /* TELEPORT */) {
  14133. vnode.type.remove(vnode, parentComponent, parentSuspense, optimized, internals, doRemove);
  14134. }
  14135. else if (dynamicChildren &&
  14136. // #1153: fast path should not be taken for non-stable (v-for) fragments
  14137. (type !== Fragment ||
  14138. (patchFlag > 0 && patchFlag & 64 /* STABLE_FRAGMENT */))) {
  14139. // fast path for block nodes: only need to unmount dynamic children.
  14140. unmountChildren(dynamicChildren, parentComponent, parentSuspense, false, true);
  14141. }
  14142. else if ((type === Fragment &&
  14143. patchFlag &
  14144. (128 /* KEYED_FRAGMENT */ | 256 /* UNKEYED_FRAGMENT */)) ||
  14145. (!optimized && shapeFlag & 16 /* ARRAY_CHILDREN */)) {
  14146. unmountChildren(children, parentComponent, parentSuspense);
  14147. }
  14148. if (doRemove) {
  14149. remove(vnode);
  14150. }
  14151. }
  14152. if ((shouldInvokeVnodeHook &&
  14153. (vnodeHook = props && props.onVnodeUnmounted)) ||
  14154. shouldInvokeDirs) {
  14155. queuePostRenderEffect(() => {
  14156. vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
  14157. shouldInvokeDirs &&
  14158. invokeDirectiveHook(vnode, null, parentComponent, 'unmounted');
  14159. }, parentSuspense);
  14160. }
  14161. };
  14162. const remove = vnode => {
  14163. const { type, el, anchor, transition } = vnode;
  14164. if (type === Fragment) {
  14165. if (( true) &&
  14166. vnode.patchFlag > 0 &&
  14167. vnode.patchFlag & 2048 /* DEV_ROOT_FRAGMENT */ &&
  14168. transition &&
  14169. !transition.persisted) {
  14170. vnode.children.forEach(child => {
  14171. if (child.type === Comment) {
  14172. hostRemove(child.el);
  14173. }
  14174. else {
  14175. remove(child);
  14176. }
  14177. });
  14178. }
  14179. else {
  14180. removeFragment(el, anchor);
  14181. }
  14182. return;
  14183. }
  14184. if (type === Static) {
  14185. removeStaticNode(vnode);
  14186. return;
  14187. }
  14188. const performRemove = () => {
  14189. hostRemove(el);
  14190. if (transition && !transition.persisted && transition.afterLeave) {
  14191. transition.afterLeave();
  14192. }
  14193. };
  14194. if (vnode.shapeFlag & 1 /* ELEMENT */ &&
  14195. transition &&
  14196. !transition.persisted) {
  14197. const { leave, delayLeave } = transition;
  14198. const performLeave = () => leave(el, performRemove);
  14199. if (delayLeave) {
  14200. delayLeave(vnode.el, performRemove, performLeave);
  14201. }
  14202. else {
  14203. performLeave();
  14204. }
  14205. }
  14206. else {
  14207. performRemove();
  14208. }
  14209. };
  14210. const removeFragment = (cur, end) => {
  14211. // For fragments, directly remove all contained DOM nodes.
  14212. // (fragment child nodes cannot have transition)
  14213. let next;
  14214. while (cur !== end) {
  14215. next = hostNextSibling(cur);
  14216. hostRemove(cur);
  14217. cur = next;
  14218. }
  14219. hostRemove(end);
  14220. };
  14221. const unmountComponent = (instance, parentSuspense, doRemove) => {
  14222. if (( true) && instance.type.__hmrId) {
  14223. unregisterHMR(instance);
  14224. }
  14225. const { bum, scope, update, subTree, um } = instance;
  14226. // beforeUnmount hook
  14227. if (bum) {
  14228. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.invokeArrayFns)(bum);
  14229. }
  14230. // stop effects in component scope
  14231. scope.stop();
  14232. // update may be null if a component is unmounted before its async
  14233. // setup has resolved.
  14234. if (update) {
  14235. // so that scheduler will no longer invoke it
  14236. update.active = false;
  14237. unmount(subTree, instance, parentSuspense, doRemove);
  14238. }
  14239. // unmounted hook
  14240. if (um) {
  14241. queuePostRenderEffect(um, parentSuspense);
  14242. }
  14243. queuePostRenderEffect(() => {
  14244. instance.isUnmounted = true;
  14245. }, parentSuspense);
  14246. // A component with async dep inside a pending suspense is unmounted before
  14247. // its async dep resolves. This should remove the dep from the suspense, and
  14248. // cause the suspense to resolve immediately if that was the last dep.
  14249. if (parentSuspense &&
  14250. parentSuspense.pendingBranch &&
  14251. !parentSuspense.isUnmounted &&
  14252. instance.asyncDep &&
  14253. !instance.asyncResolved &&
  14254. instance.suspenseId === parentSuspense.pendingId) {
  14255. parentSuspense.deps--;
  14256. if (parentSuspense.deps === 0) {
  14257. parentSuspense.resolve();
  14258. }
  14259. }
  14260. if (true) {
  14261. devtoolsComponentRemoved(instance);
  14262. }
  14263. };
  14264. const unmountChildren = (children, parentComponent, parentSuspense, doRemove = false, optimized = false, start = 0) => {
  14265. for (let i = start; i < children.length; i++) {
  14266. unmount(children[i], parentComponent, parentSuspense, doRemove, optimized);
  14267. }
  14268. };
  14269. const getNextHostNode = vnode => {
  14270. if (vnode.shapeFlag & 6 /* COMPONENT */) {
  14271. return getNextHostNode(vnode.component.subTree);
  14272. }
  14273. if (vnode.shapeFlag & 128 /* SUSPENSE */) {
  14274. return vnode.suspense.next();
  14275. }
  14276. return hostNextSibling((vnode.anchor || vnode.el));
  14277. };
  14278. const render = (vnode, container, isSVG) => {
  14279. if (vnode == null) {
  14280. if (container._vnode) {
  14281. unmount(container._vnode, null, null, true);
  14282. }
  14283. }
  14284. else {
  14285. patch(container._vnode || null, vnode, container, null, null, null, isSVG);
  14286. }
  14287. flushPostFlushCbs();
  14288. container._vnode = vnode;
  14289. };
  14290. const internals = {
  14291. p: patch,
  14292. um: unmount,
  14293. m: move,
  14294. r: remove,
  14295. mt: mountComponent,
  14296. mc: mountChildren,
  14297. pc: patchChildren,
  14298. pbc: patchBlockChildren,
  14299. n: getNextHostNode,
  14300. o: options
  14301. };
  14302. let hydrate;
  14303. let hydrateNode;
  14304. if (createHydrationFns) {
  14305. [hydrate, hydrateNode] = createHydrationFns(internals);
  14306. }
  14307. return {
  14308. render,
  14309. hydrate,
  14310. createApp: createAppAPI(render, hydrate)
  14311. };
  14312. }
  14313. function toggleRecurse({ effect, update }, allowed) {
  14314. effect.allowRecurse = update.allowRecurse = allowed;
  14315. }
  14316. /**
  14317. * #1156
  14318. * When a component is HMR-enabled, we need to make sure that all static nodes
  14319. * inside a block also inherit the DOM element from the previous tree so that
  14320. * HMR updates (which are full updates) can retrieve the element for patching.
  14321. *
  14322. * #2080
  14323. * Inside keyed `template` fragment static children, if a fragment is moved,
  14324. * the children will always be moved. Therefore, in order to ensure correct move
  14325. * position, el should be inherited from previous nodes.
  14326. */
  14327. function traverseStaticChildren(n1, n2, shallow = false) {
  14328. const ch1 = n1.children;
  14329. const ch2 = n2.children;
  14330. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(ch1) && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(ch2)) {
  14331. for (let i = 0; i < ch1.length; i++) {
  14332. // this is only called in the optimized path so array children are
  14333. // guaranteed to be vnodes
  14334. const c1 = ch1[i];
  14335. let c2 = ch2[i];
  14336. if (c2.shapeFlag & 1 /* ELEMENT */ && !c2.dynamicChildren) {
  14337. if (c2.patchFlag <= 0 || c2.patchFlag === 32 /* HYDRATE_EVENTS */) {
  14338. c2 = ch2[i] = cloneIfMounted(ch2[i]);
  14339. c2.el = c1.el;
  14340. }
  14341. if (!shallow)
  14342. traverseStaticChildren(c1, c2);
  14343. }
  14344. // also inherit for comment nodes, but not placeholders (e.g. v-if which
  14345. // would have received .el during block patch)
  14346. if (( true) && c2.type === Comment && !c2.el) {
  14347. c2.el = c1.el;
  14348. }
  14349. }
  14350. }
  14351. }
  14352. // https://en.wikipedia.org/wiki/Longest_increasing_subsequence
  14353. function getSequence(arr) {
  14354. const p = arr.slice();
  14355. const result = [0];
  14356. let i, j, u, v, c;
  14357. const len = arr.length;
  14358. for (i = 0; i < len; i++) {
  14359. const arrI = arr[i];
  14360. if (arrI !== 0) {
  14361. j = result[result.length - 1];
  14362. if (arr[j] < arrI) {
  14363. p[i] = j;
  14364. result.push(i);
  14365. continue;
  14366. }
  14367. u = 0;
  14368. v = result.length - 1;
  14369. while (u < v) {
  14370. c = (u + v) >> 1;
  14371. if (arr[result[c]] < arrI) {
  14372. u = c + 1;
  14373. }
  14374. else {
  14375. v = c;
  14376. }
  14377. }
  14378. if (arrI < arr[result[u]]) {
  14379. if (u > 0) {
  14380. p[i] = result[u - 1];
  14381. }
  14382. result[u] = i;
  14383. }
  14384. }
  14385. }
  14386. u = result.length;
  14387. v = result[u - 1];
  14388. while (u-- > 0) {
  14389. result[u] = v;
  14390. v = p[v];
  14391. }
  14392. return result;
  14393. }
  14394. const isTeleport = (type) => type.__isTeleport;
  14395. const isTeleportDisabled = (props) => props && (props.disabled || props.disabled === '');
  14396. const isTargetSVG = (target) => typeof SVGElement !== 'undefined' && target instanceof SVGElement;
  14397. const resolveTarget = (props, select) => {
  14398. const targetSelector = props && props.to;
  14399. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(targetSelector)) {
  14400. if (!select) {
  14401. ( true) &&
  14402. warn(`Current renderer does not support string target for Teleports. ` +
  14403. `(missing querySelector renderer option)`);
  14404. return null;
  14405. }
  14406. else {
  14407. const target = select(targetSelector);
  14408. if (!target) {
  14409. ( true) &&
  14410. warn(`Failed to locate Teleport target with selector "${targetSelector}". ` +
  14411. `Note the target element must exist before the component is mounted - ` +
  14412. `i.e. the target cannot be rendered by the component itself, and ` +
  14413. `ideally should be outside of the entire Vue component tree.`);
  14414. }
  14415. return target;
  14416. }
  14417. }
  14418. else {
  14419. if (( true) && !targetSelector && !isTeleportDisabled(props)) {
  14420. warn(`Invalid Teleport target: ${targetSelector}`);
  14421. }
  14422. return targetSelector;
  14423. }
  14424. };
  14425. const TeleportImpl = {
  14426. __isTeleport: true,
  14427. process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals) {
  14428. const { mc: mountChildren, pc: patchChildren, pbc: patchBlockChildren, o: { insert, querySelector, createText, createComment } } = internals;
  14429. const disabled = isTeleportDisabled(n2.props);
  14430. let { shapeFlag, children, dynamicChildren } = n2;
  14431. // #3302
  14432. // HMR updated, force full diff
  14433. if (( true) && isHmrUpdating) {
  14434. optimized = false;
  14435. dynamicChildren = null;
  14436. }
  14437. if (n1 == null) {
  14438. // insert anchors in the main view
  14439. const placeholder = (n2.el = ( true)
  14440. ? createComment('teleport start')
  14441. : 0);
  14442. const mainAnchor = (n2.anchor = ( true)
  14443. ? createComment('teleport end')
  14444. : 0);
  14445. insert(placeholder, container, anchor);
  14446. insert(mainAnchor, container, anchor);
  14447. const target = (n2.target = resolveTarget(n2.props, querySelector));
  14448. const targetAnchor = (n2.targetAnchor = createText(''));
  14449. if (target) {
  14450. insert(targetAnchor, target);
  14451. // #2652 we could be teleporting from a non-SVG tree into an SVG tree
  14452. isSVG = isSVG || isTargetSVG(target);
  14453. }
  14454. else if (( true) && !disabled) {
  14455. warn('Invalid Teleport target on mount:', target, `(${typeof target})`);
  14456. }
  14457. const mount = (container, anchor) => {
  14458. // Teleport *always* has Array children. This is enforced in both the
  14459. // compiler and vnode children normalization.
  14460. if (shapeFlag & 16 /* ARRAY_CHILDREN */) {
  14461. mountChildren(children, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
  14462. }
  14463. };
  14464. if (disabled) {
  14465. mount(container, mainAnchor);
  14466. }
  14467. else if (target) {
  14468. mount(target, targetAnchor);
  14469. }
  14470. }
  14471. else {
  14472. // update content
  14473. n2.el = n1.el;
  14474. const mainAnchor = (n2.anchor = n1.anchor);
  14475. const target = (n2.target = n1.target);
  14476. const targetAnchor = (n2.targetAnchor = n1.targetAnchor);
  14477. const wasDisabled = isTeleportDisabled(n1.props);
  14478. const currentContainer = wasDisabled ? container : target;
  14479. const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;
  14480. isSVG = isSVG || isTargetSVG(target);
  14481. if (dynamicChildren) {
  14482. // fast path when the teleport happens to be a block root
  14483. patchBlockChildren(n1.dynamicChildren, dynamicChildren, currentContainer, parentComponent, parentSuspense, isSVG, slotScopeIds);
  14484. // even in block tree mode we need to make sure all root-level nodes
  14485. // in the teleport inherit previous DOM references so that they can
  14486. // be moved in future patches.
  14487. traverseStaticChildren(n1, n2, true);
  14488. }
  14489. else if (!optimized) {
  14490. patchChildren(n1, n2, currentContainer, currentAnchor, parentComponent, parentSuspense, isSVG, slotScopeIds, false);
  14491. }
  14492. if (disabled) {
  14493. if (!wasDisabled) {
  14494. // enabled -> disabled
  14495. // move into main container
  14496. moveTeleport(n2, container, mainAnchor, internals, 1 /* TOGGLE */);
  14497. }
  14498. }
  14499. else {
  14500. // target changed
  14501. if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {
  14502. const nextTarget = (n2.target = resolveTarget(n2.props, querySelector));
  14503. if (nextTarget) {
  14504. moveTeleport(n2, nextTarget, null, internals, 0 /* TARGET_CHANGE */);
  14505. }
  14506. else if ((true)) {
  14507. warn('Invalid Teleport target on update:', target, `(${typeof target})`);
  14508. }
  14509. }
  14510. else if (wasDisabled) {
  14511. // disabled -> enabled
  14512. // move into teleport target
  14513. moveTeleport(n2, target, targetAnchor, internals, 1 /* TOGGLE */);
  14514. }
  14515. }
  14516. }
  14517. },
  14518. remove(vnode, parentComponent, parentSuspense, optimized, { um: unmount, o: { remove: hostRemove } }, doRemove) {
  14519. const { shapeFlag, children, anchor, targetAnchor, target, props } = vnode;
  14520. if (target) {
  14521. hostRemove(targetAnchor);
  14522. }
  14523. // an unmounted teleport should always remove its children if not disabled
  14524. if (doRemove || !isTeleportDisabled(props)) {
  14525. hostRemove(anchor);
  14526. if (shapeFlag & 16 /* ARRAY_CHILDREN */) {
  14527. for (let i = 0; i < children.length; i++) {
  14528. const child = children[i];
  14529. unmount(child, parentComponent, parentSuspense, true, !!child.dynamicChildren);
  14530. }
  14531. }
  14532. }
  14533. },
  14534. move: moveTeleport,
  14535. hydrate: hydrateTeleport
  14536. };
  14537. function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2 /* REORDER */) {
  14538. // move target anchor if this is a target change.
  14539. if (moveType === 0 /* TARGET_CHANGE */) {
  14540. insert(vnode.targetAnchor, container, parentAnchor);
  14541. }
  14542. const { el, anchor, shapeFlag, children, props } = vnode;
  14543. const isReorder = moveType === 2 /* REORDER */;
  14544. // move main view anchor if this is a re-order.
  14545. if (isReorder) {
  14546. insert(el, container, parentAnchor);
  14547. }
  14548. // if this is a re-order and teleport is enabled (content is in target)
  14549. // do not move children. So the opposite is: only move children if this
  14550. // is not a reorder, or the teleport is disabled
  14551. if (!isReorder || isTeleportDisabled(props)) {
  14552. // Teleport has either Array children or no children.
  14553. if (shapeFlag & 16 /* ARRAY_CHILDREN */) {
  14554. for (let i = 0; i < children.length; i++) {
  14555. move(children[i], container, parentAnchor, 2 /* REORDER */);
  14556. }
  14557. }
  14558. }
  14559. // move main view anchor if this is a re-order.
  14560. if (isReorder) {
  14561. insert(anchor, container, parentAnchor);
  14562. }
  14563. }
  14564. function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, { o: { nextSibling, parentNode, querySelector } }, hydrateChildren) {
  14565. const target = (vnode.target = resolveTarget(vnode.props, querySelector));
  14566. if (target) {
  14567. // if multiple teleports rendered to the same target element, we need to
  14568. // pick up from where the last teleport finished instead of the first node
  14569. const targetNode = target._lpa || target.firstChild;
  14570. if (vnode.shapeFlag & 16 /* ARRAY_CHILDREN */) {
  14571. if (isTeleportDisabled(vnode.props)) {
  14572. vnode.anchor = hydrateChildren(nextSibling(node), vnode, parentNode(node), parentComponent, parentSuspense, slotScopeIds, optimized);
  14573. vnode.targetAnchor = targetNode;
  14574. }
  14575. else {
  14576. vnode.anchor = nextSibling(node);
  14577. vnode.targetAnchor = hydrateChildren(targetNode, vnode, target, parentComponent, parentSuspense, slotScopeIds, optimized);
  14578. }
  14579. target._lpa =
  14580. vnode.targetAnchor && nextSibling(vnode.targetAnchor);
  14581. }
  14582. }
  14583. return vnode.anchor && nextSibling(vnode.anchor);
  14584. }
  14585. // Force-casted public typing for h and TSX props inference
  14586. const Teleport = TeleportImpl;
  14587. const COMPONENTS = 'components';
  14588. const DIRECTIVES = 'directives';
  14589. /**
  14590. * @private
  14591. */
  14592. function resolveComponent(name, maybeSelfReference) {
  14593. return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;
  14594. }
  14595. const NULL_DYNAMIC_COMPONENT = Symbol();
  14596. /**
  14597. * @private
  14598. */
  14599. function resolveDynamicComponent(component) {
  14600. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(component)) {
  14601. return resolveAsset(COMPONENTS, component, false) || component;
  14602. }
  14603. else {
  14604. // invalid types will fallthrough to createVNode and raise warning
  14605. return (component || NULL_DYNAMIC_COMPONENT);
  14606. }
  14607. }
  14608. /**
  14609. * @private
  14610. */
  14611. function resolveDirective(name) {
  14612. return resolveAsset(DIRECTIVES, name);
  14613. }
  14614. // implementation
  14615. function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {
  14616. const instance = currentRenderingInstance || currentInstance;
  14617. if (instance) {
  14618. const Component = instance.type;
  14619. // explicit self name has highest priority
  14620. if (type === COMPONENTS) {
  14621. const selfName = getComponentName(Component);
  14622. if (selfName &&
  14623. (selfName === name ||
  14624. selfName === (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(name) ||
  14625. selfName === (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.capitalize)((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(name)))) {
  14626. return Component;
  14627. }
  14628. }
  14629. const res =
  14630. // local registration
  14631. // check instance[type] first which is resolved for options API
  14632. resolve(instance[type] || Component[type], name) ||
  14633. // global registration
  14634. resolve(instance.appContext[type], name);
  14635. if (!res && maybeSelfReference) {
  14636. // fallback to implicit self-reference
  14637. return Component;
  14638. }
  14639. if (( true) && warnMissing && !res) {
  14640. const extra = type === COMPONENTS
  14641. ? `\nIf this is a native custom element, make sure to exclude it from ` +
  14642. `component resolution via compilerOptions.isCustomElement.`
  14643. : ``;
  14644. warn(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);
  14645. }
  14646. return res;
  14647. }
  14648. else if ((true)) {
  14649. warn(`resolve${(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.capitalize)(type.slice(0, -1))} ` +
  14650. `can only be used in render() or setup().`);
  14651. }
  14652. }
  14653. function resolve(registry, name) {
  14654. return (registry &&
  14655. (registry[name] ||
  14656. registry[(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(name)] ||
  14657. registry[(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.capitalize)((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(name))]));
  14658. }
  14659. const Fragment = Symbol(( true) ? 'Fragment' : 0);
  14660. const Text = Symbol(( true) ? 'Text' : 0);
  14661. const Comment = Symbol(( true) ? 'Comment' : 0);
  14662. const Static = Symbol(( true) ? 'Static' : 0);
  14663. // Since v-if and v-for are the two possible ways node structure can dynamically
  14664. // change, once we consider v-if branches and each v-for fragment a block, we
  14665. // can divide a template into nested blocks, and within each block the node
  14666. // structure would be stable. This allows us to skip most children diffing
  14667. // and only worry about the dynamic nodes (indicated by patch flags).
  14668. const blockStack = [];
  14669. let currentBlock = null;
  14670. /**
  14671. * Open a block.
  14672. * This must be called before `createBlock`. It cannot be part of `createBlock`
  14673. * because the children of the block are evaluated before `createBlock` itself
  14674. * is called. The generated code typically looks like this:
  14675. *
  14676. * ```js
  14677. * function render() {
  14678. * return (openBlock(),createBlock('div', null, [...]))
  14679. * }
  14680. * ```
  14681. * disableTracking is true when creating a v-for fragment block, since a v-for
  14682. * fragment always diffs its children.
  14683. *
  14684. * @private
  14685. */
  14686. function openBlock(disableTracking = false) {
  14687. blockStack.push((currentBlock = disableTracking ? null : []));
  14688. }
  14689. function closeBlock() {
  14690. blockStack.pop();
  14691. currentBlock = blockStack[blockStack.length - 1] || null;
  14692. }
  14693. // Whether we should be tracking dynamic child nodes inside a block.
  14694. // Only tracks when this value is > 0
  14695. // We are not using a simple boolean because this value may need to be
  14696. // incremented/decremented by nested usage of v-once (see below)
  14697. let isBlockTreeEnabled = 1;
  14698. /**
  14699. * Block tracking sometimes needs to be disabled, for example during the
  14700. * creation of a tree that needs to be cached by v-once. The compiler generates
  14701. * code like this:
  14702. *
  14703. * ``` js
  14704. * _cache[1] || (
  14705. * setBlockTracking(-1),
  14706. * _cache[1] = createVNode(...),
  14707. * setBlockTracking(1),
  14708. * _cache[1]
  14709. * )
  14710. * ```
  14711. *
  14712. * @private
  14713. */
  14714. function setBlockTracking(value) {
  14715. isBlockTreeEnabled += value;
  14716. }
  14717. function setupBlock(vnode) {
  14718. // save current block children on the block vnode
  14719. vnode.dynamicChildren =
  14720. isBlockTreeEnabled > 0 ? currentBlock || _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_ARR : null;
  14721. // close block
  14722. closeBlock();
  14723. // a block is always going to be patched, so track it as a child of its
  14724. // parent block
  14725. if (isBlockTreeEnabled > 0 && currentBlock) {
  14726. currentBlock.push(vnode);
  14727. }
  14728. return vnode;
  14729. }
  14730. /**
  14731. * @private
  14732. */
  14733. function createElementBlock(type, props, children, patchFlag, dynamicProps, shapeFlag) {
  14734. return setupBlock(createBaseVNode(type, props, children, patchFlag, dynamicProps, shapeFlag, true /* isBlock */));
  14735. }
  14736. /**
  14737. * Create a block root vnode. Takes the same exact arguments as `createVNode`.
  14738. * A block root keeps track of dynamic nodes within the block in the
  14739. * `dynamicChildren` array.
  14740. *
  14741. * @private
  14742. */
  14743. function createBlock(type, props, children, patchFlag, dynamicProps) {
  14744. return setupBlock(createVNode(type, props, children, patchFlag, dynamicProps, true /* isBlock: prevent a block from tracking itself */));
  14745. }
  14746. function isVNode(value) {
  14747. return value ? value.__v_isVNode === true : false;
  14748. }
  14749. function isSameVNodeType(n1, n2) {
  14750. if (( true) &&
  14751. n2.shapeFlag & 6 /* COMPONENT */ &&
  14752. hmrDirtyComponents.has(n2.type)) {
  14753. // HMR only: if the component has been hot-updated, force a reload.
  14754. return false;
  14755. }
  14756. return n1.type === n2.type && n1.key === n2.key;
  14757. }
  14758. let vnodeArgsTransformer;
  14759. /**
  14760. * Internal API for registering an arguments transform for createVNode
  14761. * used for creating stubs in the test-utils
  14762. * It is *internal* but needs to be exposed for test-utils to pick up proper
  14763. * typings
  14764. */
  14765. function transformVNodeArgs(transformer) {
  14766. vnodeArgsTransformer = transformer;
  14767. }
  14768. const createVNodeWithArgsTransform = (...args) => {
  14769. return _createVNode(...(vnodeArgsTransformer
  14770. ? vnodeArgsTransformer(args, currentRenderingInstance)
  14771. : args));
  14772. };
  14773. const InternalObjectKey = `__vInternal`;
  14774. const normalizeKey = ({ key }) => key != null ? key : null;
  14775. const normalizeRef = ({ ref, ref_key, ref_for }) => {
  14776. return (ref != null
  14777. ? (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(ref) || (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef)(ref) || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(ref)
  14778. ? { i: currentRenderingInstance, r: ref, k: ref_key, f: !!ref_for }
  14779. : ref
  14780. : null);
  14781. };
  14782. function createBaseVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, shapeFlag = type === Fragment ? 0 : 1 /* ELEMENT */, isBlockNode = false, needFullChildrenNormalization = false) {
  14783. const vnode = {
  14784. __v_isVNode: true,
  14785. __v_skip: true,
  14786. type,
  14787. props,
  14788. key: props && normalizeKey(props),
  14789. ref: props && normalizeRef(props),
  14790. scopeId: currentScopeId,
  14791. slotScopeIds: null,
  14792. children,
  14793. component: null,
  14794. suspense: null,
  14795. ssContent: null,
  14796. ssFallback: null,
  14797. dirs: null,
  14798. transition: null,
  14799. el: null,
  14800. anchor: null,
  14801. target: null,
  14802. targetAnchor: null,
  14803. staticCount: 0,
  14804. shapeFlag,
  14805. patchFlag,
  14806. dynamicProps,
  14807. dynamicChildren: null,
  14808. appContext: null
  14809. };
  14810. if (needFullChildrenNormalization) {
  14811. normalizeChildren(vnode, children);
  14812. // normalize suspense children
  14813. if (shapeFlag & 128 /* SUSPENSE */) {
  14814. type.normalize(vnode);
  14815. }
  14816. }
  14817. else if (children) {
  14818. // compiled element vnode - if children is passed, only possible types are
  14819. // string or Array.
  14820. vnode.shapeFlag |= (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(children)
  14821. ? 8 /* TEXT_CHILDREN */
  14822. : 16 /* ARRAY_CHILDREN */;
  14823. }
  14824. // validate key
  14825. if (( true) && vnode.key !== vnode.key) {
  14826. warn(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
  14827. }
  14828. // track vnode for block tree
  14829. if (isBlockTreeEnabled > 0 &&
  14830. // avoid a block node from tracking itself
  14831. !isBlockNode &&
  14832. // has current parent block
  14833. currentBlock &&
  14834. // presence of a patch flag indicates this node needs patching on updates.
  14835. // component nodes also should always be patched, because even if the
  14836. // component doesn't need to update, it needs to persist the instance on to
  14837. // the next vnode so that it can be properly unmounted later.
  14838. (vnode.patchFlag > 0 || shapeFlag & 6 /* COMPONENT */) &&
  14839. // the EVENTS flag is only for hydration and if it is the only flag, the
  14840. // vnode should not be considered dynamic due to handler caching.
  14841. vnode.patchFlag !== 32 /* HYDRATE_EVENTS */) {
  14842. currentBlock.push(vnode);
  14843. }
  14844. return vnode;
  14845. }
  14846. const createVNode = (( true) ? createVNodeWithArgsTransform : 0);
  14847. function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {
  14848. if (!type || type === NULL_DYNAMIC_COMPONENT) {
  14849. if (( true) && !type) {
  14850. warn(`Invalid vnode type when creating vnode: ${type}.`);
  14851. }
  14852. type = Comment;
  14853. }
  14854. if (isVNode(type)) {
  14855. // createVNode receiving an existing vnode. This happens in cases like
  14856. // <component :is="vnode"/>
  14857. // #2078 make sure to merge refs during the clone instead of overwriting it
  14858. const cloned = cloneVNode(type, props, true /* mergeRef: true */);
  14859. if (children) {
  14860. normalizeChildren(cloned, children);
  14861. }
  14862. return cloned;
  14863. }
  14864. // class component normalization.
  14865. if (isClassComponent(type)) {
  14866. type = type.__vccOpts;
  14867. }
  14868. // class & style normalization.
  14869. if (props) {
  14870. // for reactive or proxy objects, we need to clone it to enable mutation.
  14871. props = guardReactiveProps(props);
  14872. let { class: klass, style } = props;
  14873. if (klass && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(klass)) {
  14874. props.class = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.normalizeClass)(klass);
  14875. }
  14876. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(style)) {
  14877. // reactive state objects need to be cloned since they are likely to be
  14878. // mutated
  14879. if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isProxy)(style) && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(style)) {
  14880. style = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)({}, style);
  14881. }
  14882. props.style = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.normalizeStyle)(style);
  14883. }
  14884. }
  14885. // encode the vnode type information into a bitmap
  14886. const shapeFlag = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(type)
  14887. ? 1 /* ELEMENT */
  14888. : isSuspense(type)
  14889. ? 128 /* SUSPENSE */
  14890. : isTeleport(type)
  14891. ? 64 /* TELEPORT */
  14892. : (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(type)
  14893. ? 4 /* STATEFUL_COMPONENT */
  14894. : (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(type)
  14895. ? 2 /* FUNCTIONAL_COMPONENT */
  14896. : 0;
  14897. if (( true) && shapeFlag & 4 /* STATEFUL_COMPONENT */ && (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isProxy)(type)) {
  14898. type = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw)(type);
  14899. warn(`Vue received a Component which was made a reactive object. This can ` +
  14900. `lead to unnecessary performance overhead, and should be avoided by ` +
  14901. `marking the component with \`markRaw\` or using \`shallowRef\` ` +
  14902. `instead of \`ref\`.`, `\nComponent that was made reactive: `, type);
  14903. }
  14904. return createBaseVNode(type, props, children, patchFlag, dynamicProps, shapeFlag, isBlockNode, true);
  14905. }
  14906. function guardReactiveProps(props) {
  14907. if (!props)
  14908. return null;
  14909. return (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isProxy)(props) || InternalObjectKey in props
  14910. ? (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)({}, props)
  14911. : props;
  14912. }
  14913. function cloneVNode(vnode, extraProps, mergeRef = false) {
  14914. // This is intentionally NOT using spread or extend to avoid the runtime
  14915. // key enumeration cost.
  14916. const { props, ref, patchFlag, children } = vnode;
  14917. const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;
  14918. const cloned = {
  14919. __v_isVNode: true,
  14920. __v_skip: true,
  14921. type: vnode.type,
  14922. props: mergedProps,
  14923. key: mergedProps && normalizeKey(mergedProps),
  14924. ref: extraProps && extraProps.ref
  14925. ? // #2078 in the case of <component :is="vnode" ref="extra"/>
  14926. // if the vnode itself already has a ref, cloneVNode will need to merge
  14927. // the refs so the single vnode can be set on multiple refs
  14928. mergeRef && ref
  14929. ? (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(ref)
  14930. ? ref.concat(normalizeRef(extraProps))
  14931. : [ref, normalizeRef(extraProps)]
  14932. : normalizeRef(extraProps)
  14933. : ref,
  14934. scopeId: vnode.scopeId,
  14935. slotScopeIds: vnode.slotScopeIds,
  14936. children: ( true) && patchFlag === -1 /* HOISTED */ && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(children)
  14937. ? children.map(deepCloneVNode)
  14938. : children,
  14939. target: vnode.target,
  14940. targetAnchor: vnode.targetAnchor,
  14941. staticCount: vnode.staticCount,
  14942. shapeFlag: vnode.shapeFlag,
  14943. // if the vnode is cloned with extra props, we can no longer assume its
  14944. // existing patch flag to be reliable and need to add the FULL_PROPS flag.
  14945. // note: preserve flag for fragments since they use the flag for children
  14946. // fast paths only.
  14947. patchFlag: extraProps && vnode.type !== Fragment
  14948. ? patchFlag === -1 // hoisted node
  14949. ? 16 /* FULL_PROPS */
  14950. : patchFlag | 16 /* FULL_PROPS */
  14951. : patchFlag,
  14952. dynamicProps: vnode.dynamicProps,
  14953. dynamicChildren: vnode.dynamicChildren,
  14954. appContext: vnode.appContext,
  14955. dirs: vnode.dirs,
  14956. transition: vnode.transition,
  14957. // These should technically only be non-null on mounted VNodes. However,
  14958. // they *should* be copied for kept-alive vnodes. So we just always copy
  14959. // them since them being non-null during a mount doesn't affect the logic as
  14960. // they will simply be overwritten.
  14961. component: vnode.component,
  14962. suspense: vnode.suspense,
  14963. ssContent: vnode.ssContent && cloneVNode(vnode.ssContent),
  14964. ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback),
  14965. el: vnode.el,
  14966. anchor: vnode.anchor
  14967. };
  14968. return cloned;
  14969. }
  14970. /**
  14971. * Dev only, for HMR of hoisted vnodes reused in v-for
  14972. * https://github.com/vitejs/vite/issues/2022
  14973. */
  14974. function deepCloneVNode(vnode) {
  14975. const cloned = cloneVNode(vnode);
  14976. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(vnode.children)) {
  14977. cloned.children = vnode.children.map(deepCloneVNode);
  14978. }
  14979. return cloned;
  14980. }
  14981. /**
  14982. * @private
  14983. */
  14984. function createTextVNode(text = ' ', flag = 0) {
  14985. return createVNode(Text, null, text, flag);
  14986. }
  14987. /**
  14988. * @private
  14989. */
  14990. function createStaticVNode(content, numberOfNodes) {
  14991. // A static vnode can contain multiple stringified elements, and the number
  14992. // of elements is necessary for hydration.
  14993. const vnode = createVNode(Static, null, content);
  14994. vnode.staticCount = numberOfNodes;
  14995. return vnode;
  14996. }
  14997. /**
  14998. * @private
  14999. */
  15000. function createCommentVNode(text = '',
  15001. // when used as the v-else branch, the comment node must be created as a
  15002. // block to ensure correct updates.
  15003. asBlock = false) {
  15004. return asBlock
  15005. ? (openBlock(), createBlock(Comment, null, text))
  15006. : createVNode(Comment, null, text);
  15007. }
  15008. function normalizeVNode(child) {
  15009. if (child == null || typeof child === 'boolean') {
  15010. // empty placeholder
  15011. return createVNode(Comment);
  15012. }
  15013. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(child)) {
  15014. // fragment
  15015. return createVNode(Fragment, null,
  15016. // #3666, avoid reference pollution when reusing vnode
  15017. child.slice());
  15018. }
  15019. else if (typeof child === 'object') {
  15020. // already vnode, this should be the most common since compiled templates
  15021. // always produce all-vnode children arrays
  15022. return cloneIfMounted(child);
  15023. }
  15024. else {
  15025. // strings and numbers
  15026. return createVNode(Text, null, String(child));
  15027. }
  15028. }
  15029. // optimized normalization for template-compiled render fns
  15030. function cloneIfMounted(child) {
  15031. return child.el === null || child.memo ? child : cloneVNode(child);
  15032. }
  15033. function normalizeChildren(vnode, children) {
  15034. let type = 0;
  15035. const { shapeFlag } = vnode;
  15036. if (children == null) {
  15037. children = null;
  15038. }
  15039. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(children)) {
  15040. type = 16 /* ARRAY_CHILDREN */;
  15041. }
  15042. else if (typeof children === 'object') {
  15043. if (shapeFlag & (1 /* ELEMENT */ | 64 /* TELEPORT */)) {
  15044. // Normalize slot to plain children for plain element and Teleport
  15045. const slot = children.default;
  15046. if (slot) {
  15047. // _c marker is added by withCtx() indicating this is a compiled slot
  15048. slot._c && (slot._d = false);
  15049. normalizeChildren(vnode, slot());
  15050. slot._c && (slot._d = true);
  15051. }
  15052. return;
  15053. }
  15054. else {
  15055. type = 32 /* SLOTS_CHILDREN */;
  15056. const slotFlag = children._;
  15057. if (!slotFlag && !(InternalObjectKey in children)) {
  15058. children._ctx = currentRenderingInstance;
  15059. }
  15060. else if (slotFlag === 3 /* FORWARDED */ && currentRenderingInstance) {
  15061. // a child component receives forwarded slots from the parent.
  15062. // its slot type is determined by its parent's slot type.
  15063. if (currentRenderingInstance.slots._ === 1 /* STABLE */) {
  15064. children._ = 1 /* STABLE */;
  15065. }
  15066. else {
  15067. children._ = 2 /* DYNAMIC */;
  15068. vnode.patchFlag |= 1024 /* DYNAMIC_SLOTS */;
  15069. }
  15070. }
  15071. }
  15072. }
  15073. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(children)) {
  15074. children = { default: children, _ctx: currentRenderingInstance };
  15075. type = 32 /* SLOTS_CHILDREN */;
  15076. }
  15077. else {
  15078. children = String(children);
  15079. // force teleport children to array so it can be moved around
  15080. if (shapeFlag & 64 /* TELEPORT */) {
  15081. type = 16 /* ARRAY_CHILDREN */;
  15082. children = [createTextVNode(children)];
  15083. }
  15084. else {
  15085. type = 8 /* TEXT_CHILDREN */;
  15086. }
  15087. }
  15088. vnode.children = children;
  15089. vnode.shapeFlag |= type;
  15090. }
  15091. function mergeProps(...args) {
  15092. const ret = {};
  15093. for (let i = 0; i < args.length; i++) {
  15094. const toMerge = args[i];
  15095. for (const key in toMerge) {
  15096. if (key === 'class') {
  15097. if (ret.class !== toMerge.class) {
  15098. ret.class = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.normalizeClass)([ret.class, toMerge.class]);
  15099. }
  15100. }
  15101. else if (key === 'style') {
  15102. ret.style = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.normalizeStyle)([ret.style, toMerge.style]);
  15103. }
  15104. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isOn)(key)) {
  15105. const existing = ret[key];
  15106. const incoming = toMerge[key];
  15107. if (incoming &&
  15108. existing !== incoming &&
  15109. !((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(existing) && existing.includes(incoming))) {
  15110. ret[key] = existing
  15111. ? [].concat(existing, incoming)
  15112. : incoming;
  15113. }
  15114. }
  15115. else if (key !== '') {
  15116. ret[key] = toMerge[key];
  15117. }
  15118. }
  15119. }
  15120. return ret;
  15121. }
  15122. function invokeVNodeHook(hook, instance, vnode, prevVNode = null) {
  15123. callWithAsyncErrorHandling(hook, instance, 7 /* VNODE_HOOK */, [
  15124. vnode,
  15125. prevVNode
  15126. ]);
  15127. }
  15128. /**
  15129. * Actual implementation
  15130. */
  15131. function renderList(source, renderItem, cache, index) {
  15132. let ret;
  15133. const cached = (cache && cache[index]);
  15134. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(source) || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(source)) {
  15135. ret = new Array(source.length);
  15136. for (let i = 0, l = source.length; i < l; i++) {
  15137. ret[i] = renderItem(source[i], i, undefined, cached && cached[i]);
  15138. }
  15139. }
  15140. else if (typeof source === 'number') {
  15141. if (( true) && !Number.isInteger(source)) {
  15142. warn(`The v-for range expect an integer value but got ${source}.`);
  15143. return [];
  15144. }
  15145. ret = new Array(source);
  15146. for (let i = 0; i < source; i++) {
  15147. ret[i] = renderItem(i + 1, i, undefined, cached && cached[i]);
  15148. }
  15149. }
  15150. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(source)) {
  15151. if (source[Symbol.iterator]) {
  15152. ret = Array.from(source, (item, i) => renderItem(item, i, undefined, cached && cached[i]));
  15153. }
  15154. else {
  15155. const keys = Object.keys(source);
  15156. ret = new Array(keys.length);
  15157. for (let i = 0, l = keys.length; i < l; i++) {
  15158. const key = keys[i];
  15159. ret[i] = renderItem(source[key], key, i, cached && cached[i]);
  15160. }
  15161. }
  15162. }
  15163. else {
  15164. ret = [];
  15165. }
  15166. if (cache) {
  15167. cache[index] = ret;
  15168. }
  15169. return ret;
  15170. }
  15171. /**
  15172. * Compiler runtime helper for creating dynamic slots object
  15173. * @private
  15174. */
  15175. function createSlots(slots, dynamicSlots) {
  15176. for (let i = 0; i < dynamicSlots.length; i++) {
  15177. const slot = dynamicSlots[i];
  15178. // array of dynamic slot generated by <template v-for="..." #[...]>
  15179. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(slot)) {
  15180. for (let j = 0; j < slot.length; j++) {
  15181. slots[slot[j].name] = slot[j].fn;
  15182. }
  15183. }
  15184. else if (slot) {
  15185. // conditional single slot generated by <template v-if="..." #foo>
  15186. slots[slot.name] = slot.fn;
  15187. }
  15188. }
  15189. return slots;
  15190. }
  15191. /**
  15192. * Compiler runtime helper for rendering `<slot/>`
  15193. * @private
  15194. */
  15195. function renderSlot(slots, name, props = {},
  15196. // this is not a user-facing function, so the fallback is always generated by
  15197. // the compiler and guaranteed to be a function returning an array
  15198. fallback, noSlotted) {
  15199. if (currentRenderingInstance.isCE ||
  15200. (currentRenderingInstance.parent &&
  15201. isAsyncWrapper(currentRenderingInstance.parent) &&
  15202. currentRenderingInstance.parent.isCE)) {
  15203. return createVNode('slot', name === 'default' ? null : { name }, fallback && fallback());
  15204. }
  15205. let slot = slots[name];
  15206. if (( true) && slot && slot.length > 1) {
  15207. warn(`SSR-optimized slot function detected in a non-SSR-optimized render ` +
  15208. `function. You need to mark this component with $dynamic-slots in the ` +
  15209. `parent template.`);
  15210. slot = () => [];
  15211. }
  15212. // a compiled slot disables block tracking by default to avoid manual
  15213. // invocation interfering with template-based block tracking, but in
  15214. // `renderSlot` we can be sure that it's template-based so we can force
  15215. // enable it.
  15216. if (slot && slot._c) {
  15217. slot._d = false;
  15218. }
  15219. openBlock();
  15220. const validSlotContent = slot && ensureValidVNode(slot(props));
  15221. const rendered = createBlock(Fragment, { key: props.key || `_${name}` }, validSlotContent || (fallback ? fallback() : []), validSlotContent && slots._ === 1 /* STABLE */
  15222. ? 64 /* STABLE_FRAGMENT */
  15223. : -2 /* BAIL */);
  15224. if (!noSlotted && rendered.scopeId) {
  15225. rendered.slotScopeIds = [rendered.scopeId + '-s'];
  15226. }
  15227. if (slot && slot._c) {
  15228. slot._d = true;
  15229. }
  15230. return rendered;
  15231. }
  15232. function ensureValidVNode(vnodes) {
  15233. return vnodes.some(child => {
  15234. if (!isVNode(child))
  15235. return true;
  15236. if (child.type === Comment)
  15237. return false;
  15238. if (child.type === Fragment &&
  15239. !ensureValidVNode(child.children))
  15240. return false;
  15241. return true;
  15242. })
  15243. ? vnodes
  15244. : null;
  15245. }
  15246. /**
  15247. * For prefixing keys in v-on="obj" with "on"
  15248. * @private
  15249. */
  15250. function toHandlers(obj) {
  15251. const ret = {};
  15252. if (( true) && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(obj)) {
  15253. warn(`v-on with no argument expects an object value.`);
  15254. return ret;
  15255. }
  15256. for (const key in obj) {
  15257. ret[(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toHandlerKey)(key)] = obj[key];
  15258. }
  15259. return ret;
  15260. }
  15261. /**
  15262. * #2437 In Vue 3, functional components do not have a public instance proxy but
  15263. * they exist in the internal parent chain. For code that relies on traversing
  15264. * public $parent chains, skip functional ones and go to the parent instead.
  15265. */
  15266. const getPublicInstance = (i) => {
  15267. if (!i)
  15268. return null;
  15269. if (isStatefulComponent(i))
  15270. return getExposeProxy(i) || i.proxy;
  15271. return getPublicInstance(i.parent);
  15272. };
  15273. const publicPropertiesMap =
  15274. // Move PURE marker to new line to workaround compiler discarding it
  15275. // due to type annotation
  15276. /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)(Object.create(null), {
  15277. $: i => i,
  15278. $el: i => i.vnode.el,
  15279. $data: i => i.data,
  15280. $props: i => (( true) ? (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowReadonly)(i.props) : 0),
  15281. $attrs: i => (( true) ? (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowReadonly)(i.attrs) : 0),
  15282. $slots: i => (( true) ? (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowReadonly)(i.slots) : 0),
  15283. $refs: i => (( true) ? (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowReadonly)(i.refs) : 0),
  15284. $parent: i => getPublicInstance(i.parent),
  15285. $root: i => getPublicInstance(i.root),
  15286. $emit: i => i.emit,
  15287. $options: i => ( true ? resolveMergedOptions(i) : 0),
  15288. $forceUpdate: i => () => queueJob(i.update),
  15289. $nextTick: i => nextTick.bind(i.proxy),
  15290. $watch: i => ( true ? instanceWatch.bind(i) : 0)
  15291. });
  15292. const PublicInstanceProxyHandlers = {
  15293. get({ _: instance }, key) {
  15294. const { ctx, setupState, data, props, accessCache, type, appContext } = instance;
  15295. // for internal formatters to know that this is a Vue instance
  15296. if (( true) && key === '__isVue') {
  15297. return true;
  15298. }
  15299. // prioritize <script setup> bindings during dev.
  15300. // this allows even properties that start with _ or $ to be used - so that
  15301. // it aligns with the production behavior where the render fn is inlined and
  15302. // indeed has access to all declared variables.
  15303. if (( true) &&
  15304. setupState !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ &&
  15305. setupState.__isScriptSetup &&
  15306. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(setupState, key)) {
  15307. return setupState[key];
  15308. }
  15309. // data / props / ctx
  15310. // This getter gets called for every property access on the render context
  15311. // during render and is a major hotspot. The most expensive part of this
  15312. // is the multiple hasOwn() calls. It's much faster to do a simple property
  15313. // access on a plain object, so we use an accessCache object (with null
  15314. // prototype) to memoize what access type a key corresponds to.
  15315. let normalizedProps;
  15316. if (key[0] !== '$') {
  15317. const n = accessCache[key];
  15318. if (n !== undefined) {
  15319. switch (n) {
  15320. case 1 /* SETUP */:
  15321. return setupState[key];
  15322. case 2 /* DATA */:
  15323. return data[key];
  15324. case 4 /* CONTEXT */:
  15325. return ctx[key];
  15326. case 3 /* PROPS */:
  15327. return props[key];
  15328. // default: just fallthrough
  15329. }
  15330. }
  15331. else if (setupState !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(setupState, key)) {
  15332. accessCache[key] = 1 /* SETUP */;
  15333. return setupState[key];
  15334. }
  15335. else if (data !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(data, key)) {
  15336. accessCache[key] = 2 /* DATA */;
  15337. return data[key];
  15338. }
  15339. else if (
  15340. // only cache other properties when instance has declared (thus stable)
  15341. // props
  15342. (normalizedProps = instance.propsOptions[0]) &&
  15343. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(normalizedProps, key)) {
  15344. accessCache[key] = 3 /* PROPS */;
  15345. return props[key];
  15346. }
  15347. else if (ctx !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(ctx, key)) {
  15348. accessCache[key] = 4 /* CONTEXT */;
  15349. return ctx[key];
  15350. }
  15351. else if ( false || shouldCacheAccess) {
  15352. accessCache[key] = 0 /* OTHER */;
  15353. }
  15354. }
  15355. const publicGetter = publicPropertiesMap[key];
  15356. let cssModule, globalProperties;
  15357. // public $xxx properties
  15358. if (publicGetter) {
  15359. if (key === '$attrs') {
  15360. (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.track)(instance, "get" /* GET */, key);
  15361. ( true) && markAttrsAccessed();
  15362. }
  15363. return publicGetter(instance);
  15364. }
  15365. else if (
  15366. // css module (injected by vue-loader)
  15367. (cssModule = type.__cssModules) &&
  15368. (cssModule = cssModule[key])) {
  15369. return cssModule;
  15370. }
  15371. else if (ctx !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(ctx, key)) {
  15372. // user may set custom properties to `this` that start with `$`
  15373. accessCache[key] = 4 /* CONTEXT */;
  15374. return ctx[key];
  15375. }
  15376. else if (
  15377. // global properties
  15378. ((globalProperties = appContext.config.globalProperties),
  15379. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(globalProperties, key))) {
  15380. {
  15381. return globalProperties[key];
  15382. }
  15383. }
  15384. else if (( true) &&
  15385. currentRenderingInstance &&
  15386. (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(key) ||
  15387. // #1091 avoid internal isRef/isVNode checks on component instance leading
  15388. // to infinite warning loop
  15389. key.indexOf('__v') !== 0)) {
  15390. if (data !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ &&
  15391. (key[0] === '$' || key[0] === '_') &&
  15392. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(data, key)) {
  15393. warn(`Property ${JSON.stringify(key)} must be accessed via $data because it starts with a reserved ` +
  15394. `character ("$" or "_") and is not proxied on the render context.`);
  15395. }
  15396. else if (instance === currentRenderingInstance) {
  15397. warn(`Property ${JSON.stringify(key)} was accessed during render ` +
  15398. `but is not defined on instance.`);
  15399. }
  15400. }
  15401. },
  15402. set({ _: instance }, key, value) {
  15403. const { data, setupState, ctx } = instance;
  15404. if (setupState !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(setupState, key)) {
  15405. setupState[key] = value;
  15406. return true;
  15407. }
  15408. else if (data !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(data, key)) {
  15409. data[key] = value;
  15410. return true;
  15411. }
  15412. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(instance.props, key)) {
  15413. ( true) &&
  15414. warn(`Attempting to mutate prop "${key}". Props are readonly.`, instance);
  15415. return false;
  15416. }
  15417. if (key[0] === '$' && key.slice(1) in instance) {
  15418. ( true) &&
  15419. warn(`Attempting to mutate public property "${key}". ` +
  15420. `Properties starting with $ are reserved and readonly.`, instance);
  15421. return false;
  15422. }
  15423. else {
  15424. if (( true) && key in instance.appContext.config.globalProperties) {
  15425. Object.defineProperty(ctx, key, {
  15426. enumerable: true,
  15427. configurable: true,
  15428. value
  15429. });
  15430. }
  15431. else {
  15432. ctx[key] = value;
  15433. }
  15434. }
  15435. return true;
  15436. },
  15437. has({ _: { data, setupState, accessCache, ctx, appContext, propsOptions } }, key) {
  15438. let normalizedProps;
  15439. return (!!accessCache[key] ||
  15440. (data !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(data, key)) ||
  15441. (setupState !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(setupState, key)) ||
  15442. ((normalizedProps = propsOptions[0]) && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(normalizedProps, key)) ||
  15443. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(ctx, key) ||
  15444. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(publicPropertiesMap, key) ||
  15445. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(appContext.config.globalProperties, key));
  15446. },
  15447. defineProperty(target, key, descriptor) {
  15448. if (descriptor.get != null) {
  15449. // invalidate key cache of a getter based property #5417
  15450. target._.accessCache[key] = 0;
  15451. }
  15452. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hasOwn)(descriptor, 'value')) {
  15453. this.set(target, key, descriptor.value, null);
  15454. }
  15455. return Reflect.defineProperty(target, key, descriptor);
  15456. }
  15457. };
  15458. if (true) {
  15459. PublicInstanceProxyHandlers.ownKeys = (target) => {
  15460. warn(`Avoid app logic that relies on enumerating keys on a component instance. ` +
  15461. `The keys will be empty in production mode to avoid performance overhead.`);
  15462. return Reflect.ownKeys(target);
  15463. };
  15464. }
  15465. const RuntimeCompiledPublicInstanceProxyHandlers = /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)({}, PublicInstanceProxyHandlers, {
  15466. get(target, key) {
  15467. // fast path for unscopables when using `with` block
  15468. if (key === Symbol.unscopables) {
  15469. return;
  15470. }
  15471. return PublicInstanceProxyHandlers.get(target, key, target);
  15472. },
  15473. has(_, key) {
  15474. const has = key[0] !== '_' && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isGloballyWhitelisted)(key);
  15475. if (( true) && !has && PublicInstanceProxyHandlers.has(_, key)) {
  15476. warn(`Property ${JSON.stringify(key)} should not start with _ which is a reserved prefix for Vue internals.`);
  15477. }
  15478. return has;
  15479. }
  15480. });
  15481. // dev only
  15482. // In dev mode, the proxy target exposes the same properties as seen on `this`
  15483. // for easier console inspection. In prod mode it will be an empty object so
  15484. // these properties definitions can be skipped.
  15485. function createDevRenderContext(instance) {
  15486. const target = {};
  15487. // expose internal instance for proxy handlers
  15488. Object.defineProperty(target, `_`, {
  15489. configurable: true,
  15490. enumerable: false,
  15491. get: () => instance
  15492. });
  15493. // expose public properties
  15494. Object.keys(publicPropertiesMap).forEach(key => {
  15495. Object.defineProperty(target, key, {
  15496. configurable: true,
  15497. enumerable: false,
  15498. get: () => publicPropertiesMap[key](instance),
  15499. // intercepted by the proxy so no need for implementation,
  15500. // but needed to prevent set errors
  15501. set: _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP
  15502. });
  15503. });
  15504. return target;
  15505. }
  15506. // dev only
  15507. function exposePropsOnRenderContext(instance) {
  15508. const { ctx, propsOptions: [propsOptions] } = instance;
  15509. if (propsOptions) {
  15510. Object.keys(propsOptions).forEach(key => {
  15511. Object.defineProperty(ctx, key, {
  15512. enumerable: true,
  15513. configurable: true,
  15514. get: () => instance.props[key],
  15515. set: _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP
  15516. });
  15517. });
  15518. }
  15519. }
  15520. // dev only
  15521. function exposeSetupStateOnRenderContext(instance) {
  15522. const { ctx, setupState } = instance;
  15523. Object.keys((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw)(setupState)).forEach(key => {
  15524. if (!setupState.__isScriptSetup) {
  15525. if (key[0] === '$' || key[0] === '_') {
  15526. warn(`setup() return property ${JSON.stringify(key)} should not start with "$" or "_" ` +
  15527. `which are reserved prefixes for Vue internals.`);
  15528. return;
  15529. }
  15530. Object.defineProperty(ctx, key, {
  15531. enumerable: true,
  15532. configurable: true,
  15533. get: () => setupState[key],
  15534. set: _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP
  15535. });
  15536. }
  15537. });
  15538. }
  15539. const emptyAppContext = createAppContext();
  15540. let uid$1 = 0;
  15541. function createComponentInstance(vnode, parent, suspense) {
  15542. const type = vnode.type;
  15543. // inherit parent app context - or - if root, adopt from root vnode
  15544. const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;
  15545. const instance = {
  15546. uid: uid$1++,
  15547. vnode,
  15548. type,
  15549. parent,
  15550. appContext,
  15551. root: null,
  15552. next: null,
  15553. subTree: null,
  15554. effect: null,
  15555. update: null,
  15556. scope: new _vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.EffectScope(true /* detached */),
  15557. render: null,
  15558. proxy: null,
  15559. exposed: null,
  15560. exposeProxy: null,
  15561. withProxy: null,
  15562. provides: parent ? parent.provides : Object.create(appContext.provides),
  15563. accessCache: null,
  15564. renderCache: [],
  15565. // local resovled assets
  15566. components: null,
  15567. directives: null,
  15568. // resolved props and emits options
  15569. propsOptions: normalizePropsOptions(type, appContext),
  15570. emitsOptions: normalizeEmitsOptions(type, appContext),
  15571. // emit
  15572. emit: null,
  15573. emitted: null,
  15574. // props default value
  15575. propsDefaults: _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ,
  15576. // inheritAttrs
  15577. inheritAttrs: type.inheritAttrs,
  15578. // state
  15579. ctx: _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ,
  15580. data: _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ,
  15581. props: _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ,
  15582. attrs: _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ,
  15583. slots: _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ,
  15584. refs: _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ,
  15585. setupState: _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ,
  15586. setupContext: null,
  15587. // suspense related
  15588. suspense,
  15589. suspenseId: suspense ? suspense.pendingId : 0,
  15590. asyncDep: null,
  15591. asyncResolved: false,
  15592. // lifecycle hooks
  15593. // not using enums here because it results in computed properties
  15594. isMounted: false,
  15595. isUnmounted: false,
  15596. isDeactivated: false,
  15597. bc: null,
  15598. c: null,
  15599. bm: null,
  15600. m: null,
  15601. bu: null,
  15602. u: null,
  15603. um: null,
  15604. bum: null,
  15605. da: null,
  15606. a: null,
  15607. rtg: null,
  15608. rtc: null,
  15609. ec: null,
  15610. sp: null
  15611. };
  15612. if ((true)) {
  15613. instance.ctx = createDevRenderContext(instance);
  15614. }
  15615. else {}
  15616. instance.root = parent ? parent.root : instance;
  15617. instance.emit = emit$1.bind(null, instance);
  15618. // apply custom element special handling
  15619. if (vnode.ce) {
  15620. vnode.ce(instance);
  15621. }
  15622. return instance;
  15623. }
  15624. let currentInstance = null;
  15625. const getCurrentInstance = () => currentInstance || currentRenderingInstance;
  15626. const setCurrentInstance = (instance) => {
  15627. currentInstance = instance;
  15628. instance.scope.on();
  15629. };
  15630. const unsetCurrentInstance = () => {
  15631. currentInstance && currentInstance.scope.off();
  15632. currentInstance = null;
  15633. };
  15634. const isBuiltInTag = /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.makeMap)('slot,component');
  15635. function validateComponentName(name, config) {
  15636. const appIsNativeTag = config.isNativeTag || _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NO;
  15637. if (isBuiltInTag(name) || appIsNativeTag(name)) {
  15638. warn('Do not use built-in or reserved HTML elements as component id: ' + name);
  15639. }
  15640. }
  15641. function isStatefulComponent(instance) {
  15642. return instance.vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */;
  15643. }
  15644. let isInSSRComponentSetup = false;
  15645. function setupComponent(instance, isSSR = false) {
  15646. isInSSRComponentSetup = isSSR;
  15647. const { props, children } = instance.vnode;
  15648. const isStateful = isStatefulComponent(instance);
  15649. initProps(instance, props, isStateful, isSSR);
  15650. initSlots(instance, children);
  15651. const setupResult = isStateful
  15652. ? setupStatefulComponent(instance, isSSR)
  15653. : undefined;
  15654. isInSSRComponentSetup = false;
  15655. return setupResult;
  15656. }
  15657. function setupStatefulComponent(instance, isSSR) {
  15658. var _a;
  15659. const Component = instance.type;
  15660. if ((true)) {
  15661. if (Component.name) {
  15662. validateComponentName(Component.name, instance.appContext.config);
  15663. }
  15664. if (Component.components) {
  15665. const names = Object.keys(Component.components);
  15666. for (let i = 0; i < names.length; i++) {
  15667. validateComponentName(names[i], instance.appContext.config);
  15668. }
  15669. }
  15670. if (Component.directives) {
  15671. const names = Object.keys(Component.directives);
  15672. for (let i = 0; i < names.length; i++) {
  15673. validateDirectiveName(names[i]);
  15674. }
  15675. }
  15676. if (Component.compilerOptions && isRuntimeOnly()) {
  15677. warn(`"compilerOptions" is only supported when using a build of Vue that ` +
  15678. `includes the runtime compiler. Since you are using a runtime-only ` +
  15679. `build, the options should be passed via your build tool config instead.`);
  15680. }
  15681. }
  15682. // 0. create render proxy property access cache
  15683. instance.accessCache = Object.create(null);
  15684. // 1. create public instance / render proxy
  15685. // also mark it raw so it's never observed
  15686. instance.proxy = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.markRaw)(new Proxy(instance.ctx, PublicInstanceProxyHandlers));
  15687. if ((true)) {
  15688. exposePropsOnRenderContext(instance);
  15689. }
  15690. // 2. call setup()
  15691. const { setup } = Component;
  15692. if (setup) {
  15693. const setupContext = (instance.setupContext =
  15694. setup.length > 1 ? createSetupContext(instance) : null);
  15695. setCurrentInstance(instance);
  15696. (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.pauseTracking)();
  15697. const setupResult = callWithErrorHandling(setup, instance, 0 /* SETUP_FUNCTION */, [( true) ? (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowReadonly)(instance.props) : 0, setupContext]);
  15698. (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.resetTracking)();
  15699. unsetCurrentInstance();
  15700. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isPromise)(setupResult)) {
  15701. setupResult.then(unsetCurrentInstance, unsetCurrentInstance);
  15702. if (isSSR) {
  15703. // return the promise so server-renderer can wait on it
  15704. return setupResult
  15705. .then((resolvedResult) => {
  15706. handleSetupResult(instance, resolvedResult, isSSR);
  15707. })
  15708. .catch(e => {
  15709. handleError(e, instance, 0 /* SETUP_FUNCTION */);
  15710. });
  15711. }
  15712. else {
  15713. // async setup returned Promise.
  15714. // bail here and wait for re-entry.
  15715. instance.asyncDep = setupResult;
  15716. if (( true) && !instance.suspense) {
  15717. const name = (_a = Component.name) !== null && _a !== void 0 ? _a : 'Anonymous';
  15718. warn(`Component <${name}>: setup function returned a promise, but no ` +
  15719. `<Suspense> boundary was found in the parent component tree. ` +
  15720. `A component with async setup() must be nested in a <Suspense> ` +
  15721. `in order to be rendered.`);
  15722. }
  15723. }
  15724. }
  15725. else {
  15726. handleSetupResult(instance, setupResult, isSSR);
  15727. }
  15728. }
  15729. else {
  15730. finishComponentSetup(instance, isSSR);
  15731. }
  15732. }
  15733. function handleSetupResult(instance, setupResult, isSSR) {
  15734. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(setupResult)) {
  15735. // setup returned an inline render function
  15736. if (instance.type.__ssrInlineRender) {
  15737. // when the function's name is `ssrRender` (compiled by SFC inline mode),
  15738. // set it as ssrRender instead.
  15739. instance.ssrRender = setupResult;
  15740. }
  15741. else {
  15742. instance.render = setupResult;
  15743. }
  15744. }
  15745. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(setupResult)) {
  15746. if (( true) && isVNode(setupResult)) {
  15747. warn(`setup() should not return VNodes directly - ` +
  15748. `return a render function instead.`);
  15749. }
  15750. // setup returned bindings.
  15751. // assuming a render function compiled from template is present.
  15752. if (true) {
  15753. instance.devtoolsRawSetupState = setupResult;
  15754. }
  15755. instance.setupState = (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.proxyRefs)(setupResult);
  15756. if ((true)) {
  15757. exposeSetupStateOnRenderContext(instance);
  15758. }
  15759. }
  15760. else if (( true) && setupResult !== undefined) {
  15761. warn(`setup() should return an object. Received: ${setupResult === null ? 'null' : typeof setupResult}`);
  15762. }
  15763. finishComponentSetup(instance, isSSR);
  15764. }
  15765. let compile;
  15766. let installWithProxy;
  15767. /**
  15768. * For runtime-dom to register the compiler.
  15769. * Note the exported method uses any to avoid d.ts relying on the compiler types.
  15770. */
  15771. function registerRuntimeCompiler(_compile) {
  15772. compile = _compile;
  15773. installWithProxy = i => {
  15774. if (i.render._rc) {
  15775. i.withProxy = new Proxy(i.ctx, RuntimeCompiledPublicInstanceProxyHandlers);
  15776. }
  15777. };
  15778. }
  15779. // dev only
  15780. const isRuntimeOnly = () => !compile;
  15781. function finishComponentSetup(instance, isSSR, skipOptions) {
  15782. const Component = instance.type;
  15783. // template / render function normalization
  15784. // could be already set when returned from setup()
  15785. if (!instance.render) {
  15786. // only do on-the-fly compile if not in SSR - SSR on-the-fly compilation
  15787. // is done by server-renderer
  15788. if (!isSSR && compile && !Component.render) {
  15789. const template = Component.template;
  15790. if (template) {
  15791. if ((true)) {
  15792. startMeasure(instance, `compile`);
  15793. }
  15794. const { isCustomElement, compilerOptions } = instance.appContext.config;
  15795. const { delimiters, compilerOptions: componentCompilerOptions } = Component;
  15796. const finalCompilerOptions = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)({
  15797. isCustomElement,
  15798. delimiters
  15799. }, compilerOptions), componentCompilerOptions);
  15800. Component.render = compile(template, finalCompilerOptions);
  15801. if ((true)) {
  15802. endMeasure(instance, `compile`);
  15803. }
  15804. }
  15805. }
  15806. instance.render = (Component.render || _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP);
  15807. // for runtime-compiled render functions using `with` blocks, the render
  15808. // proxy used needs a different `has` handler which is more performant and
  15809. // also only allows a whitelist of globals to fallthrough.
  15810. if (installWithProxy) {
  15811. installWithProxy(instance);
  15812. }
  15813. }
  15814. // support for 2.x options
  15815. if (true) {
  15816. setCurrentInstance(instance);
  15817. (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.pauseTracking)();
  15818. applyOptions(instance);
  15819. (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.resetTracking)();
  15820. unsetCurrentInstance();
  15821. }
  15822. // warn missing template/render
  15823. // the runtime compilation of template in SSR is done by server-render
  15824. if (( true) && !Component.render && instance.render === _vue_shared__WEBPACK_IMPORTED_MODULE_1__.NOOP && !isSSR) {
  15825. /* istanbul ignore if */
  15826. if (!compile && Component.template) {
  15827. warn(`Component provided template option but ` +
  15828. `runtime compilation is not supported in this build of Vue.` +
  15829. (` Configure your bundler to alias "vue" to "vue/dist/vue.esm-bundler.js".`
  15830. ) /* should not happen */);
  15831. }
  15832. else {
  15833. warn(`Component is missing template or render function.`);
  15834. }
  15835. }
  15836. }
  15837. function createAttrsProxy(instance) {
  15838. return new Proxy(instance.attrs, ( true)
  15839. ? {
  15840. get(target, key) {
  15841. markAttrsAccessed();
  15842. (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.track)(instance, "get" /* GET */, '$attrs');
  15843. return target[key];
  15844. },
  15845. set() {
  15846. warn(`setupContext.attrs is readonly.`);
  15847. return false;
  15848. },
  15849. deleteProperty() {
  15850. warn(`setupContext.attrs is readonly.`);
  15851. return false;
  15852. }
  15853. }
  15854. : 0);
  15855. }
  15856. function createSetupContext(instance) {
  15857. const expose = exposed => {
  15858. if (( true) && instance.exposed) {
  15859. warn(`expose() should be called only once per setup().`);
  15860. }
  15861. instance.exposed = exposed || {};
  15862. };
  15863. let attrs;
  15864. if ((true)) {
  15865. // We use getters in dev in case libs like test-utils overwrite instance
  15866. // properties (overwrites should not be done in prod)
  15867. return Object.freeze({
  15868. get attrs() {
  15869. return attrs || (attrs = createAttrsProxy(instance));
  15870. },
  15871. get slots() {
  15872. return (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.shallowReadonly)(instance.slots);
  15873. },
  15874. get emit() {
  15875. return (event, ...args) => instance.emit(event, ...args);
  15876. },
  15877. expose
  15878. });
  15879. }
  15880. else {}
  15881. }
  15882. function getExposeProxy(instance) {
  15883. if (instance.exposed) {
  15884. return (instance.exposeProxy ||
  15885. (instance.exposeProxy = new Proxy((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.proxyRefs)((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.markRaw)(instance.exposed)), {
  15886. get(target, key) {
  15887. if (key in target) {
  15888. return target[key];
  15889. }
  15890. else if (key in publicPropertiesMap) {
  15891. return publicPropertiesMap[key](instance);
  15892. }
  15893. }
  15894. })));
  15895. }
  15896. }
  15897. const classifyRE = /(?:^|[-_])(\w)/g;
  15898. const classify = (str) => str.replace(classifyRE, c => c.toUpperCase()).replace(/[-_]/g, '');
  15899. function getComponentName(Component) {
  15900. return (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(Component)
  15901. ? Component.displayName || Component.name
  15902. : Component.name;
  15903. }
  15904. /* istanbul ignore next */
  15905. function formatComponentName(instance, Component, isRoot = false) {
  15906. let name = getComponentName(Component);
  15907. if (!name && Component.__file) {
  15908. const match = Component.__file.match(/([^/\\]+)\.\w+$/);
  15909. if (match) {
  15910. name = match[1];
  15911. }
  15912. }
  15913. if (!name && instance && instance.parent) {
  15914. // try to infer the name based on reverse resolution
  15915. const inferFromRegistry = (registry) => {
  15916. for (const key in registry) {
  15917. if (registry[key] === Component) {
  15918. return key;
  15919. }
  15920. }
  15921. };
  15922. name =
  15923. inferFromRegistry(instance.components ||
  15924. instance.parent.type.components) || inferFromRegistry(instance.appContext.components);
  15925. }
  15926. return name ? classify(name) : isRoot ? `App` : `Anonymous`;
  15927. }
  15928. function isClassComponent(value) {
  15929. return (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(value) && '__vccOpts' in value;
  15930. }
  15931. const computed = ((getterOrOptions, debugOptions) => {
  15932. // @ts-ignore
  15933. return (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.computed)(getterOrOptions, debugOptions, isInSSRComponentSetup);
  15934. });
  15935. // dev only
  15936. const warnRuntimeUsage = (method) => warn(`${method}() is a compiler-hint helper that is only usable inside ` +
  15937. `<script setup> of a single file component. Its arguments should be ` +
  15938. `compiled away and passing it at runtime has no effect.`);
  15939. // implementation
  15940. function defineProps() {
  15941. if ((true)) {
  15942. warnRuntimeUsage(`defineProps`);
  15943. }
  15944. return null;
  15945. }
  15946. // implementation
  15947. function defineEmits() {
  15948. if ((true)) {
  15949. warnRuntimeUsage(`defineEmits`);
  15950. }
  15951. return null;
  15952. }
  15953. /**
  15954. * Vue `<script setup>` compiler macro for declaring a component's exposed
  15955. * instance properties when it is accessed by a parent component via template
  15956. * refs.
  15957. *
  15958. * `<script setup>` components are closed by default - i.e. variables inside
  15959. * the `<script setup>` scope is not exposed to parent unless explicitly exposed
  15960. * via `defineExpose`.
  15961. *
  15962. * This is only usable inside `<script setup>`, is compiled away in the
  15963. * output and should **not** be actually called at runtime.
  15964. */
  15965. function defineExpose(exposed) {
  15966. if ((true)) {
  15967. warnRuntimeUsage(`defineExpose`);
  15968. }
  15969. }
  15970. /**
  15971. * Vue `<script setup>` compiler macro for providing props default values when
  15972. * using type-based `defineProps` declaration.
  15973. *
  15974. * Example usage:
  15975. * ```ts
  15976. * withDefaults(defineProps<{
  15977. * size?: number
  15978. * labels?: string[]
  15979. * }>(), {
  15980. * size: 3,
  15981. * labels: () => ['default label']
  15982. * })
  15983. * ```
  15984. *
  15985. * This is only usable inside `<script setup>`, is compiled away in the output
  15986. * and should **not** be actually called at runtime.
  15987. */
  15988. function withDefaults(props, defaults) {
  15989. if ((true)) {
  15990. warnRuntimeUsage(`withDefaults`);
  15991. }
  15992. return null;
  15993. }
  15994. function useSlots() {
  15995. return getContext().slots;
  15996. }
  15997. function useAttrs() {
  15998. return getContext().attrs;
  15999. }
  16000. function getContext() {
  16001. const i = getCurrentInstance();
  16002. if (( true) && !i) {
  16003. warn(`useContext() called without active instance.`);
  16004. }
  16005. return i.setupContext || (i.setupContext = createSetupContext(i));
  16006. }
  16007. /**
  16008. * Runtime helper for merging default declarations. Imported by compiled code
  16009. * only.
  16010. * @internal
  16011. */
  16012. function mergeDefaults(raw, defaults) {
  16013. const props = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(raw)
  16014. ? raw.reduce((normalized, p) => ((normalized[p] = {}), normalized), {})
  16015. : raw;
  16016. for (const key in defaults) {
  16017. const opt = props[key];
  16018. if (opt) {
  16019. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(opt) || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(opt)) {
  16020. props[key] = { type: opt, default: defaults[key] };
  16021. }
  16022. else {
  16023. opt.default = defaults[key];
  16024. }
  16025. }
  16026. else if (opt === null) {
  16027. props[key] = { default: defaults[key] };
  16028. }
  16029. else if ((true)) {
  16030. warn(`props default key "${key}" has no corresponding declaration.`);
  16031. }
  16032. }
  16033. return props;
  16034. }
  16035. /**
  16036. * Used to create a proxy for the rest element when destructuring props with
  16037. * defineProps().
  16038. * @internal
  16039. */
  16040. function createPropsRestProxy(props, excludedKeys) {
  16041. const ret = {};
  16042. for (const key in props) {
  16043. if (!excludedKeys.includes(key)) {
  16044. Object.defineProperty(ret, key, {
  16045. enumerable: true,
  16046. get: () => props[key]
  16047. });
  16048. }
  16049. }
  16050. return ret;
  16051. }
  16052. /**
  16053. * `<script setup>` helper for persisting the current instance context over
  16054. * async/await flows.
  16055. *
  16056. * `@vue/compiler-sfc` converts the following:
  16057. *
  16058. * ```ts
  16059. * const x = await foo()
  16060. * ```
  16061. *
  16062. * into:
  16063. *
  16064. * ```ts
  16065. * let __temp, __restore
  16066. * const x = (([__temp, __restore] = withAsyncContext(() => foo())),__temp=await __temp,__restore(),__temp)
  16067. * ```
  16068. * @internal
  16069. */
  16070. function withAsyncContext(getAwaitable) {
  16071. const ctx = getCurrentInstance();
  16072. if (( true) && !ctx) {
  16073. warn(`withAsyncContext called without active current instance. ` +
  16074. `This is likely a bug.`);
  16075. }
  16076. let awaitable = getAwaitable();
  16077. unsetCurrentInstance();
  16078. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isPromise)(awaitable)) {
  16079. awaitable = awaitable.catch(e => {
  16080. setCurrentInstance(ctx);
  16081. throw e;
  16082. });
  16083. }
  16084. return [awaitable, () => setCurrentInstance(ctx)];
  16085. }
  16086. // Actual implementation
  16087. function h(type, propsOrChildren, children) {
  16088. const l = arguments.length;
  16089. if (l === 2) {
  16090. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(propsOrChildren) && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(propsOrChildren)) {
  16091. // single vnode without props
  16092. if (isVNode(propsOrChildren)) {
  16093. return createVNode(type, null, [propsOrChildren]);
  16094. }
  16095. // props without children
  16096. return createVNode(type, propsOrChildren);
  16097. }
  16098. else {
  16099. // omit props
  16100. return createVNode(type, null, propsOrChildren);
  16101. }
  16102. }
  16103. else {
  16104. if (l > 3) {
  16105. children = Array.prototype.slice.call(arguments, 2);
  16106. }
  16107. else if (l === 3 && isVNode(children)) {
  16108. children = [children];
  16109. }
  16110. return createVNode(type, propsOrChildren, children);
  16111. }
  16112. }
  16113. const ssrContextKey = Symbol(( true) ? `ssrContext` : 0);
  16114. const useSSRContext = () => {
  16115. {
  16116. const ctx = inject(ssrContextKey);
  16117. if (!ctx) {
  16118. warn(`Server rendering context not provided. Make sure to only call ` +
  16119. `useSSRContext() conditionally in the server build.`);
  16120. }
  16121. return ctx;
  16122. }
  16123. };
  16124. function isShallow(value) {
  16125. return !!(value && value["__v_isShallow" /* IS_SHALLOW */]);
  16126. }
  16127. function initCustomFormatter() {
  16128. /* eslint-disable no-restricted-globals */
  16129. if ( false || typeof window === 'undefined') {
  16130. return;
  16131. }
  16132. const vueStyle = { style: 'color:#3ba776' };
  16133. const numberStyle = { style: 'color:#0b1bc9' };
  16134. const stringStyle = { style: 'color:#b62e24' };
  16135. const keywordStyle = { style: 'color:#9d288c' };
  16136. // custom formatter for Chrome
  16137. // https://www.mattzeunert.com/2016/02/19/custom-chrome-devtools-object-formatters.html
  16138. const formatter = {
  16139. header(obj) {
  16140. // TODO also format ComponentPublicInstance & ctx.slots/attrs in setup
  16141. if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(obj)) {
  16142. return null;
  16143. }
  16144. if (obj.__isVue) {
  16145. return ['div', vueStyle, `VueInstance`];
  16146. }
  16147. else if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isRef)(obj)) {
  16148. return [
  16149. 'div',
  16150. {},
  16151. ['span', vueStyle, genRefFlag(obj)],
  16152. '<',
  16153. formatValue(obj.value),
  16154. `>`
  16155. ];
  16156. }
  16157. else if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isReactive)(obj)) {
  16158. return [
  16159. 'div',
  16160. {},
  16161. ['span', vueStyle, isShallow(obj) ? 'ShallowReactive' : 'Reactive'],
  16162. '<',
  16163. formatValue(obj),
  16164. `>${(0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isReadonly)(obj) ? ` (readonly)` : ``}`
  16165. ];
  16166. }
  16167. else if ((0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.isReadonly)(obj)) {
  16168. return [
  16169. 'div',
  16170. {},
  16171. ['span', vueStyle, isShallow(obj) ? 'ShallowReadonly' : 'Readonly'],
  16172. '<',
  16173. formatValue(obj),
  16174. '>'
  16175. ];
  16176. }
  16177. return null;
  16178. },
  16179. hasBody(obj) {
  16180. return obj && obj.__isVue;
  16181. },
  16182. body(obj) {
  16183. if (obj && obj.__isVue) {
  16184. return [
  16185. 'div',
  16186. {},
  16187. ...formatInstance(obj.$)
  16188. ];
  16189. }
  16190. }
  16191. };
  16192. function formatInstance(instance) {
  16193. const blocks = [];
  16194. if (instance.type.props && instance.props) {
  16195. blocks.push(createInstanceBlock('props', (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw)(instance.props)));
  16196. }
  16197. if (instance.setupState !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ) {
  16198. blocks.push(createInstanceBlock('setup', instance.setupState));
  16199. }
  16200. if (instance.data !== _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ) {
  16201. blocks.push(createInstanceBlock('data', (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw)(instance.data)));
  16202. }
  16203. const computed = extractKeys(instance, 'computed');
  16204. if (computed) {
  16205. blocks.push(createInstanceBlock('computed', computed));
  16206. }
  16207. const injected = extractKeys(instance, 'inject');
  16208. if (injected) {
  16209. blocks.push(createInstanceBlock('injected', injected));
  16210. }
  16211. blocks.push([
  16212. 'div',
  16213. {},
  16214. [
  16215. 'span',
  16216. {
  16217. style: keywordStyle.style + ';opacity:0.66'
  16218. },
  16219. '$ (internal): '
  16220. ],
  16221. ['object', { object: instance }]
  16222. ]);
  16223. return blocks;
  16224. }
  16225. function createInstanceBlock(type, target) {
  16226. target = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)({}, target);
  16227. if (!Object.keys(target).length) {
  16228. return ['span', {}];
  16229. }
  16230. return [
  16231. 'div',
  16232. { style: 'line-height:1.25em;margin-bottom:0.6em' },
  16233. [
  16234. 'div',
  16235. {
  16236. style: 'color:#476582'
  16237. },
  16238. type
  16239. ],
  16240. [
  16241. 'div',
  16242. {
  16243. style: 'padding-left:1.25em'
  16244. },
  16245. ...Object.keys(target).map(key => {
  16246. return [
  16247. 'div',
  16248. {},
  16249. ['span', keywordStyle, key + ': '],
  16250. formatValue(target[key], false)
  16251. ];
  16252. })
  16253. ]
  16254. ];
  16255. }
  16256. function formatValue(v, asRaw = true) {
  16257. if (typeof v === 'number') {
  16258. return ['span', numberStyle, v];
  16259. }
  16260. else if (typeof v === 'string') {
  16261. return ['span', stringStyle, JSON.stringify(v)];
  16262. }
  16263. else if (typeof v === 'boolean') {
  16264. return ['span', keywordStyle, v];
  16265. }
  16266. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(v)) {
  16267. return ['object', { object: asRaw ? (0,_vue_reactivity__WEBPACK_IMPORTED_MODULE_0__.toRaw)(v) : v }];
  16268. }
  16269. else {
  16270. return ['span', stringStyle, String(v)];
  16271. }
  16272. }
  16273. function extractKeys(instance, type) {
  16274. const Comp = instance.type;
  16275. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(Comp)) {
  16276. return;
  16277. }
  16278. const extracted = {};
  16279. for (const key in instance.ctx) {
  16280. if (isKeyOfType(Comp, key, type)) {
  16281. extracted[key] = instance.ctx[key];
  16282. }
  16283. }
  16284. return extracted;
  16285. }
  16286. function isKeyOfType(Comp, key, type) {
  16287. const opts = Comp[type];
  16288. if (((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(opts) && opts.includes(key)) ||
  16289. ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(opts) && key in opts)) {
  16290. return true;
  16291. }
  16292. if (Comp.extends && isKeyOfType(Comp.extends, key, type)) {
  16293. return true;
  16294. }
  16295. if (Comp.mixins && Comp.mixins.some(m => isKeyOfType(m, key, type))) {
  16296. return true;
  16297. }
  16298. }
  16299. function genRefFlag(v) {
  16300. if (isShallow(v)) {
  16301. return `ShallowRef`;
  16302. }
  16303. if (v.effect) {
  16304. return `ComputedRef`;
  16305. }
  16306. return `Ref`;
  16307. }
  16308. if (window.devtoolsFormatters) {
  16309. window.devtoolsFormatters.push(formatter);
  16310. }
  16311. else {
  16312. window.devtoolsFormatters = [formatter];
  16313. }
  16314. }
  16315. function withMemo(memo, render, cache, index) {
  16316. const cached = cache[index];
  16317. if (cached && isMemoSame(cached, memo)) {
  16318. return cached;
  16319. }
  16320. const ret = render();
  16321. // shallow clone
  16322. ret.memo = memo.slice();
  16323. return (cache[index] = ret);
  16324. }
  16325. function isMemoSame(cached, memo) {
  16326. const prev = cached.memo;
  16327. if (prev.length != memo.length) {
  16328. return false;
  16329. }
  16330. for (let i = 0; i < prev.length; i++) {
  16331. if (prev[i] !== memo[i]) {
  16332. return false;
  16333. }
  16334. }
  16335. // make sure to let parent block track it when returning cached
  16336. if (isBlockTreeEnabled > 0 && currentBlock) {
  16337. currentBlock.push(cached);
  16338. }
  16339. return true;
  16340. }
  16341. // Core API ------------------------------------------------------------------
  16342. const version = "3.2.33";
  16343. const _ssrUtils = {
  16344. createComponentInstance,
  16345. setupComponent,
  16346. renderComponentRoot,
  16347. setCurrentRenderingInstance,
  16348. isVNode,
  16349. normalizeVNode
  16350. };
  16351. /**
  16352. * SSR utils for \@vue/server-renderer. Only exposed in cjs builds.
  16353. * @internal
  16354. */
  16355. const ssrUtils = (_ssrUtils );
  16356. /**
  16357. * @internal only exposed in compat builds
  16358. */
  16359. const resolveFilter = null;
  16360. /**
  16361. * @internal only exposed in compat builds.
  16362. */
  16363. const compatUtils = (null);
  16364. /***/ }),
  16365. /***/ "./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js":
  16366. /*!***********************************************************************!*\
  16367. !*** ./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js ***!
  16368. \***********************************************************************/
  16369. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  16370. "use strict";
  16371. __webpack_require__.r(__webpack_exports__);
  16372. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  16373. /* harmony export */ "BaseTransition": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.BaseTransition),
  16374. /* harmony export */ "Comment": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.Comment),
  16375. /* harmony export */ "EffectScope": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.EffectScope),
  16376. /* harmony export */ "Fragment": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.Fragment),
  16377. /* harmony export */ "KeepAlive": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.KeepAlive),
  16378. /* harmony export */ "ReactiveEffect": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.ReactiveEffect),
  16379. /* harmony export */ "Static": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.Static),
  16380. /* harmony export */ "Suspense": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.Suspense),
  16381. /* harmony export */ "Teleport": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.Teleport),
  16382. /* harmony export */ "Text": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.Text),
  16383. /* harmony export */ "Transition": () => (/* binding */ Transition),
  16384. /* harmony export */ "TransitionGroup": () => (/* binding */ TransitionGroup),
  16385. /* harmony export */ "VueElement": () => (/* binding */ VueElement),
  16386. /* harmony export */ "callWithAsyncErrorHandling": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.callWithAsyncErrorHandling),
  16387. /* harmony export */ "callWithErrorHandling": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.callWithErrorHandling),
  16388. /* harmony export */ "camelize": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.camelize),
  16389. /* harmony export */ "capitalize": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.capitalize),
  16390. /* harmony export */ "cloneVNode": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.cloneVNode),
  16391. /* harmony export */ "compatUtils": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.compatUtils),
  16392. /* harmony export */ "computed": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.computed),
  16393. /* harmony export */ "createApp": () => (/* binding */ createApp),
  16394. /* harmony export */ "createBlock": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.createBlock),
  16395. /* harmony export */ "createCommentVNode": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode),
  16396. /* harmony export */ "createElementBlock": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.createElementBlock),
  16397. /* harmony export */ "createElementVNode": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.createElementVNode),
  16398. /* harmony export */ "createHydrationRenderer": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.createHydrationRenderer),
  16399. /* harmony export */ "createPropsRestProxy": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.createPropsRestProxy),
  16400. /* harmony export */ "createRenderer": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.createRenderer),
  16401. /* harmony export */ "createSSRApp": () => (/* binding */ createSSRApp),
  16402. /* harmony export */ "createSlots": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.createSlots),
  16403. /* harmony export */ "createStaticVNode": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.createStaticVNode),
  16404. /* harmony export */ "createTextVNode": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.createTextVNode),
  16405. /* harmony export */ "createVNode": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.createVNode),
  16406. /* harmony export */ "customRef": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.customRef),
  16407. /* harmony export */ "defineAsyncComponent": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.defineAsyncComponent),
  16408. /* harmony export */ "defineComponent": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.defineComponent),
  16409. /* harmony export */ "defineCustomElement": () => (/* binding */ defineCustomElement),
  16410. /* harmony export */ "defineEmits": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.defineEmits),
  16411. /* harmony export */ "defineExpose": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.defineExpose),
  16412. /* harmony export */ "defineProps": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.defineProps),
  16413. /* harmony export */ "defineSSRCustomElement": () => (/* binding */ defineSSRCustomElement),
  16414. /* harmony export */ "devtools": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.devtools),
  16415. /* harmony export */ "effect": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.effect),
  16416. /* harmony export */ "effectScope": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.effectScope),
  16417. /* harmony export */ "getCurrentInstance": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.getCurrentInstance),
  16418. /* harmony export */ "getCurrentScope": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.getCurrentScope),
  16419. /* harmony export */ "getTransitionRawChildren": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.getTransitionRawChildren),
  16420. /* harmony export */ "guardReactiveProps": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.guardReactiveProps),
  16421. /* harmony export */ "h": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.h),
  16422. /* harmony export */ "handleError": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.handleError),
  16423. /* harmony export */ "hydrate": () => (/* binding */ hydrate),
  16424. /* harmony export */ "initCustomFormatter": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.initCustomFormatter),
  16425. /* harmony export */ "initDirectivesForSSR": () => (/* binding */ initDirectivesForSSR),
  16426. /* harmony export */ "inject": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.inject),
  16427. /* harmony export */ "isMemoSame": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.isMemoSame),
  16428. /* harmony export */ "isProxy": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.isProxy),
  16429. /* harmony export */ "isReactive": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.isReactive),
  16430. /* harmony export */ "isReadonly": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.isReadonly),
  16431. /* harmony export */ "isRef": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.isRef),
  16432. /* harmony export */ "isRuntimeOnly": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.isRuntimeOnly),
  16433. /* harmony export */ "isShallow": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.isShallow),
  16434. /* harmony export */ "isVNode": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.isVNode),
  16435. /* harmony export */ "markRaw": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.markRaw),
  16436. /* harmony export */ "mergeDefaults": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.mergeDefaults),
  16437. /* harmony export */ "mergeProps": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.mergeProps),
  16438. /* harmony export */ "nextTick": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.nextTick),
  16439. /* harmony export */ "normalizeClass": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.normalizeClass),
  16440. /* harmony export */ "normalizeProps": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.normalizeProps),
  16441. /* harmony export */ "normalizeStyle": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.normalizeStyle),
  16442. /* harmony export */ "onActivated": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.onActivated),
  16443. /* harmony export */ "onBeforeMount": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.onBeforeMount),
  16444. /* harmony export */ "onBeforeUnmount": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.onBeforeUnmount),
  16445. /* harmony export */ "onBeforeUpdate": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.onBeforeUpdate),
  16446. /* harmony export */ "onDeactivated": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.onDeactivated),
  16447. /* harmony export */ "onErrorCaptured": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.onErrorCaptured),
  16448. /* harmony export */ "onMounted": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.onMounted),
  16449. /* harmony export */ "onRenderTracked": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.onRenderTracked),
  16450. /* harmony export */ "onRenderTriggered": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.onRenderTriggered),
  16451. /* harmony export */ "onScopeDispose": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.onScopeDispose),
  16452. /* harmony export */ "onServerPrefetch": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.onServerPrefetch),
  16453. /* harmony export */ "onUnmounted": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.onUnmounted),
  16454. /* harmony export */ "onUpdated": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.onUpdated),
  16455. /* harmony export */ "openBlock": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.openBlock),
  16456. /* harmony export */ "popScopeId": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.popScopeId),
  16457. /* harmony export */ "provide": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.provide),
  16458. /* harmony export */ "proxyRefs": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.proxyRefs),
  16459. /* harmony export */ "pushScopeId": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.pushScopeId),
  16460. /* harmony export */ "queuePostFlushCb": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.queuePostFlushCb),
  16461. /* harmony export */ "reactive": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.reactive),
  16462. /* harmony export */ "readonly": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.readonly),
  16463. /* harmony export */ "ref": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.ref),
  16464. /* harmony export */ "registerRuntimeCompiler": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.registerRuntimeCompiler),
  16465. /* harmony export */ "render": () => (/* binding */ render),
  16466. /* harmony export */ "renderList": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.renderList),
  16467. /* harmony export */ "renderSlot": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.renderSlot),
  16468. /* harmony export */ "resolveComponent": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.resolveComponent),
  16469. /* harmony export */ "resolveDirective": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.resolveDirective),
  16470. /* harmony export */ "resolveDynamicComponent": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.resolveDynamicComponent),
  16471. /* harmony export */ "resolveFilter": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.resolveFilter),
  16472. /* harmony export */ "resolveTransitionHooks": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.resolveTransitionHooks),
  16473. /* harmony export */ "setBlockTracking": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.setBlockTracking),
  16474. /* harmony export */ "setDevtoolsHook": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.setDevtoolsHook),
  16475. /* harmony export */ "setTransitionHooks": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.setTransitionHooks),
  16476. /* harmony export */ "shallowReactive": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.shallowReactive),
  16477. /* harmony export */ "shallowReadonly": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.shallowReadonly),
  16478. /* harmony export */ "shallowRef": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.shallowRef),
  16479. /* harmony export */ "ssrContextKey": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.ssrContextKey),
  16480. /* harmony export */ "ssrUtils": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.ssrUtils),
  16481. /* harmony export */ "stop": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.stop),
  16482. /* harmony export */ "toDisplayString": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.toDisplayString),
  16483. /* harmony export */ "toHandlerKey": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.toHandlerKey),
  16484. /* harmony export */ "toHandlers": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.toHandlers),
  16485. /* harmony export */ "toRaw": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.toRaw),
  16486. /* harmony export */ "toRef": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.toRef),
  16487. /* harmony export */ "toRefs": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.toRefs),
  16488. /* harmony export */ "transformVNodeArgs": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.transformVNodeArgs),
  16489. /* harmony export */ "triggerRef": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.triggerRef),
  16490. /* harmony export */ "unref": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.unref),
  16491. /* harmony export */ "useAttrs": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.useAttrs),
  16492. /* harmony export */ "useCssModule": () => (/* binding */ useCssModule),
  16493. /* harmony export */ "useCssVars": () => (/* binding */ useCssVars),
  16494. /* harmony export */ "useSSRContext": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.useSSRContext),
  16495. /* harmony export */ "useSlots": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.useSlots),
  16496. /* harmony export */ "useTransitionState": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.useTransitionState),
  16497. /* harmony export */ "vModelCheckbox": () => (/* binding */ vModelCheckbox),
  16498. /* harmony export */ "vModelDynamic": () => (/* binding */ vModelDynamic),
  16499. /* harmony export */ "vModelRadio": () => (/* binding */ vModelRadio),
  16500. /* harmony export */ "vModelSelect": () => (/* binding */ vModelSelect),
  16501. /* harmony export */ "vModelText": () => (/* binding */ vModelText),
  16502. /* harmony export */ "vShow": () => (/* binding */ vShow),
  16503. /* harmony export */ "version": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.version),
  16504. /* harmony export */ "warn": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.warn),
  16505. /* harmony export */ "watch": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.watch),
  16506. /* harmony export */ "watchEffect": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.watchEffect),
  16507. /* harmony export */ "watchPostEffect": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.watchPostEffect),
  16508. /* harmony export */ "watchSyncEffect": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.watchSyncEffect),
  16509. /* harmony export */ "withAsyncContext": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.withAsyncContext),
  16510. /* harmony export */ "withCtx": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.withCtx),
  16511. /* harmony export */ "withDefaults": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.withDefaults),
  16512. /* harmony export */ "withDirectives": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.withDirectives),
  16513. /* harmony export */ "withKeys": () => (/* binding */ withKeys),
  16514. /* harmony export */ "withMemo": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.withMemo),
  16515. /* harmony export */ "withModifiers": () => (/* binding */ withModifiers),
  16516. /* harmony export */ "withScopeId": () => (/* reexport safe */ _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.withScopeId)
  16517. /* harmony export */ });
  16518. /* harmony import */ var _vue_shared__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @vue/shared */ "./node_modules/@vue/shared/dist/shared.esm-bundler.js");
  16519. /* harmony import */ var _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @vue/runtime-core */ "./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js");
  16520. /* harmony import */ var _vue_runtime_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @vue/runtime-core */ "./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js");
  16521. const svgNS = 'http://www.w3.org/2000/svg';
  16522. const doc = (typeof document !== 'undefined' ? document : null);
  16523. const templateContainer = doc && /*#__PURE__*/ doc.createElement('template');
  16524. const nodeOps = {
  16525. insert: (child, parent, anchor) => {
  16526. parent.insertBefore(child, anchor || null);
  16527. },
  16528. remove: child => {
  16529. const parent = child.parentNode;
  16530. if (parent) {
  16531. parent.removeChild(child);
  16532. }
  16533. },
  16534. createElement: (tag, isSVG, is, props) => {
  16535. const el = isSVG
  16536. ? doc.createElementNS(svgNS, tag)
  16537. : doc.createElement(tag, is ? { is } : undefined);
  16538. if (tag === 'select' && props && props.multiple != null) {
  16539. el.setAttribute('multiple', props.multiple);
  16540. }
  16541. return el;
  16542. },
  16543. createText: text => doc.createTextNode(text),
  16544. createComment: text => doc.createComment(text),
  16545. setText: (node, text) => {
  16546. node.nodeValue = text;
  16547. },
  16548. setElementText: (el, text) => {
  16549. el.textContent = text;
  16550. },
  16551. parentNode: node => node.parentNode,
  16552. nextSibling: node => node.nextSibling,
  16553. querySelector: selector => doc.querySelector(selector),
  16554. setScopeId(el, id) {
  16555. el.setAttribute(id, '');
  16556. },
  16557. cloneNode(el) {
  16558. const cloned = el.cloneNode(true);
  16559. // #3072
  16560. // - in `patchDOMProp`, we store the actual value in the `el._value` property.
  16561. // - normally, elements using `:value` bindings will not be hoisted, but if
  16562. // the bound value is a constant, e.g. `:value="true"` - they do get
  16563. // hoisted.
  16564. // - in production, hoisted nodes are cloned when subsequent inserts, but
  16565. // cloneNode() does not copy the custom property we attached.
  16566. // - This may need to account for other custom DOM properties we attach to
  16567. // elements in addition to `_value` in the future.
  16568. if (`_value` in el) {
  16569. cloned._value = el._value;
  16570. }
  16571. return cloned;
  16572. },
  16573. // __UNSAFE__
  16574. // Reason: innerHTML.
  16575. // Static content here can only come from compiled templates.
  16576. // As long as the user only uses trusted templates, this is safe.
  16577. insertStaticContent(content, parent, anchor, isSVG, start, end) {
  16578. // <parent> before | first ... last | anchor </parent>
  16579. const before = anchor ? anchor.previousSibling : parent.lastChild;
  16580. // #5308 can only take cached path if:
  16581. // - has a single root node
  16582. // - nextSibling info is still available
  16583. if (start && (start === end || start.nextSibling)) {
  16584. // cached
  16585. while (true) {
  16586. parent.insertBefore(start.cloneNode(true), anchor);
  16587. if (start === end || !(start = start.nextSibling))
  16588. break;
  16589. }
  16590. }
  16591. else {
  16592. // fresh insert
  16593. templateContainer.innerHTML = isSVG ? `<svg>${content}</svg>` : content;
  16594. const template = templateContainer.content;
  16595. if (isSVG) {
  16596. // remove outer svg wrapper
  16597. const wrapper = template.firstChild;
  16598. while (wrapper.firstChild) {
  16599. template.appendChild(wrapper.firstChild);
  16600. }
  16601. template.removeChild(wrapper);
  16602. }
  16603. parent.insertBefore(template, anchor);
  16604. }
  16605. return [
  16606. // first
  16607. before ? before.nextSibling : parent.firstChild,
  16608. // last
  16609. anchor ? anchor.previousSibling : parent.lastChild
  16610. ];
  16611. }
  16612. };
  16613. // compiler should normalize class + :class bindings on the same element
  16614. // into a single binding ['staticClass', dynamic]
  16615. function patchClass(el, value, isSVG) {
  16616. // directly setting className should be faster than setAttribute in theory
  16617. // if this is an element during a transition, take the temporary transition
  16618. // classes into account.
  16619. const transitionClasses = el._vtc;
  16620. if (transitionClasses) {
  16621. value = (value ? [value, ...transitionClasses] : [...transitionClasses]).join(' ');
  16622. }
  16623. if (value == null) {
  16624. el.removeAttribute('class');
  16625. }
  16626. else if (isSVG) {
  16627. el.setAttribute('class', value);
  16628. }
  16629. else {
  16630. el.className = value;
  16631. }
  16632. }
  16633. function patchStyle(el, prev, next) {
  16634. const style = el.style;
  16635. const isCssString = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(next);
  16636. if (next && !isCssString) {
  16637. for (const key in next) {
  16638. setStyle(style, key, next[key]);
  16639. }
  16640. if (prev && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(prev)) {
  16641. for (const key in prev) {
  16642. if (next[key] == null) {
  16643. setStyle(style, key, '');
  16644. }
  16645. }
  16646. }
  16647. }
  16648. else {
  16649. const currentDisplay = style.display;
  16650. if (isCssString) {
  16651. if (prev !== next) {
  16652. style.cssText = next;
  16653. }
  16654. }
  16655. else if (prev) {
  16656. el.removeAttribute('style');
  16657. }
  16658. // indicates that the `display` of the element is controlled by `v-show`,
  16659. // so we always keep the current `display` value regardless of the `style`
  16660. // value, thus handing over control to `v-show`.
  16661. if ('_vod' in el) {
  16662. style.display = currentDisplay;
  16663. }
  16664. }
  16665. }
  16666. const importantRE = /\s*!important$/;
  16667. function setStyle(style, name, val) {
  16668. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(val)) {
  16669. val.forEach(v => setStyle(style, name, v));
  16670. }
  16671. else {
  16672. if (val == null)
  16673. val = '';
  16674. if (name.startsWith('--')) {
  16675. // custom property definition
  16676. style.setProperty(name, val);
  16677. }
  16678. else {
  16679. const prefixed = autoPrefix(style, name);
  16680. if (importantRE.test(val)) {
  16681. // !important
  16682. style.setProperty((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hyphenate)(prefixed), val.replace(importantRE, ''), 'important');
  16683. }
  16684. else {
  16685. style[prefixed] = val;
  16686. }
  16687. }
  16688. }
  16689. }
  16690. const prefixes = ['Webkit', 'Moz', 'ms'];
  16691. const prefixCache = {};
  16692. function autoPrefix(style, rawName) {
  16693. const cached = prefixCache[rawName];
  16694. if (cached) {
  16695. return cached;
  16696. }
  16697. let name = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(rawName);
  16698. if (name !== 'filter' && name in style) {
  16699. return (prefixCache[rawName] = name);
  16700. }
  16701. name = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.capitalize)(name);
  16702. for (let i = 0; i < prefixes.length; i++) {
  16703. const prefixed = prefixes[i] + name;
  16704. if (prefixed in style) {
  16705. return (prefixCache[rawName] = prefixed);
  16706. }
  16707. }
  16708. return rawName;
  16709. }
  16710. const xlinkNS = 'http://www.w3.org/1999/xlink';
  16711. function patchAttr(el, key, value, isSVG, instance) {
  16712. if (isSVG && key.startsWith('xlink:')) {
  16713. if (value == null) {
  16714. el.removeAttributeNS(xlinkNS, key.slice(6, key.length));
  16715. }
  16716. else {
  16717. el.setAttributeNS(xlinkNS, key, value);
  16718. }
  16719. }
  16720. else {
  16721. // note we are only checking boolean attributes that don't have a
  16722. // corresponding dom prop of the same name here.
  16723. const isBoolean = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isSpecialBooleanAttr)(key);
  16724. if (value == null || (isBoolean && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.includeBooleanAttr)(value))) {
  16725. el.removeAttribute(key);
  16726. }
  16727. else {
  16728. el.setAttribute(key, isBoolean ? '' : value);
  16729. }
  16730. }
  16731. }
  16732. // __UNSAFE__
  16733. // functions. The user is responsible for using them with only trusted content.
  16734. function patchDOMProp(el, key, value,
  16735. // the following args are passed only due to potential innerHTML/textContent
  16736. // overriding existing VNodes, in which case the old tree must be properly
  16737. // unmounted.
  16738. prevChildren, parentComponent, parentSuspense, unmountChildren) {
  16739. if (key === 'innerHTML' || key === 'textContent') {
  16740. if (prevChildren) {
  16741. unmountChildren(prevChildren, parentComponent, parentSuspense);
  16742. }
  16743. el[key] = value == null ? '' : value;
  16744. return;
  16745. }
  16746. if (key === 'value' &&
  16747. el.tagName !== 'PROGRESS' &&
  16748. // custom elements may use _value internally
  16749. !el.tagName.includes('-')) {
  16750. // store value as _value as well since
  16751. // non-string values will be stringified.
  16752. el._value = value;
  16753. const newValue = value == null ? '' : value;
  16754. if (el.value !== newValue ||
  16755. // #4956: always set for OPTION elements because its value falls back to
  16756. // textContent if no value attribute is present. And setting .value for
  16757. // OPTION has no side effect
  16758. el.tagName === 'OPTION') {
  16759. el.value = newValue;
  16760. }
  16761. if (value == null) {
  16762. el.removeAttribute(key);
  16763. }
  16764. return;
  16765. }
  16766. let needRemove = false;
  16767. if (value === '' || value == null) {
  16768. const type = typeof el[key];
  16769. if (type === 'boolean') {
  16770. // e.g. <select multiple> compiles to { multiple: '' }
  16771. value = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.includeBooleanAttr)(value);
  16772. }
  16773. else if (value == null && type === 'string') {
  16774. // e.g. <div :id="null">
  16775. value = '';
  16776. needRemove = true;
  16777. }
  16778. else if (type === 'number') {
  16779. // e.g. <img :width="null">
  16780. // the value of some IDL attr must be greater than 0, e.g. input.size = 0 -> error
  16781. value = 0;
  16782. needRemove = true;
  16783. }
  16784. }
  16785. // some properties perform value validation and throw,
  16786. // some properties has getter, no setter, will error in 'use strict'
  16787. // eg. <select :type="null"></select> <select :willValidate="null"></select>
  16788. try {
  16789. el[key] = value;
  16790. }
  16791. catch (e) {
  16792. if ((true)) {
  16793. (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.warn)(`Failed setting prop "${key}" on <${el.tagName.toLowerCase()}>: ` +
  16794. `value ${value} is invalid.`, e);
  16795. }
  16796. }
  16797. needRemove && el.removeAttribute(key);
  16798. }
  16799. // Async edge case fix requires storing an event listener's attach timestamp.
  16800. const [_getNow, skipTimestampCheck] = /*#__PURE__*/ (() => {
  16801. let _getNow = Date.now;
  16802. let skipTimestampCheck = false;
  16803. if (typeof window !== 'undefined') {
  16804. // Determine what event timestamp the browser is using. Annoyingly, the
  16805. // timestamp can either be hi-res (relative to page load) or low-res
  16806. // (relative to UNIX epoch), so in order to compare time we have to use the
  16807. // same timestamp type when saving the flush timestamp.
  16808. if (Date.now() > document.createEvent('Event').timeStamp) {
  16809. // if the low-res timestamp which is bigger than the event timestamp
  16810. // (which is evaluated AFTER) it means the event is using a hi-res timestamp,
  16811. // and we need to use the hi-res version for event listeners as well.
  16812. _getNow = () => performance.now();
  16813. }
  16814. // #3485: Firefox <= 53 has incorrect Event.timeStamp implementation
  16815. // and does not fire microtasks in between event propagation, so safe to exclude.
  16816. const ffMatch = navigator.userAgent.match(/firefox\/(\d+)/i);
  16817. skipTimestampCheck = !!(ffMatch && Number(ffMatch[1]) <= 53);
  16818. }
  16819. return [_getNow, skipTimestampCheck];
  16820. })();
  16821. // To avoid the overhead of repeatedly calling performance.now(), we cache
  16822. // and use the same timestamp for all event listeners attached in the same tick.
  16823. let cachedNow = 0;
  16824. const p = /*#__PURE__*/ Promise.resolve();
  16825. const reset = () => {
  16826. cachedNow = 0;
  16827. };
  16828. const getNow = () => cachedNow || (p.then(reset), (cachedNow = _getNow()));
  16829. function addEventListener(el, event, handler, options) {
  16830. el.addEventListener(event, handler, options);
  16831. }
  16832. function removeEventListener(el, event, handler, options) {
  16833. el.removeEventListener(event, handler, options);
  16834. }
  16835. function patchEvent(el, rawName, prevValue, nextValue, instance = null) {
  16836. // vei = vue event invokers
  16837. const invokers = el._vei || (el._vei = {});
  16838. const existingInvoker = invokers[rawName];
  16839. if (nextValue && existingInvoker) {
  16840. // patch
  16841. existingInvoker.value = nextValue;
  16842. }
  16843. else {
  16844. const [name, options] = parseName(rawName);
  16845. if (nextValue) {
  16846. // add
  16847. const invoker = (invokers[rawName] = createInvoker(nextValue, instance));
  16848. addEventListener(el, name, invoker, options);
  16849. }
  16850. else if (existingInvoker) {
  16851. // remove
  16852. removeEventListener(el, name, existingInvoker, options);
  16853. invokers[rawName] = undefined;
  16854. }
  16855. }
  16856. }
  16857. const optionsModifierRE = /(?:Once|Passive|Capture)$/;
  16858. function parseName(name) {
  16859. let options;
  16860. if (optionsModifierRE.test(name)) {
  16861. options = {};
  16862. let m;
  16863. while ((m = name.match(optionsModifierRE))) {
  16864. name = name.slice(0, name.length - m[0].length);
  16865. options[m[0].toLowerCase()] = true;
  16866. }
  16867. }
  16868. return [(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hyphenate)(name.slice(2)), options];
  16869. }
  16870. function createInvoker(initialValue, instance) {
  16871. const invoker = (e) => {
  16872. // async edge case #6566: inner click event triggers patch, event handler
  16873. // attached to outer element during patch, and triggered again. This
  16874. // happens because browsers fire microtask ticks between event propagation.
  16875. // the solution is simple: we save the timestamp when a handler is attached,
  16876. // and the handler would only fire if the event passed to it was fired
  16877. // AFTER it was attached.
  16878. const timeStamp = e.timeStamp || _getNow();
  16879. if (skipTimestampCheck || timeStamp >= invoker.attached - 1) {
  16880. (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.callWithAsyncErrorHandling)(patchStopImmediatePropagation(e, invoker.value), instance, 5 /* NATIVE_EVENT_HANDLER */, [e]);
  16881. }
  16882. };
  16883. invoker.value = initialValue;
  16884. invoker.attached = getNow();
  16885. return invoker;
  16886. }
  16887. function patchStopImmediatePropagation(e, value) {
  16888. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(value)) {
  16889. const originalStop = e.stopImmediatePropagation;
  16890. e.stopImmediatePropagation = () => {
  16891. originalStop.call(e);
  16892. e._stopped = true;
  16893. };
  16894. return value.map(fn => (e) => !e._stopped && fn && fn(e));
  16895. }
  16896. else {
  16897. return value;
  16898. }
  16899. }
  16900. const nativeOnRE = /^on[a-z]/;
  16901. const patchProp = (el, key, prevValue, nextValue, isSVG = false, prevChildren, parentComponent, parentSuspense, unmountChildren) => {
  16902. if (key === 'class') {
  16903. patchClass(el, nextValue, isSVG);
  16904. }
  16905. else if (key === 'style') {
  16906. patchStyle(el, prevValue, nextValue);
  16907. }
  16908. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isOn)(key)) {
  16909. // ignore v-model listeners
  16910. if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isModelListener)(key)) {
  16911. patchEvent(el, key, prevValue, nextValue, parentComponent);
  16912. }
  16913. }
  16914. else if (key[0] === '.'
  16915. ? ((key = key.slice(1)), true)
  16916. : key[0] === '^'
  16917. ? ((key = key.slice(1)), false)
  16918. : shouldSetAsProp(el, key, nextValue, isSVG)) {
  16919. patchDOMProp(el, key, nextValue, prevChildren, parentComponent, parentSuspense, unmountChildren);
  16920. }
  16921. else {
  16922. // special case for <input v-model type="checkbox"> with
  16923. // :true-value & :false-value
  16924. // store value as dom properties since non-string values will be
  16925. // stringified.
  16926. if (key === 'true-value') {
  16927. el._trueValue = nextValue;
  16928. }
  16929. else if (key === 'false-value') {
  16930. el._falseValue = nextValue;
  16931. }
  16932. patchAttr(el, key, nextValue, isSVG);
  16933. }
  16934. };
  16935. function shouldSetAsProp(el, key, value, isSVG) {
  16936. if (isSVG) {
  16937. // most keys must be set as attribute on svg elements to work
  16938. // ...except innerHTML & textContent
  16939. if (key === 'innerHTML' || key === 'textContent') {
  16940. return true;
  16941. }
  16942. // or native onclick with function values
  16943. if (key in el && nativeOnRE.test(key) && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(value)) {
  16944. return true;
  16945. }
  16946. return false;
  16947. }
  16948. // these are enumerated attrs, however their corresponding DOM properties
  16949. // are actually booleans - this leads to setting it with a string "false"
  16950. // value leading it to be coerced to `true`, so we need to always treat
  16951. // them as attributes.
  16952. // Note that `contentEditable` doesn't have this problem: its DOM
  16953. // property is also enumerated string values.
  16954. if (key === 'spellcheck' || key === 'draggable' || key === 'translate') {
  16955. return false;
  16956. }
  16957. // #1787, #2840 form property on form elements is readonly and must be set as
  16958. // attribute.
  16959. if (key === 'form') {
  16960. return false;
  16961. }
  16962. // #1526 <input list> must be set as attribute
  16963. if (key === 'list' && el.tagName === 'INPUT') {
  16964. return false;
  16965. }
  16966. // #2766 <textarea type> must be set as attribute
  16967. if (key === 'type' && el.tagName === 'TEXTAREA') {
  16968. return false;
  16969. }
  16970. // native onclick with string value, must be set as attribute
  16971. if (nativeOnRE.test(key) && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(value)) {
  16972. return false;
  16973. }
  16974. return key in el;
  16975. }
  16976. function defineCustomElement(options, hydate) {
  16977. const Comp = (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.defineComponent)(options);
  16978. class VueCustomElement extends VueElement {
  16979. constructor(initialProps) {
  16980. super(Comp, initialProps, hydate);
  16981. }
  16982. }
  16983. VueCustomElement.def = Comp;
  16984. return VueCustomElement;
  16985. }
  16986. const defineSSRCustomElement = ((options) => {
  16987. // @ts-ignore
  16988. return defineCustomElement(options, hydrate);
  16989. });
  16990. const BaseClass = (typeof HTMLElement !== 'undefined' ? HTMLElement : class {
  16991. });
  16992. class VueElement extends BaseClass {
  16993. constructor(_def, _props = {}, hydrate) {
  16994. super();
  16995. this._def = _def;
  16996. this._props = _props;
  16997. /**
  16998. * @internal
  16999. */
  17000. this._instance = null;
  17001. this._connected = false;
  17002. this._resolved = false;
  17003. this._numberProps = null;
  17004. if (this.shadowRoot && hydrate) {
  17005. hydrate(this._createVNode(), this.shadowRoot);
  17006. }
  17007. else {
  17008. if (( true) && this.shadowRoot) {
  17009. (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.warn)(`Custom element has pre-rendered declarative shadow root but is not ` +
  17010. `defined as hydratable. Use \`defineSSRCustomElement\`.`);
  17011. }
  17012. this.attachShadow({ mode: 'open' });
  17013. }
  17014. }
  17015. connectedCallback() {
  17016. this._connected = true;
  17017. if (!this._instance) {
  17018. this._resolveDef();
  17019. }
  17020. }
  17021. disconnectedCallback() {
  17022. this._connected = false;
  17023. (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.nextTick)(() => {
  17024. if (!this._connected) {
  17025. render(null, this.shadowRoot);
  17026. this._instance = null;
  17027. }
  17028. });
  17029. }
  17030. /**
  17031. * resolve inner component definition (handle possible async component)
  17032. */
  17033. _resolveDef() {
  17034. if (this._resolved) {
  17035. return;
  17036. }
  17037. this._resolved = true;
  17038. // set initial attrs
  17039. for (let i = 0; i < this.attributes.length; i++) {
  17040. this._setAttr(this.attributes[i].name);
  17041. }
  17042. // watch future attr changes
  17043. new MutationObserver(mutations => {
  17044. for (const m of mutations) {
  17045. this._setAttr(m.attributeName);
  17046. }
  17047. }).observe(this, { attributes: true });
  17048. const resolve = (def) => {
  17049. const { props, styles } = def;
  17050. const hasOptions = !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(props);
  17051. const rawKeys = props ? (hasOptions ? Object.keys(props) : props) : [];
  17052. // cast Number-type props set before resolve
  17053. let numberProps;
  17054. if (hasOptions) {
  17055. for (const key in this._props) {
  17056. const opt = props[key];
  17057. if (opt === Number || (opt && opt.type === Number)) {
  17058. this._props[key] = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toNumber)(this._props[key]);
  17059. (numberProps || (numberProps = Object.create(null)))[key] = true;
  17060. }
  17061. }
  17062. }
  17063. this._numberProps = numberProps;
  17064. // check if there are props set pre-upgrade or connect
  17065. for (const key of Object.keys(this)) {
  17066. if (key[0] !== '_') {
  17067. this._setProp(key, this[key], true, false);
  17068. }
  17069. }
  17070. // defining getter/setters on prototype
  17071. for (const key of rawKeys.map(_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)) {
  17072. Object.defineProperty(this, key, {
  17073. get() {
  17074. return this._getProp(key);
  17075. },
  17076. set(val) {
  17077. this._setProp(key, val);
  17078. }
  17079. });
  17080. }
  17081. // apply CSS
  17082. this._applyStyles(styles);
  17083. // initial render
  17084. this._update();
  17085. };
  17086. const asyncDef = this._def.__asyncLoader;
  17087. if (asyncDef) {
  17088. asyncDef().then(resolve);
  17089. }
  17090. else {
  17091. resolve(this._def);
  17092. }
  17093. }
  17094. _setAttr(key) {
  17095. let value = this.getAttribute(key);
  17096. if (this._numberProps && this._numberProps[key]) {
  17097. value = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toNumber)(value);
  17098. }
  17099. this._setProp((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.camelize)(key), value, false);
  17100. }
  17101. /**
  17102. * @internal
  17103. */
  17104. _getProp(key) {
  17105. return this._props[key];
  17106. }
  17107. /**
  17108. * @internal
  17109. */
  17110. _setProp(key, val, shouldReflect = true, shouldUpdate = true) {
  17111. if (val !== this._props[key]) {
  17112. this._props[key] = val;
  17113. if (shouldUpdate && this._instance) {
  17114. this._update();
  17115. }
  17116. // reflect
  17117. if (shouldReflect) {
  17118. if (val === true) {
  17119. this.setAttribute((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hyphenate)(key), '');
  17120. }
  17121. else if (typeof val === 'string' || typeof val === 'number') {
  17122. this.setAttribute((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hyphenate)(key), val + '');
  17123. }
  17124. else if (!val) {
  17125. this.removeAttribute((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hyphenate)(key));
  17126. }
  17127. }
  17128. }
  17129. }
  17130. _update() {
  17131. render(this._createVNode(), this.shadowRoot);
  17132. }
  17133. _createVNode() {
  17134. const vnode = (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.createVNode)(this._def, (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)({}, this._props));
  17135. if (!this._instance) {
  17136. vnode.ce = instance => {
  17137. this._instance = instance;
  17138. instance.isCE = true;
  17139. // HMR
  17140. if ((true)) {
  17141. instance.ceReload = newStyles => {
  17142. // always reset styles
  17143. if (this._styles) {
  17144. this._styles.forEach(s => this.shadowRoot.removeChild(s));
  17145. this._styles.length = 0;
  17146. }
  17147. this._applyStyles(newStyles);
  17148. // if this is an async component, ceReload is called from the inner
  17149. // component so no need to reload the async wrapper
  17150. if (!this._def.__asyncLoader) {
  17151. // reload
  17152. this._instance = null;
  17153. this._update();
  17154. }
  17155. };
  17156. }
  17157. // intercept emit
  17158. instance.emit = (event, ...args) => {
  17159. this.dispatchEvent(new CustomEvent(event, {
  17160. detail: args
  17161. }));
  17162. };
  17163. // locate nearest Vue custom element parent for provide/inject
  17164. let parent = this;
  17165. while ((parent =
  17166. parent && (parent.parentNode || parent.host))) {
  17167. if (parent instanceof VueElement) {
  17168. instance.parent = parent._instance;
  17169. break;
  17170. }
  17171. }
  17172. };
  17173. }
  17174. return vnode;
  17175. }
  17176. _applyStyles(styles) {
  17177. if (styles) {
  17178. styles.forEach(css => {
  17179. const s = document.createElement('style');
  17180. s.textContent = css;
  17181. this.shadowRoot.appendChild(s);
  17182. // record for HMR
  17183. if ((true)) {
  17184. (this._styles || (this._styles = [])).push(s);
  17185. }
  17186. });
  17187. }
  17188. }
  17189. }
  17190. function useCssModule(name = '$style') {
  17191. /* istanbul ignore else */
  17192. {
  17193. const instance = (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.getCurrentInstance)();
  17194. if (!instance) {
  17195. ( true) && (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.warn)(`useCssModule must be called inside setup()`);
  17196. return _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ;
  17197. }
  17198. const modules = instance.type.__cssModules;
  17199. if (!modules) {
  17200. ( true) && (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.warn)(`Current instance does not have CSS modules injected.`);
  17201. return _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ;
  17202. }
  17203. const mod = modules[name];
  17204. if (!mod) {
  17205. ( true) &&
  17206. (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.warn)(`Current instance does not have CSS module named "${name}".`);
  17207. return _vue_shared__WEBPACK_IMPORTED_MODULE_1__.EMPTY_OBJ;
  17208. }
  17209. return mod;
  17210. }
  17211. }
  17212. /**
  17213. * Runtime helper for SFC's CSS variable injection feature.
  17214. * @private
  17215. */
  17216. function useCssVars(getter) {
  17217. const instance = (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.getCurrentInstance)();
  17218. /* istanbul ignore next */
  17219. if (!instance) {
  17220. ( true) &&
  17221. (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.warn)(`useCssVars is called without current active component instance.`);
  17222. return;
  17223. }
  17224. const setVars = () => setVarsOnVNode(instance.subTree, getter(instance.proxy));
  17225. (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.watchPostEffect)(setVars);
  17226. (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.onMounted)(() => {
  17227. const ob = new MutationObserver(setVars);
  17228. ob.observe(instance.subTree.el.parentNode, { childList: true });
  17229. (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.onUnmounted)(() => ob.disconnect());
  17230. });
  17231. }
  17232. function setVarsOnVNode(vnode, vars) {
  17233. if (vnode.shapeFlag & 128 /* SUSPENSE */) {
  17234. const suspense = vnode.suspense;
  17235. vnode = suspense.activeBranch;
  17236. if (suspense.pendingBranch && !suspense.isHydrating) {
  17237. suspense.effects.push(() => {
  17238. setVarsOnVNode(suspense.activeBranch, vars);
  17239. });
  17240. }
  17241. }
  17242. // drill down HOCs until it's a non-component vnode
  17243. while (vnode.component) {
  17244. vnode = vnode.component.subTree;
  17245. }
  17246. if (vnode.shapeFlag & 1 /* ELEMENT */ && vnode.el) {
  17247. setVarsOnNode(vnode.el, vars);
  17248. }
  17249. else if (vnode.type === _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.Fragment) {
  17250. vnode.children.forEach(c => setVarsOnVNode(c, vars));
  17251. }
  17252. else if (vnode.type === _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.Static) {
  17253. let { el, anchor } = vnode;
  17254. while (el) {
  17255. setVarsOnNode(el, vars);
  17256. if (el === anchor)
  17257. break;
  17258. el = el.nextSibling;
  17259. }
  17260. }
  17261. }
  17262. function setVarsOnNode(el, vars) {
  17263. if (el.nodeType === 1) {
  17264. const style = el.style;
  17265. for (const key in vars) {
  17266. style.setProperty(`--${key}`, vars[key]);
  17267. }
  17268. }
  17269. }
  17270. const TRANSITION = 'transition';
  17271. const ANIMATION = 'animation';
  17272. // DOM Transition is a higher-order-component based on the platform-agnostic
  17273. // base Transition component, with DOM-specific logic.
  17274. const Transition = (props, { slots }) => (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.h)(_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.BaseTransition, resolveTransitionProps(props), slots);
  17275. Transition.displayName = 'Transition';
  17276. const DOMTransitionPropsValidators = {
  17277. name: String,
  17278. type: String,
  17279. css: {
  17280. type: Boolean,
  17281. default: true
  17282. },
  17283. duration: [String, Number, Object],
  17284. enterFromClass: String,
  17285. enterActiveClass: String,
  17286. enterToClass: String,
  17287. appearFromClass: String,
  17288. appearActiveClass: String,
  17289. appearToClass: String,
  17290. leaveFromClass: String,
  17291. leaveActiveClass: String,
  17292. leaveToClass: String
  17293. };
  17294. const TransitionPropsValidators = (Transition.props =
  17295. /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)({}, _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.BaseTransition.props, DOMTransitionPropsValidators));
  17296. /**
  17297. * #3227 Incoming hooks may be merged into arrays when wrapping Transition
  17298. * with custom HOCs.
  17299. */
  17300. const callHook = (hook, args = []) => {
  17301. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(hook)) {
  17302. hook.forEach(h => h(...args));
  17303. }
  17304. else if (hook) {
  17305. hook(...args);
  17306. }
  17307. };
  17308. /**
  17309. * Check if a hook expects a callback (2nd arg), which means the user
  17310. * intends to explicitly control the end of the transition.
  17311. */
  17312. const hasExplicitCallback = (hook) => {
  17313. return hook
  17314. ? (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(hook)
  17315. ? hook.some(h => h.length > 1)
  17316. : hook.length > 1
  17317. : false;
  17318. };
  17319. function resolveTransitionProps(rawProps) {
  17320. const baseProps = {};
  17321. for (const key in rawProps) {
  17322. if (!(key in DOMTransitionPropsValidators)) {
  17323. baseProps[key] = rawProps[key];
  17324. }
  17325. }
  17326. if (rawProps.css === false) {
  17327. return baseProps;
  17328. }
  17329. const { name = 'v', type, duration, enterFromClass = `${name}-enter-from`, enterActiveClass = `${name}-enter-active`, enterToClass = `${name}-enter-to`, appearFromClass = enterFromClass, appearActiveClass = enterActiveClass, appearToClass = enterToClass, leaveFromClass = `${name}-leave-from`, leaveActiveClass = `${name}-leave-active`, leaveToClass = `${name}-leave-to` } = rawProps;
  17330. const durations = normalizeDuration(duration);
  17331. const enterDuration = durations && durations[0];
  17332. const leaveDuration = durations && durations[1];
  17333. const { onBeforeEnter, onEnter, onEnterCancelled, onLeave, onLeaveCancelled, onBeforeAppear = onBeforeEnter, onAppear = onEnter, onAppearCancelled = onEnterCancelled } = baseProps;
  17334. const finishEnter = (el, isAppear, done) => {
  17335. removeTransitionClass(el, isAppear ? appearToClass : enterToClass);
  17336. removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass);
  17337. done && done();
  17338. };
  17339. const finishLeave = (el, done) => {
  17340. removeTransitionClass(el, leaveToClass);
  17341. removeTransitionClass(el, leaveActiveClass);
  17342. done && done();
  17343. };
  17344. const makeEnterHook = (isAppear) => {
  17345. return (el, done) => {
  17346. const hook = isAppear ? onAppear : onEnter;
  17347. const resolve = () => finishEnter(el, isAppear, done);
  17348. callHook(hook, [el, resolve]);
  17349. nextFrame(() => {
  17350. removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass);
  17351. addTransitionClass(el, isAppear ? appearToClass : enterToClass);
  17352. if (!hasExplicitCallback(hook)) {
  17353. whenTransitionEnds(el, type, enterDuration, resolve);
  17354. }
  17355. });
  17356. };
  17357. };
  17358. return (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)(baseProps, {
  17359. onBeforeEnter(el) {
  17360. callHook(onBeforeEnter, [el]);
  17361. addTransitionClass(el, enterFromClass);
  17362. addTransitionClass(el, enterActiveClass);
  17363. },
  17364. onBeforeAppear(el) {
  17365. callHook(onBeforeAppear, [el]);
  17366. addTransitionClass(el, appearFromClass);
  17367. addTransitionClass(el, appearActiveClass);
  17368. },
  17369. onEnter: makeEnterHook(false),
  17370. onAppear: makeEnterHook(true),
  17371. onLeave(el, done) {
  17372. const resolve = () => finishLeave(el, done);
  17373. addTransitionClass(el, leaveFromClass);
  17374. // force reflow so *-leave-from classes immediately take effect (#2593)
  17375. forceReflow();
  17376. addTransitionClass(el, leaveActiveClass);
  17377. nextFrame(() => {
  17378. removeTransitionClass(el, leaveFromClass);
  17379. addTransitionClass(el, leaveToClass);
  17380. if (!hasExplicitCallback(onLeave)) {
  17381. whenTransitionEnds(el, type, leaveDuration, resolve);
  17382. }
  17383. });
  17384. callHook(onLeave, [el, resolve]);
  17385. },
  17386. onEnterCancelled(el) {
  17387. finishEnter(el, false);
  17388. callHook(onEnterCancelled, [el]);
  17389. },
  17390. onAppearCancelled(el) {
  17391. finishEnter(el, true);
  17392. callHook(onAppearCancelled, [el]);
  17393. },
  17394. onLeaveCancelled(el) {
  17395. finishLeave(el);
  17396. callHook(onLeaveCancelled, [el]);
  17397. }
  17398. });
  17399. }
  17400. function normalizeDuration(duration) {
  17401. if (duration == null) {
  17402. return null;
  17403. }
  17404. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isObject)(duration)) {
  17405. return [NumberOf(duration.enter), NumberOf(duration.leave)];
  17406. }
  17407. else {
  17408. const n = NumberOf(duration);
  17409. return [n, n];
  17410. }
  17411. }
  17412. function NumberOf(val) {
  17413. const res = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toNumber)(val);
  17414. if ((true))
  17415. validateDuration(res);
  17416. return res;
  17417. }
  17418. function validateDuration(val) {
  17419. if (typeof val !== 'number') {
  17420. (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.warn)(`<transition> explicit duration is not a valid number - ` +
  17421. `got ${JSON.stringify(val)}.`);
  17422. }
  17423. else if (isNaN(val)) {
  17424. (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.warn)(`<transition> explicit duration is NaN - ` +
  17425. 'the duration expression might be incorrect.');
  17426. }
  17427. }
  17428. function addTransitionClass(el, cls) {
  17429. cls.split(/\s+/).forEach(c => c && el.classList.add(c));
  17430. (el._vtc ||
  17431. (el._vtc = new Set())).add(cls);
  17432. }
  17433. function removeTransitionClass(el, cls) {
  17434. cls.split(/\s+/).forEach(c => c && el.classList.remove(c));
  17435. const { _vtc } = el;
  17436. if (_vtc) {
  17437. _vtc.delete(cls);
  17438. if (!_vtc.size) {
  17439. el._vtc = undefined;
  17440. }
  17441. }
  17442. }
  17443. function nextFrame(cb) {
  17444. requestAnimationFrame(() => {
  17445. requestAnimationFrame(cb);
  17446. });
  17447. }
  17448. let endId = 0;
  17449. function whenTransitionEnds(el, expectedType, explicitTimeout, resolve) {
  17450. const id = (el._endId = ++endId);
  17451. const resolveIfNotStale = () => {
  17452. if (id === el._endId) {
  17453. resolve();
  17454. }
  17455. };
  17456. if (explicitTimeout) {
  17457. return setTimeout(resolveIfNotStale, explicitTimeout);
  17458. }
  17459. const { type, timeout, propCount } = getTransitionInfo(el, expectedType);
  17460. if (!type) {
  17461. return resolve();
  17462. }
  17463. const endEvent = type + 'end';
  17464. let ended = 0;
  17465. const end = () => {
  17466. el.removeEventListener(endEvent, onEnd);
  17467. resolveIfNotStale();
  17468. };
  17469. const onEnd = (e) => {
  17470. if (e.target === el && ++ended >= propCount) {
  17471. end();
  17472. }
  17473. };
  17474. setTimeout(() => {
  17475. if (ended < propCount) {
  17476. end();
  17477. }
  17478. }, timeout + 1);
  17479. el.addEventListener(endEvent, onEnd);
  17480. }
  17481. function getTransitionInfo(el, expectedType) {
  17482. const styles = window.getComputedStyle(el);
  17483. // JSDOM may return undefined for transition properties
  17484. const getStyleProperties = (key) => (styles[key] || '').split(', ');
  17485. const transitionDelays = getStyleProperties(TRANSITION + 'Delay');
  17486. const transitionDurations = getStyleProperties(TRANSITION + 'Duration');
  17487. const transitionTimeout = getTimeout(transitionDelays, transitionDurations);
  17488. const animationDelays = getStyleProperties(ANIMATION + 'Delay');
  17489. const animationDurations = getStyleProperties(ANIMATION + 'Duration');
  17490. const animationTimeout = getTimeout(animationDelays, animationDurations);
  17491. let type = null;
  17492. let timeout = 0;
  17493. let propCount = 0;
  17494. /* istanbul ignore if */
  17495. if (expectedType === TRANSITION) {
  17496. if (transitionTimeout > 0) {
  17497. type = TRANSITION;
  17498. timeout = transitionTimeout;
  17499. propCount = transitionDurations.length;
  17500. }
  17501. }
  17502. else if (expectedType === ANIMATION) {
  17503. if (animationTimeout > 0) {
  17504. type = ANIMATION;
  17505. timeout = animationTimeout;
  17506. propCount = animationDurations.length;
  17507. }
  17508. }
  17509. else {
  17510. timeout = Math.max(transitionTimeout, animationTimeout);
  17511. type =
  17512. timeout > 0
  17513. ? transitionTimeout > animationTimeout
  17514. ? TRANSITION
  17515. : ANIMATION
  17516. : null;
  17517. propCount = type
  17518. ? type === TRANSITION
  17519. ? transitionDurations.length
  17520. : animationDurations.length
  17521. : 0;
  17522. }
  17523. const hasTransform = type === TRANSITION &&
  17524. /\b(transform|all)(,|$)/.test(styles[TRANSITION + 'Property']);
  17525. return {
  17526. type,
  17527. timeout,
  17528. propCount,
  17529. hasTransform
  17530. };
  17531. }
  17532. function getTimeout(delays, durations) {
  17533. while (delays.length < durations.length) {
  17534. delays = delays.concat(delays);
  17535. }
  17536. return Math.max(...durations.map((d, i) => toMs(d) + toMs(delays[i])));
  17537. }
  17538. // Old versions of Chromium (below 61.0.3163.100) formats floating pointer
  17539. // numbers in a locale-dependent way, using a comma instead of a dot.
  17540. // If comma is not replaced with a dot, the input will be rounded down
  17541. // (i.e. acting as a floor function) causing unexpected behaviors
  17542. function toMs(s) {
  17543. return Number(s.slice(0, -1).replace(',', '.')) * 1000;
  17544. }
  17545. // synchronously force layout to put elements into a certain state
  17546. function forceReflow() {
  17547. return document.body.offsetHeight;
  17548. }
  17549. const positionMap = new WeakMap();
  17550. const newPositionMap = new WeakMap();
  17551. const TransitionGroupImpl = {
  17552. name: 'TransitionGroup',
  17553. props: /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)({}, TransitionPropsValidators, {
  17554. tag: String,
  17555. moveClass: String
  17556. }),
  17557. setup(props, { slots }) {
  17558. const instance = (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.getCurrentInstance)();
  17559. const state = (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.useTransitionState)();
  17560. let prevChildren;
  17561. let children;
  17562. (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.onUpdated)(() => {
  17563. // children is guaranteed to exist after initial render
  17564. if (!prevChildren.length) {
  17565. return;
  17566. }
  17567. const moveClass = props.moveClass || `${props.name || 'v'}-move`;
  17568. if (!hasCSSTransform(prevChildren[0].el, instance.vnode.el, moveClass)) {
  17569. return;
  17570. }
  17571. // we divide the work into three loops to avoid mixing DOM reads and writes
  17572. // in each iteration - which helps prevent layout thrashing.
  17573. prevChildren.forEach(callPendingCbs);
  17574. prevChildren.forEach(recordPosition);
  17575. const movedChildren = prevChildren.filter(applyTranslation);
  17576. // force reflow to put everything in position
  17577. forceReflow();
  17578. movedChildren.forEach(c => {
  17579. const el = c.el;
  17580. const style = el.style;
  17581. addTransitionClass(el, moveClass);
  17582. style.transform = style.webkitTransform = style.transitionDuration = '';
  17583. const cb = (el._moveCb = (e) => {
  17584. if (e && e.target !== el) {
  17585. return;
  17586. }
  17587. if (!e || /transform$/.test(e.propertyName)) {
  17588. el.removeEventListener('transitionend', cb);
  17589. el._moveCb = null;
  17590. removeTransitionClass(el, moveClass);
  17591. }
  17592. });
  17593. el.addEventListener('transitionend', cb);
  17594. });
  17595. });
  17596. return () => {
  17597. const rawProps = (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_2__.toRaw)(props);
  17598. const cssTransitionProps = resolveTransitionProps(rawProps);
  17599. let tag = rawProps.tag || _vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.Fragment;
  17600. prevChildren = children;
  17601. children = slots.default ? (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.getTransitionRawChildren)(slots.default()) : [];
  17602. for (let i = 0; i < children.length; i++) {
  17603. const child = children[i];
  17604. if (child.key != null) {
  17605. (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.setTransitionHooks)(child, (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.resolveTransitionHooks)(child, cssTransitionProps, state, instance));
  17606. }
  17607. else if ((true)) {
  17608. (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.warn)(`<TransitionGroup> children must be keyed.`);
  17609. }
  17610. }
  17611. if (prevChildren) {
  17612. for (let i = 0; i < prevChildren.length; i++) {
  17613. const child = prevChildren[i];
  17614. (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.setTransitionHooks)(child, (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.resolveTransitionHooks)(child, cssTransitionProps, state, instance));
  17615. positionMap.set(child, child.el.getBoundingClientRect());
  17616. }
  17617. }
  17618. return (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.createVNode)(tag, null, children);
  17619. };
  17620. }
  17621. };
  17622. const TransitionGroup = TransitionGroupImpl;
  17623. function callPendingCbs(c) {
  17624. const el = c.el;
  17625. if (el._moveCb) {
  17626. el._moveCb();
  17627. }
  17628. if (el._enterCb) {
  17629. el._enterCb();
  17630. }
  17631. }
  17632. function recordPosition(c) {
  17633. newPositionMap.set(c, c.el.getBoundingClientRect());
  17634. }
  17635. function applyTranslation(c) {
  17636. const oldPos = positionMap.get(c);
  17637. const newPos = newPositionMap.get(c);
  17638. const dx = oldPos.left - newPos.left;
  17639. const dy = oldPos.top - newPos.top;
  17640. if (dx || dy) {
  17641. const s = c.el.style;
  17642. s.transform = s.webkitTransform = `translate(${dx}px,${dy}px)`;
  17643. s.transitionDuration = '0s';
  17644. return c;
  17645. }
  17646. }
  17647. function hasCSSTransform(el, root, moveClass) {
  17648. // Detect whether an element with the move class applied has
  17649. // CSS transitions. Since the element may be inside an entering
  17650. // transition at this very moment, we make a clone of it and remove
  17651. // all other transition classes applied to ensure only the move class
  17652. // is applied.
  17653. const clone = el.cloneNode();
  17654. if (el._vtc) {
  17655. el._vtc.forEach(cls => {
  17656. cls.split(/\s+/).forEach(c => c && clone.classList.remove(c));
  17657. });
  17658. }
  17659. moveClass.split(/\s+/).forEach(c => c && clone.classList.add(c));
  17660. clone.style.display = 'none';
  17661. const container = (root.nodeType === 1 ? root : root.parentNode);
  17662. container.appendChild(clone);
  17663. const { hasTransform } = getTransitionInfo(clone);
  17664. container.removeChild(clone);
  17665. return hasTransform;
  17666. }
  17667. const getModelAssigner = (vnode) => {
  17668. const fn = vnode.props['onUpdate:modelValue'];
  17669. return (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(fn) ? value => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.invokeArrayFns)(fn, value) : fn;
  17670. };
  17671. function onCompositionStart(e) {
  17672. e.target.composing = true;
  17673. }
  17674. function onCompositionEnd(e) {
  17675. const target = e.target;
  17676. if (target.composing) {
  17677. target.composing = false;
  17678. trigger(target, 'input');
  17679. }
  17680. }
  17681. function trigger(el, type) {
  17682. const e = document.createEvent('HTMLEvents');
  17683. e.initEvent(type, true, true);
  17684. el.dispatchEvent(e);
  17685. }
  17686. // We are exporting the v-model runtime directly as vnode hooks so that it can
  17687. // be tree-shaken in case v-model is never used.
  17688. const vModelText = {
  17689. created(el, { modifiers: { lazy, trim, number } }, vnode) {
  17690. el._assign = getModelAssigner(vnode);
  17691. const castToNumber = number || (vnode.props && vnode.props.type === 'number');
  17692. addEventListener(el, lazy ? 'change' : 'input', e => {
  17693. if (e.target.composing)
  17694. return;
  17695. let domValue = el.value;
  17696. if (trim) {
  17697. domValue = domValue.trim();
  17698. }
  17699. else if (castToNumber) {
  17700. domValue = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toNumber)(domValue);
  17701. }
  17702. el._assign(domValue);
  17703. });
  17704. if (trim) {
  17705. addEventListener(el, 'change', () => {
  17706. el.value = el.value.trim();
  17707. });
  17708. }
  17709. if (!lazy) {
  17710. addEventListener(el, 'compositionstart', onCompositionStart);
  17711. addEventListener(el, 'compositionend', onCompositionEnd);
  17712. // Safari < 10.2 & UIWebView doesn't fire compositionend when
  17713. // switching focus before confirming composition choice
  17714. // this also fixes the issue where some browsers e.g. iOS Chrome
  17715. // fires "change" instead of "input" on autocomplete.
  17716. addEventListener(el, 'change', onCompositionEnd);
  17717. }
  17718. },
  17719. // set value on mounted so it's after min/max for type="range"
  17720. mounted(el, { value }) {
  17721. el.value = value == null ? '' : value;
  17722. },
  17723. beforeUpdate(el, { value, modifiers: { lazy, trim, number } }, vnode) {
  17724. el._assign = getModelAssigner(vnode);
  17725. // avoid clearing unresolved text. #2302
  17726. if (el.composing)
  17727. return;
  17728. if (document.activeElement === el) {
  17729. if (lazy) {
  17730. return;
  17731. }
  17732. if (trim && el.value.trim() === value) {
  17733. return;
  17734. }
  17735. if ((number || el.type === 'number') && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toNumber)(el.value) === value) {
  17736. return;
  17737. }
  17738. }
  17739. const newValue = value == null ? '' : value;
  17740. if (el.value !== newValue) {
  17741. el.value = newValue;
  17742. }
  17743. }
  17744. };
  17745. const vModelCheckbox = {
  17746. // #4096 array checkboxes need to be deep traversed
  17747. deep: true,
  17748. created(el, _, vnode) {
  17749. el._assign = getModelAssigner(vnode);
  17750. addEventListener(el, 'change', () => {
  17751. const modelValue = el._modelValue;
  17752. const elementValue = getValue(el);
  17753. const checked = el.checked;
  17754. const assign = el._assign;
  17755. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(modelValue)) {
  17756. const index = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.looseIndexOf)(modelValue, elementValue);
  17757. const found = index !== -1;
  17758. if (checked && !found) {
  17759. assign(modelValue.concat(elementValue));
  17760. }
  17761. else if (!checked && found) {
  17762. const filtered = [...modelValue];
  17763. filtered.splice(index, 1);
  17764. assign(filtered);
  17765. }
  17766. }
  17767. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isSet)(modelValue)) {
  17768. const cloned = new Set(modelValue);
  17769. if (checked) {
  17770. cloned.add(elementValue);
  17771. }
  17772. else {
  17773. cloned.delete(elementValue);
  17774. }
  17775. assign(cloned);
  17776. }
  17777. else {
  17778. assign(getCheckboxValue(el, checked));
  17779. }
  17780. });
  17781. },
  17782. // set initial checked on mount to wait for true-value/false-value
  17783. mounted: setChecked,
  17784. beforeUpdate(el, binding, vnode) {
  17785. el._assign = getModelAssigner(vnode);
  17786. setChecked(el, binding, vnode);
  17787. }
  17788. };
  17789. function setChecked(el, { value, oldValue }, vnode) {
  17790. el._modelValue = value;
  17791. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(value)) {
  17792. el.checked = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.looseIndexOf)(value, vnode.props.value) > -1;
  17793. }
  17794. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isSet)(value)) {
  17795. el.checked = value.has(vnode.props.value);
  17796. }
  17797. else if (value !== oldValue) {
  17798. el.checked = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.looseEqual)(value, getCheckboxValue(el, true));
  17799. }
  17800. }
  17801. const vModelRadio = {
  17802. created(el, { value }, vnode) {
  17803. el.checked = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.looseEqual)(value, vnode.props.value);
  17804. el._assign = getModelAssigner(vnode);
  17805. addEventListener(el, 'change', () => {
  17806. el._assign(getValue(el));
  17807. });
  17808. },
  17809. beforeUpdate(el, { value, oldValue }, vnode) {
  17810. el._assign = getModelAssigner(vnode);
  17811. if (value !== oldValue) {
  17812. el.checked = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.looseEqual)(value, vnode.props.value);
  17813. }
  17814. }
  17815. };
  17816. const vModelSelect = {
  17817. // <select multiple> value need to be deep traversed
  17818. deep: true,
  17819. created(el, { value, modifiers: { number } }, vnode) {
  17820. const isSetModel = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isSet)(value);
  17821. addEventListener(el, 'change', () => {
  17822. const selectedVal = Array.prototype.filter
  17823. .call(el.options, (o) => o.selected)
  17824. .map((o) => number ? (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.toNumber)(getValue(o)) : getValue(o));
  17825. el._assign(el.multiple
  17826. ? isSetModel
  17827. ? new Set(selectedVal)
  17828. : selectedVal
  17829. : selectedVal[0]);
  17830. });
  17831. el._assign = getModelAssigner(vnode);
  17832. },
  17833. // set value in mounted & updated because <select> relies on its children
  17834. // <option>s.
  17835. mounted(el, { value }) {
  17836. setSelected(el, value);
  17837. },
  17838. beforeUpdate(el, _binding, vnode) {
  17839. el._assign = getModelAssigner(vnode);
  17840. },
  17841. updated(el, { value }) {
  17842. setSelected(el, value);
  17843. }
  17844. };
  17845. function setSelected(el, value) {
  17846. const isMultiple = el.multiple;
  17847. if (isMultiple && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(value) && !(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isSet)(value)) {
  17848. ( true) &&
  17849. (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.warn)(`<select multiple v-model> expects an Array or Set value for its binding, ` +
  17850. `but got ${Object.prototype.toString.call(value).slice(8, -1)}.`);
  17851. return;
  17852. }
  17853. for (let i = 0, l = el.options.length; i < l; i++) {
  17854. const option = el.options[i];
  17855. const optionValue = getValue(option);
  17856. if (isMultiple) {
  17857. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(value)) {
  17858. option.selected = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.looseIndexOf)(value, optionValue) > -1;
  17859. }
  17860. else {
  17861. option.selected = value.has(optionValue);
  17862. }
  17863. }
  17864. else {
  17865. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.looseEqual)(getValue(option), value)) {
  17866. if (el.selectedIndex !== i)
  17867. el.selectedIndex = i;
  17868. return;
  17869. }
  17870. }
  17871. }
  17872. if (!isMultiple && el.selectedIndex !== -1) {
  17873. el.selectedIndex = -1;
  17874. }
  17875. }
  17876. // retrieve raw value set via :value bindings
  17877. function getValue(el) {
  17878. return '_value' in el ? el._value : el.value;
  17879. }
  17880. // retrieve raw value for true-value and false-value set via :true-value or :false-value bindings
  17881. function getCheckboxValue(el, checked) {
  17882. const key = checked ? '_trueValue' : '_falseValue';
  17883. return key in el ? el[key] : checked;
  17884. }
  17885. const vModelDynamic = {
  17886. created(el, binding, vnode) {
  17887. callModelHook(el, binding, vnode, null, 'created');
  17888. },
  17889. mounted(el, binding, vnode) {
  17890. callModelHook(el, binding, vnode, null, 'mounted');
  17891. },
  17892. beforeUpdate(el, binding, vnode, prevVNode) {
  17893. callModelHook(el, binding, vnode, prevVNode, 'beforeUpdate');
  17894. },
  17895. updated(el, binding, vnode, prevVNode) {
  17896. callModelHook(el, binding, vnode, prevVNode, 'updated');
  17897. }
  17898. };
  17899. function callModelHook(el, binding, vnode, prevVNode, hook) {
  17900. let modelToUse;
  17901. switch (el.tagName) {
  17902. case 'SELECT':
  17903. modelToUse = vModelSelect;
  17904. break;
  17905. case 'TEXTAREA':
  17906. modelToUse = vModelText;
  17907. break;
  17908. default:
  17909. switch (vnode.props && vnode.props.type) {
  17910. case 'checkbox':
  17911. modelToUse = vModelCheckbox;
  17912. break;
  17913. case 'radio':
  17914. modelToUse = vModelRadio;
  17915. break;
  17916. default:
  17917. modelToUse = vModelText;
  17918. }
  17919. }
  17920. const fn = modelToUse[hook];
  17921. fn && fn(el, binding, vnode, prevVNode);
  17922. }
  17923. // SSR vnode transforms, only used when user includes client-oriented render
  17924. // function in SSR
  17925. function initVModelForSSR() {
  17926. vModelText.getSSRProps = ({ value }) => ({ value });
  17927. vModelRadio.getSSRProps = ({ value }, vnode) => {
  17928. if (vnode.props && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.looseEqual)(vnode.props.value, value)) {
  17929. return { checked: true };
  17930. }
  17931. };
  17932. vModelCheckbox.getSSRProps = ({ value }, vnode) => {
  17933. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isArray)(value)) {
  17934. if (vnode.props && (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.looseIndexOf)(value, vnode.props.value) > -1) {
  17935. return { checked: true };
  17936. }
  17937. }
  17938. else if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isSet)(value)) {
  17939. if (vnode.props && value.has(vnode.props.value)) {
  17940. return { checked: true };
  17941. }
  17942. }
  17943. else if (value) {
  17944. return { checked: true };
  17945. }
  17946. };
  17947. }
  17948. const systemModifiers = ['ctrl', 'shift', 'alt', 'meta'];
  17949. const modifierGuards = {
  17950. stop: e => e.stopPropagation(),
  17951. prevent: e => e.preventDefault(),
  17952. self: e => e.target !== e.currentTarget,
  17953. ctrl: e => !e.ctrlKey,
  17954. shift: e => !e.shiftKey,
  17955. alt: e => !e.altKey,
  17956. meta: e => !e.metaKey,
  17957. left: e => 'button' in e && e.button !== 0,
  17958. middle: e => 'button' in e && e.button !== 1,
  17959. right: e => 'button' in e && e.button !== 2,
  17960. exact: (e, modifiers) => systemModifiers.some(m => e[`${m}Key`] && !modifiers.includes(m))
  17961. };
  17962. /**
  17963. * @private
  17964. */
  17965. const withModifiers = (fn, modifiers) => {
  17966. return (event, ...args) => {
  17967. for (let i = 0; i < modifiers.length; i++) {
  17968. const guard = modifierGuards[modifiers[i]];
  17969. if (guard && guard(event, modifiers))
  17970. return;
  17971. }
  17972. return fn(event, ...args);
  17973. };
  17974. };
  17975. // Kept for 2.x compat.
  17976. // Note: IE11 compat for `spacebar` and `del` is removed for now.
  17977. const keyNames = {
  17978. esc: 'escape',
  17979. space: ' ',
  17980. up: 'arrow-up',
  17981. left: 'arrow-left',
  17982. right: 'arrow-right',
  17983. down: 'arrow-down',
  17984. delete: 'backspace'
  17985. };
  17986. /**
  17987. * @private
  17988. */
  17989. const withKeys = (fn, modifiers) => {
  17990. return (event) => {
  17991. if (!('key' in event)) {
  17992. return;
  17993. }
  17994. const eventKey = (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.hyphenate)(event.key);
  17995. if (modifiers.some(k => k === eventKey || keyNames[k] === eventKey)) {
  17996. return fn(event);
  17997. }
  17998. };
  17999. };
  18000. const vShow = {
  18001. beforeMount(el, { value }, { transition }) {
  18002. el._vod = el.style.display === 'none' ? '' : el.style.display;
  18003. if (transition && value) {
  18004. transition.beforeEnter(el);
  18005. }
  18006. else {
  18007. setDisplay(el, value);
  18008. }
  18009. },
  18010. mounted(el, { value }, { transition }) {
  18011. if (transition && value) {
  18012. transition.enter(el);
  18013. }
  18014. },
  18015. updated(el, { value, oldValue }, { transition }) {
  18016. if (!value === !oldValue)
  18017. return;
  18018. if (transition) {
  18019. if (value) {
  18020. transition.beforeEnter(el);
  18021. setDisplay(el, true);
  18022. transition.enter(el);
  18023. }
  18024. else {
  18025. transition.leave(el, () => {
  18026. setDisplay(el, false);
  18027. });
  18028. }
  18029. }
  18030. else {
  18031. setDisplay(el, value);
  18032. }
  18033. },
  18034. beforeUnmount(el, { value }) {
  18035. setDisplay(el, value);
  18036. }
  18037. };
  18038. function setDisplay(el, value) {
  18039. el.style.display = value ? el._vod : 'none';
  18040. }
  18041. // SSR vnode transforms, only used when user includes client-oriented render
  18042. // function in SSR
  18043. function initVShowForSSR() {
  18044. vShow.getSSRProps = ({ value }) => {
  18045. if (!value) {
  18046. return { style: { display: 'none' } };
  18047. }
  18048. };
  18049. }
  18050. const rendererOptions = /*#__PURE__*/ (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.extend)({ patchProp }, nodeOps);
  18051. // lazy create the renderer - this makes core renderer logic tree-shakable
  18052. // in case the user only imports reactivity utilities from Vue.
  18053. let renderer;
  18054. let enabledHydration = false;
  18055. function ensureRenderer() {
  18056. return (renderer ||
  18057. (renderer = (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.createRenderer)(rendererOptions)));
  18058. }
  18059. function ensureHydrationRenderer() {
  18060. renderer = enabledHydration
  18061. ? renderer
  18062. : (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.createHydrationRenderer)(rendererOptions);
  18063. enabledHydration = true;
  18064. return renderer;
  18065. }
  18066. // use explicit type casts here to avoid import() calls in rolled-up d.ts
  18067. const render = ((...args) => {
  18068. ensureRenderer().render(...args);
  18069. });
  18070. const hydrate = ((...args) => {
  18071. ensureHydrationRenderer().hydrate(...args);
  18072. });
  18073. const createApp = ((...args) => {
  18074. const app = ensureRenderer().createApp(...args);
  18075. if ((true)) {
  18076. injectNativeTagCheck(app);
  18077. injectCompilerOptionsCheck(app);
  18078. }
  18079. const { mount } = app;
  18080. app.mount = (containerOrSelector) => {
  18081. const container = normalizeContainer(containerOrSelector);
  18082. if (!container)
  18083. return;
  18084. const component = app._component;
  18085. if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isFunction)(component) && !component.render && !component.template) {
  18086. // __UNSAFE__
  18087. // Reason: potential execution of JS expressions in in-DOM template.
  18088. // The user must make sure the in-DOM template is trusted. If it's
  18089. // rendered by the server, the template should not contain any user data.
  18090. component.template = container.innerHTML;
  18091. }
  18092. // clear content before mounting
  18093. container.innerHTML = '';
  18094. const proxy = mount(container, false, container instanceof SVGElement);
  18095. if (container instanceof Element) {
  18096. container.removeAttribute('v-cloak');
  18097. container.setAttribute('data-v-app', '');
  18098. }
  18099. return proxy;
  18100. };
  18101. return app;
  18102. });
  18103. const createSSRApp = ((...args) => {
  18104. const app = ensureHydrationRenderer().createApp(...args);
  18105. if ((true)) {
  18106. injectNativeTagCheck(app);
  18107. injectCompilerOptionsCheck(app);
  18108. }
  18109. const { mount } = app;
  18110. app.mount = (containerOrSelector) => {
  18111. const container = normalizeContainer(containerOrSelector);
  18112. if (container) {
  18113. return mount(container, true, container instanceof SVGElement);
  18114. }
  18115. };
  18116. return app;
  18117. });
  18118. function injectNativeTagCheck(app) {
  18119. // Inject `isNativeTag`
  18120. // this is used for component name validation (dev only)
  18121. Object.defineProperty(app.config, 'isNativeTag', {
  18122. value: (tag) => (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isHTMLTag)(tag) || (0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isSVGTag)(tag),
  18123. writable: false
  18124. });
  18125. }
  18126. // dev only
  18127. function injectCompilerOptionsCheck(app) {
  18128. if ((0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.isRuntimeOnly)()) {
  18129. const isCustomElement = app.config.isCustomElement;
  18130. Object.defineProperty(app.config, 'isCustomElement', {
  18131. get() {
  18132. return isCustomElement;
  18133. },
  18134. set() {
  18135. (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.warn)(`The \`isCustomElement\` config option is deprecated. Use ` +
  18136. `\`compilerOptions.isCustomElement\` instead.`);
  18137. }
  18138. });
  18139. const compilerOptions = app.config.compilerOptions;
  18140. const msg = `The \`compilerOptions\` config option is only respected when using ` +
  18141. `a build of Vue.js that includes the runtime compiler (aka "full build"). ` +
  18142. `Since you are using the runtime-only build, \`compilerOptions\` ` +
  18143. `must be passed to \`@vue/compiler-dom\` in the build setup instead.\n` +
  18144. `- For vue-loader: pass it via vue-loader's \`compilerOptions\` loader option.\n` +
  18145. `- For vue-cli: see https://cli.vuejs.org/guide/webpack.html#modifying-options-of-a-loader\n` +
  18146. `- For vite: pass it via @vitejs/plugin-vue options. See https://github.com/vitejs/vite/tree/main/packages/plugin-vue#example-for-passing-options-to-vuecompiler-dom`;
  18147. Object.defineProperty(app.config, 'compilerOptions', {
  18148. get() {
  18149. (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.warn)(msg);
  18150. return compilerOptions;
  18151. },
  18152. set() {
  18153. (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.warn)(msg);
  18154. }
  18155. });
  18156. }
  18157. }
  18158. function normalizeContainer(container) {
  18159. if ((0,_vue_shared__WEBPACK_IMPORTED_MODULE_1__.isString)(container)) {
  18160. const res = document.querySelector(container);
  18161. if (( true) && !res) {
  18162. (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.warn)(`Failed to mount app: mount target selector "${container}" returned null.`);
  18163. }
  18164. return res;
  18165. }
  18166. if (( true) &&
  18167. window.ShadowRoot &&
  18168. container instanceof window.ShadowRoot &&
  18169. container.mode === 'closed') {
  18170. (0,_vue_runtime_core__WEBPACK_IMPORTED_MODULE_0__.warn)(`mounting on a ShadowRoot with \`{mode: "closed"}\` may lead to unpredictable bugs`);
  18171. }
  18172. return container;
  18173. }
  18174. let ssrDirectiveInitialized = false;
  18175. /**
  18176. * @internal
  18177. */
  18178. const initDirectivesForSSR = () => {
  18179. if (!ssrDirectiveInitialized) {
  18180. ssrDirectiveInitialized = true;
  18181. initVModelForSSR();
  18182. initVShowForSSR();
  18183. }
  18184. }
  18185. ;
  18186. /***/ }),
  18187. /***/ "./node_modules/@vue/shared/dist/shared.esm-bundler.js":
  18188. /*!*************************************************************!*\
  18189. !*** ./node_modules/@vue/shared/dist/shared.esm-bundler.js ***!
  18190. \*************************************************************/
  18191. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  18192. "use strict";
  18193. __webpack_require__.r(__webpack_exports__);
  18194. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  18195. /* harmony export */ "EMPTY_ARR": () => (/* binding */ EMPTY_ARR),
  18196. /* harmony export */ "EMPTY_OBJ": () => (/* binding */ EMPTY_OBJ),
  18197. /* harmony export */ "NO": () => (/* binding */ NO),
  18198. /* harmony export */ "NOOP": () => (/* binding */ NOOP),
  18199. /* harmony export */ "PatchFlagNames": () => (/* binding */ PatchFlagNames),
  18200. /* harmony export */ "camelize": () => (/* binding */ camelize),
  18201. /* harmony export */ "capitalize": () => (/* binding */ capitalize),
  18202. /* harmony export */ "def": () => (/* binding */ def),
  18203. /* harmony export */ "escapeHtml": () => (/* binding */ escapeHtml),
  18204. /* harmony export */ "escapeHtmlComment": () => (/* binding */ escapeHtmlComment),
  18205. /* harmony export */ "extend": () => (/* binding */ extend),
  18206. /* harmony export */ "generateCodeFrame": () => (/* binding */ generateCodeFrame),
  18207. /* harmony export */ "getGlobalThis": () => (/* binding */ getGlobalThis),
  18208. /* harmony export */ "hasChanged": () => (/* binding */ hasChanged),
  18209. /* harmony export */ "hasOwn": () => (/* binding */ hasOwn),
  18210. /* harmony export */ "hyphenate": () => (/* binding */ hyphenate),
  18211. /* harmony export */ "includeBooleanAttr": () => (/* binding */ includeBooleanAttr),
  18212. /* harmony export */ "invokeArrayFns": () => (/* binding */ invokeArrayFns),
  18213. /* harmony export */ "isArray": () => (/* binding */ isArray),
  18214. /* harmony export */ "isBooleanAttr": () => (/* binding */ isBooleanAttr),
  18215. /* harmony export */ "isBuiltInDirective": () => (/* binding */ isBuiltInDirective),
  18216. /* harmony export */ "isDate": () => (/* binding */ isDate),
  18217. /* harmony export */ "isFunction": () => (/* binding */ isFunction),
  18218. /* harmony export */ "isGloballyWhitelisted": () => (/* binding */ isGloballyWhitelisted),
  18219. /* harmony export */ "isHTMLTag": () => (/* binding */ isHTMLTag),
  18220. /* harmony export */ "isIntegerKey": () => (/* binding */ isIntegerKey),
  18221. /* harmony export */ "isKnownHtmlAttr": () => (/* binding */ isKnownHtmlAttr),
  18222. /* harmony export */ "isKnownSvgAttr": () => (/* binding */ isKnownSvgAttr),
  18223. /* harmony export */ "isMap": () => (/* binding */ isMap),
  18224. /* harmony export */ "isModelListener": () => (/* binding */ isModelListener),
  18225. /* harmony export */ "isNoUnitNumericStyleProp": () => (/* binding */ isNoUnitNumericStyleProp),
  18226. /* harmony export */ "isObject": () => (/* binding */ isObject),
  18227. /* harmony export */ "isOn": () => (/* binding */ isOn),
  18228. /* harmony export */ "isPlainObject": () => (/* binding */ isPlainObject),
  18229. /* harmony export */ "isPromise": () => (/* binding */ isPromise),
  18230. /* harmony export */ "isReservedProp": () => (/* binding */ isReservedProp),
  18231. /* harmony export */ "isSSRSafeAttrName": () => (/* binding */ isSSRSafeAttrName),
  18232. /* harmony export */ "isSVGTag": () => (/* binding */ isSVGTag),
  18233. /* harmony export */ "isSet": () => (/* binding */ isSet),
  18234. /* harmony export */ "isSpecialBooleanAttr": () => (/* binding */ isSpecialBooleanAttr),
  18235. /* harmony export */ "isString": () => (/* binding */ isString),
  18236. /* harmony export */ "isSymbol": () => (/* binding */ isSymbol),
  18237. /* harmony export */ "isVoidTag": () => (/* binding */ isVoidTag),
  18238. /* harmony export */ "looseEqual": () => (/* binding */ looseEqual),
  18239. /* harmony export */ "looseIndexOf": () => (/* binding */ looseIndexOf),
  18240. /* harmony export */ "makeMap": () => (/* binding */ makeMap),
  18241. /* harmony export */ "normalizeClass": () => (/* binding */ normalizeClass),
  18242. /* harmony export */ "normalizeProps": () => (/* binding */ normalizeProps),
  18243. /* harmony export */ "normalizeStyle": () => (/* binding */ normalizeStyle),
  18244. /* harmony export */ "objectToString": () => (/* binding */ objectToString),
  18245. /* harmony export */ "parseStringStyle": () => (/* binding */ parseStringStyle),
  18246. /* harmony export */ "propsToAttrMap": () => (/* binding */ propsToAttrMap),
  18247. /* harmony export */ "remove": () => (/* binding */ remove),
  18248. /* harmony export */ "slotFlagsText": () => (/* binding */ slotFlagsText),
  18249. /* harmony export */ "stringifyStyle": () => (/* binding */ stringifyStyle),
  18250. /* harmony export */ "toDisplayString": () => (/* binding */ toDisplayString),
  18251. /* harmony export */ "toHandlerKey": () => (/* binding */ toHandlerKey),
  18252. /* harmony export */ "toNumber": () => (/* binding */ toNumber),
  18253. /* harmony export */ "toRawType": () => (/* binding */ toRawType),
  18254. /* harmony export */ "toTypeString": () => (/* binding */ toTypeString)
  18255. /* harmony export */ });
  18256. /**
  18257. * Make a map and return a function for checking if a key
  18258. * is in that map.
  18259. * IMPORTANT: all calls of this function must be prefixed with
  18260. * \/\*#\_\_PURE\_\_\*\/
  18261. * So that rollup can tree-shake them if necessary.
  18262. */
  18263. function makeMap(str, expectsLowerCase) {
  18264. const map = Object.create(null);
  18265. const list = str.split(',');
  18266. for (let i = 0; i < list.length; i++) {
  18267. map[list[i]] = true;
  18268. }
  18269. return expectsLowerCase ? val => !!map[val.toLowerCase()] : val => !!map[val];
  18270. }
  18271. /**
  18272. * dev only flag -> name mapping
  18273. */
  18274. const PatchFlagNames = {
  18275. [1 /* TEXT */]: `TEXT`,
  18276. [2 /* CLASS */]: `CLASS`,
  18277. [4 /* STYLE */]: `STYLE`,
  18278. [8 /* PROPS */]: `PROPS`,
  18279. [16 /* FULL_PROPS */]: `FULL_PROPS`,
  18280. [32 /* HYDRATE_EVENTS */]: `HYDRATE_EVENTS`,
  18281. [64 /* STABLE_FRAGMENT */]: `STABLE_FRAGMENT`,
  18282. [128 /* KEYED_FRAGMENT */]: `KEYED_FRAGMENT`,
  18283. [256 /* UNKEYED_FRAGMENT */]: `UNKEYED_FRAGMENT`,
  18284. [512 /* NEED_PATCH */]: `NEED_PATCH`,
  18285. [1024 /* DYNAMIC_SLOTS */]: `DYNAMIC_SLOTS`,
  18286. [2048 /* DEV_ROOT_FRAGMENT */]: `DEV_ROOT_FRAGMENT`,
  18287. [-1 /* HOISTED */]: `HOISTED`,
  18288. [-2 /* BAIL */]: `BAIL`
  18289. };
  18290. /**
  18291. * Dev only
  18292. */
  18293. const slotFlagsText = {
  18294. [1 /* STABLE */]: 'STABLE',
  18295. [2 /* DYNAMIC */]: 'DYNAMIC',
  18296. [3 /* FORWARDED */]: 'FORWARDED'
  18297. };
  18298. const GLOBALS_WHITE_LISTED = 'Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,' +
  18299. 'decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,' +
  18300. 'Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt';
  18301. const isGloballyWhitelisted = /*#__PURE__*/ makeMap(GLOBALS_WHITE_LISTED);
  18302. const range = 2;
  18303. function generateCodeFrame(source, start = 0, end = source.length) {
  18304. // Split the content into individual lines but capture the newline sequence
  18305. // that separated each line. This is important because the actual sequence is
  18306. // needed to properly take into account the full line length for offset
  18307. // comparison
  18308. let lines = source.split(/(\r?\n)/);
  18309. // Separate the lines and newline sequences into separate arrays for easier referencing
  18310. const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);
  18311. lines = lines.filter((_, idx) => idx % 2 === 0);
  18312. let count = 0;
  18313. const res = [];
  18314. for (let i = 0; i < lines.length; i++) {
  18315. count +=
  18316. lines[i].length +
  18317. ((newlineSequences[i] && newlineSequences[i].length) || 0);
  18318. if (count >= start) {
  18319. for (let j = i - range; j <= i + range || end > count; j++) {
  18320. if (j < 0 || j >= lines.length)
  18321. continue;
  18322. const line = j + 1;
  18323. res.push(`${line}${' '.repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`);
  18324. const lineLength = lines[j].length;
  18325. const newLineSeqLength = (newlineSequences[j] && newlineSequences[j].length) || 0;
  18326. if (j === i) {
  18327. // push underline
  18328. const pad = start - (count - (lineLength + newLineSeqLength));
  18329. const length = Math.max(1, end > count ? lineLength - pad : end - start);
  18330. res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length));
  18331. }
  18332. else if (j > i) {
  18333. if (end > count) {
  18334. const length = Math.max(Math.min(end - count, lineLength), 1);
  18335. res.push(` | ` + '^'.repeat(length));
  18336. }
  18337. count += lineLength + newLineSeqLength;
  18338. }
  18339. }
  18340. break;
  18341. }
  18342. }
  18343. return res.join('\n');
  18344. }
  18345. /**
  18346. * On the client we only need to offer special cases for boolean attributes that
  18347. * have different names from their corresponding dom properties:
  18348. * - itemscope -> N/A
  18349. * - allowfullscreen -> allowFullscreen
  18350. * - formnovalidate -> formNoValidate
  18351. * - ismap -> isMap
  18352. * - nomodule -> noModule
  18353. * - novalidate -> noValidate
  18354. * - readonly -> readOnly
  18355. */
  18356. const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
  18357. const isSpecialBooleanAttr = /*#__PURE__*/ makeMap(specialBooleanAttrs);
  18358. /**
  18359. * The full list is needed during SSR to produce the correct initial markup.
  18360. */
  18361. const isBooleanAttr = /*#__PURE__*/ makeMap(specialBooleanAttrs +
  18362. `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,` +
  18363. `loop,open,required,reversed,scoped,seamless,` +
  18364. `checked,muted,multiple,selected`);
  18365. /**
  18366. * Boolean attributes should be included if the value is truthy or ''.
  18367. * e.g. `<select multiple>` compiles to `{ multiple: '' }`
  18368. */
  18369. function includeBooleanAttr(value) {
  18370. return !!value || value === '';
  18371. }
  18372. const unsafeAttrCharRE = /[>/="'\u0009\u000a\u000c\u0020]/;
  18373. const attrValidationCache = {};
  18374. function isSSRSafeAttrName(name) {
  18375. if (attrValidationCache.hasOwnProperty(name)) {
  18376. return attrValidationCache[name];
  18377. }
  18378. const isUnsafe = unsafeAttrCharRE.test(name);
  18379. if (isUnsafe) {
  18380. console.error(`unsafe attribute name: ${name}`);
  18381. }
  18382. return (attrValidationCache[name] = !isUnsafe);
  18383. }
  18384. const propsToAttrMap = {
  18385. acceptCharset: 'accept-charset',
  18386. className: 'class',
  18387. htmlFor: 'for',
  18388. httpEquiv: 'http-equiv'
  18389. };
  18390. /**
  18391. * CSS properties that accept plain numbers
  18392. */
  18393. const isNoUnitNumericStyleProp = /*#__PURE__*/ makeMap(`animation-iteration-count,border-image-outset,border-image-slice,` +
  18394. `border-image-width,box-flex,box-flex-group,box-ordinal-group,column-count,` +
  18395. `columns,flex,flex-grow,flex-positive,flex-shrink,flex-negative,flex-order,` +
  18396. `grid-row,grid-row-end,grid-row-span,grid-row-start,grid-column,` +
  18397. `grid-column-end,grid-column-span,grid-column-start,font-weight,line-clamp,` +
  18398. `line-height,opacity,order,orphans,tab-size,widows,z-index,zoom,` +
  18399. // SVG
  18400. `fill-opacity,flood-opacity,stop-opacity,stroke-dasharray,stroke-dashoffset,` +
  18401. `stroke-miterlimit,stroke-opacity,stroke-width`);
  18402. /**
  18403. * Known attributes, this is used for stringification of runtime static nodes
  18404. * so that we don't stringify bindings that cannot be set from HTML.
  18405. * Don't also forget to allow `data-*` and `aria-*`!
  18406. * Generated from https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes
  18407. */
  18408. const isKnownHtmlAttr = /*#__PURE__*/ makeMap(`accept,accept-charset,accesskey,action,align,allow,alt,async,` +
  18409. `autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,` +
  18410. `border,buffered,capture,challenge,charset,checked,cite,class,code,` +
  18411. `codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,` +
  18412. `coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,` +
  18413. `disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,` +
  18414. `formaction,formenctype,formmethod,formnovalidate,formtarget,headers,` +
  18415. `height,hidden,high,href,hreflang,http-equiv,icon,id,importance,integrity,` +
  18416. `ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,` +
  18417. `manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,` +
  18418. `open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,` +
  18419. `referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,` +
  18420. `selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,` +
  18421. `start,step,style,summary,tabindex,target,title,translate,type,usemap,` +
  18422. `value,width,wrap`);
  18423. /**
  18424. * Generated from https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute
  18425. */
  18426. const isKnownSvgAttr = /*#__PURE__*/ makeMap(`xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,` +
  18427. `arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,` +
  18428. `baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,` +
  18429. `clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,` +
  18430. `color-interpolation-filters,color-profile,color-rendering,` +
  18431. `contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,` +
  18432. `descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,` +
  18433. `dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,` +
  18434. `fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,` +
  18435. `font-family,font-size,font-size-adjust,font-stretch,font-style,` +
  18436. `font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,` +
  18437. `glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,` +
  18438. `gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,` +
  18439. `horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,` +
  18440. `k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,` +
  18441. `lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,` +
  18442. `marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,` +
  18443. `mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,` +
  18444. `name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,` +
  18445. `overflow,overline-position,overline-thickness,panose-1,paint-order,path,` +
  18446. `pathLength,patternContentUnits,patternTransform,patternUnits,ping,` +
  18447. `pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,` +
  18448. `preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,` +
  18449. `rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,` +
  18450. `restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,` +
  18451. `specularConstant,specularExponent,speed,spreadMethod,startOffset,` +
  18452. `stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,` +
  18453. `strikethrough-position,strikethrough-thickness,string,stroke,` +
  18454. `stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,` +
  18455. `stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,` +
  18456. `systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,` +
  18457. `text-decoration,text-rendering,textLength,to,transform,transform-origin,` +
  18458. `type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,` +
  18459. `unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,` +
  18460. `v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,` +
  18461. `vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,` +
  18462. `writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,` +
  18463. `xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,` +
  18464. `xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`);
  18465. function normalizeStyle(value) {
  18466. if (isArray(value)) {
  18467. const res = {};
  18468. for (let i = 0; i < value.length; i++) {
  18469. const item = value[i];
  18470. const normalized = isString(item)
  18471. ? parseStringStyle(item)
  18472. : normalizeStyle(item);
  18473. if (normalized) {
  18474. for (const key in normalized) {
  18475. res[key] = normalized[key];
  18476. }
  18477. }
  18478. }
  18479. return res;
  18480. }
  18481. else if (isString(value)) {
  18482. return value;
  18483. }
  18484. else if (isObject(value)) {
  18485. return value;
  18486. }
  18487. }
  18488. const listDelimiterRE = /;(?![^(]*\))/g;
  18489. const propertyDelimiterRE = /:(.+)/;
  18490. function parseStringStyle(cssText) {
  18491. const ret = {};
  18492. cssText.split(listDelimiterRE).forEach(item => {
  18493. if (item) {
  18494. const tmp = item.split(propertyDelimiterRE);
  18495. tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());
  18496. }
  18497. });
  18498. return ret;
  18499. }
  18500. function stringifyStyle(styles) {
  18501. let ret = '';
  18502. if (!styles || isString(styles)) {
  18503. return ret;
  18504. }
  18505. for (const key in styles) {
  18506. const value = styles[key];
  18507. const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);
  18508. if (isString(value) ||
  18509. (typeof value === 'number' && isNoUnitNumericStyleProp(normalizedKey))) {
  18510. // only render valid values
  18511. ret += `${normalizedKey}:${value};`;
  18512. }
  18513. }
  18514. return ret;
  18515. }
  18516. function normalizeClass(value) {
  18517. let res = '';
  18518. if (isString(value)) {
  18519. res = value;
  18520. }
  18521. else if (isArray(value)) {
  18522. for (let i = 0; i < value.length; i++) {
  18523. const normalized = normalizeClass(value[i]);
  18524. if (normalized) {
  18525. res += normalized + ' ';
  18526. }
  18527. }
  18528. }
  18529. else if (isObject(value)) {
  18530. for (const name in value) {
  18531. if (value[name]) {
  18532. res += name + ' ';
  18533. }
  18534. }
  18535. }
  18536. return res.trim();
  18537. }
  18538. function normalizeProps(props) {
  18539. if (!props)
  18540. return null;
  18541. let { class: klass, style } = props;
  18542. if (klass && !isString(klass)) {
  18543. props.class = normalizeClass(klass);
  18544. }
  18545. if (style) {
  18546. props.style = normalizeStyle(style);
  18547. }
  18548. return props;
  18549. }
  18550. // These tag configs are shared between compiler-dom and runtime-dom, so they
  18551. // https://developer.mozilla.org/en-US/docs/Web/HTML/Element
  18552. const HTML_TAGS = 'html,body,base,head,link,meta,style,title,address,article,aside,footer,' +
  18553. 'header,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,' +
  18554. 'figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,' +
  18555. 'data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,' +
  18556. 'time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,' +
  18557. 'canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,' +
  18558. 'th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,' +
  18559. 'option,output,progress,select,textarea,details,dialog,menu,' +
  18560. 'summary,template,blockquote,iframe,tfoot';
  18561. // https://developer.mozilla.org/en-US/docs/Web/SVG/Element
  18562. const SVG_TAGS = 'svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,' +
  18563. 'defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,' +
  18564. 'feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,' +
  18565. 'feDistanceLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,' +
  18566. 'feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,' +
  18567. 'fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,' +
  18568. 'foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,' +
  18569. 'mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,' +
  18570. 'polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,' +
  18571. 'text,textPath,title,tspan,unknown,use,view';
  18572. const VOID_TAGS = 'area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr';
  18573. /**
  18574. * Compiler only.
  18575. * Do NOT use in runtime code paths unless behind `(process.env.NODE_ENV !== 'production')` flag.
  18576. */
  18577. const isHTMLTag = /*#__PURE__*/ makeMap(HTML_TAGS);
  18578. /**
  18579. * Compiler only.
  18580. * Do NOT use in runtime code paths unless behind `(process.env.NODE_ENV !== 'production')` flag.
  18581. */
  18582. const isSVGTag = /*#__PURE__*/ makeMap(SVG_TAGS);
  18583. /**
  18584. * Compiler only.
  18585. * Do NOT use in runtime code paths unless behind `(process.env.NODE_ENV !== 'production')` flag.
  18586. */
  18587. const isVoidTag = /*#__PURE__*/ makeMap(VOID_TAGS);
  18588. const escapeRE = /["'&<>]/;
  18589. function escapeHtml(string) {
  18590. const str = '' + string;
  18591. const match = escapeRE.exec(str);
  18592. if (!match) {
  18593. return str;
  18594. }
  18595. let html = '';
  18596. let escaped;
  18597. let index;
  18598. let lastIndex = 0;
  18599. for (index = match.index; index < str.length; index++) {
  18600. switch (str.charCodeAt(index)) {
  18601. case 34: // "
  18602. escaped = '&quot;';
  18603. break;
  18604. case 38: // &
  18605. escaped = '&amp;';
  18606. break;
  18607. case 39: // '
  18608. escaped = '&#39;';
  18609. break;
  18610. case 60: // <
  18611. escaped = '&lt;';
  18612. break;
  18613. case 62: // >
  18614. escaped = '&gt;';
  18615. break;
  18616. default:
  18617. continue;
  18618. }
  18619. if (lastIndex !== index) {
  18620. html += str.slice(lastIndex, index);
  18621. }
  18622. lastIndex = index + 1;
  18623. html += escaped;
  18624. }
  18625. return lastIndex !== index ? html + str.slice(lastIndex, index) : html;
  18626. }
  18627. // https://www.w3.org/TR/html52/syntax.html#comments
  18628. const commentStripRE = /^-?>|<!--|-->|--!>|<!-$/g;
  18629. function escapeHtmlComment(src) {
  18630. return src.replace(commentStripRE, '');
  18631. }
  18632. function looseCompareArrays(a, b) {
  18633. if (a.length !== b.length)
  18634. return false;
  18635. let equal = true;
  18636. for (let i = 0; equal && i < a.length; i++) {
  18637. equal = looseEqual(a[i], b[i]);
  18638. }
  18639. return equal;
  18640. }
  18641. function looseEqual(a, b) {
  18642. if (a === b)
  18643. return true;
  18644. let aValidType = isDate(a);
  18645. let bValidType = isDate(b);
  18646. if (aValidType || bValidType) {
  18647. return aValidType && bValidType ? a.getTime() === b.getTime() : false;
  18648. }
  18649. aValidType = isArray(a);
  18650. bValidType = isArray(b);
  18651. if (aValidType || bValidType) {
  18652. return aValidType && bValidType ? looseCompareArrays(a, b) : false;
  18653. }
  18654. aValidType = isObject(a);
  18655. bValidType = isObject(b);
  18656. if (aValidType || bValidType) {
  18657. /* istanbul ignore if: this if will probably never be called */
  18658. if (!aValidType || !bValidType) {
  18659. return false;
  18660. }
  18661. const aKeysCount = Object.keys(a).length;
  18662. const bKeysCount = Object.keys(b).length;
  18663. if (aKeysCount !== bKeysCount) {
  18664. return false;
  18665. }
  18666. for (const key in a) {
  18667. const aHasKey = a.hasOwnProperty(key);
  18668. const bHasKey = b.hasOwnProperty(key);
  18669. if ((aHasKey && !bHasKey) ||
  18670. (!aHasKey && bHasKey) ||
  18671. !looseEqual(a[key], b[key])) {
  18672. return false;
  18673. }
  18674. }
  18675. }
  18676. return String(a) === String(b);
  18677. }
  18678. function looseIndexOf(arr, val) {
  18679. return arr.findIndex(item => looseEqual(item, val));
  18680. }
  18681. /**
  18682. * For converting {{ interpolation }} values to displayed strings.
  18683. * @private
  18684. */
  18685. const toDisplayString = (val) => {
  18686. return isString(val)
  18687. ? val
  18688. : val == null
  18689. ? ''
  18690. : isArray(val) ||
  18691. (isObject(val) &&
  18692. (val.toString === objectToString || !isFunction(val.toString)))
  18693. ? JSON.stringify(val, replacer, 2)
  18694. : String(val);
  18695. };
  18696. const replacer = (_key, val) => {
  18697. // can't use isRef here since @vue/shared has no deps
  18698. if (val && val.__v_isRef) {
  18699. return replacer(_key, val.value);
  18700. }
  18701. else if (isMap(val)) {
  18702. return {
  18703. [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val]) => {
  18704. entries[`${key} =>`] = val;
  18705. return entries;
  18706. }, {})
  18707. };
  18708. }
  18709. else if (isSet(val)) {
  18710. return {
  18711. [`Set(${val.size})`]: [...val.values()]
  18712. };
  18713. }
  18714. else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {
  18715. return String(val);
  18716. }
  18717. return val;
  18718. };
  18719. const EMPTY_OBJ = ( true)
  18720. ? Object.freeze({})
  18721. : 0;
  18722. const EMPTY_ARR = ( true) ? Object.freeze([]) : 0;
  18723. const NOOP = () => { };
  18724. /**
  18725. * Always return false.
  18726. */
  18727. const NO = () => false;
  18728. const onRE = /^on[^a-z]/;
  18729. const isOn = (key) => onRE.test(key);
  18730. const isModelListener = (key) => key.startsWith('onUpdate:');
  18731. const extend = Object.assign;
  18732. const remove = (arr, el) => {
  18733. const i = arr.indexOf(el);
  18734. if (i > -1) {
  18735. arr.splice(i, 1);
  18736. }
  18737. };
  18738. const hasOwnProperty = Object.prototype.hasOwnProperty;
  18739. const hasOwn = (val, key) => hasOwnProperty.call(val, key);
  18740. const isArray = Array.isArray;
  18741. const isMap = (val) => toTypeString(val) === '[object Map]';
  18742. const isSet = (val) => toTypeString(val) === '[object Set]';
  18743. const isDate = (val) => val instanceof Date;
  18744. const isFunction = (val) => typeof val === 'function';
  18745. const isString = (val) => typeof val === 'string';
  18746. const isSymbol = (val) => typeof val === 'symbol';
  18747. const isObject = (val) => val !== null && typeof val === 'object';
  18748. const isPromise = (val) => {
  18749. return isObject(val) && isFunction(val.then) && isFunction(val.catch);
  18750. };
  18751. const objectToString = Object.prototype.toString;
  18752. const toTypeString = (value) => objectToString.call(value);
  18753. const toRawType = (value) => {
  18754. // extract "RawType" from strings like "[object RawType]"
  18755. return toTypeString(value).slice(8, -1);
  18756. };
  18757. const isPlainObject = (val) => toTypeString(val) === '[object Object]';
  18758. const isIntegerKey = (key) => isString(key) &&
  18759. key !== 'NaN' &&
  18760. key[0] !== '-' &&
  18761. '' + parseInt(key, 10) === key;
  18762. const isReservedProp = /*#__PURE__*/ makeMap(
  18763. // the leading comma is intentional so empty string "" is also included
  18764. ',key,ref,ref_for,ref_key,' +
  18765. 'onVnodeBeforeMount,onVnodeMounted,' +
  18766. 'onVnodeBeforeUpdate,onVnodeUpdated,' +
  18767. 'onVnodeBeforeUnmount,onVnodeUnmounted');
  18768. const isBuiltInDirective = /*#__PURE__*/ makeMap('bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo');
  18769. const cacheStringFunction = (fn) => {
  18770. const cache = Object.create(null);
  18771. return ((str) => {
  18772. const hit = cache[str];
  18773. return hit || (cache[str] = fn(str));
  18774. });
  18775. };
  18776. const camelizeRE = /-(\w)/g;
  18777. /**
  18778. * @private
  18779. */
  18780. const camelize = cacheStringFunction((str) => {
  18781. return str.replace(camelizeRE, (_, c) => (c ? c.toUpperCase() : ''));
  18782. });
  18783. const hyphenateRE = /\B([A-Z])/g;
  18784. /**
  18785. * @private
  18786. */
  18787. const hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, '-$1').toLowerCase());
  18788. /**
  18789. * @private
  18790. */
  18791. const capitalize = cacheStringFunction((str) => str.charAt(0).toUpperCase() + str.slice(1));
  18792. /**
  18793. * @private
  18794. */
  18795. const toHandlerKey = cacheStringFunction((str) => str ? `on${capitalize(str)}` : ``);
  18796. // compare whether a value has changed, accounting for NaN.
  18797. const hasChanged = (value, oldValue) => !Object.is(value, oldValue);
  18798. const invokeArrayFns = (fns, arg) => {
  18799. for (let i = 0; i < fns.length; i++) {
  18800. fns[i](arg);
  18801. }
  18802. };
  18803. const def = (obj, key, value) => {
  18804. Object.defineProperty(obj, key, {
  18805. configurable: true,
  18806. enumerable: false,
  18807. value
  18808. });
  18809. };
  18810. const toNumber = (val) => {
  18811. const n = parseFloat(val);
  18812. return isNaN(n) ? val : n;
  18813. };
  18814. let _globalThis;
  18815. const getGlobalThis = () => {
  18816. return (_globalThis ||
  18817. (_globalThis =
  18818. typeof globalThis !== 'undefined'
  18819. ? globalThis
  18820. : typeof self !== 'undefined'
  18821. ? self
  18822. : typeof window !== 'undefined'
  18823. ? window
  18824. : typeof __webpack_require__.g !== 'undefined'
  18825. ? __webpack_require__.g
  18826. : {}));
  18827. };
  18828. /***/ }),
  18829. /***/ "./node_modules/base64-js/index.js":
  18830. /*!*****************************************!*\
  18831. !*** ./node_modules/base64-js/index.js ***!
  18832. \*****************************************/
  18833. /***/ ((__unused_webpack_module, exports) => {
  18834. "use strict";
  18835. exports.byteLength = byteLength
  18836. exports.toByteArray = toByteArray
  18837. exports.fromByteArray = fromByteArray
  18838. var lookup = []
  18839. var revLookup = []
  18840. var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array
  18841. var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
  18842. for (var i = 0, len = code.length; i < len; ++i) {
  18843. lookup[i] = code[i]
  18844. revLookup[code.charCodeAt(i)] = i
  18845. }
  18846. // Support decoding URL-safe base64 strings, as Node.js does.
  18847. // See: https://en.wikipedia.org/wiki/Base64#URL_applications
  18848. revLookup['-'.charCodeAt(0)] = 62
  18849. revLookup['_'.charCodeAt(0)] = 63
  18850. function getLens (b64) {
  18851. var len = b64.length
  18852. if (len % 4 > 0) {
  18853. throw new Error('Invalid string. Length must be a multiple of 4')
  18854. }
  18855. // Trim off extra bytes after placeholder bytes are found
  18856. // See: https://github.com/beatgammit/base64-js/issues/42
  18857. var validLen = b64.indexOf('=')
  18858. if (validLen === -1) validLen = len
  18859. var placeHoldersLen = validLen === len
  18860. ? 0
  18861. : 4 - (validLen % 4)
  18862. return [validLen, placeHoldersLen]
  18863. }
  18864. // base64 is 4/3 + up to two characters of the original data
  18865. function byteLength (b64) {
  18866. var lens = getLens(b64)
  18867. var validLen = lens[0]
  18868. var placeHoldersLen = lens[1]
  18869. return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen
  18870. }
  18871. function _byteLength (b64, validLen, placeHoldersLen) {
  18872. return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen
  18873. }
  18874. function toByteArray (b64) {
  18875. var tmp
  18876. var lens = getLens(b64)
  18877. var validLen = lens[0]
  18878. var placeHoldersLen = lens[1]
  18879. var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))
  18880. var curByte = 0
  18881. // if there are placeholders, only get up to the last complete 4 chars
  18882. var len = placeHoldersLen > 0
  18883. ? validLen - 4
  18884. : validLen
  18885. var i
  18886. for (i = 0; i < len; i += 4) {
  18887. tmp =
  18888. (revLookup[b64.charCodeAt(i)] << 18) |
  18889. (revLookup[b64.charCodeAt(i + 1)] << 12) |
  18890. (revLookup[b64.charCodeAt(i + 2)] << 6) |
  18891. revLookup[b64.charCodeAt(i + 3)]
  18892. arr[curByte++] = (tmp >> 16) & 0xFF
  18893. arr[curByte++] = (tmp >> 8) & 0xFF
  18894. arr[curByte++] = tmp & 0xFF
  18895. }
  18896. if (placeHoldersLen === 2) {
  18897. tmp =
  18898. (revLookup[b64.charCodeAt(i)] << 2) |
  18899. (revLookup[b64.charCodeAt(i + 1)] >> 4)
  18900. arr[curByte++] = tmp & 0xFF
  18901. }
  18902. if (placeHoldersLen === 1) {
  18903. tmp =
  18904. (revLookup[b64.charCodeAt(i)] << 10) |
  18905. (revLookup[b64.charCodeAt(i + 1)] << 4) |
  18906. (revLookup[b64.charCodeAt(i + 2)] >> 2)
  18907. arr[curByte++] = (tmp >> 8) & 0xFF
  18908. arr[curByte++] = tmp & 0xFF
  18909. }
  18910. return arr
  18911. }
  18912. function tripletToBase64 (num) {
  18913. return lookup[num >> 18 & 0x3F] +
  18914. lookup[num >> 12 & 0x3F] +
  18915. lookup[num >> 6 & 0x3F] +
  18916. lookup[num & 0x3F]
  18917. }
  18918. function encodeChunk (uint8, start, end) {
  18919. var tmp
  18920. var output = []
  18921. for (var i = start; i < end; i += 3) {
  18922. tmp =
  18923. ((uint8[i] << 16) & 0xFF0000) +
  18924. ((uint8[i + 1] << 8) & 0xFF00) +
  18925. (uint8[i + 2] & 0xFF)
  18926. output.push(tripletToBase64(tmp))
  18927. }
  18928. return output.join('')
  18929. }
  18930. function fromByteArray (uint8) {
  18931. var tmp
  18932. var len = uint8.length
  18933. var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes
  18934. var parts = []
  18935. var maxChunkLength = 16383 // must be multiple of 3
  18936. // go through the array every three bytes, we'll deal with trailing stuff later
  18937. for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {
  18938. parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))
  18939. }
  18940. // pad the end with zeros, but make sure to not forget the extra bytes
  18941. if (extraBytes === 1) {
  18942. tmp = uint8[len - 1]
  18943. parts.push(
  18944. lookup[tmp >> 2] +
  18945. lookup[(tmp << 4) & 0x3F] +
  18946. '=='
  18947. )
  18948. } else if (extraBytes === 2) {
  18949. tmp = (uint8[len - 2] << 8) + uint8[len - 1]
  18950. parts.push(
  18951. lookup[tmp >> 10] +
  18952. lookup[(tmp >> 4) & 0x3F] +
  18953. lookup[(tmp << 2) & 0x3F] +
  18954. '='
  18955. )
  18956. }
  18957. return parts.join('')
  18958. }
  18959. /***/ }),
  18960. /***/ "./node_modules/buffer/index.js":
  18961. /*!**************************************!*\
  18962. !*** ./node_modules/buffer/index.js ***!
  18963. \**************************************/
  18964. /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
  18965. "use strict";
  18966. /*!
  18967. * The buffer module from node.js, for the browser.
  18968. *
  18969. * @author Feross Aboukhadijeh <http://feross.org>
  18970. * @license MIT
  18971. */
  18972. /* eslint-disable no-proto */
  18973. var base64 = __webpack_require__(/*! base64-js */ "./node_modules/base64-js/index.js")
  18974. var ieee754 = __webpack_require__(/*! ieee754 */ "./node_modules/ieee754/index.js")
  18975. var isArray = __webpack_require__(/*! isarray */ "./node_modules/isarray/index.js")
  18976. exports.Buffer = Buffer
  18977. exports.SlowBuffer = SlowBuffer
  18978. exports.INSPECT_MAX_BYTES = 50
  18979. /**
  18980. * If `Buffer.TYPED_ARRAY_SUPPORT`:
  18981. * === true Use Uint8Array implementation (fastest)
  18982. * === false Use Object implementation (most compatible, even IE6)
  18983. *
  18984. * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
  18985. * Opera 11.6+, iOS 4.2+.
  18986. *
  18987. * Due to various browser bugs, sometimes the Object implementation will be used even
  18988. * when the browser supports typed arrays.
  18989. *
  18990. * Note:
  18991. *
  18992. * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,
  18993. * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
  18994. *
  18995. * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
  18996. *
  18997. * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
  18998. * incorrect length in some situations.
  18999. * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they
  19000. * get the Object implementation, which is slower but behaves correctly.
  19001. */
  19002. Buffer.TYPED_ARRAY_SUPPORT = __webpack_require__.g.TYPED_ARRAY_SUPPORT !== undefined
  19003. ? __webpack_require__.g.TYPED_ARRAY_SUPPORT
  19004. : typedArraySupport()
  19005. /*
  19006. * Export kMaxLength after typed array support is determined.
  19007. */
  19008. exports.kMaxLength = kMaxLength()
  19009. function typedArraySupport () {
  19010. try {
  19011. var arr = new Uint8Array(1)
  19012. arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}
  19013. return arr.foo() === 42 && // typed array instances can be augmented
  19014. typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`
  19015. arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`
  19016. } catch (e) {
  19017. return false
  19018. }
  19019. }
  19020. function kMaxLength () {
  19021. return Buffer.TYPED_ARRAY_SUPPORT
  19022. ? 0x7fffffff
  19023. : 0x3fffffff
  19024. }
  19025. function createBuffer (that, length) {
  19026. if (kMaxLength() < length) {
  19027. throw new RangeError('Invalid typed array length')
  19028. }
  19029. if (Buffer.TYPED_ARRAY_SUPPORT) {
  19030. // Return an augmented `Uint8Array` instance, for best performance
  19031. that = new Uint8Array(length)
  19032. that.__proto__ = Buffer.prototype
  19033. } else {
  19034. // Fallback: Return an object instance of the Buffer class
  19035. if (that === null) {
  19036. that = new Buffer(length)
  19037. }
  19038. that.length = length
  19039. }
  19040. return that
  19041. }
  19042. /**
  19043. * The Buffer constructor returns instances of `Uint8Array` that have their
  19044. * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of
  19045. * `Uint8Array`, so the returned instances will have all the node `Buffer` methods
  19046. * and the `Uint8Array` methods. Square bracket notation works as expected -- it
  19047. * returns a single octet.
  19048. *
  19049. * The `Uint8Array` prototype remains unmodified.
  19050. */
  19051. function Buffer (arg, encodingOrOffset, length) {
  19052. if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {
  19053. return new Buffer(arg, encodingOrOffset, length)
  19054. }
  19055. // Common case.
  19056. if (typeof arg === 'number') {
  19057. if (typeof encodingOrOffset === 'string') {
  19058. throw new Error(
  19059. 'If encoding is specified then the first argument must be a string'
  19060. )
  19061. }
  19062. return allocUnsafe(this, arg)
  19063. }
  19064. return from(this, arg, encodingOrOffset, length)
  19065. }
  19066. Buffer.poolSize = 8192 // not used by this implementation
  19067. // TODO: Legacy, not needed anymore. Remove in next major version.
  19068. Buffer._augment = function (arr) {
  19069. arr.__proto__ = Buffer.prototype
  19070. return arr
  19071. }
  19072. function from (that, value, encodingOrOffset, length) {
  19073. if (typeof value === 'number') {
  19074. throw new TypeError('"value" argument must not be a number')
  19075. }
  19076. if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {
  19077. return fromArrayBuffer(that, value, encodingOrOffset, length)
  19078. }
  19079. if (typeof value === 'string') {
  19080. return fromString(that, value, encodingOrOffset)
  19081. }
  19082. return fromObject(that, value)
  19083. }
  19084. /**
  19085. * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError
  19086. * if value is a number.
  19087. * Buffer.from(str[, encoding])
  19088. * Buffer.from(array)
  19089. * Buffer.from(buffer)
  19090. * Buffer.from(arrayBuffer[, byteOffset[, length]])
  19091. **/
  19092. Buffer.from = function (value, encodingOrOffset, length) {
  19093. return from(null, value, encodingOrOffset, length)
  19094. }
  19095. if (Buffer.TYPED_ARRAY_SUPPORT) {
  19096. Buffer.prototype.__proto__ = Uint8Array.prototype
  19097. Buffer.__proto__ = Uint8Array
  19098. if (typeof Symbol !== 'undefined' && Symbol.species &&
  19099. Buffer[Symbol.species] === Buffer) {
  19100. // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97
  19101. Object.defineProperty(Buffer, Symbol.species, {
  19102. value: null,
  19103. configurable: true
  19104. })
  19105. }
  19106. }
  19107. function assertSize (size) {
  19108. if (typeof size !== 'number') {
  19109. throw new TypeError('"size" argument must be a number')
  19110. } else if (size < 0) {
  19111. throw new RangeError('"size" argument must not be negative')
  19112. }
  19113. }
  19114. function alloc (that, size, fill, encoding) {
  19115. assertSize(size)
  19116. if (size <= 0) {
  19117. return createBuffer(that, size)
  19118. }
  19119. if (fill !== undefined) {
  19120. // Only pay attention to encoding if it's a string. This
  19121. // prevents accidentally sending in a number that would
  19122. // be interpretted as a start offset.
  19123. return typeof encoding === 'string'
  19124. ? createBuffer(that, size).fill(fill, encoding)
  19125. : createBuffer(that, size).fill(fill)
  19126. }
  19127. return createBuffer(that, size)
  19128. }
  19129. /**
  19130. * Creates a new filled Buffer instance.
  19131. * alloc(size[, fill[, encoding]])
  19132. **/
  19133. Buffer.alloc = function (size, fill, encoding) {
  19134. return alloc(null, size, fill, encoding)
  19135. }
  19136. function allocUnsafe (that, size) {
  19137. assertSize(size)
  19138. that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)
  19139. if (!Buffer.TYPED_ARRAY_SUPPORT) {
  19140. for (var i = 0; i < size; ++i) {
  19141. that[i] = 0
  19142. }
  19143. }
  19144. return that
  19145. }
  19146. /**
  19147. * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.
  19148. * */
  19149. Buffer.allocUnsafe = function (size) {
  19150. return allocUnsafe(null, size)
  19151. }
  19152. /**
  19153. * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.
  19154. */
  19155. Buffer.allocUnsafeSlow = function (size) {
  19156. return allocUnsafe(null, size)
  19157. }
  19158. function fromString (that, string, encoding) {
  19159. if (typeof encoding !== 'string' || encoding === '') {
  19160. encoding = 'utf8'
  19161. }
  19162. if (!Buffer.isEncoding(encoding)) {
  19163. throw new TypeError('"encoding" must be a valid string encoding')
  19164. }
  19165. var length = byteLength(string, encoding) | 0
  19166. that = createBuffer(that, length)
  19167. var actual = that.write(string, encoding)
  19168. if (actual !== length) {
  19169. // Writing a hex string, for example, that contains invalid characters will
  19170. // cause everything after the first invalid character to be ignored. (e.g.
  19171. // 'abxxcd' will be treated as 'ab')
  19172. that = that.slice(0, actual)
  19173. }
  19174. return that
  19175. }
  19176. function fromArrayLike (that, array) {
  19177. var length = array.length < 0 ? 0 : checked(array.length) | 0
  19178. that = createBuffer(that, length)
  19179. for (var i = 0; i < length; i += 1) {
  19180. that[i] = array[i] & 255
  19181. }
  19182. return that
  19183. }
  19184. function fromArrayBuffer (that, array, byteOffset, length) {
  19185. array.byteLength // this throws if `array` is not a valid ArrayBuffer
  19186. if (byteOffset < 0 || array.byteLength < byteOffset) {
  19187. throw new RangeError('\'offset\' is out of bounds')
  19188. }
  19189. if (array.byteLength < byteOffset + (length || 0)) {
  19190. throw new RangeError('\'length\' is out of bounds')
  19191. }
  19192. if (byteOffset === undefined && length === undefined) {
  19193. array = new Uint8Array(array)
  19194. } else if (length === undefined) {
  19195. array = new Uint8Array(array, byteOffset)
  19196. } else {
  19197. array = new Uint8Array(array, byteOffset, length)
  19198. }
  19199. if (Buffer.TYPED_ARRAY_SUPPORT) {
  19200. // Return an augmented `Uint8Array` instance, for best performance
  19201. that = array
  19202. that.__proto__ = Buffer.prototype
  19203. } else {
  19204. // Fallback: Return an object instance of the Buffer class
  19205. that = fromArrayLike(that, array)
  19206. }
  19207. return that
  19208. }
  19209. function fromObject (that, obj) {
  19210. if (Buffer.isBuffer(obj)) {
  19211. var len = checked(obj.length) | 0
  19212. that = createBuffer(that, len)
  19213. if (that.length === 0) {
  19214. return that
  19215. }
  19216. obj.copy(that, 0, 0, len)
  19217. return that
  19218. }
  19219. if (obj) {
  19220. if ((typeof ArrayBuffer !== 'undefined' &&
  19221. obj.buffer instanceof ArrayBuffer) || 'length' in obj) {
  19222. if (typeof obj.length !== 'number' || isnan(obj.length)) {
  19223. return createBuffer(that, 0)
  19224. }
  19225. return fromArrayLike(that, obj)
  19226. }
  19227. if (obj.type === 'Buffer' && isArray(obj.data)) {
  19228. return fromArrayLike(that, obj.data)
  19229. }
  19230. }
  19231. throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')
  19232. }
  19233. function checked (length) {
  19234. // Note: cannot use `length < kMaxLength()` here because that fails when
  19235. // length is NaN (which is otherwise coerced to zero.)
  19236. if (length >= kMaxLength()) {
  19237. throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
  19238. 'size: 0x' + kMaxLength().toString(16) + ' bytes')
  19239. }
  19240. return length | 0
  19241. }
  19242. function SlowBuffer (length) {
  19243. if (+length != length) { // eslint-disable-line eqeqeq
  19244. length = 0
  19245. }
  19246. return Buffer.alloc(+length)
  19247. }
  19248. Buffer.isBuffer = function isBuffer (b) {
  19249. return !!(b != null && b._isBuffer)
  19250. }
  19251. Buffer.compare = function compare (a, b) {
  19252. if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
  19253. throw new TypeError('Arguments must be Buffers')
  19254. }
  19255. if (a === b) return 0
  19256. var x = a.length
  19257. var y = b.length
  19258. for (var i = 0, len = Math.min(x, y); i < len; ++i) {
  19259. if (a[i] !== b[i]) {
  19260. x = a[i]
  19261. y = b[i]
  19262. break
  19263. }
  19264. }
  19265. if (x < y) return -1
  19266. if (y < x) return 1
  19267. return 0
  19268. }
  19269. Buffer.isEncoding = function isEncoding (encoding) {
  19270. switch (String(encoding).toLowerCase()) {
  19271. case 'hex':
  19272. case 'utf8':
  19273. case 'utf-8':
  19274. case 'ascii':
  19275. case 'latin1':
  19276. case 'binary':
  19277. case 'base64':
  19278. case 'ucs2':
  19279. case 'ucs-2':
  19280. case 'utf16le':
  19281. case 'utf-16le':
  19282. return true
  19283. default:
  19284. return false
  19285. }
  19286. }
  19287. Buffer.concat = function concat (list, length) {
  19288. if (!isArray(list)) {
  19289. throw new TypeError('"list" argument must be an Array of Buffers')
  19290. }
  19291. if (list.length === 0) {
  19292. return Buffer.alloc(0)
  19293. }
  19294. var i
  19295. if (length === undefined) {
  19296. length = 0
  19297. for (i = 0; i < list.length; ++i) {
  19298. length += list[i].length
  19299. }
  19300. }
  19301. var buffer = Buffer.allocUnsafe(length)
  19302. var pos = 0
  19303. for (i = 0; i < list.length; ++i) {
  19304. var buf = list[i]
  19305. if (!Buffer.isBuffer(buf)) {
  19306. throw new TypeError('"list" argument must be an Array of Buffers')
  19307. }
  19308. buf.copy(buffer, pos)
  19309. pos += buf.length
  19310. }
  19311. return buffer
  19312. }
  19313. function byteLength (string, encoding) {
  19314. if (Buffer.isBuffer(string)) {
  19315. return string.length
  19316. }
  19317. if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&
  19318. (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {
  19319. return string.byteLength
  19320. }
  19321. if (typeof string !== 'string') {
  19322. string = '' + string
  19323. }
  19324. var len = string.length
  19325. if (len === 0) return 0
  19326. // Use a for loop to avoid recursion
  19327. var loweredCase = false
  19328. for (;;) {
  19329. switch (encoding) {
  19330. case 'ascii':
  19331. case 'latin1':
  19332. case 'binary':
  19333. return len
  19334. case 'utf8':
  19335. case 'utf-8':
  19336. case undefined:
  19337. return utf8ToBytes(string).length
  19338. case 'ucs2':
  19339. case 'ucs-2':
  19340. case 'utf16le':
  19341. case 'utf-16le':
  19342. return len * 2
  19343. case 'hex':
  19344. return len >>> 1
  19345. case 'base64':
  19346. return base64ToBytes(string).length
  19347. default:
  19348. if (loweredCase) return utf8ToBytes(string).length // assume utf8
  19349. encoding = ('' + encoding).toLowerCase()
  19350. loweredCase = true
  19351. }
  19352. }
  19353. }
  19354. Buffer.byteLength = byteLength
  19355. function slowToString (encoding, start, end) {
  19356. var loweredCase = false
  19357. // No need to verify that "this.length <= MAX_UINT32" since it's a read-only
  19358. // property of a typed array.
  19359. // This behaves neither like String nor Uint8Array in that we set start/end
  19360. // to their upper/lower bounds if the value passed is out of range.
  19361. // undefined is handled specially as per ECMA-262 6th Edition,
  19362. // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.
  19363. if (start === undefined || start < 0) {
  19364. start = 0
  19365. }
  19366. // Return early if start > this.length. Done here to prevent potential uint32
  19367. // coercion fail below.
  19368. if (start > this.length) {
  19369. return ''
  19370. }
  19371. if (end === undefined || end > this.length) {
  19372. end = this.length
  19373. }
  19374. if (end <= 0) {
  19375. return ''
  19376. }
  19377. // Force coersion to uint32. This will also coerce falsey/NaN values to 0.
  19378. end >>>= 0
  19379. start >>>= 0
  19380. if (end <= start) {
  19381. return ''
  19382. }
  19383. if (!encoding) encoding = 'utf8'
  19384. while (true) {
  19385. switch (encoding) {
  19386. case 'hex':
  19387. return hexSlice(this, start, end)
  19388. case 'utf8':
  19389. case 'utf-8':
  19390. return utf8Slice(this, start, end)
  19391. case 'ascii':
  19392. return asciiSlice(this, start, end)
  19393. case 'latin1':
  19394. case 'binary':
  19395. return latin1Slice(this, start, end)
  19396. case 'base64':
  19397. return base64Slice(this, start, end)
  19398. case 'ucs2':
  19399. case 'ucs-2':
  19400. case 'utf16le':
  19401. case 'utf-16le':
  19402. return utf16leSlice(this, start, end)
  19403. default:
  19404. if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
  19405. encoding = (encoding + '').toLowerCase()
  19406. loweredCase = true
  19407. }
  19408. }
  19409. }
  19410. // The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect
  19411. // Buffer instances.
  19412. Buffer.prototype._isBuffer = true
  19413. function swap (b, n, m) {
  19414. var i = b[n]
  19415. b[n] = b[m]
  19416. b[m] = i
  19417. }
  19418. Buffer.prototype.swap16 = function swap16 () {
  19419. var len = this.length
  19420. if (len % 2 !== 0) {
  19421. throw new RangeError('Buffer size must be a multiple of 16-bits')
  19422. }
  19423. for (var i = 0; i < len; i += 2) {
  19424. swap(this, i, i + 1)
  19425. }
  19426. return this
  19427. }
  19428. Buffer.prototype.swap32 = function swap32 () {
  19429. var len = this.length
  19430. if (len % 4 !== 0) {
  19431. throw new RangeError('Buffer size must be a multiple of 32-bits')
  19432. }
  19433. for (var i = 0; i < len; i += 4) {
  19434. swap(this, i, i + 3)
  19435. swap(this, i + 1, i + 2)
  19436. }
  19437. return this
  19438. }
  19439. Buffer.prototype.swap64 = function swap64 () {
  19440. var len = this.length
  19441. if (len % 8 !== 0) {
  19442. throw new RangeError('Buffer size must be a multiple of 64-bits')
  19443. }
  19444. for (var i = 0; i < len; i += 8) {
  19445. swap(this, i, i + 7)
  19446. swap(this, i + 1, i + 6)
  19447. swap(this, i + 2, i + 5)
  19448. swap(this, i + 3, i + 4)
  19449. }
  19450. return this
  19451. }
  19452. Buffer.prototype.toString = function toString () {
  19453. var length = this.length | 0
  19454. if (length === 0) return ''
  19455. if (arguments.length === 0) return utf8Slice(this, 0, length)
  19456. return slowToString.apply(this, arguments)
  19457. }
  19458. Buffer.prototype.equals = function equals (b) {
  19459. if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
  19460. if (this === b) return true
  19461. return Buffer.compare(this, b) === 0
  19462. }
  19463. Buffer.prototype.inspect = function inspect () {
  19464. var str = ''
  19465. var max = exports.INSPECT_MAX_BYTES
  19466. if (this.length > 0) {
  19467. str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')
  19468. if (this.length > max) str += ' ... '
  19469. }
  19470. return '<Buffer ' + str + '>'
  19471. }
  19472. Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {
  19473. if (!Buffer.isBuffer(target)) {
  19474. throw new TypeError('Argument must be a Buffer')
  19475. }
  19476. if (start === undefined) {
  19477. start = 0
  19478. }
  19479. if (end === undefined) {
  19480. end = target ? target.length : 0
  19481. }
  19482. if (thisStart === undefined) {
  19483. thisStart = 0
  19484. }
  19485. if (thisEnd === undefined) {
  19486. thisEnd = this.length
  19487. }
  19488. if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {
  19489. throw new RangeError('out of range index')
  19490. }
  19491. if (thisStart >= thisEnd && start >= end) {
  19492. return 0
  19493. }
  19494. if (thisStart >= thisEnd) {
  19495. return -1
  19496. }
  19497. if (start >= end) {
  19498. return 1
  19499. }
  19500. start >>>= 0
  19501. end >>>= 0
  19502. thisStart >>>= 0
  19503. thisEnd >>>= 0
  19504. if (this === target) return 0
  19505. var x = thisEnd - thisStart
  19506. var y = end - start
  19507. var len = Math.min(x, y)
  19508. var thisCopy = this.slice(thisStart, thisEnd)
  19509. var targetCopy = target.slice(start, end)
  19510. for (var i = 0; i < len; ++i) {
  19511. if (thisCopy[i] !== targetCopy[i]) {
  19512. x = thisCopy[i]
  19513. y = targetCopy[i]
  19514. break
  19515. }
  19516. }
  19517. if (x < y) return -1
  19518. if (y < x) return 1
  19519. return 0
  19520. }
  19521. // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,
  19522. // OR the last index of `val` in `buffer` at offset <= `byteOffset`.
  19523. //
  19524. // Arguments:
  19525. // - buffer - a Buffer to search
  19526. // - val - a string, Buffer, or number
  19527. // - byteOffset - an index into `buffer`; will be clamped to an int32
  19528. // - encoding - an optional encoding, relevant is val is a string
  19529. // - dir - true for indexOf, false for lastIndexOf
  19530. function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {
  19531. // Empty buffer means no match
  19532. if (buffer.length === 0) return -1
  19533. // Normalize byteOffset
  19534. if (typeof byteOffset === 'string') {
  19535. encoding = byteOffset
  19536. byteOffset = 0
  19537. } else if (byteOffset > 0x7fffffff) {
  19538. byteOffset = 0x7fffffff
  19539. } else if (byteOffset < -0x80000000) {
  19540. byteOffset = -0x80000000
  19541. }
  19542. byteOffset = +byteOffset // Coerce to Number.
  19543. if (isNaN(byteOffset)) {
  19544. // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer
  19545. byteOffset = dir ? 0 : (buffer.length - 1)
  19546. }
  19547. // Normalize byteOffset: negative offsets start from the end of the buffer
  19548. if (byteOffset < 0) byteOffset = buffer.length + byteOffset
  19549. if (byteOffset >= buffer.length) {
  19550. if (dir) return -1
  19551. else byteOffset = buffer.length - 1
  19552. } else if (byteOffset < 0) {
  19553. if (dir) byteOffset = 0
  19554. else return -1
  19555. }
  19556. // Normalize val
  19557. if (typeof val === 'string') {
  19558. val = Buffer.from(val, encoding)
  19559. }
  19560. // Finally, search either indexOf (if dir is true) or lastIndexOf
  19561. if (Buffer.isBuffer(val)) {
  19562. // Special case: looking for empty string/buffer always fails
  19563. if (val.length === 0) {
  19564. return -1
  19565. }
  19566. return arrayIndexOf(buffer, val, byteOffset, encoding, dir)
  19567. } else if (typeof val === 'number') {
  19568. val = val & 0xFF // Search for a byte value [0-255]
  19569. if (Buffer.TYPED_ARRAY_SUPPORT &&
  19570. typeof Uint8Array.prototype.indexOf === 'function') {
  19571. if (dir) {
  19572. return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)
  19573. } else {
  19574. return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)
  19575. }
  19576. }
  19577. return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)
  19578. }
  19579. throw new TypeError('val must be string, number or Buffer')
  19580. }
  19581. function arrayIndexOf (arr, val, byteOffset, encoding, dir) {
  19582. var indexSize = 1
  19583. var arrLength = arr.length
  19584. var valLength = val.length
  19585. if (encoding !== undefined) {
  19586. encoding = String(encoding).toLowerCase()
  19587. if (encoding === 'ucs2' || encoding === 'ucs-2' ||
  19588. encoding === 'utf16le' || encoding === 'utf-16le') {
  19589. if (arr.length < 2 || val.length < 2) {
  19590. return -1
  19591. }
  19592. indexSize = 2
  19593. arrLength /= 2
  19594. valLength /= 2
  19595. byteOffset /= 2
  19596. }
  19597. }
  19598. function read (buf, i) {
  19599. if (indexSize === 1) {
  19600. return buf[i]
  19601. } else {
  19602. return buf.readUInt16BE(i * indexSize)
  19603. }
  19604. }
  19605. var i
  19606. if (dir) {
  19607. var foundIndex = -1
  19608. for (i = byteOffset; i < arrLength; i++) {
  19609. if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {
  19610. if (foundIndex === -1) foundIndex = i
  19611. if (i - foundIndex + 1 === valLength) return foundIndex * indexSize
  19612. } else {
  19613. if (foundIndex !== -1) i -= i - foundIndex
  19614. foundIndex = -1
  19615. }
  19616. }
  19617. } else {
  19618. if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength
  19619. for (i = byteOffset; i >= 0; i--) {
  19620. var found = true
  19621. for (var j = 0; j < valLength; j++) {
  19622. if (read(arr, i + j) !== read(val, j)) {
  19623. found = false
  19624. break
  19625. }
  19626. }
  19627. if (found) return i
  19628. }
  19629. }
  19630. return -1
  19631. }
  19632. Buffer.prototype.includes = function includes (val, byteOffset, encoding) {
  19633. return this.indexOf(val, byteOffset, encoding) !== -1
  19634. }
  19635. Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {
  19636. return bidirectionalIndexOf(this, val, byteOffset, encoding, true)
  19637. }
  19638. Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {
  19639. return bidirectionalIndexOf(this, val, byteOffset, encoding, false)
  19640. }
  19641. function hexWrite (buf, string, offset, length) {
  19642. offset = Number(offset) || 0
  19643. var remaining = buf.length - offset
  19644. if (!length) {
  19645. length = remaining
  19646. } else {
  19647. length = Number(length)
  19648. if (length > remaining) {
  19649. length = remaining
  19650. }
  19651. }
  19652. // must be an even number of digits
  19653. var strLen = string.length
  19654. if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')
  19655. if (length > strLen / 2) {
  19656. length = strLen / 2
  19657. }
  19658. for (var i = 0; i < length; ++i) {
  19659. var parsed = parseInt(string.substr(i * 2, 2), 16)
  19660. if (isNaN(parsed)) return i
  19661. buf[offset + i] = parsed
  19662. }
  19663. return i
  19664. }
  19665. function utf8Write (buf, string, offset, length) {
  19666. return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
  19667. }
  19668. function asciiWrite (buf, string, offset, length) {
  19669. return blitBuffer(asciiToBytes(string), buf, offset, length)
  19670. }
  19671. function latin1Write (buf, string, offset, length) {
  19672. return asciiWrite(buf, string, offset, length)
  19673. }
  19674. function base64Write (buf, string, offset, length) {
  19675. return blitBuffer(base64ToBytes(string), buf, offset, length)
  19676. }
  19677. function ucs2Write (buf, string, offset, length) {
  19678. return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
  19679. }
  19680. Buffer.prototype.write = function write (string, offset, length, encoding) {
  19681. // Buffer#write(string)
  19682. if (offset === undefined) {
  19683. encoding = 'utf8'
  19684. length = this.length
  19685. offset = 0
  19686. // Buffer#write(string, encoding)
  19687. } else if (length === undefined && typeof offset === 'string') {
  19688. encoding = offset
  19689. length = this.length
  19690. offset = 0
  19691. // Buffer#write(string, offset[, length][, encoding])
  19692. } else if (isFinite(offset)) {
  19693. offset = offset | 0
  19694. if (isFinite(length)) {
  19695. length = length | 0
  19696. if (encoding === undefined) encoding = 'utf8'
  19697. } else {
  19698. encoding = length
  19699. length = undefined
  19700. }
  19701. // legacy write(string, encoding, offset, length) - remove in v0.13
  19702. } else {
  19703. throw new Error(
  19704. 'Buffer.write(string, encoding, offset[, length]) is no longer supported'
  19705. )
  19706. }
  19707. var remaining = this.length - offset
  19708. if (length === undefined || length > remaining) length = remaining
  19709. if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
  19710. throw new RangeError('Attempt to write outside buffer bounds')
  19711. }
  19712. if (!encoding) encoding = 'utf8'
  19713. var loweredCase = false
  19714. for (;;) {
  19715. switch (encoding) {
  19716. case 'hex':
  19717. return hexWrite(this, string, offset, length)
  19718. case 'utf8':
  19719. case 'utf-8':
  19720. return utf8Write(this, string, offset, length)
  19721. case 'ascii':
  19722. return asciiWrite(this, string, offset, length)
  19723. case 'latin1':
  19724. case 'binary':
  19725. return latin1Write(this, string, offset, length)
  19726. case 'base64':
  19727. // Warning: maxLength not taken into account in base64Write
  19728. return base64Write(this, string, offset, length)
  19729. case 'ucs2':
  19730. case 'ucs-2':
  19731. case 'utf16le':
  19732. case 'utf-16le':
  19733. return ucs2Write(this, string, offset, length)
  19734. default:
  19735. if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
  19736. encoding = ('' + encoding).toLowerCase()
  19737. loweredCase = true
  19738. }
  19739. }
  19740. }
  19741. Buffer.prototype.toJSON = function toJSON () {
  19742. return {
  19743. type: 'Buffer',
  19744. data: Array.prototype.slice.call(this._arr || this, 0)
  19745. }
  19746. }
  19747. function base64Slice (buf, start, end) {
  19748. if (start === 0 && end === buf.length) {
  19749. return base64.fromByteArray(buf)
  19750. } else {
  19751. return base64.fromByteArray(buf.slice(start, end))
  19752. }
  19753. }
  19754. function utf8Slice (buf, start, end) {
  19755. end = Math.min(buf.length, end)
  19756. var res = []
  19757. var i = start
  19758. while (i < end) {
  19759. var firstByte = buf[i]
  19760. var codePoint = null
  19761. var bytesPerSequence = (firstByte > 0xEF) ? 4
  19762. : (firstByte > 0xDF) ? 3
  19763. : (firstByte > 0xBF) ? 2
  19764. : 1
  19765. if (i + bytesPerSequence <= end) {
  19766. var secondByte, thirdByte, fourthByte, tempCodePoint
  19767. switch (bytesPerSequence) {
  19768. case 1:
  19769. if (firstByte < 0x80) {
  19770. codePoint = firstByte
  19771. }
  19772. break
  19773. case 2:
  19774. secondByte = buf[i + 1]
  19775. if ((secondByte & 0xC0) === 0x80) {
  19776. tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
  19777. if (tempCodePoint > 0x7F) {
  19778. codePoint = tempCodePoint
  19779. }
  19780. }
  19781. break
  19782. case 3:
  19783. secondByte = buf[i + 1]
  19784. thirdByte = buf[i + 2]
  19785. if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
  19786. tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
  19787. if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
  19788. codePoint = tempCodePoint
  19789. }
  19790. }
  19791. break
  19792. case 4:
  19793. secondByte = buf[i + 1]
  19794. thirdByte = buf[i + 2]
  19795. fourthByte = buf[i + 3]
  19796. if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
  19797. tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
  19798. if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
  19799. codePoint = tempCodePoint
  19800. }
  19801. }
  19802. }
  19803. }
  19804. if (codePoint === null) {
  19805. // we did not generate a valid codePoint so insert a
  19806. // replacement char (U+FFFD) and advance only 1 byte
  19807. codePoint = 0xFFFD
  19808. bytesPerSequence = 1
  19809. } else if (codePoint > 0xFFFF) {
  19810. // encode to utf16 (surrogate pair dance)
  19811. codePoint -= 0x10000
  19812. res.push(codePoint >>> 10 & 0x3FF | 0xD800)
  19813. codePoint = 0xDC00 | codePoint & 0x3FF
  19814. }
  19815. res.push(codePoint)
  19816. i += bytesPerSequence
  19817. }
  19818. return decodeCodePointsArray(res)
  19819. }
  19820. // Based on http://stackoverflow.com/a/22747272/680742, the browser with
  19821. // the lowest limit is Chrome, with 0x10000 args.
  19822. // We go 1 magnitude less, for safety
  19823. var MAX_ARGUMENTS_LENGTH = 0x1000
  19824. function decodeCodePointsArray (codePoints) {
  19825. var len = codePoints.length
  19826. if (len <= MAX_ARGUMENTS_LENGTH) {
  19827. return String.fromCharCode.apply(String, codePoints) // avoid extra slice()
  19828. }
  19829. // Decode in chunks to avoid "call stack size exceeded".
  19830. var res = ''
  19831. var i = 0
  19832. while (i < len) {
  19833. res += String.fromCharCode.apply(
  19834. String,
  19835. codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)
  19836. )
  19837. }
  19838. return res
  19839. }
  19840. function asciiSlice (buf, start, end) {
  19841. var ret = ''
  19842. end = Math.min(buf.length, end)
  19843. for (var i = start; i < end; ++i) {
  19844. ret += String.fromCharCode(buf[i] & 0x7F)
  19845. }
  19846. return ret
  19847. }
  19848. function latin1Slice (buf, start, end) {
  19849. var ret = ''
  19850. end = Math.min(buf.length, end)
  19851. for (var i = start; i < end; ++i) {
  19852. ret += String.fromCharCode(buf[i])
  19853. }
  19854. return ret
  19855. }
  19856. function hexSlice (buf, start, end) {
  19857. var len = buf.length
  19858. if (!start || start < 0) start = 0
  19859. if (!end || end < 0 || end > len) end = len
  19860. var out = ''
  19861. for (var i = start; i < end; ++i) {
  19862. out += toHex(buf[i])
  19863. }
  19864. return out
  19865. }
  19866. function utf16leSlice (buf, start, end) {
  19867. var bytes = buf.slice(start, end)
  19868. var res = ''
  19869. for (var i = 0; i < bytes.length; i += 2) {
  19870. res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
  19871. }
  19872. return res
  19873. }
  19874. Buffer.prototype.slice = function slice (start, end) {
  19875. var len = this.length
  19876. start = ~~start
  19877. end = end === undefined ? len : ~~end
  19878. if (start < 0) {
  19879. start += len
  19880. if (start < 0) start = 0
  19881. } else if (start > len) {
  19882. start = len
  19883. }
  19884. if (end < 0) {
  19885. end += len
  19886. if (end < 0) end = 0
  19887. } else if (end > len) {
  19888. end = len
  19889. }
  19890. if (end < start) end = start
  19891. var newBuf
  19892. if (Buffer.TYPED_ARRAY_SUPPORT) {
  19893. newBuf = this.subarray(start, end)
  19894. newBuf.__proto__ = Buffer.prototype
  19895. } else {
  19896. var sliceLen = end - start
  19897. newBuf = new Buffer(sliceLen, undefined)
  19898. for (var i = 0; i < sliceLen; ++i) {
  19899. newBuf[i] = this[i + start]
  19900. }
  19901. }
  19902. return newBuf
  19903. }
  19904. /*
  19905. * Need to make sure that buffer isn't trying to write out of bounds.
  19906. */
  19907. function checkOffset (offset, ext, length) {
  19908. if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
  19909. if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
  19910. }
  19911. Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
  19912. offset = offset | 0
  19913. byteLength = byteLength | 0
  19914. if (!noAssert) checkOffset(offset, byteLength, this.length)
  19915. var val = this[offset]
  19916. var mul = 1
  19917. var i = 0
  19918. while (++i < byteLength && (mul *= 0x100)) {
  19919. val += this[offset + i] * mul
  19920. }
  19921. return val
  19922. }
  19923. Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
  19924. offset = offset | 0
  19925. byteLength = byteLength | 0
  19926. if (!noAssert) {
  19927. checkOffset(offset, byteLength, this.length)
  19928. }
  19929. var val = this[offset + --byteLength]
  19930. var mul = 1
  19931. while (byteLength > 0 && (mul *= 0x100)) {
  19932. val += this[offset + --byteLength] * mul
  19933. }
  19934. return val
  19935. }
  19936. Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
  19937. if (!noAssert) checkOffset(offset, 1, this.length)
  19938. return this[offset]
  19939. }
  19940. Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
  19941. if (!noAssert) checkOffset(offset, 2, this.length)
  19942. return this[offset] | (this[offset + 1] << 8)
  19943. }
  19944. Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
  19945. if (!noAssert) checkOffset(offset, 2, this.length)
  19946. return (this[offset] << 8) | this[offset + 1]
  19947. }
  19948. Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
  19949. if (!noAssert) checkOffset(offset, 4, this.length)
  19950. return ((this[offset]) |
  19951. (this[offset + 1] << 8) |
  19952. (this[offset + 2] << 16)) +
  19953. (this[offset + 3] * 0x1000000)
  19954. }
  19955. Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
  19956. if (!noAssert) checkOffset(offset, 4, this.length)
  19957. return (this[offset] * 0x1000000) +
  19958. ((this[offset + 1] << 16) |
  19959. (this[offset + 2] << 8) |
  19960. this[offset + 3])
  19961. }
  19962. Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
  19963. offset = offset | 0
  19964. byteLength = byteLength | 0
  19965. if (!noAssert) checkOffset(offset, byteLength, this.length)
  19966. var val = this[offset]
  19967. var mul = 1
  19968. var i = 0
  19969. while (++i < byteLength && (mul *= 0x100)) {
  19970. val += this[offset + i] * mul
  19971. }
  19972. mul *= 0x80
  19973. if (val >= mul) val -= Math.pow(2, 8 * byteLength)
  19974. return val
  19975. }
  19976. Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
  19977. offset = offset | 0
  19978. byteLength = byteLength | 0
  19979. if (!noAssert) checkOffset(offset, byteLength, this.length)
  19980. var i = byteLength
  19981. var mul = 1
  19982. var val = this[offset + --i]
  19983. while (i > 0 && (mul *= 0x100)) {
  19984. val += this[offset + --i] * mul
  19985. }
  19986. mul *= 0x80
  19987. if (val >= mul) val -= Math.pow(2, 8 * byteLength)
  19988. return val
  19989. }
  19990. Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
  19991. if (!noAssert) checkOffset(offset, 1, this.length)
  19992. if (!(this[offset] & 0x80)) return (this[offset])
  19993. return ((0xff - this[offset] + 1) * -1)
  19994. }
  19995. Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
  19996. if (!noAssert) checkOffset(offset, 2, this.length)
  19997. var val = this[offset] | (this[offset + 1] << 8)
  19998. return (val & 0x8000) ? val | 0xFFFF0000 : val
  19999. }
  20000. Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
  20001. if (!noAssert) checkOffset(offset, 2, this.length)
  20002. var val = this[offset + 1] | (this[offset] << 8)
  20003. return (val & 0x8000) ? val | 0xFFFF0000 : val
  20004. }
  20005. Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
  20006. if (!noAssert) checkOffset(offset, 4, this.length)
  20007. return (this[offset]) |
  20008. (this[offset + 1] << 8) |
  20009. (this[offset + 2] << 16) |
  20010. (this[offset + 3] << 24)
  20011. }
  20012. Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
  20013. if (!noAssert) checkOffset(offset, 4, this.length)
  20014. return (this[offset] << 24) |
  20015. (this[offset + 1] << 16) |
  20016. (this[offset + 2] << 8) |
  20017. (this[offset + 3])
  20018. }
  20019. Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
  20020. if (!noAssert) checkOffset(offset, 4, this.length)
  20021. return ieee754.read(this, offset, true, 23, 4)
  20022. }
  20023. Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
  20024. if (!noAssert) checkOffset(offset, 4, this.length)
  20025. return ieee754.read(this, offset, false, 23, 4)
  20026. }
  20027. Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
  20028. if (!noAssert) checkOffset(offset, 8, this.length)
  20029. return ieee754.read(this, offset, true, 52, 8)
  20030. }
  20031. Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
  20032. if (!noAssert) checkOffset(offset, 8, this.length)
  20033. return ieee754.read(this, offset, false, 52, 8)
  20034. }
  20035. function checkInt (buf, value, offset, ext, max, min) {
  20036. if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance')
  20037. if (value > max || value < min) throw new RangeError('"value" argument is out of bounds')
  20038. if (offset + ext > buf.length) throw new RangeError('Index out of range')
  20039. }
  20040. Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
  20041. value = +value
  20042. offset = offset | 0
  20043. byteLength = byteLength | 0
  20044. if (!noAssert) {
  20045. var maxBytes = Math.pow(2, 8 * byteLength) - 1
  20046. checkInt(this, value, offset, byteLength, maxBytes, 0)
  20047. }
  20048. var mul = 1
  20049. var i = 0
  20050. this[offset] = value & 0xFF
  20051. while (++i < byteLength && (mul *= 0x100)) {
  20052. this[offset + i] = (value / mul) & 0xFF
  20053. }
  20054. return offset + byteLength
  20055. }
  20056. Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
  20057. value = +value
  20058. offset = offset | 0
  20059. byteLength = byteLength | 0
  20060. if (!noAssert) {
  20061. var maxBytes = Math.pow(2, 8 * byteLength) - 1
  20062. checkInt(this, value, offset, byteLength, maxBytes, 0)
  20063. }
  20064. var i = byteLength - 1
  20065. var mul = 1
  20066. this[offset + i] = value & 0xFF
  20067. while (--i >= 0 && (mul *= 0x100)) {
  20068. this[offset + i] = (value / mul) & 0xFF
  20069. }
  20070. return offset + byteLength
  20071. }
  20072. Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
  20073. value = +value
  20074. offset = offset | 0
  20075. if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
  20076. if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
  20077. this[offset] = (value & 0xff)
  20078. return offset + 1
  20079. }
  20080. function objectWriteUInt16 (buf, value, offset, littleEndian) {
  20081. if (value < 0) value = 0xffff + value + 1
  20082. for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {
  20083. buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
  20084. (littleEndian ? i : 1 - i) * 8
  20085. }
  20086. }
  20087. Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
  20088. value = +value
  20089. offset = offset | 0
  20090. if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
  20091. if (Buffer.TYPED_ARRAY_SUPPORT) {
  20092. this[offset] = (value & 0xff)
  20093. this[offset + 1] = (value >>> 8)
  20094. } else {
  20095. objectWriteUInt16(this, value, offset, true)
  20096. }
  20097. return offset + 2
  20098. }
  20099. Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
  20100. value = +value
  20101. offset = offset | 0
  20102. if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
  20103. if (Buffer.TYPED_ARRAY_SUPPORT) {
  20104. this[offset] = (value >>> 8)
  20105. this[offset + 1] = (value & 0xff)
  20106. } else {
  20107. objectWriteUInt16(this, value, offset, false)
  20108. }
  20109. return offset + 2
  20110. }
  20111. function objectWriteUInt32 (buf, value, offset, littleEndian) {
  20112. if (value < 0) value = 0xffffffff + value + 1
  20113. for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {
  20114. buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
  20115. }
  20116. }
  20117. Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
  20118. value = +value
  20119. offset = offset | 0
  20120. if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
  20121. if (Buffer.TYPED_ARRAY_SUPPORT) {
  20122. this[offset + 3] = (value >>> 24)
  20123. this[offset + 2] = (value >>> 16)
  20124. this[offset + 1] = (value >>> 8)
  20125. this[offset] = (value & 0xff)
  20126. } else {
  20127. objectWriteUInt32(this, value, offset, true)
  20128. }
  20129. return offset + 4
  20130. }
  20131. Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
  20132. value = +value
  20133. offset = offset | 0
  20134. if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
  20135. if (Buffer.TYPED_ARRAY_SUPPORT) {
  20136. this[offset] = (value >>> 24)
  20137. this[offset + 1] = (value >>> 16)
  20138. this[offset + 2] = (value >>> 8)
  20139. this[offset + 3] = (value & 0xff)
  20140. } else {
  20141. objectWriteUInt32(this, value, offset, false)
  20142. }
  20143. return offset + 4
  20144. }
  20145. Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
  20146. value = +value
  20147. offset = offset | 0
  20148. if (!noAssert) {
  20149. var limit = Math.pow(2, 8 * byteLength - 1)
  20150. checkInt(this, value, offset, byteLength, limit - 1, -limit)
  20151. }
  20152. var i = 0
  20153. var mul = 1
  20154. var sub = 0
  20155. this[offset] = value & 0xFF
  20156. while (++i < byteLength && (mul *= 0x100)) {
  20157. if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
  20158. sub = 1
  20159. }
  20160. this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
  20161. }
  20162. return offset + byteLength
  20163. }
  20164. Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
  20165. value = +value
  20166. offset = offset | 0
  20167. if (!noAssert) {
  20168. var limit = Math.pow(2, 8 * byteLength - 1)
  20169. checkInt(this, value, offset, byteLength, limit - 1, -limit)
  20170. }
  20171. var i = byteLength - 1
  20172. var mul = 1
  20173. var sub = 0
  20174. this[offset + i] = value & 0xFF
  20175. while (--i >= 0 && (mul *= 0x100)) {
  20176. if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
  20177. sub = 1
  20178. }
  20179. this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
  20180. }
  20181. return offset + byteLength
  20182. }
  20183. Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
  20184. value = +value
  20185. offset = offset | 0
  20186. if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
  20187. if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
  20188. if (value < 0) value = 0xff + value + 1
  20189. this[offset] = (value & 0xff)
  20190. return offset + 1
  20191. }
  20192. Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
  20193. value = +value
  20194. offset = offset | 0
  20195. if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
  20196. if (Buffer.TYPED_ARRAY_SUPPORT) {
  20197. this[offset] = (value & 0xff)
  20198. this[offset + 1] = (value >>> 8)
  20199. } else {
  20200. objectWriteUInt16(this, value, offset, true)
  20201. }
  20202. return offset + 2
  20203. }
  20204. Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
  20205. value = +value
  20206. offset = offset | 0
  20207. if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
  20208. if (Buffer.TYPED_ARRAY_SUPPORT) {
  20209. this[offset] = (value >>> 8)
  20210. this[offset + 1] = (value & 0xff)
  20211. } else {
  20212. objectWriteUInt16(this, value, offset, false)
  20213. }
  20214. return offset + 2
  20215. }
  20216. Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
  20217. value = +value
  20218. offset = offset | 0
  20219. if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
  20220. if (Buffer.TYPED_ARRAY_SUPPORT) {
  20221. this[offset] = (value & 0xff)
  20222. this[offset + 1] = (value >>> 8)
  20223. this[offset + 2] = (value >>> 16)
  20224. this[offset + 3] = (value >>> 24)
  20225. } else {
  20226. objectWriteUInt32(this, value, offset, true)
  20227. }
  20228. return offset + 4
  20229. }
  20230. Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
  20231. value = +value
  20232. offset = offset | 0
  20233. if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
  20234. if (value < 0) value = 0xffffffff + value + 1
  20235. if (Buffer.TYPED_ARRAY_SUPPORT) {
  20236. this[offset] = (value >>> 24)
  20237. this[offset + 1] = (value >>> 16)
  20238. this[offset + 2] = (value >>> 8)
  20239. this[offset + 3] = (value & 0xff)
  20240. } else {
  20241. objectWriteUInt32(this, value, offset, false)
  20242. }
  20243. return offset + 4
  20244. }
  20245. function checkIEEE754 (buf, value, offset, ext, max, min) {
  20246. if (offset + ext > buf.length) throw new RangeError('Index out of range')
  20247. if (offset < 0) throw new RangeError('Index out of range')
  20248. }
  20249. function writeFloat (buf, value, offset, littleEndian, noAssert) {
  20250. if (!noAssert) {
  20251. checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
  20252. }
  20253. ieee754.write(buf, value, offset, littleEndian, 23, 4)
  20254. return offset + 4
  20255. }
  20256. Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
  20257. return writeFloat(this, value, offset, true, noAssert)
  20258. }
  20259. Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
  20260. return writeFloat(this, value, offset, false, noAssert)
  20261. }
  20262. function writeDouble (buf, value, offset, littleEndian, noAssert) {
  20263. if (!noAssert) {
  20264. checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
  20265. }
  20266. ieee754.write(buf, value, offset, littleEndian, 52, 8)
  20267. return offset + 8
  20268. }
  20269. Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
  20270. return writeDouble(this, value, offset, true, noAssert)
  20271. }
  20272. Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
  20273. return writeDouble(this, value, offset, false, noAssert)
  20274. }
  20275. // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
  20276. Buffer.prototype.copy = function copy (target, targetStart, start, end) {
  20277. if (!start) start = 0
  20278. if (!end && end !== 0) end = this.length
  20279. if (targetStart >= target.length) targetStart = target.length
  20280. if (!targetStart) targetStart = 0
  20281. if (end > 0 && end < start) end = start
  20282. // Copy 0 bytes; we're done
  20283. if (end === start) return 0
  20284. if (target.length === 0 || this.length === 0) return 0
  20285. // Fatal error conditions
  20286. if (targetStart < 0) {
  20287. throw new RangeError('targetStart out of bounds')
  20288. }
  20289. if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')
  20290. if (end < 0) throw new RangeError('sourceEnd out of bounds')
  20291. // Are we oob?
  20292. if (end > this.length) end = this.length
  20293. if (target.length - targetStart < end - start) {
  20294. end = target.length - targetStart + start
  20295. }
  20296. var len = end - start
  20297. var i
  20298. if (this === target && start < targetStart && targetStart < end) {
  20299. // descending copy from end
  20300. for (i = len - 1; i >= 0; --i) {
  20301. target[i + targetStart] = this[i + start]
  20302. }
  20303. } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {
  20304. // ascending copy from start
  20305. for (i = 0; i < len; ++i) {
  20306. target[i + targetStart] = this[i + start]
  20307. }
  20308. } else {
  20309. Uint8Array.prototype.set.call(
  20310. target,
  20311. this.subarray(start, start + len),
  20312. targetStart
  20313. )
  20314. }
  20315. return len
  20316. }
  20317. // Usage:
  20318. // buffer.fill(number[, offset[, end]])
  20319. // buffer.fill(buffer[, offset[, end]])
  20320. // buffer.fill(string[, offset[, end]][, encoding])
  20321. Buffer.prototype.fill = function fill (val, start, end, encoding) {
  20322. // Handle string cases:
  20323. if (typeof val === 'string') {
  20324. if (typeof start === 'string') {
  20325. encoding = start
  20326. start = 0
  20327. end = this.length
  20328. } else if (typeof end === 'string') {
  20329. encoding = end
  20330. end = this.length
  20331. }
  20332. if (val.length === 1) {
  20333. var code = val.charCodeAt(0)
  20334. if (code < 256) {
  20335. val = code
  20336. }
  20337. }
  20338. if (encoding !== undefined && typeof encoding !== 'string') {
  20339. throw new TypeError('encoding must be a string')
  20340. }
  20341. if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {
  20342. throw new TypeError('Unknown encoding: ' + encoding)
  20343. }
  20344. } else if (typeof val === 'number') {
  20345. val = val & 255
  20346. }
  20347. // Invalid ranges are not set to a default, so can range check early.
  20348. if (start < 0 || this.length < start || this.length < end) {
  20349. throw new RangeError('Out of range index')
  20350. }
  20351. if (end <= start) {
  20352. return this
  20353. }
  20354. start = start >>> 0
  20355. end = end === undefined ? this.length : end >>> 0
  20356. if (!val) val = 0
  20357. var i
  20358. if (typeof val === 'number') {
  20359. for (i = start; i < end; ++i) {
  20360. this[i] = val
  20361. }
  20362. } else {
  20363. var bytes = Buffer.isBuffer(val)
  20364. ? val
  20365. : utf8ToBytes(new Buffer(val, encoding).toString())
  20366. var len = bytes.length
  20367. for (i = 0; i < end - start; ++i) {
  20368. this[i + start] = bytes[i % len]
  20369. }
  20370. }
  20371. return this
  20372. }
  20373. // HELPER FUNCTIONS
  20374. // ================
  20375. var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g
  20376. function base64clean (str) {
  20377. // Node strips out invalid characters like \n and \t from the string, base64-js does not
  20378. str = stringtrim(str).replace(INVALID_BASE64_RE, '')
  20379. // Node converts strings with length < 2 to ''
  20380. if (str.length < 2) return ''
  20381. // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
  20382. while (str.length % 4 !== 0) {
  20383. str = str + '='
  20384. }
  20385. return str
  20386. }
  20387. function stringtrim (str) {
  20388. if (str.trim) return str.trim()
  20389. return str.replace(/^\s+|\s+$/g, '')
  20390. }
  20391. function toHex (n) {
  20392. if (n < 16) return '0' + n.toString(16)
  20393. return n.toString(16)
  20394. }
  20395. function utf8ToBytes (string, units) {
  20396. units = units || Infinity
  20397. var codePoint
  20398. var length = string.length
  20399. var leadSurrogate = null
  20400. var bytes = []
  20401. for (var i = 0; i < length; ++i) {
  20402. codePoint = string.charCodeAt(i)
  20403. // is surrogate component
  20404. if (codePoint > 0xD7FF && codePoint < 0xE000) {
  20405. // last char was a lead
  20406. if (!leadSurrogate) {
  20407. // no lead yet
  20408. if (codePoint > 0xDBFF) {
  20409. // unexpected trail
  20410. if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
  20411. continue
  20412. } else if (i + 1 === length) {
  20413. // unpaired lead
  20414. if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
  20415. continue
  20416. }
  20417. // valid lead
  20418. leadSurrogate = codePoint
  20419. continue
  20420. }
  20421. // 2 leads in a row
  20422. if (codePoint < 0xDC00) {
  20423. if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
  20424. leadSurrogate = codePoint
  20425. continue
  20426. }
  20427. // valid surrogate pair
  20428. codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000
  20429. } else if (leadSurrogate) {
  20430. // valid bmp char, but last char was a lead
  20431. if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
  20432. }
  20433. leadSurrogate = null
  20434. // encode utf8
  20435. if (codePoint < 0x80) {
  20436. if ((units -= 1) < 0) break
  20437. bytes.push(codePoint)
  20438. } else if (codePoint < 0x800) {
  20439. if ((units -= 2) < 0) break
  20440. bytes.push(
  20441. codePoint >> 0x6 | 0xC0,
  20442. codePoint & 0x3F | 0x80
  20443. )
  20444. } else if (codePoint < 0x10000) {
  20445. if ((units -= 3) < 0) break
  20446. bytes.push(
  20447. codePoint >> 0xC | 0xE0,
  20448. codePoint >> 0x6 & 0x3F | 0x80,
  20449. codePoint & 0x3F | 0x80
  20450. )
  20451. } else if (codePoint < 0x110000) {
  20452. if ((units -= 4) < 0) break
  20453. bytes.push(
  20454. codePoint >> 0x12 | 0xF0,
  20455. codePoint >> 0xC & 0x3F | 0x80,
  20456. codePoint >> 0x6 & 0x3F | 0x80,
  20457. codePoint & 0x3F | 0x80
  20458. )
  20459. } else {
  20460. throw new Error('Invalid code point')
  20461. }
  20462. }
  20463. return bytes
  20464. }
  20465. function asciiToBytes (str) {
  20466. var byteArray = []
  20467. for (var i = 0; i < str.length; ++i) {
  20468. // Node's code seems to be doing this and not & 0x7F..
  20469. byteArray.push(str.charCodeAt(i) & 0xFF)
  20470. }
  20471. return byteArray
  20472. }
  20473. function utf16leToBytes (str, units) {
  20474. var c, hi, lo
  20475. var byteArray = []
  20476. for (var i = 0; i < str.length; ++i) {
  20477. if ((units -= 2) < 0) break
  20478. c = str.charCodeAt(i)
  20479. hi = c >> 8
  20480. lo = c % 256
  20481. byteArray.push(lo)
  20482. byteArray.push(hi)
  20483. }
  20484. return byteArray
  20485. }
  20486. function base64ToBytes (str) {
  20487. return base64.toByteArray(base64clean(str))
  20488. }
  20489. function blitBuffer (src, dst, offset, length) {
  20490. for (var i = 0; i < length; ++i) {
  20491. if ((i + offset >= dst.length) || (i >= src.length)) break
  20492. dst[i + offset] = src[i]
  20493. }
  20494. return i
  20495. }
  20496. function isnan (val) {
  20497. return val !== val // eslint-disable-line no-self-compare
  20498. }
  20499. /***/ }),
  20500. /***/ "./node_modules/call-bind/callBound.js":
  20501. /*!*********************************************!*\
  20502. !*** ./node_modules/call-bind/callBound.js ***!
  20503. \*********************************************/
  20504. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  20505. "use strict";
  20506. var GetIntrinsic = __webpack_require__(/*! get-intrinsic */ "./node_modules/get-intrinsic/index.js");
  20507. var callBind = __webpack_require__(/*! ./ */ "./node_modules/call-bind/index.js");
  20508. var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));
  20509. module.exports = function callBoundIntrinsic(name, allowMissing) {
  20510. var intrinsic = GetIntrinsic(name, !!allowMissing);
  20511. if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {
  20512. return callBind(intrinsic);
  20513. }
  20514. return intrinsic;
  20515. };
  20516. /***/ }),
  20517. /***/ "./node_modules/call-bind/index.js":
  20518. /*!*****************************************!*\
  20519. !*** ./node_modules/call-bind/index.js ***!
  20520. \*****************************************/
  20521. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  20522. "use strict";
  20523. var bind = __webpack_require__(/*! function-bind */ "./node_modules/function-bind/index.js");
  20524. var GetIntrinsic = __webpack_require__(/*! get-intrinsic */ "./node_modules/get-intrinsic/index.js");
  20525. var $apply = GetIntrinsic('%Function.prototype.apply%');
  20526. var $call = GetIntrinsic('%Function.prototype.call%');
  20527. var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);
  20528. var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);
  20529. var $defineProperty = GetIntrinsic('%Object.defineProperty%', true);
  20530. var $max = GetIntrinsic('%Math.max%');
  20531. if ($defineProperty) {
  20532. try {
  20533. $defineProperty({}, 'a', { value: 1 });
  20534. } catch (e) {
  20535. // IE 8 has a broken defineProperty
  20536. $defineProperty = null;
  20537. }
  20538. }
  20539. module.exports = function callBind(originalFunction) {
  20540. var func = $reflectApply(bind, $call, arguments);
  20541. if ($gOPD && $defineProperty) {
  20542. var desc = $gOPD(func, 'length');
  20543. if (desc.configurable) {
  20544. // original length, plus the receiver, minus any additional arguments (after the receiver)
  20545. $defineProperty(
  20546. func,
  20547. 'length',
  20548. { value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }
  20549. );
  20550. }
  20551. }
  20552. return func;
  20553. };
  20554. var applyBind = function applyBind() {
  20555. return $reflectApply(bind, $apply, arguments);
  20556. };
  20557. if ($defineProperty) {
  20558. $defineProperty(module.exports, 'apply', { value: applyBind });
  20559. } else {
  20560. module.exports.apply = applyBind;
  20561. }
  20562. /***/ }),
  20563. /***/ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-11.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-11.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-11.use[3]!./resources/js/assets/styles/layout.scss":
  20564. /*!**************************************************************************************************************************************************************************************************************************************************!*\
  20565. !*** ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-11.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-11.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-11.use[3]!./resources/js/assets/styles/layout.scss ***!
  20566. \**************************************************************************************************************************************************************************************************************************************************/
  20567. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  20568. "use strict";
  20569. __webpack_require__.r(__webpack_exports__);
  20570. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  20571. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  20572. /* harmony export */ });
  20573. /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
  20574. /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
  20575. // Imports
  20576. var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
  20577. // Module
  20578. ___CSS_LOADER_EXPORT___.push([module.id, "/* General */\n.preloader {\n position: fixed;\n z-index: 999999;\n background: #edf1f5;\n width: 100%;\n height: 100%;\n}\n\n.preloader-content {\n border: 0 solid transparent;\n border-radius: 50%;\n width: 150px;\n height: 150px;\n position: absolute;\n top: calc(50vh - 75px);\n left: calc(50vw - 75px);\n}\n\n.preloader-content:before, .preloader-content:after {\n content: \"\";\n border: 1em solid var(--primary-color);\n border-radius: 50%;\n width: inherit;\n height: inherit;\n position: absolute;\n top: 0;\n left: 0;\n -webkit-animation: loader 2s linear infinite;\n animation: loader 2s linear infinite;\n opacity: 0;\n}\n\n.preloader-content:before {\n -webkit-animation-delay: 0.5s;\n animation-delay: 0.5s;\n}\n\n@-webkit-keyframes loader {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n transform: scale(1);\n opacity: 0;\n }\n}\n\n@keyframes loader {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n transform: scale(1);\n opacity: 0;\n }\n}\n* {\n box-sizing: border-box;\n}\n\nhtml {\n height: 100%;\n font-size: 14px;\n}\n\nbody {\n font-family: var(--font-family);\n color: var(--text-color);\n background-color: var(--surface-ground);\n margin: 0;\n padding: 0;\n min-height: 100%;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\na {\n text-decoration: none;\n color: var(--primary-color);\n}\n\n.layout-theme-light {\n background-color: #edf1f5;\n}\n\n.layout-topbar {\n position: fixed;\n height: 5rem;\n z-index: 997;\n left: 0;\n top: 0;\n width: 100%;\n padding: 0 2rem;\n background-color: var(--surface-card);\n transition: left 0.2s;\n display: flex;\n align-items: center;\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.02), 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 1px 4px rgba(0, 0, 0, 0.08);\n}\n.layout-topbar .layout-topbar-logo {\n display: flex;\n align-items: center;\n color: var(--surface-900);\n font-size: 1.5rem;\n font-weight: 500;\n width: 300px;\n border-radius: 12px;\n}\n.layout-topbar .layout-topbar-logo img {\n height: 2.5rem;\n margin-right: 0.5rem;\n}\n.layout-topbar .layout-topbar-logo:focus {\n outline: 0 none;\n outline-offset: 0;\n transition: box-shadow 0.2s;\n box-shadow: var(--focus-ring);\n}\n.layout-topbar .layout-topbar-button {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n position: relative;\n color: var(--text-color-secondary);\n border-radius: 50%;\n width: 3rem;\n height: 3rem;\n cursor: pointer;\n transition: background-color 0.2s;\n}\n.layout-topbar .layout-topbar-button:hover {\n color: var(--text-color);\n background-color: var(--surface-hover);\n}\n.layout-topbar .layout-topbar-button:focus {\n outline: 0 none;\n outline-offset: 0;\n transition: box-shadow 0.2s;\n box-shadow: var(--focus-ring);\n}\n.layout-topbar .layout-topbar-button i {\n font-size: 1.5rem;\n}\n.layout-topbar .layout-topbar-button span {\n font-size: 1rem;\n display: none;\n}\n.layout-topbar .layout-menu-button {\n margin-left: 2rem;\n}\n.layout-topbar .layout-topbar-menu-button {\n display: none;\n}\n.layout-topbar .layout-topbar-menu-button i {\n font-size: 1.25rem;\n}\n.layout-topbar .layout-topbar-menu {\n margin: 0 0 0 auto;\n padding: 0;\n list-style: none;\n display: flex;\n}\n.layout-topbar .layout-topbar-menu .layout-topbar-button {\n margin-left: 1rem;\n}\n\n@media (max-width: 991px) {\n .layout-topbar {\n justify-content: space-between;\n }\n .layout-topbar .layout-topbar-logo {\n width: auto;\n order: 2;\n }\n .layout-topbar .layout-menu-button {\n margin-left: 0;\n order: 1;\n }\n .layout-topbar .layout-topbar-menu-button {\n display: inline-flex;\n margin-left: 0;\n order: 3;\n }\n .layout-topbar .layout-topbar-menu {\n margin-left: 0;\n position: absolute;\n flex-direction: column;\n background-color: var(--surface-overlay);\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.02), 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 1px 4px rgba(0, 0, 0, 0.08);\n border-radius: 12px;\n padding: 1rem;\n right: 2rem;\n top: 5rem;\n min-width: 15rem;\n }\n .layout-topbar .layout-topbar-menu .layout-topbar-button {\n margin-left: 0;\n display: flex;\n width: 100%;\n height: auto;\n justify-content: flex-start;\n border-radius: 12px;\n padding: 1rem;\n }\n .layout-topbar .layout-topbar-menu .layout-topbar-button i {\n font-size: 1rem;\n margin-right: 0.5rem;\n }\n .layout-topbar .layout-topbar-menu .layout-topbar-button span {\n font-weight: medium;\n display: block;\n }\n}\n.layout-sidebar {\n position: fixed;\n width: 300px;\n height: calc(100vh - 9rem);\n z-index: 999;\n overflow-y: auto;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n top: 7rem;\n left: 2rem;\n transition: transform 0.2s, left 0.2s;\n background-color: var(--surface-overlay);\n border-radius: 12px;\n padding: 1.5rem;\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.02), 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 1px 4px rgba(0, 0, 0, 0.08);\n}\n\n.layout-menu {\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.layout-menu li.layout-menuitem-category {\n margin-top: 0.75rem;\n}\n.layout-menu li.layout-menuitem-category:first-child {\n margin-top: 0;\n}\n.layout-menu li .layout-menuitem-root-text {\n text-transform: uppercase;\n color: var(--surface-900);\n font-weight: 600;\n margin-bottom: 0.5rem;\n font-size: 0.875rem;\n}\n.layout-menu li a {\n cursor: pointer;\n text-decoration: none;\n display: flex;\n align-items: center;\n color: var(--text-color);\n transition: color 0.2s;\n border-radius: 12px;\n padding: 0.75rem 1rem;\n transition: background-color 0.15s;\n}\n.layout-menu li a span {\n margin-left: 0.5rem;\n}\n.layout-menu li a .menuitem-toggle-icon {\n margin-left: auto;\n}\n.layout-menu li a:focus {\n outline: 0 none;\n outline-offset: 0;\n transition: box-shadow 0.2s;\n box-shadow: inset var(--focus-ring);\n}\n.layout-menu li a:hover {\n background-color: var(--surface-hover);\n}\n.layout-menu li a.router-link-exact-active {\n font-weight: 700;\n color: var(--primary-color);\n}\n.layout-menu li a .p-badge {\n margin-left: auto;\n}\n.layout-menu li.active-menuitem > a .menuitem-toggle-icon:before {\n content: \"\\e933\";\n}\n.layout-menu li ul {\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.layout-menu li ul.layout-submenu-wrapper-enter-from, .layout-menu li ul.layout-submenu-wrapper-leave-to {\n max-height: 0;\n}\n.layout-menu li ul.layout-submenu-wrapper-enter-to, .layout-menu li ul.layout-submenu-wrapper-leave-from {\n max-height: 1000px;\n}\n.layout-menu li ul.layout-submenu-wrapper-leave-active {\n overflow: hidden;\n transition: max-height 0.45s cubic-bezier(0, 1, 0, 1);\n}\n.layout-menu li ul.layout-submenu-wrapper-enter-active {\n overflow: hidden;\n transition: max-height 1s ease-in-out;\n}\n.layout-menu li ul ul {\n padding-left: 1rem;\n}\n\n.layout-main-container {\n display: flex;\n flex-direction: column;\n min-height: 100vh;\n justify-content: space-between;\n padding: 7rem 2rem 2rem 4rem;\n transition: margin-left 0.2s;\n}\n\n.layout-main {\n flex: 1 1 auto;\n}\n\n.layout-footer {\n transition: margin-left 0.2s;\n display: flex;\n align-items: center;\n justify-content: center;\n padding-top: 1rem;\n border-top: 1px solid var(--surface-border);\n}\n\n@media (min-width: 992px) {\n .layout-wrapper.layout-overlay .layout-main-container {\n margin-left: 0;\n padding-left: 2rem;\n }\n .layout-wrapper.layout-overlay .layout-sidebar {\n transform: translateX(-100%);\n left: 0;\n top: 0;\n height: 100vh;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .layout-wrapper.layout-overlay.layout-overlay-sidebar-active .layout-sidebar {\n transform: translateX(0);\n }\n .layout-wrapper.layout-static .layout-main-container {\n margin-left: 300px;\n }\n .layout-wrapper.layout-static.layout-static-sidebar-inactive .layout-sidebar {\n transform: translateX(-100%);\n left: 0;\n }\n .layout-wrapper.layout-static.layout-static-sidebar-inactive .layout-main-container {\n margin-left: 0;\n padding-left: 2rem;\n }\n .layout-wrapper .layout-mask {\n display: none;\n }\n}\n@media (max-width: 991px) {\n .layout-wrapper .layout-main-container {\n margin-left: 0;\n padding-left: 2rem;\n }\n .layout-wrapper .layout-sidebar {\n transform: translateX(-100%);\n left: 0;\n top: 0;\n height: 100vh;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .layout-wrapper .layout-mask {\n z-index: 998;\n background-color: var(--maskbg);\n }\n .layout-wrapper .layout-mask.layout-mask-enter-from, .layout-wrapper .layout-mask.layout-mask-leave-to {\n background-color: transparent;\n }\n .layout-wrapper.layout-mobile-sidebar-active .layout-sidebar {\n transform: translateX(0);\n }\n .layout-wrapper.layout-mobile-sidebar-active .layout-mask {\n display: block;\n }\n\n .body-overflow-hidden {\n overflow: hidden;\n }\n}\n.card {\n background-color: var(--surface-card);\n padding: 1.5rem;\n color: var(--surface-900);\n margin-bottom: 1rem;\n border-radius: 12px;\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.02), 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 1px 4px rgba(0, 0, 0, 0.08) !important;\n}\n.card.card-w-title {\n padding-bottom: 2rem;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin: 1.5rem 0 1rem 0;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.2;\n color: inherit;\n}\nh1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child {\n margin-top: 0;\n}\n\nh1 {\n font-size: 2.5rem;\n}\n\nh2 {\n font-size: 2rem;\n}\n\nh3 {\n font-size: 1.75rem;\n}\n\nh4 {\n font-size: 1.5rem;\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\nmark {\n background: #FFF8E1;\n padding: 0.25rem 0.4rem;\n border-radius: 12px;\n font-family: monospace;\n}\n\nblockquote {\n margin: 1rem 0;\n padding: 0 2rem;\n border-left: 4px solid #90A4AE;\n}\n\nhr {\n border-top: solid var(--surface-border);\n border-width: 1px 0 0 0;\n margin: 1rem 0;\n}\n\np {\n margin: 0 0 1rem 0;\n line-height: 1.5;\n}\np:last-child {\n margin-bottom: 0;\n}", ""]);
  20579. // Exports
  20580. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
  20581. /***/ }),
  20582. /***/ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/primeflex/primeflex.css":
  20583. /*!******************************************************************************************************************************************************************************!*\
  20584. !*** ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/primeflex/primeflex.css ***!
  20585. \******************************************************************************************************************************************************************************/
  20586. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  20587. "use strict";
  20588. __webpack_require__.r(__webpack_exports__);
  20589. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  20590. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  20591. /* harmony export */ });
  20592. /* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
  20593. /* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
  20594. // Imports
  20595. var ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
  20596. // Module
  20597. ___CSS_LOADER_EXPORT___.push([module.id, ".grid {\n display: flex;\n flex-wrap: wrap;\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n margin-top: -0.5rem;\n}\n\n.grid > .col,\n.grid > [class*=col] {\n box-sizing: border-box;\n}\n\n.grid-nogutter {\n margin-right: 0;\n margin-left: 0;\n margin-top: 0;\n}\n\n.grid-nogutter > .col,\n.grid-nogutter > [class*=col-] {\n padding: 0;\n}\n\n.col {\n flex-grow: 1;\n flex-basis: 0;\n padding: 0.5rem;\n}\n\n.col-fixed {\n flex: 0 0 auto;\n padding: 0.5rem;\n}\n\n.col-1 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 8.3333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 16.6667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 33.3333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 41.6667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 58.3333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 66.6667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 83.3333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 91.6667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 100%;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:col {\n flex-grow: 1;\n flex-basis: 0;\n padding: 0.5rem;\n }\n .sm\\:col-fixed {\n flex: 0 0 auto;\n padding: 0.5rem;\n }\n .sm\\:col-1 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 8.3333%;\n }\n .sm\\:col-2 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 16.6667%;\n }\n .sm\\:col-3 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 25%;\n }\n .sm\\:col-4 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 33.3333%;\n }\n .sm\\:col-5 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 41.6667%;\n }\n .sm\\:col-6 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 50%;\n }\n .sm\\:col-7 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 58.3333%;\n }\n .sm\\:col-8 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 66.6667%;\n }\n .sm\\:col-9 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 75%;\n }\n .sm\\:col-10 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 83.3333%;\n }\n .sm\\:col-11 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 91.6667%;\n }\n .sm\\:col-12 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 100%;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:col {\n flex-grow: 1;\n flex-basis: 0;\n padding: 0.5rem;\n }\n .md\\:col-fixed {\n flex: 0 0 auto;\n padding: 0.5rem;\n }\n .md\\:col-1 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 8.3333%;\n }\n .md\\:col-2 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 16.6667%;\n }\n .md\\:col-3 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 25%;\n }\n .md\\:col-4 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 33.3333%;\n }\n .md\\:col-5 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 41.6667%;\n }\n .md\\:col-6 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 50%;\n }\n .md\\:col-7 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 58.3333%;\n }\n .md\\:col-8 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 66.6667%;\n }\n .md\\:col-9 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 75%;\n }\n .md\\:col-10 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 83.3333%;\n }\n .md\\:col-11 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 91.6667%;\n }\n .md\\:col-12 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 100%;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:col {\n flex-grow: 1;\n flex-basis: 0;\n padding: 0.5rem;\n }\n .lg\\:col-fixed {\n flex: 0 0 auto;\n padding: 0.5rem;\n }\n .lg\\:col-1 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 8.3333%;\n }\n .lg\\:col-2 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 16.6667%;\n }\n .lg\\:col-3 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 25%;\n }\n .lg\\:col-4 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 33.3333%;\n }\n .lg\\:col-5 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 41.6667%;\n }\n .lg\\:col-6 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 50%;\n }\n .lg\\:col-7 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 58.3333%;\n }\n .lg\\:col-8 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 66.6667%;\n }\n .lg\\:col-9 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 75%;\n }\n .lg\\:col-10 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 83.3333%;\n }\n .lg\\:col-11 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 91.6667%;\n }\n .lg\\:col-12 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 100%;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:col {\n flex-grow: 1;\n flex-basis: 0;\n padding: 0.5rem;\n }\n .xl\\:col-fixed {\n flex: 0 0 auto;\n padding: 0.5rem;\n }\n .xl\\:col-1 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 8.3333%;\n }\n .xl\\:col-2 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 16.6667%;\n }\n .xl\\:col-3 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 25%;\n }\n .xl\\:col-4 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 33.3333%;\n }\n .xl\\:col-5 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 41.6667%;\n }\n .xl\\:col-6 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 50%;\n }\n .xl\\:col-7 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 58.3333%;\n }\n .xl\\:col-8 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 66.6667%;\n }\n .xl\\:col-9 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 75%;\n }\n .xl\\:col-10 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 83.3333%;\n }\n .xl\\:col-11 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 91.6667%;\n }\n .xl\\:col-12 {\n flex: 0 0 auto;\n padding: 0.5rem;\n width: 100%;\n }\n}\n.col-offset-0 {\n margin-left: 0 !important;\n}\n\n.col-offset-1 {\n margin-left: 8.3333% !important;\n}\n\n.col-offset-2 {\n margin-left: 16.6667% !important;\n}\n\n.col-offset-3 {\n margin-left: 25% !important;\n}\n\n.col-offset-4 {\n margin-left: 33.3333% !important;\n}\n\n.col-offset-5 {\n margin-left: 41.6667% !important;\n}\n\n.col-offset-6 {\n margin-left: 50% !important;\n}\n\n.col-offset-7 {\n margin-left: 58.3333% !important;\n}\n\n.col-offset-8 {\n margin-left: 66.6667% !important;\n}\n\n.col-offset-9 {\n margin-left: 75% !important;\n}\n\n.col-offset-10 {\n margin-left: 83.3333% !important;\n}\n\n.col-offset-11 {\n margin-left: 91.6667% !important;\n}\n\n.col-offset-12 {\n margin-left: 100% !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:col-offset-0 {\n margin-left: 0 !important;\n }\n .sm\\:col-offset-1 {\n margin-left: 8.3333% !important;\n }\n .sm\\:col-offset-2 {\n margin-left: 16.6667% !important;\n }\n .sm\\:col-offset-3 {\n margin-left: 25% !important;\n }\n .sm\\:col-offset-4 {\n margin-left: 33.3333% !important;\n }\n .sm\\:col-offset-5 {\n margin-left: 41.6667% !important;\n }\n .sm\\:col-offset-6 {\n margin-left: 50% !important;\n }\n .sm\\:col-offset-7 {\n margin-left: 58.3333% !important;\n }\n .sm\\:col-offset-8 {\n margin-left: 66.6667% !important;\n }\n .sm\\:col-offset-9 {\n margin-left: 75% !important;\n }\n .sm\\:col-offset-10 {\n margin-left: 83.3333% !important;\n }\n .sm\\:col-offset-11 {\n margin-left: 91.6667% !important;\n }\n .sm\\:col-offset-12 {\n margin-left: 100% !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:col-offset-0 {\n margin-left: 0 !important;\n }\n .md\\:col-offset-1 {\n margin-left: 8.3333% !important;\n }\n .md\\:col-offset-2 {\n margin-left: 16.6667% !important;\n }\n .md\\:col-offset-3 {\n margin-left: 25% !important;\n }\n .md\\:col-offset-4 {\n margin-left: 33.3333% !important;\n }\n .md\\:col-offset-5 {\n margin-left: 41.6667% !important;\n }\n .md\\:col-offset-6 {\n margin-left: 50% !important;\n }\n .md\\:col-offset-7 {\n margin-left: 58.3333% !important;\n }\n .md\\:col-offset-8 {\n margin-left: 66.6667% !important;\n }\n .md\\:col-offset-9 {\n margin-left: 75% !important;\n }\n .md\\:col-offset-10 {\n margin-left: 83.3333% !important;\n }\n .md\\:col-offset-11 {\n margin-left: 91.6667% !important;\n }\n .md\\:col-offset-12 {\n margin-left: 100% !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:col-offset-0 {\n margin-left: 0 !important;\n }\n .lg\\:col-offset-1 {\n margin-left: 8.3333% !important;\n }\n .lg\\:col-offset-2 {\n margin-left: 16.6667% !important;\n }\n .lg\\:col-offset-3 {\n margin-left: 25% !important;\n }\n .lg\\:col-offset-4 {\n margin-left: 33.3333% !important;\n }\n .lg\\:col-offset-5 {\n margin-left: 41.6667% !important;\n }\n .lg\\:col-offset-6 {\n margin-left: 50% !important;\n }\n .lg\\:col-offset-7 {\n margin-left: 58.3333% !important;\n }\n .lg\\:col-offset-8 {\n margin-left: 66.6667% !important;\n }\n .lg\\:col-offset-9 {\n margin-left: 75% !important;\n }\n .lg\\:col-offset-10 {\n margin-left: 83.3333% !important;\n }\n .lg\\:col-offset-11 {\n margin-left: 91.6667% !important;\n }\n .lg\\:col-offset-12 {\n margin-left: 100% !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:col-offset-0 {\n margin-left: 0 !important;\n }\n .xl\\:col-offset-1 {\n margin-left: 8.3333% !important;\n }\n .xl\\:col-offset-2 {\n margin-left: 16.6667% !important;\n }\n .xl\\:col-offset-3 {\n margin-left: 25% !important;\n }\n .xl\\:col-offset-4 {\n margin-left: 33.3333% !important;\n }\n .xl\\:col-offset-5 {\n margin-left: 41.6667% !important;\n }\n .xl\\:col-offset-6 {\n margin-left: 50% !important;\n }\n .xl\\:col-offset-7 {\n margin-left: 58.3333% !important;\n }\n .xl\\:col-offset-8 {\n margin-left: 66.6667% !important;\n }\n .xl\\:col-offset-9 {\n margin-left: 75% !important;\n }\n .xl\\:col-offset-10 {\n margin-left: 83.3333% !important;\n }\n .xl\\:col-offset-11 {\n margin-left: 91.6667% !important;\n }\n .xl\\:col-offset-12 {\n margin-left: 100% !important;\n }\n}\n.text-0 {\n color: var(--surface-0) !important;\n}\n\n.text-50 {\n color: var(--surface-50) !important;\n}\n\n.text-100 {\n color: var(--surface-100) !important;\n}\n\n.text-200 {\n color: var(--surface-200) !important;\n}\n\n.text-300 {\n color: var(--surface-300) !important;\n}\n\n.text-400 {\n color: var(--surface-400) !important;\n}\n\n.text-500 {\n color: var(--surface-500) !important;\n}\n\n.text-600 {\n color: var(--surface-600) !important;\n}\n\n.text-700 {\n color: var(--surface-700) !important;\n}\n\n.text-800 {\n color: var(--surface-800) !important;\n}\n\n.text-900 {\n color: var(--surface-900) !important;\n}\n\n.focus\\:text-0:focus {\n color: var(--surface-0) !important;\n}\n\n.hover\\:text-0:hover {\n color: var(--surface-0) !important;\n}\n\n.active\\:text-0:active {\n color: var(--surface-0) !important;\n}\n\n.focus\\:text-50:focus {\n color: var(--surface-50) !important;\n}\n\n.hover\\:text-50:hover {\n color: var(--surface-50) !important;\n}\n\n.active\\:text-50:active {\n color: var(--surface-50) !important;\n}\n\n.focus\\:text-100:focus {\n color: var(--surface-100) !important;\n}\n\n.hover\\:text-100:hover {\n color: var(--surface-100) !important;\n}\n\n.active\\:text-100:active {\n color: var(--surface-100) !important;\n}\n\n.focus\\:text-200:focus {\n color: var(--surface-200) !important;\n}\n\n.hover\\:text-200:hover {\n color: var(--surface-200) !important;\n}\n\n.active\\:text-200:active {\n color: var(--surface-200) !important;\n}\n\n.focus\\:text-300:focus {\n color: var(--surface-300) !important;\n}\n\n.hover\\:text-300:hover {\n color: var(--surface-300) !important;\n}\n\n.active\\:text-300:active {\n color: var(--surface-300) !important;\n}\n\n.focus\\:text-400:focus {\n color: var(--surface-400) !important;\n}\n\n.hover\\:text-400:hover {\n color: var(--surface-400) !important;\n}\n\n.active\\:text-400:active {\n color: var(--surface-400) !important;\n}\n\n.focus\\:text-500:focus {\n color: var(--surface-500) !important;\n}\n\n.hover\\:text-500:hover {\n color: var(--surface-500) !important;\n}\n\n.active\\:text-500:active {\n color: var(--surface-500) !important;\n}\n\n.focus\\:text-600:focus {\n color: var(--surface-600) !important;\n}\n\n.hover\\:text-600:hover {\n color: var(--surface-600) !important;\n}\n\n.active\\:text-600:active {\n color: var(--surface-600) !important;\n}\n\n.focus\\:text-700:focus {\n color: var(--surface-700) !important;\n}\n\n.hover\\:text-700:hover {\n color: var(--surface-700) !important;\n}\n\n.active\\:text-700:active {\n color: var(--surface-700) !important;\n}\n\n.focus\\:text-800:focus {\n color: var(--surface-800) !important;\n}\n\n.hover\\:text-800:hover {\n color: var(--surface-800) !important;\n}\n\n.active\\:text-800:active {\n color: var(--surface-800) !important;\n}\n\n.focus\\:text-900:focus {\n color: var(--surface-900) !important;\n}\n\n.hover\\:text-900:hover {\n color: var(--surface-900) !important;\n}\n\n.active\\:text-900:active {\n color: var(--surface-900) !important;\n}\n\n.surface-0 {\n background-color: var(--surface-0) !important;\n}\n\n.surface-50 {\n background-color: var(--surface-50) !important;\n}\n\n.surface-100 {\n background-color: var(--surface-100) !important;\n}\n\n.surface-200 {\n background-color: var(--surface-200) !important;\n}\n\n.surface-300 {\n background-color: var(--surface-300) !important;\n}\n\n.surface-400 {\n background-color: var(--surface-400) !important;\n}\n\n.surface-500 {\n background-color: var(--surface-500) !important;\n}\n\n.surface-600 {\n background-color: var(--surface-600) !important;\n}\n\n.surface-700 {\n background-color: var(--surface-700) !important;\n}\n\n.surface-800 {\n background-color: var(--surface-800) !important;\n}\n\n.surface-900 {\n background-color: var(--surface-900) !important;\n}\n\n.focus\\:surface-0:focus {\n background-color: var(--surface-0) !important;\n}\n\n.hover\\:surface-0:hover {\n background-color: var(--surface-0) !important;\n}\n\n.active\\:surface-0:active {\n background-color: var(--surface-0) !important;\n}\n\n.focus\\:surface-50:focus {\n background-color: var(--surface-50) !important;\n}\n\n.hover\\:surface-50:hover {\n background-color: var(--surface-50) !important;\n}\n\n.active\\:surface-50:active {\n background-color: var(--surface-50) !important;\n}\n\n.focus\\:surface-100:focus {\n background-color: var(--surface-100) !important;\n}\n\n.hover\\:surface-100:hover {\n background-color: var(--surface-100) !important;\n}\n\n.active\\:surface-100:active {\n background-color: var(--surface-100) !important;\n}\n\n.focus\\:surface-200:focus {\n background-color: var(--surface-200) !important;\n}\n\n.hover\\:surface-200:hover {\n background-color: var(--surface-200) !important;\n}\n\n.active\\:surface-200:active {\n background-color: var(--surface-200) !important;\n}\n\n.focus\\:surface-300:focus {\n background-color: var(--surface-300) !important;\n}\n\n.hover\\:surface-300:hover {\n background-color: var(--surface-300) !important;\n}\n\n.active\\:surface-300:active {\n background-color: var(--surface-300) !important;\n}\n\n.focus\\:surface-400:focus {\n background-color: var(--surface-400) !important;\n}\n\n.hover\\:surface-400:hover {\n background-color: var(--surface-400) !important;\n}\n\n.active\\:surface-400:active {\n background-color: var(--surface-400) !important;\n}\n\n.focus\\:surface-500:focus {\n background-color: var(--surface-500) !important;\n}\n\n.hover\\:surface-500:hover {\n background-color: var(--surface-500) !important;\n}\n\n.active\\:surface-500:active {\n background-color: var(--surface-500) !important;\n}\n\n.focus\\:surface-600:focus {\n background-color: var(--surface-600) !important;\n}\n\n.hover\\:surface-600:hover {\n background-color: var(--surface-600) !important;\n}\n\n.active\\:surface-600:active {\n background-color: var(--surface-600) !important;\n}\n\n.focus\\:surface-700:focus {\n background-color: var(--surface-700) !important;\n}\n\n.hover\\:surface-700:hover {\n background-color: var(--surface-700) !important;\n}\n\n.active\\:surface-700:active {\n background-color: var(--surface-700) !important;\n}\n\n.focus\\:surface-800:focus {\n background-color: var(--surface-800) !important;\n}\n\n.hover\\:surface-800:hover {\n background-color: var(--surface-800) !important;\n}\n\n.active\\:surface-800:active {\n background-color: var(--surface-800) !important;\n}\n\n.focus\\:surface-900:focus {\n background-color: var(--surface-900) !important;\n}\n\n.hover\\:surface-900:hover {\n background-color: var(--surface-900) !important;\n}\n\n.active\\:surface-900:active {\n background-color: var(--surface-900) !important;\n}\n\n.border-0 {\n border-color: var(--surface-0) !important;\n}\n\n.border-50 {\n border-color: var(--surface-50) !important;\n}\n\n.border-100 {\n border-color: var(--surface-100) !important;\n}\n\n.border-200 {\n border-color: var(--surface-200) !important;\n}\n\n.border-300 {\n border-color: var(--surface-300) !important;\n}\n\n.border-400 {\n border-color: var(--surface-400) !important;\n}\n\n.border-500 {\n border-color: var(--surface-500) !important;\n}\n\n.border-600 {\n border-color: var(--surface-600) !important;\n}\n\n.border-700 {\n border-color: var(--surface-700) !important;\n}\n\n.border-800 {\n border-color: var(--surface-800) !important;\n}\n\n.border-900 {\n border-color: var(--surface-900) !important;\n}\n\n.focus\\:border-0:focus {\n border-color: var(--surface-0) !important;\n}\n\n.hover\\:border-0:hover {\n border-color: var(--surface-0) !important;\n}\n\n.active\\:border-0:active {\n border-color: var(--surface-0) !important;\n}\n\n.focus\\:border-50:focus {\n border-color: var(--surface-50) !important;\n}\n\n.hover\\:border-50:hover {\n border-color: var(--surface-50) !important;\n}\n\n.active\\:border-50:active {\n border-color: var(--surface-50) !important;\n}\n\n.focus\\:border-100:focus {\n border-color: var(--surface-100) !important;\n}\n\n.hover\\:border-100:hover {\n border-color: var(--surface-100) !important;\n}\n\n.active\\:border-100:active {\n border-color: var(--surface-100) !important;\n}\n\n.focus\\:border-200:focus {\n border-color: var(--surface-200) !important;\n}\n\n.hover\\:border-200:hover {\n border-color: var(--surface-200) !important;\n}\n\n.active\\:border-200:active {\n border-color: var(--surface-200) !important;\n}\n\n.focus\\:border-300:focus {\n border-color: var(--surface-300) !important;\n}\n\n.hover\\:border-300:hover {\n border-color: var(--surface-300) !important;\n}\n\n.active\\:border-300:active {\n border-color: var(--surface-300) !important;\n}\n\n.focus\\:border-400:focus {\n border-color: var(--surface-400) !important;\n}\n\n.hover\\:border-400:hover {\n border-color: var(--surface-400) !important;\n}\n\n.active\\:border-400:active {\n border-color: var(--surface-400) !important;\n}\n\n.focus\\:border-500:focus {\n border-color: var(--surface-500) !important;\n}\n\n.hover\\:border-500:hover {\n border-color: var(--surface-500) !important;\n}\n\n.active\\:border-500:active {\n border-color: var(--surface-500) !important;\n}\n\n.focus\\:border-600:focus {\n border-color: var(--surface-600) !important;\n}\n\n.hover\\:border-600:hover {\n border-color: var(--surface-600) !important;\n}\n\n.active\\:border-600:active {\n border-color: var(--surface-600) !important;\n}\n\n.focus\\:border-700:focus {\n border-color: var(--surface-700) !important;\n}\n\n.hover\\:border-700:hover {\n border-color: var(--surface-700) !important;\n}\n\n.active\\:border-700:active {\n border-color: var(--surface-700) !important;\n}\n\n.focus\\:border-800:focus {\n border-color: var(--surface-800) !important;\n}\n\n.hover\\:border-800:hover {\n border-color: var(--surface-800) !important;\n}\n\n.active\\:border-800:active {\n border-color: var(--surface-800) !important;\n}\n\n.focus\\:border-900:focus {\n border-color: var(--surface-900) !important;\n}\n\n.hover\\:border-900:hover {\n border-color: var(--surface-900) !important;\n}\n\n.active\\:border-900:active {\n border-color: var(--surface-900) !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:bg-transparent {\n background-color: transparent !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:bg-transparent {\n background-color: transparent !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:bg-transparent {\n background-color: transparent !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:bg-transparent {\n background-color: transparent !important;\n }\n}\n.border-transparent {\n border-color: transparent !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:border-transparent {\n border-color: transparent !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:border-transparent {\n border-color: transparent !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:border-transparent {\n border-color: transparent !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:border-transparent {\n border-color: transparent !important;\n }\n}\n.text-blue-50 {\n color: var(--blue-50) !important;\n}\n.text-blue-100 {\n color: var(--blue-100) !important;\n}\n.text-blue-200 {\n color: var(--blue-200) !important;\n}\n.text-blue-300 {\n color: var(--blue-300) !important;\n}\n.text-blue-400 {\n color: var(--blue-400) !important;\n}\n.text-blue-500 {\n color: var(--blue-500) !important;\n}\n.text-blue-600 {\n color: var(--blue-600) !important;\n}\n.text-blue-700 {\n color: var(--blue-700) !important;\n}\n.text-blue-800 {\n color: var(--blue-800) !important;\n}\n.text-blue-900 {\n color: var(--blue-900) !important;\n}\n\n.focus\\:text-blue-50:focus {\n color: var(--blue-50) !important;\n}\n.focus\\:text-blue-100:focus {\n color: var(--blue-100) !important;\n}\n.focus\\:text-blue-200:focus {\n color: var(--blue-200) !important;\n}\n.focus\\:text-blue-300:focus {\n color: var(--blue-300) !important;\n}\n.focus\\:text-blue-400:focus {\n color: var(--blue-400) !important;\n}\n.focus\\:text-blue-500:focus {\n color: var(--blue-500) !important;\n}\n.focus\\:text-blue-600:focus {\n color: var(--blue-600) !important;\n}\n.focus\\:text-blue-700:focus {\n color: var(--blue-700) !important;\n}\n.focus\\:text-blue-800:focus {\n color: var(--blue-800) !important;\n}\n.focus\\:text-blue-900:focus {\n color: var(--blue-900) !important;\n}\n\n.hover\\:text-blue-50:hover {\n color: var(--blue-50) !important;\n}\n.hover\\:text-blue-100:hover {\n color: var(--blue-100) !important;\n}\n.hover\\:text-blue-200:hover {\n color: var(--blue-200) !important;\n}\n.hover\\:text-blue-300:hover {\n color: var(--blue-300) !important;\n}\n.hover\\:text-blue-400:hover {\n color: var(--blue-400) !important;\n}\n.hover\\:text-blue-500:hover {\n color: var(--blue-500) !important;\n}\n.hover\\:text-blue-600:hover {\n color: var(--blue-600) !important;\n}\n.hover\\:text-blue-700:hover {\n color: var(--blue-700) !important;\n}\n.hover\\:text-blue-800:hover {\n color: var(--blue-800) !important;\n}\n.hover\\:text-blue-900:hover {\n color: var(--blue-900) !important;\n}\n\n.active\\:text-blue-50:active {\n color: var(--blue-50) !important;\n}\n.active\\:text-blue-100:active {\n color: var(--blue-100) !important;\n}\n.active\\:text-blue-200:active {\n color: var(--blue-200) !important;\n}\n.active\\:text-blue-300:active {\n color: var(--blue-300) !important;\n}\n.active\\:text-blue-400:active {\n color: var(--blue-400) !important;\n}\n.active\\:text-blue-500:active {\n color: var(--blue-500) !important;\n}\n.active\\:text-blue-600:active {\n color: var(--blue-600) !important;\n}\n.active\\:text-blue-700:active {\n color: var(--blue-700) !important;\n}\n.active\\:text-blue-800:active {\n color: var(--blue-800) !important;\n}\n.active\\:text-blue-900:active {\n color: var(--blue-900) !important;\n}\n\n.text-green-50 {\n color: var(--green-50) !important;\n}\n.text-green-100 {\n color: var(--green-100) !important;\n}\n.text-green-200 {\n color: var(--green-200) !important;\n}\n.text-green-300 {\n color: var(--green-300) !important;\n}\n.text-green-400 {\n color: var(--green-400) !important;\n}\n.text-green-500 {\n color: var(--green-500) !important;\n}\n.text-green-600 {\n color: var(--green-600) !important;\n}\n.text-green-700 {\n color: var(--green-700) !important;\n}\n.text-green-800 {\n color: var(--green-800) !important;\n}\n.text-green-900 {\n color: var(--green-900) !important;\n}\n\n.focus\\:text-green-50:focus {\n color: var(--green-50) !important;\n}\n.focus\\:text-green-100:focus {\n color: var(--green-100) !important;\n}\n.focus\\:text-green-200:focus {\n color: var(--green-200) !important;\n}\n.focus\\:text-green-300:focus {\n color: var(--green-300) !important;\n}\n.focus\\:text-green-400:focus {\n color: var(--green-400) !important;\n}\n.focus\\:text-green-500:focus {\n color: var(--green-500) !important;\n}\n.focus\\:text-green-600:focus {\n color: var(--green-600) !important;\n}\n.focus\\:text-green-700:focus {\n color: var(--green-700) !important;\n}\n.focus\\:text-green-800:focus {\n color: var(--green-800) !important;\n}\n.focus\\:text-green-900:focus {\n color: var(--green-900) !important;\n}\n\n.hover\\:text-green-50:hover {\n color: var(--green-50) !important;\n}\n.hover\\:text-green-100:hover {\n color: var(--green-100) !important;\n}\n.hover\\:text-green-200:hover {\n color: var(--green-200) !important;\n}\n.hover\\:text-green-300:hover {\n color: var(--green-300) !important;\n}\n.hover\\:text-green-400:hover {\n color: var(--green-400) !important;\n}\n.hover\\:text-green-500:hover {\n color: var(--green-500) !important;\n}\n.hover\\:text-green-600:hover {\n color: var(--green-600) !important;\n}\n.hover\\:text-green-700:hover {\n color: var(--green-700) !important;\n}\n.hover\\:text-green-800:hover {\n color: var(--green-800) !important;\n}\n.hover\\:text-green-900:hover {\n color: var(--green-900) !important;\n}\n\n.active\\:text-green-50:active {\n color: var(--green-50) !important;\n}\n.active\\:text-green-100:active {\n color: var(--green-100) !important;\n}\n.active\\:text-green-200:active {\n color: var(--green-200) !important;\n}\n.active\\:text-green-300:active {\n color: var(--green-300) !important;\n}\n.active\\:text-green-400:active {\n color: var(--green-400) !important;\n}\n.active\\:text-green-500:active {\n color: var(--green-500) !important;\n}\n.active\\:text-green-600:active {\n color: var(--green-600) !important;\n}\n.active\\:text-green-700:active {\n color: var(--green-700) !important;\n}\n.active\\:text-green-800:active {\n color: var(--green-800) !important;\n}\n.active\\:text-green-900:active {\n color: var(--green-900) !important;\n}\n\n.text-yellow-50 {\n color: var(--yellow-50) !important;\n}\n.text-yellow-100 {\n color: var(--yellow-100) !important;\n}\n.text-yellow-200 {\n color: var(--yellow-200) !important;\n}\n.text-yellow-300 {\n color: var(--yellow-300) !important;\n}\n.text-yellow-400 {\n color: var(--yellow-400) !important;\n}\n.text-yellow-500 {\n color: var(--yellow-500) !important;\n}\n.text-yellow-600 {\n color: var(--yellow-600) !important;\n}\n.text-yellow-700 {\n color: var(--yellow-700) !important;\n}\n.text-yellow-800 {\n color: var(--yellow-800) !important;\n}\n.text-yellow-900 {\n color: var(--yellow-900) !important;\n}\n\n.focus\\:text-yellow-50:focus {\n color: var(--yellow-50) !important;\n}\n.focus\\:text-yellow-100:focus {\n color: var(--yellow-100) !important;\n}\n.focus\\:text-yellow-200:focus {\n color: var(--yellow-200) !important;\n}\n.focus\\:text-yellow-300:focus {\n color: var(--yellow-300) !important;\n}\n.focus\\:text-yellow-400:focus {\n color: var(--yellow-400) !important;\n}\n.focus\\:text-yellow-500:focus {\n color: var(--yellow-500) !important;\n}\n.focus\\:text-yellow-600:focus {\n color: var(--yellow-600) !important;\n}\n.focus\\:text-yellow-700:focus {\n color: var(--yellow-700) !important;\n}\n.focus\\:text-yellow-800:focus {\n color: var(--yellow-800) !important;\n}\n.focus\\:text-yellow-900:focus {\n color: var(--yellow-900) !important;\n}\n\n.hover\\:text-yellow-50:hover {\n color: var(--yellow-50) !important;\n}\n.hover\\:text-yellow-100:hover {\n color: var(--yellow-100) !important;\n}\n.hover\\:text-yellow-200:hover {\n color: var(--yellow-200) !important;\n}\n.hover\\:text-yellow-300:hover {\n color: var(--yellow-300) !important;\n}\n.hover\\:text-yellow-400:hover {\n color: var(--yellow-400) !important;\n}\n.hover\\:text-yellow-500:hover {\n color: var(--yellow-500) !important;\n}\n.hover\\:text-yellow-600:hover {\n color: var(--yellow-600) !important;\n}\n.hover\\:text-yellow-700:hover {\n color: var(--yellow-700) !important;\n}\n.hover\\:text-yellow-800:hover {\n color: var(--yellow-800) !important;\n}\n.hover\\:text-yellow-900:hover {\n color: var(--yellow-900) !important;\n}\n\n.active\\:text-yellow-50:active {\n color: var(--yellow-50) !important;\n}\n.active\\:text-yellow-100:active {\n color: var(--yellow-100) !important;\n}\n.active\\:text-yellow-200:active {\n color: var(--yellow-200) !important;\n}\n.active\\:text-yellow-300:active {\n color: var(--yellow-300) !important;\n}\n.active\\:text-yellow-400:active {\n color: var(--yellow-400) !important;\n}\n.active\\:text-yellow-500:active {\n color: var(--yellow-500) !important;\n}\n.active\\:text-yellow-600:active {\n color: var(--yellow-600) !important;\n}\n.active\\:text-yellow-700:active {\n color: var(--yellow-700) !important;\n}\n.active\\:text-yellow-800:active {\n color: var(--yellow-800) !important;\n}\n.active\\:text-yellow-900:active {\n color: var(--yellow-900) !important;\n}\n\n.text-cyan-50 {\n color: var(--cyan-50) !important;\n}\n.text-cyan-100 {\n color: var(--cyan-100) !important;\n}\n.text-cyan-200 {\n color: var(--cyan-200) !important;\n}\n.text-cyan-300 {\n color: var(--cyan-300) !important;\n}\n.text-cyan-400 {\n color: var(--cyan-400) !important;\n}\n.text-cyan-500 {\n color: var(--cyan-500) !important;\n}\n.text-cyan-600 {\n color: var(--cyan-600) !important;\n}\n.text-cyan-700 {\n color: var(--cyan-700) !important;\n}\n.text-cyan-800 {\n color: var(--cyan-800) !important;\n}\n.text-cyan-900 {\n color: var(--cyan-900) !important;\n}\n\n.focus\\:text-cyan-50:focus {\n color: var(--cyan-50) !important;\n}\n.focus\\:text-cyan-100:focus {\n color: var(--cyan-100) !important;\n}\n.focus\\:text-cyan-200:focus {\n color: var(--cyan-200) !important;\n}\n.focus\\:text-cyan-300:focus {\n color: var(--cyan-300) !important;\n}\n.focus\\:text-cyan-400:focus {\n color: var(--cyan-400) !important;\n}\n.focus\\:text-cyan-500:focus {\n color: var(--cyan-500) !important;\n}\n.focus\\:text-cyan-600:focus {\n color: var(--cyan-600) !important;\n}\n.focus\\:text-cyan-700:focus {\n color: var(--cyan-700) !important;\n}\n.focus\\:text-cyan-800:focus {\n color: var(--cyan-800) !important;\n}\n.focus\\:text-cyan-900:focus {\n color: var(--cyan-900) !important;\n}\n\n.hover\\:text-cyan-50:hover {\n color: var(--cyan-50) !important;\n}\n.hover\\:text-cyan-100:hover {\n color: var(--cyan-100) !important;\n}\n.hover\\:text-cyan-200:hover {\n color: var(--cyan-200) !important;\n}\n.hover\\:text-cyan-300:hover {\n color: var(--cyan-300) !important;\n}\n.hover\\:text-cyan-400:hover {\n color: var(--cyan-400) !important;\n}\n.hover\\:text-cyan-500:hover {\n color: var(--cyan-500) !important;\n}\n.hover\\:text-cyan-600:hover {\n color: var(--cyan-600) !important;\n}\n.hover\\:text-cyan-700:hover {\n color: var(--cyan-700) !important;\n}\n.hover\\:text-cyan-800:hover {\n color: var(--cyan-800) !important;\n}\n.hover\\:text-cyan-900:hover {\n color: var(--cyan-900) !important;\n}\n\n.active\\:text-cyan-50:active {\n color: var(--cyan-50) !important;\n}\n.active\\:text-cyan-100:active {\n color: var(--cyan-100) !important;\n}\n.active\\:text-cyan-200:active {\n color: var(--cyan-200) !important;\n}\n.active\\:text-cyan-300:active {\n color: var(--cyan-300) !important;\n}\n.active\\:text-cyan-400:active {\n color: var(--cyan-400) !important;\n}\n.active\\:text-cyan-500:active {\n color: var(--cyan-500) !important;\n}\n.active\\:text-cyan-600:active {\n color: var(--cyan-600) !important;\n}\n.active\\:text-cyan-700:active {\n color: var(--cyan-700) !important;\n}\n.active\\:text-cyan-800:active {\n color: var(--cyan-800) !important;\n}\n.active\\:text-cyan-900:active {\n color: var(--cyan-900) !important;\n}\n\n.text-pink-50 {\n color: var(--pink-50) !important;\n}\n.text-pink-100 {\n color: var(--pink-100) !important;\n}\n.text-pink-200 {\n color: var(--pink-200) !important;\n}\n.text-pink-300 {\n color: var(--pink-300) !important;\n}\n.text-pink-400 {\n color: var(--pink-400) !important;\n}\n.text-pink-500 {\n color: var(--pink-500) !important;\n}\n.text-pink-600 {\n color: var(--pink-600) !important;\n}\n.text-pink-700 {\n color: var(--pink-700) !important;\n}\n.text-pink-800 {\n color: var(--pink-800) !important;\n}\n.text-pink-900 {\n color: var(--pink-900) !important;\n}\n\n.focus\\:text-pink-50:focus {\n color: var(--pink-50) !important;\n}\n.focus\\:text-pink-100:focus {\n color: var(--pink-100) !important;\n}\n.focus\\:text-pink-200:focus {\n color: var(--pink-200) !important;\n}\n.focus\\:text-pink-300:focus {\n color: var(--pink-300) !important;\n}\n.focus\\:text-pink-400:focus {\n color: var(--pink-400) !important;\n}\n.focus\\:text-pink-500:focus {\n color: var(--pink-500) !important;\n}\n.focus\\:text-pink-600:focus {\n color: var(--pink-600) !important;\n}\n.focus\\:text-pink-700:focus {\n color: var(--pink-700) !important;\n}\n.focus\\:text-pink-800:focus {\n color: var(--pink-800) !important;\n}\n.focus\\:text-pink-900:focus {\n color: var(--pink-900) !important;\n}\n\n.hover\\:text-pink-50:hover {\n color: var(--pink-50) !important;\n}\n.hover\\:text-pink-100:hover {\n color: var(--pink-100) !important;\n}\n.hover\\:text-pink-200:hover {\n color: var(--pink-200) !important;\n}\n.hover\\:text-pink-300:hover {\n color: var(--pink-300) !important;\n}\n.hover\\:text-pink-400:hover {\n color: var(--pink-400) !important;\n}\n.hover\\:text-pink-500:hover {\n color: var(--pink-500) !important;\n}\n.hover\\:text-pink-600:hover {\n color: var(--pink-600) !important;\n}\n.hover\\:text-pink-700:hover {\n color: var(--pink-700) !important;\n}\n.hover\\:text-pink-800:hover {\n color: var(--pink-800) !important;\n}\n.hover\\:text-pink-900:hover {\n color: var(--pink-900) !important;\n}\n\n.active\\:text-pink-50:active {\n color: var(--pink-50) !important;\n}\n.active\\:text-pink-100:active {\n color: var(--pink-100) !important;\n}\n.active\\:text-pink-200:active {\n color: var(--pink-200) !important;\n}\n.active\\:text-pink-300:active {\n color: var(--pink-300) !important;\n}\n.active\\:text-pink-400:active {\n color: var(--pink-400) !important;\n}\n.active\\:text-pink-500:active {\n color: var(--pink-500) !important;\n}\n.active\\:text-pink-600:active {\n color: var(--pink-600) !important;\n}\n.active\\:text-pink-700:active {\n color: var(--pink-700) !important;\n}\n.active\\:text-pink-800:active {\n color: var(--pink-800) !important;\n}\n.active\\:text-pink-900:active {\n color: var(--pink-900) !important;\n}\n\n.text-indigo-50 {\n color: var(--indigo-50) !important;\n}\n.text-indigo-100 {\n color: var(--indigo-100) !important;\n}\n.text-indigo-200 {\n color: var(--indigo-200) !important;\n}\n.text-indigo-300 {\n color: var(--indigo-300) !important;\n}\n.text-indigo-400 {\n color: var(--indigo-400) !important;\n}\n.text-indigo-500 {\n color: var(--indigo-500) !important;\n}\n.text-indigo-600 {\n color: var(--indigo-600) !important;\n}\n.text-indigo-700 {\n color: var(--indigo-700) !important;\n}\n.text-indigo-800 {\n color: var(--indigo-800) !important;\n}\n.text-indigo-900 {\n color: var(--indigo-900) !important;\n}\n\n.focus\\:text-indigo-50:focus {\n color: var(--indigo-50) !important;\n}\n.focus\\:text-indigo-100:focus {\n color: var(--indigo-100) !important;\n}\n.focus\\:text-indigo-200:focus {\n color: var(--indigo-200) !important;\n}\n.focus\\:text-indigo-300:focus {\n color: var(--indigo-300) !important;\n}\n.focus\\:text-indigo-400:focus {\n color: var(--indigo-400) !important;\n}\n.focus\\:text-indigo-500:focus {\n color: var(--indigo-500) !important;\n}\n.focus\\:text-indigo-600:focus {\n color: var(--indigo-600) !important;\n}\n.focus\\:text-indigo-700:focus {\n color: var(--indigo-700) !important;\n}\n.focus\\:text-indigo-800:focus {\n color: var(--indigo-800) !important;\n}\n.focus\\:text-indigo-900:focus {\n color: var(--indigo-900) !important;\n}\n\n.hover\\:text-indigo-50:hover {\n color: var(--indigo-50) !important;\n}\n.hover\\:text-indigo-100:hover {\n color: var(--indigo-100) !important;\n}\n.hover\\:text-indigo-200:hover {\n color: var(--indigo-200) !important;\n}\n.hover\\:text-indigo-300:hover {\n color: var(--indigo-300) !important;\n}\n.hover\\:text-indigo-400:hover {\n color: var(--indigo-400) !important;\n}\n.hover\\:text-indigo-500:hover {\n color: var(--indigo-500) !important;\n}\n.hover\\:text-indigo-600:hover {\n color: var(--indigo-600) !important;\n}\n.hover\\:text-indigo-700:hover {\n color: var(--indigo-700) !important;\n}\n.hover\\:text-indigo-800:hover {\n color: var(--indigo-800) !important;\n}\n.hover\\:text-indigo-900:hover {\n color: var(--indigo-900) !important;\n}\n\n.active\\:text-indigo-50:active {\n color: var(--indigo-50) !important;\n}\n.active\\:text-indigo-100:active {\n color: var(--indigo-100) !important;\n}\n.active\\:text-indigo-200:active {\n color: var(--indigo-200) !important;\n}\n.active\\:text-indigo-300:active {\n color: var(--indigo-300) !important;\n}\n.active\\:text-indigo-400:active {\n color: var(--indigo-400) !important;\n}\n.active\\:text-indigo-500:active {\n color: var(--indigo-500) !important;\n}\n.active\\:text-indigo-600:active {\n color: var(--indigo-600) !important;\n}\n.active\\:text-indigo-700:active {\n color: var(--indigo-700) !important;\n}\n.active\\:text-indigo-800:active {\n color: var(--indigo-800) !important;\n}\n.active\\:text-indigo-900:active {\n color: var(--indigo-900) !important;\n}\n\n.text-teal-50 {\n color: var(--teal-50) !important;\n}\n.text-teal-100 {\n color: var(--teal-100) !important;\n}\n.text-teal-200 {\n color: var(--teal-200) !important;\n}\n.text-teal-300 {\n color: var(--teal-300) !important;\n}\n.text-teal-400 {\n color: var(--teal-400) !important;\n}\n.text-teal-500 {\n color: var(--teal-500) !important;\n}\n.text-teal-600 {\n color: var(--teal-600) !important;\n}\n.text-teal-700 {\n color: var(--teal-700) !important;\n}\n.text-teal-800 {\n color: var(--teal-800) !important;\n}\n.text-teal-900 {\n color: var(--teal-900) !important;\n}\n\n.focus\\:text-teal-50:focus {\n color: var(--teal-50) !important;\n}\n.focus\\:text-teal-100:focus {\n color: var(--teal-100) !important;\n}\n.focus\\:text-teal-200:focus {\n color: var(--teal-200) !important;\n}\n.focus\\:text-teal-300:focus {\n color: var(--teal-300) !important;\n}\n.focus\\:text-teal-400:focus {\n color: var(--teal-400) !important;\n}\n.focus\\:text-teal-500:focus {\n color: var(--teal-500) !important;\n}\n.focus\\:text-teal-600:focus {\n color: var(--teal-600) !important;\n}\n.focus\\:text-teal-700:focus {\n color: var(--teal-700) !important;\n}\n.focus\\:text-teal-800:focus {\n color: var(--teal-800) !important;\n}\n.focus\\:text-teal-900:focus {\n color: var(--teal-900) !important;\n}\n\n.hover\\:text-teal-50:hover {\n color: var(--teal-50) !important;\n}\n.hover\\:text-teal-100:hover {\n color: var(--teal-100) !important;\n}\n.hover\\:text-teal-200:hover {\n color: var(--teal-200) !important;\n}\n.hover\\:text-teal-300:hover {\n color: var(--teal-300) !important;\n}\n.hover\\:text-teal-400:hover {\n color: var(--teal-400) !important;\n}\n.hover\\:text-teal-500:hover {\n color: var(--teal-500) !important;\n}\n.hover\\:text-teal-600:hover {\n color: var(--teal-600) !important;\n}\n.hover\\:text-teal-700:hover {\n color: var(--teal-700) !important;\n}\n.hover\\:text-teal-800:hover {\n color: var(--teal-800) !important;\n}\n.hover\\:text-teal-900:hover {\n color: var(--teal-900) !important;\n}\n\n.active\\:text-teal-50:active {\n color: var(--teal-50) !important;\n}\n.active\\:text-teal-100:active {\n color: var(--teal-100) !important;\n}\n.active\\:text-teal-200:active {\n color: var(--teal-200) !important;\n}\n.active\\:text-teal-300:active {\n color: var(--teal-300) !important;\n}\n.active\\:text-teal-400:active {\n color: var(--teal-400) !important;\n}\n.active\\:text-teal-500:active {\n color: var(--teal-500) !important;\n}\n.active\\:text-teal-600:active {\n color: var(--teal-600) !important;\n}\n.active\\:text-teal-700:active {\n color: var(--teal-700) !important;\n}\n.active\\:text-teal-800:active {\n color: var(--teal-800) !important;\n}\n.active\\:text-teal-900:active {\n color: var(--teal-900) !important;\n}\n\n.text-orange-50 {\n color: var(--orange-50) !important;\n}\n.text-orange-100 {\n color: var(--orange-100) !important;\n}\n.text-orange-200 {\n color: var(--orange-200) !important;\n}\n.text-orange-300 {\n color: var(--orange-300) !important;\n}\n.text-orange-400 {\n color: var(--orange-400) !important;\n}\n.text-orange-500 {\n color: var(--orange-500) !important;\n}\n.text-orange-600 {\n color: var(--orange-600) !important;\n}\n.text-orange-700 {\n color: var(--orange-700) !important;\n}\n.text-orange-800 {\n color: var(--orange-800) !important;\n}\n.text-orange-900 {\n color: var(--orange-900) !important;\n}\n\n.focus\\:text-orange-50:focus {\n color: var(--orange-50) !important;\n}\n.focus\\:text-orange-100:focus {\n color: var(--orange-100) !important;\n}\n.focus\\:text-orange-200:focus {\n color: var(--orange-200) !important;\n}\n.focus\\:text-orange-300:focus {\n color: var(--orange-300) !important;\n}\n.focus\\:text-orange-400:focus {\n color: var(--orange-400) !important;\n}\n.focus\\:text-orange-500:focus {\n color: var(--orange-500) !important;\n}\n.focus\\:text-orange-600:focus {\n color: var(--orange-600) !important;\n}\n.focus\\:text-orange-700:focus {\n color: var(--orange-700) !important;\n}\n.focus\\:text-orange-800:focus {\n color: var(--orange-800) !important;\n}\n.focus\\:text-orange-900:focus {\n color: var(--orange-900) !important;\n}\n\n.hover\\:text-orange-50:hover {\n color: var(--orange-50) !important;\n}\n.hover\\:text-orange-100:hover {\n color: var(--orange-100) !important;\n}\n.hover\\:text-orange-200:hover {\n color: var(--orange-200) !important;\n}\n.hover\\:text-orange-300:hover {\n color: var(--orange-300) !important;\n}\n.hover\\:text-orange-400:hover {\n color: var(--orange-400) !important;\n}\n.hover\\:text-orange-500:hover {\n color: var(--orange-500) !important;\n}\n.hover\\:text-orange-600:hover {\n color: var(--orange-600) !important;\n}\n.hover\\:text-orange-700:hover {\n color: var(--orange-700) !important;\n}\n.hover\\:text-orange-800:hover {\n color: var(--orange-800) !important;\n}\n.hover\\:text-orange-900:hover {\n color: var(--orange-900) !important;\n}\n\n.active\\:text-orange-50:active {\n color: var(--orange-50) !important;\n}\n.active\\:text-orange-100:active {\n color: var(--orange-100) !important;\n}\n.active\\:text-orange-200:active {\n color: var(--orange-200) !important;\n}\n.active\\:text-orange-300:active {\n color: var(--orange-300) !important;\n}\n.active\\:text-orange-400:active {\n color: var(--orange-400) !important;\n}\n.active\\:text-orange-500:active {\n color: var(--orange-500) !important;\n}\n.active\\:text-orange-600:active {\n color: var(--orange-600) !important;\n}\n.active\\:text-orange-700:active {\n color: var(--orange-700) !important;\n}\n.active\\:text-orange-800:active {\n color: var(--orange-800) !important;\n}\n.active\\:text-orange-900:active {\n color: var(--orange-900) !important;\n}\n\n.text-bluegray-50 {\n color: var(--bluegray-50) !important;\n}\n.text-bluegray-100 {\n color: var(--bluegray-100) !important;\n}\n.text-bluegray-200 {\n color: var(--bluegray-200) !important;\n}\n.text-bluegray-300 {\n color: var(--bluegray-300) !important;\n}\n.text-bluegray-400 {\n color: var(--bluegray-400) !important;\n}\n.text-bluegray-500 {\n color: var(--bluegray-500) !important;\n}\n.text-bluegray-600 {\n color: var(--bluegray-600) !important;\n}\n.text-bluegray-700 {\n color: var(--bluegray-700) !important;\n}\n.text-bluegray-800 {\n color: var(--bluegray-800) !important;\n}\n.text-bluegray-900 {\n color: var(--bluegray-900) !important;\n}\n\n.focus\\:text-bluegray-50:focus {\n color: var(--bluegray-50) !important;\n}\n.focus\\:text-bluegray-100:focus {\n color: var(--bluegray-100) !important;\n}\n.focus\\:text-bluegray-200:focus {\n color: var(--bluegray-200) !important;\n}\n.focus\\:text-bluegray-300:focus {\n color: var(--bluegray-300) !important;\n}\n.focus\\:text-bluegray-400:focus {\n color: var(--bluegray-400) !important;\n}\n.focus\\:text-bluegray-500:focus {\n color: var(--bluegray-500) !important;\n}\n.focus\\:text-bluegray-600:focus {\n color: var(--bluegray-600) !important;\n}\n.focus\\:text-bluegray-700:focus {\n color: var(--bluegray-700) !important;\n}\n.focus\\:text-bluegray-800:focus {\n color: var(--bluegray-800) !important;\n}\n.focus\\:text-bluegray-900:focus {\n color: var(--bluegray-900) !important;\n}\n\n.hover\\:text-bluegray-50:hover {\n color: var(--bluegray-50) !important;\n}\n.hover\\:text-bluegray-100:hover {\n color: var(--bluegray-100) !important;\n}\n.hover\\:text-bluegray-200:hover {\n color: var(--bluegray-200) !important;\n}\n.hover\\:text-bluegray-300:hover {\n color: var(--bluegray-300) !important;\n}\n.hover\\:text-bluegray-400:hover {\n color: var(--bluegray-400) !important;\n}\n.hover\\:text-bluegray-500:hover {\n color: var(--bluegray-500) !important;\n}\n.hover\\:text-bluegray-600:hover {\n color: var(--bluegray-600) !important;\n}\n.hover\\:text-bluegray-700:hover {\n color: var(--bluegray-700) !important;\n}\n.hover\\:text-bluegray-800:hover {\n color: var(--bluegray-800) !important;\n}\n.hover\\:text-bluegray-900:hover {\n color: var(--bluegray-900) !important;\n}\n\n.active\\:text-bluegray-50:active {\n color: var(--bluegray-50) !important;\n}\n.active\\:text-bluegray-100:active {\n color: var(--bluegray-100) !important;\n}\n.active\\:text-bluegray-200:active {\n color: var(--bluegray-200) !important;\n}\n.active\\:text-bluegray-300:active {\n color: var(--bluegray-300) !important;\n}\n.active\\:text-bluegray-400:active {\n color: var(--bluegray-400) !important;\n}\n.active\\:text-bluegray-500:active {\n color: var(--bluegray-500) !important;\n}\n.active\\:text-bluegray-600:active {\n color: var(--bluegray-600) !important;\n}\n.active\\:text-bluegray-700:active {\n color: var(--bluegray-700) !important;\n}\n.active\\:text-bluegray-800:active {\n color: var(--bluegray-800) !important;\n}\n.active\\:text-bluegray-900:active {\n color: var(--bluegray-900) !important;\n}\n\n.text-purple-50 {\n color: var(--purple-50) !important;\n}\n.text-purple-100 {\n color: var(--purple-100) !important;\n}\n.text-purple-200 {\n color: var(--purple-200) !important;\n}\n.text-purple-300 {\n color: var(--purple-300) !important;\n}\n.text-purple-400 {\n color: var(--purple-400) !important;\n}\n.text-purple-500 {\n color: var(--purple-500) !important;\n}\n.text-purple-600 {\n color: var(--purple-600) !important;\n}\n.text-purple-700 {\n color: var(--purple-700) !important;\n}\n.text-purple-800 {\n color: var(--purple-800) !important;\n}\n.text-purple-900 {\n color: var(--purple-900) !important;\n}\n\n.focus\\:text-purple-50:focus {\n color: var(--purple-50) !important;\n}\n.focus\\:text-purple-100:focus {\n color: var(--purple-100) !important;\n}\n.focus\\:text-purple-200:focus {\n color: var(--purple-200) !important;\n}\n.focus\\:text-purple-300:focus {\n color: var(--purple-300) !important;\n}\n.focus\\:text-purple-400:focus {\n color: var(--purple-400) !important;\n}\n.focus\\:text-purple-500:focus {\n color: var(--purple-500) !important;\n}\n.focus\\:text-purple-600:focus {\n color: var(--purple-600) !important;\n}\n.focus\\:text-purple-700:focus {\n color: var(--purple-700) !important;\n}\n.focus\\:text-purple-800:focus {\n color: var(--purple-800) !important;\n}\n.focus\\:text-purple-900:focus {\n color: var(--purple-900) !important;\n}\n\n.hover\\:text-purple-50:hover {\n color: var(--purple-50) !important;\n}\n.hover\\:text-purple-100:hover {\n color: var(--purple-100) !important;\n}\n.hover\\:text-purple-200:hover {\n color: var(--purple-200) !important;\n}\n.hover\\:text-purple-300:hover {\n color: var(--purple-300) !important;\n}\n.hover\\:text-purple-400:hover {\n color: var(--purple-400) !important;\n}\n.hover\\:text-purple-500:hover {\n color: var(--purple-500) !important;\n}\n.hover\\:text-purple-600:hover {\n color: var(--purple-600) !important;\n}\n.hover\\:text-purple-700:hover {\n color: var(--purple-700) !important;\n}\n.hover\\:text-purple-800:hover {\n color: var(--purple-800) !important;\n}\n.hover\\:text-purple-900:hover {\n color: var(--purple-900) !important;\n}\n\n.active\\:text-purple-50:active {\n color: var(--purple-50) !important;\n}\n.active\\:text-purple-100:active {\n color: var(--purple-100) !important;\n}\n.active\\:text-purple-200:active {\n color: var(--purple-200) !important;\n}\n.active\\:text-purple-300:active {\n color: var(--purple-300) !important;\n}\n.active\\:text-purple-400:active {\n color: var(--purple-400) !important;\n}\n.active\\:text-purple-500:active {\n color: var(--purple-500) !important;\n}\n.active\\:text-purple-600:active {\n color: var(--purple-600) !important;\n}\n.active\\:text-purple-700:active {\n color: var(--purple-700) !important;\n}\n.active\\:text-purple-800:active {\n color: var(--purple-800) !important;\n}\n.active\\:text-purple-900:active {\n color: var(--purple-900) !important;\n}\n\n.text-gray-50 {\n color: var(--gray-50) !important;\n}\n.text-gray-100 {\n color: var(--gray-100) !important;\n}\n.text-gray-200 {\n color: var(--gray-200) !important;\n}\n.text-gray-300 {\n color: var(--gray-300) !important;\n}\n.text-gray-400 {\n color: var(--gray-400) !important;\n}\n.text-gray-500 {\n color: var(--gray-500) !important;\n}\n.text-gray-600 {\n color: var(--gray-600) !important;\n}\n.text-gray-700 {\n color: var(--gray-700) !important;\n}\n.text-gray-800 {\n color: var(--gray-800) !important;\n}\n.text-gray-900 {\n color: var(--gray-900) !important;\n}\n\n.focus\\:text-gray-50:focus {\n color: var(--gray-50) !important;\n}\n.focus\\:text-gray-100:focus {\n color: var(--gray-100) !important;\n}\n.focus\\:text-gray-200:focus {\n color: var(--gray-200) !important;\n}\n.focus\\:text-gray-300:focus {\n color: var(--gray-300) !important;\n}\n.focus\\:text-gray-400:focus {\n color: var(--gray-400) !important;\n}\n.focus\\:text-gray-500:focus {\n color: var(--gray-500) !important;\n}\n.focus\\:text-gray-600:focus {\n color: var(--gray-600) !important;\n}\n.focus\\:text-gray-700:focus {\n color: var(--gray-700) !important;\n}\n.focus\\:text-gray-800:focus {\n color: var(--gray-800) !important;\n}\n.focus\\:text-gray-900:focus {\n color: var(--gray-900) !important;\n}\n\n.hover\\:text-gray-50:hover {\n color: var(--gray-50) !important;\n}\n.hover\\:text-gray-100:hover {\n color: var(--gray-100) !important;\n}\n.hover\\:text-gray-200:hover {\n color: var(--gray-200) !important;\n}\n.hover\\:text-gray-300:hover {\n color: var(--gray-300) !important;\n}\n.hover\\:text-gray-400:hover {\n color: var(--gray-400) !important;\n}\n.hover\\:text-gray-500:hover {\n color: var(--gray-500) !important;\n}\n.hover\\:text-gray-600:hover {\n color: var(--gray-600) !important;\n}\n.hover\\:text-gray-700:hover {\n color: var(--gray-700) !important;\n}\n.hover\\:text-gray-800:hover {\n color: var(--gray-800) !important;\n}\n.hover\\:text-gray-900:hover {\n color: var(--gray-900) !important;\n}\n\n.active\\:text-gray-50:active {\n color: var(--gray-50) !important;\n}\n.active\\:text-gray-100:active {\n color: var(--gray-100) !important;\n}\n.active\\:text-gray-200:active {\n color: var(--gray-200) !important;\n}\n.active\\:text-gray-300:active {\n color: var(--gray-300) !important;\n}\n.active\\:text-gray-400:active {\n color: var(--gray-400) !important;\n}\n.active\\:text-gray-500:active {\n color: var(--gray-500) !important;\n}\n.active\\:text-gray-600:active {\n color: var(--gray-600) !important;\n}\n.active\\:text-gray-700:active {\n color: var(--gray-700) !important;\n}\n.active\\:text-gray-800:active {\n color: var(--gray-800) !important;\n}\n.active\\:text-gray-900:active {\n color: var(--gray-900) !important;\n}\n\n.text-red-50 {\n color: var(--red-50) !important;\n}\n.text-red-100 {\n color: var(--red-100) !important;\n}\n.text-red-200 {\n color: var(--red-200) !important;\n}\n.text-red-300 {\n color: var(--red-300) !important;\n}\n.text-red-400 {\n color: var(--red-400) !important;\n}\n.text-red-500 {\n color: var(--red-500) !important;\n}\n.text-red-600 {\n color: var(--red-600) !important;\n}\n.text-red-700 {\n color: var(--red-700) !important;\n}\n.text-red-800 {\n color: var(--red-800) !important;\n}\n.text-red-900 {\n color: var(--red-900) !important;\n}\n\n.focus\\:text-red-50:focus {\n color: var(--red-50) !important;\n}\n.focus\\:text-red-100:focus {\n color: var(--red-100) !important;\n}\n.focus\\:text-red-200:focus {\n color: var(--red-200) !important;\n}\n.focus\\:text-red-300:focus {\n color: var(--red-300) !important;\n}\n.focus\\:text-red-400:focus {\n color: var(--red-400) !important;\n}\n.focus\\:text-red-500:focus {\n color: var(--red-500) !important;\n}\n.focus\\:text-red-600:focus {\n color: var(--red-600) !important;\n}\n.focus\\:text-red-700:focus {\n color: var(--red-700) !important;\n}\n.focus\\:text-red-800:focus {\n color: var(--red-800) !important;\n}\n.focus\\:text-red-900:focus {\n color: var(--red-900) !important;\n}\n\n.hover\\:text-red-50:hover {\n color: var(--red-50) !important;\n}\n.hover\\:text-red-100:hover {\n color: var(--red-100) !important;\n}\n.hover\\:text-red-200:hover {\n color: var(--red-200) !important;\n}\n.hover\\:text-red-300:hover {\n color: var(--red-300) !important;\n}\n.hover\\:text-red-400:hover {\n color: var(--red-400) !important;\n}\n.hover\\:text-red-500:hover {\n color: var(--red-500) !important;\n}\n.hover\\:text-red-600:hover {\n color: var(--red-600) !important;\n}\n.hover\\:text-red-700:hover {\n color: var(--red-700) !important;\n}\n.hover\\:text-red-800:hover {\n color: var(--red-800) !important;\n}\n.hover\\:text-red-900:hover {\n color: var(--red-900) !important;\n}\n\n.active\\:text-red-50:active {\n color: var(--red-50) !important;\n}\n.active\\:text-red-100:active {\n color: var(--red-100) !important;\n}\n.active\\:text-red-200:active {\n color: var(--red-200) !important;\n}\n.active\\:text-red-300:active {\n color: var(--red-300) !important;\n}\n.active\\:text-red-400:active {\n color: var(--red-400) !important;\n}\n.active\\:text-red-500:active {\n color: var(--red-500) !important;\n}\n.active\\:text-red-600:active {\n color: var(--red-600) !important;\n}\n.active\\:text-red-700:active {\n color: var(--red-700) !important;\n}\n.active\\:text-red-800:active {\n color: var(--red-800) !important;\n}\n.active\\:text-red-900:active {\n color: var(--red-900) !important;\n}\n\n.text-primary-50 {\n color: var(--primary-50) !important;\n}\n.text-primary-100 {\n color: var(--primary-100) !important;\n}\n.text-primary-200 {\n color: var(--primary-200) !important;\n}\n.text-primary-300 {\n color: var(--primary-300) !important;\n}\n.text-primary-400 {\n color: var(--primary-400) !important;\n}\n.text-primary-500 {\n color: var(--primary-500) !important;\n}\n.text-primary-600 {\n color: var(--primary-600) !important;\n}\n.text-primary-700 {\n color: var(--primary-700) !important;\n}\n.text-primary-800 {\n color: var(--primary-800) !important;\n}\n.text-primary-900 {\n color: var(--primary-900) !important;\n}\n\n.focus\\:text-primary-50:focus {\n color: var(--primary-50) !important;\n}\n.focus\\:text-primary-100:focus {\n color: var(--primary-100) !important;\n}\n.focus\\:text-primary-200:focus {\n color: var(--primary-200) !important;\n}\n.focus\\:text-primary-300:focus {\n color: var(--primary-300) !important;\n}\n.focus\\:text-primary-400:focus {\n color: var(--primary-400) !important;\n}\n.focus\\:text-primary-500:focus {\n color: var(--primary-500) !important;\n}\n.focus\\:text-primary-600:focus {\n color: var(--primary-600) !important;\n}\n.focus\\:text-primary-700:focus {\n color: var(--primary-700) !important;\n}\n.focus\\:text-primary-800:focus {\n color: var(--primary-800) !important;\n}\n.focus\\:text-primary-900:focus {\n color: var(--primary-900) !important;\n}\n\n.hover\\:text-primary-50:hover {\n color: var(--primary-50) !important;\n}\n.hover\\:text-primary-100:hover {\n color: var(--primary-100) !important;\n}\n.hover\\:text-primary-200:hover {\n color: var(--primary-200) !important;\n}\n.hover\\:text-primary-300:hover {\n color: var(--primary-300) !important;\n}\n.hover\\:text-primary-400:hover {\n color: var(--primary-400) !important;\n}\n.hover\\:text-primary-500:hover {\n color: var(--primary-500) !important;\n}\n.hover\\:text-primary-600:hover {\n color: var(--primary-600) !important;\n}\n.hover\\:text-primary-700:hover {\n color: var(--primary-700) !important;\n}\n.hover\\:text-primary-800:hover {\n color: var(--primary-800) !important;\n}\n.hover\\:text-primary-900:hover {\n color: var(--primary-900) !important;\n}\n\n.active\\:text-primary-50:active {\n color: var(--primary-50) !important;\n}\n.active\\:text-primary-100:active {\n color: var(--primary-100) !important;\n}\n.active\\:text-primary-200:active {\n color: var(--primary-200) !important;\n}\n.active\\:text-primary-300:active {\n color: var(--primary-300) !important;\n}\n.active\\:text-primary-400:active {\n color: var(--primary-400) !important;\n}\n.active\\:text-primary-500:active {\n color: var(--primary-500) !important;\n}\n.active\\:text-primary-600:active {\n color: var(--primary-600) !important;\n}\n.active\\:text-primary-700:active {\n color: var(--primary-700) !important;\n}\n.active\\:text-primary-800:active {\n color: var(--primary-800) !important;\n}\n.active\\:text-primary-900:active {\n color: var(--primary-900) !important;\n}\n\n.bg-blue-50 {\n background-color: var(--blue-50) !important;\n}\n.bg-blue-100 {\n background-color: var(--blue-100) !important;\n}\n.bg-blue-200 {\n background-color: var(--blue-200) !important;\n}\n.bg-blue-300 {\n background-color: var(--blue-300) !important;\n}\n.bg-blue-400 {\n background-color: var(--blue-400) !important;\n}\n.bg-blue-500 {\n background-color: var(--blue-500) !important;\n}\n.bg-blue-600 {\n background-color: var(--blue-600) !important;\n}\n.bg-blue-700 {\n background-color: var(--blue-700) !important;\n}\n.bg-blue-800 {\n background-color: var(--blue-800) !important;\n}\n.bg-blue-900 {\n background-color: var(--blue-900) !important;\n}\n\n.focus\\:bg-blue-50:focus {\n background-color: var(--blue-50) !important;\n}\n.focus\\:bg-blue-100:focus {\n background-color: var(--blue-100) !important;\n}\n.focus\\:bg-blue-200:focus {\n background-color: var(--blue-200) !important;\n}\n.focus\\:bg-blue-300:focus {\n background-color: var(--blue-300) !important;\n}\n.focus\\:bg-blue-400:focus {\n background-color: var(--blue-400) !important;\n}\n.focus\\:bg-blue-500:focus {\n background-color: var(--blue-500) !important;\n}\n.focus\\:bg-blue-600:focus {\n background-color: var(--blue-600) !important;\n}\n.focus\\:bg-blue-700:focus {\n background-color: var(--blue-700) !important;\n}\n.focus\\:bg-blue-800:focus {\n background-color: var(--blue-800) !important;\n}\n.focus\\:bg-blue-900:focus {\n background-color: var(--blue-900) !important;\n}\n\n.hover\\:bg-blue-50:hover {\n background-color: var(--blue-50) !important;\n}\n.hover\\:bg-blue-100:hover {\n background-color: var(--blue-100) !important;\n}\n.hover\\:bg-blue-200:hover {\n background-color: var(--blue-200) !important;\n}\n.hover\\:bg-blue-300:hover {\n background-color: var(--blue-300) !important;\n}\n.hover\\:bg-blue-400:hover {\n background-color: var(--blue-400) !important;\n}\n.hover\\:bg-blue-500:hover {\n background-color: var(--blue-500) !important;\n}\n.hover\\:bg-blue-600:hover {\n background-color: var(--blue-600) !important;\n}\n.hover\\:bg-blue-700:hover {\n background-color: var(--blue-700) !important;\n}\n.hover\\:bg-blue-800:hover {\n background-color: var(--blue-800) !important;\n}\n.hover\\:bg-blue-900:hover {\n background-color: var(--blue-900) !important;\n}\n\n.active\\:bg-blue-50:active {\n background-color: var(--blue-50) !important;\n}\n.active\\:bg-blue-100:active {\n background-color: var(--blue-100) !important;\n}\n.active\\:bg-blue-200:active {\n background-color: var(--blue-200) !important;\n}\n.active\\:bg-blue-300:active {\n background-color: var(--blue-300) !important;\n}\n.active\\:bg-blue-400:active {\n background-color: var(--blue-400) !important;\n}\n.active\\:bg-blue-500:active {\n background-color: var(--blue-500) !important;\n}\n.active\\:bg-blue-600:active {\n background-color: var(--blue-600) !important;\n}\n.active\\:bg-blue-700:active {\n background-color: var(--blue-700) !important;\n}\n.active\\:bg-blue-800:active {\n background-color: var(--blue-800) !important;\n}\n.active\\:bg-blue-900:active {\n background-color: var(--blue-900) !important;\n}\n\n.bg-green-50 {\n background-color: var(--green-50) !important;\n}\n.bg-green-100 {\n background-color: var(--green-100) !important;\n}\n.bg-green-200 {\n background-color: var(--green-200) !important;\n}\n.bg-green-300 {\n background-color: var(--green-300) !important;\n}\n.bg-green-400 {\n background-color: var(--green-400) !important;\n}\n.bg-green-500 {\n background-color: var(--green-500) !important;\n}\n.bg-green-600 {\n background-color: var(--green-600) !important;\n}\n.bg-green-700 {\n background-color: var(--green-700) !important;\n}\n.bg-green-800 {\n background-color: var(--green-800) !important;\n}\n.bg-green-900 {\n background-color: var(--green-900) !important;\n}\n\n.focus\\:bg-green-50:focus {\n background-color: var(--green-50) !important;\n}\n.focus\\:bg-green-100:focus {\n background-color: var(--green-100) !important;\n}\n.focus\\:bg-green-200:focus {\n background-color: var(--green-200) !important;\n}\n.focus\\:bg-green-300:focus {\n background-color: var(--green-300) !important;\n}\n.focus\\:bg-green-400:focus {\n background-color: var(--green-400) !important;\n}\n.focus\\:bg-green-500:focus {\n background-color: var(--green-500) !important;\n}\n.focus\\:bg-green-600:focus {\n background-color: var(--green-600) !important;\n}\n.focus\\:bg-green-700:focus {\n background-color: var(--green-700) !important;\n}\n.focus\\:bg-green-800:focus {\n background-color: var(--green-800) !important;\n}\n.focus\\:bg-green-900:focus {\n background-color: var(--green-900) !important;\n}\n\n.hover\\:bg-green-50:hover {\n background-color: var(--green-50) !important;\n}\n.hover\\:bg-green-100:hover {\n background-color: var(--green-100) !important;\n}\n.hover\\:bg-green-200:hover {\n background-color: var(--green-200) !important;\n}\n.hover\\:bg-green-300:hover {\n background-color: var(--green-300) !important;\n}\n.hover\\:bg-green-400:hover {\n background-color: var(--green-400) !important;\n}\n.hover\\:bg-green-500:hover {\n background-color: var(--green-500) !important;\n}\n.hover\\:bg-green-600:hover {\n background-color: var(--green-600) !important;\n}\n.hover\\:bg-green-700:hover {\n background-color: var(--green-700) !important;\n}\n.hover\\:bg-green-800:hover {\n background-color: var(--green-800) !important;\n}\n.hover\\:bg-green-900:hover {\n background-color: var(--green-900) !important;\n}\n\n.active\\:bg-green-50:active {\n background-color: var(--green-50) !important;\n}\n.active\\:bg-green-100:active {\n background-color: var(--green-100) !important;\n}\n.active\\:bg-green-200:active {\n background-color: var(--green-200) !important;\n}\n.active\\:bg-green-300:active {\n background-color: var(--green-300) !important;\n}\n.active\\:bg-green-400:active {\n background-color: var(--green-400) !important;\n}\n.active\\:bg-green-500:active {\n background-color: var(--green-500) !important;\n}\n.active\\:bg-green-600:active {\n background-color: var(--green-600) !important;\n}\n.active\\:bg-green-700:active {\n background-color: var(--green-700) !important;\n}\n.active\\:bg-green-800:active {\n background-color: var(--green-800) !important;\n}\n.active\\:bg-green-900:active {\n background-color: var(--green-900) !important;\n}\n\n.bg-yellow-50 {\n background-color: var(--yellow-50) !important;\n}\n.bg-yellow-100 {\n background-color: var(--yellow-100) !important;\n}\n.bg-yellow-200 {\n background-color: var(--yellow-200) !important;\n}\n.bg-yellow-300 {\n background-color: var(--yellow-300) !important;\n}\n.bg-yellow-400 {\n background-color: var(--yellow-400) !important;\n}\n.bg-yellow-500 {\n background-color: var(--yellow-500) !important;\n}\n.bg-yellow-600 {\n background-color: var(--yellow-600) !important;\n}\n.bg-yellow-700 {\n background-color: var(--yellow-700) !important;\n}\n.bg-yellow-800 {\n background-color: var(--yellow-800) !important;\n}\n.bg-yellow-900 {\n background-color: var(--yellow-900) !important;\n}\n\n.focus\\:bg-yellow-50:focus {\n background-color: var(--yellow-50) !important;\n}\n.focus\\:bg-yellow-100:focus {\n background-color: var(--yellow-100) !important;\n}\n.focus\\:bg-yellow-200:focus {\n background-color: var(--yellow-200) !important;\n}\n.focus\\:bg-yellow-300:focus {\n background-color: var(--yellow-300) !important;\n}\n.focus\\:bg-yellow-400:focus {\n background-color: var(--yellow-400) !important;\n}\n.focus\\:bg-yellow-500:focus {\n background-color: var(--yellow-500) !important;\n}\n.focus\\:bg-yellow-600:focus {\n background-color: var(--yellow-600) !important;\n}\n.focus\\:bg-yellow-700:focus {\n background-color: var(--yellow-700) !important;\n}\n.focus\\:bg-yellow-800:focus {\n background-color: var(--yellow-800) !important;\n}\n.focus\\:bg-yellow-900:focus {\n background-color: var(--yellow-900) !important;\n}\n\n.hover\\:bg-yellow-50:hover {\n background-color: var(--yellow-50) !important;\n}\n.hover\\:bg-yellow-100:hover {\n background-color: var(--yellow-100) !important;\n}\n.hover\\:bg-yellow-200:hover {\n background-color: var(--yellow-200) !important;\n}\n.hover\\:bg-yellow-300:hover {\n background-color: var(--yellow-300) !important;\n}\n.hover\\:bg-yellow-400:hover {\n background-color: var(--yellow-400) !important;\n}\n.hover\\:bg-yellow-500:hover {\n background-color: var(--yellow-500) !important;\n}\n.hover\\:bg-yellow-600:hover {\n background-color: var(--yellow-600) !important;\n}\n.hover\\:bg-yellow-700:hover {\n background-color: var(--yellow-700) !important;\n}\n.hover\\:bg-yellow-800:hover {\n background-color: var(--yellow-800) !important;\n}\n.hover\\:bg-yellow-900:hover {\n background-color: var(--yellow-900) !important;\n}\n\n.active\\:bg-yellow-50:active {\n background-color: var(--yellow-50) !important;\n}\n.active\\:bg-yellow-100:active {\n background-color: var(--yellow-100) !important;\n}\n.active\\:bg-yellow-200:active {\n background-color: var(--yellow-200) !important;\n}\n.active\\:bg-yellow-300:active {\n background-color: var(--yellow-300) !important;\n}\n.active\\:bg-yellow-400:active {\n background-color: var(--yellow-400) !important;\n}\n.active\\:bg-yellow-500:active {\n background-color: var(--yellow-500) !important;\n}\n.active\\:bg-yellow-600:active {\n background-color: var(--yellow-600) !important;\n}\n.active\\:bg-yellow-700:active {\n background-color: var(--yellow-700) !important;\n}\n.active\\:bg-yellow-800:active {\n background-color: var(--yellow-800) !important;\n}\n.active\\:bg-yellow-900:active {\n background-color: var(--yellow-900) !important;\n}\n\n.bg-cyan-50 {\n background-color: var(--cyan-50) !important;\n}\n.bg-cyan-100 {\n background-color: var(--cyan-100) !important;\n}\n.bg-cyan-200 {\n background-color: var(--cyan-200) !important;\n}\n.bg-cyan-300 {\n background-color: var(--cyan-300) !important;\n}\n.bg-cyan-400 {\n background-color: var(--cyan-400) !important;\n}\n.bg-cyan-500 {\n background-color: var(--cyan-500) !important;\n}\n.bg-cyan-600 {\n background-color: var(--cyan-600) !important;\n}\n.bg-cyan-700 {\n background-color: var(--cyan-700) !important;\n}\n.bg-cyan-800 {\n background-color: var(--cyan-800) !important;\n}\n.bg-cyan-900 {\n background-color: var(--cyan-900) !important;\n}\n\n.focus\\:bg-cyan-50:focus {\n background-color: var(--cyan-50) !important;\n}\n.focus\\:bg-cyan-100:focus {\n background-color: var(--cyan-100) !important;\n}\n.focus\\:bg-cyan-200:focus {\n background-color: var(--cyan-200) !important;\n}\n.focus\\:bg-cyan-300:focus {\n background-color: var(--cyan-300) !important;\n}\n.focus\\:bg-cyan-400:focus {\n background-color: var(--cyan-400) !important;\n}\n.focus\\:bg-cyan-500:focus {\n background-color: var(--cyan-500) !important;\n}\n.focus\\:bg-cyan-600:focus {\n background-color: var(--cyan-600) !important;\n}\n.focus\\:bg-cyan-700:focus {\n background-color: var(--cyan-700) !important;\n}\n.focus\\:bg-cyan-800:focus {\n background-color: var(--cyan-800) !important;\n}\n.focus\\:bg-cyan-900:focus {\n background-color: var(--cyan-900) !important;\n}\n\n.hover\\:bg-cyan-50:hover {\n background-color: var(--cyan-50) !important;\n}\n.hover\\:bg-cyan-100:hover {\n background-color: var(--cyan-100) !important;\n}\n.hover\\:bg-cyan-200:hover {\n background-color: var(--cyan-200) !important;\n}\n.hover\\:bg-cyan-300:hover {\n background-color: var(--cyan-300) !important;\n}\n.hover\\:bg-cyan-400:hover {\n background-color: var(--cyan-400) !important;\n}\n.hover\\:bg-cyan-500:hover {\n background-color: var(--cyan-500) !important;\n}\n.hover\\:bg-cyan-600:hover {\n background-color: var(--cyan-600) !important;\n}\n.hover\\:bg-cyan-700:hover {\n background-color: var(--cyan-700) !important;\n}\n.hover\\:bg-cyan-800:hover {\n background-color: var(--cyan-800) !important;\n}\n.hover\\:bg-cyan-900:hover {\n background-color: var(--cyan-900) !important;\n}\n\n.active\\:bg-cyan-50:active {\n background-color: var(--cyan-50) !important;\n}\n.active\\:bg-cyan-100:active {\n background-color: var(--cyan-100) !important;\n}\n.active\\:bg-cyan-200:active {\n background-color: var(--cyan-200) !important;\n}\n.active\\:bg-cyan-300:active {\n background-color: var(--cyan-300) !important;\n}\n.active\\:bg-cyan-400:active {\n background-color: var(--cyan-400) !important;\n}\n.active\\:bg-cyan-500:active {\n background-color: var(--cyan-500) !important;\n}\n.active\\:bg-cyan-600:active {\n background-color: var(--cyan-600) !important;\n}\n.active\\:bg-cyan-700:active {\n background-color: var(--cyan-700) !important;\n}\n.active\\:bg-cyan-800:active {\n background-color: var(--cyan-800) !important;\n}\n.active\\:bg-cyan-900:active {\n background-color: var(--cyan-900) !important;\n}\n\n.bg-pink-50 {\n background-color: var(--pink-50) !important;\n}\n.bg-pink-100 {\n background-color: var(--pink-100) !important;\n}\n.bg-pink-200 {\n background-color: var(--pink-200) !important;\n}\n.bg-pink-300 {\n background-color: var(--pink-300) !important;\n}\n.bg-pink-400 {\n background-color: var(--pink-400) !important;\n}\n.bg-pink-500 {\n background-color: var(--pink-500) !important;\n}\n.bg-pink-600 {\n background-color: var(--pink-600) !important;\n}\n.bg-pink-700 {\n background-color: var(--pink-700) !important;\n}\n.bg-pink-800 {\n background-color: var(--pink-800) !important;\n}\n.bg-pink-900 {\n background-color: var(--pink-900) !important;\n}\n\n.focus\\:bg-pink-50:focus {\n background-color: var(--pink-50) !important;\n}\n.focus\\:bg-pink-100:focus {\n background-color: var(--pink-100) !important;\n}\n.focus\\:bg-pink-200:focus {\n background-color: var(--pink-200) !important;\n}\n.focus\\:bg-pink-300:focus {\n background-color: var(--pink-300) !important;\n}\n.focus\\:bg-pink-400:focus {\n background-color: var(--pink-400) !important;\n}\n.focus\\:bg-pink-500:focus {\n background-color: var(--pink-500) !important;\n}\n.focus\\:bg-pink-600:focus {\n background-color: var(--pink-600) !important;\n}\n.focus\\:bg-pink-700:focus {\n background-color: var(--pink-700) !important;\n}\n.focus\\:bg-pink-800:focus {\n background-color: var(--pink-800) !important;\n}\n.focus\\:bg-pink-900:focus {\n background-color: var(--pink-900) !important;\n}\n\n.hover\\:bg-pink-50:hover {\n background-color: var(--pink-50) !important;\n}\n.hover\\:bg-pink-100:hover {\n background-color: var(--pink-100) !important;\n}\n.hover\\:bg-pink-200:hover {\n background-color: var(--pink-200) !important;\n}\n.hover\\:bg-pink-300:hover {\n background-color: var(--pink-300) !important;\n}\n.hover\\:bg-pink-400:hover {\n background-color: var(--pink-400) !important;\n}\n.hover\\:bg-pink-500:hover {\n background-color: var(--pink-500) !important;\n}\n.hover\\:bg-pink-600:hover {\n background-color: var(--pink-600) !important;\n}\n.hover\\:bg-pink-700:hover {\n background-color: var(--pink-700) !important;\n}\n.hover\\:bg-pink-800:hover {\n background-color: var(--pink-800) !important;\n}\n.hover\\:bg-pink-900:hover {\n background-color: var(--pink-900) !important;\n}\n\n.active\\:bg-pink-50:active {\n background-color: var(--pink-50) !important;\n}\n.active\\:bg-pink-100:active {\n background-color: var(--pink-100) !important;\n}\n.active\\:bg-pink-200:active {\n background-color: var(--pink-200) !important;\n}\n.active\\:bg-pink-300:active {\n background-color: var(--pink-300) !important;\n}\n.active\\:bg-pink-400:active {\n background-color: var(--pink-400) !important;\n}\n.active\\:bg-pink-500:active {\n background-color: var(--pink-500) !important;\n}\n.active\\:bg-pink-600:active {\n background-color: var(--pink-600) !important;\n}\n.active\\:bg-pink-700:active {\n background-color: var(--pink-700) !important;\n}\n.active\\:bg-pink-800:active {\n background-color: var(--pink-800) !important;\n}\n.active\\:bg-pink-900:active {\n background-color: var(--pink-900) !important;\n}\n\n.bg-indigo-50 {\n background-color: var(--indigo-50) !important;\n}\n.bg-indigo-100 {\n background-color: var(--indigo-100) !important;\n}\n.bg-indigo-200 {\n background-color: var(--indigo-200) !important;\n}\n.bg-indigo-300 {\n background-color: var(--indigo-300) !important;\n}\n.bg-indigo-400 {\n background-color: var(--indigo-400) !important;\n}\n.bg-indigo-500 {\n background-color: var(--indigo-500) !important;\n}\n.bg-indigo-600 {\n background-color: var(--indigo-600) !important;\n}\n.bg-indigo-700 {\n background-color: var(--indigo-700) !important;\n}\n.bg-indigo-800 {\n background-color: var(--indigo-800) !important;\n}\n.bg-indigo-900 {\n background-color: var(--indigo-900) !important;\n}\n\n.focus\\:bg-indigo-50:focus {\n background-color: var(--indigo-50) !important;\n}\n.focus\\:bg-indigo-100:focus {\n background-color: var(--indigo-100) !important;\n}\n.focus\\:bg-indigo-200:focus {\n background-color: var(--indigo-200) !important;\n}\n.focus\\:bg-indigo-300:focus {\n background-color: var(--indigo-300) !important;\n}\n.focus\\:bg-indigo-400:focus {\n background-color: var(--indigo-400) !important;\n}\n.focus\\:bg-indigo-500:focus {\n background-color: var(--indigo-500) !important;\n}\n.focus\\:bg-indigo-600:focus {\n background-color: var(--indigo-600) !important;\n}\n.focus\\:bg-indigo-700:focus {\n background-color: var(--indigo-700) !important;\n}\n.focus\\:bg-indigo-800:focus {\n background-color: var(--indigo-800) !important;\n}\n.focus\\:bg-indigo-900:focus {\n background-color: var(--indigo-900) !important;\n}\n\n.hover\\:bg-indigo-50:hover {\n background-color: var(--indigo-50) !important;\n}\n.hover\\:bg-indigo-100:hover {\n background-color: var(--indigo-100) !important;\n}\n.hover\\:bg-indigo-200:hover {\n background-color: var(--indigo-200) !important;\n}\n.hover\\:bg-indigo-300:hover {\n background-color: var(--indigo-300) !important;\n}\n.hover\\:bg-indigo-400:hover {\n background-color: var(--indigo-400) !important;\n}\n.hover\\:bg-indigo-500:hover {\n background-color: var(--indigo-500) !important;\n}\n.hover\\:bg-indigo-600:hover {\n background-color: var(--indigo-600) !important;\n}\n.hover\\:bg-indigo-700:hover {\n background-color: var(--indigo-700) !important;\n}\n.hover\\:bg-indigo-800:hover {\n background-color: var(--indigo-800) !important;\n}\n.hover\\:bg-indigo-900:hover {\n background-color: var(--indigo-900) !important;\n}\n\n.active\\:bg-indigo-50:active {\n background-color: var(--indigo-50) !important;\n}\n.active\\:bg-indigo-100:active {\n background-color: var(--indigo-100) !important;\n}\n.active\\:bg-indigo-200:active {\n background-color: var(--indigo-200) !important;\n}\n.active\\:bg-indigo-300:active {\n background-color: var(--indigo-300) !important;\n}\n.active\\:bg-indigo-400:active {\n background-color: var(--indigo-400) !important;\n}\n.active\\:bg-indigo-500:active {\n background-color: var(--indigo-500) !important;\n}\n.active\\:bg-indigo-600:active {\n background-color: var(--indigo-600) !important;\n}\n.active\\:bg-indigo-700:active {\n background-color: var(--indigo-700) !important;\n}\n.active\\:bg-indigo-800:active {\n background-color: var(--indigo-800) !important;\n}\n.active\\:bg-indigo-900:active {\n background-color: var(--indigo-900) !important;\n}\n\n.bg-teal-50 {\n background-color: var(--teal-50) !important;\n}\n.bg-teal-100 {\n background-color: var(--teal-100) !important;\n}\n.bg-teal-200 {\n background-color: var(--teal-200) !important;\n}\n.bg-teal-300 {\n background-color: var(--teal-300) !important;\n}\n.bg-teal-400 {\n background-color: var(--teal-400) !important;\n}\n.bg-teal-500 {\n background-color: var(--teal-500) !important;\n}\n.bg-teal-600 {\n background-color: var(--teal-600) !important;\n}\n.bg-teal-700 {\n background-color: var(--teal-700) !important;\n}\n.bg-teal-800 {\n background-color: var(--teal-800) !important;\n}\n.bg-teal-900 {\n background-color: var(--teal-900) !important;\n}\n\n.focus\\:bg-teal-50:focus {\n background-color: var(--teal-50) !important;\n}\n.focus\\:bg-teal-100:focus {\n background-color: var(--teal-100) !important;\n}\n.focus\\:bg-teal-200:focus {\n background-color: var(--teal-200) !important;\n}\n.focus\\:bg-teal-300:focus {\n background-color: var(--teal-300) !important;\n}\n.focus\\:bg-teal-400:focus {\n background-color: var(--teal-400) !important;\n}\n.focus\\:bg-teal-500:focus {\n background-color: var(--teal-500) !important;\n}\n.focus\\:bg-teal-600:focus {\n background-color: var(--teal-600) !important;\n}\n.focus\\:bg-teal-700:focus {\n background-color: var(--teal-700) !important;\n}\n.focus\\:bg-teal-800:focus {\n background-color: var(--teal-800) !important;\n}\n.focus\\:bg-teal-900:focus {\n background-color: var(--teal-900) !important;\n}\n\n.hover\\:bg-teal-50:hover {\n background-color: var(--teal-50) !important;\n}\n.hover\\:bg-teal-100:hover {\n background-color: var(--teal-100) !important;\n}\n.hover\\:bg-teal-200:hover {\n background-color: var(--teal-200) !important;\n}\n.hover\\:bg-teal-300:hover {\n background-color: var(--teal-300) !important;\n}\n.hover\\:bg-teal-400:hover {\n background-color: var(--teal-400) !important;\n}\n.hover\\:bg-teal-500:hover {\n background-color: var(--teal-500) !important;\n}\n.hover\\:bg-teal-600:hover {\n background-color: var(--teal-600) !important;\n}\n.hover\\:bg-teal-700:hover {\n background-color: var(--teal-700) !important;\n}\n.hover\\:bg-teal-800:hover {\n background-color: var(--teal-800) !important;\n}\n.hover\\:bg-teal-900:hover {\n background-color: var(--teal-900) !important;\n}\n\n.active\\:bg-teal-50:active {\n background-color: var(--teal-50) !important;\n}\n.active\\:bg-teal-100:active {\n background-color: var(--teal-100) !important;\n}\n.active\\:bg-teal-200:active {\n background-color: var(--teal-200) !important;\n}\n.active\\:bg-teal-300:active {\n background-color: var(--teal-300) !important;\n}\n.active\\:bg-teal-400:active {\n background-color: var(--teal-400) !important;\n}\n.active\\:bg-teal-500:active {\n background-color: var(--teal-500) !important;\n}\n.active\\:bg-teal-600:active {\n background-color: var(--teal-600) !important;\n}\n.active\\:bg-teal-700:active {\n background-color: var(--teal-700) !important;\n}\n.active\\:bg-teal-800:active {\n background-color: var(--teal-800) !important;\n}\n.active\\:bg-teal-900:active {\n background-color: var(--teal-900) !important;\n}\n\n.bg-orange-50 {\n background-color: var(--orange-50) !important;\n}\n.bg-orange-100 {\n background-color: var(--orange-100) !important;\n}\n.bg-orange-200 {\n background-color: var(--orange-200) !important;\n}\n.bg-orange-300 {\n background-color: var(--orange-300) !important;\n}\n.bg-orange-400 {\n background-color: var(--orange-400) !important;\n}\n.bg-orange-500 {\n background-color: var(--orange-500) !important;\n}\n.bg-orange-600 {\n background-color: var(--orange-600) !important;\n}\n.bg-orange-700 {\n background-color: var(--orange-700) !important;\n}\n.bg-orange-800 {\n background-color: var(--orange-800) !important;\n}\n.bg-orange-900 {\n background-color: var(--orange-900) !important;\n}\n\n.focus\\:bg-orange-50:focus {\n background-color: var(--orange-50) !important;\n}\n.focus\\:bg-orange-100:focus {\n background-color: var(--orange-100) !important;\n}\n.focus\\:bg-orange-200:focus {\n background-color: var(--orange-200) !important;\n}\n.focus\\:bg-orange-300:focus {\n background-color: var(--orange-300) !important;\n}\n.focus\\:bg-orange-400:focus {\n background-color: var(--orange-400) !important;\n}\n.focus\\:bg-orange-500:focus {\n background-color: var(--orange-500) !important;\n}\n.focus\\:bg-orange-600:focus {\n background-color: var(--orange-600) !important;\n}\n.focus\\:bg-orange-700:focus {\n background-color: var(--orange-700) !important;\n}\n.focus\\:bg-orange-800:focus {\n background-color: var(--orange-800) !important;\n}\n.focus\\:bg-orange-900:focus {\n background-color: var(--orange-900) !important;\n}\n\n.hover\\:bg-orange-50:hover {\n background-color: var(--orange-50) !important;\n}\n.hover\\:bg-orange-100:hover {\n background-color: var(--orange-100) !important;\n}\n.hover\\:bg-orange-200:hover {\n background-color: var(--orange-200) !important;\n}\n.hover\\:bg-orange-300:hover {\n background-color: var(--orange-300) !important;\n}\n.hover\\:bg-orange-400:hover {\n background-color: var(--orange-400) !important;\n}\n.hover\\:bg-orange-500:hover {\n background-color: var(--orange-500) !important;\n}\n.hover\\:bg-orange-600:hover {\n background-color: var(--orange-600) !important;\n}\n.hover\\:bg-orange-700:hover {\n background-color: var(--orange-700) !important;\n}\n.hover\\:bg-orange-800:hover {\n background-color: var(--orange-800) !important;\n}\n.hover\\:bg-orange-900:hover {\n background-color: var(--orange-900) !important;\n}\n\n.active\\:bg-orange-50:active {\n background-color: var(--orange-50) !important;\n}\n.active\\:bg-orange-100:active {\n background-color: var(--orange-100) !important;\n}\n.active\\:bg-orange-200:active {\n background-color: var(--orange-200) !important;\n}\n.active\\:bg-orange-300:active {\n background-color: var(--orange-300) !important;\n}\n.active\\:bg-orange-400:active {\n background-color: var(--orange-400) !important;\n}\n.active\\:bg-orange-500:active {\n background-color: var(--orange-500) !important;\n}\n.active\\:bg-orange-600:active {\n background-color: var(--orange-600) !important;\n}\n.active\\:bg-orange-700:active {\n background-color: var(--orange-700) !important;\n}\n.active\\:bg-orange-800:active {\n background-color: var(--orange-800) !important;\n}\n.active\\:bg-orange-900:active {\n background-color: var(--orange-900) !important;\n}\n\n.bg-bluegray-50 {\n background-color: var(--bluegray-50) !important;\n}\n.bg-bluegray-100 {\n background-color: var(--bluegray-100) !important;\n}\n.bg-bluegray-200 {\n background-color: var(--bluegray-200) !important;\n}\n.bg-bluegray-300 {\n background-color: var(--bluegray-300) !important;\n}\n.bg-bluegray-400 {\n background-color: var(--bluegray-400) !important;\n}\n.bg-bluegray-500 {\n background-color: var(--bluegray-500) !important;\n}\n.bg-bluegray-600 {\n background-color: var(--bluegray-600) !important;\n}\n.bg-bluegray-700 {\n background-color: var(--bluegray-700) !important;\n}\n.bg-bluegray-800 {\n background-color: var(--bluegray-800) !important;\n}\n.bg-bluegray-900 {\n background-color: var(--bluegray-900) !important;\n}\n\n.focus\\:bg-bluegray-50:focus {\n background-color: var(--bluegray-50) !important;\n}\n.focus\\:bg-bluegray-100:focus {\n background-color: var(--bluegray-100) !important;\n}\n.focus\\:bg-bluegray-200:focus {\n background-color: var(--bluegray-200) !important;\n}\n.focus\\:bg-bluegray-300:focus {\n background-color: var(--bluegray-300) !important;\n}\n.focus\\:bg-bluegray-400:focus {\n background-color: var(--bluegray-400) !important;\n}\n.focus\\:bg-bluegray-500:focus {\n background-color: var(--bluegray-500) !important;\n}\n.focus\\:bg-bluegray-600:focus {\n background-color: var(--bluegray-600) !important;\n}\n.focus\\:bg-bluegray-700:focus {\n background-color: var(--bluegray-700) !important;\n}\n.focus\\:bg-bluegray-800:focus {\n background-color: var(--bluegray-800) !important;\n}\n.focus\\:bg-bluegray-900:focus {\n background-color: var(--bluegray-900) !important;\n}\n\n.hover\\:bg-bluegray-50:hover {\n background-color: var(--bluegray-50) !important;\n}\n.hover\\:bg-bluegray-100:hover {\n background-color: var(--bluegray-100) !important;\n}\n.hover\\:bg-bluegray-200:hover {\n background-color: var(--bluegray-200) !important;\n}\n.hover\\:bg-bluegray-300:hover {\n background-color: var(--bluegray-300) !important;\n}\n.hover\\:bg-bluegray-400:hover {\n background-color: var(--bluegray-400) !important;\n}\n.hover\\:bg-bluegray-500:hover {\n background-color: var(--bluegray-500) !important;\n}\n.hover\\:bg-bluegray-600:hover {\n background-color: var(--bluegray-600) !important;\n}\n.hover\\:bg-bluegray-700:hover {\n background-color: var(--bluegray-700) !important;\n}\n.hover\\:bg-bluegray-800:hover {\n background-color: var(--bluegray-800) !important;\n}\n.hover\\:bg-bluegray-900:hover {\n background-color: var(--bluegray-900) !important;\n}\n\n.active\\:bg-bluegray-50:active {\n background-color: var(--bluegray-50) !important;\n}\n.active\\:bg-bluegray-100:active {\n background-color: var(--bluegray-100) !important;\n}\n.active\\:bg-bluegray-200:active {\n background-color: var(--bluegray-200) !important;\n}\n.active\\:bg-bluegray-300:active {\n background-color: var(--bluegray-300) !important;\n}\n.active\\:bg-bluegray-400:active {\n background-color: var(--bluegray-400) !important;\n}\n.active\\:bg-bluegray-500:active {\n background-color: var(--bluegray-500) !important;\n}\n.active\\:bg-bluegray-600:active {\n background-color: var(--bluegray-600) !important;\n}\n.active\\:bg-bluegray-700:active {\n background-color: var(--bluegray-700) !important;\n}\n.active\\:bg-bluegray-800:active {\n background-color: var(--bluegray-800) !important;\n}\n.active\\:bg-bluegray-900:active {\n background-color: var(--bluegray-900) !important;\n}\n\n.bg-purple-50 {\n background-color: var(--purple-50) !important;\n}\n.bg-purple-100 {\n background-color: var(--purple-100) !important;\n}\n.bg-purple-200 {\n background-color: var(--purple-200) !important;\n}\n.bg-purple-300 {\n background-color: var(--purple-300) !important;\n}\n.bg-purple-400 {\n background-color: var(--purple-400) !important;\n}\n.bg-purple-500 {\n background-color: var(--purple-500) !important;\n}\n.bg-purple-600 {\n background-color: var(--purple-600) !important;\n}\n.bg-purple-700 {\n background-color: var(--purple-700) !important;\n}\n.bg-purple-800 {\n background-color: var(--purple-800) !important;\n}\n.bg-purple-900 {\n background-color: var(--purple-900) !important;\n}\n\n.focus\\:bg-purple-50:focus {\n background-color: var(--purple-50) !important;\n}\n.focus\\:bg-purple-100:focus {\n background-color: var(--purple-100) !important;\n}\n.focus\\:bg-purple-200:focus {\n background-color: var(--purple-200) !important;\n}\n.focus\\:bg-purple-300:focus {\n background-color: var(--purple-300) !important;\n}\n.focus\\:bg-purple-400:focus {\n background-color: var(--purple-400) !important;\n}\n.focus\\:bg-purple-500:focus {\n background-color: var(--purple-500) !important;\n}\n.focus\\:bg-purple-600:focus {\n background-color: var(--purple-600) !important;\n}\n.focus\\:bg-purple-700:focus {\n background-color: var(--purple-700) !important;\n}\n.focus\\:bg-purple-800:focus {\n background-color: var(--purple-800) !important;\n}\n.focus\\:bg-purple-900:focus {\n background-color: var(--purple-900) !important;\n}\n\n.hover\\:bg-purple-50:hover {\n background-color: var(--purple-50) !important;\n}\n.hover\\:bg-purple-100:hover {\n background-color: var(--purple-100) !important;\n}\n.hover\\:bg-purple-200:hover {\n background-color: var(--purple-200) !important;\n}\n.hover\\:bg-purple-300:hover {\n background-color: var(--purple-300) !important;\n}\n.hover\\:bg-purple-400:hover {\n background-color: var(--purple-400) !important;\n}\n.hover\\:bg-purple-500:hover {\n background-color: var(--purple-500) !important;\n}\n.hover\\:bg-purple-600:hover {\n background-color: var(--purple-600) !important;\n}\n.hover\\:bg-purple-700:hover {\n background-color: var(--purple-700) !important;\n}\n.hover\\:bg-purple-800:hover {\n background-color: var(--purple-800) !important;\n}\n.hover\\:bg-purple-900:hover {\n background-color: var(--purple-900) !important;\n}\n\n.active\\:bg-purple-50:active {\n background-color: var(--purple-50) !important;\n}\n.active\\:bg-purple-100:active {\n background-color: var(--purple-100) !important;\n}\n.active\\:bg-purple-200:active {\n background-color: var(--purple-200) !important;\n}\n.active\\:bg-purple-300:active {\n background-color: var(--purple-300) !important;\n}\n.active\\:bg-purple-400:active {\n background-color: var(--purple-400) !important;\n}\n.active\\:bg-purple-500:active {\n background-color: var(--purple-500) !important;\n}\n.active\\:bg-purple-600:active {\n background-color: var(--purple-600) !important;\n}\n.active\\:bg-purple-700:active {\n background-color: var(--purple-700) !important;\n}\n.active\\:bg-purple-800:active {\n background-color: var(--purple-800) !important;\n}\n.active\\:bg-purple-900:active {\n background-color: var(--purple-900) !important;\n}\n\n.bg-gray-50 {\n background-color: var(--gray-50) !important;\n}\n.bg-gray-100 {\n background-color: var(--gray-100) !important;\n}\n.bg-gray-200 {\n background-color: var(--gray-200) !important;\n}\n.bg-gray-300 {\n background-color: var(--gray-300) !important;\n}\n.bg-gray-400 {\n background-color: var(--gray-400) !important;\n}\n.bg-gray-500 {\n background-color: var(--gray-500) !important;\n}\n.bg-gray-600 {\n background-color: var(--gray-600) !important;\n}\n.bg-gray-700 {\n background-color: var(--gray-700) !important;\n}\n.bg-gray-800 {\n background-color: var(--gray-800) !important;\n}\n.bg-gray-900 {\n background-color: var(--gray-900) !important;\n}\n\n.focus\\:bg-gray-50:focus {\n background-color: var(--gray-50) !important;\n}\n.focus\\:bg-gray-100:focus {\n background-color: var(--gray-100) !important;\n}\n.focus\\:bg-gray-200:focus {\n background-color: var(--gray-200) !important;\n}\n.focus\\:bg-gray-300:focus {\n background-color: var(--gray-300) !important;\n}\n.focus\\:bg-gray-400:focus {\n background-color: var(--gray-400) !important;\n}\n.focus\\:bg-gray-500:focus {\n background-color: var(--gray-500) !important;\n}\n.focus\\:bg-gray-600:focus {\n background-color: var(--gray-600) !important;\n}\n.focus\\:bg-gray-700:focus {\n background-color: var(--gray-700) !important;\n}\n.focus\\:bg-gray-800:focus {\n background-color: var(--gray-800) !important;\n}\n.focus\\:bg-gray-900:focus {\n background-color: var(--gray-900) !important;\n}\n\n.hover\\:bg-gray-50:hover {\n background-color: var(--gray-50) !important;\n}\n.hover\\:bg-gray-100:hover {\n background-color: var(--gray-100) !important;\n}\n.hover\\:bg-gray-200:hover {\n background-color: var(--gray-200) !important;\n}\n.hover\\:bg-gray-300:hover {\n background-color: var(--gray-300) !important;\n}\n.hover\\:bg-gray-400:hover {\n background-color: var(--gray-400) !important;\n}\n.hover\\:bg-gray-500:hover {\n background-color: var(--gray-500) !important;\n}\n.hover\\:bg-gray-600:hover {\n background-color: var(--gray-600) !important;\n}\n.hover\\:bg-gray-700:hover {\n background-color: var(--gray-700) !important;\n}\n.hover\\:bg-gray-800:hover {\n background-color: var(--gray-800) !important;\n}\n.hover\\:bg-gray-900:hover {\n background-color: var(--gray-900) !important;\n}\n\n.active\\:bg-gray-50:active {\n background-color: var(--gray-50) !important;\n}\n.active\\:bg-gray-100:active {\n background-color: var(--gray-100) !important;\n}\n.active\\:bg-gray-200:active {\n background-color: var(--gray-200) !important;\n}\n.active\\:bg-gray-300:active {\n background-color: var(--gray-300) !important;\n}\n.active\\:bg-gray-400:active {\n background-color: var(--gray-400) !important;\n}\n.active\\:bg-gray-500:active {\n background-color: var(--gray-500) !important;\n}\n.active\\:bg-gray-600:active {\n background-color: var(--gray-600) !important;\n}\n.active\\:bg-gray-700:active {\n background-color: var(--gray-700) !important;\n}\n.active\\:bg-gray-800:active {\n background-color: var(--gray-800) !important;\n}\n.active\\:bg-gray-900:active {\n background-color: var(--gray-900) !important;\n}\n\n.bg-red-50 {\n background-color: var(--red-50) !important;\n}\n.bg-red-100 {\n background-color: var(--red-100) !important;\n}\n.bg-red-200 {\n background-color: var(--red-200) !important;\n}\n.bg-red-300 {\n background-color: var(--red-300) !important;\n}\n.bg-red-400 {\n background-color: var(--red-400) !important;\n}\n.bg-red-500 {\n background-color: var(--red-500) !important;\n}\n.bg-red-600 {\n background-color: var(--red-600) !important;\n}\n.bg-red-700 {\n background-color: var(--red-700) !important;\n}\n.bg-red-800 {\n background-color: var(--red-800) !important;\n}\n.bg-red-900 {\n background-color: var(--red-900) !important;\n}\n\n.focus\\:bg-red-50:focus {\n background-color: var(--red-50) !important;\n}\n.focus\\:bg-red-100:focus {\n background-color: var(--red-100) !important;\n}\n.focus\\:bg-red-200:focus {\n background-color: var(--red-200) !important;\n}\n.focus\\:bg-red-300:focus {\n background-color: var(--red-300) !important;\n}\n.focus\\:bg-red-400:focus {\n background-color: var(--red-400) !important;\n}\n.focus\\:bg-red-500:focus {\n background-color: var(--red-500) !important;\n}\n.focus\\:bg-red-600:focus {\n background-color: var(--red-600) !important;\n}\n.focus\\:bg-red-700:focus {\n background-color: var(--red-700) !important;\n}\n.focus\\:bg-red-800:focus {\n background-color: var(--red-800) !important;\n}\n.focus\\:bg-red-900:focus {\n background-color: var(--red-900) !important;\n}\n\n.hover\\:bg-red-50:hover {\n background-color: var(--red-50) !important;\n}\n.hover\\:bg-red-100:hover {\n background-color: var(--red-100) !important;\n}\n.hover\\:bg-red-200:hover {\n background-color: var(--red-200) !important;\n}\n.hover\\:bg-red-300:hover {\n background-color: var(--red-300) !important;\n}\n.hover\\:bg-red-400:hover {\n background-color: var(--red-400) !important;\n}\n.hover\\:bg-red-500:hover {\n background-color: var(--red-500) !important;\n}\n.hover\\:bg-red-600:hover {\n background-color: var(--red-600) !important;\n}\n.hover\\:bg-red-700:hover {\n background-color: var(--red-700) !important;\n}\n.hover\\:bg-red-800:hover {\n background-color: var(--red-800) !important;\n}\n.hover\\:bg-red-900:hover {\n background-color: var(--red-900) !important;\n}\n\n.active\\:bg-red-50:active {\n background-color: var(--red-50) !important;\n}\n.active\\:bg-red-100:active {\n background-color: var(--red-100) !important;\n}\n.active\\:bg-red-200:active {\n background-color: var(--red-200) !important;\n}\n.active\\:bg-red-300:active {\n background-color: var(--red-300) !important;\n}\n.active\\:bg-red-400:active {\n background-color: var(--red-400) !important;\n}\n.active\\:bg-red-500:active {\n background-color: var(--red-500) !important;\n}\n.active\\:bg-red-600:active {\n background-color: var(--red-600) !important;\n}\n.active\\:bg-red-700:active {\n background-color: var(--red-700) !important;\n}\n.active\\:bg-red-800:active {\n background-color: var(--red-800) !important;\n}\n.active\\:bg-red-900:active {\n background-color: var(--red-900) !important;\n}\n\n.bg-primary-50 {\n background-color: var(--primary-50) !important;\n}\n.bg-primary-100 {\n background-color: var(--primary-100) !important;\n}\n.bg-primary-200 {\n background-color: var(--primary-200) !important;\n}\n.bg-primary-300 {\n background-color: var(--primary-300) !important;\n}\n.bg-primary-400 {\n background-color: var(--primary-400) !important;\n}\n.bg-primary-500 {\n background-color: var(--primary-500) !important;\n}\n.bg-primary-600 {\n background-color: var(--primary-600) !important;\n}\n.bg-primary-700 {\n background-color: var(--primary-700) !important;\n}\n.bg-primary-800 {\n background-color: var(--primary-800) !important;\n}\n.bg-primary-900 {\n background-color: var(--primary-900) !important;\n}\n\n.focus\\:bg-primary-50:focus {\n background-color: var(--primary-50) !important;\n}\n.focus\\:bg-primary-100:focus {\n background-color: var(--primary-100) !important;\n}\n.focus\\:bg-primary-200:focus {\n background-color: var(--primary-200) !important;\n}\n.focus\\:bg-primary-300:focus {\n background-color: var(--primary-300) !important;\n}\n.focus\\:bg-primary-400:focus {\n background-color: var(--primary-400) !important;\n}\n.focus\\:bg-primary-500:focus {\n background-color: var(--primary-500) !important;\n}\n.focus\\:bg-primary-600:focus {\n background-color: var(--primary-600) !important;\n}\n.focus\\:bg-primary-700:focus {\n background-color: var(--primary-700) !important;\n}\n.focus\\:bg-primary-800:focus {\n background-color: var(--primary-800) !important;\n}\n.focus\\:bg-primary-900:focus {\n background-color: var(--primary-900) !important;\n}\n\n.hover\\:bg-primary-50:hover {\n background-color: var(--primary-50) !important;\n}\n.hover\\:bg-primary-100:hover {\n background-color: var(--primary-100) !important;\n}\n.hover\\:bg-primary-200:hover {\n background-color: var(--primary-200) !important;\n}\n.hover\\:bg-primary-300:hover {\n background-color: var(--primary-300) !important;\n}\n.hover\\:bg-primary-400:hover {\n background-color: var(--primary-400) !important;\n}\n.hover\\:bg-primary-500:hover {\n background-color: var(--primary-500) !important;\n}\n.hover\\:bg-primary-600:hover {\n background-color: var(--primary-600) !important;\n}\n.hover\\:bg-primary-700:hover {\n background-color: var(--primary-700) !important;\n}\n.hover\\:bg-primary-800:hover {\n background-color: var(--primary-800) !important;\n}\n.hover\\:bg-primary-900:hover {\n background-color: var(--primary-900) !important;\n}\n\n.active\\:bg-primary-50:active {\n background-color: var(--primary-50) !important;\n}\n.active\\:bg-primary-100:active {\n background-color: var(--primary-100) !important;\n}\n.active\\:bg-primary-200:active {\n background-color: var(--primary-200) !important;\n}\n.active\\:bg-primary-300:active {\n background-color: var(--primary-300) !important;\n}\n.active\\:bg-primary-400:active {\n background-color: var(--primary-400) !important;\n}\n.active\\:bg-primary-500:active {\n background-color: var(--primary-500) !important;\n}\n.active\\:bg-primary-600:active {\n background-color: var(--primary-600) !important;\n}\n.active\\:bg-primary-700:active {\n background-color: var(--primary-700) !important;\n}\n.active\\:bg-primary-800:active {\n background-color: var(--primary-800) !important;\n}\n.active\\:bg-primary-900:active {\n background-color: var(--primary-900) !important;\n}\n\n.border-blue-50 {\n border-color: var(--blue-50) !important;\n}\n.border-blue-100 {\n border-color: var(--blue-100) !important;\n}\n.border-blue-200 {\n border-color: var(--blue-200) !important;\n}\n.border-blue-300 {\n border-color: var(--blue-300) !important;\n}\n.border-blue-400 {\n border-color: var(--blue-400) !important;\n}\n.border-blue-500 {\n border-color: var(--blue-500) !important;\n}\n.border-blue-600 {\n border-color: var(--blue-600) !important;\n}\n.border-blue-700 {\n border-color: var(--blue-700) !important;\n}\n.border-blue-800 {\n border-color: var(--blue-800) !important;\n}\n.border-blue-900 {\n border-color: var(--blue-900) !important;\n}\n\n.focus\\:border-blue-50:focus {\n border-color: var(--blue-50) !important;\n}\n.focus\\:border-blue-100:focus {\n border-color: var(--blue-100) !important;\n}\n.focus\\:border-blue-200:focus {\n border-color: var(--blue-200) !important;\n}\n.focus\\:border-blue-300:focus {\n border-color: var(--blue-300) !important;\n}\n.focus\\:border-blue-400:focus {\n border-color: var(--blue-400) !important;\n}\n.focus\\:border-blue-500:focus {\n border-color: var(--blue-500) !important;\n}\n.focus\\:border-blue-600:focus {\n border-color: var(--blue-600) !important;\n}\n.focus\\:border-blue-700:focus {\n border-color: var(--blue-700) !important;\n}\n.focus\\:border-blue-800:focus {\n border-color: var(--blue-800) !important;\n}\n.focus\\:border-blue-900:focus {\n border-color: var(--blue-900) !important;\n}\n\n.hover\\:border-blue-50:hover {\n border-color: var(--blue-50) !important;\n}\n.hover\\:border-blue-100:hover {\n border-color: var(--blue-100) !important;\n}\n.hover\\:border-blue-200:hover {\n border-color: var(--blue-200) !important;\n}\n.hover\\:border-blue-300:hover {\n border-color: var(--blue-300) !important;\n}\n.hover\\:border-blue-400:hover {\n border-color: var(--blue-400) !important;\n}\n.hover\\:border-blue-500:hover {\n border-color: var(--blue-500) !important;\n}\n.hover\\:border-blue-600:hover {\n border-color: var(--blue-600) !important;\n}\n.hover\\:border-blue-700:hover {\n border-color: var(--blue-700) !important;\n}\n.hover\\:border-blue-800:hover {\n border-color: var(--blue-800) !important;\n}\n.hover\\:border-blue-900:hover {\n border-color: var(--blue-900) !important;\n}\n\n.active\\:border-blue-50:active {\n border-color: var(--blue-50) !important;\n}\n.active\\:border-blue-100:active {\n border-color: var(--blue-100) !important;\n}\n.active\\:border-blue-200:active {\n border-color: var(--blue-200) !important;\n}\n.active\\:border-blue-300:active {\n border-color: var(--blue-300) !important;\n}\n.active\\:border-blue-400:active {\n border-color: var(--blue-400) !important;\n}\n.active\\:border-blue-500:active {\n border-color: var(--blue-500) !important;\n}\n.active\\:border-blue-600:active {\n border-color: var(--blue-600) !important;\n}\n.active\\:border-blue-700:active {\n border-color: var(--blue-700) !important;\n}\n.active\\:border-blue-800:active {\n border-color: var(--blue-800) !important;\n}\n.active\\:border-blue-900:active {\n border-color: var(--blue-900) !important;\n}\n\n.border-green-50 {\n border-color: var(--green-50) !important;\n}\n.border-green-100 {\n border-color: var(--green-100) !important;\n}\n.border-green-200 {\n border-color: var(--green-200) !important;\n}\n.border-green-300 {\n border-color: var(--green-300) !important;\n}\n.border-green-400 {\n border-color: var(--green-400) !important;\n}\n.border-green-500 {\n border-color: var(--green-500) !important;\n}\n.border-green-600 {\n border-color: var(--green-600) !important;\n}\n.border-green-700 {\n border-color: var(--green-700) !important;\n}\n.border-green-800 {\n border-color: var(--green-800) !important;\n}\n.border-green-900 {\n border-color: var(--green-900) !important;\n}\n\n.focus\\:border-green-50:focus {\n border-color: var(--green-50) !important;\n}\n.focus\\:border-green-100:focus {\n border-color: var(--green-100) !important;\n}\n.focus\\:border-green-200:focus {\n border-color: var(--green-200) !important;\n}\n.focus\\:border-green-300:focus {\n border-color: var(--green-300) !important;\n}\n.focus\\:border-green-400:focus {\n border-color: var(--green-400) !important;\n}\n.focus\\:border-green-500:focus {\n border-color: var(--green-500) !important;\n}\n.focus\\:border-green-600:focus {\n border-color: var(--green-600) !important;\n}\n.focus\\:border-green-700:focus {\n border-color: var(--green-700) !important;\n}\n.focus\\:border-green-800:focus {\n border-color: var(--green-800) !important;\n}\n.focus\\:border-green-900:focus {\n border-color: var(--green-900) !important;\n}\n\n.hover\\:border-green-50:hover {\n border-color: var(--green-50) !important;\n}\n.hover\\:border-green-100:hover {\n border-color: var(--green-100) !important;\n}\n.hover\\:border-green-200:hover {\n border-color: var(--green-200) !important;\n}\n.hover\\:border-green-300:hover {\n border-color: var(--green-300) !important;\n}\n.hover\\:border-green-400:hover {\n border-color: var(--green-400) !important;\n}\n.hover\\:border-green-500:hover {\n border-color: var(--green-500) !important;\n}\n.hover\\:border-green-600:hover {\n border-color: var(--green-600) !important;\n}\n.hover\\:border-green-700:hover {\n border-color: var(--green-700) !important;\n}\n.hover\\:border-green-800:hover {\n border-color: var(--green-800) !important;\n}\n.hover\\:border-green-900:hover {\n border-color: var(--green-900) !important;\n}\n\n.active\\:border-green-50:active {\n border-color: var(--green-50) !important;\n}\n.active\\:border-green-100:active {\n border-color: var(--green-100) !important;\n}\n.active\\:border-green-200:active {\n border-color: var(--green-200) !important;\n}\n.active\\:border-green-300:active {\n border-color: var(--green-300) !important;\n}\n.active\\:border-green-400:active {\n border-color: var(--green-400) !important;\n}\n.active\\:border-green-500:active {\n border-color: var(--green-500) !important;\n}\n.active\\:border-green-600:active {\n border-color: var(--green-600) !important;\n}\n.active\\:border-green-700:active {\n border-color: var(--green-700) !important;\n}\n.active\\:border-green-800:active {\n border-color: var(--green-800) !important;\n}\n.active\\:border-green-900:active {\n border-color: var(--green-900) !important;\n}\n\n.border-yellow-50 {\n border-color: var(--yellow-50) !important;\n}\n.border-yellow-100 {\n border-color: var(--yellow-100) !important;\n}\n.border-yellow-200 {\n border-color: var(--yellow-200) !important;\n}\n.border-yellow-300 {\n border-color: var(--yellow-300) !important;\n}\n.border-yellow-400 {\n border-color: var(--yellow-400) !important;\n}\n.border-yellow-500 {\n border-color: var(--yellow-500) !important;\n}\n.border-yellow-600 {\n border-color: var(--yellow-600) !important;\n}\n.border-yellow-700 {\n border-color: var(--yellow-700) !important;\n}\n.border-yellow-800 {\n border-color: var(--yellow-800) !important;\n}\n.border-yellow-900 {\n border-color: var(--yellow-900) !important;\n}\n\n.focus\\:border-yellow-50:focus {\n border-color: var(--yellow-50) !important;\n}\n.focus\\:border-yellow-100:focus {\n border-color: var(--yellow-100) !important;\n}\n.focus\\:border-yellow-200:focus {\n border-color: var(--yellow-200) !important;\n}\n.focus\\:border-yellow-300:focus {\n border-color: var(--yellow-300) !important;\n}\n.focus\\:border-yellow-400:focus {\n border-color: var(--yellow-400) !important;\n}\n.focus\\:border-yellow-500:focus {\n border-color: var(--yellow-500) !important;\n}\n.focus\\:border-yellow-600:focus {\n border-color: var(--yellow-600) !important;\n}\n.focus\\:border-yellow-700:focus {\n border-color: var(--yellow-700) !important;\n}\n.focus\\:border-yellow-800:focus {\n border-color: var(--yellow-800) !important;\n}\n.focus\\:border-yellow-900:focus {\n border-color: var(--yellow-900) !important;\n}\n\n.hover\\:border-yellow-50:hover {\n border-color: var(--yellow-50) !important;\n}\n.hover\\:border-yellow-100:hover {\n border-color: var(--yellow-100) !important;\n}\n.hover\\:border-yellow-200:hover {\n border-color: var(--yellow-200) !important;\n}\n.hover\\:border-yellow-300:hover {\n border-color: var(--yellow-300) !important;\n}\n.hover\\:border-yellow-400:hover {\n border-color: var(--yellow-400) !important;\n}\n.hover\\:border-yellow-500:hover {\n border-color: var(--yellow-500) !important;\n}\n.hover\\:border-yellow-600:hover {\n border-color: var(--yellow-600) !important;\n}\n.hover\\:border-yellow-700:hover {\n border-color: var(--yellow-700) !important;\n}\n.hover\\:border-yellow-800:hover {\n border-color: var(--yellow-800) !important;\n}\n.hover\\:border-yellow-900:hover {\n border-color: var(--yellow-900) !important;\n}\n\n.active\\:border-yellow-50:active {\n border-color: var(--yellow-50) !important;\n}\n.active\\:border-yellow-100:active {\n border-color: var(--yellow-100) !important;\n}\n.active\\:border-yellow-200:active {\n border-color: var(--yellow-200) !important;\n}\n.active\\:border-yellow-300:active {\n border-color: var(--yellow-300) !important;\n}\n.active\\:border-yellow-400:active {\n border-color: var(--yellow-400) !important;\n}\n.active\\:border-yellow-500:active {\n border-color: var(--yellow-500) !important;\n}\n.active\\:border-yellow-600:active {\n border-color: var(--yellow-600) !important;\n}\n.active\\:border-yellow-700:active {\n border-color: var(--yellow-700) !important;\n}\n.active\\:border-yellow-800:active {\n border-color: var(--yellow-800) !important;\n}\n.active\\:border-yellow-900:active {\n border-color: var(--yellow-900) !important;\n}\n\n.border-cyan-50 {\n border-color: var(--cyan-50) !important;\n}\n.border-cyan-100 {\n border-color: var(--cyan-100) !important;\n}\n.border-cyan-200 {\n border-color: var(--cyan-200) !important;\n}\n.border-cyan-300 {\n border-color: var(--cyan-300) !important;\n}\n.border-cyan-400 {\n border-color: var(--cyan-400) !important;\n}\n.border-cyan-500 {\n border-color: var(--cyan-500) !important;\n}\n.border-cyan-600 {\n border-color: var(--cyan-600) !important;\n}\n.border-cyan-700 {\n border-color: var(--cyan-700) !important;\n}\n.border-cyan-800 {\n border-color: var(--cyan-800) !important;\n}\n.border-cyan-900 {\n border-color: var(--cyan-900) !important;\n}\n\n.focus\\:border-cyan-50:focus {\n border-color: var(--cyan-50) !important;\n}\n.focus\\:border-cyan-100:focus {\n border-color: var(--cyan-100) !important;\n}\n.focus\\:border-cyan-200:focus {\n border-color: var(--cyan-200) !important;\n}\n.focus\\:border-cyan-300:focus {\n border-color: var(--cyan-300) !important;\n}\n.focus\\:border-cyan-400:focus {\n border-color: var(--cyan-400) !important;\n}\n.focus\\:border-cyan-500:focus {\n border-color: var(--cyan-500) !important;\n}\n.focus\\:border-cyan-600:focus {\n border-color: var(--cyan-600) !important;\n}\n.focus\\:border-cyan-700:focus {\n border-color: var(--cyan-700) !important;\n}\n.focus\\:border-cyan-800:focus {\n border-color: var(--cyan-800) !important;\n}\n.focus\\:border-cyan-900:focus {\n border-color: var(--cyan-900) !important;\n}\n\n.hover\\:border-cyan-50:hover {\n border-color: var(--cyan-50) !important;\n}\n.hover\\:border-cyan-100:hover {\n border-color: var(--cyan-100) !important;\n}\n.hover\\:border-cyan-200:hover {\n border-color: var(--cyan-200) !important;\n}\n.hover\\:border-cyan-300:hover {\n border-color: var(--cyan-300) !important;\n}\n.hover\\:border-cyan-400:hover {\n border-color: var(--cyan-400) !important;\n}\n.hover\\:border-cyan-500:hover {\n border-color: var(--cyan-500) !important;\n}\n.hover\\:border-cyan-600:hover {\n border-color: var(--cyan-600) !important;\n}\n.hover\\:border-cyan-700:hover {\n border-color: var(--cyan-700) !important;\n}\n.hover\\:border-cyan-800:hover {\n border-color: var(--cyan-800) !important;\n}\n.hover\\:border-cyan-900:hover {\n border-color: var(--cyan-900) !important;\n}\n\n.active\\:border-cyan-50:active {\n border-color: var(--cyan-50) !important;\n}\n.active\\:border-cyan-100:active {\n border-color: var(--cyan-100) !important;\n}\n.active\\:border-cyan-200:active {\n border-color: var(--cyan-200) !important;\n}\n.active\\:border-cyan-300:active {\n border-color: var(--cyan-300) !important;\n}\n.active\\:border-cyan-400:active {\n border-color: var(--cyan-400) !important;\n}\n.active\\:border-cyan-500:active {\n border-color: var(--cyan-500) !important;\n}\n.active\\:border-cyan-600:active {\n border-color: var(--cyan-600) !important;\n}\n.active\\:border-cyan-700:active {\n border-color: var(--cyan-700) !important;\n}\n.active\\:border-cyan-800:active {\n border-color: var(--cyan-800) !important;\n}\n.active\\:border-cyan-900:active {\n border-color: var(--cyan-900) !important;\n}\n\n.border-pink-50 {\n border-color: var(--pink-50) !important;\n}\n.border-pink-100 {\n border-color: var(--pink-100) !important;\n}\n.border-pink-200 {\n border-color: var(--pink-200) !important;\n}\n.border-pink-300 {\n border-color: var(--pink-300) !important;\n}\n.border-pink-400 {\n border-color: var(--pink-400) !important;\n}\n.border-pink-500 {\n border-color: var(--pink-500) !important;\n}\n.border-pink-600 {\n border-color: var(--pink-600) !important;\n}\n.border-pink-700 {\n border-color: var(--pink-700) !important;\n}\n.border-pink-800 {\n border-color: var(--pink-800) !important;\n}\n.border-pink-900 {\n border-color: var(--pink-900) !important;\n}\n\n.focus\\:border-pink-50:focus {\n border-color: var(--pink-50) !important;\n}\n.focus\\:border-pink-100:focus {\n border-color: var(--pink-100) !important;\n}\n.focus\\:border-pink-200:focus {\n border-color: var(--pink-200) !important;\n}\n.focus\\:border-pink-300:focus {\n border-color: var(--pink-300) !important;\n}\n.focus\\:border-pink-400:focus {\n border-color: var(--pink-400) !important;\n}\n.focus\\:border-pink-500:focus {\n border-color: var(--pink-500) !important;\n}\n.focus\\:border-pink-600:focus {\n border-color: var(--pink-600) !important;\n}\n.focus\\:border-pink-700:focus {\n border-color: var(--pink-700) !important;\n}\n.focus\\:border-pink-800:focus {\n border-color: var(--pink-800) !important;\n}\n.focus\\:border-pink-900:focus {\n border-color: var(--pink-900) !important;\n}\n\n.hover\\:border-pink-50:hover {\n border-color: var(--pink-50) !important;\n}\n.hover\\:border-pink-100:hover {\n border-color: var(--pink-100) !important;\n}\n.hover\\:border-pink-200:hover {\n border-color: var(--pink-200) !important;\n}\n.hover\\:border-pink-300:hover {\n border-color: var(--pink-300) !important;\n}\n.hover\\:border-pink-400:hover {\n border-color: var(--pink-400) !important;\n}\n.hover\\:border-pink-500:hover {\n border-color: var(--pink-500) !important;\n}\n.hover\\:border-pink-600:hover {\n border-color: var(--pink-600) !important;\n}\n.hover\\:border-pink-700:hover {\n border-color: var(--pink-700) !important;\n}\n.hover\\:border-pink-800:hover {\n border-color: var(--pink-800) !important;\n}\n.hover\\:border-pink-900:hover {\n border-color: var(--pink-900) !important;\n}\n\n.active\\:border-pink-50:active {\n border-color: var(--pink-50) !important;\n}\n.active\\:border-pink-100:active {\n border-color: var(--pink-100) !important;\n}\n.active\\:border-pink-200:active {\n border-color: var(--pink-200) !important;\n}\n.active\\:border-pink-300:active {\n border-color: var(--pink-300) !important;\n}\n.active\\:border-pink-400:active {\n border-color: var(--pink-400) !important;\n}\n.active\\:border-pink-500:active {\n border-color: var(--pink-500) !important;\n}\n.active\\:border-pink-600:active {\n border-color: var(--pink-600) !important;\n}\n.active\\:border-pink-700:active {\n border-color: var(--pink-700) !important;\n}\n.active\\:border-pink-800:active {\n border-color: var(--pink-800) !important;\n}\n.active\\:border-pink-900:active {\n border-color: var(--pink-900) !important;\n}\n\n.border-indigo-50 {\n border-color: var(--indigo-50) !important;\n}\n.border-indigo-100 {\n border-color: var(--indigo-100) !important;\n}\n.border-indigo-200 {\n border-color: var(--indigo-200) !important;\n}\n.border-indigo-300 {\n border-color: var(--indigo-300) !important;\n}\n.border-indigo-400 {\n border-color: var(--indigo-400) !important;\n}\n.border-indigo-500 {\n border-color: var(--indigo-500) !important;\n}\n.border-indigo-600 {\n border-color: var(--indigo-600) !important;\n}\n.border-indigo-700 {\n border-color: var(--indigo-700) !important;\n}\n.border-indigo-800 {\n border-color: var(--indigo-800) !important;\n}\n.border-indigo-900 {\n border-color: var(--indigo-900) !important;\n}\n\n.focus\\:border-indigo-50:focus {\n border-color: var(--indigo-50) !important;\n}\n.focus\\:border-indigo-100:focus {\n border-color: var(--indigo-100) !important;\n}\n.focus\\:border-indigo-200:focus {\n border-color: var(--indigo-200) !important;\n}\n.focus\\:border-indigo-300:focus {\n border-color: var(--indigo-300) !important;\n}\n.focus\\:border-indigo-400:focus {\n border-color: var(--indigo-400) !important;\n}\n.focus\\:border-indigo-500:focus {\n border-color: var(--indigo-500) !important;\n}\n.focus\\:border-indigo-600:focus {\n border-color: var(--indigo-600) !important;\n}\n.focus\\:border-indigo-700:focus {\n border-color: var(--indigo-700) !important;\n}\n.focus\\:border-indigo-800:focus {\n border-color: var(--indigo-800) !important;\n}\n.focus\\:border-indigo-900:focus {\n border-color: var(--indigo-900) !important;\n}\n\n.hover\\:border-indigo-50:hover {\n border-color: var(--indigo-50) !important;\n}\n.hover\\:border-indigo-100:hover {\n border-color: var(--indigo-100) !important;\n}\n.hover\\:border-indigo-200:hover {\n border-color: var(--indigo-200) !important;\n}\n.hover\\:border-indigo-300:hover {\n border-color: var(--indigo-300) !important;\n}\n.hover\\:border-indigo-400:hover {\n border-color: var(--indigo-400) !important;\n}\n.hover\\:border-indigo-500:hover {\n border-color: var(--indigo-500) !important;\n}\n.hover\\:border-indigo-600:hover {\n border-color: var(--indigo-600) !important;\n}\n.hover\\:border-indigo-700:hover {\n border-color: var(--indigo-700) !important;\n}\n.hover\\:border-indigo-800:hover {\n border-color: var(--indigo-800) !important;\n}\n.hover\\:border-indigo-900:hover {\n border-color: var(--indigo-900) !important;\n}\n\n.active\\:border-indigo-50:active {\n border-color: var(--indigo-50) !important;\n}\n.active\\:border-indigo-100:active {\n border-color: var(--indigo-100) !important;\n}\n.active\\:border-indigo-200:active {\n border-color: var(--indigo-200) !important;\n}\n.active\\:border-indigo-300:active {\n border-color: var(--indigo-300) !important;\n}\n.active\\:border-indigo-400:active {\n border-color: var(--indigo-400) !important;\n}\n.active\\:border-indigo-500:active {\n border-color: var(--indigo-500) !important;\n}\n.active\\:border-indigo-600:active {\n border-color: var(--indigo-600) !important;\n}\n.active\\:border-indigo-700:active {\n border-color: var(--indigo-700) !important;\n}\n.active\\:border-indigo-800:active {\n border-color: var(--indigo-800) !important;\n}\n.active\\:border-indigo-900:active {\n border-color: var(--indigo-900) !important;\n}\n\n.border-teal-50 {\n border-color: var(--teal-50) !important;\n}\n.border-teal-100 {\n border-color: var(--teal-100) !important;\n}\n.border-teal-200 {\n border-color: var(--teal-200) !important;\n}\n.border-teal-300 {\n border-color: var(--teal-300) !important;\n}\n.border-teal-400 {\n border-color: var(--teal-400) !important;\n}\n.border-teal-500 {\n border-color: var(--teal-500) !important;\n}\n.border-teal-600 {\n border-color: var(--teal-600) !important;\n}\n.border-teal-700 {\n border-color: var(--teal-700) !important;\n}\n.border-teal-800 {\n border-color: var(--teal-800) !important;\n}\n.border-teal-900 {\n border-color: var(--teal-900) !important;\n}\n\n.focus\\:border-teal-50:focus {\n border-color: var(--teal-50) !important;\n}\n.focus\\:border-teal-100:focus {\n border-color: var(--teal-100) !important;\n}\n.focus\\:border-teal-200:focus {\n border-color: var(--teal-200) !important;\n}\n.focus\\:border-teal-300:focus {\n border-color: var(--teal-300) !important;\n}\n.focus\\:border-teal-400:focus {\n border-color: var(--teal-400) !important;\n}\n.focus\\:border-teal-500:focus {\n border-color: var(--teal-500) !important;\n}\n.focus\\:border-teal-600:focus {\n border-color: var(--teal-600) !important;\n}\n.focus\\:border-teal-700:focus {\n border-color: var(--teal-700) !important;\n}\n.focus\\:border-teal-800:focus {\n border-color: var(--teal-800) !important;\n}\n.focus\\:border-teal-900:focus {\n border-color: var(--teal-900) !important;\n}\n\n.hover\\:border-teal-50:hover {\n border-color: var(--teal-50) !important;\n}\n.hover\\:border-teal-100:hover {\n border-color: var(--teal-100) !important;\n}\n.hover\\:border-teal-200:hover {\n border-color: var(--teal-200) !important;\n}\n.hover\\:border-teal-300:hover {\n border-color: var(--teal-300) !important;\n}\n.hover\\:border-teal-400:hover {\n border-color: var(--teal-400) !important;\n}\n.hover\\:border-teal-500:hover {\n border-color: var(--teal-500) !important;\n}\n.hover\\:border-teal-600:hover {\n border-color: var(--teal-600) !important;\n}\n.hover\\:border-teal-700:hover {\n border-color: var(--teal-700) !important;\n}\n.hover\\:border-teal-800:hover {\n border-color: var(--teal-800) !important;\n}\n.hover\\:border-teal-900:hover {\n border-color: var(--teal-900) !important;\n}\n\n.active\\:border-teal-50:active {\n border-color: var(--teal-50) !important;\n}\n.active\\:border-teal-100:active {\n border-color: var(--teal-100) !important;\n}\n.active\\:border-teal-200:active {\n border-color: var(--teal-200) !important;\n}\n.active\\:border-teal-300:active {\n border-color: var(--teal-300) !important;\n}\n.active\\:border-teal-400:active {\n border-color: var(--teal-400) !important;\n}\n.active\\:border-teal-500:active {\n border-color: var(--teal-500) !important;\n}\n.active\\:border-teal-600:active {\n border-color: var(--teal-600) !important;\n}\n.active\\:border-teal-700:active {\n border-color: var(--teal-700) !important;\n}\n.active\\:border-teal-800:active {\n border-color: var(--teal-800) !important;\n}\n.active\\:border-teal-900:active {\n border-color: var(--teal-900) !important;\n}\n\n.border-orange-50 {\n border-color: var(--orange-50) !important;\n}\n.border-orange-100 {\n border-color: var(--orange-100) !important;\n}\n.border-orange-200 {\n border-color: var(--orange-200) !important;\n}\n.border-orange-300 {\n border-color: var(--orange-300) !important;\n}\n.border-orange-400 {\n border-color: var(--orange-400) !important;\n}\n.border-orange-500 {\n border-color: var(--orange-500) !important;\n}\n.border-orange-600 {\n border-color: var(--orange-600) !important;\n}\n.border-orange-700 {\n border-color: var(--orange-700) !important;\n}\n.border-orange-800 {\n border-color: var(--orange-800) !important;\n}\n.border-orange-900 {\n border-color: var(--orange-900) !important;\n}\n\n.focus\\:border-orange-50:focus {\n border-color: var(--orange-50) !important;\n}\n.focus\\:border-orange-100:focus {\n border-color: var(--orange-100) !important;\n}\n.focus\\:border-orange-200:focus {\n border-color: var(--orange-200) !important;\n}\n.focus\\:border-orange-300:focus {\n border-color: var(--orange-300) !important;\n}\n.focus\\:border-orange-400:focus {\n border-color: var(--orange-400) !important;\n}\n.focus\\:border-orange-500:focus {\n border-color: var(--orange-500) !important;\n}\n.focus\\:border-orange-600:focus {\n border-color: var(--orange-600) !important;\n}\n.focus\\:border-orange-700:focus {\n border-color: var(--orange-700) !important;\n}\n.focus\\:border-orange-800:focus {\n border-color: var(--orange-800) !important;\n}\n.focus\\:border-orange-900:focus {\n border-color: var(--orange-900) !important;\n}\n\n.hover\\:border-orange-50:hover {\n border-color: var(--orange-50) !important;\n}\n.hover\\:border-orange-100:hover {\n border-color: var(--orange-100) !important;\n}\n.hover\\:border-orange-200:hover {\n border-color: var(--orange-200) !important;\n}\n.hover\\:border-orange-300:hover {\n border-color: var(--orange-300) !important;\n}\n.hover\\:border-orange-400:hover {\n border-color: var(--orange-400) !important;\n}\n.hover\\:border-orange-500:hover {\n border-color: var(--orange-500) !important;\n}\n.hover\\:border-orange-600:hover {\n border-color: var(--orange-600) !important;\n}\n.hover\\:border-orange-700:hover {\n border-color: var(--orange-700) !important;\n}\n.hover\\:border-orange-800:hover {\n border-color: var(--orange-800) !important;\n}\n.hover\\:border-orange-900:hover {\n border-color: var(--orange-900) !important;\n}\n\n.active\\:border-orange-50:active {\n border-color: var(--orange-50) !important;\n}\n.active\\:border-orange-100:active {\n border-color: var(--orange-100) !important;\n}\n.active\\:border-orange-200:active {\n border-color: var(--orange-200) !important;\n}\n.active\\:border-orange-300:active {\n border-color: var(--orange-300) !important;\n}\n.active\\:border-orange-400:active {\n border-color: var(--orange-400) !important;\n}\n.active\\:border-orange-500:active {\n border-color: var(--orange-500) !important;\n}\n.active\\:border-orange-600:active {\n border-color: var(--orange-600) !important;\n}\n.active\\:border-orange-700:active {\n border-color: var(--orange-700) !important;\n}\n.active\\:border-orange-800:active {\n border-color: var(--orange-800) !important;\n}\n.active\\:border-orange-900:active {\n border-color: var(--orange-900) !important;\n}\n\n.border-bluegray-50 {\n border-color: var(--bluegray-50) !important;\n}\n.border-bluegray-100 {\n border-color: var(--bluegray-100) !important;\n}\n.border-bluegray-200 {\n border-color: var(--bluegray-200) !important;\n}\n.border-bluegray-300 {\n border-color: var(--bluegray-300) !important;\n}\n.border-bluegray-400 {\n border-color: var(--bluegray-400) !important;\n}\n.border-bluegray-500 {\n border-color: var(--bluegray-500) !important;\n}\n.border-bluegray-600 {\n border-color: var(--bluegray-600) !important;\n}\n.border-bluegray-700 {\n border-color: var(--bluegray-700) !important;\n}\n.border-bluegray-800 {\n border-color: var(--bluegray-800) !important;\n}\n.border-bluegray-900 {\n border-color: var(--bluegray-900) !important;\n}\n\n.focus\\:border-bluegray-50:focus {\n border-color: var(--bluegray-50) !important;\n}\n.focus\\:border-bluegray-100:focus {\n border-color: var(--bluegray-100) !important;\n}\n.focus\\:border-bluegray-200:focus {\n border-color: var(--bluegray-200) !important;\n}\n.focus\\:border-bluegray-300:focus {\n border-color: var(--bluegray-300) !important;\n}\n.focus\\:border-bluegray-400:focus {\n border-color: var(--bluegray-400) !important;\n}\n.focus\\:border-bluegray-500:focus {\n border-color: var(--bluegray-500) !important;\n}\n.focus\\:border-bluegray-600:focus {\n border-color: var(--bluegray-600) !important;\n}\n.focus\\:border-bluegray-700:focus {\n border-color: var(--bluegray-700) !important;\n}\n.focus\\:border-bluegray-800:focus {\n border-color: var(--bluegray-800) !important;\n}\n.focus\\:border-bluegray-900:focus {\n border-color: var(--bluegray-900) !important;\n}\n\n.hover\\:border-bluegray-50:hover {\n border-color: var(--bluegray-50) !important;\n}\n.hover\\:border-bluegray-100:hover {\n border-color: var(--bluegray-100) !important;\n}\n.hover\\:border-bluegray-200:hover {\n border-color: var(--bluegray-200) !important;\n}\n.hover\\:border-bluegray-300:hover {\n border-color: var(--bluegray-300) !important;\n}\n.hover\\:border-bluegray-400:hover {\n border-color: var(--bluegray-400) !important;\n}\n.hover\\:border-bluegray-500:hover {\n border-color: var(--bluegray-500) !important;\n}\n.hover\\:border-bluegray-600:hover {\n border-color: var(--bluegray-600) !important;\n}\n.hover\\:border-bluegray-700:hover {\n border-color: var(--bluegray-700) !important;\n}\n.hover\\:border-bluegray-800:hover {\n border-color: var(--bluegray-800) !important;\n}\n.hover\\:border-bluegray-900:hover {\n border-color: var(--bluegray-900) !important;\n}\n\n.active\\:border-bluegray-50:active {\n border-color: var(--bluegray-50) !important;\n}\n.active\\:border-bluegray-100:active {\n border-color: var(--bluegray-100) !important;\n}\n.active\\:border-bluegray-200:active {\n border-color: var(--bluegray-200) !important;\n}\n.active\\:border-bluegray-300:active {\n border-color: var(--bluegray-300) !important;\n}\n.active\\:border-bluegray-400:active {\n border-color: var(--bluegray-400) !important;\n}\n.active\\:border-bluegray-500:active {\n border-color: var(--bluegray-500) !important;\n}\n.active\\:border-bluegray-600:active {\n border-color: var(--bluegray-600) !important;\n}\n.active\\:border-bluegray-700:active {\n border-color: var(--bluegray-700) !important;\n}\n.active\\:border-bluegray-800:active {\n border-color: var(--bluegray-800) !important;\n}\n.active\\:border-bluegray-900:active {\n border-color: var(--bluegray-900) !important;\n}\n\n.border-purple-50 {\n border-color: var(--purple-50) !important;\n}\n.border-purple-100 {\n border-color: var(--purple-100) !important;\n}\n.border-purple-200 {\n border-color: var(--purple-200) !important;\n}\n.border-purple-300 {\n border-color: var(--purple-300) !important;\n}\n.border-purple-400 {\n border-color: var(--purple-400) !important;\n}\n.border-purple-500 {\n border-color: var(--purple-500) !important;\n}\n.border-purple-600 {\n border-color: var(--purple-600) !important;\n}\n.border-purple-700 {\n border-color: var(--purple-700) !important;\n}\n.border-purple-800 {\n border-color: var(--purple-800) !important;\n}\n.border-purple-900 {\n border-color: var(--purple-900) !important;\n}\n\n.focus\\:border-purple-50:focus {\n border-color: var(--purple-50) !important;\n}\n.focus\\:border-purple-100:focus {\n border-color: var(--purple-100) !important;\n}\n.focus\\:border-purple-200:focus {\n border-color: var(--purple-200) !important;\n}\n.focus\\:border-purple-300:focus {\n border-color: var(--purple-300) !important;\n}\n.focus\\:border-purple-400:focus {\n border-color: var(--purple-400) !important;\n}\n.focus\\:border-purple-500:focus {\n border-color: var(--purple-500) !important;\n}\n.focus\\:border-purple-600:focus {\n border-color: var(--purple-600) !important;\n}\n.focus\\:border-purple-700:focus {\n border-color: var(--purple-700) !important;\n}\n.focus\\:border-purple-800:focus {\n border-color: var(--purple-800) !important;\n}\n.focus\\:border-purple-900:focus {\n border-color: var(--purple-900) !important;\n}\n\n.hover\\:border-purple-50:hover {\n border-color: var(--purple-50) !important;\n}\n.hover\\:border-purple-100:hover {\n border-color: var(--purple-100) !important;\n}\n.hover\\:border-purple-200:hover {\n border-color: var(--purple-200) !important;\n}\n.hover\\:border-purple-300:hover {\n border-color: var(--purple-300) !important;\n}\n.hover\\:border-purple-400:hover {\n border-color: var(--purple-400) !important;\n}\n.hover\\:border-purple-500:hover {\n border-color: var(--purple-500) !important;\n}\n.hover\\:border-purple-600:hover {\n border-color: var(--purple-600) !important;\n}\n.hover\\:border-purple-700:hover {\n border-color: var(--purple-700) !important;\n}\n.hover\\:border-purple-800:hover {\n border-color: var(--purple-800) !important;\n}\n.hover\\:border-purple-900:hover {\n border-color: var(--purple-900) !important;\n}\n\n.active\\:border-purple-50:active {\n border-color: var(--purple-50) !important;\n}\n.active\\:border-purple-100:active {\n border-color: var(--purple-100) !important;\n}\n.active\\:border-purple-200:active {\n border-color: var(--purple-200) !important;\n}\n.active\\:border-purple-300:active {\n border-color: var(--purple-300) !important;\n}\n.active\\:border-purple-400:active {\n border-color: var(--purple-400) !important;\n}\n.active\\:border-purple-500:active {\n border-color: var(--purple-500) !important;\n}\n.active\\:border-purple-600:active {\n border-color: var(--purple-600) !important;\n}\n.active\\:border-purple-700:active {\n border-color: var(--purple-700) !important;\n}\n.active\\:border-purple-800:active {\n border-color: var(--purple-800) !important;\n}\n.active\\:border-purple-900:active {\n border-color: var(--purple-900) !important;\n}\n\n.border-gray-50 {\n border-color: var(--gray-50) !important;\n}\n.border-gray-100 {\n border-color: var(--gray-100) !important;\n}\n.border-gray-200 {\n border-color: var(--gray-200) !important;\n}\n.border-gray-300 {\n border-color: var(--gray-300) !important;\n}\n.border-gray-400 {\n border-color: var(--gray-400) !important;\n}\n.border-gray-500 {\n border-color: var(--gray-500) !important;\n}\n.border-gray-600 {\n border-color: var(--gray-600) !important;\n}\n.border-gray-700 {\n border-color: var(--gray-700) !important;\n}\n.border-gray-800 {\n border-color: var(--gray-800) !important;\n}\n.border-gray-900 {\n border-color: var(--gray-900) !important;\n}\n\n.focus\\:border-gray-50:focus {\n border-color: var(--gray-50) !important;\n}\n.focus\\:border-gray-100:focus {\n border-color: var(--gray-100) !important;\n}\n.focus\\:border-gray-200:focus {\n border-color: var(--gray-200) !important;\n}\n.focus\\:border-gray-300:focus {\n border-color: var(--gray-300) !important;\n}\n.focus\\:border-gray-400:focus {\n border-color: var(--gray-400) !important;\n}\n.focus\\:border-gray-500:focus {\n border-color: var(--gray-500) !important;\n}\n.focus\\:border-gray-600:focus {\n border-color: var(--gray-600) !important;\n}\n.focus\\:border-gray-700:focus {\n border-color: var(--gray-700) !important;\n}\n.focus\\:border-gray-800:focus {\n border-color: var(--gray-800) !important;\n}\n.focus\\:border-gray-900:focus {\n border-color: var(--gray-900) !important;\n}\n\n.hover\\:border-gray-50:hover {\n border-color: var(--gray-50) !important;\n}\n.hover\\:border-gray-100:hover {\n border-color: var(--gray-100) !important;\n}\n.hover\\:border-gray-200:hover {\n border-color: var(--gray-200) !important;\n}\n.hover\\:border-gray-300:hover {\n border-color: var(--gray-300) !important;\n}\n.hover\\:border-gray-400:hover {\n border-color: var(--gray-400) !important;\n}\n.hover\\:border-gray-500:hover {\n border-color: var(--gray-500) !important;\n}\n.hover\\:border-gray-600:hover {\n border-color: var(--gray-600) !important;\n}\n.hover\\:border-gray-700:hover {\n border-color: var(--gray-700) !important;\n}\n.hover\\:border-gray-800:hover {\n border-color: var(--gray-800) !important;\n}\n.hover\\:border-gray-900:hover {\n border-color: var(--gray-900) !important;\n}\n\n.active\\:border-gray-50:active {\n border-color: var(--gray-50) !important;\n}\n.active\\:border-gray-100:active {\n border-color: var(--gray-100) !important;\n}\n.active\\:border-gray-200:active {\n border-color: var(--gray-200) !important;\n}\n.active\\:border-gray-300:active {\n border-color: var(--gray-300) !important;\n}\n.active\\:border-gray-400:active {\n border-color: var(--gray-400) !important;\n}\n.active\\:border-gray-500:active {\n border-color: var(--gray-500) !important;\n}\n.active\\:border-gray-600:active {\n border-color: var(--gray-600) !important;\n}\n.active\\:border-gray-700:active {\n border-color: var(--gray-700) !important;\n}\n.active\\:border-gray-800:active {\n border-color: var(--gray-800) !important;\n}\n.active\\:border-gray-900:active {\n border-color: var(--gray-900) !important;\n}\n\n.border-red-50 {\n border-color: var(--red-50) !important;\n}\n.border-red-100 {\n border-color: var(--red-100) !important;\n}\n.border-red-200 {\n border-color: var(--red-200) !important;\n}\n.border-red-300 {\n border-color: var(--red-300) !important;\n}\n.border-red-400 {\n border-color: var(--red-400) !important;\n}\n.border-red-500 {\n border-color: var(--red-500) !important;\n}\n.border-red-600 {\n border-color: var(--red-600) !important;\n}\n.border-red-700 {\n border-color: var(--red-700) !important;\n}\n.border-red-800 {\n border-color: var(--red-800) !important;\n}\n.border-red-900 {\n border-color: var(--red-900) !important;\n}\n\n.focus\\:border-red-50:focus {\n border-color: var(--red-50) !important;\n}\n.focus\\:border-red-100:focus {\n border-color: var(--red-100) !important;\n}\n.focus\\:border-red-200:focus {\n border-color: var(--red-200) !important;\n}\n.focus\\:border-red-300:focus {\n border-color: var(--red-300) !important;\n}\n.focus\\:border-red-400:focus {\n border-color: var(--red-400) !important;\n}\n.focus\\:border-red-500:focus {\n border-color: var(--red-500) !important;\n}\n.focus\\:border-red-600:focus {\n border-color: var(--red-600) !important;\n}\n.focus\\:border-red-700:focus {\n border-color: var(--red-700) !important;\n}\n.focus\\:border-red-800:focus {\n border-color: var(--red-800) !important;\n}\n.focus\\:border-red-900:focus {\n border-color: var(--red-900) !important;\n}\n\n.hover\\:border-red-50:hover {\n border-color: var(--red-50) !important;\n}\n.hover\\:border-red-100:hover {\n border-color: var(--red-100) !important;\n}\n.hover\\:border-red-200:hover {\n border-color: var(--red-200) !important;\n}\n.hover\\:border-red-300:hover {\n border-color: var(--red-300) !important;\n}\n.hover\\:border-red-400:hover {\n border-color: var(--red-400) !important;\n}\n.hover\\:border-red-500:hover {\n border-color: var(--red-500) !important;\n}\n.hover\\:border-red-600:hover {\n border-color: var(--red-600) !important;\n}\n.hover\\:border-red-700:hover {\n border-color: var(--red-700) !important;\n}\n.hover\\:border-red-800:hover {\n border-color: var(--red-800) !important;\n}\n.hover\\:border-red-900:hover {\n border-color: var(--red-900) !important;\n}\n\n.active\\:border-red-50:active {\n border-color: var(--red-50) !important;\n}\n.active\\:border-red-100:active {\n border-color: var(--red-100) !important;\n}\n.active\\:border-red-200:active {\n border-color: var(--red-200) !important;\n}\n.active\\:border-red-300:active {\n border-color: var(--red-300) !important;\n}\n.active\\:border-red-400:active {\n border-color: var(--red-400) !important;\n}\n.active\\:border-red-500:active {\n border-color: var(--red-500) !important;\n}\n.active\\:border-red-600:active {\n border-color: var(--red-600) !important;\n}\n.active\\:border-red-700:active {\n border-color: var(--red-700) !important;\n}\n.active\\:border-red-800:active {\n border-color: var(--red-800) !important;\n}\n.active\\:border-red-900:active {\n border-color: var(--red-900) !important;\n}\n\n.border-primary-50 {\n border-color: var(--primary-50) !important;\n}\n.border-primary-100 {\n border-color: var(--primary-100) !important;\n}\n.border-primary-200 {\n border-color: var(--primary-200) !important;\n}\n.border-primary-300 {\n border-color: var(--primary-300) !important;\n}\n.border-primary-400 {\n border-color: var(--primary-400) !important;\n}\n.border-primary-500 {\n border-color: var(--primary-500) !important;\n}\n.border-primary-600 {\n border-color: var(--primary-600) !important;\n}\n.border-primary-700 {\n border-color: var(--primary-700) !important;\n}\n.border-primary-800 {\n border-color: var(--primary-800) !important;\n}\n.border-primary-900 {\n border-color: var(--primary-900) !important;\n}\n\n.focus\\:border-primary-50:focus {\n border-color: var(--primary-50) !important;\n}\n.focus\\:border-primary-100:focus {\n border-color: var(--primary-100) !important;\n}\n.focus\\:border-primary-200:focus {\n border-color: var(--primary-200) !important;\n}\n.focus\\:border-primary-300:focus {\n border-color: var(--primary-300) !important;\n}\n.focus\\:border-primary-400:focus {\n border-color: var(--primary-400) !important;\n}\n.focus\\:border-primary-500:focus {\n border-color: var(--primary-500) !important;\n}\n.focus\\:border-primary-600:focus {\n border-color: var(--primary-600) !important;\n}\n.focus\\:border-primary-700:focus {\n border-color: var(--primary-700) !important;\n}\n.focus\\:border-primary-800:focus {\n border-color: var(--primary-800) !important;\n}\n.focus\\:border-primary-900:focus {\n border-color: var(--primary-900) !important;\n}\n\n.hover\\:border-primary-50:hover {\n border-color: var(--primary-50) !important;\n}\n.hover\\:border-primary-100:hover {\n border-color: var(--primary-100) !important;\n}\n.hover\\:border-primary-200:hover {\n border-color: var(--primary-200) !important;\n}\n.hover\\:border-primary-300:hover {\n border-color: var(--primary-300) !important;\n}\n.hover\\:border-primary-400:hover {\n border-color: var(--primary-400) !important;\n}\n.hover\\:border-primary-500:hover {\n border-color: var(--primary-500) !important;\n}\n.hover\\:border-primary-600:hover {\n border-color: var(--primary-600) !important;\n}\n.hover\\:border-primary-700:hover {\n border-color: var(--primary-700) !important;\n}\n.hover\\:border-primary-800:hover {\n border-color: var(--primary-800) !important;\n}\n.hover\\:border-primary-900:hover {\n border-color: var(--primary-900) !important;\n}\n\n.active\\:border-primary-50:active {\n border-color: var(--primary-50) !important;\n}\n.active\\:border-primary-100:active {\n border-color: var(--primary-100) !important;\n}\n.active\\:border-primary-200:active {\n border-color: var(--primary-200) !important;\n}\n.active\\:border-primary-300:active {\n border-color: var(--primary-300) !important;\n}\n.active\\:border-primary-400:active {\n border-color: var(--primary-400) !important;\n}\n.active\\:border-primary-500:active {\n border-color: var(--primary-500) !important;\n}\n.active\\:border-primary-600:active {\n border-color: var(--primary-600) !important;\n}\n.active\\:border-primary-700:active {\n border-color: var(--primary-700) !important;\n}\n.active\\:border-primary-800:active {\n border-color: var(--primary-800) !important;\n}\n.active\\:border-primary-900:active {\n border-color: var(--primary-900) !important;\n}\n\n.bg-white-alpha-10 {\n background-color: rgba(255,255,255,0.1) !important;\n}\n.bg-white-alpha-20 {\n background-color: rgba(255,255,255,0.2) !important;\n}\n.bg-white-alpha-30 {\n background-color: rgba(255,255,255,0.3) !important;\n}\n.bg-white-alpha-40 {\n background-color: rgba(255,255,255,0.4) !important;\n}\n.bg-white-alpha-50 {\n background-color: rgba(255,255,255,0.5) !important;\n}\n.bg-white-alpha-60 {\n background-color: rgba(255,255,255,0.6) !important;\n}\n.bg-white-alpha-70 {\n background-color: rgba(255,255,255,0.7) !important;\n}\n.bg-white-alpha-80 {\n background-color: rgba(255,255,255,0.8) !important;\n}\n.bg-white-alpha-90 {\n background-color: rgba(255,255,255,0.9) !important;\n}\n\n.hover\\:bg-white-alpha-10:hover {\n background-color: rgba(255,255,255,0.1) !important;\n}\n.hover\\:bg-white-alpha-20:hover {\n background-color: rgba(255,255,255,0.2) !important;\n}\n.hover\\:bg-white-alpha-30:hover {\n background-color: rgba(255,255,255,0.3) !important;\n}\n.hover\\:bg-white-alpha-40:hover {\n background-color: rgba(255,255,255,0.4) !important;\n}\n.hover\\:bg-white-alpha-50:hover {\n background-color: rgba(255,255,255,0.5) !important;\n}\n.hover\\:bg-white-alpha-60:hover {\n background-color: rgba(255,255,255,0.6) !important;\n}\n.hover\\:bg-white-alpha-70:hover {\n background-color: rgba(255,255,255,0.7) !important;\n}\n.hover\\:bg-white-alpha-80:hover {\n background-color: rgba(255,255,255,0.8) !important;\n}\n.hover\\:bg-white-alpha-90:hover {\n background-color: rgba(255,255,255,0.9) !important;\n}\n\n.focus\\:bg-white-alpha-10:focus {\n background-color: rgba(255,255,255,0.1) !important;\n}\n.focus\\:bg-white-alpha-20:focus {\n background-color: rgba(255,255,255,0.2) !important;\n}\n.focus\\:bg-white-alpha-30:focus {\n background-color: rgba(255,255,255,0.3) !important;\n}\n.focus\\:bg-white-alpha-40:focus {\n background-color: rgba(255,255,255,0.4) !important;\n}\n.focus\\:bg-white-alpha-50:focus {\n background-color: rgba(255,255,255,0.5) !important;\n}\n.focus\\:bg-white-alpha-60:focus {\n background-color: rgba(255,255,255,0.6) !important;\n}\n.focus\\:bg-white-alpha-70:focus {\n background-color: rgba(255,255,255,0.7) !important;\n}\n.focus\\:bg-white-alpha-80:focus {\n background-color: rgba(255,255,255,0.8) !important;\n}\n.focus\\:bg-white-alpha-90:focus {\n background-color: rgba(255,255,255,0.9) !important;\n}\n\n.active\\:bg-white-alpha-10:active {\n background-color: rgba(255,255,255,0.1) !important;\n}\n.active\\:bg-white-alpha-20:active {\n background-color: rgba(255,255,255,0.2) !important;\n}\n.active\\:bg-white-alpha-30:active {\n background-color: rgba(255,255,255,0.3) !important;\n}\n.active\\:bg-white-alpha-40:active {\n background-color: rgba(255,255,255,0.4) !important;\n}\n.active\\:bg-white-alpha-50:active {\n background-color: rgba(255,255,255,0.5) !important;\n}\n.active\\:bg-white-alpha-60:active {\n background-color: rgba(255,255,255,0.6) !important;\n}\n.active\\:bg-white-alpha-70:active {\n background-color: rgba(255,255,255,0.7) !important;\n}\n.active\\:bg-white-alpha-80:active {\n background-color: rgba(255,255,255,0.8) !important;\n}\n.active\\:bg-white-alpha-90:active {\n background-color: rgba(255,255,255,0.9) !important;\n}\n\n.bg-black-alpha-10 {\n background-color: rgba(0,0,0,0.1) !important;\n}\n.bg-black-alpha-20 {\n background-color: rgba(0,0,0,0.2) !important;\n}\n.bg-black-alpha-30 {\n background-color: rgba(0,0,0,0.3) !important;\n}\n.bg-black-alpha-40 {\n background-color: rgba(0,0,0,0.4) !important;\n}\n.bg-black-alpha-50 {\n background-color: rgba(0,0,0,0.5) !important;\n}\n.bg-black-alpha-60 {\n background-color: rgba(0,0,0,0.6) !important;\n}\n.bg-black-alpha-70 {\n background-color: rgba(0,0,0,0.7) !important;\n}\n.bg-black-alpha-80 {\n background-color: rgba(0,0,0,0.8) !important;\n}\n.bg-black-alpha-90 {\n background-color: rgba(0,0,0,0.9) !important;\n}\n\n.hover\\:bg-black-alpha-10:hover {\n background-color: rgba(0,0,0,0.1) !important;\n}\n.hover\\:bg-black-alpha-20:hover {\n background-color: rgba(0,0,0,0.2) !important;\n}\n.hover\\:bg-black-alpha-30:hover {\n background-color: rgba(0,0,0,0.3) !important;\n}\n.hover\\:bg-black-alpha-40:hover {\n background-color: rgba(0,0,0,0.4) !important;\n}\n.hover\\:bg-black-alpha-50:hover {\n background-color: rgba(0,0,0,0.5) !important;\n}\n.hover\\:bg-black-alpha-60:hover {\n background-color: rgba(0,0,0,0.6) !important;\n}\n.hover\\:bg-black-alpha-70:hover {\n background-color: rgba(0,0,0,0.7) !important;\n}\n.hover\\:bg-black-alpha-80:hover {\n background-color: rgba(0,0,0,0.8) !important;\n}\n.hover\\:bg-black-alpha-90:hover {\n background-color: rgba(0,0,0,0.9) !important;\n}\n\n.focus\\:bg-black-alpha-10:focus {\n background-color: rgba(0,0,0,0.1) !important;\n}\n.focus\\:bg-black-alpha-20:focus {\n background-color: rgba(0,0,0,0.2) !important;\n}\n.focus\\:bg-black-alpha-30:focus {\n background-color: rgba(0,0,0,0.3) !important;\n}\n.focus\\:bg-black-alpha-40:focus {\n background-color: rgba(0,0,0,0.4) !important;\n}\n.focus\\:bg-black-alpha-50:focus {\n background-color: rgba(0,0,0,0.5) !important;\n}\n.focus\\:bg-black-alpha-60:focus {\n background-color: rgba(0,0,0,0.6) !important;\n}\n.focus\\:bg-black-alpha-70:focus {\n background-color: rgba(0,0,0,0.7) !important;\n}\n.focus\\:bg-black-alpha-80:focus {\n background-color: rgba(0,0,0,0.8) !important;\n}\n.focus\\:bg-black-alpha-90:focus {\n background-color: rgba(0,0,0,0.9) !important;\n}\n\n.active\\:bg-black-alpha-10:active {\n background-color: rgba(0,0,0,0.1) !important;\n}\n.active\\:bg-black-alpha-20:active {\n background-color: rgba(0,0,0,0.2) !important;\n}\n.active\\:bg-black-alpha-30:active {\n background-color: rgba(0,0,0,0.3) !important;\n}\n.active\\:bg-black-alpha-40:active {\n background-color: rgba(0,0,0,0.4) !important;\n}\n.active\\:bg-black-alpha-50:active {\n background-color: rgba(0,0,0,0.5) !important;\n}\n.active\\:bg-black-alpha-60:active {\n background-color: rgba(0,0,0,0.6) !important;\n}\n.active\\:bg-black-alpha-70:active {\n background-color: rgba(0,0,0,0.7) !important;\n}\n.active\\:bg-black-alpha-80:active {\n background-color: rgba(0,0,0,0.8) !important;\n}\n.active\\:bg-black-alpha-90:active {\n background-color: rgba(0,0,0,0.9) !important;\n}\n\n.border-white-alpha-10 {\n border-color: rgba(255,255,255,0.1) !important;\n}\n.border-white-alpha-20 {\n border-color: rgba(255,255,255,0.2) !important;\n}\n.border-white-alpha-30 {\n border-color: rgba(255,255,255,0.3) !important;\n}\n.border-white-alpha-40 {\n border-color: rgba(255,255,255,0.4) !important;\n}\n.border-white-alpha-50 {\n border-color: rgba(255,255,255,0.5) !important;\n}\n.border-white-alpha-60 {\n border-color: rgba(255,255,255,0.6) !important;\n}\n.border-white-alpha-70 {\n border-color: rgba(255,255,255,0.7) !important;\n}\n.border-white-alpha-80 {\n border-color: rgba(255,255,255,0.8) !important;\n}\n.border-white-alpha-90 {\n border-color: rgba(255,255,255,0.9) !important;\n}\n\n.hover\\:border-white-alpha-10:hover {\n border-color: rgba(255,255,255,0.1) !important;\n}\n.hover\\:border-white-alpha-20:hover {\n border-color: rgba(255,255,255,0.2) !important;\n}\n.hover\\:border-white-alpha-30:hover {\n border-color: rgba(255,255,255,0.3) !important;\n}\n.hover\\:border-white-alpha-40:hover {\n border-color: rgba(255,255,255,0.4) !important;\n}\n.hover\\:border-white-alpha-50:hover {\n border-color: rgba(255,255,255,0.5) !important;\n}\n.hover\\:border-white-alpha-60:hover {\n border-color: rgba(255,255,255,0.6) !important;\n}\n.hover\\:border-white-alpha-70:hover {\n border-color: rgba(255,255,255,0.7) !important;\n}\n.hover\\:border-white-alpha-80:hover {\n border-color: rgba(255,255,255,0.8) !important;\n}\n.hover\\:border-white-alpha-90:hover {\n border-color: rgba(255,255,255,0.9) !important;\n}\n\n.focus\\:border-white-alpha-10:focus {\n border-color: rgba(255,255,255,0.1) !important;\n}\n.focus\\:border-white-alpha-20:focus {\n border-color: rgba(255,255,255,0.2) !important;\n}\n.focus\\:border-white-alpha-30:focus {\n border-color: rgba(255,255,255,0.3) !important;\n}\n.focus\\:border-white-alpha-40:focus {\n border-color: rgba(255,255,255,0.4) !important;\n}\n.focus\\:border-white-alpha-50:focus {\n border-color: rgba(255,255,255,0.5) !important;\n}\n.focus\\:border-white-alpha-60:focus {\n border-color: rgba(255,255,255,0.6) !important;\n}\n.focus\\:border-white-alpha-70:focus {\n border-color: rgba(255,255,255,0.7) !important;\n}\n.focus\\:border-white-alpha-80:focus {\n border-color: rgba(255,255,255,0.8) !important;\n}\n.focus\\:border-white-alpha-90:focus {\n border-color: rgba(255,255,255,0.9) !important;\n}\n\n.active\\:border-white-alpha-10:active {\n border-color: rgba(255,255,255,0.1) !important;\n}\n.active\\:border-white-alpha-20:active {\n border-color: rgba(255,255,255,0.2) !important;\n}\n.active\\:border-white-alpha-30:active {\n border-color: rgba(255,255,255,0.3) !important;\n}\n.active\\:border-white-alpha-40:active {\n border-color: rgba(255,255,255,0.4) !important;\n}\n.active\\:border-white-alpha-50:active {\n border-color: rgba(255,255,255,0.5) !important;\n}\n.active\\:border-white-alpha-60:active {\n border-color: rgba(255,255,255,0.6) !important;\n}\n.active\\:border-white-alpha-70:active {\n border-color: rgba(255,255,255,0.7) !important;\n}\n.active\\:border-white-alpha-80:active {\n border-color: rgba(255,255,255,0.8) !important;\n}\n.active\\:border-white-alpha-90:active {\n border-color: rgba(255,255,255,0.9) !important;\n}\n\n.border-black-alpha-10 {\n border-color: rgba(0,0,0,0.1) !important;\n}\n.border-black-alpha-20 {\n border-color: rgba(0,0,0,0.2) !important;\n}\n.border-black-alpha-30 {\n border-color: rgba(0,0,0,0.3) !important;\n}\n.border-black-alpha-40 {\n border-color: rgba(0,0,0,0.4) !important;\n}\n.border-black-alpha-50 {\n border-color: rgba(0,0,0,0.5) !important;\n}\n.border-black-alpha-60 {\n border-color: rgba(0,0,0,0.6) !important;\n}\n.border-black-alpha-70 {\n border-color: rgba(0,0,0,0.7) !important;\n}\n.border-black-alpha-80 {\n border-color: rgba(0,0,0,0.8) !important;\n}\n.border-black-alpha-90 {\n border-color: rgba(0,0,0,0.9) !important;\n}\n\n.hover\\:border-black-alpha-10:hover {\n border-color: rgba(0,0,0,0.1) !important;\n}\n.hover\\:border-black-alpha-20:hover {\n border-color: rgba(0,0,0,0.2) !important;\n}\n.hover\\:border-black-alpha-30:hover {\n border-color: rgba(0,0,0,0.3) !important;\n}\n.hover\\:border-black-alpha-40:hover {\n border-color: rgba(0,0,0,0.4) !important;\n}\n.hover\\:border-black-alpha-50:hover {\n border-color: rgba(0,0,0,0.5) !important;\n}\n.hover\\:border-black-alpha-60:hover {\n border-color: rgba(0,0,0,0.6) !important;\n}\n.hover\\:border-black-alpha-70:hover {\n border-color: rgba(0,0,0,0.7) !important;\n}\n.hover\\:border-black-alpha-80:hover {\n border-color: rgba(0,0,0,0.8) !important;\n}\n.hover\\:border-black-alpha-90:hover {\n border-color: rgba(0,0,0,0.9) !important;\n}\n\n.focus\\:border-black-alpha-10:focus {\n border-color: rgba(0,0,0,0.1) !important;\n}\n.focus\\:border-black-alpha-20:focus {\n border-color: rgba(0,0,0,0.2) !important;\n}\n.focus\\:border-black-alpha-30:focus {\n border-color: rgba(0,0,0,0.3) !important;\n}\n.focus\\:border-black-alpha-40:focus {\n border-color: rgba(0,0,0,0.4) !important;\n}\n.focus\\:border-black-alpha-50:focus {\n border-color: rgba(0,0,0,0.5) !important;\n}\n.focus\\:border-black-alpha-60:focus {\n border-color: rgba(0,0,0,0.6) !important;\n}\n.focus\\:border-black-alpha-70:focus {\n border-color: rgba(0,0,0,0.7) !important;\n}\n.focus\\:border-black-alpha-80:focus {\n border-color: rgba(0,0,0,0.8) !important;\n}\n.focus\\:border-black-alpha-90:focus {\n border-color: rgba(0,0,0,0.9) !important;\n}\n\n.active\\:border-black-alpha-10:active {\n border-color: rgba(0,0,0,0.1) !important;\n}\n.active\\:border-black-alpha-20:active {\n border-color: rgba(0,0,0,0.2) !important;\n}\n.active\\:border-black-alpha-30:active {\n border-color: rgba(0,0,0,0.3) !important;\n}\n.active\\:border-black-alpha-40:active {\n border-color: rgba(0,0,0,0.4) !important;\n}\n.active\\:border-black-alpha-50:active {\n border-color: rgba(0,0,0,0.5) !important;\n}\n.active\\:border-black-alpha-60:active {\n border-color: rgba(0,0,0,0.6) !important;\n}\n.active\\:border-black-alpha-70:active {\n border-color: rgba(0,0,0,0.7) !important;\n}\n.active\\:border-black-alpha-80:active {\n border-color: rgba(0,0,0,0.8) !important;\n}\n.active\\:border-black-alpha-90:active {\n border-color: rgba(0,0,0,0.9) !important;\n}\n\n.text-white-alpha-10 {\n color: rgba(255,255,255,0.1) !important;\n}\n.text-white-alpha-20 {\n color: rgba(255,255,255,0.2) !important;\n}\n.text-white-alpha-30 {\n color: rgba(255,255,255,0.3) !important;\n}\n.text-white-alpha-40 {\n color: rgba(255,255,255,0.4) !important;\n}\n.text-white-alpha-50 {\n color: rgba(255,255,255,0.5) !important;\n}\n.text-white-alpha-60 {\n color: rgba(255,255,255,0.6) !important;\n}\n.text-white-alpha-70 {\n color: rgba(255,255,255,0.7) !important;\n}\n.text-white-alpha-80 {\n color: rgba(255,255,255,0.8) !important;\n}\n.text-white-alpha-90 {\n color: rgba(255,255,255,0.9) !important;\n}\n\n.hover\\:text-white-alpha-10:hover {\n color: rgba(255,255,255,0.1) !important;\n}\n.hover\\:text-white-alpha-20:hover {\n color: rgba(255,255,255,0.2) !important;\n}\n.hover\\:text-white-alpha-30:hover {\n color: rgba(255,255,255,0.3) !important;\n}\n.hover\\:text-white-alpha-40:hover {\n color: rgba(255,255,255,0.4) !important;\n}\n.hover\\:text-white-alpha-50:hover {\n color: rgba(255,255,255,0.5) !important;\n}\n.hover\\:text-white-alpha-60:hover {\n color: rgba(255,255,255,0.6) !important;\n}\n.hover\\:text-white-alpha-70:hover {\n color: rgba(255,255,255,0.7) !important;\n}\n.hover\\:text-white-alpha-80:hover {\n color: rgba(255,255,255,0.8) !important;\n}\n.hover\\:text-white-alpha-90:hover {\n color: rgba(255,255,255,0.9) !important;\n}\n\n.focus\\:text-white-alpha-10:focus {\n color: rgba(255,255,255,0.1) !important;\n}\n.focus\\:text-white-alpha-20:focus {\n color: rgba(255,255,255,0.2) !important;\n}\n.focus\\:text-white-alpha-30:focus {\n color: rgba(255,255,255,0.3) !important;\n}\n.focus\\:text-white-alpha-40:focus {\n color: rgba(255,255,255,0.4) !important;\n}\n.focus\\:text-white-alpha-50:focus {\n color: rgba(255,255,255,0.5) !important;\n}\n.focus\\:text-white-alpha-60:focus {\n color: rgba(255,255,255,0.6) !important;\n}\n.focus\\:text-white-alpha-70:focus {\n color: rgba(255,255,255,0.7) !important;\n}\n.focus\\:text-white-alpha-80:focus {\n color: rgba(255,255,255,0.8) !important;\n}\n.focus\\:text-white-alpha-90:focus {\n color: rgba(255,255,255,0.9) !important;\n}\n\n.active\\:text-white-alpha-10:active {\n color: rgba(255,255,255,0.1) !important;\n}\n.active\\:text-white-alpha-20:active {\n color: rgba(255,255,255,0.2) !important;\n}\n.active\\:text-white-alpha-30:active {\n color: rgba(255,255,255,0.3) !important;\n}\n.active\\:text-white-alpha-40:active {\n color: rgba(255,255,255,0.4) !important;\n}\n.active\\:text-white-alpha-50:active {\n color: rgba(255,255,255,0.5) !important;\n}\n.active\\:text-white-alpha-60:active {\n color: rgba(255,255,255,0.6) !important;\n}\n.active\\:text-white-alpha-70:active {\n color: rgba(255,255,255,0.7) !important;\n}\n.active\\:text-white-alpha-80:active {\n color: rgba(255,255,255,0.8) !important;\n}\n.active\\:text-white-alpha-90:active {\n color: rgba(255,255,255,0.9) !important;\n}\n\n.text-black-alpha-10 {\n color: rgba(0,0,0,0.1) !important;\n}\n.text-black-alpha-20 {\n color: rgba(0,0,0,0.2) !important;\n}\n.text-black-alpha-30 {\n color: rgba(0,0,0,0.3) !important;\n}\n.text-black-alpha-40 {\n color: rgba(0,0,0,0.4) !important;\n}\n.text-black-alpha-50 {\n color: rgba(0,0,0,0.5) !important;\n}\n.text-black-alpha-60 {\n color: rgba(0,0,0,0.6) !important;\n}\n.text-black-alpha-70 {\n color: rgba(0,0,0,0.7) !important;\n}\n.text-black-alpha-80 {\n color: rgba(0,0,0,0.8) !important;\n}\n.text-black-alpha-90 {\n color: rgba(0,0,0,0.9) !important;\n}\n\n.hover\\:text-black-alpha-10:hover {\n color: rgba(0,0,0,0.1) !important;\n}\n.hover\\:text-black-alpha-20:hover {\n color: rgba(0,0,0,0.2) !important;\n}\n.hover\\:text-black-alpha-30:hover {\n color: rgba(0,0,0,0.3) !important;\n}\n.hover\\:text-black-alpha-40:hover {\n color: rgba(0,0,0,0.4) !important;\n}\n.hover\\:text-black-alpha-50:hover {\n color: rgba(0,0,0,0.5) !important;\n}\n.hover\\:text-black-alpha-60:hover {\n color: rgba(0,0,0,0.6) !important;\n}\n.hover\\:text-black-alpha-70:hover {\n color: rgba(0,0,0,0.7) !important;\n}\n.hover\\:text-black-alpha-80:hover {\n color: rgba(0,0,0,0.8) !important;\n}\n.hover\\:text-black-alpha-90:hover {\n color: rgba(0,0,0,0.9) !important;\n}\n\n.focus\\:text-black-alpha-10:focus {\n color: rgba(0,0,0,0.1) !important;\n}\n.focus\\:text-black-alpha-20:focus {\n color: rgba(0,0,0,0.2) !important;\n}\n.focus\\:text-black-alpha-30:focus {\n color: rgba(0,0,0,0.3) !important;\n}\n.focus\\:text-black-alpha-40:focus {\n color: rgba(0,0,0,0.4) !important;\n}\n.focus\\:text-black-alpha-50:focus {\n color: rgba(0,0,0,0.5) !important;\n}\n.focus\\:text-black-alpha-60:focus {\n color: rgba(0,0,0,0.6) !important;\n}\n.focus\\:text-black-alpha-70:focus {\n color: rgba(0,0,0,0.7) !important;\n}\n.focus\\:text-black-alpha-80:focus {\n color: rgba(0,0,0,0.8) !important;\n}\n.focus\\:text-black-alpha-90:focus {\n color: rgba(0,0,0,0.9) !important;\n}\n\n.active\\:text-black-alpha-10:active {\n color: rgba(0,0,0,0.1) !important;\n}\n.active\\:text-black-alpha-20:active {\n color: rgba(0,0,0,0.2) !important;\n}\n.active\\:text-black-alpha-30:active {\n color: rgba(0,0,0,0.3) !important;\n}\n.active\\:text-black-alpha-40:active {\n color: rgba(0,0,0,0.4) !important;\n}\n.active\\:text-black-alpha-50:active {\n color: rgba(0,0,0,0.5) !important;\n}\n.active\\:text-black-alpha-60:active {\n color: rgba(0,0,0,0.6) !important;\n}\n.active\\:text-black-alpha-70:active {\n color: rgba(0,0,0,0.7) !important;\n}\n.active\\:text-black-alpha-80:active {\n color: rgba(0,0,0,0.8) !important;\n}\n.active\\:text-black-alpha-90:active {\n color: rgba(0,0,0,0.9) !important;\n}\n\n.text-primary {\n color: var(--primary-color) !important;\n}\n\n.bg-primary {\n color: var(--primary-color-text) !important;\n background-color: var(--primary-color) !important;\n}\n\n.bg-primary-reverse {\n color: var(--primary-color) !important;\n background-color: var(--primary-color-text) !important;\n}\n\n.bg-white {\n background-color: #ffffff !important;\n}\n\n.border-primary {\n border-color: var(--primary-color) !important;\n}\n\n.text-white {\n color: #ffffff !important;\n}\n\n.border-white {\n border-color: #ffffff !important;\n}\n\n.text-color {\n color: var(--text-color) !important;\n}\n\n.text-color-secondary {\n color: var(--text-color-secondary) !important;\n}\n\n.surface-ground {\n background-color: var(--surface-ground) !important;\n}\n\n.surface-section {\n background-color: var(--surface-section) !important;\n}\n\n.surface-card {\n background-color: var(--surface-card) !important;\n}\n\n.surface-overlay {\n background-color: var(--surface-overlay) !important;\n}\n\n.surface-hover {\n background-color: var(--surface-hover) !important;\n}\n\n.surface-border {\n border-color: var(--surface-border) !important;\n}\n\n.focus\\:text-primary:focus {\n color: var(--primary-color) !important;\n}\n\n.hover\\:text-primary:hover {\n color: var(--primary-color) !important;\n}\n\n.active\\:text-primary:active {\n color: var(--primary-color) !important;\n}\n\n.focus\\:bg-primary:focus {\n color: var(--primary-color-text) !important;\n background-color: var(--primary-color) !important;\n}\n\n.hover\\:bg-primary:hover {\n color: var(--primary-color-text) !important;\n background-color: var(--primary-color) !important;\n}\n\n.active\\:bg-primary:active {\n color: var(--primary-color-text) !important;\n background-color: var(--primary-color) !important;\n}\n\n.focus\\:bg-primary-reverse:focus {\n color: var(--primary-color) !important;\n background-color: var(--primary-color-text) !important;\n}\n\n.hover\\:bg-primary-reverse:hover {\n color: var(--primary-color) !important;\n background-color: var(--primary-color-text) !important;\n}\n\n.active\\:bg-primary-reverse:active {\n color: var(--primary-color) !important;\n background-color: var(--primary-color-text) !important;\n}\n\n.focus\\:bg-white:focus {\n background-color: #ffffff !important;\n}\n\n.hover\\:bg-white:hover {\n background-color: #ffffff !important;\n}\n\n.active\\:bg-white:active {\n background-color: #ffffff !important;\n}\n\n.focus\\:border-primary:focus {\n border-color: var(--primary-color) !important;\n}\n\n.hover\\:border-primary:hover {\n border-color: var(--primary-color) !important;\n}\n\n.active\\:border-primary:active {\n border-color: var(--primary-color) !important;\n}\n\n.focus\\:text-white:focus {\n color: #ffffff !important;\n}\n\n.hover\\:text-white:hover {\n color: #ffffff !important;\n}\n\n.active\\:text-white:active {\n color: #ffffff !important;\n}\n\n.focus\\:border-white:focus {\n border-color: #ffffff !important;\n}\n\n.hover\\:border-white:hover {\n border-color: #ffffff !important;\n}\n\n.active\\:border-white:active {\n border-color: #ffffff !important;\n}\n\n.focus\\:text-color:focus {\n color: var(--text-color) !important;\n}\n\n.hover\\:text-color:hover {\n color: var(--text-color) !important;\n}\n\n.active\\:text-color:active {\n color: var(--text-color) !important;\n}\n\n.focus\\:text-color-secondary:focus {\n color: var(--text-color-secondary) !important;\n}\n\n.hover\\:text-color-secondary:hover {\n color: var(--text-color-secondary) !important;\n}\n\n.active\\:text-color-secondary:active {\n color: var(--text-color-secondary) !important;\n}\n\n.focus\\:surface-ground:focus {\n background-color: var(--surface-ground) !important;\n}\n\n.hover\\:surface-ground:hover {\n background-color: var(--surface-ground) !important;\n}\n\n.active\\:surface-ground:active {\n background-color: var(--surface-ground) !important;\n}\n\n.focus\\:surface-section:focus {\n background-color: var(--surface-section) !important;\n}\n\n.hover\\:surface-section:hover {\n background-color: var(--surface-section) !important;\n}\n\n.active\\:surface-section:active {\n background-color: var(--surface-section) !important;\n}\n\n.focus\\:surface-card:focus {\n background-color: var(--surface-card) !important;\n}\n\n.hover\\:surface-card:hover {\n background-color: var(--surface-card) !important;\n}\n\n.active\\:surface-card:active {\n background-color: var(--surface-card) !important;\n}\n\n.focus\\:surface-overlay:focus {\n background-color: var(--surface-overlay) !important;\n}\n\n.hover\\:surface-overlay:hover {\n background-color: var(--surface-overlay) !important;\n}\n\n.active\\:surface-overlay:active {\n background-color: var(--surface-overlay) !important;\n}\n\n.focus\\:surface-hover:focus {\n background-color: var(--surface-hover) !important;\n}\n\n.hover\\:surface-hover:hover {\n background-color: var(--surface-hover) !important;\n}\n\n.active\\:surface-hover:active {\n background-color: var(--surface-hover) !important;\n}\n\n.focus\\:surface-border:focus {\n border-color: var(--surface-border) !important;\n}\n\n.hover\\:surface-border:hover {\n border-color: var(--surface-border) !important;\n}\n\n.active\\:surface-border:active {\n border-color: var(--surface-border) !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:text-primary {\n color: var(--primary-color) !important;\n }\n .sm\\:bg-primary {\n color: var(--primary-color-text) !important;\n background-color: var(--primary-color) !important;\n }\n .sm\\:bg-primary-reverse {\n color: var(--primary-color) !important;\n background-color: var(--primary-color-text) !important;\n }\n .sm\\:bg-white {\n background-color: #ffffff !important;\n }\n .sm\\:border-primary {\n border-color: var(--primary-color) !important;\n }\n .sm\\:text-white {\n color: #ffffff !important;\n }\n .sm\\:border-white {\n border-color: #ffffff !important;\n }\n .sm\\:text-color {\n color: var(--text-color) !important;\n }\n .sm\\:text-color-secondary {\n color: var(--text-color-secondary) !important;\n }\n .sm\\:surface-ground {\n background-color: var(--surface-ground) !important;\n }\n .sm\\:surface-section {\n background-color: var(--surface-section) !important;\n }\n .sm\\:surface-card {\n background-color: var(--surface-card) !important;\n }\n .sm\\:surface-overlay {\n background-color: var(--surface-overlay) !important;\n }\n .sm\\:surface-hover {\n background-color: var(--surface-hover) !important;\n }\n .sm\\:surface-border {\n border-color: var(--surface-border) !important;\n }\n .sm\\:focus\\:text-primary:focus {\n color: var(--primary-color) !important;\n }\n .sm\\:hover\\:text-primary:hover {\n color: var(--primary-color) !important;\n }\n .sm\\:active\\:text-primary:active {\n color: var(--primary-color) !important;\n }\n .sm\\:focus\\:bg-primary:focus {\n color: var(--primary-color-text) !important;\n background-color: var(--primary-color) !important;\n }\n .sm\\:hover\\:bg-primary:hover {\n color: var(--primary-color-text) !important;\n background-color: var(--primary-color) !important;\n }\n .sm\\:active\\:bg-primary:active {\n color: var(--primary-color-text) !important;\n background-color: var(--primary-color) !important;\n }\n .sm\\:focus\\:bg-primary-reverse:focus {\n color: var(--primary-color) !important;\n background-color: var(--primary-color-text) !important;\n }\n .sm\\:hover\\:bg-primary-reverse:hover {\n color: var(--primary-color) !important;\n background-color: var(--primary-color-text) !important;\n }\n .sm\\:active\\:bg-primary-reverse:active {\n color: var(--primary-color) !important;\n background-color: var(--primary-color-text) !important;\n }\n .sm\\:focus\\:bg-white:focus {\n background-color: #ffffff !important;\n }\n .sm\\:hover\\:bg-white:hover {\n background-color: #ffffff !important;\n }\n .sm\\:active\\:bg-white:active {\n background-color: #ffffff !important;\n }\n .sm\\:focus\\:border-primary:focus {\n border-color: var(--primary-color) !important;\n }\n .sm\\:hover\\:border-primary:hover {\n border-color: var(--primary-color) !important;\n }\n .sm\\:active\\:border-primary:active {\n border-color: var(--primary-color) !important;\n }\n .sm\\:focus\\:text-white:focus {\n color: #ffffff !important;\n }\n .sm\\:hover\\:text-white:hover {\n color: #ffffff !important;\n }\n .sm\\:active\\:text-white:active {\n color: #ffffff !important;\n }\n .sm\\:focus\\:border-white:focus {\n border-color: #ffffff !important;\n }\n .sm\\:hover\\:border-white:hover {\n border-color: #ffffff !important;\n }\n .sm\\:active\\:border-white:active {\n border-color: #ffffff !important;\n }\n .sm\\:focus\\:text-color:focus {\n color: var(--text-color) !important;\n }\n .sm\\:hover\\:text-color:hover {\n color: var(--text-color) !important;\n }\n .sm\\:active\\:text-color:active {\n color: var(--text-color) !important;\n }\n .sm\\:focus\\:text-color-secondary:focus {\n color: var(--text-color-secondary) !important;\n }\n .sm\\:hover\\:text-color-secondary:hover {\n color: var(--text-color-secondary) !important;\n }\n .sm\\:active\\:text-color-secondary:active {\n color: var(--text-color-secondary) !important;\n }\n .sm\\:focus\\:surface-ground:focus {\n background-color: var(--surface-ground) !important;\n }\n .sm\\:hover\\:surface-ground:hover {\n background-color: var(--surface-ground) !important;\n }\n .sm\\:active\\:surface-ground:active {\n background-color: var(--surface-ground) !important;\n }\n .sm\\:focus\\:surface-section:focus {\n background-color: var(--surface-section) !important;\n }\n .sm\\:hover\\:surface-section:hover {\n background-color: var(--surface-section) !important;\n }\n .sm\\:active\\:surface-section:active {\n background-color: var(--surface-section) !important;\n }\n .sm\\:focus\\:surface-card:focus {\n background-color: var(--surface-card) !important;\n }\n .sm\\:hover\\:surface-card:hover {\n background-color: var(--surface-card) !important;\n }\n .sm\\:active\\:surface-card:active {\n background-color: var(--surface-card) !important;\n }\n .sm\\:focus\\:surface-overlay:focus {\n background-color: var(--surface-overlay) !important;\n }\n .sm\\:hover\\:surface-overlay:hover {\n background-color: var(--surface-overlay) !important;\n }\n .sm\\:active\\:surface-overlay:active {\n background-color: var(--surface-overlay) !important;\n }\n .sm\\:focus\\:surface-hover:focus {\n background-color: var(--surface-hover) !important;\n }\n .sm\\:hover\\:surface-hover:hover {\n background-color: var(--surface-hover) !important;\n }\n .sm\\:active\\:surface-hover:active {\n background-color: var(--surface-hover) !important;\n }\n .sm\\:focus\\:surface-border:focus {\n border-color: var(--surface-border) !important;\n }\n .sm\\:hover\\:surface-border:hover {\n border-color: var(--surface-border) !important;\n }\n .sm\\:active\\:surface-border:active {\n border-color: var(--surface-border) !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:text-primary {\n color: var(--primary-color) !important;\n }\n .md\\:bg-primary {\n color: var(--primary-color-text) !important;\n background-color: var(--primary-color) !important;\n }\n .md\\:bg-primary-reverse {\n color: var(--primary-color) !important;\n background-color: var(--primary-color-text) !important;\n }\n .md\\:bg-white {\n background-color: #ffffff !important;\n }\n .md\\:border-primary {\n border-color: var(--primary-color) !important;\n }\n .md\\:text-white {\n color: #ffffff !important;\n }\n .md\\:border-white {\n border-color: #ffffff !important;\n }\n .md\\:text-color {\n color: var(--text-color) !important;\n }\n .md\\:text-color-secondary {\n color: var(--text-color-secondary) !important;\n }\n .md\\:surface-ground {\n background-color: var(--surface-ground) !important;\n }\n .md\\:surface-section {\n background-color: var(--surface-section) !important;\n }\n .md\\:surface-card {\n background-color: var(--surface-card) !important;\n }\n .md\\:surface-overlay {\n background-color: var(--surface-overlay) !important;\n }\n .md\\:surface-hover {\n background-color: var(--surface-hover) !important;\n }\n .md\\:surface-border {\n border-color: var(--surface-border) !important;\n }\n .md\\:focus\\:text-primary:focus {\n color: var(--primary-color) !important;\n }\n .md\\:hover\\:text-primary:hover {\n color: var(--primary-color) !important;\n }\n .md\\:active\\:text-primary:active {\n color: var(--primary-color) !important;\n }\n .md\\:focus\\:bg-primary:focus {\n color: var(--primary-color-text) !important;\n background-color: var(--primary-color) !important;\n }\n .md\\:hover\\:bg-primary:hover {\n color: var(--primary-color-text) !important;\n background-color: var(--primary-color) !important;\n }\n .md\\:active\\:bg-primary:active {\n color: var(--primary-color-text) !important;\n background-color: var(--primary-color) !important;\n }\n .md\\:focus\\:bg-primary-reverse:focus {\n color: var(--primary-color) !important;\n background-color: var(--primary-color-text) !important;\n }\n .md\\:hover\\:bg-primary-reverse:hover {\n color: var(--primary-color) !important;\n background-color: var(--primary-color-text) !important;\n }\n .md\\:active\\:bg-primary-reverse:active {\n color: var(--primary-color) !important;\n background-color: var(--primary-color-text) !important;\n }\n .md\\:focus\\:bg-white:focus {\n background-color: #ffffff !important;\n }\n .md\\:hover\\:bg-white:hover {\n background-color: #ffffff !important;\n }\n .md\\:active\\:bg-white:active {\n background-color: #ffffff !important;\n }\n .md\\:focus\\:border-primary:focus {\n border-color: var(--primary-color) !important;\n }\n .md\\:hover\\:border-primary:hover {\n border-color: var(--primary-color) !important;\n }\n .md\\:active\\:border-primary:active {\n border-color: var(--primary-color) !important;\n }\n .md\\:focus\\:text-white:focus {\n color: #ffffff !important;\n }\n .md\\:hover\\:text-white:hover {\n color: #ffffff !important;\n }\n .md\\:active\\:text-white:active {\n color: #ffffff !important;\n }\n .md\\:focus\\:border-white:focus {\n border-color: #ffffff !important;\n }\n .md\\:hover\\:border-white:hover {\n border-color: #ffffff !important;\n }\n .md\\:active\\:border-white:active {\n border-color: #ffffff !important;\n }\n .md\\:focus\\:text-color:focus {\n color: var(--text-color) !important;\n }\n .md\\:hover\\:text-color:hover {\n color: var(--text-color) !important;\n }\n .md\\:active\\:text-color:active {\n color: var(--text-color) !important;\n }\n .md\\:focus\\:text-color-secondary:focus {\n color: var(--text-color-secondary) !important;\n }\n .md\\:hover\\:text-color-secondary:hover {\n color: var(--text-color-secondary) !important;\n }\n .md\\:active\\:text-color-secondary:active {\n color: var(--text-color-secondary) !important;\n }\n .md\\:focus\\:surface-ground:focus {\n background-color: var(--surface-ground) !important;\n }\n .md\\:hover\\:surface-ground:hover {\n background-color: var(--surface-ground) !important;\n }\n .md\\:active\\:surface-ground:active {\n background-color: var(--surface-ground) !important;\n }\n .md\\:focus\\:surface-section:focus {\n background-color: var(--surface-section) !important;\n }\n .md\\:hover\\:surface-section:hover {\n background-color: var(--surface-section) !important;\n }\n .md\\:active\\:surface-section:active {\n background-color: var(--surface-section) !important;\n }\n .md\\:focus\\:surface-card:focus {\n background-color: var(--surface-card) !important;\n }\n .md\\:hover\\:surface-card:hover {\n background-color: var(--surface-card) !important;\n }\n .md\\:active\\:surface-card:active {\n background-color: var(--surface-card) !important;\n }\n .md\\:focus\\:surface-overlay:focus {\n background-color: var(--surface-overlay) !important;\n }\n .md\\:hover\\:surface-overlay:hover {\n background-color: var(--surface-overlay) !important;\n }\n .md\\:active\\:surface-overlay:active {\n background-color: var(--surface-overlay) !important;\n }\n .md\\:focus\\:surface-hover:focus {\n background-color: var(--surface-hover) !important;\n }\n .md\\:hover\\:surface-hover:hover {\n background-color: var(--surface-hover) !important;\n }\n .md\\:active\\:surface-hover:active {\n background-color: var(--surface-hover) !important;\n }\n .md\\:focus\\:surface-border:focus {\n border-color: var(--surface-border) !important;\n }\n .md\\:hover\\:surface-border:hover {\n border-color: var(--surface-border) !important;\n }\n .md\\:active\\:surface-border:active {\n border-color: var(--surface-border) !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:text-primary {\n color: var(--primary-color) !important;\n }\n .lg\\:bg-primary {\n color: var(--primary-color-text) !important;\n background-color: var(--primary-color) !important;\n }\n .lg\\:bg-primary-reverse {\n color: var(--primary-color) !important;\n background-color: var(--primary-color-text) !important;\n }\n .lg\\:bg-white {\n background-color: #ffffff !important;\n }\n .lg\\:border-primary {\n border-color: var(--primary-color) !important;\n }\n .lg\\:text-white {\n color: #ffffff !important;\n }\n .lg\\:border-white {\n border-color: #ffffff !important;\n }\n .lg\\:text-color {\n color: var(--text-color) !important;\n }\n .lg\\:text-color-secondary {\n color: var(--text-color-secondary) !important;\n }\n .lg\\:surface-ground {\n background-color: var(--surface-ground) !important;\n }\n .lg\\:surface-section {\n background-color: var(--surface-section) !important;\n }\n .lg\\:surface-card {\n background-color: var(--surface-card) !important;\n }\n .lg\\:surface-overlay {\n background-color: var(--surface-overlay) !important;\n }\n .lg\\:surface-hover {\n background-color: var(--surface-hover) !important;\n }\n .lg\\:surface-border {\n border-color: var(--surface-border) !important;\n }\n .lg\\:focus\\:text-primary:focus {\n color: var(--primary-color) !important;\n }\n .lg\\:hover\\:text-primary:hover {\n color: var(--primary-color) !important;\n }\n .lg\\:active\\:text-primary:active {\n color: var(--primary-color) !important;\n }\n .lg\\:focus\\:bg-primary:focus {\n color: var(--primary-color-text) !important;\n background-color: var(--primary-color) !important;\n }\n .lg\\:hover\\:bg-primary:hover {\n color: var(--primary-color-text) !important;\n background-color: var(--primary-color) !important;\n }\n .lg\\:active\\:bg-primary:active {\n color: var(--primary-color-text) !important;\n background-color: var(--primary-color) !important;\n }\n .lg\\:focus\\:bg-primary-reverse:focus {\n color: var(--primary-color) !important;\n background-color: var(--primary-color-text) !important;\n }\n .lg\\:hover\\:bg-primary-reverse:hover {\n color: var(--primary-color) !important;\n background-color: var(--primary-color-text) !important;\n }\n .lg\\:active\\:bg-primary-reverse:active {\n color: var(--primary-color) !important;\n background-color: var(--primary-color-text) !important;\n }\n .lg\\:focus\\:bg-white:focus {\n background-color: #ffffff !important;\n }\n .lg\\:hover\\:bg-white:hover {\n background-color: #ffffff !important;\n }\n .lg\\:active\\:bg-white:active {\n background-color: #ffffff !important;\n }\n .lg\\:focus\\:border-primary:focus {\n border-color: var(--primary-color) !important;\n }\n .lg\\:hover\\:border-primary:hover {\n border-color: var(--primary-color) !important;\n }\n .lg\\:active\\:border-primary:active {\n border-color: var(--primary-color) !important;\n }\n .lg\\:focus\\:text-white:focus {\n color: #ffffff !important;\n }\n .lg\\:hover\\:text-white:hover {\n color: #ffffff !important;\n }\n .lg\\:active\\:text-white:active {\n color: #ffffff !important;\n }\n .lg\\:focus\\:border-white:focus {\n border-color: #ffffff !important;\n }\n .lg\\:hover\\:border-white:hover {\n border-color: #ffffff !important;\n }\n .lg\\:active\\:border-white:active {\n border-color: #ffffff !important;\n }\n .lg\\:focus\\:text-color:focus {\n color: var(--text-color) !important;\n }\n .lg\\:hover\\:text-color:hover {\n color: var(--text-color) !important;\n }\n .lg\\:active\\:text-color:active {\n color: var(--text-color) !important;\n }\n .lg\\:focus\\:text-color-secondary:focus {\n color: var(--text-color-secondary) !important;\n }\n .lg\\:hover\\:text-color-secondary:hover {\n color: var(--text-color-secondary) !important;\n }\n .lg\\:active\\:text-color-secondary:active {\n color: var(--text-color-secondary) !important;\n }\n .lg\\:focus\\:surface-ground:focus {\n background-color: var(--surface-ground) !important;\n }\n .lg\\:hover\\:surface-ground:hover {\n background-color: var(--surface-ground) !important;\n }\n .lg\\:active\\:surface-ground:active {\n background-color: var(--surface-ground) !important;\n }\n .lg\\:focus\\:surface-section:focus {\n background-color: var(--surface-section) !important;\n }\n .lg\\:hover\\:surface-section:hover {\n background-color: var(--surface-section) !important;\n }\n .lg\\:active\\:surface-section:active {\n background-color: var(--surface-section) !important;\n }\n .lg\\:focus\\:surface-card:focus {\n background-color: var(--surface-card) !important;\n }\n .lg\\:hover\\:surface-card:hover {\n background-color: var(--surface-card) !important;\n }\n .lg\\:active\\:surface-card:active {\n background-color: var(--surface-card) !important;\n }\n .lg\\:focus\\:surface-overlay:focus {\n background-color: var(--surface-overlay) !important;\n }\n .lg\\:hover\\:surface-overlay:hover {\n background-color: var(--surface-overlay) !important;\n }\n .lg\\:active\\:surface-overlay:active {\n background-color: var(--surface-overlay) !important;\n }\n .lg\\:focus\\:surface-hover:focus {\n background-color: var(--surface-hover) !important;\n }\n .lg\\:hover\\:surface-hover:hover {\n background-color: var(--surface-hover) !important;\n }\n .lg\\:active\\:surface-hover:active {\n background-color: var(--surface-hover) !important;\n }\n .lg\\:focus\\:surface-border:focus {\n border-color: var(--surface-border) !important;\n }\n .lg\\:hover\\:surface-border:hover {\n border-color: var(--surface-border) !important;\n }\n .lg\\:active\\:surface-border:active {\n border-color: var(--surface-border) !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:text-primary {\n color: var(--primary-color) !important;\n }\n .xl\\:bg-primary {\n color: var(--primary-color-text) !important;\n background-color: var(--primary-color) !important;\n }\n .xl\\:bg-primary-reverse {\n color: var(--primary-color) !important;\n background-color: var(--primary-color-text) !important;\n }\n .xl\\:bg-white {\n background-color: #ffffff !important;\n }\n .xl\\:border-primary {\n border-color: var(--primary-color) !important;\n }\n .xl\\:text-white {\n color: #ffffff !important;\n }\n .xl\\:border-white {\n border-color: #ffffff !important;\n }\n .xl\\:text-color {\n color: var(--text-color) !important;\n }\n .xl\\:text-color-secondary {\n color: var(--text-color-secondary) !important;\n }\n .xl\\:surface-ground {\n background-color: var(--surface-ground) !important;\n }\n .xl\\:surface-section {\n background-color: var(--surface-section) !important;\n }\n .xl\\:surface-card {\n background-color: var(--surface-card) !important;\n }\n .xl\\:surface-overlay {\n background-color: var(--surface-overlay) !important;\n }\n .xl\\:surface-hover {\n background-color: var(--surface-hover) !important;\n }\n .xl\\:surface-border {\n border-color: var(--surface-border) !important;\n }\n .xl\\:focus\\:text-primary:focus {\n color: var(--primary-color) !important;\n }\n .xl\\:hover\\:text-primary:hover {\n color: var(--primary-color) !important;\n }\n .xl\\:active\\:text-primary:active {\n color: var(--primary-color) !important;\n }\n .xl\\:focus\\:bg-primary:focus {\n color: var(--primary-color-text) !important;\n background-color: var(--primary-color) !important;\n }\n .xl\\:hover\\:bg-primary:hover {\n color: var(--primary-color-text) !important;\n background-color: var(--primary-color) !important;\n }\n .xl\\:active\\:bg-primary:active {\n color: var(--primary-color-text) !important;\n background-color: var(--primary-color) !important;\n }\n .xl\\:focus\\:bg-primary-reverse:focus {\n color: var(--primary-color) !important;\n background-color: var(--primary-color-text) !important;\n }\n .xl\\:hover\\:bg-primary-reverse:hover {\n color: var(--primary-color) !important;\n background-color: var(--primary-color-text) !important;\n }\n .xl\\:active\\:bg-primary-reverse:active {\n color: var(--primary-color) !important;\n background-color: var(--primary-color-text) !important;\n }\n .xl\\:focus\\:bg-white:focus {\n background-color: #ffffff !important;\n }\n .xl\\:hover\\:bg-white:hover {\n background-color: #ffffff !important;\n }\n .xl\\:active\\:bg-white:active {\n background-color: #ffffff !important;\n }\n .xl\\:focus\\:border-primary:focus {\n border-color: var(--primary-color) !important;\n }\n .xl\\:hover\\:border-primary:hover {\n border-color: var(--primary-color) !important;\n }\n .xl\\:active\\:border-primary:active {\n border-color: var(--primary-color) !important;\n }\n .xl\\:focus\\:text-white:focus {\n color: #ffffff !important;\n }\n .xl\\:hover\\:text-white:hover {\n color: #ffffff !important;\n }\n .xl\\:active\\:text-white:active {\n color: #ffffff !important;\n }\n .xl\\:focus\\:border-white:focus {\n border-color: #ffffff !important;\n }\n .xl\\:hover\\:border-white:hover {\n border-color: #ffffff !important;\n }\n .xl\\:active\\:border-white:active {\n border-color: #ffffff !important;\n }\n .xl\\:focus\\:text-color:focus {\n color: var(--text-color) !important;\n }\n .xl\\:hover\\:text-color:hover {\n color: var(--text-color) !important;\n }\n .xl\\:active\\:text-color:active {\n color: var(--text-color) !important;\n }\n .xl\\:focus\\:text-color-secondary:focus {\n color: var(--text-color-secondary) !important;\n }\n .xl\\:hover\\:text-color-secondary:hover {\n color: var(--text-color-secondary) !important;\n }\n .xl\\:active\\:text-color-secondary:active {\n color: var(--text-color-secondary) !important;\n }\n .xl\\:focus\\:surface-ground:focus {\n background-color: var(--surface-ground) !important;\n }\n .xl\\:hover\\:surface-ground:hover {\n background-color: var(--surface-ground) !important;\n }\n .xl\\:active\\:surface-ground:active {\n background-color: var(--surface-ground) !important;\n }\n .xl\\:focus\\:surface-section:focus {\n background-color: var(--surface-section) !important;\n }\n .xl\\:hover\\:surface-section:hover {\n background-color: var(--surface-section) !important;\n }\n .xl\\:active\\:surface-section:active {\n background-color: var(--surface-section) !important;\n }\n .xl\\:focus\\:surface-card:focus {\n background-color: var(--surface-card) !important;\n }\n .xl\\:hover\\:surface-card:hover {\n background-color: var(--surface-card) !important;\n }\n .xl\\:active\\:surface-card:active {\n background-color: var(--surface-card) !important;\n }\n .xl\\:focus\\:surface-overlay:focus {\n background-color: var(--surface-overlay) !important;\n }\n .xl\\:hover\\:surface-overlay:hover {\n background-color: var(--surface-overlay) !important;\n }\n .xl\\:active\\:surface-overlay:active {\n background-color: var(--surface-overlay) !important;\n }\n .xl\\:focus\\:surface-hover:focus {\n background-color: var(--surface-hover) !important;\n }\n .xl\\:hover\\:surface-hover:hover {\n background-color: var(--surface-hover) !important;\n }\n .xl\\:active\\:surface-hover:active {\n background-color: var(--surface-hover) !important;\n }\n .xl\\:focus\\:surface-border:focus {\n border-color: var(--surface-border) !important;\n }\n .xl\\:hover\\:surface-border:hover {\n border-color: var(--surface-border) !important;\n }\n .xl\\:active\\:surface-border:active {\n border-color: var(--surface-border) !important;\n }\n}\n.field {\n margin-bottom: 1rem;\n}\n\n.field > label {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\n.field.grid > label {\n display: flex;\n align-items: center;\n}\n\n.field > small {\n margin-top: 0.25rem;\n}\n\n.field.grid,\n.formgrid.grid {\n margin-top: 0;\n}\n\n.field.grid .col-fixed,\n.formgrid.grid .col-fixed,\n.field.grid .col,\n.formgrid.grid .col,\n.field.grid .col-1,\n.formgrid.grid .col-1,\n.field.grid .col-2,\n.formgrid.grid .col-2,\n.field.grid .col-3,\n.formgrid.grid .col-3,\n.field.grid .col-4,\n.formgrid.grid .col-4,\n.field.grid .col-5,\n.formgrid.grid .col-5,\n.field.grid .col-6,\n.formgrid.grid .col-6,\n.field.grid .col-7,\n.formgrid.grid .col-7,\n.field.grid .col-8,\n.formgrid.grid .col-8,\n.field.grid .col-9,\n.formgrid.grid .col-9,\n.field.grid .col-10,\n.formgrid.grid .col-10,\n.field.grid .col-11,\n.formgrid.grid .col-11,\n.field.grid .col-12,\n.formgrid.grid .col-12 {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.formgroup-inline {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start;\n}\n\n.formgroup-inline .field,\n.formgroup-inline .field-checkbox,\n.formgroup-inline .field-radiobutton {\n margin-right: 1rem;\n}\n\n.formgroup-inline .field > label,\n.formgroup-inline .field-checkbox > label,\n.formgroup-inline .field-radiobutton > label {\n margin-right: 0.5rem;\n margin-bottom: 0;\n}\n\n.field-checkbox,\n.field-radiobutton {\n margin-bottom: 1rem;\n display: flex;\n align-items: center;\n}\n\n.field-checkbox > label,\n.field-radiobutton > label {\n margin-left: 0.5rem;\n line-height: 1;\n}\n\n.hidden {\n display: none !important;\n}\n\n.block {\n display: block !important;\n}\n\n.inline {\n display: inline !important;\n}\n\n.inline-block {\n display: inline-block !important;\n}\n\n.flex {\n display: flex !important;\n}\n\n.inline-flex {\n display: inline-flex !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:hidden {\n display: none !important;\n }\n .sm\\:block {\n display: block !important;\n }\n .sm\\:inline {\n display: inline !important;\n }\n .sm\\:inline-block {\n display: inline-block !important;\n }\n .sm\\:flex {\n display: flex !important;\n }\n .sm\\:inline-flex {\n display: inline-flex !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:hidden {\n display: none !important;\n }\n .md\\:block {\n display: block !important;\n }\n .md\\:inline {\n display: inline !important;\n }\n .md\\:inline-block {\n display: inline-block !important;\n }\n .md\\:flex {\n display: flex !important;\n }\n .md\\:inline-flex {\n display: inline-flex !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:hidden {\n display: none !important;\n }\n .lg\\:block {\n display: block !important;\n }\n .lg\\:inline {\n display: inline !important;\n }\n .lg\\:inline-block {\n display: inline-block !important;\n }\n .lg\\:flex {\n display: flex !important;\n }\n .lg\\:inline-flex {\n display: inline-flex !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:hidden {\n display: none !important;\n }\n .xl\\:block {\n display: block !important;\n }\n .xl\\:inline {\n display: inline !important;\n }\n .xl\\:inline-block {\n display: inline-block !important;\n }\n .xl\\:flex {\n display: flex !important;\n }\n .xl\\:inline-flex {\n display: inline-flex !important;\n }\n}\n.text-center {\n text-align: center !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:text-center {\n text-align: center !important;\n }\n .sm\\:text-justify {\n text-align: justify !important;\n }\n .sm\\:text-left {\n text-align: left !important;\n }\n .sm\\:text-right {\n text-align: right !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:text-center {\n text-align: center !important;\n }\n .md\\:text-justify {\n text-align: justify !important;\n }\n .md\\:text-left {\n text-align: left !important;\n }\n .md\\:text-right {\n text-align: right !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:text-center {\n text-align: center !important;\n }\n .lg\\:text-justify {\n text-align: justify !important;\n }\n .lg\\:text-left {\n text-align: left !important;\n }\n .lg\\:text-right {\n text-align: right !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:text-center {\n text-align: center !important;\n }\n .xl\\:text-justify {\n text-align: justify !important;\n }\n .xl\\:text-left {\n text-align: left !important;\n }\n .xl\\:text-right {\n text-align: right !important;\n }\n}\n.underline {\n text-decoration: underline !important;\n}\n\n.line-through {\n text-decoration: line-through !important;\n}\n\n.no-underline {\n text-decoration: none !important;\n}\n\n.focus\\:underline:focus {\n text-decoration: underline !important;\n}\n\n.hover\\:underline:hover {\n text-decoration: underline !important;\n}\n\n.active\\:underline:active {\n text-decoration: underline !important;\n}\n\n.focus\\:line-through:focus {\n text-decoration: line-through !important;\n}\n\n.hover\\:line-through:hover {\n text-decoration: line-through !important;\n}\n\n.active\\:line-through:active {\n text-decoration: line-through !important;\n}\n\n.focus\\:no-underline:focus {\n text-decoration: none !important;\n}\n\n.hover\\:no-underline:hover {\n text-decoration: none !important;\n}\n\n.active\\:no-underline:active {\n text-decoration: none !important;\n}\n\n.lowercase {\n text-transform: lowercase !important;\n}\n\n.uppercase {\n text-transform: uppercase !important;\n}\n\n.capitalize {\n text-transform: capitalize !important;\n}\n\n.text-overflow-clip {\n text-overflow: clip !important;\n}\n\n.text-overflow-ellipsis {\n text-overflow: ellipsis !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:text-overflow-clip {\n text-overflow: clip !important;\n }\n .sm\\:text-overflow-ellipsis {\n text-overflow: ellipsis !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:text-overflow-clip {\n text-overflow: clip !important;\n }\n .md\\:text-overflow-ellipsis {\n text-overflow: ellipsis !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:text-overflow-clip {\n text-overflow: clip !important;\n }\n .lg\\:text-overflow-ellipsis {\n text-overflow: ellipsis !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:text-overflow-clip {\n text-overflow: clip !important;\n }\n .xl\\:text-overflow-ellipsis {\n text-overflow: ellipsis !important;\n }\n}\n.font-light {\n font-weight: 300 !important;\n}\n\n.font-normal {\n font-weight: 400 !important;\n}\n\n.font-medium {\n font-weight: 500 !important;\n}\n\n.font-semibold {\n font-weight: 600 !important;\n}\n\n.font-bold {\n font-weight: 700 !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:font-light {\n font-weight: 300 !important;\n }\n .sm\\:font-normal {\n font-weight: 400 !important;\n }\n .sm\\:font-medium {\n font-weight: 500 !important;\n }\n .sm\\:font-semibold {\n font-weight: 600 !important;\n }\n .sm\\:font-bold {\n font-weight: 700 !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:font-light {\n font-weight: 300 !important;\n }\n .md\\:font-normal {\n font-weight: 400 !important;\n }\n .md\\:font-medium {\n font-weight: 500 !important;\n }\n .md\\:font-semibold {\n font-weight: 600 !important;\n }\n .md\\:font-bold {\n font-weight: 700 !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:font-light {\n font-weight: 300 !important;\n }\n .lg\\:font-normal {\n font-weight: 400 !important;\n }\n .lg\\:font-medium {\n font-weight: 500 !important;\n }\n .lg\\:font-semibold {\n font-weight: 600 !important;\n }\n .lg\\:font-bold {\n font-weight: 700 !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:font-light {\n font-weight: 300 !important;\n }\n .xl\\:font-normal {\n font-weight: 400 !important;\n }\n .xl\\:font-medium {\n font-weight: 500 !important;\n }\n .xl\\:font-semibold {\n font-weight: 600 !important;\n }\n .xl\\:font-bold {\n font-weight: 700 !important;\n }\n}\n.font-italic {\n font-style: italic !important;\n}\n\n.text-xs {\n font-size: 0.75rem !important;\n}\n\n.text-sm {\n font-size: 0.875rem !important;\n}\n\n.text-base {\n font-size: 1rem !important;\n}\n\n.text-lg {\n font-size: 1.125rem !important;\n}\n\n.text-xl {\n font-size: 1.25rem !important;\n}\n\n.text-2xl {\n font-size: 1.5rem !important;\n}\n\n.text-3xl {\n font-size: 1.75rem !important;\n}\n\n.text-4xl {\n font-size: 2rem !important;\n}\n\n.text-5xl {\n font-size: 2.5rem !important;\n}\n\n.text-6xl {\n font-size: 3rem !important;\n}\n\n.text-7xl {\n font-size: 4rem !important;\n}\n\n.text-8xl {\n font-size: 6rem !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:text-xs {\n font-size: 0.75rem !important;\n }\n .sm\\:text-sm {\n font-size: 0.875rem !important;\n }\n .sm\\:text-base {\n font-size: 1rem !important;\n }\n .sm\\:text-lg {\n font-size: 1.125rem !important;\n }\n .sm\\:text-xl {\n font-size: 1.25rem !important;\n }\n .sm\\:text-2xl {\n font-size: 1.5rem !important;\n }\n .sm\\:text-3xl {\n font-size: 1.75rem !important;\n }\n .sm\\:text-4xl {\n font-size: 2rem !important;\n }\n .sm\\:text-5xl {\n font-size: 2.5rem !important;\n }\n .sm\\:text-6xl {\n font-size: 3rem !important;\n }\n .sm\\:text-7xl {\n font-size: 4rem !important;\n }\n .sm\\:text-8xl {\n font-size: 6rem !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:text-xs {\n font-size: 0.75rem !important;\n }\n .md\\:text-sm {\n font-size: 0.875rem !important;\n }\n .md\\:text-base {\n font-size: 1rem !important;\n }\n .md\\:text-lg {\n font-size: 1.125rem !important;\n }\n .md\\:text-xl {\n font-size: 1.25rem !important;\n }\n .md\\:text-2xl {\n font-size: 1.5rem !important;\n }\n .md\\:text-3xl {\n font-size: 1.75rem !important;\n }\n .md\\:text-4xl {\n font-size: 2rem !important;\n }\n .md\\:text-5xl {\n font-size: 2.5rem !important;\n }\n .md\\:text-6xl {\n font-size: 3rem !important;\n }\n .md\\:text-7xl {\n font-size: 4rem !important;\n }\n .md\\:text-8xl {\n font-size: 6rem !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:text-xs {\n font-size: 0.75rem !important;\n }\n .lg\\:text-sm {\n font-size: 0.875rem !important;\n }\n .lg\\:text-base {\n font-size: 1rem !important;\n }\n .lg\\:text-lg {\n font-size: 1.125rem !important;\n }\n .lg\\:text-xl {\n font-size: 1.25rem !important;\n }\n .lg\\:text-2xl {\n font-size: 1.5rem !important;\n }\n .lg\\:text-3xl {\n font-size: 1.75rem !important;\n }\n .lg\\:text-4xl {\n font-size: 2rem !important;\n }\n .lg\\:text-5xl {\n font-size: 2.5rem !important;\n }\n .lg\\:text-6xl {\n font-size: 3rem !important;\n }\n .lg\\:text-7xl {\n font-size: 4rem !important;\n }\n .lg\\:text-8xl {\n font-size: 6rem !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:text-xs {\n font-size: 0.75rem !important;\n }\n .xl\\:text-sm {\n font-size: 0.875rem !important;\n }\n .xl\\:text-base {\n font-size: 1rem !important;\n }\n .xl\\:text-lg {\n font-size: 1.125rem !important;\n }\n .xl\\:text-xl {\n font-size: 1.25rem !important;\n }\n .xl\\:text-2xl {\n font-size: 1.5rem !important;\n }\n .xl\\:text-3xl {\n font-size: 1.75rem !important;\n }\n .xl\\:text-4xl {\n font-size: 2rem !important;\n }\n .xl\\:text-5xl {\n font-size: 2.5rem !important;\n }\n .xl\\:text-6xl {\n font-size: 3rem !important;\n }\n .xl\\:text-7xl {\n font-size: 4rem !important;\n }\n .xl\\:text-8xl {\n font-size: 6rem !important;\n }\n}\n.line-height-1 {\n line-height: 1 !important;\n}\n\n.line-height-2 {\n line-height: 1.25 !important;\n}\n\n.line-height-3 {\n line-height: 1.5 !important;\n}\n\n.line-height-4 {\n line-height: 2 !important;\n}\n\n.white-space-normal {\n white-space: normal !important;\n}\n\n.white-space-nowrap {\n white-space: nowrap !important;\n}\n\n.vertical-align-baseline {\n vertical-align: baseline !important;\n}\n\n.vertical-align-top {\n vertical-align: top !important;\n}\n\n.vertical-align-middle {\n vertical-align: middle !important;\n}\n\n.vertical-align-bottom {\n vertical-align: bottom !important;\n}\n\n.vertical-align-text-top {\n vertical-align: text-top !important;\n}\n\n.vertical-align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.vertical-align-sub {\n vertical-align: sub !important;\n}\n\n.vertical-align-super {\n vertical-align: super !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:vertical-align-baseline {\n vertical-align: baseline !important;\n }\n .sm\\:vertical-align-top {\n vertical-align: top !important;\n }\n .sm\\:vertical-align-middle {\n vertical-align: middle !important;\n }\n .sm\\:vertical-align-bottom {\n vertical-align: bottom !important;\n }\n .sm\\:vertical-align-text-top {\n vertical-align: text-top !important;\n }\n .sm\\:vertical-align-text-bottom {\n vertical-align: text-bottom !important;\n }\n .sm\\:vertical-align-sub {\n vertical-align: sub !important;\n }\n .sm\\:vertical-align-super {\n vertical-align: super !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:vertical-align-baseline {\n vertical-align: baseline !important;\n }\n .md\\:vertical-align-top {\n vertical-align: top !important;\n }\n .md\\:vertical-align-middle {\n vertical-align: middle !important;\n }\n .md\\:vertical-align-bottom {\n vertical-align: bottom !important;\n }\n .md\\:vertical-align-text-top {\n vertical-align: text-top !important;\n }\n .md\\:vertical-align-text-bottom {\n vertical-align: text-bottom !important;\n }\n .md\\:vertical-align-sub {\n vertical-align: sub !important;\n }\n .md\\:vertical-align-super {\n vertical-align: super !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:vertical-align-baseline {\n vertical-align: baseline !important;\n }\n .lg\\:vertical-align-top {\n vertical-align: top !important;\n }\n .lg\\:vertical-align-middle {\n vertical-align: middle !important;\n }\n .lg\\:vertical-align-bottom {\n vertical-align: bottom !important;\n }\n .lg\\:vertical-align-text-top {\n vertical-align: text-top !important;\n }\n .lg\\:vertical-align-text-bottom {\n vertical-align: text-bottom !important;\n }\n .lg\\:vertical-align-sub {\n vertical-align: sub !important;\n }\n .lg\\:vertical-align-super {\n vertical-align: super !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:vertical-align-baseline {\n vertical-align: baseline !important;\n }\n .xl\\:vertical-align-top {\n vertical-align: top !important;\n }\n .xl\\:vertical-align-middle {\n vertical-align: middle !important;\n }\n .xl\\:vertical-align-bottom {\n vertical-align: bottom !important;\n }\n .xl\\:vertical-align-text-top {\n vertical-align: text-top !important;\n }\n .xl\\:vertical-align-text-bottom {\n vertical-align: text-bottom !important;\n }\n .xl\\:vertical-align-sub {\n vertical-align: sub !important;\n }\n .xl\\:vertical-align-super {\n vertical-align: super !important;\n }\n}\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:flex-row {\n flex-direction: row !important;\n }\n .sm\\:flex-row-reverse {\n flex-direction: row-reverse !important;\n }\n .sm\\:flex-column {\n flex-direction: column !important;\n }\n .sm\\:flex-column-reverse {\n flex-direction: column-reverse !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:flex-row {\n flex-direction: row !important;\n }\n .md\\:flex-row-reverse {\n flex-direction: row-reverse !important;\n }\n .md\\:flex-column {\n flex-direction: column !important;\n }\n .md\\:flex-column-reverse {\n flex-direction: column-reverse !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:flex-row {\n flex-direction: row !important;\n }\n .lg\\:flex-row-reverse {\n flex-direction: row-reverse !important;\n }\n .lg\\:flex-column {\n flex-direction: column !important;\n }\n .lg\\:flex-column-reverse {\n flex-direction: column-reverse !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:flex-row {\n flex-direction: row !important;\n }\n .xl\\:flex-row-reverse {\n flex-direction: row-reverse !important;\n }\n .xl\\:flex-column {\n flex-direction: column !important;\n }\n .xl\\:flex-column-reverse {\n flex-direction: column-reverse !important;\n }\n}\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:flex-wrap {\n flex-wrap: wrap !important;\n }\n .sm\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .sm\\:flex-nowrap {\n flex-wrap: nowrap !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:flex-wrap {\n flex-wrap: wrap !important;\n }\n .md\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .md\\:flex-nowrap {\n flex-wrap: nowrap !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:flex-wrap {\n flex-wrap: wrap !important;\n }\n .lg\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .lg\\:flex-nowrap {\n flex-wrap: nowrap !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:flex-wrap {\n flex-wrap: wrap !important;\n }\n .xl\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .xl\\:flex-nowrap {\n flex-wrap: nowrap !important;\n }\n}\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:justify-content-start {\n justify-content: flex-start !important;\n }\n .sm\\:justify-content-end {\n justify-content: flex-end !important;\n }\n .sm\\:justify-content-center {\n justify-content: center !important;\n }\n .sm\\:justify-content-between {\n justify-content: space-between !important;\n }\n .sm\\:justify-content-around {\n justify-content: space-around !important;\n }\n .sm\\:justify-content-evenly {\n justify-content: space-evenly !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:justify-content-start {\n justify-content: flex-start !important;\n }\n .md\\:justify-content-end {\n justify-content: flex-end !important;\n }\n .md\\:justify-content-center {\n justify-content: center !important;\n }\n .md\\:justify-content-between {\n justify-content: space-between !important;\n }\n .md\\:justify-content-around {\n justify-content: space-around !important;\n }\n .md\\:justify-content-evenly {\n justify-content: space-evenly !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:justify-content-start {\n justify-content: flex-start !important;\n }\n .lg\\:justify-content-end {\n justify-content: flex-end !important;\n }\n .lg\\:justify-content-center {\n justify-content: center !important;\n }\n .lg\\:justify-content-between {\n justify-content: space-between !important;\n }\n .lg\\:justify-content-around {\n justify-content: space-around !important;\n }\n .lg\\:justify-content-evenly {\n justify-content: space-evenly !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:justify-content-start {\n justify-content: flex-start !important;\n }\n .xl\\:justify-content-end {\n justify-content: flex-end !important;\n }\n .xl\\:justify-content-center {\n justify-content: center !important;\n }\n .xl\\:justify-content-between {\n justify-content: space-between !important;\n }\n .xl\\:justify-content-around {\n justify-content: space-around !important;\n }\n .xl\\:justify-content-evenly {\n justify-content: space-evenly !important;\n }\n}\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-evenly {\n align-content: space-evenly !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:align-content-start {\n align-content: flex-start !important;\n }\n .sm\\:align-content-end {\n align-content: flex-end !important;\n }\n .sm\\:align-content-center {\n align-content: center !important;\n }\n .sm\\:align-content-between {\n align-content: space-between !important;\n }\n .sm\\:align-content-around {\n align-content: space-around !important;\n }\n .sm\\:align-content-evenly {\n align-content: space-evenly !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:align-content-start {\n align-content: flex-start !important;\n }\n .md\\:align-content-end {\n align-content: flex-end !important;\n }\n .md\\:align-content-center {\n align-content: center !important;\n }\n .md\\:align-content-between {\n align-content: space-between !important;\n }\n .md\\:align-content-around {\n align-content: space-around !important;\n }\n .md\\:align-content-evenly {\n align-content: space-evenly !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:align-content-start {\n align-content: flex-start !important;\n }\n .lg\\:align-content-end {\n align-content: flex-end !important;\n }\n .lg\\:align-content-center {\n align-content: center !important;\n }\n .lg\\:align-content-between {\n align-content: space-between !important;\n }\n .lg\\:align-content-around {\n align-content: space-around !important;\n }\n .lg\\:align-content-evenly {\n align-content: space-evenly !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:align-content-start {\n align-content: flex-start !important;\n }\n .xl\\:align-content-end {\n align-content: flex-end !important;\n }\n .xl\\:align-content-center {\n align-content: center !important;\n }\n .xl\\:align-content-between {\n align-content: space-between !important;\n }\n .xl\\:align-content-around {\n align-content: space-around !important;\n }\n .xl\\:align-content-evenly {\n align-content: space-evenly !important;\n }\n}\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:align-items-stretch {\n align-items: stretch !important;\n }\n .sm\\:align-items-start {\n align-items: flex-start !important;\n }\n .sm\\:align-items-center {\n align-items: center !important;\n }\n .sm\\:align-items-end {\n align-items: flex-end !important;\n }\n .sm\\:align-items-baseline {\n align-items: baseline !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:align-items-stretch {\n align-items: stretch !important;\n }\n .md\\:align-items-start {\n align-items: flex-start !important;\n }\n .md\\:align-items-center {\n align-items: center !important;\n }\n .md\\:align-items-end {\n align-items: flex-end !important;\n }\n .md\\:align-items-baseline {\n align-items: baseline !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:align-items-stretch {\n align-items: stretch !important;\n }\n .lg\\:align-items-start {\n align-items: flex-start !important;\n }\n .lg\\:align-items-center {\n align-items: center !important;\n }\n .lg\\:align-items-end {\n align-items: flex-end !important;\n }\n .lg\\:align-items-baseline {\n align-items: baseline !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:align-items-stretch {\n align-items: stretch !important;\n }\n .xl\\:align-items-start {\n align-items: flex-start !important;\n }\n .xl\\:align-items-center {\n align-items: center !important;\n }\n .xl\\:align-items-end {\n align-items: flex-end !important;\n }\n .xl\\:align-items-baseline {\n align-items: baseline !important;\n }\n}\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:align-self-auto {\n align-self: auto !important;\n }\n .sm\\:align-self-start {\n align-self: flex-start !important;\n }\n .sm\\:align-self-end {\n align-self: flex-end !important;\n }\n .sm\\:align-self-center {\n align-self: center !important;\n }\n .sm\\:align-self-stretch {\n align-self: stretch !important;\n }\n .sm\\:align-self-baseline {\n align-self: baseline !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:align-self-auto {\n align-self: auto !important;\n }\n .md\\:align-self-start {\n align-self: flex-start !important;\n }\n .md\\:align-self-end {\n align-self: flex-end !important;\n }\n .md\\:align-self-center {\n align-self: center !important;\n }\n .md\\:align-self-stretch {\n align-self: stretch !important;\n }\n .md\\:align-self-baseline {\n align-self: baseline !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:align-self-auto {\n align-self: auto !important;\n }\n .lg\\:align-self-start {\n align-self: flex-start !important;\n }\n .lg\\:align-self-end {\n align-self: flex-end !important;\n }\n .lg\\:align-self-center {\n align-self: center !important;\n }\n .lg\\:align-self-stretch {\n align-self: stretch !important;\n }\n .lg\\:align-self-baseline {\n align-self: baseline !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:align-self-auto {\n align-self: auto !important;\n }\n .xl\\:align-self-start {\n align-self: flex-start !important;\n }\n .xl\\:align-self-end {\n align-self: flex-end !important;\n }\n .xl\\:align-self-center {\n align-self: center !important;\n }\n .xl\\:align-self-stretch {\n align-self: stretch !important;\n }\n .xl\\:align-self-baseline {\n align-self: baseline !important;\n }\n}\n.flex-order-0 {\n order: 0 !important;\n}\n\n.flex-order-1 {\n order: 1 !important;\n}\n\n.flex-order-2 {\n order: 2 !important;\n}\n\n.flex-order-3 {\n order: 3 !important;\n}\n\n.flex-order-4 {\n order: 4 !important;\n}\n\n.flex-order-5 {\n order: 5 !important;\n}\n\n.flex-order-6 {\n order: 6 !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:flex-order-0 {\n order: 0 !important;\n }\n .sm\\:flex-order-1 {\n order: 1 !important;\n }\n .sm\\:flex-order-2 {\n order: 2 !important;\n }\n .sm\\:flex-order-3 {\n order: 3 !important;\n }\n .sm\\:flex-order-4 {\n order: 4 !important;\n }\n .sm\\:flex-order-5 {\n order: 5 !important;\n }\n .sm\\:flex-order-6 {\n order: 6 !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:flex-order-0 {\n order: 0 !important;\n }\n .md\\:flex-order-1 {\n order: 1 !important;\n }\n .md\\:flex-order-2 {\n order: 2 !important;\n }\n .md\\:flex-order-3 {\n order: 3 !important;\n }\n .md\\:flex-order-4 {\n order: 4 !important;\n }\n .md\\:flex-order-5 {\n order: 5 !important;\n }\n .md\\:flex-order-6 {\n order: 6 !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:flex-order-0 {\n order: 0 !important;\n }\n .lg\\:flex-order-1 {\n order: 1 !important;\n }\n .lg\\:flex-order-2 {\n order: 2 !important;\n }\n .lg\\:flex-order-3 {\n order: 3 !important;\n }\n .lg\\:flex-order-4 {\n order: 4 !important;\n }\n .lg\\:flex-order-5 {\n order: 5 !important;\n }\n .lg\\:flex-order-6 {\n order: 6 !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:flex-order-0 {\n order: 0 !important;\n }\n .xl\\:flex-order-1 {\n order: 1 !important;\n }\n .xl\\:flex-order-2 {\n order: 2 !important;\n }\n .xl\\:flex-order-3 {\n order: 3 !important;\n }\n .xl\\:flex-order-4 {\n order: 4 !important;\n }\n .xl\\:flex-order-5 {\n order: 5 !important;\n }\n .xl\\:flex-order-6 {\n order: 6 !important;\n }\n}\n.flex-1 {\n flex: 1 1 0% !important;\n}\n\n.flex-auto {\n flex: 1 1 auto !important;\n}\n\n.flex-initial {\n flex: 0 1 auto !important;\n}\n\n.flex-none {\n flex: none !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:flex-1 {\n flex: 1 1 0% !important;\n }\n .sm\\:flex-auto {\n flex: 1 1 auto !important;\n }\n .sm\\:flex-initial {\n flex: 0 1 auto !important;\n }\n .sm\\:flex-none {\n flex: none !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:flex-1 {\n flex: 1 1 0% !important;\n }\n .md\\:flex-auto {\n flex: 1 1 auto !important;\n }\n .md\\:flex-initial {\n flex: 0 1 auto !important;\n }\n .md\\:flex-none {\n flex: none !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:flex-1 {\n flex: 1 1 0% !important;\n }\n .lg\\:flex-auto {\n flex: 1 1 auto !important;\n }\n .lg\\:flex-initial {\n flex: 0 1 auto !important;\n }\n .lg\\:flex-none {\n flex: none !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:flex-1 {\n flex: 1 1 0% !important;\n }\n .xl\\:flex-auto {\n flex: 1 1 auto !important;\n }\n .xl\\:flex-initial {\n flex: 0 1 auto !important;\n }\n .xl\\:flex-none {\n flex: none !important;\n }\n}\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:flex-grow-0 {\n flex-grow: 0 !important;\n }\n .sm\\:flex-grow-1 {\n flex-grow: 1 !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:flex-grow-0 {\n flex-grow: 0 !important;\n }\n .md\\:flex-grow-1 {\n flex-grow: 1 !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:flex-grow-0 {\n flex-grow: 0 !important;\n }\n .lg\\:flex-grow-1 {\n flex-grow: 1 !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:flex-grow-0 {\n flex-grow: 0 !important;\n }\n .xl\\:flex-grow-1 {\n flex-grow: 1 !important;\n }\n}\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:flex-shrink-0 {\n flex-shrink: 0 !important;\n }\n .sm\\:flex-shrink-1 {\n flex-shrink: 1 !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:flex-shrink-0 {\n flex-shrink: 0 !important;\n }\n .md\\:flex-shrink-1 {\n flex-shrink: 1 !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:flex-shrink-0 {\n flex-shrink: 0 !important;\n }\n .lg\\:flex-shrink-1 {\n flex-shrink: 1 !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:flex-shrink-0 {\n flex-shrink: 0 !important;\n }\n .xl\\:flex-shrink-1 {\n flex-shrink: 1 !important;\n }\n}\n.gap-0 {\n gap: 0rem !important;\n}\n\n.gap-1 {\n gap: 0.25rem !important;\n}\n\n.gap-2 {\n gap: 0.5rem !important;\n}\n\n.gap-3 {\n gap: 1rem !important;\n}\n\n.gap-4 {\n gap: 1.5rem !important;\n}\n\n.gap-5 {\n gap: 2rem !important;\n}\n\n.gap-6 {\n gap: 3rem !important;\n}\n\n.gap-7 {\n gap: 4rem !important;\n}\n\n.gap-8 {\n gap: 5rem !important;\n}\n\n.row-gap-0 {\n row-gap: 0rem !important;\n}\n\n.row-gap-1 {\n row-gap: 0.25rem !important;\n}\n\n.row-gap-2 {\n row-gap: 0.5rem !important;\n}\n\n.row-gap-3 {\n row-gap: 1rem !important;\n}\n\n.row-gap-4 {\n row-gap: 1.5rem !important;\n}\n\n.row-gap-5 {\n row-gap: 2rem !important;\n}\n\n.row-gap-6 {\n row-gap: 3rem !important;\n}\n\n.row-gap-7 {\n row-gap: 4rem !important;\n}\n\n.row-gap-8 {\n row-gap: 5rem !important;\n}\n\n.column-gap-0 {\n -moz-column-gap: 0rem !important;\n column-gap: 0rem !important;\n}\n\n.column-gap-1 {\n -moz-column-gap: 0.25rem !important;\n column-gap: 0.25rem !important;\n}\n\n.column-gap-2 {\n -moz-column-gap: 0.5rem !important;\n column-gap: 0.5rem !important;\n}\n\n.column-gap-3 {\n -moz-column-gap: 1rem !important;\n column-gap: 1rem !important;\n}\n\n.column-gap-4 {\n -moz-column-gap: 1.5rem !important;\n column-gap: 1.5rem !important;\n}\n\n.column-gap-5 {\n -moz-column-gap: 2rem !important;\n column-gap: 2rem !important;\n}\n\n.column-gap-6 {\n -moz-column-gap: 3rem !important;\n column-gap: 3rem !important;\n}\n\n.column-gap-7 {\n -moz-column-gap: 4rem !important;\n column-gap: 4rem !important;\n}\n\n.column-gap-8 {\n -moz-column-gap: 5rem !important;\n column-gap: 5rem !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:gap-0 {\n gap: 0rem !important;\n }\n\n .sm\\:gap-1 {\n gap: 0.25rem !important;\n }\n\n .sm\\:gap-2 {\n gap: 0.5rem !important;\n }\n\n .sm\\:gap-3 {\n gap: 1rem !important;\n }\n\n .sm\\:gap-4 {\n gap: 1.5rem !important;\n }\n\n .sm\\:gap-5 {\n gap: 2rem !important;\n }\n\n .sm\\:gap-6 {\n gap: 3rem !important;\n }\n\n .sm\\:gap-7 {\n gap: 4rem !important;\n }\n\n .sm\\:gap-8 {\n gap: 5rem !important;\n }\n\n .sm\\:row-gap-0 {\n row-gap: 0rem !important;\n }\n\n .sm\\:row-gap-1 {\n row-gap: 0.25rem !important;\n }\n\n .sm\\:row-gap-2 {\n row-gap: 0.5rem !important;\n }\n\n .sm\\:row-gap-3 {\n row-gap: 1rem !important;\n }\n\n .sm\\:row-gap-4 {\n row-gap: 1.5rem !important;\n }\n\n .sm\\:row-gap-5 {\n row-gap: 2rem !important;\n }\n\n .sm\\:row-gap-6 {\n row-gap: 3rem !important;\n }\n\n .sm\\:row-gap-7 {\n row-gap: 4rem !important;\n }\n\n .sm\\:row-gap-8 {\n row-gap: 5rem !important;\n }\n\n .sm\\:column-gap-0 {\n -moz-column-gap: 0rem !important;\n column-gap: 0rem !important;\n }\n\n .sm\\:column-gap-1 {\n -moz-column-gap: 0.25rem !important;\n column-gap: 0.25rem !important;\n }\n\n .sm\\:column-gap-2 {\n -moz-column-gap: 0.5rem !important;\n column-gap: 0.5rem !important;\n }\n\n .sm\\:column-gap-3 {\n -moz-column-gap: 1rem !important;\n column-gap: 1rem !important;\n }\n\n .sm\\:column-gap-4 {\n -moz-column-gap: 1.5rem !important;\n column-gap: 1.5rem !important;\n }\n\n .sm\\:column-gap-5 {\n -moz-column-gap: 2rem !important;\n column-gap: 2rem !important;\n }\n\n .sm\\:column-gap-6 {\n -moz-column-gap: 3rem !important;\n column-gap: 3rem !important;\n }\n\n .sm\\:column-gap-7 {\n -moz-column-gap: 4rem !important;\n column-gap: 4rem !important;\n }\n\n .sm\\:column-gap-8 {\n -moz-column-gap: 5rem !important;\n column-gap: 5rem !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:gap-0 {\n gap: 0rem !important;\n }\n\n .md\\:gap-1 {\n gap: 0.25rem !important;\n }\n\n .md\\:gap-2 {\n gap: 0.5rem !important;\n }\n\n .md\\:gap-3 {\n gap: 1rem !important;\n }\n\n .md\\:gap-4 {\n gap: 1.5rem !important;\n }\n\n .md\\:gap-5 {\n gap: 2rem !important;\n }\n\n .md\\:gap-6 {\n gap: 3rem !important;\n }\n\n .md\\:gap-7 {\n gap: 4rem !important;\n }\n\n .md\\:gap-8 {\n gap: 5rem !important;\n }\n\n .md\\:row-gap-0 {\n row-gap: 0rem !important;\n }\n\n .md\\:row-gap-1 {\n row-gap: 0.25rem !important;\n }\n\n .md\\:row-gap-2 {\n row-gap: 0.5rem !important;\n }\n\n .md\\:row-gap-3 {\n row-gap: 1rem !important;\n }\n\n .md\\:row-gap-4 {\n row-gap: 1.5rem !important;\n }\n\n .md\\:row-gap-5 {\n row-gap: 2rem !important;\n }\n\n .md\\:row-gap-6 {\n row-gap: 3rem !important;\n }\n\n .md\\:row-gap-7 {\n row-gap: 4rem !important;\n }\n\n .md\\:row-gap-8 {\n row-gap: 5rem !important;\n }\n\n .md\\:column-gap-0 {\n -moz-column-gap: 0rem !important;\n column-gap: 0rem !important;\n }\n\n .md\\:column-gap-1 {\n -moz-column-gap: 0.25rem !important;\n column-gap: 0.25rem !important;\n }\n\n .md\\:column-gap-2 {\n -moz-column-gap: 0.5rem !important;\n column-gap: 0.5rem !important;\n }\n\n .md\\:column-gap-3 {\n -moz-column-gap: 1rem !important;\n column-gap: 1rem !important;\n }\n\n .md\\:column-gap-4 {\n -moz-column-gap: 1.5rem !important;\n column-gap: 1.5rem !important;\n }\n\n .md\\:column-gap-5 {\n -moz-column-gap: 2rem !important;\n column-gap: 2rem !important;\n }\n\n .md\\:column-gap-6 {\n -moz-column-gap: 3rem !important;\n column-gap: 3rem !important;\n }\n\n .md\\:column-gap-7 {\n -moz-column-gap: 4rem !important;\n column-gap: 4rem !important;\n }\n\n .md\\:column-gap-8 {\n -moz-column-gap: 5rem !important;\n column-gap: 5rem !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:gap-0 {\n gap: 0rem !important;\n }\n\n .lg\\:gap-1 {\n gap: 0.25rem !important;\n }\n\n .lg\\:gap-2 {\n gap: 0.5rem !important;\n }\n\n .lg\\:gap-3 {\n gap: 1rem !important;\n }\n\n .lg\\:gap-4 {\n gap: 1.5rem !important;\n }\n\n .lg\\:gap-5 {\n gap: 2rem !important;\n }\n\n .lg\\:gap-6 {\n gap: 3rem !important;\n }\n\n .lg\\:gap-7 {\n gap: 4rem !important;\n }\n\n .lg\\:gap-8 {\n gap: 5rem !important;\n }\n\n .lg\\:row-gap-0 {\n row-gap: 0rem !important;\n }\n\n .lg\\:row-gap-1 {\n row-gap: 0.25rem !important;\n }\n\n .lg\\:row-gap-2 {\n row-gap: 0.5rem !important;\n }\n\n .lg\\:row-gap-3 {\n row-gap: 1rem !important;\n }\n\n .lg\\:row-gap-4 {\n row-gap: 1.5rem !important;\n }\n\n .lg\\:row-gap-5 {\n row-gap: 2rem !important;\n }\n\n .lg\\:row-gap-6 {\n row-gap: 3rem !important;\n }\n\n .lg\\:row-gap-7 {\n row-gap: 4rem !important;\n }\n\n .lg\\:row-gap-8 {\n row-gap: 5rem !important;\n }\n\n .lg\\:column-gap-0 {\n -moz-column-gap: 0rem !important;\n column-gap: 0rem !important;\n }\n\n .lg\\:column-gap-1 {\n -moz-column-gap: 0.25rem !important;\n column-gap: 0.25rem !important;\n }\n\n .lg\\:column-gap-2 {\n -moz-column-gap: 0.5rem !important;\n column-gap: 0.5rem !important;\n }\n\n .lg\\:column-gap-3 {\n -moz-column-gap: 1rem !important;\n column-gap: 1rem !important;\n }\n\n .lg\\:column-gap-4 {\n -moz-column-gap: 1.5rem !important;\n column-gap: 1.5rem !important;\n }\n\n .lg\\:column-gap-5 {\n -moz-column-gap: 2rem !important;\n column-gap: 2rem !important;\n }\n\n .lg\\:column-gap-6 {\n -moz-column-gap: 3rem !important;\n column-gap: 3rem !important;\n }\n\n .lg\\:column-gap-7 {\n -moz-column-gap: 4rem !important;\n column-gap: 4rem !important;\n }\n\n .lg\\:column-gap-8 {\n -moz-column-gap: 5rem !important;\n column-gap: 5rem !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:gap-0 {\n gap: 0rem !important;\n }\n\n .xl\\:gap-1 {\n gap: 0.25rem !important;\n }\n\n .xl\\:gap-2 {\n gap: 0.5rem !important;\n }\n\n .xl\\:gap-3 {\n gap: 1rem !important;\n }\n\n .xl\\:gap-4 {\n gap: 1.5rem !important;\n }\n\n .xl\\:gap-5 {\n gap: 2rem !important;\n }\n\n .xl\\:gap-6 {\n gap: 3rem !important;\n }\n\n .xl\\:gap-7 {\n gap: 4rem !important;\n }\n\n .xl\\:gap-8 {\n gap: 5rem !important;\n }\n\n .xl\\:row-gap-0 {\n row-gap: 0rem !important;\n }\n\n .xl\\:row-gap-1 {\n row-gap: 0.25rem !important;\n }\n\n .xl\\:row-gap-2 {\n row-gap: 0.5rem !important;\n }\n\n .xl\\:row-gap-3 {\n row-gap: 1rem !important;\n }\n\n .xl\\:row-gap-4 {\n row-gap: 1.5rem !important;\n }\n\n .xl\\:row-gap-5 {\n row-gap: 2rem !important;\n }\n\n .xl\\:row-gap-6 {\n row-gap: 3rem !important;\n }\n\n .xl\\:row-gap-7 {\n row-gap: 4rem !important;\n }\n\n .xl\\:row-gap-8 {\n row-gap: 5rem !important;\n }\n\n .xl\\:column-gap-0 {\n -moz-column-gap: 0rem !important;\n column-gap: 0rem !important;\n }\n\n .xl\\:column-gap-1 {\n -moz-column-gap: 0.25rem !important;\n column-gap: 0.25rem !important;\n }\n\n .xl\\:column-gap-2 {\n -moz-column-gap: 0.5rem !important;\n column-gap: 0.5rem !important;\n }\n\n .xl\\:column-gap-3 {\n -moz-column-gap: 1rem !important;\n column-gap: 1rem !important;\n }\n\n .xl\\:column-gap-4 {\n -moz-column-gap: 1.5rem !important;\n column-gap: 1.5rem !important;\n }\n\n .xl\\:column-gap-5 {\n -moz-column-gap: 2rem !important;\n column-gap: 2rem !important;\n }\n\n .xl\\:column-gap-6 {\n -moz-column-gap: 3rem !important;\n column-gap: 3rem !important;\n }\n\n .xl\\:column-gap-7 {\n -moz-column-gap: 4rem !important;\n column-gap: 4rem !important;\n }\n\n .xl\\:column-gap-8 {\n -moz-column-gap: 5rem !important;\n column-gap: 5rem !important;\n }\n}\n.p-0 {\n padding: 0rem !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 2rem !important;\n}\n\n.p-6 {\n padding: 3rem !important;\n}\n\n.p-7 {\n padding: 4rem !important;\n}\n\n.p-8 {\n padding: 5rem !important;\n}\n\n.pt-0 {\n padding-top: 0rem !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 2rem !important;\n}\n\n.pt-6 {\n padding-top: 3rem !important;\n}\n\n.pt-7 {\n padding-top: 4rem !important;\n}\n\n.pt-8 {\n padding-top: 5rem !important;\n}\n\n.pr-0 {\n padding-right: 0rem !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 2rem !important;\n}\n\n.pr-6 {\n padding-right: 3rem !important;\n}\n\n.pr-7 {\n padding-right: 4rem !important;\n}\n\n.pr-8 {\n padding-right: 5rem !important;\n}\n\n.pl-0 {\n padding-left: 0rem !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 2rem !important;\n}\n\n.pl-6 {\n padding-left: 3rem !important;\n}\n\n.pl-7 {\n padding-left: 4rem !important;\n}\n\n.pl-8 {\n padding-left: 5rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0rem !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 2rem !important;\n}\n\n.pb-6 {\n padding-bottom: 3rem !important;\n}\n\n.pb-7 {\n padding-bottom: 4rem !important;\n}\n\n.pb-8 {\n padding-bottom: 5rem !important;\n}\n\n.px-0 {\n padding-left: 0rem !important;\n padding-right: 0rem !important;\n}\n\n.px-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n}\n\n.px-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n}\n\n.px-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n}\n\n.px-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n}\n\n.px-5 {\n padding-left: 2rem !important;\n padding-right: 2rem !important;\n}\n\n.px-6 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n}\n\n.px-7 {\n padding-left: 4rem !important;\n padding-right: 4rem !important;\n}\n\n.px-8 {\n padding-left: 5rem !important;\n padding-right: 5rem !important;\n}\n\n.py-0 {\n padding-top: 0rem !important;\n padding-bottom: 0rem !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 2rem !important;\n padding-bottom: 2rem !important;\n}\n\n.py-6 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.py-7 {\n padding-top: 4rem !important;\n padding-bottom: 4rem !important;\n}\n\n.py-8 {\n padding-top: 5rem !important;\n padding-bottom: 5rem !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:p-0 {\n padding: 0rem !important;\n }\n\n .sm\\:p-1 {\n padding: 0.25rem !important;\n }\n\n .sm\\:p-2 {\n padding: 0.5rem !important;\n }\n\n .sm\\:p-3 {\n padding: 1rem !important;\n }\n\n .sm\\:p-4 {\n padding: 1.5rem !important;\n }\n\n .sm\\:p-5 {\n padding: 2rem !important;\n }\n\n .sm\\:p-6 {\n padding: 3rem !important;\n }\n\n .sm\\:p-7 {\n padding: 4rem !important;\n }\n\n .sm\\:p-8 {\n padding: 5rem !important;\n }\n\n .sm\\:pt-0 {\n padding-top: 0rem !important;\n }\n\n .sm\\:pt-1 {\n padding-top: 0.25rem !important;\n }\n\n .sm\\:pt-2 {\n padding-top: 0.5rem !important;\n }\n\n .sm\\:pt-3 {\n padding-top: 1rem !important;\n }\n\n .sm\\:pt-4 {\n padding-top: 1.5rem !important;\n }\n\n .sm\\:pt-5 {\n padding-top: 2rem !important;\n }\n\n .sm\\:pt-6 {\n padding-top: 3rem !important;\n }\n\n .sm\\:pt-7 {\n padding-top: 4rem !important;\n }\n\n .sm\\:pt-8 {\n padding-top: 5rem !important;\n }\n\n .sm\\:pr-0 {\n padding-right: 0rem !important;\n }\n\n .sm\\:pr-1 {\n padding-right: 0.25rem !important;\n }\n\n .sm\\:pr-2 {\n padding-right: 0.5rem !important;\n }\n\n .sm\\:pr-3 {\n padding-right: 1rem !important;\n }\n\n .sm\\:pr-4 {\n padding-right: 1.5rem !important;\n }\n\n .sm\\:pr-5 {\n padding-right: 2rem !important;\n }\n\n .sm\\:pr-6 {\n padding-right: 3rem !important;\n }\n\n .sm\\:pr-7 {\n padding-right: 4rem !important;\n }\n\n .sm\\:pr-8 {\n padding-right: 5rem !important;\n }\n\n .sm\\:pl-0 {\n padding-left: 0rem !important;\n }\n\n .sm\\:pl-1 {\n padding-left: 0.25rem !important;\n }\n\n .sm\\:pl-2 {\n padding-left: 0.5rem !important;\n }\n\n .sm\\:pl-3 {\n padding-left: 1rem !important;\n }\n\n .sm\\:pl-4 {\n padding-left: 1.5rem !important;\n }\n\n .sm\\:pl-5 {\n padding-left: 2rem !important;\n }\n\n .sm\\:pl-6 {\n padding-left: 3rem !important;\n }\n\n .sm\\:pl-7 {\n padding-left: 4rem !important;\n }\n\n .sm\\:pl-8 {\n padding-left: 5rem !important;\n }\n\n .sm\\:pb-0 {\n padding-bottom: 0rem !important;\n }\n\n .sm\\:pb-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .sm\\:pb-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .sm\\:pb-3 {\n padding-bottom: 1rem !important;\n }\n\n .sm\\:pb-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .sm\\:pb-5 {\n padding-bottom: 2rem !important;\n }\n\n .sm\\:pb-6 {\n padding-bottom: 3rem !important;\n }\n\n .sm\\:pb-7 {\n padding-bottom: 4rem !important;\n }\n\n .sm\\:pb-8 {\n padding-bottom: 5rem !important;\n }\n\n .sm\\:px-0 {\n padding-left: 0rem !important;\n padding-right: 0rem !important;\n }\n\n .sm\\:px-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n\n .sm\\:px-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n\n .sm\\:px-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n\n .sm\\:px-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n\n .sm\\:px-5 {\n padding-left: 2rem !important;\n padding-right: 2rem !important;\n }\n\n .sm\\:px-6 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n\n .sm\\:px-7 {\n padding-left: 4rem !important;\n padding-right: 4rem !important;\n }\n\n .sm\\:px-8 {\n padding-left: 5rem !important;\n padding-right: 5rem !important;\n }\n\n .sm\\:py-0 {\n padding-top: 0rem !important;\n padding-bottom: 0rem !important;\n }\n\n .sm\\:py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .sm\\:py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .sm\\:py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .sm\\:py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .sm\\:py-5 {\n padding-top: 2rem !important;\n padding-bottom: 2rem !important;\n }\n\n .sm\\:py-6 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .sm\\:py-7 {\n padding-top: 4rem !important;\n padding-bottom: 4rem !important;\n }\n\n .sm\\:py-8 {\n padding-top: 5rem !important;\n padding-bottom: 5rem !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:p-0 {\n padding: 0rem !important;\n }\n\n .md\\:p-1 {\n padding: 0.25rem !important;\n }\n\n .md\\:p-2 {\n padding: 0.5rem !important;\n }\n\n .md\\:p-3 {\n padding: 1rem !important;\n }\n\n .md\\:p-4 {\n padding: 1.5rem !important;\n }\n\n .md\\:p-5 {\n padding: 2rem !important;\n }\n\n .md\\:p-6 {\n padding: 3rem !important;\n }\n\n .md\\:p-7 {\n padding: 4rem !important;\n }\n\n .md\\:p-8 {\n padding: 5rem !important;\n }\n\n .md\\:pt-0 {\n padding-top: 0rem !important;\n }\n\n .md\\:pt-1 {\n padding-top: 0.25rem !important;\n }\n\n .md\\:pt-2 {\n padding-top: 0.5rem !important;\n }\n\n .md\\:pt-3 {\n padding-top: 1rem !important;\n }\n\n .md\\:pt-4 {\n padding-top: 1.5rem !important;\n }\n\n .md\\:pt-5 {\n padding-top: 2rem !important;\n }\n\n .md\\:pt-6 {\n padding-top: 3rem !important;\n }\n\n .md\\:pt-7 {\n padding-top: 4rem !important;\n }\n\n .md\\:pt-8 {\n padding-top: 5rem !important;\n }\n\n .md\\:pr-0 {\n padding-right: 0rem !important;\n }\n\n .md\\:pr-1 {\n padding-right: 0.25rem !important;\n }\n\n .md\\:pr-2 {\n padding-right: 0.5rem !important;\n }\n\n .md\\:pr-3 {\n padding-right: 1rem !important;\n }\n\n .md\\:pr-4 {\n padding-right: 1.5rem !important;\n }\n\n .md\\:pr-5 {\n padding-right: 2rem !important;\n }\n\n .md\\:pr-6 {\n padding-right: 3rem !important;\n }\n\n .md\\:pr-7 {\n padding-right: 4rem !important;\n }\n\n .md\\:pr-8 {\n padding-right: 5rem !important;\n }\n\n .md\\:pl-0 {\n padding-left: 0rem !important;\n }\n\n .md\\:pl-1 {\n padding-left: 0.25rem !important;\n }\n\n .md\\:pl-2 {\n padding-left: 0.5rem !important;\n }\n\n .md\\:pl-3 {\n padding-left: 1rem !important;\n }\n\n .md\\:pl-4 {\n padding-left: 1.5rem !important;\n }\n\n .md\\:pl-5 {\n padding-left: 2rem !important;\n }\n\n .md\\:pl-6 {\n padding-left: 3rem !important;\n }\n\n .md\\:pl-7 {\n padding-left: 4rem !important;\n }\n\n .md\\:pl-8 {\n padding-left: 5rem !important;\n }\n\n .md\\:pb-0 {\n padding-bottom: 0rem !important;\n }\n\n .md\\:pb-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .md\\:pb-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .md\\:pb-3 {\n padding-bottom: 1rem !important;\n }\n\n .md\\:pb-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .md\\:pb-5 {\n padding-bottom: 2rem !important;\n }\n\n .md\\:pb-6 {\n padding-bottom: 3rem !important;\n }\n\n .md\\:pb-7 {\n padding-bottom: 4rem !important;\n }\n\n .md\\:pb-8 {\n padding-bottom: 5rem !important;\n }\n\n .md\\:px-0 {\n padding-left: 0rem !important;\n padding-right: 0rem !important;\n }\n\n .md\\:px-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n\n .md\\:px-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n\n .md\\:px-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n\n .md\\:px-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n\n .md\\:px-5 {\n padding-left: 2rem !important;\n padding-right: 2rem !important;\n }\n\n .md\\:px-6 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n\n .md\\:px-7 {\n padding-left: 4rem !important;\n padding-right: 4rem !important;\n }\n\n .md\\:px-8 {\n padding-left: 5rem !important;\n padding-right: 5rem !important;\n }\n\n .md\\:py-0 {\n padding-top: 0rem !important;\n padding-bottom: 0rem !important;\n }\n\n .md\\:py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .md\\:py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .md\\:py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .md\\:py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .md\\:py-5 {\n padding-top: 2rem !important;\n padding-bottom: 2rem !important;\n }\n\n .md\\:py-6 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .md\\:py-7 {\n padding-top: 4rem !important;\n padding-bottom: 4rem !important;\n }\n\n .md\\:py-8 {\n padding-top: 5rem !important;\n padding-bottom: 5rem !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:p-0 {\n padding: 0rem !important;\n }\n\n .lg\\:p-1 {\n padding: 0.25rem !important;\n }\n\n .lg\\:p-2 {\n padding: 0.5rem !important;\n }\n\n .lg\\:p-3 {\n padding: 1rem !important;\n }\n\n .lg\\:p-4 {\n padding: 1.5rem !important;\n }\n\n .lg\\:p-5 {\n padding: 2rem !important;\n }\n\n .lg\\:p-6 {\n padding: 3rem !important;\n }\n\n .lg\\:p-7 {\n padding: 4rem !important;\n }\n\n .lg\\:p-8 {\n padding: 5rem !important;\n }\n\n .lg\\:pt-0 {\n padding-top: 0rem !important;\n }\n\n .lg\\:pt-1 {\n padding-top: 0.25rem !important;\n }\n\n .lg\\:pt-2 {\n padding-top: 0.5rem !important;\n }\n\n .lg\\:pt-3 {\n padding-top: 1rem !important;\n }\n\n .lg\\:pt-4 {\n padding-top: 1.5rem !important;\n }\n\n .lg\\:pt-5 {\n padding-top: 2rem !important;\n }\n\n .lg\\:pt-6 {\n padding-top: 3rem !important;\n }\n\n .lg\\:pt-7 {\n padding-top: 4rem !important;\n }\n\n .lg\\:pt-8 {\n padding-top: 5rem !important;\n }\n\n .lg\\:pr-0 {\n padding-right: 0rem !important;\n }\n\n .lg\\:pr-1 {\n padding-right: 0.25rem !important;\n }\n\n .lg\\:pr-2 {\n padding-right: 0.5rem !important;\n }\n\n .lg\\:pr-3 {\n padding-right: 1rem !important;\n }\n\n .lg\\:pr-4 {\n padding-right: 1.5rem !important;\n }\n\n .lg\\:pr-5 {\n padding-right: 2rem !important;\n }\n\n .lg\\:pr-6 {\n padding-right: 3rem !important;\n }\n\n .lg\\:pr-7 {\n padding-right: 4rem !important;\n }\n\n .lg\\:pr-8 {\n padding-right: 5rem !important;\n }\n\n .lg\\:pl-0 {\n padding-left: 0rem !important;\n }\n\n .lg\\:pl-1 {\n padding-left: 0.25rem !important;\n }\n\n .lg\\:pl-2 {\n padding-left: 0.5rem !important;\n }\n\n .lg\\:pl-3 {\n padding-left: 1rem !important;\n }\n\n .lg\\:pl-4 {\n padding-left: 1.5rem !important;\n }\n\n .lg\\:pl-5 {\n padding-left: 2rem !important;\n }\n\n .lg\\:pl-6 {\n padding-left: 3rem !important;\n }\n\n .lg\\:pl-7 {\n padding-left: 4rem !important;\n }\n\n .lg\\:pl-8 {\n padding-left: 5rem !important;\n }\n\n .lg\\:pb-0 {\n padding-bottom: 0rem !important;\n }\n\n .lg\\:pb-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .lg\\:pb-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .lg\\:pb-3 {\n padding-bottom: 1rem !important;\n }\n\n .lg\\:pb-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .lg\\:pb-5 {\n padding-bottom: 2rem !important;\n }\n\n .lg\\:pb-6 {\n padding-bottom: 3rem !important;\n }\n\n .lg\\:pb-7 {\n padding-bottom: 4rem !important;\n }\n\n .lg\\:pb-8 {\n padding-bottom: 5rem !important;\n }\n\n .lg\\:px-0 {\n padding-left: 0rem !important;\n padding-right: 0rem !important;\n }\n\n .lg\\:px-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n\n .lg\\:px-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n\n .lg\\:px-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n\n .lg\\:px-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n\n .lg\\:px-5 {\n padding-left: 2rem !important;\n padding-right: 2rem !important;\n }\n\n .lg\\:px-6 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n\n .lg\\:px-7 {\n padding-left: 4rem !important;\n padding-right: 4rem !important;\n }\n\n .lg\\:px-8 {\n padding-left: 5rem !important;\n padding-right: 5rem !important;\n }\n\n .lg\\:py-0 {\n padding-top: 0rem !important;\n padding-bottom: 0rem !important;\n }\n\n .lg\\:py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .lg\\:py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .lg\\:py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .lg\\:py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .lg\\:py-5 {\n padding-top: 2rem !important;\n padding-bottom: 2rem !important;\n }\n\n .lg\\:py-6 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .lg\\:py-7 {\n padding-top: 4rem !important;\n padding-bottom: 4rem !important;\n }\n\n .lg\\:py-8 {\n padding-top: 5rem !important;\n padding-bottom: 5rem !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:p-0 {\n padding: 0rem !important;\n }\n\n .xl\\:p-1 {\n padding: 0.25rem !important;\n }\n\n .xl\\:p-2 {\n padding: 0.5rem !important;\n }\n\n .xl\\:p-3 {\n padding: 1rem !important;\n }\n\n .xl\\:p-4 {\n padding: 1.5rem !important;\n }\n\n .xl\\:p-5 {\n padding: 2rem !important;\n }\n\n .xl\\:p-6 {\n padding: 3rem !important;\n }\n\n .xl\\:p-7 {\n padding: 4rem !important;\n }\n\n .xl\\:p-8 {\n padding: 5rem !important;\n }\n\n .xl\\:pt-0 {\n padding-top: 0rem !important;\n }\n\n .xl\\:pt-1 {\n padding-top: 0.25rem !important;\n }\n\n .xl\\:pt-2 {\n padding-top: 0.5rem !important;\n }\n\n .xl\\:pt-3 {\n padding-top: 1rem !important;\n }\n\n .xl\\:pt-4 {\n padding-top: 1.5rem !important;\n }\n\n .xl\\:pt-5 {\n padding-top: 2rem !important;\n }\n\n .xl\\:pt-6 {\n padding-top: 3rem !important;\n }\n\n .xl\\:pt-7 {\n padding-top: 4rem !important;\n }\n\n .xl\\:pt-8 {\n padding-top: 5rem !important;\n }\n\n .xl\\:pr-0 {\n padding-right: 0rem !important;\n }\n\n .xl\\:pr-1 {\n padding-right: 0.25rem !important;\n }\n\n .xl\\:pr-2 {\n padding-right: 0.5rem !important;\n }\n\n .xl\\:pr-3 {\n padding-right: 1rem !important;\n }\n\n .xl\\:pr-4 {\n padding-right: 1.5rem !important;\n }\n\n .xl\\:pr-5 {\n padding-right: 2rem !important;\n }\n\n .xl\\:pr-6 {\n padding-right: 3rem !important;\n }\n\n .xl\\:pr-7 {\n padding-right: 4rem !important;\n }\n\n .xl\\:pr-8 {\n padding-right: 5rem !important;\n }\n\n .xl\\:pl-0 {\n padding-left: 0rem !important;\n }\n\n .xl\\:pl-1 {\n padding-left: 0.25rem !important;\n }\n\n .xl\\:pl-2 {\n padding-left: 0.5rem !important;\n }\n\n .xl\\:pl-3 {\n padding-left: 1rem !important;\n }\n\n .xl\\:pl-4 {\n padding-left: 1.5rem !important;\n }\n\n .xl\\:pl-5 {\n padding-left: 2rem !important;\n }\n\n .xl\\:pl-6 {\n padding-left: 3rem !important;\n }\n\n .xl\\:pl-7 {\n padding-left: 4rem !important;\n }\n\n .xl\\:pl-8 {\n padding-left: 5rem !important;\n }\n\n .xl\\:pb-0 {\n padding-bottom: 0rem !important;\n }\n\n .xl\\:pb-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .xl\\:pb-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .xl\\:pb-3 {\n padding-bottom: 1rem !important;\n }\n\n .xl\\:pb-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .xl\\:pb-5 {\n padding-bottom: 2rem !important;\n }\n\n .xl\\:pb-6 {\n padding-bottom: 3rem !important;\n }\n\n .xl\\:pb-7 {\n padding-bottom: 4rem !important;\n }\n\n .xl\\:pb-8 {\n padding-bottom: 5rem !important;\n }\n\n .xl\\:px-0 {\n padding-left: 0rem !important;\n padding-right: 0rem !important;\n }\n\n .xl\\:px-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n\n .xl\\:px-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n\n .xl\\:px-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n\n .xl\\:px-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n\n .xl\\:px-5 {\n padding-left: 2rem !important;\n padding-right: 2rem !important;\n }\n\n .xl\\:px-6 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n\n .xl\\:px-7 {\n padding-left: 4rem !important;\n padding-right: 4rem !important;\n }\n\n .xl\\:px-8 {\n padding-left: 5rem !important;\n padding-right: 5rem !important;\n }\n\n .xl\\:py-0 {\n padding-top: 0rem !important;\n padding-bottom: 0rem !important;\n }\n\n .xl\\:py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .xl\\:py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .xl\\:py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .xl\\:py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .xl\\:py-5 {\n padding-top: 2rem !important;\n padding-bottom: 2rem !important;\n }\n\n .xl\\:py-6 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .xl\\:py-7 {\n padding-top: 4rem !important;\n padding-bottom: 4rem !important;\n }\n\n .xl\\:py-8 {\n padding-top: 5rem !important;\n padding-bottom: 5rem !important;\n }\n}\n.m-0 {\n margin: 0rem !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 2rem !important;\n}\n\n.m-6 {\n margin: 3rem !important;\n}\n\n.m-7 {\n margin: 4rem !important;\n}\n\n.m-8 {\n margin: 5rem !important;\n}\n\n.-m-1 {\n margin: -0.25rem !important;\n}\n\n.-m-2 {\n margin: -0.5rem !important;\n}\n\n.-m-3 {\n margin: -1rem !important;\n}\n\n.-m-4 {\n margin: -1.5rem !important;\n}\n\n.-m-5 {\n margin: -2rem !important;\n}\n\n.-m-6 {\n margin: -3rem !important;\n}\n\n.-m-7 {\n margin: -4rem !important;\n}\n\n.-m-8 {\n margin: -5rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-0 {\n margin-top: 0rem !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 2rem !important;\n}\n\n.mt-6 {\n margin-top: 3rem !important;\n}\n\n.mt-7 {\n margin-top: 4rem !important;\n}\n\n.mt-8 {\n margin-top: 5rem !important;\n}\n\n.-mt-1 {\n margin-top: -0.25rem !important;\n}\n\n.-mt-2 {\n margin-top: -0.5rem !important;\n}\n\n.-mt-3 {\n margin-top: -1rem !important;\n}\n\n.-mt-4 {\n margin-top: -1.5rem !important;\n}\n\n.-mt-5 {\n margin-top: -2rem !important;\n}\n\n.-mt-6 {\n margin-top: -3rem !important;\n}\n\n.-mt-7 {\n margin-top: -4rem !important;\n}\n\n.-mt-8 {\n margin-top: -5rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0rem !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 2rem !important;\n}\n\n.mr-6 {\n margin-right: 3rem !important;\n}\n\n.mr-7 {\n margin-right: 4rem !important;\n}\n\n.mr-8 {\n margin-right: 5rem !important;\n}\n\n.-mr-1 {\n margin-right: -0.25rem !important;\n}\n\n.-mr-2 {\n margin-right: -0.5rem !important;\n}\n\n.-mr-3 {\n margin-right: -1rem !important;\n}\n\n.-mr-4 {\n margin-right: -1.5rem !important;\n}\n\n.-mr-5 {\n margin-right: -2rem !important;\n}\n\n.-mr-6 {\n margin-right: -3rem !important;\n}\n\n.-mr-7 {\n margin-right: -4rem !important;\n}\n\n.-mr-8 {\n margin-right: -5rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.ml-0 {\n margin-left: 0rem !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 2rem !important;\n}\n\n.ml-6 {\n margin-left: 3rem !important;\n}\n\n.ml-7 {\n margin-left: 4rem !important;\n}\n\n.ml-8 {\n margin-left: 5rem !important;\n}\n\n.-ml-1 {\n margin-left: -0.25rem !important;\n}\n\n.-ml-2 {\n margin-left: -0.5rem !important;\n}\n\n.-ml-3 {\n margin-left: -1rem !important;\n}\n\n.-ml-4 {\n margin-left: -1.5rem !important;\n}\n\n.-ml-5 {\n margin-left: -2rem !important;\n}\n\n.-ml-6 {\n margin-left: -3rem !important;\n}\n\n.-ml-7 {\n margin-left: -4rem !important;\n}\n\n.-ml-8 {\n margin-left: -5rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0rem !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 2rem !important;\n}\n\n.mb-6 {\n margin-bottom: 3rem !important;\n}\n\n.mb-7 {\n margin-bottom: 4rem !important;\n}\n\n.mb-8 {\n margin-bottom: 5rem !important;\n}\n\n.-mb-1 {\n margin-bottom: -0.25rem !important;\n}\n\n.-mb-2 {\n margin-bottom: -0.5rem !important;\n}\n\n.-mb-3 {\n margin-bottom: -1rem !important;\n}\n\n.-mb-4 {\n margin-bottom: -1.5rem !important;\n}\n\n.-mb-5 {\n margin-bottom: -2rem !important;\n}\n\n.-mb-6 {\n margin-bottom: -3rem !important;\n}\n\n.-mb-7 {\n margin-bottom: -4rem !important;\n}\n\n.-mb-8 {\n margin-bottom: -5rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.mx-0 {\n margin-left: 0rem !important;\n margin-right: 0rem !important;\n}\n\n.mx-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n}\n\n.mx-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n}\n\n.mx-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n}\n\n.mx-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n}\n\n.mx-5 {\n margin-left: 2rem !important;\n margin-right: 2rem !important;\n}\n\n.mx-6 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n}\n\n.mx-7 {\n margin-left: 4rem !important;\n margin-right: 4rem !important;\n}\n\n.mx-8 {\n margin-left: 5rem !important;\n margin-right: 5rem !important;\n}\n\n.-mx-1 {\n margin-left: -0.25rem !important;\n margin-right: -0.25rem !important;\n}\n\n.-mx-2 {\n margin-left: -0.5rem !important;\n margin-right: -0.5rem !important;\n}\n\n.-mx-3 {\n margin-left: -1rem !important;\n margin-right: -1rem !important;\n}\n\n.-mx-4 {\n margin-left: -1.5rem !important;\n margin-right: -1.5rem !important;\n}\n\n.-mx-5 {\n margin-left: -2rem !important;\n margin-right: -2rem !important;\n}\n\n.-mx-6 {\n margin-left: -3rem !important;\n margin-right: -3rem !important;\n}\n\n.-mx-7 {\n margin-left: -4rem !important;\n margin-right: -4rem !important;\n}\n\n.-mx-8 {\n margin-left: -5rem !important;\n margin-right: -5rem !important;\n}\n\n.mx-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n}\n\n.my-0 {\n margin-top: 0rem !important;\n margin-bottom: 0rem !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 2rem !important;\n margin-bottom: 2rem !important;\n}\n\n.my-6 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-7 {\n margin-top: 4rem !important;\n margin-bottom: 4rem !important;\n}\n\n.my-8 {\n margin-top: 5rem !important;\n margin-bottom: 5rem !important;\n}\n\n.-my-1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.-my-2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.-my-3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.-my-4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.-my-5 {\n margin-top: -2rem !important;\n margin-bottom: -2rem !important;\n}\n\n.-my-6 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.-my-7 {\n margin-top: -4rem !important;\n margin-bottom: -4rem !important;\n}\n\n.-my-8 {\n margin-top: -5rem !important;\n margin-bottom: -5rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:m-0 {\n margin: 0rem !important;\n }\n\n .sm\\:m-1 {\n margin: 0.25rem !important;\n }\n\n .sm\\:m-2 {\n margin: 0.5rem !important;\n }\n\n .sm\\:m-3 {\n margin: 1rem !important;\n }\n\n .sm\\:m-4 {\n margin: 1.5rem !important;\n }\n\n .sm\\:m-5 {\n margin: 2rem !important;\n }\n\n .sm\\:m-6 {\n margin: 3rem !important;\n }\n\n .sm\\:m-7 {\n margin: 4rem !important;\n }\n\n .sm\\:m-8 {\n margin: 5rem !important;\n }\n\n .sm\\:-m-1 {\n margin: -0.25rem !important;\n }\n\n .sm\\:-m-2 {\n margin: -0.5rem !important;\n }\n\n .sm\\:-m-3 {\n margin: -1rem !important;\n }\n\n .sm\\:-m-4 {\n margin: -1.5rem !important;\n }\n\n .sm\\:-m-5 {\n margin: -2rem !important;\n }\n\n .sm\\:-m-6 {\n margin: -3rem !important;\n }\n\n .sm\\:-m-7 {\n margin: -4rem !important;\n }\n\n .sm\\:-m-8 {\n margin: -5rem !important;\n }\n\n .sm\\:m-auto {\n margin: auto !important;\n }\n\n .sm\\:mt-0 {\n margin-top: 0rem !important;\n }\n\n .sm\\:mt-1 {\n margin-top: 0.25rem !important;\n }\n\n .sm\\:mt-2 {\n margin-top: 0.5rem !important;\n }\n\n .sm\\:mt-3 {\n margin-top: 1rem !important;\n }\n\n .sm\\:mt-4 {\n margin-top: 1.5rem !important;\n }\n\n .sm\\:mt-5 {\n margin-top: 2rem !important;\n }\n\n .sm\\:mt-6 {\n margin-top: 3rem !important;\n }\n\n .sm\\:mt-7 {\n margin-top: 4rem !important;\n }\n\n .sm\\:mt-8 {\n margin-top: 5rem !important;\n }\n\n .sm\\:-mt-1 {\n margin-top: -0.25rem !important;\n }\n\n .sm\\:-mt-2 {\n margin-top: -0.5rem !important;\n }\n\n .sm\\:-mt-3 {\n margin-top: -1rem !important;\n }\n\n .sm\\:-mt-4 {\n margin-top: -1.5rem !important;\n }\n\n .sm\\:-mt-5 {\n margin-top: -2rem !important;\n }\n\n .sm\\:-mt-6 {\n margin-top: -3rem !important;\n }\n\n .sm\\:-mt-7 {\n margin-top: -4rem !important;\n }\n\n .sm\\:-mt-8 {\n margin-top: -5rem !important;\n }\n\n .sm\\:mt-auto {\n margin-top: auto !important;\n }\n\n .sm\\:mr-0 {\n margin-right: 0rem !important;\n }\n\n .sm\\:mr-1 {\n margin-right: 0.25rem !important;\n }\n\n .sm\\:mr-2 {\n margin-right: 0.5rem !important;\n }\n\n .sm\\:mr-3 {\n margin-right: 1rem !important;\n }\n\n .sm\\:mr-4 {\n margin-right: 1.5rem !important;\n }\n\n .sm\\:mr-5 {\n margin-right: 2rem !important;\n }\n\n .sm\\:mr-6 {\n margin-right: 3rem !important;\n }\n\n .sm\\:mr-7 {\n margin-right: 4rem !important;\n }\n\n .sm\\:mr-8 {\n margin-right: 5rem !important;\n }\n\n .sm\\:-mr-1 {\n margin-right: -0.25rem !important;\n }\n\n .sm\\:-mr-2 {\n margin-right: -0.5rem !important;\n }\n\n .sm\\:-mr-3 {\n margin-right: -1rem !important;\n }\n\n .sm\\:-mr-4 {\n margin-right: -1.5rem !important;\n }\n\n .sm\\:-mr-5 {\n margin-right: -2rem !important;\n }\n\n .sm\\:-mr-6 {\n margin-right: -3rem !important;\n }\n\n .sm\\:-mr-7 {\n margin-right: -4rem !important;\n }\n\n .sm\\:-mr-8 {\n margin-right: -5rem !important;\n }\n\n .sm\\:mr-auto {\n margin-right: auto !important;\n }\n\n .sm\\:ml-0 {\n margin-left: 0rem !important;\n }\n\n .sm\\:ml-1 {\n margin-left: 0.25rem !important;\n }\n\n .sm\\:ml-2 {\n margin-left: 0.5rem !important;\n }\n\n .sm\\:ml-3 {\n margin-left: 1rem !important;\n }\n\n .sm\\:ml-4 {\n margin-left: 1.5rem !important;\n }\n\n .sm\\:ml-5 {\n margin-left: 2rem !important;\n }\n\n .sm\\:ml-6 {\n margin-left: 3rem !important;\n }\n\n .sm\\:ml-7 {\n margin-left: 4rem !important;\n }\n\n .sm\\:ml-8 {\n margin-left: 5rem !important;\n }\n\n .sm\\:-ml-1 {\n margin-left: -0.25rem !important;\n }\n\n .sm\\:-ml-2 {\n margin-left: -0.5rem !important;\n }\n\n .sm\\:-ml-3 {\n margin-left: -1rem !important;\n }\n\n .sm\\:-ml-4 {\n margin-left: -1.5rem !important;\n }\n\n .sm\\:-ml-5 {\n margin-left: -2rem !important;\n }\n\n .sm\\:-ml-6 {\n margin-left: -3rem !important;\n }\n\n .sm\\:-ml-7 {\n margin-left: -4rem !important;\n }\n\n .sm\\:-ml-8 {\n margin-left: -5rem !important;\n }\n\n .sm\\:ml-auto {\n margin-left: auto !important;\n }\n\n .sm\\:mb-0 {\n margin-bottom: 0rem !important;\n }\n\n .sm\\:mb-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .sm\\:mb-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .sm\\:mb-3 {\n margin-bottom: 1rem !important;\n }\n\n .sm\\:mb-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .sm\\:mb-5 {\n margin-bottom: 2rem !important;\n }\n\n .sm\\:mb-6 {\n margin-bottom: 3rem !important;\n }\n\n .sm\\:mb-7 {\n margin-bottom: 4rem !important;\n }\n\n .sm\\:mb-8 {\n margin-bottom: 5rem !important;\n }\n\n .sm\\:-mb-1 {\n margin-bottom: -0.25rem !important;\n }\n\n .sm\\:-mb-2 {\n margin-bottom: -0.5rem !important;\n }\n\n .sm\\:-mb-3 {\n margin-bottom: -1rem !important;\n }\n\n .sm\\:-mb-4 {\n margin-bottom: -1.5rem !important;\n }\n\n .sm\\:-mb-5 {\n margin-bottom: -2rem !important;\n }\n\n .sm\\:-mb-6 {\n margin-bottom: -3rem !important;\n }\n\n .sm\\:-mb-7 {\n margin-bottom: -4rem !important;\n }\n\n .sm\\:-mb-8 {\n margin-bottom: -5rem !important;\n }\n\n .sm\\:mb-auto {\n margin-bottom: auto !important;\n }\n\n .sm\\:mx-0 {\n margin-left: 0rem !important;\n margin-right: 0rem !important;\n }\n\n .sm\\:mx-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n\n .sm\\:mx-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n\n .sm\\:mx-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n\n .sm\\:mx-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n\n .sm\\:mx-5 {\n margin-left: 2rem !important;\n margin-right: 2rem !important;\n }\n\n .sm\\:mx-6 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n\n .sm\\:mx-7 {\n margin-left: 4rem !important;\n margin-right: 4rem !important;\n }\n\n .sm\\:mx-8 {\n margin-left: 5rem !important;\n margin-right: 5rem !important;\n }\n\n .sm\\:-mx-1 {\n margin-left: -0.25rem !important;\n margin-right: -0.25rem !important;\n }\n\n .sm\\:-mx-2 {\n margin-left: -0.5rem !important;\n margin-right: -0.5rem !important;\n }\n\n .sm\\:-mx-3 {\n margin-left: -1rem !important;\n margin-right: -1rem !important;\n }\n\n .sm\\:-mx-4 {\n margin-left: -1.5rem !important;\n margin-right: -1.5rem !important;\n }\n\n .sm\\:-mx-5 {\n margin-left: -2rem !important;\n margin-right: -2rem !important;\n }\n\n .sm\\:-mx-6 {\n margin-left: -3rem !important;\n margin-right: -3rem !important;\n }\n\n .sm\\:-mx-7 {\n margin-left: -4rem !important;\n margin-right: -4rem !important;\n }\n\n .sm\\:-mx-8 {\n margin-left: -5rem !important;\n margin-right: -5rem !important;\n }\n\n .sm\\:mx-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n\n .sm\\:my-0 {\n margin-top: 0rem !important;\n margin-bottom: 0rem !important;\n }\n\n .sm\\:my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .sm\\:my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .sm\\:my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .sm\\:my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .sm\\:my-5 {\n margin-top: 2rem !important;\n margin-bottom: 2rem !important;\n }\n\n .sm\\:my-6 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .sm\\:my-7 {\n margin-top: 4rem !important;\n margin-bottom: 4rem !important;\n }\n\n .sm\\:my-8 {\n margin-top: 5rem !important;\n margin-bottom: 5rem !important;\n }\n\n .sm\\:-my-1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n\n .sm\\:-my-2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n\n .sm\\:-my-3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n\n .sm\\:-my-4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n\n .sm\\:-my-5 {\n margin-top: -2rem !important;\n margin-bottom: -2rem !important;\n }\n\n .sm\\:-my-6 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n\n .sm\\:-my-7 {\n margin-top: -4rem !important;\n margin-bottom: -4rem !important;\n }\n\n .sm\\:-my-8 {\n margin-top: -5rem !important;\n margin-bottom: -5rem !important;\n }\n\n .sm\\:my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:m-0 {\n margin: 0rem !important;\n }\n\n .md\\:m-1 {\n margin: 0.25rem !important;\n }\n\n .md\\:m-2 {\n margin: 0.5rem !important;\n }\n\n .md\\:m-3 {\n margin: 1rem !important;\n }\n\n .md\\:m-4 {\n margin: 1.5rem !important;\n }\n\n .md\\:m-5 {\n margin: 2rem !important;\n }\n\n .md\\:m-6 {\n margin: 3rem !important;\n }\n\n .md\\:m-7 {\n margin: 4rem !important;\n }\n\n .md\\:m-8 {\n margin: 5rem !important;\n }\n\n .md\\:-m-1 {\n margin: -0.25rem !important;\n }\n\n .md\\:-m-2 {\n margin: -0.5rem !important;\n }\n\n .md\\:-m-3 {\n margin: -1rem !important;\n }\n\n .md\\:-m-4 {\n margin: -1.5rem !important;\n }\n\n .md\\:-m-5 {\n margin: -2rem !important;\n }\n\n .md\\:-m-6 {\n margin: -3rem !important;\n }\n\n .md\\:-m-7 {\n margin: -4rem !important;\n }\n\n .md\\:-m-8 {\n margin: -5rem !important;\n }\n\n .md\\:m-auto {\n margin: auto !important;\n }\n\n .md\\:mt-0 {\n margin-top: 0rem !important;\n }\n\n .md\\:mt-1 {\n margin-top: 0.25rem !important;\n }\n\n .md\\:mt-2 {\n margin-top: 0.5rem !important;\n }\n\n .md\\:mt-3 {\n margin-top: 1rem !important;\n }\n\n .md\\:mt-4 {\n margin-top: 1.5rem !important;\n }\n\n .md\\:mt-5 {\n margin-top: 2rem !important;\n }\n\n .md\\:mt-6 {\n margin-top: 3rem !important;\n }\n\n .md\\:mt-7 {\n margin-top: 4rem !important;\n }\n\n .md\\:mt-8 {\n margin-top: 5rem !important;\n }\n\n .md\\:-mt-1 {\n margin-top: -0.25rem !important;\n }\n\n .md\\:-mt-2 {\n margin-top: -0.5rem !important;\n }\n\n .md\\:-mt-3 {\n margin-top: -1rem !important;\n }\n\n .md\\:-mt-4 {\n margin-top: -1.5rem !important;\n }\n\n .md\\:-mt-5 {\n margin-top: -2rem !important;\n }\n\n .md\\:-mt-6 {\n margin-top: -3rem !important;\n }\n\n .md\\:-mt-7 {\n margin-top: -4rem !important;\n }\n\n .md\\:-mt-8 {\n margin-top: -5rem !important;\n }\n\n .md\\:mt-auto {\n margin-top: auto !important;\n }\n\n .md\\:mr-0 {\n margin-right: 0rem !important;\n }\n\n .md\\:mr-1 {\n margin-right: 0.25rem !important;\n }\n\n .md\\:mr-2 {\n margin-right: 0.5rem !important;\n }\n\n .md\\:mr-3 {\n margin-right: 1rem !important;\n }\n\n .md\\:mr-4 {\n margin-right: 1.5rem !important;\n }\n\n .md\\:mr-5 {\n margin-right: 2rem !important;\n }\n\n .md\\:mr-6 {\n margin-right: 3rem !important;\n }\n\n .md\\:mr-7 {\n margin-right: 4rem !important;\n }\n\n .md\\:mr-8 {\n margin-right: 5rem !important;\n }\n\n .md\\:-mr-1 {\n margin-right: -0.25rem !important;\n }\n\n .md\\:-mr-2 {\n margin-right: -0.5rem !important;\n }\n\n .md\\:-mr-3 {\n margin-right: -1rem !important;\n }\n\n .md\\:-mr-4 {\n margin-right: -1.5rem !important;\n }\n\n .md\\:-mr-5 {\n margin-right: -2rem !important;\n }\n\n .md\\:-mr-6 {\n margin-right: -3rem !important;\n }\n\n .md\\:-mr-7 {\n margin-right: -4rem !important;\n }\n\n .md\\:-mr-8 {\n margin-right: -5rem !important;\n }\n\n .md\\:mr-auto {\n margin-right: auto !important;\n }\n\n .md\\:ml-0 {\n margin-left: 0rem !important;\n }\n\n .md\\:ml-1 {\n margin-left: 0.25rem !important;\n }\n\n .md\\:ml-2 {\n margin-left: 0.5rem !important;\n }\n\n .md\\:ml-3 {\n margin-left: 1rem !important;\n }\n\n .md\\:ml-4 {\n margin-left: 1.5rem !important;\n }\n\n .md\\:ml-5 {\n margin-left: 2rem !important;\n }\n\n .md\\:ml-6 {\n margin-left: 3rem !important;\n }\n\n .md\\:ml-7 {\n margin-left: 4rem !important;\n }\n\n .md\\:ml-8 {\n margin-left: 5rem !important;\n }\n\n .md\\:-ml-1 {\n margin-left: -0.25rem !important;\n }\n\n .md\\:-ml-2 {\n margin-left: -0.5rem !important;\n }\n\n .md\\:-ml-3 {\n margin-left: -1rem !important;\n }\n\n .md\\:-ml-4 {\n margin-left: -1.5rem !important;\n }\n\n .md\\:-ml-5 {\n margin-left: -2rem !important;\n }\n\n .md\\:-ml-6 {\n margin-left: -3rem !important;\n }\n\n .md\\:-ml-7 {\n margin-left: -4rem !important;\n }\n\n .md\\:-ml-8 {\n margin-left: -5rem !important;\n }\n\n .md\\:ml-auto {\n margin-left: auto !important;\n }\n\n .md\\:mb-0 {\n margin-bottom: 0rem !important;\n }\n\n .md\\:mb-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .md\\:mb-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .md\\:mb-3 {\n margin-bottom: 1rem !important;\n }\n\n .md\\:mb-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .md\\:mb-5 {\n margin-bottom: 2rem !important;\n }\n\n .md\\:mb-6 {\n margin-bottom: 3rem !important;\n }\n\n .md\\:mb-7 {\n margin-bottom: 4rem !important;\n }\n\n .md\\:mb-8 {\n margin-bottom: 5rem !important;\n }\n\n .md\\:-mb-1 {\n margin-bottom: -0.25rem !important;\n }\n\n .md\\:-mb-2 {\n margin-bottom: -0.5rem !important;\n }\n\n .md\\:-mb-3 {\n margin-bottom: -1rem !important;\n }\n\n .md\\:-mb-4 {\n margin-bottom: -1.5rem !important;\n }\n\n .md\\:-mb-5 {\n margin-bottom: -2rem !important;\n }\n\n .md\\:-mb-6 {\n margin-bottom: -3rem !important;\n }\n\n .md\\:-mb-7 {\n margin-bottom: -4rem !important;\n }\n\n .md\\:-mb-8 {\n margin-bottom: -5rem !important;\n }\n\n .md\\:mb-auto {\n margin-bottom: auto !important;\n }\n\n .md\\:mx-0 {\n margin-left: 0rem !important;\n margin-right: 0rem !important;\n }\n\n .md\\:mx-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n\n .md\\:mx-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n\n .md\\:mx-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n\n .md\\:mx-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n\n .md\\:mx-5 {\n margin-left: 2rem !important;\n margin-right: 2rem !important;\n }\n\n .md\\:mx-6 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n\n .md\\:mx-7 {\n margin-left: 4rem !important;\n margin-right: 4rem !important;\n }\n\n .md\\:mx-8 {\n margin-left: 5rem !important;\n margin-right: 5rem !important;\n }\n\n .md\\:-mx-1 {\n margin-left: -0.25rem !important;\n margin-right: -0.25rem !important;\n }\n\n .md\\:-mx-2 {\n margin-left: -0.5rem !important;\n margin-right: -0.5rem !important;\n }\n\n .md\\:-mx-3 {\n margin-left: -1rem !important;\n margin-right: -1rem !important;\n }\n\n .md\\:-mx-4 {\n margin-left: -1.5rem !important;\n margin-right: -1.5rem !important;\n }\n\n .md\\:-mx-5 {\n margin-left: -2rem !important;\n margin-right: -2rem !important;\n }\n\n .md\\:-mx-6 {\n margin-left: -3rem !important;\n margin-right: -3rem !important;\n }\n\n .md\\:-mx-7 {\n margin-left: -4rem !important;\n margin-right: -4rem !important;\n }\n\n .md\\:-mx-8 {\n margin-left: -5rem !important;\n margin-right: -5rem !important;\n }\n\n .md\\:mx-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n\n .md\\:my-0 {\n margin-top: 0rem !important;\n margin-bottom: 0rem !important;\n }\n\n .md\\:my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .md\\:my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .md\\:my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .md\\:my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .md\\:my-5 {\n margin-top: 2rem !important;\n margin-bottom: 2rem !important;\n }\n\n .md\\:my-6 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .md\\:my-7 {\n margin-top: 4rem !important;\n margin-bottom: 4rem !important;\n }\n\n .md\\:my-8 {\n margin-top: 5rem !important;\n margin-bottom: 5rem !important;\n }\n\n .md\\:-my-1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n\n .md\\:-my-2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n\n .md\\:-my-3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n\n .md\\:-my-4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n\n .md\\:-my-5 {\n margin-top: -2rem !important;\n margin-bottom: -2rem !important;\n }\n\n .md\\:-my-6 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n\n .md\\:-my-7 {\n margin-top: -4rem !important;\n margin-bottom: -4rem !important;\n }\n\n .md\\:-my-8 {\n margin-top: -5rem !important;\n margin-bottom: -5rem !important;\n }\n\n .md\\:my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:m-0 {\n margin: 0rem !important;\n }\n\n .lg\\:m-1 {\n margin: 0.25rem !important;\n }\n\n .lg\\:m-2 {\n margin: 0.5rem !important;\n }\n\n .lg\\:m-3 {\n margin: 1rem !important;\n }\n\n .lg\\:m-4 {\n margin: 1.5rem !important;\n }\n\n .lg\\:m-5 {\n margin: 2rem !important;\n }\n\n .lg\\:m-6 {\n margin: 3rem !important;\n }\n\n .lg\\:m-7 {\n margin: 4rem !important;\n }\n\n .lg\\:m-8 {\n margin: 5rem !important;\n }\n\n .lg\\:-m-1 {\n margin: -0.25rem !important;\n }\n\n .lg\\:-m-2 {\n margin: -0.5rem !important;\n }\n\n .lg\\:-m-3 {\n margin: -1rem !important;\n }\n\n .lg\\:-m-4 {\n margin: -1.5rem !important;\n }\n\n .lg\\:-m-5 {\n margin: -2rem !important;\n }\n\n .lg\\:-m-6 {\n margin: -3rem !important;\n }\n\n .lg\\:-m-7 {\n margin: -4rem !important;\n }\n\n .lg\\:-m-8 {\n margin: -5rem !important;\n }\n\n .lg\\:m-auto {\n margin: auto !important;\n }\n\n .lg\\:mt-0 {\n margin-top: 0rem !important;\n }\n\n .lg\\:mt-1 {\n margin-top: 0.25rem !important;\n }\n\n .lg\\:mt-2 {\n margin-top: 0.5rem !important;\n }\n\n .lg\\:mt-3 {\n margin-top: 1rem !important;\n }\n\n .lg\\:mt-4 {\n margin-top: 1.5rem !important;\n }\n\n .lg\\:mt-5 {\n margin-top: 2rem !important;\n }\n\n .lg\\:mt-6 {\n margin-top: 3rem !important;\n }\n\n .lg\\:mt-7 {\n margin-top: 4rem !important;\n }\n\n .lg\\:mt-8 {\n margin-top: 5rem !important;\n }\n\n .lg\\:-mt-1 {\n margin-top: -0.25rem !important;\n }\n\n .lg\\:-mt-2 {\n margin-top: -0.5rem !important;\n }\n\n .lg\\:-mt-3 {\n margin-top: -1rem !important;\n }\n\n .lg\\:-mt-4 {\n margin-top: -1.5rem !important;\n }\n\n .lg\\:-mt-5 {\n margin-top: -2rem !important;\n }\n\n .lg\\:-mt-6 {\n margin-top: -3rem !important;\n }\n\n .lg\\:-mt-7 {\n margin-top: -4rem !important;\n }\n\n .lg\\:-mt-8 {\n margin-top: -5rem !important;\n }\n\n .lg\\:mt-auto {\n margin-top: auto !important;\n }\n\n .lg\\:mr-0 {\n margin-right: 0rem !important;\n }\n\n .lg\\:mr-1 {\n margin-right: 0.25rem !important;\n }\n\n .lg\\:mr-2 {\n margin-right: 0.5rem !important;\n }\n\n .lg\\:mr-3 {\n margin-right: 1rem !important;\n }\n\n .lg\\:mr-4 {\n margin-right: 1.5rem !important;\n }\n\n .lg\\:mr-5 {\n margin-right: 2rem !important;\n }\n\n .lg\\:mr-6 {\n margin-right: 3rem !important;\n }\n\n .lg\\:mr-7 {\n margin-right: 4rem !important;\n }\n\n .lg\\:mr-8 {\n margin-right: 5rem !important;\n }\n\n .lg\\:-mr-1 {\n margin-right: -0.25rem !important;\n }\n\n .lg\\:-mr-2 {\n margin-right: -0.5rem !important;\n }\n\n .lg\\:-mr-3 {\n margin-right: -1rem !important;\n }\n\n .lg\\:-mr-4 {\n margin-right: -1.5rem !important;\n }\n\n .lg\\:-mr-5 {\n margin-right: -2rem !important;\n }\n\n .lg\\:-mr-6 {\n margin-right: -3rem !important;\n }\n\n .lg\\:-mr-7 {\n margin-right: -4rem !important;\n }\n\n .lg\\:-mr-8 {\n margin-right: -5rem !important;\n }\n\n .lg\\:mr-auto {\n margin-right: auto !important;\n }\n\n .lg\\:ml-0 {\n margin-left: 0rem !important;\n }\n\n .lg\\:ml-1 {\n margin-left: 0.25rem !important;\n }\n\n .lg\\:ml-2 {\n margin-left: 0.5rem !important;\n }\n\n .lg\\:ml-3 {\n margin-left: 1rem !important;\n }\n\n .lg\\:ml-4 {\n margin-left: 1.5rem !important;\n }\n\n .lg\\:ml-5 {\n margin-left: 2rem !important;\n }\n\n .lg\\:ml-6 {\n margin-left: 3rem !important;\n }\n\n .lg\\:ml-7 {\n margin-left: 4rem !important;\n }\n\n .lg\\:ml-8 {\n margin-left: 5rem !important;\n }\n\n .lg\\:-ml-1 {\n margin-left: -0.25rem !important;\n }\n\n .lg\\:-ml-2 {\n margin-left: -0.5rem !important;\n }\n\n .lg\\:-ml-3 {\n margin-left: -1rem !important;\n }\n\n .lg\\:-ml-4 {\n margin-left: -1.5rem !important;\n }\n\n .lg\\:-ml-5 {\n margin-left: -2rem !important;\n }\n\n .lg\\:-ml-6 {\n margin-left: -3rem !important;\n }\n\n .lg\\:-ml-7 {\n margin-left: -4rem !important;\n }\n\n .lg\\:-ml-8 {\n margin-left: -5rem !important;\n }\n\n .lg\\:ml-auto {\n margin-left: auto !important;\n }\n\n .lg\\:mb-0 {\n margin-bottom: 0rem !important;\n }\n\n .lg\\:mb-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .lg\\:mb-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .lg\\:mb-3 {\n margin-bottom: 1rem !important;\n }\n\n .lg\\:mb-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .lg\\:mb-5 {\n margin-bottom: 2rem !important;\n }\n\n .lg\\:mb-6 {\n margin-bottom: 3rem !important;\n }\n\n .lg\\:mb-7 {\n margin-bottom: 4rem !important;\n }\n\n .lg\\:mb-8 {\n margin-bottom: 5rem !important;\n }\n\n .lg\\:-mb-1 {\n margin-bottom: -0.25rem !important;\n }\n\n .lg\\:-mb-2 {\n margin-bottom: -0.5rem !important;\n }\n\n .lg\\:-mb-3 {\n margin-bottom: -1rem !important;\n }\n\n .lg\\:-mb-4 {\n margin-bottom: -1.5rem !important;\n }\n\n .lg\\:-mb-5 {\n margin-bottom: -2rem !important;\n }\n\n .lg\\:-mb-6 {\n margin-bottom: -3rem !important;\n }\n\n .lg\\:-mb-7 {\n margin-bottom: -4rem !important;\n }\n\n .lg\\:-mb-8 {\n margin-bottom: -5rem !important;\n }\n\n .lg\\:mb-auto {\n margin-bottom: auto !important;\n }\n\n .lg\\:mx-0 {\n margin-left: 0rem !important;\n margin-right: 0rem !important;\n }\n\n .lg\\:mx-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n\n .lg\\:mx-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n\n .lg\\:mx-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n\n .lg\\:mx-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n\n .lg\\:mx-5 {\n margin-left: 2rem !important;\n margin-right: 2rem !important;\n }\n\n .lg\\:mx-6 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n\n .lg\\:mx-7 {\n margin-left: 4rem !important;\n margin-right: 4rem !important;\n }\n\n .lg\\:mx-8 {\n margin-left: 5rem !important;\n margin-right: 5rem !important;\n }\n\n .lg\\:-mx-1 {\n margin-left: -0.25rem !important;\n margin-right: -0.25rem !important;\n }\n\n .lg\\:-mx-2 {\n margin-left: -0.5rem !important;\n margin-right: -0.5rem !important;\n }\n\n .lg\\:-mx-3 {\n margin-left: -1rem !important;\n margin-right: -1rem !important;\n }\n\n .lg\\:-mx-4 {\n margin-left: -1.5rem !important;\n margin-right: -1.5rem !important;\n }\n\n .lg\\:-mx-5 {\n margin-left: -2rem !important;\n margin-right: -2rem !important;\n }\n\n .lg\\:-mx-6 {\n margin-left: -3rem !important;\n margin-right: -3rem !important;\n }\n\n .lg\\:-mx-7 {\n margin-left: -4rem !important;\n margin-right: -4rem !important;\n }\n\n .lg\\:-mx-8 {\n margin-left: -5rem !important;\n margin-right: -5rem !important;\n }\n\n .lg\\:mx-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n\n .lg\\:my-0 {\n margin-top: 0rem !important;\n margin-bottom: 0rem !important;\n }\n\n .lg\\:my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .lg\\:my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .lg\\:my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .lg\\:my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .lg\\:my-5 {\n margin-top: 2rem !important;\n margin-bottom: 2rem !important;\n }\n\n .lg\\:my-6 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .lg\\:my-7 {\n margin-top: 4rem !important;\n margin-bottom: 4rem !important;\n }\n\n .lg\\:my-8 {\n margin-top: 5rem !important;\n margin-bottom: 5rem !important;\n }\n\n .lg\\:-my-1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n\n .lg\\:-my-2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n\n .lg\\:-my-3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n\n .lg\\:-my-4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n\n .lg\\:-my-5 {\n margin-top: -2rem !important;\n margin-bottom: -2rem !important;\n }\n\n .lg\\:-my-6 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n\n .lg\\:-my-7 {\n margin-top: -4rem !important;\n margin-bottom: -4rem !important;\n }\n\n .lg\\:-my-8 {\n margin-top: -5rem !important;\n margin-bottom: -5rem !important;\n }\n\n .lg\\:my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:m-0 {\n margin: 0rem !important;\n }\n\n .xl\\:m-1 {\n margin: 0.25rem !important;\n }\n\n .xl\\:m-2 {\n margin: 0.5rem !important;\n }\n\n .xl\\:m-3 {\n margin: 1rem !important;\n }\n\n .xl\\:m-4 {\n margin: 1.5rem !important;\n }\n\n .xl\\:m-5 {\n margin: 2rem !important;\n }\n\n .xl\\:m-6 {\n margin: 3rem !important;\n }\n\n .xl\\:m-7 {\n margin: 4rem !important;\n }\n\n .xl\\:m-8 {\n margin: 5rem !important;\n }\n\n .xl\\:-m-1 {\n margin: -0.25rem !important;\n }\n\n .xl\\:-m-2 {\n margin: -0.5rem !important;\n }\n\n .xl\\:-m-3 {\n margin: -1rem !important;\n }\n\n .xl\\:-m-4 {\n margin: -1.5rem !important;\n }\n\n .xl\\:-m-5 {\n margin: -2rem !important;\n }\n\n .xl\\:-m-6 {\n margin: -3rem !important;\n }\n\n .xl\\:-m-7 {\n margin: -4rem !important;\n }\n\n .xl\\:-m-8 {\n margin: -5rem !important;\n }\n\n .xl\\:m-auto {\n margin: auto !important;\n }\n\n .xl\\:mt-0 {\n margin-top: 0rem !important;\n }\n\n .xl\\:mt-1 {\n margin-top: 0.25rem !important;\n }\n\n .xl\\:mt-2 {\n margin-top: 0.5rem !important;\n }\n\n .xl\\:mt-3 {\n margin-top: 1rem !important;\n }\n\n .xl\\:mt-4 {\n margin-top: 1.5rem !important;\n }\n\n .xl\\:mt-5 {\n margin-top: 2rem !important;\n }\n\n .xl\\:mt-6 {\n margin-top: 3rem !important;\n }\n\n .xl\\:mt-7 {\n margin-top: 4rem !important;\n }\n\n .xl\\:mt-8 {\n margin-top: 5rem !important;\n }\n\n .xl\\:-mt-1 {\n margin-top: -0.25rem !important;\n }\n\n .xl\\:-mt-2 {\n margin-top: -0.5rem !important;\n }\n\n .xl\\:-mt-3 {\n margin-top: -1rem !important;\n }\n\n .xl\\:-mt-4 {\n margin-top: -1.5rem !important;\n }\n\n .xl\\:-mt-5 {\n margin-top: -2rem !important;\n }\n\n .xl\\:-mt-6 {\n margin-top: -3rem !important;\n }\n\n .xl\\:-mt-7 {\n margin-top: -4rem !important;\n }\n\n .xl\\:-mt-8 {\n margin-top: -5rem !important;\n }\n\n .xl\\:mt-auto {\n margin-top: auto !important;\n }\n\n .xl\\:mr-0 {\n margin-right: 0rem !important;\n }\n\n .xl\\:mr-1 {\n margin-right: 0.25rem !important;\n }\n\n .xl\\:mr-2 {\n margin-right: 0.5rem !important;\n }\n\n .xl\\:mr-3 {\n margin-right: 1rem !important;\n }\n\n .xl\\:mr-4 {\n margin-right: 1.5rem !important;\n }\n\n .xl\\:mr-5 {\n margin-right: 2rem !important;\n }\n\n .xl\\:mr-6 {\n margin-right: 3rem !important;\n }\n\n .xl\\:mr-7 {\n margin-right: 4rem !important;\n }\n\n .xl\\:mr-8 {\n margin-right: 5rem !important;\n }\n\n .xl\\:-mr-1 {\n margin-right: -0.25rem !important;\n }\n\n .xl\\:-mr-2 {\n margin-right: -0.5rem !important;\n }\n\n .xl\\:-mr-3 {\n margin-right: -1rem !important;\n }\n\n .xl\\:-mr-4 {\n margin-right: -1.5rem !important;\n }\n\n .xl\\:-mr-5 {\n margin-right: -2rem !important;\n }\n\n .xl\\:-mr-6 {\n margin-right: -3rem !important;\n }\n\n .xl\\:-mr-7 {\n margin-right: -4rem !important;\n }\n\n .xl\\:-mr-8 {\n margin-right: -5rem !important;\n }\n\n .xl\\:mr-auto {\n margin-right: auto !important;\n }\n\n .xl\\:ml-0 {\n margin-left: 0rem !important;\n }\n\n .xl\\:ml-1 {\n margin-left: 0.25rem !important;\n }\n\n .xl\\:ml-2 {\n margin-left: 0.5rem !important;\n }\n\n .xl\\:ml-3 {\n margin-left: 1rem !important;\n }\n\n .xl\\:ml-4 {\n margin-left: 1.5rem !important;\n }\n\n .xl\\:ml-5 {\n margin-left: 2rem !important;\n }\n\n .xl\\:ml-6 {\n margin-left: 3rem !important;\n }\n\n .xl\\:ml-7 {\n margin-left: 4rem !important;\n }\n\n .xl\\:ml-8 {\n margin-left: 5rem !important;\n }\n\n .xl\\:-ml-1 {\n margin-left: -0.25rem !important;\n }\n\n .xl\\:-ml-2 {\n margin-left: -0.5rem !important;\n }\n\n .xl\\:-ml-3 {\n margin-left: -1rem !important;\n }\n\n .xl\\:-ml-4 {\n margin-left: -1.5rem !important;\n }\n\n .xl\\:-ml-5 {\n margin-left: -2rem !important;\n }\n\n .xl\\:-ml-6 {\n margin-left: -3rem !important;\n }\n\n .xl\\:-ml-7 {\n margin-left: -4rem !important;\n }\n\n .xl\\:-ml-8 {\n margin-left: -5rem !important;\n }\n\n .xl\\:ml-auto {\n margin-left: auto !important;\n }\n\n .xl\\:mb-0 {\n margin-bottom: 0rem !important;\n }\n\n .xl\\:mb-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .xl\\:mb-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .xl\\:mb-3 {\n margin-bottom: 1rem !important;\n }\n\n .xl\\:mb-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .xl\\:mb-5 {\n margin-bottom: 2rem !important;\n }\n\n .xl\\:mb-6 {\n margin-bottom: 3rem !important;\n }\n\n .xl\\:mb-7 {\n margin-bottom: 4rem !important;\n }\n\n .xl\\:mb-8 {\n margin-bottom: 5rem !important;\n }\n\n .xl\\:-mb-1 {\n margin-bottom: -0.25rem !important;\n }\n\n .xl\\:-mb-2 {\n margin-bottom: -0.5rem !important;\n }\n\n .xl\\:-mb-3 {\n margin-bottom: -1rem !important;\n }\n\n .xl\\:-mb-4 {\n margin-bottom: -1.5rem !important;\n }\n\n .xl\\:-mb-5 {\n margin-bottom: -2rem !important;\n }\n\n .xl\\:-mb-6 {\n margin-bottom: -3rem !important;\n }\n\n .xl\\:-mb-7 {\n margin-bottom: -4rem !important;\n }\n\n .xl\\:-mb-8 {\n margin-bottom: -5rem !important;\n }\n\n .xl\\:mb-auto {\n margin-bottom: auto !important;\n }\n\n .xl\\:mx-0 {\n margin-left: 0rem !important;\n margin-right: 0rem !important;\n }\n\n .xl\\:mx-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n\n .xl\\:mx-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n\n .xl\\:mx-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n\n .xl\\:mx-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n\n .xl\\:mx-5 {\n margin-left: 2rem !important;\n margin-right: 2rem !important;\n }\n\n .xl\\:mx-6 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n\n .xl\\:mx-7 {\n margin-left: 4rem !important;\n margin-right: 4rem !important;\n }\n\n .xl\\:mx-8 {\n margin-left: 5rem !important;\n margin-right: 5rem !important;\n }\n\n .xl\\:-mx-1 {\n margin-left: -0.25rem !important;\n margin-right: -0.25rem !important;\n }\n\n .xl\\:-mx-2 {\n margin-left: -0.5rem !important;\n margin-right: -0.5rem !important;\n }\n\n .xl\\:-mx-3 {\n margin-left: -1rem !important;\n margin-right: -1rem !important;\n }\n\n .xl\\:-mx-4 {\n margin-left: -1.5rem !important;\n margin-right: -1.5rem !important;\n }\n\n .xl\\:-mx-5 {\n margin-left: -2rem !important;\n margin-right: -2rem !important;\n }\n\n .xl\\:-mx-6 {\n margin-left: -3rem !important;\n margin-right: -3rem !important;\n }\n\n .xl\\:-mx-7 {\n margin-left: -4rem !important;\n margin-right: -4rem !important;\n }\n\n .xl\\:-mx-8 {\n margin-left: -5rem !important;\n margin-right: -5rem !important;\n }\n\n .xl\\:mx-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n\n .xl\\:my-0 {\n margin-top: 0rem !important;\n margin-bottom: 0rem !important;\n }\n\n .xl\\:my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .xl\\:my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .xl\\:my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .xl\\:my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .xl\\:my-5 {\n margin-top: 2rem !important;\n margin-bottom: 2rem !important;\n }\n\n .xl\\:my-6 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .xl\\:my-7 {\n margin-top: 4rem !important;\n margin-bottom: 4rem !important;\n }\n\n .xl\\:my-8 {\n margin-top: 5rem !important;\n margin-bottom: 5rem !important;\n }\n\n .xl\\:-my-1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n\n .xl\\:-my-2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n\n .xl\\:-my-3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n\n .xl\\:-my-4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n\n .xl\\:-my-5 {\n margin-top: -2rem !important;\n margin-bottom: -2rem !important;\n }\n\n .xl\\:-my-6 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n\n .xl\\:-my-7 {\n margin-top: -4rem !important;\n margin-bottom: -4rem !important;\n }\n\n .xl\\:-my-8 {\n margin-top: -5rem !important;\n margin-bottom: -5rem !important;\n }\n\n .xl\\:my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n.shadow-none {\n box-shadow: none !important;\n}\n\n.shadow-1 {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.02), 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 1px 4px rgba(0, 0, 0, 0.08) !important;\n}\n\n.shadow-2 {\n box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.03), 0px 0px 2px rgba(0, 0, 0, 0.06), 0px 2px 6px rgba(0, 0, 0, 0.12) !important;\n}\n\n.shadow-3 {\n box-shadow: 0px 1px 8px rgba(0, 0, 0, 0.08), 0px 3px 4px rgba(0, 0, 0, 0.1), 0px 1px 4px -1px rgba(0, 0, 0, 0.1) !important;\n}\n\n.shadow-4 {\n box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.12), 0px 4px 5px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.2) !important;\n}\n\n.shadow-5 {\n box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.1), 0px 4px 5px -2px rgba(0, 0, 0, 0.12), 0px 10px 15px -5px rgba(0, 0, 0, 0.2) !important;\n}\n\n.shadow-6 {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.06), 0px 7px 9px rgba(0, 0, 0, 0.12), 0px 20px 25px -8px rgba(0, 0, 0, 0.18) !important;\n}\n\n.shadow-7 {\n box-shadow: 0px 7px 30px rgba(0, 0, 0, 0.08), 0px 22px 30px 2px rgba(0, 0, 0, 0.15), 0px 8px 10px rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-8 {\n box-shadow: 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 11px 15px rgba(0, 0, 0, 0.2) !important;\n}\n\n.focus\\:shadow-none:focus {\n box-shadow: none !important;\n}\n\n.hover\\:shadow-none:hover {\n box-shadow: none !important;\n}\n\n.active\\:shadow-none:active {\n box-shadow: none !important;\n}\n\n.focus\\:shadow-1:focus {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.02), 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 1px 4px rgba(0, 0, 0, 0.08) !important;\n}\n\n.hover\\:shadow-1:hover {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.02), 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 1px 4px rgba(0, 0, 0, 0.08) !important;\n}\n\n.active\\:shadow-1:active {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.02), 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 1px 4px rgba(0, 0, 0, 0.08) !important;\n}\n\n.focus\\:shadow-2:focus {\n box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.03), 0px 0px 2px rgba(0, 0, 0, 0.06), 0px 2px 6px rgba(0, 0, 0, 0.12) !important;\n}\n\n.hover\\:shadow-2:hover {\n box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.03), 0px 0px 2px rgba(0, 0, 0, 0.06), 0px 2px 6px rgba(0, 0, 0, 0.12) !important;\n}\n\n.active\\:shadow-2:active {\n box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.03), 0px 0px 2px rgba(0, 0, 0, 0.06), 0px 2px 6px rgba(0, 0, 0, 0.12) !important;\n}\n\n.focus\\:shadow-3:focus {\n box-shadow: 0px 1px 8px rgba(0, 0, 0, 0.08), 0px 3px 4px rgba(0, 0, 0, 0.1), 0px 1px 4px -1px rgba(0, 0, 0, 0.1) !important;\n}\n\n.hover\\:shadow-3:hover {\n box-shadow: 0px 1px 8px rgba(0, 0, 0, 0.08), 0px 3px 4px rgba(0, 0, 0, 0.1), 0px 1px 4px -1px rgba(0, 0, 0, 0.1) !important;\n}\n\n.active\\:shadow-3:active {\n box-shadow: 0px 1px 8px rgba(0, 0, 0, 0.08), 0px 3px 4px rgba(0, 0, 0, 0.1), 0px 1px 4px -1px rgba(0, 0, 0, 0.1) !important;\n}\n\n.focus\\:shadow-4:focus {\n box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.12), 0px 4px 5px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.2) !important;\n}\n\n.hover\\:shadow-4:hover {\n box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.12), 0px 4px 5px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.2) !important;\n}\n\n.active\\:shadow-4:active {\n box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.12), 0px 4px 5px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.2) !important;\n}\n\n.focus\\:shadow-5:focus {\n box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.1), 0px 4px 5px -2px rgba(0, 0, 0, 0.12), 0px 10px 15px -5px rgba(0, 0, 0, 0.2) !important;\n}\n\n.hover\\:shadow-5:hover {\n box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.1), 0px 4px 5px -2px rgba(0, 0, 0, 0.12), 0px 10px 15px -5px rgba(0, 0, 0, 0.2) !important;\n}\n\n.active\\:shadow-5:active {\n box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.1), 0px 4px 5px -2px rgba(0, 0, 0, 0.12), 0px 10px 15px -5px rgba(0, 0, 0, 0.2) !important;\n}\n\n.focus\\:shadow-6:focus {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.06), 0px 7px 9px rgba(0, 0, 0, 0.12), 0px 20px 25px -8px rgba(0, 0, 0, 0.18) !important;\n}\n\n.hover\\:shadow-6:hover {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.06), 0px 7px 9px rgba(0, 0, 0, 0.12), 0px 20px 25px -8px rgba(0, 0, 0, 0.18) !important;\n}\n\n.active\\:shadow-6:active {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.06), 0px 7px 9px rgba(0, 0, 0, 0.12), 0px 20px 25px -8px rgba(0, 0, 0, 0.18) !important;\n}\n\n.focus\\:shadow-7:focus {\n box-shadow: 0px 7px 30px rgba(0, 0, 0, 0.08), 0px 22px 30px 2px rgba(0, 0, 0, 0.15), 0px 8px 10px rgba(0, 0, 0, 0.15) !important;\n}\n\n.hover\\:shadow-7:hover {\n box-shadow: 0px 7px 30px rgba(0, 0, 0, 0.08), 0px 22px 30px 2px rgba(0, 0, 0, 0.15), 0px 8px 10px rgba(0, 0, 0, 0.15) !important;\n}\n\n.active\\:shadow-7:active {\n box-shadow: 0px 7px 30px rgba(0, 0, 0, 0.08), 0px 22px 30px 2px rgba(0, 0, 0, 0.15), 0px 8px 10px rgba(0, 0, 0, 0.15) !important;\n}\n\n.focus\\:shadow-8:focus {\n box-shadow: 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 11px 15px rgba(0, 0, 0, 0.2) !important;\n}\n\n.hover\\:shadow-8:hover {\n box-shadow: 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 11px 15px rgba(0, 0, 0, 0.2) !important;\n}\n\n.active\\:shadow-8:active {\n box-shadow: 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 11px 15px rgba(0, 0, 0, 0.2) !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:shadow-none {\n box-shadow: none !important;\n }\n .sm\\:shadow-1 {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.02), 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 1px 4px rgba(0, 0, 0, 0.08) !important;\n }\n .sm\\:shadow-2 {\n box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.03), 0px 0px 2px rgba(0, 0, 0, 0.06), 0px 2px 6px rgba(0, 0, 0, 0.12) !important;\n }\n .sm\\:shadow-3 {\n box-shadow: 0px 1px 8px rgba(0, 0, 0, 0.08), 0px 3px 4px rgba(0, 0, 0, 0.1), 0px 1px 4px -1px rgba(0, 0, 0, 0.1) !important;\n }\n .sm\\:shadow-4 {\n box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.12), 0px 4px 5px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.2) !important;\n }\n .sm\\:shadow-5 {\n box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.1), 0px 4px 5px -2px rgba(0, 0, 0, 0.12), 0px 10px 15px -5px rgba(0, 0, 0, 0.2) !important;\n }\n .sm\\:shadow-6 {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.06), 0px 7px 9px rgba(0, 0, 0, 0.12), 0px 20px 25px -8px rgba(0, 0, 0, 0.18) !important;\n }\n .sm\\:shadow-7 {\n box-shadow: 0px 7px 30px rgba(0, 0, 0, 0.08), 0px 22px 30px 2px rgba(0, 0, 0, 0.15), 0px 8px 10px rgba(0, 0, 0, 0.15) !important;\n }\n .sm\\:shadow-8 {\n box-shadow: 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 11px 15px rgba(0, 0, 0, 0.2) !important;\n }\n .sm\\:focus\\:shadow-none:focus {\n box-shadow: none !important;\n }\n .sm\\:hover\\:shadow-none:hover {\n box-shadow: none !important;\n }\n .sm\\:active\\:shadow-none:active {\n box-shadow: none !important;\n }\n .sm\\:focus\\:shadow-1:focus {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.02), 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 1px 4px rgba(0, 0, 0, 0.08) !important;\n }\n .sm\\:hover\\:shadow-1:hover {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.02), 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 1px 4px rgba(0, 0, 0, 0.08) !important;\n }\n .sm\\:active\\:shadow-1:active {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.02), 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 1px 4px rgba(0, 0, 0, 0.08) !important;\n }\n .sm\\:focus\\:shadow-2:focus {\n box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.03), 0px 0px 2px rgba(0, 0, 0, 0.06), 0px 2px 6px rgba(0, 0, 0, 0.12) !important;\n }\n .sm\\:hover\\:shadow-2:hover {\n box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.03), 0px 0px 2px rgba(0, 0, 0, 0.06), 0px 2px 6px rgba(0, 0, 0, 0.12) !important;\n }\n .sm\\:active\\:shadow-2:active {\n box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.03), 0px 0px 2px rgba(0, 0, 0, 0.06), 0px 2px 6px rgba(0, 0, 0, 0.12) !important;\n }\n .sm\\:focus\\:shadow-3:focus {\n box-shadow: 0px 1px 8px rgba(0, 0, 0, 0.08), 0px 3px 4px rgba(0, 0, 0, 0.1), 0px 1px 4px -1px rgba(0, 0, 0, 0.1) !important;\n }\n .sm\\:hover\\:shadow-3:hover {\n box-shadow: 0px 1px 8px rgba(0, 0, 0, 0.08), 0px 3px 4px rgba(0, 0, 0, 0.1), 0px 1px 4px -1px rgba(0, 0, 0, 0.1) !important;\n }\n .sm\\:active\\:shadow-3:active {\n box-shadow: 0px 1px 8px rgba(0, 0, 0, 0.08), 0px 3px 4px rgba(0, 0, 0, 0.1), 0px 1px 4px -1px rgba(0, 0, 0, 0.1) !important;\n }\n .sm\\:focus\\:shadow-4:focus {\n box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.12), 0px 4px 5px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.2) !important;\n }\n .sm\\:hover\\:shadow-4:hover {\n box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.12), 0px 4px 5px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.2) !important;\n }\n .sm\\:active\\:shadow-4:active {\n box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.12), 0px 4px 5px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.2) !important;\n }\n .sm\\:focus\\:shadow-5:focus {\n box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.1), 0px 4px 5px -2px rgba(0, 0, 0, 0.12), 0px 10px 15px -5px rgba(0, 0, 0, 0.2) !important;\n }\n .sm\\:hover\\:shadow-5:hover {\n box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.1), 0px 4px 5px -2px rgba(0, 0, 0, 0.12), 0px 10px 15px -5px rgba(0, 0, 0, 0.2) !important;\n }\n .sm\\:active\\:shadow-5:active {\n box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.1), 0px 4px 5px -2px rgba(0, 0, 0, 0.12), 0px 10px 15px -5px rgba(0, 0, 0, 0.2) !important;\n }\n .sm\\:focus\\:shadow-6:focus {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.06), 0px 7px 9px rgba(0, 0, 0, 0.12), 0px 20px 25px -8px rgba(0, 0, 0, 0.18) !important;\n }\n .sm\\:hover\\:shadow-6:hover {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.06), 0px 7px 9px rgba(0, 0, 0, 0.12), 0px 20px 25px -8px rgba(0, 0, 0, 0.18) !important;\n }\n .sm\\:active\\:shadow-6:active {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.06), 0px 7px 9px rgba(0, 0, 0, 0.12), 0px 20px 25px -8px rgba(0, 0, 0, 0.18) !important;\n }\n .sm\\:focus\\:shadow-7:focus {\n box-shadow: 0px 7px 30px rgba(0, 0, 0, 0.08), 0px 22px 30px 2px rgba(0, 0, 0, 0.15), 0px 8px 10px rgba(0, 0, 0, 0.15) !important;\n }\n .sm\\:hover\\:shadow-7:hover {\n box-shadow: 0px 7px 30px rgba(0, 0, 0, 0.08), 0px 22px 30px 2px rgba(0, 0, 0, 0.15), 0px 8px 10px rgba(0, 0, 0, 0.15) !important;\n }\n .sm\\:active\\:shadow-7:active {\n box-shadow: 0px 7px 30px rgba(0, 0, 0, 0.08), 0px 22px 30px 2px rgba(0, 0, 0, 0.15), 0px 8px 10px rgba(0, 0, 0, 0.15) !important;\n }\n .sm\\:focus\\:shadow-8:focus {\n box-shadow: 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 11px 15px rgba(0, 0, 0, 0.2) !important;\n }\n .sm\\:hover\\:shadow-8:hover {\n box-shadow: 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 11px 15px rgba(0, 0, 0, 0.2) !important;\n }\n .sm\\:active\\:shadow-8:active {\n box-shadow: 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 11px 15px rgba(0, 0, 0, 0.2) !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:shadow-none {\n box-shadow: none !important;\n }\n .md\\:shadow-1 {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.02), 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 1px 4px rgba(0, 0, 0, 0.08) !important;\n }\n .md\\:shadow-2 {\n box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.03), 0px 0px 2px rgba(0, 0, 0, 0.06), 0px 2px 6px rgba(0, 0, 0, 0.12) !important;\n }\n .md\\:shadow-3 {\n box-shadow: 0px 1px 8px rgba(0, 0, 0, 0.08), 0px 3px 4px rgba(0, 0, 0, 0.1), 0px 1px 4px -1px rgba(0, 0, 0, 0.1) !important;\n }\n .md\\:shadow-4 {\n box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.12), 0px 4px 5px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.2) !important;\n }\n .md\\:shadow-5 {\n box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.1), 0px 4px 5px -2px rgba(0, 0, 0, 0.12), 0px 10px 15px -5px rgba(0, 0, 0, 0.2) !important;\n }\n .md\\:shadow-6 {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.06), 0px 7px 9px rgba(0, 0, 0, 0.12), 0px 20px 25px -8px rgba(0, 0, 0, 0.18) !important;\n }\n .md\\:shadow-7 {\n box-shadow: 0px 7px 30px rgba(0, 0, 0, 0.08), 0px 22px 30px 2px rgba(0, 0, 0, 0.15), 0px 8px 10px rgba(0, 0, 0, 0.15) !important;\n }\n .md\\:shadow-8 {\n box-shadow: 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 11px 15px rgba(0, 0, 0, 0.2) !important;\n }\n .md\\:focus\\:shadow-none:focus {\n box-shadow: none !important;\n }\n .md\\:hover\\:shadow-none:hover {\n box-shadow: none !important;\n }\n .md\\:active\\:shadow-none:active {\n box-shadow: none !important;\n }\n .md\\:focus\\:shadow-1:focus {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.02), 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 1px 4px rgba(0, 0, 0, 0.08) !important;\n }\n .md\\:hover\\:shadow-1:hover {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.02), 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 1px 4px rgba(0, 0, 0, 0.08) !important;\n }\n .md\\:active\\:shadow-1:active {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.02), 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 1px 4px rgba(0, 0, 0, 0.08) !important;\n }\n .md\\:focus\\:shadow-2:focus {\n box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.03), 0px 0px 2px rgba(0, 0, 0, 0.06), 0px 2px 6px rgba(0, 0, 0, 0.12) !important;\n }\n .md\\:hover\\:shadow-2:hover {\n box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.03), 0px 0px 2px rgba(0, 0, 0, 0.06), 0px 2px 6px rgba(0, 0, 0, 0.12) !important;\n }\n .md\\:active\\:shadow-2:active {\n box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.03), 0px 0px 2px rgba(0, 0, 0, 0.06), 0px 2px 6px rgba(0, 0, 0, 0.12) !important;\n }\n .md\\:focus\\:shadow-3:focus {\n box-shadow: 0px 1px 8px rgba(0, 0, 0, 0.08), 0px 3px 4px rgba(0, 0, 0, 0.1), 0px 1px 4px -1px rgba(0, 0, 0, 0.1) !important;\n }\n .md\\:hover\\:shadow-3:hover {\n box-shadow: 0px 1px 8px rgba(0, 0, 0, 0.08), 0px 3px 4px rgba(0, 0, 0, 0.1), 0px 1px 4px -1px rgba(0, 0, 0, 0.1) !important;\n }\n .md\\:active\\:shadow-3:active {\n box-shadow: 0px 1px 8px rgba(0, 0, 0, 0.08), 0px 3px 4px rgba(0, 0, 0, 0.1), 0px 1px 4px -1px rgba(0, 0, 0, 0.1) !important;\n }\n .md\\:focus\\:shadow-4:focus {\n box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.12), 0px 4px 5px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.2) !important;\n }\n .md\\:hover\\:shadow-4:hover {\n box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.12), 0px 4px 5px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.2) !important;\n }\n .md\\:active\\:shadow-4:active {\n box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.12), 0px 4px 5px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.2) !important;\n }\n .md\\:focus\\:shadow-5:focus {\n box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.1), 0px 4px 5px -2px rgba(0, 0, 0, 0.12), 0px 10px 15px -5px rgba(0, 0, 0, 0.2) !important;\n }\n .md\\:hover\\:shadow-5:hover {\n box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.1), 0px 4px 5px -2px rgba(0, 0, 0, 0.12), 0px 10px 15px -5px rgba(0, 0, 0, 0.2) !important;\n }\n .md\\:active\\:shadow-5:active {\n box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.1), 0px 4px 5px -2px rgba(0, 0, 0, 0.12), 0px 10px 15px -5px rgba(0, 0, 0, 0.2) !important;\n }\n .md\\:focus\\:shadow-6:focus {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.06), 0px 7px 9px rgba(0, 0, 0, 0.12), 0px 20px 25px -8px rgba(0, 0, 0, 0.18) !important;\n }\n .md\\:hover\\:shadow-6:hover {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.06), 0px 7px 9px rgba(0, 0, 0, 0.12), 0px 20px 25px -8px rgba(0, 0, 0, 0.18) !important;\n }\n .md\\:active\\:shadow-6:active {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.06), 0px 7px 9px rgba(0, 0, 0, 0.12), 0px 20px 25px -8px rgba(0, 0, 0, 0.18) !important;\n }\n .md\\:focus\\:shadow-7:focus {\n box-shadow: 0px 7px 30px rgba(0, 0, 0, 0.08), 0px 22px 30px 2px rgba(0, 0, 0, 0.15), 0px 8px 10px rgba(0, 0, 0, 0.15) !important;\n }\n .md\\:hover\\:shadow-7:hover {\n box-shadow: 0px 7px 30px rgba(0, 0, 0, 0.08), 0px 22px 30px 2px rgba(0, 0, 0, 0.15), 0px 8px 10px rgba(0, 0, 0, 0.15) !important;\n }\n .md\\:active\\:shadow-7:active {\n box-shadow: 0px 7px 30px rgba(0, 0, 0, 0.08), 0px 22px 30px 2px rgba(0, 0, 0, 0.15), 0px 8px 10px rgba(0, 0, 0, 0.15) !important;\n }\n .md\\:focus\\:shadow-8:focus {\n box-shadow: 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 11px 15px rgba(0, 0, 0, 0.2) !important;\n }\n .md\\:hover\\:shadow-8:hover {\n box-shadow: 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 11px 15px rgba(0, 0, 0, 0.2) !important;\n }\n .md\\:active\\:shadow-8:active {\n box-shadow: 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 11px 15px rgba(0, 0, 0, 0.2) !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:shadow-none {\n box-shadow: none !important;\n }\n .lg\\:shadow-1 {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.02), 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 1px 4px rgba(0, 0, 0, 0.08) !important;\n }\n .lg\\:shadow-2 {\n box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.03), 0px 0px 2px rgba(0, 0, 0, 0.06), 0px 2px 6px rgba(0, 0, 0, 0.12) !important;\n }\n .lg\\:shadow-3 {\n box-shadow: 0px 1px 8px rgba(0, 0, 0, 0.08), 0px 3px 4px rgba(0, 0, 0, 0.1), 0px 1px 4px -1px rgba(0, 0, 0, 0.1) !important;\n }\n .lg\\:shadow-4 {\n box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.12), 0px 4px 5px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.2) !important;\n }\n .lg\\:shadow-5 {\n box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.1), 0px 4px 5px -2px rgba(0, 0, 0, 0.12), 0px 10px 15px -5px rgba(0, 0, 0, 0.2) !important;\n }\n .lg\\:shadow-6 {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.06), 0px 7px 9px rgba(0, 0, 0, 0.12), 0px 20px 25px -8px rgba(0, 0, 0, 0.18) !important;\n }\n .lg\\:shadow-7 {\n box-shadow: 0px 7px 30px rgba(0, 0, 0, 0.08), 0px 22px 30px 2px rgba(0, 0, 0, 0.15), 0px 8px 10px rgba(0, 0, 0, 0.15) !important;\n }\n .lg\\:shadow-8 {\n box-shadow: 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 11px 15px rgba(0, 0, 0, 0.2) !important;\n }\n .lg\\:focus\\:shadow-none:focus {\n box-shadow: none !important;\n }\n .lg\\:hover\\:shadow-none:hover {\n box-shadow: none !important;\n }\n .lg\\:active\\:shadow-none:active {\n box-shadow: none !important;\n }\n .lg\\:focus\\:shadow-1:focus {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.02), 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 1px 4px rgba(0, 0, 0, 0.08) !important;\n }\n .lg\\:hover\\:shadow-1:hover {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.02), 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 1px 4px rgba(0, 0, 0, 0.08) !important;\n }\n .lg\\:active\\:shadow-1:active {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.02), 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 1px 4px rgba(0, 0, 0, 0.08) !important;\n }\n .lg\\:focus\\:shadow-2:focus {\n box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.03), 0px 0px 2px rgba(0, 0, 0, 0.06), 0px 2px 6px rgba(0, 0, 0, 0.12) !important;\n }\n .lg\\:hover\\:shadow-2:hover {\n box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.03), 0px 0px 2px rgba(0, 0, 0, 0.06), 0px 2px 6px rgba(0, 0, 0, 0.12) !important;\n }\n .lg\\:active\\:shadow-2:active {\n box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.03), 0px 0px 2px rgba(0, 0, 0, 0.06), 0px 2px 6px rgba(0, 0, 0, 0.12) !important;\n }\n .lg\\:focus\\:shadow-3:focus {\n box-shadow: 0px 1px 8px rgba(0, 0, 0, 0.08), 0px 3px 4px rgba(0, 0, 0, 0.1), 0px 1px 4px -1px rgba(0, 0, 0, 0.1) !important;\n }\n .lg\\:hover\\:shadow-3:hover {\n box-shadow: 0px 1px 8px rgba(0, 0, 0, 0.08), 0px 3px 4px rgba(0, 0, 0, 0.1), 0px 1px 4px -1px rgba(0, 0, 0, 0.1) !important;\n }\n .lg\\:active\\:shadow-3:active {\n box-shadow: 0px 1px 8px rgba(0, 0, 0, 0.08), 0px 3px 4px rgba(0, 0, 0, 0.1), 0px 1px 4px -1px rgba(0, 0, 0, 0.1) !important;\n }\n .lg\\:focus\\:shadow-4:focus {\n box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.12), 0px 4px 5px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.2) !important;\n }\n .lg\\:hover\\:shadow-4:hover {\n box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.12), 0px 4px 5px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.2) !important;\n }\n .lg\\:active\\:shadow-4:active {\n box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.12), 0px 4px 5px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.2) !important;\n }\n .lg\\:focus\\:shadow-5:focus {\n box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.1), 0px 4px 5px -2px rgba(0, 0, 0, 0.12), 0px 10px 15px -5px rgba(0, 0, 0, 0.2) !important;\n }\n .lg\\:hover\\:shadow-5:hover {\n box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.1), 0px 4px 5px -2px rgba(0, 0, 0, 0.12), 0px 10px 15px -5px rgba(0, 0, 0, 0.2) !important;\n }\n .lg\\:active\\:shadow-5:active {\n box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.1), 0px 4px 5px -2px rgba(0, 0, 0, 0.12), 0px 10px 15px -5px rgba(0, 0, 0, 0.2) !important;\n }\n .lg\\:focus\\:shadow-6:focus {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.06), 0px 7px 9px rgba(0, 0, 0, 0.12), 0px 20px 25px -8px rgba(0, 0, 0, 0.18) !important;\n }\n .lg\\:hover\\:shadow-6:hover {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.06), 0px 7px 9px rgba(0, 0, 0, 0.12), 0px 20px 25px -8px rgba(0, 0, 0, 0.18) !important;\n }\n .lg\\:active\\:shadow-6:active {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.06), 0px 7px 9px rgba(0, 0, 0, 0.12), 0px 20px 25px -8px rgba(0, 0, 0, 0.18) !important;\n }\n .lg\\:focus\\:shadow-7:focus {\n box-shadow: 0px 7px 30px rgba(0, 0, 0, 0.08), 0px 22px 30px 2px rgba(0, 0, 0, 0.15), 0px 8px 10px rgba(0, 0, 0, 0.15) !important;\n }\n .lg\\:hover\\:shadow-7:hover {\n box-shadow: 0px 7px 30px rgba(0, 0, 0, 0.08), 0px 22px 30px 2px rgba(0, 0, 0, 0.15), 0px 8px 10px rgba(0, 0, 0, 0.15) !important;\n }\n .lg\\:active\\:shadow-7:active {\n box-shadow: 0px 7px 30px rgba(0, 0, 0, 0.08), 0px 22px 30px 2px rgba(0, 0, 0, 0.15), 0px 8px 10px rgba(0, 0, 0, 0.15) !important;\n }\n .lg\\:focus\\:shadow-8:focus {\n box-shadow: 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 11px 15px rgba(0, 0, 0, 0.2) !important;\n }\n .lg\\:hover\\:shadow-8:hover {\n box-shadow: 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 11px 15px rgba(0, 0, 0, 0.2) !important;\n }\n .lg\\:active\\:shadow-8:active {\n box-shadow: 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 11px 15px rgba(0, 0, 0, 0.2) !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:shadow-none {\n box-shadow: none !important;\n }\n .xl\\:shadow-1 {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.02), 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 1px 4px rgba(0, 0, 0, 0.08) !important;\n }\n .xl\\:shadow-2 {\n box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.03), 0px 0px 2px rgba(0, 0, 0, 0.06), 0px 2px 6px rgba(0, 0, 0, 0.12) !important;\n }\n .xl\\:shadow-3 {\n box-shadow: 0px 1px 8px rgba(0, 0, 0, 0.08), 0px 3px 4px rgba(0, 0, 0, 0.1), 0px 1px 4px -1px rgba(0, 0, 0, 0.1) !important;\n }\n .xl\\:shadow-4 {\n box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.12), 0px 4px 5px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.2) !important;\n }\n .xl\\:shadow-5 {\n box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.1), 0px 4px 5px -2px rgba(0, 0, 0, 0.12), 0px 10px 15px -5px rgba(0, 0, 0, 0.2) !important;\n }\n .xl\\:shadow-6 {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.06), 0px 7px 9px rgba(0, 0, 0, 0.12), 0px 20px 25px -8px rgba(0, 0, 0, 0.18) !important;\n }\n .xl\\:shadow-7 {\n box-shadow: 0px 7px 30px rgba(0, 0, 0, 0.08), 0px 22px 30px 2px rgba(0, 0, 0, 0.15), 0px 8px 10px rgba(0, 0, 0, 0.15) !important;\n }\n .xl\\:shadow-8 {\n box-shadow: 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 11px 15px rgba(0, 0, 0, 0.2) !important;\n }\n .xl\\:focus\\:shadow-none:focus {\n box-shadow: none !important;\n }\n .xl\\:hover\\:shadow-none:hover {\n box-shadow: none !important;\n }\n .xl\\:active\\:shadow-none:active {\n box-shadow: none !important;\n }\n .xl\\:focus\\:shadow-1:focus {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.02), 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 1px 4px rgba(0, 0, 0, 0.08) !important;\n }\n .xl\\:hover\\:shadow-1:hover {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.02), 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 1px 4px rgba(0, 0, 0, 0.08) !important;\n }\n .xl\\:active\\:shadow-1:active {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.02), 0px 0px 2px rgba(0, 0, 0, 0.05), 0px 1px 4px rgba(0, 0, 0, 0.08) !important;\n }\n .xl\\:focus\\:shadow-2:focus {\n box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.03), 0px 0px 2px rgba(0, 0, 0, 0.06), 0px 2px 6px rgba(0, 0, 0, 0.12) !important;\n }\n .xl\\:hover\\:shadow-2:hover {\n box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.03), 0px 0px 2px rgba(0, 0, 0, 0.06), 0px 2px 6px rgba(0, 0, 0, 0.12) !important;\n }\n .xl\\:active\\:shadow-2:active {\n box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.03), 0px 0px 2px rgba(0, 0, 0, 0.06), 0px 2px 6px rgba(0, 0, 0, 0.12) !important;\n }\n .xl\\:focus\\:shadow-3:focus {\n box-shadow: 0px 1px 8px rgba(0, 0, 0, 0.08), 0px 3px 4px rgba(0, 0, 0, 0.1), 0px 1px 4px -1px rgba(0, 0, 0, 0.1) !important;\n }\n .xl\\:hover\\:shadow-3:hover {\n box-shadow: 0px 1px 8px rgba(0, 0, 0, 0.08), 0px 3px 4px rgba(0, 0, 0, 0.1), 0px 1px 4px -1px rgba(0, 0, 0, 0.1) !important;\n }\n .xl\\:active\\:shadow-3:active {\n box-shadow: 0px 1px 8px rgba(0, 0, 0, 0.08), 0px 3px 4px rgba(0, 0, 0, 0.1), 0px 1px 4px -1px rgba(0, 0, 0, 0.1) !important;\n }\n .xl\\:focus\\:shadow-4:focus {\n box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.12), 0px 4px 5px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.2) !important;\n }\n .xl\\:hover\\:shadow-4:hover {\n box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.12), 0px 4px 5px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.2) !important;\n }\n .xl\\:active\\:shadow-4:active {\n box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.12), 0px 4px 5px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.2) !important;\n }\n .xl\\:focus\\:shadow-5:focus {\n box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.1), 0px 4px 5px -2px rgba(0, 0, 0, 0.12), 0px 10px 15px -5px rgba(0, 0, 0, 0.2) !important;\n }\n .xl\\:hover\\:shadow-5:hover {\n box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.1), 0px 4px 5px -2px rgba(0, 0, 0, 0.12), 0px 10px 15px -5px rgba(0, 0, 0, 0.2) !important;\n }\n .xl\\:active\\:shadow-5:active {\n box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.1), 0px 4px 5px -2px rgba(0, 0, 0, 0.12), 0px 10px 15px -5px rgba(0, 0, 0, 0.2) !important;\n }\n .xl\\:focus\\:shadow-6:focus {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.06), 0px 7px 9px rgba(0, 0, 0, 0.12), 0px 20px 25px -8px rgba(0, 0, 0, 0.18) !important;\n }\n .xl\\:hover\\:shadow-6:hover {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.06), 0px 7px 9px rgba(0, 0, 0, 0.12), 0px 20px 25px -8px rgba(0, 0, 0, 0.18) !important;\n }\n .xl\\:active\\:shadow-6:active {\n box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.06), 0px 7px 9px rgba(0, 0, 0, 0.12), 0px 20px 25px -8px rgba(0, 0, 0, 0.18) !important;\n }\n .xl\\:focus\\:shadow-7:focus {\n box-shadow: 0px 7px 30px rgba(0, 0, 0, 0.08), 0px 22px 30px 2px rgba(0, 0, 0, 0.15), 0px 8px 10px rgba(0, 0, 0, 0.15) !important;\n }\n .xl\\:hover\\:shadow-7:hover {\n box-shadow: 0px 7px 30px rgba(0, 0, 0, 0.08), 0px 22px 30px 2px rgba(0, 0, 0, 0.15), 0px 8px 10px rgba(0, 0, 0, 0.15) !important;\n }\n .xl\\:active\\:shadow-7:active {\n box-shadow: 0px 7px 30px rgba(0, 0, 0, 0.08), 0px 22px 30px 2px rgba(0, 0, 0, 0.15), 0px 8px 10px rgba(0, 0, 0, 0.15) !important;\n }\n .xl\\:focus\\:shadow-8:focus {\n box-shadow: 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 11px 15px rgba(0, 0, 0, 0.2) !important;\n }\n .xl\\:hover\\:shadow-8:hover {\n box-shadow: 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 11px 15px rgba(0, 0, 0, 0.2) !important;\n }\n .xl\\:active\\:shadow-8:active {\n box-shadow: 0px 9px 46px 8px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 11px 15px rgba(0, 0, 0, 0.2) !important;\n }\n}\n.border-none {\n border-width: 0px !important;\n border-style: none;\n}\n\n.border-1 {\n border-width: 1px !important;\n border-style: solid;\n}\n\n.border-2 {\n border-width: 2px !important;\n border-style: solid;\n}\n\n.border-3 {\n border-width: 3px !important;\n border-style: solid;\n}\n\n.border-top-none {\n border-top-width: 0px !important;\n border-top-style: none;\n}\n\n.border-top-1 {\n border-top-width: 1px !important;\n border-top-style: solid;\n}\n\n.border-top-2 {\n border-top-width: 2px !important;\n border-top-style: solid;\n}\n\n.border-top-3 {\n border-top-width: 3px !important;\n border-top-style: solid;\n}\n\n.border-right-none {\n border-right-width: 0px !important;\n border-right-style: none;\n}\n\n.border-right-1 {\n border-right-width: 1px !important;\n border-right-style: solid;\n}\n\n.border-right-2 {\n border-right-width: 2px !important;\n border-right-style: solid;\n}\n\n.border-right-3 {\n border-right-width: 3px !important;\n border-right-style: solid;\n}\n\n.border-left-none {\n border-left-width: 0px !important;\n border-left-style: none;\n}\n\n.border-left-1 {\n border-left-width: 1px !important;\n border-left-style: solid;\n}\n\n.border-left-2 {\n border-left-width: 2px !important;\n border-left-style: solid;\n}\n\n.border-left-3 {\n border-left-width: 3px !important;\n border-left-style: solid;\n}\n\n.border-bottom-none {\n border-bottom-width: 0px !important;\n border-bottom-style: none;\n}\n\n.border-bottom-1 {\n border-bottom-width: 1px !important;\n border-bottom-style: solid;\n}\n\n.border-bottom-2 {\n border-bottom-width: 2px !important;\n border-bottom-style: solid;\n}\n\n.border-bottom-3 {\n border-bottom-width: 3px !important;\n border-bottom-style: solid;\n}\n\n.border-x-none {\n border-left-width: 0px !important;\n border-left-style: none;\n border-right-width: 0px !important;\n border-right-style: none;\n}\n\n.border-x-1 {\n border-left-width: 1px !important;\n border-left-style: solid;\n border-right-width: 1px !important;\n border-right-style: solid;\n}\n\n.border-x-2 {\n border-left-width: 2px !important;\n border-left-style: solid;\n border-right-width: 2px !important;\n border-right-style: solid;\n}\n\n.border-x-3 {\n border-left-width: 3px !important;\n border-left-style: solid;\n border-right-width: 3px !important;\n border-right-style: solid;\n}\n\n.border-y-none {\n border-top-width: 0px !important;\n border-top-style: none;\n border-bottom-width: 0px !important;\n border-bottom-style: none;\n}\n\n.border-y-1 {\n border-top-width: 1px !important;\n border-top-style: solid;\n border-bottom-width: 1px !important;\n border-bottom-style: solid;\n}\n\n.border-y-2 {\n border-top-width: 2px !important;\n border-top-style: solid;\n border-bottom-width: 2px !important;\n border-bottom-style: solid;\n}\n\n.border-y-3 {\n border-top-width: 3px !important;\n border-top-style: solid;\n border-bottom-width: 3px !important;\n border-bottom-style: solid;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:border-none {\n border-width: 0px !important;\n border-style: none;\n }\n .sm\\:border-1 {\n border-width: 1px !important;\n border-style: solid;\n }\n .sm\\:border-2 {\n border-width: 2px !important;\n border-style: solid;\n }\n .sm\\:border-3 {\n border-width: 3px !important;\n border-style: solid;\n }\n .sm\\:border-top-none {\n border-top-width: 0px !important;\n border-top-style: none;\n }\n .sm\\:border-top-1 {\n border-top-width: 1px !important;\n border-top-style: solid;\n }\n .sm\\:border-top-2 {\n border-top-width: 2px !important;\n border-top-style: solid;\n }\n .sm\\:border-top-3 {\n border-top-width: 3px !important;\n border-top-style: solid;\n }\n .sm\\:border-right-none {\n border-right-width: 0px !important;\n border-right-style: none;\n }\n .sm\\:border-right-1 {\n border-right-width: 1px !important;\n border-right-style: solid;\n }\n .sm\\:border-right-2 {\n border-right-width: 2px !important;\n border-right-style: solid;\n }\n .sm\\:border-right-3 {\n border-right-width: 3px !important;\n border-right-style: solid;\n }\n .sm\\:border-left-none {\n border-left-width: 0px !important;\n border-left-style: none;\n }\n .sm\\:border-left-1 {\n border-left-width: 1px !important;\n border-left-style: solid;\n }\n .sm\\:border-left-2 {\n border-left-width: 2px !important;\n border-left-style: solid;\n }\n .sm\\:border-left-3 {\n border-left-width: 3px !important;\n border-left-style: solid;\n }\n .sm\\:border-bottom-none {\n border-bottom-width: 0px !important;\n border-bottom-style: none;\n }\n .sm\\:border-bottom-1 {\n border-bottom-width: 1px !important;\n border-bottom-style: solid;\n }\n .sm\\:border-bottom-2 {\n border-bottom-width: 2px !important;\n border-bottom-style: solid;\n }\n .sm\\:border-bottom-3 {\n border-bottom-width: 3px !important;\n border-bottom-style: solid;\n }\n .sm\\:border-x-none {\n border-left-width: 0px !important;\n border-left-style: none;\n border-right-width: 0px !important;\n border-right-style: none;\n }\n .sm\\:border-x-1 {\n border-left-width: 1px !important;\n border-left-style: solid;\n border-right-width: 1px !important;\n border-right-style: solid;\n }\n .sm\\:border-x-2 {\n border-left-width: 2px !important;\n border-left-style: solid;\n border-right-width: 2px !important;\n border-right-style: solid;\n }\n .sm\\:border-x-3 {\n border-left-width: 3px !important;\n border-left-style: solid;\n border-right-width: 3px !important;\n border-right-style: solid;\n }\n .sm\\:border-y-none {\n border-top-width: 0px !important;\n border-top-style: none;\n border-bottom-width: 0px !important;\n border-bottom-style: none;\n }\n .sm\\:border-y-1 {\n border-top-width: 1px !important;\n border-top-style: solid;\n border-bottom-width: 1px !important;\n border-bottom-style: solid;\n }\n .sm\\:border-y-2 {\n border-top-width: 2px !important;\n border-top-style: solid;\n border-bottom-width: 2px !important;\n border-bottom-style: solid;\n }\n .sm\\:border-y-3 {\n border-top-width: 3px !important;\n border-top-style: solid;\n border-bottom-width: 3px !important;\n border-bottom-style: solid;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:border-none {\n border-width: 0px !important;\n border-style: none;\n }\n .md\\:border-1 {\n border-width: 1px !important;\n border-style: solid;\n }\n .md\\:border-2 {\n border-width: 2px !important;\n border-style: solid;\n }\n .md\\:border-3 {\n border-width: 3px !important;\n border-style: solid;\n }\n .md\\:border-top-none {\n border-top-width: 0px !important;\n border-top-style: none;\n }\n .md\\:border-top-1 {\n border-top-width: 1px !important;\n border-top-style: solid;\n }\n .md\\:border-top-2 {\n border-top-width: 2px !important;\n border-top-style: solid;\n }\n .md\\:border-top-3 {\n border-top-width: 3px !important;\n border-top-style: solid;\n }\n .md\\:border-right-none {\n border-right-width: 0px !important;\n border-right-style: none;\n }\n .md\\:border-right-1 {\n border-right-width: 1px !important;\n border-right-style: solid;\n }\n .md\\:border-right-2 {\n border-right-width: 2px !important;\n border-right-style: solid;\n }\n .md\\:border-right-3 {\n border-right-width: 3px !important;\n border-right-style: solid;\n }\n .md\\:border-left-none {\n border-left-width: 0px !important;\n border-left-style: none;\n }\n .md\\:border-left-1 {\n border-left-width: 1px !important;\n border-left-style: solid;\n }\n .md\\:border-left-2 {\n border-left-width: 2px !important;\n border-left-style: solid;\n }\n .md\\:border-left-3 {\n border-left-width: 3px !important;\n border-left-style: solid;\n }\n .md\\:border-bottom-none {\n border-bottom-width: 0px !important;\n border-bottom-style: none;\n }\n .md\\:border-bottom-1 {\n border-bottom-width: 1px !important;\n border-bottom-style: solid;\n }\n .md\\:border-bottom-2 {\n border-bottom-width: 2px !important;\n border-bottom-style: solid;\n }\n .md\\:border-bottom-3 {\n border-bottom-width: 3px !important;\n border-bottom-style: solid;\n }\n .md\\:border-x-none {\n border-left-width: 0px !important;\n border-left-style: none;\n border-right-width: 0px !important;\n border-right-style: none;\n }\n .md\\:border-x-1 {\n border-left-width: 1px !important;\n border-left-style: solid;\n border-right-width: 1px !important;\n border-right-style: solid;\n }\n .md\\:border-x-2 {\n border-left-width: 2px !important;\n border-left-style: solid;\n border-right-width: 2px !important;\n border-right-style: solid;\n }\n .md\\:border-x-3 {\n border-left-width: 3px !important;\n border-left-style: solid;\n border-right-width: 3px !important;\n border-right-style: solid;\n }\n .md\\:border-y-none {\n border-top-width: 0px !important;\n border-top-style: none;\n border-bottom-width: 0px !important;\n border-bottom-style: none;\n }\n .md\\:border-y-1 {\n border-top-width: 1px !important;\n border-top-style: solid;\n border-bottom-width: 1px !important;\n border-bottom-style: solid;\n }\n .md\\:border-y-2 {\n border-top-width: 2px !important;\n border-top-style: solid;\n border-bottom-width: 2px !important;\n border-bottom-style: solid;\n }\n .md\\:border-y-3 {\n border-top-width: 3px !important;\n border-top-style: solid;\n border-bottom-width: 3px !important;\n border-bottom-style: solid;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:border-none {\n border-width: 0px !important;\n border-style: none;\n }\n .lg\\:border-1 {\n border-width: 1px !important;\n border-style: solid;\n }\n .lg\\:border-2 {\n border-width: 2px !important;\n border-style: solid;\n }\n .lg\\:border-3 {\n border-width: 3px !important;\n border-style: solid;\n }\n .lg\\:border-top-none {\n border-top-width: 0px !important;\n border-top-style: none;\n }\n .lg\\:border-top-1 {\n border-top-width: 1px !important;\n border-top-style: solid;\n }\n .lg\\:border-top-2 {\n border-top-width: 2px !important;\n border-top-style: solid;\n }\n .lg\\:border-top-3 {\n border-top-width: 3px !important;\n border-top-style: solid;\n }\n .lg\\:border-right-none {\n border-right-width: 0px !important;\n border-right-style: none;\n }\n .lg\\:border-right-1 {\n border-right-width: 1px !important;\n border-right-style: solid;\n }\n .lg\\:border-right-2 {\n border-right-width: 2px !important;\n border-right-style: solid;\n }\n .lg\\:border-right-3 {\n border-right-width: 3px !important;\n border-right-style: solid;\n }\n .lg\\:border-left-none {\n border-left-width: 0px !important;\n border-left-style: none;\n }\n .lg\\:border-left-1 {\n border-left-width: 1px !important;\n border-left-style: solid;\n }\n .lg\\:border-left-2 {\n border-left-width: 2px !important;\n border-left-style: solid;\n }\n .lg\\:border-left-3 {\n border-left-width: 3px !important;\n border-left-style: solid;\n }\n .lg\\:border-bottom-none {\n border-bottom-width: 0px !important;\n border-bottom-style: none;\n }\n .lg\\:border-bottom-1 {\n border-bottom-width: 1px !important;\n border-bottom-style: solid;\n }\n .lg\\:border-bottom-2 {\n border-bottom-width: 2px !important;\n border-bottom-style: solid;\n }\n .lg\\:border-bottom-3 {\n border-bottom-width: 3px !important;\n border-bottom-style: solid;\n }\n .lg\\:border-x-none {\n border-left-width: 0px !important;\n border-left-style: none;\n border-right-width: 0px !important;\n border-right-style: none;\n }\n .lg\\:border-x-1 {\n border-left-width: 1px !important;\n border-left-style: solid;\n border-right-width: 1px !important;\n border-right-style: solid;\n }\n .lg\\:border-x-2 {\n border-left-width: 2px !important;\n border-left-style: solid;\n border-right-width: 2px !important;\n border-right-style: solid;\n }\n .lg\\:border-x-3 {\n border-left-width: 3px !important;\n border-left-style: solid;\n border-right-width: 3px !important;\n border-right-style: solid;\n }\n .lg\\:border-y-none {\n border-top-width: 0px !important;\n border-top-style: none;\n border-bottom-width: 0px !important;\n border-bottom-style: none;\n }\n .lg\\:border-y-1 {\n border-top-width: 1px !important;\n border-top-style: solid;\n border-bottom-width: 1px !important;\n border-bottom-style: solid;\n }\n .lg\\:border-y-2 {\n border-top-width: 2px !important;\n border-top-style: solid;\n border-bottom-width: 2px !important;\n border-bottom-style: solid;\n }\n .lg\\:border-y-3 {\n border-top-width: 3px !important;\n border-top-style: solid;\n border-bottom-width: 3px !important;\n border-bottom-style: solid;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:border-none {\n border-width: 0px !important;\n border-style: none;\n }\n .xl\\:border-1 {\n border-width: 1px !important;\n border-style: solid;\n }\n .xl\\:border-2 {\n border-width: 2px !important;\n border-style: solid;\n }\n .xl\\:border-3 {\n border-width: 3px !important;\n border-style: solid;\n }\n .xl\\:border-top-none {\n border-top-width: 0px !important;\n border-top-style: none;\n }\n .xl\\:border-top-1 {\n border-top-width: 1px !important;\n border-top-style: solid;\n }\n .xl\\:border-top-2 {\n border-top-width: 2px !important;\n border-top-style: solid;\n }\n .xl\\:border-top-3 {\n border-top-width: 3px !important;\n border-top-style: solid;\n }\n .xl\\:border-right-none {\n border-right-width: 0px !important;\n border-right-style: none;\n }\n .xl\\:border-right-1 {\n border-right-width: 1px !important;\n border-right-style: solid;\n }\n .xl\\:border-right-2 {\n border-right-width: 2px !important;\n border-right-style: solid;\n }\n .xl\\:border-right-3 {\n border-right-width: 3px !important;\n border-right-style: solid;\n }\n .xl\\:border-left-none {\n border-left-width: 0px !important;\n border-left-style: none;\n }\n .xl\\:border-left-1 {\n border-left-width: 1px !important;\n border-left-style: solid;\n }\n .xl\\:border-left-2 {\n border-left-width: 2px !important;\n border-left-style: solid;\n }\n .xl\\:border-left-3 {\n border-left-width: 3px !important;\n border-left-style: solid;\n }\n .xl\\:border-bottom-none {\n border-bottom-width: 0px !important;\n border-bottom-style: none;\n }\n .xl\\:border-bottom-1 {\n border-bottom-width: 1px !important;\n border-bottom-style: solid;\n }\n .xl\\:border-bottom-2 {\n border-bottom-width: 2px !important;\n border-bottom-style: solid;\n }\n .xl\\:border-bottom-3 {\n border-bottom-width: 3px !important;\n border-bottom-style: solid;\n }\n .xl\\:border-x-none {\n border-left-width: 0px !important;\n border-left-style: none;\n border-right-width: 0px !important;\n border-right-style: none;\n }\n .xl\\:border-x-1 {\n border-left-width: 1px !important;\n border-left-style: solid;\n border-right-width: 1px !important;\n border-right-style: solid;\n }\n .xl\\:border-x-2 {\n border-left-width: 2px !important;\n border-left-style: solid;\n border-right-width: 2px !important;\n border-right-style: solid;\n }\n .xl\\:border-x-3 {\n border-left-width: 3px !important;\n border-left-style: solid;\n border-right-width: 3px !important;\n border-right-style: solid;\n }\n .xl\\:border-y-none {\n border-top-width: 0px !important;\n border-top-style: none;\n border-bottom-width: 0px !important;\n border-bottom-style: none;\n }\n .xl\\:border-y-1 {\n border-top-width: 1px !important;\n border-top-style: solid;\n border-bottom-width: 1px !important;\n border-bottom-style: solid;\n }\n .xl\\:border-y-2 {\n border-top-width: 2px !important;\n border-top-style: solid;\n border-bottom-width: 2px !important;\n border-bottom-style: solid;\n }\n .xl\\:border-y-3 {\n border-top-width: 3px !important;\n border-top-style: solid;\n border-bottom-width: 3px !important;\n border-bottom-style: solid;\n }\n}\n.border-solid {\n border-style: solid !important;\n}\n\n.border-dashed {\n border-style: dashed !important;\n}\n\n.border-dotted {\n border-style: dotted !important;\n}\n\n.border-double {\n border-style: double !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:border-solid {\n border-style: solid !important;\n }\n .sm\\:border-dashed {\n border-style: dashed !important;\n }\n .sm\\:border-dotted {\n border-style: dotted !important;\n }\n .sm\\:border-double {\n border-style: double !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:border-solid {\n border-style: solid !important;\n }\n .md\\:border-dashed {\n border-style: dashed !important;\n }\n .md\\:border-dotted {\n border-style: dotted !important;\n }\n .md\\:border-double {\n border-style: double !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:border-solid {\n border-style: solid !important;\n }\n .lg\\:border-dashed {\n border-style: dashed !important;\n }\n .lg\\:border-dotted {\n border-style: dotted !important;\n }\n .lg\\:border-double {\n border-style: double !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:border-solid {\n border-style: solid !important;\n }\n .xl\\:border-dashed {\n border-style: dashed !important;\n }\n .xl\\:border-dotted {\n border-style: dotted !important;\n }\n .xl\\:border-double {\n border-style: double !important;\n }\n}\n.border-noround {\n border-radius: 0 !important;\n}\n\n.border-round {\n border-radius: var(--border-radius) !important;\n}\n\n.border-round-xs {\n border-radius: 0.125rem !important;\n}\n\n.border-round-sm {\n border-radius: 0.25rem !important;\n}\n\n.border-round-md {\n border-radius: 0.375rem !important;\n}\n\n.border-round-lg {\n border-radius: 0.5rem !important;\n}\n\n.border-round-xl {\n border-radius: 0.75rem !important;\n}\n\n.border-round-2xl {\n border-radius: 1rem !important;\n}\n\n.border-round-3xl {\n border-radius: 1.5rem !important;\n}\n\n.border-circle {\n border-radius: 50% !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:border-noround {\n border-radius: 0 !important;\n }\n .sm\\:border-round {\n border-radius: var(--border-radius) !important;\n }\n .sm\\:border-round-xs {\n border-radius: 0.125rem !important;\n }\n .sm\\:border-round-sm {\n border-radius: 0.25rem !important;\n }\n .sm\\:border-round-md {\n border-radius: 0.375rem !important;\n }\n .sm\\:border-round-lg {\n border-radius: 0.5rem !important;\n }\n .sm\\:border-round-xl {\n border-radius: 0.75rem !important;\n }\n .sm\\:border-round-2xl {\n border-radius: 1rem !important;\n }\n .sm\\:border-round-3xl {\n border-radius: 1.5rem !important;\n }\n .sm\\:border-circle {\n border-radius: 50% !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:border-noround {\n border-radius: 0 !important;\n }\n .md\\:border-round {\n border-radius: var(--border-radius) !important;\n }\n .md\\:border-round-xs {\n border-radius: 0.125rem !important;\n }\n .md\\:border-round-sm {\n border-radius: 0.25rem !important;\n }\n .md\\:border-round-md {\n border-radius: 0.375rem !important;\n }\n .md\\:border-round-lg {\n border-radius: 0.5rem !important;\n }\n .md\\:border-round-xl {\n border-radius: 0.75rem !important;\n }\n .md\\:border-round-2xl {\n border-radius: 1rem !important;\n }\n .md\\:border-round-3xl {\n border-radius: 1.5rem !important;\n }\n .md\\:border-circle {\n border-radius: 50% !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:border-noround {\n border-radius: 0 !important;\n }\n .lg\\:border-round {\n border-radius: var(--border-radius) !important;\n }\n .lg\\:border-round-xs {\n border-radius: 0.125rem !important;\n }\n .lg\\:border-round-sm {\n border-radius: 0.25rem !important;\n }\n .lg\\:border-round-md {\n border-radius: 0.375rem !important;\n }\n .lg\\:border-round-lg {\n border-radius: 0.5rem !important;\n }\n .lg\\:border-round-xl {\n border-radius: 0.75rem !important;\n }\n .lg\\:border-round-2xl {\n border-radius: 1rem !important;\n }\n .lg\\:border-round-3xl {\n border-radius: 1.5rem !important;\n }\n .lg\\:border-circle {\n border-radius: 50% !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:border-noround {\n border-radius: 0 !important;\n }\n .xl\\:border-round {\n border-radius: var(--border-radius) !important;\n }\n .xl\\:border-round-xs {\n border-radius: 0.125rem !important;\n }\n .xl\\:border-round-sm {\n border-radius: 0.25rem !important;\n }\n .xl\\:border-round-md {\n border-radius: 0.375rem !important;\n }\n .xl\\:border-round-lg {\n border-radius: 0.5rem !important;\n }\n .xl\\:border-round-xl {\n border-radius: 0.75rem !important;\n }\n .xl\\:border-round-2xl {\n border-radius: 1rem !important;\n }\n .xl\\:border-round-3xl {\n border-radius: 1.5rem !important;\n }\n .xl\\:border-circle {\n border-radius: 50% !important;\n }\n}\n.border-noround-left {\n border-top-left-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n}\n\n.border-noround-top {\n border-top-left-radius: 0 !important;\n border-top-right-radius: 0 !important;\n}\n\n.border-noround-right {\n border-top-right-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n}\n\n.border-noround-bottom {\n border-bottom-left-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n}\n\n.border-round-left {\n border-top-left-radius: var(--border-radius) !important;\n border-bottom-left-radius: var(--border-radius) !important;\n}\n\n.border-round-top {\n border-top-left-radius: var(--border-radius) !important;\n border-top-right-radius: var(--border-radius) !important;\n}\n\n.border-round-right {\n border-top-right-radius: var(--border-radius) !important;\n border-bottom-right-radius: var(--border-radius) !important;\n}\n\n.border-round-bottom {\n border-bottom-left-radius: var(--border-radius) !important;\n border-bottom-right-radius: var(--border-radius) !important;\n}\n\n.border-round-left-xs {\n border-top-left-radius: 0.125rem !important;\n border-bottom-left-radius: 0.125rem !important;\n}\n\n.border-round-top-xs {\n border-top-left-radius: 0.125rem !important;\n border-top-right-radius: 0.125rem !important;\n}\n\n.border-round-right-xs {\n border-top-right-radius: 0.125rem !important;\n border-bottom-right-radius: 0.125rem !important;\n}\n\n.border-round-bottom-xs {\n border-bottom-left-radius: 0.125rem !important;\n border-bottom-right-radius: 0.125rem !important;\n}\n\n.border-round-left-sm {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.border-round-top-sm {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.border-round-right-sm {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.border-round-bottom-sm {\n border-bottom-left-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.border-round-left-md {\n border-top-left-radius: 0.375rem !important;\n border-bottom-left-radius: 0.375rem !important;\n}\n\n.border-round-top-md {\n border-top-left-radius: 0.375rem !important;\n border-top-right-radius: 0.375rem !important;\n}\n\n.border-round-right-md {\n border-top-right-radius: 0.375rem !important;\n border-bottom-right-radius: 0.375rem !important;\n}\n\n.border-round-bottom-md {\n border-bottom-left-radius: 0.375rem !important;\n border-bottom-right-radius: 0.375rem !important;\n}\n\n.border-round-left-lg {\n border-top-left-radius: 0.5rem !important;\n border-bottom-left-radius: 0.5rem !important;\n}\n\n.border-round-top-lg {\n border-top-left-radius: 0.5rem !important;\n border-top-right-radius: 0.5rem !important;\n}\n\n.border-round-right-lg {\n border-top-right-radius: 0.5rem !important;\n border-bottom-right-radius: 0.5rem !important;\n}\n\n.border-round-bottom-lg {\n border-bottom-left-radius: 0.5rem !important;\n border-bottom-right-radius: 0.5rem !important;\n}\n\n.border-round-left-xl {\n border-top-left-radius: 0.75rem !important;\n border-bottom-left-radius: 0.75rem !important;\n}\n\n.border-round-top-xl {\n border-top-left-radius: 0.75rem !important;\n border-top-right-radius: 0.75rem !important;\n}\n\n.border-round-right-xl {\n border-top-right-radius: 0.75rem !important;\n border-bottom-right-radius: 0.75rem !important;\n}\n\n.border-round-bottom-xl {\n border-bottom-left-radius: 0.75rem !important;\n border-bottom-right-radius: 0.75rem !important;\n}\n\n.border-round-left-2xl {\n border-top-left-radius: 1rem !important;\n border-bottom-left-radius: 1rem !important;\n}\n\n.border-round-top-2xl {\n border-top-left-radius: 1rem !important;\n border-top-right-radius: 1rem !important;\n}\n\n.border-round-right-2xl {\n border-top-right-radius: 1rem !important;\n border-bottom-right-radius: 1rem !important;\n}\n\n.border-round-bottom-2xl {\n border-bottom-left-radius: 1rem !important;\n border-bottom-right-radius: 1rem !important;\n}\n\n.border-round-left-3xl {\n border-top-left-radius: 1.5rem !important;\n border-bottom-left-radius: 1.5rem !important;\n}\n\n.border-round-top-3xl {\n border-top-left-radius: 1.5rem !important;\n border-top-right-radius: 1.5rem !important;\n}\n\n.border-round-right-3xl {\n border-top-right-radius: 1.5rem !important;\n border-bottom-right-radius: 1.5rem !important;\n}\n\n.border-round-bottom-3xl {\n border-bottom-left-radius: 1.5rem !important;\n border-bottom-right-radius: 1.5rem !important;\n}\n\n.border-circle-left {\n border-top-left-radius: 50% !important;\n border-bottom-left-radius: 50% !important;\n}\n\n.border-circle-top {\n border-top-left-radius: 50% !important;\n border-top-right-radius: 50% !important;\n}\n\n.border-circle-right {\n border-top-right-radius: 50% !important;\n border-bottom-right-radius: 50% !important;\n}\n\n.border-circle-bottom {\n border-bottom-left-radius: 50% !important;\n border-bottom-right-radius: 50% !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:border-noround-left {\n border-top-left-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n }\n .sm\\:border-noround-top {\n border-top-left-radius: 0 !important;\n border-top-right-radius: 0 !important;\n }\n .sm\\:border-noround-right {\n border-top-right-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n }\n .sm\\:border-noround-bottom {\n border-bottom-left-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n }\n .sm\\:border-round-left {\n border-top-left-radius: var(--border-radius) !important;\n border-bottom-left-radius: var(--border-radius) !important;\n }\n .sm\\:border-round-top {\n border-top-left-radius: var(--border-radius) !important;\n border-top-right-radius: var(--border-radius) !important;\n }\n .sm\\:border-round-right {\n border-top-right-radius: var(--border-radius) !important;\n border-bottom-right-radius: var(--border-radius) !important;\n }\n .sm\\:border-round-bottom {\n border-bottom-left-radius: var(--border-radius) !important;\n border-bottom-right-radius: var(--border-radius) !important;\n }\n .sm\\:border-round-left-xs {\n border-top-left-radius: 0.125rem !important;\n border-bottom-left-radius: 0.125rem !important;\n }\n .sm\\:border-round-top-xs {\n border-top-left-radius: 0.125rem !important;\n border-top-right-radius: 0.125rem !important;\n }\n .sm\\:border-round-right-xs {\n border-top-right-radius: 0.125rem !important;\n border-bottom-right-radius: 0.125rem !important;\n }\n .sm\\:border-round-bottom-xs {\n border-bottom-left-radius: 0.125rem !important;\n border-bottom-right-radius: 0.125rem !important;\n }\n .sm\\:border-round-left-sm {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n }\n .sm\\:border-round-top-sm {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n }\n .sm\\:border-round-right-sm {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n }\n .sm\\:border-round-bottom-sm {\n border-bottom-left-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n }\n .sm\\:border-round-left-md {\n border-top-left-radius: 0.375rem !important;\n border-bottom-left-radius: 0.375rem !important;\n }\n .sm\\:border-round-top-md {\n border-top-left-radius: 0.375rem !important;\n border-top-right-radius: 0.375rem !important;\n }\n .sm\\:border-round-right-md {\n border-top-right-radius: 0.375rem !important;\n border-bottom-right-radius: 0.375rem !important;\n }\n .sm\\:border-round-bottom-md {\n border-bottom-left-radius: 0.375rem !important;\n border-bottom-right-radius: 0.375rem !important;\n }\n .sm\\:border-round-left-lg {\n border-top-left-radius: 0.5rem !important;\n border-bottom-left-radius: 0.5rem !important;\n }\n .sm\\:border-round-top-lg {\n border-top-left-radius: 0.5rem !important;\n border-top-right-radius: 0.5rem !important;\n }\n .sm\\:border-round-right-lg {\n border-top-right-radius: 0.5rem !important;\n border-bottom-right-radius: 0.5rem !important;\n }\n .sm\\:border-round-bottom-lg {\n border-bottom-left-radius: 0.5rem !important;\n border-bottom-right-radius: 0.5rem !important;\n }\n .sm\\:border-round-left-xl {\n border-top-left-radius: 0.75rem !important;\n border-bottom-left-radius: 0.75rem !important;\n }\n .sm\\:border-round-top-xl {\n border-top-left-radius: 0.75rem !important;\n border-top-right-radius: 0.75rem !important;\n }\n .sm\\:border-round-right-xl {\n border-top-right-radius: 0.75rem !important;\n border-bottom-right-radius: 0.75rem !important;\n }\n .sm\\:border-round-bottom-xl {\n border-bottom-left-radius: 0.75rem !important;\n border-bottom-right-radius: 0.75rem !important;\n }\n .sm\\:border-round-left-2xl {\n border-top-left-radius: 1rem !important;\n border-bottom-left-radius: 1rem !important;\n }\n .sm\\:border-round-top-2xl {\n border-top-left-radius: 1rem !important;\n border-top-right-radius: 1rem !important;\n }\n .sm\\:border-round-right-2xl {\n border-top-right-radius: 1rem !important;\n border-bottom-right-radius: 1rem !important;\n }\n .sm\\:border-round-bottom-2xl {\n border-bottom-left-radius: 1rem !important;\n border-bottom-right-radius: 1rem !important;\n }\n .sm\\:border-round-left-3xl {\n border-top-left-radius: 1.5rem !important;\n border-bottom-left-radius: 1.5rem !important;\n }\n .sm\\:border-round-top-3xl {\n border-top-left-radius: 1.5rem !important;\n border-top-right-radius: 1.5rem !important;\n }\n .sm\\:border-round-right-3xl {\n border-top-right-radius: 1.5rem !important;\n border-bottom-right-radius: 1.5rem !important;\n }\n .sm\\:border-round-bottom-3xl {\n border-bottom-left-radius: 1.5rem !important;\n border-bottom-right-radius: 1.5rem !important;\n }\n .sm\\:border-circle-left {\n border-top-left-radius: 50% !important;\n border-bottom-left-radius: 50% !important;\n }\n .sm\\:border-circle-top {\n border-top-left-radius: 50% !important;\n border-top-right-radius: 50% !important;\n }\n .sm\\:border-circle-right {\n border-top-right-radius: 50% !important;\n border-bottom-right-radius: 50% !important;\n }\n .sm\\:border-circle-bottom {\n border-bottom-left-radius: 50% !important;\n border-bottom-right-radius: 50% !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:border-noround-left {\n border-top-left-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n }\n .md\\:border-noround-top {\n border-top-left-radius: 0 !important;\n border-top-right-radius: 0 !important;\n }\n .md\\:border-noround-right {\n border-top-right-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n }\n .md\\:border-noround-bottom {\n border-bottom-left-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n }\n .md\\:border-round-left {\n border-top-left-radius: var(--border-radius) !important;\n border-bottom-left-radius: var(--border-radius) !important;\n }\n .md\\:border-round-top {\n border-top-left-radius: var(--border-radius) !important;\n border-top-right-radius: var(--border-radius) !important;\n }\n .md\\:border-round-right {\n border-top-right-radius: var(--border-radius) !important;\n border-bottom-right-radius: var(--border-radius) !important;\n }\n .md\\:border-round-bottom {\n border-bottom-left-radius: var(--border-radius) !important;\n border-bottom-right-radius: var(--border-radius) !important;\n }\n .md\\:border-round-left-xs {\n border-top-left-radius: 0.125rem !important;\n border-bottom-left-radius: 0.125rem !important;\n }\n .md\\:border-round-top-xs {\n border-top-left-radius: 0.125rem !important;\n border-top-right-radius: 0.125rem !important;\n }\n .md\\:border-round-right-xs {\n border-top-right-radius: 0.125rem !important;\n border-bottom-right-radius: 0.125rem !important;\n }\n .md\\:border-round-bottom-xs {\n border-bottom-left-radius: 0.125rem !important;\n border-bottom-right-radius: 0.125rem !important;\n }\n .md\\:border-round-left-sm {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n }\n .md\\:border-round-top-sm {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n }\n .md\\:border-round-right-sm {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n }\n .md\\:border-round-bottom-sm {\n border-bottom-left-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n }\n .md\\:border-round-left-md {\n border-top-left-radius: 0.375rem !important;\n border-bottom-left-radius: 0.375rem !important;\n }\n .md\\:border-round-top-md {\n border-top-left-radius: 0.375rem !important;\n border-top-right-radius: 0.375rem !important;\n }\n .md\\:border-round-right-md {\n border-top-right-radius: 0.375rem !important;\n border-bottom-right-radius: 0.375rem !important;\n }\n .md\\:border-round-bottom-md {\n border-bottom-left-radius: 0.375rem !important;\n border-bottom-right-radius: 0.375rem !important;\n }\n .md\\:border-round-left-lg {\n border-top-left-radius: 0.5rem !important;\n border-bottom-left-radius: 0.5rem !important;\n }\n .md\\:border-round-top-lg {\n border-top-left-radius: 0.5rem !important;\n border-top-right-radius: 0.5rem !important;\n }\n .md\\:border-round-right-lg {\n border-top-right-radius: 0.5rem !important;\n border-bottom-right-radius: 0.5rem !important;\n }\n .md\\:border-round-bottom-lg {\n border-bottom-left-radius: 0.5rem !important;\n border-bottom-right-radius: 0.5rem !important;\n }\n .md\\:border-round-left-xl {\n border-top-left-radius: 0.75rem !important;\n border-bottom-left-radius: 0.75rem !important;\n }\n .md\\:border-round-top-xl {\n border-top-left-radius: 0.75rem !important;\n border-top-right-radius: 0.75rem !important;\n }\n .md\\:border-round-right-xl {\n border-top-right-radius: 0.75rem !important;\n border-bottom-right-radius: 0.75rem !important;\n }\n .md\\:border-round-bottom-xl {\n border-bottom-left-radius: 0.75rem !important;\n border-bottom-right-radius: 0.75rem !important;\n }\n .md\\:border-round-left-2xl {\n border-top-left-radius: 1rem !important;\n border-bottom-left-radius: 1rem !important;\n }\n .md\\:border-round-top-2xl {\n border-top-left-radius: 1rem !important;\n border-top-right-radius: 1rem !important;\n }\n .md\\:border-round-right-2xl {\n border-top-right-radius: 1rem !important;\n border-bottom-right-radius: 1rem !important;\n }\n .md\\:border-round-bottom-2xl {\n border-bottom-left-radius: 1rem !important;\n border-bottom-right-radius: 1rem !important;\n }\n .md\\:border-round-left-3xl {\n border-top-left-radius: 1.5rem !important;\n border-bottom-left-radius: 1.5rem !important;\n }\n .md\\:border-round-top-3xl {\n border-top-left-radius: 1.5rem !important;\n border-top-right-radius: 1.5rem !important;\n }\n .md\\:border-round-right-3xl {\n border-top-right-radius: 1.5rem !important;\n border-bottom-right-radius: 1.5rem !important;\n }\n .md\\:border-round-bottom-3xl {\n border-bottom-left-radius: 1.5rem !important;\n border-bottom-right-radius: 1.5rem !important;\n }\n .md\\:border-circle-left {\n border-top-left-radius: 50% !important;\n border-bottom-left-radius: 50% !important;\n }\n .md\\:border-circle-top {\n border-top-left-radius: 50% !important;\n border-top-right-radius: 50% !important;\n }\n .md\\:border-circle-right {\n border-top-right-radius: 50% !important;\n border-bottom-right-radius: 50% !important;\n }\n .md\\:border-circle-bottom {\n border-bottom-left-radius: 50% !important;\n border-bottom-right-radius: 50% !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:border-noround-left {\n border-top-left-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n }\n .lg\\:border-noround-top {\n border-top-left-radius: 0 !important;\n border-top-right-radius: 0 !important;\n }\n .lg\\:border-noround-right {\n border-top-right-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n }\n .lg\\:border-noround-bottom {\n border-bottom-left-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n }\n .lg\\:border-round-left {\n border-top-left-radius: var(--border-radius) !important;\n border-bottom-left-radius: var(--border-radius) !important;\n }\n .lg\\:border-round-top {\n border-top-left-radius: var(--border-radius) !important;\n border-top-right-radius: var(--border-radius) !important;\n }\n .lg\\:border-round-right {\n border-top-right-radius: var(--border-radius) !important;\n border-bottom-right-radius: var(--border-radius) !important;\n }\n .lg\\:border-round-bottom {\n border-bottom-left-radius: var(--border-radius) !important;\n border-bottom-right-radius: var(--border-radius) !important;\n }\n .lg\\:border-round-left-xs {\n border-top-left-radius: 0.125rem !important;\n border-bottom-left-radius: 0.125rem !important;\n }\n .lg\\:border-round-top-xs {\n border-top-left-radius: 0.125rem !important;\n border-top-right-radius: 0.125rem !important;\n }\n .lg\\:border-round-right-xs {\n border-top-right-radius: 0.125rem !important;\n border-bottom-right-radius: 0.125rem !important;\n }\n .lg\\:border-round-bottom-xs {\n border-bottom-left-radius: 0.125rem !important;\n border-bottom-right-radius: 0.125rem !important;\n }\n .lg\\:border-round-left-sm {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n }\n .lg\\:border-round-top-sm {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n }\n .lg\\:border-round-right-sm {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n }\n .lg\\:border-round-bottom-sm {\n border-bottom-left-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n }\n .lg\\:border-round-left-md {\n border-top-left-radius: 0.375rem !important;\n border-bottom-left-radius: 0.375rem !important;\n }\n .lg\\:border-round-top-md {\n border-top-left-radius: 0.375rem !important;\n border-top-right-radius: 0.375rem !important;\n }\n .lg\\:border-round-right-md {\n border-top-right-radius: 0.375rem !important;\n border-bottom-right-radius: 0.375rem !important;\n }\n .lg\\:border-round-bottom-md {\n border-bottom-left-radius: 0.375rem !important;\n border-bottom-right-radius: 0.375rem !important;\n }\n .lg\\:border-round-left-lg {\n border-top-left-radius: 0.5rem !important;\n border-bottom-left-radius: 0.5rem !important;\n }\n .lg\\:border-round-top-lg {\n border-top-left-radius: 0.5rem !important;\n border-top-right-radius: 0.5rem !important;\n }\n .lg\\:border-round-right-lg {\n border-top-right-radius: 0.5rem !important;\n border-bottom-right-radius: 0.5rem !important;\n }\n .lg\\:border-round-bottom-lg {\n border-bottom-left-radius: 0.5rem !important;\n border-bottom-right-radius: 0.5rem !important;\n }\n .lg\\:border-round-left-xl {\n border-top-left-radius: 0.75rem !important;\n border-bottom-left-radius: 0.75rem !important;\n }\n .lg\\:border-round-top-xl {\n border-top-left-radius: 0.75rem !important;\n border-top-right-radius: 0.75rem !important;\n }\n .lg\\:border-round-right-xl {\n border-top-right-radius: 0.75rem !important;\n border-bottom-right-radius: 0.75rem !important;\n }\n .lg\\:border-round-bottom-xl {\n border-bottom-left-radius: 0.75rem !important;\n border-bottom-right-radius: 0.75rem !important;\n }\n .lg\\:border-round-left-2xl {\n border-top-left-radius: 1rem !important;\n border-bottom-left-radius: 1rem !important;\n }\n .lg\\:border-round-top-2xl {\n border-top-left-radius: 1rem !important;\n border-top-right-radius: 1rem !important;\n }\n .lg\\:border-round-right-2xl {\n border-top-right-radius: 1rem !important;\n border-bottom-right-radius: 1rem !important;\n }\n .lg\\:border-round-bottom-2xl {\n border-bottom-left-radius: 1rem !important;\n border-bottom-right-radius: 1rem !important;\n }\n .lg\\:border-round-left-3xl {\n border-top-left-radius: 1.5rem !important;\n border-bottom-left-radius: 1.5rem !important;\n }\n .lg\\:border-round-top-3xl {\n border-top-left-radius: 1.5rem !important;\n border-top-right-radius: 1.5rem !important;\n }\n .lg\\:border-round-right-3xl {\n border-top-right-radius: 1.5rem !important;\n border-bottom-right-radius: 1.5rem !important;\n }\n .lg\\:border-round-bottom-3xl {\n border-bottom-left-radius: 1.5rem !important;\n border-bottom-right-radius: 1.5rem !important;\n }\n .lg\\:border-circle-left {\n border-top-left-radius: 50% !important;\n border-bottom-left-radius: 50% !important;\n }\n .lg\\:border-circle-top {\n border-top-left-radius: 50% !important;\n border-top-right-radius: 50% !important;\n }\n .lg\\:border-circle-right {\n border-top-right-radius: 50% !important;\n border-bottom-right-radius: 50% !important;\n }\n .lg\\:border-circle-bottom {\n border-bottom-left-radius: 50% !important;\n border-bottom-right-radius: 50% !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:border-noround-left {\n border-top-left-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n }\n .xl\\:border-noround-top {\n border-top-left-radius: 0 !important;\n border-top-right-radius: 0 !important;\n }\n .xl\\:border-noround-right {\n border-top-right-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n }\n .xl\\:border-noround-bottom {\n border-bottom-left-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n }\n .xl\\:border-round-left {\n border-top-left-radius: var(--border-radius) !important;\n border-bottom-left-radius: var(--border-radius) !important;\n }\n .xl\\:border-round-top {\n border-top-left-radius: var(--border-radius) !important;\n border-top-right-radius: var(--border-radius) !important;\n }\n .xl\\:border-round-right {\n border-top-right-radius: var(--border-radius) !important;\n border-bottom-right-radius: var(--border-radius) !important;\n }\n .xl\\:border-round-bottom {\n border-bottom-left-radius: var(--border-radius) !important;\n border-bottom-right-radius: var(--border-radius) !important;\n }\n .xl\\:border-round-left-xs {\n border-top-left-radius: 0.125rem !important;\n border-bottom-left-radius: 0.125rem !important;\n }\n .xl\\:border-round-top-xs {\n border-top-left-radius: 0.125rem !important;\n border-top-right-radius: 0.125rem !important;\n }\n .xl\\:border-round-right-xs {\n border-top-right-radius: 0.125rem !important;\n border-bottom-right-radius: 0.125rem !important;\n }\n .xl\\:border-round-bottom-xs {\n border-bottom-left-radius: 0.125rem !important;\n border-bottom-right-radius: 0.125rem !important;\n }\n .xl\\:border-round-left-sm {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n }\n .xl\\:border-round-top-sm {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n }\n .xl\\:border-round-right-sm {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n }\n .xl\\:border-round-bottom-sm {\n border-bottom-left-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n }\n .xl\\:border-round-left-md {\n border-top-left-radius: 0.375rem !important;\n border-bottom-left-radius: 0.375rem !important;\n }\n .xl\\:border-round-top-md {\n border-top-left-radius: 0.375rem !important;\n border-top-right-radius: 0.375rem !important;\n }\n .xl\\:border-round-right-md {\n border-top-right-radius: 0.375rem !important;\n border-bottom-right-radius: 0.375rem !important;\n }\n .xl\\:border-round-bottom-md {\n border-bottom-left-radius: 0.375rem !important;\n border-bottom-right-radius: 0.375rem !important;\n }\n .xl\\:border-round-left-lg {\n border-top-left-radius: 0.5rem !important;\n border-bottom-left-radius: 0.5rem !important;\n }\n .xl\\:border-round-top-lg {\n border-top-left-radius: 0.5rem !important;\n border-top-right-radius: 0.5rem !important;\n }\n .xl\\:border-round-right-lg {\n border-top-right-radius: 0.5rem !important;\n border-bottom-right-radius: 0.5rem !important;\n }\n .xl\\:border-round-bottom-lg {\n border-bottom-left-radius: 0.5rem !important;\n border-bottom-right-radius: 0.5rem !important;\n }\n .xl\\:border-round-left-xl {\n border-top-left-radius: 0.75rem !important;\n border-bottom-left-radius: 0.75rem !important;\n }\n .xl\\:border-round-top-xl {\n border-top-left-radius: 0.75rem !important;\n border-top-right-radius: 0.75rem !important;\n }\n .xl\\:border-round-right-xl {\n border-top-right-radius: 0.75rem !important;\n border-bottom-right-radius: 0.75rem !important;\n }\n .xl\\:border-round-bottom-xl {\n border-bottom-left-radius: 0.75rem !important;\n border-bottom-right-radius: 0.75rem !important;\n }\n .xl\\:border-round-left-2xl {\n border-top-left-radius: 1rem !important;\n border-bottom-left-radius: 1rem !important;\n }\n .xl\\:border-round-top-2xl {\n border-top-left-radius: 1rem !important;\n border-top-right-radius: 1rem !important;\n }\n .xl\\:border-round-right-2xl {\n border-top-right-radius: 1rem !important;\n border-bottom-right-radius: 1rem !important;\n }\n .xl\\:border-round-bottom-2xl {\n border-bottom-left-radius: 1rem !important;\n border-bottom-right-radius: 1rem !important;\n }\n .xl\\:border-round-left-3xl {\n border-top-left-radius: 1.5rem !important;\n border-bottom-left-radius: 1.5rem !important;\n }\n .xl\\:border-round-top-3xl {\n border-top-left-radius: 1.5rem !important;\n border-top-right-radius: 1.5rem !important;\n }\n .xl\\:border-round-right-3xl {\n border-top-right-radius: 1.5rem !important;\n border-bottom-right-radius: 1.5rem !important;\n }\n .xl\\:border-round-bottom-3xl {\n border-bottom-left-radius: 1.5rem !important;\n border-bottom-right-radius: 1.5rem !important;\n }\n .xl\\:border-circle-left {\n border-top-left-radius: 50% !important;\n border-bottom-left-radius: 50% !important;\n }\n .xl\\:border-circle-top {\n border-top-left-radius: 50% !important;\n border-top-right-radius: 50% !important;\n }\n .xl\\:border-circle-right {\n border-top-right-radius: 50% !important;\n border-bottom-right-radius: 50% !important;\n }\n .xl\\:border-circle-bottom {\n border-bottom-left-radius: 50% !important;\n border-bottom-right-radius: 50% !important;\n }\n}\n.w-full {\n width: 100% !important;\n}\n\n.w-screen {\n width: 100vw !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.w-1 {\n width: 8.3333% !important;\n}\n\n.w-2 {\n width: 16.6667% !important;\n}\n\n.w-3 {\n width: 25% !important;\n}\n\n.w-4 {\n width: 33.3333% !important;\n}\n\n.w-5 {\n width: 41.6667% !important;\n}\n\n.w-6 {\n width: 50% !important;\n}\n\n.w-7 {\n width: 58.3333% !important;\n}\n\n.w-8 {\n width: 66.6667% !important;\n}\n\n.w-9 {\n width: 75% !important;\n}\n\n.w-10 {\n width: 83.3333% !important;\n}\n\n.w-11 {\n width: 91.6667% !important;\n}\n\n.w-12 {\n width: 100% !important;\n}\n\n.w-min {\n width: -webkit-min-content !important;\n width: -moz-min-content !important;\n width: min-content !important;\n}\n\n.w-max {\n width: -webkit-max-content !important;\n width: -moz-max-content !important;\n width: max-content !important;\n}\n\n.w-fit {\n width: -webkit-fit-content !important;\n width: -moz-fit-content !important;\n width: fit-content !important;\n}\n\n.w-1rem {\n width: 1rem !important;\n}\n\n.w-2rem {\n width: 2rem !important;\n}\n\n.w-3rem {\n width: 3rem !important;\n}\n\n.w-4rem {\n width: 4rem !important;\n}\n\n.w-5rem {\n width: 5rem !important;\n}\n\n.w-6rem {\n width: 6rem !important;\n}\n\n.w-7rem {\n width: 7rem !important;\n}\n\n.w-8rem {\n width: 8rem !important;\n}\n\n.w-9rem {\n width: 9rem !important;\n}\n\n.w-10rem {\n width: 10rem !important;\n}\n\n.w-11rem {\n width: 11rem !important;\n}\n\n.w-12rem {\n width: 12rem !important;\n}\n\n.w-13rem {\n width: 13rem !important;\n}\n\n.w-14rem {\n width: 14rem !important;\n}\n\n.w-15rem {\n width: 15rem !important;\n}\n\n.w-16rem {\n width: 16rem !important;\n}\n\n.w-17rem {\n width: 17rem !important;\n}\n\n.w-18rem {\n width: 18rem !important;\n}\n\n.w-19rem {\n width: 19rem !important;\n}\n\n.w-20rem {\n width: 20rem !important;\n}\n\n.w-21rem {\n width: 21rem !important;\n}\n\n.w-22rem {\n width: 22rem !important;\n}\n\n.w-23rem {\n width: 23rem !important;\n}\n\n.w-24rem {\n width: 24rem !important;\n}\n\n.w-25rem {\n width: 25rem !important;\n}\n\n.w-26rem {\n width: 26rem !important;\n}\n\n.w-27rem {\n width: 27rem !important;\n}\n\n.w-28rem {\n width: 28rem !important;\n}\n\n.w-29rem {\n width: 29rem !important;\n}\n\n.w-30rem {\n width: 30rem !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:w-full {\n width: 100% !important;\n }\n .sm\\:w-screen {\n width: 100vw !important;\n }\n .sm\\:w-auto {\n width: auto !important;\n }\n .sm\\:w-1 {\n width: 8.3333% !important;\n }\n .sm\\:w-2 {\n width: 16.6667% !important;\n }\n .sm\\:w-3 {\n width: 25% !important;\n }\n .sm\\:w-4 {\n width: 33.3333% !important;\n }\n .sm\\:w-5 {\n width: 41.6667% !important;\n }\n .sm\\:w-6 {\n width: 50% !important;\n }\n .sm\\:w-7 {\n width: 58.3333% !important;\n }\n .sm\\:w-8 {\n width: 66.6667% !important;\n }\n .sm\\:w-9 {\n width: 75% !important;\n }\n .sm\\:w-10 {\n width: 83.3333% !important;\n }\n .sm\\:w-11 {\n width: 91.6667% !important;\n }\n .sm\\:w-12 {\n width: 100% !important;\n }\n .sm\\:w-min {\n width: -webkit-min-content !important;\n width: -moz-min-content !important;\n width: min-content !important;\n }\n .sm\\:w-max {\n width: -webkit-max-content !important;\n width: -moz-max-content !important;\n width: max-content !important;\n }\n .sm\\:w-fit {\n width: -webkit-fit-content !important;\n width: -moz-fit-content !important;\n width: fit-content !important;\n }\n .sm\\:w-1rem {\n width: 1rem !important;\n }\n .sm\\:w-2rem {\n width: 2rem !important;\n }\n .sm\\:w-3rem {\n width: 3rem !important;\n }\n .sm\\:w-4rem {\n width: 4rem !important;\n }\n .sm\\:w-5rem {\n width: 5rem !important;\n }\n .sm\\:w-6rem {\n width: 6rem !important;\n }\n .sm\\:w-7rem {\n width: 7rem !important;\n }\n .sm\\:w-8rem {\n width: 8rem !important;\n }\n .sm\\:w-9rem {\n width: 9rem !important;\n }\n .sm\\:w-10rem {\n width: 10rem !important;\n }\n .sm\\:w-11rem {\n width: 11rem !important;\n }\n .sm\\:w-12rem {\n width: 12rem !important;\n }\n .sm\\:w-13rem {\n width: 13rem !important;\n }\n .sm\\:w-14rem {\n width: 14rem !important;\n }\n .sm\\:w-15rem {\n width: 15rem !important;\n }\n .sm\\:w-16rem {\n width: 16rem !important;\n }\n .sm\\:w-17rem {\n width: 17rem !important;\n }\n .sm\\:w-18rem {\n width: 18rem !important;\n }\n .sm\\:w-19rem {\n width: 19rem !important;\n }\n .sm\\:w-20rem {\n width: 20rem !important;\n }\n .sm\\:w-21rem {\n width: 21rem !important;\n }\n .sm\\:w-22rem {\n width: 22rem !important;\n }\n .sm\\:w-23rem {\n width: 23rem !important;\n }\n .sm\\:w-24rem {\n width: 24rem !important;\n }\n .sm\\:w-25rem {\n width: 25rem !important;\n }\n .sm\\:w-26rem {\n width: 26rem !important;\n }\n .sm\\:w-27rem {\n width: 27rem !important;\n }\n .sm\\:w-28rem {\n width: 28rem !important;\n }\n .sm\\:w-29rem {\n width: 29rem !important;\n }\n .sm\\:w-30rem {\n width: 30rem !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:w-full {\n width: 100% !important;\n }\n .md\\:w-screen {\n width: 100vw !important;\n }\n .md\\:w-auto {\n width: auto !important;\n }\n .md\\:w-1 {\n width: 8.3333% !important;\n }\n .md\\:w-2 {\n width: 16.6667% !important;\n }\n .md\\:w-3 {\n width: 25% !important;\n }\n .md\\:w-4 {\n width: 33.3333% !important;\n }\n .md\\:w-5 {\n width: 41.6667% !important;\n }\n .md\\:w-6 {\n width: 50% !important;\n }\n .md\\:w-7 {\n width: 58.3333% !important;\n }\n .md\\:w-8 {\n width: 66.6667% !important;\n }\n .md\\:w-9 {\n width: 75% !important;\n }\n .md\\:w-10 {\n width: 83.3333% !important;\n }\n .md\\:w-11 {\n width: 91.6667% !important;\n }\n .md\\:w-12 {\n width: 100% !important;\n }\n .md\\:w-min {\n width: -webkit-min-content !important;\n width: -moz-min-content !important;\n width: min-content !important;\n }\n .md\\:w-max {\n width: -webkit-max-content !important;\n width: -moz-max-content !important;\n width: max-content !important;\n }\n .md\\:w-fit {\n width: -webkit-fit-content !important;\n width: -moz-fit-content !important;\n width: fit-content !important;\n }\n .md\\:w-1rem {\n width: 1rem !important;\n }\n .md\\:w-2rem {\n width: 2rem !important;\n }\n .md\\:w-3rem {\n width: 3rem !important;\n }\n .md\\:w-4rem {\n width: 4rem !important;\n }\n .md\\:w-5rem {\n width: 5rem !important;\n }\n .md\\:w-6rem {\n width: 6rem !important;\n }\n .md\\:w-7rem {\n width: 7rem !important;\n }\n .md\\:w-8rem {\n width: 8rem !important;\n }\n .md\\:w-9rem {\n width: 9rem !important;\n }\n .md\\:w-10rem {\n width: 10rem !important;\n }\n .md\\:w-11rem {\n width: 11rem !important;\n }\n .md\\:w-12rem {\n width: 12rem !important;\n }\n .md\\:w-13rem {\n width: 13rem !important;\n }\n .md\\:w-14rem {\n width: 14rem !important;\n }\n .md\\:w-15rem {\n width: 15rem !important;\n }\n .md\\:w-16rem {\n width: 16rem !important;\n }\n .md\\:w-17rem {\n width: 17rem !important;\n }\n .md\\:w-18rem {\n width: 18rem !important;\n }\n .md\\:w-19rem {\n width: 19rem !important;\n }\n .md\\:w-20rem {\n width: 20rem !important;\n }\n .md\\:w-21rem {\n width: 21rem !important;\n }\n .md\\:w-22rem {\n width: 22rem !important;\n }\n .md\\:w-23rem {\n width: 23rem !important;\n }\n .md\\:w-24rem {\n width: 24rem !important;\n }\n .md\\:w-25rem {\n width: 25rem !important;\n }\n .md\\:w-26rem {\n width: 26rem !important;\n }\n .md\\:w-27rem {\n width: 27rem !important;\n }\n .md\\:w-28rem {\n width: 28rem !important;\n }\n .md\\:w-29rem {\n width: 29rem !important;\n }\n .md\\:w-30rem {\n width: 30rem !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:w-full {\n width: 100% !important;\n }\n .lg\\:w-screen {\n width: 100vw !important;\n }\n .lg\\:w-auto {\n width: auto !important;\n }\n .lg\\:w-1 {\n width: 8.3333% !important;\n }\n .lg\\:w-2 {\n width: 16.6667% !important;\n }\n .lg\\:w-3 {\n width: 25% !important;\n }\n .lg\\:w-4 {\n width: 33.3333% !important;\n }\n .lg\\:w-5 {\n width: 41.6667% !important;\n }\n .lg\\:w-6 {\n width: 50% !important;\n }\n .lg\\:w-7 {\n width: 58.3333% !important;\n }\n .lg\\:w-8 {\n width: 66.6667% !important;\n }\n .lg\\:w-9 {\n width: 75% !important;\n }\n .lg\\:w-10 {\n width: 83.3333% !important;\n }\n .lg\\:w-11 {\n width: 91.6667% !important;\n }\n .lg\\:w-12 {\n width: 100% !important;\n }\n .lg\\:w-min {\n width: -webkit-min-content !important;\n width: -moz-min-content !important;\n width: min-content !important;\n }\n .lg\\:w-max {\n width: -webkit-max-content !important;\n width: -moz-max-content !important;\n width: max-content !important;\n }\n .lg\\:w-fit {\n width: -webkit-fit-content !important;\n width: -moz-fit-content !important;\n width: fit-content !important;\n }\n .lg\\:w-1rem {\n width: 1rem !important;\n }\n .lg\\:w-2rem {\n width: 2rem !important;\n }\n .lg\\:w-3rem {\n width: 3rem !important;\n }\n .lg\\:w-4rem {\n width: 4rem !important;\n }\n .lg\\:w-5rem {\n width: 5rem !important;\n }\n .lg\\:w-6rem {\n width: 6rem !important;\n }\n .lg\\:w-7rem {\n width: 7rem !important;\n }\n .lg\\:w-8rem {\n width: 8rem !important;\n }\n .lg\\:w-9rem {\n width: 9rem !important;\n }\n .lg\\:w-10rem {\n width: 10rem !important;\n }\n .lg\\:w-11rem {\n width: 11rem !important;\n }\n .lg\\:w-12rem {\n width: 12rem !important;\n }\n .lg\\:w-13rem {\n width: 13rem !important;\n }\n .lg\\:w-14rem {\n width: 14rem !important;\n }\n .lg\\:w-15rem {\n width: 15rem !important;\n }\n .lg\\:w-16rem {\n width: 16rem !important;\n }\n .lg\\:w-17rem {\n width: 17rem !important;\n }\n .lg\\:w-18rem {\n width: 18rem !important;\n }\n .lg\\:w-19rem {\n width: 19rem !important;\n }\n .lg\\:w-20rem {\n width: 20rem !important;\n }\n .lg\\:w-21rem {\n width: 21rem !important;\n }\n .lg\\:w-22rem {\n width: 22rem !important;\n }\n .lg\\:w-23rem {\n width: 23rem !important;\n }\n .lg\\:w-24rem {\n width: 24rem !important;\n }\n .lg\\:w-25rem {\n width: 25rem !important;\n }\n .lg\\:w-26rem {\n width: 26rem !important;\n }\n .lg\\:w-27rem {\n width: 27rem !important;\n }\n .lg\\:w-28rem {\n width: 28rem !important;\n }\n .lg\\:w-29rem {\n width: 29rem !important;\n }\n .lg\\:w-30rem {\n width: 30rem !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:w-full {\n width: 100% !important;\n }\n .xl\\:w-screen {\n width: 100vw !important;\n }\n .xl\\:w-auto {\n width: auto !important;\n }\n .xl\\:w-1 {\n width: 8.3333% !important;\n }\n .xl\\:w-2 {\n width: 16.6667% !important;\n }\n .xl\\:w-3 {\n width: 25% !important;\n }\n .xl\\:w-4 {\n width: 33.3333% !important;\n }\n .xl\\:w-5 {\n width: 41.6667% !important;\n }\n .xl\\:w-6 {\n width: 50% !important;\n }\n .xl\\:w-7 {\n width: 58.3333% !important;\n }\n .xl\\:w-8 {\n width: 66.6667% !important;\n }\n .xl\\:w-9 {\n width: 75% !important;\n }\n .xl\\:w-10 {\n width: 83.3333% !important;\n }\n .xl\\:w-11 {\n width: 91.6667% !important;\n }\n .xl\\:w-12 {\n width: 100% !important;\n }\n .xl\\:w-min {\n width: -webkit-min-content !important;\n width: -moz-min-content !important;\n width: min-content !important;\n }\n .xl\\:w-max {\n width: -webkit-max-content !important;\n width: -moz-max-content !important;\n width: max-content !important;\n }\n .xl\\:w-fit {\n width: -webkit-fit-content !important;\n width: -moz-fit-content !important;\n width: fit-content !important;\n }\n .xl\\:w-1rem {\n width: 1rem !important;\n }\n .xl\\:w-2rem {\n width: 2rem !important;\n }\n .xl\\:w-3rem {\n width: 3rem !important;\n }\n .xl\\:w-4rem {\n width: 4rem !important;\n }\n .xl\\:w-5rem {\n width: 5rem !important;\n }\n .xl\\:w-6rem {\n width: 6rem !important;\n }\n .xl\\:w-7rem {\n width: 7rem !important;\n }\n .xl\\:w-8rem {\n width: 8rem !important;\n }\n .xl\\:w-9rem {\n width: 9rem !important;\n }\n .xl\\:w-10rem {\n width: 10rem !important;\n }\n .xl\\:w-11rem {\n width: 11rem !important;\n }\n .xl\\:w-12rem {\n width: 12rem !important;\n }\n .xl\\:w-13rem {\n width: 13rem !important;\n }\n .xl\\:w-14rem {\n width: 14rem !important;\n }\n .xl\\:w-15rem {\n width: 15rem !important;\n }\n .xl\\:w-16rem {\n width: 16rem !important;\n }\n .xl\\:w-17rem {\n width: 17rem !important;\n }\n .xl\\:w-18rem {\n width: 18rem !important;\n }\n .xl\\:w-19rem {\n width: 19rem !important;\n }\n .xl\\:w-20rem {\n width: 20rem !important;\n }\n .xl\\:w-21rem {\n width: 21rem !important;\n }\n .xl\\:w-22rem {\n width: 22rem !important;\n }\n .xl\\:w-23rem {\n width: 23rem !important;\n }\n .xl\\:w-24rem {\n width: 24rem !important;\n }\n .xl\\:w-25rem {\n width: 25rem !important;\n }\n .xl\\:w-26rem {\n width: 26rem !important;\n }\n .xl\\:w-27rem {\n width: 27rem !important;\n }\n .xl\\:w-28rem {\n width: 28rem !important;\n }\n .xl\\:w-29rem {\n width: 29rem !important;\n }\n .xl\\:w-30rem {\n width: 30rem !important;\n }\n}\n.h-full {\n height: 100% !important;\n}\n\n.h-screen {\n height: 100vh !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.h-min {\n height: -webkit-min-content !important;\n height: -moz-min-content !important;\n height: min-content !important;\n}\n\n.h-max {\n height: -webkit-max-content !important;\n height: -moz-max-content !important;\n height: max-content !important;\n}\n\n.h-fit {\n height: -webkit-fit-content !important;\n height: -moz-fit-content !important;\n height: fit-content !important;\n}\n\n.h-1rem {\n height: 1rem !important;\n}\n\n.h-2rem {\n height: 2rem !important;\n}\n\n.h-3rem {\n height: 3rem !important;\n}\n\n.h-4rem {\n height: 4rem !important;\n}\n\n.h-5rem {\n height: 5rem !important;\n}\n\n.h-6rem {\n height: 6rem !important;\n}\n\n.h-7rem {\n height: 7rem !important;\n}\n\n.h-8rem {\n height: 8rem !important;\n}\n\n.h-9rem {\n height: 9rem !important;\n}\n\n.h-10rem {\n height: 10rem !important;\n}\n\n.h-11rem {\n height: 11rem !important;\n}\n\n.h-12rem {\n height: 12rem !important;\n}\n\n.h-13rem {\n height: 13rem !important;\n}\n\n.h-14rem {\n height: 14rem !important;\n}\n\n.h-15rem {\n height: 15rem !important;\n}\n\n.h-16rem {\n height: 16rem !important;\n}\n\n.h-17rem {\n height: 17rem !important;\n}\n\n.h-18rem {\n height: 18rem !important;\n}\n\n.h-19rem {\n height: 19rem !important;\n}\n\n.h-20rem {\n height: 20rem !important;\n}\n\n.h-21rem {\n height: 21rem !important;\n}\n\n.h-22rem {\n height: 22rem !important;\n}\n\n.h-23rem {\n height: 23rem !important;\n}\n\n.h-24rem {\n height: 24rem !important;\n}\n\n.h-25rem {\n height: 25rem !important;\n}\n\n.h-26rem {\n height: 26rem !important;\n}\n\n.h-27rem {\n height: 27rem !important;\n}\n\n.h-28rem {\n height: 28rem !important;\n}\n\n.h-29rem {\n height: 29rem !important;\n}\n\n.h-30rem {\n height: 30rem !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:h-full {\n height: 100% !important;\n }\n .sm\\:h-screen {\n height: 100vh !important;\n }\n .sm\\:h-auto {\n height: auto !important;\n }\n .sm\\:h-min {\n height: -webkit-min-content !important;\n height: -moz-min-content !important;\n height: min-content !important;\n }\n .sm\\:h-max {\n height: -webkit-max-content !important;\n height: -moz-max-content !important;\n height: max-content !important;\n }\n .sm\\:h-fit {\n height: -webkit-fit-content !important;\n height: -moz-fit-content !important;\n height: fit-content !important;\n }\n .sm\\:h-1rem {\n height: 1rem !important;\n }\n .sm\\:h-2rem {\n height: 2rem !important;\n }\n .sm\\:h-3rem {\n height: 3rem !important;\n }\n .sm\\:h-4rem {\n height: 4rem !important;\n }\n .sm\\:h-5rem {\n height: 5rem !important;\n }\n .sm\\:h-6rem {\n height: 6rem !important;\n }\n .sm\\:h-7rem {\n height: 7rem !important;\n }\n .sm\\:h-8rem {\n height: 8rem !important;\n }\n .sm\\:h-9rem {\n height: 9rem !important;\n }\n .sm\\:h-10rem {\n height: 10rem !important;\n }\n .sm\\:h-11rem {\n height: 11rem !important;\n }\n .sm\\:h-12rem {\n height: 12rem !important;\n }\n .sm\\:h-13rem {\n height: 13rem !important;\n }\n .sm\\:h-14rem {\n height: 14rem !important;\n }\n .sm\\:h-15rem {\n height: 15rem !important;\n }\n .sm\\:h-16rem {\n height: 16rem !important;\n }\n .sm\\:h-17rem {\n height: 17rem !important;\n }\n .sm\\:h-18rem {\n height: 18rem !important;\n }\n .sm\\:h-19rem {\n height: 19rem !important;\n }\n .sm\\:h-20rem {\n height: 20rem !important;\n }\n .sm\\:h-21rem {\n height: 21rem !important;\n }\n .sm\\:h-22rem {\n height: 22rem !important;\n }\n .sm\\:h-23rem {\n height: 23rem !important;\n }\n .sm\\:h-24rem {\n height: 24rem !important;\n }\n .sm\\:h-25rem {\n height: 25rem !important;\n }\n .sm\\:h-26rem {\n height: 26rem !important;\n }\n .sm\\:h-27rem {\n height: 27rem !important;\n }\n .sm\\:h-28rem {\n height: 28rem !important;\n }\n .sm\\:h-29rem {\n height: 29rem !important;\n }\n .sm\\:h-30rem {\n height: 30rem !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:h-full {\n height: 100% !important;\n }\n .md\\:h-screen {\n height: 100vh !important;\n }\n .md\\:h-auto {\n height: auto !important;\n }\n .md\\:h-min {\n height: -webkit-min-content !important;\n height: -moz-min-content !important;\n height: min-content !important;\n }\n .md\\:h-max {\n height: -webkit-max-content !important;\n height: -moz-max-content !important;\n height: max-content !important;\n }\n .md\\:h-fit {\n height: -webkit-fit-content !important;\n height: -moz-fit-content !important;\n height: fit-content !important;\n }\n .md\\:h-1rem {\n height: 1rem !important;\n }\n .md\\:h-2rem {\n height: 2rem !important;\n }\n .md\\:h-3rem {\n height: 3rem !important;\n }\n .md\\:h-4rem {\n height: 4rem !important;\n }\n .md\\:h-5rem {\n height: 5rem !important;\n }\n .md\\:h-6rem {\n height: 6rem !important;\n }\n .md\\:h-7rem {\n height: 7rem !important;\n }\n .md\\:h-8rem {\n height: 8rem !important;\n }\n .md\\:h-9rem {\n height: 9rem !important;\n }\n .md\\:h-10rem {\n height: 10rem !important;\n }\n .md\\:h-11rem {\n height: 11rem !important;\n }\n .md\\:h-12rem {\n height: 12rem !important;\n }\n .md\\:h-13rem {\n height: 13rem !important;\n }\n .md\\:h-14rem {\n height: 14rem !important;\n }\n .md\\:h-15rem {\n height: 15rem !important;\n }\n .md\\:h-16rem {\n height: 16rem !important;\n }\n .md\\:h-17rem {\n height: 17rem !important;\n }\n .md\\:h-18rem {\n height: 18rem !important;\n }\n .md\\:h-19rem {\n height: 19rem !important;\n }\n .md\\:h-20rem {\n height: 20rem !important;\n }\n .md\\:h-21rem {\n height: 21rem !important;\n }\n .md\\:h-22rem {\n height: 22rem !important;\n }\n .md\\:h-23rem {\n height: 23rem !important;\n }\n .md\\:h-24rem {\n height: 24rem !important;\n }\n .md\\:h-25rem {\n height: 25rem !important;\n }\n .md\\:h-26rem {\n height: 26rem !important;\n }\n .md\\:h-27rem {\n height: 27rem !important;\n }\n .md\\:h-28rem {\n height: 28rem !important;\n }\n .md\\:h-29rem {\n height: 29rem !important;\n }\n .md\\:h-30rem {\n height: 30rem !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:h-full {\n height: 100% !important;\n }\n .lg\\:h-screen {\n height: 100vh !important;\n }\n .lg\\:h-auto {\n height: auto !important;\n }\n .lg\\:h-min {\n height: -webkit-min-content !important;\n height: -moz-min-content !important;\n height: min-content !important;\n }\n .lg\\:h-max {\n height: -webkit-max-content !important;\n height: -moz-max-content !important;\n height: max-content !important;\n }\n .lg\\:h-fit {\n height: -webkit-fit-content !important;\n height: -moz-fit-content !important;\n height: fit-content !important;\n }\n .lg\\:h-1rem {\n height: 1rem !important;\n }\n .lg\\:h-2rem {\n height: 2rem !important;\n }\n .lg\\:h-3rem {\n height: 3rem !important;\n }\n .lg\\:h-4rem {\n height: 4rem !important;\n }\n .lg\\:h-5rem {\n height: 5rem !important;\n }\n .lg\\:h-6rem {\n height: 6rem !important;\n }\n .lg\\:h-7rem {\n height: 7rem !important;\n }\n .lg\\:h-8rem {\n height: 8rem !important;\n }\n .lg\\:h-9rem {\n height: 9rem !important;\n }\n .lg\\:h-10rem {\n height: 10rem !important;\n }\n .lg\\:h-11rem {\n height: 11rem !important;\n }\n .lg\\:h-12rem {\n height: 12rem !important;\n }\n .lg\\:h-13rem {\n height: 13rem !important;\n }\n .lg\\:h-14rem {\n height: 14rem !important;\n }\n .lg\\:h-15rem {\n height: 15rem !important;\n }\n .lg\\:h-16rem {\n height: 16rem !important;\n }\n .lg\\:h-17rem {\n height: 17rem !important;\n }\n .lg\\:h-18rem {\n height: 18rem !important;\n }\n .lg\\:h-19rem {\n height: 19rem !important;\n }\n .lg\\:h-20rem {\n height: 20rem !important;\n }\n .lg\\:h-21rem {\n height: 21rem !important;\n }\n .lg\\:h-22rem {\n height: 22rem !important;\n }\n .lg\\:h-23rem {\n height: 23rem !important;\n }\n .lg\\:h-24rem {\n height: 24rem !important;\n }\n .lg\\:h-25rem {\n height: 25rem !important;\n }\n .lg\\:h-26rem {\n height: 26rem !important;\n }\n .lg\\:h-27rem {\n height: 27rem !important;\n }\n .lg\\:h-28rem {\n height: 28rem !important;\n }\n .lg\\:h-29rem {\n height: 29rem !important;\n }\n .lg\\:h-30rem {\n height: 30rem !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:h-full {\n height: 100% !important;\n }\n .xl\\:h-screen {\n height: 100vh !important;\n }\n .xl\\:h-auto {\n height: auto !important;\n }\n .xl\\:h-min {\n height: -webkit-min-content !important;\n height: -moz-min-content !important;\n height: min-content !important;\n }\n .xl\\:h-max {\n height: -webkit-max-content !important;\n height: -moz-max-content !important;\n height: max-content !important;\n }\n .xl\\:h-fit {\n height: -webkit-fit-content !important;\n height: -moz-fit-content !important;\n height: fit-content !important;\n }\n .xl\\:h-1rem {\n height: 1rem !important;\n }\n .xl\\:h-2rem {\n height: 2rem !important;\n }\n .xl\\:h-3rem {\n height: 3rem !important;\n }\n .xl\\:h-4rem {\n height: 4rem !important;\n }\n .xl\\:h-5rem {\n height: 5rem !important;\n }\n .xl\\:h-6rem {\n height: 6rem !important;\n }\n .xl\\:h-7rem {\n height: 7rem !important;\n }\n .xl\\:h-8rem {\n height: 8rem !important;\n }\n .xl\\:h-9rem {\n height: 9rem !important;\n }\n .xl\\:h-10rem {\n height: 10rem !important;\n }\n .xl\\:h-11rem {\n height: 11rem !important;\n }\n .xl\\:h-12rem {\n height: 12rem !important;\n }\n .xl\\:h-13rem {\n height: 13rem !important;\n }\n .xl\\:h-14rem {\n height: 14rem !important;\n }\n .xl\\:h-15rem {\n height: 15rem !important;\n }\n .xl\\:h-16rem {\n height: 16rem !important;\n }\n .xl\\:h-17rem {\n height: 17rem !important;\n }\n .xl\\:h-18rem {\n height: 18rem !important;\n }\n .xl\\:h-19rem {\n height: 19rem !important;\n }\n .xl\\:h-20rem {\n height: 20rem !important;\n }\n .xl\\:h-21rem {\n height: 21rem !important;\n }\n .xl\\:h-22rem {\n height: 22rem !important;\n }\n .xl\\:h-23rem {\n height: 23rem !important;\n }\n .xl\\:h-24rem {\n height: 24rem !important;\n }\n .xl\\:h-25rem {\n height: 25rem !important;\n }\n .xl\\:h-26rem {\n height: 26rem !important;\n }\n .xl\\:h-27rem {\n height: 27rem !important;\n }\n .xl\\:h-28rem {\n height: 28rem !important;\n }\n .xl\\:h-29rem {\n height: 29rem !important;\n }\n .xl\\:h-30rem {\n height: 30rem !important;\n }\n}\n.min-w-0 {\n min-width: 0px !important;\n}\n\n.min-w-full {\n min-width: 100% !important;\n}\n\n.min-w-screen {\n min-width: 100vw !important;\n}\n\n.min-w-min {\n min-width: -webkit-min-content !important;\n min-width: -moz-min-content !important;\n min-width: min-content !important;\n}\n\n.min-w-max {\n min-width: -webkit-max-content !important;\n min-width: -moz-max-content !important;\n min-width: max-content !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:min-w-0 {\n min-width: 0px !important;\n }\n .sm\\:min-w-full {\n min-width: 100% !important;\n }\n .sm\\:min-w-screen {\n min-width: 100vw !important;\n }\n .sm\\:min-w-min {\n min-width: -webkit-min-content !important;\n min-width: -moz-min-content !important;\n min-width: min-content !important;\n }\n .sm\\:min-w-max {\n min-width: -webkit-max-content !important;\n min-width: -moz-max-content !important;\n min-width: max-content !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:min-w-0 {\n min-width: 0px !important;\n }\n .md\\:min-w-full {\n min-width: 100% !important;\n }\n .md\\:min-w-screen {\n min-width: 100vw !important;\n }\n .md\\:min-w-min {\n min-width: -webkit-min-content !important;\n min-width: -moz-min-content !important;\n min-width: min-content !important;\n }\n .md\\:min-w-max {\n min-width: -webkit-max-content !important;\n min-width: -moz-max-content !important;\n min-width: max-content !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:min-w-0 {\n min-width: 0px !important;\n }\n .lg\\:min-w-full {\n min-width: 100% !important;\n }\n .lg\\:min-w-screen {\n min-width: 100vw !important;\n }\n .lg\\:min-w-min {\n min-width: -webkit-min-content !important;\n min-width: -moz-min-content !important;\n min-width: min-content !important;\n }\n .lg\\:min-w-max {\n min-width: -webkit-max-content !important;\n min-width: -moz-max-content !important;\n min-width: max-content !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:min-w-0 {\n min-width: 0px !important;\n }\n .xl\\:min-w-full {\n min-width: 100% !important;\n }\n .xl\\:min-w-screen {\n min-width: 100vw !important;\n }\n .xl\\:min-w-min {\n min-width: -webkit-min-content !important;\n min-width: -moz-min-content !important;\n min-width: min-content !important;\n }\n .xl\\:min-w-max {\n min-width: -webkit-max-content !important;\n min-width: -moz-max-content !important;\n min-width: max-content !important;\n }\n}\n.max-w-0 {\n max-width: 0px !important;\n}\n\n.max-w-full {\n max-width: 100% !important;\n}\n\n.max-w-screen {\n max-width: 100vw !important;\n}\n\n.max-w-min {\n max-width: -webkit-min-content !important;\n max-width: -moz-min-content !important;\n max-width: min-content !important;\n}\n\n.max-w-max {\n max-width: -webkit-max-content !important;\n max-width: -moz-max-content !important;\n max-width: max-content !important;\n}\n\n.max-w-fit {\n max-width: -webkit-fit-content !important;\n max-width: -moz-fit-content !important;\n max-width: fit-content !important;\n}\n\n.max-w-1rem {\n max-width: 1rem !important;\n}\n\n.max-w-2rem {\n max-width: 2rem !important;\n}\n\n.max-w-3rem {\n max-width: 3rem !important;\n}\n\n.max-w-4rem {\n max-width: 4rem !important;\n}\n\n.max-w-5rem {\n max-width: 5rem !important;\n}\n\n.max-w-6rem {\n max-width: 6rem !important;\n}\n\n.max-w-7rem {\n max-width: 7rem !important;\n}\n\n.max-w-8rem {\n max-width: 8rem !important;\n}\n\n.max-w-9rem {\n max-width: 9rem !important;\n}\n\n.max-w-10rem {\n max-width: 10rem !important;\n}\n\n.max-w-11rem {\n max-width: 11rem !important;\n}\n\n.max-w-12rem {\n max-width: 12rem !important;\n}\n\n.max-w-13rem {\n max-width: 13rem !important;\n}\n\n.max-w-14rem {\n max-width: 14rem !important;\n}\n\n.max-w-15rem {\n max-width: 15rem !important;\n}\n\n.max-w-16rem {\n max-width: 16rem !important;\n}\n\n.max-w-17rem {\n max-width: 17rem !important;\n}\n\n.max-w-18rem {\n max-width: 18rem !important;\n}\n\n.max-w-19rem {\n max-width: 19rem !important;\n}\n\n.max-w-20rem {\n max-width: 20rem !important;\n}\n\n.max-w-21rem {\n max-width: 21rem !important;\n}\n\n.max-w-22rem {\n max-width: 22rem !important;\n}\n\n.max-w-23rem {\n max-width: 23rem !important;\n}\n\n.max-w-24rem {\n max-width: 24rem !important;\n}\n\n.max-w-25rem {\n max-width: 25rem !important;\n}\n\n.max-w-26rem {\n max-width: 26rem !important;\n}\n\n.max-w-27rem {\n max-width: 27rem !important;\n}\n\n.max-w-28rem {\n max-width: 28rem !important;\n}\n\n.max-w-29rem {\n max-width: 29rem !important;\n}\n\n.max-w-30rem {\n max-width: 30rem !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:max-w-0 {\n max-width: 0px !important;\n }\n .sm\\:max-w-full {\n max-width: 100% !important;\n }\n .sm\\:max-w-screen {\n max-width: 100vw !important;\n }\n .sm\\:max-w-min {\n max-width: -webkit-min-content !important;\n max-width: -moz-min-content !important;\n max-width: min-content !important;\n }\n .sm\\:max-w-max {\n max-width: -webkit-max-content !important;\n max-width: -moz-max-content !important;\n max-width: max-content !important;\n }\n .sm\\:max-w-fit {\n max-width: -webkit-fit-content !important;\n max-width: -moz-fit-content !important;\n max-width: fit-content !important;\n }\n .sm\\:max-w-1rem {\n max-width: 1rem !important;\n }\n .sm\\:max-w-2rem {\n max-width: 2rem !important;\n }\n .sm\\:max-w-3rem {\n max-width: 3rem !important;\n }\n .sm\\:max-w-4rem {\n max-width: 4rem !important;\n }\n .sm\\:max-w-5rem {\n max-width: 5rem !important;\n }\n .sm\\:max-w-6rem {\n max-width: 6rem !important;\n }\n .sm\\:max-w-7rem {\n max-width: 7rem !important;\n }\n .sm\\:max-w-8rem {\n max-width: 8rem !important;\n }\n .sm\\:max-w-9rem {\n max-width: 9rem !important;\n }\n .sm\\:max-w-10rem {\n max-width: 10rem !important;\n }\n .sm\\:max-w-11rem {\n max-width: 11rem !important;\n }\n .sm\\:max-w-12rem {\n max-width: 12rem !important;\n }\n .sm\\:max-w-13rem {\n max-width: 13rem !important;\n }\n .sm\\:max-w-14rem {\n max-width: 14rem !important;\n }\n .sm\\:max-w-15rem {\n max-width: 15rem !important;\n }\n .sm\\:max-w-16rem {\n max-width: 16rem !important;\n }\n .sm\\:max-w-17rem {\n max-width: 17rem !important;\n }\n .sm\\:max-w-18rem {\n max-width: 18rem !important;\n }\n .sm\\:max-w-19rem {\n max-width: 19rem !important;\n }\n .sm\\:max-w-20rem {\n max-width: 20rem !important;\n }\n .sm\\:max-w-21rem {\n max-width: 21rem !important;\n }\n .sm\\:max-w-22rem {\n max-width: 22rem !important;\n }\n .sm\\:max-w-23rem {\n max-width: 23rem !important;\n }\n .sm\\:max-w-24rem {\n max-width: 24rem !important;\n }\n .sm\\:max-w-25rem {\n max-width: 25rem !important;\n }\n .sm\\:max-w-26rem {\n max-width: 26rem !important;\n }\n .sm\\:max-w-27rem {\n max-width: 27rem !important;\n }\n .sm\\:max-w-28rem {\n max-width: 28rem !important;\n }\n .sm\\:max-w-29rem {\n max-width: 29rem !important;\n }\n .sm\\:max-w-30rem {\n max-width: 30rem !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:max-w-0 {\n max-width: 0px !important;\n }\n .md\\:max-w-full {\n max-width: 100% !important;\n }\n .md\\:max-w-screen {\n max-width: 100vw !important;\n }\n .md\\:max-w-min {\n max-width: -webkit-min-content !important;\n max-width: -moz-min-content !important;\n max-width: min-content !important;\n }\n .md\\:max-w-max {\n max-width: -webkit-max-content !important;\n max-width: -moz-max-content !important;\n max-width: max-content !important;\n }\n .md\\:max-w-fit {\n max-width: -webkit-fit-content !important;\n max-width: -moz-fit-content !important;\n max-width: fit-content !important;\n }\n .md\\:max-w-1rem {\n max-width: 1rem !important;\n }\n .md\\:max-w-2rem {\n max-width: 2rem !important;\n }\n .md\\:max-w-3rem {\n max-width: 3rem !important;\n }\n .md\\:max-w-4rem {\n max-width: 4rem !important;\n }\n .md\\:max-w-5rem {\n max-width: 5rem !important;\n }\n .md\\:max-w-6rem {\n max-width: 6rem !important;\n }\n .md\\:max-w-7rem {\n max-width: 7rem !important;\n }\n .md\\:max-w-8rem {\n max-width: 8rem !important;\n }\n .md\\:max-w-9rem {\n max-width: 9rem !important;\n }\n .md\\:max-w-10rem {\n max-width: 10rem !important;\n }\n .md\\:max-w-11rem {\n max-width: 11rem !important;\n }\n .md\\:max-w-12rem {\n max-width: 12rem !important;\n }\n .md\\:max-w-13rem {\n max-width: 13rem !important;\n }\n .md\\:max-w-14rem {\n max-width: 14rem !important;\n }\n .md\\:max-w-15rem {\n max-width: 15rem !important;\n }\n .md\\:max-w-16rem {\n max-width: 16rem !important;\n }\n .md\\:max-w-17rem {\n max-width: 17rem !important;\n }\n .md\\:max-w-18rem {\n max-width: 18rem !important;\n }\n .md\\:max-w-19rem {\n max-width: 19rem !important;\n }\n .md\\:max-w-20rem {\n max-width: 20rem !important;\n }\n .md\\:max-w-21rem {\n max-width: 21rem !important;\n }\n .md\\:max-w-22rem {\n max-width: 22rem !important;\n }\n .md\\:max-w-23rem {\n max-width: 23rem !important;\n }\n .md\\:max-w-24rem {\n max-width: 24rem !important;\n }\n .md\\:max-w-25rem {\n max-width: 25rem !important;\n }\n .md\\:max-w-26rem {\n max-width: 26rem !important;\n }\n .md\\:max-w-27rem {\n max-width: 27rem !important;\n }\n .md\\:max-w-28rem {\n max-width: 28rem !important;\n }\n .md\\:max-w-29rem {\n max-width: 29rem !important;\n }\n .md\\:max-w-30rem {\n max-width: 30rem !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:max-w-0 {\n max-width: 0px !important;\n }\n .lg\\:max-w-full {\n max-width: 100% !important;\n }\n .lg\\:max-w-screen {\n max-width: 100vw !important;\n }\n .lg\\:max-w-min {\n max-width: -webkit-min-content !important;\n max-width: -moz-min-content !important;\n max-width: min-content !important;\n }\n .lg\\:max-w-max {\n max-width: -webkit-max-content !important;\n max-width: -moz-max-content !important;\n max-width: max-content !important;\n }\n .lg\\:max-w-fit {\n max-width: -webkit-fit-content !important;\n max-width: -moz-fit-content !important;\n max-width: fit-content !important;\n }\n .lg\\:max-w-1rem {\n max-width: 1rem !important;\n }\n .lg\\:max-w-2rem {\n max-width: 2rem !important;\n }\n .lg\\:max-w-3rem {\n max-width: 3rem !important;\n }\n .lg\\:max-w-4rem {\n max-width: 4rem !important;\n }\n .lg\\:max-w-5rem {\n max-width: 5rem !important;\n }\n .lg\\:max-w-6rem {\n max-width: 6rem !important;\n }\n .lg\\:max-w-7rem {\n max-width: 7rem !important;\n }\n .lg\\:max-w-8rem {\n max-width: 8rem !important;\n }\n .lg\\:max-w-9rem {\n max-width: 9rem !important;\n }\n .lg\\:max-w-10rem {\n max-width: 10rem !important;\n }\n .lg\\:max-w-11rem {\n max-width: 11rem !important;\n }\n .lg\\:max-w-12rem {\n max-width: 12rem !important;\n }\n .lg\\:max-w-13rem {\n max-width: 13rem !important;\n }\n .lg\\:max-w-14rem {\n max-width: 14rem !important;\n }\n .lg\\:max-w-15rem {\n max-width: 15rem !important;\n }\n .lg\\:max-w-16rem {\n max-width: 16rem !important;\n }\n .lg\\:max-w-17rem {\n max-width: 17rem !important;\n }\n .lg\\:max-w-18rem {\n max-width: 18rem !important;\n }\n .lg\\:max-w-19rem {\n max-width: 19rem !important;\n }\n .lg\\:max-w-20rem {\n max-width: 20rem !important;\n }\n .lg\\:max-w-21rem {\n max-width: 21rem !important;\n }\n .lg\\:max-w-22rem {\n max-width: 22rem !important;\n }\n .lg\\:max-w-23rem {\n max-width: 23rem !important;\n }\n .lg\\:max-w-24rem {\n max-width: 24rem !important;\n }\n .lg\\:max-w-25rem {\n max-width: 25rem !important;\n }\n .lg\\:max-w-26rem {\n max-width: 26rem !important;\n }\n .lg\\:max-w-27rem {\n max-width: 27rem !important;\n }\n .lg\\:max-w-28rem {\n max-width: 28rem !important;\n }\n .lg\\:max-w-29rem {\n max-width: 29rem !important;\n }\n .lg\\:max-w-30rem {\n max-width: 30rem !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:max-w-0 {\n max-width: 0px !important;\n }\n .xl\\:max-w-full {\n max-width: 100% !important;\n }\n .xl\\:max-w-screen {\n max-width: 100vw !important;\n }\n .xl\\:max-w-min {\n max-width: -webkit-min-content !important;\n max-width: -moz-min-content !important;\n max-width: min-content !important;\n }\n .xl\\:max-w-max {\n max-width: -webkit-max-content !important;\n max-width: -moz-max-content !important;\n max-width: max-content !important;\n }\n .xl\\:max-w-fit {\n max-width: -webkit-fit-content !important;\n max-width: -moz-fit-content !important;\n max-width: fit-content !important;\n }\n .xl\\:max-w-1rem {\n max-width: 1rem !important;\n }\n .xl\\:max-w-2rem {\n max-width: 2rem !important;\n }\n .xl\\:max-w-3rem {\n max-width: 3rem !important;\n }\n .xl\\:max-w-4rem {\n max-width: 4rem !important;\n }\n .xl\\:max-w-5rem {\n max-width: 5rem !important;\n }\n .xl\\:max-w-6rem {\n max-width: 6rem !important;\n }\n .xl\\:max-w-7rem {\n max-width: 7rem !important;\n }\n .xl\\:max-w-8rem {\n max-width: 8rem !important;\n }\n .xl\\:max-w-9rem {\n max-width: 9rem !important;\n }\n .xl\\:max-w-10rem {\n max-width: 10rem !important;\n }\n .xl\\:max-w-11rem {\n max-width: 11rem !important;\n }\n .xl\\:max-w-12rem {\n max-width: 12rem !important;\n }\n .xl\\:max-w-13rem {\n max-width: 13rem !important;\n }\n .xl\\:max-w-14rem {\n max-width: 14rem !important;\n }\n .xl\\:max-w-15rem {\n max-width: 15rem !important;\n }\n .xl\\:max-w-16rem {\n max-width: 16rem !important;\n }\n .xl\\:max-w-17rem {\n max-width: 17rem !important;\n }\n .xl\\:max-w-18rem {\n max-width: 18rem !important;\n }\n .xl\\:max-w-19rem {\n max-width: 19rem !important;\n }\n .xl\\:max-w-20rem {\n max-width: 20rem !important;\n }\n .xl\\:max-w-21rem {\n max-width: 21rem !important;\n }\n .xl\\:max-w-22rem {\n max-width: 22rem !important;\n }\n .xl\\:max-w-23rem {\n max-width: 23rem !important;\n }\n .xl\\:max-w-24rem {\n max-width: 24rem !important;\n }\n .xl\\:max-w-25rem {\n max-width: 25rem !important;\n }\n .xl\\:max-w-26rem {\n max-width: 26rem !important;\n }\n .xl\\:max-w-27rem {\n max-width: 27rem !important;\n }\n .xl\\:max-w-28rem {\n max-width: 28rem !important;\n }\n .xl\\:max-w-29rem {\n max-width: 29rem !important;\n }\n .xl\\:max-w-30rem {\n max-width: 30rem !important;\n }\n}\n.min-h-0 {\n min-height: 0px !important;\n}\n\n.min-h-full {\n min-height: 100% !important;\n}\n\n.min-h-screen {\n min-height: 100vh !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:min-h-0 {\n min-height: 0px !important;\n }\n .sm\\:min-h-full {\n min-height: 100% !important;\n }\n .sm\\:min-h-screen {\n min-height: 100vh !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:min-h-0 {\n min-height: 0px !important;\n }\n .md\\:min-h-full {\n min-height: 100% !important;\n }\n .md\\:min-h-screen {\n min-height: 100vh !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:min-h-0 {\n min-height: 0px !important;\n }\n .lg\\:min-h-full {\n min-height: 100% !important;\n }\n .lg\\:min-h-screen {\n min-height: 100vh !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:min-h-0 {\n min-height: 0px !important;\n }\n .xl\\:min-h-full {\n min-height: 100% !important;\n }\n .xl\\:min-h-screen {\n min-height: 100vh !important;\n }\n}\n.max-h-0 {\n max-height: 0px !important;\n}\n\n.max-h-full {\n max-height: 100% !important;\n}\n\n.max-h-screen {\n max-height: 100vh !important;\n}\n\n.max-h-min {\n max-height: -webkit-min-content !important;\n max-height: -moz-min-content !important;\n max-height: min-content !important;\n}\n\n.max-h-max {\n max-height: -webkit-max-content !important;\n max-height: -moz-max-content !important;\n max-height: max-content !important;\n}\n\n.max-h-fit {\n max-height: -webkit-fit-content !important;\n max-height: -moz-fit-content !important;\n max-height: fit-content !important;\n}\n\n.max-h-1rem {\n max-height: 1rem !important;\n}\n\n.max-h-2rem {\n max-height: 2rem !important;\n}\n\n.max-h-3rem {\n max-height: 3rem !important;\n}\n\n.max-h-4rem {\n max-height: 4rem !important;\n}\n\n.max-h-5rem {\n max-height: 5rem !important;\n}\n\n.max-h-6rem {\n max-height: 6rem !important;\n}\n\n.max-h-7rem {\n max-height: 7rem !important;\n}\n\n.max-h-8rem {\n max-height: 8rem !important;\n}\n\n.max-h-9rem {\n max-height: 9rem !important;\n}\n\n.max-h-10rem {\n max-height: 10rem !important;\n}\n\n.max-h-11rem {\n max-height: 11rem !important;\n}\n\n.max-h-12rem {\n max-height: 12rem !important;\n}\n\n.max-h-13rem {\n max-height: 13rem !important;\n}\n\n.max-h-14rem {\n max-height: 14rem !important;\n}\n\n.max-h-15rem {\n max-height: 15rem !important;\n}\n\n.max-h-16rem {\n max-height: 16rem !important;\n}\n\n.max-h-17rem {\n max-height: 17rem !important;\n}\n\n.max-h-18rem {\n max-height: 18rem !important;\n}\n\n.max-h-19rem {\n max-height: 19rem !important;\n}\n\n.max-h-20rem {\n max-height: 20rem !important;\n}\n\n.max-h-21rem {\n max-height: 21rem !important;\n}\n\n.max-h-22rem {\n max-height: 22rem !important;\n}\n\n.max-h-23rem {\n max-height: 23rem !important;\n}\n\n.max-h-24rem {\n max-height: 24rem !important;\n}\n\n.max-h-25rem {\n max-height: 25rem !important;\n}\n\n.max-h-26rem {\n max-height: 26rem !important;\n}\n\n.max-h-27rem {\n max-height: 27rem !important;\n}\n\n.max-h-28rem {\n max-height: 28rem !important;\n}\n\n.max-h-29rem {\n max-height: 29rem !important;\n}\n\n.max-h-30rem {\n max-height: 30rem !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:max-h-0 {\n max-height: 0px !important;\n }\n .sm\\:max-h-full {\n max-height: 100% !important;\n }\n .sm\\:max-h-screen {\n max-height: 100vh !important;\n }\n .sm\\:max-h-min {\n max-height: -webkit-min-content !important;\n max-height: -moz-min-content !important;\n max-height: min-content !important;\n }\n .sm\\:max-h-max {\n max-height: -webkit-max-content !important;\n max-height: -moz-max-content !important;\n max-height: max-content !important;\n }\n .sm\\:max-h-fit {\n max-height: -webkit-fit-content !important;\n max-height: -moz-fit-content !important;\n max-height: fit-content !important;\n }\n .sm\\:max-h-1rem {\n max-height: 1rem !important;\n }\n .sm\\:max-h-2rem {\n max-height: 2rem !important;\n }\n .sm\\:max-h-3rem {\n max-height: 3rem !important;\n }\n .sm\\:max-h-4rem {\n max-height: 4rem !important;\n }\n .sm\\:max-h-5rem {\n max-height: 5rem !important;\n }\n .sm\\:max-h-6rem {\n max-height: 6rem !important;\n }\n .sm\\:max-h-7rem {\n max-height: 7rem !important;\n }\n .sm\\:max-h-8rem {\n max-height: 8rem !important;\n }\n .sm\\:max-h-9rem {\n max-height: 9rem !important;\n }\n .sm\\:max-h-10rem {\n max-height: 10rem !important;\n }\n .sm\\:max-h-11rem {\n max-height: 11rem !important;\n }\n .sm\\:max-h-12rem {\n max-height: 12rem !important;\n }\n .sm\\:max-h-13rem {\n max-height: 13rem !important;\n }\n .sm\\:max-h-14rem {\n max-height: 14rem !important;\n }\n .sm\\:max-h-15rem {\n max-height: 15rem !important;\n }\n .sm\\:max-h-16rem {\n max-height: 16rem !important;\n }\n .sm\\:max-h-17rem {\n max-height: 17rem !important;\n }\n .sm\\:max-h-18rem {\n max-height: 18rem !important;\n }\n .sm\\:max-h-19rem {\n max-height: 19rem !important;\n }\n .sm\\:max-h-20rem {\n max-height: 20rem !important;\n }\n .sm\\:max-h-21rem {\n max-height: 21rem !important;\n }\n .sm\\:max-h-22rem {\n max-height: 22rem !important;\n }\n .sm\\:max-h-23rem {\n max-height: 23rem !important;\n }\n .sm\\:max-h-24rem {\n max-height: 24rem !important;\n }\n .sm\\:max-h-25rem {\n max-height: 25rem !important;\n }\n .sm\\:max-h-26rem {\n max-height: 26rem !important;\n }\n .sm\\:max-h-27rem {\n max-height: 27rem !important;\n }\n .sm\\:max-h-28rem {\n max-height: 28rem !important;\n }\n .sm\\:max-h-29rem {\n max-height: 29rem !important;\n }\n .sm\\:max-h-30rem {\n max-height: 30rem !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:max-h-0 {\n max-height: 0px !important;\n }\n .md\\:max-h-full {\n max-height: 100% !important;\n }\n .md\\:max-h-screen {\n max-height: 100vh !important;\n }\n .md\\:max-h-min {\n max-height: -webkit-min-content !important;\n max-height: -moz-min-content !important;\n max-height: min-content !important;\n }\n .md\\:max-h-max {\n max-height: -webkit-max-content !important;\n max-height: -moz-max-content !important;\n max-height: max-content !important;\n }\n .md\\:max-h-fit {\n max-height: -webkit-fit-content !important;\n max-height: -moz-fit-content !important;\n max-height: fit-content !important;\n }\n .md\\:max-h-1rem {\n max-height: 1rem !important;\n }\n .md\\:max-h-2rem {\n max-height: 2rem !important;\n }\n .md\\:max-h-3rem {\n max-height: 3rem !important;\n }\n .md\\:max-h-4rem {\n max-height: 4rem !important;\n }\n .md\\:max-h-5rem {\n max-height: 5rem !important;\n }\n .md\\:max-h-6rem {\n max-height: 6rem !important;\n }\n .md\\:max-h-7rem {\n max-height: 7rem !important;\n }\n .md\\:max-h-8rem {\n max-height: 8rem !important;\n }\n .md\\:max-h-9rem {\n max-height: 9rem !important;\n }\n .md\\:max-h-10rem {\n max-height: 10rem !important;\n }\n .md\\:max-h-11rem {\n max-height: 11rem !important;\n }\n .md\\:max-h-12rem {\n max-height: 12rem !important;\n }\n .md\\:max-h-13rem {\n max-height: 13rem !important;\n }\n .md\\:max-h-14rem {\n max-height: 14rem !important;\n }\n .md\\:max-h-15rem {\n max-height: 15rem !important;\n }\n .md\\:max-h-16rem {\n max-height: 16rem !important;\n }\n .md\\:max-h-17rem {\n max-height: 17rem !important;\n }\n .md\\:max-h-18rem {\n max-height: 18rem !important;\n }\n .md\\:max-h-19rem {\n max-height: 19rem !important;\n }\n .md\\:max-h-20rem {\n max-height: 20rem !important;\n }\n .md\\:max-h-21rem {\n max-height: 21rem !important;\n }\n .md\\:max-h-22rem {\n max-height: 22rem !important;\n }\n .md\\:max-h-23rem {\n max-height: 23rem !important;\n }\n .md\\:max-h-24rem {\n max-height: 24rem !important;\n }\n .md\\:max-h-25rem {\n max-height: 25rem !important;\n }\n .md\\:max-h-26rem {\n max-height: 26rem !important;\n }\n .md\\:max-h-27rem {\n max-height: 27rem !important;\n }\n .md\\:max-h-28rem {\n max-height: 28rem !important;\n }\n .md\\:max-h-29rem {\n max-height: 29rem !important;\n }\n .md\\:max-h-30rem {\n max-height: 30rem !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:max-h-0 {\n max-height: 0px !important;\n }\n .lg\\:max-h-full {\n max-height: 100% !important;\n }\n .lg\\:max-h-screen {\n max-height: 100vh !important;\n }\n .lg\\:max-h-min {\n max-height: -webkit-min-content !important;\n max-height: -moz-min-content !important;\n max-height: min-content !important;\n }\n .lg\\:max-h-max {\n max-height: -webkit-max-content !important;\n max-height: -moz-max-content !important;\n max-height: max-content !important;\n }\n .lg\\:max-h-fit {\n max-height: -webkit-fit-content !important;\n max-height: -moz-fit-content !important;\n max-height: fit-content !important;\n }\n .lg\\:max-h-1rem {\n max-height: 1rem !important;\n }\n .lg\\:max-h-2rem {\n max-height: 2rem !important;\n }\n .lg\\:max-h-3rem {\n max-height: 3rem !important;\n }\n .lg\\:max-h-4rem {\n max-height: 4rem !important;\n }\n .lg\\:max-h-5rem {\n max-height: 5rem !important;\n }\n .lg\\:max-h-6rem {\n max-height: 6rem !important;\n }\n .lg\\:max-h-7rem {\n max-height: 7rem !important;\n }\n .lg\\:max-h-8rem {\n max-height: 8rem !important;\n }\n .lg\\:max-h-9rem {\n max-height: 9rem !important;\n }\n .lg\\:max-h-10rem {\n max-height: 10rem !important;\n }\n .lg\\:max-h-11rem {\n max-height: 11rem !important;\n }\n .lg\\:max-h-12rem {\n max-height: 12rem !important;\n }\n .lg\\:max-h-13rem {\n max-height: 13rem !important;\n }\n .lg\\:max-h-14rem {\n max-height: 14rem !important;\n }\n .lg\\:max-h-15rem {\n max-height: 15rem !important;\n }\n .lg\\:max-h-16rem {\n max-height: 16rem !important;\n }\n .lg\\:max-h-17rem {\n max-height: 17rem !important;\n }\n .lg\\:max-h-18rem {\n max-height: 18rem !important;\n }\n .lg\\:max-h-19rem {\n max-height: 19rem !important;\n }\n .lg\\:max-h-20rem {\n max-height: 20rem !important;\n }\n .lg\\:max-h-21rem {\n max-height: 21rem !important;\n }\n .lg\\:max-h-22rem {\n max-height: 22rem !important;\n }\n .lg\\:max-h-23rem {\n max-height: 23rem !important;\n }\n .lg\\:max-h-24rem {\n max-height: 24rem !important;\n }\n .lg\\:max-h-25rem {\n max-height: 25rem !important;\n }\n .lg\\:max-h-26rem {\n max-height: 26rem !important;\n }\n .lg\\:max-h-27rem {\n max-height: 27rem !important;\n }\n .lg\\:max-h-28rem {\n max-height: 28rem !important;\n }\n .lg\\:max-h-29rem {\n max-height: 29rem !important;\n }\n .lg\\:max-h-30rem {\n max-height: 30rem !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:max-h-0 {\n max-height: 0px !important;\n }\n .xl\\:max-h-full {\n max-height: 100% !important;\n }\n .xl\\:max-h-screen {\n max-height: 100vh !important;\n }\n .xl\\:max-h-min {\n max-height: -webkit-min-content !important;\n max-height: -moz-min-content !important;\n max-height: min-content !important;\n }\n .xl\\:max-h-max {\n max-height: -webkit-max-content !important;\n max-height: -moz-max-content !important;\n max-height: max-content !important;\n }\n .xl\\:max-h-fit {\n max-height: -webkit-fit-content !important;\n max-height: -moz-fit-content !important;\n max-height: fit-content !important;\n }\n .xl\\:max-h-1rem {\n max-height: 1rem !important;\n }\n .xl\\:max-h-2rem {\n max-height: 2rem !important;\n }\n .xl\\:max-h-3rem {\n max-height: 3rem !important;\n }\n .xl\\:max-h-4rem {\n max-height: 4rem !important;\n }\n .xl\\:max-h-5rem {\n max-height: 5rem !important;\n }\n .xl\\:max-h-6rem {\n max-height: 6rem !important;\n }\n .xl\\:max-h-7rem {\n max-height: 7rem !important;\n }\n .xl\\:max-h-8rem {\n max-height: 8rem !important;\n }\n .xl\\:max-h-9rem {\n max-height: 9rem !important;\n }\n .xl\\:max-h-10rem {\n max-height: 10rem !important;\n }\n .xl\\:max-h-11rem {\n max-height: 11rem !important;\n }\n .xl\\:max-h-12rem {\n max-height: 12rem !important;\n }\n .xl\\:max-h-13rem {\n max-height: 13rem !important;\n }\n .xl\\:max-h-14rem {\n max-height: 14rem !important;\n }\n .xl\\:max-h-15rem {\n max-height: 15rem !important;\n }\n .xl\\:max-h-16rem {\n max-height: 16rem !important;\n }\n .xl\\:max-h-17rem {\n max-height: 17rem !important;\n }\n .xl\\:max-h-18rem {\n max-height: 18rem !important;\n }\n .xl\\:max-h-19rem {\n max-height: 19rem !important;\n }\n .xl\\:max-h-20rem {\n max-height: 20rem !important;\n }\n .xl\\:max-h-21rem {\n max-height: 21rem !important;\n }\n .xl\\:max-h-22rem {\n max-height: 22rem !important;\n }\n .xl\\:max-h-23rem {\n max-height: 23rem !important;\n }\n .xl\\:max-h-24rem {\n max-height: 24rem !important;\n }\n .xl\\:max-h-25rem {\n max-height: 25rem !important;\n }\n .xl\\:max-h-26rem {\n max-height: 26rem !important;\n }\n .xl\\:max-h-27rem {\n max-height: 27rem !important;\n }\n .xl\\:max-h-28rem {\n max-height: 28rem !important;\n }\n .xl\\:max-h-29rem {\n max-height: 29rem !important;\n }\n .xl\\:max-h-30rem {\n max-height: 30rem !important;\n }\n}\n.static {\n position: static !important;\n}\n\n.fixed {\n position: fixed !important;\n}\n\n.absolute {\n position: absolute !important;\n}\n\n.relative {\n position: relative !important;\n}\n\n.sticky {\n position: -webkit-sticky !important;\n position: sticky !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:static {\n position: static !important;\n }\n .sm\\:fixed {\n position: fixed !important;\n }\n .sm\\:absolute {\n position: absolute !important;\n }\n .sm\\:relative {\n position: relative !important;\n }\n .sm\\:sticky {\n position: -webkit-sticky !important;\n position: sticky !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:static {\n position: static !important;\n }\n .md\\:fixed {\n position: fixed !important;\n }\n .md\\:absolute {\n position: absolute !important;\n }\n .md\\:relative {\n position: relative !important;\n }\n .md\\:sticky {\n position: -webkit-sticky !important;\n position: sticky !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:static {\n position: static !important;\n }\n .lg\\:fixed {\n position: fixed !important;\n }\n .lg\\:absolute {\n position: absolute !important;\n }\n .lg\\:relative {\n position: relative !important;\n }\n .lg\\:sticky {\n position: -webkit-sticky !important;\n position: sticky !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:static {\n position: static !important;\n }\n .xl\\:fixed {\n position: fixed !important;\n }\n .xl\\:absolute {\n position: absolute !important;\n }\n .xl\\:relative {\n position: relative !important;\n }\n .xl\\:sticky {\n position: -webkit-sticky !important;\n position: sticky !important;\n }\n}\n.top-auto {\n top: auto !important;\n}\n\n.top-0 {\n top: 0px !important;\n}\n\n.top-50 {\n top: 50% !important;\n}\n\n.top-100 {\n top: 100% !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:top-auto {\n top: auto !important;\n }\n .sm\\:top-0 {\n top: 0px !important;\n }\n .sm\\:top-50 {\n top: 50% !important;\n }\n .sm\\:top-100 {\n top: 100% !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:top-auto {\n top: auto !important;\n }\n .md\\:top-0 {\n top: 0px !important;\n }\n .md\\:top-50 {\n top: 50% !important;\n }\n .md\\:top-100 {\n top: 100% !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:top-auto {\n top: auto !important;\n }\n .lg\\:top-0 {\n top: 0px !important;\n }\n .lg\\:top-50 {\n top: 50% !important;\n }\n .lg\\:top-100 {\n top: 100% !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:top-auto {\n top: auto !important;\n }\n .xl\\:top-0 {\n top: 0px !important;\n }\n .xl\\:top-50 {\n top: 50% !important;\n }\n .xl\\:top-100 {\n top: 100% !important;\n }\n}\n.left-auto {\n left: auto !important;\n}\n\n.left-0 {\n left: 0px !important;\n}\n\n.left-50 {\n left: 50% !important;\n}\n\n.left-100 {\n left: 100% !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:left-auto {\n left: auto !important;\n }\n .sm\\:left-0 {\n left: 0px !important;\n }\n .sm\\:left-50 {\n left: 50% !important;\n }\n .sm\\:left-100 {\n left: 100% !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:left-auto {\n left: auto !important;\n }\n .md\\:left-0 {\n left: 0px !important;\n }\n .md\\:left-50 {\n left: 50% !important;\n }\n .md\\:left-100 {\n left: 100% !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:left-auto {\n left: auto !important;\n }\n .lg\\:left-0 {\n left: 0px !important;\n }\n .lg\\:left-50 {\n left: 50% !important;\n }\n .lg\\:left-100 {\n left: 100% !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:left-auto {\n left: auto !important;\n }\n .xl\\:left-0 {\n left: 0px !important;\n }\n .xl\\:left-50 {\n left: 50% !important;\n }\n .xl\\:left-100 {\n left: 100% !important;\n }\n}\n.right-auto {\n right: auto !important;\n}\n\n.right-0 {\n right: 0px !important;\n}\n\n.right-50 {\n right: 50% !important;\n}\n\n.right-100 {\n right: 100% !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:right-auto {\n right: auto !important;\n }\n .sm\\:right-0 {\n right: 0px !important;\n }\n .sm\\:right-50 {\n right: 50% !important;\n }\n .sm\\:right-100 {\n right: 100% !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:right-auto {\n right: auto !important;\n }\n .md\\:right-0 {\n right: 0px !important;\n }\n .md\\:right-50 {\n right: 50% !important;\n }\n .md\\:right-100 {\n right: 100% !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:right-auto {\n right: auto !important;\n }\n .lg\\:right-0 {\n right: 0px !important;\n }\n .lg\\:right-50 {\n right: 50% !important;\n }\n .lg\\:right-100 {\n right: 100% !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:right-auto {\n right: auto !important;\n }\n .xl\\:right-0 {\n right: 0px !important;\n }\n .xl\\:right-50 {\n right: 50% !important;\n }\n .xl\\:right-100 {\n right: 100% !important;\n }\n}\n.bottom-auto {\n bottom: auto !important;\n}\n\n.bottom-0 {\n bottom: 0px !important;\n}\n\n.bottom-50 {\n bottom: 50% !important;\n}\n\n.bottom-100 {\n bottom: 100% !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:bottom-auto {\n bottom: auto !important;\n }\n .sm\\:bottom-0 {\n bottom: 0px !important;\n }\n .sm\\:bottom-50 {\n bottom: 50% !important;\n }\n .sm\\:bottom-100 {\n bottom: 100% !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:bottom-auto {\n bottom: auto !important;\n }\n .md\\:bottom-0 {\n bottom: 0px !important;\n }\n .md\\:bottom-50 {\n bottom: 50% !important;\n }\n .md\\:bottom-100 {\n bottom: 100% !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:bottom-auto {\n bottom: auto !important;\n }\n .lg\\:bottom-0 {\n bottom: 0px !important;\n }\n .lg\\:bottom-50 {\n bottom: 50% !important;\n }\n .lg\\:bottom-100 {\n bottom: 100% !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:bottom-auto {\n bottom: auto !important;\n }\n .xl\\:bottom-0 {\n bottom: 0px !important;\n }\n .xl\\:bottom-50 {\n bottom: 50% !important;\n }\n .xl\\:bottom-100 {\n bottom: 100% !important;\n }\n}\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.overflow-visible {\n overflow: visible !important;\n}\n\n.overflow-scroll {\n overflow: scroll !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:overflow-auto {\n overflow: auto !important;\n }\n .sm\\:overflow-hidden {\n overflow: hidden !important;\n }\n .sm\\:overflow-visible {\n overflow: visible !important;\n }\n .sm\\:overflow-scroll {\n overflow: scroll !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:overflow-auto {\n overflow: auto !important;\n }\n .md\\:overflow-hidden {\n overflow: hidden !important;\n }\n .md\\:overflow-visible {\n overflow: visible !important;\n }\n .md\\:overflow-scroll {\n overflow: scroll !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:overflow-auto {\n overflow: auto !important;\n }\n .lg\\:overflow-hidden {\n overflow: hidden !important;\n }\n .lg\\:overflow-visible {\n overflow: visible !important;\n }\n .lg\\:overflow-scroll {\n overflow: scroll !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:overflow-auto {\n overflow: auto !important;\n }\n .xl\\:overflow-hidden {\n overflow: hidden !important;\n }\n .xl\\:overflow-visible {\n overflow: visible !important;\n }\n .xl\\:overflow-scroll {\n overflow: scroll !important;\n }\n}\n.overflow-x-auto {\n overflow-x: auto !important;\n}\n\n.overflow-x-hidden {\n overflow-x: hidden !important;\n}\n\n.overflow-x-visible {\n overflow-x: visible !important;\n}\n\n.overflow-x-scroll {\n overflow-x: scroll !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:overflow-x-auto {\n overflow-x: auto !important;\n }\n .sm\\:overflow-x-hidden {\n overflow-x: hidden !important;\n }\n .sm\\:overflow-x-visible {\n overflow-x: visible !important;\n }\n .sm\\:overflow-x-scroll {\n overflow-x: scroll !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:overflow-x-auto {\n overflow-x: auto !important;\n }\n .md\\:overflow-x-hidden {\n overflow-x: hidden !important;\n }\n .md\\:overflow-x-visible {\n overflow-x: visible !important;\n }\n .md\\:overflow-x-scroll {\n overflow-x: scroll !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:overflow-x-auto {\n overflow-x: auto !important;\n }\n .lg\\:overflow-x-hidden {\n overflow-x: hidden !important;\n }\n .lg\\:overflow-x-visible {\n overflow-x: visible !important;\n }\n .lg\\:overflow-x-scroll {\n overflow-x: scroll !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:overflow-x-auto {\n overflow-x: auto !important;\n }\n .xl\\:overflow-x-hidden {\n overflow-x: hidden !important;\n }\n .xl\\:overflow-x-visible {\n overflow-x: visible !important;\n }\n .xl\\:overflow-x-scroll {\n overflow-x: scroll !important;\n }\n}\n.overflow-y-auto {\n overflow-y: auto !important;\n}\n\n.overflow-y-hidden {\n overflow-y: hidden !important;\n}\n\n.overflow-y-visible {\n overflow-y: visible !important;\n}\n\n.overflow-y-scroll {\n overflow-y: scroll !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:overflow-y-auto {\n overflow-y: auto !important;\n }\n .sm\\:overflow-y-hidden {\n overflow-y: hidden !important;\n }\n .sm\\:overflow-y-visible {\n overflow-y: visible !important;\n }\n .sm\\:overflow-y-scroll {\n overflow-y: scroll !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:overflow-y-auto {\n overflow-y: auto !important;\n }\n .md\\:overflow-y-hidden {\n overflow-y: hidden !important;\n }\n .md\\:overflow-y-visible {\n overflow-y: visible !important;\n }\n .md\\:overflow-y-scroll {\n overflow-y: scroll !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:overflow-y-auto {\n overflow-y: auto !important;\n }\n .lg\\:overflow-y-hidden {\n overflow-y: hidden !important;\n }\n .lg\\:overflow-y-visible {\n overflow-y: visible !important;\n }\n .lg\\:overflow-y-scroll {\n overflow-y: scroll !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:overflow-y-auto {\n overflow-y: auto !important;\n }\n .xl\\:overflow-y-hidden {\n overflow-y: hidden !important;\n }\n .xl\\:overflow-y-visible {\n overflow-y: visible !important;\n }\n .xl\\:overflow-y-scroll {\n overflow-y: scroll !important;\n }\n}\n.z-auto {\n z-index: auto !important;\n}\n\n.z-0 {\n z-index: 0 !important;\n}\n\n.z-1 {\n z-index: 1 !important;\n}\n\n.z-2 {\n z-index: 2 !important;\n}\n\n.z-3 {\n z-index: 3 !important;\n}\n\n.z-4 {\n z-index: 4 !important;\n}\n\n.z-5 {\n z-index: 5 !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:z-auto {\n z-index: auto !important;\n }\n .sm\\:z-0 {\n z-index: 0 !important;\n }\n .sm\\:z-1 {\n z-index: 1 !important;\n }\n .sm\\:z-2 {\n z-index: 2 !important;\n }\n .sm\\:z-3 {\n z-index: 3 !important;\n }\n .sm\\:z-4 {\n z-index: 4 !important;\n }\n .sm\\:z-5 {\n z-index: 5 !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:z-auto {\n z-index: auto !important;\n }\n .md\\:z-0 {\n z-index: 0 !important;\n }\n .md\\:z-1 {\n z-index: 1 !important;\n }\n .md\\:z-2 {\n z-index: 2 !important;\n }\n .md\\:z-3 {\n z-index: 3 !important;\n }\n .md\\:z-4 {\n z-index: 4 !important;\n }\n .md\\:z-5 {\n z-index: 5 !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:z-auto {\n z-index: auto !important;\n }\n .lg\\:z-0 {\n z-index: 0 !important;\n }\n .lg\\:z-1 {\n z-index: 1 !important;\n }\n .lg\\:z-2 {\n z-index: 2 !important;\n }\n .lg\\:z-3 {\n z-index: 3 !important;\n }\n .lg\\:z-4 {\n z-index: 4 !important;\n }\n .lg\\:z-5 {\n z-index: 5 !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:z-auto {\n z-index: auto !important;\n }\n .xl\\:z-0 {\n z-index: 0 !important;\n }\n .xl\\:z-1 {\n z-index: 1 !important;\n }\n .xl\\:z-2 {\n z-index: 2 !important;\n }\n .xl\\:z-3 {\n z-index: 3 !important;\n }\n .xl\\:z-4 {\n z-index: 4 !important;\n }\n .xl\\:z-5 {\n z-index: 5 !important;\n }\n}\n.bg-repeat {\n background-repeat: repeat !important;\n}\n\n.bg-no-repeat {\n background-repeat: no-repeat !important;\n}\n\n.bg-repeat-x {\n background-repeat: repeat-x !important;\n}\n\n.bg-repeat-y {\n background-repeat: repeat-y !important;\n}\n\n.bg-repeat-round {\n background-repeat: round !important;\n}\n\n.bg-repeat-space {\n background-repeat: space !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:bg-repeat {\n background-repeat: repeat !important;\n }\n .sm\\:bg-no-repeat {\n background-repeat: no-repeat !important;\n }\n .sm\\:bg-repeat-x {\n background-repeat: repeat-x !important;\n }\n .sm\\:bg-repeat-y {\n background-repeat: repeat-y !important;\n }\n .sm\\:bg-repeat-round {\n background-repeat: round !important;\n }\n .sm\\:bg-repeat-space {\n background-repeat: space !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:bg-repeat {\n background-repeat: repeat !important;\n }\n .md\\:bg-no-repeat {\n background-repeat: no-repeat !important;\n }\n .md\\:bg-repeat-x {\n background-repeat: repeat-x !important;\n }\n .md\\:bg-repeat-y {\n background-repeat: repeat-y !important;\n }\n .md\\:bg-repeat-round {\n background-repeat: round !important;\n }\n .md\\:bg-repeat-space {\n background-repeat: space !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:bg-repeat {\n background-repeat: repeat !important;\n }\n .lg\\:bg-no-repeat {\n background-repeat: no-repeat !important;\n }\n .lg\\:bg-repeat-x {\n background-repeat: repeat-x !important;\n }\n .lg\\:bg-repeat-y {\n background-repeat: repeat-y !important;\n }\n .lg\\:bg-repeat-round {\n background-repeat: round !important;\n }\n .lg\\:bg-repeat-space {\n background-repeat: space !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:bg-repeat {\n background-repeat: repeat !important;\n }\n .xl\\:bg-no-repeat {\n background-repeat: no-repeat !important;\n }\n .xl\\:bg-repeat-x {\n background-repeat: repeat-x !important;\n }\n .xl\\:bg-repeat-y {\n background-repeat: repeat-y !important;\n }\n .xl\\:bg-repeat-round {\n background-repeat: round !important;\n }\n .xl\\:bg-repeat-space {\n background-repeat: space !important;\n }\n}\n.bg-auto {\n background-size: auto !important;\n}\n\n.bg-cover {\n background-size: cover !important;\n}\n\n.bg-contain {\n background-size: contain !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:bg-auto {\n background-size: auto !important;\n }\n .sm\\:bg-cover {\n background-size: cover !important;\n }\n .sm\\:bg-contain {\n background-size: contain !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:bg-auto {\n background-size: auto !important;\n }\n .md\\:bg-cover {\n background-size: cover !important;\n }\n .md\\:bg-contain {\n background-size: contain !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:bg-auto {\n background-size: auto !important;\n }\n .lg\\:bg-cover {\n background-size: cover !important;\n }\n .lg\\:bg-contain {\n background-size: contain !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:bg-auto {\n background-size: auto !important;\n }\n .xl\\:bg-cover {\n background-size: cover !important;\n }\n .xl\\:bg-contain {\n background-size: contain !important;\n }\n}\n.bg-bottom {\n background-position: bottom !important;\n}\n\n.bg-center {\n background-position: center !important;\n}\n\n.bg-left {\n background-position: left !important;\n}\n\n.bg-left-bottom {\n background-position: left bottom !important;\n}\n\n.bg-left-top {\n background-position: left top !important;\n}\n\n.bg-right {\n background-position: right !important;\n}\n\n.bg-right-bottom {\n background-position: right bottom !important;\n}\n\n.bg-right-top {\n background-position: right top !important;\n}\n\n.bg-top {\n background-position: top !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:bg-bottom {\n background-position: bottom !important;\n }\n .sm\\:bg-center {\n background-position: center !important;\n }\n .sm\\:bg-left {\n background-position: left !important;\n }\n .sm\\:bg-left-bottom {\n background-position: left bottom !important;\n }\n .sm\\:bg-left-top {\n background-position: left top !important;\n }\n .sm\\:bg-right {\n background-position: right !important;\n }\n .sm\\:bg-right-bottom {\n background-position: right bottom !important;\n }\n .sm\\:bg-right-top {\n background-position: right top !important;\n }\n .sm\\:bg-top {\n background-position: top !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:bg-bottom {\n background-position: bottom !important;\n }\n .md\\:bg-center {\n background-position: center !important;\n }\n .md\\:bg-left {\n background-position: left !important;\n }\n .md\\:bg-left-bottom {\n background-position: left bottom !important;\n }\n .md\\:bg-left-top {\n background-position: left top !important;\n }\n .md\\:bg-right {\n background-position: right !important;\n }\n .md\\:bg-right-bottom {\n background-position: right bottom !important;\n }\n .md\\:bg-right-top {\n background-position: right top !important;\n }\n .md\\:bg-top {\n background-position: top !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:bg-bottom {\n background-position: bottom !important;\n }\n .lg\\:bg-center {\n background-position: center !important;\n }\n .lg\\:bg-left {\n background-position: left !important;\n }\n .lg\\:bg-left-bottom {\n background-position: left bottom !important;\n }\n .lg\\:bg-left-top {\n background-position: left top !important;\n }\n .lg\\:bg-right {\n background-position: right !important;\n }\n .lg\\:bg-right-bottom {\n background-position: right bottom !important;\n }\n .lg\\:bg-right-top {\n background-position: right top !important;\n }\n .lg\\:bg-top {\n background-position: top !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:bg-bottom {\n background-position: bottom !important;\n }\n .xl\\:bg-center {\n background-position: center !important;\n }\n .xl\\:bg-left {\n background-position: left !important;\n }\n .xl\\:bg-left-bottom {\n background-position: left bottom !important;\n }\n .xl\\:bg-left-top {\n background-position: left top !important;\n }\n .xl\\:bg-right {\n background-position: right !important;\n }\n .xl\\:bg-right-bottom {\n background-position: right bottom !important;\n }\n .xl\\:bg-right-top {\n background-position: right top !important;\n }\n .xl\\:bg-top {\n background-position: top !important;\n }\n}\n.select-none {\n -webkit-user-select: none !important;\n -moz-user-select: none !important;\n -ms-user-select: none !important;\n user-select: none !important;\n}\n\n.select-text {\n -webkit-user-select: text !important;\n -moz-user-select: text !important;\n -ms-user-select: text !important;\n user-select: text !important;\n}\n\n.select-all {\n -webkit-user-select: all !important;\n -moz-user-select: all !important;\n user-select: all !important;\n}\n\n.select-auto {\n -webkit-user-select: auto !important;\n -moz-user-select: auto !important;\n -ms-user-select: auto !important;\n user-select: auto !important;\n}\n\n.list-none {\n list-style: none !important;\n}\n\n.list-disc {\n list-style: disc !important;\n}\n\n.list-decimal {\n list-style: decimal !important;\n}\n\n.appearance-none {\n -webkit-appearance: none !important;\n -moz-appearance: none !important;\n appearance: none !important;\n}\n\n.outline-none {\n outline: none !important;\n}\n\n.pointer-events-none {\n pointer-events: none !important;\n}\n\n.pointer-events-auto {\n pointer-events: auto !important;\n}\n\n.cursor-auto {\n cursor: auto !important;\n}\n\n.cursor-pointer {\n cursor: pointer !important;\n}\n\n.cursor-wait {\n cursor: wait !important;\n}\n\n.cursor-move {\n cursor: move !important;\n}\n\n.select-none {\n -webkit-user-select: none !important;\n -moz-user-select: none !important;\n -ms-user-select: none !important;\n user-select: none !important;\n}\n\n.select-text {\n -webkit-user-select: text !important;\n -moz-user-select: text !important;\n -ms-user-select: text !important;\n user-select: text !important;\n}\n\n.select-all {\n -webkit-user-select: all !important;\n -moz-user-select: all !important;\n user-select: all !important;\n}\n\n.select-auto {\n -webkit-user-select: auto !important;\n -moz-user-select: auto !important;\n -ms-user-select: auto !important;\n user-select: auto !important;\n}\n\n.opacity-0 {\n opacity: 0 !important;\n}\n\n.opacity-10 {\n opacity: .1 !important;\n}\n\n.opacity-20 {\n opacity: .2 !important;\n}\n\n.opacity-30 {\n opacity: .3 !important;\n}\n\n.opacity-40 {\n opacity: .4 !important;\n}\n\n.opacity-50 {\n opacity: .5 !important;\n}\n\n.opacity-60 {\n opacity: .6 !important;\n}\n\n.opacity-70 {\n opacity: .7 !important;\n}\n\n.opacity-80 {\n opacity: .8 !important;\n}\n\n.opacity-90 {\n opacity: .9 !important;\n}\n\n.opacity-100 {\n opacity: 1 !important;\n}\n\n.transition-none {\n transition-property: none !important;\n}\n\n.transition-all {\n transition-property: all !important;\n}\n\n.transition-colors {\n transition-property: background-color,border-color,color !important;\n}\n\n.transition-transform {\n transition-property: transform !important;\n}\n\n.transition-duration-100 {\n transition-duration: 100ms !important;\n}\n\n.transition-duration-150 {\n transition-duration: 150ms !important;\n}\n\n.transition-duration-200 {\n transition-duration: 200ms !important;\n}\n\n.transition-duration-300 {\n transition-duration: 300ms !important;\n}\n\n.transition-duration-400 {\n transition-duration: 400ms !important;\n}\n\n.transition-duration-500 {\n transition-duration: 500ms !important;\n}\n\n.transition-duration-1000 {\n transition-duration: 1000ms !important;\n}\n\n.transition-duration-2000 {\n transition-duration: 2000ms !important;\n}\n\n.transition-duration-3000 {\n transition-duration: 3000ms !important;\n}\n\n.transition-linear {\n transition-timing-function: linear !important;\n}\n\n.transition-ease-in {\n transition-timing-function: cubic-bezier(0.4, 0, 1, 1) !important;\n}\n\n.transition-ease-out {\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1) !important;\n}\n\n.transition-ease-in-out {\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;\n}\n\n.transition-delay-100 {\n transition-delay: 100ms !important;\n}\n\n.transition-delay-150 {\n transition-delay: 150ms !important;\n}\n\n.transition-delay-200 {\n transition-delay: 200ms !important;\n}\n\n.transition-delay-300 {\n transition-delay: 300ms !important;\n}\n\n.transition-delay-400 {\n transition-delay: 400ms !important;\n}\n\n.transition-delay-500 {\n transition-delay: 500ms !important;\n}\n\n.transition-delay-1000 {\n transition-delay: 1000ms !important;\n}\n\n.translate-x-0 {\n transform: translateX(0%) !important;\n}\n\n.translate-x-100 {\n transform: translateX(100%) !important;\n}\n\n.-translate-x-100 {\n transform: translateX(-100%) !important;\n}\n\n.translate-y-0 {\n transform: translateY(0%) !important;\n}\n\n.translate-y-100 {\n transform: translateY(100%) !important;\n}\n\n.-translate-y-100 {\n transform: translateY(-100%) !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:translate-x-0 {\n transform: translateX(0%) !important;\n }\n .sm\\:translate-x-100 {\n transform: translateX(100%) !important;\n }\n .sm\\:-translate-x-100 {\n transform: translateX(-100%) !important;\n }\n .sm\\:translate-y-0 {\n transform: translateY(0%) !important;\n }\n .sm\\:translate-y-100 {\n transform: translateY(100%) !important;\n }\n .sm\\:-translate-y-100 {\n transform: translateY(-100%) !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:translate-x-0 {\n transform: translateX(0%) !important;\n }\n .md\\:translate-x-100 {\n transform: translateX(100%) !important;\n }\n .md\\:-translate-x-100 {\n transform: translateX(-100%) !important;\n }\n .md\\:translate-y-0 {\n transform: translateY(0%) !important;\n }\n .md\\:translate-y-100 {\n transform: translateY(100%) !important;\n }\n .md\\:-translate-y-100 {\n transform: translateY(-100%) !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:translate-x-0 {\n transform: translateX(0%) !important;\n }\n .lg\\:translate-x-100 {\n transform: translateX(100%) !important;\n }\n .lg\\:-translate-x-100 {\n transform: translateX(-100%) !important;\n }\n .lg\\:translate-y-0 {\n transform: translateY(0%) !important;\n }\n .lg\\:translate-y-100 {\n transform: translateY(100%) !important;\n }\n .lg\\:-translate-y-100 {\n transform: translateY(-100%) !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:translate-x-0 {\n transform: translateX(0%) !important;\n }\n .xl\\:translate-x-100 {\n transform: translateX(100%) !important;\n }\n .xl\\:-translate-x-100 {\n transform: translateX(-100%) !important;\n }\n .xl\\:translate-y-0 {\n transform: translateY(0%) !important;\n }\n .xl\\:translate-y-100 {\n transform: translateY(100%) !important;\n }\n .xl\\:-translate-y-100 {\n transform: translateY(-100%) !important;\n }\n}\n.rotate-45 {\n transform: rotate(45deg) !important;\n}\n\n.-rotate-45 {\n transform: rotate(-45deg) !important;\n}\n\n.rotate-90 {\n transform: rotate(90deg) !important;\n}\n\n.-rotate-90 {\n transform: rotate(-90deg) !important;\n}\n\n.rotate-180 {\n transform: rotate(180deg) !important;\n}\n\n.-rotate-180 {\n transform: rotate(-180deg) !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:rotate-45 {\n transform: rotate(45deg) !important;\n }\n .sm\\:-rotate-45 {\n transform: rotate(-45deg) !important;\n }\n .sm\\:rotate-90 {\n transform: rotate(90deg) !important;\n }\n .sm\\:-rotate-90 {\n transform: rotate(-90deg) !important;\n }\n .sm\\:rotate-180 {\n transform: rotate(180deg) !important;\n }\n .sm\\:-rotate-180 {\n transform: rotate(-180deg) !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:rotate-45 {\n transform: rotate(45deg) !important;\n }\n .md\\:-rotate-45 {\n transform: rotate(-45deg) !important;\n }\n .md\\:rotate-90 {\n transform: rotate(90deg) !important;\n }\n .md\\:-rotate-90 {\n transform: rotate(-90deg) !important;\n }\n .md\\:rotate-180 {\n transform: rotate(180deg) !important;\n }\n .md\\:-rotate-180 {\n transform: rotate(-180deg) !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:rotate-45 {\n transform: rotate(45deg) !important;\n }\n .lg\\:-rotate-45 {\n transform: rotate(-45deg) !important;\n }\n .lg\\:rotate-90 {\n transform: rotate(90deg) !important;\n }\n .lg\\:-rotate-90 {\n transform: rotate(-90deg) !important;\n }\n .lg\\:rotate-180 {\n transform: rotate(180deg) !important;\n }\n .lg\\:-rotate-180 {\n transform: rotate(-180deg) !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:rotate-45 {\n transform: rotate(45deg) !important;\n }\n .xl\\:-rotate-45 {\n transform: rotate(-45deg) !important;\n }\n .xl\\:rotate-90 {\n transform: rotate(90deg) !important;\n }\n .xl\\:-rotate-90 {\n transform: rotate(-90deg) !important;\n }\n .xl\\:rotate-180 {\n transform: rotate(180deg) !important;\n }\n .xl\\:-rotate-180 {\n transform: rotate(-180deg) !important;\n }\n}\n.origin-center {\n transform-origin: center !important;\n}\n\n.origin-top {\n transform-origin: top !important;\n}\n\n.origin-top-right {\n transform-origin: top right !important;\n}\n\n.origin-right {\n transform-origin: right !important;\n}\n\n.origin-bottom-right {\n transform-origin: bottom right !important;\n}\n\n.origin-bottom {\n transform-origin: bottom !important;\n}\n\n.origin-bottom-left {\n transform-origin: bottom left !important;\n}\n\n.origin-left {\n transform-origin: left !important;\n}\n\n.origin-top-left {\n transform-origin: top-left !important;\n}\n\n@media screen and (min-width: 576px) {\n .sm\\:origin-center {\n transform-origin: center !important;\n }\n .sm\\:origin-top {\n transform-origin: top !important;\n }\n .sm\\:origin-top-right {\n transform-origin: top right !important;\n }\n .sm\\:origin-right {\n transform-origin: right !important;\n }\n .sm\\:origin-bottom-right {\n transform-origin: bottom right !important;\n }\n .sm\\:origin-bottom {\n transform-origin: bottom !important;\n }\n .sm\\:origin-bottom-left {\n transform-origin: bottom left !important;\n }\n .sm\\:origin-left {\n transform-origin: left !important;\n }\n .sm\\:origin-top-left {\n transform-origin: top-left !important;\n }\n}\n@media screen and (min-width: 768px) {\n .md\\:origin-center {\n transform-origin: center !important;\n }\n .md\\:origin-top {\n transform-origin: top !important;\n }\n .md\\:origin-top-right {\n transform-origin: top right !important;\n }\n .md\\:origin-right {\n transform-origin: right !important;\n }\n .md\\:origin-bottom-right {\n transform-origin: bottom right !important;\n }\n .md\\:origin-bottom {\n transform-origin: bottom !important;\n }\n .md\\:origin-bottom-left {\n transform-origin: bottom left !important;\n }\n .md\\:origin-left {\n transform-origin: left !important;\n }\n .md\\:origin-top-left {\n transform-origin: top-left !important;\n }\n}\n@media screen and (min-width: 992px) {\n .lg\\:origin-center {\n transform-origin: center !important;\n }\n .lg\\:origin-top {\n transform-origin: top !important;\n }\n .lg\\:origin-top-right {\n transform-origin: top right !important;\n }\n .lg\\:origin-right {\n transform-origin: right !important;\n }\n .lg\\:origin-bottom-right {\n transform-origin: bottom right !important;\n }\n .lg\\:origin-bottom {\n transform-origin: bottom !important;\n }\n .lg\\:origin-bottom-left {\n transform-origin: bottom left !important;\n }\n .lg\\:origin-left {\n transform-origin: left !important;\n }\n .lg\\:origin-top-left {\n transform-origin: top-left !important;\n }\n}\n@media screen and (min-width: 1200px) {\n .xl\\:origin-center {\n transform-origin: center !important;\n }\n .xl\\:origin-top {\n transform-origin: top !important;\n }\n .xl\\:origin-top-right {\n transform-origin: top right !important;\n }\n .xl\\:origin-right {\n transform-origin: right !important;\n }\n .xl\\:origin-bottom-right {\n transform-origin: bottom right !important;\n }\n .xl\\:origin-bottom {\n transform-origin: bottom !important;\n }\n .xl\\:origin-bottom-left {\n transform-origin: bottom left !important;\n }\n .xl\\:origin-left {\n transform-origin: left !important;\n }\n .xl\\:origin-top-left {\n transform-origin: top-left !important;\n }\n}\n@-webkit-keyframes fadein {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@keyframes fadein {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@-webkit-keyframes fadeout {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n}\n@keyframes fadeout {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n}\n@-webkit-keyframes scalein {\n 0% {\n opacity: 0;\n transform: scaleY(0.8);\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n }\n 100% {\n opacity: 1;\n transform: scaleY(1);\n }\n}\n@keyframes scalein {\n 0% {\n opacity: 0;\n transform: scaleY(0.8);\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n }\n 100% {\n opacity: 1;\n transform: scaleY(1);\n }\n}\n@-webkit-keyframes slidedown {\n 0% {\n max-height: 0;\n }\n 100% {\n max-height: auto;\n }\n}\n@keyframes slidedown {\n 0% {\n max-height: 0;\n }\n 100% {\n max-height: auto;\n }\n}\n@-webkit-keyframes slideup {\n 0% {\n max-height: 1000px;\n }\n 100% {\n max-height: 0;\n }\n}\n@keyframes slideup {\n 0% {\n max-height: 1000px;\n }\n 100% {\n max-height: 0;\n }\n}\n@-webkit-keyframes fadeinleft {\n 0% {\n opacity: 0;\n transform: translateX(-100%);\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n }\n 100% {\n opacity: 1;\n transform: translateX(0%);\n }\n}\n@keyframes fadeinleft {\n 0% {\n opacity: 0;\n transform: translateX(-100%);\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n }\n 100% {\n opacity: 1;\n transform: translateX(0%);\n }\n}\n@-webkit-keyframes fadeoutleft {\n 0% {\n opacity: 1;\n transform: translateX(0%);\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n }\n 100% {\n opacity: 0;\n transform: translateX(-100%);\n }\n}\n@keyframes fadeoutleft {\n 0% {\n opacity: 1;\n transform: translateX(0%);\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n }\n 100% {\n opacity: 0;\n transform: translateX(-100%);\n }\n}\n@-webkit-keyframes fadeinright {\n 0% {\n opacity: 0;\n transform: translateX(100%);\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n }\n 100% {\n opacity: 1;\n transform: translateX(0%);\n }\n}\n@keyframes fadeinright {\n 0% {\n opacity: 0;\n transform: translateX(100%);\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n }\n 100% {\n opacity: 1;\n transform: translateX(0%);\n }\n}\n@-webkit-keyframes fadeoutright {\n 0% {\n opacity: 1;\n transform: translateX(0%);\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n }\n 100% {\n opacity: 0;\n transform: translateX(100%);\n }\n}\n@keyframes fadeoutright {\n 0% {\n opacity: 1;\n transform: translateX(0%);\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n }\n 100% {\n opacity: 0;\n transform: translateX(100%);\n }\n}\n@-webkit-keyframes fadeinup {\n 0% {\n opacity: 0;\n transform: translateY(-100%);\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n }\n 100% {\n opacity: 1;\n transform: translateY(0%);\n }\n}\n@keyframes fadeinup {\n 0% {\n opacity: 0;\n transform: translateY(-100%);\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n }\n 100% {\n opacity: 1;\n transform: translateY(0%);\n }\n}\n@-webkit-keyframes fadeoutup {\n 0% {\n opacity: 1;\n transform: translateY(0%);\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n }\n 100% {\n opacity: 0;\n transform: translateY(-100%);\n }\n}\n@keyframes fadeoutup {\n 0% {\n opacity: 1;\n transform: translateY(0%);\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n }\n 100% {\n opacity: 0;\n transform: translateY(-100%);\n }\n}\n@-webkit-keyframes fadeindown {\n 0% {\n opacity: 0;\n transform: translateY(100%);\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n }\n 100% {\n opacity: 1;\n transform: translateY(0%);\n }\n}\n@keyframes fadeindown {\n 0% {\n opacity: 0;\n transform: translateY(100%);\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n }\n 100% {\n opacity: 1;\n transform: translateY(0%);\n }\n}\n@-webkit-keyframes fadeoutdown {\n 0% {\n opacity: 1;\n transform: translateY(0%);\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n }\n 100% {\n opacity: 0;\n transform: translateY(100%);\n }\n}\n@keyframes fadeoutdown {\n 0% {\n opacity: 1;\n transform: translateY(0%);\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\n }\n 100% {\n opacity: 0;\n transform: translateY(100%);\n }\n}\n@-webkit-keyframes animate-width {\n 0% {\n width: 0;\n }\n 100% {\n width: 100%;\n }\n}\n@keyframes animate-width {\n 0% {\n width: 0;\n }\n 100% {\n width: 100%;\n }\n}\n.fadein {\n -webkit-animation: fadein 0.15s linear;\n animation: fadein 0.15s linear;\n}\n\n.fadeout {\n -webkit-animation: fadeout 0.15s linear;\n animation: fadeout 0.15s linear;\n}\n\n.slidedown {\n -webkit-animation: slidedown 0.45s ease-in-out;\n animation: slidedown 0.45s ease-in-out;\n}\n\n.slideup {\n -webkit-animation: slideup 0.45s cubic-bezier(0, 1, 0, 1);\n animation: slideup 0.45s cubic-bezier(0, 1, 0, 1);\n}\n\n.scalein {\n -webkit-animation: scalein 0.15s linear;\n animation: scalein 0.15s linear;\n}\n\n.fadeinleft {\n -webkit-animation: fadeinleft 0.15s linear;\n animation: fadeinleft 0.15s linear;\n}\n\n.fadeoutleft {\n -webkit-animation: fadeoutleft 0.15s linear;\n animation: fadeoutleft 0.15s linear;\n}\n\n.fadeinright {\n -webkit-animation: fadeinright 0.15s linear;\n animation: fadeinright 0.15s linear;\n}\n\n.fadeoutright {\n -webkit-animation: fadeoutright 0.15s linear;\n animation: fadeoutright 0.15s linear;\n}\n\n.fadeinup {\n -webkit-animation: fadeinup 0.15s linear;\n animation: fadeinup 0.15s linear;\n}\n\n.fadeoutup {\n -webkit-animation: fadeoutup 0.15s linear;\n animation: fadeoutup 0.15s linear;\n}\n\n.fadeindown {\n -webkit-animation: fadeindown 0.15s linear;\n animation: fadeindown 0.15s linear;\n}\n\n.fadeoutdown {\n -webkit-animation: fadeoutdown 0.15s linear;\n animation: fadeoutdown 0.15s linear;\n}\n\n.animate-width {\n -webkit-animation: animate-width 1000ms linear;\n animation: animate-width 1000ms linear;\n}\n\n.animation-duration-100 {\n -webkit-animation-duration: 100ms !important;\n animation-duration: 100ms !important;\n}\n\n.animation-duration-150 {\n -webkit-animation-duration: 150ms !important;\n animation-duration: 150ms !important;\n}\n\n.animation-duration-200 {\n -webkit-animation-duration: 200ms !important;\n animation-duration: 200ms !important;\n}\n\n.animation-duration-300 {\n -webkit-animation-duration: 300ms !important;\n animation-duration: 300ms !important;\n}\n\n.animation-duration-400 {\n -webkit-animation-duration: 400ms !important;\n animation-duration: 400ms !important;\n}\n\n.animation-duration-500 {\n -webkit-animation-duration: 500ms !important;\n animation-duration: 500ms !important;\n}\n\n.animation-duration-1000 {\n -webkit-animation-duration: 1000ms !important;\n animation-duration: 1000ms !important;\n}\n\n.animation-duration-2000 {\n -webkit-animation-duration: 2000ms !important;\n animation-duration: 2000ms !important;\n}\n\n.animation-duration-3000 {\n -webkit-animation-duration: 3000ms !important;\n animation-duration: 3000ms !important;\n}\n\n.animation-delay-100 {\n -webkit-animation-delay: 100ms !important;\n animation-delay: 100ms !important;\n}\n\n.animation-delay-150 {\n -webkit-animation-delay: 150ms !important;\n animation-delay: 150ms !important;\n}\n\n.animation-delay-200 {\n -webkit-animation-delay: 200ms !important;\n animation-delay: 200ms !important;\n}\n\n.animation-delay-300 {\n -webkit-animation-delay: 300ms !important;\n animation-delay: 300ms !important;\n}\n\n.animation-delay-400 {\n -webkit-animation-delay: 400ms !important;\n animation-delay: 400ms !important;\n}\n\n.animation-delay-500 {\n -webkit-animation-delay: 500ms !important;\n animation-delay: 500ms !important;\n}\n\n.animation-delay-1000 {\n -webkit-animation-delay: 1000ms !important;\n animation-delay: 1000ms !important;\n}\n\n.animation-iteration-1 {\n -webkit-animation-iteration-count: 1 !important;\n animation-iteration-count: 1 !important;\n}\n\n.animation-iteration-2 {\n -webkit-animation-iteration-count: 2 !important;\n animation-iteration-count: 2 !important;\n}\n\n.animation-iteration-infinite {\n -webkit-animation-iteration-count: infinite !important;\n animation-iteration-count: infinite !important;\n}\n\n.animation-linear {\n -webkit-animation-timing-function: linear !important;\n animation-timing-function: linear !important;\n}\n\n.animation-ease-in {\n -webkit-animation-timing-function: cubic-bezier(0.4, 0, 1, 1) !important;\n animation-timing-function: cubic-bezier(0.4, 0, 1, 1) !important;\n}\n\n.animation-ease-out {\n -webkit-animation-timing-function: cubic-bezier(0, 0, 0.2, 1) !important;\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1) !important;\n}\n\n.animation-ease-in-out {\n -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;\n animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;\n}\n\n.animation-fill-none {\n -webkit-animation-fill-mode: none !important;\n animation-fill-mode: none !important;\n}\n\n.animation-fill-forwards {\n -webkit-animation-fill-mode: forwards !important;\n animation-fill-mode: forwards !important;\n}\n\n.animation-fill-backwards {\n -webkit-animation-fill-mode: backwards !important;\n animation-fill-mode: backwards !important;\n}\n\n.animation-fill-both {\n -webkit-animation-fill-mode: both !important;\n animation-fill-mode: both !important;\n}\n", ""]);
  20598. // Exports
  20599. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
  20600. /***/ }),
  20601. /***/ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/primeicons/primeicons.css":
  20602. /*!********************************************************************************************************************************************************************************!*\
  20603. !*** ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/primeicons/primeicons.css ***!
  20604. \********************************************************************************************************************************************************************************/
  20605. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  20606. "use strict";
  20607. __webpack_require__.r(__webpack_exports__);
  20608. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  20609. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  20610. /* harmony export */ });
  20611. /* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
  20612. /* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
  20613. /* harmony import */ var _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../css-loader/dist/runtime/getUrl.js */ "./node_modules/css-loader/dist/runtime/getUrl.js");
  20614. /* harmony import */ var _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1__);
  20615. /* harmony import */ var _fonts_primeicons_eot__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./fonts/primeicons.eot */ "./node_modules/primeicons/fonts/primeicons.eot");
  20616. /* harmony import */ var _fonts_primeicons_ttf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./fonts/primeicons.ttf */ "./node_modules/primeicons/fonts/primeicons.ttf");
  20617. /* harmony import */ var _fonts_primeicons_woff__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./fonts/primeicons.woff */ "./node_modules/primeicons/fonts/primeicons.woff");
  20618. /* harmony import */ var _fonts_primeicons_svg__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./fonts/primeicons.svg */ "./node_modules/primeicons/fonts/primeicons.svg");
  20619. // Imports
  20620. var ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
  20621. var ___CSS_LOADER_URL_REPLACEMENT_0___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1___default()(_fonts_primeicons_eot__WEBPACK_IMPORTED_MODULE_2__["default"]);
  20622. var ___CSS_LOADER_URL_REPLACEMENT_1___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1___default()(_fonts_primeicons_eot__WEBPACK_IMPORTED_MODULE_2__["default"], { hash: "?#iefix" });
  20623. var ___CSS_LOADER_URL_REPLACEMENT_2___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1___default()(_fonts_primeicons_ttf__WEBPACK_IMPORTED_MODULE_3__["default"]);
  20624. var ___CSS_LOADER_URL_REPLACEMENT_3___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1___default()(_fonts_primeicons_woff__WEBPACK_IMPORTED_MODULE_4__["default"]);
  20625. var ___CSS_LOADER_URL_REPLACEMENT_4___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1___default()(_fonts_primeicons_svg__WEBPACK_IMPORTED_MODULE_5__["default"], { hash: "?#primeicons" });
  20626. // Module
  20627. ___CSS_LOADER_EXPORT___.push([module.id, "@font-face {\n font-family: 'primeicons';\n font-display: block;\n src: url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ");\n src: url(" + ___CSS_LOADER_URL_REPLACEMENT_1___ + ") format('embedded-opentype'), url(" + ___CSS_LOADER_URL_REPLACEMENT_2___ + ") format('truetype'), url(" + ___CSS_LOADER_URL_REPLACEMENT_3___ + ") format('woff'), url(" + ___CSS_LOADER_URL_REPLACEMENT_4___ + ") format('svg');\n font-weight: normal;\n font-style: normal;\n}\n\n.pi {\n font-family: 'primeicons';\n speak: none;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n display: inline-block;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.pi:before {\n --webkit-backface-visibility:hidden;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n}\n\n.pi-fw {\n width: 1.28571429em;\n text-align: center;\n}\n\n.pi-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n\n.pi-sort-alt-slash:before {\n content: \"\\e9ee\";\n}\n\n.pi-arrows-h:before {\n content: \"\\e9ec\";\n}\n\n.pi-arrows-v:before {\n content: \"\\e9ed\";\n}\n\n.pi-pound:before {\n content: \"\\e9eb\";\n}\n\n.pi-prime:before {\n content: \"\\e9ea\";\n}\n\n.pi-chart-pie:before {\n content: \"\\e9e9\";\n}\n\n.pi-reddit:before {\n content: \"\\e9e8\";\n}\n\n.pi-code:before {\n content: \"\\e9e7\";\n}\n\n.pi-sync:before {\n content: \"\\e9e6\";\n}\n\n.pi-shopping-bag:before {\n content: \"\\e9e5\";\n}\n\n.pi-server:before {\n content: \"\\e9e4\";\n}\n\n.pi-database:before {\n content: \"\\e9e3\";\n}\n\n.pi-hashtag:before {\n content: \"\\e9e2\";\n}\n\n.pi-bookmark-fill:before {\n content: \"\\e9df\";\n}\n\n.pi-filter-fill:before {\n content: \"\\e9e0\";\n}\n\n.pi-heart-fill:before {\n content: \"\\e9e1\";\n}\n\n.pi-flag-fill:before {\n content: \"\\e9de\";\n}\n\n.pi-circle:before {\n content: \"\\e9dc\";\n}\n\n.pi-circle-fill:before {\n content: \"\\e9dd\";\n}\n\n.pi-bolt:before {\n content: \"\\e9db\";\n}\n\n.pi-history:before {\n content: \"\\e9da\";\n}\n\n.pi-box:before {\n content: \"\\e9d9\";\n}\n\n.pi-at:before {\n content: \"\\e9d8\";\n}\n\n.pi-arrow-up-right:before {\n content: \"\\e9d4\";\n}\n\n.pi-arrow-up-left:before {\n content: \"\\e9d5\";\n}\n\n.pi-arrow-down-left:before {\n content: \"\\e9d6\";\n}\n\n.pi-arrow-down-right:before {\n content: \"\\e9d7\";\n}\n\n.pi-telegram:before {\n content: \"\\e9d3\";\n}\n\n.pi-stop-circle:before {\n content: \"\\e9d2\";\n}\n\n.pi-stop:before {\n content: \"\\e9d1\";\n}\n\n.pi-whatsapp:before {\n content: \"\\e9d0\";\n}\n\n.pi-building:before {\n content: \"\\e9cf\";\n}\n\n.pi-qrcode:before {\n content: \"\\e9ce\";\n}\n\n.pi-car:before {\n content: \"\\e9cd\";\n}\n\n.pi-instagram:before {\n content: \"\\e9cc\";\n}\n\n.pi-linkedin:before {\n content: \"\\e9cb\";\n}\n\n.pi-send:before {\n content: \"\\e9ca\";\n}\n\n.pi-slack:before {\n content: \"\\e9c9\";\n}\n\n.pi-sun:before {\n content: \"\\e9c8\";\n}\n\n.pi-moon:before {\n content: \"\\e9c7\";\n}\n\n.pi-vimeo:before {\n content: \"\\e9c6\";\n}\n\n.pi-youtube:before {\n content: \"\\e9c5\";\n}\n\n.pi-flag:before {\n content: \"\\e9c4\";\n}\n\n.pi-wallet:before {\n content: \"\\e9c3\";\n}\n\n.pi-map:before {\n content: \"\\e9c2\";\n}\n\n.pi-link:before {\n content: \"\\e9c1\";\n}\n\n.pi-credit-card:before {\n content: \"\\e9bf\";\n}\n\n.pi-discord:before {\n content: \"\\e9c0\";\n}\n\n.pi-percentage:before {\n content: \"\\e9be\";\n}\n\n.pi-euro:before {\n content: \"\\e9bd\";\n}\n\n.pi-book:before {\n content: \"\\e9ba\";\n}\n\n.pi-shield:before {\n content: \"\\e9b9\";\n}\n\n.pi-paypal:before {\n content: \"\\e9bb\";\n}\n\n.pi-amazon:before {\n content: \"\\e9bc\";\n}\n\n.pi-phone:before {\n content: \"\\e9b8\";\n}\n\n.pi-filter-slash:before {\n content: \"\\e9b7\";\n}\n\n.pi-facebook:before {\n content: \"\\e9b4\";\n}\n\n.pi-github:before {\n content: \"\\e9b5\";\n}\n\n.pi-twitter:before {\n content: \"\\e9b6\";\n}\n\n.pi-step-backward-alt:before {\n content: \"\\e9ac\";\n}\n\n.pi-step-forward-alt:before {\n content: \"\\e9ad\";\n}\n\n.pi-forward:before {\n content: \"\\e9ae\";\n}\n\n.pi-backward:before {\n content: \"\\e9af\";\n}\n\n.pi-fast-backward:before {\n content: \"\\e9b0\";\n}\n\n.pi-fast-forward:before {\n content: \"\\e9b1\";\n}\n\n.pi-pause:before {\n content: \"\\e9b2\";\n}\n\n.pi-play:before {\n content: \"\\e9b3\";\n}\n\n.pi-compass:before {\n content: \"\\e9ab\";\n}\n\n.pi-id-card:before {\n content: \"\\e9aa\";\n}\n\n.pi-ticket:before {\n content: \"\\e9a9\";\n}\n\n.pi-file-o:before {\n content: \"\\e9a8\";\n}\n\n.pi-reply:before {\n content: \"\\e9a7\";\n}\n\n.pi-directions-alt:before {\n content: \"\\e9a5\";\n}\n\n.pi-directions:before {\n content: \"\\e9a6\";\n}\n\n.pi-thumbs-up:before {\n content: \"\\e9a3\";\n}\n\n.pi-thumbs-down:before {\n content: \"\\e9a4\";\n}\n\n.pi-sort-numeric-down-alt:before {\n content: \"\\e996\";\n}\n\n.pi-sort-numeric-up-alt:before {\n content: \"\\e997\";\n}\n\n.pi-sort-alpha-down-alt:before {\n content: \"\\e998\";\n}\n\n.pi-sort-alpha-up-alt:before {\n content: \"\\e999\";\n}\n\n.pi-sort-numeric-down:before {\n content: \"\\e99a\";\n}\n\n.pi-sort-numeric-up:before {\n content: \"\\e99b\";\n}\n\n.pi-sort-alpha-down:before {\n content: \"\\e99c\";\n}\n\n.pi-sort-alpha-up:before {\n content: \"\\e99d\";\n}\n\n.pi-sort-alt:before {\n content: \"\\e99e\";\n}\n\n.pi-sort-amount-up:before {\n content: \"\\e99f\";\n}\n\n.pi-sort-amount-down:before {\n content: \"\\e9a0\";\n}\n\n.pi-sort-amount-down-alt:before {\n content: \"\\e9a1\";\n}\n\n.pi-sort-amount-up-alt:before {\n content: \"\\e9a2\";\n}\n\n.pi-palette:before {\n content: \"\\e995\";\n}\n\n.pi-undo:before {\n content: \"\\e994\";\n}\n\n.pi-desktop:before {\n content: \"\\e993\";\n}\n\n.pi-sliders-v:before {\n content: \"\\e991\";\n}\n\n.pi-sliders-h:before {\n content: \"\\e992\";\n}\n\n.pi-search-plus:before {\n content: \"\\e98f\";\n}\n\n.pi-search-minus:before {\n content: \"\\e990\";\n}\n\n.pi-file-excel:before {\n content: \"\\e98e\";\n}\n\n.pi-file-pdf:before {\n content: \"\\e98d\";\n}\n\n.pi-check-square:before {\n content: \"\\e98c\";\n}\n\n.pi-chart-line:before {\n content: \"\\e98b\";\n}\n\n.pi-user-edit:before {\n content: \"\\e98a\";\n}\n\n.pi-exclamation-circle:before {\n content: \"\\e989\";\n}\n\n.pi-android:before {\n content: \"\\e985\";\n}\n\n.pi-google:before {\n content: \"\\e986\";\n}\n\n.pi-apple:before {\n content: \"\\e987\";\n}\n\n.pi-microsoft:before {\n content: \"\\e988\";\n}\n\n.pi-heart:before {\n content: \"\\e984\";\n}\n\n.pi-mobile:before {\n content: \"\\e982\";\n}\n\n.pi-tablet:before {\n content: \"\\e983\";\n}\n\n.pi-key:before {\n content: \"\\e981\";\n}\n\n.pi-shopping-cart:before {\n content: \"\\e980\";\n}\n\n.pi-comments:before {\n content: \"\\e97e\";\n}\n\n.pi-comment:before {\n content: \"\\e97f\";\n}\n\n.pi-briefcase:before {\n content: \"\\e97d\";\n}\n\n.pi-bell:before {\n content: \"\\e97c\";\n}\n\n.pi-paperclip:before {\n content: \"\\e97b\";\n}\n\n.pi-share-alt:before {\n content: \"\\e97a\";\n}\n\n.pi-envelope:before {\n content: \"\\e979\";\n}\n\n.pi-volume-down:before {\n content: \"\\e976\";\n}\n\n.pi-volume-up:before {\n content: \"\\e977\";\n}\n\n.pi-volume-off:before {\n content: \"\\e978\";\n}\n\n.pi-eject:before {\n content: \"\\e975\";\n}\n\n.pi-money-bill:before {\n content: \"\\e974\";\n}\n\n.pi-images:before {\n content: \"\\e973\";\n}\n\n.pi-image:before {\n content: \"\\e972\";\n}\n\n.pi-sign-in:before {\n content: \"\\e970\";\n}\n\n.pi-sign-out:before {\n content: \"\\e971\";\n}\n\n.pi-wifi:before {\n content: \"\\e96f\";\n}\n\n.pi-sitemap:before {\n content: \"\\e96e\";\n}\n\n.pi-chart-bar:before {\n content: \"\\e96d\";\n}\n\n.pi-camera:before {\n content: \"\\e96c\";\n}\n\n.pi-dollar:before {\n content: \"\\e96b\";\n}\n\n.pi-lock-open:before {\n content: \"\\e96a\";\n}\n\n.pi-table:before {\n content: \"\\e969\";\n}\n\n.pi-map-marker:before {\n content: \"\\e968\";\n}\n\n.pi-list:before {\n content: \"\\e967\";\n}\n\n.pi-eye-slash:before {\n content: \"\\e965\";\n}\n\n.pi-eye:before {\n content: \"\\e966\";\n}\n\n.pi-folder-open:before {\n content: \"\\e964\";\n}\n\n.pi-folder:before {\n content: \"\\e963\";\n}\n\n.pi-video:before {\n content: \"\\e962\";\n}\n\n.pi-inbox:before {\n content: \"\\e961\";\n}\n\n.pi-lock:before {\n content: \"\\e95f\";\n}\n\n.pi-unlock:before {\n content: \"\\e960\";\n}\n\n.pi-tags:before {\n content: \"\\e95d\";\n}\n\n.pi-tag:before {\n content: \"\\e95e\";\n}\n\n.pi-power-off:before {\n content: \"\\e95c\";\n}\n\n.pi-save:before {\n content: \"\\e95b\";\n}\n\n.pi-question-circle:before {\n content: \"\\e959\";\n}\n\n.pi-question:before {\n content: \"\\e95a\";\n}\n\n.pi-copy:before {\n content: \"\\e957\";\n}\n\n.pi-file:before {\n content: \"\\e958\";\n}\n\n.pi-clone:before {\n content: \"\\e955\";\n}\n\n.pi-calendar-times:before {\n content: \"\\e952\";\n}\n\n.pi-calendar-minus:before {\n content: \"\\e953\";\n}\n\n.pi-calendar-plus:before {\n content: \"\\e954\";\n}\n\n.pi-ellipsis-v:before {\n content: \"\\e950\";\n}\n\n.pi-ellipsis-h:before {\n content: \"\\e951\";\n}\n\n.pi-bookmark:before {\n content: \"\\e94e\";\n}\n\n.pi-globe:before {\n content: \"\\e94f\";\n}\n\n.pi-replay:before {\n content: \"\\e94d\";\n}\n\n.pi-filter:before {\n content: \"\\e94c\";\n}\n\n.pi-print:before {\n content: \"\\e94b\";\n}\n\n.pi-align-right:before {\n content: \"\\e946\";\n}\n\n.pi-align-left:before {\n content: \"\\e947\";\n}\n\n.pi-align-center:before {\n content: \"\\e948\";\n}\n\n.pi-align-justify:before {\n content: \"\\e949\";\n}\n\n.pi-cog:before {\n content: \"\\e94a\";\n}\n\n.pi-cloud-download:before {\n content: \"\\e943\";\n}\n\n.pi-cloud-upload:before {\n content: \"\\e944\";\n}\n\n.pi-cloud:before {\n content: \"\\e945\";\n}\n\n.pi-pencil:before {\n content: \"\\e942\";\n}\n\n.pi-users:before {\n content: \"\\e941\";\n}\n\n.pi-clock:before {\n content: \"\\e940\";\n}\n\n.pi-user-minus:before {\n content: \"\\e93e\";\n}\n\n.pi-user-plus:before {\n content: \"\\e93f\";\n}\n\n.pi-trash:before {\n content: \"\\e93d\";\n}\n\n.pi-external-link:before {\n content: \"\\e93c\";\n}\n\n.pi-window-maximize:before {\n content: \"\\e93b\";\n}\n\n.pi-window-minimize:before {\n content: \"\\e93a\";\n}\n\n.pi-refresh:before {\n content: \"\\e938\";\n}\n \n.pi-user:before {\n content: \"\\e939\";\n}\n\n.pi-exclamation-triangle:before {\n content: \"\\e922\";\n}\n\n.pi-calendar:before {\n content: \"\\e927\";\n}\n\n.pi-chevron-circle-left:before {\n content: \"\\e928\";\n}\n\n.pi-chevron-circle-down:before {\n content: \"\\e929\";\n}\n\n.pi-chevron-circle-right:before {\n content: \"\\e92a\";\n}\n\n.pi-chevron-circle-up:before {\n content: \"\\e92b\";\n}\n\n.pi-angle-double-down:before {\n content: \"\\e92c\";\n}\n\n.pi-angle-double-left:before {\n content: \"\\e92d\";\n}\n\n.pi-angle-double-right:before {\n content: \"\\e92e\";\n}\n\n.pi-angle-double-up:before {\n content: \"\\e92f\";\n}\n\n.pi-angle-down:before {\n content: \"\\e930\";\n}\n\n.pi-angle-left:before {\n content: \"\\e931\";\n}\n\n.pi-angle-right:before {\n content: \"\\e932\";\n}\n\n.pi-angle-up:before {\n content: \"\\e933\";\n}\n\n.pi-upload:before {\n content: \"\\e934\";\n}\n\n.pi-download:before {\n content: \"\\e956\";\n}\n\n.pi-ban:before {\n content: \"\\e935\";\n}\n\n.pi-star-fill:before {\n content: \"\\e936\";\n}\n\n.pi-star:before {\n content: \"\\e937\";\n}\n\n.pi-chevron-left:before {\n content: \"\\e900\";\n}\n\n.pi-chevron-right:before {\n content: \"\\e901\";\n}\n\n.pi-chevron-down:before {\n content: \"\\e902\";\n}\n\n.pi-chevron-up:before {\n content: \"\\e903\";\n}\n\n.pi-caret-left:before {\n content: \"\\e904\";\n}\n\n.pi-caret-right:before {\n content: \"\\e905\";\n}\n\n.pi-caret-down:before {\n content: \"\\e906\";\n}\n\n.pi-caret-up:before {\n content: \"\\e907\";\n}\n\n.pi-search:before {\n content: \"\\e908\";\n}\n\n.pi-check:before {\n content: \"\\e909\";\n}\n\n.pi-check-circle:before {\n content: \"\\e90a\";\n}\n\n.pi-times:before {\n content: \"\\e90b\";\n}\n\n.pi-times-circle:before {\n content: \"\\e90c\";\n}\n\n.pi-plus:before {\n content: \"\\e90d\";\n}\n\n.pi-plus-circle:before {\n content: \"\\e90e\";\n}\n\n.pi-minus:before {\n content: \"\\e90f\";\n}\n\n.pi-minus-circle:before {\n content: \"\\e910\";\n}\n\n.pi-circle-on:before {\n content: \"\\e911\";\n}\n\n.pi-circle-off:before {\n content: \"\\e912\";\n}\n\n.pi-sort-down:before {\n content: \"\\e913\";\n}\n\n.pi-sort-up:before {\n content: \"\\e914\";\n}\n\n.pi-sort:before {\n content: \"\\e915\";\n}\n\n.pi-step-backward:before {\n content: \"\\e916\";\n}\n\n.pi-step-forward:before {\n content: \"\\e917\";\n}\n\n.pi-th-large:before {\n content: \"\\e918\";\n}\n\n.pi-arrow-down:before {\n content: \"\\e919\";\n}\n\n.pi-arrow-left:before {\n content: \"\\e91a\";\n}\n\n.pi-arrow-right:before {\n content: \"\\e91b\";\n}\n\n.pi-arrow-up:before {\n content: \"\\e91c\";\n}\n\n.pi-bars:before {\n content: \"\\e91d\";\n}\n\n.pi-arrow-circle-down:before {\n content: \"\\e91e\";\n}\n\n.pi-arrow-circle-left:before {\n content: \"\\e91f\";\n}\n\n.pi-arrow-circle-right:before {\n content: \"\\e920\";\n}\n\n.pi-arrow-circle-up:before {\n content: \"\\e921\";\n}\n\n.pi-info:before {\n content: \"\\e923\";\n}\n\n.pi-info-circle:before {\n content: \"\\e924\";\n}\n\n.pi-home:before {\n content: \"\\e925\";\n}\n\n.pi-spinner:before {\n content: \"\\e926\";\n}\n", ""]);
  20628. // Exports
  20629. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
  20630. /***/ }),
  20631. /***/ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/primevue/resources/primevue.min.css":
  20632. /*!******************************************************************************************************************************************************************************************!*\
  20633. !*** ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/primevue/resources/primevue.min.css ***!
  20634. \******************************************************************************************************************************************************************************************/
  20635. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  20636. "use strict";
  20637. __webpack_require__.r(__webpack_exports__);
  20638. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  20639. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  20640. /* harmony export */ });
  20641. /* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
  20642. /* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
  20643. /* harmony import */ var _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../css-loader/dist/runtime/getUrl.js */ "./node_modules/css-loader/dist/runtime/getUrl.js");
  20644. /* harmony import */ var _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1__);
  20645. /* harmony import */ var _images_color_png__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./images/color.png */ "./node_modules/primevue/resources/images/color.png");
  20646. /* harmony import */ var _images_hue_png__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./images/hue.png */ "./node_modules/primevue/resources/images/hue.png");
  20647. // Imports
  20648. var ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
  20649. var ___CSS_LOADER_URL_REPLACEMENT_0___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1___default()(_images_color_png__WEBPACK_IMPORTED_MODULE_2__["default"]);
  20650. var ___CSS_LOADER_URL_REPLACEMENT_1___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1___default()(_images_hue_png__WEBPACK_IMPORTED_MODULE_3__["default"]);
  20651. // Module
  20652. ___CSS_LOADER_EXPORT___.push([module.id, ".p-component,.p-component *{box-sizing:border-box}.p-hidden{display:none}.p-hidden-space{visibility:hidden}.p-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.p-hidden-accessible input,.p-hidden-accessible select{transform:scale(0)}.p-reset{margin:0;padding:0;border:0;outline:0;text-decoration:none;font-size:100%;list-style:none}.p-disabled,.p-disabled *{cursor:default !important;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.p-component-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.p-overflow-hidden{overflow:hidden}.p-unselectable-text{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.p-scrollbar-measure{width:100px;height:100px;overflow:scroll;position:absolute;top:-9999px}@-webkit-keyframes p-fadein{0%{opacity:0}100%{opacity:1}}@keyframes p-fadein{0%{opacity:0}100%{opacity:1}}input[type=\"button\"],input[type=\"submit\"],input[type=\"reset\"],input[type=\"file\"]::-webkit-file-upload-button,button{border-radius:0}.p-link{text-align:left;background-color:transparent;margin:0;padding:0;border:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.p-link:disabled{cursor:default}.p-connected-overlay{opacity:0;transform:scaleY(0.8);transition:transform .12s cubic-bezier(0,0,0.2,1),opacity .12s cubic-bezier(0,0,0.2,1)}.p-connected-overlay-visible{opacity:1;transform:scaleY(1)}.p-connected-overlay-hidden{opacity:0;transform:scaleY(1);transition:opacity .1s linear}.p-connected-overlay-enter-from{opacity:0;transform:scaleY(0.8)}.p-connected-overlay-leave-to{opacity:0}.p-connected-overlay-enter-active{transition:transform .12s cubic-bezier(0,0,0.2,1),opacity .12s cubic-bezier(0,0,0.2,1)}.p-connected-overlay-leave-active{transition:opacity .1s linear}.p-toggleable-content-enter-from,.p-toggleable-content-leave-to{max-height:0}.p-toggleable-content-enter-to,.p-toggleable-content-leave-from{max-height:1000px}.p-toggleable-content-leave-active{overflow:hidden;transition:max-height .45s cubic-bezier(0,1,0,1)}.p-toggleable-content-enter-active{overflow:hidden;transition:max-height 1s ease-in-out}.p-sr-only{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal !important}.p-badge{display:inline-block;border-radius:10px;text-align:center;padding:0 .5rem}.p-overlay-badge{position:relative}.p-overlay-badge .p-badge{position:absolute;top:0;right:0;transform:translate(50%,-50%);transform-origin:100% 0;margin:0}.p-badge-dot{width:.5rem;min-width:.5rem;height:.5rem;border-radius:50%;padding:0}.p-badge-no-gutter{padding:0;border-radius:50%}.p-button{margin:0;display:inline-flex;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;align-items:center;vertical-align:bottom;text-align:center;overflow:hidden;position:relative}.p-button-label{flex:1 1 auto}.p-button-icon-right{order:1}.p-button:disabled{cursor:default}.p-button-icon-only{justify-content:center}.p-button-icon-only .p-button-label{visibility:hidden;width:0;flex:0 0 auto}.p-button-vertical{flex-direction:column}.p-button-icon-bottom{order:2}.p-buttonset .p-button{margin:0}.p-buttonset .p-button:not(:last-child){border-right:0 none}.p-buttonset .p-button:not(:first-of-type):not(:last-of-type){border-radius:0}.p-buttonset .p-button:first-of-type{border-top-right-radius:0;border-bottom-right-radius:0}.p-buttonset .p-button:last-of-type{border-top-left-radius:0;border-bottom-left-radius:0}.p-buttonset .p-button:focus{position:relative;z-index:1}.p-checkbox{display:inline-flex;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:bottom;position:relative}.p-checkbox-box{display:flex;justify-content:center;align-items:center}.p-colorpicker-panel .p-colorpicker-color{background:transparent url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ") no-repeat left top}.p-colorpicker-panel .p-colorpicker-hue{background:transparent url(" + ___CSS_LOADER_URL_REPLACEMENT_1___ + ") no-repeat left top}.p-inputtext{margin:0}.p-fluid .p-inputtext{width:100%}.p-inputgroup{display:flex;align-items:stretch;width:100%}.p-inputgroup-addon{display:flex;align-items:center;justify-content:center}.p-inputgroup .p-float-label{display:flex;align-items:stretch;width:100%}.p-inputgroup .p-inputtext,.p-fluid .p-inputgroup .p-inputtext,.p-inputgroup .p-inputwrapper,.p-fluid .p-inputgroup .p-input{flex:1 1 auto;width:1%}.p-float-label{display:block;position:relative}.p-float-label label{position:absolute;pointer-events:none;top:50%;margin-top:-.5rem;transition-property:all;transition-timing-function:ease;line-height:1}.p-float-label textarea ~ label{top:1rem}.p-float-label input:focus ~ label,.p-float-label input.p-filled ~ label,.p-float-label textarea:focus ~ label,.p-float-label textarea.p-filled ~ label,.p-float-label .p-inputwrapper-focus ~ label,.p-float-label .p-inputwrapper-filled ~ label{top:-.75rem;font-size:12px}.p-float-label .input:-webkit-autofill ~ label{top:-20px;font-size:12px}.p-input-icon-left,.p-input-icon-right{position:relative;display:inline-block}.p-input-icon-left>i,.p-input-icon-right>i{position:absolute;top:50%;margin-top:-.5rem}.p-fluid .p-input-icon-left,.p-fluid .p-input-icon-right{display:block;width:100%}.p-radiobutton{display:inline-flex;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:bottom}.p-radiobutton-box{display:flex;justify-content:center;align-items:center}.p-radiobutton-icon{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0) scale(.1);border-radius:50%;visibility:hidden}.p-radiobutton-box.p-highlight .p-radiobutton-icon{transform:translateZ(0) scale(1.0,1.0);visibility:visible}.p-ripple{overflow:hidden;position:relative}.p-ink{display:block;position:absolute;background:rgba(255,255,255,0.5);border-radius:100%;transform:scale(0);pointer-events:none}.p-ink-active{-webkit-animation:ripple .4s linear;animation:ripple .4s linear}.p-ripple-disabled .p-ink{display:none !important}@-webkit-keyframes ripple{100%{opacity:0;transform:scale(2.5)}}@keyframes ripple{100%{opacity:0;transform:scale(2.5)}}.p-tooltip{position:absolute;display:none;padding:.25em .5rem;max-width:12.5rem}.p-tooltip.p-tooltip-right,.p-tooltip.p-tooltip-left{padding:0 .25rem}.p-tooltip.p-tooltip-top,.p-tooltip.p-tooltip-bottom{padding:.25em 0}.p-tooltip .p-tooltip-text{white-space:pre-line;word-break:break-word}.p-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.p-tooltip-right .p-tooltip-arrow{top:50%;left:0;margin-top:-.25rem;border-width:.25em .25em .25em 0}.p-tooltip-left .p-tooltip-arrow{top:50%;right:0;margin-top:-.25rem;border-width:.25em 0 .25em .25rem}.p-tooltip.p-tooltip-top{padding:.25em 0}.p-tooltip-top .p-tooltip-arrow{bottom:0;left:50%;margin-left:-.25rem;border-width:.25em .25em 0}.p-tooltip-bottom .p-tooltip-arrow{top:0;left:50%;margin-left:-.25rem;border-width:0 .25em .25rem}", ""]);
  20653. // Exports
  20654. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
  20655. /***/ }),
  20656. /***/ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/primevue/resources/themes/mdc-light-indigo/theme.css":
  20657. /*!***********************************************************************************************************************************************************************************************************!*\
  20658. !*** ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/primevue/resources/themes/mdc-light-indigo/theme.css ***!
  20659. \***********************************************************************************************************************************************************************************************************/
  20660. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  20661. "use strict";
  20662. __webpack_require__.r(__webpack_exports__);
  20663. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  20664. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  20665. /* harmony export */ });
  20666. /* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
  20667. /* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
  20668. /* harmony import */ var _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../css-loader/dist/runtime/getUrl.js */ "./node_modules/css-loader/dist/runtime/getUrl.js");
  20669. /* harmony import */ var _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1__);
  20670. /* harmony import */ var _fonts_roboto_v20_latin_ext_latin_regular_woff2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./fonts/roboto-v20-latin-ext_latin-regular.woff2 */ "./node_modules/primevue/resources/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff2");
  20671. /* harmony import */ var _fonts_roboto_v20_latin_ext_latin_regular_woff__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./fonts/roboto-v20-latin-ext_latin-regular.woff */ "./node_modules/primevue/resources/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff");
  20672. /* harmony import */ var _fonts_roboto_v20_latin_ext_latin_500_woff2__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./fonts/roboto-v20-latin-ext_latin-500.woff2 */ "./node_modules/primevue/resources/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-500.woff2");
  20673. /* harmony import */ var _fonts_roboto_v20_latin_ext_latin_500_woff__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./fonts/roboto-v20-latin-ext_latin-500.woff */ "./node_modules/primevue/resources/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-500.woff");
  20674. /* harmony import */ var _fonts_roboto_v20_latin_ext_latin_700_woff2__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./fonts/roboto-v20-latin-ext_latin-700.woff2 */ "./node_modules/primevue/resources/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-700.woff2");
  20675. /* harmony import */ var _fonts_roboto_v20_latin_ext_latin_700_woff__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./fonts/roboto-v20-latin-ext_latin-700.woff */ "./node_modules/primevue/resources/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-700.woff");
  20676. // Imports
  20677. var ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
  20678. var ___CSS_LOADER_URL_REPLACEMENT_0___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1___default()(_fonts_roboto_v20_latin_ext_latin_regular_woff2__WEBPACK_IMPORTED_MODULE_2__["default"]);
  20679. var ___CSS_LOADER_URL_REPLACEMENT_1___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1___default()(_fonts_roboto_v20_latin_ext_latin_regular_woff__WEBPACK_IMPORTED_MODULE_3__["default"]);
  20680. var ___CSS_LOADER_URL_REPLACEMENT_2___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1___default()(_fonts_roboto_v20_latin_ext_latin_500_woff2__WEBPACK_IMPORTED_MODULE_4__["default"]);
  20681. var ___CSS_LOADER_URL_REPLACEMENT_3___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1___default()(_fonts_roboto_v20_latin_ext_latin_500_woff__WEBPACK_IMPORTED_MODULE_5__["default"]);
  20682. var ___CSS_LOADER_URL_REPLACEMENT_4___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1___default()(_fonts_roboto_v20_latin_ext_latin_700_woff2__WEBPACK_IMPORTED_MODULE_6__["default"]);
  20683. var ___CSS_LOADER_URL_REPLACEMENT_5___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_1___default()(_fonts_roboto_v20_latin_ext_latin_700_woff__WEBPACK_IMPORTED_MODULE_7__["default"]);
  20684. // Module
  20685. ___CSS_LOADER_EXPORT___.push([module.id, ":root {\n --surface-a:#ffffff;\n --surface-b:#fafafa;\n --surface-c:rgba(0,0,0,.04);\n --surface-d:rgba(0,0,0,.12);\n --surface-e:#ffffff;\n --surface-f:#ffffff;\n --text-color:rgba(0, 0, 0, 0.87);\n --text-color-secondary:rgba(0, 0, 0, 0.6);\n --primary-color:#3F51B5;\n --primary-color-text:#ffffff;\n --font-family:Roboto, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;\n --surface-0: #ffffff;\n --surface-50: #FAFAFA;\n --surface-100: #F5F5F5;\n --surface-200: #EEEEEE;\n --surface-300: #E0E0E0;\n --surface-400: #BDBDBD;\n --surface-500: #9E9E9E;\n --surface-600: #757575;\n --surface-700: #616161;\n --surface-800: #424242;\n --surface-900: #212121;\n --gray-50: #FAFAFA;\n --gray-100: #F5F5F5;\n --gray-200: #EEEEEE;\n --gray-300: #E0E0E0;\n --gray-400: #BDBDBD;\n --gray-500: #9E9E9E;\n --gray-600: #757575;\n --gray-700: #616161;\n --gray-800: #424242;\n --gray-900: #212121;\n --content-padding:1rem;\n --inline-spacing:0.5rem;\n --border-radius:4px;\n --surface-ground:#fafafa;\n --surface-section:#ffffff;\n --surface-card:#ffffff;\n --surface-overlay:#ffffff;\n --surface-border:rgba(0,0,0,.12);\n --surface-hover:rgba(0,0,0,.04);\n --focus-ring: none;\n --maskbg: rgba(0, 0, 0, 0.32);\n}\n\n/* roboto-regular - latin-ext_latin */\n@font-face {\n font-family: \"Roboto\";\n font-style: normal;\n font-weight: 400;\n src: local(\"Roboto\"), local(\"Roboto-Regular\"), url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ") format(\"woff2\"), url(" + ___CSS_LOADER_URL_REPLACEMENT_1___ + ") format(\"woff\");\n /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */\n}\n/* roboto-500 - latin-ext_latin */\n@font-face {\n font-family: \"Roboto\";\n font-style: normal;\n font-weight: 500;\n src: local(\"Roboto Medium\"), local(\"Roboto-Medium\"), url(" + ___CSS_LOADER_URL_REPLACEMENT_2___ + ") format(\"woff2\"), url(" + ___CSS_LOADER_URL_REPLACEMENT_3___ + ") format(\"woff\");\n /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */\n}\n/* roboto-700 - latin-ext_latin */\n@font-face {\n font-family: \"Roboto\";\n font-style: normal;\n font-weight: 700;\n src: local(\"Roboto Bold\"), local(\"Roboto-Bold\"), url(" + ___CSS_LOADER_URL_REPLACEMENT_4___ + ") format(\"woff2\"), url(" + ___CSS_LOADER_URL_REPLACEMENT_5___ + ") format(\"woff\");\n /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */\n}\n* {\n box-sizing: border-box;\n}\n\n.p-component {\n font-family: Roboto, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n}\n\n.p-component-overlay {\n background-color: rgba(0, 0, 0, 0.32);\n transition-duration: 0.2s;\n}\n\n.p-disabled, .p-component:disabled {\n opacity: 0.38;\n}\n\n.p-error {\n color: #B00020;\n}\n\n.p-text-secondary {\n color: rgba(0, 0, 0, 0.6);\n}\n\n.pi {\n font-size: 1rem;\n}\n\n.p-link {\n font-size: 1rem;\n font-family: Roboto, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;\n border-radius: 4px;\n}\n.p-link:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n\n.p-component-overlay-enter {\n -webkit-animation: p-component-overlay-enter-animation 150ms forwards;\n animation: p-component-overlay-enter-animation 150ms forwards;\n}\n\n.p-component-overlay-leave {\n -webkit-animation: p-component-overlay-leave-animation 150ms forwards;\n animation: p-component-overlay-leave-animation 150ms forwards;\n}\n\n@-webkit-keyframes p-component-overlay-enter-animation {\n from {\n background-color: transparent;\n }\n to {\n background-color: var(--maskbg);\n }\n}\n\n@keyframes p-component-overlay-enter-animation {\n from {\n background-color: transparent;\n }\n to {\n background-color: var(--maskbg);\n }\n}\n@-webkit-keyframes p-component-overlay-leave-animation {\n from {\n background-color: var(--maskbg);\n }\n to {\n background-color: transparent;\n }\n}\n@keyframes p-component-overlay-leave-animation {\n from {\n background-color: var(--maskbg);\n }\n to {\n background-color: transparent;\n }\n}\n\n:root {\n --blue-50:#f4fafe;\n --blue-100:#cae6fc;\n --blue-200:#a0d2fa;\n --blue-300:#75bef8;\n --blue-400:#4baaf5;\n --blue-500:#2196f3;\n --blue-600:#1c80cf;\n --blue-700:#1769aa;\n --blue-800:#125386;\n --blue-900:#0d3c61;\n --green-50:#f7faf5;\n --green-100:#dbe8cf;\n --green-200:#bed6a9;\n --green-300:#a1c384;\n --green-400:#85b15e;\n --green-500:#689f38;\n --green-600:#588730;\n --green-700:#496f27;\n --green-800:#39571f;\n --green-900:#2a4016;\n --yellow-50:#fffcf5;\n --yellow-100:#fef0cd;\n --yellow-200:#fde4a5;\n --yellow-300:#fdd87d;\n --yellow-400:#fccc55;\n --yellow-500:#fbc02d;\n --yellow-600:#d5a326;\n --yellow-700:#b08620;\n --yellow-800:#8a6a19;\n --yellow-900:#644d12;\n --cyan-50:#f2fcfd;\n --cyan-100:#c2eff5;\n --cyan-200:#91e2ed;\n --cyan-300:#61d5e4;\n --cyan-400:#30c9dc;\n --cyan-500:#00bcd4;\n --cyan-600:#00a0b4;\n --cyan-700:#008494;\n --cyan-800:#006775;\n --cyan-900:#004b55;\n --pink-50:#fef4f7;\n --pink-100:#fac9da;\n --pink-200:#f69ebc;\n --pink-300:#f1749e;\n --pink-400:#ed4981;\n --pink-500:#e91e63;\n --pink-600:#c61a54;\n --pink-700:#a31545;\n --pink-800:#801136;\n --pink-900:#5d0c28;\n --indigo-50:#f6f7fc;\n --indigo-100:#d5d9ef;\n --indigo-200:#b3bae2;\n --indigo-300:#919cd5;\n --indigo-400:#707dc8;\n --indigo-500:#4e5fbb;\n --indigo-600:#42519f;\n --indigo-700:#374383;\n --indigo-800:#2b3467;\n --indigo-900:#1f264b;\n --teal-50:#f2faf9;\n --teal-100:#c2e6e2;\n --teal-200:#91d2cc;\n --teal-300:#61beb5;\n --teal-400:#30aa9f;\n --teal-500:#009688;\n --teal-600:#008074;\n --teal-700:#00695f;\n --teal-800:#00534b;\n --teal-900:#003c36;\n --orange-50:#fffaf2;\n --orange-100:#ffe6c2;\n --orange-200:#ffd391;\n --orange-300:#ffbf61;\n --orange-400:#ffac30;\n --orange-500:#ff9800;\n --orange-600:#d98100;\n --orange-700:#b36a00;\n --orange-800:#8c5400;\n --orange-900:#663d00;\n --bluegray-50:#f7f9f9;\n --bluegray-100:#d9e0e3;\n --bluegray-200:#bbc7cd;\n --bluegray-300:#9caeb7;\n --bluegray-400:#7e96a1;\n --bluegray-500:#607d8b;\n --bluegray-600:#526a76;\n --bluegray-700:#435861;\n --bluegray-800:#35454c;\n --bluegray-900:#263238;\n --purple-50:#faf4fb;\n --purple-100:#e7cbec;\n --purple-200:#d4a2dd;\n --purple-300:#c279ce;\n --purple-400:#af50bf;\n --purple-500:#9c27b0;\n --purple-600:#852196;\n --purple-700:#6d1b7b;\n --purple-800:#561561;\n --purple-900:#3e1046;\n --red-50:#fef6f5;\n --red-100:#fcd2cf;\n --red-200:#faaea9;\n --red-300:#f88a82;\n --red-400:#f6675c;\n --red-500:#f44336;\n --red-600:#cf392e;\n --red-700:#ab2f26;\n --red-800:#86251e;\n --red-900:#621b16;\n --primary-50:#f5f6fb;\n --primary-100:#d1d5ed;\n --primary-200:#acb4df;\n --primary-300:#8893d1;\n --primary-400:#6372c3;\n --primary-500:#3f51b5;\n --primary-600:#36459a;\n --primary-700:#2c397f;\n --primary-800:#232d64;\n --primary-900:#192048;\n}\n\n.p-autocomplete .p-autocomplete-loader {\n right: 0.75rem;\n}\n.p-autocomplete.p-autocomplete-dd .p-autocomplete-loader {\n right: 3rem;\n}\n.p-autocomplete .p-autocomplete-multiple-container {\n padding: 0.375rem 0.75rem;\n}\n.p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled):hover {\n border-color: rgba(0, 0, 0, 0.87);\n}\n.p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled).p-focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n border-color: #3F51B5;\n}\n.p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token {\n padding: 0.375rem 0;\n}\n.p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token input {\n font-family: Roboto, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;\n font-size: 1rem;\n color: rgba(0, 0, 0, 0.87);\n padding: 0;\n margin: 0;\n}\n.p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token {\n padding: 0.375rem 0.75rem;\n margin-right: 0.5rem;\n background: rgba(0, 0, 0, 0.12);\n color: rgba(0, 0, 0, 0.87);\n border-radius: 16px;\n}\n.p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon {\n margin-left: 0.5rem;\n}\n.p-autocomplete.p-invalid.p-component > .p-inputtext {\n border-color: #B00020;\n}\n\n.p-autocomplete-panel {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 0 none;\n border-radius: 4px;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n.p-autocomplete-panel .p-autocomplete-items {\n padding: 0;\n}\n.p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item {\n margin: 0;\n padding: 0.75rem 0.75rem;\n border: 0 none;\n color: rgba(0, 0, 0, 0.87);\n background: transparent;\n transition: none;\n border-radius: 0;\n}\n.p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover {\n color: rgba(0, 0, 0, 0.87);\n background: rgba(0, 0, 0, 0.04);\n}\n.p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight {\n color: #3F51B5;\n background: rgba(63, 81, 181, 0.12);\n}\n.p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item-group {\n margin: 0;\n padding: 0.75rem;\n color: rgba(0, 0, 0, 0.6);\n background: #ffffff;\n font-weight: 400;\n}\n\n.p-calendar.p-invalid.p-component > .p-inputtext {\n border-color: #B00020;\n}\n\n.p-datepicker {\n padding: 0.5rem;\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 1px solid #e5e5e5;\n border-radius: 4px;\n}\n.p-datepicker:not(.p-datepicker-inline) {\n background: #ffffff;\n border: 0 none;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n.p-datepicker:not(.p-datepicker-inline) .p-datepicker-header {\n background: #ffffff;\n}\n.p-datepicker .p-datepicker-header {\n padding: 0.5rem;\n color: rgba(0, 0, 0, 0.87);\n background: #ffffff;\n font-weight: 500;\n margin: 0;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.p-datepicker .p-datepicker-header .p-datepicker-prev,\n.p-datepicker .p-datepicker-header .p-datepicker-next {\n width: 2rem;\n height: 2rem;\n color: rgba(0, 0, 0, 0.6);\n border: 0 none;\n background: transparent;\n border-radius: 50%;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n}\n.p-datepicker .p-datepicker-header .p-datepicker-prev:enabled:hover,\n.p-datepicker .p-datepicker-header .p-datepicker-next:enabled:hover {\n color: rgba(0, 0, 0, 0.6);\n border-color: transparent;\n background: rgba(0, 0, 0, 0.04);\n}\n.p-datepicker .p-datepicker-header .p-datepicker-prev:focus,\n.p-datepicker .p-datepicker-header .p-datepicker-next:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-datepicker .p-datepicker-header .p-datepicker-title {\n line-height: 2rem;\n}\n.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year,\n.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month {\n color: rgba(0, 0, 0, 0.87);\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n font-weight: 500;\n padding: 0.5rem;\n}\n.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year:enabled:hover,\n.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month:enabled:hover {\n color: #3F51B5;\n}\n.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month {\n margin-right: 0.5rem;\n}\n.p-datepicker table {\n font-size: 1rem;\n margin: 0.5rem 0;\n}\n.p-datepicker table th {\n padding: 0.5rem;\n}\n.p-datepicker table th > span {\n width: 2.25rem;\n height: 2.25rem;\n}\n.p-datepicker table td {\n padding: 0.5rem;\n}\n.p-datepicker table td > span {\n width: 2.25rem;\n height: 2.25rem;\n border-radius: 50%;\n transition: none;\n border: 1px solid transparent;\n}\n.p-datepicker table td > span.p-highlight {\n color: #3F51B5;\n background: rgba(63, 81, 181, 0.12);\n}\n.p-datepicker table td > span:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-datepicker table td.p-datepicker-today > span {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border-color: black;\n}\n.p-datepicker table td.p-datepicker-today > span.p-highlight {\n color: #3F51B5;\n background: rgba(63, 81, 181, 0.12);\n}\n.p-datepicker .p-datepicker-buttonbar {\n padding: 0.75rem 0;\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n}\n.p-datepicker .p-datepicker-buttonbar .p-button {\n width: auto;\n}\n.p-datepicker .p-timepicker {\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n padding: 0.5rem;\n}\n.p-datepicker .p-timepicker button {\n width: 2rem;\n height: 2rem;\n color: rgba(0, 0, 0, 0.6);\n border: 0 none;\n background: transparent;\n border-radius: 50%;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n}\n.p-datepicker .p-timepicker button:enabled:hover {\n color: rgba(0, 0, 0, 0.6);\n border-color: transparent;\n background: rgba(0, 0, 0, 0.04);\n}\n.p-datepicker .p-timepicker button:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-datepicker .p-timepicker button:last-child {\n margin-top: 0.2em;\n}\n.p-datepicker .p-timepicker span {\n font-size: 1.25rem;\n}\n.p-datepicker .p-timepicker > div {\n padding: 0 0.5rem;\n}\n.p-datepicker.p-datepicker-timeonly .p-timepicker {\n border-top: 0 none;\n}\n.p-datepicker .p-monthpicker {\n margin: 0.5rem 0;\n}\n.p-datepicker .p-monthpicker .p-monthpicker-month {\n padding: 0.5rem;\n transition: none;\n border-radius: 4px;\n}\n.p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight {\n color: #3F51B5;\n background: rgba(63, 81, 181, 0.12);\n}\n.p-datepicker .p-yearpicker {\n margin: 0.5rem 0;\n}\n.p-datepicker .p-yearpicker .p-yearpicker-year {\n padding: 0.5rem;\n transition: none;\n border-radius: 4px;\n}\n.p-datepicker .p-yearpicker .p-yearpicker-year.p-highlight {\n color: #3F51B5;\n background: rgba(63, 81, 181, 0.12);\n}\n.p-datepicker.p-datepicker-multiple-month .p-datepicker-group {\n border-left: 1px solid rgba(0, 0, 0, 0.12);\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n padding-top: 0;\n padding-bottom: 0;\n}\n.p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child {\n padding-left: 0;\n border-left: 0 none;\n}\n.p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child {\n padding-right: 0;\n}\n.p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):hover {\n background: rgba(0, 0, 0, 0.04);\n}\n.p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):not(.p-highlight):hover {\n background: rgba(0, 0, 0, 0.04);\n}\n.p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):not(.p-highlight):hover {\n background: rgba(0, 0, 0, 0.04);\n}\n.p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n\n@media screen and (max-width: 769px) {\n .p-datepicker table th, .p-datepicker table td {\n padding: 0;\n }\n}\n.p-cascadeselect {\n background: #ffffff;\n border: 1px solid rgba(0, 0, 0, 0.38);\n transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);\n border-radius: 4px;\n}\n.p-cascadeselect:not(.p-disabled):hover {\n border-color: rgba(0, 0, 0, 0.87);\n}\n.p-cascadeselect:not(.p-disabled).p-focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n border-color: #3F51B5;\n}\n.p-cascadeselect .p-cascadeselect-label {\n background: transparent;\n border: 0 none;\n padding: 0.75rem 0.75rem;\n}\n.p-cascadeselect .p-cascadeselect-label.p-placeholder {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-cascadeselect .p-cascadeselect-label:enabled:focus {\n outline: 0 none;\n box-shadow: none;\n}\n.p-cascadeselect .p-cascadeselect-trigger {\n background: transparent;\n color: rgba(0, 0, 0, 0.6);\n width: 2.357rem;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.p-cascadeselect.p-invalid.p-component {\n border-color: #B00020;\n}\n\n.p-cascadeselect-panel {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 0 none;\n border-radius: 4px;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n.p-cascadeselect-panel .p-cascadeselect-items {\n padding: 0;\n}\n.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item {\n margin: 0;\n border: 0 none;\n color: rgba(0, 0, 0, 0.87);\n background: transparent;\n transition: none;\n border-radius: 0;\n}\n.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content {\n padding: 0.75rem 0.75rem;\n}\n.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight {\n color: #3F51B5;\n background: rgba(63, 81, 181, 0.12);\n}\n.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled):hover {\n color: rgba(0, 0, 0, 0.87);\n background: rgba(0, 0, 0, 0.04);\n}\n.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon {\n font-size: 0.875rem;\n}\n\n.p-input-filled .p-cascadeselect {\n background: #f5f5f5;\n}\n.p-input-filled .p-cascadeselect:not(.p-disabled):hover {\n background-color: #ececec;\n}\n.p-input-filled .p-cascadeselect:not(.p-disabled).p-focus {\n background-color: #dcdcdc;\n}\n\n.p-checkbox {\n width: 18px;\n height: 18px;\n}\n.p-checkbox .p-checkbox-box {\n border: 2px solid #757575;\n background: #ffffff;\n width: 18px;\n height: 18px;\n color: rgba(0, 0, 0, 0.87);\n border-radius: 4px;\n transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);\n}\n.p-checkbox .p-checkbox-box .p-checkbox-icon {\n transition-duration: 0.2s;\n color: #ffffff;\n font-size: 14px;\n}\n.p-checkbox .p-checkbox-box.p-highlight {\n border-color: #3F51B5;\n background: #3F51B5;\n}\n.p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover {\n border-color: rgba(0, 0, 0, 0.87);\n}\n.p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n border-color: #3F51B5;\n}\n.p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover {\n border-color: #3F51B5;\n background: #3F51B5;\n color: #ffffff;\n}\n.p-checkbox.p-invalid > .p-checkbox-box {\n border-color: #B00020;\n}\n\n.p-input-filled .p-checkbox .p-checkbox-box {\n background-color: #f5f5f5;\n}\n.p-input-filled .p-checkbox .p-checkbox-box.p-highlight {\n background: #3F51B5;\n}\n.p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover {\n background-color: #ececec;\n}\n.p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover {\n background: #3F51B5;\n}\n\n.p-chips .p-chips-multiple-container {\n padding: 0.375rem 0.75rem;\n}\n.p-chips .p-chips-multiple-container:not(.p-disabled):hover {\n border-color: rgba(0, 0, 0, 0.87);\n}\n.p-chips .p-chips-multiple-container:not(.p-disabled).p-focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n border-color: #3F51B5;\n}\n.p-chips .p-chips-multiple-container .p-chips-token {\n padding: 0.375rem 0.75rem;\n margin-right: 0.5rem;\n background: rgba(0, 0, 0, 0.12);\n color: rgba(0, 0, 0, 0.87);\n border-radius: 16px;\n}\n.p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon {\n margin-left: 0.5rem;\n}\n.p-chips .p-chips-multiple-container .p-chips-input-token {\n padding: 0.375rem 0;\n}\n.p-chips .p-chips-multiple-container .p-chips-input-token input {\n font-family: Roboto, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;\n font-size: 1rem;\n color: rgba(0, 0, 0, 0.87);\n padding: 0;\n margin: 0;\n}\n.p-chips.p-invalid.p-component > .p-inputtext {\n border-color: #B00020;\n}\n\n.p-colorpicker-preview {\n width: 2rem;\n height: 2rem;\n}\n\n.p-colorpicker-panel {\n background: #323232;\n border: 1px solid #191919;\n}\n.p-colorpicker-panel .p-colorpicker-color-handle,\n.p-colorpicker-panel .p-colorpicker-hue-handle {\n border-color: #ffffff;\n}\n\n.p-colorpicker-overlay-panel {\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n\n.p-dropdown {\n background: #ffffff;\n border: 1px solid rgba(0, 0, 0, 0.38);\n transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);\n border-radius: 4px;\n}\n.p-dropdown:not(.p-disabled):hover {\n border-color: rgba(0, 0, 0, 0.87);\n}\n.p-dropdown:not(.p-disabled).p-focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n border-color: #3F51B5;\n}\n.p-dropdown.p-dropdown-clearable .p-dropdown-label {\n padding-right: 1.75rem;\n}\n.p-dropdown .p-dropdown-label {\n background: transparent;\n border: 0 none;\n}\n.p-dropdown .p-dropdown-label.p-placeholder {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-dropdown .p-dropdown-label:enabled:focus {\n outline: 0 none;\n box-shadow: none;\n}\n.p-dropdown .p-dropdown-trigger {\n background: transparent;\n color: rgba(0, 0, 0, 0.6);\n width: 2.357rem;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.p-dropdown .p-dropdown-clear-icon {\n color: rgba(0, 0, 0, 0.6);\n right: 2.357rem;\n}\n.p-dropdown.p-invalid.p-component {\n border-color: #B00020;\n}\n\n.p-dropdown-panel {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 0 none;\n border-radius: 4px;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n.p-dropdown-panel .p-dropdown-header {\n padding: 0.75rem;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n color: rgba(0, 0, 0, 0.87);\n background: #ffffff;\n margin: 0;\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.p-dropdown-panel .p-dropdown-header .p-dropdown-filter {\n padding-right: 1.75rem;\n margin-right: -1.75rem;\n}\n.p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon {\n right: 0.75rem;\n color: rgba(0, 0, 0, 0.6);\n}\n.p-dropdown-panel .p-dropdown-items {\n padding: 0;\n}\n.p-dropdown-panel .p-dropdown-items .p-dropdown-item {\n margin: 0;\n padding: 0.75rem 0.75rem;\n border: 0 none;\n color: rgba(0, 0, 0, 0.87);\n background: transparent;\n transition: none;\n border-radius: 0;\n}\n.p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight {\n color: #3F51B5;\n background: rgba(63, 81, 181, 0.12);\n}\n.p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover {\n color: rgba(0, 0, 0, 0.87);\n background: rgba(0, 0, 0, 0.04);\n}\n.p-dropdown-panel .p-dropdown-items .p-dropdown-item-group {\n margin: 0;\n padding: 0.75rem;\n color: rgba(0, 0, 0, 0.6);\n background: #ffffff;\n font-weight: 400;\n}\n.p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message {\n padding: 0.75rem 0.75rem;\n color: rgba(0, 0, 0, 0.87);\n background: transparent;\n}\n\n.p-input-filled .p-dropdown {\n background: #f5f5f5;\n}\n.p-input-filled .p-dropdown:not(.p-disabled):hover {\n background-color: #ececec;\n}\n.p-input-filled .p-dropdown:not(.p-disabled).p-focus {\n background-color: #dcdcdc;\n}\n.p-input-filled .p-dropdown:not(.p-disabled).p-focus .p-inputtext {\n background-color: transparent;\n}\n\n.p-editor-container .p-editor-toolbar {\n background: #ffffff;\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.p-editor-container .p-editor-toolbar.ql-snow {\n border: 1px solid #e0e0e0;\n}\n.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke {\n stroke: rgba(0, 0, 0, 0.6);\n}\n.p-editor-container .p-editor-toolbar.ql-snow .ql-fill {\n fill: rgba(0, 0, 0, 0.6);\n}\n.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label {\n border: 0 none;\n color: rgba(0, 0, 0, 0.6);\n}\n.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke {\n stroke: rgba(0, 0, 0, 0.87);\n}\n.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill {\n fill: rgba(0, 0, 0, 0.87);\n}\n.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke {\n stroke: rgba(0, 0, 0, 0.87);\n}\n.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill {\n fill: rgba(0, 0, 0, 0.87);\n}\n.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {\n background: #ffffff;\n border: 0 none;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n border-radius: 4px;\n padding: 0;\n}\n.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover {\n color: rgba(0, 0, 0, 0.87);\n background: rgba(0, 0, 0, 0.04);\n}\n.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item {\n padding: 0.75rem 0.75rem;\n}\n.p-editor-container .p-editor-content {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.p-editor-container .p-editor-content.ql-snow {\n border: 1px solid #e0e0e0;\n}\n.p-editor-container .p-editor-content .ql-editor {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.p-editor-container .ql-snow.ql-toolbar button:hover,\n.p-editor-container .ql-snow.ql-toolbar button:focus {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke,\n.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke {\n stroke: rgba(0, 0, 0, 0.87);\n}\n.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill,\n.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill {\n fill: rgba(0, 0, 0, 0.87);\n}\n.p-editor-container .ql-snow.ql-toolbar button.ql-active,\n.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active,\n.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected {\n color: #3F51B5;\n}\n.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke,\n.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,\n.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke {\n stroke: #3F51B5;\n}\n.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill,\n.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,\n.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill {\n fill: #3F51B5;\n}\n.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label,\n.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label,\n.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label {\n color: #3F51B5;\n}\n\n.p-inputgroup-addon {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.6);\n border-top: 1px solid rgba(0, 0, 0, 0.38);\n border-left: 1px solid rgba(0, 0, 0, 0.38);\n border-bottom: 1px solid rgba(0, 0, 0, 0.38);\n padding: 0.75rem 0.75rem;\n min-width: 2.357rem;\n}\n.p-inputgroup-addon:last-child {\n border-right: 1px solid rgba(0, 0, 0, 0.38);\n}\n\n.p-inputgroup > .p-component,\n.p-inputgroup > .p-inputwrapper > .p-inputtext,\n.p-inputgroup > .p-float-label > .p-component {\n border-radius: 0;\n margin: 0;\n}\n.p-inputgroup > .p-component + .p-inputgroup-addon,\n.p-inputgroup > .p-inputwrapper > .p-inputtext + .p-inputgroup-addon,\n.p-inputgroup > .p-float-label > .p-component + .p-inputgroup-addon {\n border-left: 0 none;\n}\n.p-inputgroup > .p-component:focus,\n.p-inputgroup > .p-inputwrapper > .p-inputtext:focus,\n.p-inputgroup > .p-float-label > .p-component:focus {\n z-index: 1;\n}\n.p-inputgroup > .p-component:focus ~ label,\n.p-inputgroup > .p-inputwrapper > .p-inputtext:focus ~ label,\n.p-inputgroup > .p-float-label > .p-component:focus ~ label {\n z-index: 1;\n}\n\n.p-inputgroup-addon:first-child,\n.p-inputgroup button:first-child,\n.p-inputgroup input:first-child,\n.p-inputgroup > .p-inputwrapper:first-child,\n.p-inputgroup > .p-inputwrapper:first-child > .p-inputtext {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n\n.p-inputgroup .p-float-label:first-child input {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n\n.p-inputgroup-addon:last-child,\n.p-inputgroup button:last-child,\n.p-inputgroup input:last-child,\n.p-inputgroup > .p-inputwrapper:last-child,\n.p-inputgroup > .p-inputwrapper:last-child > .p-inputtext {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n\n.p-inputgroup .p-float-label:last-child input {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n\n.p-fluid .p-inputgroup .p-button {\n width: auto;\n}\n.p-fluid .p-inputgroup .p-button.p-button-icon-only {\n width: 2.25rem;\n}\n\n.p-inputnumber.p-invalid.p-component > .p-inputtext {\n border-color: #B00020;\n}\n\n.p-inputswitch {\n width: 2.75rem;\n height: 1rem;\n}\n.p-inputswitch .p-inputswitch-slider {\n background: rgba(0, 0, 0, 0.38);\n transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);\n border-radius: 0.5rem;\n}\n.p-inputswitch .p-inputswitch-slider:before {\n background: #ffffff;\n width: 1.5rem;\n height: 1.5rem;\n left: -1px;\n margin-top: -0.75rem;\n border-radius: 50%;\n transition-duration: 0.2s;\n}\n.p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before {\n transform: translateX(1.5rem);\n}\n.p-inputswitch.p-focus .p-inputswitch-slider {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-inputswitch:not(.p-disabled):hover .p-inputswitch-slider {\n background: rgba(0, 0, 0, 0.38);\n}\n.p-inputswitch.p-inputswitch-checked .p-inputswitch-slider {\n background: rgba(63, 81, 181, 0.5);\n}\n.p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before {\n background: #3F51B5;\n}\n.p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider {\n background: rgba(63, 81, 181, 0.5);\n}\n.p-inputswitch.p-invalid {\n border-color: #B00020;\n}\n\n.p-inputtext {\n font-family: Roboto, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;\n font-size: 1rem;\n color: rgba(0, 0, 0, 0.87);\n background: #ffffff;\n padding: 0.75rem 0.75rem;\n border: 1px solid rgba(0, 0, 0, 0.38);\n transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n border-radius: 4px;\n}\n.p-inputtext:enabled:hover {\n border-color: rgba(0, 0, 0, 0.87);\n}\n.p-inputtext:enabled:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n border-color: #3F51B5;\n}\n.p-inputtext.p-invalid.p-component {\n border-color: #B00020;\n}\n.p-inputtext.p-inputtext-sm {\n font-size: 0.875rem;\n padding: 0.65625rem 0.65625rem;\n}\n.p-inputtext.p-inputtext-lg {\n font-size: 1.25rem;\n padding: 0.9375rem 0.9375rem;\n}\n\n.p-float-label > label {\n left: 0.75rem;\n color: rgba(0, 0, 0, 0.6);\n transition-duration: 0.2s;\n}\n\n.p-input-icon-left > i:first-of-type {\n left: 0.75rem;\n color: rgba(0, 0, 0, 0.6);\n}\n\n.p-input-icon-left > .p-inputtext {\n padding-left: 2.5rem;\n}\n\n.p-input-icon-left.p-float-label > label {\n left: 2.5rem;\n}\n\n.p-input-icon-right > i:last-of-type {\n right: 0.75rem;\n color: rgba(0, 0, 0, 0.6);\n}\n\n.p-input-icon-right > .p-inputtext {\n padding-right: 2.5rem;\n}\n\n::-webkit-input-placeholder {\n color: rgba(0, 0, 0, 0.6);\n}\n\n:-moz-placeholder {\n color: rgba(0, 0, 0, 0.6);\n}\n\n::-moz-placeholder {\n color: rgba(0, 0, 0, 0.6);\n}\n\n:-ms-input-placeholder {\n color: rgba(0, 0, 0, 0.6);\n}\n\n.p-input-filled .p-inputtext {\n background-color: #f5f5f5;\n}\n.p-input-filled .p-inputtext:enabled:hover {\n background-color: #ececec;\n}\n.p-input-filled .p-inputtext:enabled:focus {\n background-color: #dcdcdc;\n}\n\n.p-inputtext-sm .p-inputtext {\n font-size: 0.875rem;\n padding: 0.65625rem 0.65625rem;\n}\n\n.p-inputtext-lg .p-inputtext {\n font-size: 1.25rem;\n padding: 0.9375rem 0.9375rem;\n}\n\n.p-listbox {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 1px solid #e5e5e5;\n border-radius: 4px;\n}\n.p-listbox .p-listbox-header {\n padding: 0.75rem;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n color: rgba(0, 0, 0, 0.87);\n background: #ffffff;\n margin: 0;\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.p-listbox .p-listbox-header .p-listbox-filter {\n padding-right: 1.75rem;\n}\n.p-listbox .p-listbox-header .p-listbox-filter-icon {\n right: 0.75rem;\n color: rgba(0, 0, 0, 0.6);\n}\n.p-listbox .p-listbox-list {\n padding: 0;\n}\n.p-listbox .p-listbox-list .p-listbox-item {\n margin: 0;\n padding: 0.75rem 0.75rem;\n border: 0 none;\n color: rgba(0, 0, 0, 0.87);\n transition: none;\n border-radius: 0;\n}\n.p-listbox .p-listbox-list .p-listbox-item.p-highlight {\n color: #3F51B5;\n background: rgba(63, 81, 181, 0.12);\n}\n.p-listbox .p-listbox-list .p-listbox-item:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-listbox .p-listbox-list .p-listbox-item-group {\n margin: 0;\n padding: 0.75rem;\n color: rgba(0, 0, 0, 0.6);\n background: #ffffff;\n font-weight: 400;\n}\n.p-listbox .p-listbox-list .p-listbox-empty-message {\n padding: 0.75rem 0.75rem;\n color: rgba(0, 0, 0, 0.87);\n background: transparent;\n}\n.p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover {\n color: rgba(0, 0, 0, 0.87);\n background: rgba(0, 0, 0, 0.04);\n}\n.p-listbox.p-invalid {\n border-color: #B00020;\n}\n\n.p-multiselect {\n background: #ffffff;\n border: 1px solid rgba(0, 0, 0, 0.38);\n transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);\n border-radius: 4px;\n}\n.p-multiselect:not(.p-disabled):hover {\n border-color: rgba(0, 0, 0, 0.87);\n}\n.p-multiselect:not(.p-disabled).p-focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n border-color: #3F51B5;\n}\n.p-multiselect .p-multiselect-label {\n padding: 0.75rem 0.75rem;\n transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);\n}\n.p-multiselect .p-multiselect-label.p-placeholder {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-multiselect.p-multiselect-chip .p-multiselect-token {\n padding: 0.375rem 0.75rem;\n margin-right: 0.5rem;\n background: rgba(0, 0, 0, 0.12);\n color: rgba(0, 0, 0, 0.87);\n border-radius: 16px;\n}\n.p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon {\n margin-left: 0.5rem;\n}\n.p-multiselect .p-multiselect-trigger {\n background: transparent;\n color: rgba(0, 0, 0, 0.6);\n width: 2.357rem;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.p-multiselect.p-invalid.p-component {\n border-color: #B00020;\n}\n\n.p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label {\n padding: 0.375rem 0.75rem;\n}\n\n.p-multiselect-panel {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 0 none;\n border-radius: 4px;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n.p-multiselect-panel .p-multiselect-header {\n padding: 0.75rem;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n color: rgba(0, 0, 0, 0.87);\n background: #ffffff;\n margin: 0;\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-inputtext {\n padding-right: 1.75rem;\n}\n.p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-multiselect-filter-icon {\n right: 0.75rem;\n color: rgba(0, 0, 0, 0.6);\n}\n.p-multiselect-panel .p-multiselect-header .p-checkbox {\n margin-right: 0.5rem;\n}\n.p-multiselect-panel .p-multiselect-header .p-multiselect-close {\n margin-left: 0.5rem;\n width: 2rem;\n height: 2rem;\n color: rgba(0, 0, 0, 0.6);\n border: 0 none;\n background: transparent;\n border-radius: 50%;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n}\n.p-multiselect-panel .p-multiselect-header .p-multiselect-close:enabled:hover {\n color: rgba(0, 0, 0, 0.6);\n border-color: transparent;\n background: rgba(0, 0, 0, 0.04);\n}\n.p-multiselect-panel .p-multiselect-header .p-multiselect-close:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-multiselect-panel .p-multiselect-items {\n padding: 0;\n}\n.p-multiselect-panel .p-multiselect-items .p-multiselect-item {\n margin: 0;\n padding: 0.75rem 0.75rem;\n border: 0 none;\n color: rgba(0, 0, 0, 0.87);\n background: transparent;\n transition: none;\n border-radius: 0;\n}\n.p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight {\n color: #3F51B5;\n background: rgba(63, 81, 181, 0.12);\n}\n.p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled):hover {\n color: rgba(0, 0, 0, 0.87);\n background: rgba(0, 0, 0, 0.04);\n}\n.p-multiselect-panel .p-multiselect-items .p-multiselect-item:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox {\n margin-right: 0.5rem;\n}\n.p-multiselect-panel .p-multiselect-items .p-multiselect-item-group {\n margin: 0;\n padding: 0.75rem;\n color: rgba(0, 0, 0, 0.6);\n background: #ffffff;\n font-weight: 400;\n}\n.p-multiselect-panel .p-multiselect-items .p-multiselect-empty-message {\n padding: 0.75rem 0.75rem;\n color: rgba(0, 0, 0, 0.87);\n background: transparent;\n}\n\n.p-input-filled .p-multiselect {\n background: #f5f5f5;\n}\n.p-input-filled .p-multiselect:not(.p-disabled):hover {\n background-color: #ececec;\n}\n.p-input-filled .p-multiselect:not(.p-disabled).p-focus {\n background-color: #dcdcdc;\n}\n\n.p-password.p-invalid.p-component > .p-inputtext {\n border-color: #B00020;\n}\n\n.p-password-panel {\n padding: 0.75rem;\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 0 none;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n border-radius: 4px;\n}\n.p-password-panel .p-password-meter {\n margin-bottom: 0.5rem;\n background: rgba(63, 81, 181, 0.32);\n}\n.p-password-panel .p-password-meter .p-password-strength.weak {\n background: #D32F2F;\n}\n.p-password-panel .p-password-meter .p-password-strength.medium {\n background: #FBC02D;\n}\n.p-password-panel .p-password-meter .p-password-strength.strong {\n background: #689F38;\n}\n\n.p-radiobutton {\n width: 20px;\n height: 20px;\n}\n.p-radiobutton .p-radiobutton-box {\n border: 2px solid #757575;\n background: #ffffff;\n width: 20px;\n height: 20px;\n color: rgba(0, 0, 0, 0.87);\n border-radius: 50%;\n transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);\n}\n.p-radiobutton .p-radiobutton-box:not(.p-disabled):not(.p-highlight):hover {\n border-color: rgba(0, 0, 0, 0.87);\n}\n.p-radiobutton .p-radiobutton-box:not(.p-disabled).p-focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n border-color: #3F51B5;\n}\n.p-radiobutton .p-radiobutton-box .p-radiobutton-icon {\n width: 10px;\n height: 10px;\n transition-duration: 0.2s;\n background-color: #3F51B5;\n}\n.p-radiobutton .p-radiobutton-box.p-highlight {\n border-color: #3F51B5;\n background: #ffffff;\n}\n.p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover {\n border-color: #3F51B5;\n background: #ffffff;\n color: #3F51B5;\n}\n.p-radiobutton.p-invalid > .p-radiobutton-box {\n border-color: #B00020;\n}\n.p-radiobutton:focus {\n outline: 0 none;\n}\n\n.p-input-filled .p-radiobutton .p-radiobutton-box {\n background-color: #f5f5f5;\n}\n.p-input-filled .p-radiobutton .p-radiobutton-box:not(.p-disabled):hover {\n background-color: #ececec;\n}\n.p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight {\n background: #ffffff;\n}\n.p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover {\n background: #ffffff;\n}\n\n.p-rating .p-rating-icon {\n color: #3F51B5;\n margin-left: 0.5rem;\n transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);\n font-size: 1rem;\n}\n.p-rating .p-rating-icon.p-rating-cancel {\n color: #B00020;\n}\n.p-rating .p-rating-icon:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-rating .p-rating-icon:first-child {\n margin-left: 0;\n}\n.p-rating .p-rating-icon.pi-star-fill {\n color: #3F51B5;\n}\n.p-rating:not(.p-disabled):not(.p-readonly) .p-rating-icon:hover {\n color: #3F51B5;\n}\n.p-rating:not(.p-disabled):not(.p-readonly) .p-rating-icon.p-rating-cancel:hover {\n color: #B00020;\n}\n\n.p-selectbutton .p-button {\n background: #ffffff;\n border: 1px solid rgba(0, 0, 0, 0.12);\n color: rgba(0, 0, 0, 0.87);\n transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);\n}\n.p-selectbutton .p-button .p-button-icon-left,\n.p-selectbutton .p-button .p-button-icon-right {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover {\n background: #f6f6f6;\n border-color: rgba(0, 0, 0, 0.12);\n color: rgba(0, 0, 0, 0.87);\n}\n.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left,\n.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-selectbutton .p-button.p-highlight {\n background: #e0e0e1;\n border-color: #e0e0e1;\n color: rgba(0, 0, 0, 0.87);\n}\n.p-selectbutton .p-button.p-highlight .p-button-icon-left,\n.p-selectbutton .p-button.p-highlight .p-button-icon-right {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-selectbutton .p-button.p-highlight:hover {\n background: #d9d8d9;\n border-color: #d9d8d9;\n color: rgba(0, 0, 0, 0.87);\n}\n.p-selectbutton .p-button.p-highlight:hover .p-button-icon-left,\n.p-selectbutton .p-button.p-highlight:hover .p-button-icon-right {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-selectbutton.p-invalid > .p-button {\n border-color: #B00020;\n}\n\n.p-slider {\n background: #c1c1c1;\n border: 0 none;\n border-radius: 4px;\n}\n.p-slider.p-slider-horizontal {\n height: 2px;\n}\n.p-slider.p-slider-horizontal .p-slider-handle {\n margin-top: -10px;\n margin-left: -10px;\n}\n.p-slider.p-slider-vertical {\n width: 2px;\n}\n.p-slider.p-slider-vertical .p-slider-handle {\n margin-left: -10px;\n margin-bottom: -10px;\n}\n.p-slider .p-slider-handle {\n height: 20px;\n width: 20px;\n background: #3F51B5;\n border: 0 none;\n border-radius: 50%;\n transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);\n}\n.p-slider .p-slider-handle:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-slider .p-slider-range {\n background: #3F51B5;\n}\n.p-slider:not(.p-disabled) .p-slider-handle:hover {\n background: #3F51B5;\n border-color: 0 none;\n}\n\n.p-treeselect {\n background: #ffffff;\n border: 1px solid rgba(0, 0, 0, 0.38);\n transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);\n border-radius: 4px;\n}\n.p-treeselect:not(.p-disabled):hover {\n border-color: rgba(0, 0, 0, 0.87);\n}\n.p-treeselect:not(.p-disabled).p-focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n border-color: #3F51B5;\n}\n.p-treeselect .p-treeselect-label {\n padding: 0.75rem 0.75rem;\n transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);\n}\n.p-treeselect .p-treeselect-label.p-placeholder {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-treeselect.p-treeselect-chip .p-treeselect-token {\n padding: 0.375rem 0.75rem;\n margin-right: 0.5rem;\n background: rgba(0, 0, 0, 0.12);\n color: rgba(0, 0, 0, 0.87);\n border-radius: 16px;\n}\n.p-treeselect .p-treeselect-trigger {\n background: transparent;\n color: rgba(0, 0, 0, 0.6);\n width: 2.357rem;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.p-treeselect.p-invalid.p-component {\n border-color: #B00020;\n}\n\n.p-inputwrapper-filled.p-treeselect.p-treeselect-chip .p-treeselect-label {\n padding: 0.375rem 0.75rem;\n}\n\n.p-treeselect-panel {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 0 none;\n border-radius: 4px;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n.p-treeselect-panel .p-treeselect-items-wrapper .p-tree {\n border: 0 none;\n}\n.p-treeselect-panel .p-treeselect-items-wrapper .p-treeselect-empty-message {\n padding: 0.75rem 0.75rem;\n color: rgba(0, 0, 0, 0.87);\n background: transparent;\n}\n\n.p-input-filled .p-treeselect {\n background: #f5f5f5;\n}\n.p-input-filled .p-treeselect:not(.p-disabled):hover {\n background-color: #ececec;\n}\n.p-input-filled .p-treeselect:not(.p-disabled).p-focus {\n background-color: #dcdcdc;\n}\n\n.p-togglebutton.p-button {\n background: #ffffff;\n border: 1px solid rgba(0, 0, 0, 0.12);\n color: rgba(0, 0, 0, 0.87);\n transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);\n}\n.p-togglebutton.p-button .p-button-icon-left,\n.p-togglebutton.p-button .p-button-icon-right {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover {\n background: #f6f6f6;\n border-color: rgba(0, 0, 0, 0.12);\n color: rgba(0, 0, 0, 0.87);\n}\n.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left,\n.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-togglebutton.p-button.p-highlight {\n background: #e0e0e1;\n border-color: #e0e0e1;\n color: rgba(0, 0, 0, 0.87);\n}\n.p-togglebutton.p-button.p-highlight .p-button-icon-left,\n.p-togglebutton.p-button.p-highlight .p-button-icon-right {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-togglebutton.p-button.p-highlight:hover {\n background: #d9d8d9;\n border-color: #d9d8d9;\n color: rgba(0, 0, 0, 0.87);\n}\n.p-togglebutton.p-button.p-highlight:hover .p-button-icon-left,\n.p-togglebutton.p-button.p-highlight:hover .p-button-icon-right {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-togglebutton.p-button.p-invalid > .p-button {\n border-color: #B00020;\n}\n\n.p-button {\n color: #ffffff;\n background: #3F51B5;\n border: 0 none;\n padding: 0.571rem 0.75rem;\n font-size: 1rem;\n transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);\n border-radius: 4px;\n}\n.p-button:enabled:hover {\n background: rgba(63, 81, 181, 0.92);\n color: #ffffff;\n border-color: transparent;\n}\n.p-button:enabled:active {\n background: rgba(63, 81, 181, 0.68);\n color: #ffffff;\n border-color: transparent;\n}\n.p-button.p-button-outlined {\n background-color: transparent;\n color: #3F51B5;\n border: 0 none;\n}\n.p-button.p-button-outlined:enabled:hover {\n background: rgba(63, 81, 181, 0.04);\n color: #3F51B5;\n border: 0 none;\n}\n.p-button.p-button-outlined:enabled:active {\n background: rgba(63, 81, 181, 0.16);\n color: #3F51B5;\n border: 0 none;\n}\n.p-button.p-button-outlined.p-button-plain {\n color: rgba(0, 0, 0, 0.6);\n border-color: rgba(0, 0, 0, 0.6);\n}\n.p-button.p-button-outlined.p-button-plain:enabled:hover {\n background: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.6);\n}\n.p-button.p-button-outlined.p-button-plain:enabled:active {\n background: rgba(0, 0, 0, 0.16);\n color: rgba(0, 0, 0, 0.6);\n}\n.p-button.p-button-text {\n background-color: transparent;\n color: #3F51B5;\n border-color: transparent;\n}\n.p-button.p-button-text:enabled:hover {\n background: rgba(63, 81, 181, 0.04);\n color: #3F51B5;\n border-color: transparent;\n}\n.p-button.p-button-text:enabled:active {\n background: rgba(63, 81, 181, 0.16);\n color: #3F51B5;\n border-color: transparent;\n}\n.p-button.p-button-text.p-button-plain {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-button.p-button-text.p-button-plain:enabled:hover {\n background: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.6);\n}\n.p-button.p-button-text.p-button-plain:enabled:active {\n background: rgba(0, 0, 0, 0.16);\n color: rgba(0, 0, 0, 0.6);\n}\n.p-button:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-button .p-button-icon-left {\n margin-right: 0.5rem;\n}\n.p-button .p-button-icon-right {\n margin-left: 0.5rem;\n}\n.p-button .p-button-icon-bottom {\n margin-top: 0.5rem;\n}\n.p-button .p-button-icon-top {\n margin-bottom: 0.5rem;\n}\n.p-button .p-badge {\n margin-left: 0.5rem;\n min-width: 1rem;\n height: 1rem;\n line-height: 1rem;\n color: #3F51B5;\n background-color: #ffffff;\n}\n.p-button.p-button-raised {\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.p-button.p-button-rounded {\n border-radius: 2rem;\n}\n.p-button.p-button-icon-only {\n width: 2.25rem;\n padding: 0.571rem;\n}\n.p-button.p-button-icon-only .p-button-icon-left,\n.p-button.p-button-icon-only .p-button-icon-right {\n margin: 0;\n}\n.p-button.p-button-icon-only.p-button-rounded {\n border-radius: 50%;\n height: 2.25rem;\n}\n.p-button.p-button-sm {\n font-size: 0.875rem;\n padding: 0.499625rem 0.65625rem;\n}\n.p-button.p-button-sm .p-button-icon {\n font-size: 0.875rem;\n}\n.p-button.p-button-lg {\n font-size: 1.25rem;\n padding: 0.71375rem 0.9375rem;\n}\n.p-button.p-button-lg .p-button-icon {\n font-size: 1.25rem;\n}\n.p-button.p-button-loading-label-only .p-button-label {\n margin-left: 0.5rem;\n}\n.p-button.p-button-loading-label-only .p-button-loading-icon {\n margin-right: 0;\n}\n\n.p-fluid .p-button {\n width: 100%;\n}\n.p-fluid .p-button-icon-only {\n width: 2.25rem;\n}\n.p-fluid .p-buttonset {\n display: flex;\n}\n.p-fluid .p-buttonset .p-button {\n flex: 1;\n}\n\n.p-button.p-button-secondary, .p-buttonset.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button {\n color: #ffffff;\n background: #ff4081;\n border: 0 none;\n}\n.p-button.p-button-secondary:enabled:hover, .p-buttonset.p-button-secondary > .p-button:enabled:hover, .p-splitbutton.p-button-secondary > .p-button:enabled:hover {\n background: rgba(255, 64, 129, 0.92);\n color: #ffffff;\n border-color: transparent;\n}\n.p-button.p-button-secondary:enabled:focus, .p-buttonset.p-button-secondary > .p-button:enabled:focus, .p-splitbutton.p-button-secondary > .p-button:enabled:focus {\n box-shadow: none;\n}\n.p-button.p-button-secondary:enabled:active, .p-buttonset.p-button-secondary > .p-button:enabled:active, .p-splitbutton.p-button-secondary > .p-button:enabled:active {\n background: rgba(255, 64, 129, 0.68);\n color: #ffffff;\n border-color: transparent;\n}\n.p-button.p-button-secondary.p-button-outlined, .p-buttonset.p-button-secondary > .p-button.p-button-outlined, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined {\n background-color: transparent;\n color: #ff4081;\n border: 0 none;\n}\n.p-button.p-button-secondary.p-button-outlined:enabled:hover, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:enabled:hover, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:enabled:hover {\n background: rgba(255, 64, 129, 0.04);\n color: #ff4081;\n border: 0 none;\n}\n.p-button.p-button-secondary.p-button-outlined:enabled:active, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:enabled:active, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:enabled:active {\n background: rgba(255, 64, 129, 0.16);\n color: #ff4081;\n border: 0 none;\n}\n.p-button.p-button-secondary.p-button-text, .p-buttonset.p-button-secondary > .p-button.p-button-text, .p-splitbutton.p-button-secondary > .p-button.p-button-text {\n background-color: transparent;\n color: #ff4081;\n border-color: transparent;\n}\n.p-button.p-button-secondary.p-button-text:enabled:hover, .p-buttonset.p-button-secondary > .p-button.p-button-text:enabled:hover, .p-splitbutton.p-button-secondary > .p-button.p-button-text:enabled:hover {\n background: rgba(255, 64, 129, 0.04);\n border-color: transparent;\n color: #ff4081;\n}\n.p-button.p-button-secondary.p-button-text:enabled:active, .p-buttonset.p-button-secondary > .p-button.p-button-text:enabled:active, .p-splitbutton.p-button-secondary > .p-button.p-button-text:enabled:active {\n background: rgba(255, 64, 129, 0.16);\n border-color: transparent;\n color: #ff4081;\n}\n\n.p-button.p-button-info, .p-buttonset.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button {\n color: #ffffff;\n background: #2196F3;\n border: 0 none;\n}\n.p-button.p-button-info:enabled:hover, .p-buttonset.p-button-info > .p-button:enabled:hover, .p-splitbutton.p-button-info > .p-button:enabled:hover {\n background: rgba(33, 150, 243, 0.92);\n color: #ffffff;\n border-color: transparent;\n}\n.p-button.p-button-info:enabled:focus, .p-buttonset.p-button-info > .p-button:enabled:focus, .p-splitbutton.p-button-info > .p-button:enabled:focus {\n box-shadow: none;\n}\n.p-button.p-button-info:enabled:active, .p-buttonset.p-button-info > .p-button:enabled:active, .p-splitbutton.p-button-info > .p-button:enabled:active {\n background: rgba(33, 150, 243, 0.68);\n color: #ffffff;\n border-color: transparent;\n}\n.p-button.p-button-info.p-button-outlined, .p-buttonset.p-button-info > .p-button.p-button-outlined, .p-splitbutton.p-button-info > .p-button.p-button-outlined {\n background-color: transparent;\n color: #2196F3;\n border: 0 none;\n}\n.p-button.p-button-info.p-button-outlined:enabled:hover, .p-buttonset.p-button-info > .p-button.p-button-outlined:enabled:hover, .p-splitbutton.p-button-info > .p-button.p-button-outlined:enabled:hover {\n background: rgba(33, 150, 243, 0.04);\n color: #2196F3;\n border: 0 none;\n}\n.p-button.p-button-info.p-button-outlined:enabled:active, .p-buttonset.p-button-info > .p-button.p-button-outlined:enabled:active, .p-splitbutton.p-button-info > .p-button.p-button-outlined:enabled:active {\n background: rgba(33, 150, 243, 0.16);\n color: #2196F3;\n border: 0 none;\n}\n.p-button.p-button-info.p-button-text, .p-buttonset.p-button-info > .p-button.p-button-text, .p-splitbutton.p-button-info > .p-button.p-button-text {\n background-color: transparent;\n color: #2196F3;\n border-color: transparent;\n}\n.p-button.p-button-info.p-button-text:enabled:hover, .p-buttonset.p-button-info > .p-button.p-button-text:enabled:hover, .p-splitbutton.p-button-info > .p-button.p-button-text:enabled:hover {\n background: rgba(33, 150, 243, 0.04);\n border-color: transparent;\n color: #2196F3;\n}\n.p-button.p-button-info.p-button-text:enabled:active, .p-buttonset.p-button-info > .p-button.p-button-text:enabled:active, .p-splitbutton.p-button-info > .p-button.p-button-text:enabled:active {\n background: rgba(33, 150, 243, 0.16);\n border-color: transparent;\n color: #2196F3;\n}\n\n.p-button.p-button-success, .p-buttonset.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button {\n color: #ffffff;\n background: #689F38;\n border: 0 none;\n}\n.p-button.p-button-success:enabled:hover, .p-buttonset.p-button-success > .p-button:enabled:hover, .p-splitbutton.p-button-success > .p-button:enabled:hover {\n background: rgba(104, 159, 56, 0.92);\n color: #ffffff;\n border-color: transparent;\n}\n.p-button.p-button-success:enabled:focus, .p-buttonset.p-button-success > .p-button:enabled:focus, .p-splitbutton.p-button-success > .p-button:enabled:focus {\n box-shadow: none;\n}\n.p-button.p-button-success:enabled:active, .p-buttonset.p-button-success > .p-button:enabled:active, .p-splitbutton.p-button-success > .p-button:enabled:active {\n background: rgba(104, 159, 56, 0.68);\n color: #ffffff;\n border-color: transparent;\n}\n.p-button.p-button-success.p-button-outlined, .p-buttonset.p-button-success > .p-button.p-button-outlined, .p-splitbutton.p-button-success > .p-button.p-button-outlined {\n background-color: transparent;\n color: #689F38;\n border: 0 none;\n}\n.p-button.p-button-success.p-button-outlined:enabled:hover, .p-buttonset.p-button-success > .p-button.p-button-outlined:enabled:hover, .p-splitbutton.p-button-success > .p-button.p-button-outlined:enabled:hover {\n background: rgba(104, 159, 56, 0.04);\n color: #689F38;\n border: 0 none;\n}\n.p-button.p-button-success.p-button-outlined:enabled:active, .p-buttonset.p-button-success > .p-button.p-button-outlined:enabled:active, .p-splitbutton.p-button-success > .p-button.p-button-outlined:enabled:active {\n background: rgba(104, 159, 56, 0.16);\n color: #689F38;\n border: 0 none;\n}\n.p-button.p-button-success.p-button-text, .p-buttonset.p-button-success > .p-button.p-button-text, .p-splitbutton.p-button-success > .p-button.p-button-text {\n background-color: transparent;\n color: #689F38;\n border-color: transparent;\n}\n.p-button.p-button-success.p-button-text:enabled:hover, .p-buttonset.p-button-success > .p-button.p-button-text:enabled:hover, .p-splitbutton.p-button-success > .p-button.p-button-text:enabled:hover {\n background: rgba(104, 159, 56, 0.04);\n border-color: transparent;\n color: #689F38;\n}\n.p-button.p-button-success.p-button-text:enabled:active, .p-buttonset.p-button-success > .p-button.p-button-text:enabled:active, .p-splitbutton.p-button-success > .p-button.p-button-text:enabled:active {\n background: rgba(104, 159, 56, 0.16);\n border-color: transparent;\n color: #689F38;\n}\n\n.p-button.p-button-warning, .p-buttonset.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button {\n color: #212529;\n background: #FBC02D;\n border: 0 none;\n}\n.p-button.p-button-warning:enabled:hover, .p-buttonset.p-button-warning > .p-button:enabled:hover, .p-splitbutton.p-button-warning > .p-button:enabled:hover {\n background: rgba(251, 192, 45, 0.92);\n color: #212529;\n border-color: transparent;\n}\n.p-button.p-button-warning:enabled:focus, .p-buttonset.p-button-warning > .p-button:enabled:focus, .p-splitbutton.p-button-warning > .p-button:enabled:focus {\n box-shadow: none;\n}\n.p-button.p-button-warning:enabled:active, .p-buttonset.p-button-warning > .p-button:enabled:active, .p-splitbutton.p-button-warning > .p-button:enabled:active {\n background: rgba(251, 192, 45, 0.68);\n color: #212529;\n border-color: transparent;\n}\n.p-button.p-button-warning.p-button-outlined, .p-buttonset.p-button-warning > .p-button.p-button-outlined, .p-splitbutton.p-button-warning > .p-button.p-button-outlined {\n background-color: transparent;\n color: #FBC02D;\n border: 0 none;\n}\n.p-button.p-button-warning.p-button-outlined:enabled:hover, .p-buttonset.p-button-warning > .p-button.p-button-outlined:enabled:hover, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:enabled:hover {\n background: rgba(251, 192, 45, 0.04);\n color: #FBC02D;\n border: 0 none;\n}\n.p-button.p-button-warning.p-button-outlined:enabled:active, .p-buttonset.p-button-warning > .p-button.p-button-outlined:enabled:active, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:enabled:active {\n background: rgba(251, 192, 45, 0.16);\n color: #FBC02D;\n border: 0 none;\n}\n.p-button.p-button-warning.p-button-text, .p-buttonset.p-button-warning > .p-button.p-button-text, .p-splitbutton.p-button-warning > .p-button.p-button-text {\n background-color: transparent;\n color: #FBC02D;\n border-color: transparent;\n}\n.p-button.p-button-warning.p-button-text:enabled:hover, .p-buttonset.p-button-warning > .p-button.p-button-text:enabled:hover, .p-splitbutton.p-button-warning > .p-button.p-button-text:enabled:hover {\n background: rgba(251, 192, 45, 0.04);\n border-color: transparent;\n color: #FBC02D;\n}\n.p-button.p-button-warning.p-button-text:enabled:active, .p-buttonset.p-button-warning > .p-button.p-button-text:enabled:active, .p-splitbutton.p-button-warning > .p-button.p-button-text:enabled:active {\n background: rgba(251, 192, 45, 0.16);\n border-color: transparent;\n color: #FBC02D;\n}\n\n.p-button.p-button-help, .p-buttonset.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button {\n color: #ffffff;\n background: #9C27B0;\n border: 0 none;\n}\n.p-button.p-button-help:enabled:hover, .p-buttonset.p-button-help > .p-button:enabled:hover, .p-splitbutton.p-button-help > .p-button:enabled:hover {\n background: rgba(156, 39, 176, 0.92);\n color: #ffffff;\n border-color: transparent;\n}\n.p-button.p-button-help:enabled:focus, .p-buttonset.p-button-help > .p-button:enabled:focus, .p-splitbutton.p-button-help > .p-button:enabled:focus {\n box-shadow: none;\n}\n.p-button.p-button-help:enabled:active, .p-buttonset.p-button-help > .p-button:enabled:active, .p-splitbutton.p-button-help > .p-button:enabled:active {\n background: rgba(156, 39, 176, 0.68);\n color: #ffffff;\n border-color: transparent;\n}\n.p-button.p-button-help.p-button-outlined, .p-buttonset.p-button-help > .p-button.p-button-outlined, .p-splitbutton.p-button-help > .p-button.p-button-outlined {\n background-color: transparent;\n color: #9C27B0;\n border: 0 none;\n}\n.p-button.p-button-help.p-button-outlined:enabled:hover, .p-buttonset.p-button-help > .p-button.p-button-outlined:enabled:hover, .p-splitbutton.p-button-help > .p-button.p-button-outlined:enabled:hover {\n background: rgba(156, 39, 176, 0.04);\n color: #9C27B0;\n border: 0 none;\n}\n.p-button.p-button-help.p-button-outlined:enabled:active, .p-buttonset.p-button-help > .p-button.p-button-outlined:enabled:active, .p-splitbutton.p-button-help > .p-button.p-button-outlined:enabled:active {\n background: rgba(156, 39, 176, 0.16);\n color: #9C27B0;\n border: 0 none;\n}\n.p-button.p-button-help.p-button-text, .p-buttonset.p-button-help > .p-button.p-button-text, .p-splitbutton.p-button-help > .p-button.p-button-text {\n background-color: transparent;\n color: #9C27B0;\n border-color: transparent;\n}\n.p-button.p-button-help.p-button-text:enabled:hover, .p-buttonset.p-button-help > .p-button.p-button-text:enabled:hover, .p-splitbutton.p-button-help > .p-button.p-button-text:enabled:hover {\n background: rgba(156, 39, 176, 0.04);\n border-color: transparent;\n color: #9C27B0;\n}\n.p-button.p-button-help.p-button-text:enabled:active, .p-buttonset.p-button-help > .p-button.p-button-text:enabled:active, .p-splitbutton.p-button-help > .p-button.p-button-text:enabled:active {\n background: rgba(156, 39, 176, 0.16);\n border-color: transparent;\n color: #9C27B0;\n}\n\n.p-button.p-button-danger, .p-buttonset.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button {\n color: #ffffff;\n background: #D32F2F;\n border: 0 none;\n}\n.p-button.p-button-danger:enabled:hover, .p-buttonset.p-button-danger > .p-button:enabled:hover, .p-splitbutton.p-button-danger > .p-button:enabled:hover {\n background: rgba(211, 47, 47, 0.92);\n color: #ffffff;\n border-color: transparent;\n}\n.p-button.p-button-danger:enabled:focus, .p-buttonset.p-button-danger > .p-button:enabled:focus, .p-splitbutton.p-button-danger > .p-button:enabled:focus {\n box-shadow: none;\n}\n.p-button.p-button-danger:enabled:active, .p-buttonset.p-button-danger > .p-button:enabled:active, .p-splitbutton.p-button-danger > .p-button:enabled:active {\n background: rgba(211, 47, 47, 0.68);\n color: #ffffff;\n border-color: transparent;\n}\n.p-button.p-button-danger.p-button-outlined, .p-buttonset.p-button-danger > .p-button.p-button-outlined, .p-splitbutton.p-button-danger > .p-button.p-button-outlined {\n background-color: transparent;\n color: #D32F2F;\n border: 0 none;\n}\n.p-button.p-button-danger.p-button-outlined:enabled:hover, .p-buttonset.p-button-danger > .p-button.p-button-outlined:enabled:hover, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:enabled:hover {\n background: rgba(211, 47, 47, 0.04);\n color: #D32F2F;\n border: 0 none;\n}\n.p-button.p-button-danger.p-button-outlined:enabled:active, .p-buttonset.p-button-danger > .p-button.p-button-outlined:enabled:active, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:enabled:active {\n background: rgba(211, 47, 47, 0.16);\n color: #D32F2F;\n border: 0 none;\n}\n.p-button.p-button-danger.p-button-text, .p-buttonset.p-button-danger > .p-button.p-button-text, .p-splitbutton.p-button-danger > .p-button.p-button-text {\n background-color: transparent;\n color: #D32F2F;\n border-color: transparent;\n}\n.p-button.p-button-danger.p-button-text:enabled:hover, .p-buttonset.p-button-danger > .p-button.p-button-text:enabled:hover, .p-splitbutton.p-button-danger > .p-button.p-button-text:enabled:hover {\n background: rgba(211, 47, 47, 0.04);\n border-color: transparent;\n color: #D32F2F;\n}\n.p-button.p-button-danger.p-button-text:enabled:active, .p-buttonset.p-button-danger > .p-button.p-button-text:enabled:active, .p-splitbutton.p-button-danger > .p-button.p-button-text:enabled:active {\n background: rgba(211, 47, 47, 0.16);\n border-color: transparent;\n color: #D32F2F;\n}\n\n.p-button.p-button-link {\n color: #3F51B5;\n background: transparent;\n border: transparent;\n}\n.p-button.p-button-link:enabled:hover {\n background: transparent;\n color: #3F51B5;\n border-color: transparent;\n}\n.p-button.p-button-link:enabled:hover .p-button-label {\n text-decoration: underline;\n}\n.p-button.p-button-link:enabled:focus {\n background: transparent;\n box-shadow: none;\n border-color: transparent;\n}\n.p-button.p-button-link:enabled:active {\n background: transparent;\n color: #3F51B5;\n border-color: transparent;\n}\n\n.p-speeddial-button.p-button.p-button-icon-only {\n width: 4rem;\n height: 4rem;\n}\n.p-speeddial-button.p-button.p-button-icon-only .p-button-icon {\n font-size: 2rem;\n}\n\n.p-speeddial-action {\n width: 3rem;\n height: 3rem;\n background: #ff4081;\n color: #fff;\n}\n.p-speeddial-action:hover {\n background: rgba(255, 64, 129, 0.92);\n color: #fff;\n}\n\n.p-speeddial-direction-up .p-speeddial-item {\n margin: 0.25rem 0;\n}\n.p-speeddial-direction-up .p-speeddial-item:first-child {\n margin-bottom: 0.5rem;\n}\n\n.p-speeddial-direction-down .p-speeddial-item {\n margin: 0.25rem 0;\n}\n.p-speeddial-direction-down .p-speeddial-item:first-child {\n margin-top: 0.5rem;\n}\n\n.p-speeddial-direction-left .p-speeddial-item {\n margin: 0 0.25rem;\n}\n.p-speeddial-direction-left .p-speeddial-item:first-child {\n margin-right: 0.5rem;\n}\n\n.p-speeddial-direction-right .p-speeddial-item {\n margin: 0 0.25rem;\n}\n.p-speeddial-direction-right .p-speeddial-item:first-child {\n margin-left: 0.5rem;\n}\n\n.p-speeddial-circle .p-speeddial-item,\n.p-speeddial-semi-circle .p-speeddial-item,\n.p-speeddial-quarter-circle .p-speeddial-item {\n margin: 0;\n}\n.p-speeddial-circle .p-speeddial-item:first-child, .p-speeddial-circle .p-speeddial-item:last-child,\n.p-speeddial-semi-circle .p-speeddial-item:first-child,\n.p-speeddial-semi-circle .p-speeddial-item:last-child,\n.p-speeddial-quarter-circle .p-speeddial-item:first-child,\n.p-speeddial-quarter-circle .p-speeddial-item:last-child {\n margin: 0;\n}\n\n.p-speeddial-mask {\n background-color: rgba(0, 0, 0, 0.32);\n}\n\n.p-splitbutton {\n border-radius: 4px;\n}\n.p-splitbutton.p-button-outlined > .p-button {\n background-color: transparent;\n color: #3F51B5;\n border: 0 none;\n}\n.p-splitbutton.p-button-outlined > .p-button:enabled:hover, .p-splitbutton.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):hover {\n background: rgba(63, 81, 181, 0.04);\n color: #3F51B5;\n}\n.p-splitbutton.p-button-outlined > .p-button:enabled:active, .p-splitbutton.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {\n background: rgba(63, 81, 181, 0.16);\n color: #3F51B5;\n}\n.p-splitbutton.p-button-outlined.p-button-plain > .p-button {\n color: rgba(0, 0, 0, 0.6);\n border-color: rgba(0, 0, 0, 0.6);\n}\n.p-splitbutton.p-button-outlined.p-button-plain > .p-button:enabled:hover, .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(button):not(a):not(.p-disabled):hover {\n background: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.6);\n}\n.p-splitbutton.p-button-outlined.p-button-plain > .p-button:enabled:active, .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(button):not(a):not(.p-disabled):active {\n background: rgba(0, 0, 0, 0.16);\n color: rgba(0, 0, 0, 0.6);\n}\n.p-splitbutton.p-button-text > .p-button {\n background-color: transparent;\n color: #3F51B5;\n border-color: transparent;\n}\n.p-splitbutton.p-button-text > .p-button:enabled:hover, .p-splitbutton.p-button-text > .p-button:not(button):not(a):not(.p-disabled):hover {\n background: rgba(63, 81, 181, 0.04);\n color: #3F51B5;\n border-color: transparent;\n}\n.p-splitbutton.p-button-text > .p-button:enabled:active, .p-splitbutton.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active {\n background: rgba(63, 81, 181, 0.16);\n color: #3F51B5;\n border-color: transparent;\n}\n.p-splitbutton.p-button-text.p-button-plain > .p-button {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-splitbutton.p-button-text.p-button-plain > .p-button:enabled:hover, .p-splitbutton.p-button-text.p-button-plain > .p-button:not(button):not(a):not(.p-disabled):hover {\n background: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.6);\n}\n.p-splitbutton.p-button-text.p-button-plain > .p-button:enabled:active, .p-splitbutton.p-button-text.p-button-plain > .p-button:not(button):not(a):not(.p-disabled):active {\n background: rgba(0, 0, 0, 0.16);\n color: rgba(0, 0, 0, 0.6);\n}\n.p-splitbutton.p-button-raised {\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n.p-splitbutton.p-button-rounded {\n border-radius: 2rem;\n}\n.p-splitbutton.p-button-rounded > .p-button {\n border-radius: 2rem;\n}\n.p-splitbutton.p-button-sm > .p-button {\n font-size: 0.875rem;\n padding: 0.499625rem 0.65625rem;\n}\n.p-splitbutton.p-button-sm > .p-button .p-button-icon {\n font-size: 0.875rem;\n}\n.p-splitbutton.p-button-lg > .p-button {\n font-size: 1.25rem;\n padding: 0.71375rem 0.9375rem;\n}\n.p-splitbutton.p-button-lg > .p-button .p-button-icon {\n font-size: 1.25rem;\n}\n\n.p-splitbutton.p-button-secondary.p-button-outlined > .p-button {\n background-color: transparent;\n color: #ff4081;\n border: 0 none;\n}\n.p-splitbutton.p-button-secondary.p-button-outlined > .p-button:enabled:hover, .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):hover {\n background: rgba(255, 64, 129, 0.04);\n color: #ff4081;\n}\n.p-splitbutton.p-button-secondary.p-button-outlined > .p-button:enabled:active, .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {\n background: rgba(255, 64, 129, 0.16);\n color: #ff4081;\n}\n.p-splitbutton.p-button-secondary.p-button-text > .p-button {\n background-color: transparent;\n color: #ff4081;\n border-color: transparent;\n}\n.p-splitbutton.p-button-secondary.p-button-text > .p-button:enabled:hover, .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(button):not(a):not(.p-disabled):hover {\n background: rgba(255, 64, 129, 0.04);\n border-color: transparent;\n color: #ff4081;\n}\n.p-splitbutton.p-button-secondary.p-button-text > .p-button:enabled:active, .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active {\n background: rgba(255, 64, 129, 0.16);\n border-color: transparent;\n color: #ff4081;\n}\n\n.p-splitbutton.p-button-info.p-button-outlined > .p-button {\n background-color: transparent;\n color: #2196F3;\n border: 0 none;\n}\n.p-splitbutton.p-button-info.p-button-outlined > .p-button:enabled:hover, .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):hover {\n background: rgba(33, 150, 243, 0.04);\n color: #2196F3;\n}\n.p-splitbutton.p-button-info.p-button-outlined > .p-button:enabled:active, .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {\n background: rgba(33, 150, 243, 0.16);\n color: #2196F3;\n}\n.p-splitbutton.p-button-info.p-button-text > .p-button {\n background-color: transparent;\n color: #2196F3;\n border-color: transparent;\n}\n.p-splitbutton.p-button-info.p-button-text > .p-button:enabled:hover, .p-splitbutton.p-button-info.p-button-text > .p-button:not(button):not(a):not(.p-disabled):hover {\n background: rgba(33, 150, 243, 0.04);\n border-color: transparent;\n color: #2196F3;\n}\n.p-splitbutton.p-button-info.p-button-text > .p-button:enabled:active, .p-splitbutton.p-button-info.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active {\n background: rgba(33, 150, 243, 0.16);\n border-color: transparent;\n color: #2196F3;\n}\n\n.p-splitbutton.p-button-success.p-button-outlined > .p-button {\n background-color: transparent;\n color: #689F38;\n border: 0 none;\n}\n.p-splitbutton.p-button-success.p-button-outlined > .p-button:enabled:hover, .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):hover {\n background: rgba(104, 159, 56, 0.04);\n color: #689F38;\n}\n.p-splitbutton.p-button-success.p-button-outlined > .p-button:enabled:active, .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {\n background: rgba(104, 159, 56, 0.16);\n color: #689F38;\n}\n.p-splitbutton.p-button-success.p-button-text > .p-button {\n background-color: transparent;\n color: #689F38;\n border-color: transparent;\n}\n.p-splitbutton.p-button-success.p-button-text > .p-button:enabled:hover, .p-splitbutton.p-button-success.p-button-text > .p-button:not(button):not(a):not(.p-disabled):hover {\n background: rgba(104, 159, 56, 0.04);\n border-color: transparent;\n color: #689F38;\n}\n.p-splitbutton.p-button-success.p-button-text > .p-button:enabled:active, .p-splitbutton.p-button-success.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active {\n background: rgba(104, 159, 56, 0.16);\n border-color: transparent;\n color: #689F38;\n}\n\n.p-splitbutton.p-button-warning.p-button-outlined > .p-button {\n background-color: transparent;\n color: #FBC02D;\n border: 0 none;\n}\n.p-splitbutton.p-button-warning.p-button-outlined > .p-button:enabled:hover, .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):hover {\n background: rgba(251, 192, 45, 0.04);\n color: #FBC02D;\n}\n.p-splitbutton.p-button-warning.p-button-outlined > .p-button:enabled:active, .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {\n background: rgba(251, 192, 45, 0.16);\n color: #FBC02D;\n}\n.p-splitbutton.p-button-warning.p-button-text > .p-button {\n background-color: transparent;\n color: #FBC02D;\n border-color: transparent;\n}\n.p-splitbutton.p-button-warning.p-button-text > .p-button:enabled:hover, .p-splitbutton.p-button-warning.p-button-text > .p-button:not(button):not(a):not(.p-disabled):hover {\n background: rgba(251, 192, 45, 0.04);\n border-color: transparent;\n color: #FBC02D;\n}\n.p-splitbutton.p-button-warning.p-button-text > .p-button:enabled:active, .p-splitbutton.p-button-warning.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active {\n background: rgba(251, 192, 45, 0.16);\n border-color: transparent;\n color: #FBC02D;\n}\n\n.p-splitbutton.p-button-help.p-button-outlined > .p-button {\n background-color: transparent;\n color: #9C27B0;\n border: 0 none;\n}\n.p-splitbutton.p-button-help.p-button-outlined > .p-button:enabled:hover, .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):hover {\n background: rgba(156, 39, 176, 0.04);\n color: #9C27B0;\n}\n.p-splitbutton.p-button-help.p-button-outlined > .p-button:enabled:active, .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {\n background: rgba(156, 39, 176, 0.16);\n color: #9C27B0;\n}\n.p-splitbutton.p-button-help.p-button-text > .p-button {\n background-color: transparent;\n color: #9C27B0;\n border-color: transparent;\n}\n.p-splitbutton.p-button-help.p-button-text > .p-button:enabled:hover, .p-splitbutton.p-button-help.p-button-text > .p-button:not(button):not(a):not(.p-disabled):hover {\n background: rgba(156, 39, 176, 0.04);\n border-color: transparent;\n color: #9C27B0;\n}\n.p-splitbutton.p-button-help.p-button-text > .p-button:enabled:active, .p-splitbutton.p-button-help.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active {\n background: rgba(156, 39, 176, 0.16);\n border-color: transparent;\n color: #9C27B0;\n}\n\n.p-splitbutton.p-button-danger.p-button-outlined > .p-button {\n background-color: transparent;\n color: #D32F2F;\n border: 0 none;\n}\n.p-splitbutton.p-button-danger.p-button-outlined > .p-button:enabled:hover, .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):hover {\n background: rgba(211, 47, 47, 0.04);\n color: #D32F2F;\n}\n.p-splitbutton.p-button-danger.p-button-outlined > .p-button:enabled:active, .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {\n background: rgba(211, 47, 47, 0.16);\n color: #D32F2F;\n}\n.p-splitbutton.p-button-danger.p-button-text > .p-button {\n background-color: transparent;\n color: #D32F2F;\n border-color: transparent;\n}\n.p-splitbutton.p-button-danger.p-button-text > .p-button:enabled:hover, .p-splitbutton.p-button-danger.p-button-text > .p-button:not(button):not(a):not(.p-disabled):hover {\n background: rgba(211, 47, 47, 0.04);\n border-color: transparent;\n color: #D32F2F;\n}\n.p-splitbutton.p-button-danger.p-button-text > .p-button:enabled:active, .p-splitbutton.p-button-danger.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active {\n background: rgba(211, 47, 47, 0.16);\n border-color: transparent;\n color: #D32F2F;\n}\n\n.p-carousel .p-carousel-content .p-carousel-prev,\n.p-carousel .p-carousel-content .p-carousel-next {\n width: 2rem;\n height: 2rem;\n color: rgba(0, 0, 0, 0.6);\n border: 0 none;\n background: transparent;\n border-radius: 50%;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n margin: 0.5rem;\n}\n.p-carousel .p-carousel-content .p-carousel-prev:enabled:hover,\n.p-carousel .p-carousel-content .p-carousel-next:enabled:hover {\n color: rgba(0, 0, 0, 0.6);\n border-color: transparent;\n background: rgba(0, 0, 0, 0.04);\n}\n.p-carousel .p-carousel-content .p-carousel-prev:focus,\n.p-carousel .p-carousel-content .p-carousel-next:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-carousel .p-carousel-indicators {\n padding: 1rem;\n}\n.p-carousel .p-carousel-indicators .p-carousel-indicator {\n margin-right: 0.5rem;\n margin-bottom: 0.5rem;\n}\n.p-carousel .p-carousel-indicators .p-carousel-indicator button {\n background-color: #dcdcdc;\n width: 2rem;\n height: 0.5rem;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n border-radius: 0;\n}\n.p-carousel .p-carousel-indicators .p-carousel-indicator button:hover {\n background: #ececec;\n}\n.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button {\n background: rgba(63, 81, 181, 0.12);\n color: #3F51B5;\n}\n\n.p-datatable .p-paginator-top {\n border-width: 0 0 1px 0;\n border-radius: 0;\n}\n.p-datatable .p-paginator-bottom {\n border-width: 0 0 1px 0;\n border-radius: 0;\n}\n.p-datatable .p-datatable-header {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 1px solid #e4e4e4;\n border-width: 0 0 1px 0;\n padding: 0.75rem 0.75rem;\n font-weight: 500;\n}\n.p-datatable .p-datatable-footer {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 1px solid #e4e4e4;\n border-width: 0 0 1px 0;\n padding: 0.75rem 0.75rem;\n font-weight: 500;\n}\n.p-datatable .p-datatable-thead > tr > th {\n text-align: left;\n padding: 0.75rem 0.75rem;\n border: 1px solid #e4e4e4;\n border-width: 0 0 1px 0;\n font-weight: 500;\n color: rgba(0, 0, 0, 0.87);\n background: #ffffff;\n transition: none;\n}\n.p-datatable .p-datatable-tfoot > tr > td {\n text-align: left;\n padding: 0.75rem 0.75rem;\n border: 1px solid #e4e4e4;\n border-width: 0 0 1px 0;\n font-weight: 500;\n color: rgba(0, 0, 0, 0.87);\n background: #ffffff;\n}\n.p-datatable .p-sortable-column .p-sortable-column-icon {\n color: rgba(0, 0, 0, 0.6);\n margin-left: 0.5rem;\n}\n.p-datatable .p-sortable-column .p-sortable-column-badge {\n border-radius: 50%;\n height: 1.143rem;\n min-width: 1.143rem;\n line-height: 1.143rem;\n color: #3F51B5;\n background: rgba(63, 81, 181, 0.12);\n margin-left: 0.5rem;\n}\n.p-datatable .p-sortable-column:not(.p-highlight):hover {\n background: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.87);\n}\n.p-datatable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-datatable .p-sortable-column.p-highlight {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n}\n.p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-datatable .p-sortable-column.p-highlight:hover {\n background: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.87);\n}\n.p-datatable .p-sortable-column.p-highlight:hover .p-sortable-column-icon {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-datatable .p-sortable-column:focus {\n box-shadow: none;\n outline: 0 none;\n}\n.p-datatable .p-datatable-tbody > tr {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n transition: none;\n}\n.p-datatable .p-datatable-tbody > tr > td {\n text-align: left;\n border: 1px solid #e4e4e4;\n border-width: 0 0 1px 0;\n padding: 0.75rem 0.75rem;\n}\n.p-datatable .p-datatable-tbody > tr > td .p-row-toggler,\n.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init,\n.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save,\n.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel {\n width: 2rem;\n height: 2rem;\n color: rgba(0, 0, 0, 0.6);\n border: 0 none;\n background: transparent;\n border-radius: 50%;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n}\n.p-datatable .p-datatable-tbody > tr > td .p-row-toggler:enabled:hover,\n.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:enabled:hover,\n.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:enabled:hover,\n.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:enabled:hover {\n color: rgba(0, 0, 0, 0.6);\n border-color: transparent;\n background: rgba(0, 0, 0, 0.04);\n}\n.p-datatable .p-datatable-tbody > tr > td .p-row-toggler:focus,\n.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:focus,\n.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:focus,\n.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save {\n margin-right: 0.5rem;\n}\n.p-datatable .p-datatable-tbody > tr > td > .p-column-title {\n font-weight: 500;\n}\n.p-datatable .p-datatable-tbody > tr:focus {\n outline: 0.15rem solid transparent;\n outline-offset: -0.15rem;\n}\n.p-datatable .p-datatable-tbody > tr.p-highlight {\n background: rgba(63, 81, 181, 0.12);\n color: #3F51B5;\n}\n.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td {\n box-shadow: inset 0 2px 0 0 rgba(63, 81, 181, 0.12);\n}\n.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td {\n box-shadow: inset 0 -2px 0 0 rgba(63, 81, 181, 0.12);\n}\n.p-datatable.p-datatable-hoverable-rows .p-datatable-tbody > tr:not(.p-highlight):hover {\n background: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.87);\n}\n.p-datatable .p-column-resizer-helper {\n background: #3F51B5;\n}\n.p-datatable .p-datatable-scrollable-header,\n.p-datatable .p-datatable-scrollable-footer {\n background: #ffffff;\n}\n.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-thead,\n.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tfoot {\n background-color: #ffffff;\n}\n.p-datatable .p-datatable-loading-icon {\n font-size: 2rem;\n}\n.p-datatable.p-datatable-gridlines .p-datatable-header {\n border-width: 1px 1px 0 1px;\n}\n.p-datatable.p-datatable-gridlines .p-datatable-footer {\n border-width: 0 1px 1px 1px;\n}\n.p-datatable.p-datatable-gridlines .p-paginator-top {\n border-width: 0 1px 0 1px;\n}\n.p-datatable.p-datatable-gridlines .p-paginator-bottom {\n border-width: 0 1px 1px 1px;\n}\n.p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th {\n border-width: 1px 1px 1px 1px;\n}\n.p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td {\n border-width: 1px;\n}\n.p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td {\n border-width: 1px;\n}\n.p-datatable.p-datatable-gridlines.p-datatable-scrollable .p-datatable-thead > tr > th + th {\n border-left-width: 0;\n}\n.p-datatable.p-datatable-gridlines.p-datatable-scrollable .p-datatable-tbody > tr > td + td {\n border-left-width: 0;\n}\n.p-datatable.p-datatable-gridlines.p-datatable-scrollable .p-datatable-tbody > tr + tr > td, .p-datatable.p-datatable-gridlines.p-datatable-scrollable .p-datatable-tbody > tr:first-child > td {\n border-top-width: 0;\n}\n.p-datatable.p-datatable-gridlines.p-datatable-scrollable .p-datatable-tfoot > tr > td + td {\n border-left-width: 0;\n}\n.p-datatable.p-datatable-striped .p-datatable-tbody > tr:nth-child(even) {\n background: rgba(0, 0, 0, 0.02);\n}\n.p-datatable.p-datatable-striped .p-datatable-tbody > tr:nth-child(even).p-highlight {\n background: rgba(63, 81, 181, 0.12);\n color: #3F51B5;\n}\n.p-datatable.p-datatable-striped .p-datatable-tbody > tr:nth-child(even).p-highlight .p-row-toggler {\n color: #3F51B5;\n}\n.p-datatable.p-datatable-striped .p-datatable-tbody > tr:nth-child(even).p-highlight .p-row-toggler:hover {\n color: #3F51B5;\n}\n.p-datatable.p-datatable-sm .p-datatable-header {\n padding: 0.375rem 0.375rem;\n}\n.p-datatable.p-datatable-sm .p-datatable-thead > tr > th {\n padding: 0.375rem 0.375rem;\n}\n.p-datatable.p-datatable-sm .p-datatable-tbody > tr > td {\n padding: 0.375rem 0.375rem;\n}\n.p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td {\n padding: 0.375rem 0.375rem;\n}\n.p-datatable.p-datatable-sm .p-datatable-footer {\n padding: 0.375rem 0.375rem;\n}\n.p-datatable.p-datatable-lg .p-datatable-header {\n padding: 0.9375rem 0.9375rem;\n}\n.p-datatable.p-datatable-lg .p-datatable-thead > tr > th {\n padding: 0.9375rem 0.9375rem;\n}\n.p-datatable.p-datatable-lg .p-datatable-tbody > tr > td {\n padding: 0.9375rem 0.9375rem;\n}\n.p-datatable.p-datatable-lg .p-datatable-tfoot > tr > td {\n padding: 0.9375rem 0.9375rem;\n}\n.p-datatable.p-datatable-lg .p-datatable-footer {\n padding: 0.9375rem 0.9375rem;\n}\n\n.p-dataview .p-paginator-top {\n border-width: 0 0 1px 0;\n border-radius: 0;\n}\n.p-dataview .p-paginator-bottom {\n border-width: 0 0 1px 0;\n border-radius: 0;\n}\n.p-dataview .p-dataview-header {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 1px solid #e4e4e4;\n border-width: 0 0 1px 0;\n padding: 0.75rem 0.75rem;\n font-weight: 500;\n}\n.p-dataview .p-dataview-content {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 0 none;\n padding: 0.75rem;\n}\n.p-dataview.p-dataview-list .p-dataview-content > .p-grid > div {\n border: solid rgba(0, 0, 0, 0.12);\n border-width: 0 0 1px 0;\n}\n.p-dataview .p-dataview-footer {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 1px solid #e4e4e4;\n border-width: 0 0 1px 0;\n padding: 0.75rem 0.75rem;\n font-weight: 500;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n\n.p-column-filter-row .p-column-filter-menu-button,\n.p-column-filter-row .p-column-filter-clear-button {\n margin-left: 0.5rem;\n}\n\n.p-column-filter-menu-button {\n width: 2rem;\n height: 2rem;\n color: rgba(0, 0, 0, 0.6);\n border: 0 none;\n background: transparent;\n border-radius: 50%;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n}\n.p-column-filter-menu-button:hover {\n color: rgba(0, 0, 0, 0.6);\n border-color: transparent;\n background: rgba(0, 0, 0, 0.04);\n}\n.p-column-filter-menu-button.p-column-filter-menu-button-open, .p-column-filter-menu-button.p-column-filter-menu-button-open:hover {\n background: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.6);\n}\n.p-column-filter-menu-button.p-column-filter-menu-button-active, .p-column-filter-menu-button.p-column-filter-menu-button-active:hover {\n background: rgba(63, 81, 181, 0.12);\n color: #3F51B5;\n}\n.p-column-filter-menu-button:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n\n.p-column-filter-clear-button {\n width: 2rem;\n height: 2rem;\n color: rgba(0, 0, 0, 0.6);\n border: 0 none;\n background: transparent;\n border-radius: 50%;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n}\n.p-column-filter-clear-button:hover {\n color: rgba(0, 0, 0, 0.6);\n border-color: transparent;\n background: rgba(0, 0, 0, 0.04);\n}\n.p-column-filter-clear-button:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n\n.p-column-filter-overlay {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 0 none;\n border-radius: 4px;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n min-width: 12.5rem;\n}\n.p-column-filter-overlay .p-column-filter-row-items {\n padding: 0;\n}\n.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item {\n margin: 0;\n padding: 0.75rem 0.75rem;\n border: 0 none;\n color: rgba(0, 0, 0, 0.87);\n background: transparent;\n transition: none;\n border-radius: 0;\n}\n.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item.p-highlight {\n color: #3F51B5;\n background: rgba(63, 81, 181, 0.12);\n}\n.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:not(.p-highlight):not(.p-disabled):hover {\n color: rgba(0, 0, 0, 0.87);\n background: rgba(0, 0, 0, 0.04);\n}\n.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-separator {\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n margin: 0.5rem 0;\n}\n\n.p-column-filter-overlay-menu .p-column-filter-operator {\n padding: 0.75rem;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n color: rgba(0, 0, 0, 0.87);\n background: #ffffff;\n margin: 0;\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.p-column-filter-overlay-menu .p-column-filter-constraint {\n padding: 0.75rem;\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n}\n.p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-matchmode-dropdown {\n margin-bottom: 0.5rem;\n}\n.p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-remove-button {\n margin-top: 0.5rem;\n}\n.p-column-filter-overlay-menu .p-column-filter-constraint:last-child {\n border-bottom: 0 none;\n}\n.p-column-filter-overlay-menu .p-column-filter-add-rule {\n padding: 0.75rem 0.75rem;\n}\n.p-column-filter-overlay-menu .p-column-filter-buttonbar {\n padding: 0.75rem;\n}\n\n.fc {\n /* FullCalendar 4 */\n /* FullCalendar 5 */\n}\n.fc.fc-unthemed .fc-view-container th {\n background: #ffffff;\n border: 1px solid #e0e0e0;\n color: rgba(0, 0, 0, 0.87);\n}\n.fc.fc-unthemed .fc-view-container td.fc-widget-content {\n border: 1px solid #e0e0e0;\n color: rgba(0, 0, 0, 0.87);\n}\n.fc.fc-unthemed .fc-view-container td.fc-head-container {\n border: 1px solid #e0e0e0;\n}\n.fc.fc-unthemed .fc-view-container .fc-view {\n background: #ffffff;\n}\n.fc.fc-unthemed .fc-view-container .fc-row {\n border-right: 1px solid #e0e0e0;\n}\n.fc.fc-unthemed .fc-view-container .fc-event {\n background: rgba(63, 81, 181, 0.12);\n border: 1px solid rgba(63, 81, 181, 0.12);\n color: #3F51B5;\n}\n.fc.fc-unthemed .fc-view-container .fc-divider {\n background: #ffffff;\n border: 1px solid #e0e0e0;\n}\n.fc.fc-unthemed .fc-toolbar .fc-button {\n color: #ffffff;\n background: #3F51B5;\n border: 0 none;\n font-size: 1rem;\n transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);\n border-radius: 4px;\n display: flex;\n align-items: center;\n}\n.fc.fc-unthemed .fc-toolbar .fc-button:enabled:hover {\n background: rgba(63, 81, 181, 0.92);\n color: #ffffff;\n border-color: transparent;\n}\n.fc.fc-unthemed .fc-toolbar .fc-button:enabled:active {\n background: rgba(63, 81, 181, 0.68);\n color: #ffffff;\n border-color: transparent;\n}\n.fc.fc-unthemed .fc-toolbar .fc-button:enabled:active:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.fc.fc-unthemed .fc-toolbar .fc-button .fc-icon-chevron-left {\n font-family: \"PrimeIcons\" !important;\n text-indent: 0;\n font-size: 1rem;\n}\n.fc.fc-unthemed .fc-toolbar .fc-button .fc-icon-chevron-left:before {\n content: \"\\e900\";\n}\n.fc.fc-unthemed .fc-toolbar .fc-button .fc-icon-chevron-right {\n font-family: \"PrimeIcons\" !important;\n text-indent: 0;\n font-size: 1rem;\n}\n.fc.fc-unthemed .fc-toolbar .fc-button .fc-icon-chevron-right:before {\n content: \"\\e901\";\n}\n.fc.fc-unthemed .fc-toolbar .fc-button:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.fc.fc-unthemed .fc-toolbar .fc-button.fc-dayGridMonth-button, .fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridWeek-button, .fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridDay-button {\n background: #ffffff;\n border: 1px solid rgba(0, 0, 0, 0.12);\n color: rgba(0, 0, 0, 0.87);\n transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);\n}\n.fc.fc-unthemed .fc-toolbar .fc-button.fc-dayGridMonth-button:hover, .fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridWeek-button:hover, .fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridDay-button:hover {\n background: #f6f6f6;\n border-color: rgba(0, 0, 0, 0.12);\n color: rgba(0, 0, 0, 0.87);\n}\n.fc.fc-unthemed .fc-toolbar .fc-button.fc-dayGridMonth-button.fc-button-active, .fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridWeek-button.fc-button-active, .fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridDay-button.fc-button-active {\n background: #e0e0e1;\n border-color: #e0e0e1;\n color: rgba(0, 0, 0, 0.87);\n}\n.fc.fc-unthemed .fc-toolbar .fc-button.fc-dayGridMonth-button.fc-button-active:hover, .fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridWeek-button.fc-button-active:hover, .fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridDay-button.fc-button-active:hover {\n background: #d9d8d9;\n border-color: #d9d8d9;\n color: rgba(0, 0, 0, 0.87);\n}\n.fc.fc-unthemed .fc-toolbar .fc-button.fc-dayGridMonth-button:focus, .fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridWeek-button:focus, .fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridDay-button:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n z-index: 1;\n}\n.fc.fc-unthemed .fc-toolbar .fc-button-group .fc-button {\n border-radius: 0;\n}\n.fc.fc-unthemed .fc-toolbar .fc-button-group .fc-button:first-child {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.fc.fc-unthemed .fc-toolbar .fc-button-group .fc-button:last-child {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.fc.fc-theme-standard .fc-view-harness .fc-scrollgrid {\n border-color: #e0e0e0;\n}\n.fc.fc-theme-standard .fc-view-harness th {\n background: #ffffff;\n border-color: #e0e0e0;\n color: rgba(0, 0, 0, 0.87);\n}\n.fc.fc-theme-standard .fc-view-harness td {\n color: rgba(0, 0, 0, 0.87);\n border-color: #e0e0e0;\n}\n.fc.fc-theme-standard .fc-view-harness .fc-view {\n background: #ffffff;\n}\n.fc.fc-theme-standard .fc-view-harness .fc-popover {\n background: none;\n border: 0 none;\n}\n.fc.fc-theme-standard .fc-view-harness .fc-popover .fc-popover-header {\n border: 1px solid #e0e0e0;\n padding: 0.75rem;\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n}\n.fc.fc-theme-standard .fc-view-harness .fc-popover .fc-popover-header .fc-popover-close {\n opacity: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n font-family: \"PrimeIcons\" !important;\n font-size: 1rem;\n width: 2rem;\n height: 2rem;\n color: rgba(0, 0, 0, 0.6);\n border: 0 none;\n background: transparent;\n border-radius: 50%;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n}\n.fc.fc-theme-standard .fc-view-harness .fc-popover .fc-popover-header .fc-popover-close:before {\n content: \"\\e90b\";\n}\n.fc.fc-theme-standard .fc-view-harness .fc-popover .fc-popover-header .fc-popover-close:hover {\n color: rgba(0, 0, 0, 0.6);\n border-color: transparent;\n background: rgba(0, 0, 0, 0.04);\n}\n.fc.fc-theme-standard .fc-view-harness .fc-popover .fc-popover-header .fc-popover-close:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.fc.fc-theme-standard .fc-view-harness .fc-popover .fc-popover-body {\n padding: 0.75rem;\n border: 1px solid #e0e0e0;\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border-top: 0 none;\n}\n.fc.fc-theme-standard .fc-view-harness .fc-event.fc-daygrid-block-event {\n color: #3F51B5;\n background: rgba(63, 81, 181, 0.12);\n border-color: rgba(63, 81, 181, 0.12);\n}\n.fc.fc-theme-standard .fc-view-harness .fc-event.fc-daygrid-block-event .fc-event-main {\n color: #3F51B5;\n}\n.fc.fc-theme-standard .fc-view-harness .fc-event.fc-daygrid-dot-event .fc-daygrid-event-dot {\n background: rgba(63, 81, 181, 0.12);\n border-color: rgba(63, 81, 181, 0.12);\n}\n.fc.fc-theme-standard .fc-view-harness .fc-event.fc-daygrid-dot-event:hover {\n background: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.87);\n}\n.fc.fc-theme-standard .fc-view-harness .fc-cell-shaded {\n background: #ffffff;\n}\n.fc.fc-theme-standard .fc-toolbar .fc-button {\n color: #ffffff;\n background: #3F51B5;\n border: 0 none;\n font-size: 1rem;\n transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);\n border-radius: 4px;\n}\n.fc.fc-theme-standard .fc-toolbar .fc-button:enabled:hover {\n background: rgba(63, 81, 181, 0.92);\n color: #ffffff;\n border-color: transparent;\n}\n.fc.fc-theme-standard .fc-toolbar .fc-button:enabled:active {\n background: rgba(63, 81, 181, 0.68);\n color: #ffffff;\n border-color: transparent;\n}\n.fc.fc-theme-standard .fc-toolbar .fc-button:enabled:active:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.fc.fc-theme-standard .fc-toolbar .fc-button:disabled {\n opacity: 0.38;\n color: #ffffff;\n background: #3F51B5;\n border: 0 none;\n}\n.fc.fc-theme-standard .fc-toolbar .fc-button .fc-icon-chevron-left {\n font-family: \"PrimeIcons\" !important;\n text-indent: 0;\n font-size: 1rem;\n}\n.fc.fc-theme-standard .fc-toolbar .fc-button .fc-icon-chevron-left:before {\n content: \"\\e900\";\n}\n.fc.fc-theme-standard .fc-toolbar .fc-button .fc-icon-chevron-right {\n font-family: \"PrimeIcons\" !important;\n text-indent: 0;\n font-size: 1rem;\n}\n.fc.fc-theme-standard .fc-toolbar .fc-button .fc-icon-chevron-right:before {\n content: \"\\e901\";\n}\n.fc.fc-theme-standard .fc-toolbar .fc-button:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.fc.fc-theme-standard .fc-toolbar .fc-button.fc-dayGridMonth-button, .fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridWeek-button, .fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridDay-button {\n background: #ffffff;\n border: 1px solid rgba(0, 0, 0, 0.12);\n color: rgba(0, 0, 0, 0.87);\n transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);\n}\n.fc.fc-theme-standard .fc-toolbar .fc-button.fc-dayGridMonth-button:hover, .fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridWeek-button:hover, .fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridDay-button:hover {\n background: #f6f6f6;\n border-color: rgba(0, 0, 0, 0.12);\n color: rgba(0, 0, 0, 0.87);\n}\n.fc.fc-theme-standard .fc-toolbar .fc-button.fc-dayGridMonth-button.fc-button-active, .fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridWeek-button.fc-button-active, .fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridDay-button.fc-button-active {\n background: #e0e0e1;\n border-color: #e0e0e1;\n color: rgba(0, 0, 0, 0.87);\n}\n.fc.fc-theme-standard .fc-toolbar .fc-button.fc-dayGridMonth-button.fc-button-active:hover, .fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridWeek-button.fc-button-active:hover, .fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridDay-button.fc-button-active:hover {\n background: #d9d8d9;\n border-color: #d9d8d9;\n color: rgba(0, 0, 0, 0.87);\n}\n.fc.fc-theme-standard .fc-toolbar .fc-button.fc-dayGridMonth-button:not(:disabled):focus, .fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridWeek-button:not(:disabled):focus, .fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridDay-button:not(:disabled):focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n z-index: 1;\n}\n.fc.fc-theme-standard .fc-toolbar .fc-button-group .fc-button {\n border-radius: 0;\n}\n.fc.fc-theme-standard .fc-toolbar .fc-button-group .fc-button:first-child {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.fc.fc-theme-standard .fc-toolbar .fc-button-group .fc-button:last-child {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.fc.fc-theme-standard .fc-highlight {\n color: #3F51B5;\n background: rgba(63, 81, 181, 0.12);\n}\n\n.p-orderlist .p-orderlist-controls {\n padding: 0.75rem;\n}\n.p-orderlist .p-orderlist-controls .p-button {\n margin-bottom: 0.5rem;\n}\n.p-orderlist .p-orderlist-header {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 1px solid #e0e0e0;\n padding: 0.75rem;\n font-weight: 500;\n border-bottom: 0 none;\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.p-orderlist .p-orderlist-list {\n border: 1px solid #e0e0e0;\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n padding: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.p-orderlist .p-orderlist-list .p-orderlist-item {\n padding: 0.75rem 0.75rem;\n margin: 0;\n border: 0 none;\n color: rgba(0, 0, 0, 0.87);\n background: transparent;\n transition: transform 0.2s, none;\n}\n.p-orderlist .p-orderlist-list .p-orderlist-item:not(.p-highlight):hover {\n background: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.87);\n}\n.p-orderlist .p-orderlist-list .p-orderlist-item:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight {\n color: #3F51B5;\n background: rgba(63, 81, 181, 0.12);\n}\n.p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even) {\n background: rgba(0, 0, 0, 0.02);\n}\n.p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even):hover {\n background: rgba(0, 0, 0, 0.04);\n}\n\n.p-organizationchart .p-organizationchart-node-content.p-organizationchart-selectable-node:not(.p-highlight):hover {\n background: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.87);\n}\n.p-organizationchart .p-organizationchart-node-content.p-highlight {\n background: rgba(63, 81, 181, 0.12);\n color: #3F51B5;\n}\n.p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i {\n color: rgba(30, 39, 86, 0.12);\n}\n.p-organizationchart .p-organizationchart-line-down {\n background: rgba(0, 0, 0, 0.12);\n}\n.p-organizationchart .p-organizationchart-line-left {\n border-right: 1px solid #e0e0e0;\n border-color: rgba(0, 0, 0, 0.12);\n}\n.p-organizationchart .p-organizationchart-line-top {\n border-top: 1px solid #e0e0e0;\n border-color: rgba(0, 0, 0, 0.12);\n}\n.p-organizationchart .p-organizationchart-node-content {\n border: 1px solid #e0e0e0;\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n padding: 0.75rem;\n}\n.p-organizationchart .p-organizationchart-node-content .p-node-toggler {\n background: inherit;\n color: inherit;\n border-radius: 50%;\n}\n.p-organizationchart .p-organizationchart-node-content .p-node-toggler:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n\n.p-paginator {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: solid #e4e4e4;\n border-width: 0;\n padding: 0.375rem 0.75rem;\n border-radius: 4px;\n}\n.p-paginator .p-paginator-first,\n.p-paginator .p-paginator-prev,\n.p-paginator .p-paginator-next,\n.p-paginator .p-paginator-last {\n background-color: transparent;\n border: 0 none;\n color: rgba(0, 0, 0, 0.6);\n min-width: 3rem;\n height: 3rem;\n margin: 0.143rem;\n transition: none;\n border-radius: 50%;\n}\n.p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover,\n.p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover,\n.p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover,\n.p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover {\n background: rgba(0, 0, 0, 0.04);\n border-color: transparent;\n color: rgba(0, 0, 0, 0.6);\n}\n.p-paginator .p-paginator-first {\n border-top-left-radius: 50%;\n border-bottom-left-radius: 50%;\n}\n.p-paginator .p-paginator-last {\n border-top-right-radius: 50%;\n border-bottom-right-radius: 50%;\n}\n.p-paginator .p-dropdown {\n margin-left: 0.5rem;\n margin-right: 0.5rem;\n height: 3rem;\n}\n.p-paginator .p-dropdown .p-dropdown-label {\n padding-right: 0;\n}\n.p-paginator .p-paginator-page-input {\n margin-left: 0.5rem;\n margin-right: 0.5rem;\n}\n.p-paginator .p-paginator-page-input .p-inputtext {\n max-width: 3rem;\n}\n.p-paginator .p-paginator-current {\n background-color: transparent;\n border: 0 none;\n color: rgba(0, 0, 0, 0.6);\n min-width: 3rem;\n height: 3rem;\n margin: 0.143rem;\n padding: 0 0.5rem;\n}\n.p-paginator .p-paginator-pages .p-paginator-page {\n background-color: transparent;\n border: 0 none;\n color: rgba(0, 0, 0, 0.6);\n min-width: 3rem;\n height: 3rem;\n margin: 0.143rem;\n transition: none;\n border-radius: 50%;\n}\n.p-paginator .p-paginator-pages .p-paginator-page.p-highlight {\n background: rgba(63, 81, 181, 0.12);\n border-color: rgba(63, 81, 181, 0.12);\n color: #3F51B5;\n}\n.p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover {\n background: rgba(0, 0, 0, 0.04);\n border-color: transparent;\n color: rgba(0, 0, 0, 0.6);\n}\n\n.p-picklist .p-picklist-buttons {\n padding: 0.75rem;\n}\n.p-picklist .p-picklist-buttons .p-button {\n margin-bottom: 0.5rem;\n}\n.p-picklist .p-picklist-header {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 1px solid #e0e0e0;\n padding: 0.75rem;\n font-weight: 500;\n border-bottom: 0 none;\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.p-picklist .p-picklist-list {\n border: 1px solid #e0e0e0;\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n padding: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.p-picklist .p-picklist-list .p-picklist-item {\n padding: 0.75rem 0.75rem;\n margin: 0;\n border: 0 none;\n color: rgba(0, 0, 0, 0.87);\n background: transparent;\n transition: transform 0.2s, none;\n}\n.p-picklist .p-picklist-list .p-picklist-item:not(.p-highlight):hover {\n background: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.87);\n}\n.p-picklist .p-picklist-list .p-picklist-item:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-picklist .p-picklist-list .p-picklist-item.p-highlight {\n color: #3F51B5;\n background: rgba(63, 81, 181, 0.12);\n}\n.p-picklist.p-picklist-striped .p-picklist-list .p-picklist-item:nth-child(even) {\n background: rgba(0, 0, 0, 0.02);\n}\n.p-picklist.p-picklist-striped .p-picklist-list .p-picklist-item:nth-child(even):hover {\n background: rgba(0, 0, 0, 0.04);\n}\n\n.p-timeline .p-timeline-event-marker {\n border: 0 none;\n border-radius: 50%;\n width: 1rem;\n height: 1rem;\n background-color: #bdbdbd;\n}\n.p-timeline .p-timeline-event-connector {\n background-color: #bdbdbd;\n}\n.p-timeline.p-timeline-vertical .p-timeline-event-opposite,\n.p-timeline.p-timeline-vertical .p-timeline-event-content {\n padding: 0 1rem;\n}\n.p-timeline.p-timeline-vertical .p-timeline-event-connector {\n width: 2px;\n}\n.p-timeline.p-timeline-horizontal .p-timeline-event-opposite,\n.p-timeline.p-timeline-horizontal .p-timeline-event-content {\n padding: 1rem 0;\n}\n.p-timeline.p-timeline-horizontal .p-timeline-event-connector {\n height: 2px;\n}\n\n.p-tree {\n border: 1px solid #e0e0e0;\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n padding: 0.75rem;\n border-radius: 4px;\n}\n.p-tree .p-tree-container .p-treenode {\n padding: 0.25rem;\n}\n.p-tree .p-tree-container .p-treenode .p-treenode-content {\n border-radius: 4px;\n transition: none;\n padding: 0.25rem;\n}\n.p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler {\n margin-right: 0.5rem;\n width: 2rem;\n height: 2rem;\n color: rgba(0, 0, 0, 0.6);\n border: 0 none;\n background: transparent;\n border-radius: 50%;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n}\n.p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover {\n color: rgba(0, 0, 0, 0.6);\n border-color: transparent;\n background: rgba(0, 0, 0, 0.04);\n}\n.p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-tree .p-tree-container .p-treenode .p-treenode-content .p-treenode-icon {\n margin-right: 0.5rem;\n color: rgba(0, 0, 0, 0.6);\n}\n.p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox {\n margin-right: 0.5rem;\n}\n.p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox .p-indeterminate .p-checkbox-icon {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-tree .p-tree-container .p-treenode .p-treenode-content:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight {\n background: rgba(63, 81, 181, 0.12);\n color: #3F51B5;\n}\n.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler,\n.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon {\n color: #3F51B5;\n}\n.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler:hover,\n.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon:hover {\n color: #3F51B5;\n}\n.p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover {\n background: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.87);\n}\n.p-tree .p-tree-filter-container {\n margin-bottom: 0.5rem;\n}\n.p-tree .p-tree-filter-container .p-tree-filter {\n width: 100%;\n padding-right: 1.75rem;\n}\n.p-tree .p-tree-filter-container .p-tree-filter-icon {\n right: 0.75rem;\n color: rgba(0, 0, 0, 0.6);\n}\n.p-tree .p-treenode-children {\n padding: 0 0 0 1rem;\n}\n.p-tree .p-tree-loading-icon {\n font-size: 2rem;\n}\n\n.p-treetable .p-paginator-top {\n border-width: 0 0 1px 0;\n border-radius: 0;\n}\n.p-treetable .p-paginator-bottom {\n border-width: 0 0 1px 0;\n border-radius: 0;\n}\n.p-treetable .p-treetable-header {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 1px solid #e4e4e4;\n border-width: 0 0 1px 0;\n padding: 0.75rem 0.75rem;\n font-weight: 500;\n}\n.p-treetable .p-treetable-footer {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 1px solid #e4e4e4;\n border-width: 0 0 1px 0;\n padding: 0.75rem 0.75rem;\n font-weight: 500;\n}\n.p-treetable .p-treetable-thead > tr > th {\n text-align: left;\n padding: 0.75rem 0.75rem;\n border: 1px solid #e4e4e4;\n border-width: 0 0 1px 0;\n font-weight: 500;\n color: rgba(0, 0, 0, 0.87);\n background: #ffffff;\n transition: none;\n}\n.p-treetable .p-treetable-tfoot > tr > td {\n text-align: left;\n padding: 0.75rem 0.75rem;\n border: 1px solid #e4e4e4;\n border-width: 0 0 1px 0;\n font-weight: 500;\n color: rgba(0, 0, 0, 0.87);\n background: #ffffff;\n}\n.p-treetable .p-sortable-column {\n outline-color: transparent;\n}\n.p-treetable .p-sortable-column .p-sortable-column-icon {\n color: rgba(0, 0, 0, 0.6);\n margin-left: 0.5rem;\n}\n.p-treetable .p-sortable-column .p-sortable-column-badge {\n border-radius: 50%;\n height: 1.143rem;\n min-width: 1.143rem;\n line-height: 1.143rem;\n color: #3F51B5;\n background: rgba(63, 81, 181, 0.12);\n margin-left: 0.5rem;\n}\n.p-treetable .p-sortable-column:not(.p-highlight):hover {\n background: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.87);\n}\n.p-treetable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-treetable .p-sortable-column.p-highlight {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n}\n.p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-treetable .p-treetable-tbody > tr {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n transition: none;\n}\n.p-treetable .p-treetable-tbody > tr > td {\n text-align: left;\n border: 1px solid #e4e4e4;\n border-width: 0 0 1px 0;\n padding: 0.75rem 0.75rem;\n}\n.p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler {\n width: 2rem;\n height: 2rem;\n color: rgba(0, 0, 0, 0.6);\n border: 0 none;\n background: transparent;\n border-radius: 50%;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n margin-right: 0.5rem;\n}\n.p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:enabled:hover {\n color: rgba(0, 0, 0, 0.6);\n border-color: transparent;\n background: rgba(0, 0, 0, 0.04);\n}\n.p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox {\n margin-right: 0.5rem;\n}\n.p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox .p-indeterminate .p-checkbox-icon {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-treetable .p-treetable-tbody > tr:focus {\n outline: 0.15rem solid transparent;\n outline-offset: -0.15rem;\n}\n.p-treetable .p-treetable-tbody > tr.p-highlight {\n background: rgba(63, 81, 181, 0.12);\n color: #3F51B5;\n}\n.p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler {\n color: #3F51B5;\n}\n.p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler:hover {\n color: #3F51B5;\n}\n.p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover {\n background: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.87);\n}\n.p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-treetable .p-column-resizer-helper {\n background: #3F51B5;\n}\n.p-treetable .p-treetable-scrollable-header,\n.p-treetable .p-treetable-scrollable-footer {\n background: #ffffff;\n}\n.p-treetable .p-treetable-loading-icon {\n font-size: 2rem;\n}\n.p-treetable.p-treetable-gridlines .p-datatable-header {\n border-width: 1px 1px 0 1px;\n}\n.p-treetable.p-treetable-gridlines .p-treetable-footer {\n border-width: 0 1px 1px 1px;\n}\n.p-treetable.p-treetable-gridlines .p-treetable-top {\n border-width: 0 1px 0 1px;\n}\n.p-treetable.p-treetable-gridlines .p-treetable-bottom {\n border-width: 0 1px 1px 1px;\n}\n.p-treetable.p-treetable-gridlines .p-treetable-thead > tr > th {\n border-width: 1px;\n}\n.p-treetable.p-treetable-gridlines .p-treetable-tbody > tr > td {\n border-width: 1px;\n}\n.p-treetable.p-treetable-gridlines .p-treetable-tfoot > tr > td {\n border-width: 1px;\n}\n.p-treetable.p-treetable-sm .p-treetable-header {\n padding: 0.65625rem 0.65625rem;\n}\n.p-treetable.p-treetable-sm .p-treetable-thead > tr > th {\n padding: 0.375rem 0.375rem;\n}\n.p-treetable.p-treetable-sm .p-treetable-tbody > tr > td {\n padding: 0.375rem 0.375rem;\n}\n.p-treetable.p-treetable-sm .p-treetable-tfoot > tr > td {\n padding: 0.375rem 0.375rem;\n}\n.p-treetable.p-treetable-sm .p-treetable-footer {\n padding: 0.375rem 0.375rem;\n}\n.p-treetable.p-treetable-lg .p-treetable-header {\n padding: 0.9375rem 0.9375rem;\n}\n.p-treetable.p-treetable-lg .p-treetable-thead > tr > th {\n padding: 0.9375rem 0.9375rem;\n}\n.p-treetable.p-treetable-lg .p-treetable-tbody > tr > td {\n padding: 0.9375rem 0.9375rem;\n}\n.p-treetable.p-treetable-lg .p-treetable-tfoot > tr > td {\n padding: 0.9375rem 0.9375rem;\n}\n.p-treetable.p-treetable-lg .p-treetable-footer {\n padding: 0.9375rem 0.9375rem;\n}\n\n.p-accordion .p-accordion-header .p-accordion-header-link {\n padding: 1.25rem;\n border: 0 none;\n color: rgba(0, 0, 0, 0.87);\n background: #ffffff;\n font-weight: 400;\n border-radius: 4px;\n transition: none;\n}\n.p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon {\n margin-right: 0.5rem;\n}\n.p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link {\n background: #f6f6f6;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.87);\n}\n.p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link {\n background: #ffffff;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.87);\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link {\n border-color: transparent;\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n}\n.p-accordion .p-accordion-content {\n padding: 0.75rem 1.25rem;\n border: 0 none;\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border-top: 0;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.p-accordion .p-accordion-tab {\n margin-bottom: 0;\n}\n.p-accordion .p-accordion-tab .p-accordion-header .p-accordion-header-link {\n border-radius: 0;\n}\n.p-accordion .p-accordion-tab .p-accordion-content {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header .p-accordion-header-link {\n border-top: 0 none;\n}\n.p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link, .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link {\n border-top: 0 none;\n}\n.p-accordion .p-accordion-tab:first-child .p-accordion-header .p-accordion-header-link {\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-header-link {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.p-accordion .p-accordion-tab:last-child .p-accordion-content {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n\n.p-card {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);\n border-radius: 4px;\n}\n.p-card .p-card-body {\n padding: 0.75rem;\n}\n.p-card .p-card-title {\n font-size: 1.5rem;\n font-weight: 700;\n margin-bottom: 0.5rem;\n}\n.p-card .p-card-subtitle {\n font-weight: 400;\n margin-bottom: 0.5rem;\n color: rgba(0, 0, 0, 0.6);\n}\n.p-card .p-card-content {\n padding: 0.75rem 0;\n}\n.p-card .p-card-footer {\n padding: 0.75rem 0 0 0;\n}\n\n.p-fieldset {\n border: 1px solid #e0e0e0;\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border-radius: 4px;\n}\n.p-fieldset .p-fieldset-legend {\n padding: 0.75rem;\n border: 1px solid #e0e0e0;\n color: rgba(0, 0, 0, 0.87);\n background: #ffffff;\n font-weight: 500;\n border-radius: 4px;\n}\n.p-fieldset.p-fieldset-toggleable .p-fieldset-legend {\n padding: 0;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n}\n.p-fieldset.p-fieldset-toggleable .p-fieldset-legend a {\n padding: 0.75rem;\n color: rgba(0, 0, 0, 0.87);\n border-radius: 4px;\n transition: none;\n}\n.p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler {\n margin-right: 0.5rem;\n}\n.p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:hover {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover {\n background: rgba(0, 0, 0, 0.04);\n border-color: #e0e0e0;\n color: rgba(0, 0, 0, 0.87);\n}\n.p-fieldset .p-fieldset-content {\n padding: 0.75rem;\n}\n\n.p-divider .p-divider-content {\n background-color: #ffffff;\n}\n.p-divider.p-divider-horizontal {\n margin: 1rem 0;\n padding: 0 1rem;\n}\n.p-divider.p-divider-horizontal:before {\n border-top: 1px rgba(0, 0, 0, 0.12);\n}\n.p-divider.p-divider-horizontal .p-divider-content {\n padding: 0 0.5rem;\n}\n.p-divider.p-divider-vertical {\n margin: 0 1rem;\n padding: 1rem 0;\n}\n.p-divider.p-divider-vertical:before {\n border-left: 1px rgba(0, 0, 0, 0.12);\n}\n.p-divider.p-divider-vertical .p-divider-content {\n padding: 0.5rem 0;\n}\n\n.p-panel .p-panel-header {\n border: 1px solid #e0e0e0;\n padding: 0.75rem;\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.p-panel .p-panel-header .p-panel-title {\n font-weight: 500;\n}\n.p-panel .p-panel-header .p-panel-header-icon {\n width: 2rem;\n height: 2rem;\n color: rgba(0, 0, 0, 0.6);\n border: 0 none;\n background: transparent;\n border-radius: 50%;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n}\n.p-panel .p-panel-header .p-panel-header-icon:enabled:hover {\n color: rgba(0, 0, 0, 0.6);\n border-color: transparent;\n background: rgba(0, 0, 0, 0.04);\n}\n.p-panel .p-panel-header .p-panel-header-icon:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-panel.p-panel-toggleable .p-panel-header {\n padding: 0.5rem 1rem;\n}\n.p-panel .p-panel-content {\n padding: 0.75rem;\n border: 1px solid #e0e0e0;\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n border-top: 0 none;\n}\n.p-panel .p-panel-footer {\n padding: 0.75rem 0.75rem;\n border: 1px solid #e0e0e0;\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border-top: 0 none;\n}\n\n.p-scrollpanel .p-scrollpanel-bar {\n background: rgba(0, 0, 0, 0.12);\n border: 0 none;\n}\n\n.p-splitter {\n border: 1px solid #e0e0e0;\n background: #ffffff;\n border-radius: 4px;\n color: rgba(0, 0, 0, 0.87);\n}\n.p-splitter .p-splitter-gutter {\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n background: rgba(0, 0, 0, 0.04);\n}\n.p-splitter .p-splitter-gutter .p-splitter-gutter-handle {\n background: rgba(0, 0, 0, 0.12);\n}\n.p-splitter .p-splitter-gutter-resizing {\n background: rgba(0, 0, 0, 0.12);\n}\n\n.p-tabview .p-tabview-nav {\n background: #ffffff;\n border: solid rgba(0, 0, 0, 0.12);\n border-width: 0 0 1px 0;\n}\n.p-tabview .p-tabview-nav li {\n margin-right: 0;\n}\n.p-tabview .p-tabview-nav li .p-tabview-nav-link {\n border: solid rgba(0, 0, 0, 0.12);\n border-width: 0 0 1px 0;\n border-color: transparent transparent rgba(0, 0, 0, 0.12) transparent;\n background: #ffffff;\n color: rgba(0, 0, 0, 0.6);\n padding: 0.75rem 1.25rem;\n font-weight: 500;\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n transition: none;\n margin: 0 0 -1px 0;\n}\n.p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: inset none;\n}\n.p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link {\n background: rgba(63, 81, 181, 0.04);\n border-color: rgba(0, 0, 0, 0.12);\n color: rgba(0, 0, 0, 0.6);\n}\n.p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link {\n background: #ffffff;\n border-color: rgba(0, 0, 0, 0.12);\n color: #3F51B5;\n}\n.p-tabview .p-tabview-nav-btn.p-link {\n background: #ffffff;\n color: #3F51B5;\n width: 2.25rem;\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n border-radius: 0;\n}\n.p-tabview .p-tabview-nav-btn.p-link:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: inset none;\n}\n.p-tabview .p-tabview-panels {\n background: #ffffff;\n padding: 0.75rem;\n border: 0 none;\n color: rgba(0, 0, 0, 0.87);\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n\n.p-toolbar {\n background: #ffffff;\n border: 1px solid #e0e0e0;\n padding: 0.75rem;\n border-radius: 4px;\n}\n.p-toolbar .p-toolbar-separator {\n margin: 0 0.5rem;\n}\n\n.p-confirm-popup {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 0 none;\n border-radius: 4px;\n box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12);\n}\n.p-confirm-popup .p-confirm-popup-content {\n padding: 1.25rem;\n}\n.p-confirm-popup .p-confirm-popup-footer {\n text-align: right;\n padding: 0 1.25rem 0.75rem 1.25rem;\n}\n.p-confirm-popup .p-confirm-popup-footer button {\n margin: 0 0.5rem 0 0;\n width: auto;\n}\n.p-confirm-popup .p-confirm-popup-footer button:last-child {\n margin: 0;\n}\n.p-confirm-popup:after {\n border: solid transparent;\n border-color: rgba(255, 255, 255, 0);\n border-bottom-color: #ffffff;\n}\n.p-confirm-popup:before {\n border: solid transparent;\n border-color: rgba(255, 255, 255, 0);\n border-bottom-color: #ffffff;\n}\n.p-confirm-popup.p-confirm-popup-flipped:after {\n border-top-color: #ffffff;\n}\n.p-confirm-popup.p-confirm-popup-flipped:before {\n border-top-color: #ffffff;\n}\n.p-confirm-popup .p-confirm-popup-icon {\n font-size: 1.5rem;\n}\n.p-confirm-popup .p-confirm-popup-message {\n margin-left: 1rem;\n}\n\n.p-dialog {\n border-radius: 4px;\n box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12);\n border: 0 none;\n}\n.p-dialog .p-dialog-header {\n border-bottom: 0 none;\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n padding: 1.25rem;\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.p-dialog .p-dialog-header .p-dialog-title {\n font-weight: 500;\n font-size: 1.25rem;\n}\n.p-dialog .p-dialog-header .p-dialog-header-icon {\n width: 2rem;\n height: 2rem;\n color: rgba(0, 0, 0, 0.6);\n border: 0 none;\n background: transparent;\n border-radius: 50%;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n margin-right: 0.5rem;\n}\n.p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover {\n color: rgba(0, 0, 0, 0.6);\n border-color: transparent;\n background: rgba(0, 0, 0, 0.04);\n}\n.p-dialog .p-dialog-header .p-dialog-header-icon:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-dialog .p-dialog-header .p-dialog-header-icon:last-child {\n margin-right: 0;\n}\n.p-dialog .p-dialog-content {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n padding: 0 1.25rem 1.25rem 1.25rem;\n}\n.p-dialog .p-dialog-footer {\n border-top: 0 none;\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n padding: 0.75rem 1.25rem;\n text-align: right;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.p-dialog .p-dialog-footer button {\n margin: 0 0.5rem 0 0;\n width: auto;\n}\n.p-dialog.p-confirm-dialog .p-confirm-dialog-icon {\n font-size: 2rem;\n}\n.p-dialog.p-confirm-dialog .p-confirm-dialog-message {\n margin-left: 1rem;\n}\n\n.p-overlaypanel {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 0 none;\n border-radius: 4px;\n box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12);\n}\n.p-overlaypanel .p-overlaypanel-content {\n padding: 0.75rem;\n}\n.p-overlaypanel .p-overlaypanel-close {\n background: #3F51B5;\n color: #ffffff;\n width: 2rem;\n height: 2rem;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n border-radius: 50%;\n position: absolute;\n top: -1rem;\n right: -1rem;\n}\n.p-overlaypanel .p-overlaypanel-close:enabled:hover {\n background: rgba(63, 81, 181, 0.92);\n color: #ffffff;\n}\n.p-overlaypanel:after {\n border: solid transparent;\n border-color: rgba(255, 255, 255, 0);\n border-bottom-color: #ffffff;\n}\n.p-overlaypanel:before {\n border: solid transparent;\n border-color: rgba(255, 255, 255, 0);\n border-bottom-color: #ffffff;\n}\n.p-overlaypanel.p-overlaypanel-flipped:after {\n border-top-color: #ffffff;\n}\n.p-overlaypanel.p-overlaypanel-flipped:before {\n border-top-color: #ffffff;\n}\n\n.p-sidebar {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 0 none;\n box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12);\n}\n.p-sidebar .p-sidebar-header {\n padding: 0.75rem;\n}\n.p-sidebar .p-sidebar-header .p-sidebar-close,\n.p-sidebar .p-sidebar-header .p-sidebar-icon {\n width: 2rem;\n height: 2rem;\n color: rgba(0, 0, 0, 0.6);\n border: 0 none;\n background: transparent;\n border-radius: 50%;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n}\n.p-sidebar .p-sidebar-header .p-sidebar-close:enabled:hover,\n.p-sidebar .p-sidebar-header .p-sidebar-icon:enabled:hover {\n color: rgba(0, 0, 0, 0.6);\n border-color: transparent;\n background: rgba(0, 0, 0, 0.04);\n}\n.p-sidebar .p-sidebar-header .p-sidebar-close:focus,\n.p-sidebar .p-sidebar-header .p-sidebar-icon:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-sidebar .p-sidebar-header + .p-sidebar-content {\n padding-top: 0;\n}\n.p-sidebar .p-sidebar-content {\n padding: 0.75rem;\n}\n\n.p-tooltip .p-tooltip-text {\n background: rgba(97, 97, 97, 0.9);\n color: #ffffff;\n padding: 0.5rem;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n border-radius: 4px;\n}\n.p-tooltip.p-tooltip-right .p-tooltip-arrow {\n border-right-color: rgba(97, 97, 97, 0.9);\n}\n.p-tooltip.p-tooltip-left .p-tooltip-arrow {\n border-left-color: rgba(97, 97, 97, 0.9);\n}\n.p-tooltip.p-tooltip-top .p-tooltip-arrow {\n border-top-color: rgba(97, 97, 97, 0.9);\n}\n.p-tooltip.p-tooltip-bottom .p-tooltip-arrow {\n border-bottom-color: rgba(97, 97, 97, 0.9);\n}\n\n.p-fileupload .p-fileupload-buttonbar {\n background: #ffffff;\n padding: 0.75rem;\n border: 1px solid #e0e0e0;\n color: rgba(0, 0, 0, 0.87);\n border-bottom: 0 none;\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.p-fileupload .p-fileupload-buttonbar .p-button {\n margin-right: 0.5rem;\n}\n.p-fileupload .p-fileupload-buttonbar .p-button.p-fileupload-choose.p-focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-fileupload .p-fileupload-content {\n background: #ffffff;\n padding: 2rem 1rem;\n border: 1px solid #e0e0e0;\n color: rgba(0, 0, 0, 0.87);\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.p-fileupload .p-progressbar {\n height: 4px;\n}\n.p-fileupload .p-fileupload-row > div {\n padding: 0.75rem 0.75rem;\n}\n.p-fileupload.p-fileupload-advanced .p-message {\n margin-top: 0;\n}\n\n.p-fileupload-choose:not(.p-disabled):hover {\n background: rgba(63, 81, 181, 0.92);\n color: #ffffff;\n border-color: transparent;\n}\n.p-fileupload-choose:not(.p-disabled):active {\n background: rgba(63, 81, 181, 0.68);\n color: #ffffff;\n border-color: transparent;\n}\n\n.p-breadcrumb {\n background: #ffffff;\n border: 1px solid #e5e5e5;\n border-radius: 4px;\n padding: 0.75rem;\n}\n.p-breadcrumb ul li .p-menuitem-link {\n transition: none;\n border-radius: 4px;\n}\n.p-breadcrumb ul li .p-menuitem-link:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-breadcrumb ul li .p-menuitem-link .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-breadcrumb ul li .p-menuitem-link .p-menuitem-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-breadcrumb ul li.p-breadcrumb-chevron {\n margin: 0 0.5rem 0 0.5rem;\n color: rgba(0, 0, 0, 0.6);\n}\n.p-breadcrumb ul li:last-child .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-breadcrumb ul li:last-child .p-menuitem-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n\n.p-contextmenu {\n padding: 0.5rem 0;\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 0 none;\n box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);\n border-radius: 4px;\n width: 12.5rem;\n}\n.p-contextmenu .p-menuitem-link {\n padding: 0.75rem 0.75rem;\n color: rgba(0, 0, 0, 0.87);\n border-radius: 0;\n transition: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-contextmenu .p-menuitem-link .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-contextmenu .p-menuitem-link .p-menuitem-icon {\n color: rgba(0, 0, 0, 0.6);\n margin-right: 0.5rem;\n}\n.p-contextmenu .p-menuitem-link .p-submenu-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-contextmenu .p-menuitem-link:not(.p-disabled):hover {\n background: rgba(0, 0, 0, 0.04);\n}\n.p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-contextmenu .p-menuitem-link:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-contextmenu .p-submenu-list {\n padding: 0.5rem 0;\n background: #ffffff;\n border: 0 none;\n box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);\n border-radius: 4px;\n}\n.p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link {\n background: rgba(0, 0, 0, 0.04);\n}\n.p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-contextmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-contextmenu .p-menu-separator {\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n margin: 0.5rem 0;\n}\n.p-contextmenu .p-submenu-icon {\n font-size: 0.875rem;\n}\n\n.p-dock .p-dock-list-container {\n background: rgba(255, 255, 255, 0.1);\n border: 1px solid rgba(255, 255, 255, 0.2);\n padding: 0.5rem 0.5rem;\n border-radius: 0.5rem;\n}\n.p-dock .p-dock-item {\n padding: 0.5rem;\n}\n.p-dock .p-dock-action {\n width: 4rem;\n height: 4rem;\n}\n.p-dock.p-dock-top .p-dock-item-second-prev,\n.p-dock.p-dock-top .p-dock-item-second-next, .p-dock.p-dock-bottom .p-dock-item-second-prev,\n.p-dock.p-dock-bottom .p-dock-item-second-next {\n margin: 0 0.9rem;\n}\n.p-dock.p-dock-top .p-dock-item-prev,\n.p-dock.p-dock-top .p-dock-item-next, .p-dock.p-dock-bottom .p-dock-item-prev,\n.p-dock.p-dock-bottom .p-dock-item-next {\n margin: 0 1.3rem;\n}\n.p-dock.p-dock-top .p-dock-item-current, .p-dock.p-dock-bottom .p-dock-item-current {\n margin: 0 1.5rem;\n}\n.p-dock.p-dock-left .p-dock-item-second-prev,\n.p-dock.p-dock-left .p-dock-item-second-next, .p-dock.p-dock-right .p-dock-item-second-prev,\n.p-dock.p-dock-right .p-dock-item-second-next {\n margin: 0.9rem 0;\n}\n.p-dock.p-dock-left .p-dock-item-prev,\n.p-dock.p-dock-left .p-dock-item-next, .p-dock.p-dock-right .p-dock-item-prev,\n.p-dock.p-dock-right .p-dock-item-next {\n margin: 1.3rem 0;\n}\n.p-dock.p-dock-left .p-dock-item-current, .p-dock.p-dock-right .p-dock-item-current {\n margin: 1.5rem 0;\n}\n\n@media screen and (max-width: 960px) {\n .p-dock.p-dock-top .p-dock-list-container, .p-dock.p-dock-bottom .p-dock-list-container {\n overflow-x: auto;\n width: 100%;\n }\n .p-dock.p-dock-top .p-dock-list-container .p-dock-list, .p-dock.p-dock-bottom .p-dock-list-container .p-dock-list {\n margin: 0 auto;\n }\n .p-dock.p-dock-left .p-dock-list-container, .p-dock.p-dock-right .p-dock-list-container {\n overflow-y: auto;\n height: 100%;\n }\n .p-dock.p-dock-left .p-dock-list-container .p-dock-list, .p-dock.p-dock-right .p-dock-list-container .p-dock-list {\n margin: auto 0;\n }\n .p-dock .p-dock-list .p-dock-item {\n transform: none;\n margin: 0;\n }\n}\n.p-megamenu {\n padding: 0.75rem;\n background: transparent;\n color: rgba(0, 0, 0, 0.87);\n border: 1px solid #e5e5e5;\n border-radius: 4px;\n}\n.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link {\n padding: 0.75rem;\n color: rgba(0, 0, 0, 0.87);\n border-radius: 4px;\n transition: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon {\n color: rgba(0, 0, 0, 0.6);\n margin-right: 0.5rem;\n}\n.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon {\n color: rgba(0, 0, 0, 0.6);\n margin-left: 0.5rem;\n}\n.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover {\n background: rgba(0, 0, 0, 0.04);\n}\n.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-megamenu .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link,\n.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover {\n background: rgba(0, 0, 0, 0.04);\n}\n.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text,\n.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon,\n.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon,\n.p-megamenu .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-megamenu .p-menuitem-link {\n padding: 0.75rem 0.75rem;\n color: rgba(0, 0, 0, 0.87);\n border-radius: 0;\n transition: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-megamenu .p-menuitem-link .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-megamenu .p-menuitem-link .p-menuitem-icon {\n color: rgba(0, 0, 0, 0.6);\n margin-right: 0.5rem;\n}\n.p-megamenu .p-menuitem-link .p-submenu-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-megamenu .p-menuitem-link:not(.p-disabled):hover {\n background: rgba(0, 0, 0, 0.04);\n}\n.p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-megamenu .p-menuitem-link:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-megamenu .p-megamenu-panel {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 0 none;\n box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);\n}\n.p-megamenu .p-megamenu-submenu-header {\n margin: 0;\n padding: 0.75rem;\n color: rgba(0, 0, 0, 0.6);\n background: #ffffff;\n font-weight: 400;\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.p-megamenu .p-megamenu-submenu {\n padding: 0.5rem 0;\n width: 12.5rem;\n}\n.p-megamenu .p-megamenu-submenu .p-menu-separator {\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n margin: 0.5rem 0;\n}\n.p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link {\n background: rgba(0, 0, 0, 0.04);\n}\n.p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-megamenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-megamenu.p-megamenu-vertical {\n width: 12.5rem;\n padding: 0.5rem 0;\n}\n\n.p-menu {\n padding: 0.5rem 0;\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 1px solid #e5e5e5;\n border-radius: 4px;\n width: 12.5rem;\n}\n.p-menu .p-menuitem-link {\n padding: 0.75rem 0.75rem;\n color: rgba(0, 0, 0, 0.87);\n border-radius: 0;\n transition: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-menu .p-menuitem-link .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-menu .p-menuitem-link .p-menuitem-icon {\n color: rgba(0, 0, 0, 0.6);\n margin-right: 0.5rem;\n}\n.p-menu .p-menuitem-link .p-submenu-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-menu .p-menuitem-link:not(.p-disabled):hover {\n background: rgba(0, 0, 0, 0.04);\n}\n.p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-menu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-menu .p-menuitem-link:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-menu.p-menu-overlay {\n background: #ffffff;\n border: 0 none;\n box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);\n}\n.p-menu .p-submenu-header {\n margin: 0;\n padding: 0.75rem;\n color: rgba(0, 0, 0, 0.6);\n background: #ffffff;\n font-weight: 400;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.p-menu .p-menu-separator {\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n margin: 0.5rem 0;\n}\n\n.p-menubar {\n padding: 0.75rem;\n background: transparent;\n color: rgba(0, 0, 0, 0.87);\n border: 1px solid #e5e5e5;\n border-radius: 4px;\n}\n.p-menubar .p-menuitem-link {\n padding: 0.75rem 0.75rem;\n color: rgba(0, 0, 0, 0.87);\n border-radius: 0;\n transition: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-menubar .p-menuitem-link .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-menubar .p-menuitem-link .p-menuitem-icon {\n color: rgba(0, 0, 0, 0.6);\n margin-right: 0.5rem;\n}\n.p-menubar .p-menuitem-link .p-submenu-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-menubar .p-menuitem-link:not(.p-disabled):hover {\n background: rgba(0, 0, 0, 0.04);\n}\n.p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-menubar .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-menubar .p-menuitem-link:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link {\n padding: 0.75rem;\n color: rgba(0, 0, 0, 0.87);\n border-radius: 4px;\n transition: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon {\n color: rgba(0, 0, 0, 0.6);\n margin-right: 0.5rem;\n}\n.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon {\n color: rgba(0, 0, 0, 0.6);\n margin-left: 0.5rem;\n}\n.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover {\n background: rgba(0, 0, 0, 0.04);\n}\n.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link,\n.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover {\n background: rgba(0, 0, 0, 0.04);\n}\n.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text,\n.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon,\n.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon,\n.p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-menubar .p-submenu-list {\n padding: 0.5rem 0;\n background: #ffffff;\n border: 0 none;\n box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);\n width: 12.5rem;\n}\n.p-menubar .p-submenu-list .p-menu-separator {\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n margin: 0.5rem 0;\n}\n.p-menubar .p-submenu-list .p-submenu-icon {\n font-size: 0.875rem;\n}\n.p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link {\n background: rgba(0, 0, 0, 0.04);\n}\n.p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-menubar .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n\n@media screen and (max-width: 960px) {\n .p-menubar {\n position: relative;\n }\n .p-menubar .p-menubar-button {\n display: flex;\n width: 2rem;\n height: 2rem;\n color: rgba(0, 0, 0, 0.6);\n border-radius: 50%;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n }\n .p-menubar .p-menubar-button:hover {\n color: rgba(0, 0, 0, 0.6);\n background: rgba(0, 0, 0, 0.04);\n }\n .p-menubar .p-menubar-button:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n }\n .p-menubar .p-menubar-root-list {\n position: absolute;\n display: none;\n padding: 0.5rem 0;\n background: #ffffff;\n border: 0 none;\n box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);\n width: 100%;\n }\n .p-menubar .p-menubar-root-list .p-menu-separator {\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n margin: 0.5rem 0;\n }\n .p-menubar .p-menubar-root-list .p-submenu-icon {\n font-size: 0.875rem;\n }\n .p-menubar .p-menubar-root-list > .p-menuitem {\n width: 100%;\n position: static;\n }\n .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link {\n padding: 0.75rem 0.75rem;\n color: rgba(0, 0, 0, 0.87);\n border-radius: 0;\n transition: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n }\n .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n }\n .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-menuitem-icon {\n color: rgba(0, 0, 0, 0.6);\n margin-right: 0.5rem;\n }\n .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link .p-submenu-icon {\n color: rgba(0, 0, 0, 0.6);\n }\n .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover {\n background: rgba(0, 0, 0, 0.04);\n }\n .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n }\n .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon {\n color: rgba(0, 0, 0, 0.6);\n }\n .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon {\n color: rgba(0, 0, 0, 0.6);\n }\n .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n }\n .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon {\n margin-left: auto;\n transition: transform 0.2s;\n }\n .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon {\n transform: rotate(-180deg);\n }\n .p-menubar .p-menubar-root-list .p-submenu-list {\n width: 100%;\n position: static;\n box-shadow: none;\n border: 0 none;\n }\n .p-menubar .p-menubar-root-list .p-submenu-list .p-submenu-icon {\n transition: transform 0.2s;\n transform: rotate(90deg);\n }\n .p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon {\n transform: rotate(-90deg);\n }\n .p-menubar .p-menubar-root-list .p-menuitem {\n width: 100%;\n position: static;\n }\n .p-menubar .p-menubar-root-list ul li a {\n padding-left: 2.25rem;\n }\n .p-menubar .p-menubar-root-list ul li ul li a {\n padding-left: 3.75rem;\n }\n .p-menubar .p-menubar-root-list ul li ul li ul li a {\n padding-left: 5.25rem;\n }\n .p-menubar .p-menubar-root-list ul li ul li ul li ul li a {\n padding-left: 6.75rem;\n }\n .p-menubar .p-menubar-root-list ul li ul li ul li ul li ul li a {\n padding-left: 8.25rem;\n }\n .p-menubar.p-menubar-mobile-active .p-menubar-root-list {\n display: flex;\n flex-direction: column;\n top: 100%;\n left: 0;\n z-index: 1;\n }\n}\n.p-panelmenu .p-panelmenu-header > a {\n padding: 1.25rem;\n border: 0 none;\n color: rgba(0, 0, 0, 0.87);\n background: #ffffff;\n font-weight: 400;\n border-radius: 4px;\n transition: none;\n}\n.p-panelmenu .p-panelmenu-header > a .p-panelmenu-icon {\n margin-right: 0.5rem;\n}\n.p-panelmenu .p-panelmenu-header > a .p-menuitem-icon {\n margin-right: 0.5rem;\n}\n.p-panelmenu .p-panelmenu-header > a:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-panelmenu .p-panelmenu-header:not(.p-highlight):not(.p-disabled) > a:hover {\n background: #f6f6f6;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.87);\n}\n.p-panelmenu .p-panelmenu-header.p-highlight {\n margin-bottom: 0;\n}\n.p-panelmenu .p-panelmenu-header.p-highlight > a {\n background: #ffffff;\n border-color: transparent;\n color: rgba(0, 0, 0, 0.87);\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.p-panelmenu .p-panelmenu-header.p-highlight:not(.p-disabled) > a:hover {\n border-color: transparent;\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n}\n.p-panelmenu .p-panelmenu-content {\n padding: 0.5rem 0;\n border: 0 none;\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n margin-bottom: 0;\n border-top: 0;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link {\n padding: 0.75rem 0.75rem;\n color: rgba(0, 0, 0, 0.87);\n border-radius: 0;\n transition: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-icon {\n color: rgba(0, 0, 0, 0.6);\n margin-right: 0.5rem;\n}\n.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-submenu-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover {\n background: rgba(0, 0, 0, 0.04);\n}\n.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-panelmenu-icon {\n margin-right: 0.5rem;\n}\n.p-panelmenu .p-panelmenu-content .p-submenu-list:not(.p-panelmenu-root-submenu) {\n padding: 0 0 0 1rem;\n}\n.p-panelmenu .p-panelmenu-panel {\n margin-bottom: 0;\n}\n.p-panelmenu .p-panelmenu-panel .p-panelmenu-header > a {\n border-radius: 0;\n}\n.p-panelmenu .p-panelmenu-panel .p-panelmenu-content {\n border-radius: 0;\n}\n.p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header > a {\n border-top: 0 none;\n}\n.p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-highlight):not(.p-disabled):hover > a, .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-disabled).p-highlight:hover > a {\n border-top: 0 none;\n}\n.p-panelmenu .p-panelmenu-panel:first-child .p-panelmenu-header > a {\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-header:not(.p-highlight) > a {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-content {\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n\n.p-steps .p-steps-item .p-menuitem-link {\n background: transparent;\n transition: none;\n border-radius: 4px;\n background: transparent;\n}\n.p-steps .p-steps-item .p-menuitem-link .p-steps-number {\n color: rgba(0, 0, 0, 0.87);\n border: 1px solid transparent;\n background: transparent;\n min-width: 2rem;\n height: 2rem;\n line-height: 2rem;\n font-size: 1.143rem;\n z-index: 1;\n border-radius: 50%;\n}\n.p-steps .p-steps-item .p-menuitem-link .p-steps-title {\n margin-top: 0.5rem;\n color: rgba(0, 0, 0, 0.87);\n}\n.p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-steps .p-steps-item.p-highlight .p-steps-number {\n background: rgba(63, 81, 181, 0.12);\n color: #3F51B5;\n}\n.p-steps .p-steps-item.p-highlight .p-steps-title {\n font-weight: 500;\n color: rgba(0, 0, 0, 0.87);\n}\n.p-steps .p-steps-item:before {\n content: \" \";\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n width: 100%;\n top: 50%;\n left: 0;\n display: block;\n position: absolute;\n margin-top: -1rem;\n}\n\n.p-tabmenu .p-tabmenu-nav {\n background: #ffffff;\n border: solid rgba(0, 0, 0, 0.12);\n border-width: 0 0 1px 0;\n}\n.p-tabmenu .p-tabmenu-nav .p-tabmenuitem {\n margin-right: 0;\n}\n.p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link {\n border: solid rgba(0, 0, 0, 0.12);\n border-width: 0 0 1px 0;\n border-color: transparent transparent rgba(0, 0, 0, 0.12) transparent;\n background: #ffffff;\n color: rgba(0, 0, 0, 0.6);\n padding: 0.75rem 1.25rem;\n font-weight: 500;\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n transition: none;\n margin: 0 0 -1px 0;\n}\n.p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link .p-menuitem-icon {\n margin-right: 0.5rem;\n}\n.p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link:not(.p-disabled):focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: inset none;\n}\n.p-tabmenu .p-tabmenu-nav .p-tabmenuitem:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link {\n background: rgba(63, 81, 181, 0.04);\n border-color: rgba(0, 0, 0, 0.12);\n color: rgba(0, 0, 0, 0.6);\n}\n.p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link {\n background: #ffffff;\n border-color: rgba(0, 0, 0, 0.12);\n color: #3F51B5;\n}\n\n.p-tieredmenu {\n padding: 0.5rem 0;\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 1px solid #e5e5e5;\n border-radius: 4px;\n width: 12.5rem;\n}\n.p-tieredmenu .p-menuitem-link {\n padding: 0.75rem 0.75rem;\n color: rgba(0, 0, 0, 0.87);\n border-radius: 0;\n transition: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-tieredmenu .p-menuitem-link .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-tieredmenu .p-menuitem-link .p-menuitem-icon {\n color: rgba(0, 0, 0, 0.6);\n margin-right: 0.5rem;\n}\n.p-tieredmenu .p-menuitem-link .p-submenu-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-tieredmenu .p-menuitem-link:not(.p-disabled):hover {\n background: rgba(0, 0, 0, 0.04);\n}\n.p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-tieredmenu .p-menuitem-link:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-tieredmenu.p-tieredmenu-overlay {\n background: #ffffff;\n border: 0 none;\n box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);\n}\n.p-tieredmenu .p-submenu-list {\n padding: 0.5rem 0;\n background: #ffffff;\n border: 0 none;\n box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);\n}\n.p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link {\n background: rgba(0, 0, 0, 0.04);\n}\n.p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-text {\n color: rgba(0, 0, 0, 0.87);\n}\n.p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-menuitem-icon, .p-tieredmenu .p-menuitem.p-menuitem-active > .p-menuitem-link .p-submenu-icon {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-tieredmenu .p-menu-separator {\n border-top: 1px solid rgba(0, 0, 0, 0.12);\n margin: 0.5rem 0;\n}\n.p-tieredmenu .p-submenu-icon {\n font-size: 0.875rem;\n}\n\n.p-inline-message {\n padding: 0.75rem 0.75rem;\n margin: 0;\n border-radius: 4px;\n}\n.p-inline-message.p-inline-message-info {\n background: #B3E5FC;\n border: solid transparent;\n border-width: 1px;\n color: #01579B;\n}\n.p-inline-message.p-inline-message-info .p-inline-message-icon {\n color: #01579B;\n}\n.p-inline-message.p-inline-message-success {\n background: #C8E6C9;\n border: solid transparent;\n border-width: 1px;\n color: #1B5E20;\n}\n.p-inline-message.p-inline-message-success .p-inline-message-icon {\n color: #1B5E20;\n}\n.p-inline-message.p-inline-message-warn {\n background: #FFECB3;\n border: solid transparent;\n border-width: 1px;\n color: #7f6003;\n}\n.p-inline-message.p-inline-message-warn .p-inline-message-icon {\n color: #7f6003;\n}\n.p-inline-message.p-inline-message-error {\n background: #FFCDD2;\n border: solid transparent;\n border-width: 1px;\n color: #B71C1C;\n}\n.p-inline-message.p-inline-message-error .p-inline-message-icon {\n color: #B71C1C;\n}\n.p-inline-message .p-inline-message-icon {\n font-size: 1rem;\n margin-right: 0.5rem;\n}\n.p-inline-message .p-inline-message-text {\n font-size: 1rem;\n}\n.p-inline-message.p-inline-message-icon-only .p-inline-message-icon {\n margin-right: 0;\n}\n\n.p-message {\n margin: 0.75rem 0;\n border-radius: 4px;\n}\n.p-message .p-message-wrapper {\n padding: 1rem 1.25rem;\n}\n.p-message .p-message-close {\n width: 2rem;\n height: 2rem;\n border-radius: 50%;\n background: transparent;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n}\n.p-message .p-message-close:hover {\n background: rgba(255, 255, 255, 0.3);\n}\n.p-message .p-message-close:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-message.p-message-info {\n background: #B3E5FC;\n border: solid transparent;\n border-width: 0 0 0 0;\n color: #01579B;\n}\n.p-message.p-message-info .p-message-icon {\n color: #01579B;\n}\n.p-message.p-message-info .p-message-close {\n color: #01579B;\n}\n.p-message.p-message-success {\n background: #C8E6C9;\n border: solid transparent;\n border-width: 0 0 0 0;\n color: #1B5E20;\n}\n.p-message.p-message-success .p-message-icon {\n color: #1B5E20;\n}\n.p-message.p-message-success .p-message-close {\n color: #1B5E20;\n}\n.p-message.p-message-warn {\n background: #FFECB3;\n border: solid transparent;\n border-width: 0 0 0 0;\n color: #7f6003;\n}\n.p-message.p-message-warn .p-message-icon {\n color: #7f6003;\n}\n.p-message.p-message-warn .p-message-close {\n color: #7f6003;\n}\n.p-message.p-message-error {\n background: #FFCDD2;\n border: solid transparent;\n border-width: 0 0 0 0;\n color: #B71C1C;\n}\n.p-message.p-message-error .p-message-icon {\n color: #B71C1C;\n}\n.p-message.p-message-error .p-message-close {\n color: #B71C1C;\n}\n.p-message .p-message-text {\n font-size: 1rem;\n font-weight: 500;\n}\n.p-message .p-message-icon {\n font-size: 1.5rem;\n margin-right: 0.5rem;\n}\n\n.p-toast {\n opacity: 0.9;\n}\n.p-toast .p-toast-message {\n margin: 0 0 1rem 0;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n border-radius: 4px;\n}\n.p-toast .p-toast-message .p-toast-message-content {\n padding: 1.25rem;\n border-width: 0 0 0 0;\n}\n.p-toast .p-toast-message .p-toast-message-content .p-toast-message-text {\n margin: 0 0 0 1rem;\n}\n.p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon {\n font-size: 2rem;\n}\n.p-toast .p-toast-message .p-toast-message-content .p-toast-summary {\n font-weight: 700;\n}\n.p-toast .p-toast-message .p-toast-message-content .p-toast-detail {\n margin: 0.5rem 0 0 0;\n}\n.p-toast .p-toast-message .p-toast-icon-close {\n width: 2rem;\n height: 2rem;\n border-radius: 50%;\n background: transparent;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n}\n.p-toast .p-toast-message .p-toast-icon-close:hover {\n background: rgba(255, 255, 255, 0.3);\n}\n.p-toast .p-toast-message .p-toast-icon-close:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n.p-toast .p-toast-message.p-toast-message-info {\n background: #B3E5FC;\n border: solid transparent;\n border-width: 0 0 0 0;\n color: #01579B;\n}\n.p-toast .p-toast-message.p-toast-message-info .p-toast-message-icon,\n.p-toast .p-toast-message.p-toast-message-info .p-toast-icon-close {\n color: #01579B;\n}\n.p-toast .p-toast-message.p-toast-message-success {\n background: #C8E6C9;\n border: solid transparent;\n border-width: 0 0 0 0;\n color: #1B5E20;\n}\n.p-toast .p-toast-message.p-toast-message-success .p-toast-message-icon,\n.p-toast .p-toast-message.p-toast-message-success .p-toast-icon-close {\n color: #1B5E20;\n}\n.p-toast .p-toast-message.p-toast-message-warn {\n background: #FFECB3;\n border: solid transparent;\n border-width: 0 0 0 0;\n color: #7f6003;\n}\n.p-toast .p-toast-message.p-toast-message-warn .p-toast-message-icon,\n.p-toast .p-toast-message.p-toast-message-warn .p-toast-icon-close {\n color: #7f6003;\n}\n.p-toast .p-toast-message.p-toast-message-error {\n background: #FFCDD2;\n border: solid transparent;\n border-width: 0 0 0 0;\n color: #B71C1C;\n}\n.p-toast .p-toast-message.p-toast-message-error .p-toast-message-icon,\n.p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close {\n color: #B71C1C;\n}\n\n.p-galleria .p-galleria-close {\n margin: 0.5rem;\n background: transparent;\n color: rgba(255, 255, 255, 0.87);\n width: 4rem;\n height: 4rem;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n border-radius: 50%;\n}\n.p-galleria .p-galleria-close .p-galleria-close-icon {\n font-size: 2rem;\n}\n.p-galleria .p-galleria-close:hover {\n background: rgba(255, 255, 255, 0.1);\n color: rgba(255, 255, 255, 0.87);\n}\n.p-galleria .p-galleria-item-nav {\n background: transparent;\n color: #f6f6f6;\n width: 4rem;\n height: 4rem;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n border-radius: 50%;\n margin: 0 0.5rem;\n}\n.p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon,\n.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon {\n font-size: 2rem;\n}\n.p-galleria .p-galleria-item-nav:not(.p-disabled):hover {\n background: rgba(255, 255, 255, 0.1);\n color: rgba(255, 255, 255, 0.87);\n}\n.p-galleria .p-galleria-caption {\n background: rgba(0, 0, 0, 0.5);\n color: rgba(255, 255, 255, 0.87);\n padding: 1rem;\n}\n.p-galleria .p-galleria-indicators {\n padding: 1rem;\n}\n.p-galleria .p-galleria-indicators .p-galleria-indicator button {\n background-color: #dcdcdc;\n width: 1.25rem;\n height: 1.25rem;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n border-radius: 50%;\n}\n.p-galleria .p-galleria-indicators .p-galleria-indicator button:hover {\n background: #ececec;\n}\n.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button {\n background: rgba(63, 81, 181, 0.12);\n color: #3F51B5;\n}\n.p-galleria.p-galleria-indicators-bottom .p-galleria-indicator, .p-galleria.p-galleria-indicators-top .p-galleria-indicator {\n margin-right: 0.5rem;\n}\n.p-galleria.p-galleria-indicators-left .p-galleria-indicator, .p-galleria.p-galleria-indicators-right .p-galleria-indicator {\n margin-bottom: 0.5rem;\n}\n.p-galleria.p-galleria-indicator-onitem .p-galleria-indicators {\n background: rgba(0, 0, 0, 0.5);\n}\n.p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button {\n background: rgba(255, 255, 255, 0.4);\n}\n.p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button:hover {\n background: rgba(255, 255, 255, 0.6);\n}\n.p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button {\n background: rgba(63, 81, 181, 0.12);\n color: #3F51B5;\n}\n.p-galleria .p-galleria-thumbnail-container {\n background: rgba(0, 0, 0, 0.9);\n padding: 1rem 0.25rem;\n}\n.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev,\n.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next {\n margin: 0.5rem;\n background-color: transparent;\n color: rgba(255, 255, 255, 0.87);\n width: 2rem;\n height: 2rem;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n border-radius: 50%;\n}\n.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev:hover,\n.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next:hover {\n background: rgba(255, 255, 255, 0.1);\n color: rgba(255, 255, 255, 0.87);\n}\n.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n\n.p-galleria-mask {\n --maskbg: rgba(0, 0, 0, 0.9);\n}\n\n.p-image-mask {\n --maskbg: rgba(0, 0, 0, 0.9);\n}\n\n.p-image-preview-indicator {\n background-color: transparent;\n color: #f8f9fa;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n}\n\n.p-image-preview-container:hover > .p-image-preview-indicator {\n background-color: rgba(0, 0, 0, 0.5);\n}\n\n.p-image-toolbar {\n padding: 1rem;\n}\n\n.p-image-action.p-link {\n color: #f8f9fa;\n background-color: transparent;\n width: 3rem;\n height: 3rem;\n border-radius: 50%;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n margin-right: 0.5rem;\n}\n.p-image-action.p-link:last-child {\n margin-right: 0;\n}\n.p-image-action.p-link:hover {\n color: #f8f9fa;\n background-color: rgba(255, 255, 255, 0.1);\n}\n.p-image-action.p-link i {\n font-size: 1.5rem;\n}\n\n.p-avatar {\n background-color: rgba(0, 0, 0, 0.12);\n border-radius: 4px;\n}\n.p-avatar.p-avatar-lg {\n width: 3rem;\n height: 3rem;\n font-size: 1.5rem;\n}\n.p-avatar.p-avatar-lg .p-avatar-icon {\n font-size: 1.5rem;\n}\n.p-avatar.p-avatar-xl {\n width: 4rem;\n height: 4rem;\n font-size: 2rem;\n}\n.p-avatar.p-avatar-xl .p-avatar-icon {\n font-size: 2rem;\n}\n\n.p-avatar-group .p-avatar {\n border: 2px solid #ffffff;\n}\n\n.p-badge {\n background: #3F51B5;\n color: #ffffff;\n font-size: 0.75rem;\n font-weight: 700;\n min-width: 1.5rem;\n height: 1.5rem;\n line-height: 1.5rem;\n}\n.p-badge.p-badge-secondary {\n background-color: #ff4081;\n color: #ffffff;\n}\n.p-badge.p-badge-success {\n background-color: #689F38;\n color: #ffffff;\n}\n.p-badge.p-badge-info {\n background-color: #2196F3;\n color: #ffffff;\n}\n.p-badge.p-badge-warning {\n background-color: #FBC02D;\n color: #212529;\n}\n.p-badge.p-badge-danger {\n background-color: #D32F2F;\n color: #ffffff;\n}\n.p-badge.p-badge-lg {\n font-size: 1.125rem;\n min-width: 2.25rem;\n height: 2.25rem;\n line-height: 2.25rem;\n}\n.p-badge.p-badge-xl {\n font-size: 1.5rem;\n min-width: 3rem;\n height: 3rem;\n line-height: 3rem;\n}\n\n.p-chip {\n background-color: rgba(0, 0, 0, 0.12);\n color: rgba(0, 0, 0, 0.87);\n border-radius: 16px;\n padding: 0 0.75rem;\n}\n.p-chip .p-chip-text {\n line-height: 1.5;\n margin-top: 0.375rem;\n margin-bottom: 0.375rem;\n}\n.p-chip .p-chip-icon {\n margin-right: 0.5rem;\n}\n.p-chip img {\n width: 2.25rem;\n height: 2.25rem;\n margin-left: -0.75rem;\n margin-right: 0.5rem;\n}\n.p-chip .p-chip-remove-icon {\n margin-left: 0.5rem;\n border-radius: 4px;\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n}\n.p-chip .p-chip-remove-icon:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n\n.p-inplace .p-inplace-display {\n padding: 1rem 1rem;\n border-radius: 4px;\n transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);\n}\n.p-inplace .p-inplace-display:not(.p-disabled):hover {\n background: rgba(0, 0, 0, 0.04);\n color: rgba(0, 0, 0, 0.87);\n}\n.p-inplace .p-inplace-display:focus {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: none;\n}\n\n.p-progressbar {\n border: 0 none;\n height: 4px;\n background: rgba(63, 81, 181, 0.32);\n border-radius: 4px;\n}\n.p-progressbar .p-progressbar-value {\n border: 0 none;\n margin: 0;\n background: #3F51B5;\n}\n.p-progressbar .p-progressbar-label {\n color: #ffffff;\n line-height: 4px;\n}\n\n.p-scrolltop {\n width: 2.75rem;\n height: 2.75rem;\n border-radius: 50%;\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\n transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;\n}\n.p-scrolltop.p-link {\n background: #ff4081;\n}\n.p-scrolltop.p-link:hover {\n background: rgba(255, 64, 129, 0.92);\n}\n.p-scrolltop .p-scrolltop-icon {\n font-size: 1.15rem;\n color: #ffffff;\n}\n\n.p-skeleton {\n background-color: rgba(0, 0, 0, 0.08);\n border-radius: 4px;\n}\n.p-skeleton:after {\n background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0));\n}\n\n.p-tag {\n background: #3F51B5;\n color: #ffffff;\n font-size: 0.75rem;\n font-weight: 700;\n padding: 0.25rem 0.4rem;\n border-radius: 4px;\n}\n.p-tag.p-tag-success {\n background-color: #689F38;\n color: #ffffff;\n}\n.p-tag.p-tag-info {\n background-color: #2196F3;\n color: #ffffff;\n}\n.p-tag.p-tag-warning {\n background-color: #FBC02D;\n color: #212529;\n}\n.p-tag.p-tag-danger {\n background-color: #D32F2F;\n color: #ffffff;\n}\n.p-tag .p-tag-icon {\n margin-right: 0.25rem;\n font-size: 0.75rem;\n}\n\n.p-terminal {\n background: #ffffff;\n color: rgba(0, 0, 0, 0.87);\n border: 1px solid #e0e0e0;\n padding: 0.75rem;\n}\n.p-terminal .p-terminal-input {\n font-size: 1rem;\n font-family: Roboto, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;\n}\n\n.p-accordion .p-accordion-tab {\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n margin-bottom: 0;\n border-radius: 0;\n position: relative;\n transition: margin-bottom 225ms;\n}\n.p-accordion .p-accordion-tab:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.p-accordion .p-accordion-tab:last-child {\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.p-accordion .p-accordion-tab .p-accordion-toggle-icon {\n order: 1;\n margin-left: auto;\n transition: transform 0.2s;\n}\n.p-accordion .p-accordion-tab:not(.p-accordion-tab-active) .p-accordion-header-link:focus {\n background: #f6f6f6;\n}\n.p-accordion .p-accordion-tab:not(.p-accordion-tab-active) .p-accordion-toggle-icon {\n transform: rotate(-270deg);\n}\n.p-accordion .p-accordion-tab.p-accordion-tab-active {\n margin-bottom: 1rem;\n}\n.p-accordion .p-accordion-tab.p-accordion-tab-active .p-accordion-toggle-icon {\n transform: rotate(-180deg);\n}\n.p-accordion .p-accordion-tab .p-accordion-header.p-disabled {\n opacity: 1;\n}\n.p-accordion .p-accordion-tab .p-accordion-header.p-disabled .p-accordion-header-link > * {\n opacity: 0.38;\n}\n\n.p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container:not(.p-disabled).p-focus {\n box-shadow: inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5;\n}\n\n.p-input-filled .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid transparent;\n background: #f5f5f5 no-repeat;\n background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38));\n background-size: 0 2px, 100% 1px;\n background-position: 50% 100%, 50% 100%;\n background-origin: border-box;\n}\n.p-input-filled .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-inputtext {\n background-image: none;\n background: transparent;\n}\n.p-input-filled .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container:not(.p-disabled):hover {\n background-color: #ececec;\n border-color: transparent;\n background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.87), rgba(0, 0, 0, 0.87));\n}\n.p-input-filled .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container:not(.p-disabled).p-focus, .p-input-filled .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container:not(.p-disabled).p-inputwrapper-focus {\n box-shadow: none;\n background-color: #dcdcdc;\n border-color: transparent;\n background-size: 100% 2px, 100% 1px;\n}\n.p-input-filled .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-inputtext:enabled:hover, .p-input-filled .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-inputtext:enabled:focus {\n background-image: none;\n background: transparent;\n}\n\n.p-float-label .p-autocomplete-multiple-container .p-autocomplete-token {\n padding: 0.25rem 1rem;\n}\n\n.p-input-filled .p-float-label .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token {\n padding-top: 0;\n padding-bottom: 0;\n}\n.p-input-filled .p-float-label .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon {\n font-size: 75%;\n}\n.p-input-filled .p-float-label .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token {\n padding: 0;\n}\n.p-input-filled .p-autocomplete.p-invalid > .p-inputtext {\n border-color: transparent;\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-autocomplete.p-invalid > .p-inputtext:enabled:hover {\n border-color: transparent;\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-autocomplete.p-invalid > .p-inputtext:enabled:focus {\n box-shadow: none;\n border-color: transparent;\n}\n.p-input-filled .p-autocomplete.p-invalid > .p-autocomplete-multiple-container {\n border-color: transparent;\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-autocomplete.p-invalid > .p-autocomplete-multiple-container:not(.p-disabled):hover {\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-autocomplete.p-invalid > .p-autocomplete-multiple-container:not(.p-disabled).p-focus, .p-input-filled .p-autocomplete.p-invalid > .p-autocomplete-multiple-container:not(.p-disabled).p-inputwrapper-focus {\n box-shadow: none;\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n\n.p-autocomplete.p-invalid > .p-inputtext:enabled:focus {\n box-shadow: inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020;\n}\n.p-autocomplete.p-invalid > .p-autocomplete-multiple-container:not(.p-disabled).p-focus {\n box-shadow: inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020;\n}\n\n.p-breadcrumb .p-menuitem-link {\n padding: 0.25rem 0.5rem;\n}\n.p-breadcrumb .p-menuitem-link:focus {\n background: rgba(0, 0, 0, 0.12);\n}\n\n.p-button {\n font-weight: 500;\n min-width: 4rem;\n}\n.p-button.p-button-icon-only {\n min-width: auto;\n}\n.p-button:enabled:focus {\n background: rgba(63, 81, 181, 0.76);\n}\n.p-button:enabled:active {\n background: rgba(63, 81, 181, 0.68);\n}\n.p-button .p-ink {\n background-color: rgba(255, 255, 255, 0.32);\n}\n.p-button.p-button-text:enabled:focus, .p-button.p-button-outlined:enabled:focus {\n background: rgba(63, 81, 181, 0.12);\n}\n.p-button.p-button-text:enabled:active, .p-button.p-button-outlined:enabled:active {\n background: rgba(63, 81, 181, 0.16);\n}\n.p-button.p-button-text .p-ink, .p-button.p-button-outlined .p-ink {\n background-color: rgba(63, 81, 181, 0.16);\n}\n.p-button.p-button-outlined {\n box-shadow: inset 0 0 0 1px;\n}\n.p-button.p-button-outlined:enabled:focus {\n box-shadow: inset 0 0 0 1px;\n}\n.p-button.p-button-outlined:enabled:active {\n box-shadow: inset 0 0 0 1px;\n}\n.p-button:disabled {\n background-color: rgba(0, 0, 0, 0.12) !important;\n color: rgba(0, 0, 0, 0.38) !important;\n opacity: 1;\n}\n.p-button:disabled.p-button-text {\n background-color: transparent !important;\n color: rgba(0, 0, 0, 0.38) !important;\n}\n.p-button:disabled.p-button-outlined {\n background-color: transparent !important;\n color: rgba(0, 0, 0, 0.38) !important;\n border-color: rgba(0, 0, 0, 0.38) !important;\n}\n.p-button.p-button-raised:enabled:focus {\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n\n.p-button.p-button-secondary:enabled:focus, .p-buttonset.p-button-secondary > .p-button:enabled:focus, .p-splitbutton.p-button-secondary > .p-button:enabled:focus {\n background: rgba(255, 64, 129, 0.76);\n}\n.p-button.p-button-secondary:enabled:active, .p-buttonset.p-button-secondary > .p-button:enabled:active, .p-splitbutton.p-button-secondary > .p-button:enabled:active {\n background: rgba(255, 64, 129, 0.68);\n}\n.p-button.p-button-secondary.p-button-text:enabled:focus, .p-button.p-button-secondary.p-button-outlined:enabled:focus, .p-buttonset.p-button-secondary > .p-button.p-button-text:enabled:focus, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:enabled:focus, .p-splitbutton.p-button-secondary > .p-button.p-button-text:enabled:focus, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:enabled:focus {\n background: rgba(255, 64, 129, 0.12);\n}\n.p-button.p-button-secondary.p-button-text:enabled:active, .p-button.p-button-secondary.p-button-outlined:enabled:active, .p-buttonset.p-button-secondary > .p-button.p-button-text:enabled:active, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:enabled:active, .p-splitbutton.p-button-secondary > .p-button.p-button-text:enabled:active, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:enabled:active {\n background: rgba(255, 64, 129, 0.16);\n}\n.p-button.p-button-secondary.p-button-text .p-ink, .p-button.p-button-secondary.p-button-outlined .p-ink, .p-buttonset.p-button-secondary > .p-button.p-button-text .p-ink, .p-buttonset.p-button-secondary > .p-button.p-button-outlined .p-ink, .p-splitbutton.p-button-secondary > .p-button.p-button-text .p-ink, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined .p-ink {\n background-color: rgba(255, 64, 129, 0.16);\n}\n\n.p-button.p-button-info:enabled:focus, .p-buttonset.p-button-info > .p-button:enabled:focus, .p-splitbutton.p-button-info > .p-button:enabled:focus {\n background: rgba(33, 150, 243, 0.76);\n}\n.p-button.p-button-info:enabled:active, .p-buttonset.p-button-info > .p-button:enabled:active, .p-splitbutton.p-button-info > .p-button:enabled:active {\n background: rgba(33, 150, 243, 0.68);\n}\n.p-button.p-button-info.p-button-text:enabled:focus, .p-button.p-button-info.p-button-outlined:enabled:focus, .p-buttonset.p-button-info > .p-button.p-button-text:enabled:focus, .p-buttonset.p-button-info > .p-button.p-button-outlined:enabled:focus, .p-splitbutton.p-button-info > .p-button.p-button-text:enabled:focus, .p-splitbutton.p-button-info > .p-button.p-button-outlined:enabled:focus {\n background: rgba(33, 150, 243, 0.12);\n}\n.p-button.p-button-info.p-button-text:enabled:active, .p-button.p-button-info.p-button-outlined:enabled:active, .p-buttonset.p-button-info > .p-button.p-button-text:enabled:active, .p-buttonset.p-button-info > .p-button.p-button-outlined:enabled:active, .p-splitbutton.p-button-info > .p-button.p-button-text:enabled:active, .p-splitbutton.p-button-info > .p-button.p-button-outlined:enabled:active {\n background: rgba(33, 150, 243, 0.16);\n}\n.p-button.p-button-info.p-button-text .p-ink, .p-button.p-button-info.p-button-outlined .p-ink, .p-buttonset.p-button-info > .p-button.p-button-text .p-ink, .p-buttonset.p-button-info > .p-button.p-button-outlined .p-ink, .p-splitbutton.p-button-info > .p-button.p-button-text .p-ink, .p-splitbutton.p-button-info > .p-button.p-button-outlined .p-ink {\n background-color: rgba(33, 150, 243, 0.16);\n}\n\n.p-button.p-button-success:enabled:focus, .p-buttonset.p-button-success > .p-button:enabled:focus, .p-splitbutton.p-button-success > .p-button:enabled:focus {\n background: rgba(104, 159, 56, 0.76);\n}\n.p-button.p-button-success:enabled:active, .p-buttonset.p-button-success > .p-button:enabled:active, .p-splitbutton.p-button-success > .p-button:enabled:active {\n background: rgba(104, 159, 56, 0.68);\n}\n.p-button.p-button-success.p-button-text:enabled:focus, .p-button.p-button-success.p-button-outlined:enabled:focus, .p-buttonset.p-button-success > .p-button.p-button-text:enabled:focus, .p-buttonset.p-button-success > .p-button.p-button-outlined:enabled:focus, .p-splitbutton.p-button-success > .p-button.p-button-text:enabled:focus, .p-splitbutton.p-button-success > .p-button.p-button-outlined:enabled:focus {\n background: rgba(104, 159, 56, 0.12);\n}\n.p-button.p-button-success.p-button-text:enabled:active, .p-button.p-button-success.p-button-outlined:enabled:active, .p-buttonset.p-button-success > .p-button.p-button-text:enabled:active, .p-buttonset.p-button-success > .p-button.p-button-outlined:enabled:active, .p-splitbutton.p-button-success > .p-button.p-button-text:enabled:active, .p-splitbutton.p-button-success > .p-button.p-button-outlined:enabled:active {\n background: rgba(104, 159, 56, 0.16);\n}\n.p-button.p-button-success.p-button-text .p-ink, .p-button.p-button-success.p-button-outlined .p-ink, .p-buttonset.p-button-success > .p-button.p-button-text .p-ink, .p-buttonset.p-button-success > .p-button.p-button-outlined .p-ink, .p-splitbutton.p-button-success > .p-button.p-button-text .p-ink, .p-splitbutton.p-button-success > .p-button.p-button-outlined .p-ink {\n background-color: rgba(104, 159, 56, 0.16);\n}\n\n.p-button.p-button-warning:enabled:focus, .p-buttonset.p-button-warning > .p-button:enabled:focus, .p-splitbutton.p-button-warning > .p-button:enabled:focus {\n background: rgba(251, 192, 45, 0.76);\n}\n.p-button.p-button-warning:enabled:active, .p-buttonset.p-button-warning > .p-button:enabled:active, .p-splitbutton.p-button-warning > .p-button:enabled:active {\n background: rgba(251, 192, 45, 0.68);\n}\n.p-button.p-button-warning.p-button-text:enabled:focus, .p-button.p-button-warning.p-button-outlined:enabled:focus, .p-buttonset.p-button-warning > .p-button.p-button-text:enabled:focus, .p-buttonset.p-button-warning > .p-button.p-button-outlined:enabled:focus, .p-splitbutton.p-button-warning > .p-button.p-button-text:enabled:focus, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:enabled:focus {\n background: rgba(251, 192, 45, 0.12);\n}\n.p-button.p-button-warning.p-button-text:enabled:active, .p-button.p-button-warning.p-button-outlined:enabled:active, .p-buttonset.p-button-warning > .p-button.p-button-text:enabled:active, .p-buttonset.p-button-warning > .p-button.p-button-outlined:enabled:active, .p-splitbutton.p-button-warning > .p-button.p-button-text:enabled:active, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:enabled:active {\n background: rgba(251, 192, 45, 0.16);\n}\n.p-button.p-button-warning.p-button-text .p-ink, .p-button.p-button-warning.p-button-outlined .p-ink, .p-buttonset.p-button-warning > .p-button.p-button-text .p-ink, .p-buttonset.p-button-warning > .p-button.p-button-outlined .p-ink, .p-splitbutton.p-button-warning > .p-button.p-button-text .p-ink, .p-splitbutton.p-button-warning > .p-button.p-button-outlined .p-ink {\n background-color: rgba(251, 192, 45, 0.16);\n}\n\n.p-button.p-button-help:enabled:focus, .p-buttonset.p-button-help > .p-button:enabled:focus, .p-splitbutton.p-button-help > .p-button:enabled:focus {\n background: rgba(156, 39, 176, 0.76);\n}\n.p-button.p-button-help:enabled:active, .p-buttonset.p-button-help > .p-button:enabled:active, .p-splitbutton.p-button-help > .p-button:enabled:active {\n background: rgba(156, 39, 176, 0.68);\n}\n.p-button.p-button-help.p-button-text:enabled:focus, .p-button.p-button-help.p-button-outlined:enabled:focus, .p-buttonset.p-button-help > .p-button.p-button-text:enabled:focus, .p-buttonset.p-button-help > .p-button.p-button-outlined:enabled:focus, .p-splitbutton.p-button-help > .p-button.p-button-text:enabled:focus, .p-splitbutton.p-button-help > .p-button.p-button-outlined:enabled:focus {\n background: rgba(156, 39, 176, 0.12);\n}\n.p-button.p-button-help.p-button-text:enabled:active, .p-button.p-button-help.p-button-outlined:enabled:active, .p-buttonset.p-button-help > .p-button.p-button-text:enabled:active, .p-buttonset.p-button-help > .p-button.p-button-outlined:enabled:active, .p-splitbutton.p-button-help > .p-button.p-button-text:enabled:active, .p-splitbutton.p-button-help > .p-button.p-button-outlined:enabled:active {\n background: rgba(156, 39, 176, 0.16);\n}\n.p-button.p-button-help.p-button-text .p-ink, .p-button.p-button-help.p-button-outlined .p-ink, .p-buttonset.p-button-help > .p-button.p-button-text .p-ink, .p-buttonset.p-button-help > .p-button.p-button-outlined .p-ink, .p-splitbutton.p-button-help > .p-button.p-button-text .p-ink, .p-splitbutton.p-button-help > .p-button.p-button-outlined .p-ink {\n background-color: rgba(156, 39, 176, 0.16);\n}\n\n.p-button.p-button-danger:enabled:focus, .p-buttonset.p-button-danger > .p-button:enabled:focus, .p-splitbutton.p-button-danger > .p-button:enabled:focus {\n background: rgba(211, 47, 47, 0.76);\n}\n.p-button.p-button-danger:enabled:active, .p-buttonset.p-button-danger > .p-button:enabled:active, .p-splitbutton.p-button-danger > .p-button:enabled:active {\n background: rgba(211, 47, 47, 0.68);\n}\n.p-button.p-button-danger.p-button-text:enabled:focus, .p-button.p-button-danger.p-button-outlined:enabled:focus, .p-buttonset.p-button-danger > .p-button.p-button-text:enabled:focus, .p-buttonset.p-button-danger > .p-button.p-button-outlined:enabled:focus, .p-splitbutton.p-button-danger > .p-button.p-button-text:enabled:focus, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:enabled:focus {\n background: rgba(211, 47, 47, 0.12);\n}\n.p-button.p-button-danger.p-button-text:enabled:active, .p-button.p-button-danger.p-button-outlined:enabled:active, .p-buttonset.p-button-danger > .p-button.p-button-text:enabled:active, .p-buttonset.p-button-danger > .p-button.p-button-outlined:enabled:active, .p-splitbutton.p-button-danger > .p-button.p-button-text:enabled:active, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:enabled:active {\n background: rgba(211, 47, 47, 0.16);\n}\n.p-button.p-button-danger.p-button-text .p-ink, .p-button.p-button-danger.p-button-outlined .p-ink, .p-buttonset.p-button-danger > .p-button.p-button-text .p-ink, .p-buttonset.p-button-danger > .p-button.p-button-outlined .p-ink, .p-splitbutton.p-button-danger > .p-button.p-button-text .p-ink, .p-splitbutton.p-button-danger > .p-button.p-button-outlined .p-ink {\n background-color: rgba(211, 47, 47, 0.16);\n}\n\n.p-calendar-w-btn {\n border: 1px solid rgba(0, 0, 0, 0.38);\n background: #ffffff;\n border-radius: 4px;\n transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, background-size 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);\n}\n.p-calendar-w-btn .p-inputtext {\n background-image: none;\n background-color: transparent;\n border: 0 none;\n}\n.p-calendar-w-btn .p-inputtext:enabled:focus {\n box-shadow: none;\n}\n.p-calendar-w-btn .p-datepicker-trigger.p-button {\n background-color: transparent;\n border: 0 none;\n}\n.p-calendar-w-btn .p-datepicker-trigger.p-button span {\n color: rgba(0, 0, 0, 0.6);\n}\n.p-calendar-w-btn .p-datepicker-trigger.p-button:enabled:hover {\n background: rgba(0, 0, 0, 0.04);\n}\n.p-calendar-w-btn .p-datepicker-trigger.p-button:enabled:active, .p-calendar-w-btn .p-datepicker-trigger.p-button:focus {\n background: rgba(0, 0, 0, 0.12);\n}\n.p-calendar-w-btn .p-datepicker-trigger.p-button:disabled {\n background-color: transparent !important;\n}\n.p-calendar-w-btn:not(.p-calendar-disabled):hover {\n border-color: rgba(0, 0, 0, 0.87);\n}\n.p-calendar-w-btn:not(.p-calendar-disabled).p-inputwrapper-focus {\n border-color: #3F51B5;\n box-shadow: inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5;\n}\n.p-calendar-w-btn.p-calendar-disabled {\n opacity: 0.38;\n}\n.p-calendar-w-btn.p-calendar-disabled .p-inputtext {\n opacity: 1;\n}\n\n.p-datepicker .p-datepicker-header {\n border-bottom: 0 none;\n}\n.p-datepicker .p-datepicker-header .p-datepicker-title {\n margin: 0 auto 0 0;\n order: 1;\n}\n.p-datepicker .p-datepicker-header .p-datepicker-prev {\n order: 2;\n}\n.p-datepicker .p-datepicker-header .p-datepicker-next {\n order: 3;\n}\n.p-datepicker table th {\n border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n color: rgba(0, 0, 0, 0.38);\n font-weight: 400;\n font-size: 0.875rem;\n}\n.p-datepicker table td.p-datepicker-today > span {\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.38);\n}\n.p-datepicker table td.p-datepicker-today.p-highlight {\n box-shadow: 0 0 0 1px rgba(63, 81, 181, 0.12);\n}\n\n.p-calendar.p-invalid .p-inputtext:enabled:focus {\n box-shadow: inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020;\n}\n.p-calendar.p-invalid.p-calendar-w-btn {\n border-color: #B00020;\n}\n.p-calendar.p-invalid.p-calendar-w-btn .p-inputtext:enabled:focus {\n box-shadow: none;\n}\n.p-calendar.p-invalid.p-calendar-w-btn:not(.p-disabled).p-inputwrapper-focus {\n box-shadow: inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020;\n}\n\n.p-input-filled .p-calendar-w-btn {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid transparent;\n background: #f5f5f5 no-repeat;\n background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38));\n background-size: 0 2px, 100% 1px;\n background-position: 50% 100%, 50% 100%;\n background-origin: border-box;\n}\n.p-input-filled .p-calendar-w-btn .p-inputtext {\n background-image: none;\n background: transparent;\n}\n.p-input-filled .p-calendar-w-btn:not(.p-calendar-disabled):not(.p-disabled):hover {\n background-color: #ececec;\n border-color: transparent;\n background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.87), rgba(0, 0, 0, 0.87));\n}\n.p-input-filled .p-calendar-w-btn:not(.p-calendar-disabled):not(.p-disabled).p-focus, .p-input-filled .p-calendar-w-btn:not(.p-calendar-disabled):not(.p-disabled).p-inputwrapper-focus {\n box-shadow: none;\n background-color: #dcdcdc;\n border-color: transparent;\n background-size: 100% 2px, 100% 1px;\n}\n.p-input-filled .p-calendar-w-btn:not(.p-calendar-disabled) .p-inputtext:enabled:hover, .p-input-filled .p-calendar-w-btn:not(.p-calendar-disabled) .p-inputtext:enabled:focus {\n background-image: none;\n background: transparent;\n}\n.p-input-filled .p-calendar-w-btn .p-inputtext {\n border: 0 none;\n}\n.p-input-filled .p-calendar.p-invalid .p-inputtext {\n border-color: transparent;\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-calendar.p-invalid .p-inputtext:enabled:hover {\n border-color: transparent;\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-calendar.p-invalid .p-inputtext:enabled:focus {\n box-shadow: none;\n border-color: transparent;\n}\n.p-input-filled .p-calendar.p-invalid.p-calendar-w-btn {\n border-color: transparent;\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-calendar.p-invalid.p-calendar-w-btn:not(.p-disabled):hover {\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-calendar.p-invalid.p-calendar-w-btn:not(.p-disabled).p-focus, .p-input-filled .p-calendar.p-invalid.p-calendar-w-btn:not(.p-disabled).p-inputwrapper-focus {\n box-shadow: none;\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-calendar.p-invalid.p-calendar-w-btn .p-inputtext {\n border: 0 none;\n background-image: none;\n}\n\n.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button {\n background: #ff4081;\n color: #ffffff;\n}\n\n.p-cascadeselect .p-cascadeselect-label, .p-cascadeselect .p-dropdown-trigger {\n background-image: none;\n background: transparent;\n}\n.p-cascadeselect .p-cascadeselect-label {\n border: 0 none;\n}\n.p-cascadeselect:not(.p-disabled).p-focus {\n box-shadow: inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5;\n}\n\n.p-cascadeselect-item-content .p-ink {\n background-color: rgba(63, 81, 181, 0.16);\n}\n\n.p-input-filled .p-cascadeselect {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid transparent;\n background: #f5f5f5 no-repeat;\n background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38));\n background-size: 0 2px, 100% 1px;\n background-position: 50% 100%, 50% 100%;\n background-origin: border-box;\n}\n.p-input-filled .p-cascadeselect .p-inputtext {\n background-image: none;\n background: transparent;\n}\n.p-input-filled .p-cascadeselect:not(.p-disabled):hover {\n background-color: #ececec;\n border-color: transparent;\n background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.87), rgba(0, 0, 0, 0.87));\n}\n.p-input-filled .p-cascadeselect:not(.p-disabled).p-focus, .p-input-filled .p-cascadeselect:not(.p-disabled).p-inputwrapper-focus {\n box-shadow: none;\n background-color: #dcdcdc;\n border-color: transparent;\n background-size: 100% 2px, 100% 1px;\n}\n.p-input-filled .p-cascadeselect .p-inputtext:enabled:hover, .p-input-filled .p-cascadeselect .p-inputtext:enabled:focus {\n background-image: none;\n background: transparent;\n}\n.p-input-filled .p-cascadeselect .p-cascadeselect-label:hover {\n background-image: none;\n background: transparent;\n}\n\n.p-input-filled .p-float-label .p-cascadeselect .p-cascadeselect-label {\n padding-top: 1.25rem;\n padding-bottom: 0.25rem;\n}\n.p-input-filled .p-float-label .p-inputwrapper-filled.p-cascadeselect .p-cascadeselect-label {\n padding-top: 1.25rem;\n padding-bottom: 0.25rem;\n}\n.p-input-filled .p-cascadeselect.p-invalid {\n border-color: transparent;\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-cascadeselect.p-invalid:not(.p-disabled):hover {\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-cascadeselect.p-invalid:not(.p-disabled).p-focus, .p-input-filled .p-cascadeselect.p-invalid:not(.p-disabled).p-inputwrapper-focus {\n box-shadow: none;\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n\n.p-cascadeselect.p-invalid:not(.p-disabled).p-focus {\n box-shadow: inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020;\n}\n\n.p-checkbox {\n border-radius: 50%;\n transition: box-shadow 0.2s;\n}\n.p-checkbox .p-checkbox-box {\n border-color: #757575;\n border-radius: 2px;\n position: relative;\n}\n.p-checkbox .p-checkbox-box:not(.p-disabled):hover {\n border-color: #757575;\n}\n.p-checkbox .p-checkbox-box:not(.p-disabled).p-focus {\n border-color: #757575;\n}\n.p-checkbox .p-checkbox-box.p-highlight:not(.p-disabled).p-focus {\n border-color: #3F51B5;\n}\n.p-checkbox .p-checkbox-box.p-highlight .p-checkbox-icon.pi-check:before {\n content: \"\";\n position: absolute;\n top: 6px;\n left: 1px;\n border-right: 2px solid transparent;\n border-bottom: 2px solid transparent;\n transform: rotate(45deg);\n transform-origin: 0% 100%;\n -webkit-animation: checkbox-check 125ms 50ms linear forwards;\n animation: checkbox-check 125ms 50ms linear forwards;\n}\n.p-checkbox:not(.p-checkbox-disabled):hover {\n box-shadow: 0 0 1px 10px rgba(0, 0, 0, 0.04);\n}\n.p-checkbox:not(.p-checkbox-disabled).p-checkbox-focused {\n box-shadow: 0 0 1px 10px rgba(0, 0, 0, 0.12);\n}\n.p-checkbox.p-checkbox-checked:not(.p-checkbox-disabled):hover {\n box-shadow: 0 0 1px 10px rgba(63, 81, 181, 0.04);\n}\n.p-checkbox.p-checkbox-checked:not(.p-checkbox-disabled).p-checkbox-focused {\n box-shadow: 0 0 1px 10px rgba(63, 81, 181, 0.12);\n}\n\n.p-input-filled .p-checkbox .p-checkbox-box {\n background-color: #ffffff;\n}\n.p-input-filled .p-checkbox .p-checkbox-box:not(.p-disabled):hover {\n background-color: #ffffff;\n}\n\n@-webkit-keyframes checkbox-check {\n 0% {\n width: 0;\n height: 0;\n border-color: #ffffff;\n transform: translate3d(0, 0, 0) rotate(45deg);\n }\n 33% {\n width: 4px;\n height: 0;\n transform: translate3d(0, 0, 0) rotate(45deg);\n }\n 100% {\n width: 4px;\n height: 10px;\n border-color: #ffffff;\n transform: translate3d(0, -10px, 0) rotate(45deg);\n }\n}\n\n@keyframes checkbox-check {\n 0% {\n width: 0;\n height: 0;\n border-color: #ffffff;\n transform: translate3d(0, 0, 0) rotate(45deg);\n }\n 33% {\n width: 4px;\n height: 0;\n transform: translate3d(0, 0, 0) rotate(45deg);\n }\n 100% {\n width: 4px;\n height: 10px;\n border-color: #ffffff;\n transform: translate3d(0, -10px, 0) rotate(45deg);\n }\n}\n.p-chips .p-chips-multiple-container:not(.p-disabled).p-focus {\n box-shadow: inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5;\n}\n\n.p-input-filled .p-chips-multiple-container {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid transparent;\n background: #f5f5f5 no-repeat;\n background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38));\n background-size: 0 2px, 100% 1px;\n background-position: 50% 100%, 50% 100%;\n background-origin: border-box;\n}\n.p-input-filled .p-chips-multiple-container .p-inputtext {\n background-image: none;\n background: transparent;\n}\n.p-input-filled .p-chips-multiple-container:not(.p-disabled):hover {\n background-color: #ececec;\n border-color: transparent;\n background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.87), rgba(0, 0, 0, 0.87));\n}\n.p-input-filled .p-chips-multiple-container:not(.p-disabled).p-focus, .p-input-filled .p-chips-multiple-container:not(.p-disabled).p-inputwrapper-focus {\n box-shadow: none;\n background-color: #dcdcdc;\n border-color: transparent;\n background-size: 100% 2px, 100% 1px;\n}\n.p-input-filled .p-chips-multiple-container .p-inputtext:enabled:hover, .p-input-filled .p-chips-multiple-container .p-inputtext:enabled:focus {\n background-image: none;\n background: transparent;\n}\n\n.p-float-label .p-chips-multiple-container .p-chips-token {\n padding: 0.25rem 1rem;\n}\n\n.p-input-filled .p-float-label .p-chips .p-chips-multiple-container .p-chips-token {\n padding-top: 0;\n padding-bottom: 0;\n}\n.p-input-filled .p-float-label .p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon {\n font-size: 75%;\n}\n.p-input-filled .p-float-label .p-chips .p-chips-multiple-container .p-chips-input-token {\n padding: 0;\n}\n.p-input-filled .p-chips.p-invalid .p-chips-multiple-container {\n border-color: transparent;\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-chips.p-invalid .p-chips-multiple-container:not(.p-disabled):hover {\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-chips.p-invalid .p-chips-multiple-container:not(.p-disabled).p-focus, .p-input-filled .p-chips.p-invalid .p-chips-multiple-container:not(.p-disabled).p-inputwrapper-focus {\n box-shadow: none;\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n\n.p-chips.p-invalid .p-chips-multiple-container:not(.p-disabled).p-focus {\n box-shadow: inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020;\n}\n\n.p-datatable .p-sortable-column {\n outline: 0 none;\n}\n.p-datatable .p-sortable-column:focus {\n background-color: rgba(0, 0, 0, 0.03);\n}\n.p-datatable .p-datatable-tbody > tr {\n outline: 0 none;\n}\n.p-datatable .p-datatable-tbody > tr:not(.p-highlight):focus {\n background-color: rgba(0, 0, 0, 0.03);\n}\n\n.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td {\n box-shadow: inset 0 2px 0 0 #3F51B5;\n}\n.p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td {\n box-shadow: inset 0 -2px 0 0 #3F51B5;\n}\n\n.p-dropdown .p-inputtext, .p-dropdown .p-dropdown-trigger {\n background-image: none;\n background: transparent;\n}\n.p-dropdown .p-inputtext {\n border: 0 none;\n}\n.p-dropdown:not(.p-disabled).p-focus {\n box-shadow: inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5;\n}\n\n.p-dropdown-item .p-ink {\n background-color: rgba(63, 81, 181, 0.16);\n}\n\n.p-input-filled .p-dropdown {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid transparent;\n background: #f5f5f5 no-repeat;\n background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38));\n background-size: 0 2px, 100% 1px;\n background-position: 50% 100%, 50% 100%;\n background-origin: border-box;\n}\n.p-input-filled .p-dropdown .p-inputtext {\n background-image: none;\n background: transparent;\n}\n.p-input-filled .p-dropdown:not(.p-disabled):hover {\n background-color: #ececec;\n border-color: transparent;\n background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.87), rgba(0, 0, 0, 0.87));\n}\n.p-input-filled .p-dropdown:not(.p-disabled).p-focus, .p-input-filled .p-dropdown:not(.p-disabled).p-inputwrapper-focus {\n box-shadow: none;\n background-color: #dcdcdc;\n border-color: transparent;\n background-size: 100% 2px, 100% 1px;\n}\n.p-input-filled .p-dropdown .p-inputtext:enabled:hover, .p-input-filled .p-dropdown .p-inputtext:enabled:focus {\n background-image: none;\n background: transparent;\n}\n.p-input-filled .p-dropdown .p-inputtext {\n border: 0 none;\n}\n.p-input-filled .p-dropdown.p-invalid {\n border-color: transparent;\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-dropdown.p-invalid:not(.p-disabled):hover {\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-dropdown.p-invalid:not(.p-disabled).p-focus, .p-input-filled .p-dropdown.p-invalid:not(.p-disabled).p-inputwrapper-focus {\n box-shadow: none;\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n\n.p-dropdown.p-invalid:not(.p-disabled).p-focus {\n box-shadow: inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020;\n}\n\n.fc {\n /* FullCalendar 4 */\n /* FullCalendar 5 */\n}\n.fc.fc-unthemed .fc-toolbar .fc-button:focus {\n background: rgba(63, 81, 181, 0.76);\n}\n.fc.fc-unthemed .fc-toolbar .fc-button:active {\n background: rgba(63, 81, 181, 0.68);\n}\n.fc.fc-unthemed .fc-toolbar .fc-button-group .fc-button:focus {\n background: rgba(63, 81, 181, 0.76);\n}\n.fc.fc-unthemed .fc-toolbar .fc-button-group .fc-button:active {\n background: rgba(63, 81, 181, 0.68);\n}\n.fc.fc-unthemed .fc-toolbar .fc-button-group .fc-button.fc-dayGridMonth-button:focus, .fc.fc-unthemed .fc-toolbar .fc-button-group .fc-button.fc-timeGridWeek-button:focus, .fc.fc-unthemed .fc-toolbar .fc-button-group .fc-button.fc-timeGridDay-button:focus {\n background: #e0e0e1;\n border-color: #e0e0e1;\n}\n.fc.fc-unthemed .fc-toolbar .fc-button-group .fc-button.fc-dayGridMonth-button:focus.p-highlight, .fc.fc-unthemed .fc-toolbar .fc-button-group .fc-button.fc-timeGridWeek-button:focus.p-highlight, .fc.fc-unthemed .fc-toolbar .fc-button-group .fc-button.fc-timeGridDay-button:focus.p-highlight {\n background: #d9d8d9;\n border-color: #d9d8d9;\n}\n.fc.fc-theme-standard .fc-toolbar .fc-button:focus {\n background: rgba(63, 81, 181, 0.76);\n}\n.fc.fc-theme-standard .fc-toolbar .fc-button:active {\n background: rgba(63, 81, 181, 0.68);\n}\n.fc.fc-theme-standard .fc-toolbar .fc-button-group .fc-button:focus {\n background: rgba(63, 81, 181, 0.76);\n}\n.fc.fc-theme-standard .fc-toolbar .fc-button-group .fc-button:active {\n background: rgba(63, 81, 181, 0.68);\n}\n.fc.fc-theme-standard .fc-toolbar .fc-button-group .fc-button.fc-dayGridMonth-button:focus, .fc.fc-theme-standard .fc-toolbar .fc-button-group .fc-button.fc-timeGridWeek-button:focus, .fc.fc-theme-standard .fc-toolbar .fc-button-group .fc-button.fc-timeGridDay-button:focus {\n background: #e0e0e1;\n border-color: #e0e0e1;\n}\n.fc.fc-theme-standard .fc-toolbar .fc-button-group .fc-button.fc-dayGridMonth-button:focus.p-highlight, .fc.fc-theme-standard .fc-toolbar .fc-button-group .fc-button.fc-timeGridWeek-button:focus.p-highlight, .fc.fc-theme-standard .fc-toolbar .fc-button-group .fc-button.fc-timeGridDay-button:focus.p-highlight {\n background: #d9d8d9;\n border-color: #d9d8d9;\n}\n\n.p-galleria .p-galleria-indicators {\n padding: 1rem;\n}\n.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button {\n background: #ff4081;\n color: #ffffff;\n}\n.p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button {\n background: rgba(255, 64, 129, 0.68);\n color: #ffffff;\n}\n\n.p-inputtext:enabled:focus {\n box-shadow: inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5;\n}\n.p-inputtext:enabled:focus.p-invalid {\n box-shadow: inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020;\n}\n\n.p-input-filled .p-inputtext {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid transparent;\n background: #f5f5f5 no-repeat;\n background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38));\n background-size: 0 2px, 100% 1px;\n background-position: 50% 100%, 50% 100%;\n background-origin: border-box;\n}\n.p-input-filled .p-inputtext:enabled:hover {\n background-color: #ececec;\n border-color: transparent;\n background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.87), rgba(0, 0, 0, 0.87));\n}\n.p-input-filled .p-inputtext:enabled:focus {\n box-shadow: none;\n background-color: #dcdcdc;\n border-color: transparent;\n background-size: 100% 2px, 100% 1px;\n}\n.p-input-filled .p-inputtext.p-invalid.p-component {\n border-color: transparent;\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-inputtext.p-invalid.p-component:enabled:hover {\n border-color: transparent;\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-inputtext.p-invalid.p-component:enabled:focus {\n box-shadow: none;\n border-color: transparent;\n}\n\n.p-input-filled .p-inputgroup .p-inputgroup-addon {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid transparent;\n background: #f5f5f5 no-repeat;\n background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38));\n background-size: 0 2px, 100% 1px;\n background-position: 50% 100%, 50% 100%;\n background-origin: border-box;\n}\n.p-input-filled .p-inputgroup .p-inputgroup-addon:last-child {\n border-right-color: transparent;\n}\n.p-input-filled .p-inputgroup-addon:first-child,\n.p-input-filled .p-inputgroup button:first-child,\n.p-input-filled .p-inputgroup input:first-child {\n border-bottom-left-radius: 0;\n}\n.p-input-filled .p-inputgroup .p-float-label:first-child input {\n border-bottom-left-radius: 0;\n}\n.p-input-filled .p-inputgroup-addon:last-child,\n.p-input-filled .p-inputgroup button:last-child,\n.p-input-filled .p-inputgroup input:last-child {\n border-bottom-right-radius: 0;\n}\n.p-input-filled .p-inputgroup .p-float-label:last-child input {\n border-bottom-right-radius: 0;\n}\n\n.p-inputnumber.p-invalid .p-inputtext:enabled:focus {\n box-shadow: inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020;\n}\n\n.p-input-filled .p-inputnumber.p-invalid .p-inputtext {\n border-color: transparent;\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-inputnumber.p-invalid .p-inputtext:enabled:hover {\n border-color: transparent;\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-inputnumber.p-invalid .p-inputtext:enabled:focus {\n box-shadow: none;\n border-color: transparent;\n}\n\n.p-inputswitch .p-inputswitch-slider:before {\n transition-property: box-shadow transform;\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);\n}\n.p-inputswitch:not(.p-disabled):hover .p-inputswitch-slider:before {\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12), 0 0 1px 10px rgba(0, 0, 0, 0.04);\n}\n.p-inputswitch.p-focus .p-inputswitch-slider:before, .p-inputswitch.p-focus:not(.p-disabled):hover .p-inputswitch-slider:before {\n box-shadow: 0 0 1px 10px rgba(0, 0, 0, 0.12), 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);\n}\n.p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider:before {\n box-shadow: 0 0 1px 10px rgba(63, 81, 181, 0.04), 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);\n}\n.p-inputswitch.p-inputswitch-checked.p-focus .p-inputswitch-slider:before, .p-inputswitch.p-inputswitch-checked.p-focus:not(.p-disabled):hover .p-inputswitch-slider:before {\n box-shadow: 0 0 1px 10px rgba(63, 81, 181, 0.12), 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);\n}\n\n.p-fieldset .p-fieldset-legend {\n border: 0 none;\n}\n.p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus {\n background: rgba(0, 0, 0, 0.12);\n}\n\n.p-float-label input:focus ~ label,\n.p-float-label input.p-filled ~ label,\n.p-float-label textarea:focus ~ label,\n.p-float-label textarea.p-filled ~ label,\n.p-float-label .p-inputwrapper-focus ~ label,\n.p-float-label .p-inputwrapper-filled ~ label {\n top: -0.5rem !important;\n background-color: #ffffff;\n padding: 2px 4px;\n margin-left: -4px;\n margin-top: 0;\n}\n\n.p-float-label textarea ~ label {\n margin-top: 0;\n}\n\n.p-float-label input:focus ~ label,\n.p-float-label .p-inputwrapper-focus ~ label {\n color: #3F51B5;\n}\n\n.p-input-filled .p-float-label .p-inputtext {\n padding-top: 1.25rem;\n padding-bottom: 0.25rem;\n}\n.p-input-filled .p-float-label input:focus ~ label,\n.p-input-filled .p-float-label input.p-filled ~ label,\n.p-input-filled .p-float-label textarea:focus ~ label,\n.p-input-filled .p-float-label textarea.p-filled ~ label,\n.p-input-filled .p-float-label .p-inputwrapper-focus ~ label,\n.p-input-filled .p-float-label .p-inputwrapper-filled ~ label {\n top: 0.25rem !important;\n margin-top: 0;\n background: transparent;\n}\n\n.p-listbox .p-listbox-list .p-listbox-item .p-ink {\n background-color: rgba(63, 81, 181, 0.16);\n}\n.p-listbox .p-listbox-list .p-listbox-item:focus {\n background: rgba(0, 0, 0, 0.12);\n}\n.p-listbox .p-listbox-list .p-listbox-item:focus.p-highlight {\n background: rgba(63, 81, 181, 0.24);\n}\n\n.p-megamenu .p-menuitem .p-menuitem-link:focus {\n background: rgba(0, 0, 0, 0.12);\n}\n\n.p-menu .p-menuitem .p-menuitem-link:focus {\n background: rgba(0, 0, 0, 0.12);\n}\n\n.p-menubar .p-menuitem .p-menuitem-link:focus {\n background: rgba(0, 0, 0, 0.12);\n}\n\n.p-multiselect .p-multiselect-label, .p-multiselect .p-multiselect-trigger {\n background-image: none;\n background: transparent;\n}\n.p-multiselect .p-multiselect-label {\n border: 0 none;\n}\n.p-multiselect:not(.p-disabled).p-focus {\n box-shadow: inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5;\n}\n\n.p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-ink {\n background-color: rgba(63, 81, 181, 0.16);\n}\n.p-multiselect-panel .p-multiselect-items .p-multiselect-item:focus {\n background: rgba(0, 0, 0, 0.12);\n}\n.p-multiselect-panel .p-multiselect-items .p-multiselect-item:focus.p-highlight {\n background: rgba(63, 81, 181, 0.24);\n}\n.p-multiselect-panel .p-multiselect-close:focus {\n background: rgba(0, 0, 0, 0.12);\n}\n\n.p-input-filled .p-multiselect {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid transparent;\n background: #f5f5f5 no-repeat;\n background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38));\n background-size: 0 2px, 100% 1px;\n background-position: 50% 100%, 50% 100%;\n background-origin: border-box;\n}\n.p-input-filled .p-multiselect .p-inputtext {\n background-image: none;\n background: transparent;\n}\n.p-input-filled .p-multiselect:not(.p-disabled):hover {\n background-color: #ececec;\n border-color: transparent;\n background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.87), rgba(0, 0, 0, 0.87));\n}\n.p-input-filled .p-multiselect:not(.p-disabled).p-focus, .p-input-filled .p-multiselect:not(.p-disabled).p-inputwrapper-focus {\n box-shadow: none;\n background-color: #dcdcdc;\n border-color: transparent;\n background-size: 100% 2px, 100% 1px;\n}\n.p-input-filled .p-multiselect .p-inputtext:enabled:hover, .p-input-filled .p-multiselect .p-inputtext:enabled:focus {\n background-image: none;\n background: transparent;\n}\n.p-input-filled .p-multiselect .p-multiselect-label:hover {\n background-image: none;\n background: transparent;\n}\n\n.p-float-label .p-multiselect-label .p-multiselect-token {\n padding: 0.25rem 1rem;\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n}\n\n.p-input-filled .p-float-label .p-multiselect .p-multiselect-label {\n padding-top: 1.25rem;\n padding-bottom: 0.25rem;\n}\n.p-input-filled .p-float-label .p-inputwrapper-filled.p-multiselect .p-multiselect-label {\n padding-top: 1.25rem;\n padding-bottom: 0.25rem;\n}\n.p-input-filled .p-float-label .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-token {\n padding-top: 0;\n padding-bottom: 0;\n margin-top: 0;\n margin-bottom: 0;\n}\n.p-input-filled .p-float-label .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon {\n font-size: 75%;\n}\n.p-input-filled .p-multiselect.p-invalid {\n border-color: transparent;\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-multiselect.p-invalid:not(.p-disabled):hover {\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-multiselect.p-invalid:not(.p-disabled).p-focus, .p-input-filled .p-multiselect.p-invalid:not(.p-disabled).p-inputwrapper-focus {\n box-shadow: none;\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n\n.p-multiselect.p-invalid:not(.p-disabled).p-focus {\n box-shadow: inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020;\n}\n\n.p-orderlist .p-orderlist-list .p-orderlist-item:focus {\n background: rgba(0, 0, 0, 0.12);\n}\n.p-orderlist .p-orderlist-list .p-orderlist-item:focus.p-highlight {\n background: rgba(63, 81, 181, 0.24);\n}\n\n.p-overlaypanel .p-overlaypanel-content {\n padding: 1.5rem;\n}\n\n.p-paginator {\n justify-content: flex-end;\n}\n.p-paginator .p-paginator-element:focus {\n background: rgba(0, 0, 0, 0.12);\n}\n.p-paginator .p-paginator-element:focus.p-highlight {\n background: rgba(63, 81, 181, 0.24);\n}\n\n.p-input-filled .p-password.p-invalid > .p-inputtext {\n border-color: transparent;\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-password.p-invalid > .p-inputtext:enabled:hover {\n border-color: transparent;\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-password.p-invalid > .p-inputtext:enabled:focus {\n box-shadow: none;\n border-color: transparent;\n}\n\n.p-password.p-invalid > .p-inputtext:enabled:focus {\n box-shadow: inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020;\n}\n\n.p-panel {\n border-radius: 4px;\n box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);\n}\n.p-panel .p-panel-header,\n.p-panel .p-panel-content,\n.p-panel .p-panel-footer {\n border: 0 none;\n}\n.p-panel .p-panel-content {\n padding-top: 0;\n}\n.p-panel .p-panel-title {\n font-size: 1.25rem;\n}\n.p-panel .p-panel-header-icon:focus {\n background: rgba(0, 0, 0, 0.12);\n}\n\n.p-panelmenu .p-panelmenu-panel {\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n margin-bottom: 0;\n border-radius: 0;\n position: relative;\n transition: margin-bottom 225ms;\n}\n.p-panelmenu .p-panelmenu-panel:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.p-panelmenu .p-panelmenu-panel:last-child {\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.p-panelmenu .p-panelmenu-panel .p-panelmenu-header .p-panelmenu-icon {\n order: 1;\n margin-left: auto;\n margin-right: 0;\n}\n.p-panelmenu .p-panelmenu-panel .p-panelmenu-header.p-disabled {\n opacity: 1;\n}\n.p-panelmenu .p-panelmenu-panel .p-panelmenu-header.p-disabled .p-panelmenu-header-link > * {\n opacity: 0.38;\n}\n.p-panelmenu .p-panelmenu-panel .p-panelmenu-header .p-panelmenu-header-link:focus {\n background: #f6f6f6;\n}\n.p-panelmenu .p-panelmenu-panel .p-menuitem .p-menuitem-link:focus {\n background: rgba(0, 0, 0, 0.12);\n}\n\n.p-picklist .p-picklist-list .p-picklist-item:focus {\n background: rgba(0, 0, 0, 0.12);\n}\n.p-picklist .p-picklist-list .p-picklist-item:focus.p-highlight {\n background: rgba(63, 81, 181, 0.24);\n}\n\n.p-progressbar {\n border-radius: 0;\n}\n.p-progressbar.p-progressbar-determinate .p-progressbar-label {\n display: none;\n}\n\n.p-rating .p-rating-icon {\n border-radius: 50%;\n width: 2rem;\n height: 2rem;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n margin-left: 0;\n}\n.p-rating .p-rating-icon:focus {\n background: rgba(63, 81, 181, 0.12);\n}\n.p-rating .p-rating-icon.p-rating-cancel:focus {\n background: rgba(176, 0, 32, 0.12);\n}\n.p-rating:not(.p-disabled):not(.p-readonly) .p-rating-icon:hover {\n background-color: rgba(0, 0, 0, 0.04);\n}\n.p-rating:not(.p-disabled):not(.p-readonly) .p-rating-icon.p-rating-cancel:hover {\n background: rgba(176, 0, 32, 0.04);\n}\n\n.p-radiobutton {\n border-radius: 50%;\n transition: box-shadow 0.2s;\n}\n.p-radiobutton .p-radiobutton-box:not(.p-disabled):not(.p-highlight):hover {\n border: 2px solid #757575;\n}\n.p-radiobutton .p-radiobutton-box:not(.p-disabled).p-focus {\n border: 2px solid #757575;\n}\n.p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled).p-focus {\n border-color: #3F51B5;\n}\n.p-radiobutton:not(.p-radiobutton-disabled):hover {\n box-shadow: 0 0 1px 10px rgba(0, 0, 0, 0.04);\n}\n.p-radiobutton:not(.p-radiobutton-disabled).p-radiobutton-focused {\n box-shadow: 0 0 1px 10px rgba(0, 0, 0, 0.12);\n}\n.p-radiobutton.p-radiobutton-checked:not(.p-radiobutton-disabled):hover {\n box-shadow: 0 0 1px 10px rgba(63, 81, 181, 0.04);\n}\n.p-radiobutton.p-radiobutton-checked:not(.p-radiobutton-disabled).p-radiobutton-focused {\n box-shadow: 0 0 1px 10px rgba(63, 81, 181, 0.12);\n}\n\n.p-input-filled .p-radiobutton .p-radiobutton-box {\n background-color: #ffffff;\n}\n.p-input-filled .p-radiobutton .p-radiobutton-box:not(.p-disabled):hover {\n background-color: #ffffff;\n}\n\n.p-selectbutton .p-button:focus {\n background: #e0e0e1;\n border-color: #e0e0e1;\n}\n.p-selectbutton .p-button:focus.p-highlight {\n background: #d9d8d9;\n border-color: #d9d8d9;\n}\n\n.p-slider .p-slider-handle {\n transition: transform 0.2s, box-shadow 0.2s;\n transform: scale(0.7);\n}\n.p-slider .p-slider-handle:focus {\n box-shadow: 0 0 1px 10px rgba(255, 64, 129, 0.2);\n}\n.p-slider.p-slider-sliding .p-slider-handle {\n transform: scale(1);\n}\n\n.p-splitbutton.p-button-text > .p-button:enabled:focus, .p-splitbutton.p-button-text > .p-button:not(button):not(a):not(.p-disabled):focus, .p-splitbutton.p-button-outlined > .p-button:enabled:focus, .p-splitbutton.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):focus {\n background: rgba(63, 81, 181, 0.12);\n}\n.p-splitbutton.p-button-text > .p-button:enabled:active, .p-splitbutton.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active, .p-splitbutton.p-button-outlined > .p-button:enabled:active, .p-splitbutton.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {\n background: rgba(63, 81, 181, 0.16);\n}\n.p-splitbutton.p-button-outlined > .p-button {\n box-shadow: inset 0 0 0 1px;\n}\n.p-splitbutton.p-button-outlined > .p-button:enabled:focus {\n box-shadow: inset 0 0 0 1px;\n}\n.p-splitbutton.p-button-outlined > .p-button:enabled:active {\n box-shadow: inset 0 0 0 1px;\n}\n.p-splitbutton.p-button-outlined > .p-button.p-splitbutton-menubutton {\n margin-left: -1px;\n width: calc(2.25rem + 1px);\n}\n.p-splitbutton.p-disabled.p-button-text > .p-button {\n background-color: transparent !important;\n color: rgba(0, 0, 0, 0.38) !important;\n}\n.p-splitbutton.p-disabled.p-button-outlined > .p-button {\n background-color: transparent !important;\n color: rgba(0, 0, 0, 0.38) !important;\n border-color: rgba(0, 0, 0, 0.38) !important;\n}\n.p-splitbutton.p-button-raised > .p-button:enabled:focus, .p-splitbutton.p-button-raised > .p-button:not(button):not(a):not(.p-disabled):focus {\n box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n\n.p-splitbutton.p-button-secondary.p-button-text > .p-button:enabled:focus, .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(button):not(a):not(.p-disabled):focus, .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:enabled:focus, .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):focus {\n background: rgba(255, 64, 129, 0.12);\n}\n.p-splitbutton.p-button-secondary.p-button-text > .p-button:enabled:active, .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active, .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:enabled:active, .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {\n background: rgba(255, 64, 129, 0.16);\n}\n\n.p-splitbutton.p-button-info > .p-button.p-button-text > .p-button:enabled:focus, .p-splitbutton.p-button-info > .p-button.p-button-text > .p-button:not(button):not(a):not(.p-disabled):focus, .p-splitbutton.p-button-info > .p-button.p-button-outlined > .p-button:enabled:focus, .p-splitbutton.p-button-info > .p-button.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):focus {\n background: rgba(33, 150, 243, 0.12);\n}\n.p-splitbutton.p-button-info > .p-button.p-button-text > .p-button:enabled:active, .p-splitbutton.p-button-info > .p-button.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-outlined > .p-button:enabled:active, .p-splitbutton.p-button-info > .p-button.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {\n background: rgba(33, 150, 243, 0.16);\n}\n\n.p-splitbutton.p-button-success.p-button-text > .p-button:enabled:focus, .p-splitbutton.p-button-success.p-button-text > .p-button:not(button):not(a):not(.p-disabled):focus, .p-splitbutton.p-button-success.p-button-outlined > .p-button:enabled:focus, .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):focus {\n background: rgba(104, 159, 56, 0.12);\n}\n.p-splitbutton.p-button-success.p-button-text > .p-button:enabled:active, .p-splitbutton.p-button-success.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active, .p-splitbutton.p-button-success.p-button-outlined > .p-button:enabled:active, .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {\n background: rgba(104, 159, 56, 0.16);\n}\n\n.p-splitbutton.p-button-warning.p-button-text > .p-button:enabled:focus, .p-splitbutton.p-button-warning.p-button-text > .p-button:not(button):not(a):not(.p-disabled):focus, .p-splitbutton.p-button-warning.p-button-outlined > .p-button:enabled:focus, .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):focus {\n background: rgba(251, 192, 45, 0.12);\n}\n.p-splitbutton.p-button-warning.p-button-text > .p-button:enabled:active, .p-splitbutton.p-button-warning.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active, .p-splitbutton.p-button-warning.p-button-outlined > .p-button:enabled:active, .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {\n background: rgba(251, 192, 45, 0.16);\n}\n\n.p-splitbutton.p-button-help.p-button-text > .p-button:enabled:focus, .p-splitbutton.p-button-help.p-button-text > .p-button:not(button):not(a):not(.p-disabled):focus, .p-splitbutton.p-button-help.p-button-outlined > .p-button:enabled:focus, .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):focus {\n background: rgba(156, 39, 176, 0.12);\n}\n.p-splitbutton.p-button-help.p-button-text > .p-button:enabled:active, .p-splitbutton.p-button-help.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active, .p-splitbutton.p-button-help.p-button-outlined > .p-button:enabled:active, .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {\n background: rgba(156, 39, 176, 0.16);\n}\n\n.p-splitbutton.p-button-danger.p-button-text > .p-button:enabled:focus, .p-splitbutton.p-button-danger.p-button-text > .p-button:not(button):not(a):not(.p-disabled):focus, .p-splitbutton.p-button-danger.p-button-outlined > .p-button:enabled:focus, .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):focus {\n background: rgba(211, 47, 47, 0.12);\n}\n.p-splitbutton.p-button-danger.p-button-text > .p-button:enabled:active, .p-splitbutton.p-button-danger.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active, .p-splitbutton.p-button-danger.p-button-outlined > .p-button:enabled:active, .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {\n background: rgba(211, 47, 47, 0.16);\n}\n\n.p-steps {\n padding: 1rem 0;\n}\n.p-steps .p-steps-item {\n justify-content: flex-start;\n flex-direction: row-reverse;\n align-items: center;\n}\n.p-steps .p-steps-item:before {\n position: static;\n left: auto;\n top: auto;\n margin-top: 0;\n}\n.p-steps .p-steps-item:last-child {\n flex-grow: 0;\n}\n.p-steps .p-steps-item:last-child:before {\n display: none;\n}\n.p-steps .p-steps-item .p-menuitem-link {\n flex-direction: row;\n flex: 1 1 auto;\n overflow: visible;\n padding: 1rem 0.5rem;\n}\n.p-steps .p-steps-item .p-menuitem-link .p-steps-number {\n background-color: #9e9d9e;\n color: #ffffff;\n font-size: 0.857rem;\n min-width: 1.714rem;\n height: 1.714rem;\n line-height: 1.714rem;\n}\n.p-steps .p-steps-item .p-menuitem-link .p-steps-title {\n margin: 0;\n padding-left: 0.5rem;\n}\n.p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus {\n background: rgba(0, 0, 0, 0.12);\n}\n.p-steps .p-steps-item.p-highlight .p-steps-number {\n background-color: #3F51B5;\n color: #ffffff;\n}\n.p-steps .p-steps-item.p-highlight .p-steps-title {\n font-weight: 600;\n color: rgba(0, 0, 0, 0.87);\n}\n.p-steps .p-steps-item.p-disabled {\n opacity: 1;\n}\n\n.p-tabview .p-tabview-nav {\n position: relative;\n}\n.p-tabview .p-tabview-nav li .p-tabview-nav-link {\n transition: background-color 0.2s;\n border-radius: 0;\n}\n.p-tabview .p-tabview-nav li .p-tabview-nav-link > .p-ink {\n background-color: rgba(63, 81, 181, 0.16);\n}\n.p-tabview .p-tabview-nav li .p-tabview-nav-link:focus {\n background-color: rgba(63, 81, 181, 0.12);\n}\n.p-tabview .p-tabview-nav .p-tabview-ink-bar {\n z-index: 1;\n display: block;\n position: absolute;\n bottom: 0;\n height: 2px;\n background-color: #3F51B5;\n transition: 500ms cubic-bezier(0.35, 0, 0.25, 1);\n}\n\n.p-tieredmenu .p-menuitem-link:focus {\n background: rgba(0, 0, 0, 0.12);\n}\n\n.p-toolbar {\n border: 0 none;\n}\n\n.p-tooltip .p-tooltip-text {\n box-shadow: none;\n font-size: 0.875rem;\n}\n.p-tooltip .p-tooltip-arrow {\n display: none;\n}\n\n.p-tree .p-tree-container .p-treenode .p-treenode-content:focus {\n background: rgba(0, 0, 0, 0.12);\n}\n.p-tree .p-tree-container .p-treenode .p-treenode-content:focus.p-highlight {\n background: rgba(63, 81, 181, 0.24);\n}\n\n.p-treeselect .p-treeselect-label, .p-treeselect .p-treeselect-trigger {\n background-image: none;\n background: transparent;\n}\n.p-treeselect .p-treeselect-label {\n border: 0 none;\n}\n.p-treeselect:not(.p-disabled).p-focus {\n box-shadow: inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5, inset 0 0 0 1px #3F51B5;\n}\n\n.p-treeselect-item .p-ink {\n background-color: rgba(63, 81, 181, 0.16);\n}\n\n.p-input-filled .p-treeselect {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid transparent;\n background: #f5f5f5 no-repeat;\n background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38));\n background-size: 0 2px, 100% 1px;\n background-position: 50% 100%, 50% 100%;\n background-origin: border-box;\n}\n.p-input-filled .p-treeselect .p-inputtext {\n background-image: none;\n background: transparent;\n}\n.p-input-filled .p-treeselect:not(.p-disabled):hover {\n background-color: #ececec;\n border-color: transparent;\n background-image: linear-gradient(to bottom, #3F51B5, #3F51B5), linear-gradient(to bottom, rgba(0, 0, 0, 0.87), rgba(0, 0, 0, 0.87));\n}\n.p-input-filled .p-treeselect:not(.p-disabled).p-focus, .p-input-filled .p-treeselect:not(.p-disabled).p-inputwrapper-focus {\n box-shadow: none;\n background-color: #dcdcdc;\n border-color: transparent;\n background-size: 100% 2px, 100% 1px;\n}\n.p-input-filled .p-treeselect .p-inputtext:enabled:hover, .p-input-filled .p-treeselect .p-inputtext:enabled:focus {\n background-image: none;\n background: transparent;\n}\n.p-input-filled .p-treeselect .p-treeselect-label:hover {\n background-image: none;\n background: transparent;\n}\n\n.p-float-label .p-treeselect-label .p-treeselect-token {\n padding: 0.25rem 1rem;\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n}\n\n.p-input-filled .p-float-label .p-treeselect .p-treeselect-label {\n padding-top: 1.25rem;\n padding-bottom: 0.25rem;\n}\n.p-input-filled .p-float-label .p-inputwrapper-filled.p-treeselect .p-treeselect-label {\n padding-top: 1.25rem;\n padding-bottom: 0.25rem;\n}\n.p-input-filled .p-float-label .p-inputwrapper-filled.p-treeselect.p-treeselect-chip .p-treeselect-token {\n padding-top: 0;\n padding-bottom: 0;\n margin-top: 0;\n margin-bottom: 0;\n}\n.p-input-filled .p-float-label .p-inputwrapper-filled.p-treeselect.p-treeselect-chip .p-treeselect-token .p-treeselect-token-icon {\n font-size: 75%;\n}\n.p-input-filled .p-treeselect.p-invalid {\n border-color: transparent;\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-treeselect.p-invalid:not(.p-disabled):hover {\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n.p-input-filled .p-treeselect.p-invalid:not(.p-disabled).p-focus, .p-input-filled .p-treeselect.p-invalid:not(.p-disabled).p-inputwrapper-focus {\n box-shadow: none;\n background-image: linear-gradient(to bottom, #B00020, #B00020), linear-gradient(to bottom, #B00020, #B00020);\n}\n\n.p-treeselect.p-invalid:not(.p-disabled).p-focus {\n box-shadow: inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020, inset 0 0 0 1px #B00020;\n}\n\n.p-treetable .p-sortable-column {\n outline: 0 none;\n}\n.p-treetable .p-sortable-column:focus {\n background-color: rgba(0, 0, 0, 0.03);\n}\n.p-treetable .p-treetable-tbody > tr {\n outline: 0 none;\n}\n.p-treetable .p-treetable-tbody > tr:not(.p-highlight):focus {\n background-color: rgba(0, 0, 0, 0.03);\n}\n\n.p-tabmenu .p-tabmenu-nav {\n position: relative;\n}\n.p-tabmenu .p-tabmenu-nav li .p-menuitem-link {\n transition: background-color 0.2s;\n border-radius: 0;\n}\n.p-tabmenu .p-tabmenu-nav li .p-menuitem-link > .p-ink {\n background-color: rgba(63, 81, 181, 0.16);\n}\n.p-tabmenu .p-tabmenu-nav li .p-menuitem-link:focus {\n background-color: rgba(63, 81, 181, 0.12);\n}\n.p-tabmenu .p-tabmenu-nav li.p-highlight .p-menuitem-link:focus {\n background-color: rgba(63, 81, 181, 0.12);\n}\n.p-tabmenu .p-tabmenu-nav .p-tabmenu-ink-bar {\n display: block;\n position: absolute;\n bottom: 0;\n height: 2px;\n background-color: #3F51B5;\n transition: 500ms cubic-bezier(0.35, 0, 0.25, 1);\n}\n\n.p-togglebutton.p-button:focus {\n background: #e0e0e1;\n border-color: #e0e0e1;\n}\n.p-togglebutton.p-button:focus.p-highlight {\n background: #d9d8d9;\n border-color: #d9d8d9;\n}\n\n/* Customizations to the designer theme should be defined here */\n", ""]);
  20686. // Exports
  20687. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
  20688. /***/ }),
  20689. /***/ "./node_modules/css-loader/dist/runtime/api.js":
  20690. /*!*****************************************************!*\
  20691. !*** ./node_modules/css-loader/dist/runtime/api.js ***!
  20692. \*****************************************************/
  20693. /***/ ((module) => {
  20694. "use strict";
  20695. /*
  20696. MIT License http://www.opensource.org/licenses/mit-license.php
  20697. Author Tobias Koppers @sokra
  20698. */
  20699. // css base code, injected by the css-loader
  20700. // eslint-disable-next-line func-names
  20701. module.exports = function (cssWithMappingToString) {
  20702. var list = []; // return the list of modules as css string
  20703. list.toString = function toString() {
  20704. return this.map(function (item) {
  20705. var content = cssWithMappingToString(item);
  20706. if (item[2]) {
  20707. return "@media ".concat(item[2], " {").concat(content, "}");
  20708. }
  20709. return content;
  20710. }).join("");
  20711. }; // import a list of modules into the list
  20712. // eslint-disable-next-line func-names
  20713. list.i = function (modules, mediaQuery, dedupe) {
  20714. if (typeof modules === "string") {
  20715. // eslint-disable-next-line no-param-reassign
  20716. modules = [[null, modules, ""]];
  20717. }
  20718. var alreadyImportedModules = {};
  20719. if (dedupe) {
  20720. for (var i = 0; i < this.length; i++) {
  20721. // eslint-disable-next-line prefer-destructuring
  20722. var id = this[i][0];
  20723. if (id != null) {
  20724. alreadyImportedModules[id] = true;
  20725. }
  20726. }
  20727. }
  20728. for (var _i = 0; _i < modules.length; _i++) {
  20729. var item = [].concat(modules[_i]);
  20730. if (dedupe && alreadyImportedModules[item[0]]) {
  20731. // eslint-disable-next-line no-continue
  20732. continue;
  20733. }
  20734. if (mediaQuery) {
  20735. if (!item[2]) {
  20736. item[2] = mediaQuery;
  20737. } else {
  20738. item[2] = "".concat(mediaQuery, " and ").concat(item[2]);
  20739. }
  20740. }
  20741. list.push(item);
  20742. }
  20743. };
  20744. return list;
  20745. };
  20746. /***/ }),
  20747. /***/ "./node_modules/css-loader/dist/runtime/getUrl.js":
  20748. /*!********************************************************!*\
  20749. !*** ./node_modules/css-loader/dist/runtime/getUrl.js ***!
  20750. \********************************************************/
  20751. /***/ ((module) => {
  20752. "use strict";
  20753. module.exports = function (url, options) {
  20754. if (!options) {
  20755. // eslint-disable-next-line no-param-reassign
  20756. options = {};
  20757. } // eslint-disable-next-line no-underscore-dangle, no-param-reassign
  20758. url = url && url.__esModule ? url.default : url;
  20759. if (typeof url !== "string") {
  20760. return url;
  20761. } // If url is already wrapped in quotes, remove them
  20762. if (/^['"].*['"]$/.test(url)) {
  20763. // eslint-disable-next-line no-param-reassign
  20764. url = url.slice(1, -1);
  20765. }
  20766. if (options.hash) {
  20767. // eslint-disable-next-line no-param-reassign
  20768. url += options.hash;
  20769. } // Should url be wrapped?
  20770. // See https://drafts.csswg.org/css-values-3/#urls
  20771. if (/["'() \t\n]/.test(url) || options.needQuotes) {
  20772. return "\"".concat(url.replace(/"/g, '\\"').replace(/\n/g, "\\n"), "\"");
  20773. }
  20774. return url;
  20775. };
  20776. /***/ }),
  20777. /***/ "./node_modules/deepmerge/dist/cjs.js":
  20778. /*!********************************************!*\
  20779. !*** ./node_modules/deepmerge/dist/cjs.js ***!
  20780. \********************************************/
  20781. /***/ ((module) => {
  20782. "use strict";
  20783. var isMergeableObject = function isMergeableObject(value) {
  20784. return isNonNullObject(value)
  20785. && !isSpecial(value)
  20786. };
  20787. function isNonNullObject(value) {
  20788. return !!value && typeof value === 'object'
  20789. }
  20790. function isSpecial(value) {
  20791. var stringValue = Object.prototype.toString.call(value);
  20792. return stringValue === '[object RegExp]'
  20793. || stringValue === '[object Date]'
  20794. || isReactElement(value)
  20795. }
  20796. // see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25
  20797. var canUseSymbol = typeof Symbol === 'function' && Symbol.for;
  20798. var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;
  20799. function isReactElement(value) {
  20800. return value.$$typeof === REACT_ELEMENT_TYPE
  20801. }
  20802. function emptyTarget(val) {
  20803. return Array.isArray(val) ? [] : {}
  20804. }
  20805. function cloneUnlessOtherwiseSpecified(value, options) {
  20806. return (options.clone !== false && options.isMergeableObject(value))
  20807. ? deepmerge(emptyTarget(value), value, options)
  20808. : value
  20809. }
  20810. function defaultArrayMerge(target, source, options) {
  20811. return target.concat(source).map(function(element) {
  20812. return cloneUnlessOtherwiseSpecified(element, options)
  20813. })
  20814. }
  20815. function getMergeFunction(key, options) {
  20816. if (!options.customMerge) {
  20817. return deepmerge
  20818. }
  20819. var customMerge = options.customMerge(key);
  20820. return typeof customMerge === 'function' ? customMerge : deepmerge
  20821. }
  20822. function getEnumerableOwnPropertySymbols(target) {
  20823. return Object.getOwnPropertySymbols
  20824. ? Object.getOwnPropertySymbols(target).filter(function(symbol) {
  20825. return target.propertyIsEnumerable(symbol)
  20826. })
  20827. : []
  20828. }
  20829. function getKeys(target) {
  20830. return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))
  20831. }
  20832. function propertyIsOnObject(object, property) {
  20833. try {
  20834. return property in object
  20835. } catch(_) {
  20836. return false
  20837. }
  20838. }
  20839. // Protects from prototype poisoning and unexpected merging up the prototype chain.
  20840. function propertyIsUnsafe(target, key) {
  20841. return propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,
  20842. && !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,
  20843. && Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.
  20844. }
  20845. function mergeObject(target, source, options) {
  20846. var destination = {};
  20847. if (options.isMergeableObject(target)) {
  20848. getKeys(target).forEach(function(key) {
  20849. destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);
  20850. });
  20851. }
  20852. getKeys(source).forEach(function(key) {
  20853. if (propertyIsUnsafe(target, key)) {
  20854. return
  20855. }
  20856. if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {
  20857. destination[key] = getMergeFunction(key, options)(target[key], source[key], options);
  20858. } else {
  20859. destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);
  20860. }
  20861. });
  20862. return destination
  20863. }
  20864. function deepmerge(target, source, options) {
  20865. options = options || {};
  20866. options.arrayMerge = options.arrayMerge || defaultArrayMerge;
  20867. options.isMergeableObject = options.isMergeableObject || isMergeableObject;
  20868. // cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()
  20869. // implementations can use it. The caller may not replace it.
  20870. options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;
  20871. var sourceIsArray = Array.isArray(source);
  20872. var targetIsArray = Array.isArray(target);
  20873. var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
  20874. if (!sourceAndTargetTypesMatch) {
  20875. return cloneUnlessOtherwiseSpecified(source, options)
  20876. } else if (sourceIsArray) {
  20877. return options.arrayMerge(target, source, options)
  20878. } else {
  20879. return mergeObject(target, source, options)
  20880. }
  20881. }
  20882. deepmerge.all = function deepmergeAll(array, options) {
  20883. if (!Array.isArray(array)) {
  20884. throw new Error('first argument should be an array')
  20885. }
  20886. return array.reduce(function(prev, next) {
  20887. return deepmerge(prev, next, options)
  20888. }, {})
  20889. };
  20890. var deepmerge_1 = deepmerge;
  20891. module.exports = deepmerge_1;
  20892. /***/ }),
  20893. /***/ "./node_modules/primevue/resources/images/color.png":
  20894. /*!**********************************************************!*\
  20895. !*** ./node_modules/primevue/resources/images/color.png ***!
  20896. \**********************************************************/
  20897. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  20898. "use strict";
  20899. __webpack_require__.r(__webpack_exports__);
  20900. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  20901. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  20902. /* harmony export */ });
  20903. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("/images/vendor/primevue/resources/color.png?6441e63a57ccc5105bad045142bc31eb");
  20904. /***/ }),
  20905. /***/ "./node_modules/primevue/resources/images/hue.png":
  20906. /*!********************************************************!*\
  20907. !*** ./node_modules/primevue/resources/images/hue.png ***!
  20908. \********************************************************/
  20909. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  20910. "use strict";
  20911. __webpack_require__.r(__webpack_exports__);
  20912. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  20913. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  20914. /* harmony export */ });
  20915. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("/images/vendor/primevue/resources/hue.png?f8505bd4d6f3e3aa435b72d1c045d4a7");
  20916. /***/ }),
  20917. /***/ "./node_modules/primeicons/fonts/primeicons.eot":
  20918. /*!******************************************************!*\
  20919. !*** ./node_modules/primeicons/fonts/primeicons.eot ***!
  20920. \******************************************************/
  20921. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  20922. "use strict";
  20923. __webpack_require__.r(__webpack_exports__);
  20924. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  20925. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  20926. /* harmony export */ });
  20927. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("/fonts/vendor/primeicons/primeicons.eot?7fc4d8e224d1ff1b9c6256b15cbe43a7");
  20928. /***/ }),
  20929. /***/ "./node_modules/primeicons/fonts/primeicons.svg":
  20930. /*!******************************************************!*\
  20931. !*** ./node_modules/primeicons/fonts/primeicons.svg ***!
  20932. \******************************************************/
  20933. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  20934. "use strict";
  20935. __webpack_require__.r(__webpack_exports__);
  20936. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  20937. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  20938. /* harmony export */ });
  20939. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("/fonts/vendor/primeicons/primeicons.svg?c6e2053303524e39530c36f094129407");
  20940. /***/ }),
  20941. /***/ "./node_modules/primeicons/fonts/primeicons.ttf":
  20942. /*!******************************************************!*\
  20943. !*** ./node_modules/primeicons/fonts/primeicons.ttf ***!
  20944. \******************************************************/
  20945. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  20946. "use strict";
  20947. __webpack_require__.r(__webpack_exports__);
  20948. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  20949. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  20950. /* harmony export */ });
  20951. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("/fonts/vendor/primeicons/primeicons.ttf?91bacab1f083f2795272499faf7e83dc");
  20952. /***/ }),
  20953. /***/ "./node_modules/primeicons/fonts/primeicons.woff":
  20954. /*!*******************************************************!*\
  20955. !*** ./node_modules/primeicons/fonts/primeicons.woff ***!
  20956. \*******************************************************/
  20957. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  20958. "use strict";
  20959. __webpack_require__.r(__webpack_exports__);
  20960. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  20961. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  20962. /* harmony export */ });
  20963. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("/fonts/vendor/primeicons/primeicons.woff?449aa8c65cdc5c2a868645403b9ea4d3");
  20964. /***/ }),
  20965. /***/ "./node_modules/primevue/resources/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-500.woff":
  20966. /*!***********************************************************************************************************!*\
  20967. !*** ./node_modules/primevue/resources/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-500.woff ***!
  20968. \***********************************************************************************************************/
  20969. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  20970. "use strict";
  20971. __webpack_require__.r(__webpack_exports__);
  20972. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  20973. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  20974. /* harmony export */ });
  20975. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("/fonts/vendor/primevue/resources/themes/mdc-light-indigo/roboto-v20-latin-ext_latin-500.woff?e492ac63197a57e7f4d3bdb0001386ad");
  20976. /***/ }),
  20977. /***/ "./node_modules/primevue/resources/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-500.woff2":
  20978. /*!************************************************************************************************************!*\
  20979. !*** ./node_modules/primevue/resources/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-500.woff2 ***!
  20980. \************************************************************************************************************/
  20981. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  20982. "use strict";
  20983. __webpack_require__.r(__webpack_exports__);
  20984. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  20985. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  20986. /* harmony export */ });
  20987. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("/fonts/vendor/primevue/resources/themes/mdc-light-indigo/roboto-v20-latin-ext_latin-500.woff2?0b45721325446d537b545d6224819ad4");
  20988. /***/ }),
  20989. /***/ "./node_modules/primevue/resources/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-700.woff":
  20990. /*!***********************************************************************************************************!*\
  20991. !*** ./node_modules/primevue/resources/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-700.woff ***!
  20992. \***********************************************************************************************************/
  20993. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  20994. "use strict";
  20995. __webpack_require__.r(__webpack_exports__);
  20996. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  20997. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  20998. /* harmony export */ });
  20999. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("/fonts/vendor/primevue/resources/themes/mdc-light-indigo/roboto-v20-latin-ext_latin-700.woff?8aba6dc5d991e4367d7ad685f85e5fe5");
  21000. /***/ }),
  21001. /***/ "./node_modules/primevue/resources/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-700.woff2":
  21002. /*!************************************************************************************************************!*\
  21003. !*** ./node_modules/primevue/resources/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-700.woff2 ***!
  21004. \************************************************************************************************************/
  21005. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  21006. "use strict";
  21007. __webpack_require__.r(__webpack_exports__);
  21008. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  21009. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  21010. /* harmony export */ });
  21011. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("/fonts/vendor/primevue/resources/themes/mdc-light-indigo/roboto-v20-latin-ext_latin-700.woff2?1d1ef7788f0ff084b8811576cb59df57");
  21012. /***/ }),
  21013. /***/ "./node_modules/primevue/resources/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff":
  21014. /*!***************************************************************************************************************!*\
  21015. !*** ./node_modules/primevue/resources/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff ***!
  21016. \***************************************************************************************************************/
  21017. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  21018. "use strict";
  21019. __webpack_require__.r(__webpack_exports__);
  21020. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  21021. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  21022. /* harmony export */ });
  21023. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("/fonts/vendor/primevue/resources/themes/mdc-light-indigo/roboto-v20-latin-ext_latin-regular.woff?ae804dc012b1b525547416df4b4524b3");
  21024. /***/ }),
  21025. /***/ "./node_modules/primevue/resources/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff2":
  21026. /*!****************************************************************************************************************!*\
  21027. !*** ./node_modules/primevue/resources/themes/mdc-light-indigo/fonts/roboto-v20-latin-ext_latin-regular.woff2 ***!
  21028. \****************************************************************************************************************/
  21029. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  21030. "use strict";
  21031. __webpack_require__.r(__webpack_exports__);
  21032. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  21033. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  21034. /* harmony export */ });
  21035. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("/fonts/vendor/primevue/resources/themes/mdc-light-indigo/roboto-v20-latin-ext_latin-regular.woff2?5cb5c8f08bb4e6cb64c3b5b6115bf498");
  21036. /***/ }),
  21037. /***/ "./node_modules/function-bind/implementation.js":
  21038. /*!******************************************************!*\
  21039. !*** ./node_modules/function-bind/implementation.js ***!
  21040. \******************************************************/
  21041. /***/ ((module) => {
  21042. "use strict";
  21043. /* eslint no-invalid-this: 1 */
  21044. var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';
  21045. var slice = Array.prototype.slice;
  21046. var toStr = Object.prototype.toString;
  21047. var funcType = '[object Function]';
  21048. module.exports = function bind(that) {
  21049. var target = this;
  21050. if (typeof target !== 'function' || toStr.call(target) !== funcType) {
  21051. throw new TypeError(ERROR_MESSAGE + target);
  21052. }
  21053. var args = slice.call(arguments, 1);
  21054. var bound;
  21055. var binder = function () {
  21056. if (this instanceof bound) {
  21057. var result = target.apply(
  21058. this,
  21059. args.concat(slice.call(arguments))
  21060. );
  21061. if (Object(result) === result) {
  21062. return result;
  21063. }
  21064. return this;
  21065. } else {
  21066. return target.apply(
  21067. that,
  21068. args.concat(slice.call(arguments))
  21069. );
  21070. }
  21071. };
  21072. var boundLength = Math.max(0, target.length - args.length);
  21073. var boundArgs = [];
  21074. for (var i = 0; i < boundLength; i++) {
  21075. boundArgs.push('$' + i);
  21076. }
  21077. bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);
  21078. if (target.prototype) {
  21079. var Empty = function Empty() {};
  21080. Empty.prototype = target.prototype;
  21081. bound.prototype = new Empty();
  21082. Empty.prototype = null;
  21083. }
  21084. return bound;
  21085. };
  21086. /***/ }),
  21087. /***/ "./node_modules/function-bind/index.js":
  21088. /*!*********************************************!*\
  21089. !*** ./node_modules/function-bind/index.js ***!
  21090. \*********************************************/
  21091. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  21092. "use strict";
  21093. var implementation = __webpack_require__(/*! ./implementation */ "./node_modules/function-bind/implementation.js");
  21094. module.exports = Function.prototype.bind || implementation;
  21095. /***/ }),
  21096. /***/ "./node_modules/get-intrinsic/index.js":
  21097. /*!*********************************************!*\
  21098. !*** ./node_modules/get-intrinsic/index.js ***!
  21099. \*********************************************/
  21100. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  21101. "use strict";
  21102. var undefined;
  21103. var $SyntaxError = SyntaxError;
  21104. var $Function = Function;
  21105. var $TypeError = TypeError;
  21106. // eslint-disable-next-line consistent-return
  21107. var getEvalledConstructor = function (expressionSyntax) {
  21108. try {
  21109. return $Function('"use strict"; return (' + expressionSyntax + ').constructor;')();
  21110. } catch (e) {}
  21111. };
  21112. var $gOPD = Object.getOwnPropertyDescriptor;
  21113. if ($gOPD) {
  21114. try {
  21115. $gOPD({}, '');
  21116. } catch (e) {
  21117. $gOPD = null; // this is IE 8, which has a broken gOPD
  21118. }
  21119. }
  21120. var throwTypeError = function () {
  21121. throw new $TypeError();
  21122. };
  21123. var ThrowTypeError = $gOPD
  21124. ? (function () {
  21125. try {
  21126. // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties
  21127. arguments.callee; // IE 8 does not throw here
  21128. return throwTypeError;
  21129. } catch (calleeThrows) {
  21130. try {
  21131. // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')
  21132. return $gOPD(arguments, 'callee').get;
  21133. } catch (gOPDthrows) {
  21134. return throwTypeError;
  21135. }
  21136. }
  21137. }())
  21138. : throwTypeError;
  21139. var hasSymbols = __webpack_require__(/*! has-symbols */ "./node_modules/has-symbols/index.js")();
  21140. var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto
  21141. var needsEval = {};
  21142. var TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);
  21143. var INTRINSICS = {
  21144. '%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,
  21145. '%Array%': Array,
  21146. '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,
  21147. '%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,
  21148. '%AsyncFromSyncIteratorPrototype%': undefined,
  21149. '%AsyncFunction%': needsEval,
  21150. '%AsyncGenerator%': needsEval,
  21151. '%AsyncGeneratorFunction%': needsEval,
  21152. '%AsyncIteratorPrototype%': needsEval,
  21153. '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,
  21154. '%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,
  21155. '%Boolean%': Boolean,
  21156. '%DataView%': typeof DataView === 'undefined' ? undefined : DataView,
  21157. '%Date%': Date,
  21158. '%decodeURI%': decodeURI,
  21159. '%decodeURIComponent%': decodeURIComponent,
  21160. '%encodeURI%': encodeURI,
  21161. '%encodeURIComponent%': encodeURIComponent,
  21162. '%Error%': Error,
  21163. '%eval%': eval, // eslint-disable-line no-eval
  21164. '%EvalError%': EvalError,
  21165. '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,
  21166. '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,
  21167. '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,
  21168. '%Function%': $Function,
  21169. '%GeneratorFunction%': needsEval,
  21170. '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,
  21171. '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,
  21172. '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,
  21173. '%isFinite%': isFinite,
  21174. '%isNaN%': isNaN,
  21175. '%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,
  21176. '%JSON%': typeof JSON === 'object' ? JSON : undefined,
  21177. '%Map%': typeof Map === 'undefined' ? undefined : Map,
  21178. '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),
  21179. '%Math%': Math,
  21180. '%Number%': Number,
  21181. '%Object%': Object,
  21182. '%parseFloat%': parseFloat,
  21183. '%parseInt%': parseInt,
  21184. '%Promise%': typeof Promise === 'undefined' ? undefined : Promise,
  21185. '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,
  21186. '%RangeError%': RangeError,
  21187. '%ReferenceError%': ReferenceError,
  21188. '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,
  21189. '%RegExp%': RegExp,
  21190. '%Set%': typeof Set === 'undefined' ? undefined : Set,
  21191. '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),
  21192. '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,
  21193. '%String%': String,
  21194. '%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,
  21195. '%Symbol%': hasSymbols ? Symbol : undefined,
  21196. '%SyntaxError%': $SyntaxError,
  21197. '%ThrowTypeError%': ThrowTypeError,
  21198. '%TypedArray%': TypedArray,
  21199. '%TypeError%': $TypeError,
  21200. '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,
  21201. '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,
  21202. '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,
  21203. '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,
  21204. '%URIError%': URIError,
  21205. '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,
  21206. '%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,
  21207. '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet
  21208. };
  21209. var doEval = function doEval(name) {
  21210. var value;
  21211. if (name === '%AsyncFunction%') {
  21212. value = getEvalledConstructor('async function () {}');
  21213. } else if (name === '%GeneratorFunction%') {
  21214. value = getEvalledConstructor('function* () {}');
  21215. } else if (name === '%AsyncGeneratorFunction%') {
  21216. value = getEvalledConstructor('async function* () {}');
  21217. } else if (name === '%AsyncGenerator%') {
  21218. var fn = doEval('%AsyncGeneratorFunction%');
  21219. if (fn) {
  21220. value = fn.prototype;
  21221. }
  21222. } else if (name === '%AsyncIteratorPrototype%') {
  21223. var gen = doEval('%AsyncGenerator%');
  21224. if (gen) {
  21225. value = getProto(gen.prototype);
  21226. }
  21227. }
  21228. INTRINSICS[name] = value;
  21229. return value;
  21230. };
  21231. var LEGACY_ALIASES = {
  21232. '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],
  21233. '%ArrayPrototype%': ['Array', 'prototype'],
  21234. '%ArrayProto_entries%': ['Array', 'prototype', 'entries'],
  21235. '%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],
  21236. '%ArrayProto_keys%': ['Array', 'prototype', 'keys'],
  21237. '%ArrayProto_values%': ['Array', 'prototype', 'values'],
  21238. '%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],
  21239. '%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],
  21240. '%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],
  21241. '%BooleanPrototype%': ['Boolean', 'prototype'],
  21242. '%DataViewPrototype%': ['DataView', 'prototype'],
  21243. '%DatePrototype%': ['Date', 'prototype'],
  21244. '%ErrorPrototype%': ['Error', 'prototype'],
  21245. '%EvalErrorPrototype%': ['EvalError', 'prototype'],
  21246. '%Float32ArrayPrototype%': ['Float32Array', 'prototype'],
  21247. '%Float64ArrayPrototype%': ['Float64Array', 'prototype'],
  21248. '%FunctionPrototype%': ['Function', 'prototype'],
  21249. '%Generator%': ['GeneratorFunction', 'prototype'],
  21250. '%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],
  21251. '%Int8ArrayPrototype%': ['Int8Array', 'prototype'],
  21252. '%Int16ArrayPrototype%': ['Int16Array', 'prototype'],
  21253. '%Int32ArrayPrototype%': ['Int32Array', 'prototype'],
  21254. '%JSONParse%': ['JSON', 'parse'],
  21255. '%JSONStringify%': ['JSON', 'stringify'],
  21256. '%MapPrototype%': ['Map', 'prototype'],
  21257. '%NumberPrototype%': ['Number', 'prototype'],
  21258. '%ObjectPrototype%': ['Object', 'prototype'],
  21259. '%ObjProto_toString%': ['Object', 'prototype', 'toString'],
  21260. '%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],
  21261. '%PromisePrototype%': ['Promise', 'prototype'],
  21262. '%PromiseProto_then%': ['Promise', 'prototype', 'then'],
  21263. '%Promise_all%': ['Promise', 'all'],
  21264. '%Promise_reject%': ['Promise', 'reject'],
  21265. '%Promise_resolve%': ['Promise', 'resolve'],
  21266. '%RangeErrorPrototype%': ['RangeError', 'prototype'],
  21267. '%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],
  21268. '%RegExpPrototype%': ['RegExp', 'prototype'],
  21269. '%SetPrototype%': ['Set', 'prototype'],
  21270. '%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],
  21271. '%StringPrototype%': ['String', 'prototype'],
  21272. '%SymbolPrototype%': ['Symbol', 'prototype'],
  21273. '%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],
  21274. '%TypedArrayPrototype%': ['TypedArray', 'prototype'],
  21275. '%TypeErrorPrototype%': ['TypeError', 'prototype'],
  21276. '%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],
  21277. '%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],
  21278. '%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],
  21279. '%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],
  21280. '%URIErrorPrototype%': ['URIError', 'prototype'],
  21281. '%WeakMapPrototype%': ['WeakMap', 'prototype'],
  21282. '%WeakSetPrototype%': ['WeakSet', 'prototype']
  21283. };
  21284. var bind = __webpack_require__(/*! function-bind */ "./node_modules/function-bind/index.js");
  21285. var hasOwn = __webpack_require__(/*! has */ "./node_modules/has/src/index.js");
  21286. var $concat = bind.call(Function.call, Array.prototype.concat);
  21287. var $spliceApply = bind.call(Function.apply, Array.prototype.splice);
  21288. var $replace = bind.call(Function.call, String.prototype.replace);
  21289. var $strSlice = bind.call(Function.call, String.prototype.slice);
  21290. /* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */
  21291. var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;
  21292. var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */
  21293. var stringToPath = function stringToPath(string) {
  21294. var first = $strSlice(string, 0, 1);
  21295. var last = $strSlice(string, -1);
  21296. if (first === '%' && last !== '%') {
  21297. throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`');
  21298. } else if (last === '%' && first !== '%') {
  21299. throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`');
  21300. }
  21301. var result = [];
  21302. $replace(string, rePropName, function (match, number, quote, subString) {
  21303. result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;
  21304. });
  21305. return result;
  21306. };
  21307. /* end adaptation */
  21308. var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {
  21309. var intrinsicName = name;
  21310. var alias;
  21311. if (hasOwn(LEGACY_ALIASES, intrinsicName)) {
  21312. alias = LEGACY_ALIASES[intrinsicName];
  21313. intrinsicName = '%' + alias[0] + '%';
  21314. }
  21315. if (hasOwn(INTRINSICS, intrinsicName)) {
  21316. var value = INTRINSICS[intrinsicName];
  21317. if (value === needsEval) {
  21318. value = doEval(intrinsicName);
  21319. }
  21320. if (typeof value === 'undefined' && !allowMissing) {
  21321. throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');
  21322. }
  21323. return {
  21324. alias: alias,
  21325. name: intrinsicName,
  21326. value: value
  21327. };
  21328. }
  21329. throw new $SyntaxError('intrinsic ' + name + ' does not exist!');
  21330. };
  21331. module.exports = function GetIntrinsic(name, allowMissing) {
  21332. if (typeof name !== 'string' || name.length === 0) {
  21333. throw new $TypeError('intrinsic name must be a non-empty string');
  21334. }
  21335. if (arguments.length > 1 && typeof allowMissing !== 'boolean') {
  21336. throw new $TypeError('"allowMissing" argument must be a boolean');
  21337. }
  21338. var parts = stringToPath(name);
  21339. var intrinsicBaseName = parts.length > 0 ? parts[0] : '';
  21340. var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);
  21341. var intrinsicRealName = intrinsic.name;
  21342. var value = intrinsic.value;
  21343. var skipFurtherCaching = false;
  21344. var alias = intrinsic.alias;
  21345. if (alias) {
  21346. intrinsicBaseName = alias[0];
  21347. $spliceApply(parts, $concat([0, 1], alias));
  21348. }
  21349. for (var i = 1, isOwn = true; i < parts.length; i += 1) {
  21350. var part = parts[i];
  21351. var first = $strSlice(part, 0, 1);
  21352. var last = $strSlice(part, -1);
  21353. if (
  21354. (
  21355. (first === '"' || first === "'" || first === '`')
  21356. || (last === '"' || last === "'" || last === '`')
  21357. )
  21358. && first !== last
  21359. ) {
  21360. throw new $SyntaxError('property names with quotes must have matching quotes');
  21361. }
  21362. if (part === 'constructor' || !isOwn) {
  21363. skipFurtherCaching = true;
  21364. }
  21365. intrinsicBaseName += '.' + part;
  21366. intrinsicRealName = '%' + intrinsicBaseName + '%';
  21367. if (hasOwn(INTRINSICS, intrinsicRealName)) {
  21368. value = INTRINSICS[intrinsicRealName];
  21369. } else if (value != null) {
  21370. if (!(part in value)) {
  21371. if (!allowMissing) {
  21372. throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');
  21373. }
  21374. return void undefined;
  21375. }
  21376. if ($gOPD && (i + 1) >= parts.length) {
  21377. var desc = $gOPD(value, part);
  21378. isOwn = !!desc;
  21379. // By convention, when a data property is converted to an accessor
  21380. // property to emulate a data property that does not suffer from
  21381. // the override mistake, that accessor's getter is marked with
  21382. // an `originalValue` property. Here, when we detect this, we
  21383. // uphold the illusion by pretending to see that original data
  21384. // property, i.e., returning the value rather than the getter
  21385. // itself.
  21386. if (isOwn && 'get' in desc && !('originalValue' in desc.get)) {
  21387. value = desc.get;
  21388. } else {
  21389. value = value[part];
  21390. }
  21391. } else {
  21392. isOwn = hasOwn(value, part);
  21393. value = value[part];
  21394. }
  21395. if (isOwn && !skipFurtherCaching) {
  21396. INTRINSICS[intrinsicRealName] = value;
  21397. }
  21398. }
  21399. }
  21400. return value;
  21401. };
  21402. /***/ }),
  21403. /***/ "./node_modules/has-symbols/index.js":
  21404. /*!*******************************************!*\
  21405. !*** ./node_modules/has-symbols/index.js ***!
  21406. \*******************************************/
  21407. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  21408. "use strict";
  21409. var origSymbol = typeof Symbol !== 'undefined' && Symbol;
  21410. var hasSymbolSham = __webpack_require__(/*! ./shams */ "./node_modules/has-symbols/shams.js");
  21411. module.exports = function hasNativeSymbols() {
  21412. if (typeof origSymbol !== 'function') { return false; }
  21413. if (typeof Symbol !== 'function') { return false; }
  21414. if (typeof origSymbol('foo') !== 'symbol') { return false; }
  21415. if (typeof Symbol('bar') !== 'symbol') { return false; }
  21416. return hasSymbolSham();
  21417. };
  21418. /***/ }),
  21419. /***/ "./node_modules/has-symbols/shams.js":
  21420. /*!*******************************************!*\
  21421. !*** ./node_modules/has-symbols/shams.js ***!
  21422. \*******************************************/
  21423. /***/ ((module) => {
  21424. "use strict";
  21425. /* eslint complexity: [2, 18], max-statements: [2, 33] */
  21426. module.exports = function hasSymbols() {
  21427. if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }
  21428. if (typeof Symbol.iterator === 'symbol') { return true; }
  21429. var obj = {};
  21430. var sym = Symbol('test');
  21431. var symObj = Object(sym);
  21432. if (typeof sym === 'string') { return false; }
  21433. if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }
  21434. if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }
  21435. // temp disabled per https://github.com/ljharb/object.assign/issues/17
  21436. // if (sym instanceof Symbol) { return false; }
  21437. // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4
  21438. // if (!(symObj instanceof Symbol)) { return false; }
  21439. // if (typeof Symbol.prototype.toString !== 'function') { return false; }
  21440. // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }
  21441. var symVal = 42;
  21442. obj[sym] = symVal;
  21443. for (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop
  21444. if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }
  21445. if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }
  21446. var syms = Object.getOwnPropertySymbols(obj);
  21447. if (syms.length !== 1 || syms[0] !== sym) { return false; }
  21448. if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }
  21449. if (typeof Object.getOwnPropertyDescriptor === 'function') {
  21450. var descriptor = Object.getOwnPropertyDescriptor(obj, sym);
  21451. if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }
  21452. }
  21453. return true;
  21454. };
  21455. /***/ }),
  21456. /***/ "./node_modules/has/src/index.js":
  21457. /*!***************************************!*\
  21458. !*** ./node_modules/has/src/index.js ***!
  21459. \***************************************/
  21460. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  21461. "use strict";
  21462. var bind = __webpack_require__(/*! function-bind */ "./node_modules/function-bind/index.js");
  21463. module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);
  21464. /***/ }),
  21465. /***/ "./node_modules/ieee754/index.js":
  21466. /*!***************************************!*\
  21467. !*** ./node_modules/ieee754/index.js ***!
  21468. \***************************************/
  21469. /***/ ((__unused_webpack_module, exports) => {
  21470. /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
  21471. exports.read = function (buffer, offset, isLE, mLen, nBytes) {
  21472. var e, m
  21473. var eLen = (nBytes * 8) - mLen - 1
  21474. var eMax = (1 << eLen) - 1
  21475. var eBias = eMax >> 1
  21476. var nBits = -7
  21477. var i = isLE ? (nBytes - 1) : 0
  21478. var d = isLE ? -1 : 1
  21479. var s = buffer[offset + i]
  21480. i += d
  21481. e = s & ((1 << (-nBits)) - 1)
  21482. s >>= (-nBits)
  21483. nBits += eLen
  21484. for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}
  21485. m = e & ((1 << (-nBits)) - 1)
  21486. e >>= (-nBits)
  21487. nBits += mLen
  21488. for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}
  21489. if (e === 0) {
  21490. e = 1 - eBias
  21491. } else if (e === eMax) {
  21492. return m ? NaN : ((s ? -1 : 1) * Infinity)
  21493. } else {
  21494. m = m + Math.pow(2, mLen)
  21495. e = e - eBias
  21496. }
  21497. return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
  21498. }
  21499. exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
  21500. var e, m, c
  21501. var eLen = (nBytes * 8) - mLen - 1
  21502. var eMax = (1 << eLen) - 1
  21503. var eBias = eMax >> 1
  21504. var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
  21505. var i = isLE ? 0 : (nBytes - 1)
  21506. var d = isLE ? 1 : -1
  21507. var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0
  21508. value = Math.abs(value)
  21509. if (isNaN(value) || value === Infinity) {
  21510. m = isNaN(value) ? 1 : 0
  21511. e = eMax
  21512. } else {
  21513. e = Math.floor(Math.log(value) / Math.LN2)
  21514. if (value * (c = Math.pow(2, -e)) < 1) {
  21515. e--
  21516. c *= 2
  21517. }
  21518. if (e + eBias >= 1) {
  21519. value += rt / c
  21520. } else {
  21521. value += rt * Math.pow(2, 1 - eBias)
  21522. }
  21523. if (value * c >= 2) {
  21524. e++
  21525. c /= 2
  21526. }
  21527. if (e + eBias >= eMax) {
  21528. m = 0
  21529. e = eMax
  21530. } else if (e + eBias >= 1) {
  21531. m = ((value * c) - 1) * Math.pow(2, mLen)
  21532. e = e + eBias
  21533. } else {
  21534. m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
  21535. e = 0
  21536. }
  21537. }
  21538. for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
  21539. e = (e << mLen) | m
  21540. eLen += mLen
  21541. for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
  21542. buffer[offset + i - d] |= s * 128
  21543. }
  21544. /***/ }),
  21545. /***/ "./node_modules/isarray/index.js":
  21546. /*!***************************************!*\
  21547. !*** ./node_modules/isarray/index.js ***!
  21548. \***************************************/
  21549. /***/ ((module) => {
  21550. var toString = {}.toString;
  21551. module.exports = Array.isArray || function (arr) {
  21552. return toString.call(arr) == '[object Array]';
  21553. };
  21554. /***/ }),
  21555. /***/ "./node_modules/lodash.clonedeep/index.js":
  21556. /*!************************************************!*\
  21557. !*** ./node_modules/lodash.clonedeep/index.js ***!
  21558. \************************************************/
  21559. /***/ ((module, exports, __webpack_require__) => {
  21560. /* module decorator */ module = __webpack_require__.nmd(module);
  21561. /**
  21562. * lodash (Custom Build) <https://lodash.com/>
  21563. * Build: `lodash modularize exports="npm" -o ./`
  21564. * Copyright jQuery Foundation and other contributors <https://jquery.org/>
  21565. * Released under MIT license <https://lodash.com/license>
  21566. * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
  21567. * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
  21568. */
  21569. /** Used as the size to enable large array optimizations. */
  21570. var LARGE_ARRAY_SIZE = 200;
  21571. /** Used to stand-in for `undefined` hash values. */
  21572. var HASH_UNDEFINED = '__lodash_hash_undefined__';
  21573. /** Used as references for various `Number` constants. */
  21574. var MAX_SAFE_INTEGER = 9007199254740991;
  21575. /** `Object#toString` result references. */
  21576. var argsTag = '[object Arguments]',
  21577. arrayTag = '[object Array]',
  21578. boolTag = '[object Boolean]',
  21579. dateTag = '[object Date]',
  21580. errorTag = '[object Error]',
  21581. funcTag = '[object Function]',
  21582. genTag = '[object GeneratorFunction]',
  21583. mapTag = '[object Map]',
  21584. numberTag = '[object Number]',
  21585. objectTag = '[object Object]',
  21586. promiseTag = '[object Promise]',
  21587. regexpTag = '[object RegExp]',
  21588. setTag = '[object Set]',
  21589. stringTag = '[object String]',
  21590. symbolTag = '[object Symbol]',
  21591. weakMapTag = '[object WeakMap]';
  21592. var arrayBufferTag = '[object ArrayBuffer]',
  21593. dataViewTag = '[object DataView]',
  21594. float32Tag = '[object Float32Array]',
  21595. float64Tag = '[object Float64Array]',
  21596. int8Tag = '[object Int8Array]',
  21597. int16Tag = '[object Int16Array]',
  21598. int32Tag = '[object Int32Array]',
  21599. uint8Tag = '[object Uint8Array]',
  21600. uint8ClampedTag = '[object Uint8ClampedArray]',
  21601. uint16Tag = '[object Uint16Array]',
  21602. uint32Tag = '[object Uint32Array]';
  21603. /**
  21604. * Used to match `RegExp`
  21605. * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
  21606. */
  21607. var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
  21608. /** Used to match `RegExp` flags from their coerced string values. */
  21609. var reFlags = /\w*$/;
  21610. /** Used to detect host constructors (Safari). */
  21611. var reIsHostCtor = /^\[object .+?Constructor\]$/;
  21612. /** Used to detect unsigned integer values. */
  21613. var reIsUint = /^(?:0|[1-9]\d*)$/;
  21614. /** Used to identify `toStringTag` values supported by `_.clone`. */
  21615. var cloneableTags = {};
  21616. cloneableTags[argsTag] = cloneableTags[arrayTag] =
  21617. cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =
  21618. cloneableTags[boolTag] = cloneableTags[dateTag] =
  21619. cloneableTags[float32Tag] = cloneableTags[float64Tag] =
  21620. cloneableTags[int8Tag] = cloneableTags[int16Tag] =
  21621. cloneableTags[int32Tag] = cloneableTags[mapTag] =
  21622. cloneableTags[numberTag] = cloneableTags[objectTag] =
  21623. cloneableTags[regexpTag] = cloneableTags[setTag] =
  21624. cloneableTags[stringTag] = cloneableTags[symbolTag] =
  21625. cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =
  21626. cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
  21627. cloneableTags[errorTag] = cloneableTags[funcTag] =
  21628. cloneableTags[weakMapTag] = false;
  21629. /** Detect free variable `global` from Node.js. */
  21630. var freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g;
  21631. /** Detect free variable `self`. */
  21632. var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
  21633. /** Used as a reference to the global object. */
  21634. var root = freeGlobal || freeSelf || Function('return this')();
  21635. /** Detect free variable `exports`. */
  21636. var freeExports = true && exports && !exports.nodeType && exports;
  21637. /** Detect free variable `module`. */
  21638. var freeModule = freeExports && "object" == 'object' && module && !module.nodeType && module;
  21639. /** Detect the popular CommonJS extension `module.exports`. */
  21640. var moduleExports = freeModule && freeModule.exports === freeExports;
  21641. /**
  21642. * Adds the key-value `pair` to `map`.
  21643. *
  21644. * @private
  21645. * @param {Object} map The map to modify.
  21646. * @param {Array} pair The key-value pair to add.
  21647. * @returns {Object} Returns `map`.
  21648. */
  21649. function addMapEntry(map, pair) {
  21650. // Don't return `map.set` because it's not chainable in IE 11.
  21651. map.set(pair[0], pair[1]);
  21652. return map;
  21653. }
  21654. /**
  21655. * Adds `value` to `set`.
  21656. *
  21657. * @private
  21658. * @param {Object} set The set to modify.
  21659. * @param {*} value The value to add.
  21660. * @returns {Object} Returns `set`.
  21661. */
  21662. function addSetEntry(set, value) {
  21663. // Don't return `set.add` because it's not chainable in IE 11.
  21664. set.add(value);
  21665. return set;
  21666. }
  21667. /**
  21668. * A specialized version of `_.forEach` for arrays without support for
  21669. * iteratee shorthands.
  21670. *
  21671. * @private
  21672. * @param {Array} [array] The array to iterate over.
  21673. * @param {Function} iteratee The function invoked per iteration.
  21674. * @returns {Array} Returns `array`.
  21675. */
  21676. function arrayEach(array, iteratee) {
  21677. var index = -1,
  21678. length = array ? array.length : 0;
  21679. while (++index < length) {
  21680. if (iteratee(array[index], index, array) === false) {
  21681. break;
  21682. }
  21683. }
  21684. return array;
  21685. }
  21686. /**
  21687. * Appends the elements of `values` to `array`.
  21688. *
  21689. * @private
  21690. * @param {Array} array The array to modify.
  21691. * @param {Array} values The values to append.
  21692. * @returns {Array} Returns `array`.
  21693. */
  21694. function arrayPush(array, values) {
  21695. var index = -1,
  21696. length = values.length,
  21697. offset = array.length;
  21698. while (++index < length) {
  21699. array[offset + index] = values[index];
  21700. }
  21701. return array;
  21702. }
  21703. /**
  21704. * A specialized version of `_.reduce` for arrays without support for
  21705. * iteratee shorthands.
  21706. *
  21707. * @private
  21708. * @param {Array} [array] The array to iterate over.
  21709. * @param {Function} iteratee The function invoked per iteration.
  21710. * @param {*} [accumulator] The initial value.
  21711. * @param {boolean} [initAccum] Specify using the first element of `array` as
  21712. * the initial value.
  21713. * @returns {*} Returns the accumulated value.
  21714. */
  21715. function arrayReduce(array, iteratee, accumulator, initAccum) {
  21716. var index = -1,
  21717. length = array ? array.length : 0;
  21718. if (initAccum && length) {
  21719. accumulator = array[++index];
  21720. }
  21721. while (++index < length) {
  21722. accumulator = iteratee(accumulator, array[index], index, array);
  21723. }
  21724. return accumulator;
  21725. }
  21726. /**
  21727. * The base implementation of `_.times` without support for iteratee shorthands
  21728. * or max array length checks.
  21729. *
  21730. * @private
  21731. * @param {number} n The number of times to invoke `iteratee`.
  21732. * @param {Function} iteratee The function invoked per iteration.
  21733. * @returns {Array} Returns the array of results.
  21734. */
  21735. function baseTimes(n, iteratee) {
  21736. var index = -1,
  21737. result = Array(n);
  21738. while (++index < n) {
  21739. result[index] = iteratee(index);
  21740. }
  21741. return result;
  21742. }
  21743. /**
  21744. * Gets the value at `key` of `object`.
  21745. *
  21746. * @private
  21747. * @param {Object} [object] The object to query.
  21748. * @param {string} key The key of the property to get.
  21749. * @returns {*} Returns the property value.
  21750. */
  21751. function getValue(object, key) {
  21752. return object == null ? undefined : object[key];
  21753. }
  21754. /**
  21755. * Checks if `value` is a host object in IE < 9.
  21756. *
  21757. * @private
  21758. * @param {*} value The value to check.
  21759. * @returns {boolean} Returns `true` if `value` is a host object, else `false`.
  21760. */
  21761. function isHostObject(value) {
  21762. // Many host objects are `Object` objects that can coerce to strings
  21763. // despite having improperly defined `toString` methods.
  21764. var result = false;
  21765. if (value != null && typeof value.toString != 'function') {
  21766. try {
  21767. result = !!(value + '');
  21768. } catch (e) {}
  21769. }
  21770. return result;
  21771. }
  21772. /**
  21773. * Converts `map` to its key-value pairs.
  21774. *
  21775. * @private
  21776. * @param {Object} map The map to convert.
  21777. * @returns {Array} Returns the key-value pairs.
  21778. */
  21779. function mapToArray(map) {
  21780. var index = -1,
  21781. result = Array(map.size);
  21782. map.forEach(function(value, key) {
  21783. result[++index] = [key, value];
  21784. });
  21785. return result;
  21786. }
  21787. /**
  21788. * Creates a unary function that invokes `func` with its argument transformed.
  21789. *
  21790. * @private
  21791. * @param {Function} func The function to wrap.
  21792. * @param {Function} transform The argument transform.
  21793. * @returns {Function} Returns the new function.
  21794. */
  21795. function overArg(func, transform) {
  21796. return function(arg) {
  21797. return func(transform(arg));
  21798. };
  21799. }
  21800. /**
  21801. * Converts `set` to an array of its values.
  21802. *
  21803. * @private
  21804. * @param {Object} set The set to convert.
  21805. * @returns {Array} Returns the values.
  21806. */
  21807. function setToArray(set) {
  21808. var index = -1,
  21809. result = Array(set.size);
  21810. set.forEach(function(value) {
  21811. result[++index] = value;
  21812. });
  21813. return result;
  21814. }
  21815. /** Used for built-in method references. */
  21816. var arrayProto = Array.prototype,
  21817. funcProto = Function.prototype,
  21818. objectProto = Object.prototype;
  21819. /** Used to detect overreaching core-js shims. */
  21820. var coreJsData = root['__core-js_shared__'];
  21821. /** Used to detect methods masquerading as native. */
  21822. var maskSrcKey = (function() {
  21823. var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
  21824. return uid ? ('Symbol(src)_1.' + uid) : '';
  21825. }());
  21826. /** Used to resolve the decompiled source of functions. */
  21827. var funcToString = funcProto.toString;
  21828. /** Used to check objects for own properties. */
  21829. var hasOwnProperty = objectProto.hasOwnProperty;
  21830. /**
  21831. * Used to resolve the
  21832. * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
  21833. * of values.
  21834. */
  21835. var objectToString = objectProto.toString;
  21836. /** Used to detect if a method is native. */
  21837. var reIsNative = RegExp('^' +
  21838. funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&')
  21839. .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
  21840. );
  21841. /** Built-in value references. */
  21842. var Buffer = moduleExports ? root.Buffer : undefined,
  21843. Symbol = root.Symbol,
  21844. Uint8Array = root.Uint8Array,
  21845. getPrototype = overArg(Object.getPrototypeOf, Object),
  21846. objectCreate = Object.create,
  21847. propertyIsEnumerable = objectProto.propertyIsEnumerable,
  21848. splice = arrayProto.splice;
  21849. /* Built-in method references for those with the same name as other `lodash` methods. */
  21850. var nativeGetSymbols = Object.getOwnPropertySymbols,
  21851. nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,
  21852. nativeKeys = overArg(Object.keys, Object);
  21853. /* Built-in method references that are verified to be native. */
  21854. var DataView = getNative(root, 'DataView'),
  21855. Map = getNative(root, 'Map'),
  21856. Promise = getNative(root, 'Promise'),
  21857. Set = getNative(root, 'Set'),
  21858. WeakMap = getNative(root, 'WeakMap'),
  21859. nativeCreate = getNative(Object, 'create');
  21860. /** Used to detect maps, sets, and weakmaps. */
  21861. var dataViewCtorString = toSource(DataView),
  21862. mapCtorString = toSource(Map),
  21863. promiseCtorString = toSource(Promise),
  21864. setCtorString = toSource(Set),
  21865. weakMapCtorString = toSource(WeakMap);
  21866. /** Used to convert symbols to primitives and strings. */
  21867. var symbolProto = Symbol ? Symbol.prototype : undefined,
  21868. symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;
  21869. /**
  21870. * Creates a hash object.
  21871. *
  21872. * @private
  21873. * @constructor
  21874. * @param {Array} [entries] The key-value pairs to cache.
  21875. */
  21876. function Hash(entries) {
  21877. var index = -1,
  21878. length = entries ? entries.length : 0;
  21879. this.clear();
  21880. while (++index < length) {
  21881. var entry = entries[index];
  21882. this.set(entry[0], entry[1]);
  21883. }
  21884. }
  21885. /**
  21886. * Removes all key-value entries from the hash.
  21887. *
  21888. * @private
  21889. * @name clear
  21890. * @memberOf Hash
  21891. */
  21892. function hashClear() {
  21893. this.__data__ = nativeCreate ? nativeCreate(null) : {};
  21894. }
  21895. /**
  21896. * Removes `key` and its value from the hash.
  21897. *
  21898. * @private
  21899. * @name delete
  21900. * @memberOf Hash
  21901. * @param {Object} hash The hash to modify.
  21902. * @param {string} key The key of the value to remove.
  21903. * @returns {boolean} Returns `true` if the entry was removed, else `false`.
  21904. */
  21905. function hashDelete(key) {
  21906. return this.has(key) && delete this.__data__[key];
  21907. }
  21908. /**
  21909. * Gets the hash value for `key`.
  21910. *
  21911. * @private
  21912. * @name get
  21913. * @memberOf Hash
  21914. * @param {string} key The key of the value to get.
  21915. * @returns {*} Returns the entry value.
  21916. */
  21917. function hashGet(key) {
  21918. var data = this.__data__;
  21919. if (nativeCreate) {
  21920. var result = data[key];
  21921. return result === HASH_UNDEFINED ? undefined : result;
  21922. }
  21923. return hasOwnProperty.call(data, key) ? data[key] : undefined;
  21924. }
  21925. /**
  21926. * Checks if a hash value for `key` exists.
  21927. *
  21928. * @private
  21929. * @name has
  21930. * @memberOf Hash
  21931. * @param {string} key The key of the entry to check.
  21932. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
  21933. */
  21934. function hashHas(key) {
  21935. var data = this.__data__;
  21936. return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);
  21937. }
  21938. /**
  21939. * Sets the hash `key` to `value`.
  21940. *
  21941. * @private
  21942. * @name set
  21943. * @memberOf Hash
  21944. * @param {string} key The key of the value to set.
  21945. * @param {*} value The value to set.
  21946. * @returns {Object} Returns the hash instance.
  21947. */
  21948. function hashSet(key, value) {
  21949. var data = this.__data__;
  21950. data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
  21951. return this;
  21952. }
  21953. // Add methods to `Hash`.
  21954. Hash.prototype.clear = hashClear;
  21955. Hash.prototype['delete'] = hashDelete;
  21956. Hash.prototype.get = hashGet;
  21957. Hash.prototype.has = hashHas;
  21958. Hash.prototype.set = hashSet;
  21959. /**
  21960. * Creates an list cache object.
  21961. *
  21962. * @private
  21963. * @constructor
  21964. * @param {Array} [entries] The key-value pairs to cache.
  21965. */
  21966. function ListCache(entries) {
  21967. var index = -1,
  21968. length = entries ? entries.length : 0;
  21969. this.clear();
  21970. while (++index < length) {
  21971. var entry = entries[index];
  21972. this.set(entry[0], entry[1]);
  21973. }
  21974. }
  21975. /**
  21976. * Removes all key-value entries from the list cache.
  21977. *
  21978. * @private
  21979. * @name clear
  21980. * @memberOf ListCache
  21981. */
  21982. function listCacheClear() {
  21983. this.__data__ = [];
  21984. }
  21985. /**
  21986. * Removes `key` and its value from the list cache.
  21987. *
  21988. * @private
  21989. * @name delete
  21990. * @memberOf ListCache
  21991. * @param {string} key The key of the value to remove.
  21992. * @returns {boolean} Returns `true` if the entry was removed, else `false`.
  21993. */
  21994. function listCacheDelete(key) {
  21995. var data = this.__data__,
  21996. index = assocIndexOf(data, key);
  21997. if (index < 0) {
  21998. return false;
  21999. }
  22000. var lastIndex = data.length - 1;
  22001. if (index == lastIndex) {
  22002. data.pop();
  22003. } else {
  22004. splice.call(data, index, 1);
  22005. }
  22006. return true;
  22007. }
  22008. /**
  22009. * Gets the list cache value for `key`.
  22010. *
  22011. * @private
  22012. * @name get
  22013. * @memberOf ListCache
  22014. * @param {string} key The key of the value to get.
  22015. * @returns {*} Returns the entry value.
  22016. */
  22017. function listCacheGet(key) {
  22018. var data = this.__data__,
  22019. index = assocIndexOf(data, key);
  22020. return index < 0 ? undefined : data[index][1];
  22021. }
  22022. /**
  22023. * Checks if a list cache value for `key` exists.
  22024. *
  22025. * @private
  22026. * @name has
  22027. * @memberOf ListCache
  22028. * @param {string} key The key of the entry to check.
  22029. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
  22030. */
  22031. function listCacheHas(key) {
  22032. return assocIndexOf(this.__data__, key) > -1;
  22033. }
  22034. /**
  22035. * Sets the list cache `key` to `value`.
  22036. *
  22037. * @private
  22038. * @name set
  22039. * @memberOf ListCache
  22040. * @param {string} key The key of the value to set.
  22041. * @param {*} value The value to set.
  22042. * @returns {Object} Returns the list cache instance.
  22043. */
  22044. function listCacheSet(key, value) {
  22045. var data = this.__data__,
  22046. index = assocIndexOf(data, key);
  22047. if (index < 0) {
  22048. data.push([key, value]);
  22049. } else {
  22050. data[index][1] = value;
  22051. }
  22052. return this;
  22053. }
  22054. // Add methods to `ListCache`.
  22055. ListCache.prototype.clear = listCacheClear;
  22056. ListCache.prototype['delete'] = listCacheDelete;
  22057. ListCache.prototype.get = listCacheGet;
  22058. ListCache.prototype.has = listCacheHas;
  22059. ListCache.prototype.set = listCacheSet;
  22060. /**
  22061. * Creates a map cache object to store key-value pairs.
  22062. *
  22063. * @private
  22064. * @constructor
  22065. * @param {Array} [entries] The key-value pairs to cache.
  22066. */
  22067. function MapCache(entries) {
  22068. var index = -1,
  22069. length = entries ? entries.length : 0;
  22070. this.clear();
  22071. while (++index < length) {
  22072. var entry = entries[index];
  22073. this.set(entry[0], entry[1]);
  22074. }
  22075. }
  22076. /**
  22077. * Removes all key-value entries from the map.
  22078. *
  22079. * @private
  22080. * @name clear
  22081. * @memberOf MapCache
  22082. */
  22083. function mapCacheClear() {
  22084. this.__data__ = {
  22085. 'hash': new Hash,
  22086. 'map': new (Map || ListCache),
  22087. 'string': new Hash
  22088. };
  22089. }
  22090. /**
  22091. * Removes `key` and its value from the map.
  22092. *
  22093. * @private
  22094. * @name delete
  22095. * @memberOf MapCache
  22096. * @param {string} key The key of the value to remove.
  22097. * @returns {boolean} Returns `true` if the entry was removed, else `false`.
  22098. */
  22099. function mapCacheDelete(key) {
  22100. return getMapData(this, key)['delete'](key);
  22101. }
  22102. /**
  22103. * Gets the map value for `key`.
  22104. *
  22105. * @private
  22106. * @name get
  22107. * @memberOf MapCache
  22108. * @param {string} key The key of the value to get.
  22109. * @returns {*} Returns the entry value.
  22110. */
  22111. function mapCacheGet(key) {
  22112. return getMapData(this, key).get(key);
  22113. }
  22114. /**
  22115. * Checks if a map value for `key` exists.
  22116. *
  22117. * @private
  22118. * @name has
  22119. * @memberOf MapCache
  22120. * @param {string} key The key of the entry to check.
  22121. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
  22122. */
  22123. function mapCacheHas(key) {
  22124. return getMapData(this, key).has(key);
  22125. }
  22126. /**
  22127. * Sets the map `key` to `value`.
  22128. *
  22129. * @private
  22130. * @name set
  22131. * @memberOf MapCache
  22132. * @param {string} key The key of the value to set.
  22133. * @param {*} value The value to set.
  22134. * @returns {Object} Returns the map cache instance.
  22135. */
  22136. function mapCacheSet(key, value) {
  22137. getMapData(this, key).set(key, value);
  22138. return this;
  22139. }
  22140. // Add methods to `MapCache`.
  22141. MapCache.prototype.clear = mapCacheClear;
  22142. MapCache.prototype['delete'] = mapCacheDelete;
  22143. MapCache.prototype.get = mapCacheGet;
  22144. MapCache.prototype.has = mapCacheHas;
  22145. MapCache.prototype.set = mapCacheSet;
  22146. /**
  22147. * Creates a stack cache object to store key-value pairs.
  22148. *
  22149. * @private
  22150. * @constructor
  22151. * @param {Array} [entries] The key-value pairs to cache.
  22152. */
  22153. function Stack(entries) {
  22154. this.__data__ = new ListCache(entries);
  22155. }
  22156. /**
  22157. * Removes all key-value entries from the stack.
  22158. *
  22159. * @private
  22160. * @name clear
  22161. * @memberOf Stack
  22162. */
  22163. function stackClear() {
  22164. this.__data__ = new ListCache;
  22165. }
  22166. /**
  22167. * Removes `key` and its value from the stack.
  22168. *
  22169. * @private
  22170. * @name delete
  22171. * @memberOf Stack
  22172. * @param {string} key The key of the value to remove.
  22173. * @returns {boolean} Returns `true` if the entry was removed, else `false`.
  22174. */
  22175. function stackDelete(key) {
  22176. return this.__data__['delete'](key);
  22177. }
  22178. /**
  22179. * Gets the stack value for `key`.
  22180. *
  22181. * @private
  22182. * @name get
  22183. * @memberOf Stack
  22184. * @param {string} key The key of the value to get.
  22185. * @returns {*} Returns the entry value.
  22186. */
  22187. function stackGet(key) {
  22188. return this.__data__.get(key);
  22189. }
  22190. /**
  22191. * Checks if a stack value for `key` exists.
  22192. *
  22193. * @private
  22194. * @name has
  22195. * @memberOf Stack
  22196. * @param {string} key The key of the entry to check.
  22197. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
  22198. */
  22199. function stackHas(key) {
  22200. return this.__data__.has(key);
  22201. }
  22202. /**
  22203. * Sets the stack `key` to `value`.
  22204. *
  22205. * @private
  22206. * @name set
  22207. * @memberOf Stack
  22208. * @param {string} key The key of the value to set.
  22209. * @param {*} value The value to set.
  22210. * @returns {Object} Returns the stack cache instance.
  22211. */
  22212. function stackSet(key, value) {
  22213. var cache = this.__data__;
  22214. if (cache instanceof ListCache) {
  22215. var pairs = cache.__data__;
  22216. if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {
  22217. pairs.push([key, value]);
  22218. return this;
  22219. }
  22220. cache = this.__data__ = new MapCache(pairs);
  22221. }
  22222. cache.set(key, value);
  22223. return this;
  22224. }
  22225. // Add methods to `Stack`.
  22226. Stack.prototype.clear = stackClear;
  22227. Stack.prototype['delete'] = stackDelete;
  22228. Stack.prototype.get = stackGet;
  22229. Stack.prototype.has = stackHas;
  22230. Stack.prototype.set = stackSet;
  22231. /**
  22232. * Creates an array of the enumerable property names of the array-like `value`.
  22233. *
  22234. * @private
  22235. * @param {*} value The value to query.
  22236. * @param {boolean} inherited Specify returning inherited property names.
  22237. * @returns {Array} Returns the array of property names.
  22238. */
  22239. function arrayLikeKeys(value, inherited) {
  22240. // Safari 8.1 makes `arguments.callee` enumerable in strict mode.
  22241. // Safari 9 makes `arguments.length` enumerable in strict mode.
  22242. var result = (isArray(value) || isArguments(value))
  22243. ? baseTimes(value.length, String)
  22244. : [];
  22245. var length = result.length,
  22246. skipIndexes = !!length;
  22247. for (var key in value) {
  22248. if ((inherited || hasOwnProperty.call(value, key)) &&
  22249. !(skipIndexes && (key == 'length' || isIndex(key, length)))) {
  22250. result.push(key);
  22251. }
  22252. }
  22253. return result;
  22254. }
  22255. /**
  22256. * Assigns `value` to `key` of `object` if the existing value is not equivalent
  22257. * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
  22258. * for equality comparisons.
  22259. *
  22260. * @private
  22261. * @param {Object} object The object to modify.
  22262. * @param {string} key The key of the property to assign.
  22263. * @param {*} value The value to assign.
  22264. */
  22265. function assignValue(object, key, value) {
  22266. var objValue = object[key];
  22267. if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||
  22268. (value === undefined && !(key in object))) {
  22269. object[key] = value;
  22270. }
  22271. }
  22272. /**
  22273. * Gets the index at which the `key` is found in `array` of key-value pairs.
  22274. *
  22275. * @private
  22276. * @param {Array} array The array to inspect.
  22277. * @param {*} key The key to search for.
  22278. * @returns {number} Returns the index of the matched value, else `-1`.
  22279. */
  22280. function assocIndexOf(array, key) {
  22281. var length = array.length;
  22282. while (length--) {
  22283. if (eq(array[length][0], key)) {
  22284. return length;
  22285. }
  22286. }
  22287. return -1;
  22288. }
  22289. /**
  22290. * The base implementation of `_.assign` without support for multiple sources
  22291. * or `customizer` functions.
  22292. *
  22293. * @private
  22294. * @param {Object} object The destination object.
  22295. * @param {Object} source The source object.
  22296. * @returns {Object} Returns `object`.
  22297. */
  22298. function baseAssign(object, source) {
  22299. return object && copyObject(source, keys(source), object);
  22300. }
  22301. /**
  22302. * The base implementation of `_.clone` and `_.cloneDeep` which tracks
  22303. * traversed objects.
  22304. *
  22305. * @private
  22306. * @param {*} value The value to clone.
  22307. * @param {boolean} [isDeep] Specify a deep clone.
  22308. * @param {boolean} [isFull] Specify a clone including symbols.
  22309. * @param {Function} [customizer] The function to customize cloning.
  22310. * @param {string} [key] The key of `value`.
  22311. * @param {Object} [object] The parent object of `value`.
  22312. * @param {Object} [stack] Tracks traversed objects and their clone counterparts.
  22313. * @returns {*} Returns the cloned value.
  22314. */
  22315. function baseClone(value, isDeep, isFull, customizer, key, object, stack) {
  22316. var result;
  22317. if (customizer) {
  22318. result = object ? customizer(value, key, object, stack) : customizer(value);
  22319. }
  22320. if (result !== undefined) {
  22321. return result;
  22322. }
  22323. if (!isObject(value)) {
  22324. return value;
  22325. }
  22326. var isArr = isArray(value);
  22327. if (isArr) {
  22328. result = initCloneArray(value);
  22329. if (!isDeep) {
  22330. return copyArray(value, result);
  22331. }
  22332. } else {
  22333. var tag = getTag(value),
  22334. isFunc = tag == funcTag || tag == genTag;
  22335. if (isBuffer(value)) {
  22336. return cloneBuffer(value, isDeep);
  22337. }
  22338. if (tag == objectTag || tag == argsTag || (isFunc && !object)) {
  22339. if (isHostObject(value)) {
  22340. return object ? value : {};
  22341. }
  22342. result = initCloneObject(isFunc ? {} : value);
  22343. if (!isDeep) {
  22344. return copySymbols(value, baseAssign(result, value));
  22345. }
  22346. } else {
  22347. if (!cloneableTags[tag]) {
  22348. return object ? value : {};
  22349. }
  22350. result = initCloneByTag(value, tag, baseClone, isDeep);
  22351. }
  22352. }
  22353. // Check for circular references and return its corresponding clone.
  22354. stack || (stack = new Stack);
  22355. var stacked = stack.get(value);
  22356. if (stacked) {
  22357. return stacked;
  22358. }
  22359. stack.set(value, result);
  22360. if (!isArr) {
  22361. var props = isFull ? getAllKeys(value) : keys(value);
  22362. }
  22363. arrayEach(props || value, function(subValue, key) {
  22364. if (props) {
  22365. key = subValue;
  22366. subValue = value[key];
  22367. }
  22368. // Recursively populate clone (susceptible to call stack limits).
  22369. assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));
  22370. });
  22371. return result;
  22372. }
  22373. /**
  22374. * The base implementation of `_.create` without support for assigning
  22375. * properties to the created object.
  22376. *
  22377. * @private
  22378. * @param {Object} prototype The object to inherit from.
  22379. * @returns {Object} Returns the new object.
  22380. */
  22381. function baseCreate(proto) {
  22382. return isObject(proto) ? objectCreate(proto) : {};
  22383. }
  22384. /**
  22385. * The base implementation of `getAllKeys` and `getAllKeysIn` which uses
  22386. * `keysFunc` and `symbolsFunc` to get the enumerable property names and
  22387. * symbols of `object`.
  22388. *
  22389. * @private
  22390. * @param {Object} object The object to query.
  22391. * @param {Function} keysFunc The function to get the keys of `object`.
  22392. * @param {Function} symbolsFunc The function to get the symbols of `object`.
  22393. * @returns {Array} Returns the array of property names and symbols.
  22394. */
  22395. function baseGetAllKeys(object, keysFunc, symbolsFunc) {
  22396. var result = keysFunc(object);
  22397. return isArray(object) ? result : arrayPush(result, symbolsFunc(object));
  22398. }
  22399. /**
  22400. * The base implementation of `getTag`.
  22401. *
  22402. * @private
  22403. * @param {*} value The value to query.
  22404. * @returns {string} Returns the `toStringTag`.
  22405. */
  22406. function baseGetTag(value) {
  22407. return objectToString.call(value);
  22408. }
  22409. /**
  22410. * The base implementation of `_.isNative` without bad shim checks.
  22411. *
  22412. * @private
  22413. * @param {*} value The value to check.
  22414. * @returns {boolean} Returns `true` if `value` is a native function,
  22415. * else `false`.
  22416. */
  22417. function baseIsNative(value) {
  22418. if (!isObject(value) || isMasked(value)) {
  22419. return false;
  22420. }
  22421. var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;
  22422. return pattern.test(toSource(value));
  22423. }
  22424. /**
  22425. * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
  22426. *
  22427. * @private
  22428. * @param {Object} object The object to query.
  22429. * @returns {Array} Returns the array of property names.
  22430. */
  22431. function baseKeys(object) {
  22432. if (!isPrototype(object)) {
  22433. return nativeKeys(object);
  22434. }
  22435. var result = [];
  22436. for (var key in Object(object)) {
  22437. if (hasOwnProperty.call(object, key) && key != 'constructor') {
  22438. result.push(key);
  22439. }
  22440. }
  22441. return result;
  22442. }
  22443. /**
  22444. * Creates a clone of `buffer`.
  22445. *
  22446. * @private
  22447. * @param {Buffer} buffer The buffer to clone.
  22448. * @param {boolean} [isDeep] Specify a deep clone.
  22449. * @returns {Buffer} Returns the cloned buffer.
  22450. */
  22451. function cloneBuffer(buffer, isDeep) {
  22452. if (isDeep) {
  22453. return buffer.slice();
  22454. }
  22455. var result = new buffer.constructor(buffer.length);
  22456. buffer.copy(result);
  22457. return result;
  22458. }
  22459. /**
  22460. * Creates a clone of `arrayBuffer`.
  22461. *
  22462. * @private
  22463. * @param {ArrayBuffer} arrayBuffer The array buffer to clone.
  22464. * @returns {ArrayBuffer} Returns the cloned array buffer.
  22465. */
  22466. function cloneArrayBuffer(arrayBuffer) {
  22467. var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
  22468. new Uint8Array(result).set(new Uint8Array(arrayBuffer));
  22469. return result;
  22470. }
  22471. /**
  22472. * Creates a clone of `dataView`.
  22473. *
  22474. * @private
  22475. * @param {Object} dataView The data view to clone.
  22476. * @param {boolean} [isDeep] Specify a deep clone.
  22477. * @returns {Object} Returns the cloned data view.
  22478. */
  22479. function cloneDataView(dataView, isDeep) {
  22480. var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;
  22481. return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
  22482. }
  22483. /**
  22484. * Creates a clone of `map`.
  22485. *
  22486. * @private
  22487. * @param {Object} map The map to clone.
  22488. * @param {Function} cloneFunc The function to clone values.
  22489. * @param {boolean} [isDeep] Specify a deep clone.
  22490. * @returns {Object} Returns the cloned map.
  22491. */
  22492. function cloneMap(map, isDeep, cloneFunc) {
  22493. var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);
  22494. return arrayReduce(array, addMapEntry, new map.constructor);
  22495. }
  22496. /**
  22497. * Creates a clone of `regexp`.
  22498. *
  22499. * @private
  22500. * @param {Object} regexp The regexp to clone.
  22501. * @returns {Object} Returns the cloned regexp.
  22502. */
  22503. function cloneRegExp(regexp) {
  22504. var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));
  22505. result.lastIndex = regexp.lastIndex;
  22506. return result;
  22507. }
  22508. /**
  22509. * Creates a clone of `set`.
  22510. *
  22511. * @private
  22512. * @param {Object} set The set to clone.
  22513. * @param {Function} cloneFunc The function to clone values.
  22514. * @param {boolean} [isDeep] Specify a deep clone.
  22515. * @returns {Object} Returns the cloned set.
  22516. */
  22517. function cloneSet(set, isDeep, cloneFunc) {
  22518. var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);
  22519. return arrayReduce(array, addSetEntry, new set.constructor);
  22520. }
  22521. /**
  22522. * Creates a clone of the `symbol` object.
  22523. *
  22524. * @private
  22525. * @param {Object} symbol The symbol object to clone.
  22526. * @returns {Object} Returns the cloned symbol object.
  22527. */
  22528. function cloneSymbol(symbol) {
  22529. return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};
  22530. }
  22531. /**
  22532. * Creates a clone of `typedArray`.
  22533. *
  22534. * @private
  22535. * @param {Object} typedArray The typed array to clone.
  22536. * @param {boolean} [isDeep] Specify a deep clone.
  22537. * @returns {Object} Returns the cloned typed array.
  22538. */
  22539. function cloneTypedArray(typedArray, isDeep) {
  22540. var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;
  22541. return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
  22542. }
  22543. /**
  22544. * Copies the values of `source` to `array`.
  22545. *
  22546. * @private
  22547. * @param {Array} source The array to copy values from.
  22548. * @param {Array} [array=[]] The array to copy values to.
  22549. * @returns {Array} Returns `array`.
  22550. */
  22551. function copyArray(source, array) {
  22552. var index = -1,
  22553. length = source.length;
  22554. array || (array = Array(length));
  22555. while (++index < length) {
  22556. array[index] = source[index];
  22557. }
  22558. return array;
  22559. }
  22560. /**
  22561. * Copies properties of `source` to `object`.
  22562. *
  22563. * @private
  22564. * @param {Object} source The object to copy properties from.
  22565. * @param {Array} props The property identifiers to copy.
  22566. * @param {Object} [object={}] The object to copy properties to.
  22567. * @param {Function} [customizer] The function to customize copied values.
  22568. * @returns {Object} Returns `object`.
  22569. */
  22570. function copyObject(source, props, object, customizer) {
  22571. object || (object = {});
  22572. var index = -1,
  22573. length = props.length;
  22574. while (++index < length) {
  22575. var key = props[index];
  22576. var newValue = customizer
  22577. ? customizer(object[key], source[key], key, object, source)
  22578. : undefined;
  22579. assignValue(object, key, newValue === undefined ? source[key] : newValue);
  22580. }
  22581. return object;
  22582. }
  22583. /**
  22584. * Copies own symbol properties of `source` to `object`.
  22585. *
  22586. * @private
  22587. * @param {Object} source The object to copy symbols from.
  22588. * @param {Object} [object={}] The object to copy symbols to.
  22589. * @returns {Object} Returns `object`.
  22590. */
  22591. function copySymbols(source, object) {
  22592. return copyObject(source, getSymbols(source), object);
  22593. }
  22594. /**
  22595. * Creates an array of own enumerable property names and symbols of `object`.
  22596. *
  22597. * @private
  22598. * @param {Object} object The object to query.
  22599. * @returns {Array} Returns the array of property names and symbols.
  22600. */
  22601. function getAllKeys(object) {
  22602. return baseGetAllKeys(object, keys, getSymbols);
  22603. }
  22604. /**
  22605. * Gets the data for `map`.
  22606. *
  22607. * @private
  22608. * @param {Object} map The map to query.
  22609. * @param {string} key The reference key.
  22610. * @returns {*} Returns the map data.
  22611. */
  22612. function getMapData(map, key) {
  22613. var data = map.__data__;
  22614. return isKeyable(key)
  22615. ? data[typeof key == 'string' ? 'string' : 'hash']
  22616. : data.map;
  22617. }
  22618. /**
  22619. * Gets the native function at `key` of `object`.
  22620. *
  22621. * @private
  22622. * @param {Object} object The object to query.
  22623. * @param {string} key The key of the method to get.
  22624. * @returns {*} Returns the function if it's native, else `undefined`.
  22625. */
  22626. function getNative(object, key) {
  22627. var value = getValue(object, key);
  22628. return baseIsNative(value) ? value : undefined;
  22629. }
  22630. /**
  22631. * Creates an array of the own enumerable symbol properties of `object`.
  22632. *
  22633. * @private
  22634. * @param {Object} object The object to query.
  22635. * @returns {Array} Returns the array of symbols.
  22636. */
  22637. var getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;
  22638. /**
  22639. * Gets the `toStringTag` of `value`.
  22640. *
  22641. * @private
  22642. * @param {*} value The value to query.
  22643. * @returns {string} Returns the `toStringTag`.
  22644. */
  22645. var getTag = baseGetTag;
  22646. // Fallback for data views, maps, sets, and weak maps in IE 11,
  22647. // for data views in Edge < 14, and promises in Node.js.
  22648. if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||
  22649. (Map && getTag(new Map) != mapTag) ||
  22650. (Promise && getTag(Promise.resolve()) != promiseTag) ||
  22651. (Set && getTag(new Set) != setTag) ||
  22652. (WeakMap && getTag(new WeakMap) != weakMapTag)) {
  22653. getTag = function(value) {
  22654. var result = objectToString.call(value),
  22655. Ctor = result == objectTag ? value.constructor : undefined,
  22656. ctorString = Ctor ? toSource(Ctor) : undefined;
  22657. if (ctorString) {
  22658. switch (ctorString) {
  22659. case dataViewCtorString: return dataViewTag;
  22660. case mapCtorString: return mapTag;
  22661. case promiseCtorString: return promiseTag;
  22662. case setCtorString: return setTag;
  22663. case weakMapCtorString: return weakMapTag;
  22664. }
  22665. }
  22666. return result;
  22667. };
  22668. }
  22669. /**
  22670. * Initializes an array clone.
  22671. *
  22672. * @private
  22673. * @param {Array} array The array to clone.
  22674. * @returns {Array} Returns the initialized clone.
  22675. */
  22676. function initCloneArray(array) {
  22677. var length = array.length,
  22678. result = array.constructor(length);
  22679. // Add properties assigned by `RegExp#exec`.
  22680. if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {
  22681. result.index = array.index;
  22682. result.input = array.input;
  22683. }
  22684. return result;
  22685. }
  22686. /**
  22687. * Initializes an object clone.
  22688. *
  22689. * @private
  22690. * @param {Object} object The object to clone.
  22691. * @returns {Object} Returns the initialized clone.
  22692. */
  22693. function initCloneObject(object) {
  22694. return (typeof object.constructor == 'function' && !isPrototype(object))
  22695. ? baseCreate(getPrototype(object))
  22696. : {};
  22697. }
  22698. /**
  22699. * Initializes an object clone based on its `toStringTag`.
  22700. *
  22701. * **Note:** This function only supports cloning values with tags of
  22702. * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
  22703. *
  22704. * @private
  22705. * @param {Object} object The object to clone.
  22706. * @param {string} tag The `toStringTag` of the object to clone.
  22707. * @param {Function} cloneFunc The function to clone values.
  22708. * @param {boolean} [isDeep] Specify a deep clone.
  22709. * @returns {Object} Returns the initialized clone.
  22710. */
  22711. function initCloneByTag(object, tag, cloneFunc, isDeep) {
  22712. var Ctor = object.constructor;
  22713. switch (tag) {
  22714. case arrayBufferTag:
  22715. return cloneArrayBuffer(object);
  22716. case boolTag:
  22717. case dateTag:
  22718. return new Ctor(+object);
  22719. case dataViewTag:
  22720. return cloneDataView(object, isDeep);
  22721. case float32Tag: case float64Tag:
  22722. case int8Tag: case int16Tag: case int32Tag:
  22723. case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:
  22724. return cloneTypedArray(object, isDeep);
  22725. case mapTag:
  22726. return cloneMap(object, isDeep, cloneFunc);
  22727. case numberTag:
  22728. case stringTag:
  22729. return new Ctor(object);
  22730. case regexpTag:
  22731. return cloneRegExp(object);
  22732. case setTag:
  22733. return cloneSet(object, isDeep, cloneFunc);
  22734. case symbolTag:
  22735. return cloneSymbol(object);
  22736. }
  22737. }
  22738. /**
  22739. * Checks if `value` is a valid array-like index.
  22740. *
  22741. * @private
  22742. * @param {*} value The value to check.
  22743. * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
  22744. * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
  22745. */
  22746. function isIndex(value, length) {
  22747. length = length == null ? MAX_SAFE_INTEGER : length;
  22748. return !!length &&
  22749. (typeof value == 'number' || reIsUint.test(value)) &&
  22750. (value > -1 && value % 1 == 0 && value < length);
  22751. }
  22752. /**
  22753. * Checks if `value` is suitable for use as unique object key.
  22754. *
  22755. * @private
  22756. * @param {*} value The value to check.
  22757. * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
  22758. */
  22759. function isKeyable(value) {
  22760. var type = typeof value;
  22761. return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
  22762. ? (value !== '__proto__')
  22763. : (value === null);
  22764. }
  22765. /**
  22766. * Checks if `func` has its source masked.
  22767. *
  22768. * @private
  22769. * @param {Function} func The function to check.
  22770. * @returns {boolean} Returns `true` if `func` is masked, else `false`.
  22771. */
  22772. function isMasked(func) {
  22773. return !!maskSrcKey && (maskSrcKey in func);
  22774. }
  22775. /**
  22776. * Checks if `value` is likely a prototype object.
  22777. *
  22778. * @private
  22779. * @param {*} value The value to check.
  22780. * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
  22781. */
  22782. function isPrototype(value) {
  22783. var Ctor = value && value.constructor,
  22784. proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;
  22785. return value === proto;
  22786. }
  22787. /**
  22788. * Converts `func` to its source code.
  22789. *
  22790. * @private
  22791. * @param {Function} func The function to process.
  22792. * @returns {string} Returns the source code.
  22793. */
  22794. function toSource(func) {
  22795. if (func != null) {
  22796. try {
  22797. return funcToString.call(func);
  22798. } catch (e) {}
  22799. try {
  22800. return (func + '');
  22801. } catch (e) {}
  22802. }
  22803. return '';
  22804. }
  22805. /**
  22806. * This method is like `_.clone` except that it recursively clones `value`.
  22807. *
  22808. * @static
  22809. * @memberOf _
  22810. * @since 1.0.0
  22811. * @category Lang
  22812. * @param {*} value The value to recursively clone.
  22813. * @returns {*} Returns the deep cloned value.
  22814. * @see _.clone
  22815. * @example
  22816. *
  22817. * var objects = [{ 'a': 1 }, { 'b': 2 }];
  22818. *
  22819. * var deep = _.cloneDeep(objects);
  22820. * console.log(deep[0] === objects[0]);
  22821. * // => false
  22822. */
  22823. function cloneDeep(value) {
  22824. return baseClone(value, true, true);
  22825. }
  22826. /**
  22827. * Performs a
  22828. * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
  22829. * comparison between two values to determine if they are equivalent.
  22830. *
  22831. * @static
  22832. * @memberOf _
  22833. * @since 4.0.0
  22834. * @category Lang
  22835. * @param {*} value The value to compare.
  22836. * @param {*} other The other value to compare.
  22837. * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
  22838. * @example
  22839. *
  22840. * var object = { 'a': 1 };
  22841. * var other = { 'a': 1 };
  22842. *
  22843. * _.eq(object, object);
  22844. * // => true
  22845. *
  22846. * _.eq(object, other);
  22847. * // => false
  22848. *
  22849. * _.eq('a', 'a');
  22850. * // => true
  22851. *
  22852. * _.eq('a', Object('a'));
  22853. * // => false
  22854. *
  22855. * _.eq(NaN, NaN);
  22856. * // => true
  22857. */
  22858. function eq(value, other) {
  22859. return value === other || (value !== value && other !== other);
  22860. }
  22861. /**
  22862. * Checks if `value` is likely an `arguments` object.
  22863. *
  22864. * @static
  22865. * @memberOf _
  22866. * @since 0.1.0
  22867. * @category Lang
  22868. * @param {*} value The value to check.
  22869. * @returns {boolean} Returns `true` if `value` is an `arguments` object,
  22870. * else `false`.
  22871. * @example
  22872. *
  22873. * _.isArguments(function() { return arguments; }());
  22874. * // => true
  22875. *
  22876. * _.isArguments([1, 2, 3]);
  22877. * // => false
  22878. */
  22879. function isArguments(value) {
  22880. // Safari 8.1 makes `arguments.callee` enumerable in strict mode.
  22881. return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&
  22882. (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);
  22883. }
  22884. /**
  22885. * Checks if `value` is classified as an `Array` object.
  22886. *
  22887. * @static
  22888. * @memberOf _
  22889. * @since 0.1.0
  22890. * @category Lang
  22891. * @param {*} value The value to check.
  22892. * @returns {boolean} Returns `true` if `value` is an array, else `false`.
  22893. * @example
  22894. *
  22895. * _.isArray([1, 2, 3]);
  22896. * // => true
  22897. *
  22898. * _.isArray(document.body.children);
  22899. * // => false
  22900. *
  22901. * _.isArray('abc');
  22902. * // => false
  22903. *
  22904. * _.isArray(_.noop);
  22905. * // => false
  22906. */
  22907. var isArray = Array.isArray;
  22908. /**
  22909. * Checks if `value` is array-like. A value is considered array-like if it's
  22910. * not a function and has a `value.length` that's an integer greater than or
  22911. * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
  22912. *
  22913. * @static
  22914. * @memberOf _
  22915. * @since 4.0.0
  22916. * @category Lang
  22917. * @param {*} value The value to check.
  22918. * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
  22919. * @example
  22920. *
  22921. * _.isArrayLike([1, 2, 3]);
  22922. * // => true
  22923. *
  22924. * _.isArrayLike(document.body.children);
  22925. * // => true
  22926. *
  22927. * _.isArrayLike('abc');
  22928. * // => true
  22929. *
  22930. * _.isArrayLike(_.noop);
  22931. * // => false
  22932. */
  22933. function isArrayLike(value) {
  22934. return value != null && isLength(value.length) && !isFunction(value);
  22935. }
  22936. /**
  22937. * This method is like `_.isArrayLike` except that it also checks if `value`
  22938. * is an object.
  22939. *
  22940. * @static
  22941. * @memberOf _
  22942. * @since 4.0.0
  22943. * @category Lang
  22944. * @param {*} value The value to check.
  22945. * @returns {boolean} Returns `true` if `value` is an array-like object,
  22946. * else `false`.
  22947. * @example
  22948. *
  22949. * _.isArrayLikeObject([1, 2, 3]);
  22950. * // => true
  22951. *
  22952. * _.isArrayLikeObject(document.body.children);
  22953. * // => true
  22954. *
  22955. * _.isArrayLikeObject('abc');
  22956. * // => false
  22957. *
  22958. * _.isArrayLikeObject(_.noop);
  22959. * // => false
  22960. */
  22961. function isArrayLikeObject(value) {
  22962. return isObjectLike(value) && isArrayLike(value);
  22963. }
  22964. /**
  22965. * Checks if `value` is a buffer.
  22966. *
  22967. * @static
  22968. * @memberOf _
  22969. * @since 4.3.0
  22970. * @category Lang
  22971. * @param {*} value The value to check.
  22972. * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
  22973. * @example
  22974. *
  22975. * _.isBuffer(new Buffer(2));
  22976. * // => true
  22977. *
  22978. * _.isBuffer(new Uint8Array(2));
  22979. * // => false
  22980. */
  22981. var isBuffer = nativeIsBuffer || stubFalse;
  22982. /**
  22983. * Checks if `value` is classified as a `Function` object.
  22984. *
  22985. * @static
  22986. * @memberOf _
  22987. * @since 0.1.0
  22988. * @category Lang
  22989. * @param {*} value The value to check.
  22990. * @returns {boolean} Returns `true` if `value` is a function, else `false`.
  22991. * @example
  22992. *
  22993. * _.isFunction(_);
  22994. * // => true
  22995. *
  22996. * _.isFunction(/abc/);
  22997. * // => false
  22998. */
  22999. function isFunction(value) {
  23000. // The use of `Object#toString` avoids issues with the `typeof` operator
  23001. // in Safari 8-9 which returns 'object' for typed array and other constructors.
  23002. var tag = isObject(value) ? objectToString.call(value) : '';
  23003. return tag == funcTag || tag == genTag;
  23004. }
  23005. /**
  23006. * Checks if `value` is a valid array-like length.
  23007. *
  23008. * **Note:** This method is loosely based on
  23009. * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
  23010. *
  23011. * @static
  23012. * @memberOf _
  23013. * @since 4.0.0
  23014. * @category Lang
  23015. * @param {*} value The value to check.
  23016. * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
  23017. * @example
  23018. *
  23019. * _.isLength(3);
  23020. * // => true
  23021. *
  23022. * _.isLength(Number.MIN_VALUE);
  23023. * // => false
  23024. *
  23025. * _.isLength(Infinity);
  23026. * // => false
  23027. *
  23028. * _.isLength('3');
  23029. * // => false
  23030. */
  23031. function isLength(value) {
  23032. return typeof value == 'number' &&
  23033. value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
  23034. }
  23035. /**
  23036. * Checks if `value` is the
  23037. * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
  23038. * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
  23039. *
  23040. * @static
  23041. * @memberOf _
  23042. * @since 0.1.0
  23043. * @category Lang
  23044. * @param {*} value The value to check.
  23045. * @returns {boolean} Returns `true` if `value` is an object, else `false`.
  23046. * @example
  23047. *
  23048. * _.isObject({});
  23049. * // => true
  23050. *
  23051. * _.isObject([1, 2, 3]);
  23052. * // => true
  23053. *
  23054. * _.isObject(_.noop);
  23055. * // => true
  23056. *
  23057. * _.isObject(null);
  23058. * // => false
  23059. */
  23060. function isObject(value) {
  23061. var type = typeof value;
  23062. return !!value && (type == 'object' || type == 'function');
  23063. }
  23064. /**
  23065. * Checks if `value` is object-like. A value is object-like if it's not `null`
  23066. * and has a `typeof` result of "object".
  23067. *
  23068. * @static
  23069. * @memberOf _
  23070. * @since 4.0.0
  23071. * @category Lang
  23072. * @param {*} value The value to check.
  23073. * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
  23074. * @example
  23075. *
  23076. * _.isObjectLike({});
  23077. * // => true
  23078. *
  23079. * _.isObjectLike([1, 2, 3]);
  23080. * // => true
  23081. *
  23082. * _.isObjectLike(_.noop);
  23083. * // => false
  23084. *
  23085. * _.isObjectLike(null);
  23086. * // => false
  23087. */
  23088. function isObjectLike(value) {
  23089. return !!value && typeof value == 'object';
  23090. }
  23091. /**
  23092. * Creates an array of the own enumerable property names of `object`.
  23093. *
  23094. * **Note:** Non-object values are coerced to objects. See the
  23095. * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
  23096. * for more details.
  23097. *
  23098. * @static
  23099. * @since 0.1.0
  23100. * @memberOf _
  23101. * @category Object
  23102. * @param {Object} object The object to query.
  23103. * @returns {Array} Returns the array of property names.
  23104. * @example
  23105. *
  23106. * function Foo() {
  23107. * this.a = 1;
  23108. * this.b = 2;
  23109. * }
  23110. *
  23111. * Foo.prototype.c = 3;
  23112. *
  23113. * _.keys(new Foo);
  23114. * // => ['a', 'b'] (iteration order is not guaranteed)
  23115. *
  23116. * _.keys('hi');
  23117. * // => ['0', '1']
  23118. */
  23119. function keys(object) {
  23120. return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
  23121. }
  23122. /**
  23123. * This method returns a new empty array.
  23124. *
  23125. * @static
  23126. * @memberOf _
  23127. * @since 4.13.0
  23128. * @category Util
  23129. * @returns {Array} Returns the new empty array.
  23130. * @example
  23131. *
  23132. * var arrays = _.times(2, _.stubArray);
  23133. *
  23134. * console.log(arrays);
  23135. * // => [[], []]
  23136. *
  23137. * console.log(arrays[0] === arrays[1]);
  23138. * // => false
  23139. */
  23140. function stubArray() {
  23141. return [];
  23142. }
  23143. /**
  23144. * This method returns `false`.
  23145. *
  23146. * @static
  23147. * @memberOf _
  23148. * @since 4.13.0
  23149. * @category Util
  23150. * @returns {boolean} Returns `false`.
  23151. * @example
  23152. *
  23153. * _.times(2, _.stubFalse);
  23154. * // => [false, false]
  23155. */
  23156. function stubFalse() {
  23157. return false;
  23158. }
  23159. module.exports = cloneDeep;
  23160. /***/ }),
  23161. /***/ "./node_modules/lodash.isequal/index.js":
  23162. /*!**********************************************!*\
  23163. !*** ./node_modules/lodash.isequal/index.js ***!
  23164. \**********************************************/
  23165. /***/ ((module, exports, __webpack_require__) => {
  23166. /* module decorator */ module = __webpack_require__.nmd(module);
  23167. /**
  23168. * Lodash (Custom Build) <https://lodash.com/>
  23169. * Build: `lodash modularize exports="npm" -o ./`
  23170. * Copyright JS Foundation and other contributors <https://js.foundation/>
  23171. * Released under MIT license <https://lodash.com/license>
  23172. * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
  23173. * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
  23174. */
  23175. /** Used as the size to enable large array optimizations. */
  23176. var LARGE_ARRAY_SIZE = 200;
  23177. /** Used to stand-in for `undefined` hash values. */
  23178. var HASH_UNDEFINED = '__lodash_hash_undefined__';
  23179. /** Used to compose bitmasks for value comparisons. */
  23180. var COMPARE_PARTIAL_FLAG = 1,
  23181. COMPARE_UNORDERED_FLAG = 2;
  23182. /** Used as references for various `Number` constants. */
  23183. var MAX_SAFE_INTEGER = 9007199254740991;
  23184. /** `Object#toString` result references. */
  23185. var argsTag = '[object Arguments]',
  23186. arrayTag = '[object Array]',
  23187. asyncTag = '[object AsyncFunction]',
  23188. boolTag = '[object Boolean]',
  23189. dateTag = '[object Date]',
  23190. errorTag = '[object Error]',
  23191. funcTag = '[object Function]',
  23192. genTag = '[object GeneratorFunction]',
  23193. mapTag = '[object Map]',
  23194. numberTag = '[object Number]',
  23195. nullTag = '[object Null]',
  23196. objectTag = '[object Object]',
  23197. promiseTag = '[object Promise]',
  23198. proxyTag = '[object Proxy]',
  23199. regexpTag = '[object RegExp]',
  23200. setTag = '[object Set]',
  23201. stringTag = '[object String]',
  23202. symbolTag = '[object Symbol]',
  23203. undefinedTag = '[object Undefined]',
  23204. weakMapTag = '[object WeakMap]';
  23205. var arrayBufferTag = '[object ArrayBuffer]',
  23206. dataViewTag = '[object DataView]',
  23207. float32Tag = '[object Float32Array]',
  23208. float64Tag = '[object Float64Array]',
  23209. int8Tag = '[object Int8Array]',
  23210. int16Tag = '[object Int16Array]',
  23211. int32Tag = '[object Int32Array]',
  23212. uint8Tag = '[object Uint8Array]',
  23213. uint8ClampedTag = '[object Uint8ClampedArray]',
  23214. uint16Tag = '[object Uint16Array]',
  23215. uint32Tag = '[object Uint32Array]';
  23216. /**
  23217. * Used to match `RegExp`
  23218. * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
  23219. */
  23220. var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
  23221. /** Used to detect host constructors (Safari). */
  23222. var reIsHostCtor = /^\[object .+?Constructor\]$/;
  23223. /** Used to detect unsigned integer values. */
  23224. var reIsUint = /^(?:0|[1-9]\d*)$/;
  23225. /** Used to identify `toStringTag` values of typed arrays. */
  23226. var typedArrayTags = {};
  23227. typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
  23228. typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
  23229. typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
  23230. typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
  23231. typedArrayTags[uint32Tag] = true;
  23232. typedArrayTags[argsTag] = typedArrayTags[arrayTag] =
  23233. typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
  23234. typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =
  23235. typedArrayTags[errorTag] = typedArrayTags[funcTag] =
  23236. typedArrayTags[mapTag] = typedArrayTags[numberTag] =
  23237. typedArrayTags[objectTag] = typedArrayTags[regexpTag] =
  23238. typedArrayTags[setTag] = typedArrayTags[stringTag] =
  23239. typedArrayTags[weakMapTag] = false;
  23240. /** Detect free variable `global` from Node.js. */
  23241. var freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g;
  23242. /** Detect free variable `self`. */
  23243. var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
  23244. /** Used as a reference to the global object. */
  23245. var root = freeGlobal || freeSelf || Function('return this')();
  23246. /** Detect free variable `exports`. */
  23247. var freeExports = true && exports && !exports.nodeType && exports;
  23248. /** Detect free variable `module`. */
  23249. var freeModule = freeExports && "object" == 'object' && module && !module.nodeType && module;
  23250. /** Detect the popular CommonJS extension `module.exports`. */
  23251. var moduleExports = freeModule && freeModule.exports === freeExports;
  23252. /** Detect free variable `process` from Node.js. */
  23253. var freeProcess = moduleExports && freeGlobal.process;
  23254. /** Used to access faster Node.js helpers. */
  23255. var nodeUtil = (function() {
  23256. try {
  23257. return freeProcess && freeProcess.binding && freeProcess.binding('util');
  23258. } catch (e) {}
  23259. }());
  23260. /* Node.js helper references. */
  23261. var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
  23262. /**
  23263. * A specialized version of `_.filter` for arrays without support for
  23264. * iteratee shorthands.
  23265. *
  23266. * @private
  23267. * @param {Array} [array] The array to iterate over.
  23268. * @param {Function} predicate The function invoked per iteration.
  23269. * @returns {Array} Returns the new filtered array.
  23270. */
  23271. function arrayFilter(array, predicate) {
  23272. var index = -1,
  23273. length = array == null ? 0 : array.length,
  23274. resIndex = 0,
  23275. result = [];
  23276. while (++index < length) {
  23277. var value = array[index];
  23278. if (predicate(value, index, array)) {
  23279. result[resIndex++] = value;
  23280. }
  23281. }
  23282. return result;
  23283. }
  23284. /**
  23285. * Appends the elements of `values` to `array`.
  23286. *
  23287. * @private
  23288. * @param {Array} array The array to modify.
  23289. * @param {Array} values The values to append.
  23290. * @returns {Array} Returns `array`.
  23291. */
  23292. function arrayPush(array, values) {
  23293. var index = -1,
  23294. length = values.length,
  23295. offset = array.length;
  23296. while (++index < length) {
  23297. array[offset + index] = values[index];
  23298. }
  23299. return array;
  23300. }
  23301. /**
  23302. * A specialized version of `_.some` for arrays without support for iteratee
  23303. * shorthands.
  23304. *
  23305. * @private
  23306. * @param {Array} [array] The array to iterate over.
  23307. * @param {Function} predicate The function invoked per iteration.
  23308. * @returns {boolean} Returns `true` if any element passes the predicate check,
  23309. * else `false`.
  23310. */
  23311. function arraySome(array, predicate) {
  23312. var index = -1,
  23313. length = array == null ? 0 : array.length;
  23314. while (++index < length) {
  23315. if (predicate(array[index], index, array)) {
  23316. return true;
  23317. }
  23318. }
  23319. return false;
  23320. }
  23321. /**
  23322. * The base implementation of `_.times` without support for iteratee shorthands
  23323. * or max array length checks.
  23324. *
  23325. * @private
  23326. * @param {number} n The number of times to invoke `iteratee`.
  23327. * @param {Function} iteratee The function invoked per iteration.
  23328. * @returns {Array} Returns the array of results.
  23329. */
  23330. function baseTimes(n, iteratee) {
  23331. var index = -1,
  23332. result = Array(n);
  23333. while (++index < n) {
  23334. result[index] = iteratee(index);
  23335. }
  23336. return result;
  23337. }
  23338. /**
  23339. * The base implementation of `_.unary` without support for storing metadata.
  23340. *
  23341. * @private
  23342. * @param {Function} func The function to cap arguments for.
  23343. * @returns {Function} Returns the new capped function.
  23344. */
  23345. function baseUnary(func) {
  23346. return function(value) {
  23347. return func(value);
  23348. };
  23349. }
  23350. /**
  23351. * Checks if a `cache` value for `key` exists.
  23352. *
  23353. * @private
  23354. * @param {Object} cache The cache to query.
  23355. * @param {string} key The key of the entry to check.
  23356. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
  23357. */
  23358. function cacheHas(cache, key) {
  23359. return cache.has(key);
  23360. }
  23361. /**
  23362. * Gets the value at `key` of `object`.
  23363. *
  23364. * @private
  23365. * @param {Object} [object] The object to query.
  23366. * @param {string} key The key of the property to get.
  23367. * @returns {*} Returns the property value.
  23368. */
  23369. function getValue(object, key) {
  23370. return object == null ? undefined : object[key];
  23371. }
  23372. /**
  23373. * Converts `map` to its key-value pairs.
  23374. *
  23375. * @private
  23376. * @param {Object} map The map to convert.
  23377. * @returns {Array} Returns the key-value pairs.
  23378. */
  23379. function mapToArray(map) {
  23380. var index = -1,
  23381. result = Array(map.size);
  23382. map.forEach(function(value, key) {
  23383. result[++index] = [key, value];
  23384. });
  23385. return result;
  23386. }
  23387. /**
  23388. * Creates a unary function that invokes `func` with its argument transformed.
  23389. *
  23390. * @private
  23391. * @param {Function} func The function to wrap.
  23392. * @param {Function} transform The argument transform.
  23393. * @returns {Function} Returns the new function.
  23394. */
  23395. function overArg(func, transform) {
  23396. return function(arg) {
  23397. return func(transform(arg));
  23398. };
  23399. }
  23400. /**
  23401. * Converts `set` to an array of its values.
  23402. *
  23403. * @private
  23404. * @param {Object} set The set to convert.
  23405. * @returns {Array} Returns the values.
  23406. */
  23407. function setToArray(set) {
  23408. var index = -1,
  23409. result = Array(set.size);
  23410. set.forEach(function(value) {
  23411. result[++index] = value;
  23412. });
  23413. return result;
  23414. }
  23415. /** Used for built-in method references. */
  23416. var arrayProto = Array.prototype,
  23417. funcProto = Function.prototype,
  23418. objectProto = Object.prototype;
  23419. /** Used to detect overreaching core-js shims. */
  23420. var coreJsData = root['__core-js_shared__'];
  23421. /** Used to resolve the decompiled source of functions. */
  23422. var funcToString = funcProto.toString;
  23423. /** Used to check objects for own properties. */
  23424. var hasOwnProperty = objectProto.hasOwnProperty;
  23425. /** Used to detect methods masquerading as native. */
  23426. var maskSrcKey = (function() {
  23427. var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
  23428. return uid ? ('Symbol(src)_1.' + uid) : '';
  23429. }());
  23430. /**
  23431. * Used to resolve the
  23432. * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
  23433. * of values.
  23434. */
  23435. var nativeObjectToString = objectProto.toString;
  23436. /** Used to detect if a method is native. */
  23437. var reIsNative = RegExp('^' +
  23438. funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&')
  23439. .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
  23440. );
  23441. /** Built-in value references. */
  23442. var Buffer = moduleExports ? root.Buffer : undefined,
  23443. Symbol = root.Symbol,
  23444. Uint8Array = root.Uint8Array,
  23445. propertyIsEnumerable = objectProto.propertyIsEnumerable,
  23446. splice = arrayProto.splice,
  23447. symToStringTag = Symbol ? Symbol.toStringTag : undefined;
  23448. /* Built-in method references for those with the same name as other `lodash` methods. */
  23449. var nativeGetSymbols = Object.getOwnPropertySymbols,
  23450. nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,
  23451. nativeKeys = overArg(Object.keys, Object);
  23452. /* Built-in method references that are verified to be native. */
  23453. var DataView = getNative(root, 'DataView'),
  23454. Map = getNative(root, 'Map'),
  23455. Promise = getNative(root, 'Promise'),
  23456. Set = getNative(root, 'Set'),
  23457. WeakMap = getNative(root, 'WeakMap'),
  23458. nativeCreate = getNative(Object, 'create');
  23459. /** Used to detect maps, sets, and weakmaps. */
  23460. var dataViewCtorString = toSource(DataView),
  23461. mapCtorString = toSource(Map),
  23462. promiseCtorString = toSource(Promise),
  23463. setCtorString = toSource(Set),
  23464. weakMapCtorString = toSource(WeakMap);
  23465. /** Used to convert symbols to primitives and strings. */
  23466. var symbolProto = Symbol ? Symbol.prototype : undefined,
  23467. symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;
  23468. /**
  23469. * Creates a hash object.
  23470. *
  23471. * @private
  23472. * @constructor
  23473. * @param {Array} [entries] The key-value pairs to cache.
  23474. */
  23475. function Hash(entries) {
  23476. var index = -1,
  23477. length = entries == null ? 0 : entries.length;
  23478. this.clear();
  23479. while (++index < length) {
  23480. var entry = entries[index];
  23481. this.set(entry[0], entry[1]);
  23482. }
  23483. }
  23484. /**
  23485. * Removes all key-value entries from the hash.
  23486. *
  23487. * @private
  23488. * @name clear
  23489. * @memberOf Hash
  23490. */
  23491. function hashClear() {
  23492. this.__data__ = nativeCreate ? nativeCreate(null) : {};
  23493. this.size = 0;
  23494. }
  23495. /**
  23496. * Removes `key` and its value from the hash.
  23497. *
  23498. * @private
  23499. * @name delete
  23500. * @memberOf Hash
  23501. * @param {Object} hash The hash to modify.
  23502. * @param {string} key The key of the value to remove.
  23503. * @returns {boolean} Returns `true` if the entry was removed, else `false`.
  23504. */
  23505. function hashDelete(key) {
  23506. var result = this.has(key) && delete this.__data__[key];
  23507. this.size -= result ? 1 : 0;
  23508. return result;
  23509. }
  23510. /**
  23511. * Gets the hash value for `key`.
  23512. *
  23513. * @private
  23514. * @name get
  23515. * @memberOf Hash
  23516. * @param {string} key The key of the value to get.
  23517. * @returns {*} Returns the entry value.
  23518. */
  23519. function hashGet(key) {
  23520. var data = this.__data__;
  23521. if (nativeCreate) {
  23522. var result = data[key];
  23523. return result === HASH_UNDEFINED ? undefined : result;
  23524. }
  23525. return hasOwnProperty.call(data, key) ? data[key] : undefined;
  23526. }
  23527. /**
  23528. * Checks if a hash value for `key` exists.
  23529. *
  23530. * @private
  23531. * @name has
  23532. * @memberOf Hash
  23533. * @param {string} key The key of the entry to check.
  23534. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
  23535. */
  23536. function hashHas(key) {
  23537. var data = this.__data__;
  23538. return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);
  23539. }
  23540. /**
  23541. * Sets the hash `key` to `value`.
  23542. *
  23543. * @private
  23544. * @name set
  23545. * @memberOf Hash
  23546. * @param {string} key The key of the value to set.
  23547. * @param {*} value The value to set.
  23548. * @returns {Object} Returns the hash instance.
  23549. */
  23550. function hashSet(key, value) {
  23551. var data = this.__data__;
  23552. this.size += this.has(key) ? 0 : 1;
  23553. data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
  23554. return this;
  23555. }
  23556. // Add methods to `Hash`.
  23557. Hash.prototype.clear = hashClear;
  23558. Hash.prototype['delete'] = hashDelete;
  23559. Hash.prototype.get = hashGet;
  23560. Hash.prototype.has = hashHas;
  23561. Hash.prototype.set = hashSet;
  23562. /**
  23563. * Creates an list cache object.
  23564. *
  23565. * @private
  23566. * @constructor
  23567. * @param {Array} [entries] The key-value pairs to cache.
  23568. */
  23569. function ListCache(entries) {
  23570. var index = -1,
  23571. length = entries == null ? 0 : entries.length;
  23572. this.clear();
  23573. while (++index < length) {
  23574. var entry = entries[index];
  23575. this.set(entry[0], entry[1]);
  23576. }
  23577. }
  23578. /**
  23579. * Removes all key-value entries from the list cache.
  23580. *
  23581. * @private
  23582. * @name clear
  23583. * @memberOf ListCache
  23584. */
  23585. function listCacheClear() {
  23586. this.__data__ = [];
  23587. this.size = 0;
  23588. }
  23589. /**
  23590. * Removes `key` and its value from the list cache.
  23591. *
  23592. * @private
  23593. * @name delete
  23594. * @memberOf ListCache
  23595. * @param {string} key The key of the value to remove.
  23596. * @returns {boolean} Returns `true` if the entry was removed, else `false`.
  23597. */
  23598. function listCacheDelete(key) {
  23599. var data = this.__data__,
  23600. index = assocIndexOf(data, key);
  23601. if (index < 0) {
  23602. return false;
  23603. }
  23604. var lastIndex = data.length - 1;
  23605. if (index == lastIndex) {
  23606. data.pop();
  23607. } else {
  23608. splice.call(data, index, 1);
  23609. }
  23610. --this.size;
  23611. return true;
  23612. }
  23613. /**
  23614. * Gets the list cache value for `key`.
  23615. *
  23616. * @private
  23617. * @name get
  23618. * @memberOf ListCache
  23619. * @param {string} key The key of the value to get.
  23620. * @returns {*} Returns the entry value.
  23621. */
  23622. function listCacheGet(key) {
  23623. var data = this.__data__,
  23624. index = assocIndexOf(data, key);
  23625. return index < 0 ? undefined : data[index][1];
  23626. }
  23627. /**
  23628. * Checks if a list cache value for `key` exists.
  23629. *
  23630. * @private
  23631. * @name has
  23632. * @memberOf ListCache
  23633. * @param {string} key The key of the entry to check.
  23634. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
  23635. */
  23636. function listCacheHas(key) {
  23637. return assocIndexOf(this.__data__, key) > -1;
  23638. }
  23639. /**
  23640. * Sets the list cache `key` to `value`.
  23641. *
  23642. * @private
  23643. * @name set
  23644. * @memberOf ListCache
  23645. * @param {string} key The key of the value to set.
  23646. * @param {*} value The value to set.
  23647. * @returns {Object} Returns the list cache instance.
  23648. */
  23649. function listCacheSet(key, value) {
  23650. var data = this.__data__,
  23651. index = assocIndexOf(data, key);
  23652. if (index < 0) {
  23653. ++this.size;
  23654. data.push([key, value]);
  23655. } else {
  23656. data[index][1] = value;
  23657. }
  23658. return this;
  23659. }
  23660. // Add methods to `ListCache`.
  23661. ListCache.prototype.clear = listCacheClear;
  23662. ListCache.prototype['delete'] = listCacheDelete;
  23663. ListCache.prototype.get = listCacheGet;
  23664. ListCache.prototype.has = listCacheHas;
  23665. ListCache.prototype.set = listCacheSet;
  23666. /**
  23667. * Creates a map cache object to store key-value pairs.
  23668. *
  23669. * @private
  23670. * @constructor
  23671. * @param {Array} [entries] The key-value pairs to cache.
  23672. */
  23673. function MapCache(entries) {
  23674. var index = -1,
  23675. length = entries == null ? 0 : entries.length;
  23676. this.clear();
  23677. while (++index < length) {
  23678. var entry = entries[index];
  23679. this.set(entry[0], entry[1]);
  23680. }
  23681. }
  23682. /**
  23683. * Removes all key-value entries from the map.
  23684. *
  23685. * @private
  23686. * @name clear
  23687. * @memberOf MapCache
  23688. */
  23689. function mapCacheClear() {
  23690. this.size = 0;
  23691. this.__data__ = {
  23692. 'hash': new Hash,
  23693. 'map': new (Map || ListCache),
  23694. 'string': new Hash
  23695. };
  23696. }
  23697. /**
  23698. * Removes `key` and its value from the map.
  23699. *
  23700. * @private
  23701. * @name delete
  23702. * @memberOf MapCache
  23703. * @param {string} key The key of the value to remove.
  23704. * @returns {boolean} Returns `true` if the entry was removed, else `false`.
  23705. */
  23706. function mapCacheDelete(key) {
  23707. var result = getMapData(this, key)['delete'](key);
  23708. this.size -= result ? 1 : 0;
  23709. return result;
  23710. }
  23711. /**
  23712. * Gets the map value for `key`.
  23713. *
  23714. * @private
  23715. * @name get
  23716. * @memberOf MapCache
  23717. * @param {string} key The key of the value to get.
  23718. * @returns {*} Returns the entry value.
  23719. */
  23720. function mapCacheGet(key) {
  23721. return getMapData(this, key).get(key);
  23722. }
  23723. /**
  23724. * Checks if a map value for `key` exists.
  23725. *
  23726. * @private
  23727. * @name has
  23728. * @memberOf MapCache
  23729. * @param {string} key The key of the entry to check.
  23730. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
  23731. */
  23732. function mapCacheHas(key) {
  23733. return getMapData(this, key).has(key);
  23734. }
  23735. /**
  23736. * Sets the map `key` to `value`.
  23737. *
  23738. * @private
  23739. * @name set
  23740. * @memberOf MapCache
  23741. * @param {string} key The key of the value to set.
  23742. * @param {*} value The value to set.
  23743. * @returns {Object} Returns the map cache instance.
  23744. */
  23745. function mapCacheSet(key, value) {
  23746. var data = getMapData(this, key),
  23747. size = data.size;
  23748. data.set(key, value);
  23749. this.size += data.size == size ? 0 : 1;
  23750. return this;
  23751. }
  23752. // Add methods to `MapCache`.
  23753. MapCache.prototype.clear = mapCacheClear;
  23754. MapCache.prototype['delete'] = mapCacheDelete;
  23755. MapCache.prototype.get = mapCacheGet;
  23756. MapCache.prototype.has = mapCacheHas;
  23757. MapCache.prototype.set = mapCacheSet;
  23758. /**
  23759. *
  23760. * Creates an array cache object to store unique values.
  23761. *
  23762. * @private
  23763. * @constructor
  23764. * @param {Array} [values] The values to cache.
  23765. */
  23766. function SetCache(values) {
  23767. var index = -1,
  23768. length = values == null ? 0 : values.length;
  23769. this.__data__ = new MapCache;
  23770. while (++index < length) {
  23771. this.add(values[index]);
  23772. }
  23773. }
  23774. /**
  23775. * Adds `value` to the array cache.
  23776. *
  23777. * @private
  23778. * @name add
  23779. * @memberOf SetCache
  23780. * @alias push
  23781. * @param {*} value The value to cache.
  23782. * @returns {Object} Returns the cache instance.
  23783. */
  23784. function setCacheAdd(value) {
  23785. this.__data__.set(value, HASH_UNDEFINED);
  23786. return this;
  23787. }
  23788. /**
  23789. * Checks if `value` is in the array cache.
  23790. *
  23791. * @private
  23792. * @name has
  23793. * @memberOf SetCache
  23794. * @param {*} value The value to search for.
  23795. * @returns {number} Returns `true` if `value` is found, else `false`.
  23796. */
  23797. function setCacheHas(value) {
  23798. return this.__data__.has(value);
  23799. }
  23800. // Add methods to `SetCache`.
  23801. SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
  23802. SetCache.prototype.has = setCacheHas;
  23803. /**
  23804. * Creates a stack cache object to store key-value pairs.
  23805. *
  23806. * @private
  23807. * @constructor
  23808. * @param {Array} [entries] The key-value pairs to cache.
  23809. */
  23810. function Stack(entries) {
  23811. var data = this.__data__ = new ListCache(entries);
  23812. this.size = data.size;
  23813. }
  23814. /**
  23815. * Removes all key-value entries from the stack.
  23816. *
  23817. * @private
  23818. * @name clear
  23819. * @memberOf Stack
  23820. */
  23821. function stackClear() {
  23822. this.__data__ = new ListCache;
  23823. this.size = 0;
  23824. }
  23825. /**
  23826. * Removes `key` and its value from the stack.
  23827. *
  23828. * @private
  23829. * @name delete
  23830. * @memberOf Stack
  23831. * @param {string} key The key of the value to remove.
  23832. * @returns {boolean} Returns `true` if the entry was removed, else `false`.
  23833. */
  23834. function stackDelete(key) {
  23835. var data = this.__data__,
  23836. result = data['delete'](key);
  23837. this.size = data.size;
  23838. return result;
  23839. }
  23840. /**
  23841. * Gets the stack value for `key`.
  23842. *
  23843. * @private
  23844. * @name get
  23845. * @memberOf Stack
  23846. * @param {string} key The key of the value to get.
  23847. * @returns {*} Returns the entry value.
  23848. */
  23849. function stackGet(key) {
  23850. return this.__data__.get(key);
  23851. }
  23852. /**
  23853. * Checks if a stack value for `key` exists.
  23854. *
  23855. * @private
  23856. * @name has
  23857. * @memberOf Stack
  23858. * @param {string} key The key of the entry to check.
  23859. * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
  23860. */
  23861. function stackHas(key) {
  23862. return this.__data__.has(key);
  23863. }
  23864. /**
  23865. * Sets the stack `key` to `value`.
  23866. *
  23867. * @private
  23868. * @name set
  23869. * @memberOf Stack
  23870. * @param {string} key The key of the value to set.
  23871. * @param {*} value The value to set.
  23872. * @returns {Object} Returns the stack cache instance.
  23873. */
  23874. function stackSet(key, value) {
  23875. var data = this.__data__;
  23876. if (data instanceof ListCache) {
  23877. var pairs = data.__data__;
  23878. if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {
  23879. pairs.push([key, value]);
  23880. this.size = ++data.size;
  23881. return this;
  23882. }
  23883. data = this.__data__ = new MapCache(pairs);
  23884. }
  23885. data.set(key, value);
  23886. this.size = data.size;
  23887. return this;
  23888. }
  23889. // Add methods to `Stack`.
  23890. Stack.prototype.clear = stackClear;
  23891. Stack.prototype['delete'] = stackDelete;
  23892. Stack.prototype.get = stackGet;
  23893. Stack.prototype.has = stackHas;
  23894. Stack.prototype.set = stackSet;
  23895. /**
  23896. * Creates an array of the enumerable property names of the array-like `value`.
  23897. *
  23898. * @private
  23899. * @param {*} value The value to query.
  23900. * @param {boolean} inherited Specify returning inherited property names.
  23901. * @returns {Array} Returns the array of property names.
  23902. */
  23903. function arrayLikeKeys(value, inherited) {
  23904. var isArr = isArray(value),
  23905. isArg = !isArr && isArguments(value),
  23906. isBuff = !isArr && !isArg && isBuffer(value),
  23907. isType = !isArr && !isArg && !isBuff && isTypedArray(value),
  23908. skipIndexes = isArr || isArg || isBuff || isType,
  23909. result = skipIndexes ? baseTimes(value.length, String) : [],
  23910. length = result.length;
  23911. for (var key in value) {
  23912. if ((inherited || hasOwnProperty.call(value, key)) &&
  23913. !(skipIndexes && (
  23914. // Safari 9 has enumerable `arguments.length` in strict mode.
  23915. key == 'length' ||
  23916. // Node.js 0.10 has enumerable non-index properties on buffers.
  23917. (isBuff && (key == 'offset' || key == 'parent')) ||
  23918. // PhantomJS 2 has enumerable non-index properties on typed arrays.
  23919. (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||
  23920. // Skip index properties.
  23921. isIndex(key, length)
  23922. ))) {
  23923. result.push(key);
  23924. }
  23925. }
  23926. return result;
  23927. }
  23928. /**
  23929. * Gets the index at which the `key` is found in `array` of key-value pairs.
  23930. *
  23931. * @private
  23932. * @param {Array} array The array to inspect.
  23933. * @param {*} key The key to search for.
  23934. * @returns {number} Returns the index of the matched value, else `-1`.
  23935. */
  23936. function assocIndexOf(array, key) {
  23937. var length = array.length;
  23938. while (length--) {
  23939. if (eq(array[length][0], key)) {
  23940. return length;
  23941. }
  23942. }
  23943. return -1;
  23944. }
  23945. /**
  23946. * The base implementation of `getAllKeys` and `getAllKeysIn` which uses
  23947. * `keysFunc` and `symbolsFunc` to get the enumerable property names and
  23948. * symbols of `object`.
  23949. *
  23950. * @private
  23951. * @param {Object} object The object to query.
  23952. * @param {Function} keysFunc The function to get the keys of `object`.
  23953. * @param {Function} symbolsFunc The function to get the symbols of `object`.
  23954. * @returns {Array} Returns the array of property names and symbols.
  23955. */
  23956. function baseGetAllKeys(object, keysFunc, symbolsFunc) {
  23957. var result = keysFunc(object);
  23958. return isArray(object) ? result : arrayPush(result, symbolsFunc(object));
  23959. }
  23960. /**
  23961. * The base implementation of `getTag` without fallbacks for buggy environments.
  23962. *
  23963. * @private
  23964. * @param {*} value The value to query.
  23965. * @returns {string} Returns the `toStringTag`.
  23966. */
  23967. function baseGetTag(value) {
  23968. if (value == null) {
  23969. return value === undefined ? undefinedTag : nullTag;
  23970. }
  23971. return (symToStringTag && symToStringTag in Object(value))
  23972. ? getRawTag(value)
  23973. : objectToString(value);
  23974. }
  23975. /**
  23976. * The base implementation of `_.isArguments`.
  23977. *
  23978. * @private
  23979. * @param {*} value The value to check.
  23980. * @returns {boolean} Returns `true` if `value` is an `arguments` object,
  23981. */
  23982. function baseIsArguments(value) {
  23983. return isObjectLike(value) && baseGetTag(value) == argsTag;
  23984. }
  23985. /**
  23986. * The base implementation of `_.isEqual` which supports partial comparisons
  23987. * and tracks traversed objects.
  23988. *
  23989. * @private
  23990. * @param {*} value The value to compare.
  23991. * @param {*} other The other value to compare.
  23992. * @param {boolean} bitmask The bitmask flags.
  23993. * 1 - Unordered comparison
  23994. * 2 - Partial comparison
  23995. * @param {Function} [customizer] The function to customize comparisons.
  23996. * @param {Object} [stack] Tracks traversed `value` and `other` objects.
  23997. * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
  23998. */
  23999. function baseIsEqual(value, other, bitmask, customizer, stack) {
  24000. if (value === other) {
  24001. return true;
  24002. }
  24003. if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {
  24004. return value !== value && other !== other;
  24005. }
  24006. return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
  24007. }
  24008. /**
  24009. * A specialized version of `baseIsEqual` for arrays and objects which performs
  24010. * deep comparisons and tracks traversed objects enabling objects with circular
  24011. * references to be compared.
  24012. *
  24013. * @private
  24014. * @param {Object} object The object to compare.
  24015. * @param {Object} other The other object to compare.
  24016. * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
  24017. * @param {Function} customizer The function to customize comparisons.
  24018. * @param {Function} equalFunc The function to determine equivalents of values.
  24019. * @param {Object} [stack] Tracks traversed `object` and `other` objects.
  24020. * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
  24021. */
  24022. function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
  24023. var objIsArr = isArray(object),
  24024. othIsArr = isArray(other),
  24025. objTag = objIsArr ? arrayTag : getTag(object),
  24026. othTag = othIsArr ? arrayTag : getTag(other);
  24027. objTag = objTag == argsTag ? objectTag : objTag;
  24028. othTag = othTag == argsTag ? objectTag : othTag;
  24029. var objIsObj = objTag == objectTag,
  24030. othIsObj = othTag == objectTag,
  24031. isSameTag = objTag == othTag;
  24032. if (isSameTag && isBuffer(object)) {
  24033. if (!isBuffer(other)) {
  24034. return false;
  24035. }
  24036. objIsArr = true;
  24037. objIsObj = false;
  24038. }
  24039. if (isSameTag && !objIsObj) {
  24040. stack || (stack = new Stack);
  24041. return (objIsArr || isTypedArray(object))
  24042. ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)
  24043. : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
  24044. }
  24045. if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
  24046. var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
  24047. othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
  24048. if (objIsWrapped || othIsWrapped) {
  24049. var objUnwrapped = objIsWrapped ? object.value() : object,
  24050. othUnwrapped = othIsWrapped ? other.value() : other;
  24051. stack || (stack = new Stack);
  24052. return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
  24053. }
  24054. }
  24055. if (!isSameTag) {
  24056. return false;
  24057. }
  24058. stack || (stack = new Stack);
  24059. return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
  24060. }
  24061. /**
  24062. * The base implementation of `_.isNative` without bad shim checks.
  24063. *
  24064. * @private
  24065. * @param {*} value The value to check.
  24066. * @returns {boolean} Returns `true` if `value` is a native function,
  24067. * else `false`.
  24068. */
  24069. function baseIsNative(value) {
  24070. if (!isObject(value) || isMasked(value)) {
  24071. return false;
  24072. }
  24073. var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
  24074. return pattern.test(toSource(value));
  24075. }
  24076. /**
  24077. * The base implementation of `_.isTypedArray` without Node.js optimizations.
  24078. *
  24079. * @private
  24080. * @param {*} value The value to check.
  24081. * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
  24082. */
  24083. function baseIsTypedArray(value) {
  24084. return isObjectLike(value) &&
  24085. isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
  24086. }
  24087. /**
  24088. * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
  24089. *
  24090. * @private
  24091. * @param {Object} object The object to query.
  24092. * @returns {Array} Returns the array of property names.
  24093. */
  24094. function baseKeys(object) {
  24095. if (!isPrototype(object)) {
  24096. return nativeKeys(object);
  24097. }
  24098. var result = [];
  24099. for (var key in Object(object)) {
  24100. if (hasOwnProperty.call(object, key) && key != 'constructor') {
  24101. result.push(key);
  24102. }
  24103. }
  24104. return result;
  24105. }
  24106. /**
  24107. * A specialized version of `baseIsEqualDeep` for arrays with support for
  24108. * partial deep comparisons.
  24109. *
  24110. * @private
  24111. * @param {Array} array The array to compare.
  24112. * @param {Array} other The other array to compare.
  24113. * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
  24114. * @param {Function} customizer The function to customize comparisons.
  24115. * @param {Function} equalFunc The function to determine equivalents of values.
  24116. * @param {Object} stack Tracks traversed `array` and `other` objects.
  24117. * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
  24118. */
  24119. function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
  24120. var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
  24121. arrLength = array.length,
  24122. othLength = other.length;
  24123. if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
  24124. return false;
  24125. }
  24126. // Assume cyclic values are equal.
  24127. var stacked = stack.get(array);
  24128. if (stacked && stack.get(other)) {
  24129. return stacked == other;
  24130. }
  24131. var index = -1,
  24132. result = true,
  24133. seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;
  24134. stack.set(array, other);
  24135. stack.set(other, array);
  24136. // Ignore non-index properties.
  24137. while (++index < arrLength) {
  24138. var arrValue = array[index],
  24139. othValue = other[index];
  24140. if (customizer) {
  24141. var compared = isPartial
  24142. ? customizer(othValue, arrValue, index, other, array, stack)
  24143. : customizer(arrValue, othValue, index, array, other, stack);
  24144. }
  24145. if (compared !== undefined) {
  24146. if (compared) {
  24147. continue;
  24148. }
  24149. result = false;
  24150. break;
  24151. }
  24152. // Recursively compare arrays (susceptible to call stack limits).
  24153. if (seen) {
  24154. if (!arraySome(other, function(othValue, othIndex) {
  24155. if (!cacheHas(seen, othIndex) &&
  24156. (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
  24157. return seen.push(othIndex);
  24158. }
  24159. })) {
  24160. result = false;
  24161. break;
  24162. }
  24163. } else if (!(
  24164. arrValue === othValue ||
  24165. equalFunc(arrValue, othValue, bitmask, customizer, stack)
  24166. )) {
  24167. result = false;
  24168. break;
  24169. }
  24170. }
  24171. stack['delete'](array);
  24172. stack['delete'](other);
  24173. return result;
  24174. }
  24175. /**
  24176. * A specialized version of `baseIsEqualDeep` for comparing objects of
  24177. * the same `toStringTag`.
  24178. *
  24179. * **Note:** This function only supports comparing values with tags of
  24180. * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
  24181. *
  24182. * @private
  24183. * @param {Object} object The object to compare.
  24184. * @param {Object} other The other object to compare.
  24185. * @param {string} tag The `toStringTag` of the objects to compare.
  24186. * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
  24187. * @param {Function} customizer The function to customize comparisons.
  24188. * @param {Function} equalFunc The function to determine equivalents of values.
  24189. * @param {Object} stack Tracks traversed `object` and `other` objects.
  24190. * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
  24191. */
  24192. function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
  24193. switch (tag) {
  24194. case dataViewTag:
  24195. if ((object.byteLength != other.byteLength) ||
  24196. (object.byteOffset != other.byteOffset)) {
  24197. return false;
  24198. }
  24199. object = object.buffer;
  24200. other = other.buffer;
  24201. case arrayBufferTag:
  24202. if ((object.byteLength != other.byteLength) ||
  24203. !equalFunc(new Uint8Array(object), new Uint8Array(other))) {
  24204. return false;
  24205. }
  24206. return true;
  24207. case boolTag:
  24208. case dateTag:
  24209. case numberTag:
  24210. // Coerce booleans to `1` or `0` and dates to milliseconds.
  24211. // Invalid dates are coerced to `NaN`.
  24212. return eq(+object, +other);
  24213. case errorTag:
  24214. return object.name == other.name && object.message == other.message;
  24215. case regexpTag:
  24216. case stringTag:
  24217. // Coerce regexes to strings and treat strings, primitives and objects,
  24218. // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring
  24219. // for more details.
  24220. return object == (other + '');
  24221. case mapTag:
  24222. var convert = mapToArray;
  24223. case setTag:
  24224. var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
  24225. convert || (convert = setToArray);
  24226. if (object.size != other.size && !isPartial) {
  24227. return false;
  24228. }
  24229. // Assume cyclic values are equal.
  24230. var stacked = stack.get(object);
  24231. if (stacked) {
  24232. return stacked == other;
  24233. }
  24234. bitmask |= COMPARE_UNORDERED_FLAG;
  24235. // Recursively compare objects (susceptible to call stack limits).
  24236. stack.set(object, other);
  24237. var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
  24238. stack['delete'](object);
  24239. return result;
  24240. case symbolTag:
  24241. if (symbolValueOf) {
  24242. return symbolValueOf.call(object) == symbolValueOf.call(other);
  24243. }
  24244. }
  24245. return false;
  24246. }
  24247. /**
  24248. * A specialized version of `baseIsEqualDeep` for objects with support for
  24249. * partial deep comparisons.
  24250. *
  24251. * @private
  24252. * @param {Object} object The object to compare.
  24253. * @param {Object} other The other object to compare.
  24254. * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
  24255. * @param {Function} customizer The function to customize comparisons.
  24256. * @param {Function} equalFunc The function to determine equivalents of values.
  24257. * @param {Object} stack Tracks traversed `object` and `other` objects.
  24258. * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
  24259. */
  24260. function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
  24261. var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
  24262. objProps = getAllKeys(object),
  24263. objLength = objProps.length,
  24264. othProps = getAllKeys(other),
  24265. othLength = othProps.length;
  24266. if (objLength != othLength && !isPartial) {
  24267. return false;
  24268. }
  24269. var index = objLength;
  24270. while (index--) {
  24271. var key = objProps[index];
  24272. if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
  24273. return false;
  24274. }
  24275. }
  24276. // Assume cyclic values are equal.
  24277. var stacked = stack.get(object);
  24278. if (stacked && stack.get(other)) {
  24279. return stacked == other;
  24280. }
  24281. var result = true;
  24282. stack.set(object, other);
  24283. stack.set(other, object);
  24284. var skipCtor = isPartial;
  24285. while (++index < objLength) {
  24286. key = objProps[index];
  24287. var objValue = object[key],
  24288. othValue = other[key];
  24289. if (customizer) {
  24290. var compared = isPartial
  24291. ? customizer(othValue, objValue, key, other, object, stack)
  24292. : customizer(objValue, othValue, key, object, other, stack);
  24293. }
  24294. // Recursively compare objects (susceptible to call stack limits).
  24295. if (!(compared === undefined
  24296. ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))
  24297. : compared
  24298. )) {
  24299. result = false;
  24300. break;
  24301. }
  24302. skipCtor || (skipCtor = key == 'constructor');
  24303. }
  24304. if (result && !skipCtor) {
  24305. var objCtor = object.constructor,
  24306. othCtor = other.constructor;
  24307. // Non `Object` object instances with different constructors are not equal.
  24308. if (objCtor != othCtor &&
  24309. ('constructor' in object && 'constructor' in other) &&
  24310. !(typeof objCtor == 'function' && objCtor instanceof objCtor &&
  24311. typeof othCtor == 'function' && othCtor instanceof othCtor)) {
  24312. result = false;
  24313. }
  24314. }
  24315. stack['delete'](object);
  24316. stack['delete'](other);
  24317. return result;
  24318. }
  24319. /**
  24320. * Creates an array of own enumerable property names and symbols of `object`.
  24321. *
  24322. * @private
  24323. * @param {Object} object The object to query.
  24324. * @returns {Array} Returns the array of property names and symbols.
  24325. */
  24326. function getAllKeys(object) {
  24327. return baseGetAllKeys(object, keys, getSymbols);
  24328. }
  24329. /**
  24330. * Gets the data for `map`.
  24331. *
  24332. * @private
  24333. * @param {Object} map The map to query.
  24334. * @param {string} key The reference key.
  24335. * @returns {*} Returns the map data.
  24336. */
  24337. function getMapData(map, key) {
  24338. var data = map.__data__;
  24339. return isKeyable(key)
  24340. ? data[typeof key == 'string' ? 'string' : 'hash']
  24341. : data.map;
  24342. }
  24343. /**
  24344. * Gets the native function at `key` of `object`.
  24345. *
  24346. * @private
  24347. * @param {Object} object The object to query.
  24348. * @param {string} key The key of the method to get.
  24349. * @returns {*} Returns the function if it's native, else `undefined`.
  24350. */
  24351. function getNative(object, key) {
  24352. var value = getValue(object, key);
  24353. return baseIsNative(value) ? value : undefined;
  24354. }
  24355. /**
  24356. * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
  24357. *
  24358. * @private
  24359. * @param {*} value The value to query.
  24360. * @returns {string} Returns the raw `toStringTag`.
  24361. */
  24362. function getRawTag(value) {
  24363. var isOwn = hasOwnProperty.call(value, symToStringTag),
  24364. tag = value[symToStringTag];
  24365. try {
  24366. value[symToStringTag] = undefined;
  24367. var unmasked = true;
  24368. } catch (e) {}
  24369. var result = nativeObjectToString.call(value);
  24370. if (unmasked) {
  24371. if (isOwn) {
  24372. value[symToStringTag] = tag;
  24373. } else {
  24374. delete value[symToStringTag];
  24375. }
  24376. }
  24377. return result;
  24378. }
  24379. /**
  24380. * Creates an array of the own enumerable symbols of `object`.
  24381. *
  24382. * @private
  24383. * @param {Object} object The object to query.
  24384. * @returns {Array} Returns the array of symbols.
  24385. */
  24386. var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
  24387. if (object == null) {
  24388. return [];
  24389. }
  24390. object = Object(object);
  24391. return arrayFilter(nativeGetSymbols(object), function(symbol) {
  24392. return propertyIsEnumerable.call(object, symbol);
  24393. });
  24394. };
  24395. /**
  24396. * Gets the `toStringTag` of `value`.
  24397. *
  24398. * @private
  24399. * @param {*} value The value to query.
  24400. * @returns {string} Returns the `toStringTag`.
  24401. */
  24402. var getTag = baseGetTag;
  24403. // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.
  24404. if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||
  24405. (Map && getTag(new Map) != mapTag) ||
  24406. (Promise && getTag(Promise.resolve()) != promiseTag) ||
  24407. (Set && getTag(new Set) != setTag) ||
  24408. (WeakMap && getTag(new WeakMap) != weakMapTag)) {
  24409. getTag = function(value) {
  24410. var result = baseGetTag(value),
  24411. Ctor = result == objectTag ? value.constructor : undefined,
  24412. ctorString = Ctor ? toSource(Ctor) : '';
  24413. if (ctorString) {
  24414. switch (ctorString) {
  24415. case dataViewCtorString: return dataViewTag;
  24416. case mapCtorString: return mapTag;
  24417. case promiseCtorString: return promiseTag;
  24418. case setCtorString: return setTag;
  24419. case weakMapCtorString: return weakMapTag;
  24420. }
  24421. }
  24422. return result;
  24423. };
  24424. }
  24425. /**
  24426. * Checks if `value` is a valid array-like index.
  24427. *
  24428. * @private
  24429. * @param {*} value The value to check.
  24430. * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
  24431. * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
  24432. */
  24433. function isIndex(value, length) {
  24434. length = length == null ? MAX_SAFE_INTEGER : length;
  24435. return !!length &&
  24436. (typeof value == 'number' || reIsUint.test(value)) &&
  24437. (value > -1 && value % 1 == 0 && value < length);
  24438. }
  24439. /**
  24440. * Checks if `value` is suitable for use as unique object key.
  24441. *
  24442. * @private
  24443. * @param {*} value The value to check.
  24444. * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
  24445. */
  24446. function isKeyable(value) {
  24447. var type = typeof value;
  24448. return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
  24449. ? (value !== '__proto__')
  24450. : (value === null);
  24451. }
  24452. /**
  24453. * Checks if `func` has its source masked.
  24454. *
  24455. * @private
  24456. * @param {Function} func The function to check.
  24457. * @returns {boolean} Returns `true` if `func` is masked, else `false`.
  24458. */
  24459. function isMasked(func) {
  24460. return !!maskSrcKey && (maskSrcKey in func);
  24461. }
  24462. /**
  24463. * Checks if `value` is likely a prototype object.
  24464. *
  24465. * @private
  24466. * @param {*} value The value to check.
  24467. * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
  24468. */
  24469. function isPrototype(value) {
  24470. var Ctor = value && value.constructor,
  24471. proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;
  24472. return value === proto;
  24473. }
  24474. /**
  24475. * Converts `value` to a string using `Object.prototype.toString`.
  24476. *
  24477. * @private
  24478. * @param {*} value The value to convert.
  24479. * @returns {string} Returns the converted string.
  24480. */
  24481. function objectToString(value) {
  24482. return nativeObjectToString.call(value);
  24483. }
  24484. /**
  24485. * Converts `func` to its source code.
  24486. *
  24487. * @private
  24488. * @param {Function} func The function to convert.
  24489. * @returns {string} Returns the source code.
  24490. */
  24491. function toSource(func) {
  24492. if (func != null) {
  24493. try {
  24494. return funcToString.call(func);
  24495. } catch (e) {}
  24496. try {
  24497. return (func + '');
  24498. } catch (e) {}
  24499. }
  24500. return '';
  24501. }
  24502. /**
  24503. * Performs a
  24504. * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
  24505. * comparison between two values to determine if they are equivalent.
  24506. *
  24507. * @static
  24508. * @memberOf _
  24509. * @since 4.0.0
  24510. * @category Lang
  24511. * @param {*} value The value to compare.
  24512. * @param {*} other The other value to compare.
  24513. * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
  24514. * @example
  24515. *
  24516. * var object = { 'a': 1 };
  24517. * var other = { 'a': 1 };
  24518. *
  24519. * _.eq(object, object);
  24520. * // => true
  24521. *
  24522. * _.eq(object, other);
  24523. * // => false
  24524. *
  24525. * _.eq('a', 'a');
  24526. * // => true
  24527. *
  24528. * _.eq('a', Object('a'));
  24529. * // => false
  24530. *
  24531. * _.eq(NaN, NaN);
  24532. * // => true
  24533. */
  24534. function eq(value, other) {
  24535. return value === other || (value !== value && other !== other);
  24536. }
  24537. /**
  24538. * Checks if `value` is likely an `arguments` object.
  24539. *
  24540. * @static
  24541. * @memberOf _
  24542. * @since 0.1.0
  24543. * @category Lang
  24544. * @param {*} value The value to check.
  24545. * @returns {boolean} Returns `true` if `value` is an `arguments` object,
  24546. * else `false`.
  24547. * @example
  24548. *
  24549. * _.isArguments(function() { return arguments; }());
  24550. * // => true
  24551. *
  24552. * _.isArguments([1, 2, 3]);
  24553. * // => false
  24554. */
  24555. var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {
  24556. return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&
  24557. !propertyIsEnumerable.call(value, 'callee');
  24558. };
  24559. /**
  24560. * Checks if `value` is classified as an `Array` object.
  24561. *
  24562. * @static
  24563. * @memberOf _
  24564. * @since 0.1.0
  24565. * @category Lang
  24566. * @param {*} value The value to check.
  24567. * @returns {boolean} Returns `true` if `value` is an array, else `false`.
  24568. * @example
  24569. *
  24570. * _.isArray([1, 2, 3]);
  24571. * // => true
  24572. *
  24573. * _.isArray(document.body.children);
  24574. * // => false
  24575. *
  24576. * _.isArray('abc');
  24577. * // => false
  24578. *
  24579. * _.isArray(_.noop);
  24580. * // => false
  24581. */
  24582. var isArray = Array.isArray;
  24583. /**
  24584. * Checks if `value` is array-like. A value is considered array-like if it's
  24585. * not a function and has a `value.length` that's an integer greater than or
  24586. * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
  24587. *
  24588. * @static
  24589. * @memberOf _
  24590. * @since 4.0.0
  24591. * @category Lang
  24592. * @param {*} value The value to check.
  24593. * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
  24594. * @example
  24595. *
  24596. * _.isArrayLike([1, 2, 3]);
  24597. * // => true
  24598. *
  24599. * _.isArrayLike(document.body.children);
  24600. * // => true
  24601. *
  24602. * _.isArrayLike('abc');
  24603. * // => true
  24604. *
  24605. * _.isArrayLike(_.noop);
  24606. * // => false
  24607. */
  24608. function isArrayLike(value) {
  24609. return value != null && isLength(value.length) && !isFunction(value);
  24610. }
  24611. /**
  24612. * Checks if `value` is a buffer.
  24613. *
  24614. * @static
  24615. * @memberOf _
  24616. * @since 4.3.0
  24617. * @category Lang
  24618. * @param {*} value The value to check.
  24619. * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
  24620. * @example
  24621. *
  24622. * _.isBuffer(new Buffer(2));
  24623. * // => true
  24624. *
  24625. * _.isBuffer(new Uint8Array(2));
  24626. * // => false
  24627. */
  24628. var isBuffer = nativeIsBuffer || stubFalse;
  24629. /**
  24630. * Performs a deep comparison between two values to determine if they are
  24631. * equivalent.
  24632. *
  24633. * **Note:** This method supports comparing arrays, array buffers, booleans,
  24634. * date objects, error objects, maps, numbers, `Object` objects, regexes,
  24635. * sets, strings, symbols, and typed arrays. `Object` objects are compared
  24636. * by their own, not inherited, enumerable properties. Functions and DOM
  24637. * nodes are compared by strict equality, i.e. `===`.
  24638. *
  24639. * @static
  24640. * @memberOf _
  24641. * @since 0.1.0
  24642. * @category Lang
  24643. * @param {*} value The value to compare.
  24644. * @param {*} other The other value to compare.
  24645. * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
  24646. * @example
  24647. *
  24648. * var object = { 'a': 1 };
  24649. * var other = { 'a': 1 };
  24650. *
  24651. * _.isEqual(object, other);
  24652. * // => true
  24653. *
  24654. * object === other;
  24655. * // => false
  24656. */
  24657. function isEqual(value, other) {
  24658. return baseIsEqual(value, other);
  24659. }
  24660. /**
  24661. * Checks if `value` is classified as a `Function` object.
  24662. *
  24663. * @static
  24664. * @memberOf _
  24665. * @since 0.1.0
  24666. * @category Lang
  24667. * @param {*} value The value to check.
  24668. * @returns {boolean} Returns `true` if `value` is a function, else `false`.
  24669. * @example
  24670. *
  24671. * _.isFunction(_);
  24672. * // => true
  24673. *
  24674. * _.isFunction(/abc/);
  24675. * // => false
  24676. */
  24677. function isFunction(value) {
  24678. if (!isObject(value)) {
  24679. return false;
  24680. }
  24681. // The use of `Object#toString` avoids issues with the `typeof` operator
  24682. // in Safari 9 which returns 'object' for typed arrays and other constructors.
  24683. var tag = baseGetTag(value);
  24684. return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
  24685. }
  24686. /**
  24687. * Checks if `value` is a valid array-like length.
  24688. *
  24689. * **Note:** This method is loosely based on
  24690. * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
  24691. *
  24692. * @static
  24693. * @memberOf _
  24694. * @since 4.0.0
  24695. * @category Lang
  24696. * @param {*} value The value to check.
  24697. * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
  24698. * @example
  24699. *
  24700. * _.isLength(3);
  24701. * // => true
  24702. *
  24703. * _.isLength(Number.MIN_VALUE);
  24704. * // => false
  24705. *
  24706. * _.isLength(Infinity);
  24707. * // => false
  24708. *
  24709. * _.isLength('3');
  24710. * // => false
  24711. */
  24712. function isLength(value) {
  24713. return typeof value == 'number' &&
  24714. value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
  24715. }
  24716. /**
  24717. * Checks if `value` is the
  24718. * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
  24719. * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
  24720. *
  24721. * @static
  24722. * @memberOf _
  24723. * @since 0.1.0
  24724. * @category Lang
  24725. * @param {*} value The value to check.
  24726. * @returns {boolean} Returns `true` if `value` is an object, else `false`.
  24727. * @example
  24728. *
  24729. * _.isObject({});
  24730. * // => true
  24731. *
  24732. * _.isObject([1, 2, 3]);
  24733. * // => true
  24734. *
  24735. * _.isObject(_.noop);
  24736. * // => true
  24737. *
  24738. * _.isObject(null);
  24739. * // => false
  24740. */
  24741. function isObject(value) {
  24742. var type = typeof value;
  24743. return value != null && (type == 'object' || type == 'function');
  24744. }
  24745. /**
  24746. * Checks if `value` is object-like. A value is object-like if it's not `null`
  24747. * and has a `typeof` result of "object".
  24748. *
  24749. * @static
  24750. * @memberOf _
  24751. * @since 4.0.0
  24752. * @category Lang
  24753. * @param {*} value The value to check.
  24754. * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
  24755. * @example
  24756. *
  24757. * _.isObjectLike({});
  24758. * // => true
  24759. *
  24760. * _.isObjectLike([1, 2, 3]);
  24761. * // => true
  24762. *
  24763. * _.isObjectLike(_.noop);
  24764. * // => false
  24765. *
  24766. * _.isObjectLike(null);
  24767. * // => false
  24768. */
  24769. function isObjectLike(value) {
  24770. return value != null && typeof value == 'object';
  24771. }
  24772. /**
  24773. * Checks if `value` is classified as a typed array.
  24774. *
  24775. * @static
  24776. * @memberOf _
  24777. * @since 3.0.0
  24778. * @category Lang
  24779. * @param {*} value The value to check.
  24780. * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
  24781. * @example
  24782. *
  24783. * _.isTypedArray(new Uint8Array);
  24784. * // => true
  24785. *
  24786. * _.isTypedArray([]);
  24787. * // => false
  24788. */
  24789. var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
  24790. /**
  24791. * Creates an array of the own enumerable property names of `object`.
  24792. *
  24793. * **Note:** Non-object values are coerced to objects. See the
  24794. * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
  24795. * for more details.
  24796. *
  24797. * @static
  24798. * @since 0.1.0
  24799. * @memberOf _
  24800. * @category Object
  24801. * @param {Object} object The object to query.
  24802. * @returns {Array} Returns the array of property names.
  24803. * @example
  24804. *
  24805. * function Foo() {
  24806. * this.a = 1;
  24807. * this.b = 2;
  24808. * }
  24809. *
  24810. * Foo.prototype.c = 3;
  24811. *
  24812. * _.keys(new Foo);
  24813. * // => ['a', 'b'] (iteration order is not guaranteed)
  24814. *
  24815. * _.keys('hi');
  24816. * // => ['0', '1']
  24817. */
  24818. function keys(object) {
  24819. return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
  24820. }
  24821. /**
  24822. * This method returns a new empty array.
  24823. *
  24824. * @static
  24825. * @memberOf _
  24826. * @since 4.13.0
  24827. * @category Util
  24828. * @returns {Array} Returns the new empty array.
  24829. * @example
  24830. *
  24831. * var arrays = _.times(2, _.stubArray);
  24832. *
  24833. * console.log(arrays);
  24834. * // => [[], []]
  24835. *
  24836. * console.log(arrays[0] === arrays[1]);
  24837. * // => false
  24838. */
  24839. function stubArray() {
  24840. return [];
  24841. }
  24842. /**
  24843. * This method returns `false`.
  24844. *
  24845. * @static
  24846. * @memberOf _
  24847. * @since 4.13.0
  24848. * @category Util
  24849. * @returns {boolean} Returns `false`.
  24850. * @example
  24851. *
  24852. * _.times(2, _.stubFalse);
  24853. * // => [false, false]
  24854. */
  24855. function stubFalse() {
  24856. return false;
  24857. }
  24858. module.exports = isEqual;
  24859. /***/ }),
  24860. /***/ "./node_modules/nprogress/nprogress.js":
  24861. /*!*********************************************!*\
  24862. !*** ./node_modules/nprogress/nprogress.js ***!
  24863. \*********************************************/
  24864. /***/ (function(module, exports, __webpack_require__) {
  24865. var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
  24866. * @license MIT */
  24867. ;(function(root, factory) {
  24868. if (true) {
  24869. !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
  24870. __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
  24871. (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :
  24872. __WEBPACK_AMD_DEFINE_FACTORY__),
  24873. __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
  24874. } else {}
  24875. })(this, function() {
  24876. var NProgress = {};
  24877. NProgress.version = '0.2.0';
  24878. var Settings = NProgress.settings = {
  24879. minimum: 0.08,
  24880. easing: 'ease',
  24881. positionUsing: '',
  24882. speed: 200,
  24883. trickle: true,
  24884. trickleRate: 0.02,
  24885. trickleSpeed: 800,
  24886. showSpinner: true,
  24887. barSelector: '[role="bar"]',
  24888. spinnerSelector: '[role="spinner"]',
  24889. parent: 'body',
  24890. template: '<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'
  24891. };
  24892. /**
  24893. * Updates configuration.
  24894. *
  24895. * NProgress.configure({
  24896. * minimum: 0.1
  24897. * });
  24898. */
  24899. NProgress.configure = function(options) {
  24900. var key, value;
  24901. for (key in options) {
  24902. value = options[key];
  24903. if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value;
  24904. }
  24905. return this;
  24906. };
  24907. /**
  24908. * Last number.
  24909. */
  24910. NProgress.status = null;
  24911. /**
  24912. * Sets the progress bar status, where `n` is a number from `0.0` to `1.0`.
  24913. *
  24914. * NProgress.set(0.4);
  24915. * NProgress.set(1.0);
  24916. */
  24917. NProgress.set = function(n) {
  24918. var started = NProgress.isStarted();
  24919. n = clamp(n, Settings.minimum, 1);
  24920. NProgress.status = (n === 1 ? null : n);
  24921. var progress = NProgress.render(!started),
  24922. bar = progress.querySelector(Settings.barSelector),
  24923. speed = Settings.speed,
  24924. ease = Settings.easing;
  24925. progress.offsetWidth; /* Repaint */
  24926. queue(function(next) {
  24927. // Set positionUsing if it hasn't already been set
  24928. if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS();
  24929. // Add transition
  24930. css(bar, barPositionCSS(n, speed, ease));
  24931. if (n === 1) {
  24932. // Fade out
  24933. css(progress, {
  24934. transition: 'none',
  24935. opacity: 1
  24936. });
  24937. progress.offsetWidth; /* Repaint */
  24938. setTimeout(function() {
  24939. css(progress, {
  24940. transition: 'all ' + speed + 'ms linear',
  24941. opacity: 0
  24942. });
  24943. setTimeout(function() {
  24944. NProgress.remove();
  24945. next();
  24946. }, speed);
  24947. }, speed);
  24948. } else {
  24949. setTimeout(next, speed);
  24950. }
  24951. });
  24952. return this;
  24953. };
  24954. NProgress.isStarted = function() {
  24955. return typeof NProgress.status === 'number';
  24956. };
  24957. /**
  24958. * Shows the progress bar.
  24959. * This is the same as setting the status to 0%, except that it doesn't go backwards.
  24960. *
  24961. * NProgress.start();
  24962. *
  24963. */
  24964. NProgress.start = function() {
  24965. if (!NProgress.status) NProgress.set(0);
  24966. var work = function() {
  24967. setTimeout(function() {
  24968. if (!NProgress.status) return;
  24969. NProgress.trickle();
  24970. work();
  24971. }, Settings.trickleSpeed);
  24972. };
  24973. if (Settings.trickle) work();
  24974. return this;
  24975. };
  24976. /**
  24977. * Hides the progress bar.
  24978. * This is the *sort of* the same as setting the status to 100%, with the
  24979. * difference being `done()` makes some placebo effect of some realistic motion.
  24980. *
  24981. * NProgress.done();
  24982. *
  24983. * If `true` is passed, it will show the progress bar even if its hidden.
  24984. *
  24985. * NProgress.done(true);
  24986. */
  24987. NProgress.done = function(force) {
  24988. if (!force && !NProgress.status) return this;
  24989. return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);
  24990. };
  24991. /**
  24992. * Increments by a random amount.
  24993. */
  24994. NProgress.inc = function(amount) {
  24995. var n = NProgress.status;
  24996. if (!n) {
  24997. return NProgress.start();
  24998. } else {
  24999. if (typeof amount !== 'number') {
  25000. amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95);
  25001. }
  25002. n = clamp(n + amount, 0, 0.994);
  25003. return NProgress.set(n);
  25004. }
  25005. };
  25006. NProgress.trickle = function() {
  25007. return NProgress.inc(Math.random() * Settings.trickleRate);
  25008. };
  25009. /**
  25010. * Waits for all supplied jQuery promises and
  25011. * increases the progress as the promises resolve.
  25012. *
  25013. * @param $promise jQUery Promise
  25014. */
  25015. (function() {
  25016. var initial = 0, current = 0;
  25017. NProgress.promise = function($promise) {
  25018. if (!$promise || $promise.state() === "resolved") {
  25019. return this;
  25020. }
  25021. if (current === 0) {
  25022. NProgress.start();
  25023. }
  25024. initial++;
  25025. current++;
  25026. $promise.always(function() {
  25027. current--;
  25028. if (current === 0) {
  25029. initial = 0;
  25030. NProgress.done();
  25031. } else {
  25032. NProgress.set((initial - current) / initial);
  25033. }
  25034. });
  25035. return this;
  25036. };
  25037. })();
  25038. /**
  25039. * (Internal) renders the progress bar markup based on the `template`
  25040. * setting.
  25041. */
  25042. NProgress.render = function(fromStart) {
  25043. if (NProgress.isRendered()) return document.getElementById('nprogress');
  25044. addClass(document.documentElement, 'nprogress-busy');
  25045. var progress = document.createElement('div');
  25046. progress.id = 'nprogress';
  25047. progress.innerHTML = Settings.template;
  25048. var bar = progress.querySelector(Settings.barSelector),
  25049. perc = fromStart ? '-100' : toBarPerc(NProgress.status || 0),
  25050. parent = document.querySelector(Settings.parent),
  25051. spinner;
  25052. css(bar, {
  25053. transition: 'all 0 linear',
  25054. transform: 'translate3d(' + perc + '%,0,0)'
  25055. });
  25056. if (!Settings.showSpinner) {
  25057. spinner = progress.querySelector(Settings.spinnerSelector);
  25058. spinner && removeElement(spinner);
  25059. }
  25060. if (parent != document.body) {
  25061. addClass(parent, 'nprogress-custom-parent');
  25062. }
  25063. parent.appendChild(progress);
  25064. return progress;
  25065. };
  25066. /**
  25067. * Removes the element. Opposite of render().
  25068. */
  25069. NProgress.remove = function() {
  25070. removeClass(document.documentElement, 'nprogress-busy');
  25071. removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent');
  25072. var progress = document.getElementById('nprogress');
  25073. progress && removeElement(progress);
  25074. };
  25075. /**
  25076. * Checks if the progress bar is rendered.
  25077. */
  25078. NProgress.isRendered = function() {
  25079. return !!document.getElementById('nprogress');
  25080. };
  25081. /**
  25082. * Determine which positioning CSS rule to use.
  25083. */
  25084. NProgress.getPositioningCSS = function() {
  25085. // Sniff on document.body.style
  25086. var bodyStyle = document.body.style;
  25087. // Sniff prefixes
  25088. var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' :
  25089. ('MozTransform' in bodyStyle) ? 'Moz' :
  25090. ('msTransform' in bodyStyle) ? 'ms' :
  25091. ('OTransform' in bodyStyle) ? 'O' : '';
  25092. if (vendorPrefix + 'Perspective' in bodyStyle) {
  25093. // Modern browsers with 3D support, e.g. Webkit, IE10
  25094. return 'translate3d';
  25095. } else if (vendorPrefix + 'Transform' in bodyStyle) {
  25096. // Browsers without 3D support, e.g. IE9
  25097. return 'translate';
  25098. } else {
  25099. // Browsers without translate() support, e.g. IE7-8
  25100. return 'margin';
  25101. }
  25102. };
  25103. /**
  25104. * Helpers
  25105. */
  25106. function clamp(n, min, max) {
  25107. if (n < min) return min;
  25108. if (n > max) return max;
  25109. return n;
  25110. }
  25111. /**
  25112. * (Internal) converts a percentage (`0..1`) to a bar translateX
  25113. * percentage (`-100%..0%`).
  25114. */
  25115. function toBarPerc(n) {
  25116. return (-1 + n) * 100;
  25117. }
  25118. /**
  25119. * (Internal) returns the correct CSS for changing the bar's
  25120. * position given an n percentage, and speed and ease from Settings
  25121. */
  25122. function barPositionCSS(n, speed, ease) {
  25123. var barCSS;
  25124. if (Settings.positionUsing === 'translate3d') {
  25125. barCSS = { transform: 'translate3d('+toBarPerc(n)+'%,0,0)' };
  25126. } else if (Settings.positionUsing === 'translate') {
  25127. barCSS = { transform: 'translate('+toBarPerc(n)+'%,0)' };
  25128. } else {
  25129. barCSS = { 'margin-left': toBarPerc(n)+'%' };
  25130. }
  25131. barCSS.transition = 'all '+speed+'ms '+ease;
  25132. return barCSS;
  25133. }
  25134. /**
  25135. * (Internal) Queues a function to be executed.
  25136. */
  25137. var queue = (function() {
  25138. var pending = [];
  25139. function next() {
  25140. var fn = pending.shift();
  25141. if (fn) {
  25142. fn(next);
  25143. }
  25144. }
  25145. return function(fn) {
  25146. pending.push(fn);
  25147. if (pending.length == 1) next();
  25148. };
  25149. })();
  25150. /**
  25151. * (Internal) Applies css properties to an element, similar to the jQuery
  25152. * css method.
  25153. *
  25154. * While this helper does assist with vendor prefixed property names, it
  25155. * does not perform any manipulation of values prior to setting styles.
  25156. */
  25157. var css = (function() {
  25158. var cssPrefixes = [ 'Webkit', 'O', 'Moz', 'ms' ],
  25159. cssProps = {};
  25160. function camelCase(string) {
  25161. return string.replace(/^-ms-/, 'ms-').replace(/-([\da-z])/gi, function(match, letter) {
  25162. return letter.toUpperCase();
  25163. });
  25164. }
  25165. function getVendorProp(name) {
  25166. var style = document.body.style;
  25167. if (name in style) return name;
  25168. var i = cssPrefixes.length,
  25169. capName = name.charAt(0).toUpperCase() + name.slice(1),
  25170. vendorName;
  25171. while (i--) {
  25172. vendorName = cssPrefixes[i] + capName;
  25173. if (vendorName in style) return vendorName;
  25174. }
  25175. return name;
  25176. }
  25177. function getStyleProp(name) {
  25178. name = camelCase(name);
  25179. return cssProps[name] || (cssProps[name] = getVendorProp(name));
  25180. }
  25181. function applyCss(element, prop, value) {
  25182. prop = getStyleProp(prop);
  25183. element.style[prop] = value;
  25184. }
  25185. return function(element, properties) {
  25186. var args = arguments,
  25187. prop,
  25188. value;
  25189. if (args.length == 2) {
  25190. for (prop in properties) {
  25191. value = properties[prop];
  25192. if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value);
  25193. }
  25194. } else {
  25195. applyCss(element, args[1], args[2]);
  25196. }
  25197. }
  25198. })();
  25199. /**
  25200. * (Internal) Determines if an element or space separated list of class names contains a class name.
  25201. */
  25202. function hasClass(element, name) {
  25203. var list = typeof element == 'string' ? element : classList(element);
  25204. return list.indexOf(' ' + name + ' ') >= 0;
  25205. }
  25206. /**
  25207. * (Internal) Adds a class to an element.
  25208. */
  25209. function addClass(element, name) {
  25210. var oldList = classList(element),
  25211. newList = oldList + name;
  25212. if (hasClass(oldList, name)) return;
  25213. // Trim the opening space.
  25214. element.className = newList.substring(1);
  25215. }
  25216. /**
  25217. * (Internal) Removes a class from an element.
  25218. */
  25219. function removeClass(element, name) {
  25220. var oldList = classList(element),
  25221. newList;
  25222. if (!hasClass(element, name)) return;
  25223. // Replace the class name.
  25224. newList = oldList.replace(' ' + name + ' ', ' ');
  25225. // Trim the opening and closing spaces.
  25226. element.className = newList.substring(1, newList.length - 1);
  25227. }
  25228. /**
  25229. * (Internal) Gets a space separated list of the class names on the element.
  25230. * The list is wrapped with a single space on each end to facilitate finding
  25231. * matches within the list.
  25232. */
  25233. function classList(element) {
  25234. return (' ' + (element.className || '') + ' ').replace(/\s+/gi, ' ');
  25235. }
  25236. /**
  25237. * (Internal) Removes an element from the DOM.
  25238. */
  25239. function removeElement(element) {
  25240. element && element.parentNode && element.parentNode.removeChild(element);
  25241. }
  25242. return NProgress;
  25243. });
  25244. /***/ }),
  25245. /***/ "./node_modules/object-inspect/index.js":
  25246. /*!**********************************************!*\
  25247. !*** ./node_modules/object-inspect/index.js ***!
  25248. \**********************************************/
  25249. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  25250. var hasMap = typeof Map === 'function' && Map.prototype;
  25251. var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;
  25252. var mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;
  25253. var mapForEach = hasMap && Map.prototype.forEach;
  25254. var hasSet = typeof Set === 'function' && Set.prototype;
  25255. var setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;
  25256. var setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;
  25257. var setForEach = hasSet && Set.prototype.forEach;
  25258. var hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;
  25259. var weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;
  25260. var hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;
  25261. var weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;
  25262. var hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;
  25263. var weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;
  25264. var booleanValueOf = Boolean.prototype.valueOf;
  25265. var objectToString = Object.prototype.toString;
  25266. var functionToString = Function.prototype.toString;
  25267. var $match = String.prototype.match;
  25268. var $slice = String.prototype.slice;
  25269. var $replace = String.prototype.replace;
  25270. var $toUpperCase = String.prototype.toUpperCase;
  25271. var $toLowerCase = String.prototype.toLowerCase;
  25272. var $test = RegExp.prototype.test;
  25273. var $concat = Array.prototype.concat;
  25274. var $join = Array.prototype.join;
  25275. var $arrSlice = Array.prototype.slice;
  25276. var $floor = Math.floor;
  25277. var bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;
  25278. var gOPS = Object.getOwnPropertySymbols;
  25279. var symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;
  25280. var hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';
  25281. // ie, `has-tostringtag/shams
  25282. var toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')
  25283. ? Symbol.toStringTag
  25284. : null;
  25285. var isEnumerable = Object.prototype.propertyIsEnumerable;
  25286. var gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (
  25287. [].__proto__ === Array.prototype // eslint-disable-line no-proto
  25288. ? function (O) {
  25289. return O.__proto__; // eslint-disable-line no-proto
  25290. }
  25291. : null
  25292. );
  25293. function addNumericSeparator(num, str) {
  25294. if (
  25295. num === Infinity
  25296. || num === -Infinity
  25297. || num !== num
  25298. || (num && num > -1000 && num < 1000)
  25299. || $test.call(/e/, str)
  25300. ) {
  25301. return str;
  25302. }
  25303. var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;
  25304. if (typeof num === 'number') {
  25305. var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)
  25306. if (int !== num) {
  25307. var intStr = String(int);
  25308. var dec = $slice.call(str, intStr.length + 1);
  25309. return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');
  25310. }
  25311. }
  25312. return $replace.call(str, sepRegex, '$&_');
  25313. }
  25314. var inspectCustom = (__webpack_require__(/*! ./util.inspect */ "?2128").custom);
  25315. var inspectSymbol = inspectCustom && isSymbol(inspectCustom) ? inspectCustom : null;
  25316. module.exports = function inspect_(obj, options, depth, seen) {
  25317. var opts = options || {};
  25318. if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {
  25319. throw new TypeError('option "quoteStyle" must be "single" or "double"');
  25320. }
  25321. if (
  25322. has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'
  25323. ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity
  25324. : opts.maxStringLength !== null
  25325. )
  25326. ) {
  25327. throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');
  25328. }
  25329. var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;
  25330. if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {
  25331. throw new TypeError('option "customInspect", if provided, must be `true`, `false`, or `\'symbol\'`');
  25332. }
  25333. if (
  25334. has(opts, 'indent')
  25335. && opts.indent !== null
  25336. && opts.indent !== '\t'
  25337. && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)
  25338. ) {
  25339. throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');
  25340. }
  25341. if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {
  25342. throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');
  25343. }
  25344. var numericSeparator = opts.numericSeparator;
  25345. if (typeof obj === 'undefined') {
  25346. return 'undefined';
  25347. }
  25348. if (obj === null) {
  25349. return 'null';
  25350. }
  25351. if (typeof obj === 'boolean') {
  25352. return obj ? 'true' : 'false';
  25353. }
  25354. if (typeof obj === 'string') {
  25355. return inspectString(obj, opts);
  25356. }
  25357. if (typeof obj === 'number') {
  25358. if (obj === 0) {
  25359. return Infinity / obj > 0 ? '0' : '-0';
  25360. }
  25361. var str = String(obj);
  25362. return numericSeparator ? addNumericSeparator(obj, str) : str;
  25363. }
  25364. if (typeof obj === 'bigint') {
  25365. var bigIntStr = String(obj) + 'n';
  25366. return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;
  25367. }
  25368. var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;
  25369. if (typeof depth === 'undefined') { depth = 0; }
  25370. if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {
  25371. return isArray(obj) ? '[Array]' : '[Object]';
  25372. }
  25373. var indent = getIndent(opts, depth);
  25374. if (typeof seen === 'undefined') {
  25375. seen = [];
  25376. } else if (indexOf(seen, obj) >= 0) {
  25377. return '[Circular]';
  25378. }
  25379. function inspect(value, from, noIndent) {
  25380. if (from) {
  25381. seen = $arrSlice.call(seen);
  25382. seen.push(from);
  25383. }
  25384. if (noIndent) {
  25385. var newOpts = {
  25386. depth: opts.depth
  25387. };
  25388. if (has(opts, 'quoteStyle')) {
  25389. newOpts.quoteStyle = opts.quoteStyle;
  25390. }
  25391. return inspect_(value, newOpts, depth + 1, seen);
  25392. }
  25393. return inspect_(value, opts, depth + 1, seen);
  25394. }
  25395. if (typeof obj === 'function') {
  25396. var name = nameOf(obj);
  25397. var keys = arrObjKeys(obj, inspect);
  25398. return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');
  25399. }
  25400. if (isSymbol(obj)) {
  25401. var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\(.*\))_[^)]*$/, '$1') : symToString.call(obj);
  25402. return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;
  25403. }
  25404. if (isElement(obj)) {
  25405. var s = '<' + $toLowerCase.call(String(obj.nodeName));
  25406. var attrs = obj.attributes || [];
  25407. for (var i = 0; i < attrs.length; i++) {
  25408. s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);
  25409. }
  25410. s += '>';
  25411. if (obj.childNodes && obj.childNodes.length) { s += '...'; }
  25412. s += '</' + $toLowerCase.call(String(obj.nodeName)) + '>';
  25413. return s;
  25414. }
  25415. if (isArray(obj)) {
  25416. if (obj.length === 0) { return '[]'; }
  25417. var xs = arrObjKeys(obj, inspect);
  25418. if (indent && !singleLineValues(xs)) {
  25419. return '[' + indentedJoin(xs, indent) + ']';
  25420. }
  25421. return '[ ' + $join.call(xs, ', ') + ' ]';
  25422. }
  25423. if (isError(obj)) {
  25424. var parts = arrObjKeys(obj, inspect);
  25425. if ('cause' in obj && !isEnumerable.call(obj, 'cause')) {
  25426. return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';
  25427. }
  25428. if (parts.length === 0) { return '[' + String(obj) + ']'; }
  25429. return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';
  25430. }
  25431. if (typeof obj === 'object' && customInspect) {
  25432. if (inspectSymbol && typeof obj[inspectSymbol] === 'function') {
  25433. return obj[inspectSymbol]();
  25434. } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {
  25435. return obj.inspect();
  25436. }
  25437. }
  25438. if (isMap(obj)) {
  25439. var mapParts = [];
  25440. mapForEach.call(obj, function (value, key) {
  25441. mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));
  25442. });
  25443. return collectionOf('Map', mapSize.call(obj), mapParts, indent);
  25444. }
  25445. if (isSet(obj)) {
  25446. var setParts = [];
  25447. setForEach.call(obj, function (value) {
  25448. setParts.push(inspect(value, obj));
  25449. });
  25450. return collectionOf('Set', setSize.call(obj), setParts, indent);
  25451. }
  25452. if (isWeakMap(obj)) {
  25453. return weakCollectionOf('WeakMap');
  25454. }
  25455. if (isWeakSet(obj)) {
  25456. return weakCollectionOf('WeakSet');
  25457. }
  25458. if (isWeakRef(obj)) {
  25459. return weakCollectionOf('WeakRef');
  25460. }
  25461. if (isNumber(obj)) {
  25462. return markBoxed(inspect(Number(obj)));
  25463. }
  25464. if (isBigInt(obj)) {
  25465. return markBoxed(inspect(bigIntValueOf.call(obj)));
  25466. }
  25467. if (isBoolean(obj)) {
  25468. return markBoxed(booleanValueOf.call(obj));
  25469. }
  25470. if (isString(obj)) {
  25471. return markBoxed(inspect(String(obj)));
  25472. }
  25473. if (!isDate(obj) && !isRegExp(obj)) {
  25474. var ys = arrObjKeys(obj, inspect);
  25475. var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;
  25476. var protoTag = obj instanceof Object ? '' : 'null prototype';
  25477. var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';
  25478. var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';
  25479. var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');
  25480. if (ys.length === 0) { return tag + '{}'; }
  25481. if (indent) {
  25482. return tag + '{' + indentedJoin(ys, indent) + '}';
  25483. }
  25484. return tag + '{ ' + $join.call(ys, ', ') + ' }';
  25485. }
  25486. return String(obj);
  25487. };
  25488. function wrapQuotes(s, defaultStyle, opts) {
  25489. var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '"' : "'";
  25490. return quoteChar + s + quoteChar;
  25491. }
  25492. function quote(s) {
  25493. return $replace.call(String(s), /"/g, '&quot;');
  25494. }
  25495. function isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }
  25496. function isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }
  25497. function isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }
  25498. function isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }
  25499. function isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }
  25500. function isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }
  25501. function isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }
  25502. // Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives
  25503. function isSymbol(obj) {
  25504. if (hasShammedSymbols) {
  25505. return obj && typeof obj === 'object' && obj instanceof Symbol;
  25506. }
  25507. if (typeof obj === 'symbol') {
  25508. return true;
  25509. }
  25510. if (!obj || typeof obj !== 'object' || !symToString) {
  25511. return false;
  25512. }
  25513. try {
  25514. symToString.call(obj);
  25515. return true;
  25516. } catch (e) {}
  25517. return false;
  25518. }
  25519. function isBigInt(obj) {
  25520. if (!obj || typeof obj !== 'object' || !bigIntValueOf) {
  25521. return false;
  25522. }
  25523. try {
  25524. bigIntValueOf.call(obj);
  25525. return true;
  25526. } catch (e) {}
  25527. return false;
  25528. }
  25529. var hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };
  25530. function has(obj, key) {
  25531. return hasOwn.call(obj, key);
  25532. }
  25533. function toStr(obj) {
  25534. return objectToString.call(obj);
  25535. }
  25536. function nameOf(f) {
  25537. if (f.name) { return f.name; }
  25538. var m = $match.call(functionToString.call(f), /^function\s*([\w$]+)/);
  25539. if (m) { return m[1]; }
  25540. return null;
  25541. }
  25542. function indexOf(xs, x) {
  25543. if (xs.indexOf) { return xs.indexOf(x); }
  25544. for (var i = 0, l = xs.length; i < l; i++) {
  25545. if (xs[i] === x) { return i; }
  25546. }
  25547. return -1;
  25548. }
  25549. function isMap(x) {
  25550. if (!mapSize || !x || typeof x !== 'object') {
  25551. return false;
  25552. }
  25553. try {
  25554. mapSize.call(x);
  25555. try {
  25556. setSize.call(x);
  25557. } catch (s) {
  25558. return true;
  25559. }
  25560. return x instanceof Map; // core-js workaround, pre-v2.5.0
  25561. } catch (e) {}
  25562. return false;
  25563. }
  25564. function isWeakMap(x) {
  25565. if (!weakMapHas || !x || typeof x !== 'object') {
  25566. return false;
  25567. }
  25568. try {
  25569. weakMapHas.call(x, weakMapHas);
  25570. try {
  25571. weakSetHas.call(x, weakSetHas);
  25572. } catch (s) {
  25573. return true;
  25574. }
  25575. return x instanceof WeakMap; // core-js workaround, pre-v2.5.0
  25576. } catch (e) {}
  25577. return false;
  25578. }
  25579. function isWeakRef(x) {
  25580. if (!weakRefDeref || !x || typeof x !== 'object') {
  25581. return false;
  25582. }
  25583. try {
  25584. weakRefDeref.call(x);
  25585. return true;
  25586. } catch (e) {}
  25587. return false;
  25588. }
  25589. function isSet(x) {
  25590. if (!setSize || !x || typeof x !== 'object') {
  25591. return false;
  25592. }
  25593. try {
  25594. setSize.call(x);
  25595. try {
  25596. mapSize.call(x);
  25597. } catch (m) {
  25598. return true;
  25599. }
  25600. return x instanceof Set; // core-js workaround, pre-v2.5.0
  25601. } catch (e) {}
  25602. return false;
  25603. }
  25604. function isWeakSet(x) {
  25605. if (!weakSetHas || !x || typeof x !== 'object') {
  25606. return false;
  25607. }
  25608. try {
  25609. weakSetHas.call(x, weakSetHas);
  25610. try {
  25611. weakMapHas.call(x, weakMapHas);
  25612. } catch (s) {
  25613. return true;
  25614. }
  25615. return x instanceof WeakSet; // core-js workaround, pre-v2.5.0
  25616. } catch (e) {}
  25617. return false;
  25618. }
  25619. function isElement(x) {
  25620. if (!x || typeof x !== 'object') { return false; }
  25621. if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {
  25622. return true;
  25623. }
  25624. return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';
  25625. }
  25626. function inspectString(str, opts) {
  25627. if (str.length > opts.maxStringLength) {
  25628. var remaining = str.length - opts.maxStringLength;
  25629. var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');
  25630. return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;
  25631. }
  25632. // eslint-disable-next-line no-control-regex
  25633. var s = $replace.call($replace.call(str, /(['\\])/g, '\\$1'), /[\x00-\x1f]/g, lowbyte);
  25634. return wrapQuotes(s, 'single', opts);
  25635. }
  25636. function lowbyte(c) {
  25637. var n = c.charCodeAt(0);
  25638. var x = {
  25639. 8: 'b',
  25640. 9: 't',
  25641. 10: 'n',
  25642. 12: 'f',
  25643. 13: 'r'
  25644. }[n];
  25645. if (x) { return '\\' + x; }
  25646. return '\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));
  25647. }
  25648. function markBoxed(str) {
  25649. return 'Object(' + str + ')';
  25650. }
  25651. function weakCollectionOf(type) {
  25652. return type + ' { ? }';
  25653. }
  25654. function collectionOf(type, size, entries, indent) {
  25655. var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');
  25656. return type + ' (' + size + ') {' + joinedEntries + '}';
  25657. }
  25658. function singleLineValues(xs) {
  25659. for (var i = 0; i < xs.length; i++) {
  25660. if (indexOf(xs[i], '\n') >= 0) {
  25661. return false;
  25662. }
  25663. }
  25664. return true;
  25665. }
  25666. function getIndent(opts, depth) {
  25667. var baseIndent;
  25668. if (opts.indent === '\t') {
  25669. baseIndent = '\t';
  25670. } else if (typeof opts.indent === 'number' && opts.indent > 0) {
  25671. baseIndent = $join.call(Array(opts.indent + 1), ' ');
  25672. } else {
  25673. return null;
  25674. }
  25675. return {
  25676. base: baseIndent,
  25677. prev: $join.call(Array(depth + 1), baseIndent)
  25678. };
  25679. }
  25680. function indentedJoin(xs, indent) {
  25681. if (xs.length === 0) { return ''; }
  25682. var lineJoiner = '\n' + indent.prev + indent.base;
  25683. return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\n' + indent.prev;
  25684. }
  25685. function arrObjKeys(obj, inspect) {
  25686. var isArr = isArray(obj);
  25687. var xs = [];
  25688. if (isArr) {
  25689. xs.length = obj.length;
  25690. for (var i = 0; i < obj.length; i++) {
  25691. xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';
  25692. }
  25693. }
  25694. var syms = typeof gOPS === 'function' ? gOPS(obj) : [];
  25695. var symMap;
  25696. if (hasShammedSymbols) {
  25697. symMap = {};
  25698. for (var k = 0; k < syms.length; k++) {
  25699. symMap['$' + syms[k]] = syms[k];
  25700. }
  25701. }
  25702. for (var key in obj) { // eslint-disable-line no-restricted-syntax
  25703. if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue
  25704. if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue
  25705. if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {
  25706. // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section
  25707. continue; // eslint-disable-line no-restricted-syntax, no-continue
  25708. } else if ($test.call(/[^\w$]/, key)) {
  25709. xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));
  25710. } else {
  25711. xs.push(key + ': ' + inspect(obj[key], obj));
  25712. }
  25713. }
  25714. if (typeof gOPS === 'function') {
  25715. for (var j = 0; j < syms.length; j++) {
  25716. if (isEnumerable.call(obj, syms[j])) {
  25717. xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));
  25718. }
  25719. }
  25720. }
  25721. return xs;
  25722. }
  25723. /***/ }),
  25724. /***/ "./node_modules/primevue/api/api.esm.js":
  25725. /*!**********************************************!*\
  25726. !*** ./node_modules/primevue/api/api.esm.js ***!
  25727. \**********************************************/
  25728. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  25729. "use strict";
  25730. __webpack_require__.r(__webpack_exports__);
  25731. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  25732. /* harmony export */ "FilterMatchMode": () => (/* binding */ FilterMatchMode),
  25733. /* harmony export */ "FilterOperator": () => (/* binding */ FilterOperator),
  25734. /* harmony export */ "FilterService": () => (/* binding */ FilterService),
  25735. /* harmony export */ "PrimeIcons": () => (/* binding */ PrimeIcons),
  25736. /* harmony export */ "ToastSeverity": () => (/* binding */ ToastSeverities)
  25737. /* harmony export */ });
  25738. /* harmony import */ var primevue_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! primevue/utils */ "./node_modules/primevue/utils/utils.esm.js");
  25739. const FilterMatchMode = {
  25740. STARTS_WITH : 'startsWith',
  25741. CONTAINS : 'contains',
  25742. NOT_CONTAINS : 'notContains',
  25743. ENDS_WITH : 'endsWith',
  25744. EQUALS : 'equals',
  25745. NOT_EQUALS : 'notEquals',
  25746. IN : 'in',
  25747. LESS_THAN : 'lt',
  25748. LESS_THAN_OR_EQUAL_TO : 'lte',
  25749. GREATER_THAN : 'gt',
  25750. GREATER_THAN_OR_EQUAL_TO : 'gte',
  25751. BETWEEN : 'between',
  25752. DATE_IS : 'dateIs',
  25753. DATE_IS_NOT : 'dateIsNot',
  25754. DATE_BEFORE : 'dateBefore',
  25755. DATE_AFTER : 'dateAfter'
  25756. };
  25757. const FilterOperator = {
  25758. AND: 'and',
  25759. OR: 'or'
  25760. };
  25761. const FilterService = {
  25762. filter(value, fields, filterValue, filterMatchMode, filterLocale) {
  25763. let filteredItems = [];
  25764. if (value) {
  25765. for (let item of value) {
  25766. for (let field of fields) {
  25767. let fieldValue = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(item, field);
  25768. if (this.filters[filterMatchMode](fieldValue, filterValue, filterLocale)) {
  25769. filteredItems.push(item);
  25770. break;
  25771. }
  25772. }
  25773. }
  25774. }
  25775. return filteredItems;
  25776. },
  25777. filters: {
  25778. startsWith(value, filter, filterLocale) {
  25779. if (filter === undefined || filter === null || filter.trim() === '') {
  25780. return true;
  25781. }
  25782. if (value === undefined || value === null) {
  25783. return false;
  25784. }
  25785. let filterValue = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.removeAccents(filter.toString()).toLocaleLowerCase(filterLocale);
  25786. let stringValue = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.removeAccents(value.toString()).toLocaleLowerCase(filterLocale);
  25787. return stringValue.slice(0, filterValue.length) === filterValue;
  25788. },
  25789. contains(value, filter, filterLocale) {
  25790. if (filter === undefined || filter === null || (typeof filter === 'string' && filter.trim() === '')) {
  25791. return true;
  25792. }
  25793. if (value === undefined || value === null) {
  25794. return false;
  25795. }
  25796. let filterValue = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.removeAccents(filter.toString()).toLocaleLowerCase(filterLocale);
  25797. let stringValue = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.removeAccents(value.toString()).toLocaleLowerCase(filterLocale);
  25798. return stringValue.indexOf(filterValue) !== -1;
  25799. },
  25800. notContains(value, filter, filterLocale) {
  25801. if (filter === undefined || filter === null || (typeof filter === 'string' && filter.trim() === '')) {
  25802. return true;
  25803. }
  25804. if (value === undefined || value === null) {
  25805. return false;
  25806. }
  25807. let filterValue = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.removeAccents(filter.toString()).toLocaleLowerCase(filterLocale);
  25808. let stringValue = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.removeAccents(value.toString()).toLocaleLowerCase(filterLocale);
  25809. return stringValue.indexOf(filterValue) === -1;
  25810. },
  25811. endsWith(value, filter, filterLocale) {
  25812. if (filter === undefined || filter === null || filter.trim() === '') {
  25813. return true;
  25814. }
  25815. if (value === undefined || value === null) {
  25816. return false;
  25817. }
  25818. let filterValue = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.removeAccents(filter.toString()).toLocaleLowerCase(filterLocale);
  25819. let stringValue = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.removeAccents(value.toString()).toLocaleLowerCase(filterLocale);
  25820. return stringValue.indexOf(filterValue, stringValue.length - filterValue.length) !== -1;
  25821. },
  25822. equals(value, filter, filterLocale) {
  25823. if (filter === undefined || filter === null || (typeof filter === 'string' && filter.trim() === '')) {
  25824. return true;
  25825. }
  25826. if (value === undefined || value === null) {
  25827. return false;
  25828. }
  25829. if (value.getTime && filter.getTime)
  25830. return value.getTime() === filter.getTime();
  25831. else
  25832. return primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.removeAccents(value.toString()).toLocaleLowerCase(filterLocale) == primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.removeAccents(filter.toString()).toLocaleLowerCase(filterLocale);
  25833. },
  25834. notEquals(value, filter, filterLocale) {
  25835. if (filter === undefined || filter === null || (typeof filter === 'string' && filter.trim() === '')) {
  25836. return false;
  25837. }
  25838. if (value === undefined || value === null) {
  25839. return true;
  25840. }
  25841. if (value.getTime && filter.getTime)
  25842. return value.getTime() !== filter.getTime();
  25843. else
  25844. return primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.removeAccents(value.toString()).toLocaleLowerCase(filterLocale) != primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.removeAccents(filter.toString()).toLocaleLowerCase(filterLocale);
  25845. },
  25846. in(value, filter) {
  25847. if (filter === undefined || filter === null || filter.length === 0) {
  25848. return true;
  25849. }
  25850. for (let i = 0; i < filter.length; i++) {
  25851. if (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.equals(value, filter[i])) {
  25852. return true;
  25853. }
  25854. }
  25855. return false;
  25856. },
  25857. between(value, filter) {
  25858. if (filter == null || filter[0] == null || filter[1] == null) {
  25859. return true;
  25860. }
  25861. if (value === undefined || value === null) {
  25862. return false;
  25863. }
  25864. if (value.getTime)
  25865. return filter[0].getTime() <= value.getTime() && value.getTime() <= filter[1].getTime();
  25866. else
  25867. return filter[0] <= value && value <= filter[1];
  25868. },
  25869. lt(value, filter) {
  25870. if (filter === undefined || filter === null) {
  25871. return true;
  25872. }
  25873. if (value === undefined || value === null) {
  25874. return false;
  25875. }
  25876. if (value.getTime && filter.getTime)
  25877. return value.getTime() < filter.getTime();
  25878. else
  25879. return value < filter;
  25880. },
  25881. lte(value, filter) {
  25882. if (filter === undefined || filter === null) {
  25883. return true;
  25884. }
  25885. if (value === undefined || value === null) {
  25886. return false;
  25887. }
  25888. if (value.getTime && filter.getTime)
  25889. return value.getTime() <= filter.getTime();
  25890. else
  25891. return value <= filter;
  25892. },
  25893. gt(value, filter) {
  25894. if (filter === undefined || filter === null) {
  25895. return true;
  25896. }
  25897. if (value === undefined || value === null) {
  25898. return false;
  25899. }
  25900. if (value.getTime && filter.getTime)
  25901. return value.getTime() > filter.getTime();
  25902. else
  25903. return value > filter;
  25904. },
  25905. gte(value, filter) {
  25906. if (filter === undefined || filter === null) {
  25907. return true;
  25908. }
  25909. if (value === undefined || value === null) {
  25910. return false;
  25911. }
  25912. if (value.getTime && filter.getTime)
  25913. return value.getTime() >= filter.getTime();
  25914. else
  25915. return value >= filter;
  25916. },
  25917. dateIs(value, filter) {
  25918. if (filter === undefined || filter === null) {
  25919. return true;
  25920. }
  25921. if (value === undefined || value === null) {
  25922. return false;
  25923. }
  25924. return value.toDateString() === filter.toDateString();
  25925. },
  25926. dateIsNot(value, filter) {
  25927. if (filter === undefined || filter === null) {
  25928. return true;
  25929. }
  25930. if (value === undefined || value === null) {
  25931. return false;
  25932. }
  25933. return value.toDateString() !== filter.toDateString();
  25934. },
  25935. dateBefore(value, filter) {
  25936. if (filter === undefined || filter === null) {
  25937. return true;
  25938. }
  25939. if (value === undefined || value === null) {
  25940. return false;
  25941. }
  25942. return value.getTime() < filter.getTime();
  25943. },
  25944. dateAfter(value, filter) {
  25945. if (filter === undefined || filter === null) {
  25946. return true;
  25947. }
  25948. if (value === undefined || value === null) {
  25949. return false;
  25950. }
  25951. return value.getTime() > filter.getTime();
  25952. }
  25953. },
  25954. register(rule, fn) {
  25955. this.filters[rule] = fn;
  25956. }
  25957. };
  25958. const PrimeIcons = {
  25959. ALIGN_CENTER:'pi pi-align-center',
  25960. ALIGN_JUSTIFY:'pi pi-align-justify',
  25961. ALIGN_LEFT:'pi pi-align-left',
  25962. ALIGN_RIGHT:'pi pi-align-right',
  25963. AMAZON:'pi pi-amazon',
  25964. ANDROID:'pi pi-android',
  25965. ANGLE_DOUBLE_DOWN:'pi pi-angle-double-down',
  25966. ANGLE_DOUBLE_LEFT:'pi pi-angle-double-left',
  25967. ANGLE_DOUBLE_RIGHT:'pi pi-angle-double-right',
  25968. ANGLE_DOUBLE_UP:'pi pi-angle-double-up',
  25969. ANGLE_DOWN:'pi pi-angle-down',
  25970. ANGLE_LEFT:'pi pi-angle-left',
  25971. ANGLE_RIGHT:'pi pi-angle-right',
  25972. ANGLE_UP:'pi pi-angle-up',
  25973. APPLE:'pi pi-apple',
  25974. ARROW_CIRCLE_DOWN:'pi pi-arrow-circle-down',
  25975. ARROW_CIRCLE_LEFT:'pi pi-arrow-circle-left',
  25976. ARROW_CIRCLE_RIGHT:'pi pi-arrow-circle-right',
  25977. ARROW_CIRCLE_UP:'pi pi-arrow-circle-up',
  25978. ARROW_DOWN:'pi pi-arrow-down',
  25979. ARROW_DOWN_LEFT:'pi pi-arrow-down-left',
  25980. ARROW_DOWN_RIGHT:'pi pi-arrow-down-right',
  25981. ARROW_LEFT:'pi pi-arrow-left',
  25982. ARROW_RIGHT:'pi pi-arrow-right',
  25983. ARROW_UP:'pi pi-arrow-up',
  25984. ARROW_UP_LEFT:'pi pi-arrow-up-left',
  25985. ARROW_UP_RIGHT:'pi pi-arrow-up-right',
  25986. ARROW_H:'pi pi-arrow-h',
  25987. ARROW_V:'pi pi-arrow-v',
  25988. AT:'pi pi-at',
  25989. BACKWARD:'pi pi-backward',
  25990. BAN:'pi pi-ban',
  25991. BARS:'pi pi-bars',
  25992. BELL:'pi pi-bell',
  25993. BOLT:'pi pi-bolt',
  25994. BOOK:'pi pi-book',
  25995. BOOKMARK:'pi pi-bookmark',
  25996. BOOKMARK_FILL:'pi pi-bookmark-fill',
  25997. BOX:'pi pi-box',
  25998. BRIEFCASE:'pi pi-briefcase',
  25999. BUILDING:'pi pi-building',
  26000. CALENDAR:'pi pi-calendar',
  26001. CALENDAR_MINUS:'pi pi-calendar-minus',
  26002. CALENDAR_PLUS:'pi pi-calendar-plus',
  26003. CALENDAR_TIMES:'pi pi-calendar-times',
  26004. CAMERA:'pi pi-camera',
  26005. CAR:'pi pi-car',
  26006. CARET_DOWN:'pi pi-caret-down',
  26007. CARET_LEFT:'pi pi-caret-left',
  26008. CARET_RIGHT:'pi pi-caret-right',
  26009. CARET_UP:'pi pi-caret-up',
  26010. CHART_BAR:'pi pi-chart-bar',
  26011. CHART_LINE:'pi pi-chart-line',
  26012. CHART_PIE:'pi pi-chart-pie',
  26013. CHECK:'pi pi-check',
  26014. CHECK_CIRCLE:'pi pi-check-circle',
  26015. CHECK_SQUARE:'pi pi-check-square',
  26016. CHEVRON_CIRCLE_DOWN:'pi pi-chevron-circle-down',
  26017. CHEVRON_CIRCLE_LEFT:'pi pi-chevron-circle-left',
  26018. CHEVRON_CIRCLE_RIGHT:'pi pi-chevron-circle-right',
  26019. CHEVRON_CIRCLE_UP:'pi pi-chevron-circle-up',
  26020. CHEVRON_DOWN:'pi pi-chevron-down',
  26021. CHEVRON_LEFT:'pi pi-chevron-left',
  26022. CHEVRON_RIGHT:'pi pi-chevron-right',
  26023. CHEVRON_UP:'pi pi-chevron-up',
  26024. CIRCLE:'pi pi-circle',
  26025. CIRCLE_FILL:'pi pi-circle-fill',
  26026. CLOCK:'pi pi-clock',
  26027. CLONE:'pi pi-clone',
  26028. CLOUD:'pi pi-cloud',
  26029. CLOUD_DOWNLOAD:'pi pi-cloud-download',
  26030. CLOUD_UPLOAD:'pi pi-cloud-upload',
  26031. CODE:'pi pi-code',
  26032. COG:'pi pi-cog',
  26033. COMMENT:'pi pi-comment',
  26034. COMMENTS:'pi pi-comments',
  26035. COMPASS:'pi pi-compass',
  26036. COPY:'pi pi-copy',
  26037. CREDIT_CARD:'pi pi-credit-card',
  26038. DATABASE:'pi pi-database',
  26039. DESKTOP:'pi pi-desktop',
  26040. DIRECTIONS:'pi pi-directions',
  26041. DIRECTIONS_ALT:'pi pi-directions-alt',
  26042. DISCORD:'pi pi-discord',
  26043. DOLLAR:'pi pi-dollar',
  26044. DOWNLOAD:'pi pi-download',
  26045. EJECT:'pi pi-eject',
  26046. ELLIPSIS_H:'pi pi-ellipsis-h',
  26047. ELLIPSIS_V:'pi pi-ellipsis-v',
  26048. ENVELOPE:'pi pi-envelope',
  26049. EURO:'pi pi-euro',
  26050. EXCLAMATION_CIRCLE:'pi pi-exclamation-circle',
  26051. EXCLAMATION_TRIANGLE :'pi pi-exclamation-triangle',
  26052. EXTERNAL_LINK:'pi pi-external-link',
  26053. EYE:'pi pi-eye',
  26054. EYE_SLASH:'pi pi-eye-slash',
  26055. FACEBOOK:'pi pi-facebook',
  26056. FAST_BACKWARD:'pi pi-fast-backward',
  26057. FAST_FORWARD:'pi pi-fast-forward',
  26058. FILE:'pi pi-file',
  26059. FILE_EXCEL:'pi pi-file-excel',
  26060. FILE_PDF:'pi pi-file-pdf',
  26061. FILTER:'pi pi-filter',
  26062. FILTER_FILL:'pi pi-filter-fill',
  26063. FILTER_SLASH:'pi pi-filter-slash',
  26064. FLAG:'pi pi-flag',
  26065. FLAG_FILL:'pi pi-flag-fill',
  26066. FOLDER:'pi pi-folder',
  26067. FOLDER_OPEN:'pi pi-folder-open',
  26068. FORWARD:'pi pi-forward',
  26069. GITHUB:'pi pi-github',
  26070. GLOBE:'pi pi-globe',
  26071. GOOGLE:'pi pi-google',
  26072. HASHTAG:'pi pi-hashtag',
  26073. HEART:'pi pi-heart',
  26074. HEART_FILL:'pi pi-heart-fill',
  26075. HISTORY:'pi pi-history',
  26076. HOME:'pi pi-home',
  26077. ID_CARD:'pi pi-id-card',
  26078. IMAGE:'pi pi-image',
  26079. IMAGES:'pi pi-images',
  26080. INBOX:'pi pi-inbox',
  26081. INFO:'pi pi-info',
  26082. INFO_CIRCLE:'pi pi-info-circle',
  26083. INSTAGRAM:'pi pi-instagram',
  26084. KEY:'pi pi-key',
  26085. LINK:'pi pi-link',
  26086. LINKEDIN:'pi pi-linkedin',
  26087. LIST:'pi pi-list',
  26088. LOCK:'pi pi-lock',
  26089. LOCK_OPEN:'pi pi-lock-open',
  26090. MAP:'pi pi-map',
  26091. MAP_MARKER:'pi pi-map-marker',
  26092. MICROSOFT:'pi pi-microsoft',
  26093. MINUS:'pi pi-minus',
  26094. MINUS_CIRCLE:'pi pi-minus-circle',
  26095. MOBILE:'pi pi-mobile',
  26096. MONEY_BILL:'pi pi-money-bill',
  26097. MOON:'pi pi-moon',
  26098. PALETTE:'pi pi-palette',
  26099. PAPERCLIP:'pi pi-paperclip',
  26100. PAUSE:'pi pi-pause',
  26101. PAYPAL:'pi pi-paypal',
  26102. PENCIL:'pi pi-pencil',
  26103. PERCENTAGE:'pi pi-percentage',
  26104. PHONE:'pi pi-phone',
  26105. PLAY:'pi pi-play',
  26106. PLUS:'pi pi-plus',
  26107. PLUS_CIRCLE:'pi pi-plus-circle',
  26108. POUND:'pi pi-pound',
  26109. POWER_OFF:'pi pi-power-off',
  26110. PRIME:'pi pi-prime',
  26111. PRINT:'pi pi-print',
  26112. QRCODE:'pi pi-qrcode',
  26113. QUESTION:'pi pi-question',
  26114. QUESTION_CIRCLE:'pi pi-question-circle',
  26115. REDDIT:'pi pi-reddit',
  26116. REFRESH:'pi pi-refresh',
  26117. REPLAY:'pi pi-replay',
  26118. REPLY:'pi pi-reply',
  26119. SAVE:'pi pi-save',
  26120. SEARCH:'pi pi-search',
  26121. SEARCH_MINUS:'pi pi-search-minus',
  26122. SEARCH_PLUS:'pi pi-search-plus',
  26123. SEND:'pi pi-send',
  26124. SERVER:'pi pi-server',
  26125. SHARE_ALT:'pi pi-share-alt',
  26126. SHIELD:'pi pi-shield',
  26127. SHOPPING_BAG:'pi pi-shopping-bag',
  26128. SHOPPING_CART:'pi pi-shopping-cart',
  26129. SIGN_IN:'pi pi-sign-in',
  26130. SIGN_OUT:'pi pi-sign-out',
  26131. SITEMAP:'pi pi-sitemap',
  26132. SLACK:'pi pi-slack',
  26133. SLIDERS_H:'pi pi-sliders-h',
  26134. SLIDERS_V:'pi pi-sliders-v',
  26135. SORT:'pi pi-sort',
  26136. SORT_ALPHA_DOWN:'pi pi-sort-alpha-down',
  26137. SORT_ALPHA_ALT_DOWN:'pi pi-sort-alpha-alt-down',
  26138. SORT_ALPHA_UP:'pi pi-sort-alpha-up',
  26139. SORT_ALPHA_ALT_UP:'pi pi-sort-alpha-alt-up',
  26140. SORT_ALT:'pi pi-sort-alt',
  26141. SORT_ALT_SLASH:'pi pi-sort-slash',
  26142. SORT_AMOUNT_DOWN:'pi pi-sort-amount-down',
  26143. SORT_AMOUNT_DOWN_ALT:'pi pi-sort-amount-down-alt',
  26144. SORT_AMOUNT_UP:'pi pi-sort-amount-up',
  26145. SORT_AMOUNT_UP_ALT:'pi pi-sort-amount-up-alt',
  26146. SORT_DOWN:'pi pi-sort-down',
  26147. SORT_NUMERIC_DOWN:'pi pi-sort-numeric-down',
  26148. SORT_NUMERIC_ALT_DOWN:'pi pi-sort-numeric-alt-down',
  26149. SORT_NUMERIC_UP:'pi pi-sort-numeric-up',
  26150. SORT_NUMERIC_ALT_UP:'pi pi-sort-numeric-alt-up',
  26151. SORT_UP:'pi pi-sort-up',
  26152. SPINNER:'pi pi-spinner',
  26153. STAR:'pi pi-star',
  26154. STAR_FILL:'pi pi-star-fill',
  26155. STEP_BACKWARD:'pi pi-step-backward',
  26156. STEP_BACKWARD_ALT:'pi pi-step-backward-alt',
  26157. STEP_FORWARD:'pi pi-step-forward',
  26158. STEP_FORWARD_ALT:'pi pi-step-forward-alt',
  26159. STOP:'pi pi-stop',
  26160. STOP_CIRCLE:'pi pi-stop-circle',
  26161. SUN:'pi pi-sun',
  26162. SYNC:'pi pi-sync',
  26163. TABLE:'pi pi-table',
  26164. TABLET:'pi pi-tablet',
  26165. TAG:'pi pi-tag',
  26166. TAGS:'pi pi-tags',
  26167. TELEGRAM:'pi pi-telegram',
  26168. TH_LARGE:'pi pi-th-large',
  26169. THUMBS_DOWN:'pi pi-thumbs-down',
  26170. THUMBS_UP:'pi pi-thumbs-up',
  26171. TICKET:'pi pi-ticket',
  26172. TIMES:'pi pi-times',
  26173. TIMES_CIRCLE:'pi pi-times-circle',
  26174. TRASH:'pi pi-trash',
  26175. TWITTER:'pi pi-twitter',
  26176. UNDO:'pi pi-undo',
  26177. UNLOCK:'pi pi-unlock',
  26178. UPLOAD:'pi pi-upload',
  26179. USER:'pi pi-user',
  26180. USER_EDIT:'pi pi-user-edit',
  26181. USER_MINUS:'pi pi-user-minus',
  26182. USER_PLUS:'pi pi-user-plus',
  26183. USERS:'pi pi-users',
  26184. VIDEO:'pi pi-video',
  26185. VIMEO:'pi pi-vimeo',
  26186. VOLUME_DOWN:'pi pi-volume-down',
  26187. VOLUME_OFF:'pi pi-volume-off',
  26188. VOLUME_UP:'pi pi-volume-up',
  26189. WALLET:'pi pi-wallet',
  26190. WHATSAPP:'pi pi-whatsapp',
  26191. WIFI:'pi pi-wifi',
  26192. WINDOW_MAXIMIZE:'pi pi-window-maximize',
  26193. WINDOW_MINIMIZE:'pi pi-window-minimize',
  26194. YOUTUBE:'pi pi-youtube'
  26195. };
  26196. const ToastSeverities = {
  26197. INFO: 'info',
  26198. WARN: 'warn',
  26199. ERROR: 'error',
  26200. SUCCESS: 'success'
  26201. };
  26202. /***/ }),
  26203. /***/ "./node_modules/primevue/autocomplete/autocomplete.esm.js":
  26204. /*!****************************************************************!*\
  26205. !*** ./node_modules/primevue/autocomplete/autocomplete.esm.js ***!
  26206. \****************************************************************/
  26207. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  26208. "use strict";
  26209. __webpack_require__.r(__webpack_exports__);
  26210. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  26211. /* harmony export */ "default": () => (/* binding */ script)
  26212. /* harmony export */ });
  26213. /* harmony import */ var primevue_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! primevue/utils */ "./node_modules/primevue/utils/utils.esm.js");
  26214. /* harmony import */ var primevue_overlayeventbus__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! primevue/overlayeventbus */ "./node_modules/primevue/overlayeventbus/overlayeventbus.esm.js");
  26215. /* harmony import */ var primevue_button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! primevue/button */ "./node_modules/primevue/button/button.esm.js");
  26216. /* harmony import */ var primevue_ripple__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! primevue/ripple */ "./node_modules/primevue/ripple/ripple.esm.js");
  26217. /* harmony import */ var primevue_virtualscroller__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! primevue/virtualscroller */ "./node_modules/primevue/virtualscroller/virtualscroller.esm.js");
  26218. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
  26219. var script = {
  26220. name: 'AutoComplete',
  26221. inheritAttrs: false,
  26222. emits: ['update:modelValue', 'item-select', 'item-unselect', 'dropdown-click', 'clear', 'complete'],
  26223. props: {
  26224. modelValue: null,
  26225. suggestions: {
  26226. type: Array,
  26227. default: null
  26228. },
  26229. field: {
  26230. type: [String,Function],
  26231. default: null
  26232. },
  26233. optionGroupLabel: null,
  26234. optionGroupChildren: null,
  26235. scrollHeight: {
  26236. type: String,
  26237. default: '200px'
  26238. },
  26239. dropdown: {
  26240. type: Boolean,
  26241. default: false
  26242. },
  26243. dropdownMode: {
  26244. type: String,
  26245. default: 'blank'
  26246. },
  26247. autoHighlight: {
  26248. type: Boolean,
  26249. default: false
  26250. },
  26251. multiple: {
  26252. type: Boolean,
  26253. default: false
  26254. },
  26255. minLength: {
  26256. type: Number,
  26257. default: 1
  26258. },
  26259. delay: {
  26260. type: Number,
  26261. default: 300
  26262. },
  26263. appendTo: {
  26264. type: String,
  26265. default: 'body'
  26266. },
  26267. forceSelection: {
  26268. type: Boolean,
  26269. default: false
  26270. },
  26271. completeOnFocus: {
  26272. type: Boolean,
  26273. default: false
  26274. },
  26275. inputClass: null,
  26276. inputStyle: null,
  26277. class: null,
  26278. style: null,
  26279. panelClass: null,
  26280. virtualScrollerOptions: {
  26281. type: Object,
  26282. default: null
  26283. }
  26284. },
  26285. timeout: null,
  26286. outsideClickListener: null,
  26287. resizeListener: null,
  26288. scrollHandler: null,
  26289. overlay: null,
  26290. virtualScroller: null,
  26291. data() {
  26292. return {
  26293. searching: false,
  26294. focused: false,
  26295. overlayVisible: false,
  26296. inputTextValue: null,
  26297. highlightItem: null
  26298. };
  26299. },
  26300. watch: {
  26301. suggestions() {
  26302. if (this.searching) {
  26303. if (this.suggestions && this.suggestions.length)
  26304. this.showOverlay();
  26305. else
  26306. this.hideOverlay();
  26307. this.searching = false;
  26308. }
  26309. }
  26310. },
  26311. beforeUnmount() {
  26312. this.unbindOutsideClickListener();
  26313. this.unbindResizeListener();
  26314. if (this.scrollHandler) {
  26315. this.scrollHandler.destroy();
  26316. this.scrollHandler = null;
  26317. }
  26318. if (this.overlay) {
  26319. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ZIndexUtils.clear(this.overlay);
  26320. this.overlay = null;
  26321. }
  26322. },
  26323. updated() {
  26324. if (this.overlayVisible) {
  26325. this.alignOverlay();
  26326. }
  26327. },
  26328. methods: {
  26329. getOptionIndex(index, fn) {
  26330. return this.virtualScrollerDisabled ? index : (fn && fn(index)['index']);
  26331. },
  26332. getOptionRenderKey(option) {
  26333. return this.getItemContent(option);
  26334. },
  26335. getOptionGroupRenderKey(optionGroup) {
  26336. return primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel);
  26337. },
  26338. getOptionGroupLabel(optionGroup) {
  26339. return primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel);
  26340. },
  26341. getOptionGroupChildren(optionGroup) {
  26342. return primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren);
  26343. },
  26344. onOverlayEnter(el) {
  26345. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ZIndexUtils.set('overlay', el, this.$primevue.config.zIndex.overlay);
  26346. this.alignOverlay();
  26347. this.bindOutsideClickListener();
  26348. this.bindScrollListener();
  26349. this.bindResizeListener();
  26350. if (this.autoHighlight && this.suggestions && this.suggestions.length) {
  26351. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addClass(this.list.firstElementChild, 'p-highlight');
  26352. }
  26353. },
  26354. onOverlayLeave() {
  26355. this.unbindOutsideClickListener();
  26356. this.unbindScrollListener();
  26357. this.unbindResizeListener();
  26358. this.overlay = null;
  26359. },
  26360. onOverlayAfterLeave(el) {
  26361. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ZIndexUtils.clear(el);
  26362. },
  26363. alignOverlay() {
  26364. let target = this.multiple ? this.$refs.multiContainer : this.$refs.input;
  26365. if (this.appendDisabled) {
  26366. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.relativePosition(this.overlay, target);
  26367. }
  26368. else {
  26369. this.overlay.style.minWidth = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(target) + 'px';
  26370. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.absolutePosition(this.overlay, target);
  26371. }
  26372. },
  26373. bindOutsideClickListener() {
  26374. if (!this.outsideClickListener) {
  26375. this.outsideClickListener = (event) => {
  26376. if (this.overlayVisible && this.overlay && this.isOutsideClicked(event)) {
  26377. this.hideOverlay();
  26378. }
  26379. };
  26380. document.addEventListener('click', this.outsideClickListener);
  26381. }
  26382. },
  26383. bindScrollListener() {
  26384. if (!this.scrollHandler) {
  26385. this.scrollHandler = new primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ConnectedOverlayScrollHandler(this.$refs.container, () => {
  26386. if (this.overlayVisible) {
  26387. this.hideOverlay();
  26388. }
  26389. });
  26390. }
  26391. this.scrollHandler.bindScrollListener();
  26392. },
  26393. unbindScrollListener() {
  26394. if (this.scrollHandler) {
  26395. this.scrollHandler.unbindScrollListener();
  26396. }
  26397. },
  26398. bindResizeListener() {
  26399. if (!this.resizeListener) {
  26400. this.resizeListener = () => {
  26401. if (this.overlayVisible) {
  26402. this.hideOverlay();
  26403. }
  26404. };
  26405. window.addEventListener('resize', this.resizeListener);
  26406. }
  26407. },
  26408. unbindResizeListener() {
  26409. if (this.resizeListener) {
  26410. window.removeEventListener('resize', this.resizeListener);
  26411. this.resizeListener = null;
  26412. }
  26413. },
  26414. isOutsideClicked(event) {
  26415. return !this.overlay.contains(event.target) && !this.isInputClicked(event) && !this.isDropdownClicked(event);
  26416. },
  26417. isInputClicked(event) {
  26418. if (this.multiple)
  26419. return event.target === this.$refs.multiContainer || this.$refs.multiContainer.contains(event.target);
  26420. else
  26421. return event.target === this.$refs.input;
  26422. },
  26423. isDropdownClicked(event) {
  26424. return this.$refs.dropdownButton ? (event.target === this.$refs.dropdownButton || this.$refs.dropdownButton.$el.contains(event.target)) : false;
  26425. },
  26426. unbindOutsideClickListener() {
  26427. if (this.outsideClickListener) {
  26428. document.removeEventListener('click', this.outsideClickListener);
  26429. this.outsideClickListener = null;
  26430. }
  26431. },
  26432. selectItem(event, item) {
  26433. if (this.multiple) {
  26434. this.$refs.input.value = '';
  26435. this.inputTextValue = '';
  26436. if (!this.isSelected(item)) {
  26437. let newValue = this.modelValue ? [...this.modelValue, item] : [item];
  26438. this.$emit('update:modelValue', newValue);
  26439. }
  26440. }
  26441. else {
  26442. this.$emit('update:modelValue', item);
  26443. }
  26444. this.$emit('item-select', {
  26445. originalEvent: event,
  26446. value: item
  26447. });
  26448. this.focus();
  26449. this.hideOverlay();
  26450. },
  26451. onMultiContainerClick(event) {
  26452. this.focus();
  26453. if(this.completeOnFocus) {
  26454. this.search(event, '', 'click');
  26455. }
  26456. },
  26457. removeItem(event, index) {
  26458. let removedValue = this.modelValue[index];
  26459. let newValue = this.modelValue.filter((val, i) => (index !== i));
  26460. this.$emit('update:modelValue', newValue);
  26461. this.$emit('item-unselect', {
  26462. originalEvent: event,
  26463. value: removedValue
  26464. });
  26465. },
  26466. onDropdownClick(event) {
  26467. this.focus();
  26468. const query = this.$refs.input.value;
  26469. if (this.dropdownMode === 'blank')
  26470. this.search(event, '', 'dropdown');
  26471. else if (this.dropdownMode === 'current')
  26472. this.search(event, query, 'dropdown');
  26473. this.$emit('dropdown-click', {
  26474. originalEvent: event,
  26475. query: query
  26476. });
  26477. },
  26478. getItemContent(item) {
  26479. return this.field ? primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(item, this.field) : item;
  26480. },
  26481. showOverlay() {
  26482. this.overlayVisible = true;
  26483. },
  26484. hideOverlay() {
  26485. this.overlayVisible = false;
  26486. },
  26487. focus() {
  26488. this.$refs.input.focus();
  26489. },
  26490. search(event, query, source) {
  26491. //allow empty string but not undefined or null
  26492. if (query === undefined || query === null) {
  26493. return;
  26494. }
  26495. //do not search blank values on input change
  26496. if (source === 'input' && query.trim().length === 0) {
  26497. return;
  26498. }
  26499. this.searching = true;
  26500. this.$emit('complete', {
  26501. originalEvent: event,
  26502. query: query
  26503. });
  26504. },
  26505. onInputClicked(event) {
  26506. if(this.completeOnFocus) {
  26507. this.search(event, '', 'click');
  26508. }
  26509. },
  26510. onInput(event) {
  26511. this.inputTextValue = event.target.value;
  26512. if (this.timeout) {
  26513. clearTimeout(this.timeout);
  26514. }
  26515. let query = event.target.value;
  26516. if (!this.multiple) {
  26517. this.$emit('update:modelValue', query);
  26518. }
  26519. if (query.length === 0) {
  26520. this.hideOverlay();
  26521. this.$emit('clear');
  26522. }
  26523. else {
  26524. if (query.length >= this.minLength) {
  26525. this.timeout = setTimeout(() => {
  26526. this.search(event, query, 'input');
  26527. }, this.delay);
  26528. }
  26529. else {
  26530. this.hideOverlay();
  26531. }
  26532. }
  26533. },
  26534. onFocus() {
  26535. this.focused = true;
  26536. },
  26537. onBlur() {
  26538. this.focused = false;
  26539. },
  26540. onKeyDown(event) {
  26541. if (this.overlayVisible) {
  26542. let highlightItem = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.findSingle(this.list, 'li.p-highlight');
  26543. switch(event.which) {
  26544. //down
  26545. case 40:
  26546. if (highlightItem) {
  26547. let nextElement = this.findNextItem(highlightItem);
  26548. if (nextElement) {
  26549. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addClass(nextElement, 'p-highlight');
  26550. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.removeClass(highlightItem, 'p-highlight');
  26551. nextElement.scrollIntoView({ block: 'nearest', inline: 'start' });
  26552. }
  26553. }
  26554. else {
  26555. highlightItem = this.list.firstElementChild;
  26556. if (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(highlightItem, 'p-autocomplete-item-group')) {
  26557. highlightItem = this.findNextItem(highlightItem);
  26558. }
  26559. if (highlightItem) {
  26560. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addClass(highlightItem, 'p-highlight');
  26561. }
  26562. }
  26563. event.preventDefault();
  26564. break;
  26565. //up
  26566. case 38:
  26567. if (highlightItem) {
  26568. let previousElement = this.findPrevItem(highlightItem);
  26569. if (previousElement) {
  26570. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addClass(previousElement, 'p-highlight');
  26571. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.removeClass(highlightItem, 'p-highlight');
  26572. previousElement.scrollIntoView({ block: 'nearest', inline: 'start' });
  26573. }
  26574. }
  26575. event.preventDefault();
  26576. break;
  26577. //enter
  26578. case 13:
  26579. if (highlightItem) {
  26580. this.selectHighlightItem(event, highlightItem);
  26581. this.hideOverlay();
  26582. }
  26583. event.preventDefault();
  26584. break;
  26585. //escape
  26586. case 27:
  26587. this.hideOverlay();
  26588. event.preventDefault();
  26589. break;
  26590. //tab
  26591. case 9:
  26592. if (highlightItem) {
  26593. this.selectHighlightItem(event, highlightItem);
  26594. }
  26595. this.hideOverlay();
  26596. break;
  26597. }
  26598. }
  26599. if (this.multiple) {
  26600. switch(event.which) {
  26601. //backspace
  26602. case 8:
  26603. if (this.modelValue && this.modelValue.length && !this.$refs.input.value) {
  26604. let removedValue = this.modelValue[this.modelValue.length - 1];
  26605. let newValue = this.modelValue.slice(0, -1);
  26606. this.$emit('update:modelValue', newValue);
  26607. this.$emit('item-unselect', {
  26608. originalEvent: event,
  26609. value: removedValue
  26610. });
  26611. }
  26612. break;
  26613. }
  26614. }
  26615. },
  26616. selectHighlightItem(event, item) {
  26617. if (this.optionGroupLabel) {
  26618. let optionGroup = this.suggestions[item.dataset.group];
  26619. this.selectItem(event, this.getOptionGroupChildren(optionGroup)[item.dataset.index]);
  26620. }
  26621. else {
  26622. this.selectItem(event, this.suggestions[item.dataset.index]);
  26623. }
  26624. },
  26625. findNextItem(item) {
  26626. let nextItem = item.nextElementSibling;
  26627. if (nextItem)
  26628. return primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(nextItem, 'p-autocomplete-item-group') ? this.findNextItem(nextItem) : nextItem;
  26629. else
  26630. return null;
  26631. },
  26632. findPrevItem(item) {
  26633. let prevItem = item.previousElementSibling;
  26634. if (prevItem)
  26635. return primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(prevItem, 'p-autocomplete-item-group') ? this.findPrevItem(prevItem) : prevItem;
  26636. else
  26637. return null;
  26638. },
  26639. onChange(event) {
  26640. if (this.forceSelection) {
  26641. let valid = false;
  26642. let inputValue = event.target.value.trim();
  26643. if (this.suggestions) {
  26644. for (let item of this.suggestions) {
  26645. let itemValue = this.field ? primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(item, this.field) : item;
  26646. if (itemValue && inputValue === itemValue.trim()) {
  26647. valid = true;
  26648. this.selectItem(event, item);
  26649. break;
  26650. }
  26651. }
  26652. }
  26653. if (!valid) {
  26654. this.$refs.input.value = '';
  26655. this.inputTextValue = '';
  26656. this.$emit('clear');
  26657. if (!this.multiple) {
  26658. this.$emit('update:modelValue', null);
  26659. }
  26660. }
  26661. }
  26662. },
  26663. isSelected(val) {
  26664. let selected = false;
  26665. if (this.modelValue && this.modelValue.length) {
  26666. for (let i = 0; i < this.modelValue.length; i++) {
  26667. if (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.equals(this.modelValue[i], val)) {
  26668. selected = true;
  26669. break;
  26670. }
  26671. }
  26672. }
  26673. return selected;
  26674. },
  26675. overlayRef(el) {
  26676. this.overlay = el;
  26677. },
  26678. listRef(el, contentRef) {
  26679. this.list = el;
  26680. contentRef && contentRef(el); // for virtualScroller
  26681. },
  26682. virtualScrollerRef(el) {
  26683. this.virtualScroller = el;
  26684. },
  26685. onOverlayClick(event) {
  26686. primevue_overlayeventbus__WEBPACK_IMPORTED_MODULE_1__["default"].emit('overlay-click', {
  26687. originalEvent: event,
  26688. target: this.$el
  26689. });
  26690. }
  26691. },
  26692. computed: {
  26693. containerClass() {
  26694. return ['p-autocomplete p-component p-inputwrapper', this.class, {
  26695. 'p-autocomplete-dd': this.dropdown,
  26696. 'p-autocomplete-multiple': this.multiple,
  26697. 'p-inputwrapper-filled': ((this.modelValue) || (this.inputTextValue && this.inputTextValue.length)),
  26698. 'p-inputwrapper-focus': this.focused
  26699. }];
  26700. },
  26701. inputFieldClass() {
  26702. return ['p-autocomplete-input p-inputtext p-component', this.inputClass, {
  26703. 'p-autocomplete-dd-input': this.dropdown,
  26704. 'p-disabled': this.$attrs.disabled
  26705. }];
  26706. },
  26707. multiContainerClass() {
  26708. return ['p-autocomplete-multiple-container p-component p-inputtext', {
  26709. 'p-disabled': this.$attrs.disabled,
  26710. 'p-focus': this.focused
  26711. }];
  26712. },
  26713. panelStyleClass() {
  26714. return [
  26715. 'p-autocomplete-panel p-component', this.panelClass, {
  26716. 'p-input-filled': this.$primevue.config.inputStyle === 'filled',
  26717. 'p-ripple-disabled': this.$primevue.config.ripple === false
  26718. }];
  26719. },
  26720. inputValue() {
  26721. if (this.modelValue) {
  26722. if (this.field && typeof this.modelValue === 'object') {
  26723. const resolvedFieldData = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(this.modelValue, this.field);
  26724. return resolvedFieldData != null ? resolvedFieldData : this.modelValue;
  26725. }
  26726. else
  26727. return this.modelValue;
  26728. }
  26729. else {
  26730. return '';
  26731. }
  26732. },
  26733. listId() {
  26734. return (0,primevue_utils__WEBPACK_IMPORTED_MODULE_0__.UniqueComponentId)() + '_list';
  26735. },
  26736. appendDisabled() {
  26737. return this.appendTo === 'self';
  26738. },
  26739. appendTarget() {
  26740. return this.appendDisabled ? null : this.appendTo;
  26741. },
  26742. virtualScrollerDisabled() {
  26743. return !this.virtualScrollerOptions;
  26744. }
  26745. },
  26746. components: {
  26747. 'Button': primevue_button__WEBPACK_IMPORTED_MODULE_2__["default"],
  26748. 'VirtualScroller': primevue_virtualscroller__WEBPACK_IMPORTED_MODULE_4__["default"]
  26749. },
  26750. directives: {
  26751. 'ripple': primevue_ripple__WEBPACK_IMPORTED_MODULE_3__["default"]
  26752. }
  26753. };
  26754. const _hoisted_1 = ["aria-owns", "aria-expanded"];
  26755. const _hoisted_2 = ["value", "aria-controls"];
  26756. const _hoisted_3 = { class: "p-autocomplete-token-label" };
  26757. const _hoisted_4 = ["onClick"];
  26758. const _hoisted_5 = { class: "p-autocomplete-input-token" };
  26759. const _hoisted_6 = ["aria-controls"];
  26760. const _hoisted_7 = {
  26761. key: 2,
  26762. class: "p-autocomplete-loader pi pi-spinner pi-spin"
  26763. };
  26764. const _hoisted_8 = ["id"];
  26765. const _hoisted_9 = ["onClick", "data-index"];
  26766. const _hoisted_10 = { class: "p-autocomplete-item-group" };
  26767. const _hoisted_11 = ["onClick", "data-group", "data-index"];
  26768. function render(_ctx, _cache, $props, $setup, $data, $options) {
  26769. const _component_Button = (0,vue__WEBPACK_IMPORTED_MODULE_5__.resolveComponent)("Button");
  26770. const _component_VirtualScroller = (0,vue__WEBPACK_IMPORTED_MODULE_5__.resolveComponent)("VirtualScroller");
  26771. const _directive_ripple = (0,vue__WEBPACK_IMPORTED_MODULE_5__.resolveDirective)("ripple");
  26772. return ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)("span", {
  26773. ref: "container",
  26774. class: (0,vue__WEBPACK_IMPORTED_MODULE_5__.normalizeClass)($options.containerClass),
  26775. "aria-haspopup": "listbox",
  26776. "aria-owns": $options.listId,
  26777. "aria-expanded": $data.overlayVisible,
  26778. style: (0,vue__WEBPACK_IMPORTED_MODULE_5__.normalizeStyle)($props.style)
  26779. }, [
  26780. (!$props.multiple)
  26781. ? ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)("input", (0,vue__WEBPACK_IMPORTED_MODULE_5__.mergeProps)({
  26782. key: 0,
  26783. ref: "input",
  26784. class: $options.inputFieldClass,
  26785. style: $props.inputStyle
  26786. }, _ctx.$attrs, {
  26787. value: $options.inputValue,
  26788. onClick: _cache[0] || (_cache[0] = (...args) => ($options.onInputClicked && $options.onInputClicked(...args))),
  26789. onInput: _cache[1] || (_cache[1] = (...args) => ($options.onInput && $options.onInput(...args))),
  26790. onFocus: _cache[2] || (_cache[2] = (...args) => ($options.onFocus && $options.onFocus(...args))),
  26791. onBlur: _cache[3] || (_cache[3] = (...args) => ($options.onBlur && $options.onBlur(...args))),
  26792. onKeydown: _cache[4] || (_cache[4] = (...args) => ($options.onKeyDown && $options.onKeyDown(...args))),
  26793. onChange: _cache[5] || (_cache[5] = (...args) => ($options.onChange && $options.onChange(...args))),
  26794. type: "text",
  26795. autoComplete: "off",
  26796. role: "searchbox",
  26797. "aria-autocomplete": "list",
  26798. "aria-controls": $options.listId
  26799. }), null, 16, _hoisted_2))
  26800. : (0,vue__WEBPACK_IMPORTED_MODULE_5__.createCommentVNode)("", true),
  26801. ($props.multiple)
  26802. ? ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)("ul", {
  26803. key: 1,
  26804. ref: "multiContainer",
  26805. class: (0,vue__WEBPACK_IMPORTED_MODULE_5__.normalizeClass)($options.multiContainerClass),
  26806. onClick: _cache[11] || (_cache[11] = (...args) => ($options.onMultiContainerClick && $options.onMultiContainerClick(...args)))
  26807. }, [
  26808. ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_5__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_5__.renderList)($props.modelValue, (item, i) => {
  26809. return ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)("li", {
  26810. key: i,
  26811. class: "p-autocomplete-token"
  26812. }, [
  26813. (0,vue__WEBPACK_IMPORTED_MODULE_5__.renderSlot)(_ctx.$slots, "chip", { value: item }, () => [
  26814. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementVNode)("span", _hoisted_3, (0,vue__WEBPACK_IMPORTED_MODULE_5__.toDisplayString)($options.getItemContent(item)), 1)
  26815. ]),
  26816. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementVNode)("span", {
  26817. class: "p-autocomplete-token-icon pi pi-times-circle",
  26818. onClick: $event => ($options.removeItem($event, i))
  26819. }, null, 8, _hoisted_4)
  26820. ]))
  26821. }), 128)),
  26822. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementVNode)("li", _hoisted_5, [
  26823. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementVNode)("input", (0,vue__WEBPACK_IMPORTED_MODULE_5__.mergeProps)({
  26824. ref: "input",
  26825. type: "text",
  26826. autoComplete: "off"
  26827. }, _ctx.$attrs, {
  26828. onInput: _cache[6] || (_cache[6] = (...args) => ($options.onInput && $options.onInput(...args))),
  26829. onFocus: _cache[7] || (_cache[7] = (...args) => ($options.onFocus && $options.onFocus(...args))),
  26830. onBlur: _cache[8] || (_cache[8] = (...args) => ($options.onBlur && $options.onBlur(...args))),
  26831. onKeydown: _cache[9] || (_cache[9] = (...args) => ($options.onKeyDown && $options.onKeyDown(...args))),
  26832. onChange: _cache[10] || (_cache[10] = (...args) => ($options.onChange && $options.onChange(...args))),
  26833. role: "searchbox",
  26834. "aria-autocomplete": "list",
  26835. "aria-controls": $options.listId
  26836. }), null, 16, _hoisted_6)
  26837. ])
  26838. ], 2))
  26839. : (0,vue__WEBPACK_IMPORTED_MODULE_5__.createCommentVNode)("", true),
  26840. ($data.searching)
  26841. ? ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)("i", _hoisted_7))
  26842. : (0,vue__WEBPACK_IMPORTED_MODULE_5__.createCommentVNode)("", true),
  26843. ($props.dropdown)
  26844. ? ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createBlock)(_component_Button, {
  26845. key: 3,
  26846. ref: "dropdownButton",
  26847. type: "button",
  26848. icon: "pi pi-chevron-down",
  26849. class: "p-autocomplete-dropdown",
  26850. disabled: _ctx.$attrs.disabled,
  26851. onClick: $options.onDropdownClick
  26852. }, null, 8, ["disabled", "onClick"]))
  26853. : (0,vue__WEBPACK_IMPORTED_MODULE_5__.createCommentVNode)("", true),
  26854. ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createBlock)(vue__WEBPACK_IMPORTED_MODULE_5__.Teleport, {
  26855. to: $options.appendTarget,
  26856. disabled: $options.appendDisabled
  26857. }, [
  26858. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createVNode)(vue__WEBPACK_IMPORTED_MODULE_5__.Transition, {
  26859. name: "p-connected-overlay",
  26860. onEnter: $options.onOverlayEnter,
  26861. onLeave: $options.onOverlayLeave,
  26862. onAfterLeave: $options.onOverlayAfterLeave
  26863. }, {
  26864. default: (0,vue__WEBPACK_IMPORTED_MODULE_5__.withCtx)(() => [
  26865. ($data.overlayVisible)
  26866. ? ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)("div", {
  26867. key: 0,
  26868. ref: $options.overlayRef,
  26869. class: (0,vue__WEBPACK_IMPORTED_MODULE_5__.normalizeClass)($options.panelStyleClass),
  26870. style: (0,vue__WEBPACK_IMPORTED_MODULE_5__.normalizeStyle)({'max-height': $options.virtualScrollerDisabled ? $props.scrollHeight : ''}),
  26871. onClick: _cache[12] || (_cache[12] = (...args) => ($options.onOverlayClick && $options.onOverlayClick(...args)))
  26872. }, [
  26873. (0,vue__WEBPACK_IMPORTED_MODULE_5__.renderSlot)(_ctx.$slots, "header", {
  26874. value: $props.modelValue,
  26875. suggestions: $props.suggestions
  26876. }),
  26877. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createVNode)(_component_VirtualScroller, (0,vue__WEBPACK_IMPORTED_MODULE_5__.mergeProps)({ ref: $options.virtualScrollerRef }, $props.virtualScrollerOptions, {
  26878. style: {'height': $props.scrollHeight},
  26879. items: $props.suggestions,
  26880. disabled: $options.virtualScrollerDisabled
  26881. }), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createSlots)({
  26882. content: (0,vue__WEBPACK_IMPORTED_MODULE_5__.withCtx)(({ styleClass, contentRef, items, getItemOptions, contentStyle }) => [
  26883. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementVNode)("ul", {
  26884. id: $options.listId,
  26885. ref: (el) => $options.listRef(el, contentRef),
  26886. class: (0,vue__WEBPACK_IMPORTED_MODULE_5__.normalizeClass)(['p-autocomplete-items', styleClass]),
  26887. style: (0,vue__WEBPACK_IMPORTED_MODULE_5__.normalizeStyle)(contentStyle),
  26888. role: "listbox"
  26889. }, [
  26890. (!$props.optionGroupLabel)
  26891. ? ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_5__.Fragment, { key: 0 }, (0,vue__WEBPACK_IMPORTED_MODULE_5__.renderList)(items, (item, i) => {
  26892. return (0,vue__WEBPACK_IMPORTED_MODULE_5__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)("li", {
  26893. class: "p-autocomplete-item",
  26894. key: $options.getOptionRenderKey(item),
  26895. onClick: $event => ($options.selectItem($event, item)),
  26896. role: "option",
  26897. "data-index": $options.getOptionIndex(i, getItemOptions)
  26898. }, [
  26899. (0,vue__WEBPACK_IMPORTED_MODULE_5__.renderSlot)(_ctx.$slots, "item", {
  26900. item: item,
  26901. index: $options.getOptionIndex(i, getItemOptions)
  26902. }, () => [
  26903. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_5__.toDisplayString)($options.getItemContent(item)), 1)
  26904. ])
  26905. ], 8, _hoisted_9)), [
  26906. [_directive_ripple]
  26907. ])
  26908. }), 128))
  26909. : ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_5__.Fragment, { key: 1 }, (0,vue__WEBPACK_IMPORTED_MODULE_5__.renderList)(items, (optionGroup, i) => {
  26910. return ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_5__.Fragment, {
  26911. key: $options.getOptionGroupRenderKey(optionGroup)
  26912. }, [
  26913. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementVNode)("li", _hoisted_10, [
  26914. (0,vue__WEBPACK_IMPORTED_MODULE_5__.renderSlot)(_ctx.$slots, "optiongroup", {
  26915. item: optionGroup,
  26916. index: $options.getOptionIndex(i, getItemOptions)
  26917. }, () => [
  26918. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_5__.toDisplayString)($options.getOptionGroupLabel(optionGroup)), 1)
  26919. ])
  26920. ]),
  26921. ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_5__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_5__.renderList)($options.getOptionGroupChildren(optionGroup), (item, j) => {
  26922. return (0,vue__WEBPACK_IMPORTED_MODULE_5__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)("li", {
  26923. class: "p-autocomplete-item",
  26924. key: j,
  26925. onClick: $event => ($options.selectItem($event, item)),
  26926. role: "option",
  26927. "data-group": i,
  26928. "data-index": $options.getOptionIndex(j, getItemOptions)
  26929. }, [
  26930. (0,vue__WEBPACK_IMPORTED_MODULE_5__.renderSlot)(_ctx.$slots, "item", {
  26931. item: item,
  26932. index: $options.getOptionIndex(j, getItemOptions)
  26933. }, () => [
  26934. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_5__.toDisplayString)($options.getItemContent(item)), 1)
  26935. ])
  26936. ], 8, _hoisted_11)), [
  26937. [_directive_ripple]
  26938. ])
  26939. }), 128))
  26940. ], 64))
  26941. }), 128))
  26942. ], 14, _hoisted_8)
  26943. ]),
  26944. _: 2
  26945. }, [
  26946. (_ctx.$slots.loader)
  26947. ? {
  26948. name: "loader",
  26949. fn: (0,vue__WEBPACK_IMPORTED_MODULE_5__.withCtx)(({ options }) => [
  26950. (0,vue__WEBPACK_IMPORTED_MODULE_5__.renderSlot)(_ctx.$slots, "loader", { options: options })
  26951. ])
  26952. }
  26953. : undefined
  26954. ]), 1040, ["style", "items", "disabled"]),
  26955. (0,vue__WEBPACK_IMPORTED_MODULE_5__.renderSlot)(_ctx.$slots, "footer", {
  26956. value: $props.modelValue,
  26957. suggestions: $props.suggestions
  26958. })
  26959. ], 6))
  26960. : (0,vue__WEBPACK_IMPORTED_MODULE_5__.createCommentVNode)("", true)
  26961. ]),
  26962. _: 3
  26963. }, 8, ["onEnter", "onLeave", "onAfterLeave"])
  26964. ], 8, ["to", "disabled"]))
  26965. ], 14, _hoisted_1))
  26966. }
  26967. function styleInject(css, ref) {
  26968. if ( ref === void 0 ) ref = {};
  26969. var insertAt = ref.insertAt;
  26970. if (!css || typeof document === 'undefined') { return; }
  26971. var head = document.head || document.getElementsByTagName('head')[0];
  26972. var style = document.createElement('style');
  26973. style.type = 'text/css';
  26974. if (insertAt === 'top') {
  26975. if (head.firstChild) {
  26976. head.insertBefore(style, head.firstChild);
  26977. } else {
  26978. head.appendChild(style);
  26979. }
  26980. } else {
  26981. head.appendChild(style);
  26982. }
  26983. if (style.styleSheet) {
  26984. style.styleSheet.cssText = css;
  26985. } else {
  26986. style.appendChild(document.createTextNode(css));
  26987. }
  26988. }
  26989. var css_248z = "\n.p-autocomplete {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n position: relative;\n}\n.p-autocomplete-loader {\n position: absolute;\n top: 50%;\n margin-top: -.5rem;\n}\n.p-autocomplete-dd .p-autocomplete-input {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n width: 1%;\n}\n.p-autocomplete-dd .p-autocomplete-input,\n.p-autocomplete-dd .p-autocomplete-multiple-container {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.p-autocomplete-dd .p-autocomplete-dropdown {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0px;\n}\n.p-autocomplete .p-autocomplete-panel {\n min-width: 100%;\n}\n.p-autocomplete-panel {\n position: absolute;\n overflow: auto;\n top: 0;\n left: 0;\n}\n.p-autocomplete-items {\n margin: 0;\n padding: 0;\n list-style-type: none;\n}\n.p-autocomplete-item {\n cursor: pointer;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n}\n.p-autocomplete-multiple-container {\n margin: 0;\n padding: 0;\n list-style-type: none;\n cursor: text;\n overflow: hidden;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n.p-autocomplete-token {\n cursor: default;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n}\n.p-autocomplete-token-icon {\n cursor: pointer;\n}\n.p-autocomplete-input-token {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n}\n.p-autocomplete-input-token input {\n border: 0 none;\n outline: 0 none;\n background-color: transparent;\n margin: 0;\n padding: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n border-radius: 0;\n width: 100%;\n}\n.p-fluid .p-autocomplete {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-fluid .p-autocomplete-dd .p-autocomplete-input {\n width: 1%;\n}\n";
  26990. styleInject(css_248z);
  26991. script.render = render;
  26992. /***/ }),
  26993. /***/ "./node_modules/primevue/badge/badge.esm.js":
  26994. /*!**************************************************!*\
  26995. !*** ./node_modules/primevue/badge/badge.esm.js ***!
  26996. \**************************************************/
  26997. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  26998. "use strict";
  26999. __webpack_require__.r(__webpack_exports__);
  27000. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  27001. /* harmony export */ "default": () => (/* binding */ script)
  27002. /* harmony export */ });
  27003. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
  27004. var script = {
  27005. name: 'Badge',
  27006. props: {
  27007. value: null,
  27008. severity: null,
  27009. size: null
  27010. },
  27011. computed: {
  27012. containerClass() {
  27013. return this.$slots.default ? 'p-overlay-badge': this.badgeClass;
  27014. },
  27015. badgeClass() {
  27016. return ['p-badge p-component', {
  27017. 'p-badge-no-gutter': this.value && String(this.value).length === 1,
  27018. 'p-badge-dot': !this.value && !this.$slots.default,
  27019. 'p-badge-lg': this.size === 'large',
  27020. 'p-badge-xl': this.size === 'xlarge',
  27021. 'p-badge-info': this.severity === 'info',
  27022. 'p-badge-success': this.severity === 'success',
  27023. 'p-badge-warning': this.severity === 'warning',
  27024. 'p-badge-danger': this.severity === 'danger'
  27025. }];
  27026. }
  27027. }
  27028. };
  27029. function render(_ctx, _cache, $props, $setup, $data, $options) {
  27030. return ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("span", {
  27031. class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($options.badgeClass)
  27032. }, [
  27033. (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, "default", {}, () => [
  27034. (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($props.value), 1)
  27035. ])
  27036. ], 2))
  27037. }
  27038. script.render = render;
  27039. /***/ }),
  27040. /***/ "./node_modules/primevue/button/button.esm.js":
  27041. /*!****************************************************!*\
  27042. !*** ./node_modules/primevue/button/button.esm.js ***!
  27043. \****************************************************/
  27044. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  27045. "use strict";
  27046. __webpack_require__.r(__webpack_exports__);
  27047. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  27048. /* harmony export */ "default": () => (/* binding */ script)
  27049. /* harmony export */ });
  27050. /* harmony import */ var primevue_ripple__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! primevue/ripple */ "./node_modules/primevue/ripple/ripple.esm.js");
  27051. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
  27052. var script = {
  27053. name: 'Button',
  27054. props: {
  27055. label: {
  27056. type: String
  27057. },
  27058. icon: {
  27059. type: String
  27060. },
  27061. iconPos: {
  27062. type: String,
  27063. default: 'left'
  27064. },
  27065. badge: {
  27066. type: String
  27067. },
  27068. badgeClass: {
  27069. type: String,
  27070. default: null
  27071. },
  27072. loading: {
  27073. type: Boolean,
  27074. default: false
  27075. },
  27076. loadingIcon: {
  27077. type: String,
  27078. default: 'pi pi-spinner pi-spin'
  27079. }
  27080. },
  27081. computed: {
  27082. buttonClass() {
  27083. return {
  27084. 'p-button p-component': true,
  27085. 'p-button-icon-only': this.icon && !this.label,
  27086. 'p-button-vertical': (this.iconPos === 'top' || this.iconPos === 'bottom') && this.label,
  27087. 'p-disabled': this.$attrs.disabled || this.loading,
  27088. 'p-button-loading': this.loading,
  27089. 'p-button-loading-label-only': this.loading && !this.icon && this.label
  27090. }
  27091. },
  27092. iconClass() {
  27093. return [
  27094. this.loading ? 'p-button-loading-icon ' + this.loadingIcon : this.icon,
  27095. 'p-button-icon',
  27096. {
  27097. 'p-button-icon-left': this.iconPos === 'left' && this.label,
  27098. 'p-button-icon-right': this.iconPos === 'right' && this.label,
  27099. 'p-button-icon-top': this.iconPos === 'top' && this.label,
  27100. 'p-button-icon-bottom': this.iconPos === 'bottom' && this.label
  27101. }
  27102. ]
  27103. },
  27104. badgeStyleClass() {
  27105. return [
  27106. 'p-badge p-component', this.badgeClass, {
  27107. 'p-badge-no-gutter': this.badge && String(this.badge).length === 1
  27108. }]
  27109. },
  27110. disabled() {
  27111. return this.$attrs.disabled || this.loading;
  27112. }
  27113. },
  27114. directives: {
  27115. 'ripple': primevue_ripple__WEBPACK_IMPORTED_MODULE_0__["default"]
  27116. }
  27117. };
  27118. const _hoisted_1 = ["disabled"];
  27119. const _hoisted_2 = { class: "p-button-label" };
  27120. function render(_ctx, _cache, $props, $setup, $data, $options) {
  27121. const _directive_ripple = (0,vue__WEBPACK_IMPORTED_MODULE_1__.resolveDirective)("ripple");
  27122. return (0,vue__WEBPACK_IMPORTED_MODULE_1__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_1__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementBlock)("button", {
  27123. class: (0,vue__WEBPACK_IMPORTED_MODULE_1__.normalizeClass)($options.buttonClass),
  27124. type: "button",
  27125. disabled: $options.disabled
  27126. }, [
  27127. (0,vue__WEBPACK_IMPORTED_MODULE_1__.renderSlot)(_ctx.$slots, "default", {}, () => [
  27128. ($props.loading && !$props.icon)
  27129. ? ((0,vue__WEBPACK_IMPORTED_MODULE_1__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementBlock)("span", {
  27130. key: 0,
  27131. class: (0,vue__WEBPACK_IMPORTED_MODULE_1__.normalizeClass)($options.iconClass)
  27132. }, null, 2))
  27133. : (0,vue__WEBPACK_IMPORTED_MODULE_1__.createCommentVNode)("", true),
  27134. ($props.icon)
  27135. ? ((0,vue__WEBPACK_IMPORTED_MODULE_1__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementBlock)("span", {
  27136. key: 1,
  27137. class: (0,vue__WEBPACK_IMPORTED_MODULE_1__.normalizeClass)($options.iconClass)
  27138. }, null, 2))
  27139. : (0,vue__WEBPACK_IMPORTED_MODULE_1__.createCommentVNode)("", true),
  27140. (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("span", _hoisted_2, (0,vue__WEBPACK_IMPORTED_MODULE_1__.toDisplayString)($props.label||' '), 1),
  27141. ($props.badge)
  27142. ? ((0,vue__WEBPACK_IMPORTED_MODULE_1__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementBlock)("span", {
  27143. key: 2,
  27144. class: (0,vue__WEBPACK_IMPORTED_MODULE_1__.normalizeClass)($options.badgeStyleClass)
  27145. }, (0,vue__WEBPACK_IMPORTED_MODULE_1__.toDisplayString)($props.badge), 3))
  27146. : (0,vue__WEBPACK_IMPORTED_MODULE_1__.createCommentVNode)("", true)
  27147. ])
  27148. ], 10, _hoisted_1)), [
  27149. [_directive_ripple]
  27150. ])
  27151. }
  27152. script.render = render;
  27153. /***/ }),
  27154. /***/ "./node_modules/primevue/calendar/calendar.esm.js":
  27155. /*!********************************************************!*\
  27156. !*** ./node_modules/primevue/calendar/calendar.esm.js ***!
  27157. \********************************************************/
  27158. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  27159. "use strict";
  27160. __webpack_require__.r(__webpack_exports__);
  27161. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  27162. /* harmony export */ "default": () => (/* binding */ script)
  27163. /* harmony export */ });
  27164. /* harmony import */ var primevue_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! primevue/utils */ "./node_modules/primevue/utils/utils.esm.js");
  27165. /* harmony import */ var primevue_overlayeventbus__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! primevue/overlayeventbus */ "./node_modules/primevue/overlayeventbus/overlayeventbus.esm.js");
  27166. /* harmony import */ var primevue_button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! primevue/button */ "./node_modules/primevue/button/button.esm.js");
  27167. /* harmony import */ var primevue_ripple__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! primevue/ripple */ "./node_modules/primevue/ripple/ripple.esm.js");
  27168. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
  27169. var script = {
  27170. name: 'Calendar',
  27171. inheritAttrs: false,
  27172. emits: ['show', 'hide', 'input', 'month-change', 'year-change', 'date-select', 'update:modelValue', 'today-click', 'clear-click', 'focus', 'blur', 'keydown'],
  27173. props: {
  27174. modelValue: null,
  27175. selectionMode: {
  27176. type: String,
  27177. default: 'single'
  27178. },
  27179. dateFormat: {
  27180. type: String,
  27181. default: null
  27182. },
  27183. inline: {
  27184. type: Boolean,
  27185. default: false
  27186. },
  27187. showOtherMonths: {
  27188. type: Boolean,
  27189. default: true
  27190. },
  27191. selectOtherMonths: {
  27192. type: Boolean,
  27193. default: false
  27194. },
  27195. showIcon: {
  27196. type: Boolean,
  27197. default: false
  27198. },
  27199. icon: {
  27200. type: String,
  27201. default: 'pi pi-calendar'
  27202. },
  27203. numberOfMonths: {
  27204. type: Number,
  27205. default: 1
  27206. },
  27207. responsiveOptions: Array,
  27208. view: {
  27209. type: String,
  27210. default: 'date'
  27211. },
  27212. touchUI: {
  27213. type: Boolean,
  27214. default: false
  27215. },
  27216. monthNavigator: {
  27217. type: Boolean,
  27218. default: false
  27219. },
  27220. yearNavigator: {
  27221. type: Boolean,
  27222. default: false
  27223. },
  27224. yearRange: {
  27225. type: String,
  27226. default: null
  27227. },
  27228. panelClass: {
  27229. type: String,
  27230. default: null
  27231. },
  27232. minDate: {
  27233. type: Date,
  27234. value: null
  27235. },
  27236. maxDate: {
  27237. type: Date,
  27238. value: null
  27239. },
  27240. disabledDates: {
  27241. type: Array,
  27242. value: null
  27243. },
  27244. disabledDays: {
  27245. type: Array,
  27246. value: null
  27247. },
  27248. maxDateCount: {
  27249. type: Number,
  27250. value: null
  27251. },
  27252. showOnFocus: {
  27253. type: Boolean,
  27254. default: true
  27255. },
  27256. autoZIndex: {
  27257. type: Boolean,
  27258. default: true
  27259. },
  27260. baseZIndex: {
  27261. type: Number,
  27262. default: 0
  27263. },
  27264. showButtonBar: {
  27265. type: Boolean,
  27266. default: false
  27267. },
  27268. shortYearCutoff: {
  27269. type: String,
  27270. default: '+10'
  27271. },
  27272. showTime: {
  27273. type: Boolean,
  27274. default: false
  27275. },
  27276. timeOnly: {
  27277. type: Boolean,
  27278. default: false
  27279. },
  27280. hourFormat: {
  27281. type: String,
  27282. default: '24'
  27283. },
  27284. stepHour: {
  27285. type: Number,
  27286. default: 1
  27287. },
  27288. stepMinute: {
  27289. type: Number,
  27290. default: 1
  27291. },
  27292. stepSecond: {
  27293. type: Number,
  27294. default: 1
  27295. },
  27296. showSeconds: {
  27297. type: Boolean,
  27298. default: false
  27299. },
  27300. hideOnDateTimeSelect: {
  27301. type: Boolean,
  27302. default: false
  27303. },
  27304. timeSeparator: {
  27305. type: String,
  27306. default: ':'
  27307. },
  27308. showWeek: {
  27309. type: Boolean,
  27310. default: false
  27311. },
  27312. manualInput: {
  27313. type: Boolean,
  27314. default: true
  27315. },
  27316. appendTo: {
  27317. type: String,
  27318. default: 'body'
  27319. },
  27320. inputClass: null,
  27321. inputStyle: null,
  27322. class: null,
  27323. style: null
  27324. },
  27325. navigationState: null,
  27326. timePickerChange: false,
  27327. scrollHandler: null,
  27328. outsideClickListener: null,
  27329. maskClickListener: null,
  27330. resizeListener: null,
  27331. overlay: null,
  27332. input: null,
  27333. mask: null,
  27334. timePickerTimer: null,
  27335. preventFocus: false,
  27336. typeUpdate: false,
  27337. created() {
  27338. this.updateCurrentMetaData();
  27339. },
  27340. mounted() {
  27341. this.createResponsiveStyle();
  27342. if (this.inline) {
  27343. this.overlay && this.overlay.setAttribute(this.attributeSelector, '');
  27344. if (!this.$attrs.disabled) {
  27345. this.preventFocus = true;
  27346. this.initFocusableCell();
  27347. if (this.numberOfMonths === 1) {
  27348. this.overlay.style.width = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(this.$el) + 'px';
  27349. }
  27350. }
  27351. }
  27352. else {
  27353. this.input.value = this.formatValue(this.modelValue);
  27354. }
  27355. },
  27356. updated() {
  27357. if (this.overlay) {
  27358. this.preventFocus = true;
  27359. this.updateFocus();
  27360. }
  27361. if (this.input && this.selectionStart != null && this.selectionEnd != null) {
  27362. this.input.selectionStart = this.selectionStart;
  27363. this.input.selectionEnd = this.selectionEnd;
  27364. this.selectionStart = null;
  27365. this.selectionEnd = null;
  27366. }
  27367. },
  27368. beforeUnmount() {
  27369. if (this.timePickerTimer) {
  27370. clearTimeout(this.timePickerTimer);
  27371. }
  27372. if (this.mask) {
  27373. this.destroyMask();
  27374. }
  27375. this.destroyResponsiveStyleElement();
  27376. this.unbindOutsideClickListener();
  27377. this.unbindResizeListener();
  27378. if (this.scrollHandler) {
  27379. this.scrollHandler.destroy();
  27380. this.scrollHandler = null;
  27381. }
  27382. if (this.overlay && this.autoZIndex) {
  27383. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ZIndexUtils.clear(this.overlay);
  27384. }
  27385. this.overlay = null;
  27386. },
  27387. data() {
  27388. return {
  27389. currentMonth: null,
  27390. currentYear: null,
  27391. currentHour: null,
  27392. currentMinute: null,
  27393. currentSecond: null,
  27394. pm: null,
  27395. focused: false,
  27396. overlayVisible: false,
  27397. currentView: this.view
  27398. }
  27399. },
  27400. watch: {
  27401. modelValue(newValue) {
  27402. this.updateCurrentMetaData();
  27403. if (!this.typeUpdate && !this.inline && this.input) {
  27404. this.input.value = this.formatValue(newValue);
  27405. }
  27406. this.typeUpdate = false;
  27407. },
  27408. showTime() {
  27409. this.updateCurrentMetaData();
  27410. },
  27411. months() {
  27412. if (this.overlay) {
  27413. if (!this.focused) {
  27414. setTimeout(this.updateFocus, 0);
  27415. }
  27416. }
  27417. },
  27418. numberOfMonths() {
  27419. this.destroyResponsiveStyleElement();
  27420. this.createResponsiveStyle();
  27421. },
  27422. responsiveOptions() {
  27423. this.destroyResponsiveStyleElement();
  27424. this.createResponsiveStyle();
  27425. },
  27426. currentView() {
  27427. Promise.resolve(null).then(() => this.alignOverlay());
  27428. }
  27429. },
  27430. methods: {
  27431. isComparable() {
  27432. return this.modelValue != null && typeof this.modelValue !== 'string';
  27433. },
  27434. isSelected(dateMeta) {
  27435. if (!this.isComparable()) {
  27436. return false;
  27437. }
  27438. if (this.modelValue) {
  27439. if (this.isSingleSelection()) {
  27440. return this.isDateEquals(this.modelValue, dateMeta);
  27441. }
  27442. else if (this.isMultipleSelection()) {
  27443. let selected = false;
  27444. for (let date of this.modelValue) {
  27445. selected = this.isDateEquals(date, dateMeta);
  27446. if (selected) {
  27447. break;
  27448. }
  27449. }
  27450. return selected;
  27451. }
  27452. else if( this.isRangeSelection()) {
  27453. if (this.modelValue[1])
  27454. return this.isDateEquals(this.modelValue[0], dateMeta) || this.isDateEquals(this.modelValue[1], dateMeta) || this.isDateBetween(this.modelValue[0], this.modelValue[1], dateMeta);
  27455. else {
  27456. return this.isDateEquals(this.modelValue[0], dateMeta);
  27457. }
  27458. }
  27459. }
  27460. return false;
  27461. },
  27462. isMonthSelected(month) {
  27463. if (this.isComparable()) {
  27464. let value = this.isRangeSelection() ? this.modelValue[0] : this.modelValue;
  27465. return !this.isMultipleSelection() ? (value.getMonth() === month && value.getFullYear() === this.currentYear) : false;
  27466. }
  27467. return false;
  27468. },
  27469. isYearSelected(year) {
  27470. if (this.isComparable()) {
  27471. let value = this.isRangeSelection() ? this.modelValue[0] : this.modelValue;
  27472. return !this.isMultipleSelection() && this.isComparable() ? (value.getFullYear() === year) : false;
  27473. }
  27474. return false;
  27475. },
  27476. isDateEquals(value, dateMeta) {
  27477. if (value)
  27478. return value.getDate() === dateMeta.day && value.getMonth() === dateMeta.month && value.getFullYear() === dateMeta.year;
  27479. else
  27480. return false;
  27481. },
  27482. isDateBetween(start, end, dateMeta) {
  27483. let between = false;
  27484. if (start && end) {
  27485. let date = new Date(dateMeta.year, dateMeta.month, dateMeta.day);
  27486. return start.getTime() <= date.getTime() && end.getTime() >= date.getTime();
  27487. }
  27488. return between;
  27489. },
  27490. getFirstDayOfMonthIndex(month, year) {
  27491. let day = new Date();
  27492. day.setDate(1);
  27493. day.setMonth(month);
  27494. day.setFullYear(year);
  27495. let dayIndex = day.getDay() + this.sundayIndex;
  27496. return dayIndex >= 7 ? dayIndex - 7 : dayIndex;
  27497. },
  27498. getDaysCountInMonth(month, year) {
  27499. return 32 - this.daylightSavingAdjust(new Date(year, month, 32)).getDate();
  27500. },
  27501. getDaysCountInPrevMonth(month, year) {
  27502. let prev = this.getPreviousMonthAndYear(month, year);
  27503. return this.getDaysCountInMonth(prev.month, prev.year);
  27504. },
  27505. getPreviousMonthAndYear(month, year) {
  27506. let m, y;
  27507. if (month === 0) {
  27508. m = 11;
  27509. y = year - 1;
  27510. }
  27511. else {
  27512. m = month - 1;
  27513. y = year;
  27514. }
  27515. return {'month':m, 'year': y};
  27516. },
  27517. getNextMonthAndYear(month, year) {
  27518. let m, y;
  27519. if (month === 11) {
  27520. m = 0;
  27521. y = year + 1;
  27522. }
  27523. else {
  27524. m = month + 1;
  27525. y = year;
  27526. }
  27527. return {'month':m,'year':y};
  27528. },
  27529. daylightSavingAdjust(date) {
  27530. if (!date) {
  27531. return null;
  27532. }
  27533. date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0);
  27534. return date;
  27535. },
  27536. isToday(today, day, month, year) {
  27537. return today.getDate() === day && today.getMonth() === month && today.getFullYear() === year;
  27538. },
  27539. isSelectable(day, month, year, otherMonth) {
  27540. let validMin = true;
  27541. let validMax = true;
  27542. let validDate = true;
  27543. let validDay = true;
  27544. if (otherMonth && !this.selectOtherMonths) {
  27545. return false;
  27546. }
  27547. if (this.minDate) {
  27548. if (this.minDate.getFullYear() > year) {
  27549. validMin = false;
  27550. }
  27551. else if (this.minDate.getFullYear() === year) {
  27552. if (this.minDate.getMonth() > month) {
  27553. validMin = false;
  27554. }
  27555. else if (this.minDate.getMonth() === month) {
  27556. if (this.minDate.getDate() > day) {
  27557. validMin = false;
  27558. }
  27559. }
  27560. }
  27561. }
  27562. if (this.maxDate) {
  27563. if (this.maxDate.getFullYear() < year) {
  27564. validMax = false;
  27565. }
  27566. else if (this.maxDate.getFullYear() === year) {
  27567. if (this.maxDate.getMonth() < month) {
  27568. validMax = false;
  27569. }
  27570. else if (this.maxDate.getMonth() === month) {
  27571. if (this.maxDate.getDate() < day) {
  27572. validMax = false;
  27573. }
  27574. }
  27575. }
  27576. }
  27577. if (this.disabledDates) {
  27578. validDate = !this.isDateDisabled(day,month,year);
  27579. }
  27580. if (this.disabledDays) {
  27581. validDay = !this.isDayDisabled(day,month,year);
  27582. }
  27583. return validMin && validMax && validDate && validDay;
  27584. },
  27585. onOverlayEnter(el) {
  27586. el.setAttribute(this.attributeSelector, '');
  27587. if (this.autoZIndex) {
  27588. if (this.touchUI)
  27589. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ZIndexUtils.set('modal', el, this.baseZIndex || this.$primevue.config.zIndex.modal);
  27590. else
  27591. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ZIndexUtils.set('overlay', el, this.baseZIndex || this.$primevue.config.zIndex.overlay);
  27592. }
  27593. this.alignOverlay();
  27594. this.$emit('show');
  27595. },
  27596. onOverlayEnterComplete() {
  27597. this.bindOutsideClickListener();
  27598. this.bindScrollListener();
  27599. this.bindResizeListener();
  27600. },
  27601. onOverlayAfterLeave(el) {
  27602. if (this.autoZIndex) {
  27603. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ZIndexUtils.clear(el);
  27604. }
  27605. },
  27606. onOverlayLeave() {
  27607. this.currentView = this.view;
  27608. this.unbindOutsideClickListener();
  27609. this.unbindScrollListener();
  27610. this.unbindResizeListener();
  27611. this.$emit('hide');
  27612. if (this.mask) {
  27613. this.disableModality();
  27614. }
  27615. this.overlay = null;
  27616. },
  27617. onPrevButtonClick(event) {
  27618. if(this.showOtherMonths) {
  27619. this.navigationState = {backward: true, button: true};
  27620. this.navBackward(event);
  27621. }
  27622. },
  27623. onNextButtonClick(event) {
  27624. if(this.showOtherMonths) {
  27625. this.navigationState = {backward: false, button: true};
  27626. this.navForward(event);
  27627. }
  27628. },
  27629. navBackward(event) {
  27630. event.preventDefault();
  27631. if (!this.isEnabled()) {
  27632. return;
  27633. }
  27634. if (this.currentView === 'month') {
  27635. this.decrementYear();
  27636. }
  27637. else if (this.currentView === 'year') {
  27638. this.decrementDecade();
  27639. }
  27640. else {
  27641. if (this.currentMonth === 0) {
  27642. this.currentMonth = 11;
  27643. this.decrementYear();
  27644. }
  27645. else {
  27646. this.currentMonth--;
  27647. }
  27648. this.$emit('month-change', {month: this.currentMonth, year: this.currentYear});
  27649. }
  27650. },
  27651. navForward(event) {
  27652. event.preventDefault();
  27653. if (!this.isEnabled()) {
  27654. return;
  27655. }
  27656. if (this.currentView === 'month') {
  27657. this.incrementYear();
  27658. }
  27659. else if (this.currentView === 'year') {
  27660. this.incrementDecade();
  27661. }
  27662. else {
  27663. if (this.currentMonth === 11) {
  27664. this.currentMonth = 0;
  27665. this.incrementYear();
  27666. }
  27667. else {
  27668. this.currentMonth++;
  27669. }
  27670. this.$emit('month-change', {month: this.currentMonth , year: this.currentYear});
  27671. }
  27672. },
  27673. decrementYear() {
  27674. this.currentYear--;
  27675. },
  27676. decrementDecade() {
  27677. this.currentYear = this.currentYear - 10;
  27678. },
  27679. incrementYear() {
  27680. this.currentYear++;
  27681. },
  27682. incrementDecade() {
  27683. this.currentYear = this.currentYear + 10;
  27684. },
  27685. switchToMonthView(event) {
  27686. this.currentView = 'month';
  27687. setTimeout(this.updateFocus, 0);
  27688. event.preventDefault();
  27689. },
  27690. switchToYearView(event) {
  27691. this.currentView = 'year';
  27692. setTimeout(this.updateFocus, 0);
  27693. event.preventDefault();
  27694. },
  27695. isEnabled() {
  27696. return !this.$attrs.disabled && !this.$attrs.readonly;
  27697. },
  27698. updateCurrentTimeMeta(date) {
  27699. let currentHour = date.getHours();
  27700. if (this.hourFormat === '12') {
  27701. this.pm = currentHour > 11;
  27702. if (currentHour >= 12)
  27703. currentHour = (currentHour == 12) ? 12 : currentHour - 12;
  27704. else
  27705. currentHour = (currentHour == 0) ? 12 : currentHour;
  27706. }
  27707. this.currentHour = Math.floor(currentHour / this.stepHour) * this.stepHour;
  27708. this.currentMinute = Math.floor(date.getMinutes() / this.stepMinute) * this.stepMinute;
  27709. this.currentSecond = Math.floor(date.getSeconds() / this.stepSecond) * this.stepSecond;
  27710. },
  27711. bindOutsideClickListener() {
  27712. if (!this.outsideClickListener) {
  27713. this.outsideClickListener = (event) => {
  27714. if (this.overlayVisible && this.isOutsideClicked(event)) {
  27715. this.overlayVisible = false;
  27716. }
  27717. };
  27718. document.addEventListener('mousedown', this.outsideClickListener);
  27719. }
  27720. },
  27721. unbindOutsideClickListener() {
  27722. if (this.outsideClickListener) {
  27723. document.removeEventListener('mousedown', this.outsideClickListener);
  27724. this.outsideClickListener = null;
  27725. }
  27726. },
  27727. bindScrollListener() {
  27728. if (!this.scrollHandler) {
  27729. this.scrollHandler = new primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ConnectedOverlayScrollHandler(this.$refs.container, () => {
  27730. if (this.overlayVisible) {
  27731. this.overlayVisible = false;
  27732. }
  27733. });
  27734. }
  27735. this.scrollHandler.bindScrollListener();
  27736. },
  27737. unbindScrollListener() {
  27738. if (this.scrollHandler) {
  27739. this.scrollHandler.unbindScrollListener();
  27740. }
  27741. },
  27742. bindResizeListener() {
  27743. if (!this.resizeListener) {
  27744. this.resizeListener = () => {
  27745. if (this.overlayVisible) {
  27746. this.overlayVisible = false;
  27747. }
  27748. };
  27749. window.addEventListener('resize', this.resizeListener);
  27750. }
  27751. },
  27752. unbindResizeListener() {
  27753. if (this.resizeListener) {
  27754. window.removeEventListener('resize', this.resizeListener);
  27755. this.resizeListener = null;
  27756. }
  27757. },
  27758. isOutsideClicked(event) {
  27759. return !(this.$el.isSameNode(event.target) || this.isNavIconClicked(event) ||
  27760. this.$el.contains(event.target) || (this.overlay && this.overlay.contains(event.target)));
  27761. },
  27762. isNavIconClicked(event) {
  27763. return (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(event.target, 'p-datepicker-prev') || primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(event.target, 'p-datepicker-prev-icon')
  27764. || primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(event.target, 'p-datepicker-next') || primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(event.target, 'p-datepicker-next-icon'));
  27765. },
  27766. alignOverlay() {
  27767. if (this.touchUI) {
  27768. this.enableModality();
  27769. }
  27770. else if (this.overlay) {
  27771. if (this.appendDisabled) {
  27772. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.relativePosition(this.overlay, this.$el);
  27773. }
  27774. else {
  27775. if (this.view === 'date') {
  27776. this.overlay.style.width = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(this.overlay) + 'px';
  27777. this.overlay.style.minWidth = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(this.$el) + 'px';
  27778. }
  27779. else {
  27780. this.overlay.style.width = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(this.$el) + 'px';
  27781. }
  27782. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.absolutePosition(this.overlay, this.$el);
  27783. }
  27784. }
  27785. },
  27786. onButtonClick() {
  27787. if (this.isEnabled()) {
  27788. if (!this.overlayVisible) {
  27789. this.input.focus();
  27790. this.overlayVisible = true;
  27791. }
  27792. else {
  27793. this.overlayVisible = false;
  27794. }
  27795. }
  27796. },
  27797. isDateDisabled(day, month, year) {
  27798. if (this.disabledDates) {
  27799. for (let disabledDate of this.disabledDates) {
  27800. if (disabledDate.getFullYear() === year && disabledDate.getMonth() === month && disabledDate.getDate() === day) {
  27801. return true;
  27802. }
  27803. }
  27804. }
  27805. return false;
  27806. },
  27807. isDayDisabled(day, month, year) {
  27808. if (this.disabledDays) {
  27809. let weekday = new Date(year, month, day);
  27810. let weekdayNumber = weekday.getDay();
  27811. return this.disabledDays.indexOf(weekdayNumber) !== -1;
  27812. }
  27813. return false;
  27814. },
  27815. onMonthDropdownChange(value) {
  27816. this.currentMonth = parseInt(value);
  27817. this.$emit('month-change', {month: this.currentMonth + 1, year: this.currentYear});
  27818. },
  27819. onYearDropdownChange(value) {
  27820. this.currentYear = parseInt(value);
  27821. this.$emit('year-change', {month: this.currentMonth + 1, year: this.currentYear});
  27822. },
  27823. onDateSelect(event, dateMeta) {
  27824. if (this.$attrs.disabled || !dateMeta.selectable) {
  27825. return;
  27826. }
  27827. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.find(this.overlay, '.p-datepicker-calendar td span:not(.p-disabled)').forEach(cell => cell.tabIndex = -1);
  27828. if (event) {
  27829. event.currentTarget.focus();
  27830. }
  27831. if (this.isMultipleSelection() && this.isSelected(dateMeta)) {
  27832. let newValue = this.modelValue.filter(date => !this.isDateEquals(date, dateMeta));
  27833. this.updateModel(newValue);
  27834. }
  27835. else {
  27836. if (this.shouldSelectDate(dateMeta)) {
  27837. if (dateMeta.otherMonth) {
  27838. this.currentMonth = dateMeta.month;
  27839. this.currentYear = dateMeta.year;
  27840. this.selectDate(dateMeta);
  27841. }
  27842. else {
  27843. this.selectDate(dateMeta);
  27844. }
  27845. }
  27846. }
  27847. if (this.isSingleSelection() && (!this.showTime || this.hideOnDateTimeSelect)) {
  27848. setTimeout(() => {
  27849. this.overlayVisible = false;
  27850. }, 150);
  27851. }
  27852. },
  27853. selectDate(dateMeta) {
  27854. let date = new Date(dateMeta.year, dateMeta.month, dateMeta.day);
  27855. if (this.showTime) {
  27856. if (this.hourFormat === '12' && this.pm && this.currentHour != 12)
  27857. date.setHours(this.currentHour + 12);
  27858. else
  27859. date.setHours(this.currentHour);
  27860. date.setMinutes(this.currentMinute);
  27861. date.setSeconds(this.currentSecond);
  27862. }
  27863. if (this.minDate && this.minDate > date) {
  27864. date = this.minDate;
  27865. this.currentHour = date.getHours();
  27866. this.currentMinute = date.getMinutes();
  27867. this.currentSecond = date.getSeconds();
  27868. }
  27869. if (this.maxDate && this.maxDate < date) {
  27870. date = this.maxDate;
  27871. this.currentHour = date.getHours();
  27872. this.currentMinute = date.getMinutes();
  27873. this.currentSecond = date.getSeconds();
  27874. }
  27875. let modelVal = null;
  27876. if (this.isSingleSelection()) {
  27877. modelVal = date;
  27878. }
  27879. else if (this.isMultipleSelection()) {
  27880. modelVal = this.modelValue ? [...this.modelValue, date] : [date];
  27881. }
  27882. else if (this.isRangeSelection()) {
  27883. if (this.modelValue && this.modelValue.length) {
  27884. let startDate = this.modelValue[0];
  27885. let endDate = this.modelValue[1];
  27886. if (!endDate && date.getTime() >= startDate.getTime()) {
  27887. endDate = date;
  27888. }
  27889. else {
  27890. startDate = date;
  27891. endDate = null;
  27892. }
  27893. modelVal = [startDate, endDate];
  27894. }
  27895. else {
  27896. modelVal = [date, null];
  27897. }
  27898. }
  27899. if (modelVal !== null) {
  27900. this.updateModel(modelVal);
  27901. }
  27902. this.$emit('date-select', date);
  27903. },
  27904. updateModel(value) {
  27905. this.$emit('update:modelValue', value);
  27906. },
  27907. shouldSelectDate() {
  27908. if (this.isMultipleSelection())
  27909. return this.maxDateCount != null ? this.maxDateCount > (this.modelValue ? this.modelValue.length : 0) : true;
  27910. else
  27911. return true;
  27912. },
  27913. isSingleSelection() {
  27914. return this.selectionMode === 'single';
  27915. },
  27916. isRangeSelection() {
  27917. return this.selectionMode === 'range';
  27918. },
  27919. isMultipleSelection() {
  27920. return this.selectionMode === 'multiple';
  27921. },
  27922. formatValue(value) {
  27923. if (typeof value === 'string') {
  27924. return value;
  27925. }
  27926. let formattedValue = '';
  27927. if (value) {
  27928. try {
  27929. if (this.isSingleSelection()) {
  27930. formattedValue = this.formatDateTime(value);
  27931. }
  27932. else if (this.isMultipleSelection()) {
  27933. for(let i = 0; i < value.length; i++) {
  27934. let dateAsString = this.formatDateTime(value[i]);
  27935. formattedValue += dateAsString;
  27936. if(i !== (value.length - 1)) {
  27937. formattedValue += ', ';
  27938. }
  27939. }
  27940. }
  27941. else if (this.isRangeSelection()) {
  27942. if (value && value.length) {
  27943. let startDate = value[0];
  27944. let endDate = value[1];
  27945. formattedValue = this.formatDateTime(startDate);
  27946. if (endDate) {
  27947. formattedValue += ' - ' + this.formatDateTime(endDate);
  27948. }
  27949. }
  27950. }
  27951. }
  27952. catch(err) {
  27953. formattedValue = value;
  27954. }
  27955. }
  27956. return formattedValue;
  27957. },
  27958. formatDateTime(date) {
  27959. let formattedValue = null;
  27960. if (date) {
  27961. if(this.timeOnly) {
  27962. formattedValue = this.formatTime(date);
  27963. }
  27964. else {
  27965. formattedValue = this.formatDate(date, this.datePattern);
  27966. if(this.showTime) {
  27967. formattedValue += ' ' + this.formatTime(date);
  27968. }
  27969. }
  27970. }
  27971. return formattedValue;
  27972. },
  27973. formatDate(date, format) {
  27974. if (!date) {
  27975. return '';
  27976. }
  27977. let iFormat;
  27978. const lookAhead = (match) => {
  27979. const matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);
  27980. if (matches) {
  27981. iFormat++;
  27982. }
  27983. return matches;
  27984. },
  27985. formatNumber = (match, value, len) => {
  27986. let num = '' + value;
  27987. if (lookAhead(match)) {
  27988. while (num.length < len) {
  27989. num = '0' + num;
  27990. }
  27991. }
  27992. return num;
  27993. },
  27994. formatName = (match, value, shortNames, longNames) => {
  27995. return (lookAhead(match) ? longNames[value] : shortNames[value]);
  27996. };
  27997. let output = '';
  27998. let literal = false;
  27999. if (date) {
  28000. for (iFormat = 0; iFormat < format.length; iFormat++) {
  28001. if (literal) {
  28002. if (format.charAt(iFormat) === '\'' && !lookAhead('\'')) {
  28003. literal = false;
  28004. } else {
  28005. output += format.charAt(iFormat);
  28006. }
  28007. } else {
  28008. switch (format.charAt(iFormat)) {
  28009. case 'd':
  28010. output += formatNumber('d', date.getDate(), 2);
  28011. break;
  28012. case 'D':
  28013. output += formatName('D', date.getDay(), this.$primevue.config.locale.dayNamesShort, this.$primevue.config.locale.dayNames);
  28014. break;
  28015. case 'o':
  28016. output += formatNumber('o',
  28017. Math.round((
  28018. new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime() -
  28019. new Date(date.getFullYear(), 0, 0).getTime()) / 86400000), 3);
  28020. break;
  28021. case 'm':
  28022. output += formatNumber('m', date.getMonth() + 1, 2);
  28023. break;
  28024. case 'M':
  28025. output += formatName('M',date.getMonth(), this.$primevue.config.locale.monthNamesShort, this.$primevue.config.locale.monthNames);
  28026. break;
  28027. case 'y':
  28028. output += lookAhead('y') ? date.getFullYear() : (date.getFullYear() % 100 < 10 ? '0' : '') + (date.getFullYear() % 100);
  28029. break;
  28030. case '@':
  28031. output += date.getTime();
  28032. break;
  28033. case '!':
  28034. output += date.getTime() * 10000 + this.ticksTo1970;
  28035. break;
  28036. case '\'':
  28037. if (lookAhead('\'')) {
  28038. output += '\'';
  28039. } else {
  28040. literal = true;
  28041. }
  28042. break;
  28043. default:
  28044. output += format.charAt(iFormat);
  28045. }
  28046. }
  28047. }
  28048. }
  28049. return output;
  28050. },
  28051. formatTime(date) {
  28052. if (!date) {
  28053. return '';
  28054. }
  28055. let output = '';
  28056. let hours = date.getHours();
  28057. let minutes = date.getMinutes();
  28058. let seconds = date.getSeconds();
  28059. if (this.hourFormat === '12' && hours > 11 && hours !== 12) {
  28060. hours -= 12;
  28061. }
  28062. if (this.hourFormat === '12') {
  28063. output += hours === 0 ? 12 : (hours < 10) ? '0' + hours : hours;
  28064. }
  28065. else {
  28066. output += (hours < 10) ? '0' + hours : hours;
  28067. }
  28068. output += ':';
  28069. output += (minutes < 10) ? '0' + minutes : minutes;
  28070. if (this.showSeconds) {
  28071. output += ':';
  28072. output += (seconds < 10) ? '0' + seconds : seconds;
  28073. }
  28074. if (this.hourFormat === '12') {
  28075. output += date.getHours() > 11 ? ' PM' : ' AM';
  28076. }
  28077. return output;
  28078. },
  28079. onTodayButtonClick(event) {
  28080. let date = new Date();
  28081. let dateMeta = {
  28082. day: date.getDate(),
  28083. month: date.getMonth(),
  28084. year: date.getFullYear(),
  28085. otherMonth: date.getMonth() !== this.currentMonth || date.getFullYear() !== this.currentYear,
  28086. today: true,
  28087. selectable: true
  28088. };
  28089. this.onDateSelect(null, dateMeta);
  28090. this.$emit('today-click', date);
  28091. event.preventDefault();
  28092. },
  28093. onClearButtonClick(event) {
  28094. this.updateModel(null);
  28095. this.overlayVisible = false;
  28096. this.$emit('clear-click', event);
  28097. event.preventDefault();
  28098. },
  28099. onTimePickerElementMouseDown(event, type, direction) {
  28100. if (this.isEnabled()) {
  28101. this.repeat(event, null, type, direction);
  28102. event.preventDefault();
  28103. }
  28104. },
  28105. onTimePickerElementMouseUp(event) {
  28106. if (this.isEnabled()) {
  28107. this.clearTimePickerTimer();
  28108. this.updateModelTime();
  28109. event.preventDefault();
  28110. }
  28111. },
  28112. onTimePickerElementMouseLeave() {
  28113. this.clearTimePickerTimer();
  28114. },
  28115. repeat(event, interval, type, direction) {
  28116. let i = interval||500;
  28117. this.clearTimePickerTimer();
  28118. this.timePickerTimer = setTimeout(() => {
  28119. this.repeat(event, 100, type, direction);
  28120. }, i);
  28121. switch(type) {
  28122. case 0:
  28123. if (direction === 1)
  28124. this.incrementHour(event);
  28125. else
  28126. this.decrementHour(event);
  28127. break;
  28128. case 1:
  28129. if (direction === 1)
  28130. this.incrementMinute(event);
  28131. else
  28132. this.decrementMinute(event);
  28133. break;
  28134. case 2:
  28135. if (direction === 1)
  28136. this.incrementSecond(event);
  28137. else
  28138. this.decrementSecond(event);
  28139. break;
  28140. }
  28141. },
  28142. convertTo24Hour(hours, pm) {
  28143. if (this.hourFormat == '12') {
  28144. if (hours === 12) {
  28145. return (pm ? 12 : 0);
  28146. } else {
  28147. return (pm ? hours + 12 : hours);
  28148. }
  28149. }
  28150. return hours;
  28151. },
  28152. validateTime(hour, minute, second, pm) {
  28153. let value = this.isComparable() ? this.modelValue : this.viewDate;
  28154. const convertedHour = this.convertTo24Hour(hour, pm);
  28155. if (this.isRangeSelection()) {
  28156. value = this.modelValue[1] || this.modelValue[0];
  28157. }
  28158. if (this.isMultipleSelection()) {
  28159. value = this.modelValue[this.modelValue.length - 1];
  28160. }
  28161. const valueDateString = value ? value.toDateString() : null;
  28162. if (this.minDate && valueDateString && this.minDate.toDateString() === valueDateString) {
  28163. if (this.minDate.getHours() > convertedHour) {
  28164. return false;
  28165. }
  28166. if (this.minDate.getHours() === convertedHour) {
  28167. if (this.minDate.getMinutes() > minute) {
  28168. return false;
  28169. }
  28170. if (this.minDate.getMinutes() === minute) {
  28171. if (this.minDate.getSeconds() > second) {
  28172. return false;
  28173. }
  28174. }
  28175. }
  28176. }
  28177. if (this.maxDate && valueDateString && this.maxDate.toDateString() === valueDateString) {
  28178. if (this.maxDate.getHours() < convertedHour) {
  28179. return false;
  28180. }
  28181. if (this.maxDate.getHours() === convertedHour) {
  28182. if (this.maxDate.getMinutes() < minute) {
  28183. return false;
  28184. }
  28185. if (this.maxDate.getMinutes() === minute) {
  28186. if (this.maxDate.getSeconds() < second) {
  28187. return false;
  28188. }
  28189. }
  28190. }
  28191. }
  28192. return true;
  28193. },
  28194. incrementHour(event) {
  28195. let prevHour = this.currentHour;
  28196. let newHour = this.currentHour + this.stepHour;
  28197. let newPM = this.pm;
  28198. if (this.hourFormat == '24')
  28199. newHour = (newHour >= 24) ? (newHour - 24) : newHour;
  28200. else if (this.hourFormat == '12') {
  28201. // Before the AM/PM break, now after
  28202. if (prevHour < 12 && newHour > 11) {
  28203. newPM= !this.pm;
  28204. }
  28205. newHour = (newHour >= 13) ? (newHour - 12) : newHour;
  28206. }
  28207. if (this.validateTime(newHour, this.currentMinute, this.currentSecond, newPM)) {
  28208. this.currentHour = newHour;
  28209. this.pm = newPM;
  28210. }
  28211. event.preventDefault();
  28212. },
  28213. decrementHour(event) {
  28214. let newHour = this.currentHour - this.stepHour;
  28215. let newPM = this.pm;
  28216. if (this.hourFormat == '24')
  28217. newHour = (newHour < 0) ? (24 + newHour) : newHour;
  28218. else if (this.hourFormat == '12') {
  28219. // If we were at noon/midnight, then switch
  28220. if (this.currentHour === 12) {
  28221. newPM = !this.pm;
  28222. }
  28223. newHour = (newHour <= 0) ? (12 + newHour) : newHour;
  28224. }
  28225. if (this.validateTime(newHour, this.currentMinute, this.currentSecond, newPM)) {
  28226. this.currentHour = newHour;
  28227. this.pm = newPM;
  28228. }
  28229. event.preventDefault();
  28230. },
  28231. incrementMinute(event) {
  28232. let newMinute = this.currentMinute + this.stepMinute;
  28233. if (this.validateTime(this.currentHour, newMinute, this.currentSecond, true)) {
  28234. this.currentMinute = (newMinute > 59) ? newMinute - 60 : newMinute;
  28235. }
  28236. event.preventDefault();
  28237. },
  28238. decrementMinute(event) {
  28239. let newMinute = this.currentMinute - this.stepMinute;
  28240. newMinute = (newMinute < 0) ? 60 + newMinute : newMinute;
  28241. if (this.validateTime(this.currentHour, newMinute, this.currentSecond, true)) {
  28242. this.currentMinute = newMinute;
  28243. }
  28244. event.preventDefault();
  28245. },
  28246. incrementSecond(event) {
  28247. let newSecond = this.currentSecond + this.stepSecond;
  28248. if (this.validateTime(this.currentHour, this.currentMinute, newSecond, true)) {
  28249. this.currentSecond = (newSecond > 59) ? newSecond - 60 : newSecond;
  28250. }
  28251. event.preventDefault();
  28252. },
  28253. decrementSecond(event) {
  28254. let newSecond = this.currentSecond - this.stepSecond;
  28255. newSecond = (newSecond < 0) ? 60 + newSecond : newSecond;
  28256. if (this.validateTime(this.currentHour, this.currentMinute, newSecond, true)) {
  28257. this.currentSecond = newSecond;
  28258. }
  28259. event.preventDefault();
  28260. },
  28261. updateModelTime() {
  28262. this.timePickerChange = true;
  28263. let value = this.isComparable() ? this.modelValue : this.viewDate;
  28264. if (this.isRangeSelection()) {
  28265. value = this.modelValue[1] || this.modelValue[0];
  28266. }
  28267. if (this.isMultipleSelection()) {
  28268. value = this.modelValue[this.modelValue.length - 1];
  28269. }
  28270. value = value ? new Date(value.getTime()) : new Date();
  28271. if (this.hourFormat == '12') {
  28272. if (this.currentHour === 12)
  28273. value.setHours(this.pm ? 12 : 0);
  28274. else
  28275. value.setHours(this.pm ? this.currentHour + 12 : this.currentHour);
  28276. }
  28277. else {
  28278. value.setHours(this.currentHour);
  28279. }
  28280. value.setMinutes(this.currentMinute);
  28281. value.setSeconds(this.currentSecond);
  28282. if (this.isRangeSelection()) {
  28283. if (this.modelValue[1])
  28284. value = [this.modelValue[0], value];
  28285. else
  28286. value = [value, null];
  28287. }
  28288. if (this.isMultipleSelection()){
  28289. value = [...this.modelValue.slice(0, -1), value];
  28290. }
  28291. this.updateModel(value);
  28292. this.$emit('date-select', value);
  28293. setTimeout(() => this.timePickerChange = false, 0);
  28294. },
  28295. toggleAMPM(event) {
  28296. this.pm = !this.pm;
  28297. this.updateModelTime();
  28298. event.preventDefault();
  28299. },
  28300. clearTimePickerTimer() {
  28301. if (this.timePickerTimer) {
  28302. clearInterval(this.timePickerTimer);
  28303. }
  28304. },
  28305. onMonthSelect(event, index) {
  28306. if (this.view === 'month') {
  28307. this.onDateSelect(event, {year: this.currentYear, month: index, day: 1, selectable: true});
  28308. }
  28309. else {
  28310. this.currentMonth = index;
  28311. this.currentView = 'date';
  28312. this.$emit('month-change', {month: this.currentMonth + 1, year: this.currentYear});
  28313. }
  28314. setTimeout(this.updateFocus, 0);
  28315. },
  28316. onYearSelect(event, year) {
  28317. if (this.view === 'year') {
  28318. this.onDateSelect(event, {year: year, month: 0, day: 1, selectable: true});
  28319. }
  28320. else {
  28321. this.currentYear = year;
  28322. this.currentView = 'month';
  28323. this.$emit('year-change', {month: this.currentMonth + 1, year: this.currentYear});
  28324. }
  28325. setTimeout(this.updateFocus, 0);
  28326. },
  28327. enableModality() {
  28328. if (!this.mask) {
  28329. this.mask = document.createElement('div');
  28330. this.mask.style.zIndex = String(parseInt(this.overlay.style.zIndex, 10) - 1);
  28331. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addMultipleClasses(this.mask, 'p-datepicker-mask p-datepicker-mask-scrollblocker p-component-overlay p-component-overlay-enter');
  28332. this.maskClickListener = () => {
  28333. this.overlayVisible = false;
  28334. };
  28335. this.mask.addEventListener('click', this.maskClickListener);
  28336. document.body.appendChild(this.mask);
  28337. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addClass(document.body, 'p-overflow-hidden');
  28338. }
  28339. },
  28340. disableModality() {
  28341. if (this.mask) {
  28342. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addClass(this.mask, 'p-component-overlay-leave');
  28343. this.mask.addEventListener('animationend', () => {
  28344. this.destroyMask();
  28345. });
  28346. }
  28347. },
  28348. destroyMask() {
  28349. this.mask.removeEventListener('click', this.maskClickListener);
  28350. this.maskClickListener = null;
  28351. document.body.removeChild(this.mask);
  28352. this.mask = null;
  28353. let bodyChildren = document.body.children;
  28354. let hasBlockerMasks;
  28355. for (let i = 0; i < bodyChildren.length; i++) {
  28356. let bodyChild = bodyChildren[i];
  28357. if(primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(bodyChild, 'p-datepicker-mask-scrollblocker')) {
  28358. hasBlockerMasks = true;
  28359. break;
  28360. }
  28361. }
  28362. if (!hasBlockerMasks) {
  28363. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.removeClass(document.body, 'p-overflow-hidden');
  28364. }
  28365. },
  28366. updateCurrentMetaData() {
  28367. const viewDate = this.viewDate;
  28368. this.currentMonth = viewDate.getMonth();
  28369. this.currentYear = viewDate.getFullYear();
  28370. if (this.showTime || this.timeOnly) {
  28371. this.updateCurrentTimeMeta(viewDate);
  28372. }
  28373. },
  28374. isValidSelection(value) {
  28375. if (value == null) {
  28376. return true;
  28377. }
  28378. let isValid = true;
  28379. if (this.isSingleSelection()) {
  28380. if (!this.isSelectable(value.getDate(), value.getMonth(), value.getFullYear(), false)) {
  28381. isValid = false;
  28382. }
  28383. } else if (value.every(v => this.isSelectable(v.getDate(), v.getMonth(), v.getFullYear(), false))) {
  28384. if (this.isRangeSelection()) {
  28385. isValid = value.length > 1 && value[1] > value[0] ? true : false;
  28386. }
  28387. }
  28388. return isValid;
  28389. },
  28390. parseValue(text) {
  28391. if (!text || text.trim().length === 0) {
  28392. return null;
  28393. }
  28394. let value;
  28395. if (this.isSingleSelection()) {
  28396. value = this.parseDateTime(text);
  28397. }
  28398. else if (this.isMultipleSelection()) {
  28399. let tokens = text.split(',');
  28400. value = [];
  28401. for (let token of tokens) {
  28402. value.push(this.parseDateTime(token.trim()));
  28403. }
  28404. }
  28405. else if (this.isRangeSelection()) {
  28406. let tokens = text.split(' - ');
  28407. value = [];
  28408. for (let i = 0; i < tokens.length; i++) {
  28409. value[i] = this.parseDateTime(tokens[i].trim());
  28410. }
  28411. }
  28412. return value;
  28413. },
  28414. parseDateTime(text) {
  28415. let date;
  28416. let parts = text.split(' ');
  28417. if (this.timeOnly) {
  28418. date = new Date();
  28419. this.populateTime(date, parts[0], parts[1]);
  28420. }
  28421. else {
  28422. const dateFormat = this.datePattern;
  28423. if (this.showTime) {
  28424. date = this.parseDate(parts[0], dateFormat);
  28425. this.populateTime(date, parts[1], parts[2]);
  28426. }
  28427. else {
  28428. date = this.parseDate(text, dateFormat);
  28429. }
  28430. }
  28431. return date;
  28432. },
  28433. populateTime(value, timeString, ampm) {
  28434. if (this.hourFormat == '12' && !ampm) {
  28435. throw 'Invalid Time';
  28436. }
  28437. this.pm = (ampm === 'PM' || ampm === 'pm');
  28438. let time = this.parseTime(timeString);
  28439. value.setHours(time.hour);
  28440. value.setMinutes(time.minute);
  28441. value.setSeconds(time.second);
  28442. },
  28443. parseTime(value) {
  28444. let tokens = value.split(':');
  28445. let validTokenLength = this.showSeconds ? 3 : 2;
  28446. let regex = (/^[0-9][0-9]$/);
  28447. if (tokens.length !== validTokenLength || !tokens[0].match(regex) || !tokens[1].match(regex) || (this.showSeconds && !tokens[2].match(regex))) {
  28448. throw "Invalid time";
  28449. }
  28450. let h = parseInt(tokens[0]);
  28451. let m = parseInt(tokens[1]);
  28452. let s = this.showSeconds ? parseInt(tokens[2]) : null;
  28453. if (isNaN(h) || isNaN(m) || h > 23 || m > 59 || (this.hourFormat == '12' && h > 12) || (this.showSeconds && (isNaN(s) || s > 59))) {
  28454. throw "Invalid time";
  28455. }
  28456. else {
  28457. if (this.hourFormat == '12' && h !== 12 && this.pm) {
  28458. h+= 12;
  28459. }
  28460. return {hour: h, minute: m, second: s};
  28461. }
  28462. },
  28463. parseDate(value, format) {
  28464. if (format == null || value == null) {
  28465. throw "Invalid arguments";
  28466. }
  28467. value = (typeof value === "object" ? value.toString() : value + "");
  28468. if (value === "") {
  28469. return null;
  28470. }
  28471. let iFormat, dim, extra,
  28472. iValue = 0,
  28473. shortYearCutoff = (typeof this.shortYearCutoff !== "string" ? this.shortYearCutoff : new Date().getFullYear() % 100 + parseInt(this.shortYearCutoff, 10)),
  28474. year = -1,
  28475. month = -1,
  28476. day = -1,
  28477. doy = -1,
  28478. literal = false,
  28479. date,
  28480. lookAhead = (match) => {
  28481. let matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);
  28482. if (matches) {
  28483. iFormat++;
  28484. }
  28485. return matches;
  28486. },
  28487. getNumber = (match) => {
  28488. let isDoubled = lookAhead(match),
  28489. size = (match === "@" ? 14 : (match === "!" ? 20 :
  28490. (match === "y" && isDoubled ? 4 : (match === "o" ? 3 : 2)))),
  28491. minSize = (match === "y" ? size : 1),
  28492. digits = new RegExp("^\\d{" + minSize + "," + size + "}"),
  28493. num = value.substring(iValue).match(digits);
  28494. if (!num) {
  28495. throw "Missing number at position " + iValue;
  28496. }
  28497. iValue += num[ 0 ].length;
  28498. return parseInt(num[ 0 ], 10);
  28499. },
  28500. getName = (match, shortNames, longNames) => {
  28501. let index = -1;
  28502. let arr = lookAhead(match) ? longNames : shortNames;
  28503. let names = [];
  28504. for (let i = 0; i < arr.length; i++) {
  28505. names.push([i,arr[i]]);
  28506. }
  28507. names.sort((a,b) => {
  28508. return -(a[ 1 ].length - b[ 1 ].length);
  28509. });
  28510. for (let i = 0; i < names.length; i++) {
  28511. let name = names[i][1];
  28512. if (value.substr(iValue, name.length).toLowerCase() === name.toLowerCase()) {
  28513. index = names[i][0];
  28514. iValue += name.length;
  28515. break;
  28516. }
  28517. }
  28518. if (index !== -1) {
  28519. return index + 1;
  28520. } else {
  28521. throw "Unknown name at position " + iValue;
  28522. }
  28523. },
  28524. checkLiteral = () => {
  28525. if (value.charAt(iValue) !== format.charAt(iFormat)) {
  28526. throw "Unexpected literal at position " + iValue;
  28527. }
  28528. iValue++;
  28529. };
  28530. if (this.currentView === 'month') {
  28531. day = 1;
  28532. }
  28533. for (iFormat = 0; iFormat < format.length; iFormat++) {
  28534. if (literal) {
  28535. if (format.charAt(iFormat) === "'" && !lookAhead("'")) {
  28536. literal = false;
  28537. } else {
  28538. checkLiteral();
  28539. }
  28540. } else {
  28541. switch (format.charAt(iFormat)) {
  28542. case "d":
  28543. day = getNumber("d");
  28544. break;
  28545. case "D":
  28546. getName("D", this.$primevue.config.locale.dayNamesShort, this.$primevue.config.locale.dayNames);
  28547. break;
  28548. case "o":
  28549. doy = getNumber("o");
  28550. break;
  28551. case "m":
  28552. month = getNumber("m");
  28553. break;
  28554. case "M":
  28555. month = getName("M", this.$primevue.config.locale.monthNamesShort, this.$primevue.config.locale.monthNames);
  28556. break;
  28557. case "y":
  28558. year = getNumber("y");
  28559. break;
  28560. case "@":
  28561. date = new Date(getNumber("@"));
  28562. year = date.getFullYear();
  28563. month = date.getMonth() + 1;
  28564. day = date.getDate();
  28565. break;
  28566. case "!":
  28567. date = new Date((getNumber("!") - this.ticksTo1970) / 10000);
  28568. year = date.getFullYear();
  28569. month = date.getMonth() + 1;
  28570. day = date.getDate();
  28571. break;
  28572. case "'":
  28573. if (lookAhead("'")) {
  28574. checkLiteral();
  28575. } else {
  28576. literal = true;
  28577. }
  28578. break;
  28579. default:
  28580. checkLiteral();
  28581. }
  28582. }
  28583. }
  28584. if (iValue < value.length) {
  28585. extra = value.substr(iValue);
  28586. if (!/^\s+/.test(extra)) {
  28587. throw "Extra/unparsed characters found in date: " + extra;
  28588. }
  28589. }
  28590. if (year === -1) {
  28591. year = new Date().getFullYear();
  28592. } else if (year < 100) {
  28593. year += new Date().getFullYear() - new Date().getFullYear() % 100 +
  28594. (year <= shortYearCutoff ? 0 : -100);
  28595. }
  28596. if (doy > -1) {
  28597. month = 1;
  28598. day = doy;
  28599. do {
  28600. dim = this.getDaysCountInMonth(year, month - 1);
  28601. if (day <= dim) {
  28602. break;
  28603. }
  28604. month++;
  28605. day -= dim;
  28606. // eslint-disable-next-line
  28607. } while (true);
  28608. }
  28609. date = this.daylightSavingAdjust(new Date(year, month - 1, day));
  28610. if (date.getFullYear() !== year || date.getMonth() + 1 !== month || date.getDate() !== day) {
  28611. throw "Invalid date"; // E.g. 31/02/00
  28612. }
  28613. return date;
  28614. },
  28615. getWeekNumber(date) {
  28616. let checkDate = new Date(date.getTime());
  28617. checkDate.setDate(checkDate.getDate() + 4 - ( checkDate.getDay() || 7 ));
  28618. let time = checkDate.getTime();
  28619. checkDate.setMonth( 0 );
  28620. checkDate.setDate( 1 );
  28621. return Math.floor( Math.round((time - checkDate.getTime()) / 86400000 ) / 7 ) + 1;
  28622. },
  28623. onDateCellKeydown(event, date, groupIndex) {
  28624. const cellContent = event.currentTarget;
  28625. const cell = cellContent.parentElement;
  28626. switch (event.which) {
  28627. //down arrow
  28628. case 40: {
  28629. cellContent.tabIndex = '-1';
  28630. let cellIndex = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.index(cell);
  28631. let nextRow = cell.parentElement.nextElementSibling;
  28632. if (nextRow) {
  28633. let focusCell = nextRow.children[cellIndex].children[0];
  28634. if (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(focusCell, 'p-disabled')) {
  28635. this.navigationState = {backward: false};
  28636. this.navForward(event);
  28637. }
  28638. else {
  28639. nextRow.children[cellIndex].children[0].tabIndex = '0';
  28640. nextRow.children[cellIndex].children[0].focus();
  28641. }
  28642. }
  28643. else {
  28644. this.navigationState = {backward: false};
  28645. this.navForward(event);
  28646. }
  28647. event.preventDefault();
  28648. break;
  28649. }
  28650. //up arrow
  28651. case 38: {
  28652. cellContent.tabIndex = '-1';
  28653. let cellIndex = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.index(cell);
  28654. let prevRow = cell.parentElement.previousElementSibling;
  28655. if (prevRow) {
  28656. let focusCell = prevRow.children[cellIndex].children[0];
  28657. if (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(focusCell, 'p-disabled')) {
  28658. this.navigationState = {backward: true};
  28659. this.navBackward(event);
  28660. }
  28661. else {
  28662. focusCell.tabIndex = '0';
  28663. focusCell.focus();
  28664. }
  28665. }
  28666. else {
  28667. this.navigationState = {backward: true};
  28668. this.navBackward(event);
  28669. }
  28670. event.preventDefault();
  28671. break;
  28672. }
  28673. //left arrow
  28674. case 37: {
  28675. cellContent.tabIndex = '-1';
  28676. let prevCell = cell.previousElementSibling;
  28677. if (prevCell) {
  28678. let focusCell = prevCell.children[0];
  28679. if (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(focusCell, 'p-disabled')) {
  28680. this.navigateToMonth(true, groupIndex);
  28681. }
  28682. else {
  28683. focusCell.tabIndex = '0';
  28684. focusCell.focus();
  28685. }
  28686. }
  28687. else {
  28688. this.navigateToMonth(true, groupIndex);
  28689. }
  28690. event.preventDefault();
  28691. break;
  28692. }
  28693. //right arrow
  28694. case 39: {
  28695. cellContent.tabIndex = '-1';
  28696. let nextCell = cell.nextElementSibling;
  28697. if (nextCell) {
  28698. let focusCell = nextCell.children[0];
  28699. if (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(focusCell, 'p-disabled')) {
  28700. this.navigateToMonth(false, groupIndex);
  28701. }
  28702. else {
  28703. focusCell.tabIndex = '0';
  28704. focusCell.focus();
  28705. }
  28706. }
  28707. else {
  28708. this.navigateToMonth(false, groupIndex);
  28709. }
  28710. event.preventDefault();
  28711. break;
  28712. }
  28713. //enter
  28714. //space
  28715. case 13:
  28716. case 32: {
  28717. this.onDateSelect(event, date);
  28718. event.preventDefault();
  28719. break;
  28720. }
  28721. //escape
  28722. case 27: {
  28723. this.overlayVisible = false;
  28724. event.preventDefault();
  28725. break;
  28726. }
  28727. //tab
  28728. case 9: {
  28729. if (!this.inline) {
  28730. this.trapFocus(event);
  28731. }
  28732. break;
  28733. }
  28734. }
  28735. },
  28736. navigateToMonth(prev, groupIndex) {
  28737. if (prev) {
  28738. if (this.numberOfMonths === 1 || (groupIndex === 0)) {
  28739. this.navigationState = {backward: true};
  28740. this.navBackward(event);
  28741. }
  28742. else {
  28743. let prevMonthContainer = this.overlay.children[groupIndex - 1];
  28744. let cells = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.find(prevMonthContainer, '.p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)');
  28745. let focusCell = cells[cells.length - 1];
  28746. focusCell.tabIndex = '0';
  28747. focusCell.focus();
  28748. }
  28749. }
  28750. else {
  28751. if (this.numberOfMonths === 1 || (groupIndex === this.numberOfMonths - 1)) {
  28752. this.navigationState = {backward: false};
  28753. this.navForward(event);
  28754. }
  28755. else {
  28756. let nextMonthContainer = this.overlay.children[groupIndex + 1];
  28757. let focusCell = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.findSingle(nextMonthContainer, '.p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)');
  28758. focusCell.tabIndex = '0';
  28759. focusCell.focus();
  28760. }
  28761. }
  28762. },
  28763. onMonthCellKeydown(event, index) {
  28764. const cell = event.currentTarget;
  28765. switch (event.which) {
  28766. //arrows
  28767. case 38:
  28768. case 40: {
  28769. cell.tabIndex = '-1';
  28770. var cells = cell.parentElement.children;
  28771. var cellIndex = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.index(cell);
  28772. let nextCell = cells[event.which === 40 ? cellIndex + 3 : cellIndex -3];
  28773. if (nextCell) {
  28774. nextCell.tabIndex = '0';
  28775. nextCell.focus();
  28776. }
  28777. event.preventDefault();
  28778. break;
  28779. }
  28780. //left arrow
  28781. case 37: {
  28782. cell.tabIndex = '-1';
  28783. let prevCell = cell.previousElementSibling;
  28784. if (prevCell) {
  28785. prevCell.tabIndex = '0';
  28786. prevCell.focus();
  28787. }
  28788. else {
  28789. this.navigationState = {backward: true};
  28790. this.navBackward(event);
  28791. }
  28792. event.preventDefault();
  28793. break;
  28794. }
  28795. //right arrow
  28796. case 39: {
  28797. cell.tabIndex = '-1';
  28798. let nextCell = cell.nextElementSibling;
  28799. if (nextCell) {
  28800. nextCell.tabIndex = '0';
  28801. nextCell.focus();
  28802. }
  28803. else {
  28804. this.navigationState = {backward: false};
  28805. this.navForward(event);
  28806. }
  28807. event.preventDefault();
  28808. break;
  28809. }
  28810. //enter
  28811. //space
  28812. case 13:
  28813. case 32: {
  28814. this.onMonthSelect(event, index);
  28815. event.preventDefault();
  28816. break;
  28817. }
  28818. //escape
  28819. case 27: {
  28820. this.overlayVisible = false;
  28821. event.preventDefault();
  28822. break;
  28823. }
  28824. //tab
  28825. case 9: {
  28826. this.trapFocus(event);
  28827. break;
  28828. }
  28829. }
  28830. },
  28831. onYearCellKeydown(event, index) {
  28832. const cell = event.currentTarget;
  28833. switch (event.which) {
  28834. //arrows
  28835. case 38:
  28836. case 40: {
  28837. cell.tabIndex = '-1';
  28838. var cells = cell.parentElement.children;
  28839. var cellIndex = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.index(cell);
  28840. let nextCell = cells[event.which === 40 ? cellIndex + 2 : cellIndex - 2];
  28841. if (nextCell) {
  28842. nextCell.tabIndex = '0';
  28843. nextCell.focus();
  28844. }
  28845. event.preventDefault();
  28846. break;
  28847. }
  28848. //left arrow
  28849. case 37: {
  28850. cell.tabIndex = '-1';
  28851. let prevCell = cell.previousElementSibling;
  28852. if (prevCell) {
  28853. prevCell.tabIndex = '0';
  28854. prevCell.focus();
  28855. }
  28856. else {
  28857. this.navigationState = {backward: true};
  28858. this.navBackward(event);
  28859. }
  28860. event.preventDefault();
  28861. break;
  28862. }
  28863. //right arrow
  28864. case 39: {
  28865. cell.tabIndex = '-1';
  28866. let nextCell = cell.nextElementSibling;
  28867. if (nextCell) {
  28868. nextCell.tabIndex = '0';
  28869. nextCell.focus();
  28870. }
  28871. else {
  28872. this.navigationState = {backward: false};
  28873. this.navForward(event);
  28874. }
  28875. event.preventDefault();
  28876. break;
  28877. }
  28878. //enter
  28879. //space
  28880. case 13:
  28881. case 32: {
  28882. this.onYearSelect(event, index);
  28883. event.preventDefault();
  28884. break;
  28885. }
  28886. //escape
  28887. case 27: {
  28888. this.overlayVisible = false;
  28889. event.preventDefault();
  28890. break;
  28891. }
  28892. //tab
  28893. case 9: {
  28894. this.trapFocus(event);
  28895. break;
  28896. }
  28897. }
  28898. },
  28899. updateFocus() {
  28900. let cell;
  28901. if (this.navigationState) {
  28902. if (this.navigationState.button) {
  28903. this.initFocusableCell();
  28904. if (this.navigationState.backward)
  28905. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.findSingle(this.overlay, '.p-datepicker-prev').focus();
  28906. else
  28907. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.findSingle(this.overlay, '.p-datepicker-next').focus();
  28908. }
  28909. else {
  28910. if (this.navigationState.backward) {
  28911. let cells;
  28912. if (this.currentView === 'month') {
  28913. cells = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.find(this.overlay, '.p-monthpicker .p-monthpicker-month:not(.p-disabled)');
  28914. }
  28915. else if (this.currentView === 'year') {
  28916. cells = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.find(this.overlay, '.p-yearpicker .p-yearpicker-year:not(.p-disabled)');
  28917. }
  28918. else {
  28919. cells = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.find(this.overlay, '.p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)');
  28920. }
  28921. if (cells && cells.length > 0) {
  28922. cell = cells[cells.length - 1];
  28923. }
  28924. }
  28925. else {
  28926. if (this.currentView === 'month') {
  28927. cell = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.findSingle(this.overlay, '.p-monthpicker .p-monthpicker-month:not(.p-disabled)');
  28928. }
  28929. else if (this.currentView === 'year') {
  28930. cell = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.findSingle(this.overlay, '.p-yearpicker .p-yearpicker-year:not(.p-disabled)');
  28931. }
  28932. else {
  28933. cell = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.findSingle(this.overlay, '.p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)');
  28934. }
  28935. }
  28936. if (cell) {
  28937. cell.tabIndex = '0';
  28938. cell.focus();
  28939. }
  28940. }
  28941. this.navigationState = null;
  28942. }
  28943. else {
  28944. this.initFocusableCell();
  28945. }
  28946. },
  28947. initFocusableCell() {
  28948. let cell;
  28949. if (this.currentView === 'month') {
  28950. let cells = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.find(this.overlay, '.p-monthpicker .p-monthpicker-month');
  28951. let selectedCell= primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.findSingle(this.overlay, '.p-monthpicker .p-monthpicker-month.p-highlight');
  28952. cells.forEach(cell => cell.tabIndex = -1);
  28953. cell = selectedCell || cells[0];
  28954. }
  28955. else if (this.currentView === 'year') {
  28956. let cells = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.find(this.overlay, '.p-yearpicker .p-yearpicker-year');
  28957. let selectedCell= primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.findSingle(this.overlay, '.p-yearpicker .p-yearpicker-year.p-highlight');
  28958. cells.forEach(cell => cell.tabIndex = -1);
  28959. cell = selectedCell || cells[0];
  28960. }
  28961. else {
  28962. cell = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.findSingle(this.overlay, 'span.p-highlight');
  28963. if (!cell) {
  28964. let todayCell = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.findSingle(this.overlay, 'td.p-datepicker-today span:not(.p-disabled):not(.p-ink');
  28965. if (todayCell)
  28966. cell = todayCell;
  28967. else
  28968. cell = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.findSingle(this.overlay, '.p-datepicker-calendar td span:not(.p-disabled):not(.p-ink');
  28969. }
  28970. }
  28971. if (cell) {
  28972. cell.tabIndex = '0';
  28973. if (!this.preventFocus && (!this.navigationState || !this.navigationState.button) && !this.timePickerChange) {
  28974. cell.focus();
  28975. }
  28976. this.preventFocus = false;
  28977. }
  28978. },
  28979. trapFocus(event) {
  28980. event.preventDefault();
  28981. let focusableElements = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getFocusableElements(this.overlay);
  28982. if (focusableElements && focusableElements.length > 0) {
  28983. if (!document.activeElement) {
  28984. focusableElements[0].focus();
  28985. }
  28986. else {
  28987. let focusedIndex = focusableElements.indexOf(document.activeElement);
  28988. if (event.shiftKey) {
  28989. if (focusedIndex == -1 || focusedIndex === 0)
  28990. focusableElements[focusableElements.length - 1].focus();
  28991. else
  28992. focusableElements[focusedIndex - 1].focus();
  28993. }
  28994. else {
  28995. if (focusedIndex == -1 || focusedIndex === (focusableElements.length - 1))
  28996. focusableElements[0].focus();
  28997. else
  28998. focusableElements[focusedIndex + 1].focus();
  28999. }
  29000. }
  29001. }
  29002. },
  29003. onContainerButtonKeydown(event) {
  29004. switch (event.which) {
  29005. //tab
  29006. case 9:
  29007. this.trapFocus(event);
  29008. break;
  29009. //escape
  29010. case 27:
  29011. this.overlayVisible = false;
  29012. event.preventDefault();
  29013. break;
  29014. }
  29015. this.$emit('keydown', event);
  29016. },
  29017. onInput(event) {
  29018. try {
  29019. this.selectionStart = this.input.selectionStart;
  29020. this.selectionEnd = this.input.selectionEnd;
  29021. let value = this.parseValue(event.target.value);
  29022. if (this.isValidSelection(value)) {
  29023. this.typeUpdate = true;
  29024. this.updateModel(value);
  29025. }
  29026. }
  29027. catch(err) {
  29028. /* NoOp */
  29029. }
  29030. this.$emit('input', event);
  29031. },
  29032. onFocus(event) {
  29033. if (this.showOnFocus && this.isEnabled()) {
  29034. this.overlayVisible = true;
  29035. }
  29036. this.focused = true;
  29037. this.$emit('focus', event);
  29038. },
  29039. onBlur(event) {
  29040. this.$emit('blur', {originalEvent: event, value: this.input.value});
  29041. this.focused = false;
  29042. this.input.value = this.formatValue(this.modelValue);
  29043. },
  29044. onKeyDown() {
  29045. if (event.keyCode === 40 && this.overlay) {
  29046. this.trapFocus(event);
  29047. }
  29048. else if (event.keyCode === 27) {
  29049. if (this.overlayVisible) {
  29050. this.overlayVisible = false;
  29051. event.preventDefault();
  29052. }
  29053. }
  29054. else if (event.keyCode === 9) {
  29055. if (this.overlay) {
  29056. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getFocusableElements(this.overlay).forEach(el => el.tabIndex = '-1');
  29057. }
  29058. if (this.overlayVisible) {
  29059. this.overlayVisible = false;
  29060. }
  29061. }
  29062. },
  29063. overlayRef(el) {
  29064. this.overlay = el;
  29065. },
  29066. inputRef(el) {
  29067. this.input = el;
  29068. },
  29069. getMonthName(index) {
  29070. return this.$primevue.config.locale.monthNames[index];
  29071. },
  29072. getYear(month) {
  29073. return this.currentView === 'month' ? this.currentYear : month.year;
  29074. },
  29075. onOverlayClick(event) {
  29076. if (!this.inline) {
  29077. primevue_overlayeventbus__WEBPACK_IMPORTED_MODULE_1__["default"].emit('overlay-click', {
  29078. originalEvent: event,
  29079. target: this.$el
  29080. });
  29081. }
  29082. },
  29083. onOverlayMouseUp(event) {
  29084. this.onOverlayClick(event);
  29085. },
  29086. createResponsiveStyle() {
  29087. if (this.numberOfMonths > 1 && this.responsiveOptions) {
  29088. if (!this.responsiveStyleElement) {
  29089. this.responsiveStyleElement = document.createElement('style');
  29090. this.responsiveStyleElement.type = 'text/css';
  29091. document.body.appendChild(this.responsiveStyleElement);
  29092. }
  29093. let innerHTML = '';
  29094. if (this.responsiveOptions) {
  29095. let responsiveOptions = [...this.responsiveOptions]
  29096. .filter(o => !!(o.breakpoint && o.numMonths))
  29097. .sort((o1, o2) => -1 * o1.breakpoint.localeCompare(o2.breakpoint, undefined, { numeric: true }));
  29098. for (let i = 0; i < responsiveOptions.length; i++) {
  29099. let { breakpoint, numMonths } = responsiveOptions[i];
  29100. let styles = `
  29101. .p-datepicker[${this.attributeSelector}] .p-datepicker-group:nth-child(${numMonths}) .p-datepicker-next {
  29102. display: inline-flex !important;
  29103. }
  29104. `;
  29105. for (let j = numMonths; j < this.numberOfMonths; j++) {
  29106. styles += `
  29107. .p-datepicker[${this.attributeSelector}] .p-datepicker-group:nth-child(${j + 1}) {
  29108. display: none !important;
  29109. }
  29110. `;
  29111. }
  29112. innerHTML += `
  29113. @media screen and (max-width: ${breakpoint}) {
  29114. ${styles}
  29115. }
  29116. `;
  29117. }
  29118. }
  29119. this.responsiveStyleElement.innerHTML = innerHTML;
  29120. }
  29121. },
  29122. destroyResponsiveStyleElement() {
  29123. if (this.responsiveStyleElement) {
  29124. this.responsiveStyleElement.remove();
  29125. this.responsiveStyleElement = null;
  29126. }
  29127. }
  29128. },
  29129. computed: {
  29130. viewDate() {
  29131. let propValue = this.modelValue;
  29132. if (propValue && Array.isArray(propValue)) {
  29133. propValue = propValue[0];
  29134. }
  29135. if (propValue && typeof propValue !== 'string') {
  29136. return propValue;
  29137. }
  29138. else {
  29139. let today = new Date();
  29140. if (this.maxDate && this.maxDate < today) {
  29141. return this.maxDate;
  29142. }
  29143. if (this.minDate && this.minDate > today) {
  29144. return this.minDate;
  29145. }
  29146. return today;
  29147. }
  29148. },
  29149. inputFieldValue() {
  29150. return this.formatValue(this.modelValue);
  29151. },
  29152. containerClass() {
  29153. return [
  29154. 'p-calendar p-component p-inputwrapper', this.class,
  29155. {
  29156. 'p-calendar-w-btn': this.showIcon,
  29157. 'p-calendar-timeonly': this.timeOnly,
  29158. 'p-calendar-disabled': this.$attrs.disabled,
  29159. 'p-inputwrapper-filled': this.modelValue,
  29160. 'p-inputwrapper-focus': this.focused
  29161. }
  29162. ];
  29163. },
  29164. panelStyleClass() {
  29165. return ['p-datepicker p-component', this.panelClass, {
  29166. 'p-datepicker-inline': this.inline,
  29167. 'p-disabled': this.$attrs.disabled,
  29168. 'p-datepicker-timeonly': this.timeOnly,
  29169. 'p-datepicker-multiple-month': this.numberOfMonths > 1,
  29170. 'p-datepicker-monthpicker': (this.currentView === 'month'),
  29171. 'p-datepicker-yearpicker': (this.currentView === 'year'),
  29172. 'p-datepicker-touch-ui': this.touchUI,
  29173. 'p-input-filled': this.$primevue.config.inputStyle === 'filled',
  29174. 'p-ripple-disabled': this.$primevue.config.ripple === false
  29175. }];
  29176. },
  29177. months() {
  29178. let months = [];
  29179. for (let i = 0 ; i < this.numberOfMonths; i++) {
  29180. let month = this.currentMonth + i;
  29181. let year = this.currentYear;
  29182. if (month > 11) {
  29183. month = month % 11 - 1;
  29184. year = year + 1;
  29185. }
  29186. let dates = [];
  29187. let firstDay = this.getFirstDayOfMonthIndex(month, year);
  29188. let daysLength = this.getDaysCountInMonth(month, year);
  29189. let prevMonthDaysLength = this.getDaysCountInPrevMonth(month, year);
  29190. let dayNo = 1;
  29191. let today = new Date();
  29192. let weekNumbers = [];
  29193. let monthRows = Math.ceil((daysLength + firstDay) / 7);
  29194. for (let i = 0; i < monthRows; i++) {
  29195. let week = [];
  29196. if (i == 0) {
  29197. for (let j = (prevMonthDaysLength - firstDay + 1); j <= prevMonthDaysLength; j++) {
  29198. let prev = this.getPreviousMonthAndYear(month, year);
  29199. week.push({day: j, month: prev.month, year: prev.year, otherMonth: true,
  29200. today: this.isToday(today, j, prev.month, prev.year), selectable: this.isSelectable(j, prev.month, prev.year, true)});
  29201. }
  29202. let remainingDaysLength = 7 - week.length;
  29203. for (let j = 0; j < remainingDaysLength; j++) {
  29204. week.push({day: dayNo, month: month, year: year, today: this.isToday(today, dayNo, month, year),
  29205. selectable: this.isSelectable(dayNo, month, year, false)});
  29206. dayNo++;
  29207. }
  29208. }
  29209. else {
  29210. for (let j = 0; j < 7; j++) {
  29211. if (dayNo > daysLength) {
  29212. let next = this.getNextMonthAndYear(month, year);
  29213. week.push({day: dayNo - daysLength, month: next.month, year: next.year, otherMonth: true,
  29214. today: this.isToday(today, dayNo - daysLength, next.month, next.year),
  29215. selectable: this.isSelectable((dayNo - daysLength), next.month, next.year, true)});
  29216. }
  29217. else {
  29218. week.push({day: dayNo, month: month, year: year, today: this.isToday(today, dayNo, month, year),
  29219. selectable: this.isSelectable(dayNo, month, year, false)});
  29220. }
  29221. dayNo++;
  29222. }
  29223. }
  29224. if (this.showWeek) {
  29225. weekNumbers.push(this.getWeekNumber(new Date(week[0].year, week[0].month, week[0].day)));
  29226. }
  29227. dates.push(week);
  29228. }
  29229. months.push({
  29230. month: month,
  29231. year: year,
  29232. dates: dates,
  29233. weekNumbers: weekNumbers
  29234. });
  29235. }
  29236. return months;
  29237. },
  29238. weekDays() {
  29239. let weekDays = [];
  29240. let dayIndex = this.$primevue.config.locale.firstDayOfWeek;
  29241. for (let i = 0; i < 7; i++) {
  29242. weekDays.push(this.$primevue.config.locale.dayNamesMin[dayIndex]);
  29243. dayIndex = (dayIndex == 6) ? 0 : ++dayIndex;
  29244. }
  29245. return weekDays;
  29246. },
  29247. ticksTo1970() {
  29248. return (((1970 - 1) * 365 + Math.floor(1970 / 4) - Math.floor(1970 / 100) + Math.floor(1970 / 400)) * 24 * 60 * 60 * 10000000);
  29249. },
  29250. sundayIndex() {
  29251. return this.$primevue.config.locale.firstDayOfWeek > 0 ? 7 - this.$primevue.config.locale.firstDayOfWeek : 0;
  29252. },
  29253. datePattern() {
  29254. return this.dateFormat || this.$primevue.config.locale.dateFormat;
  29255. },
  29256. yearOptions() {
  29257. if (this.yearRange) {
  29258. let $vm = this;
  29259. const years = this.yearRange.split(':');
  29260. let yearStart = parseInt(years[0]);
  29261. let yearEnd = parseInt(years[1]);
  29262. let yearOptions = [];
  29263. if (this.currentYear < yearStart) {
  29264. $vm.currentYear = yearEnd;
  29265. }
  29266. else if (this.currentYear > yearEnd) {
  29267. $vm.currentYear = yearStart;
  29268. }
  29269. for (let i = yearStart; i <= yearEnd; i++) {
  29270. yearOptions.push(i);
  29271. }
  29272. return yearOptions;
  29273. }
  29274. else {
  29275. return null;
  29276. }
  29277. },
  29278. monthPickerValues() {
  29279. let monthPickerValues = [];
  29280. for (let i = 0; i <= 11; i++) {
  29281. monthPickerValues.push(this.$primevue.config.locale.monthNamesShort[i]);
  29282. }
  29283. return monthPickerValues;
  29284. },
  29285. yearPickerValues() {
  29286. let yearPickerValues = [];
  29287. let base = this.currentYear - (this.currentYear % 10);
  29288. for (let i = 0; i < 10; i++) {
  29289. yearPickerValues.push(base + i);
  29290. }
  29291. return yearPickerValues;
  29292. },
  29293. formattedCurrentHour() {
  29294. return this.currentHour < 10 ? '0' + this.currentHour : this.currentHour;
  29295. },
  29296. formattedCurrentMinute() {
  29297. return this.currentMinute < 10 ? '0' + this.currentMinute : this.currentMinute;
  29298. },
  29299. formattedCurrentSecond() {
  29300. return this.currentSecond < 10 ? '0' + this.currentSecond : this.currentSecond;
  29301. },
  29302. todayLabel() {
  29303. return this.$primevue.config.locale.today;
  29304. },
  29305. clearLabel() {
  29306. return this.$primevue.config.locale.clear;
  29307. },
  29308. weekHeaderLabel() {
  29309. return this.$primevue.config.locale.weekHeader;
  29310. },
  29311. monthNames() {
  29312. return this.$primevue.config.locale.monthNames;
  29313. },
  29314. appendDisabled() {
  29315. return this.appendTo === 'self' || this.inline;
  29316. },
  29317. appendTarget() {
  29318. return this.appendDisabled ? null : this.appendTo;
  29319. },
  29320. attributeSelector() {
  29321. return (0,primevue_utils__WEBPACK_IMPORTED_MODULE_0__.UniqueComponentId)();
  29322. },
  29323. switchViewButtonDisabled() {
  29324. return this.numberOfMonths > 1 || this.$attrs.disabled;
  29325. }
  29326. },
  29327. components: {
  29328. 'CalendarButton': primevue_button__WEBPACK_IMPORTED_MODULE_2__["default"]
  29329. },
  29330. directives: {
  29331. 'ripple': primevue_ripple__WEBPACK_IMPORTED_MODULE_3__["default"]
  29332. }
  29333. };
  29334. const _hoisted_1 = ["readonly"];
  29335. const _hoisted_2 = ["role"];
  29336. const _hoisted_3 = { class: "p-datepicker-group-container" };
  29337. const _hoisted_4 = { class: "p-datepicker-header" };
  29338. const _hoisted_5 = ["disabled"];
  29339. const _hoisted_6 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", { class: "p-datepicker-prev-icon pi pi-chevron-left" }, null, -1);
  29340. const _hoisted_7 = [
  29341. _hoisted_6
  29342. ];
  29343. const _hoisted_8 = { class: "p-datepicker-title" };
  29344. const _hoisted_9 = ["disabled"];
  29345. const _hoisted_10 = ["disabled"];
  29346. const _hoisted_11 = {
  29347. key: 2,
  29348. class: "p-datepicker-decade"
  29349. };
  29350. const _hoisted_12 = ["disabled"];
  29351. const _hoisted_13 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", { class: "p-datepicker-next-icon pi pi-chevron-right" }, null, -1);
  29352. const _hoisted_14 = [
  29353. _hoisted_13
  29354. ];
  29355. const _hoisted_15 = {
  29356. key: 0,
  29357. class: "p-datepicker-calendar-container"
  29358. };
  29359. const _hoisted_16 = { class: "p-datepicker-calendar" };
  29360. const _hoisted_17 = {
  29361. key: 0,
  29362. scope: "col",
  29363. class: "p-datepicker-weekheader p-disabled"
  29364. };
  29365. const _hoisted_18 = {
  29366. key: 0,
  29367. class: "p-datepicker-weeknumber"
  29368. };
  29369. const _hoisted_19 = { class: "p-disabled" };
  29370. const _hoisted_20 = {
  29371. key: 0,
  29372. style: {"visibility":"hidden"}
  29373. };
  29374. const _hoisted_21 = ["onClick", "onKeydown"];
  29375. const _hoisted_22 = {
  29376. key: 0,
  29377. class: "p-monthpicker"
  29378. };
  29379. const _hoisted_23 = ["onClick", "onKeydown"];
  29380. const _hoisted_24 = {
  29381. key: 1,
  29382. class: "p-yearpicker"
  29383. };
  29384. const _hoisted_25 = ["onClick", "onKeydown"];
  29385. const _hoisted_26 = {
  29386. key: 1,
  29387. class: "p-timepicker"
  29388. };
  29389. const _hoisted_27 = { class: "p-hour-picker" };
  29390. const _hoisted_28 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", { class: "pi pi-chevron-up" }, null, -1);
  29391. const _hoisted_29 = [
  29392. _hoisted_28
  29393. ];
  29394. const _hoisted_30 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", { class: "pi pi-chevron-down" }, null, -1);
  29395. const _hoisted_31 = [
  29396. _hoisted_30
  29397. ];
  29398. const _hoisted_32 = { class: "p-separator" };
  29399. const _hoisted_33 = { class: "p-minute-picker" };
  29400. const _hoisted_34 = ["disabled"];
  29401. const _hoisted_35 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", { class: "pi pi-chevron-up" }, null, -1);
  29402. const _hoisted_36 = [
  29403. _hoisted_35
  29404. ];
  29405. const _hoisted_37 = ["disabled"];
  29406. const _hoisted_38 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", { class: "pi pi-chevron-down" }, null, -1);
  29407. const _hoisted_39 = [
  29408. _hoisted_38
  29409. ];
  29410. const _hoisted_40 = {
  29411. key: 0,
  29412. class: "p-separator"
  29413. };
  29414. const _hoisted_41 = {
  29415. key: 1,
  29416. class: "p-second-picker"
  29417. };
  29418. const _hoisted_42 = ["disabled"];
  29419. const _hoisted_43 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", { class: "pi pi-chevron-up" }, null, -1);
  29420. const _hoisted_44 = [
  29421. _hoisted_43
  29422. ];
  29423. const _hoisted_45 = ["disabled"];
  29424. const _hoisted_46 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", { class: "pi pi-chevron-down" }, null, -1);
  29425. const _hoisted_47 = [
  29426. _hoisted_46
  29427. ];
  29428. const _hoisted_48 = {
  29429. key: 2,
  29430. class: "p-separator"
  29431. };
  29432. const _hoisted_49 = {
  29433. key: 3,
  29434. class: "p-ampm-picker"
  29435. };
  29436. const _hoisted_50 = ["disabled"];
  29437. const _hoisted_51 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", { class: "pi pi-chevron-up" }, null, -1);
  29438. const _hoisted_52 = [
  29439. _hoisted_51
  29440. ];
  29441. const _hoisted_53 = ["disabled"];
  29442. const _hoisted_54 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", { class: "pi pi-chevron-down" }, null, -1);
  29443. const _hoisted_55 = [
  29444. _hoisted_54
  29445. ];
  29446. const _hoisted_56 = {
  29447. key: 2,
  29448. class: "p-datepicker-buttonbar"
  29449. };
  29450. function render(_ctx, _cache, $props, $setup, $data, $options) {
  29451. const _component_CalendarButton = (0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveComponent)("CalendarButton");
  29452. const _directive_ripple = (0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveDirective)("ripple");
  29453. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("span", {
  29454. ref: "container",
  29455. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)($options.containerClass),
  29456. style: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeStyle)($props.style)
  29457. }, [
  29458. (!$props.inline)
  29459. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("input", (0,vue__WEBPACK_IMPORTED_MODULE_4__.mergeProps)({
  29460. key: 0,
  29461. ref: $options.inputRef,
  29462. type: "text",
  29463. class: ['p-inputtext p-component', $props.inputClass],
  29464. style: $props.inputStyle,
  29465. onInput: _cache[0] || (_cache[0] = (...args) => ($options.onInput && $options.onInput(...args)))
  29466. }, _ctx.$attrs, {
  29467. onFocus: _cache[1] || (_cache[1] = (...args) => ($options.onFocus && $options.onFocus(...args))),
  29468. onBlur: _cache[2] || (_cache[2] = (...args) => ($options.onBlur && $options.onBlur(...args))),
  29469. onKeydown: _cache[3] || (_cache[3] = (...args) => ($options.onKeyDown && $options.onKeyDown(...args))),
  29470. readonly: !$props.manualInput,
  29471. inputmode: "none"
  29472. }), null, 16, _hoisted_1))
  29473. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  29474. ($props.showIcon)
  29475. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)(_component_CalendarButton, {
  29476. key: 1,
  29477. icon: $props.icon,
  29478. tabindex: "-1",
  29479. class: "p-datepicker-trigger",
  29480. disabled: _ctx.$attrs.disabled,
  29481. onClick: $options.onButtonClick,
  29482. type: "button",
  29483. "aria-label": $options.inputFieldValue
  29484. }, null, 8, ["icon", "disabled", "onClick", "aria-label"]))
  29485. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  29486. ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Teleport, {
  29487. to: $options.appendTarget,
  29488. disabled: $options.appendDisabled
  29489. }, [
  29490. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createVNode)(vue__WEBPACK_IMPORTED_MODULE_4__.Transition, {
  29491. name: "p-connected-overlay",
  29492. onEnter: _cache[66] || (_cache[66] = $event => ($options.onOverlayEnter($event))),
  29493. onAfterEnter: $options.onOverlayEnterComplete,
  29494. onAfterLeave: $options.onOverlayAfterLeave,
  29495. onLeave: $options.onOverlayLeave
  29496. }, {
  29497. default: (0,vue__WEBPACK_IMPORTED_MODULE_4__.withCtx)(() => [
  29498. ($props.inline ? true : $data.overlayVisible)
  29499. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("div", {
  29500. key: 0,
  29501. ref: $options.overlayRef,
  29502. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)($options.panelStyleClass),
  29503. role: $props.inline ? null : 'dialog',
  29504. onClick: _cache[64] || (_cache[64] = (...args) => ($options.onOverlayClick && $options.onOverlayClick(...args))),
  29505. onMouseup: _cache[65] || (_cache[65] = (...args) => ($options.onOverlayMouseUp && $options.onOverlayMouseUp(...args)))
  29506. }, [
  29507. (!$props.timeOnly)
  29508. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, { key: 0 }, [
  29509. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("div", _hoisted_3, [
  29510. ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderList)($options.months, (month, groupIndex) => {
  29511. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("div", {
  29512. class: "p-datepicker-group",
  29513. key: month.month + month.year
  29514. }, [
  29515. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("div", _hoisted_4, [
  29516. (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderSlot)(_ctx.$slots, "header"),
  29517. (0,vue__WEBPACK_IMPORTED_MODULE_4__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("button", {
  29518. class: "p-datepicker-prev p-link",
  29519. onClick: _cache[4] || (_cache[4] = (...args) => ($options.onPrevButtonClick && $options.onPrevButtonClick(...args))),
  29520. type: "button",
  29521. onKeydown: _cache[5] || (_cache[5] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
  29522. disabled: _ctx.$attrs.disabled
  29523. }, _hoisted_7, 40, _hoisted_5)), [
  29524. [vue__WEBPACK_IMPORTED_MODULE_4__.vShow, groupIndex === 0],
  29525. [_directive_ripple]
  29526. ]),
  29527. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("div", _hoisted_8, [
  29528. ($data.currentView === 'date')
  29529. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("button", {
  29530. key: 0,
  29531. type: "button",
  29532. onClick: _cache[6] || (_cache[6] = (...args) => ($options.switchToMonthView && $options.switchToMonthView(...args))),
  29533. onKeydown: _cache[7] || (_cache[7] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
  29534. class: "p-datepicker-month p-link",
  29535. disabled: $options.switchViewButtonDisabled
  29536. }, (0,vue__WEBPACK_IMPORTED_MODULE_4__.toDisplayString)($options.getMonthName(month.month)), 41, _hoisted_9))
  29537. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  29538. ($data.currentView !== 'year')
  29539. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("button", {
  29540. key: 1,
  29541. type: "button",
  29542. onClick: _cache[8] || (_cache[8] = (...args) => ($options.switchToYearView && $options.switchToYearView(...args))),
  29543. onKeydown: _cache[9] || (_cache[9] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
  29544. class: "p-datepicker-year p-link",
  29545. disabled: $options.switchViewButtonDisabled
  29546. }, (0,vue__WEBPACK_IMPORTED_MODULE_4__.toDisplayString)($options.getYear(month)), 41, _hoisted_10))
  29547. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  29548. ($data.currentView === 'year')
  29549. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("span", _hoisted_11, [
  29550. (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderSlot)(_ctx.$slots, "decade", { years: $options.yearPickerValues }, () => [
  29551. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_4__.toDisplayString)($options.yearPickerValues[0]) + " - " + (0,vue__WEBPACK_IMPORTED_MODULE_4__.toDisplayString)($options.yearPickerValues[$options.yearPickerValues.length - 1]), 1)
  29552. ])
  29553. ]))
  29554. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true)
  29555. ]),
  29556. (0,vue__WEBPACK_IMPORTED_MODULE_4__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("button", {
  29557. class: "p-datepicker-next p-link",
  29558. onClick: _cache[10] || (_cache[10] = (...args) => ($options.onNextButtonClick && $options.onNextButtonClick(...args))),
  29559. type: "button",
  29560. onKeydown: _cache[11] || (_cache[11] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
  29561. disabled: _ctx.$attrs.disabled
  29562. }, _hoisted_14, 40, _hoisted_12)), [
  29563. [vue__WEBPACK_IMPORTED_MODULE_4__.vShow, $props.numberOfMonths === 1 ? true : (groupIndex === $props.numberOfMonths - 1)],
  29564. [_directive_ripple]
  29565. ])
  29566. ]),
  29567. ($data.currentView ==='date')
  29568. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("div", _hoisted_15, [
  29569. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("table", _hoisted_16, [
  29570. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("thead", null, [
  29571. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("tr", null, [
  29572. ($props.showWeek)
  29573. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("th", _hoisted_17, [
  29574. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_4__.toDisplayString)($options.weekHeaderLabel), 1)
  29575. ]))
  29576. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  29577. ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderList)($options.weekDays, (weekDay) => {
  29578. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("th", {
  29579. scope: "col",
  29580. key: weekDay
  29581. }, [
  29582. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_4__.toDisplayString)(weekDay), 1)
  29583. ]))
  29584. }), 128))
  29585. ])
  29586. ]),
  29587. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("tbody", null, [
  29588. ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderList)(month.dates, (week, i) => {
  29589. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("tr", {
  29590. key: week[0].day + '' + week[0].month
  29591. }, [
  29592. ($props.showWeek)
  29593. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("td", _hoisted_18, [
  29594. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", _hoisted_19, [
  29595. (month.weekNumbers[i] < 10)
  29596. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("span", _hoisted_20, "0"))
  29597. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  29598. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createTextVNode)(" " + (0,vue__WEBPACK_IMPORTED_MODULE_4__.toDisplayString)(month.weekNumbers[i]), 1)
  29599. ])
  29600. ]))
  29601. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  29602. ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderList)(week, (date) => {
  29603. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("td", {
  29604. key: date.day + '' + date.month,
  29605. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)({'p-datepicker-other-month': date.otherMonth, 'p-datepicker-today': date.today})
  29606. }, [
  29607. (0,vue__WEBPACK_IMPORTED_MODULE_4__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("span", {
  29608. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)({'p-highlight': $options.isSelected(date), 'p-disabled': !date.selectable}),
  29609. onClick: $event => ($options.onDateSelect($event, date)),
  29610. draggable: "false",
  29611. onKeydown: $event => ($options.onDateCellKeydown($event,date,groupIndex))
  29612. }, [
  29613. (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderSlot)(_ctx.$slots, "date", { date: date }, () => [
  29614. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_4__.toDisplayString)(date.day), 1)
  29615. ])
  29616. ], 42, _hoisted_21)), [
  29617. [_directive_ripple]
  29618. ])
  29619. ], 2))
  29620. }), 128))
  29621. ]))
  29622. }), 128))
  29623. ])
  29624. ])
  29625. ]))
  29626. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true)
  29627. ]))
  29628. }), 128))
  29629. ]),
  29630. ($data.currentView === 'month')
  29631. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("div", _hoisted_22, [
  29632. ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderList)($options.monthPickerValues, (m, i) => {
  29633. return (0,vue__WEBPACK_IMPORTED_MODULE_4__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("span", {
  29634. key: m,
  29635. onClick: $event => ($options.onMonthSelect($event, i)),
  29636. onKeydown: $event => ($options.onMonthCellKeydown($event,i)),
  29637. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)(["p-monthpicker-month", {'p-highlight': $options.isMonthSelected(i)}])
  29638. }, [
  29639. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_4__.toDisplayString)(m), 1)
  29640. ], 42, _hoisted_23)), [
  29641. [_directive_ripple]
  29642. ])
  29643. }), 128))
  29644. ]))
  29645. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  29646. ($data.currentView === 'year')
  29647. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("div", _hoisted_24, [
  29648. ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderList)($options.yearPickerValues, (y) => {
  29649. return (0,vue__WEBPACK_IMPORTED_MODULE_4__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("span", {
  29650. key: y,
  29651. onClick: $event => ($options.onYearSelect($event, y)),
  29652. onKeydown: $event => ($options.onYearCellKeydown($event,y)),
  29653. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)(["p-yearpicker-year", {'p-highlight': $options.isYearSelected(y)}])
  29654. }, [
  29655. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_4__.toDisplayString)(y), 1)
  29656. ], 42, _hoisted_25)), [
  29657. [_directive_ripple]
  29658. ])
  29659. }), 128))
  29660. ]))
  29661. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true)
  29662. ], 64))
  29663. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  29664. (($props.showTime||$props.timeOnly) && $data.currentView === 'date')
  29665. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("div", _hoisted_26, [
  29666. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("div", _hoisted_27, [
  29667. (0,vue__WEBPACK_IMPORTED_MODULE_4__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("button", {
  29668. class: "p-link",
  29669. onMousedown: _cache[12] || (_cache[12] = $event => ($options.onTimePickerElementMouseDown($event, 0, 1))),
  29670. onMouseup: _cache[13] || (_cache[13] = $event => ($options.onTimePickerElementMouseUp($event))),
  29671. onKeydown: [
  29672. _cache[14] || (_cache[14] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
  29673. _cache[16] || (_cache[16] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => ($options.onTimePickerElementMouseDown($event, 0, 1)), ["enter"])),
  29674. _cache[17] || (_cache[17] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => ($options.onTimePickerElementMouseDown($event, 0, 1)), ["space"]))
  29675. ],
  29676. onMouseleave: _cache[15] || (_cache[15] = $event => ($options.onTimePickerElementMouseLeave())),
  29677. onKeyup: [
  29678. _cache[18] || (_cache[18] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => ($options.onTimePickerElementMouseUp($event)), ["enter"])),
  29679. _cache[19] || (_cache[19] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => ($options.onTimePickerElementMouseUp($event)), ["space"]))
  29680. ],
  29681. type: "button"
  29682. }, _hoisted_29, 32)), [
  29683. [_directive_ripple]
  29684. ]),
  29685. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_4__.toDisplayString)($options.formattedCurrentHour), 1),
  29686. (0,vue__WEBPACK_IMPORTED_MODULE_4__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("button", {
  29687. class: "p-link",
  29688. onMousedown: _cache[20] || (_cache[20] = $event => ($options.onTimePickerElementMouseDown($event, 0, -1))),
  29689. onMouseup: _cache[21] || (_cache[21] = $event => ($options.onTimePickerElementMouseUp($event))),
  29690. onKeydown: [
  29691. _cache[22] || (_cache[22] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
  29692. _cache[24] || (_cache[24] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => ($options.onTimePickerElementMouseDown($event, 0, -1)), ["enter"])),
  29693. _cache[25] || (_cache[25] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => ($options.onTimePickerElementMouseDown($event, 0, -1)), ["space"]))
  29694. ],
  29695. onMouseleave: _cache[23] || (_cache[23] = $event => ($options.onTimePickerElementMouseLeave())),
  29696. onKeyup: [
  29697. _cache[26] || (_cache[26] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => ($options.onTimePickerElementMouseUp($event)), ["enter"])),
  29698. _cache[27] || (_cache[27] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => ($options.onTimePickerElementMouseUp($event)), ["space"]))
  29699. ],
  29700. type: "button"
  29701. }, _hoisted_31, 32)), [
  29702. [_directive_ripple]
  29703. ])
  29704. ]),
  29705. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("div", _hoisted_32, [
  29706. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_4__.toDisplayString)($props.timeSeparator), 1)
  29707. ]),
  29708. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("div", _hoisted_33, [
  29709. (0,vue__WEBPACK_IMPORTED_MODULE_4__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("button", {
  29710. class: "p-link",
  29711. onMousedown: _cache[28] || (_cache[28] = $event => ($options.onTimePickerElementMouseDown($event, 1, 1))),
  29712. onMouseup: _cache[29] || (_cache[29] = $event => ($options.onTimePickerElementMouseUp($event))),
  29713. onKeydown: [
  29714. _cache[30] || (_cache[30] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
  29715. _cache[32] || (_cache[32] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => ($options.onTimePickerElementMouseDown($event, 1, 1)), ["enter"])),
  29716. _cache[33] || (_cache[33] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => ($options.onTimePickerElementMouseDown($event, 1, 1)), ["space"]))
  29717. ],
  29718. disabled: _ctx.$attrs.disabled,
  29719. onMouseleave: _cache[31] || (_cache[31] = $event => ($options.onTimePickerElementMouseLeave())),
  29720. onKeyup: [
  29721. _cache[34] || (_cache[34] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => ($options.onTimePickerElementMouseUp($event)), ["enter"])),
  29722. _cache[35] || (_cache[35] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => ($options.onTimePickerElementMouseUp($event)), ["space"]))
  29723. ],
  29724. type: "button"
  29725. }, _hoisted_36, 40, _hoisted_34)), [
  29726. [_directive_ripple]
  29727. ]),
  29728. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_4__.toDisplayString)($options.formattedCurrentMinute), 1),
  29729. (0,vue__WEBPACK_IMPORTED_MODULE_4__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("button", {
  29730. class: "p-link",
  29731. onMousedown: _cache[36] || (_cache[36] = $event => ($options.onTimePickerElementMouseDown($event, 1, -1))),
  29732. onMouseup: _cache[37] || (_cache[37] = $event => ($options.onTimePickerElementMouseUp($event))),
  29733. onKeydown: [
  29734. _cache[38] || (_cache[38] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
  29735. _cache[40] || (_cache[40] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => ($options.onTimePickerElementMouseDown($event, 1, -1)), ["enter"])),
  29736. _cache[41] || (_cache[41] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => ($options.onTimePickerElementMouseDown($event, 1, -1)), ["space"]))
  29737. ],
  29738. disabled: _ctx.$attrs.disabled,
  29739. onMouseleave: _cache[39] || (_cache[39] = $event => ($options.onTimePickerElementMouseLeave())),
  29740. onKeyup: [
  29741. _cache[42] || (_cache[42] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => ($options.onTimePickerElementMouseUp($event)), ["enter"])),
  29742. _cache[43] || (_cache[43] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => ($options.onTimePickerElementMouseUp($event)), ["space"]))
  29743. ],
  29744. type: "button"
  29745. }, _hoisted_39, 40, _hoisted_37)), [
  29746. [_directive_ripple]
  29747. ])
  29748. ]),
  29749. ($props.showSeconds)
  29750. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("div", _hoisted_40, [
  29751. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_4__.toDisplayString)($props.timeSeparator), 1)
  29752. ]))
  29753. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  29754. ($props.showSeconds)
  29755. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("div", _hoisted_41, [
  29756. (0,vue__WEBPACK_IMPORTED_MODULE_4__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("button", {
  29757. class: "p-link",
  29758. onMousedown: _cache[44] || (_cache[44] = $event => ($options.onTimePickerElementMouseDown($event, 2, 1))),
  29759. onMouseup: _cache[45] || (_cache[45] = $event => ($options.onTimePickerElementMouseUp($event))),
  29760. onKeydown: [
  29761. _cache[46] || (_cache[46] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
  29762. _cache[48] || (_cache[48] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => ($options.onTimePickerElementMouseDown($event, 2, 1)), ["enter"])),
  29763. _cache[49] || (_cache[49] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => ($options.onTimePickerElementMouseDown($event, 2, 1)), ["space"]))
  29764. ],
  29765. disabled: _ctx.$attrs.disabled,
  29766. onMouseleave: _cache[47] || (_cache[47] = $event => ($options.onTimePickerElementMouseLeave())),
  29767. onKeyup: [
  29768. _cache[50] || (_cache[50] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => ($options.onTimePickerElementMouseUp($event)), ["enter"])),
  29769. _cache[51] || (_cache[51] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => ($options.onTimePickerElementMouseUp($event)), ["space"]))
  29770. ],
  29771. type: "button"
  29772. }, _hoisted_44, 40, _hoisted_42)), [
  29773. [_directive_ripple]
  29774. ]),
  29775. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_4__.toDisplayString)($options.formattedCurrentSecond), 1),
  29776. (0,vue__WEBPACK_IMPORTED_MODULE_4__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("button", {
  29777. class: "p-link",
  29778. onMousedown: _cache[52] || (_cache[52] = $event => ($options.onTimePickerElementMouseDown($event, 2, -1))),
  29779. onMouseup: _cache[53] || (_cache[53] = $event => ($options.onTimePickerElementMouseUp($event))),
  29780. onKeydown: [
  29781. _cache[54] || (_cache[54] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
  29782. _cache[56] || (_cache[56] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => ($options.onTimePickerElementMouseDown($event, 2, -1)), ["enter"])),
  29783. _cache[57] || (_cache[57] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => ($options.onTimePickerElementMouseDown($event, 2, -1)), ["space"]))
  29784. ],
  29785. disabled: _ctx.$attrs.disabled,
  29786. onMouseleave: _cache[55] || (_cache[55] = $event => ($options.onTimePickerElementMouseLeave())),
  29787. onKeyup: [
  29788. _cache[58] || (_cache[58] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => ($options.onTimePickerElementMouseUp($event)), ["enter"])),
  29789. _cache[59] || (_cache[59] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => ($options.onTimePickerElementMouseUp($event)), ["space"]))
  29790. ],
  29791. type: "button"
  29792. }, _hoisted_47, 40, _hoisted_45)), [
  29793. [_directive_ripple]
  29794. ])
  29795. ]))
  29796. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  29797. ($props.hourFormat=='12')
  29798. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("div", _hoisted_48, [
  29799. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_4__.toDisplayString)($props.timeSeparator), 1)
  29800. ]))
  29801. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  29802. ($props.hourFormat=='12')
  29803. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("div", _hoisted_49, [
  29804. (0,vue__WEBPACK_IMPORTED_MODULE_4__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("button", {
  29805. class: "p-link",
  29806. onClick: _cache[60] || (_cache[60] = $event => ($options.toggleAMPM($event))),
  29807. type: "button",
  29808. disabled: _ctx.$attrs.disabled
  29809. }, _hoisted_52, 8, _hoisted_50)), [
  29810. [_directive_ripple]
  29811. ]),
  29812. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", null, (0,vue__WEBPACK_IMPORTED_MODULE_4__.toDisplayString)($data.pm ? 'PM' : 'AM'), 1),
  29813. (0,vue__WEBPACK_IMPORTED_MODULE_4__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("button", {
  29814. class: "p-link",
  29815. onClick: _cache[61] || (_cache[61] = $event => ($options.toggleAMPM($event))),
  29816. type: "button",
  29817. disabled: _ctx.$attrs.disabled
  29818. }, _hoisted_55, 8, _hoisted_53)), [
  29819. [_directive_ripple]
  29820. ])
  29821. ]))
  29822. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true)
  29823. ]))
  29824. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  29825. ($props.showButtonBar)
  29826. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("div", _hoisted_56, [
  29827. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createVNode)(_component_CalendarButton, {
  29828. type: "button",
  29829. label: $options.todayLabel,
  29830. onClick: _cache[62] || (_cache[62] = $event => ($options.onTodayButtonClick($event))),
  29831. class: "p-button-text",
  29832. onKeydown: $options.onContainerButtonKeydown
  29833. }, null, 8, ["label", "onKeydown"]),
  29834. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createVNode)(_component_CalendarButton, {
  29835. type: "button",
  29836. label: $options.clearLabel,
  29837. onClick: _cache[63] || (_cache[63] = $event => ($options.onClearButtonClick($event))),
  29838. class: "p-button-text",
  29839. onKeydown: $options.onContainerButtonKeydown
  29840. }, null, 8, ["label", "onKeydown"])
  29841. ]))
  29842. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  29843. (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderSlot)(_ctx.$slots, "footer")
  29844. ], 42, _hoisted_2))
  29845. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true)
  29846. ]),
  29847. _: 3
  29848. }, 8, ["onAfterEnter", "onAfterLeave", "onLeave"])
  29849. ], 8, ["to", "disabled"]))
  29850. ], 6))
  29851. }
  29852. function styleInject(css, ref) {
  29853. if ( ref === void 0 ) ref = {};
  29854. var insertAt = ref.insertAt;
  29855. if (!css || typeof document === 'undefined') { return; }
  29856. var head = document.head || document.getElementsByTagName('head')[0];
  29857. var style = document.createElement('style');
  29858. style.type = 'text/css';
  29859. if (insertAt === 'top') {
  29860. if (head.firstChild) {
  29861. head.insertBefore(style, head.firstChild);
  29862. } else {
  29863. head.appendChild(style);
  29864. }
  29865. } else {
  29866. head.appendChild(style);
  29867. }
  29868. if (style.styleSheet) {
  29869. style.styleSheet.cssText = css;
  29870. } else {
  29871. style.appendChild(document.createTextNode(css));
  29872. }
  29873. }
  29874. var css_248z = "\n.p-calendar {\n position: relative;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n max-width: 100%;\n}\n.p-calendar .p-inputtext {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n width: 1%;\n}\n.p-calendar-w-btn .p-inputtext {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.p-calendar-w-btn .p-datepicker-trigger {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n/* Fluid */\n.p-fluid .p-calendar {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-fluid .p-calendar .p-inputtext {\n width: 1%;\n}\n\n/* Datepicker */\n.p-calendar .p-datepicker {\n min-width: 100%;\n}\n.p-datepicker {\n\twidth: auto;\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-datepicker-inline {\n display: inline-block;\n position: static;\n overflow-x: auto;\n}\n\n/* Header */\n.p-datepicker-header {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n.p-datepicker-header .p-datepicker-title {\n margin: 0 auto;\n}\n.p-datepicker-prev,\n.p-datepicker-next {\n cursor: pointer;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n overflow: hidden;\n position: relative;\n}\n\n/* Multiple Month DatePicker */\n.p-datepicker-multiple-month .p-datepicker-group-container {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-datepicker-multiple-month .p-datepicker-group-container .p-datepicker-group {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n}\n\n/* DatePicker Table */\n.p-datepicker table {\n\twidth: 100%;\n\tborder-collapse: collapse;\n}\n.p-datepicker td > span {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n cursor: pointer;\n margin: 0 auto;\n overflow: hidden;\n position: relative;\n}\n\n/* Month Picker */\n.p-monthpicker-month {\n width: 33.3%;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n cursor: pointer;\n overflow: hidden;\n position: relative;\n}\n\n/* Year Picker */\n.p-yearpicker-year {\n width: 50%;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n cursor: pointer;\n overflow: hidden;\n position: relative;\n}\n\n/* Button Bar */\n.p-datepicker-buttonbar {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n/* Time Picker */\n.p-timepicker {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.p-timepicker button {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n cursor: pointer;\n overflow: hidden;\n position: relative;\n}\n.p-timepicker > div {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n/* Touch UI */\n.p-datepicker-touch-ui,\n.p-calendar .p-datepicker-touch-ui {\n position: fixed;\n top: 50%;\n left: 50%;\n min-width: 80vw;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n}\n";
  29875. styleInject(css_248z);
  29876. script.render = render;
  29877. /***/ }),
  29878. /***/ "./node_modules/primevue/card/card.esm.js":
  29879. /*!************************************************!*\
  29880. !*** ./node_modules/primevue/card/card.esm.js ***!
  29881. \************************************************/
  29882. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  29883. "use strict";
  29884. __webpack_require__.r(__webpack_exports__);
  29885. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  29886. /* harmony export */ "default": () => (/* binding */ script)
  29887. /* harmony export */ });
  29888. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
  29889. var script = {
  29890. name: 'Card'
  29891. };
  29892. const _hoisted_1 = { class: "p-card p-component" };
  29893. const _hoisted_2 = {
  29894. key: 0,
  29895. class: "p-card-header"
  29896. };
  29897. const _hoisted_3 = { class: "p-card-body" };
  29898. const _hoisted_4 = {
  29899. key: 0,
  29900. class: "p-card-title"
  29901. };
  29902. const _hoisted_5 = {
  29903. key: 1,
  29904. class: "p-card-subtitle"
  29905. };
  29906. const _hoisted_6 = { class: "p-card-content" };
  29907. const _hoisted_7 = {
  29908. key: 2,
  29909. class: "p-card-footer"
  29910. };
  29911. function render(_ctx, _cache, $props, $setup, $data, $options) {
  29912. return ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_1, [
  29913. (_ctx.$slots.header)
  29914. ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_2, [
  29915. (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, "header")
  29916. ]))
  29917. : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("", true),
  29918. (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_3, [
  29919. (_ctx.$slots.title)
  29920. ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_4, [
  29921. (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, "title")
  29922. ]))
  29923. : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("", true),
  29924. (_ctx.$slots.subtitle)
  29925. ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_5, [
  29926. (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, "subtitle")
  29927. ]))
  29928. : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("", true),
  29929. (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_6, [
  29930. (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, "content")
  29931. ]),
  29932. (_ctx.$slots.footer)
  29933. ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_7, [
  29934. (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, "footer")
  29935. ]))
  29936. : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("", true)
  29937. ])
  29938. ]))
  29939. }
  29940. function styleInject(css, ref) {
  29941. if ( ref === void 0 ) ref = {};
  29942. var insertAt = ref.insertAt;
  29943. if (!css || typeof document === 'undefined') { return; }
  29944. var head = document.head || document.getElementsByTagName('head')[0];
  29945. var style = document.createElement('style');
  29946. style.type = 'text/css';
  29947. if (insertAt === 'top') {
  29948. if (head.firstChild) {
  29949. head.insertBefore(style, head.firstChild);
  29950. } else {
  29951. head.appendChild(style);
  29952. }
  29953. } else {
  29954. head.appendChild(style);
  29955. }
  29956. if (style.styleSheet) {
  29957. style.styleSheet.cssText = css;
  29958. } else {
  29959. style.appendChild(document.createTextNode(css));
  29960. }
  29961. }
  29962. var css_248z = "\n.p-card-header img {\n width: 100%;\n}\n";
  29963. styleInject(css_248z);
  29964. script.render = render;
  29965. /***/ }),
  29966. /***/ "./node_modules/primevue/chart/chart.esm.js":
  29967. /*!**************************************************!*\
  29968. !*** ./node_modules/primevue/chart/chart.esm.js ***!
  29969. \**************************************************/
  29970. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  29971. "use strict";
  29972. __webpack_require__.r(__webpack_exports__);
  29973. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  29974. /* harmony export */ "default": () => (/* binding */ script)
  29975. /* harmony export */ });
  29976. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
  29977. var script = {
  29978. name: 'Chart',
  29979. emits: ['select', 'loaded'],
  29980. props: {
  29981. type: String,
  29982. data: null,
  29983. options: null,
  29984. plugins: null,
  29985. width: {
  29986. type: Number,
  29987. default: 300
  29988. },
  29989. height: {
  29990. type: Number,
  29991. default: 150
  29992. },
  29993. },
  29994. chart: null,
  29995. mounted() {
  29996. this.initChart();
  29997. },
  29998. beforeUnmount() {
  29999. if (this.chart) {
  30000. this.chart.destroy();
  30001. this.chart = null;
  30002. }
  30003. },
  30004. watch: {
  30005. /*
  30006. * Use deep watch to enable triggering watch for changes within structure
  30007. * otherwise the entire data object needs to be replaced to trigger watch
  30008. */
  30009. data: {
  30010. handler() {
  30011. this.reinit();
  30012. },
  30013. deep: true
  30014. },
  30015. type() {
  30016. this.reinit();
  30017. },
  30018. options() {
  30019. this.reinit();
  30020. }
  30021. },
  30022. methods: {
  30023. initChart() {
  30024. __webpack_require__.e(/*! import() */ "node_modules_chart_js_auto_auto_esm_js").then(__webpack_require__.bind(__webpack_require__, /*! chart.js/auto */ "./node_modules/chart.js/auto/auto.esm.js")).then((module) => {
  30025. if (this.chart) {
  30026. this.chart.destroy();
  30027. this.chart = null;
  30028. }
  30029. if (module && module.default) {
  30030. this.chart = new module.default(this.$refs.canvas, {
  30031. type: this.type,
  30032. data: this.data,
  30033. options: this.options,
  30034. plugins: this.plugins
  30035. });
  30036. }
  30037. this.$emit('loaded', this.chart);
  30038. });
  30039. },
  30040. getCanvas() {
  30041. return this.$canvas;
  30042. },
  30043. getChart() {
  30044. return this.chart;
  30045. },
  30046. getBase64Image() {
  30047. return this.chart.toBase64Image();
  30048. },
  30049. refresh() {
  30050. if (this.chart) {
  30051. this.chart.update();
  30052. }
  30053. },
  30054. reinit() {
  30055. this.initChart();
  30056. },
  30057. onCanvasClick(event) {
  30058. if (this.chart) {
  30059. const element = this.chart.getElementsAtEventForMode(event, 'nearest', { intersect: true }, false);
  30060. const dataset = this.chart.getElementsAtEventForMode(event, 'dataset', { intersect: true }, false);
  30061. if (element && element[0] && dataset) {
  30062. this.$emit('select', {originalEvent: event, element: element[0], dataset: dataset});
  30063. }
  30064. }
  30065. },
  30066. generateLegend() {
  30067. if (this.chart) {
  30068. return this.chart.generateLegend();
  30069. }
  30070. }
  30071. }
  30072. };
  30073. const _hoisted_1 = { class: "p-chart" };
  30074. const _hoisted_2 = ["width", "height"];
  30075. function render(_ctx, _cache, $props, $setup, $data, $options) {
  30076. return ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_1, [
  30077. (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("canvas", {
  30078. ref: "canvas",
  30079. width: $props.width,
  30080. height: $props.height,
  30081. onClick: _cache[0] || (_cache[0] = $event => ($options.onCanvasClick($event)))
  30082. }, null, 8, _hoisted_2)
  30083. ]))
  30084. }
  30085. function styleInject(css, ref) {
  30086. if ( ref === void 0 ) ref = {};
  30087. var insertAt = ref.insertAt;
  30088. if (!css || typeof document === 'undefined') { return; }
  30089. var head = document.head || document.getElementsByTagName('head')[0];
  30090. var style = document.createElement('style');
  30091. style.type = 'text/css';
  30092. if (insertAt === 'top') {
  30093. if (head.firstChild) {
  30094. head.insertBefore(style, head.firstChild);
  30095. } else {
  30096. head.appendChild(style);
  30097. }
  30098. } else {
  30099. head.appendChild(style);
  30100. }
  30101. if (style.styleSheet) {
  30102. style.styleSheet.cssText = css;
  30103. } else {
  30104. style.appendChild(document.createTextNode(css));
  30105. }
  30106. }
  30107. var css_248z = "\n.p-chart {\n position: relative;\n}\n";
  30108. styleInject(css_248z);
  30109. script.render = render;
  30110. /***/ }),
  30111. /***/ "./node_modules/primevue/column/column.esm.js":
  30112. /*!****************************************************!*\
  30113. !*** ./node_modules/primevue/column/column.esm.js ***!
  30114. \****************************************************/
  30115. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  30116. "use strict";
  30117. __webpack_require__.r(__webpack_exports__);
  30118. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  30119. /* harmony export */ "default": () => (/* binding */ script)
  30120. /* harmony export */ });
  30121. var script = {
  30122. name: 'Column',
  30123. props: {
  30124. columnKey: {
  30125. type: null,
  30126. default: null
  30127. },
  30128. field: {
  30129. type: [String, Function],
  30130. default: null
  30131. },
  30132. sortField: {
  30133. type: [String, Function],
  30134. default: null
  30135. },
  30136. filterField: {
  30137. type: [String, Function],
  30138. default: null
  30139. },
  30140. dataType: {
  30141. type: String,
  30142. default: 'text'
  30143. },
  30144. sortable: {
  30145. type: Boolean,
  30146. default: false
  30147. },
  30148. header: {
  30149. type: null,
  30150. default: null
  30151. },
  30152. footer: {
  30153. type: null,
  30154. default: null
  30155. },
  30156. style: {
  30157. type: null,
  30158. default: null
  30159. },
  30160. class: {
  30161. type: String,
  30162. default: null
  30163. },
  30164. headerStyle: {
  30165. type: null,
  30166. default: null
  30167. },
  30168. headerClass: {
  30169. type: String,
  30170. default: null
  30171. },
  30172. bodyStyle: {
  30173. type: null,
  30174. default: null
  30175. },
  30176. bodyClass: {
  30177. type: String,
  30178. default: null
  30179. },
  30180. footerStyle: {
  30181. type: null,
  30182. default: null
  30183. },
  30184. footerClass: {
  30185. type: String,
  30186. default: null
  30187. },
  30188. showFilterMenu: {
  30189. type: Boolean,
  30190. default: true
  30191. },
  30192. showFilterOperator: {
  30193. type: Boolean,
  30194. default: true
  30195. },
  30196. showClearButton: {
  30197. type: Boolean,
  30198. default: true
  30199. },
  30200. showApplyButton: {
  30201. type: Boolean,
  30202. default: true
  30203. },
  30204. showFilterMatchModes: {
  30205. type: Boolean,
  30206. default: true
  30207. },
  30208. showAddButton: {
  30209. type: Boolean,
  30210. default: true
  30211. },
  30212. filterMatchModeOptions: {
  30213. type: Array,
  30214. default: null
  30215. },
  30216. maxConstraints: {
  30217. type: Number,
  30218. default: 2
  30219. },
  30220. excludeGlobalFilter: {
  30221. type: Boolean,
  30222. default: false
  30223. },
  30224. filterHeaderClass: {
  30225. type: String,
  30226. default: null
  30227. },
  30228. filterHeaderStyle: {
  30229. type: null,
  30230. default: null
  30231. },
  30232. filterMenuClass: {
  30233. type: String,
  30234. default: null
  30235. },
  30236. filterMenuStyle: {
  30237. type: null,
  30238. default: null
  30239. },
  30240. selectionMode: {
  30241. type: String,
  30242. default: null
  30243. },
  30244. expander: {
  30245. type: Boolean,
  30246. default: false
  30247. },
  30248. colspan: {
  30249. type: Number,
  30250. default: null
  30251. },
  30252. rowspan: {
  30253. type: Number,
  30254. default: null
  30255. },
  30256. rowReorder: {
  30257. type: Boolean,
  30258. default: false
  30259. },
  30260. rowReorderIcon: {
  30261. type: String,
  30262. default: 'pi pi-bars'
  30263. },
  30264. reorderableColumn: {
  30265. type: Boolean,
  30266. default: true
  30267. },
  30268. rowEditor: {
  30269. type: Boolean,
  30270. default: false
  30271. },
  30272. frozen: {
  30273. type: Boolean,
  30274. default: false
  30275. },
  30276. alignFrozen: {
  30277. type: String,
  30278. default: 'left'
  30279. },
  30280. exportable: {
  30281. type: Boolean,
  30282. default: true
  30283. },
  30284. exportHeader: {
  30285. type: String,
  30286. default: null
  30287. },
  30288. filterMatchMode: {
  30289. type: String,
  30290. default: null
  30291. },
  30292. hidden: {
  30293. type: Boolean,
  30294. default: false
  30295. }
  30296. },
  30297. render() {
  30298. return null;
  30299. }
  30300. };
  30301. /***/ }),
  30302. /***/ "./node_modules/primevue/config/config.esm.js":
  30303. /*!****************************************************!*\
  30304. !*** ./node_modules/primevue/config/config.esm.js ***!
  30305. \****************************************************/
  30306. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  30307. "use strict";
  30308. __webpack_require__.r(__webpack_exports__);
  30309. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  30310. /* harmony export */ "default": () => (/* binding */ PrimeVue),
  30311. /* harmony export */ "usePrimeVue": () => (/* binding */ usePrimeVue)
  30312. /* harmony export */ });
  30313. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
  30314. /* harmony import */ var primevue_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! primevue/api */ "./node_modules/primevue/api/api.esm.js");
  30315. const defaultOptions = {
  30316. ripple: false,
  30317. inputStyle: 'outlined',
  30318. locale: {
  30319. startsWith: 'Starts with',
  30320. contains: 'Contains',
  30321. notContains: 'Not contains',
  30322. endsWith: 'Ends with',
  30323. equals: 'Equals',
  30324. notEquals: 'Not equals',
  30325. noFilter: 'No Filter',
  30326. lt: 'Less than',
  30327. lte: 'Less than or equal to',
  30328. gt: 'Greater than',
  30329. gte: 'Greater than or equal to',
  30330. dateIs: 'Date is',
  30331. dateIsNot: 'Date is not',
  30332. dateBefore: 'Date is before',
  30333. dateAfter: 'Date is after',
  30334. clear: 'Clear',
  30335. apply: 'Apply',
  30336. matchAll: 'Match All',
  30337. matchAny: 'Match Any',
  30338. addRule: 'Add Rule',
  30339. removeRule: 'Remove Rule',
  30340. accept: 'Yes',
  30341. reject: 'No',
  30342. choose: 'Choose',
  30343. upload: 'Upload',
  30344. cancel: 'Cancel',
  30345. dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
  30346. dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
  30347. dayNamesMin: ["Su","Mo","Tu","We","Th","Fr","Sa"],
  30348. monthNames: ["January","February","March","April","May","June","July","August","September","October","November","December"],
  30349. monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun","Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
  30350. today: 'Today',
  30351. weekHeader: 'Wk',
  30352. firstDayOfWeek: 0,
  30353. dateFormat: 'mm/dd/yy',
  30354. weak: 'Weak',
  30355. medium: 'Medium',
  30356. strong: 'Strong',
  30357. passwordPrompt: 'Enter a password',
  30358. emptyFilterMessage: 'No results found',
  30359. emptyMessage: 'No available options'
  30360. },
  30361. filterMatchModeOptions: {
  30362. text: [
  30363. primevue_api__WEBPACK_IMPORTED_MODULE_1__.FilterMatchMode.STARTS_WITH,
  30364. primevue_api__WEBPACK_IMPORTED_MODULE_1__.FilterMatchMode.CONTAINS,
  30365. primevue_api__WEBPACK_IMPORTED_MODULE_1__.FilterMatchMode.NOT_CONTAINS,
  30366. primevue_api__WEBPACK_IMPORTED_MODULE_1__.FilterMatchMode.ENDS_WITH,
  30367. primevue_api__WEBPACK_IMPORTED_MODULE_1__.FilterMatchMode.EQUALS,
  30368. primevue_api__WEBPACK_IMPORTED_MODULE_1__.FilterMatchMode.NOT_EQUALS
  30369. ],
  30370. numeric: [
  30371. primevue_api__WEBPACK_IMPORTED_MODULE_1__.FilterMatchMode.EQUALS,
  30372. primevue_api__WEBPACK_IMPORTED_MODULE_1__.FilterMatchMode.NOT_EQUALS,
  30373. primevue_api__WEBPACK_IMPORTED_MODULE_1__.FilterMatchMode.LESS_THAN,
  30374. primevue_api__WEBPACK_IMPORTED_MODULE_1__.FilterMatchMode.LESS_THAN_OR_EQUAL_TO,
  30375. primevue_api__WEBPACK_IMPORTED_MODULE_1__.FilterMatchMode.GREATER_THAN,
  30376. primevue_api__WEBPACK_IMPORTED_MODULE_1__.FilterMatchMode.GREATER_THAN_OR_EQUAL_TO
  30377. ],
  30378. date: [
  30379. primevue_api__WEBPACK_IMPORTED_MODULE_1__.FilterMatchMode.DATE_IS,
  30380. primevue_api__WEBPACK_IMPORTED_MODULE_1__.FilterMatchMode.DATE_IS_NOT,
  30381. primevue_api__WEBPACK_IMPORTED_MODULE_1__.FilterMatchMode.DATE_BEFORE,
  30382. primevue_api__WEBPACK_IMPORTED_MODULE_1__.FilterMatchMode.DATE_AFTER
  30383. ]
  30384. },
  30385. zIndex: {
  30386. modal: 1100,
  30387. overlay: 1000,
  30388. menu: 1000,
  30389. tooltip: 1100
  30390. }
  30391. };
  30392. const PrimeVueSymbol = Symbol();
  30393. function usePrimeVue() {
  30394. const PrimeVue = (0,vue__WEBPACK_IMPORTED_MODULE_0__.inject)(PrimeVueSymbol);
  30395. if (!PrimeVue) {
  30396. throw new Error('PrimeVue is not installed!');
  30397. }
  30398. return PrimeVue;
  30399. }
  30400. var PrimeVue = {
  30401. install: (app, options) => {
  30402. let configOptions = options ? {...defaultOptions, ...options} : {...defaultOptions};
  30403. const PrimeVue = {
  30404. config: (0,vue__WEBPACK_IMPORTED_MODULE_0__.reactive)(configOptions)
  30405. };
  30406. app.config.globalProperties.$primevue = PrimeVue;
  30407. app.provide(PrimeVueSymbol, PrimeVue);
  30408. }
  30409. };
  30410. /***/ }),
  30411. /***/ "./node_modules/primevue/confirmationeventbus/confirmationeventbus.esm.js":
  30412. /*!********************************************************************************!*\
  30413. !*** ./node_modules/primevue/confirmationeventbus/confirmationeventbus.esm.js ***!
  30414. \********************************************************************************/
  30415. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  30416. "use strict";
  30417. __webpack_require__.r(__webpack_exports__);
  30418. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  30419. /* harmony export */ "default": () => (/* binding */ ConfirmationEventBus)
  30420. /* harmony export */ });
  30421. /* harmony import */ var primevue_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! primevue/utils */ "./node_modules/primevue/utils/utils.esm.js");
  30422. var ConfirmationEventBus = (0,primevue_utils__WEBPACK_IMPORTED_MODULE_0__.EventBus)();
  30423. /***/ }),
  30424. /***/ "./node_modules/primevue/confirmationservice/confirmationservice.esm.js":
  30425. /*!******************************************************************************!*\
  30426. !*** ./node_modules/primevue/confirmationservice/confirmationservice.esm.js ***!
  30427. \******************************************************************************/
  30428. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  30429. "use strict";
  30430. __webpack_require__.r(__webpack_exports__);
  30431. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  30432. /* harmony export */ "default": () => (/* binding */ ConfirmationService)
  30433. /* harmony export */ });
  30434. /* harmony import */ var primevue_confirmationeventbus__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! primevue/confirmationeventbus */ "./node_modules/primevue/confirmationeventbus/confirmationeventbus.esm.js");
  30435. /* harmony import */ var primevue_useconfirm__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! primevue/useconfirm */ "./node_modules/primevue/useconfirm/useconfirm.esm.js");
  30436. var ConfirmationService = {
  30437. install: (app) => {
  30438. const ConfirmationService = {
  30439. require: (options) => {
  30440. primevue_confirmationeventbus__WEBPACK_IMPORTED_MODULE_0__["default"].emit('confirm', options);
  30441. },
  30442. close: () => {
  30443. primevue_confirmationeventbus__WEBPACK_IMPORTED_MODULE_0__["default"].emit('close');
  30444. }
  30445. };
  30446. app.config.globalProperties.$confirm = ConfirmationService;
  30447. app.provide(primevue_useconfirm__WEBPACK_IMPORTED_MODULE_1__.PrimeVueConfirmSymbol, ConfirmationService);
  30448. }
  30449. };
  30450. /***/ }),
  30451. /***/ "./node_modules/primevue/confirmdialog/confirmdialog.esm.js":
  30452. /*!******************************************************************!*\
  30453. !*** ./node_modules/primevue/confirmdialog/confirmdialog.esm.js ***!
  30454. \******************************************************************/
  30455. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  30456. "use strict";
  30457. __webpack_require__.r(__webpack_exports__);
  30458. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  30459. /* harmony export */ "default": () => (/* binding */ script)
  30460. /* harmony export */ });
  30461. /* harmony import */ var primevue_confirmationeventbus__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! primevue/confirmationeventbus */ "./node_modules/primevue/confirmationeventbus/confirmationeventbus.esm.js");
  30462. /* harmony import */ var primevue_dialog__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! primevue/dialog */ "./node_modules/primevue/dialog/dialog.esm.js");
  30463. /* harmony import */ var primevue_button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! primevue/button */ "./node_modules/primevue/button/button.esm.js");
  30464. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
  30465. var script = {
  30466. name: 'ConfirmDialog',
  30467. props: {
  30468. group: String,
  30469. breakpoints: {
  30470. type: Object,
  30471. default: null
  30472. }
  30473. },
  30474. confirmListener: null,
  30475. closeListener: null,
  30476. data() {
  30477. return {
  30478. visible: false,
  30479. confirmation: null,
  30480. }
  30481. },
  30482. mounted() {
  30483. this.confirmListener = (options) => {
  30484. if (!options) {
  30485. return;
  30486. }
  30487. if (options.group === this.group) {
  30488. this.confirmation = options;
  30489. this.visible = true;
  30490. }
  30491. };
  30492. this.closeListener = () => {
  30493. this.visible = false;
  30494. this.confirmation = null;
  30495. };
  30496. primevue_confirmationeventbus__WEBPACK_IMPORTED_MODULE_0__["default"].on('confirm', this.confirmListener);
  30497. primevue_confirmationeventbus__WEBPACK_IMPORTED_MODULE_0__["default"].on('close', this.closeListener);
  30498. },
  30499. beforeUnmount() {
  30500. primevue_confirmationeventbus__WEBPACK_IMPORTED_MODULE_0__["default"].off('confirm', this.confirmListener);
  30501. primevue_confirmationeventbus__WEBPACK_IMPORTED_MODULE_0__["default"].off('close', this.closeListener);
  30502. },
  30503. methods: {
  30504. accept() {
  30505. if (this.confirmation.accept) {
  30506. this.confirmation.accept();
  30507. }
  30508. this.visible = false;
  30509. },
  30510. reject() {
  30511. if (this.confirmation.reject) {
  30512. this.confirmation.reject();
  30513. }
  30514. this.visible = false;
  30515. }
  30516. },
  30517. computed: {
  30518. header() {
  30519. return this.confirmation ? this.confirmation.header : null;
  30520. },
  30521. message() {
  30522. return this.confirmation ? this.confirmation.message : null;
  30523. },
  30524. blockScroll() {
  30525. return this.confirmation ? this.confirmation.blockScroll : true;
  30526. },
  30527. position() {
  30528. return this.confirmation ? this.confirmation.position : null;
  30529. },
  30530. iconClass() {
  30531. return ['p-confirm-dialog-icon', this.confirmation ? this.confirmation.icon : null];
  30532. },
  30533. acceptLabel() {
  30534. return this.confirmation ? (this.confirmation.acceptLabel || this.$primevue.config.locale.accept) : null;
  30535. },
  30536. rejectLabel() {
  30537. return this.confirmation ? (this.confirmation.rejectLabel || this.$primevue.config.locale.reject) : null;
  30538. },
  30539. acceptIcon() {
  30540. return this.confirmation ? this.confirmation.acceptIcon : null;
  30541. },
  30542. rejectIcon() {
  30543. return this.confirmation ? this.confirmation.rejectIcon : null;
  30544. },
  30545. acceptClass() {
  30546. return ['p-confirm-dialog-accept', this.confirmation ? this.confirmation.acceptClass : null];
  30547. },
  30548. rejectClass() {
  30549. return ['p-confirm-dialog-reject', this.confirmation ? (this.confirmation.rejectClass || 'p-button-text') : null];
  30550. },
  30551. autoFocusAccept() {
  30552. return (this.confirmation.defaultFocus === undefined || this.confirmation.defaultFocus === 'accept') ? true : false;
  30553. },
  30554. autoFocusReject() {
  30555. return this.confirmation.defaultFocus === 'reject' ? true : false;
  30556. }
  30557. },
  30558. components: {
  30559. 'CDialog': primevue_dialog__WEBPACK_IMPORTED_MODULE_1__["default"],
  30560. 'CDButton': primevue_button__WEBPACK_IMPORTED_MODULE_2__["default"]
  30561. }
  30562. };
  30563. const _hoisted_1 = { class: "p-confirm-dialog-message" };
  30564. function render(_ctx, _cache, $props, $setup, $data, $options) {
  30565. const _component_CDButton = (0,vue__WEBPACK_IMPORTED_MODULE_3__.resolveComponent)("CDButton");
  30566. const _component_CDialog = (0,vue__WEBPACK_IMPORTED_MODULE_3__.resolveComponent)("CDialog");
  30567. return ((0,vue__WEBPACK_IMPORTED_MODULE_3__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__.createBlock)(_component_CDialog, {
  30568. visible: $data.visible,
  30569. "onUpdate:visible": _cache[2] || (_cache[2] = $event => (($data.visible) = $event)),
  30570. modal: true,
  30571. header: $options.header,
  30572. blockScroll: $options.blockScroll,
  30573. position: $options.position,
  30574. class: "p-confirm-dialog",
  30575. breakpoints: $props.breakpoints
  30576. }, {
  30577. footer: (0,vue__WEBPACK_IMPORTED_MODULE_3__.withCtx)(() => [
  30578. (0,vue__WEBPACK_IMPORTED_MODULE_3__.createVNode)(_component_CDButton, {
  30579. label: $options.rejectLabel,
  30580. icon: $options.rejectIcon,
  30581. class: (0,vue__WEBPACK_IMPORTED_MODULE_3__.normalizeClass)($options.rejectClass),
  30582. onClick: _cache[0] || (_cache[0] = $event => ($options.reject())),
  30583. autofocus: $options.autoFocusReject
  30584. }, null, 8, ["label", "icon", "class", "autofocus"]),
  30585. (0,vue__WEBPACK_IMPORTED_MODULE_3__.createVNode)(_component_CDButton, {
  30586. label: $options.acceptLabel,
  30587. icon: $options.acceptIcon,
  30588. class: (0,vue__WEBPACK_IMPORTED_MODULE_3__.normalizeClass)($options.acceptClass),
  30589. onClick: _cache[1] || (_cache[1] = $event => ($options.accept())),
  30590. autofocus: $options.autoFocusAccept
  30591. }, null, 8, ["label", "icon", "class", "autofocus"])
  30592. ]),
  30593. default: (0,vue__WEBPACK_IMPORTED_MODULE_3__.withCtx)(() => [
  30594. (0,vue__WEBPACK_IMPORTED_MODULE_3__.createElementVNode)("i", {
  30595. class: (0,vue__WEBPACK_IMPORTED_MODULE_3__.normalizeClass)($options.iconClass)
  30596. }, null, 2),
  30597. (0,vue__WEBPACK_IMPORTED_MODULE_3__.createElementVNode)("span", _hoisted_1, (0,vue__WEBPACK_IMPORTED_MODULE_3__.toDisplayString)($options.message), 1)
  30598. ]),
  30599. _: 1
  30600. }, 8, ["visible", "header", "blockScroll", "position", "breakpoints"]))
  30601. }
  30602. script.render = render;
  30603. /***/ }),
  30604. /***/ "./node_modules/primevue/datatable/datatable.esm.js":
  30605. /*!**********************************************************!*\
  30606. !*** ./node_modules/primevue/datatable/datatable.esm.js ***!
  30607. \**********************************************************/
  30608. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  30609. "use strict";
  30610. __webpack_require__.r(__webpack_exports__);
  30611. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  30612. /* harmony export */ "default": () => (/* binding */ script)
  30613. /* harmony export */ });
  30614. /* harmony import */ var primevue_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! primevue/utils */ "./node_modules/primevue/utils/utils.esm.js");
  30615. /* harmony import */ var primevue_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! primevue/api */ "./node_modules/primevue/api/api.esm.js");
  30616. /* harmony import */ var primevue_paginator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! primevue/paginator */ "./node_modules/primevue/paginator/paginator.esm.js");
  30617. /* harmony import */ var primevue_virtualscroller__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! primevue/virtualscroller */ "./node_modules/primevue/virtualscroller/virtualscroller.esm.js");
  30618. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
  30619. /* harmony import */ var primevue_overlayeventbus__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! primevue/overlayeventbus */ "./node_modules/primevue/overlayeventbus/overlayeventbus.esm.js");
  30620. /* harmony import */ var primevue_dropdown__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! primevue/dropdown */ "./node_modules/primevue/dropdown/dropdown.esm.js");
  30621. /* harmony import */ var primevue_button__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! primevue/button */ "./node_modules/primevue/button/button.esm.js");
  30622. /* harmony import */ var primevue_ripple__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! primevue/ripple */ "./node_modules/primevue/ripple/ripple.esm.js");
  30623. var script$a = {
  30624. name: 'HeaderCheckbox',
  30625. inheritAttrs: false,
  30626. emits: ['change'],
  30627. props: {
  30628. checked: null
  30629. },
  30630. data() {
  30631. return {
  30632. focused: false
  30633. };
  30634. },
  30635. methods: {
  30636. onClick(event) {
  30637. if (!this.$attrs.disabled) {
  30638. this.focused = true;
  30639. this.$emit('change', {
  30640. originalEvent: event,
  30641. checked: !this.checked
  30642. });
  30643. }
  30644. },
  30645. onFocus() {
  30646. this.focused = true;
  30647. },
  30648. onBlur() {
  30649. this.focused = false;
  30650. }
  30651. }
  30652. };
  30653. const _hoisted_1$a = ["aria-checked", "tabindex"];
  30654. function render$a(_ctx, _cache, $props, $setup, $data, $options) {
  30655. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("div", {
  30656. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)(['p-checkbox p-component', {'p-checkbox-focused': $data.focused}]),
  30657. onClick: _cache[2] || (_cache[2] = (...args) => ($options.onClick && $options.onClick(...args))),
  30658. onKeydown: _cache[3] || (_cache[3] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)((0,vue__WEBPACK_IMPORTED_MODULE_4__.withModifiers)((...args) => ($options.onClick && $options.onClick(...args)), ["prevent"]), ["space"]))
  30659. }, [
  30660. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("div", {
  30661. ref: "box",
  30662. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)(['p-checkbox-box p-component', {'p-highlight': $props.checked, 'p-disabled': _ctx.$attrs.disabled, 'p-focus': $data.focused}]),
  30663. role: "checkbox",
  30664. "aria-checked": $props.checked,
  30665. tabindex: _ctx.$attrs.disabled ? null : '0',
  30666. onFocus: _cache[0] || (_cache[0] = $event => ($options.onFocus($event))),
  30667. onBlur: _cache[1] || (_cache[1] = $event => ($options.onBlur($event)))
  30668. }, [
  30669. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", {
  30670. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)(['p-checkbox-icon', {'pi pi-check': $props.checked}])
  30671. }, null, 2)
  30672. ], 42, _hoisted_1$a)
  30673. ], 34))
  30674. }
  30675. script$a.render = render$a;
  30676. var script$9 = {
  30677. name: 'ColumnFilter',
  30678. emits: ['filter-change','filter-apply','operator-change','matchmode-change','constraint-add','constraint-remove','filter-clear','apply-click'],
  30679. props: {
  30680. field: {
  30681. type: String,
  30682. default: null
  30683. },
  30684. type: {
  30685. type: String,
  30686. default: 'text'
  30687. },
  30688. display: {
  30689. type: String,
  30690. default: null
  30691. },
  30692. showMenu: {
  30693. type: Boolean,
  30694. default: true
  30695. },
  30696. matchMode: {
  30697. type: String,
  30698. default: null
  30699. },
  30700. showOperator: {
  30701. type: Boolean,
  30702. default: true
  30703. },
  30704. showClearButton: {
  30705. type: Boolean,
  30706. default: true
  30707. },
  30708. showApplyButton: {
  30709. type: Boolean,
  30710. default: true
  30711. },
  30712. showMatchModes: {
  30713. type: Boolean,
  30714. default: true
  30715. },
  30716. showAddButton: {
  30717. type: Boolean,
  30718. default: true
  30719. },
  30720. matchModeOptions: {
  30721. type: Array,
  30722. default: null
  30723. },
  30724. maxConstraints: {
  30725. type: Number,
  30726. default: 2
  30727. },
  30728. filterElement: null,
  30729. filterHeaderTemplate: null,
  30730. filterFooterTemplate: null,
  30731. filterClearTemplate: null,
  30732. filterApplyTemplate: null,
  30733. filters: {
  30734. type: Object,
  30735. default: null
  30736. },
  30737. filtersStore: {
  30738. type: Object,
  30739. default: null
  30740. },
  30741. filterMenuClass: {
  30742. type: String,
  30743. default: null
  30744. },
  30745. filterMenuStyle: {
  30746. type: null,
  30747. default: null
  30748. }
  30749. },
  30750. data() {
  30751. return {
  30752. overlayVisible: false,
  30753. defaultMatchMode: null,
  30754. defaultOperator: null
  30755. }
  30756. },
  30757. overlay: null,
  30758. selfClick: false,
  30759. overlayEventListener: null,
  30760. beforeUnmount() {
  30761. if (this.overlayEventListener) {
  30762. primevue_overlayeventbus__WEBPACK_IMPORTED_MODULE_5__["default"].off('overlay-click', this.overlayEventListener);
  30763. this.overlayEventListener = null;
  30764. }
  30765. if (this.overlay) {
  30766. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ZIndexUtils.clear(this.overlay);
  30767. this.onOverlayHide();
  30768. }
  30769. },
  30770. mounted() {
  30771. if (this.filters && this.filters[this.field]) {
  30772. let fieldFilters = this.filters[this.field];
  30773. if (fieldFilters.operator) {
  30774. this.defaultMatchMode = fieldFilters.constraints[0].matchMode;
  30775. this.defaultOperator = fieldFilters.operator;
  30776. }
  30777. else {
  30778. this.defaultMatchMode = this.filters[this.field].matchMode;
  30779. }
  30780. }
  30781. },
  30782. methods: {
  30783. clearFilter() {
  30784. let _filters = {...this.filters};
  30785. if (_filters[this.field].operator) {
  30786. _filters[this.field].constraints.splice(1);
  30787. _filters[this.field].operator = this.defaultOperator;
  30788. _filters[this.field].constraints[0] = {value: null, matchMode: this.defaultMatchMode};
  30789. }
  30790. else {
  30791. _filters[this.field].value = null;
  30792. _filters[this.field].matchMode = this.defaultMatchMode;
  30793. }
  30794. this.$emit('filter-clear');
  30795. this.$emit('filter-change', _filters);
  30796. this.$emit('filter-apply');
  30797. this.hide();
  30798. },
  30799. applyFilter() {
  30800. this.$emit('apply-click', {field: this.field, constraints: this.filters[this.field]});
  30801. this.$emit('filter-apply');
  30802. this.hide();
  30803. },
  30804. hasFilter() {
  30805. if (this.filtersStore) {
  30806. let fieldFilter = this.filtersStore[this.field];
  30807. if (fieldFilter) {
  30808. if (fieldFilter.operator)
  30809. return !this.isFilterBlank(fieldFilter.constraints[0].value);
  30810. else
  30811. return !this.isFilterBlank(fieldFilter.value);
  30812. }
  30813. }
  30814. return false;
  30815. },
  30816. hasRowFilter() {
  30817. return this.filters[this.field] && !this.isFilterBlank(this.filters[this.field].value);
  30818. },
  30819. isFilterBlank(filter) {
  30820. if (filter !== null && filter !== undefined) {
  30821. if ((typeof filter === 'string' && filter.trim().length == 0) || (filter instanceof Array && filter.length == 0))
  30822. return true;
  30823. else
  30824. return false;
  30825. }
  30826. return true;
  30827. },
  30828. toggleMenu() {
  30829. this.overlayVisible = !this.overlayVisible;
  30830. },
  30831. onToggleButtonKeyDown(event) {
  30832. switch(event.key) {
  30833. case 'Escape':
  30834. case 'Tab':
  30835. this.overlayVisible = false;
  30836. break;
  30837. case 'ArrowDown':
  30838. if (this.overlayVisible) {
  30839. let focusable = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getFocusableElements(this.overlay);
  30840. if (focusable) {
  30841. focusable[0].focus();
  30842. }
  30843. event.preventDefault();
  30844. }
  30845. else if (event.altKey) {
  30846. this.overlayVisible = true;
  30847. event.preventDefault();
  30848. }
  30849. break;
  30850. }
  30851. },
  30852. onEscape() {
  30853. this.overlayVisible = false;
  30854. if (this.$refs.icon) {
  30855. this.$refs.icon.focus();
  30856. }
  30857. },
  30858. onRowMatchModeChange(matchMode) {
  30859. let _filters = {...this.filters};
  30860. _filters[this.field].matchMode = matchMode;
  30861. this.$emit('matchmode-change', {field: this.field, matchMode: matchMode});
  30862. this.$emit('filter-change', _filters);
  30863. this.$emit('filter-apply');
  30864. this.hide();
  30865. },
  30866. onRowMatchModeKeyDown(event) {
  30867. let item = event.target;
  30868. switch(event.key) {
  30869. case 'ArrowDown':
  30870. var nextItem = this.findNextItem(item);
  30871. if (nextItem) {
  30872. item.removeAttribute('tabindex');
  30873. nextItem.tabIndex = '0';
  30874. nextItem.focus();
  30875. }
  30876. event.preventDefault();
  30877. break;
  30878. case 'ArrowUp':
  30879. var prevItem = this.findPrevItem(item);
  30880. if (prevItem) {
  30881. item.removeAttribute('tabindex');
  30882. prevItem.tabIndex = '0';
  30883. prevItem.focus();
  30884. }
  30885. event.preventDefault();
  30886. break;
  30887. }
  30888. },
  30889. isRowMatchModeSelected(matchMode) {
  30890. return (this.filters[this.field]).matchMode === matchMode;
  30891. },
  30892. onOperatorChange(value) {
  30893. let _filters = {...this.filters};
  30894. _filters[this.field].operator = value;
  30895. this.$emit('filter-change', _filters);
  30896. this.$emit('operator-change', {field: this.field, operator: value});
  30897. if (!this.showApplyButton) {
  30898. this.$emit('filter-apply');
  30899. }
  30900. },
  30901. onMenuMatchModeChange(value, index) {
  30902. let _filters = {...this.filters};
  30903. _filters[this.field].constraints[index].matchMode = value;
  30904. this.$emit('matchmode-change', {field: this.field, matchMode: value, index: index});
  30905. if (!this.showApplyButton) {
  30906. this.$emit('filter-apply');
  30907. }
  30908. },
  30909. addConstraint() {
  30910. let _filters = {...this.filters};
  30911. let newConstraint = {value: null, matchMode: this.defaultMatchMode};
  30912. _filters[this.field].constraints.push(newConstraint);
  30913. this.$emit('constraint-add', {field: this.field, constraing: newConstraint});
  30914. this.$emit('filter-change', _filters);
  30915. if (!this.showApplyButton) {
  30916. this.$emit('filter-apply');
  30917. }
  30918. },
  30919. removeConstraint(index) {
  30920. let _filters = {...this.filters};
  30921. let removedConstraint = _filters[this.field].constraints.splice(index, 1);
  30922. this.$emit('constraint-remove', {field: this.field, constraing: removedConstraint});
  30923. this.$emit('filter-change', _filters);
  30924. if (!this.showApplyButton) {
  30925. this.$emit('filter-apply');
  30926. }
  30927. },
  30928. filterCallback() {
  30929. this.$emit('filter-apply');
  30930. },
  30931. findNextItem(item) {
  30932. let nextItem = item.nextElementSibling;
  30933. if (nextItem)
  30934. return primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(nextItem, 'p-column-filter-separator') ? this.findNextItem(nextItem) : nextItem;
  30935. else
  30936. return item.parentElement.firstElementChild;
  30937. },
  30938. findPrevItem(item) {
  30939. let prevItem = item.previousElementSibling;
  30940. if (prevItem)
  30941. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(prevItem, 'p-column-filter-separator') ? this.findPrevItem(prevItem) : prevItem;
  30942. else
  30943. return item.parentElement.lastElementChild;
  30944. },
  30945. hide() {
  30946. this.overlayVisible = false;
  30947. },
  30948. onContentClick(event) {
  30949. this.selfClick = true;
  30950. primevue_overlayeventbus__WEBPACK_IMPORTED_MODULE_5__["default"].emit('overlay-click', {
  30951. originalEvent: event,
  30952. target: this.overlay
  30953. });
  30954. },
  30955. onContentMouseDown() {
  30956. this.selfClick = true;
  30957. },
  30958. onOverlayEnter(el) {
  30959. if (this.filterMenuStyle) {
  30960. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.applyStyle(this.overlay, this.filterMenuStyle);
  30961. }
  30962. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ZIndexUtils.set('overlay', el, this.$primevue.config.zIndex.overlay);
  30963. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.absolutePosition(this.overlay, this.$refs.icon);
  30964. this.bindOutsideClickListener();
  30965. this.bindScrollListener();
  30966. this.bindResizeListener();
  30967. this.overlayEventListener = (e) => {
  30968. if (!this.isOutsideClicked(e.target)) {
  30969. this.selfClick = true;
  30970. }
  30971. };
  30972. primevue_overlayeventbus__WEBPACK_IMPORTED_MODULE_5__["default"].on('overlay-click', this.overlayEventListener);
  30973. },
  30974. onOverlayLeave() {
  30975. this.onOverlayHide();
  30976. },
  30977. onOverlayAfterLeave(el) {
  30978. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ZIndexUtils.clear(el);
  30979. },
  30980. onOverlayHide() {
  30981. this.unbindOutsideClickListener();
  30982. this.unbindResizeListener();
  30983. this.unbindScrollListener();
  30984. this.overlay = null;
  30985. primevue_overlayeventbus__WEBPACK_IMPORTED_MODULE_5__["default"].off('overlay-click', this.overlayEventListener);
  30986. this.overlayEventListener = null;
  30987. },
  30988. overlayRef(el) {
  30989. this.overlay = el;
  30990. },
  30991. isOutsideClicked(target) {
  30992. return !this.isTargetClicked(target) && this.overlay && !(this.overlay.isSameNode(target) || this.overlay.contains(target));
  30993. },
  30994. isTargetClicked(target) {
  30995. return this.$refs.icon && (this.$refs.icon.isSameNode(target) || this.$refs.icon.contains(target));
  30996. },
  30997. bindOutsideClickListener() {
  30998. if (!this.outsideClickListener) {
  30999. this.outsideClickListener = (event) => {
  31000. if (this.overlayVisible && !this.selfClick && this.isOutsideClicked(event.target)) {
  31001. this.overlayVisible = false;
  31002. }
  31003. this.selfClick = false;
  31004. };
  31005. document.addEventListener('click', this.outsideClickListener);
  31006. }
  31007. },
  31008. unbindOutsideClickListener() {
  31009. if (this.outsideClickListener) {
  31010. document.removeEventListener('click', this.outsideClickListener);
  31011. this.outsideClickListener = null;
  31012. this.selfClick = false;
  31013. }
  31014. },
  31015. bindScrollListener() {
  31016. if (!this.scrollHandler) {
  31017. this.scrollHandler = new primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ConnectedOverlayScrollHandler(this.$refs.icon, () => {
  31018. if (this.overlayVisible) {
  31019. this.hide();
  31020. }
  31021. });
  31022. }
  31023. this.scrollHandler.bindScrollListener();
  31024. },
  31025. unbindScrollListener() {
  31026. if (this.scrollHandler) {
  31027. this.scrollHandler.unbindScrollListener();
  31028. }
  31029. },
  31030. bindResizeListener() {
  31031. if (!this.resizeListener) {
  31032. this.resizeListener = () => {
  31033. if (this.overlayVisible) {
  31034. this.hide();
  31035. }
  31036. };
  31037. window.addEventListener('resize', this.resizeListener);
  31038. }
  31039. },
  31040. unbindResizeListener() {
  31041. if (this.resizeListener) {
  31042. window.removeEventListener('resize', this.resizeListener);
  31043. this.resizeListener = null;
  31044. }
  31045. }
  31046. },
  31047. computed: {
  31048. containerClass() {
  31049. return ['p-column-filter p-fluid', {
  31050. 'p-column-filter-row': this.display === 'row',
  31051. 'p-column-filter-menu': this.display === 'menu'
  31052. }];
  31053. },
  31054. overlayClass() {
  31055. return [this.filterMenuClass, {
  31056. 'p-column-filter-overlay p-component p-fluid': true,
  31057. 'p-column-filter-overlay-menu': this.display === 'menu',
  31058. 'p-input-filled': this.$primevue.config.inputStyle === 'filled',
  31059. 'p-ripple-disabled': this.$primevue.config.ripple === false
  31060. }];
  31061. },
  31062. showMenuButton() {
  31063. return this.showMenu && (this.display === 'row' ? this.type !== 'boolean': true);
  31064. },
  31065. matchModes() {
  31066. return this.matchModeOptions ||
  31067. this.$primevue.config.filterMatchModeOptions[this.type].map(key => {
  31068. return {label: this.$primevue.config.locale[key], value: key}
  31069. });
  31070. },
  31071. isShowMatchModes() {
  31072. return this.type !== 'boolean' && this.showMatchModes && this.matchModes;
  31073. },
  31074. operatorOptions() {
  31075. return [
  31076. {label: this.$primevue.config.locale.matchAll, value: primevue_api__WEBPACK_IMPORTED_MODULE_1__.FilterOperator.AND},
  31077. {label: this.$primevue.config.locale.matchAny, value: primevue_api__WEBPACK_IMPORTED_MODULE_1__.FilterOperator.OR}
  31078. ];
  31079. },
  31080. noFilterLabel() {
  31081. return this.$primevue.config.locale.noFilter;
  31082. },
  31083. isShowOperator() {
  31084. return this.showOperator && this.filters[this.field].operator;
  31085. },
  31086. operator() {
  31087. return this.filters[this.field].operator;
  31088. },
  31089. fieldConstraints() {
  31090. return this.filters[this.field].constraints || [this.filters[this.field]];
  31091. },
  31092. showRemoveIcon() {
  31093. return this.fieldConstraints.length > 1;
  31094. },
  31095. removeRuleButtonLabel() {
  31096. return this.$primevue.config.locale.removeRule;
  31097. },
  31098. addRuleButtonLabel() {
  31099. return this.$primevue.config.locale.addRule;
  31100. },
  31101. isShowAddConstraint() {
  31102. return this.showAddButton && this.filters[this.field].operator && (this.fieldConstraints && this.fieldConstraints.length < this.maxConstraints);
  31103. },
  31104. clearButtonLabel() {
  31105. return this.$primevue.config.locale.clear;
  31106. },
  31107. applyButtonLabel() {
  31108. return this.$primevue.config.locale.apply;
  31109. }
  31110. },
  31111. components: {
  31112. 'CFDropdown': primevue_dropdown__WEBPACK_IMPORTED_MODULE_6__["default"],
  31113. 'CFButton': primevue_button__WEBPACK_IMPORTED_MODULE_7__["default"]
  31114. }
  31115. };
  31116. const _hoisted_1$9 = {
  31117. key: 0,
  31118. class: "p-fluid p-column-filter-element"
  31119. };
  31120. const _hoisted_2$7 = ["aria-expanded"];
  31121. const _hoisted_3$6 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", { class: "pi pi-filter-icon pi-filter" }, null, -1);
  31122. const _hoisted_4$4 = [
  31123. _hoisted_3$6
  31124. ];
  31125. const _hoisted_5$3 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", { class: "pi pi-filter-slash" }, null, -1);
  31126. const _hoisted_6$3 = [
  31127. _hoisted_5$3
  31128. ];
  31129. const _hoisted_7$1 = {
  31130. key: 0,
  31131. class: "p-column-filter-row-items"
  31132. };
  31133. const _hoisted_8 = ["onClick", "onKeydown", "tabindex"];
  31134. const _hoisted_9 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("li", { class: "p-column-filter-separator" }, null, -1);
  31135. const _hoisted_10 = {
  31136. key: 0,
  31137. class: "p-column-filter-operator"
  31138. };
  31139. const _hoisted_11 = { class: "p-column-filter-constraints" };
  31140. const _hoisted_12 = {
  31141. key: 1,
  31142. class: "p-column-filter-add-rule"
  31143. };
  31144. const _hoisted_13 = { class: "p-column-filter-buttonbar" };
  31145. function render$9(_ctx, _cache, $props, $setup, $data, $options) {
  31146. const _component_CFDropdown = (0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveComponent)("CFDropdown");
  31147. const _component_CFButton = (0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveComponent)("CFButton");
  31148. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("div", {
  31149. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)($options.containerClass)
  31150. }, [
  31151. ($props.display === 'row')
  31152. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("div", _hoisted_1$9, [
  31153. ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)((0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveDynamicComponent)($props.filterElement), {
  31154. field: $props.field,
  31155. filterModel: $props.filters[$props.field],
  31156. filterCallback: $options.filterCallback
  31157. }, null, 8, ["field", "filterModel", "filterCallback"]))
  31158. ]))
  31159. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  31160. ($options.showMenuButton)
  31161. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("button", {
  31162. key: 1,
  31163. ref: "icon",
  31164. type: "button",
  31165. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)(["p-column-filter-menu-button p-link", {'p-column-filter-menu-button-open': $data.overlayVisible, 'p-column-filter-menu-button-active': $options.hasFilter()}]),
  31166. "aria-haspopup": "true",
  31167. "aria-expanded": $data.overlayVisible,
  31168. onClick: _cache[0] || (_cache[0] = $event => ($options.toggleMenu())),
  31169. onKeydown: _cache[1] || (_cache[1] = $event => ($options.onToggleButtonKeyDown($event)))
  31170. }, _hoisted_4$4, 42, _hoisted_2$7))
  31171. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  31172. ($props.showClearButton && $props.display === 'row')
  31173. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("button", {
  31174. key: 2,
  31175. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)([{'p-hidden-space': !$options.hasRowFilter()}, "p-column-filter-clear-button p-link"]),
  31176. type: "button",
  31177. onClick: _cache[2] || (_cache[2] = $event => ($options.clearFilter()))
  31178. }, _hoisted_6$3, 2))
  31179. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  31180. ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Teleport, { to: "body" }, [
  31181. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createVNode)(vue__WEBPACK_IMPORTED_MODULE_4__.Transition, {
  31182. name: "p-connected-overlay",
  31183. onEnter: $options.onOverlayEnter,
  31184. onLeave: $options.onOverlayLeave,
  31185. onAfterLeave: $options.onOverlayAfterLeave
  31186. }, {
  31187. default: (0,vue__WEBPACK_IMPORTED_MODULE_4__.withCtx)(() => [
  31188. ($data.overlayVisible)
  31189. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("div", {
  31190. key: 0,
  31191. ref: $options.overlayRef,
  31192. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)($options.overlayClass),
  31193. onKeydown: _cache[11] || (_cache[11] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)((...args) => ($options.onEscape && $options.onEscape(...args)), ["escape"])),
  31194. onClick: _cache[12] || (_cache[12] = (...args) => ($options.onContentClick && $options.onContentClick(...args))),
  31195. onMousedown: _cache[13] || (_cache[13] = (...args) => ($options.onContentMouseDown && $options.onContentMouseDown(...args)))
  31196. }, [
  31197. ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)((0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveDynamicComponent)($props.filterHeaderTemplate), {
  31198. field: $props.field,
  31199. filterModel: $props.filters[$props.field],
  31200. filterCallback: $options.filterCallback
  31201. }, null, 8, ["field", "filterModel", "filterCallback"])),
  31202. ($props.display === 'row')
  31203. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("ul", _hoisted_7$1, [
  31204. ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderList)($options.matchModes, (matchMode, i) => {
  31205. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("li", {
  31206. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)(["p-column-filter-row-item", {'p-highlight': $options.isRowMatchModeSelected(matchMode.value)}]),
  31207. key: matchMode.label,
  31208. onClick: $event => ($options.onRowMatchModeChange(matchMode.value)),
  31209. onKeydown: [
  31210. _cache[3] || (_cache[3] = $event => ($options.onRowMatchModeKeyDown($event))),
  31211. (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)((0,vue__WEBPACK_IMPORTED_MODULE_4__.withModifiers)($event => ($options.onRowMatchModeChange(matchMode.value)), ["prevent"]), ["enter"])
  31212. ],
  31213. tabindex: i === 0 ? '0' : null
  31214. }, (0,vue__WEBPACK_IMPORTED_MODULE_4__.toDisplayString)(matchMode.label), 43, _hoisted_8))
  31215. }), 128)),
  31216. _hoisted_9,
  31217. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("li", {
  31218. class: "p-column-filter-row-item",
  31219. onClick: _cache[4] || (_cache[4] = $event => ($options.clearFilter())),
  31220. onKeydown: [
  31221. _cache[5] || (_cache[5] = $event => ($options.onRowMatchModeKeyDown($event))),
  31222. _cache[6] || (_cache[6] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)($event => (_ctx.onRowClearItemClick()), ["enter"]))
  31223. ]
  31224. }, (0,vue__WEBPACK_IMPORTED_MODULE_4__.toDisplayString)($options.noFilterLabel), 33)
  31225. ]))
  31226. : ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, { key: 1 }, [
  31227. ($options.isShowOperator)
  31228. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("div", _hoisted_10, [
  31229. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createVNode)(_component_CFDropdown, {
  31230. options: $options.operatorOptions,
  31231. modelValue: $options.operator,
  31232. "onUpdate:modelValue": _cache[7] || (_cache[7] = $event => ($options.onOperatorChange($event))),
  31233. class: "p-column-filter-operator-dropdown",
  31234. optionLabel: "label",
  31235. optionValue: "value"
  31236. }, null, 8, ["options", "modelValue"])
  31237. ]))
  31238. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  31239. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("div", _hoisted_11, [
  31240. ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderList)($options.fieldConstraints, (fieldConstraint, i) => {
  31241. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("div", {
  31242. key: i,
  31243. class: "p-column-filter-constraint"
  31244. }, [
  31245. ($options.isShowMatchModes)
  31246. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)(_component_CFDropdown, {
  31247. key: 0,
  31248. options: $options.matchModes,
  31249. modelValue: fieldConstraint.matchMode,
  31250. optionLabel: "label",
  31251. optionValue: "value",
  31252. "onUpdate:modelValue": $event => ($options.onMenuMatchModeChange($event, i)),
  31253. class: "p-column-filter-matchmode-dropdown"
  31254. }, null, 8, ["options", "modelValue", "onUpdate:modelValue"]))
  31255. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  31256. ($props.display === 'menu')
  31257. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)((0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveDynamicComponent)($props.filterElement), {
  31258. key: 1,
  31259. field: $props.field,
  31260. filterModel: fieldConstraint,
  31261. filterCallback: $options.filterCallback
  31262. }, null, 8, ["field", "filterModel", "filterCallback"]))
  31263. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  31264. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("div", null, [
  31265. ($options.showRemoveIcon)
  31266. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)(_component_CFButton, {
  31267. key: 0,
  31268. type: "button",
  31269. icon: "pi pi-trash",
  31270. class: "p-column-filter-remove-button p-button-text p-button-danger p-button-sm",
  31271. onClick: $event => ($options.removeConstraint(i)),
  31272. label: $options.removeRuleButtonLabel
  31273. }, null, 8, ["onClick", "label"]))
  31274. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true)
  31275. ])
  31276. ]))
  31277. }), 128))
  31278. ]),
  31279. ($options.isShowAddConstraint)
  31280. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("div", _hoisted_12, [
  31281. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createVNode)(_component_CFButton, {
  31282. type: "button",
  31283. label: $options.addRuleButtonLabel,
  31284. icon: "pi pi-plus",
  31285. class: "p-column-filter-add-button p-button-text p-button-sm",
  31286. onClick: _cache[8] || (_cache[8] = $event => ($options.addConstraint()))
  31287. }, null, 8, ["label"])
  31288. ]))
  31289. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  31290. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("div", _hoisted_13, [
  31291. (!$props.filterClearTemplate && $props.showClearButton)
  31292. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)(_component_CFButton, {
  31293. key: 0,
  31294. type: "button",
  31295. class: "p-button-outlined p-button-sm",
  31296. onClick: _cache[9] || (_cache[9] = $event => ($options.clearFilter())),
  31297. label: $options.clearButtonLabel
  31298. }, null, 8, ["label"]))
  31299. : ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)((0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveDynamicComponent)($props.filterClearTemplate), {
  31300. key: 1,
  31301. field: $props.field,
  31302. filterModel: $props.filters[$props.field],
  31303. filterCallback: $options.clearFilter
  31304. }, null, 8, ["field", "filterModel", "filterCallback"])),
  31305. ($props.showApplyButton)
  31306. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, { key: 2 }, [
  31307. (!$props.filterApplyTemplate)
  31308. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)(_component_CFButton, {
  31309. key: 0,
  31310. type: "button",
  31311. class: "p-button-sm",
  31312. onClick: _cache[10] || (_cache[10] = $event => ($options.applyFilter())),
  31313. label: $options.applyButtonLabel
  31314. }, null, 8, ["label"]))
  31315. : ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)((0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveDynamicComponent)($props.filterApplyTemplate), {
  31316. key: 1,
  31317. field: $props.field,
  31318. filterModel: $props.filters[$props.field],
  31319. filterCallback: $options.applyFilter
  31320. }, null, 8, ["field", "filterModel", "filterCallback"]))
  31321. ], 64))
  31322. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true)
  31323. ])
  31324. ], 64)),
  31325. ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)((0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveDynamicComponent)($props.filterFooterTemplate), {
  31326. field: $props.field,
  31327. filterModel: $props.filters[$props.field],
  31328. filterCallback: $options.filterCallback
  31329. }, null, 8, ["field", "filterModel", "filterCallback"]))
  31330. ], 34))
  31331. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true)
  31332. ]),
  31333. _: 1
  31334. }, 8, ["onEnter", "onLeave", "onAfterLeave"])
  31335. ]))
  31336. ], 2))
  31337. }
  31338. script$9.render = render$9;
  31339. var script$8 = {
  31340. name: 'HeaderCell',
  31341. emits: ['column-click', 'column-mousedown', 'column-dragstart', 'column-dragover', 'column-dragleave', 'column-drop',
  31342. 'column-resizestart', 'checkbox-change', 'filter-change', 'filter-apply',
  31343. 'operator-change', 'matchmode-change', 'constraint-add', 'constraint-remove', 'filter-clear', 'apply-click'],
  31344. props: {
  31345. column: {
  31346. type: Object,
  31347. default: null
  31348. },
  31349. resizableColumns: {
  31350. type: Boolean,
  31351. default: false
  31352. },
  31353. groupRowsBy: {
  31354. type: [Array,String],
  31355. default: null
  31356. },
  31357. sortMode: {
  31358. type: String,
  31359. default: 'single'
  31360. },
  31361. groupRowSortField: {
  31362. type: [String, Function],
  31363. default: null
  31364. },
  31365. sortField: {
  31366. type: [String, Function],
  31367. default: null
  31368. },
  31369. sortOrder: {
  31370. type: Number,
  31371. default: null
  31372. },
  31373. multiSortMeta: {
  31374. type: Array,
  31375. default: null
  31376. },
  31377. allRowsSelected: {
  31378. type: Boolean,
  31379. default: false
  31380. },
  31381. empty: {
  31382. type: Boolean,
  31383. default: false
  31384. },
  31385. filterDisplay: {
  31386. type: String,
  31387. default: null
  31388. },
  31389. filters: {
  31390. type: Object,
  31391. default: null
  31392. },
  31393. filtersStore: {
  31394. type: Object,
  31395. default: null
  31396. },
  31397. filterColumn: {
  31398. type: Boolean,
  31399. default: false
  31400. }
  31401. },
  31402. data() {
  31403. return {
  31404. styleObject: {}
  31405. }
  31406. },
  31407. mounted() {
  31408. if (this.columnProp('frozen')) {
  31409. this.updateStickyPosition();
  31410. }
  31411. },
  31412. updated() {
  31413. if (this.columnProp('frozen')) {
  31414. this.updateStickyPosition();
  31415. }
  31416. },
  31417. methods: {
  31418. columnProp(prop) {
  31419. return primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.getVNodeProp(this.column, prop);
  31420. },
  31421. onClick(event) {
  31422. this.$emit('column-click', {originalEvent: event, column: this.column});
  31423. },
  31424. onKeyDown(event) {
  31425. if (event.which === 13 && event.currentTarget.nodeName === 'TH' && primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(event.currentTarget, 'p-sortable-column')) {
  31426. this.$emit('column-click', {originalEvent: event, column: this.column});
  31427. }
  31428. },
  31429. onMouseDown(event) {
  31430. this.$emit('column-mousedown', {originalEvent: event, column: this.column});
  31431. },
  31432. onDragStart(event) {
  31433. this.$emit('column-dragstart', event);
  31434. },
  31435. onDragOver(event) {
  31436. this.$emit('column-dragover', event);
  31437. },
  31438. onDragLeave(event) {
  31439. this.$emit('column-dragleave', event);
  31440. },
  31441. onDrop(event) {
  31442. this.$emit('column-drop', event);
  31443. },
  31444. onResizeStart(event) {
  31445. this.$emit('column-resizestart', event);
  31446. },
  31447. getMultiSortMetaIndex() {
  31448. return this.multiSortMeta.findIndex(meta => (meta.field === this.columnProp('field') || meta.field === this.columnProp('sortField')));
  31449. },
  31450. getBadgeValue() {
  31451. let index = this.getMultiSortMetaIndex();
  31452. return (this.groupRowsBy && this.groupRowsBy === this.groupRowSortField) && index > -1 ? index : index + 1;
  31453. },
  31454. isMultiSorted() {
  31455. return this.sortMode === 'multiple' && this.columnProp('sortable') && this.getMultiSortMetaIndex() > -1
  31456. },
  31457. isColumnSorted() {
  31458. return this.sortMode === 'single' ? (this.sortField && (this.sortField === this.columnProp('field') || this.sortField === this.columnProp('sortField'))) : this.isMultiSorted();
  31459. },
  31460. updateStickyPosition() {
  31461. if (this.columnProp('frozen')) {
  31462. let align = this.columnProp('alignFrozen');
  31463. if (align === 'right') {
  31464. let right = 0;
  31465. let next = this.$el.nextElementSibling;
  31466. if (next) {
  31467. right = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(next) + parseFloat(next.style.right || 0);
  31468. }
  31469. this.styleObject.right = right + 'px';
  31470. }
  31471. else {
  31472. let left = 0;
  31473. let prev = this.$el.previousElementSibling;
  31474. if (prev) {
  31475. left = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(prev) + parseFloat(prev.style.left || 0);
  31476. }
  31477. this.styleObject.left = left + 'px';
  31478. }
  31479. let filterRow = this.$el.parentElement.nextElementSibling;
  31480. if (filterRow) {
  31481. let index = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.index(this.$el);
  31482. filterRow.children[index].style.left = this.styleObject.left;
  31483. filterRow.children[index].style.right = this.styleObject.right;
  31484. }
  31485. }
  31486. },
  31487. onHeaderCheckboxChange(event) {
  31488. this.$emit('checkbox-change', event);
  31489. }
  31490. },
  31491. computed: {
  31492. containerClass() {
  31493. return [this.filterColumn ? this.columnProp('filterHeaderClass') : this.columnProp('headerClass'), this.columnProp('class'), {
  31494. 'p-sortable-column': this.columnProp('sortable'),
  31495. 'p-resizable-column': this.resizableColumns,
  31496. 'p-highlight': this.isColumnSorted(),
  31497. 'p-filter-column': this.filterColumn,
  31498. 'p-frozen-column': this.columnProp('frozen')
  31499. }];
  31500. },
  31501. containerStyle() {
  31502. let headerStyle = this.filterColumn ? this.columnProp('filterHeaderStyle'): this.columnProp('headerStyle');
  31503. let columnStyle = this.columnProp('style');
  31504. return this.columnProp('frozen') ? [columnStyle, headerStyle, this.styleObject]: [columnStyle, headerStyle];
  31505. },
  31506. sortableColumnIcon() {
  31507. let sorted = false;
  31508. let sortOrder = null;
  31509. if (this.sortMode === 'single') {
  31510. sorted = this.sortField && (this.sortField === this.columnProp('field') || this.sortField === this.columnProp('sortField'));
  31511. sortOrder = sorted ? this.sortOrder: 0;
  31512. }
  31513. else if (this.sortMode === 'multiple') {
  31514. let metaIndex = this.getMultiSortMetaIndex();
  31515. if (metaIndex > -1) {
  31516. sorted = true;
  31517. sortOrder = this.multiSortMeta[metaIndex].order;
  31518. }
  31519. }
  31520. return [
  31521. 'p-sortable-column-icon pi pi-fw', {
  31522. 'pi-sort-alt': !sorted,
  31523. 'pi-sort-amount-up-alt': sorted && sortOrder > 0,
  31524. 'pi-sort-amount-down': sorted && sortOrder < 0
  31525. }
  31526. ];
  31527. },
  31528. ariaSort() {
  31529. if (this.columnProp('sortable')) {
  31530. const sortIcon = this.sortableColumnIcon;
  31531. if (sortIcon[1]['pi-sort-amount-down'])
  31532. return 'descending';
  31533. else if (sortIcon[1]['pi-sort-amount-up-alt'])
  31534. return 'ascending';
  31535. else
  31536. return 'none';
  31537. }
  31538. else {
  31539. return null;
  31540. }
  31541. }
  31542. },
  31543. components: {
  31544. 'DTHeaderCheckbox': script$a,
  31545. 'DTColumnFilter': script$9
  31546. }
  31547. };
  31548. const _hoisted_1$8 = ["tabindex", "colspan", "rowspan", "aria-sort"];
  31549. const _hoisted_2$6 = { class: "p-column-header-content" };
  31550. const _hoisted_3$5 = {
  31551. key: 1,
  31552. class: "p-column-title"
  31553. };
  31554. const _hoisted_4$3 = {
  31555. key: 3,
  31556. class: "p-sortable-column-badge"
  31557. };
  31558. function render$8(_ctx, _cache, $props, $setup, $data, $options) {
  31559. const _component_DTHeaderCheckbox = (0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveComponent)("DTHeaderCheckbox");
  31560. const _component_DTColumnFilter = (0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveComponent)("DTColumnFilter");
  31561. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("th", {
  31562. style: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeStyle)($options.containerStyle),
  31563. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)($options.containerClass),
  31564. tabindex: $options.columnProp('sortable') ? '0' : null,
  31565. role: "cell",
  31566. onClick: _cache[8] || (_cache[8] = (...args) => ($options.onClick && $options.onClick(...args))),
  31567. onKeydown: _cache[9] || (_cache[9] = (...args) => ($options.onKeyDown && $options.onKeyDown(...args))),
  31568. onMousedown: _cache[10] || (_cache[10] = (...args) => ($options.onMouseDown && $options.onMouseDown(...args))),
  31569. onDragstart: _cache[11] || (_cache[11] = (...args) => ($options.onDragStart && $options.onDragStart(...args))),
  31570. onDragover: _cache[12] || (_cache[12] = (...args) => ($options.onDragOver && $options.onDragOver(...args))),
  31571. onDragleave: _cache[13] || (_cache[13] = (...args) => ($options.onDragLeave && $options.onDragLeave(...args))),
  31572. onDrop: _cache[14] || (_cache[14] = (...args) => ($options.onDrop && $options.onDrop(...args))),
  31573. colspan: $options.columnProp('colspan'),
  31574. rowspan: $options.columnProp('rowspan'),
  31575. "aria-sort": $options.ariaSort
  31576. }, [
  31577. ($props.resizableColumns && !$options.columnProp('frozen'))
  31578. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("span", {
  31579. key: 0,
  31580. class: "p-column-resizer",
  31581. onMousedown: _cache[0] || (_cache[0] = (...args) => ($options.onResizeStart && $options.onResizeStart(...args)))
  31582. }, null, 32))
  31583. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  31584. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("div", _hoisted_2$6, [
  31585. ($props.column.children && $props.column.children.header)
  31586. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)((0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveDynamicComponent)($props.column.children.header), {
  31587. key: 0,
  31588. column: $props.column
  31589. }, null, 8, ["column"]))
  31590. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  31591. ($options.columnProp('header'))
  31592. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("span", _hoisted_3$5, (0,vue__WEBPACK_IMPORTED_MODULE_4__.toDisplayString)($options.columnProp('header')), 1))
  31593. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  31594. ($options.columnProp('sortable'))
  31595. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("span", {
  31596. key: 2,
  31597. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)($options.sortableColumnIcon)
  31598. }, null, 2))
  31599. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  31600. ($options.isMultiSorted())
  31601. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("span", _hoisted_4$3, (0,vue__WEBPACK_IMPORTED_MODULE_4__.toDisplayString)($options.getBadgeValue()), 1))
  31602. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  31603. ($options.columnProp('selectionMode') ==='multiple' && $props.filterDisplay !== 'row')
  31604. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)(_component_DTHeaderCheckbox, {
  31605. key: 4,
  31606. checked: $props.allRowsSelected,
  31607. onChange: $options.onHeaderCheckboxChange,
  31608. disabled: $props.empty
  31609. }, null, 8, ["checked", "onChange", "disabled"]))
  31610. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  31611. ($props.filterDisplay === 'menu' && $props.column.children && $props.column.children.filter)
  31612. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)(_component_DTColumnFilter, {
  31613. key: 5,
  31614. field: $options.columnProp('filterField')||$options.columnProp('field'),
  31615. type: $options.columnProp('dataType'),
  31616. display: "menu",
  31617. showMenu: $options.columnProp('showFilterMenu'),
  31618. filterElement: $props.column.children && $props.column.children.filter,
  31619. filterHeaderTemplate: $props.column.children && $props.column.children.filterheader,
  31620. filterFooterTemplate: $props.column.children && $props.column.children.filterfooter,
  31621. filterClearTemplate: $props.column.children && $props.column.children.filterclear,
  31622. filterApplyTemplate: $props.column.children && $props.column.children.filterapply,
  31623. filters: $props.filters,
  31624. filtersStore: $props.filtersStore,
  31625. onFilterChange: _cache[1] || (_cache[1] = $event => (_ctx.$emit('filter-change', $event))),
  31626. onFilterApply: _cache[2] || (_cache[2] = $event => (_ctx.$emit('filter-apply'))),
  31627. filterMenuStyle: $options.columnProp('filterMenuStyle'),
  31628. filterMenuClass: $options.columnProp('filterMenuClass'),
  31629. showOperator: $options.columnProp('showFilterOperator'),
  31630. showClearButton: $options.columnProp('showClearButton'),
  31631. showApplyButton: $options.columnProp('showApplyButton'),
  31632. showMatchModes: $options.columnProp('showFilterMatchModes'),
  31633. showAddButton: $options.columnProp('showAddButton'),
  31634. matchModeOptions: $options.columnProp('filterMatchModeOptions'),
  31635. maxConstraints: $options.columnProp('maxConstraints'),
  31636. onOperatorChange: _cache[3] || (_cache[3] = $event => (_ctx.$emit('operator-change',$event))),
  31637. onMatchmodeChange: _cache[4] || (_cache[4] = $event => (_ctx.$emit('matchmode-change', $event))),
  31638. onConstraintAdd: _cache[5] || (_cache[5] = $event => (_ctx.$emit('constraint-add', $event))),
  31639. onConstraintRemove: _cache[6] || (_cache[6] = $event => (_ctx.$emit('constraint-remove', $event))),
  31640. onApplyClick: _cache[7] || (_cache[7] = $event => (_ctx.$emit('apply-click',$event)))
  31641. }, null, 8, ["field", "type", "showMenu", "filterElement", "filterHeaderTemplate", "filterFooterTemplate", "filterClearTemplate", "filterApplyTemplate", "filters", "filtersStore", "filterMenuStyle", "filterMenuClass", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "matchModeOptions", "maxConstraints"]))
  31642. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true)
  31643. ])
  31644. ], 46, _hoisted_1$8))
  31645. }
  31646. script$8.render = render$8;
  31647. var script$7 = {
  31648. name: 'TableHeader',
  31649. emits: ['column-click', 'column-mousedown', 'column-dragstart', 'column-dragover', 'column-dragleave', 'column-drop',
  31650. 'column-resizestart', 'checkbox-change', 'filter-change', 'filter-apply',
  31651. 'operator-change', 'matchmode-change', 'constraint-add', 'constraint-remove', 'filter-clear', 'apply-click'],
  31652. props: {
  31653. columnGroup: {
  31654. type: null,
  31655. default: null
  31656. },
  31657. columns: {
  31658. type: null,
  31659. default: null
  31660. },
  31661. rowGroupMode: {
  31662. type: String,
  31663. default: null
  31664. },
  31665. groupRowsBy: {
  31666. type: [Array,String],
  31667. default: null
  31668. },
  31669. resizableColumns: {
  31670. type: Boolean,
  31671. default: false
  31672. },
  31673. allRowsSelected: {
  31674. type: Boolean,
  31675. default: false
  31676. },
  31677. empty: {
  31678. type: Boolean,
  31679. default: false
  31680. },
  31681. sortMode: {
  31682. type: String,
  31683. default: 'single'
  31684. },
  31685. groupRowSortField: {
  31686. type: [String, Function],
  31687. default: null
  31688. },
  31689. sortField: {
  31690. type: [String, Function],
  31691. default: null
  31692. },
  31693. sortOrder: {
  31694. type: Number,
  31695. default: null
  31696. },
  31697. multiSortMeta: {
  31698. type: Array,
  31699. default: null
  31700. },
  31701. filterDisplay: {
  31702. type: String,
  31703. default: null
  31704. },
  31705. filters: {
  31706. type: Object,
  31707. default: null
  31708. },
  31709. filtersStore: {
  31710. type: Object,
  31711. default: null
  31712. }
  31713. },
  31714. methods: {
  31715. columnProp(col, prop) {
  31716. return primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.getVNodeProp(col, prop);
  31717. },
  31718. getFilterColumnHeaderClass(column) {
  31719. return ['p-filter-column', this.columnProp(column, 'filterHeaderClass'), this.columnProp(column, 'class'), {
  31720. 'p-frozen-column': this.columnProp(column, 'frozen')
  31721. }];
  31722. },
  31723. getFilterColumnHeaderStyle(column) {
  31724. return [this.columnProp(column, 'filterHeaderStyle'), this.columnProp(column, 'style')];
  31725. },
  31726. getHeaderRows() {
  31727. let rows = [];
  31728. let columnGroup = this.columnGroup;
  31729. if (columnGroup.children && columnGroup.children.default) {
  31730. for (let child of columnGroup.children.default()) {
  31731. if (child.type.name === 'Row') {
  31732. rows.push(child);
  31733. }
  31734. else if (child.children && child.children instanceof Array) {
  31735. rows = child.children;
  31736. }
  31737. }
  31738. return rows;
  31739. }
  31740. },
  31741. getHeaderColumns(row){
  31742. let cols = [];
  31743. if (row.children && row.children.default) {
  31744. row.children.default().forEach(child => {
  31745. if (child.children && child.children instanceof Array)
  31746. cols = [...cols, ...child.children];
  31747. else if (child.type.name === 'Column')
  31748. cols.push(child);
  31749. });
  31750. return cols;
  31751. }
  31752. }
  31753. },
  31754. components: {
  31755. 'DTHeaderCell': script$8,
  31756. 'DTHeaderCheckbox': script$a,
  31757. 'DTColumnFilter': script$9
  31758. }
  31759. };
  31760. const _hoisted_1$7 = {
  31761. class: "p-datatable-thead",
  31762. role: "rowgroup"
  31763. };
  31764. const _hoisted_2$5 = { role: "row" };
  31765. const _hoisted_3$4 = {
  31766. key: 0,
  31767. role: "row"
  31768. };
  31769. function render$7(_ctx, _cache, $props, $setup, $data, $options) {
  31770. const _component_DTHeaderCell = (0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveComponent)("DTHeaderCell");
  31771. const _component_DTHeaderCheckbox = (0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveComponent)("DTHeaderCheckbox");
  31772. const _component_DTColumnFilter = (0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveComponent)("DTColumnFilter");
  31773. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("thead", _hoisted_1$7, [
  31774. (!$props.columnGroup)
  31775. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, { key: 0 }, [
  31776. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("tr", _hoisted_2$5, [
  31777. ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderList)($props.columns, (col, i) => {
  31778. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, {
  31779. key: $options.columnProp(col, 'columnKey')||$options.columnProp(col, 'field')||i
  31780. }, [
  31781. (!$options.columnProp(col, 'hidden') && ($props.rowGroupMode !== 'subheader' || ($props.groupRowsBy !== $options.columnProp(col, 'field'))))
  31782. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)(_component_DTHeaderCell, {
  31783. key: 0,
  31784. column: col,
  31785. onColumnClick: _cache[0] || (_cache[0] = $event => (_ctx.$emit('column-click', $event))),
  31786. onColumnMousedown: _cache[1] || (_cache[1] = $event => (_ctx.$emit('column-mousedown', $event))),
  31787. onColumnDragstart: _cache[2] || (_cache[2] = $event => (_ctx.$emit('column-dragstart', $event))),
  31788. onColumnDragover: _cache[3] || (_cache[3] = $event => (_ctx.$emit('column-dragover', $event))),
  31789. onColumnDragleave: _cache[4] || (_cache[4] = $event => (_ctx.$emit('column-dragleave', $event))),
  31790. onColumnDrop: _cache[5] || (_cache[5] = $event => (_ctx.$emit('column-drop', $event))),
  31791. groupRowsBy: $props.groupRowsBy,
  31792. groupRowSortField: $props.groupRowSortField,
  31793. resizableColumns: $props.resizableColumns,
  31794. onColumnResizestart: _cache[6] || (_cache[6] = $event => (_ctx.$emit('column-resizestart', $event))),
  31795. sortMode: $props.sortMode,
  31796. sortField: $props.sortField,
  31797. sortOrder: $props.sortOrder,
  31798. multiSortMeta: $props.multiSortMeta,
  31799. allRowsSelected: $props.allRowsSelected,
  31800. empty: $props.empty,
  31801. onCheckboxChange: _cache[7] || (_cache[7] = $event => (_ctx.$emit('checkbox-change', $event))),
  31802. filters: $props.filters,
  31803. filterDisplay: $props.filterDisplay,
  31804. filtersStore: $props.filtersStore,
  31805. onFilterChange: _cache[8] || (_cache[8] = $event => (_ctx.$emit('filter-change', $event))),
  31806. onFilterApply: _cache[9] || (_cache[9] = $event => (_ctx.$emit('filter-apply'))),
  31807. onOperatorChange: _cache[10] || (_cache[10] = $event => (_ctx.$emit('operator-change',$event))),
  31808. onMatchmodeChange: _cache[11] || (_cache[11] = $event => (_ctx.$emit('matchmode-change', $event))),
  31809. onConstraintAdd: _cache[12] || (_cache[12] = $event => (_ctx.$emit('constraint-add', $event))),
  31810. onConstraintRemove: _cache[13] || (_cache[13] = $event => (_ctx.$emit('constraint-remove', $event))),
  31811. onApplyClick: _cache[14] || (_cache[14] = $event => (_ctx.$emit('apply-click',$event)))
  31812. }, null, 8, ["column", "groupRowsBy", "groupRowSortField", "resizableColumns", "sortMode", "sortField", "sortOrder", "multiSortMeta", "allRowsSelected", "empty", "filters", "filterDisplay", "filtersStore"]))
  31813. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true)
  31814. ], 64))
  31815. }), 128))
  31816. ]),
  31817. ($props.filterDisplay === 'row')
  31818. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("tr", _hoisted_3$4, [
  31819. ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderList)($props.columns, (col, i) => {
  31820. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, {
  31821. key: $options.columnProp(col, 'columnKey')||$options.columnProp(col, 'field')||i
  31822. }, [
  31823. (!$options.columnProp(col, 'hidden') && ($props.rowGroupMode !== 'subheader' || ($props.groupRowsBy !== $options.columnProp(col, 'field'))))
  31824. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("th", {
  31825. key: 0,
  31826. style: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeStyle)($options.getFilterColumnHeaderStyle(col)),
  31827. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)($options.getFilterColumnHeaderClass(col))
  31828. }, [
  31829. ($options.columnProp(col, 'selectionMode') ==='multiple')
  31830. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)(_component_DTHeaderCheckbox, {
  31831. key: 0,
  31832. checked: $props.allRowsSelected,
  31833. onChange: _cache[15] || (_cache[15] = $event => (_ctx.$emit('checkbox-change', $event))),
  31834. disabled: $props.empty
  31835. }, null, 8, ["checked", "disabled"]))
  31836. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  31837. (col.children && col.children.filter)
  31838. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)(_component_DTColumnFilter, {
  31839. key: 1,
  31840. field: $options.columnProp(col,'filterField')||$options.columnProp(col,'field'),
  31841. type: $options.columnProp(col,'dataType'),
  31842. display: "row",
  31843. showMenu: $options.columnProp(col,'showFilterMenu'),
  31844. filterElement: col.children && col.children.filter,
  31845. filterHeaderTemplate: col.children && col.children.filterheader,
  31846. filterFooterTemplate: col.children && col.children.filterfooter,
  31847. filterClearTemplate: col.children && col.children.filterclear,
  31848. filterApplyTemplate: col.children && col.children.filterapply,
  31849. filters: $props.filters,
  31850. filtersStore: $props.filtersStore,
  31851. onFilterChange: _cache[16] || (_cache[16] = $event => (_ctx.$emit('filter-change', $event))),
  31852. onFilterApply: _cache[17] || (_cache[17] = $event => (_ctx.$emit('filter-apply'))),
  31853. filterMenuStyle: $options.columnProp(col,'filterMenuStyle'),
  31854. filterMenuClass: $options.columnProp(col,'filterMenuClass'),
  31855. showOperator: $options.columnProp(col,'showFilterOperator'),
  31856. showClearButton: $options.columnProp(col,'showClearButton'),
  31857. showApplyButton: $options.columnProp(col,'showApplyButton'),
  31858. showMatchModes: $options.columnProp(col,'showFilterMatchModes'),
  31859. showAddButton: $options.columnProp(col,'showAddButton'),
  31860. matchModeOptions: $options.columnProp(col,'filterMatchModeOptions'),
  31861. maxConstraints: $options.columnProp(col,'maxConstraints'),
  31862. onOperatorChange: _cache[18] || (_cache[18] = $event => (_ctx.$emit('operator-change',$event))),
  31863. onMatchmodeChange: _cache[19] || (_cache[19] = $event => (_ctx.$emit('matchmode-change', $event))),
  31864. onConstraintAdd: _cache[20] || (_cache[20] = $event => (_ctx.$emit('constraint-add', $event))),
  31865. onConstraintRemove: _cache[21] || (_cache[21] = $event => (_ctx.$emit('constraint-remove', $event))),
  31866. onApplyClick: _cache[22] || (_cache[22] = $event => (_ctx.$emit('apply-click',$event)))
  31867. }, null, 8, ["field", "type", "showMenu", "filterElement", "filterHeaderTemplate", "filterFooterTemplate", "filterClearTemplate", "filterApplyTemplate", "filters", "filtersStore", "filterMenuStyle", "filterMenuClass", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "matchModeOptions", "maxConstraints"]))
  31868. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true)
  31869. ], 6))
  31870. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true)
  31871. ], 64))
  31872. }), 128))
  31873. ]))
  31874. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true)
  31875. ], 64))
  31876. : ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, { key: 1 }, (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderList)($options.getHeaderRows(), (row, i) => {
  31877. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("tr", {
  31878. key: i,
  31879. role: "row"
  31880. }, [
  31881. ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderList)($options.getHeaderColumns(row), (col, j) => {
  31882. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, {
  31883. key: $options.columnProp(col, 'columnKey')||$options.columnProp(col, 'field')||j
  31884. }, [
  31885. (!$options.columnProp(col, 'hidden') && ($props.rowGroupMode !== 'subheader' || ($props.groupRowsBy !== $options.columnProp(col, 'field'))) && (typeof col.children !== 'string'))
  31886. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)(_component_DTHeaderCell, {
  31887. key: 0,
  31888. column: col,
  31889. onColumnClick: _cache[23] || (_cache[23] = $event => (_ctx.$emit('column-click', $event))),
  31890. onColumnMousedown: _cache[24] || (_cache[24] = $event => (_ctx.$emit('column-mousedown', $event))),
  31891. groupRowsBy: $props.groupRowsBy,
  31892. groupRowSortField: $props.groupRowSortField,
  31893. sortMode: $props.sortMode,
  31894. sortField: $props.sortField,
  31895. sortOrder: $props.sortOrder,
  31896. multiSortMeta: $props.multiSortMeta,
  31897. allRowsSelected: $props.allRowsSelected,
  31898. empty: $props.empty,
  31899. onCheckboxChange: _cache[25] || (_cache[25] = $event => (_ctx.$emit('checkbox-change', $event))),
  31900. filters: $props.filters,
  31901. filterDisplay: $props.filterDisplay,
  31902. filtersStore: $props.filtersStore,
  31903. onFilterChange: _cache[26] || (_cache[26] = $event => (_ctx.$emit('filter-change', $event))),
  31904. onFilterApply: _cache[27] || (_cache[27] = $event => (_ctx.$emit('filter-apply'))),
  31905. onOperatorChange: _cache[28] || (_cache[28] = $event => (_ctx.$emit('operator-change',$event))),
  31906. onMatchmodeChange: _cache[29] || (_cache[29] = $event => (_ctx.$emit('matchmode-change', $event))),
  31907. onConstraintAdd: _cache[30] || (_cache[30] = $event => (_ctx.$emit('constraint-add', $event))),
  31908. onConstraintRemove: _cache[31] || (_cache[31] = $event => (_ctx.$emit('constraint-remove', $event))),
  31909. onApplyClick: _cache[32] || (_cache[32] = $event => (_ctx.$emit('apply-click',$event)))
  31910. }, null, 8, ["column", "groupRowsBy", "groupRowSortField", "sortMode", "sortField", "sortOrder", "multiSortMeta", "allRowsSelected", "empty", "filters", "filterDisplay", "filtersStore"]))
  31911. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true)
  31912. ], 64))
  31913. }), 128))
  31914. ]))
  31915. }), 128))
  31916. ]))
  31917. }
  31918. script$7.render = render$7;
  31919. var script$6 = {
  31920. name: 'RowRadioButton',
  31921. inheritAttrs: false,
  31922. emits: ['change'],
  31923. props: {
  31924. value: null,
  31925. checked: null
  31926. },
  31927. data() {
  31928. return {
  31929. focused: false
  31930. };
  31931. },
  31932. methods: {
  31933. onClick(event) {
  31934. if (!this.disabled) {
  31935. if (!this.checked) {
  31936. this.$emit('change', {
  31937. originalEvent: event,
  31938. data: this.value
  31939. });
  31940. }
  31941. }
  31942. },
  31943. onFocus() {
  31944. this.focused = true;
  31945. },
  31946. onBlur() {
  31947. this.focused = false;
  31948. }
  31949. }
  31950. };
  31951. const _hoisted_1$6 = ["aria-checked"];
  31952. const _hoisted_2$4 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("div", { class: "p-radiobutton-icon" }, null, -1);
  31953. const _hoisted_3$3 = [
  31954. _hoisted_2$4
  31955. ];
  31956. function render$6(_ctx, _cache, $props, $setup, $data, $options) {
  31957. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("div", {
  31958. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)(['p-radiobutton p-component', {'p-radiobutton-focused': $data.focused}]),
  31959. onClick: _cache[0] || (_cache[0] = (...args) => ($options.onClick && $options.onClick(...args))),
  31960. tabindex: "0",
  31961. onFocus: _cache[1] || (_cache[1] = $event => ($options.onFocus($event))),
  31962. onBlur: _cache[2] || (_cache[2] = $event => ($options.onBlur($event))),
  31963. onKeydown: _cache[3] || (_cache[3] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)((0,vue__WEBPACK_IMPORTED_MODULE_4__.withModifiers)((...args) => ($options.onClick && $options.onClick(...args)), ["prevent"]), ["space"]))
  31964. }, [
  31965. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("div", {
  31966. ref: "box",
  31967. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)(['p-radiobutton-box p-component', {'p-highlight': $props.checked, 'p-disabled': _ctx.$attrs.disabled, 'p-focus': $data.focused}]),
  31968. role: "radio",
  31969. "aria-checked": $props.checked
  31970. }, _hoisted_3$3, 10, _hoisted_1$6)
  31971. ], 34))
  31972. }
  31973. script$6.render = render$6;
  31974. var script$5 = {
  31975. name: 'RowCheckbox',
  31976. inheritAttrs: false,
  31977. emits: ['change'],
  31978. props: {
  31979. value: null,
  31980. checked: null
  31981. },
  31982. data() {
  31983. return {
  31984. focused: false
  31985. };
  31986. },
  31987. methods: {
  31988. onClick(event) {
  31989. if (!this.$attrs.disabled) {
  31990. this.focused = true;
  31991. this.$emit('change', {
  31992. originalEvent: event,
  31993. data: this.value
  31994. });
  31995. }
  31996. },
  31997. onFocus() {
  31998. this.focused = true;
  31999. },
  32000. onBlur() {
  32001. this.focused = false;
  32002. }
  32003. }
  32004. };
  32005. const _hoisted_1$5 = ["aria-checked", "tabindex"];
  32006. function render$5(_ctx, _cache, $props, $setup, $data, $options) {
  32007. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("div", {
  32008. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)(['p-checkbox p-component', {'p-checkbox-focused': $data.focused}]),
  32009. onClick: _cache[3] || (_cache[3] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withModifiers)((...args) => ($options.onClick && $options.onClick(...args)), ["stop","prevent"]))
  32010. }, [
  32011. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("div", {
  32012. ref: "box",
  32013. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)(['p-checkbox-box p-component', {'p-highlight': $props.checked, 'p-disabled': _ctx.$attrs.disabled, 'p-focus': $data.focused}]),
  32014. role: "checkbox",
  32015. "aria-checked": $props.checked,
  32016. tabindex: _ctx.$attrs.disabled ? null : '0',
  32017. onKeydown: _cache[0] || (_cache[0] = (0,vue__WEBPACK_IMPORTED_MODULE_4__.withKeys)((0,vue__WEBPACK_IMPORTED_MODULE_4__.withModifiers)((...args) => ($options.onClick && $options.onClick(...args)), ["prevent"]), ["space"])),
  32018. onFocus: _cache[1] || (_cache[1] = $event => ($options.onFocus($event))),
  32019. onBlur: _cache[2] || (_cache[2] = $event => ($options.onBlur($event)))
  32020. }, [
  32021. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", {
  32022. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)(['p-checkbox-icon', {'pi pi-check': $props.checked}])
  32023. }, null, 2)
  32024. ], 42, _hoisted_1$5)
  32025. ], 2))
  32026. }
  32027. script$5.render = render$5;
  32028. var script$4 = {
  32029. name: 'BodyCell',
  32030. emits: ['cell-edit-init', 'cell-edit-complete', 'cell-edit-cancel', 'row-edit-init', 'row-edit-save', 'row-edit-cancel',
  32031. 'row-toggle', 'radio-change', 'checkbox-change', 'editing-meta-change'],
  32032. props: {
  32033. rowData: {
  32034. type: Object,
  32035. default: null
  32036. },
  32037. column: {
  32038. type: Object,
  32039. default: null
  32040. },
  32041. frozenRow: {
  32042. type: Boolean,
  32043. default: false
  32044. },
  32045. rowIndex: {
  32046. type: Number,
  32047. default: null
  32048. },
  32049. index: {
  32050. type: Number,
  32051. default: null
  32052. },
  32053. rowTogglerIcon: {
  32054. type: Array,
  32055. default: null
  32056. },
  32057. selected: {
  32058. type: Boolean,
  32059. default: false
  32060. },
  32061. editing: {
  32062. type: Boolean,
  32063. default: false
  32064. },
  32065. editingMeta: {
  32066. type: Object,
  32067. default: null
  32068. },
  32069. editMode: {
  32070. type: String,
  32071. default: null
  32072. },
  32073. responsiveLayout: {
  32074. type: String,
  32075. default: 'stack'
  32076. },
  32077. virtualScrollerContentProps: {
  32078. type: Object,
  32079. default: null
  32080. }
  32081. },
  32082. documentEditListener: null,
  32083. selfClick: false,
  32084. overlayEventListener: null,
  32085. data() {
  32086. return {
  32087. d_editing: this.editing,
  32088. styleObject: {}
  32089. }
  32090. },
  32091. watch: {
  32092. editing(newValue) {
  32093. this.d_editing = newValue;
  32094. },
  32095. '$data.d_editing': function(newValue) {
  32096. this.$emit('editing-meta-change', {data: this.rowData, field: (this.field || `field_${this.index}`), index: this.rowIndex, editing: newValue});
  32097. }
  32098. },
  32099. mounted() {
  32100. if (this.columnProp('frozen')) {
  32101. this.updateStickyPosition();
  32102. }
  32103. },
  32104. updated() {
  32105. if (this.columnProp('frozen')) {
  32106. this.updateStickyPosition();
  32107. }
  32108. if (this.d_editing && (this.editMode === 'cell' || (this.editMode === 'row' && this.columnProp('rowEditor')))) {
  32109. const focusableEl = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getFirstFocusableElement(this.$el);
  32110. focusableEl && focusableEl.focus();
  32111. }
  32112. },
  32113. beforeUnmount() {
  32114. if (this.overlayEventListener) {
  32115. primevue_overlayeventbus__WEBPACK_IMPORTED_MODULE_5__["default"].off('overlay-click', this.overlayEventListener);
  32116. this.overlayEventListener = null;
  32117. }
  32118. },
  32119. methods: {
  32120. columnProp(prop) {
  32121. return primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.getVNodeProp(this.column, prop);
  32122. },
  32123. resolveFieldData() {
  32124. return primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(this.rowData, this.field);
  32125. },
  32126. toggleRow(event) {
  32127. this.$emit('row-toggle', {
  32128. originalEvent: event,
  32129. data: this.rowData
  32130. });
  32131. },
  32132. toggleRowWithRadio(event, index) {
  32133. this.$emit('radio-change', { originalEvent: event.originalEvent, index: index, data: event.data});
  32134. },
  32135. toggleRowWithCheckbox(event, index) {
  32136. this.$emit('checkbox-change', { originalEvent: event.originalEvent, index: index, data: event.data });
  32137. },
  32138. isEditable() {
  32139. return this.column.children && this.column.children.editor != null;
  32140. },
  32141. bindDocumentEditListener() {
  32142. if (!this.documentEditListener) {
  32143. this.documentEditListener = (event) => {
  32144. if (!this.selfClick) {
  32145. this.completeEdit(event, 'outside');
  32146. }
  32147. this.selfClick = false;
  32148. };
  32149. document.addEventListener('click', this.documentEditListener);
  32150. }
  32151. },
  32152. unbindDocumentEditListener() {
  32153. if (this.documentEditListener) {
  32154. document.removeEventListener('click', this.documentEditListener);
  32155. this.documentEditListener = null;
  32156. this.selfClick = false;
  32157. }
  32158. },
  32159. switchCellToViewMode() {
  32160. this.d_editing = false;
  32161. this.unbindDocumentEditListener();
  32162. primevue_overlayeventbus__WEBPACK_IMPORTED_MODULE_5__["default"].off('overlay-click', this.overlayEventListener);
  32163. this.overlayEventListener = null;
  32164. },
  32165. onClick(event) {
  32166. if (this.editMode === 'cell' && this.isEditable()) {
  32167. this.selfClick = true;
  32168. if (!this.d_editing) {
  32169. this.d_editing = true;
  32170. this.bindDocumentEditListener();
  32171. this.$emit('cell-edit-init', {originalEvent: event, data: this.rowData, field: this.field, index: this.rowIndex});
  32172. this.overlayEventListener = (e) => {
  32173. if (this.$el && this.$el.contains(e.target)) {
  32174. this.selfClick = true;
  32175. }
  32176. };
  32177. primevue_overlayeventbus__WEBPACK_IMPORTED_MODULE_5__["default"].on('overlay-click', this.overlayEventListener);
  32178. }
  32179. }
  32180. },
  32181. completeEdit(event, type) {
  32182. const completeEvent = {
  32183. originalEvent: event,
  32184. data: this.rowData,
  32185. newData: this.editingRowData,
  32186. value: this.rowData[this.field],
  32187. newValue: this.editingRowData[this.field],
  32188. field: this.field,
  32189. index: this.rowIndex,
  32190. type: type,
  32191. defaultPrevented: false,
  32192. preventDefault: function() {
  32193. this.defaultPrevented = true;
  32194. }
  32195. };
  32196. this.$emit('cell-edit-complete', completeEvent);
  32197. if (!completeEvent.defaultPrevented) {
  32198. this.switchCellToViewMode();
  32199. }
  32200. },
  32201. onKeyDown(event) {
  32202. if (this.editMode === 'cell') {
  32203. switch (event.which) {
  32204. case 13:
  32205. this.completeEdit(event, 'enter');
  32206. break;
  32207. case 27:
  32208. this.switchCellToViewMode();
  32209. this.$emit('cell-edit-cancel', {originalEvent: event, data: this.rowData, field: this.field, index: this.rowIndex});
  32210. break;
  32211. case 9:
  32212. this.completeEdit(event, 'tab');
  32213. if (event.shiftKey)
  32214. this.moveToPreviousCell(event);
  32215. else
  32216. this.moveToNextCell(event);
  32217. break;
  32218. }
  32219. }
  32220. },
  32221. moveToPreviousCell(event) {
  32222. let currentCell = this.findCell(event.target);
  32223. let targetCell = this.findPreviousEditableColumn(currentCell);
  32224. if (targetCell) {
  32225. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.invokeElementMethod(targetCell, 'click');
  32226. event.preventDefault();
  32227. }
  32228. },
  32229. moveToNextCell(event) {
  32230. let currentCell = this.findCell(event.target);
  32231. let targetCell = this.findNextEditableColumn(currentCell);
  32232. if (targetCell) {
  32233. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.invokeElementMethod(targetCell, 'click');
  32234. event.preventDefault();
  32235. }
  32236. },
  32237. findCell(element) {
  32238. if (element) {
  32239. let cell = element;
  32240. while (cell && !primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(cell, 'p-cell-editing')) {
  32241. cell = cell.parentElement;
  32242. }
  32243. return cell;
  32244. }
  32245. else {
  32246. return null;
  32247. }
  32248. },
  32249. findPreviousEditableColumn(cell) {
  32250. let prevCell = cell.previousElementSibling;
  32251. if (!prevCell) {
  32252. let previousRow = cell.parentElement.previousElementSibling;
  32253. if (previousRow) {
  32254. prevCell = previousRow.lastElementChild;
  32255. }
  32256. }
  32257. if (prevCell) {
  32258. if (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(prevCell, 'p-editable-column'))
  32259. return prevCell;
  32260. else
  32261. return this.findPreviousEditableColumn(prevCell);
  32262. }
  32263. else {
  32264. return null;
  32265. }
  32266. },
  32267. findNextEditableColumn(cell) {
  32268. let nextCell = cell.nextElementSibling;
  32269. if (!nextCell) {
  32270. let nextRow = cell.parentElement.nextElementSibling;
  32271. if (nextRow) {
  32272. nextCell = nextRow.firstElementChild;
  32273. }
  32274. }
  32275. if (nextCell) {
  32276. if (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(nextCell, 'p-editable-column'))
  32277. return nextCell;
  32278. else
  32279. return this.findNextEditableColumn(nextCell);
  32280. }
  32281. else {
  32282. return null;
  32283. }
  32284. },
  32285. isEditingCellValid() {
  32286. return (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.find(this.$el, '.p-invalid').length === 0);
  32287. },
  32288. onRowEditInit(event) {
  32289. this.$emit('row-edit-init', {originalEvent: event, data: this.rowData, newData: this.editingRowData, field: this.field, index: this.rowIndex});
  32290. },
  32291. onRowEditSave(event) {
  32292. this.$emit('row-edit-save', {originalEvent: event, data: this.rowData, newData: this.editingRowData, field: this.field, index: this.rowIndex});
  32293. },
  32294. onRowEditCancel(event) {
  32295. this.$emit('row-edit-cancel', {originalEvent: event, data: this.rowData, newData: this.editingRowData, field: this.field, index: this.rowIndex});
  32296. },
  32297. editorInitCallback(event) {
  32298. this.$emit('row-edit-init', {originalEvent: event, data: this.rowData, newData: this.editingRowData, field: this.field, index: this.rowIndex});
  32299. },
  32300. editorSaveCallback(event) {
  32301. this.$emit('row-edit-save', {originalEvent: event, data: this.rowData, newData: this.editingRowData, field: this.field, index: this.rowIndex});
  32302. },
  32303. editorCancelCallback(event) {
  32304. this.$emit('row-edit-cancel', {originalEvent: event, data: this.rowData, newData: this.editingRowData, field: this.field, index: this.rowIndex});
  32305. },
  32306. updateStickyPosition() {
  32307. if (this.columnProp('frozen')) {
  32308. let align = this.columnProp('alignFrozen');
  32309. if (align === 'right') {
  32310. let right = 0;
  32311. let next = this.$el.nextElementSibling;
  32312. if (next) {
  32313. right = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(next) + parseFloat(next.style.right || 0);
  32314. }
  32315. this.styleObject.right = right + 'px';
  32316. }
  32317. else {
  32318. let left = 0;
  32319. let prev = this.$el.previousElementSibling;
  32320. if (prev) {
  32321. left = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(prev) + parseFloat(prev.style.left || 0);
  32322. }
  32323. this.styleObject.left = left + 'px';
  32324. }
  32325. }
  32326. },
  32327. getVirtualScrollerProp(option) {
  32328. return this.virtualScrollerContentProps ? this.virtualScrollerContentProps[option] : null;
  32329. }
  32330. },
  32331. computed: {
  32332. editingRowData() {
  32333. return this.editingMeta[this.rowIndex] ? this.editingMeta[this.rowIndex].data : this.rowData;
  32334. },
  32335. field() {
  32336. return this.columnProp('field');
  32337. },
  32338. containerClass() {
  32339. return [this.columnProp('bodyClass'), this.columnProp('class'), {
  32340. 'p-selection-column': this.columnProp('selectionMode') != null,
  32341. 'p-editable-column': this.isEditable(),
  32342. 'p-cell-editing': this.d_editing,
  32343. 'p-frozen-column': this.columnProp('frozen')
  32344. }];
  32345. },
  32346. containerStyle() {
  32347. let bodyStyle = this.columnProp('bodyStyle');
  32348. let columnStyle = this.columnProp('style');
  32349. return this.columnProp('frozen') ? [columnStyle, bodyStyle, this.styleObject]: [columnStyle, bodyStyle];
  32350. },
  32351. loading() {
  32352. return this.getVirtualScrollerProp('loading');
  32353. },
  32354. loadingOptions() {
  32355. const getLoaderOptions = this.getVirtualScrollerProp('getLoaderOptions');
  32356. return getLoaderOptions && getLoaderOptions(this.rowIndex, {
  32357. cellIndex: this.index,
  32358. cellFirst: this.index === 0,
  32359. cellLast: this.index === (this.getVirtualScrollerProp('columns').length - 1),
  32360. cellEven: this.index % 2 === 0,
  32361. cellOdd: this.index % 2 !== 0,
  32362. column: this.column,
  32363. field: this.field
  32364. });
  32365. }
  32366. },
  32367. components: {
  32368. 'DTRadioButton': script$6,
  32369. 'DTCheckbox': script$5
  32370. },
  32371. directives: {
  32372. 'ripple': primevue_ripple__WEBPACK_IMPORTED_MODULE_8__["default"]
  32373. }
  32374. };
  32375. const _hoisted_1$4 = {
  32376. key: 0,
  32377. class: "p-column-title"
  32378. };
  32379. const _hoisted_2$3 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", { class: "p-row-editor-init-icon pi pi-fw pi-pencil" }, null, -1);
  32380. const _hoisted_3$2 = [
  32381. _hoisted_2$3
  32382. ];
  32383. const _hoisted_4$2 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", { class: "p-row-editor-save-icon pi pi-fw pi-check" }, null, -1);
  32384. const _hoisted_5$2 = [
  32385. _hoisted_4$2
  32386. ];
  32387. const _hoisted_6$2 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", { class: "p-row-editor-cancel-icon pi pi-fw pi-times" }, null, -1);
  32388. const _hoisted_7 = [
  32389. _hoisted_6$2
  32390. ];
  32391. function render$4(_ctx, _cache, $props, $setup, $data, $options) {
  32392. const _component_DTRadioButton = (0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveComponent)("DTRadioButton");
  32393. const _component_DTCheckbox = (0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveComponent)("DTCheckbox");
  32394. const _directive_ripple = (0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveDirective)("ripple");
  32395. return ($options.loading)
  32396. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("td", {
  32397. key: 0,
  32398. style: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeStyle)($options.containerStyle),
  32399. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)($options.containerClass)
  32400. }, [
  32401. ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)((0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveDynamicComponent)($props.column.children.loading), {
  32402. data: $props.rowData,
  32403. column: $props.column,
  32404. field: $options.field,
  32405. index: $props.rowIndex,
  32406. frozenRow: $props.frozenRow,
  32407. loadingOptions: $options.loadingOptions
  32408. }, null, 8, ["data", "column", "field", "index", "frozenRow", "loadingOptions"]))
  32409. ], 6))
  32410. : ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("td", {
  32411. key: 1,
  32412. style: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeStyle)($options.containerStyle),
  32413. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)($options.containerClass),
  32414. onClick: _cache[6] || (_cache[6] = (...args) => ($options.onClick && $options.onClick(...args))),
  32415. onKeydown: _cache[7] || (_cache[7] = (...args) => ($options.onKeyDown && $options.onKeyDown(...args))),
  32416. role: "cell"
  32417. }, [
  32418. ($props.responsiveLayout === 'stack')
  32419. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("span", _hoisted_1$4, (0,vue__WEBPACK_IMPORTED_MODULE_4__.toDisplayString)($options.columnProp('header')), 1))
  32420. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  32421. ($props.column.children && $props.column.children.body && !$data.d_editing)
  32422. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)((0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveDynamicComponent)($props.column.children.body), {
  32423. key: 1,
  32424. data: $props.rowData,
  32425. column: $props.column,
  32426. field: $options.field,
  32427. index: $props.rowIndex,
  32428. frozenRow: $props.frozenRow,
  32429. editorInitCallback: $options.editorInitCallback
  32430. }, null, 8, ["data", "column", "field", "index", "frozenRow", "editorInitCallback"]))
  32431. : ($props.column.children && $props.column.children.editor && $data.d_editing)
  32432. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)((0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveDynamicComponent)($props.column.children.editor), {
  32433. key: 2,
  32434. data: $options.editingRowData,
  32435. column: $props.column,
  32436. field: $options.field,
  32437. index: $props.rowIndex,
  32438. frozenRow: $props.frozenRow,
  32439. editorSaveCallback: $options.editorSaveCallback,
  32440. editorCancelCallback: $options.editorCancelCallback
  32441. }, null, 8, ["data", "column", "field", "index", "frozenRow", "editorSaveCallback", "editorCancelCallback"]))
  32442. : ($props.column.children && $props.column.children.body && !$props.column.children.editor && $data.d_editing)
  32443. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)((0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveDynamicComponent)($props.column.children.body), {
  32444. key: 3,
  32445. data: $options.editingRowData,
  32446. column: $props.column,
  32447. field: $options.field,
  32448. index: $props.rowIndex,
  32449. frozenRow: $props.frozenRow
  32450. }, null, 8, ["data", "column", "field", "index", "frozenRow"]))
  32451. : ($options.columnProp('selectionMode'))
  32452. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, { key: 4 }, [
  32453. ($options.columnProp('selectionMode') === 'single')
  32454. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)(_component_DTRadioButton, {
  32455. key: 0,
  32456. value: $props.rowData,
  32457. checked: $props.selected,
  32458. onChange: _cache[0] || (_cache[0] = $event => ($options.toggleRowWithRadio($event, $props.rowIndex)))
  32459. }, null, 8, ["value", "checked"]))
  32460. : ($options.columnProp('selectionMode') ==='multiple')
  32461. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)(_component_DTCheckbox, {
  32462. key: 1,
  32463. value: $props.rowData,
  32464. checked: $props.selected,
  32465. onChange: _cache[1] || (_cache[1] = $event => ($options.toggleRowWithCheckbox($event, $props.rowIndex)))
  32466. }, null, 8, ["value", "checked"]))
  32467. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true)
  32468. ], 64))
  32469. : ($options.columnProp('rowReorder'))
  32470. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("i", {
  32471. key: 5,
  32472. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)(['p-datatable-reorderablerow-handle', ($options.columnProp('rowReorderIcon') || 'pi pi-bars')])
  32473. }, null, 2))
  32474. : ($options.columnProp('expander'))
  32475. ? (0,vue__WEBPACK_IMPORTED_MODULE_4__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("button", {
  32476. key: 6,
  32477. class: "p-row-toggler p-link",
  32478. onClick: _cache[2] || (_cache[2] = (...args) => ($options.toggleRow && $options.toggleRow(...args))),
  32479. type: "button"
  32480. }, [
  32481. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", {
  32482. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)($props.rowTogglerIcon)
  32483. }, null, 2)
  32484. ])), [
  32485. [_directive_ripple]
  32486. ])
  32487. : ($props.editMode === 'row' && $options.columnProp('rowEditor'))
  32488. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, { key: 7 }, [
  32489. (!$data.d_editing)
  32490. ? (0,vue__WEBPACK_IMPORTED_MODULE_4__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("button", {
  32491. key: 0,
  32492. class: "p-row-editor-init p-link",
  32493. onClick: _cache[3] || (_cache[3] = (...args) => ($options.onRowEditInit && $options.onRowEditInit(...args))),
  32494. type: "button"
  32495. }, _hoisted_3$2)), [
  32496. [_directive_ripple]
  32497. ])
  32498. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  32499. ($data.d_editing)
  32500. ? (0,vue__WEBPACK_IMPORTED_MODULE_4__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("button", {
  32501. key: 1,
  32502. class: "p-row-editor-save p-link",
  32503. onClick: _cache[4] || (_cache[4] = (...args) => ($options.onRowEditSave && $options.onRowEditSave(...args))),
  32504. type: "button"
  32505. }, _hoisted_5$2)), [
  32506. [_directive_ripple]
  32507. ])
  32508. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  32509. ($data.d_editing)
  32510. ? (0,vue__WEBPACK_IMPORTED_MODULE_4__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("button", {
  32511. key: 2,
  32512. class: "p-row-editor-cancel p-link",
  32513. onClick: _cache[5] || (_cache[5] = (...args) => ($options.onRowEditCancel && $options.onRowEditCancel(...args))),
  32514. type: "button"
  32515. }, _hoisted_7)), [
  32516. [_directive_ripple]
  32517. ])
  32518. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true)
  32519. ], 64))
  32520. : ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, { key: 8 }, [
  32521. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_4__.toDisplayString)($options.resolveFieldData()), 1)
  32522. ], 64))
  32523. ], 38))
  32524. }
  32525. script$4.render = render$4;
  32526. var script$3 = {
  32527. name: 'TableBody',
  32528. emits: ['rowgroup-toggle', 'row-click', 'row-dblclick', 'row-rightclick', 'row-touchend', 'row-keydown', 'row-mousedown',
  32529. 'row-dragstart', 'row-dragover', 'row-dragleave', 'row-dragend', 'row-drop', 'row-toggle',
  32530. 'radio-change', 'checkbox-change', 'cell-edit-init', 'cell-edit-complete', 'cell-edit-cancel',
  32531. 'row-edit-init', 'row-edit-save', 'row-edit-cancel', 'editing-meta-change'],
  32532. props: {
  32533. value: {
  32534. type: Array,
  32535. default: null
  32536. },
  32537. columns: {
  32538. type: null,
  32539. default: null
  32540. },
  32541. frozenRow: {
  32542. type: Boolean,
  32543. default: false
  32544. },
  32545. empty: {
  32546. type: Boolean,
  32547. default: false
  32548. },
  32549. rowGroupMode: {
  32550. type: String,
  32551. default: null
  32552. },
  32553. groupRowsBy: {
  32554. type: [Array,String],
  32555. default: null
  32556. },
  32557. expandableRowGroups: {
  32558. type: Boolean,
  32559. default: false
  32560. },
  32561. expandedRowGroups: {
  32562. type: Array,
  32563. default: null
  32564. },
  32565. dataKey: {
  32566. type: String,
  32567. default: null
  32568. },
  32569. expandedRowIcon: {
  32570. type: String,
  32571. default: null
  32572. },
  32573. collapsedRowIcon: {
  32574. type: String,
  32575. default: null
  32576. },
  32577. expandedRows: {
  32578. type: Array,
  32579. default: null
  32580. },
  32581. expandedRowKeys: {
  32582. type: null,
  32583. default: null
  32584. },
  32585. selection: {
  32586. type: [Array,Object],
  32587. default: null
  32588. },
  32589. selectionKeys: {
  32590. type: null,
  32591. default: null
  32592. },
  32593. selectionMode: {
  32594. type: String,
  32595. default: null
  32596. },
  32597. contextMenu: {
  32598. type: Boolean,
  32599. default: false
  32600. },
  32601. contextMenuSelection: {
  32602. type: Object,
  32603. default: null
  32604. },
  32605. rowClass: {
  32606. type: null,
  32607. default: null
  32608. },
  32609. rowStyle: {
  32610. type: null,
  32611. default: null
  32612. },
  32613. editMode: {
  32614. type: String,
  32615. default: null
  32616. },
  32617. compareSelectionBy: {
  32618. type: String,
  32619. default: 'deepEquals'
  32620. },
  32621. editingRows: {
  32622. type: Array,
  32623. default: null
  32624. },
  32625. editingRowKeys: {
  32626. type: null,
  32627. default: null
  32628. },
  32629. editingMeta: {
  32630. type: Object,
  32631. default: null
  32632. },
  32633. loading: {
  32634. type: Boolean,
  32635. default: false
  32636. },
  32637. templates: {
  32638. type: null,
  32639. default: null
  32640. },
  32641. scrollable: {
  32642. type: Boolean,
  32643. default: false
  32644. },
  32645. responsiveLayout: {
  32646. type: String,
  32647. default: 'stack'
  32648. },
  32649. virtualScrollerContentProps: {
  32650. type: Object,
  32651. default: null
  32652. },
  32653. isVirtualScrollerDisabled: {
  32654. type: Boolean,
  32655. default: false
  32656. }
  32657. },
  32658. watch: {
  32659. virtualScrollerContentProps(newValue, oldValue) {
  32660. if (!this.isVirtualScrollerDisabled && this.getVirtualScrollerProp('vertical') && this.getVirtualScrollerProp('itemSize', oldValue) !== this.getVirtualScrollerProp('itemSize', newValue)) {
  32661. this.updateVirtualScrollerPosition();
  32662. }
  32663. }
  32664. },
  32665. mounted() {
  32666. if (this.frozenRow) {
  32667. this.updateFrozenRowStickyPosition();
  32668. }
  32669. if (this.scrollable && this.rowGroupMode === 'subheader') {
  32670. this.updateFrozenRowGroupHeaderStickyPosition();
  32671. }
  32672. if (!this.isVirtualScrollerDisabled && this.getVirtualScrollerProp('vertical')) {
  32673. this.updateVirtualScrollerPosition();
  32674. }
  32675. },
  32676. updated() {
  32677. if (this.frozenRow) {
  32678. this.updateFrozenRowStickyPosition();
  32679. }
  32680. if (this.scrollable && this.rowGroupMode === 'subheader') {
  32681. this.updateFrozenRowGroupHeaderStickyPosition();
  32682. }
  32683. },
  32684. data() {
  32685. return {
  32686. rowGroupHeaderStyleObject: {}
  32687. }
  32688. },
  32689. methods: {
  32690. columnProp(col, prop) {
  32691. return primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.getVNodeProp(col, prop);
  32692. },
  32693. shouldRenderRowGroupHeader(value, rowData, i) {
  32694. let currentRowFieldData = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(rowData, this.groupRowsBy);
  32695. let prevRowData = value[i - 1];
  32696. if (prevRowData) {
  32697. let previousRowFieldData = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(prevRowData, this.groupRowsBy);
  32698. return currentRowFieldData !== previousRowFieldData;
  32699. }
  32700. else {
  32701. return true;
  32702. }
  32703. },
  32704. getRowKey(rowData, index) {
  32705. return this.dataKey ? primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(rowData, this.dataKey): index;
  32706. },
  32707. getRowIndex(index) {
  32708. const getItemOptions = this.getVirtualScrollerProp('getItemOptions');
  32709. return getItemOptions ? getItemOptions(index).index : index;
  32710. },
  32711. getRowClass(rowData) {
  32712. let rowStyleClass = [];
  32713. if (this.selectionMode) {
  32714. rowStyleClass.push('p-selectable-row');
  32715. }
  32716. if (this.selection) {
  32717. rowStyleClass.push({
  32718. 'p-highlight': this.isSelected(rowData)
  32719. });
  32720. }
  32721. if (this.contextMenuSelection) {
  32722. rowStyleClass.push({
  32723. 'p-highlight-contextmenu': this.isSelectedWithContextMenu(rowData)
  32724. });
  32725. }
  32726. if (this.rowClass) {
  32727. let rowClassValue = this.rowClass(rowData);
  32728. if (rowClassValue) {
  32729. rowStyleClass.push(rowClassValue);
  32730. }
  32731. }
  32732. return rowStyleClass;
  32733. },
  32734. shouldRenderRowGroupFooter(value, rowData, i) {
  32735. if (this.expandableRowGroups && !this.isRowGroupExpanded(rowData)) {
  32736. return false;
  32737. }
  32738. else {
  32739. let currentRowFieldData = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(rowData, this.groupRowsBy);
  32740. let nextRowData = value[i + 1];
  32741. if (nextRowData) {
  32742. let nextRowFieldData = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(nextRowData, this.groupRowsBy);
  32743. return currentRowFieldData !== nextRowFieldData;
  32744. }
  32745. else {
  32746. return true;
  32747. }
  32748. }
  32749. },
  32750. shouldRenderBodyCell(value, column, i) {
  32751. if (this.rowGroupMode) {
  32752. if (this.rowGroupMode === 'subheader') {
  32753. return this.groupRowsBy !== this.columnProp(column, 'field');
  32754. }
  32755. else if (this.rowGroupMode === 'rowspan') {
  32756. if (this.isGrouped(column)) {
  32757. let prevRowData = value[i - 1];
  32758. if (prevRowData) {
  32759. let currentRowFieldData = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(value[i], this.columnProp(column, 'field'));
  32760. let previousRowFieldData = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(prevRowData, this.columnProp(column, 'field'));
  32761. return currentRowFieldData !== previousRowFieldData;
  32762. }
  32763. else {
  32764. return true;
  32765. }
  32766. }
  32767. else {
  32768. return true;
  32769. }
  32770. }
  32771. }
  32772. else {
  32773. return !this.columnProp(column, 'hidden');
  32774. }
  32775. },
  32776. calculateRowGroupSize(value, column, index) {
  32777. if (this.isGrouped(column)) {
  32778. let currentRowFieldData = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(value[index], this.columnProp(column, 'field'));
  32779. let nextRowFieldData = currentRowFieldData;
  32780. let groupRowSpan = 0;
  32781. while (currentRowFieldData === nextRowFieldData) {
  32782. groupRowSpan++;
  32783. let nextRowData = value[++index];
  32784. if (nextRowData) {
  32785. nextRowFieldData = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(nextRowData, this.columnProp(column, 'field'));
  32786. }
  32787. else {
  32788. break;
  32789. }
  32790. }
  32791. return groupRowSpan === 1 ? null : groupRowSpan;
  32792. }
  32793. else {
  32794. return null;
  32795. }
  32796. },
  32797. rowTogglerIcon(rowData) {
  32798. const icon = this.isRowExpanded(rowData) ? this.expandedRowIcon : this.collapsedRowIcon;
  32799. return ['p-row-toggler-icon pi', icon];
  32800. },
  32801. rowGroupTogglerIcon(rowData) {
  32802. const icon = this.isRowGroupExpanded(rowData) ? this.expandedRowIcon : this.collapsedRowIcon;
  32803. return ['p-row-toggler-icon pi', icon];
  32804. },
  32805. isGrouped(column) {
  32806. if (this.groupRowsBy && this.columnProp(column, 'field')) {
  32807. if (Array.isArray(this.groupRowsBy))
  32808. return this.groupRowsBy.indexOf(column.props.field) > -1;
  32809. else
  32810. return this.groupRowsBy === column.props.field;
  32811. }
  32812. else {
  32813. return false;
  32814. }
  32815. },
  32816. isRowEditing(rowData) {
  32817. if (rowData && this.editingRows) {
  32818. if (this.dataKey)
  32819. return this.editingRowKeys ? this.editingRowKeys[primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(rowData, this.dataKey)] !== undefined : false;
  32820. else
  32821. return this.findIndex(rowData, this.editingRows) > -1;
  32822. }
  32823. return false;
  32824. },
  32825. isRowExpanded(rowData) {
  32826. if (rowData && this.expandedRows) {
  32827. if (this.dataKey)
  32828. return this.expandedRowKeys ? this.expandedRowKeys[primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(rowData, this.dataKey)] !== undefined : false;
  32829. else
  32830. return this.findIndex(rowData, this.expandedRows) > -1;
  32831. }
  32832. return false;
  32833. },
  32834. isRowGroupExpanded(rowData) {
  32835. if (this.expandableRowGroups && this.expandedRowGroups) {
  32836. let groupFieldValue = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(rowData, this.groupRowsBy);
  32837. return this.expandedRowGroups.indexOf(groupFieldValue) > -1;
  32838. }
  32839. return false;
  32840. },
  32841. isSelected(rowData) {
  32842. if (rowData && this.selection) {
  32843. if (this.dataKey) {
  32844. return this.selectionKeys ? this.selectionKeys[primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(rowData, this.dataKey)] !== undefined : false;
  32845. }
  32846. else {
  32847. if (this.selection instanceof Array)
  32848. return this.findIndexInSelection(rowData) > -1;
  32849. else
  32850. return this.equals(rowData, this.selection);
  32851. }
  32852. }
  32853. return false;
  32854. },
  32855. isSelectedWithContextMenu(rowData) {
  32856. if (rowData && this.contextMenuSelection) {
  32857. return this.equals(rowData, this.contextMenuSelection, this.dataKey);
  32858. }
  32859. return false;
  32860. },
  32861. findIndexInSelection(rowData) {
  32862. return this.findIndex(rowData, this.selection);
  32863. },
  32864. findIndex(rowData, collection) {
  32865. let index = -1;
  32866. if (collection && collection.length) {
  32867. for (let i = 0; i < collection.length; i++) {
  32868. if (this.equals(rowData, collection[i])) {
  32869. index = i;
  32870. break;
  32871. }
  32872. }
  32873. }
  32874. return index;
  32875. },
  32876. equals(data1, data2) {
  32877. return this.compareSelectionBy === 'equals' ? (data1 === data2) : primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.equals(data1, data2, this.dataKey);
  32878. },
  32879. onRowGroupToggle(event, data) {
  32880. this.$emit('rowgroup-toggle', {originalEvent: event, data: data});
  32881. },
  32882. onRowClick(event, rowData, rowIndex) {
  32883. this.$emit('row-click', {originalEvent: event, data: rowData, index: rowIndex});
  32884. },
  32885. onRowDblClick(event, rowData, rowIndex) {
  32886. this.$emit('row-dblclick', {originalEvent: event, data: rowData, index: rowIndex});
  32887. },
  32888. onRowRightClick(event, rowData, rowIndex) {
  32889. this.$emit('row-rightclick', {originalEvent: event, data: rowData, index: rowIndex});
  32890. },
  32891. onRowTouchEnd(event) {
  32892. this.$emit('row-touchend', event);
  32893. },
  32894. onRowKeyDown(event, rowData, rowIndex) {
  32895. this.$emit('row-keydown', {originalEvent: event, data: rowData, index: rowIndex});
  32896. },
  32897. onRowMouseDown(event) {
  32898. this.$emit('row-mousedown', event);
  32899. },
  32900. onRowDragStart(event, rowIndex) {
  32901. this.$emit('row-dragstart', {originalEvent: event, index: rowIndex});
  32902. },
  32903. onRowDragOver(event, rowIndex) {
  32904. this.$emit('row-dragover', {originalEvent: event, index: rowIndex});
  32905. },
  32906. onRowDragLeave(event) {
  32907. this.$emit('row-dragleave', event);
  32908. },
  32909. onRowDragEnd(event) {
  32910. this.$emit('row-dragend', event);
  32911. },
  32912. onRowDrop(event) {
  32913. this.$emit('row-drop', event);
  32914. },
  32915. onRowToggle(event) {
  32916. this.$emit('row-toggle', event);
  32917. },
  32918. onRadioChange(event) {
  32919. this.$emit('radio-change', event);
  32920. },
  32921. onCheckboxChange(event) {
  32922. this.$emit('checkbox-change', event);
  32923. },
  32924. onCellEditInit(event) {
  32925. this.$emit('cell-edit-init', event);
  32926. },
  32927. onCellEditComplete(event) {
  32928. this.$emit('cell-edit-complete', event);
  32929. },
  32930. onCellEditCancel(event) {
  32931. this.$emit('cell-edit-cancel', event);
  32932. },
  32933. onRowEditInit(event) {
  32934. this.$emit('row-edit-init', event);
  32935. },
  32936. onRowEditSave(event) {
  32937. this.$emit('row-edit-save', event);
  32938. },
  32939. onRowEditCancel(event) {
  32940. this.$emit('row-edit-cancel', event);
  32941. },
  32942. onEditingMetaChange(event) {
  32943. this.$emit('editing-meta-change', event);
  32944. },
  32945. updateFrozenRowStickyPosition() {
  32946. this.$el.style.top = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterHeight(this.$el.previousElementSibling) + 'px';
  32947. },
  32948. updateFrozenRowGroupHeaderStickyPosition() {
  32949. let tableHeaderHeight = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterHeight(this.$el.previousElementSibling);
  32950. this.rowGroupHeaderStyleObject.top = tableHeaderHeight + 'px';
  32951. },
  32952. updateVirtualScrollerPosition() {
  32953. const tableHeaderHeight = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterHeight(this.$el.previousElementSibling);
  32954. this.$el.style.top = (this.$el.style.top || 0) + tableHeaderHeight + 'px';
  32955. },
  32956. getVirtualScrollerProp(option, options) {
  32957. options = options || this.virtualScrollerContentProps;
  32958. return options ? options[option] : null;
  32959. },
  32960. bodyRef(el) {
  32961. // For VirtualScroller
  32962. const contentRef = this.getVirtualScrollerProp('contentRef');
  32963. contentRef && contentRef(el);
  32964. }
  32965. },
  32966. computed: {
  32967. columnsLength() {
  32968. let hiddenColLength = 0;
  32969. this.columns.forEach(column => {
  32970. if(this.columnProp(column, 'hidden')) hiddenColLength++;
  32971. });
  32972. return this.columns ? this.columns.length - hiddenColLength : 0;
  32973. },
  32974. rowGroupHeaderStyle() {
  32975. if (this.scrollable) {
  32976. return {top: this.rowGroupHeaderStyleObject.top};
  32977. }
  32978. return null;
  32979. },
  32980. bodyStyle() {
  32981. return this.getVirtualScrollerProp('contentStyle');
  32982. }
  32983. },
  32984. components: {
  32985. 'DTBodyCell': script$4
  32986. }
  32987. };
  32988. const _hoisted_1$3 = ["colspan"];
  32989. const _hoisted_2$2 = ["onClick"];
  32990. const _hoisted_3$1 = ["onClick", "onDblclick", "onContextmenu", "onKeydown", "tabindex", "onDragstart", "onDragover"];
  32991. const _hoisted_4$1 = ["colspan"];
  32992. const _hoisted_5$1 = {
  32993. key: 1,
  32994. class: "p-datatable-emptymessage",
  32995. role: "row"
  32996. };
  32997. const _hoisted_6$1 = ["colspan"];
  32998. function render$3(_ctx, _cache, $props, $setup, $data, $options) {
  32999. const _component_DTBodyCell = (0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveComponent)("DTBodyCell");
  33000. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("tbody", {
  33001. ref: $options.bodyRef,
  33002. class: "p-datatable-tbody",
  33003. role: "rowgroup",
  33004. style: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeStyle)($options.bodyStyle)
  33005. }, [
  33006. (!$props.empty)
  33007. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, { key: 0 }, (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderList)($props.value, (rowData, index) => {
  33008. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, {
  33009. key: $options.getRowKey(rowData, $options.getRowIndex(index)) + '_subheader'
  33010. }, [
  33011. ($props.templates['groupheader'] && $props.rowGroupMode === 'subheader' && $options.shouldRenderRowGroupHeader($props.value, rowData, $options.getRowIndex(index)))
  33012. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("tr", {
  33013. key: 0,
  33014. class: "p-rowgroup-header",
  33015. style: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeStyle)($options.rowGroupHeaderStyle),
  33016. role: "row"
  33017. }, [
  33018. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("td", {
  33019. colspan: $options.columnsLength - 1
  33020. }, [
  33021. ($props.expandableRowGroups)
  33022. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("button", {
  33023. key: 0,
  33024. class: "p-row-toggler p-link",
  33025. onClick: $event => ($options.onRowGroupToggle($event, rowData)),
  33026. type: "button"
  33027. }, [
  33028. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("span", {
  33029. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)($options.rowGroupTogglerIcon(rowData))
  33030. }, null, 2)
  33031. ], 8, _hoisted_2$2))
  33032. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  33033. ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)((0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveDynamicComponent)($props.templates['groupheader']), {
  33034. data: rowData,
  33035. index: $options.getRowIndex(index)
  33036. }, null, 8, ["data", "index"]))
  33037. ], 8, _hoisted_1$3)
  33038. ], 4))
  33039. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  33040. ($props.expandableRowGroups ? $options.isRowGroupExpanded(rowData): true)
  33041. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("tr", {
  33042. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)($options.getRowClass(rowData)),
  33043. style: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeStyle)($props.rowStyle),
  33044. key: $options.getRowKey(rowData, $options.getRowIndex(index)),
  33045. onClick: $event => ($options.onRowClick($event, rowData, $options.getRowIndex(index))),
  33046. onDblclick: $event => ($options.onRowDblClick($event, rowData, $options.getRowIndex(index))),
  33047. onContextmenu: $event => ($options.onRowRightClick($event, rowData, $options.getRowIndex(index))),
  33048. onTouchend: _cache[9] || (_cache[9] = $event => ($options.onRowTouchEnd($event))),
  33049. onKeydown: $event => ($options.onRowKeyDown($event, rowData, $options.getRowIndex(index))),
  33050. tabindex: $props.selectionMode || $props.contextMenu ? '0' : null,
  33051. onMousedown: _cache[10] || (_cache[10] = $event => ($options.onRowMouseDown($event))),
  33052. onDragstart: $event => ($options.onRowDragStart($event, $options.getRowIndex(index))),
  33053. onDragover: $event => ($options.onRowDragOver($event, $options.getRowIndex(index))),
  33054. onDragleave: _cache[11] || (_cache[11] = $event => ($options.onRowDragLeave($event))),
  33055. onDragend: _cache[12] || (_cache[12] = $event => ($options.onRowDragEnd($event))),
  33056. onDrop: _cache[13] || (_cache[13] = $event => ($options.onRowDrop($event))),
  33057. role: "row"
  33058. }, [
  33059. ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderList)($props.columns, (col, i) => {
  33060. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, {
  33061. key: $options.columnProp(col,'columnKey')||$options.columnProp(col,'field')||i
  33062. }, [
  33063. ($options.shouldRenderBodyCell($props.value, col, $options.getRowIndex(index)))
  33064. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)(_component_DTBodyCell, {
  33065. key: 0,
  33066. rowData: rowData,
  33067. column: col,
  33068. rowIndex: $options.getRowIndex(index),
  33069. index: i,
  33070. selected: $options.isSelected(rowData),
  33071. rowTogglerIcon: $options.columnProp(col,'expander') ? $options.rowTogglerIcon(rowData): null,
  33072. frozenRow: $props.frozenRow,
  33073. rowspan: $props.rowGroupMode === 'rowspan' ? $options.calculateRowGroupSize($props.value, col, $options.getRowIndex(index)) : null,
  33074. editMode: $props.editMode,
  33075. editing: $props.editMode === 'row' && $options.isRowEditing(rowData),
  33076. responsiveLayout: $props.responsiveLayout,
  33077. onRadioChange: _cache[0] || (_cache[0] = $event => ($options.onRadioChange($event))),
  33078. onCheckboxChange: _cache[1] || (_cache[1] = $event => ($options.onCheckboxChange($event))),
  33079. onRowToggle: _cache[2] || (_cache[2] = $event => ($options.onRowToggle($event))),
  33080. onCellEditInit: _cache[3] || (_cache[3] = $event => ($options.onCellEditInit($event))),
  33081. onCellEditComplete: _cache[4] || (_cache[4] = $event => ($options.onCellEditComplete($event))),
  33082. onCellEditCancel: _cache[5] || (_cache[5] = $event => ($options.onCellEditCancel($event))),
  33083. onRowEditInit: _cache[6] || (_cache[6] = $event => ($options.onRowEditInit($event))),
  33084. onRowEditSave: _cache[7] || (_cache[7] = $event => ($options.onRowEditSave($event))),
  33085. onRowEditCancel: _cache[8] || (_cache[8] = $event => ($options.onRowEditCancel($event))),
  33086. editingMeta: $props.editingMeta,
  33087. onEditingMetaChange: $options.onEditingMetaChange,
  33088. virtualScrollerContentProps: $props.virtualScrollerContentProps
  33089. }, null, 8, ["rowData", "column", "rowIndex", "index", "selected", "rowTogglerIcon", "frozenRow", "rowspan", "editMode", "editing", "responsiveLayout", "editingMeta", "onEditingMetaChange", "virtualScrollerContentProps"]))
  33090. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true)
  33091. ], 64))
  33092. }), 128))
  33093. ], 46, _hoisted_3$1))
  33094. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  33095. ($props.templates['expansion'] && $props.expandedRows && $options.isRowExpanded(rowData))
  33096. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("tr", {
  33097. class: "p-datatable-row-expansion",
  33098. key: $options.getRowKey(rowData, $options.getRowIndex(index)) + '_expansion',
  33099. role: "row"
  33100. }, [
  33101. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("td", { colspan: $options.columnsLength }, [
  33102. ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)((0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveDynamicComponent)($props.templates['expansion']), {
  33103. data: rowData,
  33104. index: $options.getRowIndex(index)
  33105. }, null, 8, ["data", "index"]))
  33106. ], 8, _hoisted_4$1)
  33107. ]))
  33108. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  33109. ($props.templates['groupfooter'] && $props.rowGroupMode === 'subheader' && $options.shouldRenderRowGroupFooter($props.value, rowData, $options.getRowIndex(index)))
  33110. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("tr", {
  33111. class: "p-rowgroup-footer",
  33112. key: $options.getRowKey(rowData, $options.getRowIndex(index)) + '_subfooter',
  33113. role: "row"
  33114. }, [
  33115. ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)((0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveDynamicComponent)($props.templates['groupfooter']), {
  33116. data: rowData,
  33117. index: $options.getRowIndex(index)
  33118. }, null, 8, ["data", "index"]))
  33119. ]))
  33120. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true)
  33121. ], 64))
  33122. }), 128))
  33123. : ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("tr", _hoisted_5$1, [
  33124. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("td", { colspan: $options.columnsLength }, [
  33125. ($props.templates.empty && !$props.loading)
  33126. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)((0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveDynamicComponent)($props.templates.empty), { key: 0 }))
  33127. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  33128. ($props.templates.loading && $props.loading)
  33129. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)((0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveDynamicComponent)($props.templates.loading), { key: 1 }))
  33130. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true)
  33131. ], 8, _hoisted_6$1)
  33132. ]))
  33133. ], 4))
  33134. }
  33135. script$3.render = render$3;
  33136. var script$2 = {
  33137. name: 'FooterCell',
  33138. props: {
  33139. column: {
  33140. type: null,
  33141. default: null
  33142. }
  33143. },
  33144. data() {
  33145. return {
  33146. styleObject: {}
  33147. }
  33148. },
  33149. mounted() {
  33150. if (this.columnProp('frozen')) {
  33151. this.updateStickyPosition();
  33152. }
  33153. },
  33154. updated() {
  33155. if (this.columnProp('frozen')) {
  33156. this.updateStickyPosition();
  33157. }
  33158. },
  33159. methods: {
  33160. columnProp(prop) {
  33161. return primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.getVNodeProp(this.column, prop);
  33162. },
  33163. updateStickyPosition() {
  33164. if (this.columnProp('frozen')) {
  33165. let align = this.columnProp('alignFrozen');
  33166. if (align === 'right') {
  33167. let right = 0;
  33168. let next = this.$el.nextElementSibling;
  33169. if (next) {
  33170. right = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(next) + parseFloat(next.style.left);
  33171. }
  33172. this.styleObject.right = right + 'px';
  33173. }
  33174. else {
  33175. let left = 0;
  33176. let prev = this.$el.previousElementSibling;
  33177. if (prev) {
  33178. left = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(prev) + parseFloat(prev.style.left);
  33179. }
  33180. this.styleObject.left = left + 'px';
  33181. }
  33182. }
  33183. }
  33184. },
  33185. computed: {
  33186. containerClass() {
  33187. return [this.columnProp('footerClass'), this.columnProp('class'), {
  33188. 'p-frozen-column': this.columnProp('frozen')
  33189. }];
  33190. },
  33191. containerStyle() {
  33192. let bodyStyle = this.columnProp('footerStyle');
  33193. let columnStyle = this.columnProp('style');
  33194. return this.columnProp('frozen') ? [columnStyle, bodyStyle, this.styleObject]: [columnStyle, bodyStyle];
  33195. }
  33196. }
  33197. };
  33198. const _hoisted_1$2 = ["colspan", "rowspan"];
  33199. function render$2(_ctx, _cache, $props, $setup, $data, $options) {
  33200. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("td", {
  33201. style: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeStyle)($options.containerStyle),
  33202. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)($options.containerClass),
  33203. role: "cell",
  33204. colspan: $options.columnProp('colspan'),
  33205. rowspan: $options.columnProp('rowspan')
  33206. }, [
  33207. ($props.column.children && $props.column.children.footer)
  33208. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)((0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveDynamicComponent)($props.column.children.footer), {
  33209. key: 0,
  33210. column: $props.column
  33211. }, null, 8, ["column"]))
  33212. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  33213. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createTextVNode)(" " + (0,vue__WEBPACK_IMPORTED_MODULE_4__.toDisplayString)($options.columnProp('footer')), 1)
  33214. ], 14, _hoisted_1$2))
  33215. }
  33216. script$2.render = render$2;
  33217. var script$1 = {
  33218. name: 'TableFooter',
  33219. props: {
  33220. columnGroup: {
  33221. type: null,
  33222. default: null
  33223. },
  33224. columns: {
  33225. type: null,
  33226. default: null
  33227. },
  33228. },
  33229. methods: {
  33230. columnProp(col, prop) {
  33231. return primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.getVNodeProp(col, prop);
  33232. },
  33233. getFooterRows() {
  33234. let rows = [];
  33235. let columnGroup = this.columnGroup;
  33236. if (columnGroup.children && columnGroup.children.default) {
  33237. for (let child of columnGroup.children.default()) {
  33238. if (child.type.name === 'Row') {
  33239. rows.push(child);
  33240. }
  33241. else if (child.children && child.children instanceof Array) {
  33242. rows = child.children;
  33243. }
  33244. }
  33245. return rows;
  33246. }
  33247. },
  33248. getFooterColumns(row){
  33249. let cols = [];
  33250. if (row.children && row.children.default) {
  33251. row.children.default().forEach(child => {
  33252. if (child.children && child.children instanceof Array)
  33253. cols = [...cols, ...child.children];
  33254. else if (child.type.name === 'Column')
  33255. cols.push(child);
  33256. });
  33257. return cols;
  33258. }
  33259. }
  33260. },
  33261. computed: {
  33262. hasFooter() {
  33263. let hasFooter = false;
  33264. if (this.columnGroup) {
  33265. hasFooter = true;
  33266. }
  33267. else if (this.columns) {
  33268. for (let col of this.columns) {
  33269. if (this.columnProp(col, 'footer') || (col.children && col.children.footer)) {
  33270. hasFooter = true;
  33271. break;
  33272. }
  33273. }
  33274. }
  33275. return hasFooter;
  33276. }
  33277. },
  33278. components: {
  33279. 'DTFooterCell': script$2
  33280. }
  33281. };
  33282. const _hoisted_1$1 = {
  33283. key: 0,
  33284. class: "p-datatable-tfoot",
  33285. role: "rowgroup"
  33286. };
  33287. const _hoisted_2$1 = {
  33288. key: 0,
  33289. role: "row"
  33290. };
  33291. function render$1(_ctx, _cache, $props, $setup, $data, $options) {
  33292. const _component_DTFooterCell = (0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveComponent)("DTFooterCell");
  33293. return ($options.hasFooter)
  33294. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("tfoot", _hoisted_1$1, [
  33295. (!$props.columnGroup)
  33296. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("tr", _hoisted_2$1, [
  33297. ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderList)($props.columns, (col, i) => {
  33298. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, {
  33299. key: $options.columnProp(col,'columnKey')||$options.columnProp(col,'field')||i
  33300. }, [
  33301. (!$options.columnProp(col,'hidden'))
  33302. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)(_component_DTFooterCell, {
  33303. key: 0,
  33304. column: col
  33305. }, null, 8, ["column"]))
  33306. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true)
  33307. ], 64))
  33308. }), 128))
  33309. ]))
  33310. : ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, { key: 1 }, (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderList)($options.getFooterRows(), (row, i) => {
  33311. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("tr", {
  33312. key: i,
  33313. role: "row"
  33314. }, [
  33315. ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderList)($options.getFooterColumns(row), (col, j) => {
  33316. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_4__.Fragment, {
  33317. key: $options.columnProp(col,'columnKey')||$options.columnProp(col,'field')||j
  33318. }, [
  33319. (!$options.columnProp(col,'hidden'))
  33320. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)(_component_DTFooterCell, {
  33321. key: 0,
  33322. column: col
  33323. }, null, 8, ["column"]))
  33324. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true)
  33325. ], 64))
  33326. }), 128))
  33327. ]))
  33328. }), 128))
  33329. ]))
  33330. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true)
  33331. }
  33332. script$1.render = render$1;
  33333. var script = {
  33334. name: 'DataTable',
  33335. emits: ['value-change', 'update:first', 'update:rows', 'page', 'update:sortField', 'update:sortOrder', 'update:multiSortMeta', 'sort', 'filter', 'row-click', 'row-dblclick',
  33336. 'update:selection', 'row-select', 'row-unselect', 'update:contextMenuSelection', 'row-contextmenu', 'row-unselect-all', 'row-select-all', 'select-all-change',
  33337. 'column-resize-end', 'column-reorder', 'row-reorder', 'update:expandedRows', 'row-collapse', 'row-expand',
  33338. 'update:expandedRowGroups', 'rowgroup-collapse', 'rowgroup-expand', 'update:filters', 'state-restore', 'state-save',
  33339. 'cell-edit-init', 'cell-edit-complete', 'cell-edit-cancel', 'update:editingRows', 'row-edit-init', 'row-edit-save', 'row-edit-cancel'],
  33340. props: {
  33341. value: {
  33342. type: Array,
  33343. default: null
  33344. },
  33345. dataKey: {
  33346. type: String,
  33347. default: null
  33348. },
  33349. rows: {
  33350. type: Number,
  33351. default: 0
  33352. },
  33353. first: {
  33354. type: Number,
  33355. default: 0
  33356. },
  33357. totalRecords: {
  33358. type: Number,
  33359. default: 0
  33360. },
  33361. paginator: {
  33362. type: Boolean,
  33363. default: false
  33364. },
  33365. paginatorPosition: {
  33366. type: String,
  33367. default: 'bottom'
  33368. },
  33369. alwaysShowPaginator: {
  33370. type: Boolean,
  33371. default: true
  33372. },
  33373. paginatorTemplate: {
  33374. type: String,
  33375. default: 'FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown'
  33376. },
  33377. pageLinkSize: {
  33378. type: Number,
  33379. default: 5
  33380. },
  33381. rowsPerPageOptions: {
  33382. type: Array,
  33383. default: null
  33384. },
  33385. currentPageReportTemplate: {
  33386. type: String,
  33387. default: '({currentPage} of {totalPages})'
  33388. },
  33389. lazy: {
  33390. type: Boolean,
  33391. default: false
  33392. },
  33393. loading: {
  33394. type: Boolean,
  33395. default: false
  33396. },
  33397. loadingIcon: {
  33398. type: String,
  33399. default: 'pi pi-spinner'
  33400. },
  33401. sortField: {
  33402. type: [String, Function],
  33403. default: null
  33404. },
  33405. sortOrder: {
  33406. type: Number,
  33407. default: null
  33408. },
  33409. defaultSortOrder: {
  33410. type: Number,
  33411. default: 1
  33412. },
  33413. multiSortMeta: {
  33414. type: Array,
  33415. default: null
  33416. },
  33417. sortMode: {
  33418. type: String,
  33419. default: 'single'
  33420. },
  33421. removableSort: {
  33422. type: Boolean,
  33423. default: false
  33424. },
  33425. filters: {
  33426. type: Object,
  33427. default: null
  33428. },
  33429. filterDisplay: {
  33430. type: String,
  33431. default: null
  33432. },
  33433. globalFilterFields: {
  33434. type: Array,
  33435. default: null
  33436. },
  33437. filterLocale: {
  33438. type: String,
  33439. default: undefined
  33440. },
  33441. selection: {
  33442. type: [Array,Object],
  33443. default: null
  33444. },
  33445. selectionMode: {
  33446. type: String,
  33447. default: null
  33448. },
  33449. compareSelectionBy: {
  33450. type: String,
  33451. default: 'deepEquals'
  33452. },
  33453. metaKeySelection: {
  33454. type: Boolean,
  33455. default: true
  33456. },
  33457. contextMenu: {
  33458. type: Boolean,
  33459. default: false
  33460. },
  33461. contextMenuSelection: {
  33462. type: Object,
  33463. default: null
  33464. },
  33465. selectAll: {
  33466. type: Boolean,
  33467. default: null
  33468. },
  33469. rowHover: {
  33470. type: Boolean,
  33471. default: false
  33472. },
  33473. csvSeparator: {
  33474. type: String,
  33475. default: ','
  33476. },
  33477. exportFilename: {
  33478. type: String,
  33479. default: 'download'
  33480. },
  33481. exportFunction: {
  33482. type: Function,
  33483. default: null
  33484. },
  33485. autoLayout: {
  33486. type: Boolean,
  33487. default: false
  33488. },
  33489. resizableColumns: {
  33490. type: Boolean,
  33491. default: false
  33492. },
  33493. columnResizeMode: {
  33494. type: String,
  33495. default: 'fit'
  33496. },
  33497. reorderableColumns: {
  33498. type: Boolean,
  33499. default: false
  33500. },
  33501. expandedRows: {
  33502. type: Array,
  33503. default: null
  33504. },
  33505. expandedRowIcon: {
  33506. type: String,
  33507. default: 'pi-chevron-down'
  33508. },
  33509. collapsedRowIcon: {
  33510. type: String,
  33511. default: 'pi-chevron-right'
  33512. },
  33513. rowGroupMode: {
  33514. type: String,
  33515. default: null
  33516. },
  33517. groupRowsBy: {
  33518. type: [Array,String],
  33519. default: null
  33520. },
  33521. expandableRowGroups: {
  33522. type: Boolean,
  33523. default: false
  33524. },
  33525. expandedRowGroups: {
  33526. type: Array,
  33527. default: null
  33528. },
  33529. stateStorage: {
  33530. type: String,
  33531. default: 'session'
  33532. },
  33533. stateKey: {
  33534. type: String,
  33535. default: null
  33536. },
  33537. editMode: {
  33538. type: String,
  33539. default: null
  33540. },
  33541. editingRows: {
  33542. type: Array,
  33543. default: null
  33544. },
  33545. rowClass: {
  33546. type: null,
  33547. default: null
  33548. },
  33549. rowStyle: {
  33550. type: null,
  33551. default: null
  33552. },
  33553. scrollable: {
  33554. type: Boolean,
  33555. default: false
  33556. },
  33557. scrollDirection: {
  33558. type: String,
  33559. default: "vertical"
  33560. },
  33561. virtualScrollerOptions: {
  33562. type: Object,
  33563. default: null
  33564. },
  33565. scrollHeight: {
  33566. type: String,
  33567. default: null
  33568. },
  33569. frozenValue: {
  33570. type: Array,
  33571. default: null
  33572. },
  33573. responsiveLayout: {
  33574. type: String,
  33575. default: 'stack'
  33576. },
  33577. breakpoint: {
  33578. type: String,
  33579. default: '960px'
  33580. },
  33581. showGridlines: {
  33582. type: Boolean,
  33583. default: false
  33584. },
  33585. stripedRows: {
  33586. type: Boolean,
  33587. default: false
  33588. },
  33589. tableStyle: {
  33590. type: null,
  33591. default: null
  33592. },
  33593. tableClass: {
  33594. type: String,
  33595. default: null
  33596. }
  33597. },
  33598. data() {
  33599. return {
  33600. d_first: this.first,
  33601. d_rows: this.rows,
  33602. d_sortField: this.sortField,
  33603. d_sortOrder: this.sortOrder,
  33604. d_multiSortMeta: this.multiSortMeta ? [...this.multiSortMeta] : [],
  33605. d_groupRowsSortMeta: null,
  33606. d_selectionKeys: null,
  33607. d_expandedRowKeys: null,
  33608. d_columnOrder: null,
  33609. d_editingRowKeys: null,
  33610. d_editingMeta: {},
  33611. d_filters: this.cloneFilters(this.filters)
  33612. };
  33613. },
  33614. rowTouched: false,
  33615. anchorRowIndex: null,
  33616. rangeRowIndex: null,
  33617. documentColumnResizeListener: null,
  33618. documentColumnResizeEndListener: null,
  33619. lastResizeHelperX: null,
  33620. resizeColumnElement: null,
  33621. columnResizing: false,
  33622. colReorderIconWidth: null,
  33623. colReorderIconHeight: null,
  33624. draggedColumn: null,
  33625. draggedRowIndex: null,
  33626. droppedRowIndex: null,
  33627. rowDragging: null,
  33628. columnWidthsState: null,
  33629. tableWidthState: null,
  33630. columnWidthsRestored: false,
  33631. watch: {
  33632. first(newValue) {
  33633. this.d_first = newValue;
  33634. },
  33635. rows(newValue) {
  33636. this.d_rows = newValue;
  33637. },
  33638. sortField(newValue) {
  33639. this.d_sortField = newValue;
  33640. },
  33641. sortOrder(newValue) {
  33642. this.d_sortOrder = newValue;
  33643. },
  33644. multiSortMeta(newValue) {
  33645. this.d_multiSortMeta = newValue;
  33646. },
  33647. selection: {
  33648. immediate: true,
  33649. handler(newValue) {
  33650. if (this.dataKey) {
  33651. this.updateSelectionKeys(newValue);
  33652. }
  33653. }
  33654. },
  33655. expandedRows(newValue) {
  33656. if (this.dataKey) {
  33657. this.updateExpandedRowKeys(newValue);
  33658. }
  33659. },
  33660. editingRows(newValue) {
  33661. if (this.dataKey) {
  33662. this.updateEditingRowKeys(newValue);
  33663. }
  33664. },
  33665. filters: {
  33666. deep: true,
  33667. handler: function(newValue) {
  33668. this.d_filters = this.cloneFilters(newValue);
  33669. }
  33670. }
  33671. },
  33672. beforeMount() {
  33673. if (this.isStateful()) {
  33674. this.restoreState();
  33675. }
  33676. },
  33677. mounted() {
  33678. this.$el.setAttribute(this.attributeSelector, '');
  33679. if (this.responsiveLayout === 'stack' && !this.scrollable) {
  33680. this.createResponsiveStyle();
  33681. }
  33682. if (this.isStateful() && this.resizableColumns) {
  33683. this.restoreColumnWidths();
  33684. }
  33685. if (this.editMode === 'row' && this.dataKey && !this.d_editingRowKeys) {
  33686. this.updateEditingRowKeys(this.editingRows);
  33687. }
  33688. },
  33689. beforeUnmount() {
  33690. this.unbindColumnResizeEvents();
  33691. this.destroyStyleElement();
  33692. this.destroyResponsiveStyle();
  33693. },
  33694. updated() {
  33695. if (this.isStateful()) {
  33696. this.saveState();
  33697. }
  33698. if (this.editMode === 'row' && this.dataKey && !this.d_editingRowKeys) {
  33699. this.updateEditingRowKeys(this.editingRows);
  33700. }
  33701. },
  33702. methods: {
  33703. columnProp(col, prop) {
  33704. return primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.getVNodeProp(col, prop);
  33705. },
  33706. onPage(event) {
  33707. this.clearEditingMetaData();
  33708. this.d_first = event.first;
  33709. this.d_rows = event.rows;
  33710. let pageEvent = this.createLazyLoadEvent(event);
  33711. pageEvent.pageCount = event.pageCount;
  33712. pageEvent.page = event.page;
  33713. this.$emit('update:first', this.d_first);
  33714. this.$emit('update:rows', this.d_rows);
  33715. this.$emit('page', pageEvent);
  33716. this.$emit('value-change', this.processedData);
  33717. },
  33718. onColumnHeaderClick(e) {
  33719. const event = e.originalEvent;
  33720. const column = e.column;
  33721. if (this.columnProp(column, 'sortable')) {
  33722. const targetNode = event.target;
  33723. const columnField = this.columnProp(column, 'sortField') || this.columnProp(column, 'field');
  33724. if (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(targetNode, 'p-sortable-column') || primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(targetNode, 'p-column-title') || primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(targetNode, 'p-column-header-content')
  33725. || primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(targetNode, 'p-sortable-column-icon') || primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(targetNode.parentElement, 'p-sortable-column-icon')) {
  33726. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.clearSelection();
  33727. if (this.sortMode === 'single') {
  33728. if (this.d_sortField === columnField) {
  33729. if (this.removableSort && (this.d_sortOrder * -1 === this.defaultSortOrder)) {
  33730. this.d_sortOrder = null;
  33731. this.d_sortField = null;
  33732. }
  33733. else {
  33734. this.d_sortOrder = this.d_sortOrder * -1;
  33735. }
  33736. }
  33737. else {
  33738. this.d_sortOrder = this.defaultSortOrder;
  33739. this.d_sortField = columnField;
  33740. }
  33741. this.$emit('update:sortField', this.d_sortField);
  33742. this.$emit('update:sortOrder', this.d_sortOrder);
  33743. this.resetPage();
  33744. }
  33745. else if (this.sortMode === 'multiple') {
  33746. let metaKey = event.metaKey || event.ctrlKey;
  33747. if (!metaKey) {
  33748. this.d_multiSortMeta = this.d_multiSortMeta.filter(meta => meta.field === columnField);
  33749. }
  33750. this.addMultiSortField(columnField);
  33751. this.$emit('update:multiSortMeta', this.d_multiSortMeta);
  33752. }
  33753. this.$emit('sort', this.createLazyLoadEvent(event));
  33754. this.$emit('value-change', this.processedData);
  33755. }
  33756. }
  33757. },
  33758. sortSingle(value) {
  33759. this.clearEditingMetaData();
  33760. if (this.groupRowsBy && this.groupRowsBy === this.sortField) {
  33761. this.d_multiSortMeta = [
  33762. {field: this.sortField, order: this.sortOrder || this.defaultSortOrder},
  33763. {field: this.d_sortField, order: this.d_sortOrder}
  33764. ];
  33765. return this.sortMultiple(value);
  33766. }
  33767. let data = [...value];
  33768. data.sort((data1, data2) => {
  33769. let value1 = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(data1, this.d_sortField);
  33770. let value2 = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(data2, this.d_sortField);
  33771. let result = null;
  33772. if (value1 == null && value2 != null)
  33773. result = -1;
  33774. else if (value1 != null && value2 == null)
  33775. result = 1;
  33776. else if (value1 == null && value2 == null)
  33777. result = 0;
  33778. else if (typeof value1 === 'string' && typeof value2 === 'string')
  33779. result = value1.localeCompare(value2, undefined, { numeric: true });
  33780. else
  33781. result = (value1 < value2) ? -1 : (value1 > value2) ? 1 : 0;
  33782. return (this.d_sortOrder * result);
  33783. });
  33784. return data;
  33785. },
  33786. sortMultiple(value) {
  33787. this.clearEditingMetaData();
  33788. if (this.groupRowsBy && (this.d_groupRowsSortMeta || (this.d_multiSortMeta.length && this.groupRowsBy === this.d_multiSortMeta[0].field))) {
  33789. const firstSortMeta = this.d_multiSortMeta[0];
  33790. !this.d_groupRowsSortMeta && (this.d_groupRowsSortMeta = firstSortMeta);
  33791. if (firstSortMeta.field !== this.d_groupRowsSortMeta.field) {
  33792. this.d_multiSortMeta = [this.d_groupRowsSortMeta, ...this.d_multiSortMeta];
  33793. }
  33794. }
  33795. let data = [...value];
  33796. data.sort((data1, data2) => {
  33797. return this.multisortField(data1, data2, 0);
  33798. });
  33799. return data;
  33800. },
  33801. multisortField(data1, data2, index) {
  33802. const value1 = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(data1, this.d_multiSortMeta[index].field);
  33803. const value2 = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(data2, this.d_multiSortMeta[index].field);
  33804. let result = null;
  33805. if (typeof value1 === 'string' || value1 instanceof String) {
  33806. if (value1.localeCompare && (value1 !== value2)) {
  33807. return (this.d_multiSortMeta[index].order * value1.localeCompare(value2, undefined, { numeric: true }));
  33808. }
  33809. }
  33810. else {
  33811. result = (value1 < value2) ? -1 : 1;
  33812. }
  33813. if (value1 === value2) {
  33814. return (this.d_multiSortMeta.length - 1) > (index) ? (this.multisortField(data1, data2, index + 1)) : 0;
  33815. }
  33816. return (this.d_multiSortMeta[index].order * result);
  33817. },
  33818. addMultiSortField(field) {
  33819. let index = this.d_multiSortMeta.findIndex(meta => meta.field === field);
  33820. if (index >= 0) {
  33821. if (this.removableSort && (this.d_multiSortMeta[index].order * -1 === this.defaultSortOrder))
  33822. this.d_multiSortMeta.splice(index, 1);
  33823. else
  33824. this.d_multiSortMeta[index] = {field: field, order: this.d_multiSortMeta[index].order * -1};
  33825. }
  33826. else {
  33827. this.d_multiSortMeta.push({field: field, order: this.defaultSortOrder});
  33828. }
  33829. this.d_multiSortMeta = [...this.d_multiSortMeta];
  33830. },
  33831. filter(data) {
  33832. if (!data) {
  33833. return;
  33834. }
  33835. this.clearEditingMetaData();
  33836. let globalFilterFieldsArray;
  33837. if (this.filters['global']) {
  33838. globalFilterFieldsArray = this.globalFilterFields|| this.columns.map(col => this.columnProp(col, 'filterField') || this.columnProp(col, 'field'));
  33839. }
  33840. let filteredValue = [];
  33841. for (let i = 0; i < data.length; i++) {
  33842. let localMatch = true;
  33843. let globalMatch = false;
  33844. let localFiltered = false;
  33845. for (let prop in this.filters) {
  33846. if (Object.prototype.hasOwnProperty.call(this.filters, prop) && prop !== 'global') {
  33847. localFiltered = true;
  33848. let filterField = prop;
  33849. let filterMeta = this.filters[filterField];
  33850. if (filterMeta.operator) {
  33851. for (let filterConstraint of filterMeta.constraints) {
  33852. localMatch = this.executeLocalFilter(filterField, data[i], filterConstraint);
  33853. if ((filterMeta.operator === primevue_api__WEBPACK_IMPORTED_MODULE_1__.FilterOperator.OR && localMatch) || (filterMeta.operator === primevue_api__WEBPACK_IMPORTED_MODULE_1__.FilterOperator.AND && !localMatch)) {
  33854. break;
  33855. }
  33856. }
  33857. }
  33858. else {
  33859. localMatch = this.executeLocalFilter(filterField, data[i], filterMeta);
  33860. }
  33861. if (!localMatch) {
  33862. break;
  33863. }
  33864. }
  33865. }
  33866. if (this.filters['global'] && !globalMatch && globalFilterFieldsArray) {
  33867. for(let j = 0; j < globalFilterFieldsArray.length; j++) {
  33868. let globalFilterField = globalFilterFieldsArray[j];
  33869. globalMatch = primevue_api__WEBPACK_IMPORTED_MODULE_1__.FilterService.filters[this.filters['global'].matchMode || primevue_api__WEBPACK_IMPORTED_MODULE_1__.FilterMatchMode.CONTAINS](primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(data[i], globalFilterField), this.filters['global'].value, this.filterLocale);
  33870. if (globalMatch) {
  33871. break;
  33872. }
  33873. }
  33874. }
  33875. let matches;
  33876. if (this.filters['global']) {
  33877. matches = localFiltered ? (localFiltered && localMatch && globalMatch) : globalMatch;
  33878. }
  33879. else {
  33880. matches = localFiltered && localMatch;
  33881. }
  33882. if (matches) {
  33883. filteredValue.push(data[i]);
  33884. }
  33885. }
  33886. if (filteredValue.length === this.value.length) {
  33887. filteredValue = data;
  33888. }
  33889. let filterEvent = this.createLazyLoadEvent();
  33890. filterEvent.filteredValue = filteredValue;
  33891. this.$emit('filter', filterEvent);
  33892. this.$emit('value-change', filteredValue);
  33893. return filteredValue;
  33894. },
  33895. executeLocalFilter(field, rowData, filterMeta) {
  33896. let filterValue = filterMeta.value;
  33897. let filterMatchMode = filterMeta.matchMode || primevue_api__WEBPACK_IMPORTED_MODULE_1__.FilterMatchMode.STARTS_WITH;
  33898. let dataFieldValue = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(rowData, field);
  33899. let filterConstraint = primevue_api__WEBPACK_IMPORTED_MODULE_1__.FilterService.filters[filterMatchMode];
  33900. return filterConstraint(dataFieldValue, filterValue, this.filterLocale);
  33901. },
  33902. onRowClick(e) {
  33903. const event = e.originalEvent;
  33904. if (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.isClickable(event.target)) {
  33905. return;
  33906. }
  33907. this.$emit('row-click', e);
  33908. if (this.selectionMode) {
  33909. const rowData = e.data;
  33910. const rowIndex = this.d_first + e.index;
  33911. if (this.isMultipleSelectionMode() && event.shiftKey && this.anchorRowIndex != null) {
  33912. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.clearSelection();
  33913. this.rangeRowIndex = rowIndex;
  33914. this.selectRange(event);
  33915. }
  33916. else {
  33917. const selected = this.isSelected(rowData);
  33918. const metaSelection = this.rowTouched ? false : this.metaKeySelection;
  33919. this.anchorRowIndex = rowIndex;
  33920. this.rangeRowIndex = rowIndex;
  33921. if (metaSelection) {
  33922. let metaKey = event.metaKey || event.ctrlKey;
  33923. if (selected && metaKey) {
  33924. if(this.isSingleSelectionMode()) {
  33925. this.$emit('update:selection', null);
  33926. }
  33927. else {
  33928. const selectionIndex = this.findIndexInSelection(rowData);
  33929. const _selection = this.selection.filter((val,i) => i != selectionIndex);
  33930. this.$emit('update:selection', _selection);
  33931. }
  33932. this.$emit('row-unselect', {originalEvent: event, data: rowData, index: rowIndex, type: 'row'});
  33933. }
  33934. else {
  33935. if(this.isSingleSelectionMode()) {
  33936. this.$emit('update:selection', rowData);
  33937. }
  33938. else if (this.isMultipleSelectionMode()) {
  33939. let _selection = metaKey ? (this.selection || []) : [];
  33940. _selection = [..._selection, rowData];
  33941. this.$emit('update:selection', _selection);
  33942. }
  33943. this.$emit('row-select', {originalEvent: event, data: rowData, index: rowIndex, type: 'row'});
  33944. }
  33945. }
  33946. else {
  33947. if (this.selectionMode === 'single') {
  33948. if (selected) {
  33949. this.$emit('update:selection', null);
  33950. this.$emit('row-unselect', {originalEvent: event, data: rowData, index: rowIndex, type: 'row'});
  33951. }
  33952. else {
  33953. this.$emit('update:selection', rowData);
  33954. this.$emit('row-select', {originalEvent: event, data: rowData, index: rowIndex, type: 'row'});
  33955. }
  33956. }
  33957. else if (this.selectionMode === 'multiple') {
  33958. if (selected) {
  33959. const selectionIndex = this.findIndexInSelection(rowData);
  33960. const _selection = this.selection.filter((val, i) => i != selectionIndex);
  33961. this.$emit('update:selection', _selection);
  33962. this.$emit('row-unselect', {originalEvent: event, data: rowData, index: rowIndex, type: 'row'});
  33963. }
  33964. else {
  33965. const _selection = this.selection ? [...this.selection, rowData] : [rowData];
  33966. this.$emit('update:selection', _selection);
  33967. this.$emit('row-select', {originalEvent: event, data: rowData, index: rowIndex, type: 'row'});
  33968. }
  33969. }
  33970. }
  33971. }
  33972. }
  33973. this.rowTouched = false;
  33974. },
  33975. onRowDblClick(e) {
  33976. const event = e.originalEvent;
  33977. if (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.isClickable(event.target)) {
  33978. return;
  33979. }
  33980. this.$emit('row-dblclick', e);
  33981. },
  33982. onRowRightClick(event) {
  33983. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.clearSelection();
  33984. event.originalEvent.target.focus();
  33985. this.$emit('update:contextMenuSelection', event.data);
  33986. this.$emit('row-contextmenu', event);
  33987. },
  33988. onRowTouchEnd() {
  33989. this.rowTouched = true;
  33990. },
  33991. onRowKeyDown(e) {
  33992. const event = e.originalEvent;
  33993. const rowData = e.data;
  33994. const rowIndex = e.index;
  33995. if (this.selectionMode) {
  33996. const row = event.target;
  33997. switch (event.which) {
  33998. //down arrow
  33999. case 40:
  34000. var nextRow = this.findNextSelectableRow(row);
  34001. if (nextRow) {
  34002. nextRow.focus();
  34003. }
  34004. event.preventDefault();
  34005. break;
  34006. //up arrow
  34007. case 38:
  34008. var prevRow = this.findPrevSelectableRow(row);
  34009. if (prevRow) {
  34010. prevRow.focus();
  34011. }
  34012. event.preventDefault();
  34013. break;
  34014. //enter
  34015. case 13:
  34016. this.onRowClick({originalEvent: event, data: rowData, index: rowIndex});
  34017. break;
  34018. }
  34019. }
  34020. },
  34021. findNextSelectableRow(row) {
  34022. let nextRow = row.nextElementSibling;
  34023. if (nextRow) {
  34024. if (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(nextRow, 'p-selectable-row'))
  34025. return nextRow;
  34026. else
  34027. return this.findNextSelectableRow(nextRow);
  34028. }
  34029. else {
  34030. return null;
  34031. }
  34032. },
  34033. findPrevSelectableRow(row) {
  34034. let prevRow = row.previousElementSibling;
  34035. if (prevRow) {
  34036. if (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(prevRow, 'p-selectable-row'))
  34037. return prevRow;
  34038. else
  34039. return this.findPrevSelectableRow(prevRow);
  34040. }
  34041. else {
  34042. return null;
  34043. }
  34044. },
  34045. toggleRowWithRadio(event) {
  34046. const rowData = event.data;
  34047. if (this.isSelected(rowData)) {
  34048. this.$emit('update:selection', null);
  34049. this.$emit('row-unselect', { originalEvent: event.originalEvent, data: rowData, index: event.index, type: 'radiobutton' });
  34050. }
  34051. else {
  34052. this.$emit('update:selection', rowData);
  34053. this.$emit('row-select', { originalEvent: event.originalEvent, data: rowData, index: event.index, type: 'radiobutton' });
  34054. }
  34055. },
  34056. toggleRowWithCheckbox(event) {
  34057. const rowData = event.data;
  34058. if (this.isSelected(rowData)) {
  34059. const selectionIndex = this.findIndexInSelection(rowData);
  34060. const _selection = this.selection.filter((val, i) => i != selectionIndex);
  34061. this.$emit('update:selection', _selection);
  34062. this.$emit('row-unselect', { originalEvent: event.originalEvent, data: rowData, index: event.index, type: 'checkbox' });
  34063. }
  34064. else {
  34065. let _selection = this.selection ? [...this.selection] : [];
  34066. _selection = [..._selection, rowData];
  34067. this.$emit('update:selection', _selection);
  34068. this.$emit('row-select', { originalEvent: event.originalEvent, data: rowData, index: event.index, type: 'checkbox' });
  34069. }
  34070. },
  34071. toggleRowsWithCheckbox(event) {
  34072. if (this.selectAll !== null) {
  34073. this.$emit('select-all-change', event);
  34074. }
  34075. else {
  34076. const { originalEvent, checked } = event;
  34077. let _selection = [];
  34078. if (checked) {
  34079. _selection = this.frozenValue ? [...this.frozenValue, ...this.processedData] : this.processedData;
  34080. this.$emit('row-select-all', {originalEvent, data: _selection});
  34081. }
  34082. else {
  34083. this.$emit('row-unselect-all', {originalEvent});
  34084. }
  34085. this.$emit('update:selection', _selection);
  34086. }
  34087. },
  34088. isSingleSelectionMode() {
  34089. return this.selectionMode === 'single';
  34090. },
  34091. isMultipleSelectionMode() {
  34092. return this.selectionMode === 'multiple';
  34093. },
  34094. isSelected(rowData) {
  34095. if (rowData && this.selection) {
  34096. if (this.dataKey) {
  34097. return this.d_selectionKeys ? this.d_selectionKeys[primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(rowData, this.dataKey)] !== undefined : false;
  34098. }
  34099. else {
  34100. if (this.selection instanceof Array)
  34101. return this.findIndexInSelection(rowData) > -1;
  34102. else
  34103. return this.equals(rowData, this.selection);
  34104. }
  34105. }
  34106. return false;
  34107. },
  34108. findIndexInSelection(rowData) {
  34109. return this.findIndex(rowData, this.selection);
  34110. },
  34111. findIndex(rowData, collection) {
  34112. let index = -1;
  34113. if (collection && collection.length) {
  34114. for (let i = 0; i < collection.length; i++) {
  34115. if (this.equals(rowData, collection[i])) {
  34116. index = i;
  34117. break;
  34118. }
  34119. }
  34120. }
  34121. return index;
  34122. },
  34123. updateSelectionKeys(selection) {
  34124. this.d_selectionKeys = {};
  34125. if (Array.isArray(selection)) {
  34126. for (let data of selection) {
  34127. this.d_selectionKeys[String(primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(data, this.dataKey))] = 1;
  34128. }
  34129. }
  34130. else {
  34131. this.d_selectionKeys[String(primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(selection, this.dataKey))] = 1;
  34132. }
  34133. },
  34134. updateExpandedRowKeys(expandedRows) {
  34135. if (expandedRows && expandedRows.length) {
  34136. this.d_expandedRowKeys = {};
  34137. for (let data of expandedRows) {
  34138. this.d_expandedRowKeys[String(primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(data, this.dataKey))] = 1;
  34139. }
  34140. }
  34141. else {
  34142. this.d_expandedRowKeys = null;
  34143. }
  34144. },
  34145. updateEditingRowKeys(editingRows) {
  34146. if (editingRows && editingRows.length) {
  34147. this.d_editingRowKeys = {};
  34148. for (let data of editingRows) {
  34149. this.d_editingRowKeys[String(primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(data, this.dataKey))] = 1;
  34150. }
  34151. }
  34152. else {
  34153. this.d_editingRowKeys = null;
  34154. }
  34155. },
  34156. equals(data1, data2) {
  34157. return this.compareSelectionBy === 'equals' ? (data1 === data2) : primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.equals(data1, data2, this.dataKey);
  34158. },
  34159. selectRange(event) {
  34160. let rangeStart, rangeEnd;
  34161. if (this.rangeRowIndex > this.anchorRowIndex) {
  34162. rangeStart = this.anchorRowIndex;
  34163. rangeEnd = this.rangeRowIndex;
  34164. }
  34165. else if(this.rangeRowIndex < this.anchorRowIndex) {
  34166. rangeStart = this.rangeRowIndex;
  34167. rangeEnd = this.anchorRowIndex;
  34168. }
  34169. else {
  34170. rangeStart = this.rangeRowIndex;
  34171. rangeEnd = this.rangeRowIndex;
  34172. }
  34173. if (this.lazy && this.paginator) {
  34174. rangeStart -= this.first;
  34175. rangeEnd -= this.first;
  34176. }
  34177. const value = this.processedData;
  34178. let _selection = [];
  34179. for(let i = rangeStart; i <= rangeEnd; i++) {
  34180. let rangeRowData = value[i];
  34181. _selection.push(rangeRowData);
  34182. this.$emit('row-select', {originalEvent: event, data: rangeRowData, type: 'row'});
  34183. }
  34184. this.$emit('update:selection', _selection);
  34185. },
  34186. exportCSV(options, data) {
  34187. let csv = '\ufeff';
  34188. if (!data) {
  34189. data = this.processedData;
  34190. if (options && options.selectionOnly)
  34191. data = this.selection || [];
  34192. else if (this.frozenValue)
  34193. data = data ? [...this.frozenValue, ...data] : this.frozenValue;
  34194. }
  34195. //headers
  34196. let headerInitiated = false;
  34197. for (let i = 0; i < this.columns.length; i++) {
  34198. let column = this.columns[i];
  34199. if (this.columnProp(column, 'exportable') !== false && this.columnProp(column, 'field')) {
  34200. if (headerInitiated)
  34201. csv += this.csvSeparator;
  34202. else
  34203. headerInitiated = true;
  34204. csv += '"' + (this.columnProp(column, 'exportHeader') || this.columnProp(column, 'header') || this.columnProp(column, 'field')) + '"';
  34205. }
  34206. }
  34207. //body
  34208. if (data) {
  34209. data.forEach(record => {
  34210. csv += '\n';
  34211. let rowInitiated = false;
  34212. for (let i = 0; i < this.columns.length; i++) {
  34213. let column = this.columns[i];
  34214. if (this.columnProp(column, 'exportable') !== false && this.columnProp(column, 'field')) {
  34215. if (rowInitiated)
  34216. csv += this.csvSeparator;
  34217. else
  34218. rowInitiated = true;
  34219. let cellData = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(record, this.columnProp(column, 'field'));
  34220. if (cellData != null) {
  34221. if (this.exportFunction) {
  34222. cellData = this.exportFunction({
  34223. data: cellData,
  34224. field: this.columnProp(column, 'field')
  34225. });
  34226. }
  34227. else
  34228. cellData = String(cellData).replace(/"/g, '""');
  34229. }
  34230. else
  34231. cellData = '';
  34232. csv += '"' + cellData + '"';
  34233. }
  34234. }
  34235. });
  34236. }
  34237. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.exportCSV(csv, this.exportFilename);
  34238. },
  34239. resetPage() {
  34240. this.d_first = 0;
  34241. this.$emit('update:first', this.d_first);
  34242. },
  34243. onColumnResizeStart(event) {
  34244. let containerLeft = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOffset(this.$el).left;
  34245. this.resizeColumnElement = event.target.parentElement;
  34246. this.columnResizing = true;
  34247. this.lastResizeHelperX = (event.pageX - containerLeft + this.$el.scrollLeft);
  34248. this.bindColumnResizeEvents();
  34249. },
  34250. onColumnResize(event) {
  34251. let containerLeft = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOffset(this.$el).left;
  34252. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addClass(this.$el, 'p-unselectable-text');
  34253. this.$refs.resizeHelper.style.height = this.$el.offsetHeight + 'px';
  34254. this.$refs.resizeHelper.style.top = 0 + 'px';
  34255. this.$refs.resizeHelper.style.left = (event.pageX - containerLeft + this.$el.scrollLeft) + 'px';
  34256. this.$refs.resizeHelper.style.display = 'block';
  34257. },
  34258. onColumnResizeEnd() {
  34259. let delta = this.$refs.resizeHelper.offsetLeft - this.lastResizeHelperX;
  34260. let columnWidth = this.resizeColumnElement.offsetWidth;
  34261. let newColumnWidth = columnWidth + delta;
  34262. let minWidth = this.resizeColumnElement.style.minWidth||15;
  34263. if (columnWidth + delta > parseInt(minWidth, 10)) {
  34264. if (this.columnResizeMode === 'fit') {
  34265. let nextColumn = this.resizeColumnElement.nextElementSibling;
  34266. let nextColumnWidth = nextColumn.offsetWidth - delta;
  34267. if (newColumnWidth > 15 && nextColumnWidth > 15) {
  34268. this.resizeTableCells(newColumnWidth, nextColumnWidth);
  34269. }
  34270. }
  34271. else if (this.columnResizeMode === 'expand') {
  34272. const tableWidth = this.$refs.table.offsetWidth + delta + 'px';
  34273. this.$refs.table.style.width = tableWidth;
  34274. this.$refs.table.style.minWidth = tableWidth;
  34275. this.resizeTableCells(newColumnWidth);
  34276. }
  34277. this.$emit('column-resize-end', {
  34278. element: this.resizeColumnElement,
  34279. delta: delta
  34280. });
  34281. }
  34282. this.$refs.resizeHelper.style.display = 'none';
  34283. this.resizeColumn = null;
  34284. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.removeClass(this.$el, 'p-unselectable-text');
  34285. this.unbindColumnResizeEvents();
  34286. if (this.isStateful()) {
  34287. this.saveState();
  34288. }
  34289. },
  34290. resizeTableCells(newColumnWidth, nextColumnWidth) {
  34291. let colIndex = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.index(this.resizeColumnElement);
  34292. let widths = [];
  34293. let headers = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.find(this.$refs.table, '.p-datatable-thead > tr > th');
  34294. headers.forEach(header => widths.push(primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(header)));
  34295. this.destroyStyleElement();
  34296. this.createStyleElement();
  34297. let innerHTML = '';
  34298. widths.forEach((width, index) => {
  34299. let colWidth = index === colIndex ? newColumnWidth : (nextColumnWidth && index === colIndex + 1) ? nextColumnWidth : width;
  34300. let style = this.scrollable ? `flex: 1 1 ${colWidth}px !important` : `width: ${colWidth}px !important`;
  34301. innerHTML += `
  34302. .p-datatable[${this.attributeSelector}] .p-datatable-thead > tr > th:nth-child(${index + 1}),
  34303. .p-datatable[${this.attributeSelector}] .p-datatable-tbody > tr > td:nth-child(${index + 1}),
  34304. .p-datatable[${this.attributeSelector}] .p-datatable-tfoot > tr > td:nth-child(${index + 1}) {
  34305. ${style}
  34306. }
  34307. `;
  34308. });
  34309. this.styleElement.innerHTML = innerHTML;
  34310. },
  34311. bindColumnResizeEvents() {
  34312. if (!this.documentColumnResizeListener) {
  34313. this.documentColumnResizeListener = document.addEventListener('mousemove', () => {
  34314. if(this.columnResizing) {
  34315. this.onColumnResize(event);
  34316. }
  34317. });
  34318. }
  34319. if (!this.documentColumnResizeEndListener) {
  34320. this.documentColumnResizeEndListener = document.addEventListener('mouseup', () => {
  34321. if(this.columnResizing) {
  34322. this.columnResizing = false;
  34323. this.onColumnResizeEnd();
  34324. }
  34325. });
  34326. }
  34327. },
  34328. unbindColumnResizeEvents() {
  34329. if (this.documentColumnResizeListener) {
  34330. document.removeEventListener('document', this.documentColumnResizeListener);
  34331. this.documentColumnResizeListener = null;
  34332. }
  34333. if (this.documentColumnResizeEndListener) {
  34334. document.removeEventListener('document', this.documentColumnResizeEndListener);
  34335. this.documentColumnResizeEndListener = null;
  34336. }
  34337. },
  34338. onColumnHeaderMouseDown(e) {
  34339. const event = e.originalEvent;
  34340. const column = e.column;
  34341. if (this.reorderableColumns && this.columnProp(column, 'reorderableColumn') !== false) {
  34342. if (event.target.nodeName === 'INPUT' || event.target.nodeName === 'TEXTAREA' || primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(event.target, 'p-column-resizer'))
  34343. event.currentTarget.draggable = false;
  34344. else
  34345. event.currentTarget.draggable = true;
  34346. }
  34347. },
  34348. onColumnHeaderDragStart(event) {
  34349. if (this.columnResizing) {
  34350. event.preventDefault();
  34351. return;
  34352. }
  34353. this.colReorderIconWidth = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getHiddenElementOuterWidth(this.$refs.reorderIndicatorUp);
  34354. this.colReorderIconHeight = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getHiddenElementOuterHeight(this.$refs.reorderIndicatorUp);
  34355. this.draggedColumn = this.findParentHeader(event.target);
  34356. event.dataTransfer.setData('text', 'b'); // Firefox requires this to make dragging possible
  34357. },
  34358. onColumnHeaderDragOver(event) {
  34359. let dropHeader = this.findParentHeader(event.target);
  34360. if(this.reorderableColumns && this.draggedColumn && dropHeader) {
  34361. event.preventDefault();
  34362. let containerOffset = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOffset(this.$el);
  34363. let dropHeaderOffset = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOffset(dropHeader);
  34364. if (this.draggedColumn !== dropHeader) {
  34365. let targetLeft = dropHeaderOffset.left - containerOffset.left;
  34366. let columnCenter = dropHeaderOffset.left + dropHeader.offsetWidth / 2;
  34367. this.$refs.reorderIndicatorUp.style.top = dropHeaderOffset.top - containerOffset.top - (this.colReorderIconHeight - 1) + 'px';
  34368. this.$refs.reorderIndicatorDown.style.top = dropHeaderOffset.top - containerOffset.top + dropHeader.offsetHeight + 'px';
  34369. if(event.pageX > columnCenter) {
  34370. this.$refs.reorderIndicatorUp.style.left = (targetLeft + dropHeader.offsetWidth - Math.ceil(this.colReorderIconWidth / 2)) + 'px';
  34371. this.$refs.reorderIndicatorDown.style.left = (targetLeft + dropHeader.offsetWidth - Math.ceil(this.colReorderIconWidth / 2))+ 'px';
  34372. this.dropPosition = 1;
  34373. }
  34374. else {
  34375. this.$refs.reorderIndicatorUp.style.left = (targetLeft - Math.ceil(this.colReorderIconWidth / 2)) + 'px';
  34376. this.$refs.reorderIndicatorDown.style.left = (targetLeft - Math.ceil(this.colReorderIconWidth / 2))+ 'px';
  34377. this.dropPosition = -1;
  34378. }
  34379. this.$refs.reorderIndicatorUp.style.display = 'block';
  34380. this.$refs.reorderIndicatorDown.style.display = 'block';
  34381. }
  34382. }
  34383. },
  34384. onColumnHeaderDragLeave(event) {
  34385. if(this.reorderableColumns && this.draggedColumn) {
  34386. event.preventDefault();
  34387. this.$refs.reorderIndicatorUp.style.display = 'none';
  34388. this.$refs.reorderIndicatorDown.style.display = 'none';
  34389. }
  34390. },
  34391. onColumnHeaderDrop(event) {
  34392. event.preventDefault();
  34393. if (this.draggedColumn) {
  34394. let dragIndex = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.index(this.draggedColumn);
  34395. let dropIndex = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.index(this.findParentHeader(event.target));
  34396. let allowDrop = (dragIndex !== dropIndex);
  34397. if (allowDrop && ((dropIndex - dragIndex === 1 && this.dropPosition === -1) || (dragIndex - dropIndex === 1 && this.dropPosition === 1))) {
  34398. allowDrop = false;
  34399. }
  34400. if (allowDrop) {
  34401. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.reorderArray(this.columns, dragIndex, dropIndex);
  34402. this.updateReorderableColumns();
  34403. this.$emit('column-reorder', {
  34404. originalEvent: event,
  34405. dragIndex: dragIndex,
  34406. dropIndex: dropIndex
  34407. });
  34408. }
  34409. this.$refs.reorderIndicatorUp.style.display = 'none';
  34410. this.$refs.reorderIndicatorDown.style.display = 'none';
  34411. this.draggedColumn.draggable = false;
  34412. this.draggedColumn = null;
  34413. this.dropPosition = null;
  34414. }
  34415. },
  34416. findParentHeader(element) {
  34417. if(element.nodeName === 'TH') {
  34418. return element;
  34419. }
  34420. else {
  34421. let parent = element.parentElement;
  34422. while(parent.nodeName !== 'TH') {
  34423. parent = parent.parentElement;
  34424. if (!parent) break;
  34425. }
  34426. return parent;
  34427. }
  34428. },
  34429. findColumnByKey(columns, key) {
  34430. if (columns && columns.length) {
  34431. for (let i = 0; i < columns.length; i++) {
  34432. let column = columns[i];
  34433. if (this.columnProp(column, 'columnKey') === key || this.columnProp(column, 'field') === key) {
  34434. return column;
  34435. }
  34436. }
  34437. }
  34438. return null;
  34439. },
  34440. onRowMouseDown(event) {
  34441. if (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(event.target, 'p-datatable-reorderablerow-handle'))
  34442. event.currentTarget.draggable = true;
  34443. else
  34444. event.currentTarget.draggable = false;
  34445. },
  34446. onRowDragStart(e) {
  34447. const event = e.originalEvent;
  34448. const index = e.index;
  34449. this.rowDragging = true;
  34450. this.draggedRowIndex = index;
  34451. event.dataTransfer.setData('text', 'b'); // For firefox
  34452. },
  34453. onRowDragOver(e) {
  34454. const event = e.originalEvent;
  34455. const index = e.index;
  34456. if (this.rowDragging && this.draggedRowIndex !== index) {
  34457. let rowElement = event.currentTarget;
  34458. let rowY = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOffset(rowElement).top + primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getWindowScrollTop();
  34459. let pageY = event.pageY;
  34460. let rowMidY = rowY + primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterHeight(rowElement) / 2;
  34461. let prevRowElement = rowElement.previousElementSibling;
  34462. if (pageY < rowMidY) {
  34463. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.removeClass(rowElement, 'p-datatable-dragpoint-bottom');
  34464. this.droppedRowIndex = index;
  34465. if (prevRowElement)
  34466. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addClass(prevRowElement, 'p-datatable-dragpoint-bottom');
  34467. else
  34468. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addClass(rowElement, 'p-datatable-dragpoint-top');
  34469. }
  34470. else {
  34471. if (prevRowElement)
  34472. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.removeClass(prevRowElement, 'p-datatable-dragpoint-bottom');
  34473. else
  34474. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addClass(rowElement, 'p-datatable-dragpoint-top');
  34475. this.droppedRowIndex = index + 1;
  34476. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addClass(rowElement, 'p-datatable-dragpoint-bottom');
  34477. }
  34478. event.preventDefault();
  34479. }
  34480. },
  34481. onRowDragLeave(event) {
  34482. let rowElement = event.currentTarget;
  34483. let prevRowElement = rowElement.previousElementSibling;
  34484. if (prevRowElement) {
  34485. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.removeClass(prevRowElement, 'p-datatable-dragpoint-bottom');
  34486. }
  34487. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.removeClass(rowElement, 'p-datatable-dragpoint-bottom');
  34488. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.removeClass(rowElement, 'p-datatable-dragpoint-top');
  34489. },
  34490. onRowDragEnd(event) {
  34491. this.rowDragging = false;
  34492. this.draggedRowIndex = null;
  34493. this.droppedRowIndex = null;
  34494. event.currentTarget.draggable = false;
  34495. },
  34496. onRowDrop(event) {
  34497. if (this.droppedRowIndex != null) {
  34498. let dropIndex = (this.draggedRowIndex > this.droppedRowIndex) ? this.droppedRowIndex : (this.droppedRowIndex === 0) ? 0 : this.droppedRowIndex - 1;
  34499. let processedData = [...this.processedData];
  34500. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.reorderArray(processedData, this.draggedRowIndex, dropIndex);
  34501. this.$emit('row-reorder', {
  34502. originalEvent: event,
  34503. dragIndex: this.draggedRowIndex,
  34504. dropIndex: dropIndex,
  34505. value: processedData
  34506. });
  34507. }
  34508. //cleanup
  34509. this.onRowDragLeave(event);
  34510. this.onRowDragEnd(event);
  34511. event.preventDefault();
  34512. },
  34513. toggleRow(event) {
  34514. let rowData = event.data;
  34515. let expanded;
  34516. let expandedRowIndex;
  34517. let _expandedRows = this.expandedRows ? [...this.expandedRows] : [];
  34518. if (this.dataKey) {
  34519. expanded = this.d_expandedRowKeys ? this.d_expandedRowKeys[primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(rowData, this.dataKey)] !== undefined : false;
  34520. }
  34521. else {
  34522. expandedRowIndex = this.findIndex(rowData, this.expandedRows);
  34523. expanded = expandedRowIndex > -1;
  34524. }
  34525. if (expanded) {
  34526. if (expandedRowIndex == null) {
  34527. expandedRowIndex = this.findIndex(rowData, this.expandedRows);
  34528. }
  34529. _expandedRows.splice(expandedRowIndex, 1);
  34530. this.$emit('update:expandedRows', _expandedRows);
  34531. this.$emit('row-collapse', event);
  34532. }
  34533. else {
  34534. _expandedRows.push(rowData);
  34535. this.$emit('update:expandedRows', _expandedRows);
  34536. this.$emit('row-expand', event);
  34537. }
  34538. },
  34539. toggleRowGroup(e) {
  34540. const event = e.originalEvent;
  34541. const data = e.data;
  34542. const groupFieldValue = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(data, this.groupRowsBy);
  34543. let _expandedRowGroups = this.expandedRowGroups ? [...this.expandedRowGroups] : [];
  34544. if (this.isRowGroupExpanded(data)) {
  34545. _expandedRowGroups = _expandedRowGroups.filter(group => group !== groupFieldValue);
  34546. this.$emit('update:expandedRowGroups', _expandedRowGroups);
  34547. this.$emit('rowgroup-collapse', {originalEvent: event, data: groupFieldValue});
  34548. }
  34549. else {
  34550. _expandedRowGroups.push(groupFieldValue);
  34551. this.$emit('update:expandedRowGroups', _expandedRowGroups);
  34552. this.$emit('rowgroup-expand', {originalEvent: event, data: groupFieldValue});
  34553. }
  34554. },
  34555. isRowGroupExpanded(rowData) {
  34556. if (this.expandableRowGroups && this.expandedRowGroups) {
  34557. let groupFieldValue = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(rowData, this.groupRowsBy);
  34558. return this.expandedRowGroups.indexOf(groupFieldValue) > -1;
  34559. }
  34560. return false;
  34561. },
  34562. isStateful() {
  34563. return this.stateKey != null;
  34564. },
  34565. getStorage() {
  34566. switch(this.stateStorage) {
  34567. case 'local':
  34568. return window.localStorage;
  34569. case 'session':
  34570. return window.sessionStorage;
  34571. default:
  34572. throw new Error(this.stateStorage + ' is not a valid value for the state storage, supported values are "local" and "session".');
  34573. }
  34574. },
  34575. saveState() {
  34576. const storage = this.getStorage();
  34577. let state = {};
  34578. if (this.paginator) {
  34579. state.first = this.d_first;
  34580. state.rows = this.d_rows;
  34581. }
  34582. if (this.d_sortField) {
  34583. state.sortField = this.d_sortField;
  34584. state.sortOrder = this.d_sortOrder;
  34585. }
  34586. if (this.d_multiSortMeta) {
  34587. state.multiSortMeta = this.d_multiSortMeta;
  34588. }
  34589. if (this.hasFilters) {
  34590. state.filters = this.filters;
  34591. }
  34592. if (this.resizableColumns) {
  34593. this.saveColumnWidths(state);
  34594. }
  34595. if (this.reorderableColumns) {
  34596. state.columnOrder = this.d_columnOrder;
  34597. }
  34598. if (this.expandedRows) {
  34599. state.expandedRows = this.expandedRows;
  34600. state.expandedRowKeys = this.d_expandedRowKeys;
  34601. }
  34602. if (this.expandedRowGroups) {
  34603. state.expandedRowGroups = this.expandedRowGroups;
  34604. }
  34605. if (this.selection) {
  34606. state.selection = this.selection;
  34607. state.selectionKeys = this.d_selectionKeys;
  34608. }
  34609. if (Object.keys(state).length) {
  34610. storage.setItem(this.stateKey, JSON.stringify(state));
  34611. }
  34612. this.$emit('state-save', state);
  34613. },
  34614. restoreState() {
  34615. const storage = this.getStorage();
  34616. const stateString = storage.getItem(this.stateKey);
  34617. const dateFormat = /\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/;
  34618. const reviver = function(key, value) {
  34619. if (typeof value === "string" && dateFormat.test(value)) {
  34620. return new Date(value);
  34621. }
  34622. return value;
  34623. };
  34624. if (stateString) {
  34625. let restoredState = JSON.parse(stateString, reviver);
  34626. if (this.paginator) {
  34627. this.d_first = restoredState.first;
  34628. this.d_rows = restoredState.rows;
  34629. }
  34630. if (restoredState.sortField) {
  34631. this.d_sortField = restoredState.sortField;
  34632. this.d_sortOrder = restoredState.sortOrder;
  34633. }
  34634. if (restoredState.multiSortMeta) {
  34635. this.d_multiSortMeta = restoredState.multiSortMeta;
  34636. }
  34637. if (restoredState.filters) {
  34638. this.$emit('update:filters', restoredState.filters);
  34639. }
  34640. if (this.resizableColumns) {
  34641. this.columnWidthsState = restoredState.columnWidths;
  34642. this.tableWidthState = restoredState.tableWidth;
  34643. }
  34644. if (this.reorderableColumns) {
  34645. this.d_columnOrder = restoredState.columnOrder;
  34646. }
  34647. if (restoredState.expandedRows) {
  34648. this.d_expandedRowKeys = restoredState.expandedRowKeys;
  34649. this.$emit('update:expandedRows', restoredState.expandedRows);
  34650. }
  34651. if (restoredState.expandedRowGroups) {
  34652. this.$emit('update:expandedRowGroups', restoredState.expandedRowGroups);
  34653. }
  34654. if (restoredState.selection) {
  34655. this.d_selectionKeys = restoredState.d_selectionKeys;
  34656. this.$emit('update:selection', restoredState.selection);
  34657. }
  34658. this.$emit('state-restore', restoredState);
  34659. }
  34660. },
  34661. saveColumnWidths(state) {
  34662. let widths = [];
  34663. let headers = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.find(this.$el, '.p-datatable-thead > tr > th');
  34664. headers.forEach(header => widths.push(primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(header)));
  34665. state.columnWidths = widths.join(',');
  34666. if (this.columnResizeMode === 'expand') {
  34667. state.tableWidth = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(this.$refs.table) + 'px';
  34668. }
  34669. },
  34670. restoreColumnWidths() {
  34671. if (this.columnWidthsState) {
  34672. let widths = this.columnWidthsState.split(',');
  34673. if (this.columnResizeMode === 'expand' && this.tableWidthState) {
  34674. this.$refs.table.style.width = this.tableWidthState;
  34675. this.$refs.table.style.minWidth = this.tableWidthState;
  34676. this.$el.style.width = this.tableWidthState;
  34677. }
  34678. if (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.isNotEmpty(widths)) {
  34679. this.createStyleElement();
  34680. let innerHTML = '';
  34681. widths.forEach((width, index) => {
  34682. let style = this.scrollable ? `flex: 1 1 ${width}px !important` : `width: ${width}px !important`;
  34683. innerHTML += `
  34684. .p-datatable[${this.attributeSelector}] .p-datatable-thead > tr > th:nth-child(${index + 1}),
  34685. .p-datatable[${this.attributeSelector}] .p-datatable-tbody > tr > td:nth-child(${index + 1}),
  34686. .p-datatable[${this.attributeSelector}] .p-datatable-tfoot > tr > td:nth-child(${index + 1}) {
  34687. ${style}
  34688. }
  34689. `;
  34690. });
  34691. this.styleElement.innerHTML = innerHTML;
  34692. }
  34693. }
  34694. },
  34695. onCellEditInit(event) {
  34696. this.$emit('cell-edit-init', event);
  34697. },
  34698. onCellEditComplete(event) {
  34699. this.$emit('cell-edit-complete', event);
  34700. },
  34701. onCellEditCancel(event) {
  34702. this.$emit('cell-edit-cancel', event);
  34703. },
  34704. onRowEditInit(event) {
  34705. let _editingRows = this.editingRows ? [...this.editingRows] : [];
  34706. _editingRows.push(event.data);
  34707. this.$emit('update:editingRows', _editingRows);
  34708. this.$emit('row-edit-init', event);
  34709. },
  34710. onRowEditSave(event) {
  34711. let _editingRows = [...this.editingRows];
  34712. _editingRows.splice(this.findIndex(event.data, _editingRows), 1);
  34713. this.$emit('update:editingRows', _editingRows);
  34714. this.$emit('row-edit-save', event);
  34715. },
  34716. onRowEditCancel(event) {
  34717. let _editingRows = [...this.editingRows];
  34718. _editingRows.splice(this.findIndex(event.data, _editingRows), 1);
  34719. this.$emit('update:editingRows', _editingRows);
  34720. this.$emit('row-edit-cancel', event);
  34721. },
  34722. onEditingMetaChange(event) {
  34723. let { data, field, index, editing } = event;
  34724. let editingMeta = { ...this.d_editingMeta };
  34725. let meta = editingMeta[index];
  34726. if (editing) {
  34727. !meta && (meta = editingMeta[index] = { data: { ...data }, fields: [] });
  34728. meta['fields'].push(field);
  34729. }
  34730. else if (meta) {
  34731. const fields = meta['fields'].filter(f => f !== field);
  34732. !fields.length ? (delete editingMeta[index]) : (meta['fields'] = fields);
  34733. }
  34734. this.d_editingMeta = editingMeta;
  34735. },
  34736. clearEditingMetaData() {
  34737. if (this.editMode) {
  34738. this.d_editingMeta = {};
  34739. }
  34740. },
  34741. createLazyLoadEvent(event) {
  34742. return {
  34743. originalEvent: event,
  34744. first: this.d_first,
  34745. rows: this.d_rows,
  34746. sortField: this.d_sortField,
  34747. sortOrder: this.d_sortOrder,
  34748. multiSortMeta: this.d_multiSortMeta,
  34749. filters: this.d_filters
  34750. };
  34751. },
  34752. hasGlobalFilter() {
  34753. return this.filters && Object.prototype.hasOwnProperty.call(this.filters, 'global');
  34754. },
  34755. getChildren() {
  34756. return this.$slots.default ? this.$slots.default() : null;
  34757. },
  34758. onFilterChange(filters) {
  34759. this.d_filters = filters;
  34760. },
  34761. onFilterApply() {
  34762. this.d_first = 0;
  34763. this.$emit('update:first', this.d_first);
  34764. this.$emit('update:filters', this.d_filters);
  34765. if (this.lazy) {
  34766. this.$emit('filter', this.createLazyLoadEvent());
  34767. }
  34768. },
  34769. cloneFilters() {
  34770. let cloned = {};
  34771. if (this.filters) {
  34772. Object.entries(this.filters).forEach(([prop,value]) => {
  34773. cloned[prop] = value.operator ? {operator: value.operator, constraints: value.constraints.map(constraint => {return {...constraint}})} : {...value};
  34774. });
  34775. }
  34776. return cloned;
  34777. },
  34778. updateReorderableColumns() {
  34779. let columnOrder = [];
  34780. this.columns.forEach(col => columnOrder.push(this.columnProp(col, 'columnKey')||this.columnProp(col, 'field')));
  34781. this.d_columnOrder = columnOrder;
  34782. },
  34783. createStyleElement() {
  34784. this.styleElement = document.createElement('style');
  34785. this.styleElement.type = 'text/css';
  34786. document.head.appendChild(this.styleElement);
  34787. },
  34788. createResponsiveStyle() {
  34789. if (!this.responsiveStyleElement) {
  34790. this.responsiveStyleElement = document.createElement('style');
  34791. this.responsiveStyleElement.type = 'text/css';
  34792. document.head.appendChild(this.responsiveStyleElement);
  34793. let innerHTML = `
  34794. @media screen and (max-width: ${this.breakpoint}) {
  34795. .p-datatable[${this.attributeSelector}] .p-datatable-thead > tr > th,
  34796. .p-datatable[${this.attributeSelector}] .p-datatable-tfoot > tr > td {
  34797. display: none !important;
  34798. }
  34799. .p-datatable[${this.attributeSelector}] .p-datatable-tbody > tr > td {
  34800. display: flex;
  34801. width: 100% !important;
  34802. align-items: center;
  34803. justify-content: space-between;
  34804. }
  34805. .p-datatable[${this.attributeSelector}] .p-datatable-tbody > tr > td:not(:last-child) {
  34806. border: 0 none;
  34807. }
  34808. .p-datatable[${this.attributeSelector}].p-datatable-gridlines .p-datatable-tbody > tr > td:last-child {
  34809. border-top: 0;
  34810. border-right: 0;
  34811. border-left: 0;
  34812. }
  34813. .p-datatable[${this.attributeSelector}] .p-datatable-tbody > tr > td > .p-column-title {
  34814. display: block;
  34815. }
  34816. }
  34817. `;
  34818. this.responsiveStyleElement.innerHTML = innerHTML;
  34819. }
  34820. },
  34821. destroyResponsiveStyle() {
  34822. if (this.responsiveStyleElement) {
  34823. document.head.removeChild(this.responsiveStyleElement);
  34824. this.responsiveStyleElement = null;
  34825. }
  34826. },
  34827. destroyStyleElement() {
  34828. if (this.styleElement) {
  34829. document.head.removeChild(this.styleElement);
  34830. this.styleElement = null;
  34831. }
  34832. },
  34833. recursiveGetChildren(children, results) {
  34834. if (!results) {
  34835. results = [];
  34836. }
  34837. if (children && children.length) {
  34838. children.forEach((child) => {
  34839. if (child.children instanceof Array) {
  34840. results.concat(this.recursiveGetChildren(child.children, results));
  34841. } else if (child.type.name == 'Column') {
  34842. results.push(child);
  34843. }
  34844. });
  34845. }
  34846. return results;
  34847. },
  34848. dataToRender(data) {
  34849. const _data = data || this.processedData;
  34850. if (_data && this.paginator) {
  34851. const first = this.lazy ? 0 : this.d_first;
  34852. return _data.slice(first, first + this.d_rows);
  34853. }
  34854. return _data;
  34855. }
  34856. },
  34857. computed: {
  34858. containerClass() {
  34859. return [
  34860. 'p-datatable p-component', {
  34861. 'p-datatable-hoverable-rows': (this.rowHover || this.selectionMode),
  34862. 'p-datatable-auto-layout': this.autoLayout,
  34863. 'p-datatable-resizable': this.resizableColumns,
  34864. 'p-datatable-resizable-fit': this.resizableColumns && this.columnResizeMode === 'fit',
  34865. 'p-datatable-scrollable': this.scrollable,
  34866. 'p-datatable-scrollable-vertical': this.scrollable && this.scrollDirection === 'vertical',
  34867. 'p-datatable-scrollable-horizontal': this.scrollable && this.scrollDirection === 'horizontal',
  34868. 'p-datatable-scrollable-both': this.scrollable && this.scrollDirection === 'both',
  34869. 'p-datatable-flex-scrollable': (this.scrollable && this.scrollHeight === 'flex'),
  34870. 'p-datatable-responsive-stack': this.responsiveLayout === 'stack',
  34871. 'p-datatable-responsive-scroll': this.responsiveLayout === 'scroll',
  34872. 'p-datatable-striped': this.stripedRows,
  34873. 'p-datatable-gridlines': this.showGridlines,
  34874. 'p-datatable-grouped-header': this.headerColumnGroup != null,
  34875. 'p-datatable-grouped-footer': this.footerColumnGroup != null
  34876. }
  34877. ];
  34878. },
  34879. columns() {
  34880. let children = this.getChildren();
  34881. if (!children) {
  34882. return;
  34883. }
  34884. const cols = this.recursiveGetChildren(children, []);
  34885. if (this.reorderableColumns && this.d_columnOrder) {
  34886. let orderedColumns = [];
  34887. for (let columnKey of this.d_columnOrder) {
  34888. let column = this.findColumnByKey(cols, columnKey);
  34889. if (column) {
  34890. orderedColumns.push(column);
  34891. }
  34892. }
  34893. return [...orderedColumns, ...cols.filter((item) => orderedColumns.indexOf(item) < 0)];
  34894. }
  34895. return cols;
  34896. },
  34897. headerColumnGroup() {
  34898. const children = this.getChildren();
  34899. if (children) {
  34900. for (let child of children) {
  34901. if (child.type.name === 'ColumnGroup' && this.columnProp(child, 'type') === 'header') {
  34902. return child;
  34903. }
  34904. }
  34905. }
  34906. return null;
  34907. },
  34908. footerColumnGroup() {
  34909. const children = this.getChildren();
  34910. if (children) {
  34911. for (let child of children) {
  34912. if (child.type.name === 'ColumnGroup' && this.columnProp(child, 'type') === 'footer') {
  34913. return child;
  34914. }
  34915. }
  34916. }
  34917. return null;
  34918. },
  34919. hasFilters() {
  34920. return this.filters && Object.keys(this.filters).length > 0 && this.filters.constructor === Object;
  34921. },
  34922. processedData() {
  34923. let data = this.value || [];
  34924. if (!this.lazy) {
  34925. if (data && data.length) {
  34926. if (this.hasFilters) {
  34927. data = this.filter(data);
  34928. }
  34929. if (this.sorted) {
  34930. if(this.sortMode === 'single')
  34931. data = this.sortSingle(data);
  34932. else if(this.sortMode === 'multiple')
  34933. data = this.sortMultiple(data);
  34934. }
  34935. }
  34936. }
  34937. return data;
  34938. },
  34939. totalRecordsLength() {
  34940. if (this.lazy) {
  34941. return this.totalRecords;
  34942. }
  34943. else {
  34944. const data = this.processedData;
  34945. return data ? data.length : 0;
  34946. }
  34947. },
  34948. empty() {
  34949. const data = this.processedData;
  34950. return (!data || data.length === 0);
  34951. },
  34952. paginatorTop() {
  34953. return this.paginator && (this.paginatorPosition !== 'bottom' || this.paginatorPosition === 'both');
  34954. },
  34955. paginatorBottom() {
  34956. return this.paginator && (this.paginatorPosition !== 'top' || this.paginatorPosition === 'both');
  34957. },
  34958. sorted() {
  34959. return this.d_sortField || (this.d_multiSortMeta && this.d_multiSortMeta.length > 0);
  34960. },
  34961. loadingIconClass() {
  34962. return ['p-datatable-loading-icon pi-spin', this.loadingIcon];
  34963. },
  34964. allRowsSelected() {
  34965. if (this.selectAll !== null) {
  34966. return this.selectAll;
  34967. }
  34968. else {
  34969. const val = this.frozenValue ? [...this.frozenValue, ...this.processedData] : this.processedData;
  34970. return val && this.selection && Array.isArray(this.selection) && val.every(v => this.selection.some(s => this.equals(s, v)));
  34971. }
  34972. },
  34973. attributeSelector() {
  34974. return (0,primevue_utils__WEBPACK_IMPORTED_MODULE_0__.UniqueComponentId)();
  34975. },
  34976. groupRowSortField() {
  34977. return this.sortMode === 'single' ? this.sortField : (this.d_groupRowsSortMeta ? this.d_groupRowsSortMeta.field : null);
  34978. },
  34979. virtualScrollerDisabled() {
  34980. return primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.isEmpty(this.virtualScrollerOptions) || !this.scrollable;
  34981. }
  34982. },
  34983. components: {
  34984. 'DTPaginator': primevue_paginator__WEBPACK_IMPORTED_MODULE_2__["default"],
  34985. 'DTTableHeader': script$7,
  34986. 'DTTableBody': script$3,
  34987. 'DTTableFooter': script$1,
  34988. 'DTVirtualScroller': primevue_virtualscroller__WEBPACK_IMPORTED_MODULE_3__["default"]
  34989. }
  34990. };
  34991. const _hoisted_1 = {
  34992. key: 0,
  34993. class: "p-datatable-loading-overlay p-component-overlay"
  34994. };
  34995. const _hoisted_2 = {
  34996. key: 1,
  34997. class: "p-datatable-header"
  34998. };
  34999. const _hoisted_3 = {
  35000. key: 4,
  35001. class: "p-datatable-footer"
  35002. };
  35003. const _hoisted_4 = {
  35004. ref: "resizeHelper",
  35005. class: "p-column-resizer-helper",
  35006. style: {"display":"none"}
  35007. };
  35008. const _hoisted_5 = {
  35009. key: 5,
  35010. ref: "reorderIndicatorUp",
  35011. class: "pi pi-arrow-down p-datatable-reorder-indicator-up",
  35012. style: {"position":"absolute","display":"none"}
  35013. };
  35014. const _hoisted_6 = {
  35015. key: 6,
  35016. ref: "reorderIndicatorDown",
  35017. class: "pi pi-arrow-up p-datatable-reorder-indicator-down",
  35018. style: {"position":"absolute","display":"none"}
  35019. };
  35020. function render(_ctx, _cache, $props, $setup, $data, $options) {
  35021. const _component_DTPaginator = (0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveComponent)("DTPaginator");
  35022. const _component_DTTableHeader = (0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveComponent)("DTTableHeader");
  35023. const _component_DTTableBody = (0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveComponent)("DTTableBody");
  35024. const _component_DTTableFooter = (0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveComponent)("DTTableFooter");
  35025. const _component_DTVirtualScroller = (0,vue__WEBPACK_IMPORTED_MODULE_4__.resolveComponent)("DTVirtualScroller");
  35026. return ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("div", {
  35027. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)($options.containerClass),
  35028. "data-scrollselectors": ".p-datatable-wrapper"
  35029. }, [
  35030. (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderSlot)(_ctx.$slots, "default"),
  35031. ($props.loading)
  35032. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("div", _hoisted_1, [
  35033. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("i", {
  35034. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)($options.loadingIconClass)
  35035. }, null, 2)
  35036. ]))
  35037. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  35038. (_ctx.$slots.header)
  35039. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("div", _hoisted_2, [
  35040. (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderSlot)(_ctx.$slots, "header")
  35041. ]))
  35042. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  35043. ($options.paginatorTop)
  35044. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)(_component_DTPaginator, {
  35045. key: 2,
  35046. rows: $data.d_rows,
  35047. first: $data.d_first,
  35048. totalRecords: $options.totalRecordsLength,
  35049. pageLinkSize: $props.pageLinkSize,
  35050. template: $props.paginatorTemplate,
  35051. rowsPerPageOptions: $props.rowsPerPageOptions,
  35052. currentPageReportTemplate: $props.currentPageReportTemplate,
  35053. class: "p-paginator-top",
  35054. onPage: _cache[0] || (_cache[0] = $event => ($options.onPage($event))),
  35055. alwaysShow: $props.alwaysShowPaginator
  35056. }, (0,vue__WEBPACK_IMPORTED_MODULE_4__.createSlots)({ _: 2 }, [
  35057. (_ctx.$slots.paginatorstart)
  35058. ? {
  35059. name: "start",
  35060. fn: (0,vue__WEBPACK_IMPORTED_MODULE_4__.withCtx)(() => [
  35061. (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderSlot)(_ctx.$slots, "paginatorstart")
  35062. ])
  35063. }
  35064. : undefined,
  35065. (_ctx.$slots.paginatorend)
  35066. ? {
  35067. name: "end",
  35068. fn: (0,vue__WEBPACK_IMPORTED_MODULE_4__.withCtx)(() => [
  35069. (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderSlot)(_ctx.$slots, "paginatorend")
  35070. ])
  35071. }
  35072. : undefined
  35073. ]), 1032, ["rows", "first", "totalRecords", "pageLinkSize", "template", "rowsPerPageOptions", "currentPageReportTemplate", "alwaysShow"]))
  35074. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  35075. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("div", {
  35076. class: "p-datatable-wrapper",
  35077. style: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeStyle)({ maxHeight: $options.virtualScrollerDisabled ? $props.scrollHeight : '' })
  35078. }, [
  35079. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createVNode)(_component_DTVirtualScroller, (0,vue__WEBPACK_IMPORTED_MODULE_4__.mergeProps)($props.virtualScrollerOptions, {
  35080. items: $options.processedData,
  35081. columns: $options.columns,
  35082. style: { height: $props.scrollHeight },
  35083. disabled: $options.virtualScrollerDisabled,
  35084. loaderDisabled: "",
  35085. showSpacer: false
  35086. }), {
  35087. content: (0,vue__WEBPACK_IMPORTED_MODULE_4__.withCtx)((slotProps) => [
  35088. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("table", {
  35089. ref: "table",
  35090. role: "table",
  35091. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)([$props.tableClass, 'p-datatable-table']),
  35092. style: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeStyle)([$props.tableStyle, slotProps.spacerStyle])
  35093. }, [
  35094. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createVNode)(_component_DTTableHeader, {
  35095. columnGroup: $options.headerColumnGroup,
  35096. columns: slotProps.columns,
  35097. rowGroupMode: $props.rowGroupMode,
  35098. groupRowsBy: $props.groupRowsBy,
  35099. groupRowSortField: $options.groupRowSortField,
  35100. resizableColumns: $props.resizableColumns,
  35101. allRowsSelected: $options.allRowsSelected,
  35102. empty: $options.empty,
  35103. sortMode: $props.sortMode,
  35104. sortField: $data.d_sortField,
  35105. sortOrder: $data.d_sortOrder,
  35106. multiSortMeta: $data.d_multiSortMeta,
  35107. filters: $data.d_filters,
  35108. filtersStore: $props.filters,
  35109. filterDisplay: $props.filterDisplay,
  35110. onColumnClick: _cache[1] || (_cache[1] = $event => ($options.onColumnHeaderClick($event))),
  35111. onColumnMousedown: _cache[2] || (_cache[2] = $event => ($options.onColumnHeaderMouseDown($event))),
  35112. onFilterChange: $options.onFilterChange,
  35113. onFilterApply: $options.onFilterApply,
  35114. onColumnDragstart: _cache[3] || (_cache[3] = $event => ($options.onColumnHeaderDragStart($event))),
  35115. onColumnDragover: _cache[4] || (_cache[4] = $event => ($options.onColumnHeaderDragOver($event))),
  35116. onColumnDragleave: _cache[5] || (_cache[5] = $event => ($options.onColumnHeaderDragLeave($event))),
  35117. onColumnDrop: _cache[6] || (_cache[6] = $event => ($options.onColumnHeaderDrop($event))),
  35118. onColumnResizestart: _cache[7] || (_cache[7] = $event => ($options.onColumnResizeStart($event))),
  35119. onCheckboxChange: _cache[8] || (_cache[8] = $event => ($options.toggleRowsWithCheckbox($event)))
  35120. }, null, 8, ["columnGroup", "columns", "rowGroupMode", "groupRowsBy", "groupRowSortField", "resizableColumns", "allRowsSelected", "empty", "sortMode", "sortField", "sortOrder", "multiSortMeta", "filters", "filtersStore", "filterDisplay", "onFilterChange", "onFilterApply"]),
  35121. ($props.frozenValue)
  35122. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)(_component_DTTableBody, {
  35123. key: 0,
  35124. value: $props.frozenValue,
  35125. frozenRow: true,
  35126. class: "p-datatable-frozen-tbody",
  35127. columns: slotProps.columns,
  35128. dataKey: $props.dataKey,
  35129. selection: $props.selection,
  35130. selectionKeys: $data.d_selectionKeys,
  35131. selectionMode: $props.selectionMode,
  35132. contextMenu: $props.contextMenu,
  35133. contextMenuSelection: $props.contextMenuSelection,
  35134. rowGroupMode: $props.rowGroupMode,
  35135. groupRowsBy: $props.groupRowsBy,
  35136. expandableRowGroups: $props.expandableRowGroups,
  35137. rowClass: $props.rowClass,
  35138. rowStyle: $props.rowStyle,
  35139. editMode: $props.editMode,
  35140. compareSelectionBy: $props.compareSelectionBy,
  35141. scrollable: $props.scrollable,
  35142. expandedRowIcon: $props.expandedRowIcon,
  35143. collapsedRowIcon: $props.collapsedRowIcon,
  35144. expandedRows: $props.expandedRows,
  35145. expandedRowKeys: $data.d_expandedRowKeys,
  35146. expandedRowGroups: $props.expandedRowGroups,
  35147. editingRows: $props.editingRows,
  35148. editingRowKeys: $data.d_editingRowKeys,
  35149. templates: _ctx.$slots,
  35150. loading: $props.loading,
  35151. responsiveLayout: $props.responsiveLayout,
  35152. onRowgroupToggle: $options.toggleRowGroup,
  35153. onRowClick: _cache[9] || (_cache[9] = $event => ($options.onRowClick($event))),
  35154. onRowDblclick: _cache[10] || (_cache[10] = $event => ($options.onRowDblClick($event))),
  35155. onRowRightclick: _cache[11] || (_cache[11] = $event => ($options.onRowRightClick($event))),
  35156. onRowTouchend: $options.onRowTouchEnd,
  35157. onRowKeydown: $options.onRowKeyDown,
  35158. onRowMousedown: $options.onRowMouseDown,
  35159. onRowDragstart: _cache[12] || (_cache[12] = $event => ($options.onRowDragStart($event))),
  35160. onRowDragover: _cache[13] || (_cache[13] = $event => ($options.onRowDragOver($event))),
  35161. onRowDragleave: _cache[14] || (_cache[14] = $event => ($options.onRowDragLeave($event))),
  35162. onRowDragend: _cache[15] || (_cache[15] = $event => ($options.onRowDragEnd($event))),
  35163. onRowDrop: _cache[16] || (_cache[16] = $event => ($options.onRowDrop($event))),
  35164. onRowToggle: _cache[17] || (_cache[17] = $event => ($options.toggleRow($event))),
  35165. onRadioChange: _cache[18] || (_cache[18] = $event => ($options.toggleRowWithRadio($event))),
  35166. onCheckboxChange: _cache[19] || (_cache[19] = $event => ($options.toggleRowWithCheckbox($event))),
  35167. onCellEditInit: _cache[20] || (_cache[20] = $event => ($options.onCellEditInit($event))),
  35168. onCellEditComplete: _cache[21] || (_cache[21] = $event => ($options.onCellEditComplete($event))),
  35169. onCellEditCancel: _cache[22] || (_cache[22] = $event => ($options.onCellEditCancel($event))),
  35170. onRowEditInit: _cache[23] || (_cache[23] = $event => ($options.onRowEditInit($event))),
  35171. onRowEditSave: _cache[24] || (_cache[24] = $event => ($options.onRowEditSave($event))),
  35172. onRowEditCancel: _cache[25] || (_cache[25] = $event => ($options.onRowEditCancel($event))),
  35173. editingMeta: $data.d_editingMeta,
  35174. onEditingMetaChange: $options.onEditingMetaChange,
  35175. isVirtualScrollerDisabled: true
  35176. }, null, 8, ["value", "columns", "dataKey", "selection", "selectionKeys", "selectionMode", "contextMenu", "contextMenuSelection", "rowGroupMode", "groupRowsBy", "expandableRowGroups", "rowClass", "rowStyle", "editMode", "compareSelectionBy", "scrollable", "expandedRowIcon", "collapsedRowIcon", "expandedRows", "expandedRowKeys", "expandedRowGroups", "editingRows", "editingRowKeys", "templates", "loading", "responsiveLayout", "onRowgroupToggle", "onRowTouchend", "onRowKeydown", "onRowMousedown", "editingMeta", "onEditingMetaChange"]))
  35177. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  35178. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createVNode)(_component_DTTableBody, {
  35179. value: $options.dataToRender(slotProps.rows),
  35180. class: (0,vue__WEBPACK_IMPORTED_MODULE_4__.normalizeClass)(slotProps.styleClass),
  35181. columns: slotProps.columns,
  35182. empty: $options.empty,
  35183. dataKey: $props.dataKey,
  35184. selection: $props.selection,
  35185. selectionKeys: $data.d_selectionKeys,
  35186. selectionMode: $props.selectionMode,
  35187. contextMenu: $props.contextMenu,
  35188. contextMenuSelection: $props.contextMenuSelection,
  35189. rowGroupMode: $props.rowGroupMode,
  35190. groupRowsBy: $props.groupRowsBy,
  35191. expandableRowGroups: $props.expandableRowGroups,
  35192. rowClass: $props.rowClass,
  35193. rowStyle: $props.rowStyle,
  35194. editMode: $props.editMode,
  35195. compareSelectionBy: $props.compareSelectionBy,
  35196. scrollable: $props.scrollable,
  35197. expandedRowIcon: $props.expandedRowIcon,
  35198. collapsedRowIcon: $props.collapsedRowIcon,
  35199. expandedRows: $props.expandedRows,
  35200. expandedRowKeys: $data.d_expandedRowKeys,
  35201. expandedRowGroups: $props.expandedRowGroups,
  35202. editingRows: $props.editingRows,
  35203. editingRowKeys: $data.d_editingRowKeys,
  35204. templates: _ctx.$slots,
  35205. loading: $props.loading,
  35206. responsiveLayout: $props.responsiveLayout,
  35207. onRowgroupToggle: $options.toggleRowGroup,
  35208. onRowClick: _cache[26] || (_cache[26] = $event => ($options.onRowClick($event))),
  35209. onRowDblclick: _cache[27] || (_cache[27] = $event => ($options.onRowDblClick($event))),
  35210. onRowRightclick: _cache[28] || (_cache[28] = $event => ($options.onRowRightClick($event))),
  35211. onRowTouchend: $options.onRowTouchEnd,
  35212. onRowKeydown: $options.onRowKeyDown,
  35213. onRowMousedown: $options.onRowMouseDown,
  35214. onRowDragstart: _cache[29] || (_cache[29] = $event => ($options.onRowDragStart($event))),
  35215. onRowDragover: _cache[30] || (_cache[30] = $event => ($options.onRowDragOver($event))),
  35216. onRowDragleave: _cache[31] || (_cache[31] = $event => ($options.onRowDragLeave($event))),
  35217. onRowDragend: _cache[32] || (_cache[32] = $event => ($options.onRowDragEnd($event))),
  35218. onRowDrop: _cache[33] || (_cache[33] = $event => ($options.onRowDrop($event))),
  35219. onRowToggle: _cache[34] || (_cache[34] = $event => ($options.toggleRow($event))),
  35220. onRadioChange: _cache[35] || (_cache[35] = $event => ($options.toggleRowWithRadio($event))),
  35221. onCheckboxChange: _cache[36] || (_cache[36] = $event => ($options.toggleRowWithCheckbox($event))),
  35222. onCellEditInit: _cache[37] || (_cache[37] = $event => ($options.onCellEditInit($event))),
  35223. onCellEditComplete: _cache[38] || (_cache[38] = $event => ($options.onCellEditComplete($event))),
  35224. onCellEditCancel: _cache[39] || (_cache[39] = $event => ($options.onCellEditCancel($event))),
  35225. onRowEditInit: _cache[40] || (_cache[40] = $event => ($options.onRowEditInit($event))),
  35226. onRowEditSave: _cache[41] || (_cache[41] = $event => ($options.onRowEditSave($event))),
  35227. onRowEditCancel: _cache[42] || (_cache[42] = $event => ($options.onRowEditCancel($event))),
  35228. editingMeta: $data.d_editingMeta,
  35229. onEditingMetaChange: $options.onEditingMetaChange,
  35230. virtualScrollerContentProps: slotProps,
  35231. isVirtualScrollerDisabled: $options.virtualScrollerDisabled
  35232. }, null, 8, ["value", "class", "columns", "empty", "dataKey", "selection", "selectionKeys", "selectionMode", "contextMenu", "contextMenuSelection", "rowGroupMode", "groupRowsBy", "expandableRowGroups", "rowClass", "rowStyle", "editMode", "compareSelectionBy", "scrollable", "expandedRowIcon", "collapsedRowIcon", "expandedRows", "expandedRowKeys", "expandedRowGroups", "editingRows", "editingRowKeys", "templates", "loading", "responsiveLayout", "onRowgroupToggle", "onRowTouchend", "onRowKeydown", "onRowMousedown", "editingMeta", "onEditingMetaChange", "virtualScrollerContentProps", "isVirtualScrollerDisabled"]),
  35233. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createVNode)(_component_DTTableFooter, {
  35234. columnGroup: $options.footerColumnGroup,
  35235. columns: slotProps.columns
  35236. }, null, 8, ["columnGroup", "columns"])
  35237. ], 6)
  35238. ]),
  35239. _: 1
  35240. }, 16, ["items", "columns", "style", "disabled"])
  35241. ], 4),
  35242. ($options.paginatorBottom)
  35243. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createBlock)(_component_DTPaginator, {
  35244. key: 3,
  35245. rows: $data.d_rows,
  35246. first: $data.d_first,
  35247. totalRecords: $options.totalRecordsLength,
  35248. pageLinkSize: $props.pageLinkSize,
  35249. template: $props.paginatorTemplate,
  35250. rowsPerPageOptions: $props.rowsPerPageOptions,
  35251. currentPageReportTemplate: $props.currentPageReportTemplate,
  35252. class: "p-paginator-bottom",
  35253. onPage: _cache[43] || (_cache[43] = $event => ($options.onPage($event))),
  35254. alwaysShow: $props.alwaysShowPaginator
  35255. }, (0,vue__WEBPACK_IMPORTED_MODULE_4__.createSlots)({ _: 2 }, [
  35256. (_ctx.$slots.paginatorstart)
  35257. ? {
  35258. name: "start",
  35259. fn: (0,vue__WEBPACK_IMPORTED_MODULE_4__.withCtx)(() => [
  35260. (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderSlot)(_ctx.$slots, "paginatorstart")
  35261. ])
  35262. }
  35263. : undefined,
  35264. (_ctx.$slots.paginatorend)
  35265. ? {
  35266. name: "end",
  35267. fn: (0,vue__WEBPACK_IMPORTED_MODULE_4__.withCtx)(() => [
  35268. (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderSlot)(_ctx.$slots, "paginatorend")
  35269. ])
  35270. }
  35271. : undefined
  35272. ]), 1032, ["rows", "first", "totalRecords", "pageLinkSize", "template", "rowsPerPageOptions", "currentPageReportTemplate", "alwaysShow"]))
  35273. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  35274. (_ctx.$slots.footer)
  35275. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("div", _hoisted_3, [
  35276. (0,vue__WEBPACK_IMPORTED_MODULE_4__.renderSlot)(_ctx.$slots, "footer")
  35277. ]))
  35278. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  35279. (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementVNode)("div", _hoisted_4, null, 512),
  35280. ($props.reorderableColumns)
  35281. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("span", _hoisted_5, null, 512))
  35282. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true),
  35283. ($props.reorderableColumns)
  35284. ? ((0,vue__WEBPACK_IMPORTED_MODULE_4__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_4__.createElementBlock)("span", _hoisted_6, null, 512))
  35285. : (0,vue__WEBPACK_IMPORTED_MODULE_4__.createCommentVNode)("", true)
  35286. ], 2))
  35287. }
  35288. function styleInject(css, ref) {
  35289. if ( ref === void 0 ) ref = {};
  35290. var insertAt = ref.insertAt;
  35291. if (!css || typeof document === 'undefined') { return; }
  35292. var head = document.head || document.getElementsByTagName('head')[0];
  35293. var style = document.createElement('style');
  35294. style.type = 'text/css';
  35295. if (insertAt === 'top') {
  35296. if (head.firstChild) {
  35297. head.insertBefore(style, head.firstChild);
  35298. } else {
  35299. head.appendChild(style);
  35300. }
  35301. } else {
  35302. head.appendChild(style);
  35303. }
  35304. if (style.styleSheet) {
  35305. style.styleSheet.cssText = css;
  35306. } else {
  35307. style.appendChild(document.createTextNode(css));
  35308. }
  35309. }
  35310. var css_248z = "\n.p-datatable {\n position: relative;\n}\n.p-datatable table {\n border-collapse: collapse;\n min-width: 100%;\n table-layout: fixed;\n}\n.p-datatable .p-sortable-column {\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-datatable .p-sortable-column .p-column-title,\n.p-datatable .p-sortable-column .p-sortable-column-icon,\n.p-datatable .p-sortable-column .p-sortable-column-badge {\n vertical-align: middle;\n}\n.p-datatable .p-sortable-column .p-sortable-column-badge {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.p-datatable-responsive-scroll > .p-datatable-wrapper {\n overflow-x: auto;\n}\n.p-datatable-responsive-scroll > .p-datatable-wrapper > table,\n.p-datatable-auto-layout > .p-datatable-wrapper > table {\n table-layout: auto;\n}\n.p-datatable-hoverable-rows .p-selectable-row {\n cursor: pointer;\n}\n\n/* Scrollable */\n.p-datatable-scrollable .p-datatable-wrapper {\n position: relative;\n overflow: auto;\n}\n.p-datatable-scrollable .p-datatable-thead,\n.p-datatable-scrollable .p-datatable-tbody,\n.p-datatable-scrollable .p-datatable-tfoot {\n display: block;\n}\n.p-datatable-scrollable .p-datatable-thead > tr,\n.p-datatable-scrollable .p-datatable-tbody > tr,\n.p-datatable-scrollable .p-datatable-tfoot > tr {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n width: 100%;\n}\n.p-datatable-scrollable .p-datatable-thead > tr > th,\n.p-datatable-scrollable .p-datatable-tbody > tr > td,\n.p-datatable-scrollable .p-datatable-tfoot > tr > td {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-flex: 1;\n -ms-flex: 1 1 0px;\n flex: 1 1 0;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.p-datatable-scrollable .p-datatable-thead {\n position: sticky;\n top: 0;\n z-index: 1;\n}\n.p-datatable-scrollable .p-datatable-frozen-tbody {\n position: sticky;\n z-index: 1;\n}\n.p-datatable-scrollable .p-datatable-tfoot {\n position: sticky;\n bottom: 0;\n z-index: 1;\n}\n.p-datatable-scrollable .p-frozen-column {\n position: sticky;\n background: inherit;\n}\n.p-datatable-scrollable th.p-frozen-column {\n z-index: 1;\n}\n.p-datatable-scrollable-both .p-datatable-thead > tr > th,\n.p-datatable-scrollable-both .p-datatable-tbody > tr > td,\n.p-datatable-scrollable-both .p-datatable-tfoot > tr > td,\n.p-datatable-scrollable-horizontal .p-datatable-thead > tr > th\n.p-datatable-scrollable-horizontal .p-datatable-tbody > tr > td,\n.p-datatable-scrollable-horizontal .p-datatable-tfoot > tr > td {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n}\n.p-datatable-flex-scrollable {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n height: 100%;\n}\n.p-datatable-flex-scrollable .p-datatable-wrapper {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n height: 100%;\n}\n.p-datatable-scrollable .p-rowgroup-header {\n position: sticky;\n z-index: 1;\n}\n.p-datatable-scrollable.p-datatable-grouped-header .p-datatable-thead,\n.p-datatable-scrollable.p-datatable-grouped-footer .p-datatable-tfoot {\n display: table;\n border-collapse: collapse;\n width: 100%;\n table-layout: fixed;\n}\n.p-datatable-scrollable.p-datatable-grouped-header .p-datatable-thead > tr,\n.p-datatable-scrollable.p-datatable-grouped-footer .p-datatable-tfoot > tr {\n display: table-row;\n}\n.p-datatable-scrollable.p-datatable-grouped-header .p-datatable-thead > tr > th,\n.p-datatable-scrollable.p-datatable-grouped-footer .p-datatable-tfoot > tr > td {\n display: table-cell;\n}\n\n/* Resizable */\n.p-datatable-resizable > .p-datatable-wrapper {\n overflow-x: auto;\n}\n.p-datatable-resizable .p-datatable-thead > tr > th,\n.p-datatable-resizable .p-datatable-tfoot > tr > td,\n.p-datatable-resizable .p-datatable-tbody > tr > td {\n overflow: hidden;\n white-space: nowrap;\n}\n.p-datatable-resizable .p-resizable-column:not(.p-frozen-column) {\n background-clip: padding-box;\n position: relative;\n}\n.p-datatable-resizable-fit .p-resizable-column:last-child .p-column-resizer {\n display: none;\n}\n.p-datatable .p-column-resizer {\n display: block;\n position: absolute !important;\n top: 0;\n right: 0;\n margin: 0;\n width: .5rem;\n height: 100%;\n padding: 0px;\n cursor:col-resize;\n border: 1px solid transparent;\n}\n.p-datatable .p-column-header-content {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.p-datatable .p-column-resizer-helper {\n width: 1px;\n position: absolute;\n z-index: 10;\n display: none;\n}\n.p-datatable .p-row-editor-init,\n.p-datatable .p-row-editor-save,\n.p-datatable .p-row-editor-cancel {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n}\n\n/* Expand */\n.p-datatable .p-row-toggler {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n}\n\n/* Reorder */\n.p-datatable-reorder-indicator-up,\n.p-datatable-reorder-indicator-down {\n position: absolute;\n display: none;\n}\n\n/* Loader */\n.p-datatable .p-datatable-loading-overlay {\n position: absolute;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n z-index: 2;\n}\n\n/* Filter */\n.p-column-filter-row {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n width: 100%;\n}\n.p-column-filter-menu {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n margin-left: auto;\n}\n.p-column-filter-row .p-column-filter-element {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n width: 1%;\n}\n.p-column-filter-menu-button,\n.p-column-filter-clear-button {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n cursor: pointer;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n}\n.p-column-filter-overlay {\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-column-filter-row-items {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.p-column-filter-row-item {\n cursor: pointer;\n}\n.p-column-filter-add-button,\n.p-column-filter-remove-button {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.p-column-filter-add-button .p-button-label,\n.p-column-filter-remove-button .p-button-label {\n -webkit-box-flex: 0;\n -ms-flex-positive: 0;\n flex-grow: 0;\n}\n.p-column-filter-buttonbar {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n.p-column-filter-buttonbar .p-button:not(.p-button-icon-only) {\n width: auto;\n}\n\n/* Responsive */\n.p-datatable .p-datatable-tbody > tr > td > .p-column-title {\n display: none;\n}\n\n/* VirtualScroller */\n.p-datatable .p-virtualscroller-loading {\n -webkit-transform: none !important;\n transform: none !important;\n min-height: 0;\n position: sticky;\n top: 0;\n left: 0;\n}\n";
  35311. styleInject(css_248z);
  35312. script.render = render;
  35313. /***/ }),
  35314. /***/ "./node_modules/primevue/dialog/dialog.esm.js":
  35315. /*!****************************************************!*\
  35316. !*** ./node_modules/primevue/dialog/dialog.esm.js ***!
  35317. \****************************************************/
  35318. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  35319. "use strict";
  35320. __webpack_require__.r(__webpack_exports__);
  35321. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  35322. /* harmony export */ "default": () => (/* binding */ script)
  35323. /* harmony export */ });
  35324. /* harmony import */ var primevue_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! primevue/utils */ "./node_modules/primevue/utils/utils.esm.js");
  35325. /* harmony import */ var primevue_ripple__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! primevue/ripple */ "./node_modules/primevue/ripple/ripple.esm.js");
  35326. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
  35327. var script = {
  35328. name: 'Dialog',
  35329. inheritAttrs: false,
  35330. emits: ['update:visible','show','hide','maximize','unmaximize','dragend'],
  35331. props: {
  35332. header: null,
  35333. footer: null,
  35334. visible: Boolean,
  35335. modal: Boolean,
  35336. contentStyle: null,
  35337. contentClass: String,
  35338. rtl: Boolean,
  35339. maximizable: Boolean,
  35340. dismissableMask: Boolean,
  35341. closable: {
  35342. type: Boolean,
  35343. default: true
  35344. },
  35345. closeOnEscape: {
  35346. type: Boolean,
  35347. default: true
  35348. },
  35349. showHeader: {
  35350. type: Boolean,
  35351. default: true
  35352. },
  35353. baseZIndex: {
  35354. type: Number,
  35355. default: 0
  35356. },
  35357. autoZIndex: {
  35358. type: Boolean,
  35359. default: true
  35360. },
  35361. ariaCloseLabel: {
  35362. type: String,
  35363. default: 'close'
  35364. },
  35365. position: {
  35366. type: String,
  35367. default: 'center'
  35368. },
  35369. breakpoints: {
  35370. type: Object,
  35371. default: null
  35372. },
  35373. draggable: {
  35374. type: Boolean,
  35375. default: true
  35376. },
  35377. keepInViewport: {
  35378. type: Boolean,
  35379. default: true
  35380. },
  35381. minX: {
  35382. type: Number,
  35383. default: 0
  35384. },
  35385. minY: {
  35386. type: Number,
  35387. default: 0
  35388. },
  35389. appendTo: {
  35390. type: String,
  35391. default: 'body'
  35392. }
  35393. },
  35394. data() {
  35395. return {
  35396. containerVisible: this.visible,
  35397. maximized: false
  35398. }
  35399. },
  35400. documentKeydownListener: null,
  35401. container: null,
  35402. mask: null,
  35403. styleElement: null,
  35404. dragging: null,
  35405. documentDragListener: null,
  35406. documentDragEndListener: null,
  35407. lastPageX: null,
  35408. lastPageY: null,
  35409. updated() {
  35410. if (this.visible) {
  35411. this.containerVisible = this.visible;
  35412. }
  35413. },
  35414. beforeUnmount() {
  35415. this.unbindDocumentState();
  35416. this.unbindGlobalListeners();
  35417. this.destroyStyle();
  35418. this.mask = null;
  35419. if (this.container && this.autoZIndex) {
  35420. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ZIndexUtils.clear(this.container);
  35421. }
  35422. this.container = null;
  35423. },
  35424. mounted() {
  35425. if (this.breakpoints) {
  35426. this.createStyle();
  35427. }
  35428. },
  35429. methods: {
  35430. close() {
  35431. this.$emit('update:visible', false);
  35432. },
  35433. onBeforeEnter(el) {
  35434. if (this.autoZIndex) {
  35435. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ZIndexUtils.set('modal', el, this.baseZIndex + this.$primevue.config.zIndex.modal);
  35436. }
  35437. el.setAttribute(this.attributeSelector, '');
  35438. },
  35439. onEnter() {
  35440. this.mask.style.zIndex = String(parseInt(this.container.style.zIndex, 10) - 1);
  35441. this.$emit('show');
  35442. this.focus();
  35443. this.enableDocumentSettings();
  35444. this.bindGlobalListeners();
  35445. },
  35446. onBeforeLeave() {
  35447. if (this.modal) {
  35448. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addClass(this.mask, 'p-component-overlay-leave');
  35449. }
  35450. },
  35451. onLeave() {
  35452. this.$emit('hide');
  35453. },
  35454. onAfterLeave(el) {
  35455. if (this.autoZIndex) {
  35456. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ZIndexUtils.clear(el);
  35457. }
  35458. this.containerVisible = false;
  35459. this.unbindDocumentState();
  35460. this.unbindGlobalListeners();
  35461. },
  35462. onMaskClick(event) {
  35463. if (this.dismissableMask && this.closable && this.modal && this.mask === event.target) {
  35464. this.close();
  35465. }
  35466. },
  35467. focus() {
  35468. let focusTarget = this.container.querySelector('[autofocus]');
  35469. if (focusTarget) {
  35470. focusTarget.focus();
  35471. }
  35472. },
  35473. maximize(event) {
  35474. if (this.maximized) {
  35475. this.maximized = false;
  35476. this.$emit('unmaximize', event);
  35477. }
  35478. else {
  35479. this.maximized = true;
  35480. this.$emit('maximize', event);
  35481. }
  35482. if (!this.modal) {
  35483. if (this.maximized)
  35484. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addClass(document.body, 'p-overflow-hidden');
  35485. else
  35486. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.removeClass(document.body, 'p-overflow-hidden');
  35487. }
  35488. },
  35489. enableDocumentSettings() {
  35490. if (this.modal || (this.maximizable && this.maximized)) {
  35491. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addClass(document.body, 'p-overflow-hidden');
  35492. }
  35493. },
  35494. unbindDocumentState() {
  35495. if (this.modal || (this.maximizable && this.maximized)) {
  35496. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.removeClass(document.body, 'p-overflow-hidden');
  35497. }
  35498. },
  35499. onKeyDown(event) {
  35500. if (event.which === 9) {
  35501. event.preventDefault();
  35502. let focusableElements = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getFocusableElements(this.container);
  35503. if (focusableElements && focusableElements.length > 0) {
  35504. if (!document.activeElement) {
  35505. focusableElements[0].focus();
  35506. }
  35507. else {
  35508. let focusedIndex = focusableElements.indexOf(document.activeElement);
  35509. if (event.shiftKey) {
  35510. if (focusedIndex == -1 || focusedIndex === 0)
  35511. focusableElements[focusableElements.length - 1].focus();
  35512. else
  35513. focusableElements[focusedIndex - 1].focus();
  35514. }
  35515. else {
  35516. if (focusedIndex == -1 || focusedIndex === (focusableElements.length - 1))
  35517. focusableElements[0].focus();
  35518. else
  35519. focusableElements[focusedIndex + 1].focus();
  35520. }
  35521. }
  35522. }
  35523. } else if (event.which === 27 && this.closeOnEscape) {
  35524. this.close();
  35525. }
  35526. },
  35527. bindDocumentKeyDownListener() {
  35528. if (!this.documentKeydownListener) {
  35529. this.documentKeydownListener = this.onKeyDown.bind(this);
  35530. window.document.addEventListener('keydown', this.documentKeydownListener);
  35531. }
  35532. },
  35533. unbindDocumentKeyDownListener() {
  35534. if (this.documentKeydownListener) {
  35535. window.document.removeEventListener('keydown', this.documentKeydownListener);
  35536. this.documentKeydownListener = null;
  35537. }
  35538. },
  35539. getPositionClass() {
  35540. const positions = ['left', 'right', 'top', 'topleft', 'topright', 'bottom', 'bottomleft', 'bottomright'];
  35541. const pos = positions.find(item => item === this.position);
  35542. return pos ? `p-dialog-${pos}` : '';
  35543. },
  35544. containerRef(el) {
  35545. this.container = el;
  35546. },
  35547. maskRef(el) {
  35548. this.mask = el;
  35549. },
  35550. createStyle() {
  35551. if (!this.styleElement) {
  35552. this.styleElement = document.createElement('style');
  35553. this.styleElement.type = 'text/css';
  35554. document.head.appendChild(this.styleElement);
  35555. let innerHTML = '';
  35556. for (let breakpoint in this.breakpoints) {
  35557. innerHTML += `
  35558. @media screen and (max-width: ${breakpoint}) {
  35559. .p-dialog[${this.attributeSelector}] {
  35560. width: ${this.breakpoints[breakpoint]} !important;
  35561. }
  35562. }
  35563. `;
  35564. }
  35565. this.styleElement.innerHTML = innerHTML;
  35566. }
  35567. },
  35568. destroyStyle() {
  35569. if (this.styleElement) {
  35570. document.head.removeChild(this.styleElement);
  35571. this.styleElement = null;
  35572. }
  35573. },
  35574. initDrag(event) {
  35575. if (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(event.target, 'p-dialog-header-icon') || primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(event.target.parentElement, 'p-dialog-header-icon')) {
  35576. return;
  35577. }
  35578. if (this.draggable) {
  35579. this.dragging = true;
  35580. this.lastPageX = event.pageX;
  35581. this.lastPageY = event.pageY;
  35582. this.container.style.margin = '0';
  35583. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addClass(document.body, 'p-unselectable-text');
  35584. }
  35585. },
  35586. bindGlobalListeners() {
  35587. if (this.draggable) {
  35588. this.bindDocumentDragListener();
  35589. this.bindDocumentDragEndListener();
  35590. }
  35591. if (this.closeOnEscape && this.closable) {
  35592. this.bindDocumentKeyDownListener();
  35593. }
  35594. },
  35595. unbindGlobalListeners() {
  35596. this.unbindDocumentDragListener();
  35597. this.unbindDocumentDragEndListener();
  35598. this.unbindDocumentKeyDownListener();
  35599. },
  35600. bindDocumentDragListener() {
  35601. this.documentDragListener = (event) => {
  35602. if (this.dragging) {
  35603. let width = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(this.container);
  35604. let height = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterHeight(this.container);
  35605. let deltaX = event.pageX - this.lastPageX;
  35606. let deltaY = event.pageY - this.lastPageY;
  35607. let offset = this.container.getBoundingClientRect();
  35608. let leftPos = offset.left + deltaX;
  35609. let topPos = offset.top + deltaY;
  35610. let viewport = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getViewport();
  35611. this.container.style.position = 'fixed';
  35612. if (this.keepInViewport) {
  35613. if (leftPos >= this.minX && (leftPos + width) < viewport.width) {
  35614. this.lastPageX = event.pageX;
  35615. this.container.style.left = leftPos + 'px';
  35616. }
  35617. if (topPos >= this.minY && (topPos + height) < viewport.height) {
  35618. this.lastPageY = event.pageY;
  35619. this.container.style.top = topPos + 'px';
  35620. }
  35621. }
  35622. else {
  35623. this.lastPageX = event.pageX;
  35624. this.container.style.left = leftPos + 'px';
  35625. this.lastPageY = event.pageY;
  35626. this.container.style.top = topPos + 'px';
  35627. }
  35628. }
  35629. };
  35630. window.document.addEventListener('mousemove', this.documentDragListener);
  35631. },
  35632. unbindDocumentDragListener() {
  35633. if (this.documentDragListener) {
  35634. window.document.removeEventListener('mousemove', this.documentDragListener);
  35635. this.documentDragListener = null;
  35636. }
  35637. },
  35638. bindDocumentDragEndListener() {
  35639. this.documentDragEndListener = (event) => {
  35640. if (this.dragging) {
  35641. this.dragging = false;
  35642. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.removeClass(document.body, 'p-unselectable-text');
  35643. this.$emit('dragend', event);
  35644. }
  35645. };
  35646. window.document.addEventListener('mouseup', this.documentDragEndListener);
  35647. },
  35648. unbindDocumentDragEndListener() {
  35649. if (this.documentDragEndListener) {
  35650. window.document.removeEventListener('mouseup', this.documentDragEndListener);
  35651. this.documentDragEndListener = null;
  35652. }
  35653. }
  35654. },
  35655. computed: {
  35656. maskClass() {
  35657. return ['p-dialog-mask', {'p-component-overlay p-component-overlay-enter': this.modal}, this.getPositionClass()];
  35658. },
  35659. dialogClass() {
  35660. return ['p-dialog p-component', {
  35661. 'p-dialog-rtl': this.rtl,
  35662. 'p-dialog-maximized': this.maximizable && this.maximized,
  35663. 'p-input-filled': this.$primevue.config.inputStyle === 'filled',
  35664. 'p-ripple-disabled': this.$primevue.config.ripple === false
  35665. }];
  35666. },
  35667. maximizeIconClass() {
  35668. return ['p-dialog-header-maximize-icon pi', {
  35669. 'pi-window-maximize': !this.maximized,
  35670. 'pi-window-minimize': this.maximized
  35671. }];
  35672. },
  35673. ariaId() {
  35674. return (0,primevue_utils__WEBPACK_IMPORTED_MODULE_0__.UniqueComponentId)();
  35675. },
  35676. ariaLabelledById() {
  35677. return this.header != null ? this.ariaId + '_header' : null;
  35678. },
  35679. attributeSelector() {
  35680. return (0,primevue_utils__WEBPACK_IMPORTED_MODULE_0__.UniqueComponentId)();
  35681. },
  35682. contentStyleClass() {
  35683. return ['p-dialog-content', this.contentClass];
  35684. },
  35685. appendDisabled() {
  35686. return this.appendTo === 'self';
  35687. },
  35688. appendTarget() {
  35689. return this.appendDisabled ? null : this.appendTo;
  35690. }
  35691. },
  35692. directives: {
  35693. 'ripple': primevue_ripple__WEBPACK_IMPORTED_MODULE_1__["default"]
  35694. }
  35695. };
  35696. const _hoisted_1 = ["aria-labelledby", "aria-modal"];
  35697. const _hoisted_2 = ["id"];
  35698. const _hoisted_3 = { class: "p-dialog-header-icons" };
  35699. const _hoisted_4 = ["aria-label"];
  35700. const _hoisted_5 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)("span", { class: "p-dialog-header-close-icon pi pi-times" }, null, -1);
  35701. const _hoisted_6 = [
  35702. _hoisted_5
  35703. ];
  35704. const _hoisted_7 = {
  35705. key: 1,
  35706. class: "p-dialog-footer"
  35707. };
  35708. function render(_ctx, _cache, $props, $setup, $data, $options) {
  35709. const _directive_ripple = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveDirective)("ripple");
  35710. return ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Teleport, {
  35711. to: $options.appendTarget,
  35712. disabled: $options.appendDisabled
  35713. }, [
  35714. ($data.containerVisible)
  35715. ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)("div", {
  35716. key: 0,
  35717. ref: $options.maskRef,
  35718. class: (0,vue__WEBPACK_IMPORTED_MODULE_2__.normalizeClass)($options.maskClass),
  35719. onClick: _cache[3] || (_cache[3] = (...args) => ($options.onMaskClick && $options.onMaskClick(...args)))
  35720. }, [
  35721. (0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(vue__WEBPACK_IMPORTED_MODULE_2__.Transition, {
  35722. name: "p-dialog",
  35723. onBeforeEnter: $options.onBeforeEnter,
  35724. onEnter: $options.onEnter,
  35725. onBeforeLeave: $options.onBeforeLeave,
  35726. onLeave: $options.onLeave,
  35727. onAfterLeave: $options.onAfterLeave,
  35728. appear: ""
  35729. }, {
  35730. default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => [
  35731. ($props.visible)
  35732. ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)("div", (0,vue__WEBPACK_IMPORTED_MODULE_2__.mergeProps)({
  35733. key: 0,
  35734. ref: $options.containerRef,
  35735. class: $options.dialogClass
  35736. }, _ctx.$attrs, {
  35737. role: "dialog",
  35738. "aria-labelledby": $options.ariaLabelledById,
  35739. "aria-modal": $props.modal
  35740. }), [
  35741. ($props.showHeader)
  35742. ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)("div", {
  35743. key: 0,
  35744. class: "p-dialog-header",
  35745. onMousedown: _cache[2] || (_cache[2] = (...args) => ($options.initDrag && $options.initDrag(...args)))
  35746. }, [
  35747. (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, "header", {}, () => [
  35748. ($props.header)
  35749. ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)("span", {
  35750. key: 0,
  35751. id: $options.ariaLabelledById,
  35752. class: "p-dialog-title"
  35753. }, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)($props.header), 9, _hoisted_2))
  35754. : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)("", true)
  35755. ]),
  35756. (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)("div", _hoisted_3, [
  35757. ($props.maximizable)
  35758. ? (0,vue__WEBPACK_IMPORTED_MODULE_2__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)("button", {
  35759. key: 0,
  35760. class: "p-dialog-header-icon p-dialog-header-maximize p-link",
  35761. onClick: _cache[0] || (_cache[0] = (...args) => ($options.maximize && $options.maximize(...args))),
  35762. type: "button",
  35763. tabindex: "-1"
  35764. }, [
  35765. (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)("span", {
  35766. class: (0,vue__WEBPACK_IMPORTED_MODULE_2__.normalizeClass)($options.maximizeIconClass)
  35767. }, null, 2)
  35768. ])), [
  35769. [_directive_ripple]
  35770. ])
  35771. : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)("", true),
  35772. ($props.closable)
  35773. ? (0,vue__WEBPACK_IMPORTED_MODULE_2__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)("button", {
  35774. key: 1,
  35775. class: "p-dialog-header-icon p-dialog-header-close p-link",
  35776. onClick: _cache[1] || (_cache[1] = (...args) => ($options.close && $options.close(...args))),
  35777. "aria-label": $props.ariaCloseLabel,
  35778. type: "button"
  35779. }, _hoisted_6, 8, _hoisted_4)), [
  35780. [_directive_ripple]
  35781. ])
  35782. : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)("", true)
  35783. ])
  35784. ], 32))
  35785. : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)("", true),
  35786. (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)("div", {
  35787. class: (0,vue__WEBPACK_IMPORTED_MODULE_2__.normalizeClass)($options.contentStyleClass),
  35788. style: (0,vue__WEBPACK_IMPORTED_MODULE_2__.normalizeStyle)($props.contentStyle)
  35789. }, [
  35790. (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, "default")
  35791. ], 6),
  35792. ($props.footer || _ctx.$slots.footer)
  35793. ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)("div", _hoisted_7, [
  35794. (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, "footer", {}, () => [
  35795. (0,vue__WEBPACK_IMPORTED_MODULE_2__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)($props.footer), 1)
  35796. ])
  35797. ]))
  35798. : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)("", true)
  35799. ], 16, _hoisted_1))
  35800. : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)("", true)
  35801. ]),
  35802. _: 3
  35803. }, 8, ["onBeforeEnter", "onEnter", "onBeforeLeave", "onLeave", "onAfterLeave"])
  35804. ], 2))
  35805. : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)("", true)
  35806. ], 8, ["to", "disabled"]))
  35807. }
  35808. function styleInject(css, ref) {
  35809. if ( ref === void 0 ) ref = {};
  35810. var insertAt = ref.insertAt;
  35811. if (!css || typeof document === 'undefined') { return; }
  35812. var head = document.head || document.getElementsByTagName('head')[0];
  35813. var style = document.createElement('style');
  35814. style.type = 'text/css';
  35815. if (insertAt === 'top') {
  35816. if (head.firstChild) {
  35817. head.insertBefore(style, head.firstChild);
  35818. } else {
  35819. head.appendChild(style);
  35820. }
  35821. } else {
  35822. head.appendChild(style);
  35823. }
  35824. if (style.styleSheet) {
  35825. style.styleSheet.cssText = css;
  35826. } else {
  35827. style.appendChild(document.createTextNode(css));
  35828. }
  35829. }
  35830. var css_248z = "\n.p-dialog-mask {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n pointer-events: none;\n}\n.p-dialog-mask.p-component-overlay {\n pointer-events: auto;\n}\n.p-dialog {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n pointer-events: auto;\n max-height: 90%;\n -webkit-transform: scale(1);\n transform: scale(1);\n}\n.p-dialog-content {\n overflow-y: auto;\n}\n.p-dialog-header {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n}\n.p-dialog-footer {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n}\n.p-dialog .p-dialog-header-icons {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.p-dialog .p-dialog-header-icon {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n}\n\n/* Fluid */\n.p-fluid .p-dialog-footer .p-button {\n width: auto;\n}\n\n/* Animation */\n/* Center */\n.p-dialog-enter-active {\n -webkit-transition: all 150ms cubic-bezier(0, 0, 0.2, 1);\n transition: all 150ms cubic-bezier(0, 0, 0.2, 1);\n}\n.p-dialog-leave-active {\n -webkit-transition: all 150ms cubic-bezier(0.4, 0.0, 0.2, 1);\n transition: all 150ms cubic-bezier(0.4, 0.0, 0.2, 1);\n}\n.p-dialog-enter-from,\n.p-dialog-leave-to {\n opacity: 0;\n -webkit-transform: scale(0.7);\n transform: scale(0.7);\n}\n\n/* Top, Bottom, Left, Right, Top* and Bottom* */\n.p-dialog-top .p-dialog,\n.p-dialog-bottom .p-dialog,\n.p-dialog-left .p-dialog,\n.p-dialog-right .p-dialog,\n.p-dialog-topleft .p-dialog,\n.p-dialog-topright .p-dialog,\n.p-dialog-bottomleft .p-dialog,\n.p-dialog-bottomright .p-dialog {\n margin: .75rem;\n -webkit-transform: translate3d(0px, 0px, 0px);\n transform: translate3d(0px, 0px, 0px);\n}\n.p-dialog-top .p-dialog-enter-active,\n.p-dialog-top .p-dialog-leave-active,\n.p-dialog-bottom .p-dialog-enter-active,\n.p-dialog-bottom .p-dialog-leave-active,\n.p-dialog-left .p-dialog-enter-active,\n.p-dialog-left .p-dialog-leave-active,\n.p-dialog-right .p-dialog-enter-active,\n.p-dialog-right .p-dialog-leave-active,\n.p-dialog-topleft .p-dialog-enter-active,\n.p-dialog-topleft .p-dialog-leave-active,\n.p-dialog-topright .p-dialog-enter-active,\n.p-dialog-topright .p-dialog-leave-active,\n.p-dialog-bottomleft .p-dialog-enter-active,\n.p-dialog-bottomleft .p-dialog-leave-active,\n.p-dialog-bottomright .p-dialog-enter-active,\n.p-dialog-bottomright .p-dialog-leave-active {\n -webkit-transition: all .3s ease-out;\n transition: all .3s ease-out;\n}\n.p-dialog-top .p-dialog-enter-from,\n.p-dialog-top .p-dialog-leave-to {\n -webkit-transform: translate3d(0px, -100%, 0px);\n transform: translate3d(0px, -100%, 0px);\n}\n.p-dialog-bottom .p-dialog-enter-from,\n.p-dialog-bottom .p-dialog-leave-to {\n -webkit-transform: translate3d(0px, 100%, 0px);\n transform: translate3d(0px, 100%, 0px);\n}\n.p-dialog-left .p-dialog-enter-from,\n.p-dialog-left .p-dialog-leave-to,\n.p-dialog-topleft .p-dialog-enter-from,\n.p-dialog-topleft .p-dialog-leave-to,\n.p-dialog-bottomleft .p-dialog-enter-from,\n.p-dialog-bottomleft .p-dialog-leave-to {\n -webkit-transform: translate3d(-100%, 0px, 0px);\n transform: translate3d(-100%, 0px, 0px);\n}\n.p-dialog-right .p-dialog-enter-from,\n.p-dialog-right .p-dialog-leave-to,\n.p-dialog-topright .p-dialog-enter-from,\n.p-dialog-topright .p-dialog-leave-to,\n.p-dialog-bottomright .p-dialog-enter-from,\n.p-dialog-bottomright .p-dialog-leave-to {\n -webkit-transform: translate3d(100%, 0px, 0px);\n transform: translate3d(100%, 0px, 0px);\n}\n\n/* Maximize */\n.p-dialog-maximized {\n -webkit-transition: none;\n transition: none;\n -webkit-transform: none;\n transform: none;\n width: 100vw !important;\n height: 100vh !important;\n top: 0px !important;\n left: 0px !important;\n max-height: 100%;\n height: 100%;\n}\n.p-dialog-maximized .p-dialog-content {\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n}\n\n/* Position */\n.p-dialog-left {\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n}\n.p-dialog-right {\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end;\n}\n.p-dialog-top {\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n.p-dialog-topleft {\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n.p-dialog-topright {\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end;\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n.p-dialog-bottom {\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: flex-end;\n}\n.p-dialog-bottomleft {\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: flex-end;\n}\n.p-dialog-bottomright {\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end;\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: flex-end;\n}\n.p-confirm-dialog .p-dialog-content {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n";
  35831. styleInject(css_248z);
  35832. script.render = render;
  35833. /***/ }),
  35834. /***/ "./node_modules/primevue/divider/divider.esm.js":
  35835. /*!******************************************************!*\
  35836. !*** ./node_modules/primevue/divider/divider.esm.js ***!
  35837. \******************************************************/
  35838. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  35839. "use strict";
  35840. __webpack_require__.r(__webpack_exports__);
  35841. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  35842. /* harmony export */ "default": () => (/* binding */ script)
  35843. /* harmony export */ });
  35844. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
  35845. var script = {
  35846. name: 'Divider',
  35847. props: {
  35848. align: {
  35849. type: String,
  35850. default: null
  35851. },
  35852. layout: {
  35853. type: String,
  35854. default: 'horizontal'
  35855. },
  35856. type: {
  35857. type: String,
  35858. default: 'solid'
  35859. }
  35860. },
  35861. computed: {
  35862. containerClass() {
  35863. return ['p-divider p-component', 'p-divider-' + this.layout, 'p-divider-' + this.type,
  35864. {'p-divider-left': this.layout === 'horizontal' && (!this.align || this.align === 'left')},
  35865. {'p-divider-center': this.layout === 'horizontal' && this.align === 'center'},
  35866. {'p-divider-right': this.layout === 'horizontal' && this.align === 'right'},
  35867. {'p-divider-top': this.layout === 'vertical' && (this.align === 'top')},
  35868. {'p-divider-center': this.layout === 'vertical' && (!this.align || this.align === 'center')},
  35869. {'p-divider-bottom': this.layout === 'vertical' && this.align === 'bottom'}
  35870. ];
  35871. }
  35872. }
  35873. };
  35874. const _hoisted_1 = {
  35875. key: 0,
  35876. class: "p-divider-content"
  35877. };
  35878. function render(_ctx, _cache, $props, $setup, $data, $options) {
  35879. return ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", {
  35880. class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($options.containerClass),
  35881. role: "separator"
  35882. }, [
  35883. (_ctx.$slots.default)
  35884. ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_1, [
  35885. (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, "default")
  35886. ]))
  35887. : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("", true)
  35888. ], 2))
  35889. }
  35890. function styleInject(css, ref) {
  35891. if ( ref === void 0 ) ref = {};
  35892. var insertAt = ref.insertAt;
  35893. if (!css || typeof document === 'undefined') { return; }
  35894. var head = document.head || document.getElementsByTagName('head')[0];
  35895. var style = document.createElement('style');
  35896. style.type = 'text/css';
  35897. if (insertAt === 'top') {
  35898. if (head.firstChild) {
  35899. head.insertBefore(style, head.firstChild);
  35900. } else {
  35901. head.appendChild(style);
  35902. }
  35903. } else {
  35904. head.appendChild(style);
  35905. }
  35906. if (style.styleSheet) {
  35907. style.styleSheet.cssText = css;
  35908. } else {
  35909. style.appendChild(document.createTextNode(css));
  35910. }
  35911. }
  35912. var css_248z = "\n.p-divider-horizontal {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n width: 100%;\n position: relative;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.p-divider-horizontal:before {\n position: absolute;\n display: block;\n top: 50%;\n left: 0;\n width: 100%;\n content: \"\";\n}\n.p-divider-horizontal.p-divider-left {\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n}\n.p-divider-horizontal.p-divider-right {\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end;\n}\n.p-divider-horizontal.p-divider-center {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.p-divider-content {\n z-index: 1;\n}\n.p-divider-vertical {\n min-height: 100%;\n margin: 0 1rem;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n position: relative;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.p-divider-vertical:before {\n position: absolute;\n display: block;\n top: 0;\n left: 50%;\n height: 100%;\n content: \"\";\n}\n.p-divider-vertical.p-divider-top {\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n.p-divider-vertical.p-divider-center {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.p-divider-vertical.p-divider-bottom {\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: flex-end;\n}\n.p-divider-solid.p-divider-horizontal:before {\n border-top-style: solid;\n}\n.p-divider-solid.p-divider-vertical:before {\n border-left-style: solid;\n}\n.p-divider-dashed.p-divider-horizontal:before {\n border-top-style: dashed;\n}\n.p-divider-dashed.p-divider-vertical:before {\n border-left-style: dashed;\n}\n.p-divider-dotted.p-divider-horizontal:before {\n border-top-style: dotted;\n}\n.p-divider-dotted.p-divider-horizontal:before {\n border-left-style: dotted;\n}\n";
  35913. styleInject(css_248z);
  35914. script.render = render;
  35915. /***/ }),
  35916. /***/ "./node_modules/primevue/dropdown/dropdown.esm.js":
  35917. /*!********************************************************!*\
  35918. !*** ./node_modules/primevue/dropdown/dropdown.esm.js ***!
  35919. \********************************************************/
  35920. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  35921. "use strict";
  35922. __webpack_require__.r(__webpack_exports__);
  35923. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  35924. /* harmony export */ "default": () => (/* binding */ script)
  35925. /* harmony export */ });
  35926. /* harmony import */ var primevue_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! primevue/utils */ "./node_modules/primevue/utils/utils.esm.js");
  35927. /* harmony import */ var primevue_overlayeventbus__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! primevue/overlayeventbus */ "./node_modules/primevue/overlayeventbus/overlayeventbus.esm.js");
  35928. /* harmony import */ var primevue_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! primevue/api */ "./node_modules/primevue/api/api.esm.js");
  35929. /* harmony import */ var primevue_ripple__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! primevue/ripple */ "./node_modules/primevue/ripple/ripple.esm.js");
  35930. /* harmony import */ var primevue_virtualscroller__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! primevue/virtualscroller */ "./node_modules/primevue/virtualscroller/virtualscroller.esm.js");
  35931. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
  35932. var script = {
  35933. name: 'Dropdown',
  35934. emits: ['update:modelValue', 'before-show', 'before-hide', 'show', 'hide', 'change', 'filter', 'focus', 'blur'],
  35935. props: {
  35936. modelValue: null,
  35937. options: Array,
  35938. optionLabel: null,
  35939. optionValue: null,
  35940. optionDisabled: null,
  35941. optionGroupLabel: null,
  35942. optionGroupChildren: null,
  35943. scrollHeight: {
  35944. type: String,
  35945. default: '200px'
  35946. },
  35947. filter: Boolean,
  35948. filterPlaceholder: String,
  35949. filterLocale: String,
  35950. filterMatchMode: {
  35951. type: String,
  35952. default: 'contains'
  35953. },
  35954. filterFields: {
  35955. type: Array,
  35956. default: null
  35957. },
  35958. editable: Boolean,
  35959. placeholder: String,
  35960. disabled: Boolean,
  35961. dataKey: null,
  35962. showClear: Boolean,
  35963. inputId: String,
  35964. tabindex: String,
  35965. ariaLabelledBy: null,
  35966. appendTo: {
  35967. type: String,
  35968. default: 'body'
  35969. },
  35970. emptyFilterMessage: {
  35971. type: String,
  35972. default: null
  35973. },
  35974. emptyMessage: {
  35975. type: String,
  35976. default: null
  35977. },
  35978. panelClass: null,
  35979. loading: {
  35980. type: Boolean,
  35981. default: false
  35982. },
  35983. loadingIcon: {
  35984. type: String,
  35985. default: 'pi pi-spinner pi-spin'
  35986. },
  35987. virtualScrollerOptions: {
  35988. type: Object,
  35989. default: null
  35990. }
  35991. },
  35992. data() {
  35993. return {
  35994. focused: false,
  35995. filterValue: null,
  35996. overlayVisible: false
  35997. };
  35998. },
  35999. watch: {
  36000. modelValue() {
  36001. this.isModelValueChanged = true;
  36002. }
  36003. },
  36004. outsideClickListener: null,
  36005. scrollHandler: null,
  36006. resizeListener: null,
  36007. searchTimeout: null,
  36008. currentSearchChar: null,
  36009. previousSearchChar: null,
  36010. searchValue: null,
  36011. overlay: null,
  36012. itemsWrapper: null,
  36013. virtualScroller: null,
  36014. isModelValueChanged: false,
  36015. updated() {
  36016. if (this.overlayVisible && this.isModelValueChanged) {
  36017. this.scrollValueInView();
  36018. }
  36019. this.isModelValueChanged = false;
  36020. },
  36021. beforeUnmount() {
  36022. this.unbindOutsideClickListener();
  36023. this.unbindResizeListener();
  36024. if (this.scrollHandler) {
  36025. this.scrollHandler.destroy();
  36026. this.scrollHandler = null;
  36027. }
  36028. this.itemsWrapper = null;
  36029. if (this.overlay) {
  36030. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ZIndexUtils.clear(this.overlay);
  36031. this.overlay = null;
  36032. }
  36033. },
  36034. methods: {
  36035. getOptionIndex(index, fn) {
  36036. return this.virtualScrollerDisabled ? index : (fn && fn(index)['index']);
  36037. },
  36038. getOptionLabel(option) {
  36039. return this.optionLabel ? primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(option, this.optionLabel) : option;
  36040. },
  36041. getOptionValue(option) {
  36042. return this.optionValue ? primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(option, this.optionValue) : option;
  36043. },
  36044. getOptionRenderKey(option) {
  36045. return this.dataKey ? primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(option, this.dataKey) : this.getOptionLabel(option);
  36046. },
  36047. isOptionDisabled(option) {
  36048. return this.optionDisabled ? primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(option, this.optionDisabled) : false;
  36049. },
  36050. getOptionGroupRenderKey(optionGroup) {
  36051. return primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel);
  36052. },
  36053. getOptionGroupLabel(optionGroup) {
  36054. return primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel);
  36055. },
  36056. getOptionGroupChildren(optionGroup) {
  36057. return primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren);
  36058. },
  36059. getSelectedOption() {
  36060. let index = this.getSelectedOptionIndex();
  36061. return index !== -1 ? (this.optionGroupLabel ? this.getOptionGroupChildren(this.visibleOptions[index.group])[index.option]: this.visibleOptions[index]) : null;
  36062. },
  36063. getSelectedOptionIndex() {
  36064. if (this.modelValue != null && this.visibleOptions) {
  36065. if (this.optionGroupLabel) {
  36066. for (let i = 0; i < this.visibleOptions.length; i++) {
  36067. let selectedOptionIndex = this.findOptionIndexInList(this.modelValue, this.getOptionGroupChildren(this.visibleOptions[i]));
  36068. if (selectedOptionIndex !== -1) {
  36069. return {group: i, option: selectedOptionIndex};
  36070. }
  36071. }
  36072. }
  36073. else {
  36074. return this.findOptionIndexInList(this.modelValue, this.visibleOptions);
  36075. }
  36076. }
  36077. return -1;
  36078. },
  36079. findOptionIndexInList(value, list) {
  36080. for (let i = 0; i < list.length; i++) {
  36081. if ((primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.equals(value, this.getOptionValue(list[i]), this.equalityKey))) {
  36082. return i;
  36083. }
  36084. }
  36085. return -1;
  36086. },
  36087. isSelected(option) {
  36088. return primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ObjectUtils.equals(this.modelValue, this.getOptionValue(option), this.equalityKey);
  36089. },
  36090. show() {
  36091. this.$emit('before-show');
  36092. this.overlayVisible = true;
  36093. },
  36094. hide() {
  36095. this.$emit('before-hide');
  36096. this.overlayVisible = false;
  36097. },
  36098. onFocus(event) {
  36099. this.focused = true;
  36100. this.$emit('focus', event);
  36101. },
  36102. onBlur(event) {
  36103. this.focused = false;
  36104. this.$emit('blur', event);
  36105. },
  36106. onKeyDown(event) {
  36107. switch(event.which) {
  36108. //down
  36109. case 40:
  36110. this.onDownKey(event);
  36111. break;
  36112. //up
  36113. case 38:
  36114. this.onUpKey(event);
  36115. break;
  36116. //space
  36117. case 32:
  36118. if (!this.overlayVisible) {
  36119. this.show();
  36120. event.preventDefault();
  36121. }
  36122. break;
  36123. //enter and escape
  36124. case 13:
  36125. case 27:
  36126. if (this.overlayVisible) {
  36127. this.hide();
  36128. event.preventDefault();
  36129. }
  36130. break;
  36131. //tab
  36132. case 9:
  36133. this.hide();
  36134. break;
  36135. default:
  36136. this.search(event);
  36137. break;
  36138. }
  36139. },
  36140. onFilterKeyDown(event) {
  36141. switch (event.which) {
  36142. //down
  36143. case 40:
  36144. this.onDownKey(event);
  36145. break;
  36146. //up
  36147. case 38:
  36148. this.onUpKey(event);
  36149. break;
  36150. //enter and escape
  36151. case 13:
  36152. case 27:
  36153. this.overlayVisible = false;
  36154. event.preventDefault();
  36155. break;
  36156. }
  36157. },
  36158. onDownKey(event) {
  36159. if (this.visibleOptions) {
  36160. if (!this.overlayVisible && event.altKey) {
  36161. this.show();
  36162. }
  36163. else {
  36164. let nextOption = this.visibleOptions && this.visibleOptions.length > 0 ? this.findNextOption(this.getSelectedOptionIndex()) : null;
  36165. if (nextOption) {
  36166. this.updateModel(event, this.getOptionValue(nextOption));
  36167. }
  36168. }
  36169. }
  36170. event.preventDefault();
  36171. },
  36172. onUpKey(event) {
  36173. if (this.visibleOptions) {
  36174. let prevOption = this.findPrevOption(this.getSelectedOptionIndex());
  36175. if (prevOption) {
  36176. this.updateModel(event, this.getOptionValue(prevOption));
  36177. }
  36178. }
  36179. event.preventDefault();
  36180. },
  36181. findNextOption(index) {
  36182. if (this.optionGroupLabel) {
  36183. let groupIndex = index === -1 ? 0 : index.group;
  36184. let optionIndex = index === -1 ? -1 : index.option;
  36185. let option = this.findNextOptionInList(this.getOptionGroupChildren(this.visibleOptions[groupIndex]), optionIndex);
  36186. if (option)
  36187. return option;
  36188. else if ((groupIndex + 1) !== this.visibleOptions.length)
  36189. return this.findNextOption({group: (groupIndex + 1), option: -1});
  36190. else
  36191. return null;
  36192. }
  36193. else {
  36194. return this.findNextOptionInList(this.visibleOptions, index);
  36195. }
  36196. },
  36197. findNextOptionInList(list, index) {
  36198. let i = index + 1;
  36199. if (i === list.length) {
  36200. return null;
  36201. }
  36202. let option = list[i];
  36203. if (this.isOptionDisabled(option))
  36204. return this.findNextOptionInList(i);
  36205. else
  36206. return option;
  36207. },
  36208. findPrevOption(index) {
  36209. if (index === -1) {
  36210. return null;
  36211. }
  36212. if (this.optionGroupLabel) {
  36213. let groupIndex = index.group;
  36214. let optionIndex = index.option;
  36215. let option = this.findPrevOptionInList(this.getOptionGroupChildren(this.visibleOptions[groupIndex]), optionIndex);
  36216. if (option)
  36217. return option;
  36218. else if (groupIndex > 0)
  36219. return this.findPrevOption({group: (groupIndex - 1), option: this.getOptionGroupChildren(this.visibleOptions[groupIndex - 1]).length});
  36220. else
  36221. return null;
  36222. }
  36223. else {
  36224. return this.findPrevOptionInList(this.visibleOptions, index);
  36225. }
  36226. },
  36227. findPrevOptionInList(list, index) {
  36228. let i = index - 1;
  36229. if (i < 0) {
  36230. return null;
  36231. }
  36232. let option = list[i];
  36233. if (this.isOptionDisabled(option))
  36234. return this.findPrevOption(i);
  36235. else
  36236. return option;
  36237. },
  36238. onClearClick(event) {
  36239. this.updateModel(event, null);
  36240. },
  36241. onClick(event) {
  36242. if (this.disabled || this.loading) {
  36243. return;
  36244. }
  36245. if (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(event.target, 'p-dropdown-clear-icon') || event.target.tagName === 'INPUT') {
  36246. return;
  36247. }
  36248. else if (!this.overlay || !this.overlay.contains(event.target)) {
  36249. if (this.overlayVisible)
  36250. this.hide();
  36251. else
  36252. this.show();
  36253. this.$refs.focusInput.focus();
  36254. }
  36255. },
  36256. onOptionSelect(event, option) {
  36257. let value = this.getOptionValue(option);
  36258. this.updateModel(event, value);
  36259. this.$refs.focusInput.focus();
  36260. setTimeout(() => {
  36261. this.hide();
  36262. }, 200);
  36263. },
  36264. onEditableInput(event) {
  36265. this.$emit('update:modelValue', event.target.value);
  36266. },
  36267. onOverlayEnter(el) {
  36268. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ZIndexUtils.set('overlay', el, this.$primevue.config.zIndex.overlay);
  36269. this.alignOverlay();
  36270. this.scrollValueInView();
  36271. if (!this.virtualScrollerDisabled) {
  36272. const selectedIndex = this.getSelectedOptionIndex();
  36273. if (selectedIndex !== -1) {
  36274. setTimeout(() => {
  36275. this.virtualScroller && this.virtualScroller.scrollToIndex(selectedIndex);
  36276. }, 0);
  36277. }
  36278. }
  36279. },
  36280. onOverlayAfterEnter() {
  36281. if (this.filter) {
  36282. this.$refs.filterInput.focus();
  36283. }
  36284. this.bindOutsideClickListener();
  36285. this.bindScrollListener();
  36286. this.bindResizeListener();
  36287. this.$emit('show');
  36288. },
  36289. onOverlayLeave() {
  36290. this.unbindOutsideClickListener();
  36291. this.unbindScrollListener();
  36292. this.unbindResizeListener();
  36293. this.$emit('hide');
  36294. this.itemsWrapper = null;
  36295. this.overlay = null;
  36296. },
  36297. onOverlayAfterLeave(el) {
  36298. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ZIndexUtils.clear(el);
  36299. },
  36300. alignOverlay() {
  36301. if (this.appendDisabled) {
  36302. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.relativePosition(this.overlay, this.$el);
  36303. }
  36304. else {
  36305. this.overlay.style.minWidth = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(this.$el) + 'px';
  36306. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.absolutePosition(this.overlay, this.$el);
  36307. }
  36308. },
  36309. updateModel(event, value) {
  36310. this.$emit('update:modelValue', value);
  36311. this.$emit('change', {originalEvent: event, value: value});
  36312. },
  36313. bindOutsideClickListener() {
  36314. if (!this.outsideClickListener) {
  36315. this.outsideClickListener = (event) => {
  36316. if (this.overlayVisible && this.overlay && !this.$el.contains(event.target) && !this.overlay.contains(event.target)) {
  36317. this.hide();
  36318. }
  36319. };
  36320. document.addEventListener('click', this.outsideClickListener);
  36321. }
  36322. },
  36323. unbindOutsideClickListener() {
  36324. if (this.outsideClickListener) {
  36325. document.removeEventListener('click', this.outsideClickListener);
  36326. this.outsideClickListener = null;
  36327. }
  36328. },
  36329. bindScrollListener() {
  36330. if (!this.scrollHandler) {
  36331. this.scrollHandler = new primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ConnectedOverlayScrollHandler(this.$refs.container, () => {
  36332. if (this.overlayVisible) {
  36333. this.hide();
  36334. }
  36335. });
  36336. }
  36337. this.scrollHandler.bindScrollListener();
  36338. },
  36339. unbindScrollListener() {
  36340. if (this.scrollHandler) {
  36341. this.scrollHandler.unbindScrollListener();
  36342. }
  36343. },
  36344. bindResizeListener() {
  36345. if (!this.resizeListener) {
  36346. this.resizeListener = () => {
  36347. if (this.overlayVisible && !primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.isTouchDevice()) {
  36348. this.hide();
  36349. }
  36350. };
  36351. window.addEventListener('resize', this.resizeListener);
  36352. }
  36353. },
  36354. unbindResizeListener() {
  36355. if (this.resizeListener) {
  36356. window.removeEventListener('resize', this.resizeListener);
  36357. this.resizeListener = null;
  36358. }
  36359. },
  36360. search(event) {
  36361. if (!this.visibleOptions) {
  36362. return;
  36363. }
  36364. if (this.searchTimeout) {
  36365. clearTimeout(this.searchTimeout);
  36366. }
  36367. const char = event.key;
  36368. this.previousSearchChar = this.currentSearchChar;
  36369. this.currentSearchChar = char;
  36370. if (this.previousSearchChar === this.currentSearchChar)
  36371. this.searchValue = this.currentSearchChar;
  36372. else
  36373. this.searchValue = this.searchValue ? this.searchValue + char : char;
  36374. if (this.searchValue) {
  36375. let searchIndex = this.getSelectedOptionIndex();
  36376. let newOption = this.optionGroupLabel ? this.searchOptionInGroup(searchIndex) : this.searchOption(++searchIndex);
  36377. if (newOption) {
  36378. this.updateModel(event, this.getOptionValue(newOption));
  36379. }
  36380. }
  36381. this.searchTimeout = setTimeout(() => {
  36382. this.searchValue = null;
  36383. }, 250);
  36384. },
  36385. searchOption(index) {
  36386. let option;
  36387. if (this.searchValue) {
  36388. option = this.searchOptionInRange(index, this.visibleOptions.length);
  36389. if (!option) {
  36390. option = this.searchOptionInRange(0, index);
  36391. }
  36392. }
  36393. return option;
  36394. },
  36395. searchOptionInRange(start, end) {
  36396. for (let i = start; i < end; i++) {
  36397. let opt = this.visibleOptions[i];
  36398. if (this.matchesSearchValue(opt)) {
  36399. return opt;
  36400. }
  36401. }
  36402. return null;
  36403. },
  36404. searchOptionInGroup(index) {
  36405. let searchIndex = index === -1 ? {group: 0, option: -1} : index;
  36406. for (let i = searchIndex.group; i < this.visibleOptions.length; i++) {
  36407. let groupOptions = this.getOptionGroupChildren(this.visibleOptions[i]);
  36408. for (let j = (searchIndex.group === i ? searchIndex.option + 1 : 0); j < groupOptions.length; j++) {
  36409. if (this.matchesSearchValue(groupOptions[j])) {
  36410. return groupOptions[j];
  36411. }
  36412. }
  36413. }
  36414. for (let i = 0; i <= searchIndex.group; i++) {
  36415. let groupOptions = this.getOptionGroupChildren(this.visibleOptions[i]);
  36416. for (let j = 0; j < (searchIndex.group === i ? searchIndex.option: groupOptions.length); j++) {
  36417. if (this.matchesSearchValue(groupOptions[j])) {
  36418. return groupOptions[j];
  36419. }
  36420. }
  36421. }
  36422. return null;
  36423. },
  36424. matchesSearchValue(option) {
  36425. let label = this.getOptionLabel(option).toLocaleLowerCase(this.filterLocale);
  36426. return label.startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale));
  36427. },
  36428. onFilterChange(event) {
  36429. this.filterValue = event.target.value;
  36430. this.$emit('filter', {originalEvent: event, value: event.target.value});
  36431. },
  36432. onFilterUpdated() {
  36433. if (this.overlayVisible) {
  36434. this.alignOverlay();
  36435. }
  36436. },
  36437. overlayRef(el) {
  36438. this.overlay = el;
  36439. },
  36440. itemsWrapperRef(el) {
  36441. this.itemsWrapper = el;
  36442. },
  36443. virtualScrollerRef(el) {
  36444. this.virtualScroller = el;
  36445. },
  36446. scrollValueInView() {
  36447. if (this.overlay) {
  36448. let selectedItem = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.findSingle(this.overlay, 'li.p-highlight');
  36449. if (selectedItem) {
  36450. selectedItem.scrollIntoView({ block: 'nearest', inline: 'start' });
  36451. }
  36452. }
  36453. },
  36454. onOverlayClick(event) {
  36455. primevue_overlayeventbus__WEBPACK_IMPORTED_MODULE_1__["default"].emit('overlay-click', {
  36456. originalEvent: event,
  36457. target: this.$el
  36458. });
  36459. }
  36460. },
  36461. computed: {
  36462. visibleOptions() {
  36463. if (this.filterValue) {
  36464. if (this.optionGroupLabel) {
  36465. let filteredGroups = [];
  36466. for (let optgroup of this.options) {
  36467. let filteredSubOptions = primevue_api__WEBPACK_IMPORTED_MODULE_2__.FilterService.filter(this.getOptionGroupChildren(optgroup), this.searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);
  36468. if (filteredSubOptions && filteredSubOptions.length) {
  36469. let filteredGroup = {...optgroup};
  36470. filteredGroup[this.optionGroupChildren] = filteredSubOptions;
  36471. filteredGroups.push(filteredGroup);
  36472. }
  36473. }
  36474. return filteredGroups
  36475. }
  36476. else {
  36477. return primevue_api__WEBPACK_IMPORTED_MODULE_2__.FilterService.filter(this.options, this.searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);
  36478. }
  36479. }
  36480. else {
  36481. return this.options;
  36482. }
  36483. },
  36484. containerClass() {
  36485. return [
  36486. 'p-dropdown p-component p-inputwrapper',
  36487. {
  36488. 'p-disabled': this.disabled,
  36489. 'p-dropdown-clearable': this.showClear && !this.disabled,
  36490. 'p-focus': this.focused,
  36491. 'p-inputwrapper-filled': this.modelValue,
  36492. 'p-inputwrapper-focus': this.focused || this.overlayVisible
  36493. }
  36494. ];
  36495. },
  36496. labelClass() {
  36497. return [
  36498. 'p-dropdown-label p-inputtext',
  36499. {
  36500. 'p-placeholder': this.label === this.placeholder,
  36501. 'p-dropdown-label-empty': !this.$slots['value'] && (this.label === 'p-emptylabel' || this.label.length === 0)
  36502. }
  36503. ];
  36504. },
  36505. panelStyleClass() {
  36506. return ['p-dropdown-panel p-component', this.panelClass, {
  36507. 'p-input-filled': this.$primevue.config.inputStyle === 'filled',
  36508. 'p-ripple-disabled': this.$primevue.config.ripple === false
  36509. }];
  36510. },
  36511. label() {
  36512. let selectedOption = this.getSelectedOption();
  36513. if (selectedOption !== null)
  36514. return this.getOptionLabel(selectedOption);
  36515. else
  36516. return this.placeholder||'p-emptylabel';
  36517. },
  36518. editableInputValue() {
  36519. let selectedOption = this.getSelectedOption();
  36520. if (selectedOption)
  36521. return this.getOptionLabel(selectedOption);
  36522. else
  36523. return this.modelValue;
  36524. },
  36525. equalityKey() {
  36526. return this.optionValue ? null : this.dataKey;
  36527. },
  36528. searchFields() {
  36529. return this.filterFields || [this.optionLabel];
  36530. },
  36531. emptyFilterMessageText() {
  36532. return this.emptyFilterMessage || this.$primevue.config.locale.emptyFilterMessage;
  36533. },
  36534. emptyMessageText() {
  36535. return this.emptyMessage || this.$primevue.config.locale.emptyMessage;
  36536. },
  36537. appendDisabled() {
  36538. return this.appendTo === 'self';
  36539. },
  36540. virtualScrollerDisabled() {
  36541. return !this.virtualScrollerOptions;
  36542. },
  36543. appendTarget() {
  36544. return this.appendDisabled ? null : this.appendTo;
  36545. },
  36546. dropdownIconClass() {
  36547. return ['p-dropdown-trigger-icon', this.loading ? this.loadingIcon : 'pi pi-chevron-down'];
  36548. }
  36549. },
  36550. directives: {
  36551. 'ripple': primevue_ripple__WEBPACK_IMPORTED_MODULE_3__["default"]
  36552. },
  36553. components: {
  36554. 'VirtualScroller': primevue_virtualscroller__WEBPACK_IMPORTED_MODULE_4__["default"]
  36555. }
  36556. };
  36557. const _hoisted_1 = { class: "p-hidden-accessible" };
  36558. const _hoisted_2 = ["id", "disabled", "tabindex", "aria-expanded", "aria-labelledby"];
  36559. const _hoisted_3 = ["disabled", "placeholder", "value", "aria-expanded"];
  36560. const _hoisted_4 = ["aria-expanded"];
  36561. const _hoisted_5 = {
  36562. key: 0,
  36563. class: "p-dropdown-header"
  36564. };
  36565. const _hoisted_6 = { class: "p-dropdown-filter-container" };
  36566. const _hoisted_7 = ["value", "placeholder"];
  36567. const _hoisted_8 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementVNode)("span", { class: "p-dropdown-filter-icon pi pi-search" }, null, -1);
  36568. const _hoisted_9 = ["onClick", "aria-label", "aria-selected"];
  36569. const _hoisted_10 = { class: "p-dropdown-item-group" };
  36570. const _hoisted_11 = ["onClick", "aria-label", "aria-selected"];
  36571. const _hoisted_12 = {
  36572. key: 2,
  36573. class: "p-dropdown-empty-message"
  36574. };
  36575. const _hoisted_13 = {
  36576. key: 3,
  36577. class: "p-dropdown-empty-message"
  36578. };
  36579. function render(_ctx, _cache, $props, $setup, $data, $options) {
  36580. const _component_VirtualScroller = (0,vue__WEBPACK_IMPORTED_MODULE_5__.resolveComponent)("VirtualScroller");
  36581. const _directive_ripple = (0,vue__WEBPACK_IMPORTED_MODULE_5__.resolveDirective)("ripple");
  36582. return ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)("div", {
  36583. ref: "container",
  36584. class: (0,vue__WEBPACK_IMPORTED_MODULE_5__.normalizeClass)($options.containerClass),
  36585. onClick: _cache[11] || (_cache[11] = $event => ($options.onClick($event)))
  36586. }, [
  36587. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementVNode)("div", _hoisted_1, [
  36588. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementVNode)("input", {
  36589. ref: "focusInput",
  36590. type: "text",
  36591. id: $props.inputId,
  36592. readonly: "",
  36593. disabled: $props.disabled,
  36594. onFocus: _cache[0] || (_cache[0] = (...args) => ($options.onFocus && $options.onFocus(...args))),
  36595. onBlur: _cache[1] || (_cache[1] = (...args) => ($options.onBlur && $options.onBlur(...args))),
  36596. onKeydown: _cache[2] || (_cache[2] = (...args) => ($options.onKeyDown && $options.onKeyDown(...args))),
  36597. tabindex: $props.tabindex,
  36598. "aria-haspopup": "true",
  36599. "aria-expanded": $data.overlayVisible,
  36600. "aria-labelledby": $props.ariaLabelledBy
  36601. }, null, 40, _hoisted_2)
  36602. ]),
  36603. ($props.editable)
  36604. ? ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)("input", {
  36605. key: 0,
  36606. type: "text",
  36607. class: "p-dropdown-label p-inputtext",
  36608. disabled: $props.disabled,
  36609. onFocus: _cache[3] || (_cache[3] = (...args) => ($options.onFocus && $options.onFocus(...args))),
  36610. onBlur: _cache[4] || (_cache[4] = (...args) => ($options.onBlur && $options.onBlur(...args))),
  36611. placeholder: $props.placeholder,
  36612. value: $options.editableInputValue,
  36613. onInput: _cache[5] || (_cache[5] = (...args) => ($options.onEditableInput && $options.onEditableInput(...args))),
  36614. "aria-haspopup": "listbox",
  36615. "aria-expanded": $data.overlayVisible
  36616. }, null, 40, _hoisted_3))
  36617. : (0,vue__WEBPACK_IMPORTED_MODULE_5__.createCommentVNode)("", true),
  36618. (!$props.editable)
  36619. ? ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)("span", {
  36620. key: 1,
  36621. class: (0,vue__WEBPACK_IMPORTED_MODULE_5__.normalizeClass)($options.labelClass)
  36622. }, [
  36623. (0,vue__WEBPACK_IMPORTED_MODULE_5__.renderSlot)(_ctx.$slots, "value", {
  36624. value: $props.modelValue,
  36625. placeholder: $props.placeholder
  36626. }, () => [
  36627. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_5__.toDisplayString)($options.label||'empty'), 1)
  36628. ])
  36629. ], 2))
  36630. : (0,vue__WEBPACK_IMPORTED_MODULE_5__.createCommentVNode)("", true),
  36631. ($props.showClear && $props.modelValue != null)
  36632. ? ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)("i", {
  36633. key: 2,
  36634. class: "p-dropdown-clear-icon pi pi-times",
  36635. onClick: _cache[6] || (_cache[6] = $event => ($options.onClearClick($event)))
  36636. }))
  36637. : (0,vue__WEBPACK_IMPORTED_MODULE_5__.createCommentVNode)("", true),
  36638. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementVNode)("div", {
  36639. class: "p-dropdown-trigger",
  36640. role: "button",
  36641. "aria-haspopup": "listbox",
  36642. "aria-expanded": $data.overlayVisible
  36643. }, [
  36644. (0,vue__WEBPACK_IMPORTED_MODULE_5__.renderSlot)(_ctx.$slots, "indicator", {}, () => [
  36645. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementVNode)("span", {
  36646. class: (0,vue__WEBPACK_IMPORTED_MODULE_5__.normalizeClass)($options.dropdownIconClass)
  36647. }, null, 2)
  36648. ])
  36649. ], 8, _hoisted_4),
  36650. ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createBlock)(vue__WEBPACK_IMPORTED_MODULE_5__.Teleport, {
  36651. to: $options.appendTarget,
  36652. disabled: $options.appendDisabled
  36653. }, [
  36654. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createVNode)(vue__WEBPACK_IMPORTED_MODULE_5__.Transition, {
  36655. name: "p-connected-overlay",
  36656. onEnter: $options.onOverlayEnter,
  36657. onAfterEnter: $options.onOverlayAfterEnter,
  36658. onLeave: $options.onOverlayLeave,
  36659. onAfterLeave: $options.onOverlayAfterLeave
  36660. }, {
  36661. default: (0,vue__WEBPACK_IMPORTED_MODULE_5__.withCtx)(() => [
  36662. ($data.overlayVisible)
  36663. ? ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)("div", {
  36664. key: 0,
  36665. ref: $options.overlayRef,
  36666. class: (0,vue__WEBPACK_IMPORTED_MODULE_5__.normalizeClass)($options.panelStyleClass),
  36667. onClick: _cache[10] || (_cache[10] = (...args) => ($options.onOverlayClick && $options.onOverlayClick(...args)))
  36668. }, [
  36669. (0,vue__WEBPACK_IMPORTED_MODULE_5__.renderSlot)(_ctx.$slots, "header", {
  36670. value: $props.modelValue,
  36671. options: $options.visibleOptions
  36672. }),
  36673. ($props.filter)
  36674. ? ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)("div", _hoisted_5, [
  36675. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementVNode)("div", _hoisted_6, [
  36676. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementVNode)("input", {
  36677. type: "text",
  36678. ref: "filterInput",
  36679. value: $data.filterValue,
  36680. onVnodeUpdated: _cache[7] || (_cache[7] = (...args) => ($options.onFilterUpdated && $options.onFilterUpdated(...args))),
  36681. autoComplete: "off",
  36682. class: "p-dropdown-filter p-inputtext p-component",
  36683. placeholder: $props.filterPlaceholder,
  36684. onKeydown: _cache[8] || (_cache[8] = (...args) => ($options.onFilterKeyDown && $options.onFilterKeyDown(...args))),
  36685. onInput: _cache[9] || (_cache[9] = (...args) => ($options.onFilterChange && $options.onFilterChange(...args)))
  36686. }, null, 40, _hoisted_7),
  36687. _hoisted_8
  36688. ])
  36689. ]))
  36690. : (0,vue__WEBPACK_IMPORTED_MODULE_5__.createCommentVNode)("", true),
  36691. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementVNode)("div", {
  36692. ref: $options.itemsWrapperRef,
  36693. class: "p-dropdown-items-wrapper",
  36694. style: (0,vue__WEBPACK_IMPORTED_MODULE_5__.normalizeStyle)({'max-height': $options.virtualScrollerDisabled ? $props.scrollHeight : ''})
  36695. }, [
  36696. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createVNode)(_component_VirtualScroller, (0,vue__WEBPACK_IMPORTED_MODULE_5__.mergeProps)({ ref: $options.virtualScrollerRef }, $props.virtualScrollerOptions, {
  36697. items: $options.visibleOptions,
  36698. style: {'height': $props.scrollHeight},
  36699. disabled: $options.virtualScrollerDisabled
  36700. }), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createSlots)({
  36701. content: (0,vue__WEBPACK_IMPORTED_MODULE_5__.withCtx)(({ styleClass, contentRef, items, getItemOptions, contentStyle }) => [
  36702. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementVNode)("ul", {
  36703. ref: contentRef,
  36704. class: (0,vue__WEBPACK_IMPORTED_MODULE_5__.normalizeClass)(['p-dropdown-items', styleClass]),
  36705. style: (0,vue__WEBPACK_IMPORTED_MODULE_5__.normalizeStyle)(contentStyle),
  36706. role: "listbox"
  36707. }, [
  36708. (!$props.optionGroupLabel)
  36709. ? ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_5__.Fragment, { key: 0 }, (0,vue__WEBPACK_IMPORTED_MODULE_5__.renderList)(items, (option, i) => {
  36710. return (0,vue__WEBPACK_IMPORTED_MODULE_5__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)("li", {
  36711. class: (0,vue__WEBPACK_IMPORTED_MODULE_5__.normalizeClass)(['p-dropdown-item', {'p-highlight': $options.isSelected(option), 'p-disabled': $options.isOptionDisabled(option)}]),
  36712. key: $options.getOptionRenderKey(option),
  36713. onClick: $event => ($options.onOptionSelect($event, option)),
  36714. role: "option",
  36715. "aria-label": $options.getOptionLabel(option),
  36716. "aria-selected": $options.isSelected(option)
  36717. }, [
  36718. (0,vue__WEBPACK_IMPORTED_MODULE_5__.renderSlot)(_ctx.$slots, "option", {
  36719. option: option,
  36720. index: $options.getOptionIndex(i, getItemOptions)
  36721. }, () => [
  36722. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_5__.toDisplayString)($options.getOptionLabel(option)), 1)
  36723. ])
  36724. ], 10, _hoisted_9)), [
  36725. [_directive_ripple]
  36726. ])
  36727. }), 128))
  36728. : ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_5__.Fragment, { key: 1 }, (0,vue__WEBPACK_IMPORTED_MODULE_5__.renderList)(items, (optionGroup, i) => {
  36729. return ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_5__.Fragment, {
  36730. key: $options.getOptionGroupRenderKey(optionGroup)
  36731. }, [
  36732. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementVNode)("li", _hoisted_10, [
  36733. (0,vue__WEBPACK_IMPORTED_MODULE_5__.renderSlot)(_ctx.$slots, "optiongroup", {
  36734. option: optionGroup,
  36735. index: $options.getOptionIndex(i, getItemOptions)
  36736. }, () => [
  36737. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_5__.toDisplayString)($options.getOptionGroupLabel(optionGroup)), 1)
  36738. ])
  36739. ]),
  36740. ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_5__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_5__.renderList)($options.getOptionGroupChildren(optionGroup), (option, i) => {
  36741. return (0,vue__WEBPACK_IMPORTED_MODULE_5__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)("li", {
  36742. class: (0,vue__WEBPACK_IMPORTED_MODULE_5__.normalizeClass)(['p-dropdown-item', {'p-highlight': $options.isSelected(option), 'p-disabled': $options.isOptionDisabled(option)}]),
  36743. key: $options.getOptionRenderKey(option),
  36744. onClick: $event => ($options.onOptionSelect($event, option)),
  36745. role: "option",
  36746. "aria-label": $options.getOptionLabel(option),
  36747. "aria-selected": $options.isSelected(option)
  36748. }, [
  36749. (0,vue__WEBPACK_IMPORTED_MODULE_5__.renderSlot)(_ctx.$slots, "option", {
  36750. option: option,
  36751. index: $options.getOptionIndex(i, getItemOptions)
  36752. }, () => [
  36753. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_5__.toDisplayString)($options.getOptionLabel(option)), 1)
  36754. ])
  36755. ], 10, _hoisted_11)), [
  36756. [_directive_ripple]
  36757. ])
  36758. }), 128))
  36759. ], 64))
  36760. }), 128)),
  36761. ($data.filterValue && (!items || (items && items.length === 0)))
  36762. ? ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)("li", _hoisted_12, [
  36763. (0,vue__WEBPACK_IMPORTED_MODULE_5__.renderSlot)(_ctx.$slots, "emptyfilter", {}, () => [
  36764. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_5__.toDisplayString)($options.emptyFilterMessageText), 1)
  36765. ])
  36766. ]))
  36767. : ((!$props.options || ($props.options && $props.options.length === 0)))
  36768. ? ((0,vue__WEBPACK_IMPORTED_MODULE_5__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_5__.createElementBlock)("li", _hoisted_13, [
  36769. (0,vue__WEBPACK_IMPORTED_MODULE_5__.renderSlot)(_ctx.$slots, "empty", {}, () => [
  36770. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_5__.toDisplayString)($options.emptyMessageText), 1)
  36771. ])
  36772. ]))
  36773. : (0,vue__WEBPACK_IMPORTED_MODULE_5__.createCommentVNode)("", true)
  36774. ], 6)
  36775. ]),
  36776. _: 2
  36777. }, [
  36778. (_ctx.$slots.loader)
  36779. ? {
  36780. name: "loader",
  36781. fn: (0,vue__WEBPACK_IMPORTED_MODULE_5__.withCtx)(({ options }) => [
  36782. (0,vue__WEBPACK_IMPORTED_MODULE_5__.renderSlot)(_ctx.$slots, "loader", { options: options })
  36783. ])
  36784. }
  36785. : undefined
  36786. ]), 1040, ["items", "style", "disabled"])
  36787. ], 4),
  36788. (0,vue__WEBPACK_IMPORTED_MODULE_5__.renderSlot)(_ctx.$slots, "footer", {
  36789. value: $props.modelValue,
  36790. options: $options.visibleOptions
  36791. })
  36792. ], 2))
  36793. : (0,vue__WEBPACK_IMPORTED_MODULE_5__.createCommentVNode)("", true)
  36794. ]),
  36795. _: 3
  36796. }, 8, ["onEnter", "onAfterEnter", "onLeave", "onAfterLeave"])
  36797. ], 8, ["to", "disabled"]))
  36798. ], 2))
  36799. }
  36800. function styleInject(css, ref) {
  36801. if ( ref === void 0 ) ref = {};
  36802. var insertAt = ref.insertAt;
  36803. if (!css || typeof document === 'undefined') { return; }
  36804. var head = document.head || document.getElementsByTagName('head')[0];
  36805. var style = document.createElement('style');
  36806. style.type = 'text/css';
  36807. if (insertAt === 'top') {
  36808. if (head.firstChild) {
  36809. head.insertBefore(style, head.firstChild);
  36810. } else {
  36811. head.appendChild(style);
  36812. }
  36813. } else {
  36814. head.appendChild(style);
  36815. }
  36816. if (style.styleSheet) {
  36817. style.styleSheet.cssText = css;
  36818. } else {
  36819. style.appendChild(document.createTextNode(css));
  36820. }
  36821. }
  36822. var css_248z = "\n.p-dropdown {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n cursor: pointer;\n position: relative;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-dropdown-clear-icon {\n position: absolute;\n top: 50%;\n margin-top: -.5rem;\n}\n.p-dropdown-trigger {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n}\n.p-dropdown-label {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n -webkit-box-flex: 1;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n width: 1%;\n text-overflow: ellipsis;\n cursor: pointer;\n}\n.p-dropdown-label-empty {\n overflow: hidden;\n visibility: hidden;\n}\ninput.p-dropdown-label {\n cursor: default;\n}\n.p-dropdown .p-dropdown-panel {\n min-width: 100%;\n}\n.p-dropdown-panel {\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-dropdown-items-wrapper {\n overflow: auto;\n}\n.p-dropdown-item {\n cursor: pointer;\n font-weight: normal;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n}\n.p-dropdown-item-group {\n cursor: auto;\n}\n.p-dropdown-items {\n margin: 0;\n padding: 0;\n list-style-type: none;\n}\n.p-dropdown-filter {\n width: 100%;\n}\n.p-dropdown-filter-container {\n position: relative;\n}\n.p-dropdown-filter-icon {\n position: absolute;\n top: 50%;\n margin-top: -.5rem;\n}\n.p-fluid .p-dropdown {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-fluid .p-dropdown .p-dropdown-label {\n width: 1%;\n}\n";
  36823. styleInject(css_248z);
  36824. script.render = render;
  36825. /***/ }),
  36826. /***/ "./node_modules/primevue/editor/editor.esm.js":
  36827. /*!****************************************************!*\
  36828. !*** ./node_modules/primevue/editor/editor.esm.js ***!
  36829. \****************************************************/
  36830. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  36831. "use strict";
  36832. __webpack_require__.r(__webpack_exports__);
  36833. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  36834. /* harmony export */ "default": () => (/* binding */ script)
  36835. /* harmony export */ });
  36836. /* harmony import */ var quill__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! quill */ "./node_modules/quill/dist/quill.js");
  36837. /* harmony import */ var quill__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(quill__WEBPACK_IMPORTED_MODULE_0__);
  36838. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
  36839. var script = {
  36840. name: 'Editor',
  36841. emits: ['update:modelValue', 'text-change'],
  36842. props: {
  36843. modelValue: String,
  36844. placeholder: String,
  36845. readonly: Boolean,
  36846. formats: Array,
  36847. editorStyle: null
  36848. },
  36849. quill: null,
  36850. watch: {
  36851. modelValue(newValue, oldValue) {
  36852. if (newValue !== oldValue && this.quill && !this.quill.hasFocus()) {
  36853. this.renderValue(newValue);
  36854. }
  36855. }
  36856. },
  36857. mounted() {
  36858. this.quill = new (quill__WEBPACK_IMPORTED_MODULE_0___default())(this.$refs.editorElement, {
  36859. modules: {
  36860. toolbar: this.$refs.toolbarElement
  36861. },
  36862. readOnly: this.readonly,
  36863. theme: 'snow',
  36864. formats: this.formats,
  36865. placeholder: this.placeholder
  36866. });
  36867. this.renderValue(this.modelValue);
  36868. this.quill.on('text-change', (delta, oldContents, source) => {
  36869. if (source === 'user') {
  36870. let html = this.$refs.editorElement.children[0].innerHTML;
  36871. let text = this.quill.getText().trim();
  36872. if (html === '<p><br></p>') {
  36873. html = '';
  36874. }
  36875. this.$emit('update:modelValue', html);
  36876. this.$emit('text-change', {
  36877. htmlValue: html,
  36878. textValue: text,
  36879. delta: delta,
  36880. source: source,
  36881. instance: this.quill
  36882. });
  36883. }
  36884. });
  36885. },
  36886. methods: {
  36887. renderValue(value) {
  36888. if (this.quill) {
  36889. if (value)
  36890. this.quill.pasteHTML(value);
  36891. else
  36892. this.quill.setText('');
  36893. }
  36894. }
  36895. },
  36896. beforeUnmount() {
  36897. this.quill = null;
  36898. }
  36899. };
  36900. const _hoisted_1 = { class: "p-editor-container" };
  36901. const _hoisted_2 = {
  36902. ref: "toolbarElement",
  36903. class: "p-editor-toolbar"
  36904. };
  36905. const _hoisted_3 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("span", { class: "ql-formats" }, [
  36906. /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("select", {
  36907. class: "ql-header",
  36908. defaultValue: "0"
  36909. }, [
  36910. /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("option", { value: "1" }, "Heading"),
  36911. /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("option", { value: "2" }, "Subheading"),
  36912. /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("option", { value: "0" }, "Normal")
  36913. ]),
  36914. /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("select", { class: "ql-font" }, [
  36915. /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("option"),
  36916. /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("option", { value: "serif" }),
  36917. /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("option", { value: "monospace" })
  36918. ])
  36919. ], -1);
  36920. const _hoisted_4 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createStaticVNode)("<span class=\"ql-formats\"><button class=\"ql-bold\" type=\"button\"></button><button class=\"ql-italic\" type=\"button\"></button><button class=\"ql-underline\" type=\"button\"></button></span><span class=\"ql-formats\"><select class=\"ql-color\"></select><select class=\"ql-background\"></select></span>", 2);
  36921. const _hoisted_6 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("span", { class: "ql-formats" }, [
  36922. /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("button", {
  36923. class: "ql-list",
  36924. value: "ordered",
  36925. type: "button"
  36926. }),
  36927. /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("button", {
  36928. class: "ql-list",
  36929. value: "bullet",
  36930. type: "button"
  36931. }),
  36932. /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("select", { class: "ql-align" }, [
  36933. /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("option", { defaultValue: "" }),
  36934. /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("option", { value: "center" }),
  36935. /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("option", { value: "right" }),
  36936. /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("option", { value: "justify" })
  36937. ])
  36938. ], -1);
  36939. const _hoisted_7 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createStaticVNode)("<span class=\"ql-formats\"><button class=\"ql-link\" type=\"button\"></button><button class=\"ql-image\" type=\"button\"></button><button class=\"ql-code-block\" type=\"button\"></button></span><span class=\"ql-formats\"><button class=\"ql-clean\" type=\"button\"></button></span>", 2);
  36940. function render(_ctx, _cache, $props, $setup, $data, $options) {
  36941. return ((0,vue__WEBPACK_IMPORTED_MODULE_1__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementBlock)("div", _hoisted_1, [
  36942. (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("div", _hoisted_2, [
  36943. (0,vue__WEBPACK_IMPORTED_MODULE_1__.renderSlot)(_ctx.$slots, "toolbar", {}, () => [
  36944. _hoisted_3,
  36945. _hoisted_4,
  36946. _hoisted_6,
  36947. _hoisted_7
  36948. ])
  36949. ], 512),
  36950. (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("div", {
  36951. ref: "editorElement",
  36952. class: "p-editor-content",
  36953. style: (0,vue__WEBPACK_IMPORTED_MODULE_1__.normalizeStyle)($props.editorStyle)
  36954. }, null, 4)
  36955. ]))
  36956. }
  36957. function styleInject(css, ref) {
  36958. if ( ref === void 0 ) ref = {};
  36959. var insertAt = ref.insertAt;
  36960. if (!css || typeof document === 'undefined') { return; }
  36961. var head = document.head || document.getElementsByTagName('head')[0];
  36962. var style = document.createElement('style');
  36963. style.type = 'text/css';
  36964. if (insertAt === 'top') {
  36965. if (head.firstChild) {
  36966. head.insertBefore(style, head.firstChild);
  36967. } else {
  36968. head.appendChild(style);
  36969. }
  36970. } else {
  36971. head.appendChild(style);
  36972. }
  36973. if (style.styleSheet) {
  36974. style.styleSheet.cssText = css;
  36975. } else {
  36976. style.appendChild(document.createTextNode(css));
  36977. }
  36978. }
  36979. var css_248z = "\n/*!\n * Quill Editor v1.3.3\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */\n.ql-container {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n font-family: Helvetica, Arial, sans-serif;\n font-size: 13px;\n height: 100%;\n margin: 0px;\n position: relative;\n}\n.ql-container.ql-disabled .ql-tooltip {\n visibility: hidden;\n}\n.ql-container.ql-disabled .ql-editor ul[data-checked] > li::before {\n pointer-events: none;\n}\n.ql-clipboard {\n left: -100000px;\n height: 1px;\n overflow-y: hidden;\n position: absolute;\n top: 50%;\n}\n.ql-clipboard p {\n margin: 0;\n padding: 0;\n}\n.ql-editor {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n line-height: 1.42;\n height: 100%;\n outline: none;\n overflow-y: auto;\n padding: 12px 15px;\n -o-tab-size: 4;\n tab-size: 4;\n -moz-tab-size: 4;\n text-align: left;\n white-space: pre-wrap;\n word-wrap: break-word;\n}\n.ql-editor > * {\n cursor: text;\n}\n.ql-editor p,\n.ql-editor ol,\n.ql-editor ul,\n.ql-editor pre,\n.ql-editor blockquote,\n.ql-editor h1,\n.ql-editor h2,\n.ql-editor h3,\n.ql-editor h4,\n.ql-editor h5,\n.ql-editor h6 {\n margin: 0;\n padding: 0;\n counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;\n}\n.ql-editor ol,\n.ql-editor ul {\n padding-left: 1.5rem;\n}\n.ql-editor ol > li,\n.ql-editor ul > li {\n list-style-type: none;\n}\n.ql-editor ul > li::before {\n content: '\\2022';\n}\n.ql-editor ul[data-checked=true],\n.ql-editor ul[data-checked=false] {\n pointer-events: none;\n}\n.ql-editor ul[data-checked=true] > li *,\n.ql-editor ul[data-checked=false] > li * {\n pointer-events: all;\n}\n.ql-editor ul[data-checked=true] > li::before,\n.ql-editor ul[data-checked=false] > li::before {\n color: #777;\n cursor: pointer;\n pointer-events: all;\n}\n.ql-editor ul[data-checked=true] > li::before {\n content: '\\2611';\n}\n.ql-editor ul[data-checked=false] > li::before {\n content: '\\2610';\n}\n.ql-editor li::before {\n display: inline-block;\n white-space: nowrap;\n width: 1.2rem;\n}\n.ql-editor li:not(.ql-direction-rtl)::before {\n margin-left: -1.5rem;\n margin-right: 0.3rem;\n text-align: right;\n}\n.ql-editor li.ql-direction-rtl::before {\n margin-left: 0.3rem;\n margin-right: -1.5rem;\n}\n.ql-editor ol li:not(.ql-direction-rtl),\n.ql-editor ul li:not(.ql-direction-rtl) {\n padding-left: 1.5rem;\n}\n.ql-editor ol li.ql-direction-rtl,\n.ql-editor ul li.ql-direction-rtl {\n padding-right: 1.5rem;\n}\n.ql-editor ol li {\n counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;\n counter-increment: list-0;\n}\n.ql-editor ol li:before {\n content: counter(list-0, decimal) '. ';\n}\n.ql-editor ol li.ql-indent-1 {\n counter-increment: list-1;\n}\n.ql-editor ol li.ql-indent-1:before {\n content: counter(list-1, lower-alpha) '. ';\n}\n.ql-editor ol li.ql-indent-1 {\n counter-reset: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;\n}\n.ql-editor ol li.ql-indent-2 {\n counter-increment: list-2;\n}\n.ql-editor ol li.ql-indent-2:before {\n content: counter(list-2, lower-roman) '. ';\n}\n.ql-editor ol li.ql-indent-2 {\n counter-reset: list-3 list-4 list-5 list-6 list-7 list-8 list-9;\n}\n.ql-editor ol li.ql-indent-3 {\n counter-increment: list-3;\n}\n.ql-editor ol li.ql-indent-3:before {\n content: counter(list-3, decimal) '. ';\n}\n.ql-editor ol li.ql-indent-3 {\n counter-reset: list-4 list-5 list-6 list-7 list-8 list-9;\n}\n.ql-editor ol li.ql-indent-4 {\n counter-increment: list-4;\n}\n.ql-editor ol li.ql-indent-4:before {\n content: counter(list-4, lower-alpha) '. ';\n}\n.ql-editor ol li.ql-indent-4 {\n counter-reset: list-5 list-6 list-7 list-8 list-9;\n}\n.ql-editor ol li.ql-indent-5 {\n counter-increment: list-5;\n}\n.ql-editor ol li.ql-indent-5:before {\n content: counter(list-5, lower-roman) '. ';\n}\n.ql-editor ol li.ql-indent-5 {\n counter-reset: list-6 list-7 list-8 list-9;\n}\n.ql-editor ol li.ql-indent-6 {\n counter-increment: list-6;\n}\n.ql-editor ol li.ql-indent-6:before {\n content: counter(list-6, decimal) '. ';\n}\n.ql-editor ol li.ql-indent-6 {\n counter-reset: list-7 list-8 list-9;\n}\n.ql-editor ol li.ql-indent-7 {\n counter-increment: list-7;\n}\n.ql-editor ol li.ql-indent-7:before {\n content: counter(list-7, lower-alpha) '. ';\n}\n.ql-editor ol li.ql-indent-7 {\n counter-reset: list-8 list-9;\n}\n.ql-editor ol li.ql-indent-8 {\n counter-increment: list-8;\n}\n.ql-editor ol li.ql-indent-8:before {\n content: counter(list-8, lower-roman) '. ';\n}\n.ql-editor ol li.ql-indent-8 {\n counter-reset: list-9;\n}\n.ql-editor ol li.ql-indent-9 {\n counter-increment: list-9;\n}\n.ql-editor ol li.ql-indent-9:before {\n content: counter(list-9, decimal) '. ';\n}\n.ql-editor .ql-indent-1:not(.ql-direction-rtl) {\n padding-left: 3rem;\n}\n.ql-editor li.ql-indent-1:not(.ql-direction-rtl) {\n padding-left: 4.5rem;\n}\n.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right {\n padding-right: 3rem;\n}\n.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right {\n padding-right: 4.5rem;\n}\n.ql-editor .ql-indent-2:not(.ql-direction-rtl) {\n padding-left: 6rem;\n}\n.ql-editor li.ql-indent-2:not(.ql-direction-rtl) {\n padding-left: 7.5rem;\n}\n.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right {\n padding-right: 6rem;\n}\n.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right {\n padding-right: 7.5rem;\n}\n.ql-editor .ql-indent-3:not(.ql-direction-rtl) {\n padding-left: 9rem;\n}\n.ql-editor li.ql-indent-3:not(.ql-direction-rtl) {\n padding-left: 10.5rem;\n}\n.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right {\n padding-right: 9rem;\n}\n.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right {\n padding-right: 10.5rem;\n}\n.ql-editor .ql-indent-4:not(.ql-direction-rtl) {\n padding-left: 12rem;\n}\n.ql-editor li.ql-indent-4:not(.ql-direction-rtl) {\n padding-left: 13.5rem;\n}\n.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right {\n padding-right: 12rem;\n}\n.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right {\n padding-right: 13.5rem;\n}\n.ql-editor .ql-indent-5:not(.ql-direction-rtl) {\n padding-left: 15rem;\n}\n.ql-editor li.ql-indent-5:not(.ql-direction-rtl) {\n padding-left: 16.5rem;\n}\n.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right {\n padding-right: 15rem;\n}\n.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right {\n padding-right: 16.5rem;\n}\n.ql-editor .ql-indent-6:not(.ql-direction-rtl) {\n padding-left: 18rem;\n}\n.ql-editor li.ql-indent-6:not(.ql-direction-rtl) {\n padding-left: 19.5rem;\n}\n.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right {\n padding-right: 18rem;\n}\n.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right {\n padding-right: 19.5rem;\n}\n.ql-editor .ql-indent-7:not(.ql-direction-rtl) {\n padding-left: 21rem;\n}\n.ql-editor li.ql-indent-7:not(.ql-direction-rtl) {\n padding-left: 22.5rem;\n}\n.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right {\n padding-right: 21rem;\n}\n.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right {\n padding-right: 22.5rem;\n}\n.ql-editor .ql-indent-8:not(.ql-direction-rtl) {\n padding-left: 24rem;\n}\n.ql-editor li.ql-indent-8:not(.ql-direction-rtl) {\n padding-left: 25.5rem;\n}\n.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right {\n padding-right: 24rem;\n}\n.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right {\n padding-right: 25.5rem;\n}\n.ql-editor .ql-indent-9:not(.ql-direction-rtl) {\n padding-left: 27rem;\n}\n.ql-editor li.ql-indent-9:not(.ql-direction-rtl) {\n padding-left: 28.5rem;\n}\n.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right {\n padding-right: 27rem;\n}\n.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right {\n padding-right: 28.5rem;\n}\n.ql-editor .ql-video {\n display: block;\n max-width: 100%;\n}\n.ql-editor .ql-video.ql-align-center {\n margin: 0 auto;\n}\n.ql-editor .ql-video.ql-align-right {\n margin: 0 0 0 auto;\n}\n.ql-editor .ql-bg-black {\n background-color: #000;\n}\n.ql-editor .ql-bg-red {\n background-color: #e60000;\n}\n.ql-editor .ql-bg-orange {\n background-color: #f90;\n}\n.ql-editor .ql-bg-yellow {\n background-color: #ff0;\n}\n.ql-editor .ql-bg-green {\n background-color: #008a00;\n}\n.ql-editor .ql-bg-blue {\n background-color: #06c;\n}\n.ql-editor .ql-bg-purple {\n background-color: #93f;\n}\n.ql-editor .ql-color-white {\n color: #fff;\n}\n.ql-editor .ql-color-red {\n color: #e60000;\n}\n.ql-editor .ql-color-orange {\n color: #f90;\n}\n.ql-editor .ql-color-yellow {\n color: #ff0;\n}\n.ql-editor .ql-color-green {\n color: #008a00;\n}\n.ql-editor .ql-color-blue {\n color: #06c;\n}\n.ql-editor .ql-color-purple {\n color: #93f;\n}\n.ql-editor .ql-font-serif {\n font-family: Georgia, Times New Roman, serif;\n}\n.ql-editor .ql-font-monospace {\n font-family: Monaco, Courier New, monospace;\n}\n.ql-editor .ql-size-small {\n font-size: 0.75rem;\n}\n.ql-editor .ql-size-large {\n font-size: 1.5rem;\n}\n.ql-editor .ql-size-huge {\n font-size: 2.5rem;\n}\n.ql-editor .ql-direction-rtl {\n direction: rtl;\n text-align: inherit;\n}\n.ql-editor .ql-align-center {\n text-align: center;\n}\n.ql-editor .ql-align-justify {\n text-align: justify;\n}\n.ql-editor .ql-align-right {\n text-align: right;\n}\n.ql-editor.ql-blank::before {\n color: rgba(0,0,0,0.6);\n content: attr(data-placeholder);\n font-style: italic;\n left: 15px;\n pointer-events: none;\n position: absolute;\n right: 15px;\n}\n.ql-snow.ql-toolbar:after,\n.ql-snow .ql-toolbar:after {\n clear: both;\n content: '';\n display: table;\n}\n.ql-snow.ql-toolbar button,\n.ql-snow .ql-toolbar button {\n background: none;\n border: none;\n cursor: pointer;\n display: inline-block;\n float: left;\n height: 24px;\n padding: 3px 5px;\n width: 28px;\n}\n.ql-snow.ql-toolbar button svg,\n.ql-snow .ql-toolbar button svg {\n float: left;\n height: 100%;\n}\n.ql-snow.ql-toolbar button:active:hover,\n.ql-snow .ql-toolbar button:active:hover {\n outline: none;\n}\n.ql-snow.ql-toolbar input.ql-image[type=file],\n.ql-snow .ql-toolbar input.ql-image[type=file] {\n display: none;\n}\n.ql-snow.ql-toolbar button:hover,\n.ql-snow .ql-toolbar button:hover,\n.ql-snow.ql-toolbar button:focus,\n.ql-snow .ql-toolbar button:focus,\n.ql-snow.ql-toolbar button.ql-active,\n.ql-snow .ql-toolbar button.ql-active,\n.ql-snow.ql-toolbar .ql-picker-label:hover,\n.ql-snow .ql-toolbar .ql-picker-label:hover,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active,\n.ql-snow.ql-toolbar .ql-picker-item:hover,\n.ql-snow .ql-toolbar .ql-picker-item:hover,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected {\n color: #06c;\n}\n.ql-snow.ql-toolbar button:hover .ql-fill,\n.ql-snow .ql-toolbar button:hover .ql-fill,\n.ql-snow.ql-toolbar button:focus .ql-fill,\n.ql-snow .ql-toolbar button:focus .ql-fill,\n.ql-snow.ql-toolbar button.ql-active .ql-fill,\n.ql-snow .ql-toolbar button.ql-active .ql-fill,\n.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,\n.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,\n.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,\n.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,\n.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill {\n fill: #06c;\n}\n.ql-snow.ql-toolbar button:hover .ql-stroke,\n.ql-snow .ql-toolbar button:hover .ql-stroke,\n.ql-snow.ql-toolbar button:focus .ql-stroke,\n.ql-snow .ql-toolbar button:focus .ql-stroke,\n.ql-snow.ql-toolbar button.ql-active .ql-stroke,\n.ql-snow .ql-toolbar button.ql-active .ql-stroke,\n.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,\n.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,\n.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,\n.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,\n.ql-snow.ql-toolbar button:hover .ql-stroke-miter,\n.ql-snow .ql-toolbar button:hover .ql-stroke-miter,\n.ql-snow.ql-toolbar button:focus .ql-stroke-miter,\n.ql-snow .ql-toolbar button:focus .ql-stroke-miter,\n.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,\n.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,\n.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,\n.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,\n.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,\n.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,\n.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,\n.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,\n.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,\n.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter {\n stroke: #06c;\n}\n@media (pointer: coarse) {\n.ql-snow.ql-toolbar button:hover:not(.ql-active),\n .ql-snow .ql-toolbar button:hover:not(.ql-active) {\n color: #444;\n}\n.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,\n .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,\n .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,\n .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill {\n fill: #444;\n}\n.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,\n .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,\n .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,\n .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter {\n stroke: #444;\n}\n}\n.ql-snow {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n.ql-snow * {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n.ql-snow .ql-hidden {\n display: none;\n}\n.ql-snow .ql-out-bottom,\n.ql-snow .ql-out-top {\n visibility: hidden;\n}\n.ql-snow .ql-tooltip {\n position: absolute;\n -webkit-transform: translateY(10px);\n transform: translateY(10px);\n}\n.ql-snow .ql-tooltip a {\n cursor: pointer;\n text-decoration: none;\n}\n.ql-snow .ql-tooltip.ql-flip {\n -webkit-transform: translateY(-10px);\n transform: translateY(-10px);\n}\n.ql-snow .ql-formats {\n display: inline-block;\n vertical-align: middle;\n}\n.ql-snow .ql-formats:after {\n clear: both;\n content: '';\n display: table;\n}\n.ql-snow .ql-stroke {\n fill: none;\n stroke: #444;\n stroke-linecap: round;\n stroke-linejoin: round;\n stroke-width: 2;\n}\n.ql-snow .ql-stroke-miter {\n fill: none;\n stroke: #444;\n stroke-miterlimit: 10;\n stroke-width: 2;\n}\n.ql-snow .ql-fill,\n.ql-snow .ql-stroke.ql-fill {\n fill: #444;\n}\n.ql-snow .ql-empty {\n fill: none;\n}\n.ql-snow .ql-even {\n fill-rule: evenodd;\n}\n.ql-snow .ql-thin,\n.ql-snow .ql-stroke.ql-thin {\n stroke-width: 1;\n}\n.ql-snow .ql-transparent {\n opacity: 0.4;\n}\n.ql-snow .ql-direction svg:last-child {\n display: none;\n}\n.ql-snow .ql-direction.ql-active svg:last-child {\n display: inline;\n}\n.ql-snow .ql-direction.ql-active svg:first-child {\n display: none;\n}\n.ql-snow .ql-editor h1 {\n font-size: 2rem;\n}\n.ql-snow .ql-editor h2 {\n font-size: 1.5rem;\n}\n.ql-snow .ql-editor h3 {\n font-size: 1.17rem;\n}\n.ql-snow .ql-editor h4 {\n font-size: 1rem;\n}\n.ql-snow .ql-editor h5 {\n font-size: 0.83rem;\n}\n.ql-snow .ql-editor h6 {\n font-size: 0.67rem;\n}\n.ql-snow .ql-editor a {\n text-decoration: underline;\n}\n.ql-snow .ql-editor blockquote {\n border-left: 4px solid #ccc;\n margin-bottom: 5px;\n margin-top: 5px;\n padding-left: 16px;\n}\n.ql-snow .ql-editor code,\n.ql-snow .ql-editor pre {\n background-color: #f0f0f0;\n border-radius: 3px;\n}\n.ql-snow .ql-editor pre {\n white-space: pre-wrap;\n margin-bottom: 5px;\n margin-top: 5px;\n padding: 5px 10px;\n}\n.ql-snow .ql-editor code {\n font-size: 85%;\n padding: 2px 4px;\n}\n.ql-snow .ql-editor pre.ql-syntax {\n background-color: #23241f;\n color: #f8f8f2;\n overflow: visible;\n}\n.ql-snow .ql-editor img {\n max-width: 100%;\n}\n.ql-snow .ql-picker {\n color: #444;\n display: inline-block;\n float: left;\n font-size: 14px;\n font-weight: 500;\n height: 24px;\n position: relative;\n vertical-align: middle;\n}\n.ql-snow .ql-picker-label {\n cursor: pointer;\n display: inline-block;\n height: 100%;\n padding-left: 8px;\n padding-right: 2px;\n position: relative;\n width: 100%;\n}\n.ql-snow .ql-picker-label::before {\n display: inline-block;\n line-height: 22px;\n}\n.ql-snow .ql-picker-options {\n background-color: #fff;\n display: none;\n min-width: 100%;\n padding: 4px 8px;\n position: absolute;\n white-space: nowrap;\n}\n.ql-snow .ql-picker-options .ql-picker-item {\n cursor: pointer;\n display: block;\n padding-bottom: 5px;\n padding-top: 5px;\n}\n.ql-snow .ql-picker.ql-expanded .ql-picker-label {\n color: #ccc;\n z-index: 2;\n}\n.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill {\n fill: #ccc;\n}\n.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke {\n stroke: #ccc;\n}\n.ql-snow .ql-picker.ql-expanded .ql-picker-options {\n display: block;\n margin-top: -1px;\n top: 100%;\n z-index: 1;\n}\n.ql-snow .ql-color-picker,\n.ql-snow .ql-icon-picker {\n width: 28px;\n}\n.ql-snow .ql-color-picker .ql-picker-label,\n.ql-snow .ql-icon-picker .ql-picker-label {\n padding: 2px 4px;\n}\n.ql-snow .ql-color-picker .ql-picker-label svg,\n.ql-snow .ql-icon-picker .ql-picker-label svg {\n right: 4px;\n}\n.ql-snow .ql-icon-picker .ql-picker-options {\n padding: 4px 0px;\n}\n.ql-snow .ql-icon-picker .ql-picker-item {\n height: 24px;\n width: 24px;\n padding: 2px 4px;\n}\n.ql-snow .ql-color-picker .ql-picker-options {\n padding: 3px 5px;\n width: 152px;\n}\n.ql-snow .ql-color-picker .ql-picker-item {\n border: 1px solid transparent;\n float: left;\n height: 16px;\n margin: 2px;\n padding: 0px;\n width: 16px;\n}\n.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg {\n position: absolute;\n margin-top: -9px;\n right: 0;\n top: 50%;\n width: 18px;\n}\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=''])::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=''])::before {\n content: attr(data-label);\n}\n.ql-snow .ql-picker.ql-header {\n width: 98px;\n}\n.ql-snow .ql-picker.ql-header .ql-picker-label::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item::before {\n content: 'Normal';\n}\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"1\"]::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]::before {\n content: 'Heading 1';\n}\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"2\"]::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]::before {\n content: 'Heading 2';\n}\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"3\"]::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]::before {\n content: 'Heading 3';\n}\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"4\"]::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]::before {\n content: 'Heading 4';\n}\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"5\"]::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]::before {\n content: 'Heading 5';\n}\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"6\"]::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]::before {\n content: 'Heading 6';\n}\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]::before {\n font-size: 2rem;\n}\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]::before {\n font-size: 1.5rem;\n}\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]::before {\n font-size: 1.17rem;\n}\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]::before {\n font-size: 1rem;\n}\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]::before {\n font-size: 0.83rem;\n}\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]::before {\n font-size: 0.67rem;\n}\n.ql-snow .ql-picker.ql-font {\n width: 108px;\n}\n.ql-snow .ql-picker.ql-font .ql-picker-label::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item::before {\n content: 'Sans Serif';\n}\n.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {\n content: 'Serif';\n}\n.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {\n content: 'Monospace';\n}\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {\n font-family: Georgia, Times New Roman, serif;\n}\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {\n font-family: Monaco, Courier New, monospace;\n}\n.ql-snow .ql-picker.ql-size {\n width: 98px;\n}\n.ql-snow .ql-picker.ql-size .ql-picker-label::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item::before {\n content: 'Normal';\n}\n.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before {\n content: 'Small';\n}\n.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before {\n content: 'Large';\n}\n.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before {\n content: 'Huge';\n}\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before {\n font-size: 10px;\n}\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before {\n font-size: 18px;\n}\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before {\n font-size: 32px;\n}\n.ql-snow .ql-color-picker.ql-background .ql-picker-item {\n background-color: #fff;\n}\n.ql-snow .ql-color-picker.ql-color .ql-picker-item {\n background-color: #000;\n}\n.ql-toolbar.ql-snow {\n border: 1px solid #ccc;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;\n padding: 8px;\n}\n.ql-toolbar.ql-snow .ql-formats {\n margin-right: 15px;\n}\n.ql-toolbar.ql-snow .ql-picker-label {\n border: 1px solid transparent;\n}\n.ql-toolbar.ql-snow .ql-picker-options {\n border: 1px solid transparent;\n -webkit-box-shadow: rgba(0,0,0,0.2) 0 2px 8px;\n box-shadow: rgba(0,0,0,0.2) 0 2px 8px;\n}\n.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label {\n border-color: #ccc;\n}\n.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {\n border-color: #ccc;\n}\n.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,\n.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover {\n border-color: #000;\n}\n.ql-toolbar.ql-snow + .ql-container.ql-snow {\n border-top: 0px;\n}\n.ql-snow .ql-tooltip {\n background-color: #fff;\n border: 1px solid #ccc;\n -webkit-box-shadow: 0px 0px 5px #ddd;\n box-shadow: 0px 0px 5px #ddd;\n color: #444;\n padding: 5px 12px;\n white-space: nowrap;\n}\n.ql-snow .ql-tooltip::before {\n content: \"Visit URL:\";\n line-height: 26px;\n margin-right: 8px;\n}\n.ql-snow .ql-tooltip input[type=text] {\n display: none;\n border: 1px solid #ccc;\n font-size: 13px;\n height: 26px;\n margin: 0px;\n padding: 3px 5px;\n width: 170px;\n}\n.ql-snow .ql-tooltip a.ql-preview {\n display: inline-block;\n max-width: 200px;\n overflow-x: hidden;\n text-overflow: ellipsis;\n vertical-align: top;\n}\n.ql-snow .ql-tooltip a.ql-action::after {\n border-right: 1px solid #ccc;\n content: 'Edit';\n margin-left: 16px;\n padding-right: 8px;\n}\n.ql-snow .ql-tooltip a.ql-remove::before {\n content: 'Remove';\n margin-left: 8px;\n}\n.ql-snow .ql-tooltip a {\n line-height: 26px;\n}\n.ql-snow .ql-tooltip.ql-editing a.ql-preview,\n.ql-snow .ql-tooltip.ql-editing a.ql-remove {\n display: none;\n}\n.ql-snow .ql-tooltip.ql-editing input[type=text] {\n display: inline-block;\n}\n.ql-snow .ql-tooltip.ql-editing a.ql-action::after {\n border-right: 0px;\n content: 'Save';\n padding-right: 0px;\n}\n.ql-snow .ql-tooltip[data-mode=link]::before {\n content: \"Enter link:\";\n}\n.ql-snow .ql-tooltip[data-mode=formula]::before {\n content: \"Enter formula:\";\n}\n.ql-snow .ql-tooltip[data-mode=video]::before {\n content: \"Enter video:\";\n}\n.ql-snow a {\n color: #06c;\n}\n.ql-container.ql-snow {\n border: 1px solid #ccc;\n}\n";
  36980. styleInject(css_248z);
  36981. script.render = render;
  36982. /***/ }),
  36983. /***/ "./node_modules/primevue/inputnumber/inputnumber.esm.js":
  36984. /*!**************************************************************!*\
  36985. !*** ./node_modules/primevue/inputnumber/inputnumber.esm.js ***!
  36986. \**************************************************************/
  36987. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  36988. "use strict";
  36989. __webpack_require__.r(__webpack_exports__);
  36990. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  36991. /* harmony export */ "default": () => (/* binding */ script)
  36992. /* harmony export */ });
  36993. /* harmony import */ var primevue_inputtext__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! primevue/inputtext */ "./node_modules/primevue/inputtext/inputtext.esm.js");
  36994. /* harmony import */ var primevue_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! primevue/button */ "./node_modules/primevue/button/button.esm.js");
  36995. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
  36996. var script = {
  36997. name: 'InputNumber',
  36998. inheritAttrs: false,
  36999. emits: ['update:modelValue', 'input', 'focus', 'blur'],
  37000. props: {
  37001. modelValue: {
  37002. type: Number,
  37003. default: null
  37004. },
  37005. format: {
  37006. type: Boolean,
  37007. default: true
  37008. },
  37009. showButtons: {
  37010. type: Boolean,
  37011. default: false
  37012. },
  37013. buttonLayout: {
  37014. type: String,
  37015. default: 'stacked'
  37016. },
  37017. incrementButtonClass: {
  37018. type: String,
  37019. default: null,
  37020. },
  37021. decrementButtonClass: {
  37022. type: String,
  37023. default: null,
  37024. },
  37025. incrementButtonIcon: {
  37026. type: String,
  37027. default: 'pi pi-angle-up',
  37028. },
  37029. decrementButtonIcon: {
  37030. type: String,
  37031. default: 'pi pi-angle-down',
  37032. },
  37033. locale: {
  37034. type: String,
  37035. default: undefined
  37036. },
  37037. localeMatcher: {
  37038. type: String,
  37039. default: undefined
  37040. },
  37041. mode: {
  37042. type: String,
  37043. default: 'decimal'
  37044. },
  37045. prefix: {
  37046. type: String,
  37047. default: null
  37048. },
  37049. suffix: {
  37050. type: String,
  37051. default: null
  37052. },
  37053. currency: {
  37054. type: String,
  37055. default: undefined
  37056. },
  37057. currencyDisplay: {
  37058. type: String,
  37059. default: undefined
  37060. },
  37061. useGrouping: {
  37062. type: Boolean,
  37063. default: true
  37064. },
  37065. minFractionDigits: {
  37066. type: Number,
  37067. default: undefined
  37068. },
  37069. maxFractionDigits: {
  37070. type: Number,
  37071. default: undefined
  37072. },
  37073. min: {
  37074. type: Number,
  37075. default: null
  37076. },
  37077. max: {
  37078. type: Number,
  37079. default: null
  37080. },
  37081. step: {
  37082. type: Number,
  37083. default: 1
  37084. },
  37085. allowEmpty: {
  37086. type: Boolean,
  37087. default: true
  37088. },
  37089. readonly: {
  37090. type: Boolean,
  37091. default: false
  37092. },
  37093. style: null,
  37094. class: null,
  37095. inputStyle: null,
  37096. inputClass: null
  37097. },
  37098. numberFormat: null,
  37099. _numeral: null,
  37100. _decimal: null,
  37101. _group: null,
  37102. _minusSign: null,
  37103. _currency: null,
  37104. _suffix: null,
  37105. _prefix: null,
  37106. _index: null,
  37107. groupChar: '',
  37108. isSpecialChar: null,
  37109. prefixChar: null,
  37110. suffixChar: null,
  37111. timer: null,
  37112. data() {
  37113. return {
  37114. d_modelValue: this.modelValue,
  37115. focused: false
  37116. }
  37117. },
  37118. watch: {
  37119. modelValue(newValue) {
  37120. this.d_modelValue = newValue;
  37121. },
  37122. locale(newValue, oldValue) {
  37123. this.updateConstructParser(newValue, oldValue);
  37124. },
  37125. localeMatcher(newValue, oldValue) {
  37126. this.updateConstructParser(newValue, oldValue);
  37127. },
  37128. mode(newValue, oldValue) {
  37129. this.updateConstructParser(newValue, oldValue);
  37130. },
  37131. currency(newValue, oldValue) {
  37132. this.updateConstructParser(newValue, oldValue);
  37133. },
  37134. currencyDisplay(newValue, oldValue) {
  37135. this.updateConstructParser(newValue, oldValue);
  37136. },
  37137. useGrouping(newValue, oldValue) {
  37138. this.updateConstructParser(newValue, oldValue);
  37139. },
  37140. minFractionDigits(newValue, oldValue) {
  37141. this.updateConstructParser(newValue, oldValue);
  37142. },
  37143. maxFractionDigits(newValue, oldValue) {
  37144. this.updateConstructParser(newValue, oldValue);
  37145. },
  37146. suffix(newValue, oldValue) {
  37147. this.updateConstructParser(newValue, oldValue);
  37148. },
  37149. prefix(newValue, oldValue) {
  37150. this.updateConstructParser(newValue, oldValue);
  37151. }
  37152. },
  37153. created() {
  37154. this.constructParser();
  37155. },
  37156. methods: {
  37157. getOptions() {
  37158. return {
  37159. localeMatcher: this.localeMatcher,
  37160. style: this.mode,
  37161. currency: this.currency,
  37162. currencyDisplay: this.currencyDisplay,
  37163. useGrouping: this.useGrouping,
  37164. minimumFractionDigits: this.minFractionDigits,
  37165. maximumFractionDigits: this.maxFractionDigits
  37166. };
  37167. },
  37168. constructParser() {
  37169. this.numberFormat = new Intl.NumberFormat(this.locale, this.getOptions());
  37170. const numerals = [...new Intl.NumberFormat(this.locale, {useGrouping: false}).format(9876543210)].reverse();
  37171. const index = new Map(numerals.map((d, i) => [d, i]));
  37172. this._numeral = new RegExp(`[${numerals.join('')}]`, 'g');
  37173. this._group = this.getGroupingExpression();
  37174. this._minusSign = this.getMinusSignExpression();
  37175. this._currency = this.getCurrencyExpression();
  37176. this._decimal = this.getDecimalExpression();
  37177. this._suffix = this.getSuffixExpression();
  37178. this._prefix = this.getPrefixExpression();
  37179. this._index = d => index.get(d);
  37180. },
  37181. updateConstructParser(newValue, oldValue) {
  37182. if (newValue !== oldValue) {
  37183. this.constructParser();
  37184. }
  37185. },
  37186. escapeRegExp(text) {
  37187. return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
  37188. },
  37189. getDecimalExpression() {
  37190. const formatter = new Intl.NumberFormat(this.locale, {...this.getOptions(), useGrouping: false});
  37191. return new RegExp(`[${formatter.format(1.1).replace(this._currency, '').trim().replace(this._numeral, '')}]`, 'g');
  37192. },
  37193. getGroupingExpression() {
  37194. const formatter = new Intl.NumberFormat(this.locale, {useGrouping: true});
  37195. this.groupChar = formatter.format(1000000).trim().replace(this._numeral, '').charAt(0);
  37196. return new RegExp(`[${this.groupChar}]`, 'g');
  37197. },
  37198. getMinusSignExpression() {
  37199. const formatter = new Intl.NumberFormat(this.locale, {useGrouping: false});
  37200. return new RegExp(`[${formatter.format(-1).trim().replace(this._numeral, '')}]`, 'g');
  37201. },
  37202. getCurrencyExpression() {
  37203. if (this.currency) {
  37204. const formatter = new Intl.NumberFormat(this.locale, {style: 'currency', currency: this.currency, currencyDisplay: this.currencyDisplay,
  37205. minimumFractionDigits: 0, maximumFractionDigits: 0});
  37206. return new RegExp(`[${formatter.format(1).replace(/\s/g, '').replace(this._numeral, '').replace(this._group, '')}]`, 'g');
  37207. }
  37208. return new RegExp(`[]`,'g');
  37209. },
  37210. getPrefixExpression() {
  37211. if (this.prefix) {
  37212. this.prefixChar = this.prefix;
  37213. }
  37214. else {
  37215. const formatter = new Intl.NumberFormat(this.locale, {style: this.mode, currency: this.currency, currencyDisplay: this.currencyDisplay});
  37216. this.prefixChar = formatter.format(1).split('1')[0];
  37217. }
  37218. return new RegExp(`${this.escapeRegExp(this.prefixChar||'')}`, 'g');
  37219. },
  37220. getSuffixExpression() {
  37221. if (this.suffix) {
  37222. this.suffixChar = this.suffix;
  37223. }
  37224. else {
  37225. const formatter = new Intl.NumberFormat(this.locale, {style: this.mode, currency: this.currency, currencyDisplay: this.currencyDisplay,
  37226. minimumFractionDigits: 0, maximumFractionDigits: 0});
  37227. this.suffixChar = formatter.format(1).split('1')[1];
  37228. }
  37229. return new RegExp(`${this.escapeRegExp(this.suffixChar||'')}`, 'g');
  37230. },
  37231. formatValue(value) {
  37232. if (value != null) {
  37233. if (value === '-') { // Minus sign
  37234. return value;
  37235. }
  37236. if (this.format) {
  37237. let formatter = new Intl.NumberFormat(this.locale, this.getOptions());
  37238. let formattedValue = formatter.format(value);
  37239. if (this.prefix) {
  37240. formattedValue = this.prefix + formattedValue;
  37241. }
  37242. if (this.suffix) {
  37243. formattedValue = formattedValue + this.suffix;
  37244. }
  37245. return formattedValue;
  37246. }
  37247. return value.toString();
  37248. }
  37249. return '';
  37250. },
  37251. parseValue(text) {
  37252. let filteredText = text
  37253. .replace(this._suffix, '')
  37254. .replace(this._prefix, '')
  37255. .trim()
  37256. .replace(/\s/g, '')
  37257. .replace(this._currency, '')
  37258. .replace(this._group, '')
  37259. .replace(this._minusSign, '-')
  37260. .replace(this._decimal, '.')
  37261. .replace(this._numeral, this._index);
  37262. if (filteredText) {
  37263. if (filteredText === '-') // Minus sign
  37264. return filteredText;
  37265. let parsedValue = +filteredText;
  37266. return isNaN(parsedValue) ? null : parsedValue;
  37267. }
  37268. return null;
  37269. },
  37270. repeat(event, interval, dir) {
  37271. if (this.readonly) {
  37272. return;
  37273. }
  37274. let i = interval || 500;
  37275. this.clearTimer();
  37276. this.timer = setTimeout(() => {
  37277. this.repeat(event, 40, dir);
  37278. }, i);
  37279. this.spin(event, dir);
  37280. },
  37281. spin(event, dir) {
  37282. if (this.$refs.input) {
  37283. let step = this.step * dir;
  37284. let currentValue = this.parseValue(this.$refs.input.$el.value) || 0;
  37285. let newValue = this.validateValue(currentValue + step);
  37286. this.updateInput(newValue, null, 'spin');
  37287. this.updateModel(event, newValue);
  37288. this.handleOnInput(event, currentValue, newValue);
  37289. }
  37290. },
  37291. onUpButtonMouseDown(event) {
  37292. if (!this.$attrs.disabled) {
  37293. this.$refs.input.$el.focus();
  37294. this.repeat(event, null, 1);
  37295. event.preventDefault();
  37296. }
  37297. },
  37298. onUpButtonMouseUp() {
  37299. if (!this.$attrs.disabled) {
  37300. this.clearTimer();
  37301. }
  37302. },
  37303. onUpButtonMouseLeave() {
  37304. if (!this.$attrs.disabled) {
  37305. this.clearTimer();
  37306. }
  37307. },
  37308. onUpButtonKeyUp() {
  37309. if (!this.$attrs.disabled) {
  37310. this.clearTimer();
  37311. }
  37312. },
  37313. onUpButtonKeyDown(event) {
  37314. if (event.keyCode === 32 || event.keyCode === 13) {
  37315. this.repeat(event, null, 1);
  37316. }
  37317. },
  37318. onDownButtonMouseDown(event) {
  37319. if (!this.$attrs.disabled) {
  37320. this.$refs.input.$el.focus();
  37321. this.repeat(event, null, -1);
  37322. event.preventDefault();
  37323. }
  37324. },
  37325. onDownButtonMouseUp() {
  37326. if (!this.$attrs.disabled) {
  37327. this.clearTimer();
  37328. }
  37329. },
  37330. onDownButtonMouseLeave() {
  37331. if (!this.$attrs.disabled) {
  37332. this.clearTimer();
  37333. }
  37334. },
  37335. onDownButtonKeyUp() {
  37336. if (!this.$attrs.disabled) {
  37337. this.clearTimer();
  37338. }
  37339. },
  37340. onDownButtonKeyDown(event) {
  37341. if (event.keyCode === 32 || event.keyCode === 13) {
  37342. this.repeat(event, null, -1);
  37343. }
  37344. },
  37345. onUserInput() {
  37346. if (this.isSpecialChar) {
  37347. this.$refs.input.$el.value = this.lastValue;
  37348. }
  37349. this.isSpecialChar = false;
  37350. },
  37351. onInputKeyDown(event) {
  37352. if (this.readonly) {
  37353. return;
  37354. }
  37355. this.lastValue = event.target.value;
  37356. if (event.shiftKey || event.altKey) {
  37357. this.isSpecialChar = true;
  37358. return;
  37359. }
  37360. let selectionStart = event.target.selectionStart;
  37361. let selectionEnd = event.target.selectionEnd;
  37362. let inputValue = event.target.value;
  37363. let newValueStr = null;
  37364. if (event.altKey) {
  37365. event.preventDefault();
  37366. }
  37367. switch (event.which) {
  37368. //up
  37369. case 38:
  37370. this.spin(event, 1);
  37371. event.preventDefault();
  37372. break;
  37373. //down
  37374. case 40:
  37375. this.spin(event, -1);
  37376. event.preventDefault();
  37377. break;
  37378. //left
  37379. case 37:
  37380. if (!this.isNumeralChar(inputValue.charAt(selectionStart - 1))) {
  37381. event.preventDefault();
  37382. }
  37383. break;
  37384. //right
  37385. case 39:
  37386. if (!this.isNumeralChar(inputValue.charAt(selectionStart))) {
  37387. event.preventDefault();
  37388. }
  37389. break;
  37390. //enter
  37391. case 13:
  37392. newValueStr = this.validateValue(this.parseValue(inputValue));
  37393. this.$refs.input.$el.value = this.formatValue(newValueStr);
  37394. this.$refs.input.$el.setAttribute('aria-valuenow', newValueStr);
  37395. this.updateModel(event, newValueStr);
  37396. break;
  37397. //backspace
  37398. case 8: {
  37399. event.preventDefault();
  37400. if (selectionStart === selectionEnd) {
  37401. const deleteChar = inputValue.charAt(selectionStart - 1);
  37402. const { decimalCharIndex, decimalCharIndexWithoutPrefix } = this.getDecimalCharIndexes(inputValue);
  37403. if (this.isNumeralChar(deleteChar)) {
  37404. const decimalLength = this.getDecimalLength(inputValue);
  37405. if (this._group.test(deleteChar)) {
  37406. this._group.lastIndex = 0;
  37407. newValueStr = inputValue.slice(0, selectionStart - 2) + inputValue.slice(selectionStart - 1);
  37408. }
  37409. else if (this._decimal.test(deleteChar)) {
  37410. this._decimal.lastIndex = 0;
  37411. if (decimalLength) {
  37412. this.$refs.input.$el.setSelectionRange(selectionStart - 1, selectionStart - 1);
  37413. }
  37414. else {
  37415. newValueStr = inputValue.slice(0, selectionStart - 1) + inputValue.slice(selectionStart);
  37416. }
  37417. }
  37418. else if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {
  37419. const insertedText = this.isDecimalMode() && (this.minFractionDigits || 0) < decimalLength ? '' : '0';
  37420. newValueStr = inputValue.slice(0, selectionStart - 1) + insertedText + inputValue.slice(selectionStart);
  37421. }
  37422. else if (decimalCharIndexWithoutPrefix === 1) {
  37423. newValueStr = inputValue.slice(0, selectionStart - 1) + '0' + inputValue.slice(selectionStart);
  37424. newValueStr = this.parseValue(newValueStr) > 0 ? newValueStr : '';
  37425. }
  37426. else {
  37427. newValueStr = inputValue.slice(0, selectionStart - 1) + inputValue.slice(selectionStart);
  37428. }
  37429. }
  37430. this.updateValue(event, newValueStr, null, 'delete-single');
  37431. }
  37432. else {
  37433. newValueStr = this.deleteRange(inputValue, selectionStart, selectionEnd);
  37434. this.updateValue(event, newValueStr, null, 'delete-range');
  37435. }
  37436. break;
  37437. }
  37438. // del
  37439. case 46:
  37440. event.preventDefault();
  37441. if (selectionStart === selectionEnd) {
  37442. const deleteChar = inputValue.charAt(selectionStart);
  37443. const { decimalCharIndex, decimalCharIndexWithoutPrefix } = this.getDecimalCharIndexes(inputValue);
  37444. if (this.isNumeralChar(deleteChar)) {
  37445. const decimalLength = this.getDecimalLength(inputValue);
  37446. if (this._group.test(deleteChar)) {
  37447. this._group.lastIndex = 0;
  37448. newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 2);
  37449. }
  37450. else if (this._decimal.test(deleteChar)) {
  37451. this._decimal.lastIndex = 0;
  37452. if (decimalLength) {
  37453. this.$refs.input.$el.setSelectionRange(selectionStart + 1, selectionStart + 1);
  37454. }
  37455. else {
  37456. newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 1);
  37457. }
  37458. }
  37459. else if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {
  37460. const insertedText = this.isDecimalMode() && (this.minFractionDigits || 0) < decimalLength ? '' : '0';
  37461. newValueStr = inputValue.slice(0, selectionStart) + insertedText + inputValue.slice(selectionStart + 1);
  37462. }
  37463. else if (decimalCharIndexWithoutPrefix === 1) {
  37464. newValueStr = inputValue.slice(0, selectionStart) + '0' + inputValue.slice(selectionStart + 1);
  37465. newValueStr = this.parseValue(newValueStr) > 0 ? newValueStr : '';
  37466. }
  37467. else {
  37468. newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 1);
  37469. }
  37470. }
  37471. this.updateValue(event, newValueStr, null, 'delete-back-single');
  37472. }
  37473. else {
  37474. newValueStr = this.deleteRange(inputValue, selectionStart, selectionEnd);
  37475. this.updateValue(event, newValueStr, null, 'delete-range');
  37476. }
  37477. break;
  37478. }
  37479. },
  37480. onInputKeyPress(event) {
  37481. if (this.readonly) {
  37482. return;
  37483. }
  37484. event.preventDefault();
  37485. let code = event.which || event.keyCode;
  37486. let char = String.fromCharCode(code);
  37487. const isDecimalSign = this.isDecimalSign(char);
  37488. const isMinusSign = this.isMinusSign(char);
  37489. if ((48 <= code && code <= 57) || isMinusSign || isDecimalSign) {
  37490. this.insert(event, char, { isDecimalSign, isMinusSign });
  37491. }
  37492. },
  37493. onPaste(event) {
  37494. event.preventDefault();
  37495. let data = (event.clipboardData || window['clipboardData']).getData('Text');
  37496. if (data) {
  37497. let filteredData = this.parseValue(data);
  37498. if (filteredData != null) {
  37499. this.insert(event, filteredData.toString());
  37500. }
  37501. }
  37502. },
  37503. allowMinusSign() {
  37504. return this.min === null || this.min < 0;
  37505. },
  37506. isMinusSign(char) {
  37507. if (this._minusSign.test(char) || char === '-') {
  37508. this._minusSign.lastIndex = 0;
  37509. return true;
  37510. }
  37511. return false;
  37512. },
  37513. isDecimalSign(char) {
  37514. if (this._decimal.test(char)) {
  37515. this._decimal.lastIndex = 0;
  37516. return true;
  37517. }
  37518. return false;
  37519. },
  37520. isDecimalMode() {
  37521. return this.mode === 'decimal';
  37522. },
  37523. getDecimalCharIndexes(val) {
  37524. let decimalCharIndex = val.search(this._decimal);
  37525. this._decimal.lastIndex = 0;
  37526. const filteredVal = val.replace(this._prefix, '').trim().replace(/\s/g, '').replace(this._currency, '');
  37527. const decimalCharIndexWithoutPrefix = filteredVal.search(this._decimal);
  37528. this._decimal.lastIndex = 0;
  37529. return { decimalCharIndex, decimalCharIndexWithoutPrefix };
  37530. },
  37531. getCharIndexes(val) {
  37532. const decimalCharIndex = val.search(this._decimal);
  37533. this._decimal.lastIndex = 0;
  37534. const minusCharIndex = val.search(this._minusSign);
  37535. this._minusSign.lastIndex = 0;
  37536. const suffixCharIndex = val.search(this._suffix);
  37537. this._suffix.lastIndex = 0;
  37538. const currencyCharIndex = val.search(this._currency);
  37539. this._currency.lastIndex = 0;
  37540. return { decimalCharIndex, minusCharIndex, suffixCharIndex, currencyCharIndex };
  37541. },
  37542. insert(event, text, sign = { isDecimalSign: false, isMinusSign: false }) {
  37543. const minusCharIndexOnText = text.search(this._minusSign);
  37544. this._minusSign.lastIndex = 0;
  37545. if (!this.allowMinusSign() && minusCharIndexOnText !== -1) {
  37546. return;
  37547. }
  37548. const selectionStart = this.$refs.input.$el.selectionStart;
  37549. const selectionEnd = this.$refs.input.$el.selectionEnd;
  37550. let inputValue = this.$refs.input.$el.value.trim();
  37551. const { decimalCharIndex, minusCharIndex, suffixCharIndex, currencyCharIndex } = this.getCharIndexes(inputValue);
  37552. let newValueStr;
  37553. if (sign.isMinusSign) {
  37554. if (selectionStart === 0) {
  37555. newValueStr = inputValue;
  37556. if (minusCharIndex === -1 || selectionEnd !== 0) {
  37557. newValueStr = this.insertText(inputValue, text, 0, selectionEnd);
  37558. }
  37559. this.updateValue(event, newValueStr, text, 'insert');
  37560. }
  37561. }
  37562. else if (sign.isDecimalSign) {
  37563. if (decimalCharIndex > 0 && selectionStart === decimalCharIndex) {
  37564. this.updateValue(event, inputValue, text, 'insert');
  37565. }
  37566. else if (decimalCharIndex > selectionStart && decimalCharIndex < selectionEnd) {
  37567. newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);
  37568. this.updateValue(event, newValueStr, text, 'insert');
  37569. }
  37570. else if (decimalCharIndex === -1 && this.maxFractionDigits) {
  37571. newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);
  37572. this.updateValue(event, newValueStr, text, 'insert');
  37573. }
  37574. }
  37575. else {
  37576. const maxFractionDigits = this.numberFormat.resolvedOptions().maximumFractionDigits;
  37577. const operation = selectionStart !== selectionEnd ? 'range-insert' : 'insert';
  37578. if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {
  37579. if ((selectionStart + text.length - (decimalCharIndex + 1)) <= maxFractionDigits) {
  37580. const charIndex = currencyCharIndex >= selectionStart ? currencyCharIndex - 1 : (suffixCharIndex >= selectionStart ? suffixCharIndex : inputValue.length);
  37581. newValueStr = inputValue.slice(0, selectionStart) + text + inputValue.slice(selectionStart + text.length, charIndex) + inputValue.slice(charIndex);
  37582. this.updateValue(event, newValueStr, text, operation);
  37583. }
  37584. }
  37585. else {
  37586. newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);
  37587. this.updateValue(event, newValueStr, text, operation);
  37588. }
  37589. }
  37590. },
  37591. insertText(value, text, start, end) {
  37592. let textSplit = text === '.' ? text : text.split('.');
  37593. if (textSplit.length === 2) {
  37594. const decimalCharIndex = value.slice(start, end).search(this._decimal);
  37595. this._decimal.lastIndex = 0;
  37596. return (decimalCharIndex > 0) ? value.slice(0, start) + this.formatValue(text) + value.slice(end) : (value || this.formatValue(text));
  37597. }
  37598. else if ((end - start) === value.length) {
  37599. return this.formatValue(text);
  37600. }
  37601. else if (start === 0) {
  37602. return text + value.slice(end);
  37603. }
  37604. else if (end === value.length) {
  37605. return value.slice(0, start) + text;
  37606. }
  37607. else {
  37608. return value.slice(0, start) + text + value.slice(end);
  37609. }
  37610. },
  37611. deleteRange(value, start, end) {
  37612. let newValueStr;
  37613. if ((end - start) === value.length)
  37614. newValueStr = '';
  37615. else if (start === 0)
  37616. newValueStr = value.slice(end);
  37617. else if (end === value.length)
  37618. newValueStr = value.slice(0, start);
  37619. else
  37620. newValueStr = value.slice(0, start) + value.slice(end);
  37621. return newValueStr;
  37622. },
  37623. initCursor() {
  37624. let selectionStart = this.$refs.input.$el.selectionStart;
  37625. let inputValue = this.$refs.input.$el.value;
  37626. let valueLength = inputValue.length;
  37627. let index = null;
  37628. // remove prefix
  37629. let prefixLength = (this.prefixChar || '').length;
  37630. inputValue = inputValue.replace(this._prefix, '');
  37631. selectionStart = selectionStart - prefixLength;
  37632. let char = inputValue.charAt(selectionStart);
  37633. if (this.isNumeralChar(char)) {
  37634. return selectionStart + prefixLength;
  37635. }
  37636. //left
  37637. let i = selectionStart - 1;
  37638. while (i >= 0) {
  37639. char = inputValue.charAt(i);
  37640. if (this.isNumeralChar(char)) {
  37641. index = i + prefixLength;
  37642. break;
  37643. }
  37644. else {
  37645. i--;
  37646. }
  37647. }
  37648. if (index !== null) {
  37649. this.$refs.input.$el.setSelectionRange(index + 1, index + 1);
  37650. }
  37651. else {
  37652. i = selectionStart;
  37653. while (i < valueLength) {
  37654. char = inputValue.charAt(i);
  37655. if (this.isNumeralChar(char)) {
  37656. index = i + prefixLength;
  37657. break;
  37658. }
  37659. else {
  37660. i++;
  37661. }
  37662. }
  37663. if (index !== null) {
  37664. this.$refs.input.$el.setSelectionRange(index, index);
  37665. }
  37666. }
  37667. return index || 0;
  37668. },
  37669. onInputClick() {
  37670. if (!this.readonly) {
  37671. this.initCursor();
  37672. }
  37673. },
  37674. isNumeralChar(char) {
  37675. if (char.length === 1 && (this._numeral.test(char) || this._decimal.test(char) || this._group.test(char) || this._minusSign.test(char))) {
  37676. this.resetRegex();
  37677. return true;
  37678. }
  37679. return false;
  37680. },
  37681. resetRegex() {
  37682. this._numeral.lastIndex = 0;
  37683. this._decimal.lastIndex = 0;
  37684. this._group.lastIndex = 0;
  37685. this._minusSign.lastIndex = 0;
  37686. },
  37687. updateValue(event, valueStr, insertedValueStr, operation) {
  37688. let currentValue = this.$refs.input.$el.value;
  37689. let newValue = null;
  37690. if (valueStr != null) {
  37691. newValue = this.parseValue(valueStr);
  37692. newValue = !newValue && !this.allowEmpty ? 0 : newValue;
  37693. this.updateInput(newValue, insertedValueStr, operation, valueStr);
  37694. this.handleOnInput(event, currentValue, newValue);
  37695. }
  37696. },
  37697. handleOnInput(event, currentValue, newValue) {
  37698. if (this.isValueChanged(currentValue, newValue)) {
  37699. this.$emit('input', { originalEvent: event, value: newValue });
  37700. }
  37701. },
  37702. isValueChanged(currentValue, newValue) {
  37703. if (newValue === null && currentValue !== null) {
  37704. return true;
  37705. }
  37706. if (newValue != null) {
  37707. let parsedCurrentValue = (typeof currentValue === 'string') ? this.parseValue(currentValue) : currentValue;
  37708. return newValue !== parsedCurrentValue;
  37709. }
  37710. return false;
  37711. },
  37712. validateValue(value) {
  37713. if (value === '-' || value == null) {
  37714. return null;
  37715. }
  37716. if (this.min != null && value < this.min) {
  37717. return this.min;
  37718. }
  37719. if (this.max != null && value > this.max) {
  37720. return this.max;
  37721. }
  37722. return value;
  37723. },
  37724. updateInput(value, insertedValueStr, operation, valueStr) {
  37725. insertedValueStr = insertedValueStr || '';
  37726. let inputValue = this.$refs.input.$el.value;
  37727. let newValue = this.formatValue(value);
  37728. let currentLength = inputValue.length;
  37729. if (newValue !== valueStr) {
  37730. newValue = this.concatValues(newValue, valueStr);
  37731. }
  37732. if (currentLength === 0) {
  37733. this.$refs.input.$el.value = newValue;
  37734. this.$refs.input.$el.setSelectionRange(0, 0);
  37735. const index = this.initCursor();
  37736. const selectionEnd = index + insertedValueStr.length;
  37737. this.$refs.input.$el.setSelectionRange(selectionEnd, selectionEnd);
  37738. }
  37739. else {
  37740. let selectionStart = this.$refs.input.$el.selectionStart;
  37741. let selectionEnd = this.$refs.input.$el.selectionEnd;
  37742. this.$refs.input.$el.value = newValue;
  37743. let newLength = newValue.length;
  37744. if (operation === 'range-insert') {
  37745. const startValue = this.parseValue((inputValue || '').slice(0, selectionStart));
  37746. const startValueStr = startValue !== null ? startValue.toString() : '';
  37747. const startExpr = startValueStr.split('').join(`(${this.groupChar})?`);
  37748. const sRegex = new RegExp(startExpr, 'g');
  37749. sRegex.test(newValue);
  37750. const tExpr = insertedValueStr.split('').join(`(${this.groupChar})?`);
  37751. const tRegex = new RegExp(tExpr, 'g');
  37752. tRegex.test(newValue.slice(sRegex.lastIndex));
  37753. selectionEnd = sRegex.lastIndex + tRegex.lastIndex;
  37754. this.$refs.input.$el.setSelectionRange(selectionEnd, selectionEnd);
  37755. }
  37756. else if (newLength === currentLength) {
  37757. if (operation === 'insert' || operation === 'delete-back-single')
  37758. this.$refs.input.$el.setSelectionRange(selectionEnd + 1, selectionEnd + 1);
  37759. else if (operation === 'delete-single')
  37760. this.$refs.input.$el.setSelectionRange(selectionEnd - 1, selectionEnd - 1);
  37761. else if (operation === 'delete-range' || operation === 'spin')
  37762. this.$refs.input.$el.setSelectionRange(selectionEnd, selectionEnd);
  37763. }
  37764. else if (operation === 'delete-back-single') {
  37765. let prevChar = inputValue.charAt(selectionEnd - 1);
  37766. let nextChar = inputValue.charAt(selectionEnd);
  37767. let diff = currentLength - newLength;
  37768. let isGroupChar = this._group.test(nextChar);
  37769. if (isGroupChar && diff === 1) {
  37770. selectionEnd += 1;
  37771. }
  37772. else if (!isGroupChar && this.isNumeralChar(prevChar)) {
  37773. selectionEnd += (-1 * diff) + 1;
  37774. }
  37775. this._group.lastIndex = 0;
  37776. this.$refs.input.$el.setSelectionRange(selectionEnd, selectionEnd);
  37777. }
  37778. else if (inputValue === '-' && operation === 'insert') {
  37779. this.$refs.input.$el.setSelectionRange(0, 0);
  37780. const index = this.initCursor();
  37781. const selectionEnd = index + insertedValueStr.length + 1;
  37782. this.$refs.input.$el.setSelectionRange(selectionEnd, selectionEnd);
  37783. }
  37784. else {
  37785. selectionEnd = selectionEnd + (newLength - currentLength);
  37786. this.$refs.input.$el.setSelectionRange(selectionEnd, selectionEnd);
  37787. }
  37788. }
  37789. this.$refs.input.$el.setAttribute('aria-valuenow', value);
  37790. },
  37791. concatValues(val1, val2) {
  37792. if (val1 && val2) {
  37793. let decimalCharIndex = val2.search(this._decimal);
  37794. this._decimal.lastIndex = 0;
  37795. return decimalCharIndex !== -1 ? (val1.split(this._decimal)[0] + val2.slice(decimalCharIndex)) : val1;
  37796. }
  37797. return val1;
  37798. },
  37799. getDecimalLength(value) {
  37800. if (value) {
  37801. const valueSplit = value.split(this._decimal);
  37802. if (valueSplit.length === 2) {
  37803. return valueSplit[1].replace(this._suffix, '')
  37804. .trim()
  37805. .replace(/\s/g, '')
  37806. .replace(this._currency, '').length;
  37807. }
  37808. }
  37809. return 0;
  37810. },
  37811. updateModel(event, value) {
  37812. this.d_modelValue = value;
  37813. this.$emit('update:modelValue', value);
  37814. },
  37815. onInputFocus(event) {
  37816. this.focused = true;
  37817. this.$emit('focus', event);
  37818. },
  37819. onInputBlur(event) {
  37820. this.focused = false;
  37821. let input = event.target;
  37822. let newValue = this.validateValue(this.parseValue(input.value));
  37823. this.$emit('blur', { originalEvent: event, value: input.value});
  37824. input.value = this.formatValue(newValue);
  37825. input.setAttribute('aria-valuenow', newValue);
  37826. this.updateModel(event, newValue);
  37827. },
  37828. clearTimer() {
  37829. if (this.timer) {
  37830. clearInterval(this.timer);
  37831. }
  37832. },
  37833. maxBoundry() {
  37834. return this.d_modelValue >= this.max;
  37835. },
  37836. minBoundry() {
  37837. return this.d_modelValue <= this.min;
  37838. },
  37839. },
  37840. computed: {
  37841. containerClass() {
  37842. return ['p-inputnumber p-component p-inputwrapper', this.class, {
  37843. 'p-inputwrapper-filled': this.filled,
  37844. 'p-inputwrapper-focus': this.focused,
  37845. 'p-inputnumber-buttons-stacked': this.showButtons && this.buttonLayout === 'stacked',
  37846. 'p-inputnumber-buttons-horizontal': this.showButtons && this.buttonLayout === 'horizontal',
  37847. 'p-inputnumber-buttons-vertical': this.showButtons && this.buttonLayout === 'vertical'
  37848. }];
  37849. },
  37850. upButtonClass() {
  37851. return ['p-inputnumber-button p-inputnumber-button-up', this.incrementButtonClass, {
  37852. 'p-disabled': this.showButtons && this.max !== null && this.maxBoundry()
  37853. }];
  37854. },
  37855. downButtonClass() {
  37856. return ['p-inputnumber-button p-inputnumber-button-down', this.decrementButtonClass, {
  37857. 'p-disabled': this.showButtons && this.min !== null && this.minBoundry()
  37858. }];
  37859. },
  37860. filled() {
  37861. return (this.modelValue != null && this.modelValue.toString().length > 0)
  37862. },
  37863. upButtonListeners() {
  37864. return {
  37865. mousedown: event => this.onUpButtonMouseDown(event),
  37866. mouseup: event => this.onUpButtonMouseUp(event),
  37867. mouseleave: event => this.onUpButtonMouseLeave(event),
  37868. keydown: event => this.onUpButtonKeyDown(event),
  37869. keyup: event => this.onUpButtonKeyUp(event)
  37870. }
  37871. },
  37872. downButtonListeners() {
  37873. return {
  37874. mousedown: event => this.onDownButtonMouseDown(event),
  37875. mouseup: event => this.onDownButtonMouseUp(event),
  37876. mouseleave: event => this.onDownButtonMouseLeave(event),
  37877. keydown: event => this.onDownButtonKeyDown(event),
  37878. keyup: event => this.onDownButtonKeyUp(event)
  37879. }
  37880. },
  37881. formattedValue() {
  37882. const val = !this.modelValue && !this.allowEmpty ? 0 : this.modelValue;
  37883. return this.formatValue(val);
  37884. },
  37885. getFormatter() {
  37886. return this.numberFormat;
  37887. }
  37888. },
  37889. components: {
  37890. 'INInputText': primevue_inputtext__WEBPACK_IMPORTED_MODULE_0__["default"],
  37891. 'INButton': primevue_button__WEBPACK_IMPORTED_MODULE_1__["default"]
  37892. }
  37893. };
  37894. const _hoisted_1 = {
  37895. key: 0,
  37896. class: "p-inputnumber-button-group"
  37897. };
  37898. function render(_ctx, _cache, $props, $setup, $data, $options) {
  37899. const _component_INInputText = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)("INInputText");
  37900. const _component_INButton = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)("INButton");
  37901. return ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)("span", {
  37902. class: (0,vue__WEBPACK_IMPORTED_MODULE_2__.normalizeClass)($options.containerClass),
  37903. style: (0,vue__WEBPACK_IMPORTED_MODULE_2__.normalizeStyle)($props.style)
  37904. }, [
  37905. (0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_INInputText, (0,vue__WEBPACK_IMPORTED_MODULE_2__.mergeProps)({
  37906. ref: "input",
  37907. class: ['p-inputnumber-input', $props.inputClass],
  37908. style: $props.inputStyle,
  37909. value: $options.formattedValue
  37910. }, _ctx.$attrs, {
  37911. "aria-valumin": $props.min,
  37912. "aria-valuemax": $props.max,
  37913. readonly: $props.readonly,
  37914. onInput: $options.onUserInput,
  37915. onKeydown: $options.onInputKeyDown,
  37916. onKeypress: $options.onInputKeyPress,
  37917. onPaste: $options.onPaste,
  37918. onClick: $options.onInputClick,
  37919. onFocus: $options.onInputFocus,
  37920. onBlur: $options.onInputBlur
  37921. }), null, 16, ["class", "style", "value", "aria-valumin", "aria-valuemax", "readonly", "onInput", "onKeydown", "onKeypress", "onPaste", "onClick", "onFocus", "onBlur"]),
  37922. ($props.showButtons && $props.buttonLayout === 'stacked')
  37923. ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)("span", _hoisted_1, [
  37924. (0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_INButton, (0,vue__WEBPACK_IMPORTED_MODULE_2__.mergeProps)({
  37925. class: $options.upButtonClass,
  37926. icon: $props.incrementButtonIcon
  37927. }, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toHandlers)($options.upButtonListeners), {
  37928. disabled: _ctx.$attrs.disabled
  37929. }), null, 16, ["class", "icon", "disabled"]),
  37930. (0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_INButton, (0,vue__WEBPACK_IMPORTED_MODULE_2__.mergeProps)({
  37931. class: $options.downButtonClass,
  37932. icon: $props.decrementButtonIcon
  37933. }, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toHandlers)($options.downButtonListeners), {
  37934. disabled: _ctx.$attrs.disabled
  37935. }), null, 16, ["class", "icon", "disabled"])
  37936. ]))
  37937. : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)("", true),
  37938. ($props.showButtons && $props.buttonLayout !== 'stacked')
  37939. ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createBlock)(_component_INButton, (0,vue__WEBPACK_IMPORTED_MODULE_2__.mergeProps)({
  37940. key: 1,
  37941. class: $options.upButtonClass,
  37942. icon: $props.incrementButtonIcon
  37943. }, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toHandlers)($options.upButtonListeners), {
  37944. disabled: _ctx.$attrs.disabled
  37945. }), null, 16, ["class", "icon", "disabled"]))
  37946. : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)("", true),
  37947. ($props.showButtons && $props.buttonLayout !== 'stacked')
  37948. ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createBlock)(_component_INButton, (0,vue__WEBPACK_IMPORTED_MODULE_2__.mergeProps)({
  37949. key: 2,
  37950. class: $options.downButtonClass,
  37951. icon: $props.decrementButtonIcon
  37952. }, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toHandlers)($options.downButtonListeners), {
  37953. disabled: _ctx.$attrs.disabled
  37954. }), null, 16, ["class", "icon", "disabled"]))
  37955. : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)("", true)
  37956. ], 6))
  37957. }
  37958. function styleInject(css, ref) {
  37959. if ( ref === void 0 ) ref = {};
  37960. var insertAt = ref.insertAt;
  37961. if (!css || typeof document === 'undefined') { return; }
  37962. var head = document.head || document.getElementsByTagName('head')[0];
  37963. var style = document.createElement('style');
  37964. style.type = 'text/css';
  37965. if (insertAt === 'top') {
  37966. if (head.firstChild) {
  37967. head.insertBefore(style, head.firstChild);
  37968. } else {
  37969. head.appendChild(style);
  37970. }
  37971. } else {
  37972. head.appendChild(style);
  37973. }
  37974. if (style.styleSheet) {
  37975. style.styleSheet.cssText = css;
  37976. } else {
  37977. style.appendChild(document.createTextNode(css));
  37978. }
  37979. }
  37980. var css_248z = "\n.p-inputnumber {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n}\n.p-inputnumber-button {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n}\n.p-inputnumber-buttons-stacked .p-button.p-inputnumber-button .p-button-label,\n.p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button .p-button-label {\n display: none;\n}\n.p-inputnumber-buttons-stacked .p-button.p-inputnumber-button-up {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n padding: 0;\n}\n.p-inputnumber-buttons-stacked .p-inputnumber-input {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.p-inputnumber-buttons-stacked .p-button.p-inputnumber-button-down {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-left-radius: 0;\n padding: 0;\n}\n.p-inputnumber-buttons-stacked .p-inputnumber-button-group {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-inputnumber-buttons-stacked .p-inputnumber-button-group .p-button.p-inputnumber-button {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n}\n.p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button-up {\n -webkit-box-ordinal-group: 4;\n -ms-flex-order: 3;\n order: 3;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.p-inputnumber-buttons-horizontal .p-inputnumber-input {\n -webkit-box-ordinal-group: 3;\n -ms-flex-order: 2;\n order: 2;\n border-radius: 0;\n}\n.p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button-down {\n -webkit-box-ordinal-group: 2;\n -ms-flex-order: 1;\n order: 1;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.p-inputnumber-buttons-vertical {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-inputnumber-buttons-vertical .p-button.p-inputnumber-button-up {\n -webkit-box-ordinal-group: 2;\n -ms-flex-order: 1;\n order: 1;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n width: 100%;\n}\n.p-inputnumber-buttons-vertical .p-inputnumber-input {\n -webkit-box-ordinal-group: 3;\n -ms-flex-order: 2;\n order: 2;\n border-radius: 0;\n text-align: center;\n}\n.p-inputnumber-buttons-vertical .p-button.p-inputnumber-button-down {\n -webkit-box-ordinal-group: 4;\n -ms-flex-order: 3;\n order: 3;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n width: 100%;\n}\n.p-inputnumber-input {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n}\n.p-fluid .p-inputnumber {\n width: 100%;\n}\n.p-fluid .p-inputnumber .p-inputnumber-input {\n width: 1%;\n}\n.p-fluid .p-inputnumber-buttons-vertical .p-inputnumber-input {\n width: 100%;\n}\n";
  37981. styleInject(css_248z);
  37982. script.render = render;
  37983. /***/ }),
  37984. /***/ "./node_modules/primevue/inputtext/inputtext.esm.js":
  37985. /*!**********************************************************!*\
  37986. !*** ./node_modules/primevue/inputtext/inputtext.esm.js ***!
  37987. \**********************************************************/
  37988. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  37989. "use strict";
  37990. __webpack_require__.r(__webpack_exports__);
  37991. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  37992. /* harmony export */ "default": () => (/* binding */ script)
  37993. /* harmony export */ });
  37994. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
  37995. var script = {
  37996. name: 'InputText',
  37997. emits: ['update:modelValue'],
  37998. props: {
  37999. modelValue: null
  38000. },
  38001. methods: {
  38002. onInput(event) {
  38003. this.$emit('update:modelValue', event.target.value);
  38004. }
  38005. },
  38006. computed: {
  38007. filled() {
  38008. return (this.modelValue != null && this.modelValue.toString().length > 0)
  38009. }
  38010. }
  38011. };
  38012. const _hoisted_1 = ["value"];
  38013. function render(_ctx, _cache, $props, $setup, $data, $options) {
  38014. return ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("input", (0,vue__WEBPACK_IMPORTED_MODULE_0__.mergeProps)({
  38015. class: ['p-inputtext p-component', {'p-filled': $options.filled}],
  38016. value: $props.modelValue,
  38017. onInput: _cache[0] || (_cache[0] = (...args) => ($options.onInput && $options.onInput(...args)))
  38018. }, _ctx.$attrs), null, 16, _hoisted_1))
  38019. }
  38020. script.render = render;
  38021. /***/ }),
  38022. /***/ "./node_modules/primevue/message/message.esm.js":
  38023. /*!******************************************************!*\
  38024. !*** ./node_modules/primevue/message/message.esm.js ***!
  38025. \******************************************************/
  38026. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  38027. "use strict";
  38028. __webpack_require__.r(__webpack_exports__);
  38029. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  38030. /* harmony export */ "default": () => (/* binding */ script)
  38031. /* harmony export */ });
  38032. /* harmony import */ var primevue_ripple__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! primevue/ripple */ "./node_modules/primevue/ripple/ripple.esm.js");
  38033. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
  38034. var script = {
  38035. name: 'Message',
  38036. emits: ['close'],
  38037. props: {
  38038. severity: {
  38039. type: String,
  38040. default: 'info'
  38041. },
  38042. closable: {
  38043. type: Boolean,
  38044. default: true
  38045. },
  38046. sticky: {
  38047. type: Boolean,
  38048. default: true
  38049. },
  38050. life: {
  38051. type: Number,
  38052. default: 3000
  38053. },
  38054. icon: {
  38055. type: String,
  38056. default: null
  38057. },
  38058. },
  38059. timeout: null,
  38060. data() {
  38061. return {
  38062. visible: true
  38063. }
  38064. },
  38065. mounted() {
  38066. if (!this.sticky) {
  38067. setTimeout(() => {
  38068. this.visible = false;
  38069. }, this.life);
  38070. }
  38071. },
  38072. methods: {
  38073. close(event) {
  38074. this.visible = false;
  38075. this.$emit('close', event);
  38076. }
  38077. },
  38078. computed: {
  38079. containerClass() {
  38080. return 'p-message p-component p-message-' + this.severity;
  38081. },
  38082. iconClass() {
  38083. return ['p-message-icon pi', this.icon ? this.icon : {
  38084. 'pi-info-circle': this.severity === 'info',
  38085. 'pi-check': this.severity === 'success',
  38086. 'pi-exclamation-triangle': this.severity === 'warn',
  38087. 'pi-times-circle': this.severity === 'error'
  38088. }];
  38089. }
  38090. },
  38091. directives: {
  38092. 'ripple': primevue_ripple__WEBPACK_IMPORTED_MODULE_0__["default"]
  38093. }
  38094. };
  38095. const _hoisted_1 = { class: "p-message-wrapper" };
  38096. const _hoisted_2 = { class: "p-message-text" };
  38097. const _hoisted_3 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("i", { class: "p-message-close-icon pi pi-times" }, null, -1);
  38098. const _hoisted_4 = [
  38099. _hoisted_3
  38100. ];
  38101. function render(_ctx, _cache, $props, $setup, $data, $options) {
  38102. const _directive_ripple = (0,vue__WEBPACK_IMPORTED_MODULE_1__.resolveDirective)("ripple");
  38103. return ((0,vue__WEBPACK_IMPORTED_MODULE_1__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createBlock)(vue__WEBPACK_IMPORTED_MODULE_1__.Transition, {
  38104. name: "p-message",
  38105. appear: ""
  38106. }, {
  38107. default: (0,vue__WEBPACK_IMPORTED_MODULE_1__.withCtx)(() => [
  38108. (0,vue__WEBPACK_IMPORTED_MODULE_1__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("div", {
  38109. class: (0,vue__WEBPACK_IMPORTED_MODULE_1__.normalizeClass)($options.containerClass),
  38110. role: "alert"
  38111. }, [
  38112. (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("div", _hoisted_1, [
  38113. (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("span", {
  38114. class: (0,vue__WEBPACK_IMPORTED_MODULE_1__.normalizeClass)($options.iconClass)
  38115. }, null, 2),
  38116. (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode)("div", _hoisted_2, [
  38117. (0,vue__WEBPACK_IMPORTED_MODULE_1__.renderSlot)(_ctx.$slots, "default")
  38118. ]),
  38119. ($props.closable)
  38120. ? (0,vue__WEBPACK_IMPORTED_MODULE_1__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_1__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_1__.createElementBlock)("button", {
  38121. key: 0,
  38122. class: "p-message-close p-link",
  38123. onClick: _cache[0] || (_cache[0] = $event => ($options.close($event))),
  38124. type: "button"
  38125. }, _hoisted_4)), [
  38126. [_directive_ripple]
  38127. ])
  38128. : (0,vue__WEBPACK_IMPORTED_MODULE_1__.createCommentVNode)("", true)
  38129. ])
  38130. ], 2), [
  38131. [vue__WEBPACK_IMPORTED_MODULE_1__.vShow, $data.visible]
  38132. ])
  38133. ]),
  38134. _: 3
  38135. }))
  38136. }
  38137. function styleInject(css, ref) {
  38138. if ( ref === void 0 ) ref = {};
  38139. var insertAt = ref.insertAt;
  38140. if (!css || typeof document === 'undefined') { return; }
  38141. var head = document.head || document.getElementsByTagName('head')[0];
  38142. var style = document.createElement('style');
  38143. style.type = 'text/css';
  38144. if (insertAt === 'top') {
  38145. if (head.firstChild) {
  38146. head.insertBefore(style, head.firstChild);
  38147. } else {
  38148. head.appendChild(style);
  38149. }
  38150. } else {
  38151. head.appendChild(style);
  38152. }
  38153. if (style.styleSheet) {
  38154. style.styleSheet.cssText = css;
  38155. } else {
  38156. style.appendChild(document.createTextNode(css));
  38157. }
  38158. }
  38159. var css_248z = "\n.p-message-wrapper {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.p-message-close {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.p-message-close.p-link {\n margin-left: auto;\n overflow: hidden;\n position: relative;\n}\n.p-message-enter-from {\n opacity: 0;\n}\n.p-message-enter-active {\n -webkit-transition: opacity .3s;\n transition: opacity .3s;\n}\n.p-message.p-message-leave-from {\n max-height: 1000px;\n}\n.p-message.p-message-leave-to {\n max-height: 0;\n opacity: 0;\n margin: 0 !important;\n}\n.p-message-leave-active {\n overflow: hidden;\n -webkit-transition: max-height .3s cubic-bezier(0, 1, 0, 1), opacity .3s, margin .15s;\n transition: max-height .3s cubic-bezier(0, 1, 0, 1), opacity .3s, margin .15s;\n}\n.p-message-leave-active .p-message-close {\n display: none;\n}\n";
  38160. styleInject(css_248z);
  38161. script.render = render;
  38162. /***/ }),
  38163. /***/ "./node_modules/primevue/overlayeventbus/overlayeventbus.esm.js":
  38164. /*!**********************************************************************!*\
  38165. !*** ./node_modules/primevue/overlayeventbus/overlayeventbus.esm.js ***!
  38166. \**********************************************************************/
  38167. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  38168. "use strict";
  38169. __webpack_require__.r(__webpack_exports__);
  38170. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  38171. /* harmony export */ "default": () => (/* binding */ OverlayEventBus)
  38172. /* harmony export */ });
  38173. /* harmony import */ var primevue_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! primevue/utils */ "./node_modules/primevue/utils/utils.esm.js");
  38174. var OverlayEventBus = (0,primevue_utils__WEBPACK_IMPORTED_MODULE_0__.EventBus)();
  38175. /***/ }),
  38176. /***/ "./node_modules/primevue/paginator/paginator.esm.js":
  38177. /*!**********************************************************!*\
  38178. !*** ./node_modules/primevue/paginator/paginator.esm.js ***!
  38179. \**********************************************************/
  38180. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  38181. "use strict";
  38182. __webpack_require__.r(__webpack_exports__);
  38183. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  38184. /* harmony export */ "default": () => (/* binding */ script)
  38185. /* harmony export */ });
  38186. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
  38187. /* harmony import */ var primevue_ripple__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! primevue/ripple */ "./node_modules/primevue/ripple/ripple.esm.js");
  38188. /* harmony import */ var primevue_dropdown__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! primevue/dropdown */ "./node_modules/primevue/dropdown/dropdown.esm.js");
  38189. /* harmony import */ var primevue_inputnumber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! primevue/inputnumber */ "./node_modules/primevue/inputnumber/inputnumber.esm.js");
  38190. var script$9 = {
  38191. name: 'CurrentPageReport',
  38192. inheritAttrs: false,
  38193. props: {
  38194. pageCount: {
  38195. type: Number,
  38196. default: 0
  38197. },
  38198. currentPage: {
  38199. type: Number,
  38200. default: 0
  38201. },
  38202. page: {
  38203. type: Number,
  38204. default: 0
  38205. },
  38206. first: {
  38207. type: Number,
  38208. default: 0
  38209. },
  38210. rows: {
  38211. type: Number,
  38212. default: 0
  38213. },
  38214. totalRecords: {
  38215. type: Number,
  38216. default: 0
  38217. },
  38218. template: {
  38219. type: String,
  38220. default: '({currentPage} of {totalPages})'
  38221. }
  38222. },
  38223. computed: {
  38224. text() {
  38225. let text = this.template
  38226. .replace("{currentPage}", this.currentPage)
  38227. .replace("{totalPages}", this.pageCount)
  38228. .replace("{first}", this.pageCount > 0 ? this.first + 1 : 0)
  38229. .replace("{last}", Math.min(this.first + this.rows, this.totalRecords))
  38230. .replace("{rows}", this.rows)
  38231. .replace("{totalRecords}", this.totalRecords);
  38232. return text;
  38233. }
  38234. }
  38235. };
  38236. const _hoisted_1$6 = { class: "p-paginator-current" };
  38237. function render$9(_ctx, _cache, $props, $setup, $data, $options) {
  38238. return ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("span", _hoisted_1$6, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($options.text), 1))
  38239. }
  38240. script$9.render = render$9;
  38241. var script$8 = {
  38242. name: 'FirstPageLink',
  38243. computed: {
  38244. containerClass() {
  38245. return ['p-paginator-first p-paginator-element p-link', {
  38246. 'p-disabled': this.$attrs.disabled
  38247. }];
  38248. }
  38249. },
  38250. directives: {
  38251. 'ripple': primevue_ripple__WEBPACK_IMPORTED_MODULE_1__["default"]
  38252. }
  38253. };
  38254. const _hoisted_1$5 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("span", { class: "p-paginator-icon pi pi-angle-double-left" }, null, -1);
  38255. const _hoisted_2$5 = [
  38256. _hoisted_1$5
  38257. ];
  38258. function render$8(_ctx, _cache, $props, $setup, $data, $options) {
  38259. const _directive_ripple = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveDirective)("ripple");
  38260. return (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("button", {
  38261. class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($options.containerClass),
  38262. type: "button"
  38263. }, _hoisted_2$5, 2)), [
  38264. [_directive_ripple]
  38265. ])
  38266. }
  38267. script$8.render = render$8;
  38268. var script$7 = {
  38269. name: 'LastPageLink',
  38270. computed: {
  38271. containerClass() {
  38272. return ['p-paginator-last p-paginator-element p-link', {
  38273. 'p-disabled': this.$attrs.disabled
  38274. }];
  38275. }
  38276. },
  38277. directives: {
  38278. 'ripple': primevue_ripple__WEBPACK_IMPORTED_MODULE_1__["default"]
  38279. }
  38280. };
  38281. const _hoisted_1$4 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("span", { class: "p-paginator-icon pi pi-angle-double-right" }, null, -1);
  38282. const _hoisted_2$4 = [
  38283. _hoisted_1$4
  38284. ];
  38285. function render$7(_ctx, _cache, $props, $setup, $data, $options) {
  38286. const _directive_ripple = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveDirective)("ripple");
  38287. return (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("button", {
  38288. class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($options.containerClass),
  38289. type: "button"
  38290. }, _hoisted_2$4, 2)), [
  38291. [_directive_ripple]
  38292. ])
  38293. }
  38294. script$7.render = render$7;
  38295. var script$6 = {
  38296. name: 'NextPageLink',
  38297. computed: {
  38298. containerClass() {
  38299. return ['p-paginator-next p-paginator-element p-link', {
  38300. 'p-disabled': this.$attrs.disabled
  38301. }];
  38302. }
  38303. },
  38304. directives: {
  38305. 'ripple': primevue_ripple__WEBPACK_IMPORTED_MODULE_1__["default"]
  38306. }
  38307. };
  38308. const _hoisted_1$3 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("span", { class: "p-paginator-icon pi pi-angle-right" }, null, -1);
  38309. const _hoisted_2$3 = [
  38310. _hoisted_1$3
  38311. ];
  38312. function render$6(_ctx, _cache, $props, $setup, $data, $options) {
  38313. const _directive_ripple = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveDirective)("ripple");
  38314. return (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("button", {
  38315. class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($options.containerClass),
  38316. type: "button"
  38317. }, _hoisted_2$3, 2)), [
  38318. [_directive_ripple]
  38319. ])
  38320. }
  38321. script$6.render = render$6;
  38322. var script$5 = {
  38323. name: 'PageLinks',
  38324. inheritAttrs: false,
  38325. emits: ['click'],
  38326. props: {
  38327. value: Array,
  38328. page: Number
  38329. },
  38330. methods: {
  38331. onPageLinkClick(event, pageLink) {
  38332. this.$emit('click', {
  38333. originalEvent: event,
  38334. value: pageLink
  38335. });
  38336. }
  38337. },
  38338. directives: {
  38339. 'ripple': primevue_ripple__WEBPACK_IMPORTED_MODULE_1__["default"]
  38340. }
  38341. };
  38342. const _hoisted_1$2 = { class: "p-paginator-pages" };
  38343. const _hoisted_2$2 = ["onClick"];
  38344. function render$5(_ctx, _cache, $props, $setup, $data, $options) {
  38345. const _directive_ripple = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveDirective)("ripple");
  38346. return ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("span", _hoisted_1$2, [
  38347. ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($props.value, (pageLink) => {
  38348. return (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("button", {
  38349. key: pageLink,
  38350. class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)(['p-paginator-page p-paginator-element p-link', {'p-highlight': ((pageLink - 1) === $props.page)}]),
  38351. type: "button",
  38352. onClick: $event => ($options.onPageLinkClick($event, pageLink))
  38353. }, [
  38354. (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(pageLink), 1)
  38355. ], 10, _hoisted_2$2)), [
  38356. [_directive_ripple]
  38357. ])
  38358. }), 128))
  38359. ]))
  38360. }
  38361. script$5.render = render$5;
  38362. var script$4 = {
  38363. name: 'PrevPageLink',
  38364. computed: {
  38365. containerClass() {
  38366. return ['p-paginator-prev p-paginator-element p-link', {
  38367. 'p-disabled': this.$attrs.disabled
  38368. }];
  38369. }
  38370. },
  38371. directives: {
  38372. 'ripple': primevue_ripple__WEBPACK_IMPORTED_MODULE_1__["default"]
  38373. }
  38374. };
  38375. const _hoisted_1$1 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("span", { class: "p-paginator-icon pi pi-angle-left" }, null, -1);
  38376. const _hoisted_2$1 = [
  38377. _hoisted_1$1
  38378. ];
  38379. function render$4(_ctx, _cache, $props, $setup, $data, $options) {
  38380. const _directive_ripple = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveDirective)("ripple");
  38381. return (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("button", {
  38382. class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($options.containerClass),
  38383. type: "button"
  38384. }, _hoisted_2$1, 2)), [
  38385. [_directive_ripple]
  38386. ])
  38387. }
  38388. script$4.render = render$4;
  38389. var script$3 = {
  38390. name: 'RowsPerPageDropdown',
  38391. inheritAttrs: false,
  38392. emits: ['rows-change'],
  38393. props: {
  38394. options: Array,
  38395. rows: Number,
  38396. disabled: Boolean
  38397. },
  38398. methods: {
  38399. onChange(value) {
  38400. this.$emit('rows-change', value);
  38401. }
  38402. },
  38403. computed: {
  38404. rowsOptions() {
  38405. let opts = [];
  38406. if (this.options) {
  38407. for(let i= 0; i < this.options.length; i++) {
  38408. opts.push({label: String(this.options[i]), value: this.options[i]});
  38409. }
  38410. }
  38411. return opts;
  38412. }
  38413. },
  38414. components: {
  38415. 'RPPDropdown': primevue_dropdown__WEBPACK_IMPORTED_MODULE_2__["default"]
  38416. }
  38417. };
  38418. function render$3(_ctx, _cache, $props, $setup, $data, $options) {
  38419. const _component_RPPDropdown = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("RPPDropdown");
  38420. return ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_RPPDropdown, {
  38421. modelValue: $props.rows,
  38422. options: $options.rowsOptions,
  38423. optionLabel: "label",
  38424. optionValue: "value",
  38425. "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => ($options.onChange($event))),
  38426. class: "p-paginator-rpp-options",
  38427. disabled: $props.disabled
  38428. }, null, 8, ["modelValue", "options", "disabled"]))
  38429. }
  38430. script$3.render = render$3;
  38431. var script$2 = {
  38432. name: 'JumpToPageDropdown',
  38433. inheritAttrs: false,
  38434. emits: ['page-change'],
  38435. props: {
  38436. page: Number,
  38437. pageCount: Number,
  38438. disabled: Boolean
  38439. },
  38440. methods: {
  38441. onChange(value) {
  38442. this.$emit('page-change', value);
  38443. }
  38444. },
  38445. computed: {
  38446. pageOptions() {
  38447. let opts = [];
  38448. for(let i= 0; i < this.pageCount; i++) {
  38449. opts.push({label: String(i+1), value: i});
  38450. }
  38451. return opts;
  38452. }
  38453. },
  38454. components: {
  38455. 'JTPDropdown': primevue_dropdown__WEBPACK_IMPORTED_MODULE_2__["default"]
  38456. }
  38457. };
  38458. function render$2(_ctx, _cache, $props, $setup, $data, $options) {
  38459. const _component_JTPDropdown = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("JTPDropdown");
  38460. return ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_JTPDropdown, {
  38461. modelValue: $props.page,
  38462. options: $options.pageOptions,
  38463. optionLabel: "label",
  38464. optionValue: "value",
  38465. "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => ($options.onChange($event))),
  38466. class: "p-paginator-page-options",
  38467. disabled: $props.disabled
  38468. }, null, 8, ["modelValue", "options", "disabled"]))
  38469. }
  38470. script$2.render = render$2;
  38471. var script$1 = {
  38472. name: 'JumpToPageInput',
  38473. inheritAttrs: false,
  38474. emits: ['page-change'],
  38475. props: {
  38476. page: Number,
  38477. pageCount: Number,
  38478. disabled: Boolean
  38479. },
  38480. methods: {
  38481. onChange(value) {
  38482. this.$emit('page-change', value - 1);
  38483. }
  38484. },
  38485. components: {
  38486. 'JTPInput': primevue_inputnumber__WEBPACK_IMPORTED_MODULE_3__["default"]
  38487. }
  38488. };
  38489. function render$1(_ctx, _cache, $props, $setup, $data, $options) {
  38490. const _component_JTPInput = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("JTPInput");
  38491. return ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_JTPInput, {
  38492. modelValue: $props.page,
  38493. "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => ($options.onChange($event))),
  38494. class: "p-paginator-page-input",
  38495. disabled: $props.disabled
  38496. }, null, 8, ["modelValue", "disabled"]))
  38497. }
  38498. script$1.render = render$1;
  38499. var script = {
  38500. name: 'Paginator',
  38501. emits: ['update:first', 'update:rows', 'page'],
  38502. props: {
  38503. totalRecords: {
  38504. type: Number,
  38505. default: 0
  38506. },
  38507. rows: {
  38508. type: Number,
  38509. default: 0
  38510. },
  38511. first: {
  38512. type: Number,
  38513. default: 0
  38514. },
  38515. pageLinkSize: {
  38516. type: Number,
  38517. default: 5
  38518. },
  38519. rowsPerPageOptions: {
  38520. type: Array,
  38521. default: null
  38522. },
  38523. template: {
  38524. type: String,
  38525. default: 'FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown'
  38526. },
  38527. currentPageReportTemplate: {
  38528. type: null,
  38529. default: '({currentPage} of {totalPages})'
  38530. },
  38531. alwaysShow: {
  38532. type: Boolean,
  38533. default: true
  38534. }
  38535. },
  38536. data() {
  38537. return {
  38538. d_first: this.first,
  38539. d_rows: this.rows
  38540. }
  38541. },
  38542. watch: {
  38543. first(newValue) {
  38544. this.d_first = newValue;
  38545. },
  38546. rows(newValue) {
  38547. this.d_rows = newValue;
  38548. },
  38549. totalRecords(newValue) {
  38550. if (this.page > 0 && newValue && (this.d_first >= newValue)) {
  38551. this.changePage(this.pageCount - 1);
  38552. }
  38553. }
  38554. },
  38555. methods: {
  38556. changePage(p) {
  38557. const pc = this.pageCount;
  38558. if (p >= 0 && p < pc) {
  38559. this.d_first = this.d_rows * p;
  38560. const state = {
  38561. page: p,
  38562. first: this.d_first,
  38563. rows: this.d_rows,
  38564. pageCount: pc
  38565. };
  38566. this.$emit('update:first', this.d_first);
  38567. this.$emit('update:rows', this.d_rows);
  38568. this.$emit('page', state);
  38569. }
  38570. },
  38571. changePageToFirst(event) {
  38572. if(!this.isFirstPage) {
  38573. this.changePage(0);
  38574. }
  38575. event.preventDefault();
  38576. },
  38577. changePageToPrev(event) {
  38578. this.changePage(this.page - 1);
  38579. event.preventDefault();
  38580. },
  38581. changePageLink(event) {
  38582. this.changePage(event.value - 1);
  38583. event.originalEvent.preventDefault();
  38584. },
  38585. changePageToNext(event) {
  38586. this.changePage(this.page + 1);
  38587. event.preventDefault();
  38588. },
  38589. changePageToLast(event) {
  38590. if(!this.isLastPage) {
  38591. this.changePage(this.pageCount - 1);
  38592. }
  38593. event.preventDefault();
  38594. },
  38595. onRowChange(value) {
  38596. this.d_rows = value;
  38597. this.changePage(this.page);
  38598. }
  38599. },
  38600. computed: {
  38601. templateItems() {
  38602. let keys = [];
  38603. this.template.split(' ').map((value) => {
  38604. keys.push(value.trim());
  38605. });
  38606. return keys;
  38607. },
  38608. page() {
  38609. return Math.floor(this.d_first / this.d_rows);
  38610. },
  38611. pageCount() {
  38612. return Math.ceil(this.totalRecords / this.d_rows);
  38613. },
  38614. isFirstPage() {
  38615. return this.page === 0;
  38616. },
  38617. isLastPage() {
  38618. return this.page === this.pageCount - 1;
  38619. },
  38620. calculatePageLinkBoundaries() {
  38621. const numberOfPages = this.pageCount;
  38622. const visiblePages = Math.min(this.pageLinkSize, numberOfPages);
  38623. //calculate range, keep current in middle if necessary
  38624. let start = Math.max(0, Math.ceil(this.page - ((visiblePages) / 2)));
  38625. let end = Math.min(numberOfPages - 1, start + visiblePages - 1);
  38626. //check when approaching to last page
  38627. const delta = this.pageLinkSize - (end - start + 1);
  38628. start = Math.max(0, start - delta);
  38629. return [start, end];
  38630. },
  38631. pageLinks() {
  38632. let pageLinks = [];
  38633. let boundaries = this.calculatePageLinkBoundaries;
  38634. let start = boundaries[0];
  38635. let end = boundaries[1];
  38636. for(var i = start; i <= end; i++) {
  38637. pageLinks.push(i + 1);
  38638. }
  38639. return pageLinks;
  38640. },
  38641. currentState() {
  38642. return {
  38643. page: this.page,
  38644. first: this.d_first,
  38645. rows: this.d_rows
  38646. }
  38647. },
  38648. empty() {
  38649. return this.pageCount === 0;
  38650. },
  38651. currentPage() {
  38652. return this.pageCount > 0 ? this.page + 1 : 0;
  38653. }
  38654. },
  38655. components: {
  38656. 'CurrentPageReport': script$9,
  38657. 'FirstPageLink': script$8,
  38658. 'LastPageLink': script$7,
  38659. 'NextPageLink': script$6,
  38660. 'PageLinks': script$5,
  38661. 'PrevPageLink': script$4,
  38662. 'RowsPerPageDropdown': script$3,
  38663. 'JumpToPageDropdown': script$2,
  38664. 'JumpToPageInput': script$1
  38665. }
  38666. };
  38667. const _hoisted_1 = {
  38668. key: 0,
  38669. class: "p-paginator p-component"
  38670. };
  38671. const _hoisted_2 = {
  38672. key: 0,
  38673. class: "p-paginator-left-content"
  38674. };
  38675. const _hoisted_3 = {
  38676. key: 1,
  38677. class: "p-paginator-right-content"
  38678. };
  38679. function render(_ctx, _cache, $props, $setup, $data, $options) {
  38680. const _component_FirstPageLink = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("FirstPageLink");
  38681. const _component_PrevPageLink = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("PrevPageLink");
  38682. const _component_NextPageLink = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("NextPageLink");
  38683. const _component_LastPageLink = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("LastPageLink");
  38684. const _component_PageLinks = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("PageLinks");
  38685. const _component_CurrentPageReport = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("CurrentPageReport");
  38686. const _component_RowsPerPageDropdown = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("RowsPerPageDropdown");
  38687. const _component_JumpToPageDropdown = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("JumpToPageDropdown");
  38688. const _component_JumpToPageInput = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("JumpToPageInput");
  38689. return ($props.alwaysShow ? true : ($options.pageLinks && $options.pageLinks.length > 1))
  38690. ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_1, [
  38691. (_ctx.$slots.start)
  38692. ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_2, [
  38693. (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, "start", { state: $options.currentState })
  38694. ]))
  38695. : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("", true),
  38696. ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($options.templateItems, (item) => {
  38697. return ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, { key: item }, [
  38698. (item === 'FirstPageLink')
  38699. ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_FirstPageLink, {
  38700. key: 0,
  38701. onClick: _cache[0] || (_cache[0] = $event => ($options.changePageToFirst($event))),
  38702. disabled: $options.isFirstPage || $options.empty
  38703. }, null, 8, ["disabled"]))
  38704. : (item === 'PrevPageLink')
  38705. ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_PrevPageLink, {
  38706. key: 1,
  38707. onClick: _cache[1] || (_cache[1] = $event => ($options.changePageToPrev($event))),
  38708. disabled: $options.isFirstPage || $options.empty
  38709. }, null, 8, ["disabled"]))
  38710. : (item === 'NextPageLink')
  38711. ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_NextPageLink, {
  38712. key: 2,
  38713. onClick: _cache[2] || (_cache[2] = $event => ($options.changePageToNext($event))),
  38714. disabled: $options.isLastPage || $options.empty
  38715. }, null, 8, ["disabled"]))
  38716. : (item === 'LastPageLink')
  38717. ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_LastPageLink, {
  38718. key: 3,
  38719. onClick: _cache[3] || (_cache[3] = $event => ($options.changePageToLast($event))),
  38720. disabled: $options.isLastPage || $options.empty
  38721. }, null, 8, ["disabled"]))
  38722. : (item === 'PageLinks')
  38723. ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_PageLinks, {
  38724. key: 4,
  38725. value: $options.pageLinks,
  38726. page: $options.page,
  38727. onClick: _cache[4] || (_cache[4] = $event => ($options.changePageLink($event)))
  38728. }, null, 8, ["value", "page"]))
  38729. : (item === 'CurrentPageReport')
  38730. ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_CurrentPageReport, {
  38731. key: 5,
  38732. template: $props.currentPageReportTemplate,
  38733. currentPage: $options.currentPage,
  38734. page: $options.page,
  38735. pageCount: $options.pageCount,
  38736. first: $data.d_first,
  38737. rows: $data.d_rows,
  38738. totalRecords: $props.totalRecords
  38739. }, null, 8, ["template", "currentPage", "page", "pageCount", "first", "rows", "totalRecords"]))
  38740. : (item === 'RowsPerPageDropdown' && $props.rowsPerPageOptions)
  38741. ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_RowsPerPageDropdown, {
  38742. key: 6,
  38743. rows: $data.d_rows,
  38744. options: $props.rowsPerPageOptions,
  38745. onRowsChange: _cache[5] || (_cache[5] = $event => ($options.onRowChange($event))),
  38746. disabled: $options.empty
  38747. }, null, 8, ["rows", "options", "disabled"]))
  38748. : (item === 'JumpToPageDropdown')
  38749. ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_JumpToPageDropdown, {
  38750. key: 7,
  38751. page: $options.page,
  38752. pageCount: $options.pageCount,
  38753. onPageChange: _cache[6] || (_cache[6] = $event => ($options.changePage($event))),
  38754. disabled: $options.empty
  38755. }, null, 8, ["page", "pageCount", "disabled"]))
  38756. : (item === 'JumpToPageInput')
  38757. ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_JumpToPageInput, {
  38758. key: 8,
  38759. page: $options.currentPage,
  38760. onPageChange: _cache[7] || (_cache[7] = $event => ($options.changePage($event))),
  38761. disabled: $options.empty
  38762. }, null, 8, ["page", "disabled"]))
  38763. : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("", true)
  38764. ], 64))
  38765. }), 128)),
  38766. (_ctx.$slots.end)
  38767. ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_3, [
  38768. (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, "end", { state: $options.currentState })
  38769. ]))
  38770. : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("", true)
  38771. ]))
  38772. : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("", true)
  38773. }
  38774. function styleInject(css, ref) {
  38775. if ( ref === void 0 ) ref = {};
  38776. var insertAt = ref.insertAt;
  38777. if (!css || typeof document === 'undefined') { return; }
  38778. var head = document.head || document.getElementsByTagName('head')[0];
  38779. var style = document.createElement('style');
  38780. style.type = 'text/css';
  38781. if (insertAt === 'top') {
  38782. if (head.firstChild) {
  38783. head.insertBefore(style, head.firstChild);
  38784. } else {
  38785. head.appendChild(style);
  38786. }
  38787. } else {
  38788. head.appendChild(style);
  38789. }
  38790. if (style.styleSheet) {
  38791. style.styleSheet.cssText = css;
  38792. } else {
  38793. style.appendChild(document.createTextNode(css));
  38794. }
  38795. }
  38796. var css_248z = "\n.p-paginator {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n.p-paginator-left-content {\n\tmargin-right: auto;\n}\n.p-paginator-right-content {\n\tmargin-left: auto;\n}\n.p-paginator-page,\n.p-paginator-next,\n.p-paginator-last,\n.p-paginator-first,\n.p-paginator-prev,\n.p-paginator-current {\n cursor: pointer;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n line-height: 1;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n overflow: hidden;\n position: relative;\n}\n.p-paginator-element:focus {\n z-index: 1;\n position: relative;\n}\n";
  38797. styleInject(css_248z);
  38798. script.render = render;
  38799. /***/ }),
  38800. /***/ "./node_modules/primevue/password/password.esm.js":
  38801. /*!********************************************************!*\
  38802. !*** ./node_modules/primevue/password/password.esm.js ***!
  38803. \********************************************************/
  38804. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  38805. "use strict";
  38806. __webpack_require__.r(__webpack_exports__);
  38807. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  38808. /* harmony export */ "default": () => (/* binding */ script)
  38809. /* harmony export */ });
  38810. /* harmony import */ var primevue_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! primevue/utils */ "./node_modules/primevue/utils/utils.esm.js");
  38811. /* harmony import */ var primevue_overlayeventbus__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! primevue/overlayeventbus */ "./node_modules/primevue/overlayeventbus/overlayeventbus.esm.js");
  38812. /* harmony import */ var primevue_inputtext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! primevue/inputtext */ "./node_modules/primevue/inputtext/inputtext.esm.js");
  38813. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
  38814. var script = {
  38815. name: 'Password',
  38816. emits: ['update:modelValue'],
  38817. inheritAttrs: false,
  38818. props: {
  38819. modelValue: String,
  38820. promptLabel: {
  38821. type: String,
  38822. default: null
  38823. },
  38824. mediumRegex: {
  38825. type: String,
  38826. default: '^(((?=.*[a-z])(?=.*[A-Z]))|((?=.*[a-z])(?=.*[0-9]))|((?=.*[A-Z])(?=.*[0-9])))(?=.{6,})' // eslint-disable-line
  38827. },
  38828. strongRegex: {
  38829. type: String,
  38830. default: '^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.{8,})' // eslint-disable-line
  38831. },
  38832. weakLabel: {
  38833. type: String,
  38834. default: null
  38835. },
  38836. mediumLabel: {
  38837. type: String,
  38838. default: null
  38839. },
  38840. strongLabel: {
  38841. type: String,
  38842. default: null
  38843. },
  38844. feedback: {
  38845. type: Boolean,
  38846. default: true
  38847. },
  38848. appendTo: {
  38849. type: String,
  38850. default: 'body'
  38851. },
  38852. toggleMask: {
  38853. type: Boolean,
  38854. default: false
  38855. },
  38856. hideIcon: {
  38857. type: String,
  38858. default: 'pi pi-eye-slash'
  38859. },
  38860. showIcon: {
  38861. type: String,
  38862. default: 'pi pi-eye'
  38863. },
  38864. inputClass: null,
  38865. inputStyle: null,
  38866. style: null,
  38867. class: String,
  38868. panelClass: String
  38869. },
  38870. data() {
  38871. return {
  38872. overlayVisible: false,
  38873. meter: null,
  38874. infoText: null,
  38875. focused: false,
  38876. unmasked: false
  38877. };
  38878. },
  38879. mediumCheckRegExp: null,
  38880. strongCheckRegExp: null,
  38881. resizeListener: null,
  38882. scrollHandler: null,
  38883. overlay: null,
  38884. mounted() {
  38885. this.infoText = this.promptText;
  38886. this.mediumCheckRegExp = new RegExp(this.mediumRegex);
  38887. this.strongCheckRegExp = new RegExp(this.strongRegex);
  38888. },
  38889. beforeUnmount() {
  38890. this.unbindResizeListener();
  38891. if (this.scrollHandler) {
  38892. this.scrollHandler.destroy();
  38893. this.scrollHandler = null;
  38894. }
  38895. if (this.overlay) {
  38896. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ZIndexUtils.clear(this.overlay);
  38897. this.overlay = null;
  38898. }
  38899. },
  38900. methods: {
  38901. onOverlayEnter(el) {
  38902. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ZIndexUtils.set('overlay', el, this.$primevue.config.zIndex.overlay);
  38903. this.alignOverlay();
  38904. this.bindScrollListener();
  38905. this.bindResizeListener();
  38906. },
  38907. onOverlayLeave() {
  38908. this.unbindScrollListener();
  38909. this.unbindResizeListener();
  38910. this.overlay = null;
  38911. },
  38912. onOverlayAfterLeave(el) {
  38913. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ZIndexUtils.clear(el);
  38914. },
  38915. alignOverlay() {
  38916. if (this.appendDisabled) {
  38917. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.relativePosition(this.overlay, this.$refs.input.$el);
  38918. }
  38919. else {
  38920. this.overlay.style.minWidth = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(this.$refs.input.$el) + 'px';
  38921. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.absolutePosition(this.overlay, this.$refs.input.$el);
  38922. }
  38923. },
  38924. testStrength(str) {
  38925. let level = 0;
  38926. if (this.strongCheckRegExp.test(str))
  38927. level = 3;
  38928. else if (this.mediumCheckRegExp.test(str))
  38929. level = 2;
  38930. else if (str.length)
  38931. level = 1;
  38932. return level;
  38933. },
  38934. onInput(event) {
  38935. this.$emit('update:modelValue', event.target.value);
  38936. },
  38937. onFocus() {
  38938. this.focused = true;
  38939. if (this.feedback) {
  38940. this.overlayVisible = true;
  38941. }
  38942. },
  38943. onBlur() {
  38944. this.focused = false;
  38945. if (this.feedback) {
  38946. this.overlayVisible = false;
  38947. }
  38948. },
  38949. onKeyUp(event) {
  38950. if (this.feedback) {
  38951. const value = event.target.value;
  38952. let label = null;
  38953. let meter = null;
  38954. switch (this.testStrength(value)) {
  38955. case 1:
  38956. label = this.weakText;
  38957. meter = {
  38958. strength: 'weak',
  38959. width: '33.33%'
  38960. };
  38961. break;
  38962. case 2:
  38963. label = this.mediumText;
  38964. meter = {
  38965. strength: 'medium',
  38966. width: '66.66%'
  38967. };
  38968. break;
  38969. case 3:
  38970. label = this.strongText;
  38971. meter = {
  38972. strength: 'strong',
  38973. width: '100%'
  38974. };
  38975. break;
  38976. default:
  38977. label = this.promptText;
  38978. meter = null;
  38979. break;
  38980. }
  38981. this.meter = meter;
  38982. this.infoText = label;
  38983. if (!this.overlayVisible) {
  38984. this.overlayVisible = true;
  38985. }
  38986. }
  38987. },
  38988. bindScrollListener() {
  38989. if (!this.scrollHandler) {
  38990. this.scrollHandler = new primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ConnectedOverlayScrollHandler(this.$refs.input.$el, () => {
  38991. if (this.overlayVisible) {
  38992. this.overlayVisible = false;
  38993. }
  38994. });
  38995. }
  38996. this.scrollHandler.bindScrollListener();
  38997. },
  38998. unbindScrollListener() {
  38999. if (this.scrollHandler) {
  39000. this.scrollHandler.unbindScrollListener();
  39001. }
  39002. },
  39003. bindResizeListener() {
  39004. if (!this.resizeListener) {
  39005. this.resizeListener = () => {
  39006. if (this.overlayVisible) {
  39007. this.overlayVisible = false;
  39008. }
  39009. };
  39010. window.addEventListener('resize', this.resizeListener);
  39011. }
  39012. },
  39013. unbindResizeListener() {
  39014. if (this.resizeListener) {
  39015. window.removeEventListener('resize', this.resizeListener);
  39016. this.resizeListener = null;
  39017. }
  39018. },
  39019. overlayRef(el) {
  39020. this.overlay = el;
  39021. },
  39022. onMaskToggle() {
  39023. this.unmasked = !this.unmasked;
  39024. },
  39025. onOverlayClick(event) {
  39026. primevue_overlayeventbus__WEBPACK_IMPORTED_MODULE_1__["default"].emit('overlay-click', {
  39027. originalEvent: event,
  39028. target: this.$el
  39029. });
  39030. }
  39031. },
  39032. computed: {
  39033. containerClass() {
  39034. return ['p-password p-component p-inputwrapper', this.class, {
  39035. 'p-inputwrapper-filled': this.filled,
  39036. 'p-inputwrapper-focus': this.focused,
  39037. 'p-input-icon-right': this.toggleMask
  39038. }];
  39039. },
  39040. inputFieldClass() {
  39041. return ['p-password-input', this.inputClass, {
  39042. 'p-disabled': this.$attrs.disabled
  39043. }];
  39044. },
  39045. panelStyleClass() {
  39046. return ['p-password-panel p-component', this.panelClass, {
  39047. 'p-input-filled': this.$primevue.config.inputStyle === 'filled',
  39048. 'p-ripple-disabled': this.$primevue.config.ripple === false
  39049. }];
  39050. },
  39051. toggleIconClass() {
  39052. return this.unmasked ? this.hideIcon : this.showIcon;
  39053. },
  39054. strengthClass() {
  39055. return `p-password-strength ${this.meter ? this.meter.strength : ''}`;
  39056. },
  39057. inputType() {
  39058. return this.unmasked ? 'text' : 'password';
  39059. },
  39060. filled() {
  39061. return (this.modelValue != null && this.modelValue.toString().length > 0)
  39062. },
  39063. weakText() {
  39064. return this.weakLabel || this.$primevue.config.locale.weak;
  39065. },
  39066. mediumText() {
  39067. return this.mediumLabel || this.$primevue.config.locale.medium;
  39068. },
  39069. strongText() {
  39070. return this.strongLabel || this.$primevue.config.locale.strong;
  39071. },
  39072. promptText() {
  39073. return this.promptLabel || this.$primevue.config.locale.passwordPrompt;
  39074. },
  39075. appendDisabled() {
  39076. return this.appendTo === 'self';
  39077. },
  39078. appendTarget() {
  39079. return this.appendDisabled ? null : this.appendTo;
  39080. }
  39081. },
  39082. components: {
  39083. 'PInputText': primevue_inputtext__WEBPACK_IMPORTED_MODULE_2__["default"]
  39084. }
  39085. };
  39086. const _hoisted_1 = { class: "p-password-meter" };
  39087. const _hoisted_2 = { class: "p-password-info" };
  39088. function render(_ctx, _cache, $props, $setup, $data, $options) {
  39089. const _component_PInputText = (0,vue__WEBPACK_IMPORTED_MODULE_3__.resolveComponent)("PInputText");
  39090. return ((0,vue__WEBPACK_IMPORTED_MODULE_3__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__.createElementBlock)("div", {
  39091. class: (0,vue__WEBPACK_IMPORTED_MODULE_3__.normalizeClass)($options.containerClass),
  39092. style: (0,vue__WEBPACK_IMPORTED_MODULE_3__.normalizeStyle)($props.style)
  39093. }, [
  39094. (0,vue__WEBPACK_IMPORTED_MODULE_3__.createVNode)(_component_PInputText, (0,vue__WEBPACK_IMPORTED_MODULE_3__.mergeProps)({
  39095. ref: "input",
  39096. class: $options.inputFieldClass,
  39097. style: $props.inputStyle,
  39098. type: $options.inputType,
  39099. value: $props.modelValue,
  39100. onInput: $options.onInput,
  39101. onFocus: $options.onFocus,
  39102. onBlur: $options.onBlur,
  39103. onKeyup: $options.onKeyUp
  39104. }, _ctx.$attrs), null, 16, ["class", "style", "type", "value", "onInput", "onFocus", "onBlur", "onKeyup"]),
  39105. ($props.toggleMask)
  39106. ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__.createElementBlock)("i", {
  39107. key: 0,
  39108. class: (0,vue__WEBPACK_IMPORTED_MODULE_3__.normalizeClass)($options.toggleIconClass),
  39109. onClick: _cache[0] || (_cache[0] = (...args) => ($options.onMaskToggle && $options.onMaskToggle(...args)))
  39110. }, null, 2))
  39111. : (0,vue__WEBPACK_IMPORTED_MODULE_3__.createCommentVNode)("", true),
  39112. ((0,vue__WEBPACK_IMPORTED_MODULE_3__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__.createBlock)(vue__WEBPACK_IMPORTED_MODULE_3__.Teleport, {
  39113. to: $options.appendTarget,
  39114. disabled: $options.appendDisabled
  39115. }, [
  39116. (0,vue__WEBPACK_IMPORTED_MODULE_3__.createVNode)(vue__WEBPACK_IMPORTED_MODULE_3__.Transition, {
  39117. name: "p-connected-overlay",
  39118. onEnter: $options.onOverlayEnter,
  39119. onLeave: $options.onOverlayLeave,
  39120. onAfterLeave: $options.onOverlayAfterLeave
  39121. }, {
  39122. default: (0,vue__WEBPACK_IMPORTED_MODULE_3__.withCtx)(() => [
  39123. ($data.overlayVisible)
  39124. ? ((0,vue__WEBPACK_IMPORTED_MODULE_3__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_3__.createElementBlock)("div", {
  39125. key: 0,
  39126. ref: $options.overlayRef,
  39127. class: (0,vue__WEBPACK_IMPORTED_MODULE_3__.normalizeClass)($options.panelStyleClass),
  39128. onClick: _cache[1] || (_cache[1] = (...args) => ($options.onOverlayClick && $options.onOverlayClick(...args)))
  39129. }, [
  39130. (0,vue__WEBPACK_IMPORTED_MODULE_3__.renderSlot)(_ctx.$slots, "header"),
  39131. (0,vue__WEBPACK_IMPORTED_MODULE_3__.renderSlot)(_ctx.$slots, "content", {}, () => [
  39132. (0,vue__WEBPACK_IMPORTED_MODULE_3__.createElementVNode)("div", _hoisted_1, [
  39133. (0,vue__WEBPACK_IMPORTED_MODULE_3__.createElementVNode)("div", {
  39134. class: (0,vue__WEBPACK_IMPORTED_MODULE_3__.normalizeClass)($options.strengthClass),
  39135. style: (0,vue__WEBPACK_IMPORTED_MODULE_3__.normalizeStyle)({'width': $data.meter ? $data.meter.width : ''})
  39136. }, null, 6)
  39137. ]),
  39138. (0,vue__WEBPACK_IMPORTED_MODULE_3__.createElementVNode)("div", _hoisted_2, (0,vue__WEBPACK_IMPORTED_MODULE_3__.toDisplayString)($data.infoText), 1)
  39139. ]),
  39140. (0,vue__WEBPACK_IMPORTED_MODULE_3__.renderSlot)(_ctx.$slots, "footer")
  39141. ], 2))
  39142. : (0,vue__WEBPACK_IMPORTED_MODULE_3__.createCommentVNode)("", true)
  39143. ]),
  39144. _: 3
  39145. }, 8, ["onEnter", "onLeave", "onAfterLeave"])
  39146. ], 8, ["to", "disabled"]))
  39147. ], 6))
  39148. }
  39149. function styleInject(css, ref) {
  39150. if ( ref === void 0 ) ref = {};
  39151. var insertAt = ref.insertAt;
  39152. if (!css || typeof document === 'undefined') { return; }
  39153. var head = document.head || document.getElementsByTagName('head')[0];
  39154. var style = document.createElement('style');
  39155. style.type = 'text/css';
  39156. if (insertAt === 'top') {
  39157. if (head.firstChild) {
  39158. head.insertBefore(style, head.firstChild);
  39159. } else {
  39160. head.appendChild(style);
  39161. }
  39162. } else {
  39163. head.appendChild(style);
  39164. }
  39165. if (style.styleSheet) {
  39166. style.styleSheet.cssText = css;
  39167. } else {
  39168. style.appendChild(document.createTextNode(css));
  39169. }
  39170. }
  39171. var css_248z = "\n.p-password {\n position: relative;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n}\n.p-password-panel {\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-password .p-password-panel {\n min-width: 100%;\n}\n.p-password-meter {\n height: 10px;\n}\n.p-password-strength {\n height: 100%;\n width: 0;\n -webkit-transition: width 1s ease-in-out;\n transition: width 1s ease-in-out;\n}\n.p-fluid .p-password {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n";
  39172. styleInject(css_248z);
  39173. script.render = render;
  39174. /***/ }),
  39175. /***/ "./node_modules/primevue/ripple/ripple.esm.js":
  39176. /*!****************************************************!*\
  39177. !*** ./node_modules/primevue/ripple/ripple.esm.js ***!
  39178. \****************************************************/
  39179. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  39180. "use strict";
  39181. __webpack_require__.r(__webpack_exports__);
  39182. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  39183. /* harmony export */ "default": () => (/* binding */ Ripple)
  39184. /* harmony export */ });
  39185. /* harmony import */ var primevue_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! primevue/utils */ "./node_modules/primevue/utils/utils.esm.js");
  39186. function bindEvents(el) {
  39187. el.addEventListener('mousedown', onMouseDown);
  39188. }
  39189. function unbindEvents(el) {
  39190. el.removeEventListener('mousedown', onMouseDown);
  39191. }
  39192. function create(el) {
  39193. let ink = document.createElement('span');
  39194. ink.className = 'p-ink';
  39195. el.appendChild(ink);
  39196. ink.addEventListener('animationend', onAnimationEnd);
  39197. }
  39198. function remove(el) {
  39199. let ink = getInk(el);
  39200. if (ink) {
  39201. unbindEvents(el);
  39202. ink.removeEventListener('animationend', onAnimationEnd);
  39203. ink.remove();
  39204. }
  39205. }
  39206. function onMouseDown(event) {
  39207. let target = event.currentTarget;
  39208. let ink = getInk(target);
  39209. if (!ink || getComputedStyle(ink, null).display === 'none') {
  39210. return;
  39211. }
  39212. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.removeClass(ink, 'p-ink-active');
  39213. if (!primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getHeight(ink) && !primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getWidth(ink)) {
  39214. let d = Math.max(primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(target), primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterHeight(target));
  39215. ink.style.height = d + 'px';
  39216. ink.style.width = d + 'px';
  39217. }
  39218. let offset = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOffset(target);
  39219. let x = event.pageX - offset.left + document.body.scrollTop - primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getWidth(ink) / 2;
  39220. let y = event.pageY - offset.top + document.body.scrollLeft - primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getHeight(ink) / 2;
  39221. ink.style.top = y + 'px';
  39222. ink.style.left = x + 'px';
  39223. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addClass(ink, 'p-ink-active');
  39224. }
  39225. function onAnimationEnd(event) {
  39226. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.removeClass(event.currentTarget, 'p-ink-active');
  39227. }
  39228. function getInk(el) {
  39229. for (let i = 0; i < el.children.length; i++) {
  39230. if (typeof el.children[i].className === 'string' && el.children[i].className.indexOf('p-ink') !== -1) {
  39231. return el.children[i];
  39232. }
  39233. }
  39234. return null;
  39235. }
  39236. const Ripple = {
  39237. mounted(el, binding) {
  39238. if (binding.instance.$primevue && binding.instance.$primevue.config && binding.instance.$primevue.config.ripple) {
  39239. create(el);
  39240. bindEvents(el);
  39241. }
  39242. },
  39243. unmounted(el) {
  39244. remove(el);
  39245. }
  39246. };
  39247. /***/ }),
  39248. /***/ "./node_modules/primevue/styleclass/styleclass.esm.js":
  39249. /*!************************************************************!*\
  39250. !*** ./node_modules/primevue/styleclass/styleclass.esm.js ***!
  39251. \************************************************************/
  39252. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  39253. "use strict";
  39254. __webpack_require__.r(__webpack_exports__);
  39255. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  39256. /* harmony export */ "default": () => (/* binding */ StyleClass)
  39257. /* harmony export */ });
  39258. /* harmony import */ var primevue_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! primevue/utils */ "./node_modules/primevue/utils/utils.esm.js");
  39259. function bind(el, binding) {
  39260. el.$_pstyleclass_clicklistener = () => {
  39261. const target = resolveTarget(el, binding);
  39262. if (binding.value.toggleClass) {
  39263. if (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(target, binding.value.toggleClass))
  39264. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.removeClass(target, binding.value.toggleClass);
  39265. else
  39266. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addClass(target, binding.value.toggleClass);
  39267. }
  39268. else {
  39269. if (target.offsetParent === null)
  39270. enter(target, el, binding);
  39271. else
  39272. leave(target, binding);
  39273. }
  39274. };
  39275. el.addEventListener('click', el.$_pstyleclass_clicklistener);
  39276. }
  39277. function unbind(el) {
  39278. if (el.$_pstyleclass_clicklistener) {
  39279. el.addEventListener('click', el.$_pstyleclass_clicklistener);
  39280. el.$_pstyleclass_clicklistener = null;
  39281. }
  39282. unbindDocumentListener(el);
  39283. }
  39284. function enter(target, el, binding) {
  39285. if (binding.value.enterActiveClass) {
  39286. if (!target.$_pstyleclass_animating) {
  39287. target.$_pstyleclass_animating = true;
  39288. if (binding.value.enterActiveClass === 'slidedown') {
  39289. target.style.height = '0px';
  39290. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.removeClass(target, 'hidden');
  39291. target.style.maxHeight = target.scrollHeight + 'px';
  39292. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addClass(target, 'hidden');
  39293. target.style.height = '';
  39294. }
  39295. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addClass(target, binding.value.enterActiveClass);
  39296. if (binding.value.enterClass) {
  39297. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.removeClass(target, binding.value.enterClass);
  39298. }
  39299. target.$p_styleclass_enterlistener = () => {
  39300. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.removeClass(target, binding.value.enterActiveClass);
  39301. if (binding.value.enterToClass) {
  39302. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addClass(target, binding.value.enterToClass);
  39303. }
  39304. target.removeEventListener('animationend', target.$p_styleclass_enterlistener);
  39305. if (binding.value.enterActiveClass === 'slidedown') {
  39306. target.style.maxHeight = '';
  39307. }
  39308. target.$_pstyleclass_animating = false;
  39309. };
  39310. target.addEventListener('animationend', target.$p_styleclass_enterlistener);
  39311. }
  39312. }
  39313. else {
  39314. if (binding.value.enterClass) {
  39315. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.removeClass(target, binding.value.enterClass);
  39316. }
  39317. if (binding.value.enterToClass) {
  39318. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addClass(target, binding.value.enterToClass);
  39319. }
  39320. }
  39321. if (binding.value.hideOnOutsideClick) {
  39322. bindDocumentListener(target, el, binding);
  39323. }
  39324. }
  39325. function leave(target, binding) {
  39326. if (binding.value.leaveActiveClass) {
  39327. if (!target.$_pstyleclass_animating) {
  39328. target.$_pstyleclass_animating = true;
  39329. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addClass(target, binding.value.leaveActiveClass);
  39330. if (binding.value.leaveClass) {
  39331. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.removeClass(target, binding.value.leaveClass);
  39332. }
  39333. target.$p_styleclass_leavelistener = () => {
  39334. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.removeClass(target, binding.value.leaveActiveClass);
  39335. if (binding.value.leaveToClass) {
  39336. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addClass(target, binding.value.leaveToClass);
  39337. }
  39338. target.removeEventListener('animationend', target.$p_styleclass_leavelistener);
  39339. target.$_pstyleclass_animating = false;
  39340. };
  39341. target.addEventListener('animationend', target.$p_styleclass_leavelistener);
  39342. }
  39343. }
  39344. else {
  39345. if (binding.value.leaveClass) {
  39346. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.removeClass(target, binding.value.leaveClass);
  39347. }
  39348. if (binding.value.leaveToClass) {
  39349. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.addClass(target, binding.value.leaveToClass);
  39350. }
  39351. }
  39352. if (binding.value.hideOnOutsideClick) {
  39353. unbindDocumentListener(target);
  39354. }
  39355. }
  39356. function resolveTarget(el, binding) {
  39357. switch (binding.value.selector) {
  39358. case '@next':
  39359. return el.nextElementSibling;
  39360. case '@prev':
  39361. return el.previousElementSibling;
  39362. case '@parent':
  39363. return el.parentElement;
  39364. case '@grandparent':
  39365. return el.parentElement.parentElement;
  39366. default:
  39367. return document.querySelector(binding.value.selector);
  39368. }
  39369. }
  39370. function bindDocumentListener(target, el, binding) {
  39371. if (!target.$p_styleclass_documentlistener) {
  39372. target.$p_styleclass_documentlistener = (event) => {
  39373. if (!isVisible(target) || getComputedStyle(target).getPropertyValue('position') === 'static') {
  39374. unbindDocumentListener(target);
  39375. }
  39376. else if (isOutsideClick(event, target, el)) {
  39377. leave(target, binding);
  39378. }
  39379. };
  39380. target.ownerDocument.addEventListener('click', target.$p_styleclass_documentlistener);
  39381. }
  39382. }
  39383. function unbindDocumentListener(target) {
  39384. if (target.$p_styleclass_documentlistener) {
  39385. target.ownerDocument.removeEventListener('click', target.$p_styleclass_documentlistener);
  39386. target.$p_styleclass_documentlistener = null;
  39387. }
  39388. }
  39389. function isVisible(target) {
  39390. return target.offsetParent !== null;
  39391. }
  39392. function isOutsideClick(event, target, el) {
  39393. return !el.isSameNode(event.target) && !el.contains(event.target) && !target.contains(event.target);
  39394. }
  39395. const StyleClass = {
  39396. mounted(el, binding) {
  39397. bind(el, binding);
  39398. },
  39399. unmounted(el) {
  39400. unbind(el);
  39401. }
  39402. };
  39403. /***/ }),
  39404. /***/ "./node_modules/primevue/tabpanel/tabpanel.esm.js":
  39405. /*!********************************************************!*\
  39406. !*** ./node_modules/primevue/tabpanel/tabpanel.esm.js ***!
  39407. \********************************************************/
  39408. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  39409. "use strict";
  39410. __webpack_require__.r(__webpack_exports__);
  39411. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  39412. /* harmony export */ "default": () => (/* binding */ script)
  39413. /* harmony export */ });
  39414. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
  39415. var script = {
  39416. name: 'TabPanel',
  39417. props: {
  39418. header: null,
  39419. disabled: Boolean
  39420. }
  39421. };
  39422. function render(_ctx, _cache, $props, $setup, $data, $options) {
  39423. return (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, "default")
  39424. }
  39425. script.render = render;
  39426. /***/ }),
  39427. /***/ "./node_modules/primevue/tabview/tabview.esm.js":
  39428. /*!******************************************************!*\
  39429. !*** ./node_modules/primevue/tabview/tabview.esm.js ***!
  39430. \******************************************************/
  39431. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  39432. "use strict";
  39433. __webpack_require__.r(__webpack_exports__);
  39434. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  39435. /* harmony export */ "default": () => (/* binding */ script)
  39436. /* harmony export */ });
  39437. /* harmony import */ var primevue_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! primevue/utils */ "./node_modules/primevue/utils/utils.esm.js");
  39438. /* harmony import */ var primevue_ripple__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! primevue/ripple */ "./node_modules/primevue/ripple/ripple.esm.js");
  39439. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
  39440. var script = {
  39441. name: 'TabView',
  39442. emits: ['update:activeIndex', 'tab-change', 'tab-click'],
  39443. props: {
  39444. activeIndex: {
  39445. type: Number,
  39446. default: 0
  39447. },
  39448. lazy: {
  39449. type: Boolean,
  39450. default: false
  39451. },
  39452. scrollable: {
  39453. type: Boolean,
  39454. default: false
  39455. }
  39456. },
  39457. data() {
  39458. return {
  39459. d_activeIndex: this.activeIndex,
  39460. backwardIsDisabled: true,
  39461. forwardIsDisabled: false
  39462. }
  39463. },
  39464. watch: {
  39465. activeIndex(newValue) {
  39466. this.d_activeIndex = newValue;
  39467. this.updateScrollBar(newValue);
  39468. }
  39469. },
  39470. updated() {
  39471. this.updateInkBar();
  39472. },
  39473. mounted() {
  39474. this.updateInkBar();
  39475. },
  39476. methods: {
  39477. onTabClick(event, i) {
  39478. if (!this.isTabDisabled(this.tabs[i]) && i !== this.d_activeIndex) {
  39479. this.d_activeIndex = i;
  39480. this.$emit('update:activeIndex', this.d_activeIndex);
  39481. this.$emit('tab-change', {
  39482. originalEvent: event,
  39483. index: i
  39484. });
  39485. this.updateScrollBar(i);
  39486. }
  39487. this.$emit('tab-click', {
  39488. originalEvent: event,
  39489. index: i
  39490. });
  39491. },
  39492. onTabKeydown(event, i) {
  39493. if (event.which === 13) {
  39494. this.onTabClick(event, i);
  39495. }
  39496. },
  39497. updateInkBar() {
  39498. let tabHeader = this.$refs.nav.children[this.d_activeIndex];
  39499. this.$refs.inkbar.style.width = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getWidth(tabHeader) + 'px';
  39500. this.$refs.inkbar.style.left = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOffset(tabHeader).left - primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOffset(this.$refs.nav).left + 'px';
  39501. },
  39502. updateScrollBar(index) {
  39503. let tabHeader = this.$refs.nav.children[index];
  39504. tabHeader.scrollIntoView({ block: 'nearest' });
  39505. },
  39506. updateButtonState() {
  39507. const content = this.$refs.content;
  39508. const { scrollLeft, scrollWidth } = content;
  39509. const width = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getWidth(content);
  39510. this.backwardIsDisabled = scrollLeft === 0;
  39511. this.forwardIsDisabled = parseInt(scrollLeft) === scrollWidth - width;
  39512. },
  39513. getKey(tab, i) {
  39514. return (tab.props && tab.props.header) ? tab.props.header : i;
  39515. },
  39516. isTabDisabled(tab) {
  39517. return (tab.props && tab.props.disabled);
  39518. },
  39519. isTabPanel(child) {
  39520. return child.type.name === 'TabPanel'
  39521. },
  39522. onScroll(event) {
  39523. this.scrollable && this.updateButtonState();
  39524. event.preventDefault();
  39525. },
  39526. getVisibleButtonWidths() {
  39527. const { prevBtn, nextBtn } = this.$refs;
  39528. return [prevBtn, nextBtn].reduce((acc, el) => el ? acc + primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getWidth(el) : acc, 0);
  39529. },
  39530. navBackward() {
  39531. const content = this.$refs.content;
  39532. const width = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getWidth(content) - this.getVisibleButtonWidths();
  39533. const pos = content.scrollLeft - width;
  39534. content.scrollLeft = pos <= 0 ? 0 : pos;
  39535. },
  39536. navForward() {
  39537. const content = this.$refs.content;
  39538. const width = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getWidth(content) - this.getVisibleButtonWidths();
  39539. const pos = content.scrollLeft + width;
  39540. const lastPos = content.scrollWidth - width;
  39541. content.scrollLeft = pos >= lastPos ? lastPos : pos;
  39542. }
  39543. },
  39544. computed: {
  39545. contentClasses() {
  39546. return ['p-tabview p-component', {'p-tabview-scrollable': this.scrollable}];
  39547. },
  39548. prevButtonClasses() {
  39549. return ['p-tabview-nav-prev p-tabview-nav-btn p-link']
  39550. },
  39551. nextButtonClasses() {
  39552. return ['p-tabview-nav-next p-tabview-nav-btn p-link']
  39553. },
  39554. tabs() {
  39555. const tabs = [];
  39556. this.$slots.default().forEach(child => {
  39557. if (this.isTabPanel(child)) {
  39558. tabs.push(child);
  39559. }
  39560. else if (child.children && child.children instanceof Array) {
  39561. child.children.forEach(nestedChild => {
  39562. if (this.isTabPanel(nestedChild)) {
  39563. tabs.push(nestedChild);
  39564. }
  39565. });
  39566. }
  39567. }
  39568. );
  39569. return tabs;
  39570. }
  39571. },
  39572. directives: {
  39573. 'ripple': primevue_ripple__WEBPACK_IMPORTED_MODULE_1__["default"]
  39574. }
  39575. };
  39576. const _hoisted_1 = { class: "p-tabview-nav-container" };
  39577. const _hoisted_2 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)("span", { class: "pi pi-chevron-left" }, null, -1);
  39578. const _hoisted_3 = [
  39579. _hoisted_2
  39580. ];
  39581. const _hoisted_4 = {
  39582. ref: "nav",
  39583. class: "p-tabview-nav",
  39584. role: "tablist"
  39585. };
  39586. const _hoisted_5 = ["onClick", "onKeydown", "tabindex", "aria-selected"];
  39587. const _hoisted_6 = {
  39588. key: 0,
  39589. class: "p-tabview-title"
  39590. };
  39591. const _hoisted_7 = {
  39592. ref: "inkbar",
  39593. class: "p-tabview-ink-bar"
  39594. };
  39595. const _hoisted_8 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)("span", { class: "pi pi-chevron-right" }, null, -1);
  39596. const _hoisted_9 = [
  39597. _hoisted_8
  39598. ];
  39599. const _hoisted_10 = { class: "p-tabview-panels" };
  39600. const _hoisted_11 = {
  39601. key: 0,
  39602. class: "p-tabview-panel",
  39603. role: "tabpanel"
  39604. };
  39605. function render(_ctx, _cache, $props, $setup, $data, $options) {
  39606. const _directive_ripple = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveDirective)("ripple");
  39607. return ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)("div", {
  39608. class: (0,vue__WEBPACK_IMPORTED_MODULE_2__.normalizeClass)($options.contentClasses)
  39609. }, [
  39610. (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)("div", _hoisted_1, [
  39611. ($props.scrollable && !$data.backwardIsDisabled)
  39612. ? (0,vue__WEBPACK_IMPORTED_MODULE_2__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)("button", {
  39613. key: 0,
  39614. ref: "prevBtn",
  39615. class: (0,vue__WEBPACK_IMPORTED_MODULE_2__.normalizeClass)($options.prevButtonClasses),
  39616. onClick: _cache[0] || (_cache[0] = (...args) => ($options.navBackward && $options.navBackward(...args))),
  39617. type: "button"
  39618. }, _hoisted_3, 2)), [
  39619. [_directive_ripple]
  39620. ])
  39621. : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)("", true),
  39622. (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)("div", {
  39623. ref: "content",
  39624. class: "p-tabview-nav-content",
  39625. onScroll: _cache[1] || (_cache[1] = (...args) => ($options.onScroll && $options.onScroll(...args)))
  39626. }, [
  39627. (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)("ul", _hoisted_4, [
  39628. ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderList)($options.tabs, (tab, i) => {
  39629. return ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)("li", {
  39630. role: "presentation",
  39631. key: $options.getKey(tab,i),
  39632. class: (0,vue__WEBPACK_IMPORTED_MODULE_2__.normalizeClass)([{'p-highlight': ($data.d_activeIndex === i), 'p-disabled': $options.isTabDisabled(tab)}])
  39633. }, [
  39634. (0,vue__WEBPACK_IMPORTED_MODULE_2__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)("a", {
  39635. role: "tab",
  39636. class: "p-tabview-nav-link",
  39637. onClick: $event => ($options.onTabClick($event, i)),
  39638. onKeydown: $event => ($options.onTabKeydown($event, i)),
  39639. tabindex: $options.isTabDisabled(tab) ? null : '0',
  39640. "aria-selected": $data.d_activeIndex === i
  39641. }, [
  39642. (tab.props && tab.props.header)
  39643. ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)("span", _hoisted_6, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(tab.props.header), 1))
  39644. : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)("", true),
  39645. (tab.children && tab.children.header)
  39646. ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createBlock)((0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveDynamicComponent)(tab.children.header), { key: 1 }))
  39647. : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)("", true)
  39648. ], 40, _hoisted_5)), [
  39649. [_directive_ripple]
  39650. ])
  39651. ], 2))
  39652. }), 128)),
  39653. (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)("li", _hoisted_7, null, 512)
  39654. ], 512)
  39655. ], 544),
  39656. ($props.scrollable && !$data.forwardIsDisabled)
  39657. ? (0,vue__WEBPACK_IMPORTED_MODULE_2__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)("button", {
  39658. key: 1,
  39659. ref: "nextBtn",
  39660. class: (0,vue__WEBPACK_IMPORTED_MODULE_2__.normalizeClass)($options.nextButtonClasses),
  39661. onClick: _cache[2] || (_cache[2] = (...args) => ($options.navForward && $options.navForward(...args))),
  39662. type: "button"
  39663. }, _hoisted_9, 2)), [
  39664. [_directive_ripple]
  39665. ])
  39666. : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)("", true)
  39667. ]),
  39668. (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)("div", _hoisted_10, [
  39669. ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderList)($options.tabs, (tab, i) => {
  39670. return ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, {
  39671. key: $options.getKey(tab,i)
  39672. }, [
  39673. ($props.lazy ? ($data.d_activeIndex === i) : true)
  39674. ? (0,vue__WEBPACK_IMPORTED_MODULE_2__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)("div", _hoisted_11, [
  39675. ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createBlock)((0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveDynamicComponent)(tab)))
  39676. ], 512)), [
  39677. [vue__WEBPACK_IMPORTED_MODULE_2__.vShow, $props.lazy ? true: ($data.d_activeIndex === i)]
  39678. ])
  39679. : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)("", true)
  39680. ], 64))
  39681. }), 128))
  39682. ])
  39683. ], 2))
  39684. }
  39685. function styleInject(css, ref) {
  39686. if ( ref === void 0 ) ref = {};
  39687. var insertAt = ref.insertAt;
  39688. if (!css || typeof document === 'undefined') { return; }
  39689. var head = document.head || document.getElementsByTagName('head')[0];
  39690. var style = document.createElement('style');
  39691. style.type = 'text/css';
  39692. if (insertAt === 'top') {
  39693. if (head.firstChild) {
  39694. head.insertBefore(style, head.firstChild);
  39695. } else {
  39696. head.appendChild(style);
  39697. }
  39698. } else {
  39699. head.appendChild(style);
  39700. }
  39701. if (style.styleSheet) {
  39702. style.styleSheet.cssText = css;
  39703. } else {
  39704. style.appendChild(document.createTextNode(css));
  39705. }
  39706. }
  39707. var css_248z = "\n.p-tabview-nav-container {\n position: relative;\n}\n.p-tabview-scrollable .p-tabview-nav-container {\n overflow: hidden;\n}\n.p-tabview-nav-content {\n overflow-x: auto;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scrollbar-width: none;\n -ms-scroll-chaining: contain auto;\n overscroll-behavior: contain auto;\n}\n.p-tabview-nav {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n margin: 0;\n padding: 0;\n list-style-type: none;\n -webkit-box-flex: 1;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n}\n.p-tabview-nav-link {\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n position: relative;\n text-decoration: none;\n overflow: hidden;\n}\n.p-tabview-ink-bar {\n display: none;\n z-index: 1;\n}\n.p-tabview-nav-link:focus {\n z-index: 1;\n}\n.p-tabview-title {\n line-height: 1;\n white-space: nowrap;\n}\n.p-tabview-nav-btn {\n position: absolute;\n top: 0;\n z-index: 2;\n height: 100%;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.p-tabview-nav-prev {\n left: 0;\n}\n.p-tabview-nav-next {\n right: 0;\n}\n.p-tabview-nav-content::-webkit-scrollbar {\n display: none;\n}\n";
  39708. styleInject(css_248z);
  39709. script.render = render;
  39710. /***/ }),
  39711. /***/ "./node_modules/primevue/textarea/textarea.esm.js":
  39712. /*!********************************************************!*\
  39713. !*** ./node_modules/primevue/textarea/textarea.esm.js ***!
  39714. \********************************************************/
  39715. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  39716. "use strict";
  39717. __webpack_require__.r(__webpack_exports__);
  39718. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  39719. /* harmony export */ "default": () => (/* binding */ script)
  39720. /* harmony export */ });
  39721. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
  39722. var script = {
  39723. name: 'Textarea',
  39724. emits: ['update:modelValue'],
  39725. props: {
  39726. modelValue: null,
  39727. autoResize: Boolean
  39728. },
  39729. mounted() {
  39730. if (this.$el.offsetParent && this.autoResize) {
  39731. this.resize();
  39732. }
  39733. },
  39734. updated() {
  39735. if (this.$el.offsetParent && this.autoResize) {
  39736. this.resize();
  39737. }
  39738. },
  39739. methods: {
  39740. resize() {
  39741. const style = window.getComputedStyle(this.$el);
  39742. this.$el.style.height = 'auto';
  39743. this.$el.style.height = `calc(${style.borderTopWidth} + ${style.borderBottomWidth} + ${this.$el.scrollHeight}px)`;
  39744. if (parseFloat(this.$el.style.height) >= parseFloat(this.$el.style.maxHeight)) {
  39745. this.$el.style.overflowY = "scroll";
  39746. this.$el.style.height = this.$el.style.maxHeight;
  39747. }
  39748. else {
  39749. this.$el.style.overflow = "hidden";
  39750. }
  39751. },
  39752. onInput(event) {
  39753. if (this.autoResize) {
  39754. this.resize();
  39755. }
  39756. this.$emit('update:modelValue', event.target.value);
  39757. }
  39758. },
  39759. computed: {
  39760. filled() {
  39761. return (this.modelValue != null && this.modelValue.toString().length > 0)
  39762. }
  39763. }
  39764. };
  39765. const _hoisted_1 = ["value"];
  39766. function render(_ctx, _cache, $props, $setup, $data, $options) {
  39767. return ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("textarea", (0,vue__WEBPACK_IMPORTED_MODULE_0__.mergeProps)({
  39768. class: ['p-inputtextarea p-inputtext p-component', {'p-filled': $options.filled, 'p-inputtextarea-resizable ': $props.autoResize}]
  39769. }, _ctx.$attrs, {
  39770. value: $props.modelValue,
  39771. onInput: _cache[0] || (_cache[0] = (...args) => ($options.onInput && $options.onInput(...args)))
  39772. }), null, 16, _hoisted_1))
  39773. }
  39774. function styleInject(css, ref) {
  39775. if ( ref === void 0 ) ref = {};
  39776. var insertAt = ref.insertAt;
  39777. if (!css || typeof document === 'undefined') { return; }
  39778. var head = document.head || document.getElementsByTagName('head')[0];
  39779. var style = document.createElement('style');
  39780. style.type = 'text/css';
  39781. if (insertAt === 'top') {
  39782. if (head.firstChild) {
  39783. head.insertBefore(style, head.firstChild);
  39784. } else {
  39785. head.appendChild(style);
  39786. }
  39787. } else {
  39788. head.appendChild(style);
  39789. }
  39790. if (style.styleSheet) {
  39791. style.styleSheet.cssText = css;
  39792. } else {
  39793. style.appendChild(document.createTextNode(css));
  39794. }
  39795. }
  39796. var css_248z = "\n.p-inputtextarea-resizable {\n overflow: hidden;\n resize: none;\n}\n.p-fluid .p-inputtextarea {\n width: 100%;\n}\n";
  39797. styleInject(css_248z);
  39798. script.render = render;
  39799. /***/ }),
  39800. /***/ "./node_modules/primevue/tooltip/tooltip.esm.js":
  39801. /*!******************************************************!*\
  39802. !*** ./node_modules/primevue/tooltip/tooltip.esm.js ***!
  39803. \******************************************************/
  39804. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  39805. "use strict";
  39806. __webpack_require__.r(__webpack_exports__);
  39807. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  39808. /* harmony export */ "default": () => (/* binding */ Tooltip)
  39809. /* harmony export */ });
  39810. /* harmony import */ var primevue_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! primevue/utils */ "./node_modules/primevue/utils/utils.esm.js");
  39811. function bindEvents(el) {
  39812. const modifiers = el.$_ptooltipModifiers;
  39813. if (modifiers.focus) {
  39814. el.addEventListener('focus', onFocus);
  39815. el.addEventListener('blur', onBlur);
  39816. }
  39817. else {
  39818. el.addEventListener('mouseenter', onMouseEnter);
  39819. el.addEventListener('mouseleave', onMouseLeave);
  39820. el.addEventListener('click', onClick);
  39821. }
  39822. }
  39823. function unbindEvents(el) {
  39824. const modifiers = el.$_ptooltipModifiers;
  39825. if (modifiers.focus) {
  39826. el.removeEventListener('focus', onFocus);
  39827. el.removeEventListener('blur', onBlur);
  39828. }
  39829. else {
  39830. el.removeEventListener('mouseenter', onMouseEnter);
  39831. el.removeEventListener('mouseleave', onMouseLeave);
  39832. el.removeEventListener('click', onClick);
  39833. }
  39834. }
  39835. function bindScrollListener(el) {
  39836. if (!el.$_ptooltipScrollHandler) {
  39837. el.$_ptooltipScrollHandler = new primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ConnectedOverlayScrollHandler(el, function() {
  39838. hide(el);
  39839. });
  39840. }
  39841. el.$_ptooltipScrollHandler.bindScrollListener();
  39842. }
  39843. function unbindScrollListener(el) {
  39844. if (el.$_ptooltipScrollHandler) {
  39845. el.$_ptooltipScrollHandler.unbindScrollListener();
  39846. }
  39847. }
  39848. function onMouseEnter(event) {
  39849. show(event.currentTarget);
  39850. }
  39851. function onMouseLeave(event) {
  39852. hide(event.currentTarget);
  39853. }
  39854. function onFocus(event) {
  39855. show(event.currentTarget);
  39856. }
  39857. function onBlur(event) {
  39858. hide(event.currentTarget);
  39859. }
  39860. function onClick(event) {
  39861. hide(event.currentTarget);
  39862. }
  39863. function show(el) {
  39864. if (el.$_ptooltipDisabled) {
  39865. return;
  39866. }
  39867. let tooltipElement = create(el);
  39868. align(el);
  39869. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.fadeIn(tooltipElement, 250);
  39870. window.addEventListener('resize', function onWindowResize() {
  39871. if (!primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.isAndroid()) {
  39872. hide(el);
  39873. }
  39874. this.removeEventListener('resize', onWindowResize);
  39875. });
  39876. bindScrollListener(el);
  39877. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ZIndexUtils.set('tooltip', tooltipElement, el.$_ptooltipZIndex);
  39878. }
  39879. function hide(el) {
  39880. remove(el);
  39881. unbindScrollListener(el);
  39882. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ZIndexUtils.clear(el);
  39883. }
  39884. function getTooltipElement(el) {
  39885. return document.getElementById(el.$_ptooltipId);
  39886. }
  39887. function create(el) {
  39888. const id = (0,primevue_utils__WEBPACK_IMPORTED_MODULE_0__.UniqueComponentId)() + '_tooltip';
  39889. el.$_ptooltipId = id;
  39890. let container = document.createElement('div');
  39891. container.id = id;
  39892. let tooltipArrow = document.createElement('div');
  39893. tooltipArrow.className = 'p-tooltip-arrow';
  39894. container.appendChild(tooltipArrow);
  39895. let tooltipText = document.createElement('div');
  39896. tooltipText.className = 'p-tooltip-text';
  39897. if (el.$_ptooltipEscape) {
  39898. tooltipText.innerHTML = el.$_ptooltipValue;
  39899. }
  39900. else {
  39901. tooltipText.innerHTML = '';
  39902. tooltipText.appendChild(document.createTextNode(el.$_ptooltipValue));
  39903. }
  39904. container.appendChild(tooltipText);
  39905. document.body.appendChild(container);
  39906. container.style.display = 'inline-block';
  39907. return container;
  39908. }
  39909. function remove(el) {
  39910. if (el) {
  39911. let tooltipElement = getTooltipElement(el);
  39912. if (tooltipElement && tooltipElement.parentElement) {
  39913. document.body.removeChild(tooltipElement);
  39914. }
  39915. el.$_ptooltipId = null;
  39916. }
  39917. }
  39918. function align(el) {
  39919. const modifiers = el.$_ptooltipModifiers;
  39920. if (modifiers.top) {
  39921. alignTop(el);
  39922. if (isOutOfBounds(el)) {
  39923. alignBottom(el);
  39924. if (isOutOfBounds(el)) {
  39925. alignTop(el);
  39926. }
  39927. }
  39928. }
  39929. else if (modifiers.left) {
  39930. alignLeft(el);
  39931. if (isOutOfBounds(el)) {
  39932. alignRight(el);
  39933. if (isOutOfBounds(el)) {
  39934. alignTop(el);
  39935. if (isOutOfBounds(el)) {
  39936. alignBottom(el);
  39937. if (isOutOfBounds(el)) {
  39938. alignLeft(el);
  39939. }
  39940. }
  39941. }
  39942. }
  39943. }
  39944. else if (modifiers.bottom) {
  39945. alignBottom(el);
  39946. if (isOutOfBounds(el)) {
  39947. alignTop(el);
  39948. if (isOutOfBounds(el)) {
  39949. alignBottom(el);
  39950. }
  39951. }
  39952. }
  39953. else {
  39954. alignRight(el);
  39955. if (isOutOfBounds(el)) {
  39956. alignLeft(el);
  39957. if (isOutOfBounds(el)) {
  39958. alignTop(el);
  39959. if (isOutOfBounds(el)) {
  39960. alignBottom(el);
  39961. if (isOutOfBounds(el)) {
  39962. alignRight(el);
  39963. }
  39964. }
  39965. }
  39966. }
  39967. }
  39968. }
  39969. function getHostOffset(el) {
  39970. let offset = el.getBoundingClientRect();
  39971. let targetLeft = offset.left + primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getWindowScrollLeft();
  39972. let targetTop = offset.top + primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getWindowScrollTop();
  39973. return {left: targetLeft, top: targetTop};
  39974. }
  39975. function alignRight(el) {
  39976. preAlign(el, 'right');
  39977. let tooltipElement = getTooltipElement(el);
  39978. let hostOffset = getHostOffset(el);
  39979. let left = hostOffset.left + primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(el);
  39980. let top = hostOffset.top + (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterHeight(el) - primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterHeight(tooltipElement)) / 2;
  39981. tooltipElement.style.left = left + 'px';
  39982. tooltipElement.style.top = top + 'px';
  39983. }
  39984. function alignLeft(el) {
  39985. preAlign(el, 'left');
  39986. let tooltipElement = getTooltipElement(el);
  39987. let hostOffset = getHostOffset(el);
  39988. let left = hostOffset.left - primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(tooltipElement);
  39989. let top = hostOffset.top + (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterHeight(el) - primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterHeight(tooltipElement)) / 2;
  39990. tooltipElement.style.left = left + 'px';
  39991. tooltipElement.style.top = top + 'px';
  39992. }
  39993. function alignTop(el) {
  39994. preAlign(el, 'top');
  39995. let tooltipElement = getTooltipElement(el);
  39996. let hostOffset = getHostOffset(el);
  39997. let left = hostOffset.left + (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(el) - primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(tooltipElement)) / 2;
  39998. let top = hostOffset.top - primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterHeight(tooltipElement);
  39999. tooltipElement.style.left = left + 'px';
  40000. tooltipElement.style.top = top + 'px';
  40001. }
  40002. function alignBottom(el) {
  40003. preAlign(el, 'bottom');
  40004. let tooltipElement = getTooltipElement(el);
  40005. let hostOffset = getHostOffset(el);
  40006. let left = hostOffset.left + (primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(el) - primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(tooltipElement)) / 2;
  40007. let top = hostOffset.top + primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterHeight(el);
  40008. tooltipElement.style.left = left + 'px';
  40009. tooltipElement.style.top = top + 'px';
  40010. }
  40011. function preAlign(el, position) {
  40012. let tooltipElement = getTooltipElement(el);
  40013. tooltipElement.style.left = -999 + 'px';
  40014. tooltipElement.style.top = -999 + 'px';
  40015. tooltipElement.className = `p-tooltip p-component p-tooltip-${position} ${el.$_ptooltipClass||''}`;
  40016. }
  40017. function isOutOfBounds(el) {
  40018. let tooltipElement = getTooltipElement(el);
  40019. let offset = tooltipElement.getBoundingClientRect();
  40020. let targetTop = offset.top;
  40021. let targetLeft = offset.left;
  40022. let width = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterWidth(tooltipElement);
  40023. let height = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getOuterHeight(tooltipElement);
  40024. let viewport = primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.getViewport();
  40025. return (targetLeft + width > viewport.width) || (targetLeft < 0) || (targetTop < 0) || (targetTop + height > viewport.height);
  40026. }
  40027. function getTarget(el) {
  40028. return primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.hasClass(el, 'p-inputwrapper') ? primevue_utils__WEBPACK_IMPORTED_MODULE_0__.DomHandler.findSingle(el, 'input'): el;
  40029. }
  40030. function getModifiers(options) {
  40031. // modifiers
  40032. if (options.modifiers && Object.keys(options.modifiers).length) {
  40033. return options.modifiers;
  40034. }
  40035. // arg
  40036. if (options.arg && typeof options.arg === 'object') {
  40037. return Object.entries(options.arg).reduce((acc, [key, val]) => {
  40038. if (key === 'event' || key === 'position') acc[val] = true;
  40039. return acc;
  40040. }, {});
  40041. }
  40042. return {};
  40043. }
  40044. const Tooltip = {
  40045. beforeMount(el, options) {
  40046. let target = getTarget(el);
  40047. target.$_ptooltipModifiers = getModifiers(options);
  40048. if (!options.value) return;
  40049. else if (typeof options.value === 'string') {
  40050. target.$_ptooltipValue = options.value;
  40051. target.$_ptooltipDisabled = false;
  40052. target.$_ptooltipEscape = false;
  40053. target.$_ptooltipClass = null;
  40054. }
  40055. else {
  40056. target.$_ptooltipValue = options.value.value;
  40057. target.$_ptooltipDisabled = options.value.disabled || false;
  40058. target.$_ptooltipEscape = options.value.escape || false;
  40059. target.$_ptooltipClass = options.value.class;
  40060. }
  40061. target.$_ptooltipZIndex = options.instance.$primevue && options.instance.$primevue.config && options.instance.$primevue.config.zIndex.tooltip;
  40062. bindEvents(target);
  40063. },
  40064. unmounted(el) {
  40065. let target = getTarget(el);
  40066. remove(target);
  40067. unbindEvents(target);
  40068. if (target.$_ptooltipScrollHandler) {
  40069. target.$_ptooltipScrollHandler.destroy();
  40070. target.$_ptooltipScrollHandler = null;
  40071. }
  40072. primevue_utils__WEBPACK_IMPORTED_MODULE_0__.ZIndexUtils.clear(el);
  40073. },
  40074. updated(el, options) {
  40075. let target = getTarget(el);
  40076. target.$_ptooltipModifiers = getModifiers(options);
  40077. if (!options.value) return;
  40078. if (typeof options.value === 'string') {
  40079. target.$_ptooltipValue = options.value;
  40080. target.$_ptooltipDisabled = false;
  40081. target.$_ptooltipEscape = false;
  40082. target.$_ptooltipClass = null;
  40083. }
  40084. else {
  40085. target.$_ptooltipValue = options.value.value;
  40086. target.$_ptooltipDisabled = options.value.disabled || false;
  40087. target.$_ptooltipEscape = options.value.escape || false;
  40088. target.$_ptooltipClass = options.value.class;
  40089. }
  40090. }
  40091. };
  40092. /***/ }),
  40093. /***/ "./node_modules/primevue/useconfirm/useconfirm.esm.js":
  40094. /*!************************************************************!*\
  40095. !*** ./node_modules/primevue/useconfirm/useconfirm.esm.js ***!
  40096. \************************************************************/
  40097. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  40098. "use strict";
  40099. __webpack_require__.r(__webpack_exports__);
  40100. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  40101. /* harmony export */ "PrimeVueConfirmSymbol": () => (/* binding */ PrimeVueConfirmSymbol),
  40102. /* harmony export */ "useConfirm": () => (/* binding */ useConfirm)
  40103. /* harmony export */ });
  40104. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
  40105. const PrimeVueConfirmSymbol = Symbol();
  40106. function useConfirm() {
  40107. const PrimeVueConfirm = (0,vue__WEBPACK_IMPORTED_MODULE_0__.inject)(PrimeVueConfirmSymbol);
  40108. if (!PrimeVueConfirm) {
  40109. throw new Error('No PrimeVue Confirmation provided!');
  40110. }
  40111. return PrimeVueConfirm;
  40112. }
  40113. /***/ }),
  40114. /***/ "./node_modules/primevue/utils/utils.esm.js":
  40115. /*!**************************************************!*\
  40116. !*** ./node_modules/primevue/utils/utils.esm.js ***!
  40117. \**************************************************/
  40118. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  40119. "use strict";
  40120. __webpack_require__.r(__webpack_exports__);
  40121. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  40122. /* harmony export */ "ConnectedOverlayScrollHandler": () => (/* binding */ ConnectedOverlayScrollHandler),
  40123. /* harmony export */ "DomHandler": () => (/* binding */ DomHandler),
  40124. /* harmony export */ "EventBus": () => (/* binding */ primebus),
  40125. /* harmony export */ "ObjectUtils": () => (/* binding */ ObjectUtils),
  40126. /* harmony export */ "UniqueComponentId": () => (/* binding */ UniqueComponentId),
  40127. /* harmony export */ "ZIndexUtils": () => (/* binding */ ZIndexUtils)
  40128. /* harmony export */ });
  40129. var DomHandler = {
  40130. innerWidth(el) {
  40131. let width = el.offsetWidth;
  40132. let style = getComputedStyle(el);
  40133. width += parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);
  40134. return width;
  40135. },
  40136. width(el) {
  40137. let width = el.offsetWidth;
  40138. let style = getComputedStyle(el);
  40139. width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);
  40140. return width;
  40141. },
  40142. getWindowScrollTop() {
  40143. let doc = document.documentElement;
  40144. return (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);
  40145. },
  40146. getWindowScrollLeft() {
  40147. let doc = document.documentElement;
  40148. return (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);
  40149. },
  40150. getOuterWidth(el, margin) {
  40151. if (el) {
  40152. let width = el.offsetWidth;
  40153. if (margin) {
  40154. let style = getComputedStyle(el);
  40155. width += parseFloat(style.marginLeft) + parseFloat(style.marginRight);
  40156. }
  40157. return width;
  40158. }
  40159. else {
  40160. return 0;
  40161. }
  40162. },
  40163. getOuterHeight(el, margin) {
  40164. if (el) {
  40165. let height = el.offsetHeight;
  40166. if (margin) {
  40167. let style = getComputedStyle(el);
  40168. height += parseFloat(style.marginTop) + parseFloat(style.marginBottom);
  40169. }
  40170. return height;
  40171. }
  40172. else {
  40173. return 0;
  40174. }
  40175. },
  40176. getClientHeight(el, margin) {
  40177. if (el) {
  40178. let height = el.clientHeight;
  40179. if (margin) {
  40180. let style = getComputedStyle(el);
  40181. height += parseFloat(style.marginTop) + parseFloat(style.marginBottom);
  40182. }
  40183. return height;
  40184. } else {
  40185. return 0;
  40186. }
  40187. },
  40188. getViewport() {
  40189. let win = window,
  40190. d = document,
  40191. e = d.documentElement,
  40192. g = d.getElementsByTagName('body')[0],
  40193. w = win.innerWidth || e.clientWidth || g.clientWidth,
  40194. h = win.innerHeight || e.clientHeight || g.clientHeight;
  40195. return {width: w, height: h};
  40196. },
  40197. getOffset(el) {
  40198. var rect = el.getBoundingClientRect();
  40199. return {
  40200. top: rect.top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0),
  40201. left: rect.left + (window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0),
  40202. };
  40203. },
  40204. index(element) {
  40205. let children = element.parentNode.childNodes;
  40206. let num = 0;
  40207. for (var i = 0; i < children.length; i++) {
  40208. if (children[i] === element) return num;
  40209. if (children[i].nodeType === 1) num++;
  40210. }
  40211. return -1;
  40212. },
  40213. addMultipleClasses(element, className) {
  40214. if (element.classList) {
  40215. let styles = className.split(' ');
  40216. for (let i = 0; i < styles.length; i++) {
  40217. element.classList.add(styles[i]);
  40218. }
  40219. }
  40220. else {
  40221. let styles = className.split(' ');
  40222. for (let i = 0; i < styles.length; i++) {
  40223. element.className += ' ' + styles[i];
  40224. }
  40225. }
  40226. },
  40227. addClass(element, className) {
  40228. if (element.classList)
  40229. element.classList.add(className);
  40230. else
  40231. element.className += ' ' + className;
  40232. },
  40233. removeClass(element, className) {
  40234. if (element.classList)
  40235. element.classList.remove(className);
  40236. else
  40237. element.className = element.className.replace(new RegExp('(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'), ' ');
  40238. },
  40239. hasClass(element, className) {
  40240. if (element) {
  40241. if (element.classList)
  40242. return element.classList.contains(className);
  40243. else
  40244. return new RegExp('(^| )' + className + '( |$)', 'gi').test(element.className);
  40245. }
  40246. return false;
  40247. },
  40248. find(element, selector) {
  40249. return element.querySelectorAll(selector);
  40250. },
  40251. findSingle(element, selector) {
  40252. return element.querySelector(selector);
  40253. },
  40254. getHeight(el) {
  40255. let height = el.offsetHeight;
  40256. let style = getComputedStyle(el);
  40257. height -= parseFloat(style.paddingTop) + parseFloat(style.paddingBottom) + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);
  40258. return height;
  40259. },
  40260. getWidth(el) {
  40261. let width = el.offsetWidth;
  40262. let style = getComputedStyle(el);
  40263. width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight) + parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth);
  40264. return width;
  40265. },
  40266. absolutePosition(element, target) {
  40267. let elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : this.getHiddenElementDimensions(element);
  40268. let elementOuterHeight = elementDimensions.height;
  40269. let elementOuterWidth = elementDimensions.width;
  40270. let targetOuterHeight = target.offsetHeight;
  40271. let targetOuterWidth = target.offsetWidth;
  40272. let targetOffset = target.getBoundingClientRect();
  40273. let windowScrollTop = this.getWindowScrollTop();
  40274. let windowScrollLeft = this.getWindowScrollLeft();
  40275. let viewport = this.getViewport();
  40276. let top, left;
  40277. if (targetOffset.top + targetOuterHeight + elementOuterHeight > viewport.height) {
  40278. top = targetOffset.top + windowScrollTop - elementOuterHeight;
  40279. element.style.transformOrigin = 'bottom';
  40280. if (top < 0) {
  40281. top = windowScrollTop;
  40282. }
  40283. }
  40284. else {
  40285. top = targetOuterHeight + targetOffset.top + windowScrollTop;
  40286. element.style.transformOrigin = 'top';
  40287. }
  40288. if (targetOffset.left + elementOuterWidth > viewport.width)
  40289. left = Math.max(0, targetOffset.left + windowScrollLeft + targetOuterWidth - elementOuterWidth);
  40290. else
  40291. left = targetOffset.left + windowScrollLeft;
  40292. element.style.top = top + 'px';
  40293. element.style.left = left + 'px';
  40294. },
  40295. relativePosition(element, target) {
  40296. let elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : this.getHiddenElementDimensions(element);
  40297. const targetHeight = target.offsetHeight;
  40298. const targetOffset = target.getBoundingClientRect();
  40299. const viewport = this.getViewport();
  40300. let top, left;
  40301. if ((targetOffset.top + targetHeight + elementDimensions.height) > viewport.height) {
  40302. top = -1 * (elementDimensions.height);
  40303. element.style.transformOrigin = 'bottom';
  40304. if (targetOffset.top + top < 0) {
  40305. top = -1 * targetOffset.top;
  40306. }
  40307. }
  40308. else {
  40309. top = targetHeight;
  40310. element.style.transformOrigin = 'top';
  40311. }
  40312. if (elementDimensions.width > viewport.width) {
  40313. // element wider then viewport and cannot fit on screen (align at left side of viewport)
  40314. left = targetOffset.left * -1;
  40315. }
  40316. else if ((targetOffset.left + elementDimensions.width) > viewport.width) {
  40317. // element wider then viewport but can be fit on screen (align at right side of viewport)
  40318. left = (targetOffset.left + elementDimensions.width - viewport.width) * -1;
  40319. }
  40320. else {
  40321. // element fits on screen (align with target)
  40322. left = 0;
  40323. }
  40324. element.style.top = top + 'px';
  40325. element.style.left = left + 'px';
  40326. },
  40327. getParents(element, parents = []) {
  40328. return element['parentNode'] === null ? parents : this.getParents(element.parentNode, parents.concat([element.parentNode]));
  40329. },
  40330. getScrollableParents(element) {
  40331. let scrollableParents = [];
  40332. if (element) {
  40333. let parents = this.getParents(element);
  40334. const overflowRegex = /(auto|scroll)/;
  40335. const overflowCheck = (node) => {
  40336. let styleDeclaration = window['getComputedStyle'](node, null);
  40337. return overflowRegex.test(styleDeclaration.getPropertyValue('overflow')) || overflowRegex.test(styleDeclaration.getPropertyValue('overflowX')) || overflowRegex.test(styleDeclaration.getPropertyValue('overflowY'));
  40338. };
  40339. for (let parent of parents) {
  40340. let scrollSelectors = parent.nodeType === 1 && parent.dataset['scrollselectors'];
  40341. if (scrollSelectors) {
  40342. let selectors = scrollSelectors.split(',');
  40343. for (let selector of selectors) {
  40344. let el = this.findSingle(parent, selector);
  40345. if (el && overflowCheck(el)) {
  40346. scrollableParents.push(el);
  40347. }
  40348. }
  40349. }
  40350. if (parent.nodeType !== 9 && overflowCheck(parent)) {
  40351. scrollableParents.push(parent);
  40352. }
  40353. }
  40354. }
  40355. return scrollableParents;
  40356. },
  40357. getHiddenElementOuterHeight(element) {
  40358. element.style.visibility = 'hidden';
  40359. element.style.display = 'block';
  40360. let elementHeight = element.offsetHeight;
  40361. element.style.display = 'none';
  40362. element.style.visibility = 'visible';
  40363. return elementHeight;
  40364. },
  40365. getHiddenElementOuterWidth(element) {
  40366. element.style.visibility = 'hidden';
  40367. element.style.display = 'block';
  40368. let elementWidth = element.offsetWidth;
  40369. element.style.display = 'none';
  40370. element.style.visibility = 'visible';
  40371. return elementWidth;
  40372. },
  40373. getHiddenElementDimensions(element) {
  40374. var dimensions = {};
  40375. element.style.visibility = 'hidden';
  40376. element.style.display = 'block';
  40377. dimensions.width = element.offsetWidth;
  40378. dimensions.height = element.offsetHeight;
  40379. element.style.display = 'none';
  40380. element.style.visibility = 'visible';
  40381. return dimensions;
  40382. },
  40383. fadeIn(element, duration) {
  40384. element.style.opacity = 0;
  40385. var last = +new Date();
  40386. var opacity = 0;
  40387. var tick = function () {
  40388. opacity = +element.style.opacity + (new Date().getTime() - last) / duration;
  40389. element.style.opacity = opacity;
  40390. last = +new Date();
  40391. if (+opacity < 1) {
  40392. (window.requestAnimationFrame && requestAnimationFrame(tick)) || setTimeout(tick, 16);
  40393. }
  40394. };
  40395. tick();
  40396. },
  40397. fadeOut(element, ms) {
  40398. var opacity = 1,
  40399. interval = 50,
  40400. duration = ms,
  40401. gap = interval / duration;
  40402. let fading = setInterval(() => {
  40403. opacity -= gap;
  40404. if (opacity <= 0) {
  40405. opacity = 0;
  40406. clearInterval(fading);
  40407. }
  40408. element.style.opacity = opacity;
  40409. }, interval);
  40410. },
  40411. getUserAgent() {
  40412. return navigator.userAgent;
  40413. },
  40414. appendChild(element, target) {
  40415. if(this.isElement(target))
  40416. target.appendChild(element);
  40417. else if(target.el && target.elElement)
  40418. target.elElement.appendChild(element);
  40419. else
  40420. throw new Error('Cannot append ' + target + ' to ' + element);
  40421. },
  40422. scrollInView(container, item) {
  40423. let borderTopValue = getComputedStyle(container).getPropertyValue('borderTopWidth');
  40424. let borderTop = borderTopValue ? parseFloat(borderTopValue) : 0;
  40425. let paddingTopValue = getComputedStyle(container).getPropertyValue('paddingTop');
  40426. let paddingTop = paddingTopValue ? parseFloat(paddingTopValue) : 0;
  40427. let containerRect = container.getBoundingClientRect();
  40428. let itemRect = item.getBoundingClientRect();
  40429. let offset = (itemRect.top + document.body.scrollTop) - (containerRect.top + document.body.scrollTop) - borderTop - paddingTop;
  40430. let scroll = container.scrollTop;
  40431. let elementHeight = container.clientHeight;
  40432. let itemHeight = this.getOuterHeight(item);
  40433. if (offset < 0) {
  40434. container.scrollTop = scroll + offset;
  40435. }
  40436. else if ((offset + itemHeight) > elementHeight) {
  40437. container.scrollTop = scroll + offset - elementHeight + itemHeight;
  40438. }
  40439. },
  40440. clearSelection() {
  40441. if(window.getSelection) {
  40442. if(window.getSelection().empty) {
  40443. window.getSelection().empty();
  40444. } else if(window.getSelection().removeAllRanges && window.getSelection().rangeCount > 0 && window.getSelection().getRangeAt(0).getClientRects().length > 0) {
  40445. window.getSelection().removeAllRanges();
  40446. }
  40447. }
  40448. else if(document['selection'] && document['selection'].empty) {
  40449. try {
  40450. document['selection'].empty();
  40451. } catch(error) {
  40452. //ignore IE bug
  40453. }
  40454. }
  40455. },
  40456. calculateScrollbarWidth() {
  40457. if(this.calculatedScrollbarWidth != null)
  40458. return this.calculatedScrollbarWidth;
  40459. let scrollDiv = document.createElement("div");
  40460. scrollDiv.className = "p-scrollbar-measure";
  40461. document.body.appendChild(scrollDiv);
  40462. let scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
  40463. document.body.removeChild(scrollDiv);
  40464. this.calculatedScrollbarWidth = scrollbarWidth;
  40465. return scrollbarWidth;
  40466. },
  40467. getBrowser() {
  40468. if(!this.browser) {
  40469. let matched = this.resolveUserAgent();
  40470. this.browser = {};
  40471. if (matched.browser) {
  40472. this.browser[matched.browser] = true;
  40473. this.browser['version'] = matched.version;
  40474. }
  40475. if (this.browser['chrome']) {
  40476. this.browser['webkit'] = true;
  40477. } else if (this.browser['webkit']) {
  40478. this.browser['safari'] = true;
  40479. }
  40480. }
  40481. return this.browser;
  40482. },
  40483. resolveUserAgent() {
  40484. let ua = navigator.userAgent.toLowerCase();
  40485. let match = /(chrome)[ ]([\w.]+)/.exec(ua) ||
  40486. /(webkit)[ ]([\w.]+)/.exec(ua) ||
  40487. /(opera)(?:.*version|)[ ]([\w.]+)/.exec(ua) ||
  40488. /(msie) ([\w.]+)/.exec(ua) ||
  40489. (ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua)) ||
  40490. [];
  40491. return {
  40492. browser: match[1] || "",
  40493. version: match[2] || "0"
  40494. };
  40495. },
  40496. isVisible(element) {
  40497. return element.offsetParent != null;
  40498. },
  40499. invokeElementMethod(element, methodName, args) {
  40500. (element)[methodName].apply(element, args);
  40501. },
  40502. getFocusableElements(element) {
  40503. let focusableElements = this.find(element, `button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]),
  40504. [href][clientHeight][clientWidth]:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]),
  40505. input:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]), select:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]),
  40506. textarea:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]), [tabIndex]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]),
  40507. [contenteditable]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])`
  40508. );
  40509. let visibleFocusableElements = [];
  40510. for (let focusableElement of focusableElements) {
  40511. if (getComputedStyle(focusableElement).display != "none" && getComputedStyle(focusableElement).visibility != "hidden")
  40512. visibleFocusableElements.push(focusableElement);
  40513. }
  40514. return visibleFocusableElements;
  40515. },
  40516. getFirstFocusableElement(element) {
  40517. const focusableElements = this.getFocusableElements(element);
  40518. return focusableElements.length > 0 ? focusableElements[0] : null;
  40519. },
  40520. isClickable(element) {
  40521. const targetNode = element.nodeName;
  40522. const parentNode = element.parentElement && element.parentElement.nodeName;
  40523. return (targetNode == 'INPUT' || targetNode == 'BUTTON' || targetNode == 'A' ||
  40524. parentNode == 'INPUT' || parentNode == 'BUTTON' || parentNode == 'A' ||
  40525. this.hasClass(element, 'p-button') || this.hasClass(element.parentElement, 'p-button') ||
  40526. this.hasClass(element.parentElement, 'p-checkbox') || this.hasClass(element.parentElement, 'p-radiobutton')
  40527. );
  40528. },
  40529. applyStyle(element, style) {
  40530. if (typeof style === 'string') {
  40531. element.style.cssText = style;
  40532. }
  40533. else {
  40534. for (let prop in style) {
  40535. element.style[prop] = style[prop];
  40536. }
  40537. }
  40538. },
  40539. isIOS() {
  40540. return /iPad|iPhone|iPod/.test(navigator.userAgent) && !window['MSStream'];
  40541. },
  40542. isAndroid() {
  40543. return /(android)/i.test(navigator.userAgent);
  40544. },
  40545. isTouchDevice() {
  40546. return (('ontouchstart' in window) || (navigator.maxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0));
  40547. },
  40548. exportCSV(csv, filename) {
  40549. let blob = new Blob([csv], {
  40550. type: 'application/csv;charset=utf-8;'
  40551. });
  40552. if (window.navigator.msSaveOrOpenBlob) {
  40553. navigator.msSaveOrOpenBlob(blob, filename + '.csv');
  40554. }
  40555. else {
  40556. let link = document.createElement("a");
  40557. if (link.download !== undefined) {
  40558. link.setAttribute('href', URL.createObjectURL(blob));
  40559. link.setAttribute('download', filename + '.csv');
  40560. link.style.display = 'none';
  40561. document.body.appendChild(link);
  40562. link.click();
  40563. document.body.removeChild(link);
  40564. }
  40565. else {
  40566. csv = 'data:text/csv;charset=utf-8,' + csv;
  40567. window.open(encodeURI(csv));
  40568. }
  40569. }
  40570. }
  40571. };
  40572. class ConnectedOverlayScrollHandler {
  40573. constructor(element, listener = () => {}) {
  40574. this.element = element;
  40575. this.listener = listener;
  40576. }
  40577. bindScrollListener() {
  40578. this.scrollableParents = DomHandler.getScrollableParents(this.element);
  40579. for (let i = 0; i < this.scrollableParents.length; i++) {
  40580. this.scrollableParents[i].addEventListener('scroll', this.listener);
  40581. }
  40582. }
  40583. unbindScrollListener() {
  40584. if (this.scrollableParents) {
  40585. for (let i = 0; i < this.scrollableParents.length; i++) {
  40586. this.scrollableParents[i].removeEventListener('scroll', this.listener);
  40587. }
  40588. }
  40589. }
  40590. destroy() {
  40591. this.unbindScrollListener();
  40592. this.element = null;
  40593. this.listener = null;
  40594. this.scrollableParents = null;
  40595. }
  40596. }
  40597. var ObjectUtils = {
  40598. equals(obj1, obj2, field) {
  40599. if (field)
  40600. return (this.resolveFieldData(obj1, field) === this.resolveFieldData(obj2, field));
  40601. else
  40602. return this.deepEquals(obj1, obj2);
  40603. },
  40604. deepEquals(a, b) {
  40605. if (a === b) return true;
  40606. if (a && b && typeof a == 'object' && typeof b == 'object') {
  40607. var arrA = Array.isArray(a)
  40608. , arrB = Array.isArray(b)
  40609. , i
  40610. , length
  40611. , key;
  40612. if (arrA && arrB) {
  40613. length = a.length;
  40614. if (length != b.length) return false;
  40615. for (i = length; i-- !== 0;)
  40616. if (!this.deepEquals(a[i], b[i])) return false;
  40617. return true;
  40618. }
  40619. if (arrA != arrB) return false;
  40620. var dateA = a instanceof Date
  40621. , dateB = b instanceof Date;
  40622. if (dateA != dateB) return false;
  40623. if (dateA && dateB) return a.getTime() == b.getTime();
  40624. var regexpA = a instanceof RegExp
  40625. , regexpB = b instanceof RegExp;
  40626. if (regexpA != regexpB) return false;
  40627. if (regexpA && regexpB) return a.toString() == b.toString();
  40628. var keys = Object.keys(a);
  40629. length = keys.length;
  40630. if (length !== Object.keys(b).length)
  40631. return false;
  40632. for (i = length; i-- !== 0;)
  40633. if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
  40634. for (i = length; i-- !== 0;) {
  40635. key = keys[i];
  40636. if (!this.deepEquals(a[key], b[key])) return false;
  40637. }
  40638. return true;
  40639. }
  40640. return a !== a && b !== b;
  40641. },
  40642. resolveFieldData(data, field) {
  40643. if (data && Object.keys(data).length && field) {
  40644. if (this.isFunction(field)) {
  40645. return field(data);
  40646. }
  40647. else if(field.indexOf('.') === -1) {
  40648. return data[field];
  40649. }
  40650. else {
  40651. let fields = field.split('.');
  40652. let value = data;
  40653. for(var i = 0, len = fields.length; i < len; ++i) {
  40654. if (value == null) {
  40655. return null;
  40656. }
  40657. value = value[fields[i]];
  40658. }
  40659. return value;
  40660. }
  40661. }
  40662. else {
  40663. return null;
  40664. }
  40665. },
  40666. isFunction(obj) {
  40667. return !!(obj && obj.constructor && obj.call && obj.apply);
  40668. },
  40669. filter(value, fields, filterValue) {
  40670. var filteredItems = [];
  40671. if (value) {
  40672. for (let item of value) {
  40673. for (let field of fields) {
  40674. if (String(this.resolveFieldData(item, field)).toLowerCase().indexOf(filterValue.toLowerCase()) > -1) {
  40675. filteredItems.push(item);
  40676. break;
  40677. }
  40678. }
  40679. }
  40680. }
  40681. return filteredItems;
  40682. },
  40683. reorderArray(value, from, to) {
  40684. let target;
  40685. if (value && (from !== to)) {
  40686. if (to >= value.length) {
  40687. target = to - value.length;
  40688. while ((target--) + 1) {
  40689. value.push(undefined);
  40690. }
  40691. }
  40692. value.splice(to, 0, value.splice(from, 1)[0]);
  40693. }
  40694. },
  40695. findIndexInList(value, list) {
  40696. let index = -1;
  40697. if (list) {
  40698. for (let i = 0; i < list.length; i++) {
  40699. if (list[i] === value) {
  40700. index = i;
  40701. break;
  40702. }
  40703. }
  40704. }
  40705. return index;
  40706. },
  40707. contains(value, list) {
  40708. if (value != null && list && list.length) {
  40709. for (let val of list) {
  40710. if (this.equals(value, val))
  40711. return true;
  40712. }
  40713. }
  40714. return false;
  40715. },
  40716. insertIntoOrderedArray(item, index, arr, sourceArr) {
  40717. if (arr.length > 0) {
  40718. let injected = false;
  40719. for (let i = 0; i < arr.length; i++) {
  40720. let currentItemIndex = this.findIndexInList(arr[i], sourceArr);
  40721. if (currentItemIndex > index) {
  40722. arr.splice(i, 0, item);
  40723. injected = true;
  40724. break;
  40725. }
  40726. }
  40727. if (!injected) {
  40728. arr.push(item);
  40729. }
  40730. }
  40731. else {
  40732. arr.push(item);
  40733. }
  40734. },
  40735. removeAccents(str) {
  40736. if (str && str.search(/[\xC0-\xFF]/g) > -1) {
  40737. str = str
  40738. .replace(/[\xC0-\xC5]/g, "A")
  40739. .replace(/[\xC6]/g, "AE")
  40740. .replace(/[\xC7]/g, "C")
  40741. .replace(/[\xC8-\xCB]/g, "E")
  40742. .replace(/[\xCC-\xCF]/g, "I")
  40743. .replace(/[\xD0]/g, "D")
  40744. .replace(/[\xD1]/g, "N")
  40745. .replace(/[\xD2-\xD6\xD8]/g, "O")
  40746. .replace(/[\xD9-\xDC]/g, "U")
  40747. .replace(/[\xDD]/g, "Y")
  40748. .replace(/[\xDE]/g, "P")
  40749. .replace(/[\xE0-\xE5]/g, "a")
  40750. .replace(/[\xE6]/g, "ae")
  40751. .replace(/[\xE7]/g, "c")
  40752. .replace(/[\xE8-\xEB]/g, "e")
  40753. .replace(/[\xEC-\xEF]/g, "i")
  40754. .replace(/[\xF1]/g, "n")
  40755. .replace(/[\xF2-\xF6\xF8]/g, "o")
  40756. .replace(/[\xF9-\xFC]/g, "u")
  40757. .replace(/[\xFE]/g, "p")
  40758. .replace(/[\xFD\xFF]/g, "y");
  40759. }
  40760. return str;
  40761. },
  40762. getVNodeProp(vnode, prop) {
  40763. let props = vnode.props;
  40764. if (props) {
  40765. let kebapProp = prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
  40766. let propName = Object.prototype.hasOwnProperty.call(props, kebapProp) ? kebapProp : prop;
  40767. return ((vnode.type.props[prop].type === Boolean && props[propName] === '') ? true : props[propName]);
  40768. }
  40769. return null;
  40770. },
  40771. isEmpty(value) {
  40772. return (
  40773. value === null || value === undefined || value === '' ||
  40774. (Array.isArray(value) && value.length === 0) ||
  40775. (!(value instanceof Date) && typeof value === 'object' && Object.keys(value).length === 0)
  40776. );
  40777. },
  40778. isNotEmpty(value) {
  40779. return !this.isEmpty(value);
  40780. }
  40781. };
  40782. function handler() {
  40783. let zIndexes = [];
  40784. const generateZIndex = (key, baseZIndex) => {
  40785. let lastZIndex = zIndexes.length > 0 ? zIndexes[zIndexes.length - 1] : { key, value: baseZIndex };
  40786. let newZIndex = lastZIndex.value + (lastZIndex.key === key ? 0 : baseZIndex) + 1;
  40787. zIndexes.push({ key, value: newZIndex });
  40788. return newZIndex;
  40789. };
  40790. const revertZIndex = (zIndex) => {
  40791. zIndexes = zIndexes.filter(obj => obj.value !== zIndex);
  40792. };
  40793. const getCurrentZIndex = () => {
  40794. return zIndexes.length > 0 ? zIndexes[zIndexes.length - 1].value : 0;
  40795. };
  40796. const getZIndex = (el) => {
  40797. return el ? parseInt(el.style.zIndex, 10) || 0 : 0
  40798. };
  40799. return {
  40800. get: getZIndex,
  40801. set: (key, el, baseZIndex) => {
  40802. if (el) {
  40803. el.style.zIndex = String(generateZIndex(key, baseZIndex));
  40804. }
  40805. },
  40806. clear: (el) => {
  40807. if (el) {
  40808. revertZIndex(getZIndex(el));
  40809. el.style.zIndex = '';
  40810. }
  40811. },
  40812. getCurrent: () => getCurrentZIndex()
  40813. };
  40814. }
  40815. var ZIndexUtils = handler();
  40816. var lastId = 0;
  40817. function UniqueComponentId (prefix = 'pv_id_') {
  40818. lastId++;
  40819. return `${prefix}${lastId}`;
  40820. }
  40821. function primebus() {
  40822. const allHandlers = new Map();
  40823. return {
  40824. on(type, handler) {
  40825. let handlers = allHandlers.get(type);
  40826. if (!handlers)
  40827. handlers = [handler];
  40828. else
  40829. handlers.push(handler);
  40830. allHandlers.set(type, handlers);
  40831. },
  40832. off(type, handler) {
  40833. let handlers = allHandlers.get(type);
  40834. if (handlers) {
  40835. handlers.splice(handlers.indexOf(handler) >>> 0, 1);
  40836. }
  40837. },
  40838. emit(type, evt) {
  40839. let handlers = allHandlers.get(type);
  40840. if (handlers) {
  40841. handlers.slice().map((handler) => { handler(evt);});
  40842. }
  40843. }
  40844. };
  40845. }
  40846. /***/ }),
  40847. /***/ "./node_modules/primevue/virtualscroller/virtualscroller.esm.js":
  40848. /*!**********************************************************************!*\
  40849. !*** ./node_modules/primevue/virtualscroller/virtualscroller.esm.js ***!
  40850. \**********************************************************************/
  40851. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  40852. "use strict";
  40853. __webpack_require__.r(__webpack_exports__);
  40854. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  40855. /* harmony export */ "default": () => (/* binding */ script)
  40856. /* harmony export */ });
  40857. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
  40858. var script = {
  40859. name: 'VirtualScroller',
  40860. emits: ['update:numToleratedItems', 'scroll', 'scroll-index-change', 'lazy-load'],
  40861. props: {
  40862. id: {
  40863. type: String,
  40864. default: null
  40865. },
  40866. style: null,
  40867. class: null,
  40868. items: {
  40869. type: Array,
  40870. default: null
  40871. },
  40872. itemSize: {
  40873. type: [Number,Array],
  40874. default: 0
  40875. },
  40876. scrollHeight: null,
  40877. scrollWidth: null,
  40878. orientation: {
  40879. type: String,
  40880. default: 'vertical'
  40881. },
  40882. numToleratedItems: {
  40883. type: Number,
  40884. default: null
  40885. },
  40886. delay: {
  40887. type: Number,
  40888. default: 0
  40889. },
  40890. lazy: {
  40891. type: Boolean,
  40892. default: false
  40893. },
  40894. disabled: {
  40895. type: Boolean,
  40896. default: false
  40897. },
  40898. loaderDisabled: {
  40899. type: Boolean,
  40900. default: false
  40901. },
  40902. columns: {
  40903. type: Array,
  40904. default: null
  40905. },
  40906. loading: {
  40907. type: Boolean,
  40908. default: false
  40909. },
  40910. showSpacer: {
  40911. type: Boolean,
  40912. default: true
  40913. },
  40914. showLoader: {
  40915. type: Boolean,
  40916. default: false
  40917. }
  40918. },
  40919. data() {
  40920. return {
  40921. first: this.isBoth() ? { rows: 0, cols: 0 } : 0,
  40922. last: this.isBoth() ? { rows: 0, cols: 0 } : 0,
  40923. numItemsInViewport: this.isBoth() ? { rows: 0, cols: 0 } : 0,
  40924. lastScrollPos: this.isBoth() ? { top: 0, left: 0 } : 0,
  40925. d_numToleratedItems: this.numToleratedItems,
  40926. d_loading: this.loading,
  40927. loaderArr: [],
  40928. spacerStyle: {},
  40929. contentStyle: {}
  40930. }
  40931. },
  40932. element: null,
  40933. content: null,
  40934. lastScrollPos: null,
  40935. scrollTimeout: null,
  40936. mounted() {
  40937. this.init();
  40938. this.lastScrollPos = this.isBoth() ? { top: 0, left: 0 } : 0;
  40939. },
  40940. watch: {
  40941. numToleratedItems(newValue) {
  40942. this.d_numToleratedItems = newValue;
  40943. },
  40944. loading(newValue) {
  40945. this.d_loading = newValue;
  40946. },
  40947. items(newValue, oldValue) {
  40948. if (!oldValue || oldValue.length !== (newValue || []).length) {
  40949. this.init();
  40950. }
  40951. },
  40952. orientation() {
  40953. this.lastScrollPos = this.isBoth() ? { top: 0, left: 0 } : 0;
  40954. }
  40955. },
  40956. methods: {
  40957. init() {
  40958. this.setSize();
  40959. this.calculateOptions();
  40960. this.setSpacerSize();
  40961. },
  40962. isVertical() {
  40963. return this.orientation === 'vertical';
  40964. },
  40965. isHorizontal() {
  40966. return this.orientation === 'horizontal';
  40967. },
  40968. isBoth() {
  40969. return this.orientation === 'both';
  40970. },
  40971. scrollTo(options) {
  40972. this.element && this.element.scrollTo(options);
  40973. },
  40974. scrollToIndex(index, behavior = 'auto') {
  40975. const both = this.isBoth();
  40976. const horizontal = this.isHorizontal();
  40977. const first = this.first;
  40978. const { numToleratedItems } = this.calculateNumItems();
  40979. const itemSize = this.itemSize;
  40980. const contentPos = this.getContentPosition();
  40981. const calculateFirst = (_index = 0, _numT) => (_index <= _numT ? 0 : _index);
  40982. const calculateCoord = (_first, _size, _cpos) => (_first * _size) + _cpos;
  40983. const scrollTo = (left = 0, top = 0) => this.scrollTo({ left, top, behavior });
  40984. if (both) {
  40985. const newFirst = { rows: calculateFirst(index[0], numToleratedItems[0]), cols: calculateFirst(index[1], numToleratedItems[1]) };
  40986. if (newFirst.rows !== first.rows || newFirst.cols !== first.cols) {
  40987. scrollTo(calculateCoord(newFirst.cols, itemSize[1], contentPos.left), calculateCoord(newFirst.rows, itemSize[0], contentPos.top));
  40988. this.first = newFirst;
  40989. }
  40990. }
  40991. else {
  40992. const newFirst = calculateFirst(index, numToleratedItems);
  40993. if (newFirst !== first) {
  40994. horizontal ? scrollTo(calculateCoord(newFirst, itemSize, contentPos.left), 0) : scrollTo(0, calculateCoord(newFirst, itemSize, contentPos.top));
  40995. this.first = newFirst;
  40996. }
  40997. }
  40998. },
  40999. scrollInView(index, to, behavior = 'auto') {
  41000. if (to) {
  41001. const both = this.isBoth();
  41002. const horizontal = this.isHorizontal();
  41003. const { first, viewport } = this.getRenderedRange();
  41004. const scrollTo = (left = 0, top = 0) => this.scrollTo({ left, top, behavior });
  41005. const isToStart = to === 'to-start';
  41006. const isToEnd = to === 'to-end';
  41007. if (isToStart) {
  41008. if (both) {
  41009. if (viewport.first.rows - first.rows > index[0]) {
  41010. scrollTo(viewport.first.cols * this.itemSize[1], (viewport.first.rows - 1) * this.itemSize[0]);
  41011. }
  41012. else if (viewport.first.cols - first.cols > index[1]) {
  41013. scrollTo((viewport.first.cols - 1) * this.itemSize[1], viewport.first.rows * this.itemSize[0]);
  41014. }
  41015. }
  41016. else {
  41017. if (viewport.first - first > index) {
  41018. const pos = (viewport.first - 1) * this.itemSize;
  41019. horizontal ? scrollTo(pos, 0) : scrollTo(0, pos);
  41020. }
  41021. }
  41022. }
  41023. else if (isToEnd) {
  41024. if (both) {
  41025. if (viewport.last.rows - first.rows <= index[0] + 1) {
  41026. scrollTo(viewport.first.cols * this.itemSize[1], (viewport.first.rows + 1) * this.itemSize[0]);
  41027. }
  41028. else if (viewport.last.cols - first.cols <= index[1] + 1) {
  41029. scrollTo((viewport.first.cols + 1) * this.itemSize[1], viewport.first.rows * this.itemSize[0]);
  41030. }
  41031. }
  41032. else {
  41033. if (viewport.last - first <= index + 1) {
  41034. const pos = (viewport.first + 1) * this.itemSize;
  41035. horizontal ? scrollTo(pos, 0) : scrollTo(0, pos);
  41036. }
  41037. }
  41038. }
  41039. }
  41040. else {
  41041. this.scrollToIndex(index, behavior);
  41042. }
  41043. },
  41044. getRenderedRange() {
  41045. const calculateFirstInViewport = (_pos, _size) => Math.floor(_pos / (_size || _pos));
  41046. let firstInViewport = this.first;
  41047. let lastInViewport = 0;
  41048. if (this.element) {
  41049. const both = this.isBoth();
  41050. const horizontal = this.isHorizontal();
  41051. const scrollTop = this.element.scrollTop;
  41052. const scrollLeft = this.element.scrollLeft;
  41053. if (both) {
  41054. firstInViewport = { rows: calculateFirstInViewport(scrollTop, this.itemSize[0]), cols: calculateFirstInViewport(scrollLeft, this.itemSize[1]) };
  41055. lastInViewport = { rows: firstInViewport.rows + this.numItemsInViewport.rows, cols: firstInViewport.cols + this.numItemsInViewport.cols };
  41056. }
  41057. else {
  41058. const scrollPos = horizontal ? scrollLeft : scrollTop;
  41059. firstInViewport = calculateFirstInViewport(scrollPos, this.itemSize);
  41060. lastInViewport = firstInViewport + this.numItemsInViewport;
  41061. }
  41062. }
  41063. return {
  41064. first: this.first,
  41065. last: this.last,
  41066. viewport: {
  41067. first: firstInViewport,
  41068. last: lastInViewport
  41069. }
  41070. };
  41071. },
  41072. calculateNumItems() {
  41073. const both = this.isBoth();
  41074. const horizontal = this.isHorizontal();
  41075. const itemSize = this.itemSize;
  41076. const contentPos = this.getContentPosition();
  41077. const contentWidth = this.element ? this.element.offsetWidth - contentPos.left : 0;
  41078. const contentHeight = this.element ? this.element.offsetHeight - contentPos.top : 0;
  41079. const calculateNumItemsInViewport = (_contentSize, _itemSize) => Math.ceil(_contentSize / (_itemSize || _contentSize));
  41080. const calculateNumToleratedItems = (_numItems) => Math.ceil(_numItems / 2);
  41081. const numItemsInViewport = both ?
  41082. { rows: calculateNumItemsInViewport(contentHeight, itemSize[0]), cols: calculateNumItemsInViewport(contentWidth, itemSize[1]) } :
  41083. calculateNumItemsInViewport((horizontal ? contentWidth : contentHeight), itemSize);
  41084. const numToleratedItems = this.d_numToleratedItems || (both ?
  41085. [calculateNumToleratedItems(numItemsInViewport.rows), calculateNumToleratedItems(numItemsInViewport.cols)] :
  41086. calculateNumToleratedItems(numItemsInViewport));
  41087. return { numItemsInViewport, numToleratedItems };
  41088. },
  41089. calculateOptions() {
  41090. const both = this.isBoth();
  41091. const first = this.first;
  41092. const { numItemsInViewport, numToleratedItems } = this.calculateNumItems();
  41093. const calculateLast = (_first, _num, _numT, _isCols) => this.getLast(_first + _num + ((_first < _numT ? 2 : 3) * _numT), _isCols);
  41094. const last = both ?
  41095. { rows: calculateLast(first.rows, numItemsInViewport.rows, numToleratedItems[0]), cols: calculateLast(first.cols, numItemsInViewport.cols, numToleratedItems[1], true) } :
  41096. calculateLast(first, numItemsInViewport, numToleratedItems);
  41097. this.last = last;
  41098. this.numItemsInViewport = numItemsInViewport;
  41099. this.d_numToleratedItems = numToleratedItems;
  41100. this.$emit('update:numToleratedItems', this.d_numToleratedItems);
  41101. if (this.showLoader) {
  41102. this.loaderArr = both ?
  41103. Array.from({ length: numItemsInViewport.rows }).map(() => Array.from({ length: numItemsInViewport.cols })) :
  41104. Array.from({ length: numItemsInViewport });
  41105. }
  41106. if (this.lazy) {
  41107. this.$emit('lazy-load', { first, last });
  41108. }
  41109. },
  41110. getLast(last = 0, isCols) {
  41111. if (this.items) {
  41112. return Math.min((isCols ? (this.columns || this.items[0]).length : this.items.length), last);
  41113. }
  41114. return 0;
  41115. },
  41116. getContentPosition() {
  41117. if (this.content) {
  41118. const style = getComputedStyle(this.content);
  41119. const left = parseInt(style.paddingLeft, 10) + Math.max(parseInt(style.left, 10), 0);
  41120. const right = parseInt(style.paddingRight, 10) + Math.max(parseInt(style.right, 10), 0);
  41121. const top = parseInt(style.paddingTop, 10) + Math.max(parseInt(style.top, 10), 0);
  41122. const bottom = parseInt(style.paddingBottom, 10) + Math.max(parseInt(style.bottom, 10), 0);
  41123. return { left, right, top, bottom, x: left + right, y: top + bottom };
  41124. }
  41125. return { left: 0, right: 0, top: 0, bottom: 0, x: 0, y: 0 };
  41126. },
  41127. setSize() {
  41128. if (this.element) {
  41129. const both = this.isBoth();
  41130. const horizontal = this.isHorizontal();
  41131. const parentElement = this.element.parentElement;
  41132. const width = this.scrollWidth || `${(this.element.offsetWidth || parentElement.offsetWidth)}px`;
  41133. const height = this.scrollHeight || `${(this.element.offsetHeight || parentElement.offsetHeight)}px`;
  41134. const setProp = (_name, _value) => this.element.style[_name] = _value;
  41135. if (both || horizontal) {
  41136. setProp('height', height);
  41137. setProp('width', width);
  41138. }
  41139. else {
  41140. setProp('height', height);
  41141. }
  41142. }
  41143. },
  41144. setSpacerSize() {
  41145. const items = this.items;
  41146. if (items) {
  41147. const both = this.isBoth();
  41148. const horizontal = this.isHorizontal();
  41149. const contentPos = this.getContentPosition();
  41150. const setProp = (_name, _value, _size, _cpos = 0) => this.spacerStyle = { ...this.spacerStyle, ...{ [`${_name}`]: (((_value || []).length * _size) + _cpos) + 'px' } };
  41151. if (both) {
  41152. setProp('height', items, this.itemSize[0], contentPos.y);
  41153. setProp('width', (this.columns || items[1]), this.itemSize[1], contentPos.x);
  41154. }
  41155. else {
  41156. horizontal ? setProp('width', (this.columns || items), this.itemSize, contentPos.x) : setProp('height', items, this.itemSize, contentPos.y);
  41157. }
  41158. }
  41159. },
  41160. setContentPosition(pos) {
  41161. if (this.content) {
  41162. const both = this.isBoth();
  41163. const horizontal = this.isHorizontal();
  41164. const first = pos ? pos.first : this.first;
  41165. const calculateTranslateVal = (_first, _size) => (_first * _size);
  41166. const setTransform = (_x = 0, _y = 0) => {
  41167. this.contentStyle = { ...this.contentStyle, ...{ transform: `translate3d(${_x}px, ${_y}px, 0)` } };
  41168. };
  41169. if (both) {
  41170. setTransform(calculateTranslateVal(first.cols, this.itemSize[1]), calculateTranslateVal(first.rows, this.itemSize[0]));
  41171. }
  41172. else {
  41173. const translateVal = calculateTranslateVal(first, this.itemSize);
  41174. horizontal ? setTransform(translateVal, 0) : setTransform(0, translateVal);
  41175. }
  41176. }
  41177. },
  41178. onScrollPositionChange(event) {
  41179. const target = event.target;
  41180. const both = this.isBoth();
  41181. const horizontal = this.isHorizontal();
  41182. const contentPos = this.getContentPosition();
  41183. const calculateScrollPos = (_pos, _cpos) => _pos ? (_pos > _cpos ? _pos - _cpos : _pos) : 0;
  41184. const calculateCurrentIndex = (_pos, _size) => Math.floor(_pos / (_size || _pos));
  41185. const calculateTriggerIndex = (_currentIndex, _first, _last, _num, _numT, _isScrollDownOrRight) => {
  41186. return (_currentIndex <= _numT ? _numT : (_isScrollDownOrRight ? (_last - _num - _numT) : (_first + _numT - 1)))
  41187. };
  41188. const calculateFirst = (_currentIndex, _triggerIndex, _first, _last, _num, _numT, _isScrollDownOrRight) => {
  41189. if (_currentIndex <= _numT)
  41190. return 0;
  41191. else
  41192. return Math.max(0, _isScrollDownOrRight ?
  41193. (_currentIndex < _triggerIndex ? _first : _currentIndex - _numT) :
  41194. (_currentIndex > _triggerIndex ? _first : _currentIndex - (2 * _numT)));
  41195. };
  41196. const calculateLast = (_currentIndex, _first, _last, _num, _numT, _isCols) => {
  41197. let lastValue = _first + _num + (2 * _numT);
  41198. if (_currentIndex >= _numT) {
  41199. lastValue += (_numT + 1);
  41200. }
  41201. return this.getLast(lastValue, _isCols);
  41202. };
  41203. const scrollTop = calculateScrollPos(target.scrollTop, contentPos.top);
  41204. const scrollLeft = calculateScrollPos(target.scrollLeft, contentPos.left);
  41205. let newFirst = 0;
  41206. let newLast = this.last;
  41207. let isRangeChanged = false;
  41208. if (both) {
  41209. const isScrollDown = this.lastScrollPos.top <= scrollTop;
  41210. const isScrollRight = this.lastScrollPos.left <= scrollLeft;
  41211. const currentIndex = { rows: calculateCurrentIndex(scrollTop, this.itemSize[0]), cols: calculateCurrentIndex(scrollLeft, this.itemSize[1]) };
  41212. const triggerIndex = {
  41213. rows: calculateTriggerIndex(currentIndex.rows, this.first.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0], isScrollDown),
  41214. cols: calculateTriggerIndex(currentIndex.cols, this.first.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], isScrollRight)
  41215. };
  41216. newFirst = {
  41217. rows: calculateFirst(currentIndex.rows, triggerIndex.rows, this.first.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0], isScrollDown),
  41218. cols: calculateFirst(currentIndex.cols, triggerIndex.cols, this.first.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], isScrollRight)
  41219. };
  41220. newLast = {
  41221. rows: calculateLast(currentIndex.rows, newFirst.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0]),
  41222. cols: calculateLast(currentIndex.cols, newFirst.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], true)
  41223. };
  41224. isRangeChanged = (newFirst.rows !== this.first.rows && newLast.rows !== this.last.rows) || (newFirst.cols !== this.first.cols && newLast.cols !== this.last.cols);
  41225. this.lastScrollPos = { top: scrollTop, left: scrollLeft };
  41226. }
  41227. else {
  41228. const scrollPos = horizontal ? scrollLeft : scrollTop;
  41229. const isScrollDownOrRight = this.lastScrollPos <= scrollPos;
  41230. const currentIndex = calculateCurrentIndex(scrollPos, this.itemSize);
  41231. const triggerIndex = calculateTriggerIndex(currentIndex, this.first, this.last, this.numItemsInViewport, this.d_numToleratedItems, isScrollDownOrRight);
  41232. newFirst = calculateFirst(currentIndex, triggerIndex, this.first, this.last, this.numItemsInViewport, this.d_numToleratedItems, isScrollDownOrRight);
  41233. newLast = calculateLast(currentIndex, newFirst, this.last, this.numItemsInViewport, this.d_numToleratedItems);
  41234. isRangeChanged = newFirst !== this.first && newLast !== this.last;
  41235. this.lastScrollPos = scrollPos;
  41236. }
  41237. return {
  41238. first: newFirst,
  41239. last: newLast,
  41240. isRangeChanged
  41241. }
  41242. },
  41243. onScrollChange(event) {
  41244. const { first, last, isRangeChanged } = this.onScrollPositionChange(event);
  41245. if (isRangeChanged) {
  41246. const newState = { first, last };
  41247. this.setContentPosition(newState);
  41248. this.first = first;
  41249. this.last = last;
  41250. this.$emit('scroll-index-change', newState);
  41251. if (this.lazy) {
  41252. this.$emit('lazy-load', newState);
  41253. }
  41254. }
  41255. },
  41256. onScroll(event) {
  41257. this.$emit('scroll', event);
  41258. if (this.delay) {
  41259. if (this.scrollTimeout) {
  41260. clearTimeout(this.scrollTimeout);
  41261. }
  41262. if (!this.d_loading && this.showLoader) {
  41263. const { isRangeChanged: changed } = this.onScrollPositionChange(event);
  41264. changed && (this.d_loading = true);
  41265. }
  41266. this.scrollTimeout = setTimeout(() => {
  41267. this.onScrollChange(event);
  41268. if (this.d_loading && this.showLoader && !this.lazy) {
  41269. this.d_loading = false;
  41270. }
  41271. }, this.delay);
  41272. }
  41273. else {
  41274. this.onScrollChange(event);
  41275. }
  41276. },
  41277. getOptions(renderedIndex) {
  41278. const count = (this.items || []).length;
  41279. const index = this.isBoth() ? this.first.rows + renderedIndex : this.first + renderedIndex;
  41280. return {
  41281. index,
  41282. count,
  41283. first: index === 0,
  41284. last: index === (count - 1),
  41285. even: index % 2 === 0,
  41286. odd: index % 2 !== 0
  41287. };
  41288. },
  41289. getLoaderOptions(index, extOptions) {
  41290. let count = this.loaderArr.length;
  41291. return {
  41292. index,
  41293. count,
  41294. first: index === 0,
  41295. last: index === (count - 1),
  41296. even: index % 2 === 0,
  41297. odd: index % 2 !== 0,
  41298. ...extOptions
  41299. }
  41300. },
  41301. elementRef(el) {
  41302. this.element = el;
  41303. },
  41304. contentRef(el) {
  41305. this.content = el;
  41306. }
  41307. },
  41308. computed: {
  41309. containerClass() {
  41310. return ['p-virtualscroller', {
  41311. 'p-both-scroll': this.isBoth(),
  41312. 'p-horizontal-scroll': this.isHorizontal()
  41313. }, this.class];
  41314. },
  41315. contentClass() {
  41316. return ['p-virtualscroller-content', {
  41317. 'p-virtualscroller-loading': this.d_loading
  41318. }];
  41319. },
  41320. loaderClass() {
  41321. return ['p-virtualscroller-loader', {
  41322. 'p-component-overlay': !this.$slots.loader
  41323. }];
  41324. },
  41325. loadedItems() {
  41326. const items = this.items;
  41327. if (items && !this.d_loading) {
  41328. if (this.isBoth()) {
  41329. return items.slice(this.first.rows, this.last.rows).map(item => this.columns ? item : item.slice(this.first.cols, this.last.cols));
  41330. }
  41331. else if (this.isHorizontal() && this.columns)
  41332. return items;
  41333. else
  41334. return items.slice(this.first, this.last);
  41335. }
  41336. return [];
  41337. },
  41338. loadedRows() {
  41339. return this.d_loading ? (this.loaderDisabled ? this.loaderArr : []) : this.loadedItems;
  41340. },
  41341. loadedColumns() {
  41342. if (this.columns) {
  41343. const both = this.isBoth();
  41344. const horizontal = this.isHorizontal();
  41345. if (both || horizontal) {
  41346. return this.d_loading && this.loaderDisabled ?
  41347. (both ? this.loaderArr[0] : this.loaderArr):
  41348. this.columns.slice((both ? this.first.cols : this.first), (both ? this.last.cols : this.last));
  41349. }
  41350. }
  41351. return this.columns;
  41352. }
  41353. }
  41354. };
  41355. const _hoisted_1 = {
  41356. key: 1,
  41357. class: "p-virtualscroller-loading-icon pi pi-spinner pi-spin"
  41358. };
  41359. function render(_ctx, _cache, $props, $setup, $data, $options) {
  41360. return (!$props.disabled)
  41361. ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", {
  41362. key: 0,
  41363. ref: $options.elementRef,
  41364. class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($options.containerClass),
  41365. tabindex: 0,
  41366. style: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeStyle)($props.style),
  41367. onScroll: _cache[0] || (_cache[0] = (...args) => ($options.onScroll && $options.onScroll(...args)))
  41368. }, [
  41369. (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, "content", {
  41370. styleClass: $options.contentClass,
  41371. items: $options.loadedItems,
  41372. getItemOptions: $options.getOptions,
  41373. loading: $data.d_loading,
  41374. getLoaderOptions: $options.getLoaderOptions,
  41375. itemSize: $props.itemSize,
  41376. rows: $options.loadedRows,
  41377. columns: $options.loadedColumns,
  41378. contentRef: $options.contentRef,
  41379. spacerStyle: $data.spacerStyle,
  41380. contentStyle: $data.contentStyle,
  41381. vertical: $options.isVertical(),
  41382. horizontal: $options.isHorizontal(),
  41383. both: $options.isBoth()
  41384. }, () => [
  41385. (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", {
  41386. ref: $options.contentRef,
  41387. class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($options.contentClass),
  41388. style: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeStyle)($data.contentStyle)
  41389. }, [
  41390. ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($options.loadedItems, (item, index) => {
  41391. return (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, "item", {
  41392. key: index,
  41393. item: item,
  41394. options: $options.getOptions(index)
  41395. })
  41396. }), 128))
  41397. ], 6)
  41398. ]),
  41399. ($props.showSpacer)
  41400. ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", {
  41401. key: 0,
  41402. class: "p-virtualscroller-spacer",
  41403. style: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeStyle)($data.spacerStyle)
  41404. }, null, 4))
  41405. : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("", true),
  41406. (!$props.loaderDisabled && $props.showLoader && $data.d_loading)
  41407. ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", {
  41408. key: 1,
  41409. class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($options.loaderClass)
  41410. }, [
  41411. (_ctx.$slots && _ctx.$slots.loader)
  41412. ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, { key: 0 }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($data.loaderArr, (_, index) => {
  41413. return (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, "loader", {
  41414. key: index,
  41415. options: $options.getLoaderOptions(index, $options.isBoth() && { numCols: _ctx.d_numItemsInViewport.cols })
  41416. })
  41417. }), 128))
  41418. : ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("i", _hoisted_1))
  41419. ], 2))
  41420. : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)("", true)
  41421. ], 38))
  41422. : ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, { key: 1 }, [
  41423. (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, "default"),
  41424. (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, "content", {
  41425. items: $props.items,
  41426. rows: $props.items,
  41427. columns: $options.loadedColumns
  41428. })
  41429. ], 64))
  41430. }
  41431. function styleInject(css, ref) {
  41432. if ( ref === void 0 ) ref = {};
  41433. var insertAt = ref.insertAt;
  41434. if (!css || typeof document === 'undefined') { return; }
  41435. var head = document.head || document.getElementsByTagName('head')[0];
  41436. var style = document.createElement('style');
  41437. style.type = 'text/css';
  41438. if (insertAt === 'top') {
  41439. if (head.firstChild) {
  41440. head.insertBefore(style, head.firstChild);
  41441. } else {
  41442. head.appendChild(style);
  41443. }
  41444. } else {
  41445. head.appendChild(style);
  41446. }
  41447. if (style.styleSheet) {
  41448. style.styleSheet.cssText = css;
  41449. } else {
  41450. style.appendChild(document.createTextNode(css));
  41451. }
  41452. }
  41453. var css_248z = "\n.p-virtualscroller {\n position: relative;\n overflow: auto;\n contain: strict;\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n will-change: scroll-position;\n outline: 0 none;\n}\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n contain: content;\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n -webkit-transform-origin: 0 0;\n transform-origin: 0 0;\n pointer-events: none;\n}\n.p-virtualscroller .p-virtualscroller-loader {\n position: sticky;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.p-virtualscroller-loader.p-component-overlay {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n";
  41454. styleInject(css_248z);
  41455. script.render = render;
  41456. /***/ }),
  41457. /***/ "./node_modules/process/browser.js":
  41458. /*!*****************************************!*\
  41459. !*** ./node_modules/process/browser.js ***!
  41460. \*****************************************/
  41461. /***/ ((module) => {
  41462. // shim for using process in browser
  41463. var process = module.exports = {};
  41464. // cached from whatever global is present so that test runners that stub it
  41465. // don't break things. But we need to wrap it in a try catch in case it is
  41466. // wrapped in strict mode code which doesn't define any globals. It's inside a
  41467. // function because try/catches deoptimize in certain engines.
  41468. var cachedSetTimeout;
  41469. var cachedClearTimeout;
  41470. function defaultSetTimout() {
  41471. throw new Error('setTimeout has not been defined');
  41472. }
  41473. function defaultClearTimeout () {
  41474. throw new Error('clearTimeout has not been defined');
  41475. }
  41476. (function () {
  41477. try {
  41478. if (typeof setTimeout === 'function') {
  41479. cachedSetTimeout = setTimeout;
  41480. } else {
  41481. cachedSetTimeout = defaultSetTimout;
  41482. }
  41483. } catch (e) {
  41484. cachedSetTimeout = defaultSetTimout;
  41485. }
  41486. try {
  41487. if (typeof clearTimeout === 'function') {
  41488. cachedClearTimeout = clearTimeout;
  41489. } else {
  41490. cachedClearTimeout = defaultClearTimeout;
  41491. }
  41492. } catch (e) {
  41493. cachedClearTimeout = defaultClearTimeout;
  41494. }
  41495. } ())
  41496. function runTimeout(fun) {
  41497. if (cachedSetTimeout === setTimeout) {
  41498. //normal enviroments in sane situations
  41499. return setTimeout(fun, 0);
  41500. }
  41501. // if setTimeout wasn't available but was latter defined
  41502. if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
  41503. cachedSetTimeout = setTimeout;
  41504. return setTimeout(fun, 0);
  41505. }
  41506. try {
  41507. // when when somebody has screwed with setTimeout but no I.E. maddness
  41508. return cachedSetTimeout(fun, 0);
  41509. } catch(e){
  41510. try {
  41511. // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
  41512. return cachedSetTimeout.call(null, fun, 0);
  41513. } catch(e){
  41514. // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
  41515. return cachedSetTimeout.call(this, fun, 0);
  41516. }
  41517. }
  41518. }
  41519. function runClearTimeout(marker) {
  41520. if (cachedClearTimeout === clearTimeout) {
  41521. //normal enviroments in sane situations
  41522. return clearTimeout(marker);
  41523. }
  41524. // if clearTimeout wasn't available but was latter defined
  41525. if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
  41526. cachedClearTimeout = clearTimeout;
  41527. return clearTimeout(marker);
  41528. }
  41529. try {
  41530. // when when somebody has screwed with setTimeout but no I.E. maddness
  41531. return cachedClearTimeout(marker);
  41532. } catch (e){
  41533. try {
  41534. // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
  41535. return cachedClearTimeout.call(null, marker);
  41536. } catch (e){
  41537. // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
  41538. // Some versions of I.E. have different rules for clearTimeout vs setTimeout
  41539. return cachedClearTimeout.call(this, marker);
  41540. }
  41541. }
  41542. }
  41543. var queue = [];
  41544. var draining = false;
  41545. var currentQueue;
  41546. var queueIndex = -1;
  41547. function cleanUpNextTick() {
  41548. if (!draining || !currentQueue) {
  41549. return;
  41550. }
  41551. draining = false;
  41552. if (currentQueue.length) {
  41553. queue = currentQueue.concat(queue);
  41554. } else {
  41555. queueIndex = -1;
  41556. }
  41557. if (queue.length) {
  41558. drainQueue();
  41559. }
  41560. }
  41561. function drainQueue() {
  41562. if (draining) {
  41563. return;
  41564. }
  41565. var timeout = runTimeout(cleanUpNextTick);
  41566. draining = true;
  41567. var len = queue.length;
  41568. while(len) {
  41569. currentQueue = queue;
  41570. queue = [];
  41571. while (++queueIndex < len) {
  41572. if (currentQueue) {
  41573. currentQueue[queueIndex].run();
  41574. }
  41575. }
  41576. queueIndex = -1;
  41577. len = queue.length;
  41578. }
  41579. currentQueue = null;
  41580. draining = false;
  41581. runClearTimeout(timeout);
  41582. }
  41583. process.nextTick = function (fun) {
  41584. var args = new Array(arguments.length - 1);
  41585. if (arguments.length > 1) {
  41586. for (var i = 1; i < arguments.length; i++) {
  41587. args[i - 1] = arguments[i];
  41588. }
  41589. }
  41590. queue.push(new Item(fun, args));
  41591. if (queue.length === 1 && !draining) {
  41592. runTimeout(drainQueue);
  41593. }
  41594. };
  41595. // v8 likes predictible objects
  41596. function Item(fun, array) {
  41597. this.fun = fun;
  41598. this.array = array;
  41599. }
  41600. Item.prototype.run = function () {
  41601. this.fun.apply(null, this.array);
  41602. };
  41603. process.title = 'browser';
  41604. process.browser = true;
  41605. process.env = {};
  41606. process.argv = [];
  41607. process.version = ''; // empty string to avoid regexp issues
  41608. process.versions = {};
  41609. function noop() {}
  41610. process.on = noop;
  41611. process.addListener = noop;
  41612. process.once = noop;
  41613. process.off = noop;
  41614. process.removeListener = noop;
  41615. process.removeAllListeners = noop;
  41616. process.emit = noop;
  41617. process.prependListener = noop;
  41618. process.prependOnceListener = noop;
  41619. process.listeners = function (name) { return [] }
  41620. process.binding = function (name) {
  41621. throw new Error('process.binding is not supported');
  41622. };
  41623. process.cwd = function () { return '/' };
  41624. process.chdir = function (dir) {
  41625. throw new Error('process.chdir is not supported');
  41626. };
  41627. process.umask = function() { return 0; };
  41628. /***/ }),
  41629. /***/ "./node_modules/qs/lib/formats.js":
  41630. /*!****************************************!*\
  41631. !*** ./node_modules/qs/lib/formats.js ***!
  41632. \****************************************/
  41633. /***/ ((module) => {
  41634. "use strict";
  41635. var replace = String.prototype.replace;
  41636. var percentTwenties = /%20/g;
  41637. var Format = {
  41638. RFC1738: 'RFC1738',
  41639. RFC3986: 'RFC3986'
  41640. };
  41641. module.exports = {
  41642. 'default': Format.RFC3986,
  41643. formatters: {
  41644. RFC1738: function (value) {
  41645. return replace.call(value, percentTwenties, '+');
  41646. },
  41647. RFC3986: function (value) {
  41648. return String(value);
  41649. }
  41650. },
  41651. RFC1738: Format.RFC1738,
  41652. RFC3986: Format.RFC3986
  41653. };
  41654. /***/ }),
  41655. /***/ "./node_modules/qs/lib/index.js":
  41656. /*!**************************************!*\
  41657. !*** ./node_modules/qs/lib/index.js ***!
  41658. \**************************************/
  41659. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  41660. "use strict";
  41661. var stringify = __webpack_require__(/*! ./stringify */ "./node_modules/qs/lib/stringify.js");
  41662. var parse = __webpack_require__(/*! ./parse */ "./node_modules/qs/lib/parse.js");
  41663. var formats = __webpack_require__(/*! ./formats */ "./node_modules/qs/lib/formats.js");
  41664. module.exports = {
  41665. formats: formats,
  41666. parse: parse,
  41667. stringify: stringify
  41668. };
  41669. /***/ }),
  41670. /***/ "./node_modules/qs/lib/parse.js":
  41671. /*!**************************************!*\
  41672. !*** ./node_modules/qs/lib/parse.js ***!
  41673. \**************************************/
  41674. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  41675. "use strict";
  41676. var utils = __webpack_require__(/*! ./utils */ "./node_modules/qs/lib/utils.js");
  41677. var has = Object.prototype.hasOwnProperty;
  41678. var isArray = Array.isArray;
  41679. var defaults = {
  41680. allowDots: false,
  41681. allowPrototypes: false,
  41682. allowSparse: false,
  41683. arrayLimit: 20,
  41684. charset: 'utf-8',
  41685. charsetSentinel: false,
  41686. comma: false,
  41687. decoder: utils.decode,
  41688. delimiter: '&',
  41689. depth: 5,
  41690. ignoreQueryPrefix: false,
  41691. interpretNumericEntities: false,
  41692. parameterLimit: 1000,
  41693. parseArrays: true,
  41694. plainObjects: false,
  41695. strictNullHandling: false
  41696. };
  41697. var interpretNumericEntities = function (str) {
  41698. return str.replace(/&#(\d+);/g, function ($0, numberStr) {
  41699. return String.fromCharCode(parseInt(numberStr, 10));
  41700. });
  41701. };
  41702. var parseArrayValue = function (val, options) {
  41703. if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {
  41704. return val.split(',');
  41705. }
  41706. return val;
  41707. };
  41708. // This is what browsers will submit when the ✓ character occurs in an
  41709. // application/x-www-form-urlencoded body and the encoding of the page containing
  41710. // the form is iso-8859-1, or when the submitted form has an accept-charset
  41711. // attribute of iso-8859-1. Presumably also with other charsets that do not contain
  41712. // the ✓ character, such as us-ascii.
  41713. var isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('&#10003;')
  41714. // These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.
  41715. var charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')
  41716. var parseValues = function parseQueryStringValues(str, options) {
  41717. var obj = {};
  41718. var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, '') : str;
  41719. var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;
  41720. var parts = cleanStr.split(options.delimiter, limit);
  41721. var skipIndex = -1; // Keep track of where the utf8 sentinel was found
  41722. var i;
  41723. var charset = options.charset;
  41724. if (options.charsetSentinel) {
  41725. for (i = 0; i < parts.length; ++i) {
  41726. if (parts[i].indexOf('utf8=') === 0) {
  41727. if (parts[i] === charsetSentinel) {
  41728. charset = 'utf-8';
  41729. } else if (parts[i] === isoSentinel) {
  41730. charset = 'iso-8859-1';
  41731. }
  41732. skipIndex = i;
  41733. i = parts.length; // The eslint settings do not allow break;
  41734. }
  41735. }
  41736. }
  41737. for (i = 0; i < parts.length; ++i) {
  41738. if (i === skipIndex) {
  41739. continue;
  41740. }
  41741. var part = parts[i];
  41742. var bracketEqualsPos = part.indexOf(']=');
  41743. var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;
  41744. var key, val;
  41745. if (pos === -1) {
  41746. key = options.decoder(part, defaults.decoder, charset, 'key');
  41747. val = options.strictNullHandling ? null : '';
  41748. } else {
  41749. key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');
  41750. val = utils.maybeMap(
  41751. parseArrayValue(part.slice(pos + 1), options),
  41752. function (encodedVal) {
  41753. return options.decoder(encodedVal, defaults.decoder, charset, 'value');
  41754. }
  41755. );
  41756. }
  41757. if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {
  41758. val = interpretNumericEntities(val);
  41759. }
  41760. if (part.indexOf('[]=') > -1) {
  41761. val = isArray(val) ? [val] : val;
  41762. }
  41763. if (has.call(obj, key)) {
  41764. obj[key] = utils.combine(obj[key], val);
  41765. } else {
  41766. obj[key] = val;
  41767. }
  41768. }
  41769. return obj;
  41770. };
  41771. var parseObject = function (chain, val, options, valuesParsed) {
  41772. var leaf = valuesParsed ? val : parseArrayValue(val, options);
  41773. for (var i = chain.length - 1; i >= 0; --i) {
  41774. var obj;
  41775. var root = chain[i];
  41776. if (root === '[]' && options.parseArrays) {
  41777. obj = [].concat(leaf);
  41778. } else {
  41779. obj = options.plainObjects ? Object.create(null) : {};
  41780. var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;
  41781. var index = parseInt(cleanRoot, 10);
  41782. if (!options.parseArrays && cleanRoot === '') {
  41783. obj = { 0: leaf };
  41784. } else if (
  41785. !isNaN(index)
  41786. && root !== cleanRoot
  41787. && String(index) === cleanRoot
  41788. && index >= 0
  41789. && (options.parseArrays && index <= options.arrayLimit)
  41790. ) {
  41791. obj = [];
  41792. obj[index] = leaf;
  41793. } else if (cleanRoot !== '__proto__') {
  41794. obj[cleanRoot] = leaf;
  41795. }
  41796. }
  41797. leaf = obj;
  41798. }
  41799. return leaf;
  41800. };
  41801. var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {
  41802. if (!givenKey) {
  41803. return;
  41804. }
  41805. // Transform dot notation to bracket notation
  41806. var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, '[$1]') : givenKey;
  41807. // The regex chunks
  41808. var brackets = /(\[[^[\]]*])/;
  41809. var child = /(\[[^[\]]*])/g;
  41810. // Get the parent
  41811. var segment = options.depth > 0 && brackets.exec(key);
  41812. var parent = segment ? key.slice(0, segment.index) : key;
  41813. // Stash the parent if it exists
  41814. var keys = [];
  41815. if (parent) {
  41816. // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties
  41817. if (!options.plainObjects && has.call(Object.prototype, parent)) {
  41818. if (!options.allowPrototypes) {
  41819. return;
  41820. }
  41821. }
  41822. keys.push(parent);
  41823. }
  41824. // Loop through children appending to the array until we hit depth
  41825. var i = 0;
  41826. while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {
  41827. i += 1;
  41828. if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {
  41829. if (!options.allowPrototypes) {
  41830. return;
  41831. }
  41832. }
  41833. keys.push(segment[1]);
  41834. }
  41835. // If there's a remainder, just add whatever is left
  41836. if (segment) {
  41837. keys.push('[' + key.slice(segment.index) + ']');
  41838. }
  41839. return parseObject(keys, val, options, valuesParsed);
  41840. };
  41841. var normalizeParseOptions = function normalizeParseOptions(opts) {
  41842. if (!opts) {
  41843. return defaults;
  41844. }
  41845. if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {
  41846. throw new TypeError('Decoder has to be a function.');
  41847. }
  41848. if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
  41849. throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
  41850. }
  41851. var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;
  41852. return {
  41853. allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
  41854. allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,
  41855. allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,
  41856. arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,
  41857. charset: charset,
  41858. charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
  41859. comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,
  41860. decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,
  41861. delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,
  41862. // eslint-disable-next-line no-implicit-coercion, no-extra-parens
  41863. depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,
  41864. ignoreQueryPrefix: opts.ignoreQueryPrefix === true,
  41865. interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,
  41866. parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,
  41867. parseArrays: opts.parseArrays !== false,
  41868. plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,
  41869. strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
  41870. };
  41871. };
  41872. module.exports = function (str, opts) {
  41873. var options = normalizeParseOptions(opts);
  41874. if (str === '' || str === null || typeof str === 'undefined') {
  41875. return options.plainObjects ? Object.create(null) : {};
  41876. }
  41877. var tempObj = typeof str === 'string' ? parseValues(str, options) : str;
  41878. var obj = options.plainObjects ? Object.create(null) : {};
  41879. // Iterate over the keys and setup the new object
  41880. var keys = Object.keys(tempObj);
  41881. for (var i = 0; i < keys.length; ++i) {
  41882. var key = keys[i];
  41883. var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');
  41884. obj = utils.merge(obj, newObj, options);
  41885. }
  41886. if (options.allowSparse === true) {
  41887. return obj;
  41888. }
  41889. return utils.compact(obj);
  41890. };
  41891. /***/ }),
  41892. /***/ "./node_modules/qs/lib/stringify.js":
  41893. /*!******************************************!*\
  41894. !*** ./node_modules/qs/lib/stringify.js ***!
  41895. \******************************************/
  41896. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  41897. "use strict";
  41898. var getSideChannel = __webpack_require__(/*! side-channel */ "./node_modules/side-channel/index.js");
  41899. var utils = __webpack_require__(/*! ./utils */ "./node_modules/qs/lib/utils.js");
  41900. var formats = __webpack_require__(/*! ./formats */ "./node_modules/qs/lib/formats.js");
  41901. var has = Object.prototype.hasOwnProperty;
  41902. var arrayPrefixGenerators = {
  41903. brackets: function brackets(prefix) {
  41904. return prefix + '[]';
  41905. },
  41906. comma: 'comma',
  41907. indices: function indices(prefix, key) {
  41908. return prefix + '[' + key + ']';
  41909. },
  41910. repeat: function repeat(prefix) {
  41911. return prefix;
  41912. }
  41913. };
  41914. var isArray = Array.isArray;
  41915. var split = String.prototype.split;
  41916. var push = Array.prototype.push;
  41917. var pushToArray = function (arr, valueOrArray) {
  41918. push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);
  41919. };
  41920. var toISO = Date.prototype.toISOString;
  41921. var defaultFormat = formats['default'];
  41922. var defaults = {
  41923. addQueryPrefix: false,
  41924. allowDots: false,
  41925. charset: 'utf-8',
  41926. charsetSentinel: false,
  41927. delimiter: '&',
  41928. encode: true,
  41929. encoder: utils.encode,
  41930. encodeValuesOnly: false,
  41931. format: defaultFormat,
  41932. formatter: formats.formatters[defaultFormat],
  41933. // deprecated
  41934. indices: false,
  41935. serializeDate: function serializeDate(date) {
  41936. return toISO.call(date);
  41937. },
  41938. skipNulls: false,
  41939. strictNullHandling: false
  41940. };
  41941. var isNonNullishPrimitive = function isNonNullishPrimitive(v) {
  41942. return typeof v === 'string'
  41943. || typeof v === 'number'
  41944. || typeof v === 'boolean'
  41945. || typeof v === 'symbol'
  41946. || typeof v === 'bigint';
  41947. };
  41948. var sentinel = {};
  41949. var stringify = function stringify(
  41950. object,
  41951. prefix,
  41952. generateArrayPrefix,
  41953. strictNullHandling,
  41954. skipNulls,
  41955. encoder,
  41956. filter,
  41957. sort,
  41958. allowDots,
  41959. serializeDate,
  41960. format,
  41961. formatter,
  41962. encodeValuesOnly,
  41963. charset,
  41964. sideChannel
  41965. ) {
  41966. var obj = object;
  41967. var tmpSc = sideChannel;
  41968. var step = 0;
  41969. var findFlag = false;
  41970. while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {
  41971. // Where object last appeared in the ref tree
  41972. var pos = tmpSc.get(object);
  41973. step += 1;
  41974. if (typeof pos !== 'undefined') {
  41975. if (pos === step) {
  41976. throw new RangeError('Cyclic object value');
  41977. } else {
  41978. findFlag = true; // Break while
  41979. }
  41980. }
  41981. if (typeof tmpSc.get(sentinel) === 'undefined') {
  41982. step = 0;
  41983. }
  41984. }
  41985. if (typeof filter === 'function') {
  41986. obj = filter(prefix, obj);
  41987. } else if (obj instanceof Date) {
  41988. obj = serializeDate(obj);
  41989. } else if (generateArrayPrefix === 'comma' && isArray(obj)) {
  41990. obj = utils.maybeMap(obj, function (value) {
  41991. if (value instanceof Date) {
  41992. return serializeDate(value);
  41993. }
  41994. return value;
  41995. });
  41996. }
  41997. if (obj === null) {
  41998. if (strictNullHandling) {
  41999. return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;
  42000. }
  42001. obj = '';
  42002. }
  42003. if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {
  42004. if (encoder) {
  42005. var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);
  42006. if (generateArrayPrefix === 'comma' && encodeValuesOnly) {
  42007. var valuesArray = split.call(String(obj), ',');
  42008. var valuesJoined = '';
  42009. for (var i = 0; i < valuesArray.length; ++i) {
  42010. valuesJoined += (i === 0 ? '' : ',') + formatter(encoder(valuesArray[i], defaults.encoder, charset, 'value', format));
  42011. }
  42012. return [formatter(keyValue) + '=' + valuesJoined];
  42013. }
  42014. return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];
  42015. }
  42016. return [formatter(prefix) + '=' + formatter(String(obj))];
  42017. }
  42018. var values = [];
  42019. if (typeof obj === 'undefined') {
  42020. return values;
  42021. }
  42022. var objKeys;
  42023. if (generateArrayPrefix === 'comma' && isArray(obj)) {
  42024. // we need to join elements in
  42025. objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];
  42026. } else if (isArray(filter)) {
  42027. objKeys = filter;
  42028. } else {
  42029. var keys = Object.keys(obj);
  42030. objKeys = sort ? keys.sort(sort) : keys;
  42031. }
  42032. for (var j = 0; j < objKeys.length; ++j) {
  42033. var key = objKeys[j];
  42034. var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];
  42035. if (skipNulls && value === null) {
  42036. continue;
  42037. }
  42038. var keyPrefix = isArray(obj)
  42039. ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(prefix, key) : prefix
  42040. : prefix + (allowDots ? '.' + key : '[' + key + ']');
  42041. sideChannel.set(object, step);
  42042. var valueSideChannel = getSideChannel();
  42043. valueSideChannel.set(sentinel, sideChannel);
  42044. pushToArray(values, stringify(
  42045. value,
  42046. keyPrefix,
  42047. generateArrayPrefix,
  42048. strictNullHandling,
  42049. skipNulls,
  42050. encoder,
  42051. filter,
  42052. sort,
  42053. allowDots,
  42054. serializeDate,
  42055. format,
  42056. formatter,
  42057. encodeValuesOnly,
  42058. charset,
  42059. valueSideChannel
  42060. ));
  42061. }
  42062. return values;
  42063. };
  42064. var normalizeStringifyOptions = function normalizeStringifyOptions(opts) {
  42065. if (!opts) {
  42066. return defaults;
  42067. }
  42068. if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {
  42069. throw new TypeError('Encoder has to be a function.');
  42070. }
  42071. var charset = opts.charset || defaults.charset;
  42072. if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
  42073. throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
  42074. }
  42075. var format = formats['default'];
  42076. if (typeof opts.format !== 'undefined') {
  42077. if (!has.call(formats.formatters, opts.format)) {
  42078. throw new TypeError('Unknown format option provided.');
  42079. }
  42080. format = opts.format;
  42081. }
  42082. var formatter = formats.formatters[format];
  42083. var filter = defaults.filter;
  42084. if (typeof opts.filter === 'function' || isArray(opts.filter)) {
  42085. filter = opts.filter;
  42086. }
  42087. return {
  42088. addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,
  42089. allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
  42090. charset: charset,
  42091. charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
  42092. delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,
  42093. encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,
  42094. encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,
  42095. encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,
  42096. filter: filter,
  42097. format: format,
  42098. formatter: formatter,
  42099. serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,
  42100. skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,
  42101. sort: typeof opts.sort === 'function' ? opts.sort : null,
  42102. strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
  42103. };
  42104. };
  42105. module.exports = function (object, opts) {
  42106. var obj = object;
  42107. var options = normalizeStringifyOptions(opts);
  42108. var objKeys;
  42109. var filter;
  42110. if (typeof options.filter === 'function') {
  42111. filter = options.filter;
  42112. obj = filter('', obj);
  42113. } else if (isArray(options.filter)) {
  42114. filter = options.filter;
  42115. objKeys = filter;
  42116. }
  42117. var keys = [];
  42118. if (typeof obj !== 'object' || obj === null) {
  42119. return '';
  42120. }
  42121. var arrayFormat;
  42122. if (opts && opts.arrayFormat in arrayPrefixGenerators) {
  42123. arrayFormat = opts.arrayFormat;
  42124. } else if (opts && 'indices' in opts) {
  42125. arrayFormat = opts.indices ? 'indices' : 'repeat';
  42126. } else {
  42127. arrayFormat = 'indices';
  42128. }
  42129. var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];
  42130. if (!objKeys) {
  42131. objKeys = Object.keys(obj);
  42132. }
  42133. if (options.sort) {
  42134. objKeys.sort(options.sort);
  42135. }
  42136. var sideChannel = getSideChannel();
  42137. for (var i = 0; i < objKeys.length; ++i) {
  42138. var key = objKeys[i];
  42139. if (options.skipNulls && obj[key] === null) {
  42140. continue;
  42141. }
  42142. pushToArray(keys, stringify(
  42143. obj[key],
  42144. key,
  42145. generateArrayPrefix,
  42146. options.strictNullHandling,
  42147. options.skipNulls,
  42148. options.encode ? options.encoder : null,
  42149. options.filter,
  42150. options.sort,
  42151. options.allowDots,
  42152. options.serializeDate,
  42153. options.format,
  42154. options.formatter,
  42155. options.encodeValuesOnly,
  42156. options.charset,
  42157. sideChannel
  42158. ));
  42159. }
  42160. var joined = keys.join(options.delimiter);
  42161. var prefix = options.addQueryPrefix === true ? '?' : '';
  42162. if (options.charsetSentinel) {
  42163. if (options.charset === 'iso-8859-1') {
  42164. // encodeURIComponent('&#10003;'), the "numeric entity" representation of a checkmark
  42165. prefix += 'utf8=%26%2310003%3B&';
  42166. } else {
  42167. // encodeURIComponent('✓')
  42168. prefix += 'utf8=%E2%9C%93&';
  42169. }
  42170. }
  42171. return joined.length > 0 ? prefix + joined : '';
  42172. };
  42173. /***/ }),
  42174. /***/ "./node_modules/qs/lib/utils.js":
  42175. /*!**************************************!*\
  42176. !*** ./node_modules/qs/lib/utils.js ***!
  42177. \**************************************/
  42178. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  42179. "use strict";
  42180. var formats = __webpack_require__(/*! ./formats */ "./node_modules/qs/lib/formats.js");
  42181. var has = Object.prototype.hasOwnProperty;
  42182. var isArray = Array.isArray;
  42183. var hexTable = (function () {
  42184. var array = [];
  42185. for (var i = 0; i < 256; ++i) {
  42186. array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());
  42187. }
  42188. return array;
  42189. }());
  42190. var compactQueue = function compactQueue(queue) {
  42191. while (queue.length > 1) {
  42192. var item = queue.pop();
  42193. var obj = item.obj[item.prop];
  42194. if (isArray(obj)) {
  42195. var compacted = [];
  42196. for (var j = 0; j < obj.length; ++j) {
  42197. if (typeof obj[j] !== 'undefined') {
  42198. compacted.push(obj[j]);
  42199. }
  42200. }
  42201. item.obj[item.prop] = compacted;
  42202. }
  42203. }
  42204. };
  42205. var arrayToObject = function arrayToObject(source, options) {
  42206. var obj = options && options.plainObjects ? Object.create(null) : {};
  42207. for (var i = 0; i < source.length; ++i) {
  42208. if (typeof source[i] !== 'undefined') {
  42209. obj[i] = source[i];
  42210. }
  42211. }
  42212. return obj;
  42213. };
  42214. var merge = function merge(target, source, options) {
  42215. /* eslint no-param-reassign: 0 */
  42216. if (!source) {
  42217. return target;
  42218. }
  42219. if (typeof source !== 'object') {
  42220. if (isArray(target)) {
  42221. target.push(source);
  42222. } else if (target && typeof target === 'object') {
  42223. if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {
  42224. target[source] = true;
  42225. }
  42226. } else {
  42227. return [target, source];
  42228. }
  42229. return target;
  42230. }
  42231. if (!target || typeof target !== 'object') {
  42232. return [target].concat(source);
  42233. }
  42234. var mergeTarget = target;
  42235. if (isArray(target) && !isArray(source)) {
  42236. mergeTarget = arrayToObject(target, options);
  42237. }
  42238. if (isArray(target) && isArray(source)) {
  42239. source.forEach(function (item, i) {
  42240. if (has.call(target, i)) {
  42241. var targetItem = target[i];
  42242. if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {
  42243. target[i] = merge(targetItem, item, options);
  42244. } else {
  42245. target.push(item);
  42246. }
  42247. } else {
  42248. target[i] = item;
  42249. }
  42250. });
  42251. return target;
  42252. }
  42253. return Object.keys(source).reduce(function (acc, key) {
  42254. var value = source[key];
  42255. if (has.call(acc, key)) {
  42256. acc[key] = merge(acc[key], value, options);
  42257. } else {
  42258. acc[key] = value;
  42259. }
  42260. return acc;
  42261. }, mergeTarget);
  42262. };
  42263. var assign = function assignSingleSource(target, source) {
  42264. return Object.keys(source).reduce(function (acc, key) {
  42265. acc[key] = source[key];
  42266. return acc;
  42267. }, target);
  42268. };
  42269. var decode = function (str, decoder, charset) {
  42270. var strWithoutPlus = str.replace(/\+/g, ' ');
  42271. if (charset === 'iso-8859-1') {
  42272. // unescape never throws, no try...catch needed:
  42273. return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
  42274. }
  42275. // utf-8
  42276. try {
  42277. return decodeURIComponent(strWithoutPlus);
  42278. } catch (e) {
  42279. return strWithoutPlus;
  42280. }
  42281. };
  42282. var encode = function encode(str, defaultEncoder, charset, kind, format) {
  42283. // This code was originally written by Brian White (mscdex) for the io.js core querystring library.
  42284. // It has been adapted here for stricter adherence to RFC 3986
  42285. if (str.length === 0) {
  42286. return str;
  42287. }
  42288. var string = str;
  42289. if (typeof str === 'symbol') {
  42290. string = Symbol.prototype.toString.call(str);
  42291. } else if (typeof str !== 'string') {
  42292. string = String(str);
  42293. }
  42294. if (charset === 'iso-8859-1') {
  42295. return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {
  42296. return '%26%23' + parseInt($0.slice(2), 16) + '%3B';
  42297. });
  42298. }
  42299. var out = '';
  42300. for (var i = 0; i < string.length; ++i) {
  42301. var c = string.charCodeAt(i);
  42302. if (
  42303. c === 0x2D // -
  42304. || c === 0x2E // .
  42305. || c === 0x5F // _
  42306. || c === 0x7E // ~
  42307. || (c >= 0x30 && c <= 0x39) // 0-9
  42308. || (c >= 0x41 && c <= 0x5A) // a-z
  42309. || (c >= 0x61 && c <= 0x7A) // A-Z
  42310. || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )
  42311. ) {
  42312. out += string.charAt(i);
  42313. continue;
  42314. }
  42315. if (c < 0x80) {
  42316. out = out + hexTable[c];
  42317. continue;
  42318. }
  42319. if (c < 0x800) {
  42320. out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);
  42321. continue;
  42322. }
  42323. if (c < 0xD800 || c >= 0xE000) {
  42324. out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);
  42325. continue;
  42326. }
  42327. i += 1;
  42328. c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));
  42329. /* eslint operator-linebreak: [2, "before"] */
  42330. out += hexTable[0xF0 | (c >> 18)]
  42331. + hexTable[0x80 | ((c >> 12) & 0x3F)]
  42332. + hexTable[0x80 | ((c >> 6) & 0x3F)]
  42333. + hexTable[0x80 | (c & 0x3F)];
  42334. }
  42335. return out;
  42336. };
  42337. var compact = function compact(value) {
  42338. var queue = [{ obj: { o: value }, prop: 'o' }];
  42339. var refs = [];
  42340. for (var i = 0; i < queue.length; ++i) {
  42341. var item = queue[i];
  42342. var obj = item.obj[item.prop];
  42343. var keys = Object.keys(obj);
  42344. for (var j = 0; j < keys.length; ++j) {
  42345. var key = keys[j];
  42346. var val = obj[key];
  42347. if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {
  42348. queue.push({ obj: obj, prop: key });
  42349. refs.push(val);
  42350. }
  42351. }
  42352. }
  42353. compactQueue(queue);
  42354. return value;
  42355. };
  42356. var isRegExp = function isRegExp(obj) {
  42357. return Object.prototype.toString.call(obj) === '[object RegExp]';
  42358. };
  42359. var isBuffer = function isBuffer(obj) {
  42360. if (!obj || typeof obj !== 'object') {
  42361. return false;
  42362. }
  42363. return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
  42364. };
  42365. var combine = function combine(a, b) {
  42366. return [].concat(a, b);
  42367. };
  42368. var maybeMap = function maybeMap(val, fn) {
  42369. if (isArray(val)) {
  42370. var mapped = [];
  42371. for (var i = 0; i < val.length; i += 1) {
  42372. mapped.push(fn(val[i]));
  42373. }
  42374. return mapped;
  42375. }
  42376. return fn(val);
  42377. };
  42378. module.exports = {
  42379. arrayToObject: arrayToObject,
  42380. assign: assign,
  42381. combine: combine,
  42382. compact: compact,
  42383. decode: decode,
  42384. encode: encode,
  42385. isBuffer: isBuffer,
  42386. isRegExp: isRegExp,
  42387. maybeMap: maybeMap,
  42388. merge: merge
  42389. };
  42390. /***/ }),
  42391. /***/ "./node_modules/quill/dist/quill.js":
  42392. /*!******************************************!*\
  42393. !*** ./node_modules/quill/dist/quill.js ***!
  42394. \******************************************/
  42395. /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
  42396. /* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ "./node_modules/buffer/index.js")["Buffer"];
  42397. /*!
  42398. * Quill Editor v1.3.7
  42399. * https://quilljs.com/
  42400. * Copyright (c) 2014, Jason Chen
  42401. * Copyright (c) 2013, salesforce.com
  42402. */
  42403. (function webpackUniversalModuleDefinition(root, factory) {
  42404. if(true)
  42405. module.exports = factory();
  42406. else {}
  42407. })(typeof self !== 'undefined' ? self : this, function() {
  42408. return /******/ (function(modules) { // webpackBootstrap
  42409. /******/ // The module cache
  42410. /******/ var installedModules = {};
  42411. /******/
  42412. /******/ // The require function
  42413. /******/ function __nested_webpack_require_697__(moduleId) {
  42414. /******/
  42415. /******/ // Check if module is in cache
  42416. /******/ if(installedModules[moduleId]) {
  42417. /******/ return installedModules[moduleId].exports;
  42418. /******/ }
  42419. /******/ // Create a new module (and put it into the cache)
  42420. /******/ var module = installedModules[moduleId] = {
  42421. /******/ i: moduleId,
  42422. /******/ l: false,
  42423. /******/ exports: {}
  42424. /******/ };
  42425. /******/
  42426. /******/ // Execute the module function
  42427. /******/ modules[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_697__);
  42428. /******/
  42429. /******/ // Flag the module as loaded
  42430. /******/ module.l = true;
  42431. /******/
  42432. /******/ // Return the exports of the module
  42433. /******/ return module.exports;
  42434. /******/ }
  42435. /******/
  42436. /******/
  42437. /******/ // expose the modules object (__webpack_modules__)
  42438. /******/ __nested_webpack_require_697__.m = modules;
  42439. /******/
  42440. /******/ // expose the module cache
  42441. /******/ __nested_webpack_require_697__.c = installedModules;
  42442. /******/
  42443. /******/ // define getter function for harmony exports
  42444. /******/ __nested_webpack_require_697__.d = function(exports, name, getter) {
  42445. /******/ if(!__nested_webpack_require_697__.o(exports, name)) {
  42446. /******/ Object.defineProperty(exports, name, {
  42447. /******/ configurable: false,
  42448. /******/ enumerable: true,
  42449. /******/ get: getter
  42450. /******/ });
  42451. /******/ }
  42452. /******/ };
  42453. /******/
  42454. /******/ // getDefaultExport function for compatibility with non-harmony modules
  42455. /******/ __nested_webpack_require_697__.n = function(module) {
  42456. /******/ var getter = module && module.__esModule ?
  42457. /******/ function getDefault() { return module['default']; } :
  42458. /******/ function getModuleExports() { return module; };
  42459. /******/ __nested_webpack_require_697__.d(getter, 'a', getter);
  42460. /******/ return getter;
  42461. /******/ };
  42462. /******/
  42463. /******/ // Object.prototype.hasOwnProperty.call
  42464. /******/ __nested_webpack_require_697__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
  42465. /******/
  42466. /******/ // __webpack_public_path__
  42467. /******/ __nested_webpack_require_697__.p = "";
  42468. /******/
  42469. /******/ // Load entry module and return exports
  42470. /******/ return __nested_webpack_require_697__(__nested_webpack_require_697__.s = 109);
  42471. /******/ })
  42472. /************************************************************************/
  42473. /******/ ([
  42474. /* 0 */
  42475. /***/ (function(module, exports, __nested_webpack_require_2976__) {
  42476. "use strict";
  42477. Object.defineProperty(exports, "__esModule", { value: true });
  42478. var container_1 = __nested_webpack_require_2976__(17);
  42479. var format_1 = __nested_webpack_require_2976__(18);
  42480. var leaf_1 = __nested_webpack_require_2976__(19);
  42481. var scroll_1 = __nested_webpack_require_2976__(45);
  42482. var inline_1 = __nested_webpack_require_2976__(46);
  42483. var block_1 = __nested_webpack_require_2976__(47);
  42484. var embed_1 = __nested_webpack_require_2976__(48);
  42485. var text_1 = __nested_webpack_require_2976__(49);
  42486. var attributor_1 = __nested_webpack_require_2976__(12);
  42487. var class_1 = __nested_webpack_require_2976__(32);
  42488. var style_1 = __nested_webpack_require_2976__(33);
  42489. var store_1 = __nested_webpack_require_2976__(31);
  42490. var Registry = __nested_webpack_require_2976__(1);
  42491. var Parchment = {
  42492. Scope: Registry.Scope,
  42493. create: Registry.create,
  42494. find: Registry.find,
  42495. query: Registry.query,
  42496. register: Registry.register,
  42497. Container: container_1.default,
  42498. Format: format_1.default,
  42499. Leaf: leaf_1.default,
  42500. Embed: embed_1.default,
  42501. Scroll: scroll_1.default,
  42502. Block: block_1.default,
  42503. Inline: inline_1.default,
  42504. Text: text_1.default,
  42505. Attributor: {
  42506. Attribute: attributor_1.default,
  42507. Class: class_1.default,
  42508. Style: style_1.default,
  42509. Store: store_1.default,
  42510. },
  42511. };
  42512. exports.default = Parchment;
  42513. /***/ }),
  42514. /* 1 */
  42515. /***/ (function(module, exports, __webpack_require__) {
  42516. "use strict";
  42517. var __extends = (this && this.__extends) || (function () {
  42518. var extendStatics = Object.setPrototypeOf ||
  42519. ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
  42520. function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
  42521. return function (d, b) {
  42522. extendStatics(d, b);
  42523. function __() { this.constructor = d; }
  42524. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  42525. };
  42526. })();
  42527. Object.defineProperty(exports, "__esModule", { value: true });
  42528. var ParchmentError = /** @class */ (function (_super) {
  42529. __extends(ParchmentError, _super);
  42530. function ParchmentError(message) {
  42531. var _this = this;
  42532. message = '[Parchment] ' + message;
  42533. _this = _super.call(this, message) || this;
  42534. _this.message = message;
  42535. _this.name = _this.constructor.name;
  42536. return _this;
  42537. }
  42538. return ParchmentError;
  42539. }(Error));
  42540. exports.ParchmentError = ParchmentError;
  42541. var attributes = {};
  42542. var classes = {};
  42543. var tags = {};
  42544. var types = {};
  42545. exports.DATA_KEY = '__blot';
  42546. var Scope;
  42547. (function (Scope) {
  42548. Scope[Scope["TYPE"] = 3] = "TYPE";
  42549. Scope[Scope["LEVEL"] = 12] = "LEVEL";
  42550. Scope[Scope["ATTRIBUTE"] = 13] = "ATTRIBUTE";
  42551. Scope[Scope["BLOT"] = 14] = "BLOT";
  42552. Scope[Scope["INLINE"] = 7] = "INLINE";
  42553. Scope[Scope["BLOCK"] = 11] = "BLOCK";
  42554. Scope[Scope["BLOCK_BLOT"] = 10] = "BLOCK_BLOT";
  42555. Scope[Scope["INLINE_BLOT"] = 6] = "INLINE_BLOT";
  42556. Scope[Scope["BLOCK_ATTRIBUTE"] = 9] = "BLOCK_ATTRIBUTE";
  42557. Scope[Scope["INLINE_ATTRIBUTE"] = 5] = "INLINE_ATTRIBUTE";
  42558. Scope[Scope["ANY"] = 15] = "ANY";
  42559. })(Scope = exports.Scope || (exports.Scope = {}));
  42560. function create(input, value) {
  42561. var match = query(input);
  42562. if (match == null) {
  42563. throw new ParchmentError("Unable to create " + input + " blot");
  42564. }
  42565. var BlotClass = match;
  42566. var node =
  42567. // @ts-ignore
  42568. input instanceof Node || input['nodeType'] === Node.TEXT_NODE ? input : BlotClass.create(value);
  42569. return new BlotClass(node, value);
  42570. }
  42571. exports.create = create;
  42572. function find(node, bubble) {
  42573. if (bubble === void 0) { bubble = false; }
  42574. if (node == null)
  42575. return null;
  42576. // @ts-ignore
  42577. if (node[exports.DATA_KEY] != null)
  42578. return node[exports.DATA_KEY].blot;
  42579. if (bubble)
  42580. return find(node.parentNode, bubble);
  42581. return null;
  42582. }
  42583. exports.find = find;
  42584. function query(query, scope) {
  42585. if (scope === void 0) { scope = Scope.ANY; }
  42586. var match;
  42587. if (typeof query === 'string') {
  42588. match = types[query] || attributes[query];
  42589. // @ts-ignore
  42590. }
  42591. else if (query instanceof Text || query['nodeType'] === Node.TEXT_NODE) {
  42592. match = types['text'];
  42593. }
  42594. else if (typeof query === 'number') {
  42595. if (query & Scope.LEVEL & Scope.BLOCK) {
  42596. match = types['block'];
  42597. }
  42598. else if (query & Scope.LEVEL & Scope.INLINE) {
  42599. match = types['inline'];
  42600. }
  42601. }
  42602. else if (query instanceof HTMLElement) {
  42603. var names = (query.getAttribute('class') || '').split(/\s+/);
  42604. for (var i in names) {
  42605. match = classes[names[i]];
  42606. if (match)
  42607. break;
  42608. }
  42609. match = match || tags[query.tagName];
  42610. }
  42611. if (match == null)
  42612. return null;
  42613. // @ts-ignore
  42614. if (scope & Scope.LEVEL & match.scope && scope & Scope.TYPE & match.scope)
  42615. return match;
  42616. return null;
  42617. }
  42618. exports.query = query;
  42619. function register() {
  42620. var Definitions = [];
  42621. for (var _i = 0; _i < arguments.length; _i++) {
  42622. Definitions[_i] = arguments[_i];
  42623. }
  42624. if (Definitions.length > 1) {
  42625. return Definitions.map(function (d) {
  42626. return register(d);
  42627. });
  42628. }
  42629. var Definition = Definitions[0];
  42630. if (typeof Definition.blotName !== 'string' && typeof Definition.attrName !== 'string') {
  42631. throw new ParchmentError('Invalid definition');
  42632. }
  42633. else if (Definition.blotName === 'abstract') {
  42634. throw new ParchmentError('Cannot register abstract class');
  42635. }
  42636. types[Definition.blotName || Definition.attrName] = Definition;
  42637. if (typeof Definition.keyName === 'string') {
  42638. attributes[Definition.keyName] = Definition;
  42639. }
  42640. else {
  42641. if (Definition.className != null) {
  42642. classes[Definition.className] = Definition;
  42643. }
  42644. if (Definition.tagName != null) {
  42645. if (Array.isArray(Definition.tagName)) {
  42646. Definition.tagName = Definition.tagName.map(function (tagName) {
  42647. return tagName.toUpperCase();
  42648. });
  42649. }
  42650. else {
  42651. Definition.tagName = Definition.tagName.toUpperCase();
  42652. }
  42653. var tagNames = Array.isArray(Definition.tagName) ? Definition.tagName : [Definition.tagName];
  42654. tagNames.forEach(function (tag) {
  42655. if (tags[tag] == null || Definition.className == null) {
  42656. tags[tag] = Definition;
  42657. }
  42658. });
  42659. }
  42660. }
  42661. return Definition;
  42662. }
  42663. exports.register = register;
  42664. /***/ }),
  42665. /* 2 */
  42666. /***/ (function(module, exports, __nested_webpack_require_9445__) {
  42667. var diff = __nested_webpack_require_9445__(51);
  42668. var equal = __nested_webpack_require_9445__(11);
  42669. var extend = __nested_webpack_require_9445__(3);
  42670. var op = __nested_webpack_require_9445__(20);
  42671. var NULL_CHARACTER = String.fromCharCode(0); // Placeholder char for embed in diff()
  42672. var Delta = function (ops) {
  42673. // Assume we are given a well formed ops
  42674. if (Array.isArray(ops)) {
  42675. this.ops = ops;
  42676. } else if (ops != null && Array.isArray(ops.ops)) {
  42677. this.ops = ops.ops;
  42678. } else {
  42679. this.ops = [];
  42680. }
  42681. };
  42682. Delta.prototype.insert = function (text, attributes) {
  42683. var newOp = {};
  42684. if (text.length === 0) return this;
  42685. newOp.insert = text;
  42686. if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {
  42687. newOp.attributes = attributes;
  42688. }
  42689. return this.push(newOp);
  42690. };
  42691. Delta.prototype['delete'] = function (length) {
  42692. if (length <= 0) return this;
  42693. return this.push({ 'delete': length });
  42694. };
  42695. Delta.prototype.retain = function (length, attributes) {
  42696. if (length <= 0) return this;
  42697. var newOp = { retain: length };
  42698. if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {
  42699. newOp.attributes = attributes;
  42700. }
  42701. return this.push(newOp);
  42702. };
  42703. Delta.prototype.push = function (newOp) {
  42704. var index = this.ops.length;
  42705. var lastOp = this.ops[index - 1];
  42706. newOp = extend(true, {}, newOp);
  42707. if (typeof lastOp === 'object') {
  42708. if (typeof newOp['delete'] === 'number' && typeof lastOp['delete'] === 'number') {
  42709. this.ops[index - 1] = { 'delete': lastOp['delete'] + newOp['delete'] };
  42710. return this;
  42711. }
  42712. // Since it does not matter if we insert before or after deleting at the same index,
  42713. // always prefer to insert first
  42714. if (typeof lastOp['delete'] === 'number' && newOp.insert != null) {
  42715. index -= 1;
  42716. lastOp = this.ops[index - 1];
  42717. if (typeof lastOp !== 'object') {
  42718. this.ops.unshift(newOp);
  42719. return this;
  42720. }
  42721. }
  42722. if (equal(newOp.attributes, lastOp.attributes)) {
  42723. if (typeof newOp.insert === 'string' && typeof lastOp.insert === 'string') {
  42724. this.ops[index - 1] = { insert: lastOp.insert + newOp.insert };
  42725. if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes
  42726. return this;
  42727. } else if (typeof newOp.retain === 'number' && typeof lastOp.retain === 'number') {
  42728. this.ops[index - 1] = { retain: lastOp.retain + newOp.retain };
  42729. if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes
  42730. return this;
  42731. }
  42732. }
  42733. }
  42734. if (index === this.ops.length) {
  42735. this.ops.push(newOp);
  42736. } else {
  42737. this.ops.splice(index, 0, newOp);
  42738. }
  42739. return this;
  42740. };
  42741. Delta.prototype.chop = function () {
  42742. var lastOp = this.ops[this.ops.length - 1];
  42743. if (lastOp && lastOp.retain && !lastOp.attributes) {
  42744. this.ops.pop();
  42745. }
  42746. return this;
  42747. };
  42748. Delta.prototype.filter = function (predicate) {
  42749. return this.ops.filter(predicate);
  42750. };
  42751. Delta.prototype.forEach = function (predicate) {
  42752. this.ops.forEach(predicate);
  42753. };
  42754. Delta.prototype.map = function (predicate) {
  42755. return this.ops.map(predicate);
  42756. };
  42757. Delta.prototype.partition = function (predicate) {
  42758. var passed = [], failed = [];
  42759. this.forEach(function(op) {
  42760. var target = predicate(op) ? passed : failed;
  42761. target.push(op);
  42762. });
  42763. return [passed, failed];
  42764. };
  42765. Delta.prototype.reduce = function (predicate, initial) {
  42766. return this.ops.reduce(predicate, initial);
  42767. };
  42768. Delta.prototype.changeLength = function () {
  42769. return this.reduce(function (length, elem) {
  42770. if (elem.insert) {
  42771. return length + op.length(elem);
  42772. } else if (elem.delete) {
  42773. return length - elem.delete;
  42774. }
  42775. return length;
  42776. }, 0);
  42777. };
  42778. Delta.prototype.length = function () {
  42779. return this.reduce(function (length, elem) {
  42780. return length + op.length(elem);
  42781. }, 0);
  42782. };
  42783. Delta.prototype.slice = function (start, end) {
  42784. start = start || 0;
  42785. if (typeof end !== 'number') end = Infinity;
  42786. var ops = [];
  42787. var iter = op.iterator(this.ops);
  42788. var index = 0;
  42789. while (index < end && iter.hasNext()) {
  42790. var nextOp;
  42791. if (index < start) {
  42792. nextOp = iter.next(start - index);
  42793. } else {
  42794. nextOp = iter.next(end - index);
  42795. ops.push(nextOp);
  42796. }
  42797. index += op.length(nextOp);
  42798. }
  42799. return new Delta(ops);
  42800. };
  42801. Delta.prototype.compose = function (other) {
  42802. var thisIter = op.iterator(this.ops);
  42803. var otherIter = op.iterator(other.ops);
  42804. var ops = [];
  42805. var firstOther = otherIter.peek();
  42806. if (firstOther != null && typeof firstOther.retain === 'number' && firstOther.attributes == null) {
  42807. var firstLeft = firstOther.retain;
  42808. while (thisIter.peekType() === 'insert' && thisIter.peekLength() <= firstLeft) {
  42809. firstLeft -= thisIter.peekLength();
  42810. ops.push(thisIter.next());
  42811. }
  42812. if (firstOther.retain - firstLeft > 0) {
  42813. otherIter.next(firstOther.retain - firstLeft);
  42814. }
  42815. }
  42816. var delta = new Delta(ops);
  42817. while (thisIter.hasNext() || otherIter.hasNext()) {
  42818. if (otherIter.peekType() === 'insert') {
  42819. delta.push(otherIter.next());
  42820. } else if (thisIter.peekType() === 'delete') {
  42821. delta.push(thisIter.next());
  42822. } else {
  42823. var length = Math.min(thisIter.peekLength(), otherIter.peekLength());
  42824. var thisOp = thisIter.next(length);
  42825. var otherOp = otherIter.next(length);
  42826. if (typeof otherOp.retain === 'number') {
  42827. var newOp = {};
  42828. if (typeof thisOp.retain === 'number') {
  42829. newOp.retain = length;
  42830. } else {
  42831. newOp.insert = thisOp.insert;
  42832. }
  42833. // Preserve null when composing with a retain, otherwise remove it for inserts
  42834. var attributes = op.attributes.compose(thisOp.attributes, otherOp.attributes, typeof thisOp.retain === 'number');
  42835. if (attributes) newOp.attributes = attributes;
  42836. delta.push(newOp);
  42837. // Optimization if rest of other is just retain
  42838. if (!otherIter.hasNext() && equal(delta.ops[delta.ops.length - 1], newOp)) {
  42839. var rest = new Delta(thisIter.rest());
  42840. return delta.concat(rest).chop();
  42841. }
  42842. // Other op should be delete, we could be an insert or retain
  42843. // Insert + delete cancels out
  42844. } else if (typeof otherOp['delete'] === 'number' && typeof thisOp.retain === 'number') {
  42845. delta.push(otherOp);
  42846. }
  42847. }
  42848. }
  42849. return delta.chop();
  42850. };
  42851. Delta.prototype.concat = function (other) {
  42852. var delta = new Delta(this.ops.slice());
  42853. if (other.ops.length > 0) {
  42854. delta.push(other.ops[0]);
  42855. delta.ops = delta.ops.concat(other.ops.slice(1));
  42856. }
  42857. return delta;
  42858. };
  42859. Delta.prototype.diff = function (other, index) {
  42860. if (this.ops === other.ops) {
  42861. return new Delta();
  42862. }
  42863. var strings = [this, other].map(function (delta) {
  42864. return delta.map(function (op) {
  42865. if (op.insert != null) {
  42866. return typeof op.insert === 'string' ? op.insert : NULL_CHARACTER;
  42867. }
  42868. var prep = (delta === other) ? 'on' : 'with';
  42869. throw new Error('diff() called ' + prep + ' non-document');
  42870. }).join('');
  42871. });
  42872. var delta = new Delta();
  42873. var diffResult = diff(strings[0], strings[1], index);
  42874. var thisIter = op.iterator(this.ops);
  42875. var otherIter = op.iterator(other.ops);
  42876. diffResult.forEach(function (component) {
  42877. var length = component[1].length;
  42878. while (length > 0) {
  42879. var opLength = 0;
  42880. switch (component[0]) {
  42881. case diff.INSERT:
  42882. opLength = Math.min(otherIter.peekLength(), length);
  42883. delta.push(otherIter.next(opLength));
  42884. break;
  42885. case diff.DELETE:
  42886. opLength = Math.min(length, thisIter.peekLength());
  42887. thisIter.next(opLength);
  42888. delta['delete'](opLength);
  42889. break;
  42890. case diff.EQUAL:
  42891. opLength = Math.min(thisIter.peekLength(), otherIter.peekLength(), length);
  42892. var thisOp = thisIter.next(opLength);
  42893. var otherOp = otherIter.next(opLength);
  42894. if (equal(thisOp.insert, otherOp.insert)) {
  42895. delta.retain(opLength, op.attributes.diff(thisOp.attributes, otherOp.attributes));
  42896. } else {
  42897. delta.push(otherOp)['delete'](opLength);
  42898. }
  42899. break;
  42900. }
  42901. length -= opLength;
  42902. }
  42903. });
  42904. return delta.chop();
  42905. };
  42906. Delta.prototype.eachLine = function (predicate, newline) {
  42907. newline = newline || '\n';
  42908. var iter = op.iterator(this.ops);
  42909. var line = new Delta();
  42910. var i = 0;
  42911. while (iter.hasNext()) {
  42912. if (iter.peekType() !== 'insert') return;
  42913. var thisOp = iter.peek();
  42914. var start = op.length(thisOp) - iter.peekLength();
  42915. var index = typeof thisOp.insert === 'string' ?
  42916. thisOp.insert.indexOf(newline, start) - start : -1;
  42917. if (index < 0) {
  42918. line.push(iter.next());
  42919. } else if (index > 0) {
  42920. line.push(iter.next(index));
  42921. } else {
  42922. if (predicate(line, iter.next(1).attributes || {}, i) === false) {
  42923. return;
  42924. }
  42925. i += 1;
  42926. line = new Delta();
  42927. }
  42928. }
  42929. if (line.length() > 0) {
  42930. predicate(line, {}, i);
  42931. }
  42932. };
  42933. Delta.prototype.transform = function (other, priority) {
  42934. priority = !!priority;
  42935. if (typeof other === 'number') {
  42936. return this.transformPosition(other, priority);
  42937. }
  42938. var thisIter = op.iterator(this.ops);
  42939. var otherIter = op.iterator(other.ops);
  42940. var delta = new Delta();
  42941. while (thisIter.hasNext() || otherIter.hasNext()) {
  42942. if (thisIter.peekType() === 'insert' && (priority || otherIter.peekType() !== 'insert')) {
  42943. delta.retain(op.length(thisIter.next()));
  42944. } else if (otherIter.peekType() === 'insert') {
  42945. delta.push(otherIter.next());
  42946. } else {
  42947. var length = Math.min(thisIter.peekLength(), otherIter.peekLength());
  42948. var thisOp = thisIter.next(length);
  42949. var otherOp = otherIter.next(length);
  42950. if (thisOp['delete']) {
  42951. // Our delete either makes their delete redundant or removes their retain
  42952. continue;
  42953. } else if (otherOp['delete']) {
  42954. delta.push(otherOp);
  42955. } else {
  42956. // We retain either their retain or insert
  42957. delta.retain(length, op.attributes.transform(thisOp.attributes, otherOp.attributes, priority));
  42958. }
  42959. }
  42960. }
  42961. return delta.chop();
  42962. };
  42963. Delta.prototype.transformPosition = function (index, priority) {
  42964. priority = !!priority;
  42965. var thisIter = op.iterator(this.ops);
  42966. var offset = 0;
  42967. while (thisIter.hasNext() && offset <= index) {
  42968. var length = thisIter.peekLength();
  42969. var nextType = thisIter.peekType();
  42970. thisIter.next();
  42971. if (nextType === 'delete') {
  42972. index -= Math.min(length, index - offset);
  42973. continue;
  42974. } else if (nextType === 'insert' && (offset < index || !priority)) {
  42975. index += length;
  42976. }
  42977. offset += length;
  42978. }
  42979. return index;
  42980. };
  42981. module.exports = Delta;
  42982. /***/ }),
  42983. /* 3 */
  42984. /***/ (function(module, exports) {
  42985. 'use strict';
  42986. var hasOwn = Object.prototype.hasOwnProperty;
  42987. var toStr = Object.prototype.toString;
  42988. var defineProperty = Object.defineProperty;
  42989. var gOPD = Object.getOwnPropertyDescriptor;
  42990. var isArray = function isArray(arr) {
  42991. if (typeof Array.isArray === 'function') {
  42992. return Array.isArray(arr);
  42993. }
  42994. return toStr.call(arr) === '[object Array]';
  42995. };
  42996. var isPlainObject = function isPlainObject(obj) {
  42997. if (!obj || toStr.call(obj) !== '[object Object]') {
  42998. return false;
  42999. }
  43000. var hasOwnConstructor = hasOwn.call(obj, 'constructor');
  43001. var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');
  43002. // Not own constructor property must be Object
  43003. if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {
  43004. return false;
  43005. }
  43006. // Own properties are enumerated firstly, so to speed up,
  43007. // if last one is own, then all properties are own.
  43008. var key;
  43009. for (key in obj) { /**/ }
  43010. return typeof key === 'undefined' || hasOwn.call(obj, key);
  43011. };
  43012. // If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target
  43013. var setProperty = function setProperty(target, options) {
  43014. if (defineProperty && options.name === '__proto__') {
  43015. defineProperty(target, options.name, {
  43016. enumerable: true,
  43017. configurable: true,
  43018. value: options.newValue,
  43019. writable: true
  43020. });
  43021. } else {
  43022. target[options.name] = options.newValue;
  43023. }
  43024. };
  43025. // Return undefined instead of __proto__ if '__proto__' is not an own property
  43026. var getProperty = function getProperty(obj, name) {
  43027. if (name === '__proto__') {
  43028. if (!hasOwn.call(obj, name)) {
  43029. return void 0;
  43030. } else if (gOPD) {
  43031. // In early versions of node, obj['__proto__'] is buggy when obj has
  43032. // __proto__ as an own property. Object.getOwnPropertyDescriptor() works.
  43033. return gOPD(obj, name).value;
  43034. }
  43035. }
  43036. return obj[name];
  43037. };
  43038. module.exports = function extend() {
  43039. var options, name, src, copy, copyIsArray, clone;
  43040. var target = arguments[0];
  43041. var i = 1;
  43042. var length = arguments.length;
  43043. var deep = false;
  43044. // Handle a deep copy situation
  43045. if (typeof target === 'boolean') {
  43046. deep = target;
  43047. target = arguments[1] || {};
  43048. // skip the boolean and the target
  43049. i = 2;
  43050. }
  43051. if (target == null || (typeof target !== 'object' && typeof target !== 'function')) {
  43052. target = {};
  43053. }
  43054. for (; i < length; ++i) {
  43055. options = arguments[i];
  43056. // Only deal with non-null/undefined values
  43057. if (options != null) {
  43058. // Extend the base object
  43059. for (name in options) {
  43060. src = getProperty(target, name);
  43061. copy = getProperty(options, name);
  43062. // Prevent never-ending loop
  43063. if (target !== copy) {
  43064. // Recurse if we're merging plain objects or arrays
  43065. if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {
  43066. if (copyIsArray) {
  43067. copyIsArray = false;
  43068. clone = src && isArray(src) ? src : [];
  43069. } else {
  43070. clone = src && isPlainObject(src) ? src : {};
  43071. }
  43072. // Never move original objects, clone them
  43073. setProperty(target, { name: name, newValue: extend(deep, clone, copy) });
  43074. // Don't bring in undefined values
  43075. } else if (typeof copy !== 'undefined') {
  43076. setProperty(target, { name: name, newValue: copy });
  43077. }
  43078. }
  43079. }
  43080. }
  43081. }
  43082. // Return the modified object
  43083. return target;
  43084. };
  43085. /***/ }),
  43086. /* 4 */
  43087. /***/ (function(module, exports, __nested_webpack_require_23616__) {
  43088. "use strict";
  43089. Object.defineProperty(exports, "__esModule", {
  43090. value: true
  43091. });
  43092. exports.default = exports.BlockEmbed = exports.bubbleFormats = undefined;
  43093. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  43094. var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
  43095. var _extend = __nested_webpack_require_23616__(3);
  43096. var _extend2 = _interopRequireDefault(_extend);
  43097. var _quillDelta = __nested_webpack_require_23616__(2);
  43098. var _quillDelta2 = _interopRequireDefault(_quillDelta);
  43099. var _parchment = __nested_webpack_require_23616__(0);
  43100. var _parchment2 = _interopRequireDefault(_parchment);
  43101. var _break = __nested_webpack_require_23616__(16);
  43102. var _break2 = _interopRequireDefault(_break);
  43103. var _inline = __nested_webpack_require_23616__(6);
  43104. var _inline2 = _interopRequireDefault(_inline);
  43105. var _text = __nested_webpack_require_23616__(7);
  43106. var _text2 = _interopRequireDefault(_text);
  43107. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  43108. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  43109. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  43110. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  43111. var NEWLINE_LENGTH = 1;
  43112. var BlockEmbed = function (_Parchment$Embed) {
  43113. _inherits(BlockEmbed, _Parchment$Embed);
  43114. function BlockEmbed() {
  43115. _classCallCheck(this, BlockEmbed);
  43116. return _possibleConstructorReturn(this, (BlockEmbed.__proto__ || Object.getPrototypeOf(BlockEmbed)).apply(this, arguments));
  43117. }
  43118. _createClass(BlockEmbed, [{
  43119. key: 'attach',
  43120. value: function attach() {
  43121. _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'attach', this).call(this);
  43122. this.attributes = new _parchment2.default.Attributor.Store(this.domNode);
  43123. }
  43124. }, {
  43125. key: 'delta',
  43126. value: function delta() {
  43127. return new _quillDelta2.default().insert(this.value(), (0, _extend2.default)(this.formats(), this.attributes.values()));
  43128. }
  43129. }, {
  43130. key: 'format',
  43131. value: function format(name, value) {
  43132. var attribute = _parchment2.default.query(name, _parchment2.default.Scope.BLOCK_ATTRIBUTE);
  43133. if (attribute != null) {
  43134. this.attributes.attribute(attribute, value);
  43135. }
  43136. }
  43137. }, {
  43138. key: 'formatAt',
  43139. value: function formatAt(index, length, name, value) {
  43140. this.format(name, value);
  43141. }
  43142. }, {
  43143. key: 'insertAt',
  43144. value: function insertAt(index, value, def) {
  43145. if (typeof value === 'string' && value.endsWith('\n')) {
  43146. var block = _parchment2.default.create(Block.blotName);
  43147. this.parent.insertBefore(block, index === 0 ? this : this.next);
  43148. block.insertAt(0, value.slice(0, -1));
  43149. } else {
  43150. _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'insertAt', this).call(this, index, value, def);
  43151. }
  43152. }
  43153. }]);
  43154. return BlockEmbed;
  43155. }(_parchment2.default.Embed);
  43156. BlockEmbed.scope = _parchment2.default.Scope.BLOCK_BLOT;
  43157. // It is important for cursor behavior BlockEmbeds use tags that are block level elements
  43158. var Block = function (_Parchment$Block) {
  43159. _inherits(Block, _Parchment$Block);
  43160. function Block(domNode) {
  43161. _classCallCheck(this, Block);
  43162. var _this2 = _possibleConstructorReturn(this, (Block.__proto__ || Object.getPrototypeOf(Block)).call(this, domNode));
  43163. _this2.cache = {};
  43164. return _this2;
  43165. }
  43166. _createClass(Block, [{
  43167. key: 'delta',
  43168. value: function delta() {
  43169. if (this.cache.delta == null) {
  43170. this.cache.delta = this.descendants(_parchment2.default.Leaf).reduce(function (delta, leaf) {
  43171. if (leaf.length() === 0) {
  43172. return delta;
  43173. } else {
  43174. return delta.insert(leaf.value(), bubbleFormats(leaf));
  43175. }
  43176. }, new _quillDelta2.default()).insert('\n', bubbleFormats(this));
  43177. }
  43178. return this.cache.delta;
  43179. }
  43180. }, {
  43181. key: 'deleteAt',
  43182. value: function deleteAt(index, length) {
  43183. _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'deleteAt', this).call(this, index, length);
  43184. this.cache = {};
  43185. }
  43186. }, {
  43187. key: 'formatAt',
  43188. value: function formatAt(index, length, name, value) {
  43189. if (length <= 0) return;
  43190. if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {
  43191. if (index + length === this.length()) {
  43192. this.format(name, value);
  43193. }
  43194. } else {
  43195. _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'formatAt', this).call(this, index, Math.min(length, this.length() - index - 1), name, value);
  43196. }
  43197. this.cache = {};
  43198. }
  43199. }, {
  43200. key: 'insertAt',
  43201. value: function insertAt(index, value, def) {
  43202. if (def != null) return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, index, value, def);
  43203. if (value.length === 0) return;
  43204. var lines = value.split('\n');
  43205. var text = lines.shift();
  43206. if (text.length > 0) {
  43207. if (index < this.length() - 1 || this.children.tail == null) {
  43208. _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, Math.min(index, this.length() - 1), text);
  43209. } else {
  43210. this.children.tail.insertAt(this.children.tail.length(), text);
  43211. }
  43212. this.cache = {};
  43213. }
  43214. var block = this;
  43215. lines.reduce(function (index, line) {
  43216. block = block.split(index, true);
  43217. block.insertAt(0, line);
  43218. return line.length;
  43219. }, index + text.length);
  43220. }
  43221. }, {
  43222. key: 'insertBefore',
  43223. value: function insertBefore(blot, ref) {
  43224. var head = this.children.head;
  43225. _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertBefore', this).call(this, blot, ref);
  43226. if (head instanceof _break2.default) {
  43227. head.remove();
  43228. }
  43229. this.cache = {};
  43230. }
  43231. }, {
  43232. key: 'length',
  43233. value: function length() {
  43234. if (this.cache.length == null) {
  43235. this.cache.length = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'length', this).call(this) + NEWLINE_LENGTH;
  43236. }
  43237. return this.cache.length;
  43238. }
  43239. }, {
  43240. key: 'moveChildren',
  43241. value: function moveChildren(target, ref) {
  43242. _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'moveChildren', this).call(this, target, ref);
  43243. this.cache = {};
  43244. }
  43245. }, {
  43246. key: 'optimize',
  43247. value: function optimize(context) {
  43248. _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'optimize', this).call(this, context);
  43249. this.cache = {};
  43250. }
  43251. }, {
  43252. key: 'path',
  43253. value: function path(index) {
  43254. return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'path', this).call(this, index, true);
  43255. }
  43256. }, {
  43257. key: 'removeChild',
  43258. value: function removeChild(child) {
  43259. _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'removeChild', this).call(this, child);
  43260. this.cache = {};
  43261. }
  43262. }, {
  43263. key: 'split',
  43264. value: function split(index) {
  43265. var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
  43266. if (force && (index === 0 || index >= this.length() - NEWLINE_LENGTH)) {
  43267. var clone = this.clone();
  43268. if (index === 0) {
  43269. this.parent.insertBefore(clone, this);
  43270. return this;
  43271. } else {
  43272. this.parent.insertBefore(clone, this.next);
  43273. return clone;
  43274. }
  43275. } else {
  43276. var next = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'split', this).call(this, index, force);
  43277. this.cache = {};
  43278. return next;
  43279. }
  43280. }
  43281. }]);
  43282. return Block;
  43283. }(_parchment2.default.Block);
  43284. Block.blotName = 'block';
  43285. Block.tagName = 'P';
  43286. Block.defaultChild = 'break';
  43287. Block.allowedChildren = [_inline2.default, _parchment2.default.Embed, _text2.default];
  43288. function bubbleFormats(blot) {
  43289. var formats = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  43290. if (blot == null) return formats;
  43291. if (typeof blot.formats === 'function') {
  43292. formats = (0, _extend2.default)(formats, blot.formats());
  43293. }
  43294. if (blot.parent == null || blot.parent.blotName == 'scroll' || blot.parent.statics.scope !== blot.statics.scope) {
  43295. return formats;
  43296. }
  43297. return bubbleFormats(blot.parent, formats);
  43298. }
  43299. exports.bubbleFormats = bubbleFormats;
  43300. exports.BlockEmbed = BlockEmbed;
  43301. exports.default = Block;
  43302. /***/ }),
  43303. /* 5 */
  43304. /***/ (function(module, exports, __nested_webpack_require_33760__) {
  43305. "use strict";
  43306. Object.defineProperty(exports, "__esModule", {
  43307. value: true
  43308. });
  43309. exports.default = exports.overload = exports.expandConfig = undefined;
  43310. var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
  43311. var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
  43312. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  43313. __nested_webpack_require_33760__(50);
  43314. var _quillDelta = __nested_webpack_require_33760__(2);
  43315. var _quillDelta2 = _interopRequireDefault(_quillDelta);
  43316. var _editor = __nested_webpack_require_33760__(14);
  43317. var _editor2 = _interopRequireDefault(_editor);
  43318. var _emitter3 = __nested_webpack_require_33760__(8);
  43319. var _emitter4 = _interopRequireDefault(_emitter3);
  43320. var _module = __nested_webpack_require_33760__(9);
  43321. var _module2 = _interopRequireDefault(_module);
  43322. var _parchment = __nested_webpack_require_33760__(0);
  43323. var _parchment2 = _interopRequireDefault(_parchment);
  43324. var _selection = __nested_webpack_require_33760__(15);
  43325. var _selection2 = _interopRequireDefault(_selection);
  43326. var _extend = __nested_webpack_require_33760__(3);
  43327. var _extend2 = _interopRequireDefault(_extend);
  43328. var _logger = __nested_webpack_require_33760__(10);
  43329. var _logger2 = _interopRequireDefault(_logger);
  43330. var _theme = __nested_webpack_require_33760__(34);
  43331. var _theme2 = _interopRequireDefault(_theme);
  43332. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  43333. function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
  43334. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  43335. var debug = (0, _logger2.default)('quill');
  43336. var Quill = function () {
  43337. _createClass(Quill, null, [{
  43338. key: 'debug',
  43339. value: function debug(limit) {
  43340. if (limit === true) {
  43341. limit = 'log';
  43342. }
  43343. _logger2.default.level(limit);
  43344. }
  43345. }, {
  43346. key: 'find',
  43347. value: function find(node) {
  43348. return node.__quill || _parchment2.default.find(node);
  43349. }
  43350. }, {
  43351. key: 'import',
  43352. value: function _import(name) {
  43353. if (this.imports[name] == null) {
  43354. debug.error('Cannot import ' + name + '. Are you sure it was registered?');
  43355. }
  43356. return this.imports[name];
  43357. }
  43358. }, {
  43359. key: 'register',
  43360. value: function register(path, target) {
  43361. var _this = this;
  43362. var overwrite = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
  43363. if (typeof path !== 'string') {
  43364. var name = path.attrName || path.blotName;
  43365. if (typeof name === 'string') {
  43366. // register(Blot | Attributor, overwrite)
  43367. this.register('formats/' + name, path, target);
  43368. } else {
  43369. Object.keys(path).forEach(function (key) {
  43370. _this.register(key, path[key], target);
  43371. });
  43372. }
  43373. } else {
  43374. if (this.imports[path] != null && !overwrite) {
  43375. debug.warn('Overwriting ' + path + ' with', target);
  43376. }
  43377. this.imports[path] = target;
  43378. if ((path.startsWith('blots/') || path.startsWith('formats/')) && target.blotName !== 'abstract') {
  43379. _parchment2.default.register(target);
  43380. } else if (path.startsWith('modules') && typeof target.register === 'function') {
  43381. target.register();
  43382. }
  43383. }
  43384. }
  43385. }]);
  43386. function Quill(container) {
  43387. var _this2 = this;
  43388. var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  43389. _classCallCheck(this, Quill);
  43390. this.options = expandConfig(container, options);
  43391. this.container = this.options.container;
  43392. if (this.container == null) {
  43393. return debug.error('Invalid Quill container', container);
  43394. }
  43395. if (this.options.debug) {
  43396. Quill.debug(this.options.debug);
  43397. }
  43398. var html = this.container.innerHTML.trim();
  43399. this.container.classList.add('ql-container');
  43400. this.container.innerHTML = '';
  43401. this.container.__quill = this;
  43402. this.root = this.addContainer('ql-editor');
  43403. this.root.classList.add('ql-blank');
  43404. this.root.setAttribute('data-gramm', false);
  43405. this.scrollingContainer = this.options.scrollingContainer || this.root;
  43406. this.emitter = new _emitter4.default();
  43407. this.scroll = _parchment2.default.create(this.root, {
  43408. emitter: this.emitter,
  43409. whitelist: this.options.formats
  43410. });
  43411. this.editor = new _editor2.default(this.scroll);
  43412. this.selection = new _selection2.default(this.scroll, this.emitter);
  43413. this.theme = new this.options.theme(this, this.options);
  43414. this.keyboard = this.theme.addModule('keyboard');
  43415. this.clipboard = this.theme.addModule('clipboard');
  43416. this.history = this.theme.addModule('history');
  43417. this.theme.init();
  43418. this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type) {
  43419. if (type === _emitter4.default.events.TEXT_CHANGE) {
  43420. _this2.root.classList.toggle('ql-blank', _this2.editor.isBlank());
  43421. }
  43422. });
  43423. this.emitter.on(_emitter4.default.events.SCROLL_UPDATE, function (source, mutations) {
  43424. var range = _this2.selection.lastRange;
  43425. var index = range && range.length === 0 ? range.index : undefined;
  43426. modify.call(_this2, function () {
  43427. return _this2.editor.update(null, mutations, index);
  43428. }, source);
  43429. });
  43430. var contents = this.clipboard.convert('<div class=\'ql-editor\' style="white-space: normal;">' + html + '<p><br></p></div>');
  43431. this.setContents(contents);
  43432. this.history.clear();
  43433. if (this.options.placeholder) {
  43434. this.root.setAttribute('data-placeholder', this.options.placeholder);
  43435. }
  43436. if (this.options.readOnly) {
  43437. this.disable();
  43438. }
  43439. }
  43440. _createClass(Quill, [{
  43441. key: 'addContainer',
  43442. value: function addContainer(container) {
  43443. var refNode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
  43444. if (typeof container === 'string') {
  43445. var className = container;
  43446. container = document.createElement('div');
  43447. container.classList.add(className);
  43448. }
  43449. this.container.insertBefore(container, refNode);
  43450. return container;
  43451. }
  43452. }, {
  43453. key: 'blur',
  43454. value: function blur() {
  43455. this.selection.setRange(null);
  43456. }
  43457. }, {
  43458. key: 'deleteText',
  43459. value: function deleteText(index, length, source) {
  43460. var _this3 = this;
  43461. var _overload = overload(index, length, source);
  43462. var _overload2 = _slicedToArray(_overload, 4);
  43463. index = _overload2[0];
  43464. length = _overload2[1];
  43465. source = _overload2[3];
  43466. return modify.call(this, function () {
  43467. return _this3.editor.deleteText(index, length);
  43468. }, source, index, -1 * length);
  43469. }
  43470. }, {
  43471. key: 'disable',
  43472. value: function disable() {
  43473. this.enable(false);
  43474. }
  43475. }, {
  43476. key: 'enable',
  43477. value: function enable() {
  43478. var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
  43479. this.scroll.enable(enabled);
  43480. this.container.classList.toggle('ql-disabled', !enabled);
  43481. }
  43482. }, {
  43483. key: 'focus',
  43484. value: function focus() {
  43485. var scrollTop = this.scrollingContainer.scrollTop;
  43486. this.selection.focus();
  43487. this.scrollingContainer.scrollTop = scrollTop;
  43488. this.scrollIntoView();
  43489. }
  43490. }, {
  43491. key: 'format',
  43492. value: function format(name, value) {
  43493. var _this4 = this;
  43494. var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;
  43495. return modify.call(this, function () {
  43496. var range = _this4.getSelection(true);
  43497. var change = new _quillDelta2.default();
  43498. if (range == null) {
  43499. return change;
  43500. } else if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {
  43501. change = _this4.editor.formatLine(range.index, range.length, _defineProperty({}, name, value));
  43502. } else if (range.length === 0) {
  43503. _this4.selection.format(name, value);
  43504. return change;
  43505. } else {
  43506. change = _this4.editor.formatText(range.index, range.length, _defineProperty({}, name, value));
  43507. }
  43508. _this4.setSelection(range, _emitter4.default.sources.SILENT);
  43509. return change;
  43510. }, source);
  43511. }
  43512. }, {
  43513. key: 'formatLine',
  43514. value: function formatLine(index, length, name, value, source) {
  43515. var _this5 = this;
  43516. var formats = void 0;
  43517. var _overload3 = overload(index, length, name, value, source);
  43518. var _overload4 = _slicedToArray(_overload3, 4);
  43519. index = _overload4[0];
  43520. length = _overload4[1];
  43521. formats = _overload4[2];
  43522. source = _overload4[3];
  43523. return modify.call(this, function () {
  43524. return _this5.editor.formatLine(index, length, formats);
  43525. }, source, index, 0);
  43526. }
  43527. }, {
  43528. key: 'formatText',
  43529. value: function formatText(index, length, name, value, source) {
  43530. var _this6 = this;
  43531. var formats = void 0;
  43532. var _overload5 = overload(index, length, name, value, source);
  43533. var _overload6 = _slicedToArray(_overload5, 4);
  43534. index = _overload6[0];
  43535. length = _overload6[1];
  43536. formats = _overload6[2];
  43537. source = _overload6[3];
  43538. return modify.call(this, function () {
  43539. return _this6.editor.formatText(index, length, formats);
  43540. }, source, index, 0);
  43541. }
  43542. }, {
  43543. key: 'getBounds',
  43544. value: function getBounds(index) {
  43545. var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
  43546. var bounds = void 0;
  43547. if (typeof index === 'number') {
  43548. bounds = this.selection.getBounds(index, length);
  43549. } else {
  43550. bounds = this.selection.getBounds(index.index, index.length);
  43551. }
  43552. var containerBounds = this.container.getBoundingClientRect();
  43553. return {
  43554. bottom: bounds.bottom - containerBounds.top,
  43555. height: bounds.height,
  43556. left: bounds.left - containerBounds.left,
  43557. right: bounds.right - containerBounds.left,
  43558. top: bounds.top - containerBounds.top,
  43559. width: bounds.width
  43560. };
  43561. }
  43562. }, {
  43563. key: 'getContents',
  43564. value: function getContents() {
  43565. var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
  43566. var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;
  43567. var _overload7 = overload(index, length);
  43568. var _overload8 = _slicedToArray(_overload7, 2);
  43569. index = _overload8[0];
  43570. length = _overload8[1];
  43571. return this.editor.getContents(index, length);
  43572. }
  43573. }, {
  43574. key: 'getFormat',
  43575. value: function getFormat() {
  43576. var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getSelection(true);
  43577. var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
  43578. if (typeof index === 'number') {
  43579. return this.editor.getFormat(index, length);
  43580. } else {
  43581. return this.editor.getFormat(index.index, index.length);
  43582. }
  43583. }
  43584. }, {
  43585. key: 'getIndex',
  43586. value: function getIndex(blot) {
  43587. return blot.offset(this.scroll);
  43588. }
  43589. }, {
  43590. key: 'getLength',
  43591. value: function getLength() {
  43592. return this.scroll.length();
  43593. }
  43594. }, {
  43595. key: 'getLeaf',
  43596. value: function getLeaf(index) {
  43597. return this.scroll.leaf(index);
  43598. }
  43599. }, {
  43600. key: 'getLine',
  43601. value: function getLine(index) {
  43602. return this.scroll.line(index);
  43603. }
  43604. }, {
  43605. key: 'getLines',
  43606. value: function getLines() {
  43607. var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
  43608. var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;
  43609. if (typeof index !== 'number') {
  43610. return this.scroll.lines(index.index, index.length);
  43611. } else {
  43612. return this.scroll.lines(index, length);
  43613. }
  43614. }
  43615. }, {
  43616. key: 'getModule',
  43617. value: function getModule(name) {
  43618. return this.theme.modules[name];
  43619. }
  43620. }, {
  43621. key: 'getSelection',
  43622. value: function getSelection() {
  43623. var focus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
  43624. if (focus) this.focus();
  43625. this.update(); // Make sure we access getRange with editor in consistent state
  43626. return this.selection.getRange()[0];
  43627. }
  43628. }, {
  43629. key: 'getText',
  43630. value: function getText() {
  43631. var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
  43632. var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;
  43633. var _overload9 = overload(index, length);
  43634. var _overload10 = _slicedToArray(_overload9, 2);
  43635. index = _overload10[0];
  43636. length = _overload10[1];
  43637. return this.editor.getText(index, length);
  43638. }
  43639. }, {
  43640. key: 'hasFocus',
  43641. value: function hasFocus() {
  43642. return this.selection.hasFocus();
  43643. }
  43644. }, {
  43645. key: 'insertEmbed',
  43646. value: function insertEmbed(index, embed, value) {
  43647. var _this7 = this;
  43648. var source = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Quill.sources.API;
  43649. return modify.call(this, function () {
  43650. return _this7.editor.insertEmbed(index, embed, value);
  43651. }, source, index);
  43652. }
  43653. }, {
  43654. key: 'insertText',
  43655. value: function insertText(index, text, name, value, source) {
  43656. var _this8 = this;
  43657. var formats = void 0;
  43658. var _overload11 = overload(index, 0, name, value, source);
  43659. var _overload12 = _slicedToArray(_overload11, 4);
  43660. index = _overload12[0];
  43661. formats = _overload12[2];
  43662. source = _overload12[3];
  43663. return modify.call(this, function () {
  43664. return _this8.editor.insertText(index, text, formats);
  43665. }, source, index, text.length);
  43666. }
  43667. }, {
  43668. key: 'isEnabled',
  43669. value: function isEnabled() {
  43670. return !this.container.classList.contains('ql-disabled');
  43671. }
  43672. }, {
  43673. key: 'off',
  43674. value: function off() {
  43675. return this.emitter.off.apply(this.emitter, arguments);
  43676. }
  43677. }, {
  43678. key: 'on',
  43679. value: function on() {
  43680. return this.emitter.on.apply(this.emitter, arguments);
  43681. }
  43682. }, {
  43683. key: 'once',
  43684. value: function once() {
  43685. return this.emitter.once.apply(this.emitter, arguments);
  43686. }
  43687. }, {
  43688. key: 'pasteHTML',
  43689. value: function pasteHTML(index, html, source) {
  43690. this.clipboard.dangerouslyPasteHTML(index, html, source);
  43691. }
  43692. }, {
  43693. key: 'removeFormat',
  43694. value: function removeFormat(index, length, source) {
  43695. var _this9 = this;
  43696. var _overload13 = overload(index, length, source);
  43697. var _overload14 = _slicedToArray(_overload13, 4);
  43698. index = _overload14[0];
  43699. length = _overload14[1];
  43700. source = _overload14[3];
  43701. return modify.call(this, function () {
  43702. return _this9.editor.removeFormat(index, length);
  43703. }, source, index);
  43704. }
  43705. }, {
  43706. key: 'scrollIntoView',
  43707. value: function scrollIntoView() {
  43708. this.selection.scrollIntoView(this.scrollingContainer);
  43709. }
  43710. }, {
  43711. key: 'setContents',
  43712. value: function setContents(delta) {
  43713. var _this10 = this;
  43714. var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;
  43715. return modify.call(this, function () {
  43716. delta = new _quillDelta2.default(delta);
  43717. var length = _this10.getLength();
  43718. var deleted = _this10.editor.deleteText(0, length);
  43719. var applied = _this10.editor.applyDelta(delta);
  43720. var lastOp = applied.ops[applied.ops.length - 1];
  43721. if (lastOp != null && typeof lastOp.insert === 'string' && lastOp.insert[lastOp.insert.length - 1] === '\n') {
  43722. _this10.editor.deleteText(_this10.getLength() - 1, 1);
  43723. applied.delete(1);
  43724. }
  43725. var ret = deleted.compose(applied);
  43726. return ret;
  43727. }, source);
  43728. }
  43729. }, {
  43730. key: 'setSelection',
  43731. value: function setSelection(index, length, source) {
  43732. if (index == null) {
  43733. this.selection.setRange(null, length || Quill.sources.API);
  43734. } else {
  43735. var _overload15 = overload(index, length, source);
  43736. var _overload16 = _slicedToArray(_overload15, 4);
  43737. index = _overload16[0];
  43738. length = _overload16[1];
  43739. source = _overload16[3];
  43740. this.selection.setRange(new _selection.Range(index, length), source);
  43741. if (source !== _emitter4.default.sources.SILENT) {
  43742. this.selection.scrollIntoView(this.scrollingContainer);
  43743. }
  43744. }
  43745. }
  43746. }, {
  43747. key: 'setText',
  43748. value: function setText(text) {
  43749. var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;
  43750. var delta = new _quillDelta2.default().insert(text);
  43751. return this.setContents(delta, source);
  43752. }
  43753. }, {
  43754. key: 'update',
  43755. value: function update() {
  43756. var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;
  43757. var change = this.scroll.update(source); // Will update selection before selection.update() does if text changes
  43758. this.selection.update(source);
  43759. return change;
  43760. }
  43761. }, {
  43762. key: 'updateContents',
  43763. value: function updateContents(delta) {
  43764. var _this11 = this;
  43765. var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;
  43766. return modify.call(this, function () {
  43767. delta = new _quillDelta2.default(delta);
  43768. return _this11.editor.applyDelta(delta, source);
  43769. }, source, true);
  43770. }
  43771. }]);
  43772. return Quill;
  43773. }();
  43774. Quill.DEFAULTS = {
  43775. bounds: null,
  43776. formats: null,
  43777. modules: {},
  43778. placeholder: '',
  43779. readOnly: false,
  43780. scrollingContainer: null,
  43781. strict: true,
  43782. theme: 'default'
  43783. };
  43784. Quill.events = _emitter4.default.events;
  43785. Quill.sources = _emitter4.default.sources;
  43786. // eslint-disable-next-line no-undef
  43787. Quill.version = false ? 0 : "1.3.7";
  43788. Quill.imports = {
  43789. 'delta': _quillDelta2.default,
  43790. 'parchment': _parchment2.default,
  43791. 'core/module': _module2.default,
  43792. 'core/theme': _theme2.default
  43793. };
  43794. function expandConfig(container, userConfig) {
  43795. userConfig = (0, _extend2.default)(true, {
  43796. container: container,
  43797. modules: {
  43798. clipboard: true,
  43799. keyboard: true,
  43800. history: true
  43801. }
  43802. }, userConfig);
  43803. if (!userConfig.theme || userConfig.theme === Quill.DEFAULTS.theme) {
  43804. userConfig.theme = _theme2.default;
  43805. } else {
  43806. userConfig.theme = Quill.import('themes/' + userConfig.theme);
  43807. if (userConfig.theme == null) {
  43808. throw new Error('Invalid theme ' + userConfig.theme + '. Did you register it?');
  43809. }
  43810. }
  43811. var themeConfig = (0, _extend2.default)(true, {}, userConfig.theme.DEFAULTS);
  43812. [themeConfig, userConfig].forEach(function (config) {
  43813. config.modules = config.modules || {};
  43814. Object.keys(config.modules).forEach(function (module) {
  43815. if (config.modules[module] === true) {
  43816. config.modules[module] = {};
  43817. }
  43818. });
  43819. });
  43820. var moduleNames = Object.keys(themeConfig.modules).concat(Object.keys(userConfig.modules));
  43821. var moduleConfig = moduleNames.reduce(function (config, name) {
  43822. var moduleClass = Quill.import('modules/' + name);
  43823. if (moduleClass == null) {
  43824. debug.error('Cannot load ' + name + ' module. Are you sure you registered it?');
  43825. } else {
  43826. config[name] = moduleClass.DEFAULTS || {};
  43827. }
  43828. return config;
  43829. }, {});
  43830. // Special case toolbar shorthand
  43831. if (userConfig.modules != null && userConfig.modules.toolbar && userConfig.modules.toolbar.constructor !== Object) {
  43832. userConfig.modules.toolbar = {
  43833. container: userConfig.modules.toolbar
  43834. };
  43835. }
  43836. userConfig = (0, _extend2.default)(true, {}, Quill.DEFAULTS, { modules: moduleConfig }, themeConfig, userConfig);
  43837. ['bounds', 'container', 'scrollingContainer'].forEach(function (key) {
  43838. if (typeof userConfig[key] === 'string') {
  43839. userConfig[key] = document.querySelector(userConfig[key]);
  43840. }
  43841. });
  43842. userConfig.modules = Object.keys(userConfig.modules).reduce(function (config, name) {
  43843. if (userConfig.modules[name]) {
  43844. config[name] = userConfig.modules[name];
  43845. }
  43846. return config;
  43847. }, {});
  43848. return userConfig;
  43849. }
  43850. // Handle selection preservation and TEXT_CHANGE emission
  43851. // common to modification APIs
  43852. function modify(modifier, source, index, shift) {
  43853. if (this.options.strict && !this.isEnabled() && source === _emitter4.default.sources.USER) {
  43854. return new _quillDelta2.default();
  43855. }
  43856. var range = index == null ? null : this.getSelection();
  43857. var oldDelta = this.editor.delta;
  43858. var change = modifier();
  43859. if (range != null) {
  43860. if (index === true) index = range.index;
  43861. if (shift == null) {
  43862. range = shiftRange(range, change, source);
  43863. } else if (shift !== 0) {
  43864. range = shiftRange(range, index, shift, source);
  43865. }
  43866. this.setSelection(range, _emitter4.default.sources.SILENT);
  43867. }
  43868. if (change.length() > 0) {
  43869. var _emitter;
  43870. var args = [_emitter4.default.events.TEXT_CHANGE, change, oldDelta, source];
  43871. (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));
  43872. if (source !== _emitter4.default.sources.SILENT) {
  43873. var _emitter2;
  43874. (_emitter2 = this.emitter).emit.apply(_emitter2, args);
  43875. }
  43876. }
  43877. return change;
  43878. }
  43879. function overload(index, length, name, value, source) {
  43880. var formats = {};
  43881. if (typeof index.index === 'number' && typeof index.length === 'number') {
  43882. // Allow for throwaway end (used by insertText/insertEmbed)
  43883. if (typeof length !== 'number') {
  43884. source = value, value = name, name = length, length = index.length, index = index.index;
  43885. } else {
  43886. length = index.length, index = index.index;
  43887. }
  43888. } else if (typeof length !== 'number') {
  43889. source = value, value = name, name = length, length = 0;
  43890. }
  43891. // Handle format being object, two format name/value strings or excluded
  43892. if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {
  43893. formats = name;
  43894. source = value;
  43895. } else if (typeof name === 'string') {
  43896. if (value != null) {
  43897. formats[name] = value;
  43898. } else {
  43899. source = name;
  43900. }
  43901. }
  43902. // Handle optional source
  43903. source = source || _emitter4.default.sources.API;
  43904. return [index, length, formats, source];
  43905. }
  43906. function shiftRange(range, index, length, source) {
  43907. if (range == null) return null;
  43908. var start = void 0,
  43909. end = void 0;
  43910. if (index instanceof _quillDelta2.default) {
  43911. var _map = [range.index, range.index + range.length].map(function (pos) {
  43912. return index.transformPosition(pos, source !== _emitter4.default.sources.USER);
  43913. });
  43914. var _map2 = _slicedToArray(_map, 2);
  43915. start = _map2[0];
  43916. end = _map2[1];
  43917. } else {
  43918. var _map3 = [range.index, range.index + range.length].map(function (pos) {
  43919. if (pos < index || pos === index && source === _emitter4.default.sources.USER) return pos;
  43920. if (length >= 0) {
  43921. return pos + length;
  43922. } else {
  43923. return Math.max(index, pos + length);
  43924. }
  43925. });
  43926. var _map4 = _slicedToArray(_map3, 2);
  43927. start = _map4[0];
  43928. end = _map4[1];
  43929. }
  43930. return new _selection.Range(start, end - start);
  43931. }
  43932. exports.expandConfig = expandConfig;
  43933. exports.overload = overload;
  43934. exports.default = Quill;
  43935. /***/ }),
  43936. /* 6 */
  43937. /***/ (function(module, exports, __nested_webpack_require_58401__) {
  43938. "use strict";
  43939. Object.defineProperty(exports, "__esModule", {
  43940. value: true
  43941. });
  43942. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  43943. var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
  43944. var _text = __nested_webpack_require_58401__(7);
  43945. var _text2 = _interopRequireDefault(_text);
  43946. var _parchment = __nested_webpack_require_58401__(0);
  43947. var _parchment2 = _interopRequireDefault(_parchment);
  43948. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  43949. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  43950. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  43951. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  43952. var Inline = function (_Parchment$Inline) {
  43953. _inherits(Inline, _Parchment$Inline);
  43954. function Inline() {
  43955. _classCallCheck(this, Inline);
  43956. return _possibleConstructorReturn(this, (Inline.__proto__ || Object.getPrototypeOf(Inline)).apply(this, arguments));
  43957. }
  43958. _createClass(Inline, [{
  43959. key: 'formatAt',
  43960. value: function formatAt(index, length, name, value) {
  43961. if (Inline.compare(this.statics.blotName, name) < 0 && _parchment2.default.query(name, _parchment2.default.Scope.BLOT)) {
  43962. var blot = this.isolate(index, length);
  43963. if (value) {
  43964. blot.wrap(name, value);
  43965. }
  43966. } else {
  43967. _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'formatAt', this).call(this, index, length, name, value);
  43968. }
  43969. }
  43970. }, {
  43971. key: 'optimize',
  43972. value: function optimize(context) {
  43973. _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'optimize', this).call(this, context);
  43974. if (this.parent instanceof Inline && Inline.compare(this.statics.blotName, this.parent.statics.blotName) > 0) {
  43975. var parent = this.parent.isolate(this.offset(), this.length());
  43976. this.moveChildren(parent);
  43977. parent.wrap(this);
  43978. }
  43979. }
  43980. }], [{
  43981. key: 'compare',
  43982. value: function compare(self, other) {
  43983. var selfIndex = Inline.order.indexOf(self);
  43984. var otherIndex = Inline.order.indexOf(other);
  43985. if (selfIndex >= 0 || otherIndex >= 0) {
  43986. return selfIndex - otherIndex;
  43987. } else if (self === other) {
  43988. return 0;
  43989. } else if (self < other) {
  43990. return -1;
  43991. } else {
  43992. return 1;
  43993. }
  43994. }
  43995. }]);
  43996. return Inline;
  43997. }(_parchment2.default.Inline);
  43998. Inline.allowedChildren = [Inline, _parchment2.default.Embed, _text2.default];
  43999. // Lower index means deeper in the DOM tree, since not found (-1) is for embeds
  44000. Inline.order = ['cursor', 'inline', // Must be lower
  44001. 'underline', 'strike', 'italic', 'bold', 'script', 'link', 'code' // Must be higher
  44002. ];
  44003. exports.default = Inline;
  44004. /***/ }),
  44005. /* 7 */
  44006. /***/ (function(module, exports, __nested_webpack_require_62823__) {
  44007. "use strict";
  44008. Object.defineProperty(exports, "__esModule", {
  44009. value: true
  44010. });
  44011. var _parchment = __nested_webpack_require_62823__(0);
  44012. var _parchment2 = _interopRequireDefault(_parchment);
  44013. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  44014. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  44015. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  44016. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  44017. var TextBlot = function (_Parchment$Text) {
  44018. _inherits(TextBlot, _Parchment$Text);
  44019. function TextBlot() {
  44020. _classCallCheck(this, TextBlot);
  44021. return _possibleConstructorReturn(this, (TextBlot.__proto__ || Object.getPrototypeOf(TextBlot)).apply(this, arguments));
  44022. }
  44023. return TextBlot;
  44024. }(_parchment2.default.Text);
  44025. exports.default = TextBlot;
  44026. /***/ }),
  44027. /* 8 */
  44028. /***/ (function(module, exports, __nested_webpack_require_64422__) {
  44029. "use strict";
  44030. Object.defineProperty(exports, "__esModule", {
  44031. value: true
  44032. });
  44033. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  44034. var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
  44035. var _eventemitter = __nested_webpack_require_64422__(54);
  44036. var _eventemitter2 = _interopRequireDefault(_eventemitter);
  44037. var _logger = __nested_webpack_require_64422__(10);
  44038. var _logger2 = _interopRequireDefault(_logger);
  44039. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  44040. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  44041. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  44042. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  44043. var debug = (0, _logger2.default)('quill:events');
  44044. var EVENTS = ['selectionchange', 'mousedown', 'mouseup', 'click'];
  44045. EVENTS.forEach(function (eventName) {
  44046. document.addEventListener(eventName, function () {
  44047. for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
  44048. args[_key] = arguments[_key];
  44049. }
  44050. [].slice.call(document.querySelectorAll('.ql-container')).forEach(function (node) {
  44051. // TODO use WeakMap
  44052. if (node.__quill && node.__quill.emitter) {
  44053. var _node$__quill$emitter;
  44054. (_node$__quill$emitter = node.__quill.emitter).handleDOM.apply(_node$__quill$emitter, args);
  44055. }
  44056. });
  44057. });
  44058. });
  44059. var Emitter = function (_EventEmitter) {
  44060. _inherits(Emitter, _EventEmitter);
  44061. function Emitter() {
  44062. _classCallCheck(this, Emitter);
  44063. var _this = _possibleConstructorReturn(this, (Emitter.__proto__ || Object.getPrototypeOf(Emitter)).call(this));
  44064. _this.listeners = {};
  44065. _this.on('error', debug.error);
  44066. return _this;
  44067. }
  44068. _createClass(Emitter, [{
  44069. key: 'emit',
  44070. value: function emit() {
  44071. debug.log.apply(debug, arguments);
  44072. _get(Emitter.prototype.__proto__ || Object.getPrototypeOf(Emitter.prototype), 'emit', this).apply(this, arguments);
  44073. }
  44074. }, {
  44075. key: 'handleDOM',
  44076. value: function handleDOM(event) {
  44077. for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
  44078. args[_key2 - 1] = arguments[_key2];
  44079. }
  44080. (this.listeners[event.type] || []).forEach(function (_ref) {
  44081. var node = _ref.node,
  44082. handler = _ref.handler;
  44083. if (event.target === node || node.contains(event.target)) {
  44084. handler.apply(undefined, [event].concat(args));
  44085. }
  44086. });
  44087. }
  44088. }, {
  44089. key: 'listenDOM',
  44090. value: function listenDOM(eventName, node, handler) {
  44091. if (!this.listeners[eventName]) {
  44092. this.listeners[eventName] = [];
  44093. }
  44094. this.listeners[eventName].push({ node: node, handler: handler });
  44095. }
  44096. }]);
  44097. return Emitter;
  44098. }(_eventemitter2.default);
  44099. Emitter.events = {
  44100. EDITOR_CHANGE: 'editor-change',
  44101. SCROLL_BEFORE_UPDATE: 'scroll-before-update',
  44102. SCROLL_OPTIMIZE: 'scroll-optimize',
  44103. SCROLL_UPDATE: 'scroll-update',
  44104. SELECTION_CHANGE: 'selection-change',
  44105. TEXT_CHANGE: 'text-change'
  44106. };
  44107. Emitter.sources = {
  44108. API: 'api',
  44109. SILENT: 'silent',
  44110. USER: 'user'
  44111. };
  44112. exports.default = Emitter;
  44113. /***/ }),
  44114. /* 9 */
  44115. /***/ (function(module, exports, __webpack_require__) {
  44116. "use strict";
  44117. Object.defineProperty(exports, "__esModule", {
  44118. value: true
  44119. });
  44120. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  44121. var Module = function Module(quill) {
  44122. var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  44123. _classCallCheck(this, Module);
  44124. this.quill = quill;
  44125. this.options = options;
  44126. };
  44127. Module.DEFAULTS = {};
  44128. exports.default = Module;
  44129. /***/ }),
  44130. /* 10 */
  44131. /***/ (function(module, exports, __webpack_require__) {
  44132. "use strict";
  44133. Object.defineProperty(exports, "__esModule", {
  44134. value: true
  44135. });
  44136. var levels = ['error', 'warn', 'log', 'info'];
  44137. var level = 'warn';
  44138. function debug(method) {
  44139. if (levels.indexOf(method) <= levels.indexOf(level)) {
  44140. var _console;
  44141. for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
  44142. args[_key - 1] = arguments[_key];
  44143. }
  44144. (_console = console)[method].apply(_console, args); // eslint-disable-line no-console
  44145. }
  44146. }
  44147. function namespace(ns) {
  44148. return levels.reduce(function (logger, method) {
  44149. logger[method] = debug.bind(console, method, ns);
  44150. return logger;
  44151. }, {});
  44152. }
  44153. debug.level = namespace.level = function (newLevel) {
  44154. level = newLevel;
  44155. };
  44156. exports.default = namespace;
  44157. /***/ }),
  44158. /* 11 */
  44159. /***/ (function(module, exports, __nested_webpack_require_70685__) {
  44160. var pSlice = Array.prototype.slice;
  44161. var objectKeys = __nested_webpack_require_70685__(52);
  44162. var isArguments = __nested_webpack_require_70685__(53);
  44163. var deepEqual = module.exports = function (actual, expected, opts) {
  44164. if (!opts) opts = {};
  44165. // 7.1. All identical values are equivalent, as determined by ===.
  44166. if (actual === expected) {
  44167. return true;
  44168. } else if (actual instanceof Date && expected instanceof Date) {
  44169. return actual.getTime() === expected.getTime();
  44170. // 7.3. Other pairs that do not both pass typeof value == 'object',
  44171. // equivalence is determined by ==.
  44172. } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {
  44173. return opts.strict ? actual === expected : actual == expected;
  44174. // 7.4. For all other Object pairs, including Array objects, equivalence is
  44175. // determined by having the same number of owned properties (as verified
  44176. // with Object.prototype.hasOwnProperty.call), the same set of keys
  44177. // (although not necessarily the same order), equivalent values for every
  44178. // corresponding key, and an identical 'prototype' property. Note: this
  44179. // accounts for both named and indexed properties on Arrays.
  44180. } else {
  44181. return objEquiv(actual, expected, opts);
  44182. }
  44183. }
  44184. function isUndefinedOrNull(value) {
  44185. return value === null || value === undefined;
  44186. }
  44187. function isBuffer (x) {
  44188. if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;
  44189. if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {
  44190. return false;
  44191. }
  44192. if (x.length > 0 && typeof x[0] !== 'number') return false;
  44193. return true;
  44194. }
  44195. function objEquiv(a, b, opts) {
  44196. var i, key;
  44197. if (isUndefinedOrNull(a) || isUndefinedOrNull(b))
  44198. return false;
  44199. // an identical 'prototype' property.
  44200. if (a.prototype !== b.prototype) return false;
  44201. //~~~I've managed to break Object.keys through screwy arguments passing.
  44202. // Converting to array solves the problem.
  44203. if (isArguments(a)) {
  44204. if (!isArguments(b)) {
  44205. return false;
  44206. }
  44207. a = pSlice.call(a);
  44208. b = pSlice.call(b);
  44209. return deepEqual(a, b, opts);
  44210. }
  44211. if (isBuffer(a)) {
  44212. if (!isBuffer(b)) {
  44213. return false;
  44214. }
  44215. if (a.length !== b.length) return false;
  44216. for (i = 0; i < a.length; i++) {
  44217. if (a[i] !== b[i]) return false;
  44218. }
  44219. return true;
  44220. }
  44221. try {
  44222. var ka = objectKeys(a),
  44223. kb = objectKeys(b);
  44224. } catch (e) {//happens when one is a string literal and the other isn't
  44225. return false;
  44226. }
  44227. // having the same number of owned properties (keys incorporates
  44228. // hasOwnProperty)
  44229. if (ka.length != kb.length)
  44230. return false;
  44231. //the same set of keys (although not necessarily the same order),
  44232. ka.sort();
  44233. kb.sort();
  44234. //~~~cheap key test
  44235. for (i = ka.length - 1; i >= 0; i--) {
  44236. if (ka[i] != kb[i])
  44237. return false;
  44238. }
  44239. //equivalent values for every corresponding key, and
  44240. //~~~possibly expensive deep test
  44241. for (i = ka.length - 1; i >= 0; i--) {
  44242. key = ka[i];
  44243. if (!deepEqual(a[key], b[key], opts)) return false;
  44244. }
  44245. return typeof a === typeof b;
  44246. }
  44247. /***/ }),
  44248. /* 12 */
  44249. /***/ (function(module, exports, __nested_webpack_require_73804__) {
  44250. "use strict";
  44251. Object.defineProperty(exports, "__esModule", { value: true });
  44252. var Registry = __nested_webpack_require_73804__(1);
  44253. var Attributor = /** @class */ (function () {
  44254. function Attributor(attrName, keyName, options) {
  44255. if (options === void 0) { options = {}; }
  44256. this.attrName = attrName;
  44257. this.keyName = keyName;
  44258. var attributeBit = Registry.Scope.TYPE & Registry.Scope.ATTRIBUTE;
  44259. if (options.scope != null) {
  44260. // Ignore type bits, force attribute bit
  44261. this.scope = (options.scope & Registry.Scope.LEVEL) | attributeBit;
  44262. }
  44263. else {
  44264. this.scope = Registry.Scope.ATTRIBUTE;
  44265. }
  44266. if (options.whitelist != null)
  44267. this.whitelist = options.whitelist;
  44268. }
  44269. Attributor.keys = function (node) {
  44270. return [].map.call(node.attributes, function (item) {
  44271. return item.name;
  44272. });
  44273. };
  44274. Attributor.prototype.add = function (node, value) {
  44275. if (!this.canAdd(node, value))
  44276. return false;
  44277. node.setAttribute(this.keyName, value);
  44278. return true;
  44279. };
  44280. Attributor.prototype.canAdd = function (node, value) {
  44281. var match = Registry.query(node, Registry.Scope.BLOT & (this.scope | Registry.Scope.TYPE));
  44282. if (match == null)
  44283. return false;
  44284. if (this.whitelist == null)
  44285. return true;
  44286. if (typeof value === 'string') {
  44287. return this.whitelist.indexOf(value.replace(/["']/g, '')) > -1;
  44288. }
  44289. else {
  44290. return this.whitelist.indexOf(value) > -1;
  44291. }
  44292. };
  44293. Attributor.prototype.remove = function (node) {
  44294. node.removeAttribute(this.keyName);
  44295. };
  44296. Attributor.prototype.value = function (node) {
  44297. var value = node.getAttribute(this.keyName);
  44298. if (this.canAdd(node, value) && value) {
  44299. return value;
  44300. }
  44301. return '';
  44302. };
  44303. return Attributor;
  44304. }());
  44305. exports.default = Attributor;
  44306. /***/ }),
  44307. /* 13 */
  44308. /***/ (function(module, exports, __nested_webpack_require_75851__) {
  44309. "use strict";
  44310. Object.defineProperty(exports, "__esModule", {
  44311. value: true
  44312. });
  44313. exports.default = exports.Code = undefined;
  44314. var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
  44315. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  44316. var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
  44317. var _quillDelta = __nested_webpack_require_75851__(2);
  44318. var _quillDelta2 = _interopRequireDefault(_quillDelta);
  44319. var _parchment = __nested_webpack_require_75851__(0);
  44320. var _parchment2 = _interopRequireDefault(_parchment);
  44321. var _block = __nested_webpack_require_75851__(4);
  44322. var _block2 = _interopRequireDefault(_block);
  44323. var _inline = __nested_webpack_require_75851__(6);
  44324. var _inline2 = _interopRequireDefault(_inline);
  44325. var _text = __nested_webpack_require_75851__(7);
  44326. var _text2 = _interopRequireDefault(_text);
  44327. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  44328. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  44329. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  44330. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  44331. var Code = function (_Inline) {
  44332. _inherits(Code, _Inline);
  44333. function Code() {
  44334. _classCallCheck(this, Code);
  44335. return _possibleConstructorReturn(this, (Code.__proto__ || Object.getPrototypeOf(Code)).apply(this, arguments));
  44336. }
  44337. return Code;
  44338. }(_inline2.default);
  44339. Code.blotName = 'code';
  44340. Code.tagName = 'CODE';
  44341. var CodeBlock = function (_Block) {
  44342. _inherits(CodeBlock, _Block);
  44343. function CodeBlock() {
  44344. _classCallCheck(this, CodeBlock);
  44345. return _possibleConstructorReturn(this, (CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock)).apply(this, arguments));
  44346. }
  44347. _createClass(CodeBlock, [{
  44348. key: 'delta',
  44349. value: function delta() {
  44350. var _this3 = this;
  44351. var text = this.domNode.textContent;
  44352. if (text.endsWith('\n')) {
  44353. // Should always be true
  44354. text = text.slice(0, -1);
  44355. }
  44356. return text.split('\n').reduce(function (delta, frag) {
  44357. return delta.insert(frag).insert('\n', _this3.formats());
  44358. }, new _quillDelta2.default());
  44359. }
  44360. }, {
  44361. key: 'format',
  44362. value: function format(name, value) {
  44363. if (name === this.statics.blotName && value) return;
  44364. var _descendant = this.descendant(_text2.default, this.length() - 1),
  44365. _descendant2 = _slicedToArray(_descendant, 1),
  44366. text = _descendant2[0];
  44367. if (text != null) {
  44368. text.deleteAt(text.length() - 1, 1);
  44369. }
  44370. _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'format', this).call(this, name, value);
  44371. }
  44372. }, {
  44373. key: 'formatAt',
  44374. value: function formatAt(index, length, name, value) {
  44375. if (length === 0) return;
  44376. if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK) == null || name === this.statics.blotName && value === this.statics.formats(this.domNode)) {
  44377. return;
  44378. }
  44379. var nextNewline = this.newlineIndex(index);
  44380. if (nextNewline < 0 || nextNewline >= index + length) return;
  44381. var prevNewline = this.newlineIndex(index, true) + 1;
  44382. var isolateLength = nextNewline - prevNewline + 1;
  44383. var blot = this.isolate(prevNewline, isolateLength);
  44384. var next = blot.next;
  44385. blot.format(name, value);
  44386. if (next instanceof CodeBlock) {
  44387. next.formatAt(0, index - prevNewline + length - isolateLength, name, value);
  44388. }
  44389. }
  44390. }, {
  44391. key: 'insertAt',
  44392. value: function insertAt(index, value, def) {
  44393. if (def != null) return;
  44394. var _descendant3 = this.descendant(_text2.default, index),
  44395. _descendant4 = _slicedToArray(_descendant3, 2),
  44396. text = _descendant4[0],
  44397. offset = _descendant4[1];
  44398. text.insertAt(offset, value);
  44399. }
  44400. }, {
  44401. key: 'length',
  44402. value: function length() {
  44403. var length = this.domNode.textContent.length;
  44404. if (!this.domNode.textContent.endsWith('\n')) {
  44405. return length + 1;
  44406. }
  44407. return length;
  44408. }
  44409. }, {
  44410. key: 'newlineIndex',
  44411. value: function newlineIndex(searchIndex) {
  44412. var reverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
  44413. if (!reverse) {
  44414. var offset = this.domNode.textContent.slice(searchIndex).indexOf('\n');
  44415. return offset > -1 ? searchIndex + offset : -1;
  44416. } else {
  44417. return this.domNode.textContent.slice(0, searchIndex).lastIndexOf('\n');
  44418. }
  44419. }
  44420. }, {
  44421. key: 'optimize',
  44422. value: function optimize(context) {
  44423. if (!this.domNode.textContent.endsWith('\n')) {
  44424. this.appendChild(_parchment2.default.create('text', '\n'));
  44425. }
  44426. _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'optimize', this).call(this, context);
  44427. var next = this.next;
  44428. if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && this.statics.formats(this.domNode) === next.statics.formats(next.domNode)) {
  44429. next.optimize(context);
  44430. next.moveChildren(this);
  44431. next.remove();
  44432. }
  44433. }
  44434. }, {
  44435. key: 'replace',
  44436. value: function replace(target) {
  44437. _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'replace', this).call(this, target);
  44438. [].slice.call(this.domNode.querySelectorAll('*')).forEach(function (node) {
  44439. var blot = _parchment2.default.find(node);
  44440. if (blot == null) {
  44441. node.parentNode.removeChild(node);
  44442. } else if (blot instanceof _parchment2.default.Embed) {
  44443. blot.remove();
  44444. } else {
  44445. blot.unwrap();
  44446. }
  44447. });
  44448. }
  44449. }], [{
  44450. key: 'create',
  44451. value: function create(value) {
  44452. var domNode = _get(CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock), 'create', this).call(this, value);
  44453. domNode.setAttribute('spellcheck', false);
  44454. return domNode;
  44455. }
  44456. }, {
  44457. key: 'formats',
  44458. value: function formats() {
  44459. return true;
  44460. }
  44461. }]);
  44462. return CodeBlock;
  44463. }(_block2.default);
  44464. CodeBlock.blotName = 'code-block';
  44465. CodeBlock.tagName = 'PRE';
  44466. CodeBlock.TAB = ' ';
  44467. exports.Code = Code;
  44468. exports.default = CodeBlock;
  44469. /***/ }),
  44470. /* 14 */
  44471. /***/ (function(module, exports, __nested_webpack_require_84272__) {
  44472. "use strict";
  44473. Object.defineProperty(exports, "__esModule", {
  44474. value: true
  44475. });
  44476. var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
  44477. var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
  44478. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  44479. var _quillDelta = __nested_webpack_require_84272__(2);
  44480. var _quillDelta2 = _interopRequireDefault(_quillDelta);
  44481. var _op = __nested_webpack_require_84272__(20);
  44482. var _op2 = _interopRequireDefault(_op);
  44483. var _parchment = __nested_webpack_require_84272__(0);
  44484. var _parchment2 = _interopRequireDefault(_parchment);
  44485. var _code = __nested_webpack_require_84272__(13);
  44486. var _code2 = _interopRequireDefault(_code);
  44487. var _cursor = __nested_webpack_require_84272__(24);
  44488. var _cursor2 = _interopRequireDefault(_cursor);
  44489. var _block = __nested_webpack_require_84272__(4);
  44490. var _block2 = _interopRequireDefault(_block);
  44491. var _break = __nested_webpack_require_84272__(16);
  44492. var _break2 = _interopRequireDefault(_break);
  44493. var _clone = __nested_webpack_require_84272__(21);
  44494. var _clone2 = _interopRequireDefault(_clone);
  44495. var _deepEqual = __nested_webpack_require_84272__(11);
  44496. var _deepEqual2 = _interopRequireDefault(_deepEqual);
  44497. var _extend = __nested_webpack_require_84272__(3);
  44498. var _extend2 = _interopRequireDefault(_extend);
  44499. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  44500. function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
  44501. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  44502. var ASCII = /^[ -~]*$/;
  44503. var Editor = function () {
  44504. function Editor(scroll) {
  44505. _classCallCheck(this, Editor);
  44506. this.scroll = scroll;
  44507. this.delta = this.getDelta();
  44508. }
  44509. _createClass(Editor, [{
  44510. key: 'applyDelta',
  44511. value: function applyDelta(delta) {
  44512. var _this = this;
  44513. var consumeNextNewline = false;
  44514. this.scroll.update();
  44515. var scrollLength = this.scroll.length();
  44516. this.scroll.batchStart();
  44517. delta = normalizeDelta(delta);
  44518. delta.reduce(function (index, op) {
  44519. var length = op.retain || op.delete || op.insert.length || 1;
  44520. var attributes = op.attributes || {};
  44521. if (op.insert != null) {
  44522. if (typeof op.insert === 'string') {
  44523. var text = op.insert;
  44524. if (text.endsWith('\n') && consumeNextNewline) {
  44525. consumeNextNewline = false;
  44526. text = text.slice(0, -1);
  44527. }
  44528. if (index >= scrollLength && !text.endsWith('\n')) {
  44529. consumeNextNewline = true;
  44530. }
  44531. _this.scroll.insertAt(index, text);
  44532. var _scroll$line = _this.scroll.line(index),
  44533. _scroll$line2 = _slicedToArray(_scroll$line, 2),
  44534. line = _scroll$line2[0],
  44535. offset = _scroll$line2[1];
  44536. var formats = (0, _extend2.default)({}, (0, _block.bubbleFormats)(line));
  44537. if (line instanceof _block2.default) {
  44538. var _line$descendant = line.descendant(_parchment2.default.Leaf, offset),
  44539. _line$descendant2 = _slicedToArray(_line$descendant, 1),
  44540. leaf = _line$descendant2[0];
  44541. formats = (0, _extend2.default)(formats, (0, _block.bubbleFormats)(leaf));
  44542. }
  44543. attributes = _op2.default.attributes.diff(formats, attributes) || {};
  44544. } else if (_typeof(op.insert) === 'object') {
  44545. var key = Object.keys(op.insert)[0]; // There should only be one key
  44546. if (key == null) return index;
  44547. _this.scroll.insertAt(index, key, op.insert[key]);
  44548. }
  44549. scrollLength += length;
  44550. }
  44551. Object.keys(attributes).forEach(function (name) {
  44552. _this.scroll.formatAt(index, length, name, attributes[name]);
  44553. });
  44554. return index + length;
  44555. }, 0);
  44556. delta.reduce(function (index, op) {
  44557. if (typeof op.delete === 'number') {
  44558. _this.scroll.deleteAt(index, op.delete);
  44559. return index;
  44560. }
  44561. return index + (op.retain || op.insert.length || 1);
  44562. }, 0);
  44563. this.scroll.batchEnd();
  44564. return this.update(delta);
  44565. }
  44566. }, {
  44567. key: 'deleteText',
  44568. value: function deleteText(index, length) {
  44569. this.scroll.deleteAt(index, length);
  44570. return this.update(new _quillDelta2.default().retain(index).delete(length));
  44571. }
  44572. }, {
  44573. key: 'formatLine',
  44574. value: function formatLine(index, length) {
  44575. var _this2 = this;
  44576. var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
  44577. this.scroll.update();
  44578. Object.keys(formats).forEach(function (format) {
  44579. if (_this2.scroll.whitelist != null && !_this2.scroll.whitelist[format]) return;
  44580. var lines = _this2.scroll.lines(index, Math.max(length, 1));
  44581. var lengthRemaining = length;
  44582. lines.forEach(function (line) {
  44583. var lineLength = line.length();
  44584. if (!(line instanceof _code2.default)) {
  44585. line.format(format, formats[format]);
  44586. } else {
  44587. var codeIndex = index - line.offset(_this2.scroll);
  44588. var codeLength = line.newlineIndex(codeIndex + lengthRemaining) - codeIndex + 1;
  44589. line.formatAt(codeIndex, codeLength, format, formats[format]);
  44590. }
  44591. lengthRemaining -= lineLength;
  44592. });
  44593. });
  44594. this.scroll.optimize();
  44595. return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));
  44596. }
  44597. }, {
  44598. key: 'formatText',
  44599. value: function formatText(index, length) {
  44600. var _this3 = this;
  44601. var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
  44602. Object.keys(formats).forEach(function (format) {
  44603. _this3.scroll.formatAt(index, length, format, formats[format]);
  44604. });
  44605. return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));
  44606. }
  44607. }, {
  44608. key: 'getContents',
  44609. value: function getContents(index, length) {
  44610. return this.delta.slice(index, index + length);
  44611. }
  44612. }, {
  44613. key: 'getDelta',
  44614. value: function getDelta() {
  44615. return this.scroll.lines().reduce(function (delta, line) {
  44616. return delta.concat(line.delta());
  44617. }, new _quillDelta2.default());
  44618. }
  44619. }, {
  44620. key: 'getFormat',
  44621. value: function getFormat(index) {
  44622. var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
  44623. var lines = [],
  44624. leaves = [];
  44625. if (length === 0) {
  44626. this.scroll.path(index).forEach(function (path) {
  44627. var _path = _slicedToArray(path, 1),
  44628. blot = _path[0];
  44629. if (blot instanceof _block2.default) {
  44630. lines.push(blot);
  44631. } else if (blot instanceof _parchment2.default.Leaf) {
  44632. leaves.push(blot);
  44633. }
  44634. });
  44635. } else {
  44636. lines = this.scroll.lines(index, length);
  44637. leaves = this.scroll.descendants(_parchment2.default.Leaf, index, length);
  44638. }
  44639. var formatsArr = [lines, leaves].map(function (blots) {
  44640. if (blots.length === 0) return {};
  44641. var formats = (0, _block.bubbleFormats)(blots.shift());
  44642. while (Object.keys(formats).length > 0) {
  44643. var blot = blots.shift();
  44644. if (blot == null) return formats;
  44645. formats = combineFormats((0, _block.bubbleFormats)(blot), formats);
  44646. }
  44647. return formats;
  44648. });
  44649. return _extend2.default.apply(_extend2.default, formatsArr);
  44650. }
  44651. }, {
  44652. key: 'getText',
  44653. value: function getText(index, length) {
  44654. return this.getContents(index, length).filter(function (op) {
  44655. return typeof op.insert === 'string';
  44656. }).map(function (op) {
  44657. return op.insert;
  44658. }).join('');
  44659. }
  44660. }, {
  44661. key: 'insertEmbed',
  44662. value: function insertEmbed(index, embed, value) {
  44663. this.scroll.insertAt(index, embed, value);
  44664. return this.update(new _quillDelta2.default().retain(index).insert(_defineProperty({}, embed, value)));
  44665. }
  44666. }, {
  44667. key: 'insertText',
  44668. value: function insertText(index, text) {
  44669. var _this4 = this;
  44670. var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
  44671. text = text.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
  44672. this.scroll.insertAt(index, text);
  44673. Object.keys(formats).forEach(function (format) {
  44674. _this4.scroll.formatAt(index, text.length, format, formats[format]);
  44675. });
  44676. return this.update(new _quillDelta2.default().retain(index).insert(text, (0, _clone2.default)(formats)));
  44677. }
  44678. }, {
  44679. key: 'isBlank',
  44680. value: function isBlank() {
  44681. if (this.scroll.children.length == 0) return true;
  44682. if (this.scroll.children.length > 1) return false;
  44683. var block = this.scroll.children.head;
  44684. if (block.statics.blotName !== _block2.default.blotName) return false;
  44685. if (block.children.length > 1) return false;
  44686. return block.children.head instanceof _break2.default;
  44687. }
  44688. }, {
  44689. key: 'removeFormat',
  44690. value: function removeFormat(index, length) {
  44691. var text = this.getText(index, length);
  44692. var _scroll$line3 = this.scroll.line(index + length),
  44693. _scroll$line4 = _slicedToArray(_scroll$line3, 2),
  44694. line = _scroll$line4[0],
  44695. offset = _scroll$line4[1];
  44696. var suffixLength = 0,
  44697. suffix = new _quillDelta2.default();
  44698. if (line != null) {
  44699. if (!(line instanceof _code2.default)) {
  44700. suffixLength = line.length() - offset;
  44701. } else {
  44702. suffixLength = line.newlineIndex(offset) - offset + 1;
  44703. }
  44704. suffix = line.delta().slice(offset, offset + suffixLength - 1).insert('\n');
  44705. }
  44706. var contents = this.getContents(index, length + suffixLength);
  44707. var diff = contents.diff(new _quillDelta2.default().insert(text).concat(suffix));
  44708. var delta = new _quillDelta2.default().retain(index).concat(diff);
  44709. return this.applyDelta(delta);
  44710. }
  44711. }, {
  44712. key: 'update',
  44713. value: function update(change) {
  44714. var mutations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
  44715. var cursorIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
  44716. var oldDelta = this.delta;
  44717. if (mutations.length === 1 && mutations[0].type === 'characterData' && mutations[0].target.data.match(ASCII) && _parchment2.default.find(mutations[0].target)) {
  44718. // Optimization for character changes
  44719. var textBlot = _parchment2.default.find(mutations[0].target);
  44720. var formats = (0, _block.bubbleFormats)(textBlot);
  44721. var index = textBlot.offset(this.scroll);
  44722. var oldValue = mutations[0].oldValue.replace(_cursor2.default.CONTENTS, '');
  44723. var oldText = new _quillDelta2.default().insert(oldValue);
  44724. var newText = new _quillDelta2.default().insert(textBlot.value());
  44725. var diffDelta = new _quillDelta2.default().retain(index).concat(oldText.diff(newText, cursorIndex));
  44726. change = diffDelta.reduce(function (delta, op) {
  44727. if (op.insert) {
  44728. return delta.insert(op.insert, formats);
  44729. } else {
  44730. return delta.push(op);
  44731. }
  44732. }, new _quillDelta2.default());
  44733. this.delta = oldDelta.compose(change);
  44734. } else {
  44735. this.delta = this.getDelta();
  44736. if (!change || !(0, _deepEqual2.default)(oldDelta.compose(change), this.delta)) {
  44737. change = oldDelta.diff(this.delta, cursorIndex);
  44738. }
  44739. }
  44740. return change;
  44741. }
  44742. }]);
  44743. return Editor;
  44744. }();
  44745. function combineFormats(formats, combined) {
  44746. return Object.keys(combined).reduce(function (merged, name) {
  44747. if (formats[name] == null) return merged;
  44748. if (combined[name] === formats[name]) {
  44749. merged[name] = combined[name];
  44750. } else if (Array.isArray(combined[name])) {
  44751. if (combined[name].indexOf(formats[name]) < 0) {
  44752. merged[name] = combined[name].concat([formats[name]]);
  44753. }
  44754. } else {
  44755. merged[name] = [combined[name], formats[name]];
  44756. }
  44757. return merged;
  44758. }, {});
  44759. }
  44760. function normalizeDelta(delta) {
  44761. return delta.reduce(function (delta, op) {
  44762. if (op.insert === 1) {
  44763. var attributes = (0, _clone2.default)(op.attributes);
  44764. delete attributes['image'];
  44765. return delta.insert({ image: op.attributes.image }, attributes);
  44766. }
  44767. if (op.attributes != null && (op.attributes.list === true || op.attributes.bullet === true)) {
  44768. op = (0, _clone2.default)(op);
  44769. if (op.attributes.list) {
  44770. op.attributes.list = 'ordered';
  44771. } else {
  44772. op.attributes.list = 'bullet';
  44773. delete op.attributes.bullet;
  44774. }
  44775. }
  44776. if (typeof op.insert === 'string') {
  44777. var text = op.insert.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
  44778. return delta.insert(text, op.attributes);
  44779. }
  44780. return delta.push(op);
  44781. }, new _quillDelta2.default());
  44782. }
  44783. exports.default = Editor;
  44784. /***/ }),
  44785. /* 15 */
  44786. /***/ (function(module, exports, __nested_webpack_require_98688__) {
  44787. "use strict";
  44788. Object.defineProperty(exports, "__esModule", {
  44789. value: true
  44790. });
  44791. exports.default = exports.Range = undefined;
  44792. var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
  44793. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  44794. var _parchment = __nested_webpack_require_98688__(0);
  44795. var _parchment2 = _interopRequireDefault(_parchment);
  44796. var _clone = __nested_webpack_require_98688__(21);
  44797. var _clone2 = _interopRequireDefault(_clone);
  44798. var _deepEqual = __nested_webpack_require_98688__(11);
  44799. var _deepEqual2 = _interopRequireDefault(_deepEqual);
  44800. var _emitter3 = __nested_webpack_require_98688__(8);
  44801. var _emitter4 = _interopRequireDefault(_emitter3);
  44802. var _logger = __nested_webpack_require_98688__(10);
  44803. var _logger2 = _interopRequireDefault(_logger);
  44804. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  44805. function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
  44806. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  44807. var debug = (0, _logger2.default)('quill:selection');
  44808. var Range = function Range(index) {
  44809. var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
  44810. _classCallCheck(this, Range);
  44811. this.index = index;
  44812. this.length = length;
  44813. };
  44814. var Selection = function () {
  44815. function Selection(scroll, emitter) {
  44816. var _this = this;
  44817. _classCallCheck(this, Selection);
  44818. this.emitter = emitter;
  44819. this.scroll = scroll;
  44820. this.composing = false;
  44821. this.mouseDown = false;
  44822. this.root = this.scroll.domNode;
  44823. this.cursor = _parchment2.default.create('cursor', this);
  44824. // savedRange is last non-null range
  44825. this.lastRange = this.savedRange = new Range(0, 0);
  44826. this.handleComposition();
  44827. this.handleDragging();
  44828. this.emitter.listenDOM('selectionchange', document, function () {
  44829. if (!_this.mouseDown) {
  44830. setTimeout(_this.update.bind(_this, _emitter4.default.sources.USER), 1);
  44831. }
  44832. });
  44833. this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type, delta) {
  44834. if (type === _emitter4.default.events.TEXT_CHANGE && delta.length() > 0) {
  44835. _this.update(_emitter4.default.sources.SILENT);
  44836. }
  44837. });
  44838. this.emitter.on(_emitter4.default.events.SCROLL_BEFORE_UPDATE, function () {
  44839. if (!_this.hasFocus()) return;
  44840. var native = _this.getNativeRange();
  44841. if (native == null) return;
  44842. if (native.start.node === _this.cursor.textNode) return; // cursor.restore() will handle
  44843. // TODO unclear if this has negative side effects
  44844. _this.emitter.once(_emitter4.default.events.SCROLL_UPDATE, function () {
  44845. try {
  44846. _this.setNativeRange(native.start.node, native.start.offset, native.end.node, native.end.offset);
  44847. } catch (ignored) {}
  44848. });
  44849. });
  44850. this.emitter.on(_emitter4.default.events.SCROLL_OPTIMIZE, function (mutations, context) {
  44851. if (context.range) {
  44852. var _context$range = context.range,
  44853. startNode = _context$range.startNode,
  44854. startOffset = _context$range.startOffset,
  44855. endNode = _context$range.endNode,
  44856. endOffset = _context$range.endOffset;
  44857. _this.setNativeRange(startNode, startOffset, endNode, endOffset);
  44858. }
  44859. });
  44860. this.update(_emitter4.default.sources.SILENT);
  44861. }
  44862. _createClass(Selection, [{
  44863. key: 'handleComposition',
  44864. value: function handleComposition() {
  44865. var _this2 = this;
  44866. this.root.addEventListener('compositionstart', function () {
  44867. _this2.composing = true;
  44868. });
  44869. this.root.addEventListener('compositionend', function () {
  44870. _this2.composing = false;
  44871. if (_this2.cursor.parent) {
  44872. var range = _this2.cursor.restore();
  44873. if (!range) return;
  44874. setTimeout(function () {
  44875. _this2.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);
  44876. }, 1);
  44877. }
  44878. });
  44879. }
  44880. }, {
  44881. key: 'handleDragging',
  44882. value: function handleDragging() {
  44883. var _this3 = this;
  44884. this.emitter.listenDOM('mousedown', document.body, function () {
  44885. _this3.mouseDown = true;
  44886. });
  44887. this.emitter.listenDOM('mouseup', document.body, function () {
  44888. _this3.mouseDown = false;
  44889. _this3.update(_emitter4.default.sources.USER);
  44890. });
  44891. }
  44892. }, {
  44893. key: 'focus',
  44894. value: function focus() {
  44895. if (this.hasFocus()) return;
  44896. this.root.focus();
  44897. this.setRange(this.savedRange);
  44898. }
  44899. }, {
  44900. key: 'format',
  44901. value: function format(_format, value) {
  44902. if (this.scroll.whitelist != null && !this.scroll.whitelist[_format]) return;
  44903. this.scroll.update();
  44904. var nativeRange = this.getNativeRange();
  44905. if (nativeRange == null || !nativeRange.native.collapsed || _parchment2.default.query(_format, _parchment2.default.Scope.BLOCK)) return;
  44906. if (nativeRange.start.node !== this.cursor.textNode) {
  44907. var blot = _parchment2.default.find(nativeRange.start.node, false);
  44908. if (blot == null) return;
  44909. // TODO Give blot ability to not split
  44910. if (blot instanceof _parchment2.default.Leaf) {
  44911. var after = blot.split(nativeRange.start.offset);
  44912. blot.parent.insertBefore(this.cursor, after);
  44913. } else {
  44914. blot.insertBefore(this.cursor, nativeRange.start.node); // Should never happen
  44915. }
  44916. this.cursor.attach();
  44917. }
  44918. this.cursor.format(_format, value);
  44919. this.scroll.optimize();
  44920. this.setNativeRange(this.cursor.textNode, this.cursor.textNode.data.length);
  44921. this.update();
  44922. }
  44923. }, {
  44924. key: 'getBounds',
  44925. value: function getBounds(index) {
  44926. var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
  44927. var scrollLength = this.scroll.length();
  44928. index = Math.min(index, scrollLength - 1);
  44929. length = Math.min(index + length, scrollLength - 1) - index;
  44930. var node = void 0,
  44931. _scroll$leaf = this.scroll.leaf(index),
  44932. _scroll$leaf2 = _slicedToArray(_scroll$leaf, 2),
  44933. leaf = _scroll$leaf2[0],
  44934. offset = _scroll$leaf2[1];
  44935. if (leaf == null) return null;
  44936. var _leaf$position = leaf.position(offset, true);
  44937. var _leaf$position2 = _slicedToArray(_leaf$position, 2);
  44938. node = _leaf$position2[0];
  44939. offset = _leaf$position2[1];
  44940. var range = document.createRange();
  44941. if (length > 0) {
  44942. range.setStart(node, offset);
  44943. var _scroll$leaf3 = this.scroll.leaf(index + length);
  44944. var _scroll$leaf4 = _slicedToArray(_scroll$leaf3, 2);
  44945. leaf = _scroll$leaf4[0];
  44946. offset = _scroll$leaf4[1];
  44947. if (leaf == null) return null;
  44948. var _leaf$position3 = leaf.position(offset, true);
  44949. var _leaf$position4 = _slicedToArray(_leaf$position3, 2);
  44950. node = _leaf$position4[0];
  44951. offset = _leaf$position4[1];
  44952. range.setEnd(node, offset);
  44953. return range.getBoundingClientRect();
  44954. } else {
  44955. var side = 'left';
  44956. var rect = void 0;
  44957. if (node instanceof Text) {
  44958. if (offset < node.data.length) {
  44959. range.setStart(node, offset);
  44960. range.setEnd(node, offset + 1);
  44961. } else {
  44962. range.setStart(node, offset - 1);
  44963. range.setEnd(node, offset);
  44964. side = 'right';
  44965. }
  44966. rect = range.getBoundingClientRect();
  44967. } else {
  44968. rect = leaf.domNode.getBoundingClientRect();
  44969. if (offset > 0) side = 'right';
  44970. }
  44971. return {
  44972. bottom: rect.top + rect.height,
  44973. height: rect.height,
  44974. left: rect[side],
  44975. right: rect[side],
  44976. top: rect.top,
  44977. width: 0
  44978. };
  44979. }
  44980. }
  44981. }, {
  44982. key: 'getNativeRange',
  44983. value: function getNativeRange() {
  44984. var selection = document.getSelection();
  44985. if (selection == null || selection.rangeCount <= 0) return null;
  44986. var nativeRange = selection.getRangeAt(0);
  44987. if (nativeRange == null) return null;
  44988. var range = this.normalizeNative(nativeRange);
  44989. debug.info('getNativeRange', range);
  44990. return range;
  44991. }
  44992. }, {
  44993. key: 'getRange',
  44994. value: function getRange() {
  44995. var normalized = this.getNativeRange();
  44996. if (normalized == null) return [null, null];
  44997. var range = this.normalizedToRange(normalized);
  44998. return [range, normalized];
  44999. }
  45000. }, {
  45001. key: 'hasFocus',
  45002. value: function hasFocus() {
  45003. return document.activeElement === this.root;
  45004. }
  45005. }, {
  45006. key: 'normalizedToRange',
  45007. value: function normalizedToRange(range) {
  45008. var _this4 = this;
  45009. var positions = [[range.start.node, range.start.offset]];
  45010. if (!range.native.collapsed) {
  45011. positions.push([range.end.node, range.end.offset]);
  45012. }
  45013. var indexes = positions.map(function (position) {
  45014. var _position = _slicedToArray(position, 2),
  45015. node = _position[0],
  45016. offset = _position[1];
  45017. var blot = _parchment2.default.find(node, true);
  45018. var index = blot.offset(_this4.scroll);
  45019. if (offset === 0) {
  45020. return index;
  45021. } else if (blot instanceof _parchment2.default.Container) {
  45022. return index + blot.length();
  45023. } else {
  45024. return index + blot.index(node, offset);
  45025. }
  45026. });
  45027. var end = Math.min(Math.max.apply(Math, _toConsumableArray(indexes)), this.scroll.length() - 1);
  45028. var start = Math.min.apply(Math, [end].concat(_toConsumableArray(indexes)));
  45029. return new Range(start, end - start);
  45030. }
  45031. }, {
  45032. key: 'normalizeNative',
  45033. value: function normalizeNative(nativeRange) {
  45034. if (!contains(this.root, nativeRange.startContainer) || !nativeRange.collapsed && !contains(this.root, nativeRange.endContainer)) {
  45035. return null;
  45036. }
  45037. var range = {
  45038. start: { node: nativeRange.startContainer, offset: nativeRange.startOffset },
  45039. end: { node: nativeRange.endContainer, offset: nativeRange.endOffset },
  45040. native: nativeRange
  45041. };
  45042. [range.start, range.end].forEach(function (position) {
  45043. var node = position.node,
  45044. offset = position.offset;
  45045. while (!(node instanceof Text) && node.childNodes.length > 0) {
  45046. if (node.childNodes.length > offset) {
  45047. node = node.childNodes[offset];
  45048. offset = 0;
  45049. } else if (node.childNodes.length === offset) {
  45050. node = node.lastChild;
  45051. offset = node instanceof Text ? node.data.length : node.childNodes.length + 1;
  45052. } else {
  45053. break;
  45054. }
  45055. }
  45056. position.node = node, position.offset = offset;
  45057. });
  45058. return range;
  45059. }
  45060. }, {
  45061. key: 'rangeToNative',
  45062. value: function rangeToNative(range) {
  45063. var _this5 = this;
  45064. var indexes = range.collapsed ? [range.index] : [range.index, range.index + range.length];
  45065. var args = [];
  45066. var scrollLength = this.scroll.length();
  45067. indexes.forEach(function (index, i) {
  45068. index = Math.min(scrollLength - 1, index);
  45069. var node = void 0,
  45070. _scroll$leaf5 = _this5.scroll.leaf(index),
  45071. _scroll$leaf6 = _slicedToArray(_scroll$leaf5, 2),
  45072. leaf = _scroll$leaf6[0],
  45073. offset = _scroll$leaf6[1];
  45074. var _leaf$position5 = leaf.position(offset, i !== 0);
  45075. var _leaf$position6 = _slicedToArray(_leaf$position5, 2);
  45076. node = _leaf$position6[0];
  45077. offset = _leaf$position6[1];
  45078. args.push(node, offset);
  45079. });
  45080. if (args.length < 2) {
  45081. args = args.concat(args);
  45082. }
  45083. return args;
  45084. }
  45085. }, {
  45086. key: 'scrollIntoView',
  45087. value: function scrollIntoView(scrollingContainer) {
  45088. var range = this.lastRange;
  45089. if (range == null) return;
  45090. var bounds = this.getBounds(range.index, range.length);
  45091. if (bounds == null) return;
  45092. var limit = this.scroll.length() - 1;
  45093. var _scroll$line = this.scroll.line(Math.min(range.index, limit)),
  45094. _scroll$line2 = _slicedToArray(_scroll$line, 1),
  45095. first = _scroll$line2[0];
  45096. var last = first;
  45097. if (range.length > 0) {
  45098. var _scroll$line3 = this.scroll.line(Math.min(range.index + range.length, limit));
  45099. var _scroll$line4 = _slicedToArray(_scroll$line3, 1);
  45100. last = _scroll$line4[0];
  45101. }
  45102. if (first == null || last == null) return;
  45103. var scrollBounds = scrollingContainer.getBoundingClientRect();
  45104. if (bounds.top < scrollBounds.top) {
  45105. scrollingContainer.scrollTop -= scrollBounds.top - bounds.top;
  45106. } else if (bounds.bottom > scrollBounds.bottom) {
  45107. scrollingContainer.scrollTop += bounds.bottom - scrollBounds.bottom;
  45108. }
  45109. }
  45110. }, {
  45111. key: 'setNativeRange',
  45112. value: function setNativeRange(startNode, startOffset) {
  45113. var endNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : startNode;
  45114. var endOffset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : startOffset;
  45115. var force = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
  45116. debug.info('setNativeRange', startNode, startOffset, endNode, endOffset);
  45117. if (startNode != null && (this.root.parentNode == null || startNode.parentNode == null || endNode.parentNode == null)) {
  45118. return;
  45119. }
  45120. var selection = document.getSelection();
  45121. if (selection == null) return;
  45122. if (startNode != null) {
  45123. if (!this.hasFocus()) this.root.focus();
  45124. var native = (this.getNativeRange() || {}).native;
  45125. if (native == null || force || startNode !== native.startContainer || startOffset !== native.startOffset || endNode !== native.endContainer || endOffset !== native.endOffset) {
  45126. if (startNode.tagName == "BR") {
  45127. startOffset = [].indexOf.call(startNode.parentNode.childNodes, startNode);
  45128. startNode = startNode.parentNode;
  45129. }
  45130. if (endNode.tagName == "BR") {
  45131. endOffset = [].indexOf.call(endNode.parentNode.childNodes, endNode);
  45132. endNode = endNode.parentNode;
  45133. }
  45134. var range = document.createRange();
  45135. range.setStart(startNode, startOffset);
  45136. range.setEnd(endNode, endOffset);
  45137. selection.removeAllRanges();
  45138. selection.addRange(range);
  45139. }
  45140. } else {
  45141. selection.removeAllRanges();
  45142. this.root.blur();
  45143. document.body.focus(); // root.blur() not enough on IE11+Travis+SauceLabs (but not local VMs)
  45144. }
  45145. }
  45146. }, {
  45147. key: 'setRange',
  45148. value: function setRange(range) {
  45149. var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
  45150. var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;
  45151. if (typeof force === 'string') {
  45152. source = force;
  45153. force = false;
  45154. }
  45155. debug.info('setRange', range);
  45156. if (range != null) {
  45157. var args = this.rangeToNative(range);
  45158. this.setNativeRange.apply(this, _toConsumableArray(args).concat([force]));
  45159. } else {
  45160. this.setNativeRange(null);
  45161. }
  45162. this.update(source);
  45163. }
  45164. }, {
  45165. key: 'update',
  45166. value: function update() {
  45167. var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;
  45168. var oldRange = this.lastRange;
  45169. var _getRange = this.getRange(),
  45170. _getRange2 = _slicedToArray(_getRange, 2),
  45171. lastRange = _getRange2[0],
  45172. nativeRange = _getRange2[1];
  45173. this.lastRange = lastRange;
  45174. if (this.lastRange != null) {
  45175. this.savedRange = this.lastRange;
  45176. }
  45177. if (!(0, _deepEqual2.default)(oldRange, this.lastRange)) {
  45178. var _emitter;
  45179. if (!this.composing && nativeRange != null && nativeRange.native.collapsed && nativeRange.start.node !== this.cursor.textNode) {
  45180. this.cursor.restore();
  45181. }
  45182. var args = [_emitter4.default.events.SELECTION_CHANGE, (0, _clone2.default)(this.lastRange), (0, _clone2.default)(oldRange), source];
  45183. (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));
  45184. if (source !== _emitter4.default.sources.SILENT) {
  45185. var _emitter2;
  45186. (_emitter2 = this.emitter).emit.apply(_emitter2, args);
  45187. }
  45188. }
  45189. }
  45190. }]);
  45191. return Selection;
  45192. }();
  45193. function contains(parent, descendant) {
  45194. try {
  45195. // Firefox inserts inaccessible nodes around video elements
  45196. descendant.parentNode;
  45197. } catch (e) {
  45198. return false;
  45199. }
  45200. // IE11 has bug with Text nodes
  45201. // https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect
  45202. if (descendant instanceof Text) {
  45203. descendant = descendant.parentNode;
  45204. }
  45205. return parent.contains(descendant);
  45206. }
  45207. exports.Range = Range;
  45208. exports.default = Selection;
  45209. /***/ }),
  45210. /* 16 */
  45211. /***/ (function(module, exports, __nested_webpack_require_116908__) {
  45212. "use strict";
  45213. Object.defineProperty(exports, "__esModule", {
  45214. value: true
  45215. });
  45216. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  45217. var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
  45218. var _parchment = __nested_webpack_require_116908__(0);
  45219. var _parchment2 = _interopRequireDefault(_parchment);
  45220. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  45221. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  45222. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  45223. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  45224. var Break = function (_Parchment$Embed) {
  45225. _inherits(Break, _Parchment$Embed);
  45226. function Break() {
  45227. _classCallCheck(this, Break);
  45228. return _possibleConstructorReturn(this, (Break.__proto__ || Object.getPrototypeOf(Break)).apply(this, arguments));
  45229. }
  45230. _createClass(Break, [{
  45231. key: 'insertInto',
  45232. value: function insertInto(parent, ref) {
  45233. if (parent.children.length === 0) {
  45234. _get(Break.prototype.__proto__ || Object.getPrototypeOf(Break.prototype), 'insertInto', this).call(this, parent, ref);
  45235. } else {
  45236. this.remove();
  45237. }
  45238. }
  45239. }, {
  45240. key: 'length',
  45241. value: function length() {
  45242. return 0;
  45243. }
  45244. }, {
  45245. key: 'value',
  45246. value: function value() {
  45247. return '';
  45248. }
  45249. }], [{
  45250. key: 'value',
  45251. value: function value() {
  45252. return undefined;
  45253. }
  45254. }]);
  45255. return Break;
  45256. }(_parchment2.default.Embed);
  45257. Break.blotName = 'break';
  45258. Break.tagName = 'BR';
  45259. exports.default = Break;
  45260. /***/ }),
  45261. /* 17 */
  45262. /***/ (function(module, exports, __nested_webpack_require_120162__) {
  45263. "use strict";
  45264. var __extends = (this && this.__extends) || (function () {
  45265. var extendStatics = Object.setPrototypeOf ||
  45266. ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
  45267. function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
  45268. return function (d, b) {
  45269. extendStatics(d, b);
  45270. function __() { this.constructor = d; }
  45271. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  45272. };
  45273. })();
  45274. Object.defineProperty(exports, "__esModule", { value: true });
  45275. var linked_list_1 = __nested_webpack_require_120162__(44);
  45276. var shadow_1 = __nested_webpack_require_120162__(30);
  45277. var Registry = __nested_webpack_require_120162__(1);
  45278. var ContainerBlot = /** @class */ (function (_super) {
  45279. __extends(ContainerBlot, _super);
  45280. function ContainerBlot(domNode) {
  45281. var _this = _super.call(this, domNode) || this;
  45282. _this.build();
  45283. return _this;
  45284. }
  45285. ContainerBlot.prototype.appendChild = function (other) {
  45286. this.insertBefore(other);
  45287. };
  45288. ContainerBlot.prototype.attach = function () {
  45289. _super.prototype.attach.call(this);
  45290. this.children.forEach(function (child) {
  45291. child.attach();
  45292. });
  45293. };
  45294. ContainerBlot.prototype.build = function () {
  45295. var _this = this;
  45296. this.children = new linked_list_1.default();
  45297. // Need to be reversed for if DOM nodes already in order
  45298. [].slice
  45299. .call(this.domNode.childNodes)
  45300. .reverse()
  45301. .forEach(function (node) {
  45302. try {
  45303. var child = makeBlot(node);
  45304. _this.insertBefore(child, _this.children.head || undefined);
  45305. }
  45306. catch (err) {
  45307. if (err instanceof Registry.ParchmentError)
  45308. return;
  45309. else
  45310. throw err;
  45311. }
  45312. });
  45313. };
  45314. ContainerBlot.prototype.deleteAt = function (index, length) {
  45315. if (index === 0 && length === this.length()) {
  45316. return this.remove();
  45317. }
  45318. this.children.forEachAt(index, length, function (child, offset, length) {
  45319. child.deleteAt(offset, length);
  45320. });
  45321. };
  45322. ContainerBlot.prototype.descendant = function (criteria, index) {
  45323. var _a = this.children.find(index), child = _a[0], offset = _a[1];
  45324. if ((criteria.blotName == null && criteria(child)) ||
  45325. (criteria.blotName != null && child instanceof criteria)) {
  45326. return [child, offset];
  45327. }
  45328. else if (child instanceof ContainerBlot) {
  45329. return child.descendant(criteria, offset);
  45330. }
  45331. else {
  45332. return [null, -1];
  45333. }
  45334. };
  45335. ContainerBlot.prototype.descendants = function (criteria, index, length) {
  45336. if (index === void 0) { index = 0; }
  45337. if (length === void 0) { length = Number.MAX_VALUE; }
  45338. var descendants = [];
  45339. var lengthLeft = length;
  45340. this.children.forEachAt(index, length, function (child, index, length) {
  45341. if ((criteria.blotName == null && criteria(child)) ||
  45342. (criteria.blotName != null && child instanceof criteria)) {
  45343. descendants.push(child);
  45344. }
  45345. if (child instanceof ContainerBlot) {
  45346. descendants = descendants.concat(child.descendants(criteria, index, lengthLeft));
  45347. }
  45348. lengthLeft -= length;
  45349. });
  45350. return descendants;
  45351. };
  45352. ContainerBlot.prototype.detach = function () {
  45353. this.children.forEach(function (child) {
  45354. child.detach();
  45355. });
  45356. _super.prototype.detach.call(this);
  45357. };
  45358. ContainerBlot.prototype.formatAt = function (index, length, name, value) {
  45359. this.children.forEachAt(index, length, function (child, offset, length) {
  45360. child.formatAt(offset, length, name, value);
  45361. });
  45362. };
  45363. ContainerBlot.prototype.insertAt = function (index, value, def) {
  45364. var _a = this.children.find(index), child = _a[0], offset = _a[1];
  45365. if (child) {
  45366. child.insertAt(offset, value, def);
  45367. }
  45368. else {
  45369. var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);
  45370. this.appendChild(blot);
  45371. }
  45372. };
  45373. ContainerBlot.prototype.insertBefore = function (childBlot, refBlot) {
  45374. if (this.statics.allowedChildren != null &&
  45375. !this.statics.allowedChildren.some(function (child) {
  45376. return childBlot instanceof child;
  45377. })) {
  45378. throw new Registry.ParchmentError("Cannot insert " + childBlot.statics.blotName + " into " + this.statics.blotName);
  45379. }
  45380. childBlot.insertInto(this, refBlot);
  45381. };
  45382. ContainerBlot.prototype.length = function () {
  45383. return this.children.reduce(function (memo, child) {
  45384. return memo + child.length();
  45385. }, 0);
  45386. };
  45387. ContainerBlot.prototype.moveChildren = function (targetParent, refNode) {
  45388. this.children.forEach(function (child) {
  45389. targetParent.insertBefore(child, refNode);
  45390. });
  45391. };
  45392. ContainerBlot.prototype.optimize = function (context) {
  45393. _super.prototype.optimize.call(this, context);
  45394. if (this.children.length === 0) {
  45395. if (this.statics.defaultChild != null) {
  45396. var child = Registry.create(this.statics.defaultChild);
  45397. this.appendChild(child);
  45398. child.optimize(context);
  45399. }
  45400. else {
  45401. this.remove();
  45402. }
  45403. }
  45404. };
  45405. ContainerBlot.prototype.path = function (index, inclusive) {
  45406. if (inclusive === void 0) { inclusive = false; }
  45407. var _a = this.children.find(index, inclusive), child = _a[0], offset = _a[1];
  45408. var position = [[this, index]];
  45409. if (child instanceof ContainerBlot) {
  45410. return position.concat(child.path(offset, inclusive));
  45411. }
  45412. else if (child != null) {
  45413. position.push([child, offset]);
  45414. }
  45415. return position;
  45416. };
  45417. ContainerBlot.prototype.removeChild = function (child) {
  45418. this.children.remove(child);
  45419. };
  45420. ContainerBlot.prototype.replace = function (target) {
  45421. if (target instanceof ContainerBlot) {
  45422. target.moveChildren(this);
  45423. }
  45424. _super.prototype.replace.call(this, target);
  45425. };
  45426. ContainerBlot.prototype.split = function (index, force) {
  45427. if (force === void 0) { force = false; }
  45428. if (!force) {
  45429. if (index === 0)
  45430. return this;
  45431. if (index === this.length())
  45432. return this.next;
  45433. }
  45434. var after = this.clone();
  45435. this.parent.insertBefore(after, this.next);
  45436. this.children.forEachAt(index, this.length(), function (child, offset, length) {
  45437. child = child.split(offset, force);
  45438. after.appendChild(child);
  45439. });
  45440. return after;
  45441. };
  45442. ContainerBlot.prototype.unwrap = function () {
  45443. this.moveChildren(this.parent, this.next);
  45444. this.remove();
  45445. };
  45446. ContainerBlot.prototype.update = function (mutations, context) {
  45447. var _this = this;
  45448. var addedNodes = [];
  45449. var removedNodes = [];
  45450. mutations.forEach(function (mutation) {
  45451. if (mutation.target === _this.domNode && mutation.type === 'childList') {
  45452. addedNodes.push.apply(addedNodes, mutation.addedNodes);
  45453. removedNodes.push.apply(removedNodes, mutation.removedNodes);
  45454. }
  45455. });
  45456. removedNodes.forEach(function (node) {
  45457. // Check node has actually been removed
  45458. // One exception is Chrome does not immediately remove IFRAMEs
  45459. // from DOM but MutationRecord is correct in its reported removal
  45460. if (node.parentNode != null &&
  45461. // @ts-ignore
  45462. node.tagName !== 'IFRAME' &&
  45463. document.body.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {
  45464. return;
  45465. }
  45466. var blot = Registry.find(node);
  45467. if (blot == null)
  45468. return;
  45469. if (blot.domNode.parentNode == null || blot.domNode.parentNode === _this.domNode) {
  45470. blot.detach();
  45471. }
  45472. });
  45473. addedNodes
  45474. .filter(function (node) {
  45475. return node.parentNode == _this.domNode;
  45476. })
  45477. .sort(function (a, b) {
  45478. if (a === b)
  45479. return 0;
  45480. if (a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING) {
  45481. return 1;
  45482. }
  45483. return -1;
  45484. })
  45485. .forEach(function (node) {
  45486. var refBlot = null;
  45487. if (node.nextSibling != null) {
  45488. refBlot = Registry.find(node.nextSibling);
  45489. }
  45490. var blot = makeBlot(node);
  45491. if (blot.next != refBlot || blot.next == null) {
  45492. if (blot.parent != null) {
  45493. blot.parent.removeChild(_this);
  45494. }
  45495. _this.insertBefore(blot, refBlot || undefined);
  45496. }
  45497. });
  45498. };
  45499. return ContainerBlot;
  45500. }(shadow_1.default));
  45501. function makeBlot(node) {
  45502. var blot = Registry.find(node);
  45503. if (blot == null) {
  45504. try {
  45505. blot = Registry.create(node);
  45506. }
  45507. catch (e) {
  45508. blot = Registry.create(Registry.Scope.INLINE);
  45509. [].slice.call(node.childNodes).forEach(function (child) {
  45510. // @ts-ignore
  45511. blot.domNode.appendChild(child);
  45512. });
  45513. if (node.parentNode) {
  45514. node.parentNode.replaceChild(blot.domNode, node);
  45515. }
  45516. blot.attach();
  45517. }
  45518. }
  45519. return blot;
  45520. }
  45521. exports.default = ContainerBlot;
  45522. /***/ }),
  45523. /* 18 */
  45524. /***/ (function(module, exports, __nested_webpack_require_130088__) {
  45525. "use strict";
  45526. var __extends = (this && this.__extends) || (function () {
  45527. var extendStatics = Object.setPrototypeOf ||
  45528. ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
  45529. function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
  45530. return function (d, b) {
  45531. extendStatics(d, b);
  45532. function __() { this.constructor = d; }
  45533. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  45534. };
  45535. })();
  45536. Object.defineProperty(exports, "__esModule", { value: true });
  45537. var attributor_1 = __nested_webpack_require_130088__(12);
  45538. var store_1 = __nested_webpack_require_130088__(31);
  45539. var container_1 = __nested_webpack_require_130088__(17);
  45540. var Registry = __nested_webpack_require_130088__(1);
  45541. var FormatBlot = /** @class */ (function (_super) {
  45542. __extends(FormatBlot, _super);
  45543. function FormatBlot(domNode) {
  45544. var _this = _super.call(this, domNode) || this;
  45545. _this.attributes = new store_1.default(_this.domNode);
  45546. return _this;
  45547. }
  45548. FormatBlot.formats = function (domNode) {
  45549. if (typeof this.tagName === 'string') {
  45550. return true;
  45551. }
  45552. else if (Array.isArray(this.tagName)) {
  45553. return domNode.tagName.toLowerCase();
  45554. }
  45555. return undefined;
  45556. };
  45557. FormatBlot.prototype.format = function (name, value) {
  45558. var format = Registry.query(name);
  45559. if (format instanceof attributor_1.default) {
  45560. this.attributes.attribute(format, value);
  45561. }
  45562. else if (value) {
  45563. if (format != null && (name !== this.statics.blotName || this.formats()[name] !== value)) {
  45564. this.replaceWith(name, value);
  45565. }
  45566. }
  45567. };
  45568. FormatBlot.prototype.formats = function () {
  45569. var formats = this.attributes.values();
  45570. var format = this.statics.formats(this.domNode);
  45571. if (format != null) {
  45572. formats[this.statics.blotName] = format;
  45573. }
  45574. return formats;
  45575. };
  45576. FormatBlot.prototype.replaceWith = function (name, value) {
  45577. var replacement = _super.prototype.replaceWith.call(this, name, value);
  45578. this.attributes.copy(replacement);
  45579. return replacement;
  45580. };
  45581. FormatBlot.prototype.update = function (mutations, context) {
  45582. var _this = this;
  45583. _super.prototype.update.call(this, mutations, context);
  45584. if (mutations.some(function (mutation) {
  45585. return mutation.target === _this.domNode && mutation.type === 'attributes';
  45586. })) {
  45587. this.attributes.build();
  45588. }
  45589. };
  45590. FormatBlot.prototype.wrap = function (name, value) {
  45591. var wrapper = _super.prototype.wrap.call(this, name, value);
  45592. if (wrapper instanceof FormatBlot && wrapper.statics.scope === this.statics.scope) {
  45593. this.attributes.move(wrapper);
  45594. }
  45595. return wrapper;
  45596. };
  45597. return FormatBlot;
  45598. }(container_1.default));
  45599. exports.default = FormatBlot;
  45600. /***/ }),
  45601. /* 19 */
  45602. /***/ (function(module, exports, __nested_webpack_require_133111__) {
  45603. "use strict";
  45604. var __extends = (this && this.__extends) || (function () {
  45605. var extendStatics = Object.setPrototypeOf ||
  45606. ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
  45607. function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
  45608. return function (d, b) {
  45609. extendStatics(d, b);
  45610. function __() { this.constructor = d; }
  45611. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  45612. };
  45613. })();
  45614. Object.defineProperty(exports, "__esModule", { value: true });
  45615. var shadow_1 = __nested_webpack_require_133111__(30);
  45616. var Registry = __nested_webpack_require_133111__(1);
  45617. var LeafBlot = /** @class */ (function (_super) {
  45618. __extends(LeafBlot, _super);
  45619. function LeafBlot() {
  45620. return _super !== null && _super.apply(this, arguments) || this;
  45621. }
  45622. LeafBlot.value = function (domNode) {
  45623. return true;
  45624. };
  45625. LeafBlot.prototype.index = function (node, offset) {
  45626. if (this.domNode === node ||
  45627. this.domNode.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {
  45628. return Math.min(offset, 1);
  45629. }
  45630. return -1;
  45631. };
  45632. LeafBlot.prototype.position = function (index, inclusive) {
  45633. var offset = [].indexOf.call(this.parent.domNode.childNodes, this.domNode);
  45634. if (index > 0)
  45635. offset += 1;
  45636. return [this.parent.domNode, offset];
  45637. };
  45638. LeafBlot.prototype.value = function () {
  45639. var _a;
  45640. return _a = {}, _a[this.statics.blotName] = this.statics.value(this.domNode) || true, _a;
  45641. };
  45642. LeafBlot.scope = Registry.Scope.INLINE_BLOT;
  45643. return LeafBlot;
  45644. }(shadow_1.default));
  45645. exports.default = LeafBlot;
  45646. /***/ }),
  45647. /* 20 */
  45648. /***/ (function(module, exports, __nested_webpack_require_134898__) {
  45649. var equal = __nested_webpack_require_134898__(11);
  45650. var extend = __nested_webpack_require_134898__(3);
  45651. var lib = {
  45652. attributes: {
  45653. compose: function (a, b, keepNull) {
  45654. if (typeof a !== 'object') a = {};
  45655. if (typeof b !== 'object') b = {};
  45656. var attributes = extend(true, {}, b);
  45657. if (!keepNull) {
  45658. attributes = Object.keys(attributes).reduce(function (copy, key) {
  45659. if (attributes[key] != null) {
  45660. copy[key] = attributes[key];
  45661. }
  45662. return copy;
  45663. }, {});
  45664. }
  45665. for (var key in a) {
  45666. if (a[key] !== undefined && b[key] === undefined) {
  45667. attributes[key] = a[key];
  45668. }
  45669. }
  45670. return Object.keys(attributes).length > 0 ? attributes : undefined;
  45671. },
  45672. diff: function(a, b) {
  45673. if (typeof a !== 'object') a = {};
  45674. if (typeof b !== 'object') b = {};
  45675. var attributes = Object.keys(a).concat(Object.keys(b)).reduce(function (attributes, key) {
  45676. if (!equal(a[key], b[key])) {
  45677. attributes[key] = b[key] === undefined ? null : b[key];
  45678. }
  45679. return attributes;
  45680. }, {});
  45681. return Object.keys(attributes).length > 0 ? attributes : undefined;
  45682. },
  45683. transform: function (a, b, priority) {
  45684. if (typeof a !== 'object') return b;
  45685. if (typeof b !== 'object') return undefined;
  45686. if (!priority) return b; // b simply overwrites us without priority
  45687. var attributes = Object.keys(b).reduce(function (attributes, key) {
  45688. if (a[key] === undefined) attributes[key] = b[key]; // null is a valid value
  45689. return attributes;
  45690. }, {});
  45691. return Object.keys(attributes).length > 0 ? attributes : undefined;
  45692. }
  45693. },
  45694. iterator: function (ops) {
  45695. return new Iterator(ops);
  45696. },
  45697. length: function (op) {
  45698. if (typeof op['delete'] === 'number') {
  45699. return op['delete'];
  45700. } else if (typeof op.retain === 'number') {
  45701. return op.retain;
  45702. } else {
  45703. return typeof op.insert === 'string' ? op.insert.length : 1;
  45704. }
  45705. }
  45706. };
  45707. function Iterator(ops) {
  45708. this.ops = ops;
  45709. this.index = 0;
  45710. this.offset = 0;
  45711. };
  45712. Iterator.prototype.hasNext = function () {
  45713. return this.peekLength() < Infinity;
  45714. };
  45715. Iterator.prototype.next = function (length) {
  45716. if (!length) length = Infinity;
  45717. var nextOp = this.ops[this.index];
  45718. if (nextOp) {
  45719. var offset = this.offset;
  45720. var opLength = lib.length(nextOp)
  45721. if (length >= opLength - offset) {
  45722. length = opLength - offset;
  45723. this.index += 1;
  45724. this.offset = 0;
  45725. } else {
  45726. this.offset += length;
  45727. }
  45728. if (typeof nextOp['delete'] === 'number') {
  45729. return { 'delete': length };
  45730. } else {
  45731. var retOp = {};
  45732. if (nextOp.attributes) {
  45733. retOp.attributes = nextOp.attributes;
  45734. }
  45735. if (typeof nextOp.retain === 'number') {
  45736. retOp.retain = length;
  45737. } else if (typeof nextOp.insert === 'string') {
  45738. retOp.insert = nextOp.insert.substr(offset, length);
  45739. } else {
  45740. // offset should === 0, length should === 1
  45741. retOp.insert = nextOp.insert;
  45742. }
  45743. return retOp;
  45744. }
  45745. } else {
  45746. return { retain: Infinity };
  45747. }
  45748. };
  45749. Iterator.prototype.peek = function () {
  45750. return this.ops[this.index];
  45751. };
  45752. Iterator.prototype.peekLength = function () {
  45753. if (this.ops[this.index]) {
  45754. // Should never return 0 if our index is being managed correctly
  45755. return lib.length(this.ops[this.index]) - this.offset;
  45756. } else {
  45757. return Infinity;
  45758. }
  45759. };
  45760. Iterator.prototype.peekType = function () {
  45761. if (this.ops[this.index]) {
  45762. if (typeof this.ops[this.index]['delete'] === 'number') {
  45763. return 'delete';
  45764. } else if (typeof this.ops[this.index].retain === 'number') {
  45765. return 'retain';
  45766. } else {
  45767. return 'insert';
  45768. }
  45769. }
  45770. return 'retain';
  45771. };
  45772. Iterator.prototype.rest = function () {
  45773. if (!this.hasNext()) {
  45774. return [];
  45775. } else if (this.offset === 0) {
  45776. return this.ops.slice(this.index);
  45777. } else {
  45778. var offset = this.offset;
  45779. var index = this.index;
  45780. var next = this.next();
  45781. var rest = this.ops.slice(this.index);
  45782. this.offset = offset;
  45783. this.index = index;
  45784. return [next].concat(rest);
  45785. }
  45786. };
  45787. module.exports = lib;
  45788. /***/ }),
  45789. /* 21 */
  45790. /***/ (function(module, exports) {
  45791. var clone = (function() {
  45792. 'use strict';
  45793. function _instanceof(obj, type) {
  45794. return type != null && obj instanceof type;
  45795. }
  45796. var nativeMap;
  45797. try {
  45798. nativeMap = Map;
  45799. } catch(_) {
  45800. // maybe a reference error because no `Map`. Give it a dummy value that no
  45801. // value will ever be an instanceof.
  45802. nativeMap = function() {};
  45803. }
  45804. var nativeSet;
  45805. try {
  45806. nativeSet = Set;
  45807. } catch(_) {
  45808. nativeSet = function() {};
  45809. }
  45810. var nativePromise;
  45811. try {
  45812. nativePromise = Promise;
  45813. } catch(_) {
  45814. nativePromise = function() {};
  45815. }
  45816. /**
  45817. * Clones (copies) an Object using deep copying.
  45818. *
  45819. * This function supports circular references by default, but if you are certain
  45820. * there are no circular references in your object, you can save some CPU time
  45821. * by calling clone(obj, false).
  45822. *
  45823. * Caution: if `circular` is false and `parent` contains circular references,
  45824. * your program may enter an infinite loop and crash.
  45825. *
  45826. * @param `parent` - the object to be cloned
  45827. * @param `circular` - set to true if the object to be cloned may contain
  45828. * circular references. (optional - true by default)
  45829. * @param `depth` - set to a number if the object is only to be cloned to
  45830. * a particular depth. (optional - defaults to Infinity)
  45831. * @param `prototype` - sets the prototype to be used when cloning an object.
  45832. * (optional - defaults to parent prototype).
  45833. * @param `includeNonEnumerable` - set to true if the non-enumerable properties
  45834. * should be cloned as well. Non-enumerable properties on the prototype
  45835. * chain will be ignored. (optional - false by default)
  45836. */
  45837. function clone(parent, circular, depth, prototype, includeNonEnumerable) {
  45838. if (typeof circular === 'object') {
  45839. depth = circular.depth;
  45840. prototype = circular.prototype;
  45841. includeNonEnumerable = circular.includeNonEnumerable;
  45842. circular = circular.circular;
  45843. }
  45844. // maintain two arrays for circular references, where corresponding parents
  45845. // and children have the same index
  45846. var allParents = [];
  45847. var allChildren = [];
  45848. var useBuffer = typeof Buffer != 'undefined';
  45849. if (typeof circular == 'undefined')
  45850. circular = true;
  45851. if (typeof depth == 'undefined')
  45852. depth = Infinity;
  45853. // recurse this function so we don't reset allParents and allChildren
  45854. function _clone(parent, depth) {
  45855. // cloning null always returns null
  45856. if (parent === null)
  45857. return null;
  45858. if (depth === 0)
  45859. return parent;
  45860. var child;
  45861. var proto;
  45862. if (typeof parent != 'object') {
  45863. return parent;
  45864. }
  45865. if (_instanceof(parent, nativeMap)) {
  45866. child = new nativeMap();
  45867. } else if (_instanceof(parent, nativeSet)) {
  45868. child = new nativeSet();
  45869. } else if (_instanceof(parent, nativePromise)) {
  45870. child = new nativePromise(function (resolve, reject) {
  45871. parent.then(function(value) {
  45872. resolve(_clone(value, depth - 1));
  45873. }, function(err) {
  45874. reject(_clone(err, depth - 1));
  45875. });
  45876. });
  45877. } else if (clone.__isArray(parent)) {
  45878. child = [];
  45879. } else if (clone.__isRegExp(parent)) {
  45880. child = new RegExp(parent.source, __getRegExpFlags(parent));
  45881. if (parent.lastIndex) child.lastIndex = parent.lastIndex;
  45882. } else if (clone.__isDate(parent)) {
  45883. child = new Date(parent.getTime());
  45884. } else if (useBuffer && Buffer.isBuffer(parent)) {
  45885. if (Buffer.allocUnsafe) {
  45886. // Node.js >= 4.5.0
  45887. child = Buffer.allocUnsafe(parent.length);
  45888. } else {
  45889. // Older Node.js versions
  45890. child = new Buffer(parent.length);
  45891. }
  45892. parent.copy(child);
  45893. return child;
  45894. } else if (_instanceof(parent, Error)) {
  45895. child = Object.create(parent);
  45896. } else {
  45897. if (typeof prototype == 'undefined') {
  45898. proto = Object.getPrototypeOf(parent);
  45899. child = Object.create(proto);
  45900. }
  45901. else {
  45902. child = Object.create(prototype);
  45903. proto = prototype;
  45904. }
  45905. }
  45906. if (circular) {
  45907. var index = allParents.indexOf(parent);
  45908. if (index != -1) {
  45909. return allChildren[index];
  45910. }
  45911. allParents.push(parent);
  45912. allChildren.push(child);
  45913. }
  45914. if (_instanceof(parent, nativeMap)) {
  45915. parent.forEach(function(value, key) {
  45916. var keyChild = _clone(key, depth - 1);
  45917. var valueChild = _clone(value, depth - 1);
  45918. child.set(keyChild, valueChild);
  45919. });
  45920. }
  45921. if (_instanceof(parent, nativeSet)) {
  45922. parent.forEach(function(value) {
  45923. var entryChild = _clone(value, depth - 1);
  45924. child.add(entryChild);
  45925. });
  45926. }
  45927. for (var i in parent) {
  45928. var attrs;
  45929. if (proto) {
  45930. attrs = Object.getOwnPropertyDescriptor(proto, i);
  45931. }
  45932. if (attrs && attrs.set == null) {
  45933. continue;
  45934. }
  45935. child[i] = _clone(parent[i], depth - 1);
  45936. }
  45937. if (Object.getOwnPropertySymbols) {
  45938. var symbols = Object.getOwnPropertySymbols(parent);
  45939. for (var i = 0; i < symbols.length; i++) {
  45940. // Don't need to worry about cloning a symbol because it is a primitive,
  45941. // like a number or string.
  45942. var symbol = symbols[i];
  45943. var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);
  45944. if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {
  45945. continue;
  45946. }
  45947. child[symbol] = _clone(parent[symbol], depth - 1);
  45948. if (!descriptor.enumerable) {
  45949. Object.defineProperty(child, symbol, {
  45950. enumerable: false
  45951. });
  45952. }
  45953. }
  45954. }
  45955. if (includeNonEnumerable) {
  45956. var allPropertyNames = Object.getOwnPropertyNames(parent);
  45957. for (var i = 0; i < allPropertyNames.length; i++) {
  45958. var propertyName = allPropertyNames[i];
  45959. var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);
  45960. if (descriptor && descriptor.enumerable) {
  45961. continue;
  45962. }
  45963. child[propertyName] = _clone(parent[propertyName], depth - 1);
  45964. Object.defineProperty(child, propertyName, {
  45965. enumerable: false
  45966. });
  45967. }
  45968. }
  45969. return child;
  45970. }
  45971. return _clone(parent, depth);
  45972. }
  45973. /**
  45974. * Simple flat clone using prototype, accepts only objects, usefull for property
  45975. * override on FLAT configuration object (no nested props).
  45976. *
  45977. * USE WITH CAUTION! This may not behave as you wish if you do not know how this
  45978. * works.
  45979. */
  45980. clone.clonePrototype = function clonePrototype(parent) {
  45981. if (parent === null)
  45982. return null;
  45983. var c = function () {};
  45984. c.prototype = parent;
  45985. return new c();
  45986. };
  45987. // private utility functions
  45988. function __objToStr(o) {
  45989. return Object.prototype.toString.call(o);
  45990. }
  45991. clone.__objToStr = __objToStr;
  45992. function __isDate(o) {
  45993. return typeof o === 'object' && __objToStr(o) === '[object Date]';
  45994. }
  45995. clone.__isDate = __isDate;
  45996. function __isArray(o) {
  45997. return typeof o === 'object' && __objToStr(o) === '[object Array]';
  45998. }
  45999. clone.__isArray = __isArray;
  46000. function __isRegExp(o) {
  46001. return typeof o === 'object' && __objToStr(o) === '[object RegExp]';
  46002. }
  46003. clone.__isRegExp = __isRegExp;
  46004. function __getRegExpFlags(re) {
  46005. var flags = '';
  46006. if (re.global) flags += 'g';
  46007. if (re.ignoreCase) flags += 'i';
  46008. if (re.multiline) flags += 'm';
  46009. return flags;
  46010. }
  46011. clone.__getRegExpFlags = __getRegExpFlags;
  46012. return clone;
  46013. })();
  46014. if (typeof module === 'object' && module.exports) {
  46015. module.exports = clone;
  46016. }
  46017. /***/ }),
  46018. /* 22 */
  46019. /***/ (function(module, exports, __nested_webpack_require_146497__) {
  46020. "use strict";
  46021. Object.defineProperty(exports, "__esModule", {
  46022. value: true
  46023. });
  46024. var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
  46025. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  46026. var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
  46027. var _parchment = __nested_webpack_require_146497__(0);
  46028. var _parchment2 = _interopRequireDefault(_parchment);
  46029. var _emitter = __nested_webpack_require_146497__(8);
  46030. var _emitter2 = _interopRequireDefault(_emitter);
  46031. var _block = __nested_webpack_require_146497__(4);
  46032. var _block2 = _interopRequireDefault(_block);
  46033. var _break = __nested_webpack_require_146497__(16);
  46034. var _break2 = _interopRequireDefault(_break);
  46035. var _code = __nested_webpack_require_146497__(13);
  46036. var _code2 = _interopRequireDefault(_code);
  46037. var _container = __nested_webpack_require_146497__(25);
  46038. var _container2 = _interopRequireDefault(_container);
  46039. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  46040. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  46041. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  46042. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  46043. function isLine(blot) {
  46044. return blot instanceof _block2.default || blot instanceof _block.BlockEmbed;
  46045. }
  46046. var Scroll = function (_Parchment$Scroll) {
  46047. _inherits(Scroll, _Parchment$Scroll);
  46048. function Scroll(domNode, config) {
  46049. _classCallCheck(this, Scroll);
  46050. var _this = _possibleConstructorReturn(this, (Scroll.__proto__ || Object.getPrototypeOf(Scroll)).call(this, domNode));
  46051. _this.emitter = config.emitter;
  46052. if (Array.isArray(config.whitelist)) {
  46053. _this.whitelist = config.whitelist.reduce(function (whitelist, format) {
  46054. whitelist[format] = true;
  46055. return whitelist;
  46056. }, {});
  46057. }
  46058. // Some reason fixes composition issues with character languages in Windows/Chrome, Safari
  46059. _this.domNode.addEventListener('DOMNodeInserted', function () {});
  46060. _this.optimize();
  46061. _this.enable();
  46062. return _this;
  46063. }
  46064. _createClass(Scroll, [{
  46065. key: 'batchStart',
  46066. value: function batchStart() {
  46067. this.batch = true;
  46068. }
  46069. }, {
  46070. key: 'batchEnd',
  46071. value: function batchEnd() {
  46072. this.batch = false;
  46073. this.optimize();
  46074. }
  46075. }, {
  46076. key: 'deleteAt',
  46077. value: function deleteAt(index, length) {
  46078. var _line = this.line(index),
  46079. _line2 = _slicedToArray(_line, 2),
  46080. first = _line2[0],
  46081. offset = _line2[1];
  46082. var _line3 = this.line(index + length),
  46083. _line4 = _slicedToArray(_line3, 1),
  46084. last = _line4[0];
  46085. _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'deleteAt', this).call(this, index, length);
  46086. if (last != null && first !== last && offset > 0) {
  46087. if (first instanceof _block.BlockEmbed || last instanceof _block.BlockEmbed) {
  46088. this.optimize();
  46089. return;
  46090. }
  46091. if (first instanceof _code2.default) {
  46092. var newlineIndex = first.newlineIndex(first.length(), true);
  46093. if (newlineIndex > -1) {
  46094. first = first.split(newlineIndex + 1);
  46095. if (first === last) {
  46096. this.optimize();
  46097. return;
  46098. }
  46099. }
  46100. } else if (last instanceof _code2.default) {
  46101. var _newlineIndex = last.newlineIndex(0);
  46102. if (_newlineIndex > -1) {
  46103. last.split(_newlineIndex + 1);
  46104. }
  46105. }
  46106. var ref = last.children.head instanceof _break2.default ? null : last.children.head;
  46107. first.moveChildren(last, ref);
  46108. first.remove();
  46109. }
  46110. this.optimize();
  46111. }
  46112. }, {
  46113. key: 'enable',
  46114. value: function enable() {
  46115. var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
  46116. this.domNode.setAttribute('contenteditable', enabled);
  46117. }
  46118. }, {
  46119. key: 'formatAt',
  46120. value: function formatAt(index, length, format, value) {
  46121. if (this.whitelist != null && !this.whitelist[format]) return;
  46122. _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'formatAt', this).call(this, index, length, format, value);
  46123. this.optimize();
  46124. }
  46125. }, {
  46126. key: 'insertAt',
  46127. value: function insertAt(index, value, def) {
  46128. if (def != null && this.whitelist != null && !this.whitelist[value]) return;
  46129. if (index >= this.length()) {
  46130. if (def == null || _parchment2.default.query(value, _parchment2.default.Scope.BLOCK) == null) {
  46131. var blot = _parchment2.default.create(this.statics.defaultChild);
  46132. this.appendChild(blot);
  46133. if (def == null && value.endsWith('\n')) {
  46134. value = value.slice(0, -1);
  46135. }
  46136. blot.insertAt(0, value, def);
  46137. } else {
  46138. var embed = _parchment2.default.create(value, def);
  46139. this.appendChild(embed);
  46140. }
  46141. } else {
  46142. _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertAt', this).call(this, index, value, def);
  46143. }
  46144. this.optimize();
  46145. }
  46146. }, {
  46147. key: 'insertBefore',
  46148. value: function insertBefore(blot, ref) {
  46149. if (blot.statics.scope === _parchment2.default.Scope.INLINE_BLOT) {
  46150. var wrapper = _parchment2.default.create(this.statics.defaultChild);
  46151. wrapper.appendChild(blot);
  46152. blot = wrapper;
  46153. }
  46154. _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertBefore', this).call(this, blot, ref);
  46155. }
  46156. }, {
  46157. key: 'leaf',
  46158. value: function leaf(index) {
  46159. return this.path(index).pop() || [null, -1];
  46160. }
  46161. }, {
  46162. key: 'line',
  46163. value: function line(index) {
  46164. if (index === this.length()) {
  46165. return this.line(index - 1);
  46166. }
  46167. return this.descendant(isLine, index);
  46168. }
  46169. }, {
  46170. key: 'lines',
  46171. value: function lines() {
  46172. var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
  46173. var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;
  46174. var getLines = function getLines(blot, index, length) {
  46175. var lines = [],
  46176. lengthLeft = length;
  46177. blot.children.forEachAt(index, length, function (child, index, length) {
  46178. if (isLine(child)) {
  46179. lines.push(child);
  46180. } else if (child instanceof _parchment2.default.Container) {
  46181. lines = lines.concat(getLines(child, index, lengthLeft));
  46182. }
  46183. lengthLeft -= length;
  46184. });
  46185. return lines;
  46186. };
  46187. return getLines(this, index, length);
  46188. }
  46189. }, {
  46190. key: 'optimize',
  46191. value: function optimize() {
  46192. var mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
  46193. var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  46194. if (this.batch === true) return;
  46195. _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'optimize', this).call(this, mutations, context);
  46196. if (mutations.length > 0) {
  46197. this.emitter.emit(_emitter2.default.events.SCROLL_OPTIMIZE, mutations, context);
  46198. }
  46199. }
  46200. }, {
  46201. key: 'path',
  46202. value: function path(index) {
  46203. return _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'path', this).call(this, index).slice(1); // Exclude self
  46204. }
  46205. }, {
  46206. key: 'update',
  46207. value: function update(mutations) {
  46208. if (this.batch === true) return;
  46209. var source = _emitter2.default.sources.USER;
  46210. if (typeof mutations === 'string') {
  46211. source = mutations;
  46212. }
  46213. if (!Array.isArray(mutations)) {
  46214. mutations = this.observer.takeRecords();
  46215. }
  46216. if (mutations.length > 0) {
  46217. this.emitter.emit(_emitter2.default.events.SCROLL_BEFORE_UPDATE, source, mutations);
  46218. }
  46219. _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'update', this).call(this, mutations.concat([])); // pass copy
  46220. if (mutations.length > 0) {
  46221. this.emitter.emit(_emitter2.default.events.SCROLL_UPDATE, source, mutations);
  46222. }
  46223. }
  46224. }]);
  46225. return Scroll;
  46226. }(_parchment2.default.Scroll);
  46227. Scroll.blotName = 'scroll';
  46228. Scroll.className = 'ql-editor';
  46229. Scroll.tagName = 'DIV';
  46230. Scroll.defaultChild = 'block';
  46231. Scroll.allowedChildren = [_block2.default, _block.BlockEmbed, _container2.default];
  46232. exports.default = Scroll;
  46233. /***/ }),
  46234. /* 23 */
  46235. /***/ (function(module, exports, __nested_webpack_require_157111__) {
  46236. "use strict";
  46237. Object.defineProperty(exports, "__esModule", {
  46238. value: true
  46239. });
  46240. exports.SHORTKEY = exports.default = undefined;
  46241. var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
  46242. var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
  46243. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  46244. var _clone = __nested_webpack_require_157111__(21);
  46245. var _clone2 = _interopRequireDefault(_clone);
  46246. var _deepEqual = __nested_webpack_require_157111__(11);
  46247. var _deepEqual2 = _interopRequireDefault(_deepEqual);
  46248. var _extend = __nested_webpack_require_157111__(3);
  46249. var _extend2 = _interopRequireDefault(_extend);
  46250. var _quillDelta = __nested_webpack_require_157111__(2);
  46251. var _quillDelta2 = _interopRequireDefault(_quillDelta);
  46252. var _op = __nested_webpack_require_157111__(20);
  46253. var _op2 = _interopRequireDefault(_op);
  46254. var _parchment = __nested_webpack_require_157111__(0);
  46255. var _parchment2 = _interopRequireDefault(_parchment);
  46256. var _quill = __nested_webpack_require_157111__(5);
  46257. var _quill2 = _interopRequireDefault(_quill);
  46258. var _logger = __nested_webpack_require_157111__(10);
  46259. var _logger2 = _interopRequireDefault(_logger);
  46260. var _module = __nested_webpack_require_157111__(9);
  46261. var _module2 = _interopRequireDefault(_module);
  46262. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  46263. function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
  46264. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  46265. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  46266. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  46267. var debug = (0, _logger2.default)('quill:keyboard');
  46268. var SHORTKEY = /Mac/i.test(navigator.platform) ? 'metaKey' : 'ctrlKey';
  46269. var Keyboard = function (_Module) {
  46270. _inherits(Keyboard, _Module);
  46271. _createClass(Keyboard, null, [{
  46272. key: 'match',
  46273. value: function match(evt, binding) {
  46274. binding = normalize(binding);
  46275. if (['altKey', 'ctrlKey', 'metaKey', 'shiftKey'].some(function (key) {
  46276. return !!binding[key] !== evt[key] && binding[key] !== null;
  46277. })) {
  46278. return false;
  46279. }
  46280. return binding.key === (evt.which || evt.keyCode);
  46281. }
  46282. }]);
  46283. function Keyboard(quill, options) {
  46284. _classCallCheck(this, Keyboard);
  46285. var _this = _possibleConstructorReturn(this, (Keyboard.__proto__ || Object.getPrototypeOf(Keyboard)).call(this, quill, options));
  46286. _this.bindings = {};
  46287. Object.keys(_this.options.bindings).forEach(function (name) {
  46288. if (name === 'list autofill' && quill.scroll.whitelist != null && !quill.scroll.whitelist['list']) {
  46289. return;
  46290. }
  46291. if (_this.options.bindings[name]) {
  46292. _this.addBinding(_this.options.bindings[name]);
  46293. }
  46294. });
  46295. _this.addBinding({ key: Keyboard.keys.ENTER, shiftKey: null }, handleEnter);
  46296. _this.addBinding({ key: Keyboard.keys.ENTER, metaKey: null, ctrlKey: null, altKey: null }, function () {});
  46297. if (/Firefox/i.test(navigator.userAgent)) {
  46298. // Need to handle delete and backspace for Firefox in the general case #1171
  46299. _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true }, handleBackspace);
  46300. _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true }, handleDelete);
  46301. } else {
  46302. _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true, prefix: /^.?$/ }, handleBackspace);
  46303. _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true, suffix: /^.?$/ }, handleDelete);
  46304. }
  46305. _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: false }, handleDeleteRange);
  46306. _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: false }, handleDeleteRange);
  46307. _this.addBinding({ key: Keyboard.keys.BACKSPACE, altKey: null, ctrlKey: null, metaKey: null, shiftKey: null }, { collapsed: true, offset: 0 }, handleBackspace);
  46308. _this.listen();
  46309. return _this;
  46310. }
  46311. _createClass(Keyboard, [{
  46312. key: 'addBinding',
  46313. value: function addBinding(key) {
  46314. var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  46315. var handler = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
  46316. var binding = normalize(key);
  46317. if (binding == null || binding.key == null) {
  46318. return debug.warn('Attempted to add invalid keyboard binding', binding);
  46319. }
  46320. if (typeof context === 'function') {
  46321. context = { handler: context };
  46322. }
  46323. if (typeof handler === 'function') {
  46324. handler = { handler: handler };
  46325. }
  46326. binding = (0, _extend2.default)(binding, context, handler);
  46327. this.bindings[binding.key] = this.bindings[binding.key] || [];
  46328. this.bindings[binding.key].push(binding);
  46329. }
  46330. }, {
  46331. key: 'listen',
  46332. value: function listen() {
  46333. var _this2 = this;
  46334. this.quill.root.addEventListener('keydown', function (evt) {
  46335. if (evt.defaultPrevented) return;
  46336. var which = evt.which || evt.keyCode;
  46337. var bindings = (_this2.bindings[which] || []).filter(function (binding) {
  46338. return Keyboard.match(evt, binding);
  46339. });
  46340. if (bindings.length === 0) return;
  46341. var range = _this2.quill.getSelection();
  46342. if (range == null || !_this2.quill.hasFocus()) return;
  46343. var _quill$getLine = _this2.quill.getLine(range.index),
  46344. _quill$getLine2 = _slicedToArray(_quill$getLine, 2),
  46345. line = _quill$getLine2[0],
  46346. offset = _quill$getLine2[1];
  46347. var _quill$getLeaf = _this2.quill.getLeaf(range.index),
  46348. _quill$getLeaf2 = _slicedToArray(_quill$getLeaf, 2),
  46349. leafStart = _quill$getLeaf2[0],
  46350. offsetStart = _quill$getLeaf2[1];
  46351. var _ref = range.length === 0 ? [leafStart, offsetStart] : _this2.quill.getLeaf(range.index + range.length),
  46352. _ref2 = _slicedToArray(_ref, 2),
  46353. leafEnd = _ref2[0],
  46354. offsetEnd = _ref2[1];
  46355. var prefixText = leafStart instanceof _parchment2.default.Text ? leafStart.value().slice(0, offsetStart) : '';
  46356. var suffixText = leafEnd instanceof _parchment2.default.Text ? leafEnd.value().slice(offsetEnd) : '';
  46357. var curContext = {
  46358. collapsed: range.length === 0,
  46359. empty: range.length === 0 && line.length() <= 1,
  46360. format: _this2.quill.getFormat(range),
  46361. offset: offset,
  46362. prefix: prefixText,
  46363. suffix: suffixText
  46364. };
  46365. var prevented = bindings.some(function (binding) {
  46366. if (binding.collapsed != null && binding.collapsed !== curContext.collapsed) return false;
  46367. if (binding.empty != null && binding.empty !== curContext.empty) return false;
  46368. if (binding.offset != null && binding.offset !== curContext.offset) return false;
  46369. if (Array.isArray(binding.format)) {
  46370. // any format is present
  46371. if (binding.format.every(function (name) {
  46372. return curContext.format[name] == null;
  46373. })) {
  46374. return false;
  46375. }
  46376. } else if (_typeof(binding.format) === 'object') {
  46377. // all formats must match
  46378. if (!Object.keys(binding.format).every(function (name) {
  46379. if (binding.format[name] === true) return curContext.format[name] != null;
  46380. if (binding.format[name] === false) return curContext.format[name] == null;
  46381. return (0, _deepEqual2.default)(binding.format[name], curContext.format[name]);
  46382. })) {
  46383. return false;
  46384. }
  46385. }
  46386. if (binding.prefix != null && !binding.prefix.test(curContext.prefix)) return false;
  46387. if (binding.suffix != null && !binding.suffix.test(curContext.suffix)) return false;
  46388. return binding.handler.call(_this2, range, curContext) !== true;
  46389. });
  46390. if (prevented) {
  46391. evt.preventDefault();
  46392. }
  46393. });
  46394. }
  46395. }]);
  46396. return Keyboard;
  46397. }(_module2.default);
  46398. Keyboard.keys = {
  46399. BACKSPACE: 8,
  46400. TAB: 9,
  46401. ENTER: 13,
  46402. ESCAPE: 27,
  46403. LEFT: 37,
  46404. UP: 38,
  46405. RIGHT: 39,
  46406. DOWN: 40,
  46407. DELETE: 46
  46408. };
  46409. Keyboard.DEFAULTS = {
  46410. bindings: {
  46411. 'bold': makeFormatHandler('bold'),
  46412. 'italic': makeFormatHandler('italic'),
  46413. 'underline': makeFormatHandler('underline'),
  46414. 'indent': {
  46415. // highlight tab or tab at beginning of list, indent or blockquote
  46416. key: Keyboard.keys.TAB,
  46417. format: ['blockquote', 'indent', 'list'],
  46418. handler: function handler(range, context) {
  46419. if (context.collapsed && context.offset !== 0) return true;
  46420. this.quill.format('indent', '+1', _quill2.default.sources.USER);
  46421. }
  46422. },
  46423. 'outdent': {
  46424. key: Keyboard.keys.TAB,
  46425. shiftKey: true,
  46426. format: ['blockquote', 'indent', 'list'],
  46427. // highlight tab or tab at beginning of list, indent or blockquote
  46428. handler: function handler(range, context) {
  46429. if (context.collapsed && context.offset !== 0) return true;
  46430. this.quill.format('indent', '-1', _quill2.default.sources.USER);
  46431. }
  46432. },
  46433. 'outdent backspace': {
  46434. key: Keyboard.keys.BACKSPACE,
  46435. collapsed: true,
  46436. shiftKey: null,
  46437. metaKey: null,
  46438. ctrlKey: null,
  46439. altKey: null,
  46440. format: ['indent', 'list'],
  46441. offset: 0,
  46442. handler: function handler(range, context) {
  46443. if (context.format.indent != null) {
  46444. this.quill.format('indent', '-1', _quill2.default.sources.USER);
  46445. } else if (context.format.list != null) {
  46446. this.quill.format('list', false, _quill2.default.sources.USER);
  46447. }
  46448. }
  46449. },
  46450. 'indent code-block': makeCodeBlockHandler(true),
  46451. 'outdent code-block': makeCodeBlockHandler(false),
  46452. 'remove tab': {
  46453. key: Keyboard.keys.TAB,
  46454. shiftKey: true,
  46455. collapsed: true,
  46456. prefix: /\t$/,
  46457. handler: function handler(range) {
  46458. this.quill.deleteText(range.index - 1, 1, _quill2.default.sources.USER);
  46459. }
  46460. },
  46461. 'tab': {
  46462. key: Keyboard.keys.TAB,
  46463. handler: function handler(range) {
  46464. this.quill.history.cutoff();
  46465. var delta = new _quillDelta2.default().retain(range.index).delete(range.length).insert('\t');
  46466. this.quill.updateContents(delta, _quill2.default.sources.USER);
  46467. this.quill.history.cutoff();
  46468. this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);
  46469. }
  46470. },
  46471. 'list empty enter': {
  46472. key: Keyboard.keys.ENTER,
  46473. collapsed: true,
  46474. format: ['list'],
  46475. empty: true,
  46476. handler: function handler(range, context) {
  46477. this.quill.format('list', false, _quill2.default.sources.USER);
  46478. if (context.format.indent) {
  46479. this.quill.format('indent', false, _quill2.default.sources.USER);
  46480. }
  46481. }
  46482. },
  46483. 'checklist enter': {
  46484. key: Keyboard.keys.ENTER,
  46485. collapsed: true,
  46486. format: { list: 'checked' },
  46487. handler: function handler(range) {
  46488. var _quill$getLine3 = this.quill.getLine(range.index),
  46489. _quill$getLine4 = _slicedToArray(_quill$getLine3, 2),
  46490. line = _quill$getLine4[0],
  46491. offset = _quill$getLine4[1];
  46492. var formats = (0, _extend2.default)({}, line.formats(), { list: 'checked' });
  46493. var delta = new _quillDelta2.default().retain(range.index).insert('\n', formats).retain(line.length() - offset - 1).retain(1, { list: 'unchecked' });
  46494. this.quill.updateContents(delta, _quill2.default.sources.USER);
  46495. this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);
  46496. this.quill.scrollIntoView();
  46497. }
  46498. },
  46499. 'header enter': {
  46500. key: Keyboard.keys.ENTER,
  46501. collapsed: true,
  46502. format: ['header'],
  46503. suffix: /^$/,
  46504. handler: function handler(range, context) {
  46505. var _quill$getLine5 = this.quill.getLine(range.index),
  46506. _quill$getLine6 = _slicedToArray(_quill$getLine5, 2),
  46507. line = _quill$getLine6[0],
  46508. offset = _quill$getLine6[1];
  46509. var delta = new _quillDelta2.default().retain(range.index).insert('\n', context.format).retain(line.length() - offset - 1).retain(1, { header: null });
  46510. this.quill.updateContents(delta, _quill2.default.sources.USER);
  46511. this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);
  46512. this.quill.scrollIntoView();
  46513. }
  46514. },
  46515. 'list autofill': {
  46516. key: ' ',
  46517. collapsed: true,
  46518. format: { list: false },
  46519. prefix: /^\s*?(\d+\.|-|\*|\[ ?\]|\[x\])$/,
  46520. handler: function handler(range, context) {
  46521. var length = context.prefix.length;
  46522. var _quill$getLine7 = this.quill.getLine(range.index),
  46523. _quill$getLine8 = _slicedToArray(_quill$getLine7, 2),
  46524. line = _quill$getLine8[0],
  46525. offset = _quill$getLine8[1];
  46526. if (offset > length) return true;
  46527. var value = void 0;
  46528. switch (context.prefix.trim()) {
  46529. case '[]':case '[ ]':
  46530. value = 'unchecked';
  46531. break;
  46532. case '[x]':
  46533. value = 'checked';
  46534. break;
  46535. case '-':case '*':
  46536. value = 'bullet';
  46537. break;
  46538. default:
  46539. value = 'ordered';
  46540. }
  46541. this.quill.insertText(range.index, ' ', _quill2.default.sources.USER);
  46542. this.quill.history.cutoff();
  46543. var delta = new _quillDelta2.default().retain(range.index - offset).delete(length + 1).retain(line.length() - 2 - offset).retain(1, { list: value });
  46544. this.quill.updateContents(delta, _quill2.default.sources.USER);
  46545. this.quill.history.cutoff();
  46546. this.quill.setSelection(range.index - length, _quill2.default.sources.SILENT);
  46547. }
  46548. },
  46549. 'code exit': {
  46550. key: Keyboard.keys.ENTER,
  46551. collapsed: true,
  46552. format: ['code-block'],
  46553. prefix: /\n\n$/,
  46554. suffix: /^\s+$/,
  46555. handler: function handler(range) {
  46556. var _quill$getLine9 = this.quill.getLine(range.index),
  46557. _quill$getLine10 = _slicedToArray(_quill$getLine9, 2),
  46558. line = _quill$getLine10[0],
  46559. offset = _quill$getLine10[1];
  46560. var delta = new _quillDelta2.default().retain(range.index + line.length() - offset - 2).retain(1, { 'code-block': null }).delete(1);
  46561. this.quill.updateContents(delta, _quill2.default.sources.USER);
  46562. }
  46563. },
  46564. 'embed left': makeEmbedArrowHandler(Keyboard.keys.LEFT, false),
  46565. 'embed left shift': makeEmbedArrowHandler(Keyboard.keys.LEFT, true),
  46566. 'embed right': makeEmbedArrowHandler(Keyboard.keys.RIGHT, false),
  46567. 'embed right shift': makeEmbedArrowHandler(Keyboard.keys.RIGHT, true)
  46568. }
  46569. };
  46570. function makeEmbedArrowHandler(key, shiftKey) {
  46571. var _ref3;
  46572. var where = key === Keyboard.keys.LEFT ? 'prefix' : 'suffix';
  46573. return _ref3 = {
  46574. key: key,
  46575. shiftKey: shiftKey,
  46576. altKey: null
  46577. }, _defineProperty(_ref3, where, /^$/), _defineProperty(_ref3, 'handler', function handler(range) {
  46578. var index = range.index;
  46579. if (key === Keyboard.keys.RIGHT) {
  46580. index += range.length + 1;
  46581. }
  46582. var _quill$getLeaf3 = this.quill.getLeaf(index),
  46583. _quill$getLeaf4 = _slicedToArray(_quill$getLeaf3, 1),
  46584. leaf = _quill$getLeaf4[0];
  46585. if (!(leaf instanceof _parchment2.default.Embed)) return true;
  46586. if (key === Keyboard.keys.LEFT) {
  46587. if (shiftKey) {
  46588. this.quill.setSelection(range.index - 1, range.length + 1, _quill2.default.sources.USER);
  46589. } else {
  46590. this.quill.setSelection(range.index - 1, _quill2.default.sources.USER);
  46591. }
  46592. } else {
  46593. if (shiftKey) {
  46594. this.quill.setSelection(range.index, range.length + 1, _quill2.default.sources.USER);
  46595. } else {
  46596. this.quill.setSelection(range.index + range.length + 1, _quill2.default.sources.USER);
  46597. }
  46598. }
  46599. return false;
  46600. }), _ref3;
  46601. }
  46602. function handleBackspace(range, context) {
  46603. if (range.index === 0 || this.quill.getLength() <= 1) return;
  46604. var _quill$getLine11 = this.quill.getLine(range.index),
  46605. _quill$getLine12 = _slicedToArray(_quill$getLine11, 1),
  46606. line = _quill$getLine12[0];
  46607. var formats = {};
  46608. if (context.offset === 0) {
  46609. var _quill$getLine13 = this.quill.getLine(range.index - 1),
  46610. _quill$getLine14 = _slicedToArray(_quill$getLine13, 1),
  46611. prev = _quill$getLine14[0];
  46612. if (prev != null && prev.length() > 1) {
  46613. var curFormats = line.formats();
  46614. var prevFormats = this.quill.getFormat(range.index - 1, 1);
  46615. formats = _op2.default.attributes.diff(curFormats, prevFormats) || {};
  46616. }
  46617. }
  46618. // Check for astral symbols
  46619. var length = /[\uD800-\uDBFF][\uDC00-\uDFFF]$/.test(context.prefix) ? 2 : 1;
  46620. this.quill.deleteText(range.index - length, length, _quill2.default.sources.USER);
  46621. if (Object.keys(formats).length > 0) {
  46622. this.quill.formatLine(range.index - length, length, formats, _quill2.default.sources.USER);
  46623. }
  46624. this.quill.focus();
  46625. }
  46626. function handleDelete(range, context) {
  46627. // Check for astral symbols
  46628. var length = /^[\uD800-\uDBFF][\uDC00-\uDFFF]/.test(context.suffix) ? 2 : 1;
  46629. if (range.index >= this.quill.getLength() - length) return;
  46630. var formats = {},
  46631. nextLength = 0;
  46632. var _quill$getLine15 = this.quill.getLine(range.index),
  46633. _quill$getLine16 = _slicedToArray(_quill$getLine15, 1),
  46634. line = _quill$getLine16[0];
  46635. if (context.offset >= line.length() - 1) {
  46636. var _quill$getLine17 = this.quill.getLine(range.index + 1),
  46637. _quill$getLine18 = _slicedToArray(_quill$getLine17, 1),
  46638. next = _quill$getLine18[0];
  46639. if (next) {
  46640. var curFormats = line.formats();
  46641. var nextFormats = this.quill.getFormat(range.index, 1);
  46642. formats = _op2.default.attributes.diff(curFormats, nextFormats) || {};
  46643. nextLength = next.length();
  46644. }
  46645. }
  46646. this.quill.deleteText(range.index, length, _quill2.default.sources.USER);
  46647. if (Object.keys(formats).length > 0) {
  46648. this.quill.formatLine(range.index + nextLength - 1, length, formats, _quill2.default.sources.USER);
  46649. }
  46650. }
  46651. function handleDeleteRange(range) {
  46652. var lines = this.quill.getLines(range);
  46653. var formats = {};
  46654. if (lines.length > 1) {
  46655. var firstFormats = lines[0].formats();
  46656. var lastFormats = lines[lines.length - 1].formats();
  46657. formats = _op2.default.attributes.diff(lastFormats, firstFormats) || {};
  46658. }
  46659. this.quill.deleteText(range, _quill2.default.sources.USER);
  46660. if (Object.keys(formats).length > 0) {
  46661. this.quill.formatLine(range.index, 1, formats, _quill2.default.sources.USER);
  46662. }
  46663. this.quill.setSelection(range.index, _quill2.default.sources.SILENT);
  46664. this.quill.focus();
  46665. }
  46666. function handleEnter(range, context) {
  46667. var _this3 = this;
  46668. if (range.length > 0) {
  46669. this.quill.scroll.deleteAt(range.index, range.length); // So we do not trigger text-change
  46670. }
  46671. var lineFormats = Object.keys(context.format).reduce(function (lineFormats, format) {
  46672. if (_parchment2.default.query(format, _parchment2.default.Scope.BLOCK) && !Array.isArray(context.format[format])) {
  46673. lineFormats[format] = context.format[format];
  46674. }
  46675. return lineFormats;
  46676. }, {});
  46677. this.quill.insertText(range.index, '\n', lineFormats, _quill2.default.sources.USER);
  46678. // Earlier scroll.deleteAt might have messed up our selection,
  46679. // so insertText's built in selection preservation is not reliable
  46680. this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);
  46681. this.quill.focus();
  46682. Object.keys(context.format).forEach(function (name) {
  46683. if (lineFormats[name] != null) return;
  46684. if (Array.isArray(context.format[name])) return;
  46685. if (name === 'link') return;
  46686. _this3.quill.format(name, context.format[name], _quill2.default.sources.USER);
  46687. });
  46688. }
  46689. function makeCodeBlockHandler(indent) {
  46690. return {
  46691. key: Keyboard.keys.TAB,
  46692. shiftKey: !indent,
  46693. format: { 'code-block': true },
  46694. handler: function handler(range) {
  46695. var CodeBlock = _parchment2.default.query('code-block');
  46696. var index = range.index,
  46697. length = range.length;
  46698. var _quill$scroll$descend = this.quill.scroll.descendant(CodeBlock, index),
  46699. _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),
  46700. block = _quill$scroll$descend2[0],
  46701. offset = _quill$scroll$descend2[1];
  46702. if (block == null) return;
  46703. var scrollIndex = this.quill.getIndex(block);
  46704. var start = block.newlineIndex(offset, true) + 1;
  46705. var end = block.newlineIndex(scrollIndex + offset + length);
  46706. var lines = block.domNode.textContent.slice(start, end).split('\n');
  46707. offset = 0;
  46708. lines.forEach(function (line, i) {
  46709. if (indent) {
  46710. block.insertAt(start + offset, CodeBlock.TAB);
  46711. offset += CodeBlock.TAB.length;
  46712. if (i === 0) {
  46713. index += CodeBlock.TAB.length;
  46714. } else {
  46715. length += CodeBlock.TAB.length;
  46716. }
  46717. } else if (line.startsWith(CodeBlock.TAB)) {
  46718. block.deleteAt(start + offset, CodeBlock.TAB.length);
  46719. offset -= CodeBlock.TAB.length;
  46720. if (i === 0) {
  46721. index -= CodeBlock.TAB.length;
  46722. } else {
  46723. length -= CodeBlock.TAB.length;
  46724. }
  46725. }
  46726. offset += line.length + 1;
  46727. });
  46728. this.quill.update(_quill2.default.sources.USER);
  46729. this.quill.setSelection(index, length, _quill2.default.sources.SILENT);
  46730. }
  46731. };
  46732. }
  46733. function makeFormatHandler(format) {
  46734. return {
  46735. key: format[0].toUpperCase(),
  46736. shortKey: true,
  46737. handler: function handler(range, context) {
  46738. this.quill.format(format, !context.format[format], _quill2.default.sources.USER);
  46739. }
  46740. };
  46741. }
  46742. function normalize(binding) {
  46743. if (typeof binding === 'string' || typeof binding === 'number') {
  46744. return normalize({ key: binding });
  46745. }
  46746. if ((typeof binding === 'undefined' ? 'undefined' : _typeof(binding)) === 'object') {
  46747. binding = (0, _clone2.default)(binding, false);
  46748. }
  46749. if (typeof binding.key === 'string') {
  46750. if (Keyboard.keys[binding.key.toUpperCase()] != null) {
  46751. binding.key = Keyboard.keys[binding.key.toUpperCase()];
  46752. } else if (binding.key.length === 1) {
  46753. binding.key = binding.key.toUpperCase().charCodeAt(0);
  46754. } else {
  46755. return null;
  46756. }
  46757. }
  46758. if (binding.shortKey) {
  46759. binding[SHORTKEY] = binding.shortKey;
  46760. delete binding.shortKey;
  46761. }
  46762. return binding;
  46763. }
  46764. exports.default = Keyboard;
  46765. exports.SHORTKEY = SHORTKEY;
  46766. /***/ }),
  46767. /* 24 */
  46768. /***/ (function(module, exports, __nested_webpack_require_181454__) {
  46769. "use strict";
  46770. Object.defineProperty(exports, "__esModule", {
  46771. value: true
  46772. });
  46773. var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
  46774. var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
  46775. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  46776. var _parchment = __nested_webpack_require_181454__(0);
  46777. var _parchment2 = _interopRequireDefault(_parchment);
  46778. var _text = __nested_webpack_require_181454__(7);
  46779. var _text2 = _interopRequireDefault(_text);
  46780. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  46781. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  46782. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  46783. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  46784. var Cursor = function (_Parchment$Embed) {
  46785. _inherits(Cursor, _Parchment$Embed);
  46786. _createClass(Cursor, null, [{
  46787. key: 'value',
  46788. value: function value() {
  46789. return undefined;
  46790. }
  46791. }]);
  46792. function Cursor(domNode, selection) {
  46793. _classCallCheck(this, Cursor);
  46794. var _this = _possibleConstructorReturn(this, (Cursor.__proto__ || Object.getPrototypeOf(Cursor)).call(this, domNode));
  46795. _this.selection = selection;
  46796. _this.textNode = document.createTextNode(Cursor.CONTENTS);
  46797. _this.domNode.appendChild(_this.textNode);
  46798. _this._length = 0;
  46799. return _this;
  46800. }
  46801. _createClass(Cursor, [{
  46802. key: 'detach',
  46803. value: function detach() {
  46804. // super.detach() will also clear domNode.__blot
  46805. if (this.parent != null) this.parent.removeChild(this);
  46806. }
  46807. }, {
  46808. key: 'format',
  46809. value: function format(name, value) {
  46810. if (this._length !== 0) {
  46811. return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'format', this).call(this, name, value);
  46812. }
  46813. var target = this,
  46814. index = 0;
  46815. while (target != null && target.statics.scope !== _parchment2.default.Scope.BLOCK_BLOT) {
  46816. index += target.offset(target.parent);
  46817. target = target.parent;
  46818. }
  46819. if (target != null) {
  46820. this._length = Cursor.CONTENTS.length;
  46821. target.optimize();
  46822. target.formatAt(index, Cursor.CONTENTS.length, name, value);
  46823. this._length = 0;
  46824. }
  46825. }
  46826. }, {
  46827. key: 'index',
  46828. value: function index(node, offset) {
  46829. if (node === this.textNode) return 0;
  46830. return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'index', this).call(this, node, offset);
  46831. }
  46832. }, {
  46833. key: 'length',
  46834. value: function length() {
  46835. return this._length;
  46836. }
  46837. }, {
  46838. key: 'position',
  46839. value: function position() {
  46840. return [this.textNode, this.textNode.data.length];
  46841. }
  46842. }, {
  46843. key: 'remove',
  46844. value: function remove() {
  46845. _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'remove', this).call(this);
  46846. this.parent = null;
  46847. }
  46848. }, {
  46849. key: 'restore',
  46850. value: function restore() {
  46851. if (this.selection.composing || this.parent == null) return;
  46852. var textNode = this.textNode;
  46853. var range = this.selection.getNativeRange();
  46854. var restoreText = void 0,
  46855. start = void 0,
  46856. end = void 0;
  46857. if (range != null && range.start.node === textNode && range.end.node === textNode) {
  46858. var _ref = [textNode, range.start.offset, range.end.offset];
  46859. restoreText = _ref[0];
  46860. start = _ref[1];
  46861. end = _ref[2];
  46862. }
  46863. // Link format will insert text outside of anchor tag
  46864. while (this.domNode.lastChild != null && this.domNode.lastChild !== this.textNode) {
  46865. this.domNode.parentNode.insertBefore(this.domNode.lastChild, this.domNode);
  46866. }
  46867. if (this.textNode.data !== Cursor.CONTENTS) {
  46868. var text = this.textNode.data.split(Cursor.CONTENTS).join('');
  46869. if (this.next instanceof _text2.default) {
  46870. restoreText = this.next.domNode;
  46871. this.next.insertAt(0, text);
  46872. this.textNode.data = Cursor.CONTENTS;
  46873. } else {
  46874. this.textNode.data = text;
  46875. this.parent.insertBefore(_parchment2.default.create(this.textNode), this);
  46876. this.textNode = document.createTextNode(Cursor.CONTENTS);
  46877. this.domNode.appendChild(this.textNode);
  46878. }
  46879. }
  46880. this.remove();
  46881. if (start != null) {
  46882. var _map = [start, end].map(function (offset) {
  46883. return Math.max(0, Math.min(restoreText.data.length, offset - 1));
  46884. });
  46885. var _map2 = _slicedToArray(_map, 2);
  46886. start = _map2[0];
  46887. end = _map2[1];
  46888. return {
  46889. startNode: restoreText,
  46890. startOffset: start,
  46891. endNode: restoreText,
  46892. endOffset: end
  46893. };
  46894. }
  46895. }
  46896. }, {
  46897. key: 'update',
  46898. value: function update(mutations, context) {
  46899. var _this2 = this;
  46900. if (mutations.some(function (mutation) {
  46901. return mutation.type === 'characterData' && mutation.target === _this2.textNode;
  46902. })) {
  46903. var range = this.restore();
  46904. if (range) context.range = range;
  46905. }
  46906. }
  46907. }, {
  46908. key: 'value',
  46909. value: function value() {
  46910. return '';
  46911. }
  46912. }]);
  46913. return Cursor;
  46914. }(_parchment2.default.Embed);
  46915. Cursor.blotName = 'cursor';
  46916. Cursor.className = 'ql-cursor';
  46917. Cursor.tagName = 'span';
  46918. Cursor.CONTENTS = '\uFEFF'; // Zero width no break space
  46919. exports.default = Cursor;
  46920. /***/ }),
  46921. /* 25 */
  46922. /***/ (function(module, exports, __nested_webpack_require_189100__) {
  46923. "use strict";
  46924. Object.defineProperty(exports, "__esModule", {
  46925. value: true
  46926. });
  46927. var _parchment = __nested_webpack_require_189100__(0);
  46928. var _parchment2 = _interopRequireDefault(_parchment);
  46929. var _block = __nested_webpack_require_189100__(4);
  46930. var _block2 = _interopRequireDefault(_block);
  46931. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  46932. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  46933. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  46934. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  46935. var Container = function (_Parchment$Container) {
  46936. _inherits(Container, _Parchment$Container);
  46937. function Container() {
  46938. _classCallCheck(this, Container);
  46939. return _possibleConstructorReturn(this, (Container.__proto__ || Object.getPrototypeOf(Container)).apply(this, arguments));
  46940. }
  46941. return Container;
  46942. }(_parchment2.default.Container);
  46943. Container.allowedChildren = [_block2.default, _block.BlockEmbed, Container];
  46944. exports.default = Container;
  46945. /***/ }),
  46946. /* 26 */
  46947. /***/ (function(module, exports, __nested_webpack_require_190886__) {
  46948. "use strict";
  46949. Object.defineProperty(exports, "__esModule", {
  46950. value: true
  46951. });
  46952. exports.ColorStyle = exports.ColorClass = exports.ColorAttributor = undefined;
  46953. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  46954. var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
  46955. var _parchment = __nested_webpack_require_190886__(0);
  46956. var _parchment2 = _interopRequireDefault(_parchment);
  46957. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  46958. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  46959. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  46960. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  46961. var ColorAttributor = function (_Parchment$Attributor) {
  46962. _inherits(ColorAttributor, _Parchment$Attributor);
  46963. function ColorAttributor() {
  46964. _classCallCheck(this, ColorAttributor);
  46965. return _possibleConstructorReturn(this, (ColorAttributor.__proto__ || Object.getPrototypeOf(ColorAttributor)).apply(this, arguments));
  46966. }
  46967. _createClass(ColorAttributor, [{
  46968. key: 'value',
  46969. value: function value(domNode) {
  46970. var value = _get(ColorAttributor.prototype.__proto__ || Object.getPrototypeOf(ColorAttributor.prototype), 'value', this).call(this, domNode);
  46971. if (!value.startsWith('rgb(')) return value;
  46972. value = value.replace(/^[^\d]+/, '').replace(/[^\d]+$/, '');
  46973. return '#' + value.split(',').map(function (component) {
  46974. return ('00' + parseInt(component).toString(16)).slice(-2);
  46975. }).join('');
  46976. }
  46977. }]);
  46978. return ColorAttributor;
  46979. }(_parchment2.default.Attributor.Style);
  46980. var ColorClass = new _parchment2.default.Attributor.Class('color', 'ql-color', {
  46981. scope: _parchment2.default.Scope.INLINE
  46982. });
  46983. var ColorStyle = new ColorAttributor('color', 'color', {
  46984. scope: _parchment2.default.Scope.INLINE
  46985. });
  46986. exports.ColorAttributor = ColorAttributor;
  46987. exports.ColorClass = ColorClass;
  46988. exports.ColorStyle = ColorStyle;
  46989. /***/ }),
  46990. /* 27 */
  46991. /***/ (function(module, exports, __nested_webpack_require_194529__) {
  46992. "use strict";
  46993. Object.defineProperty(exports, "__esModule", {
  46994. value: true
  46995. });
  46996. exports.sanitize = exports.default = undefined;
  46997. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  46998. var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
  46999. var _inline = __nested_webpack_require_194529__(6);
  47000. var _inline2 = _interopRequireDefault(_inline);
  47001. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  47002. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  47003. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  47004. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  47005. var Link = function (_Inline) {
  47006. _inherits(Link, _Inline);
  47007. function Link() {
  47008. _classCallCheck(this, Link);
  47009. return _possibleConstructorReturn(this, (Link.__proto__ || Object.getPrototypeOf(Link)).apply(this, arguments));
  47010. }
  47011. _createClass(Link, [{
  47012. key: 'format',
  47013. value: function format(name, value) {
  47014. if (name !== this.statics.blotName || !value) return _get(Link.prototype.__proto__ || Object.getPrototypeOf(Link.prototype), 'format', this).call(this, name, value);
  47015. value = this.constructor.sanitize(value);
  47016. this.domNode.setAttribute('href', value);
  47017. }
  47018. }], [{
  47019. key: 'create',
  47020. value: function create(value) {
  47021. var node = _get(Link.__proto__ || Object.getPrototypeOf(Link), 'create', this).call(this, value);
  47022. value = this.sanitize(value);
  47023. node.setAttribute('href', value);
  47024. node.setAttribute('rel', 'noopener noreferrer');
  47025. node.setAttribute('target', '_blank');
  47026. return node;
  47027. }
  47028. }, {
  47029. key: 'formats',
  47030. value: function formats(domNode) {
  47031. return domNode.getAttribute('href');
  47032. }
  47033. }, {
  47034. key: 'sanitize',
  47035. value: function sanitize(url) {
  47036. return _sanitize(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL;
  47037. }
  47038. }]);
  47039. return Link;
  47040. }(_inline2.default);
  47041. Link.blotName = 'link';
  47042. Link.tagName = 'A';
  47043. Link.SANITIZED_URL = 'about:blank';
  47044. Link.PROTOCOL_WHITELIST = ['http', 'https', 'mailto', 'tel'];
  47045. function _sanitize(url, protocols) {
  47046. var anchor = document.createElement('a');
  47047. anchor.href = url;
  47048. var protocol = anchor.href.slice(0, anchor.href.indexOf(':'));
  47049. return protocols.indexOf(protocol) > -1;
  47050. }
  47051. exports.default = Link;
  47052. exports.sanitize = _sanitize;
  47053. /***/ }),
  47054. /* 28 */
  47055. /***/ (function(module, exports, __nested_webpack_require_198559__) {
  47056. "use strict";
  47057. Object.defineProperty(exports, "__esModule", {
  47058. value: true
  47059. });
  47060. var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
  47061. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  47062. var _keyboard = __nested_webpack_require_198559__(23);
  47063. var _keyboard2 = _interopRequireDefault(_keyboard);
  47064. var _dropdown = __nested_webpack_require_198559__(107);
  47065. var _dropdown2 = _interopRequireDefault(_dropdown);
  47066. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  47067. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  47068. var optionsCounter = 0;
  47069. function toggleAriaAttribute(element, attribute) {
  47070. element.setAttribute(attribute, !(element.getAttribute(attribute) === 'true'));
  47071. }
  47072. var Picker = function () {
  47073. function Picker(select) {
  47074. var _this = this;
  47075. _classCallCheck(this, Picker);
  47076. this.select = select;
  47077. this.container = document.createElement('span');
  47078. this.buildPicker();
  47079. this.select.style.display = 'none';
  47080. this.select.parentNode.insertBefore(this.container, this.select);
  47081. this.label.addEventListener('mousedown', function () {
  47082. _this.togglePicker();
  47083. });
  47084. this.label.addEventListener('keydown', function (event) {
  47085. switch (event.keyCode) {
  47086. // Allows the "Enter" key to open the picker
  47087. case _keyboard2.default.keys.ENTER:
  47088. _this.togglePicker();
  47089. break;
  47090. // Allows the "Escape" key to close the picker
  47091. case _keyboard2.default.keys.ESCAPE:
  47092. _this.escape();
  47093. event.preventDefault();
  47094. break;
  47095. default:
  47096. }
  47097. });
  47098. this.select.addEventListener('change', this.update.bind(this));
  47099. }
  47100. _createClass(Picker, [{
  47101. key: 'togglePicker',
  47102. value: function togglePicker() {
  47103. this.container.classList.toggle('ql-expanded');
  47104. // Toggle aria-expanded and aria-hidden to make the picker accessible
  47105. toggleAriaAttribute(this.label, 'aria-expanded');
  47106. toggleAriaAttribute(this.options, 'aria-hidden');
  47107. }
  47108. }, {
  47109. key: 'buildItem',
  47110. value: function buildItem(option) {
  47111. var _this2 = this;
  47112. var item = document.createElement('span');
  47113. item.tabIndex = '0';
  47114. item.setAttribute('role', 'button');
  47115. item.classList.add('ql-picker-item');
  47116. if (option.hasAttribute('value')) {
  47117. item.setAttribute('data-value', option.getAttribute('value'));
  47118. }
  47119. if (option.textContent) {
  47120. item.setAttribute('data-label', option.textContent);
  47121. }
  47122. item.addEventListener('click', function () {
  47123. _this2.selectItem(item, true);
  47124. });
  47125. item.addEventListener('keydown', function (event) {
  47126. switch (event.keyCode) {
  47127. // Allows the "Enter" key to select an item
  47128. case _keyboard2.default.keys.ENTER:
  47129. _this2.selectItem(item, true);
  47130. event.preventDefault();
  47131. break;
  47132. // Allows the "Escape" key to close the picker
  47133. case _keyboard2.default.keys.ESCAPE:
  47134. _this2.escape();
  47135. event.preventDefault();
  47136. break;
  47137. default:
  47138. }
  47139. });
  47140. return item;
  47141. }
  47142. }, {
  47143. key: 'buildLabel',
  47144. value: function buildLabel() {
  47145. var label = document.createElement('span');
  47146. label.classList.add('ql-picker-label');
  47147. label.innerHTML = _dropdown2.default;
  47148. label.tabIndex = '0';
  47149. label.setAttribute('role', 'button');
  47150. label.setAttribute('aria-expanded', 'false');
  47151. this.container.appendChild(label);
  47152. return label;
  47153. }
  47154. }, {
  47155. key: 'buildOptions',
  47156. value: function buildOptions() {
  47157. var _this3 = this;
  47158. var options = document.createElement('span');
  47159. options.classList.add('ql-picker-options');
  47160. // Don't want screen readers to read this until options are visible
  47161. options.setAttribute('aria-hidden', 'true');
  47162. options.tabIndex = '-1';
  47163. // Need a unique id for aria-controls
  47164. options.id = 'ql-picker-options-' + optionsCounter;
  47165. optionsCounter += 1;
  47166. this.label.setAttribute('aria-controls', options.id);
  47167. this.options = options;
  47168. [].slice.call(this.select.options).forEach(function (option) {
  47169. var item = _this3.buildItem(option);
  47170. options.appendChild(item);
  47171. if (option.selected === true) {
  47172. _this3.selectItem(item);
  47173. }
  47174. });
  47175. this.container.appendChild(options);
  47176. }
  47177. }, {
  47178. key: 'buildPicker',
  47179. value: function buildPicker() {
  47180. var _this4 = this;
  47181. [].slice.call(this.select.attributes).forEach(function (item) {
  47182. _this4.container.setAttribute(item.name, item.value);
  47183. });
  47184. this.container.classList.add('ql-picker');
  47185. this.label = this.buildLabel();
  47186. this.buildOptions();
  47187. }
  47188. }, {
  47189. key: 'escape',
  47190. value: function escape() {
  47191. var _this5 = this;
  47192. // Close menu and return focus to trigger label
  47193. this.close();
  47194. // Need setTimeout for accessibility to ensure that the browser executes
  47195. // focus on the next process thread and after any DOM content changes
  47196. setTimeout(function () {
  47197. return _this5.label.focus();
  47198. }, 1);
  47199. }
  47200. }, {
  47201. key: 'close',
  47202. value: function close() {
  47203. this.container.classList.remove('ql-expanded');
  47204. this.label.setAttribute('aria-expanded', 'false');
  47205. this.options.setAttribute('aria-hidden', 'true');
  47206. }
  47207. }, {
  47208. key: 'selectItem',
  47209. value: function selectItem(item) {
  47210. var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
  47211. var selected = this.container.querySelector('.ql-selected');
  47212. if (item === selected) return;
  47213. if (selected != null) {
  47214. selected.classList.remove('ql-selected');
  47215. }
  47216. if (item == null) return;
  47217. item.classList.add('ql-selected');
  47218. this.select.selectedIndex = [].indexOf.call(item.parentNode.children, item);
  47219. if (item.hasAttribute('data-value')) {
  47220. this.label.setAttribute('data-value', item.getAttribute('data-value'));
  47221. } else {
  47222. this.label.removeAttribute('data-value');
  47223. }
  47224. if (item.hasAttribute('data-label')) {
  47225. this.label.setAttribute('data-label', item.getAttribute('data-label'));
  47226. } else {
  47227. this.label.removeAttribute('data-label');
  47228. }
  47229. if (trigger) {
  47230. if (typeof Event === 'function') {
  47231. this.select.dispatchEvent(new Event('change'));
  47232. } else if ((typeof Event === 'undefined' ? 'undefined' : _typeof(Event)) === 'object') {
  47233. // IE11
  47234. var event = document.createEvent('Event');
  47235. event.initEvent('change', true, true);
  47236. this.select.dispatchEvent(event);
  47237. }
  47238. this.close();
  47239. }
  47240. }
  47241. }, {
  47242. key: 'update',
  47243. value: function update() {
  47244. var option = void 0;
  47245. if (this.select.selectedIndex > -1) {
  47246. var item = this.container.querySelector('.ql-picker-options').children[this.select.selectedIndex];
  47247. option = this.select.options[this.select.selectedIndex];
  47248. this.selectItem(item);
  47249. } else {
  47250. this.selectItem(null);
  47251. }
  47252. var isActive = option != null && option !== this.select.querySelector('option[selected]');
  47253. this.label.classList.toggle('ql-active', isActive);
  47254. }
  47255. }]);
  47256. return Picker;
  47257. }();
  47258. exports.default = Picker;
  47259. /***/ }),
  47260. /* 29 */
  47261. /***/ (function(module, exports, __nested_webpack_require_206753__) {
  47262. "use strict";
  47263. Object.defineProperty(exports, "__esModule", {
  47264. value: true
  47265. });
  47266. var _parchment = __nested_webpack_require_206753__(0);
  47267. var _parchment2 = _interopRequireDefault(_parchment);
  47268. var _quill = __nested_webpack_require_206753__(5);
  47269. var _quill2 = _interopRequireDefault(_quill);
  47270. var _block = __nested_webpack_require_206753__(4);
  47271. var _block2 = _interopRequireDefault(_block);
  47272. var _break = __nested_webpack_require_206753__(16);
  47273. var _break2 = _interopRequireDefault(_break);
  47274. var _container = __nested_webpack_require_206753__(25);
  47275. var _container2 = _interopRequireDefault(_container);
  47276. var _cursor = __nested_webpack_require_206753__(24);
  47277. var _cursor2 = _interopRequireDefault(_cursor);
  47278. var _embed = __nested_webpack_require_206753__(35);
  47279. var _embed2 = _interopRequireDefault(_embed);
  47280. var _inline = __nested_webpack_require_206753__(6);
  47281. var _inline2 = _interopRequireDefault(_inline);
  47282. var _scroll = __nested_webpack_require_206753__(22);
  47283. var _scroll2 = _interopRequireDefault(_scroll);
  47284. var _text = __nested_webpack_require_206753__(7);
  47285. var _text2 = _interopRequireDefault(_text);
  47286. var _clipboard = __nested_webpack_require_206753__(55);
  47287. var _clipboard2 = _interopRequireDefault(_clipboard);
  47288. var _history = __nested_webpack_require_206753__(42);
  47289. var _history2 = _interopRequireDefault(_history);
  47290. var _keyboard = __nested_webpack_require_206753__(23);
  47291. var _keyboard2 = _interopRequireDefault(_keyboard);
  47292. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  47293. _quill2.default.register({
  47294. 'blots/block': _block2.default,
  47295. 'blots/block/embed': _block.BlockEmbed,
  47296. 'blots/break': _break2.default,
  47297. 'blots/container': _container2.default,
  47298. 'blots/cursor': _cursor2.default,
  47299. 'blots/embed': _embed2.default,
  47300. 'blots/inline': _inline2.default,
  47301. 'blots/scroll': _scroll2.default,
  47302. 'blots/text': _text2.default,
  47303. 'modules/clipboard': _clipboard2.default,
  47304. 'modules/history': _history2.default,
  47305. 'modules/keyboard': _keyboard2.default
  47306. });
  47307. _parchment2.default.register(_block2.default, _break2.default, _cursor2.default, _inline2.default, _scroll2.default, _text2.default);
  47308. exports.default = _quill2.default;
  47309. /***/ }),
  47310. /* 30 */
  47311. /***/ (function(module, exports, __nested_webpack_require_208833__) {
  47312. "use strict";
  47313. Object.defineProperty(exports, "__esModule", { value: true });
  47314. var Registry = __nested_webpack_require_208833__(1);
  47315. var ShadowBlot = /** @class */ (function () {
  47316. function ShadowBlot(domNode) {
  47317. this.domNode = domNode;
  47318. // @ts-ignore
  47319. this.domNode[Registry.DATA_KEY] = { blot: this };
  47320. }
  47321. Object.defineProperty(ShadowBlot.prototype, "statics", {
  47322. // Hack for accessing inherited static methods
  47323. get: function () {
  47324. return this.constructor;
  47325. },
  47326. enumerable: true,
  47327. configurable: true
  47328. });
  47329. ShadowBlot.create = function (value) {
  47330. if (this.tagName == null) {
  47331. throw new Registry.ParchmentError('Blot definition missing tagName');
  47332. }
  47333. var node;
  47334. if (Array.isArray(this.tagName)) {
  47335. if (typeof value === 'string') {
  47336. value = value.toUpperCase();
  47337. if (parseInt(value).toString() === value) {
  47338. value = parseInt(value);
  47339. }
  47340. }
  47341. if (typeof value === 'number') {
  47342. node = document.createElement(this.tagName[value - 1]);
  47343. }
  47344. else if (this.tagName.indexOf(value) > -1) {
  47345. node = document.createElement(value);
  47346. }
  47347. else {
  47348. node = document.createElement(this.tagName[0]);
  47349. }
  47350. }
  47351. else {
  47352. node = document.createElement(this.tagName);
  47353. }
  47354. if (this.className) {
  47355. node.classList.add(this.className);
  47356. }
  47357. return node;
  47358. };
  47359. ShadowBlot.prototype.attach = function () {
  47360. if (this.parent != null) {
  47361. this.scroll = this.parent.scroll;
  47362. }
  47363. };
  47364. ShadowBlot.prototype.clone = function () {
  47365. var domNode = this.domNode.cloneNode(false);
  47366. return Registry.create(domNode);
  47367. };
  47368. ShadowBlot.prototype.detach = function () {
  47369. if (this.parent != null)
  47370. this.parent.removeChild(this);
  47371. // @ts-ignore
  47372. delete this.domNode[Registry.DATA_KEY];
  47373. };
  47374. ShadowBlot.prototype.deleteAt = function (index, length) {
  47375. var blot = this.isolate(index, length);
  47376. blot.remove();
  47377. };
  47378. ShadowBlot.prototype.formatAt = function (index, length, name, value) {
  47379. var blot = this.isolate(index, length);
  47380. if (Registry.query(name, Registry.Scope.BLOT) != null && value) {
  47381. blot.wrap(name, value);
  47382. }
  47383. else if (Registry.query(name, Registry.Scope.ATTRIBUTE) != null) {
  47384. var parent = Registry.create(this.statics.scope);
  47385. blot.wrap(parent);
  47386. parent.format(name, value);
  47387. }
  47388. };
  47389. ShadowBlot.prototype.insertAt = function (index, value, def) {
  47390. var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);
  47391. var ref = this.split(index);
  47392. this.parent.insertBefore(blot, ref);
  47393. };
  47394. ShadowBlot.prototype.insertInto = function (parentBlot, refBlot) {
  47395. if (refBlot === void 0) { refBlot = null; }
  47396. if (this.parent != null) {
  47397. this.parent.children.remove(this);
  47398. }
  47399. var refDomNode = null;
  47400. parentBlot.children.insertBefore(this, refBlot);
  47401. if (refBlot != null) {
  47402. refDomNode = refBlot.domNode;
  47403. }
  47404. if (this.domNode.parentNode != parentBlot.domNode ||
  47405. this.domNode.nextSibling != refDomNode) {
  47406. parentBlot.domNode.insertBefore(this.domNode, refDomNode);
  47407. }
  47408. this.parent = parentBlot;
  47409. this.attach();
  47410. };
  47411. ShadowBlot.prototype.isolate = function (index, length) {
  47412. var target = this.split(index);
  47413. target.split(length);
  47414. return target;
  47415. };
  47416. ShadowBlot.prototype.length = function () {
  47417. return 1;
  47418. };
  47419. ShadowBlot.prototype.offset = function (root) {
  47420. if (root === void 0) { root = this.parent; }
  47421. if (this.parent == null || this == root)
  47422. return 0;
  47423. return this.parent.children.offset(this) + this.parent.offset(root);
  47424. };
  47425. ShadowBlot.prototype.optimize = function (context) {
  47426. // TODO clean up once we use WeakMap
  47427. // @ts-ignore
  47428. if (this.domNode[Registry.DATA_KEY] != null) {
  47429. // @ts-ignore
  47430. delete this.domNode[Registry.DATA_KEY].mutations;
  47431. }
  47432. };
  47433. ShadowBlot.prototype.remove = function () {
  47434. if (this.domNode.parentNode != null) {
  47435. this.domNode.parentNode.removeChild(this.domNode);
  47436. }
  47437. this.detach();
  47438. };
  47439. ShadowBlot.prototype.replace = function (target) {
  47440. if (target.parent == null)
  47441. return;
  47442. target.parent.insertBefore(this, target.next);
  47443. target.remove();
  47444. };
  47445. ShadowBlot.prototype.replaceWith = function (name, value) {
  47446. var replacement = typeof name === 'string' ? Registry.create(name, value) : name;
  47447. replacement.replace(this);
  47448. return replacement;
  47449. };
  47450. ShadowBlot.prototype.split = function (index, force) {
  47451. return index === 0 ? this : this.next;
  47452. };
  47453. ShadowBlot.prototype.update = function (mutations, context) {
  47454. // Nothing to do by default
  47455. };
  47456. ShadowBlot.prototype.wrap = function (name, value) {
  47457. var wrapper = typeof name === 'string' ? Registry.create(name, value) : name;
  47458. if (this.parent != null) {
  47459. this.parent.insertBefore(wrapper, this.next);
  47460. }
  47461. wrapper.appendChild(this);
  47462. return wrapper;
  47463. };
  47464. ShadowBlot.blotName = 'abstract';
  47465. return ShadowBlot;
  47466. }());
  47467. exports.default = ShadowBlot;
  47468. /***/ }),
  47469. /* 31 */
  47470. /***/ (function(module, exports, __nested_webpack_require_214530__) {
  47471. "use strict";
  47472. Object.defineProperty(exports, "__esModule", { value: true });
  47473. var attributor_1 = __nested_webpack_require_214530__(12);
  47474. var class_1 = __nested_webpack_require_214530__(32);
  47475. var style_1 = __nested_webpack_require_214530__(33);
  47476. var Registry = __nested_webpack_require_214530__(1);
  47477. var AttributorStore = /** @class */ (function () {
  47478. function AttributorStore(domNode) {
  47479. this.attributes = {};
  47480. this.domNode = domNode;
  47481. this.build();
  47482. }
  47483. AttributorStore.prototype.attribute = function (attribute, value) {
  47484. // verb
  47485. if (value) {
  47486. if (attribute.add(this.domNode, value)) {
  47487. if (attribute.value(this.domNode) != null) {
  47488. this.attributes[attribute.attrName] = attribute;
  47489. }
  47490. else {
  47491. delete this.attributes[attribute.attrName];
  47492. }
  47493. }
  47494. }
  47495. else {
  47496. attribute.remove(this.domNode);
  47497. delete this.attributes[attribute.attrName];
  47498. }
  47499. };
  47500. AttributorStore.prototype.build = function () {
  47501. var _this = this;
  47502. this.attributes = {};
  47503. var attributes = attributor_1.default.keys(this.domNode);
  47504. var classes = class_1.default.keys(this.domNode);
  47505. var styles = style_1.default.keys(this.domNode);
  47506. attributes
  47507. .concat(classes)
  47508. .concat(styles)
  47509. .forEach(function (name) {
  47510. var attr = Registry.query(name, Registry.Scope.ATTRIBUTE);
  47511. if (attr instanceof attributor_1.default) {
  47512. _this.attributes[attr.attrName] = attr;
  47513. }
  47514. });
  47515. };
  47516. AttributorStore.prototype.copy = function (target) {
  47517. var _this = this;
  47518. Object.keys(this.attributes).forEach(function (key) {
  47519. var value = _this.attributes[key].value(_this.domNode);
  47520. target.format(key, value);
  47521. });
  47522. };
  47523. AttributorStore.prototype.move = function (target) {
  47524. var _this = this;
  47525. this.copy(target);
  47526. Object.keys(this.attributes).forEach(function (key) {
  47527. _this.attributes[key].remove(_this.domNode);
  47528. });
  47529. this.attributes = {};
  47530. };
  47531. AttributorStore.prototype.values = function () {
  47532. var _this = this;
  47533. return Object.keys(this.attributes).reduce(function (attributes, name) {
  47534. attributes[name] = _this.attributes[name].value(_this.domNode);
  47535. return attributes;
  47536. }, {});
  47537. };
  47538. return AttributorStore;
  47539. }());
  47540. exports.default = AttributorStore;
  47541. /***/ }),
  47542. /* 32 */
  47543. /***/ (function(module, exports, __nested_webpack_require_217128__) {
  47544. "use strict";
  47545. var __extends = (this && this.__extends) || (function () {
  47546. var extendStatics = Object.setPrototypeOf ||
  47547. ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
  47548. function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
  47549. return function (d, b) {
  47550. extendStatics(d, b);
  47551. function __() { this.constructor = d; }
  47552. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  47553. };
  47554. })();
  47555. Object.defineProperty(exports, "__esModule", { value: true });
  47556. var attributor_1 = __nested_webpack_require_217128__(12);
  47557. function match(node, prefix) {
  47558. var className = node.getAttribute('class') || '';
  47559. return className.split(/\s+/).filter(function (name) {
  47560. return name.indexOf(prefix + "-") === 0;
  47561. });
  47562. }
  47563. var ClassAttributor = /** @class */ (function (_super) {
  47564. __extends(ClassAttributor, _super);
  47565. function ClassAttributor() {
  47566. return _super !== null && _super.apply(this, arguments) || this;
  47567. }
  47568. ClassAttributor.keys = function (node) {
  47569. return (node.getAttribute('class') || '').split(/\s+/).map(function (name) {
  47570. return name
  47571. .split('-')
  47572. .slice(0, -1)
  47573. .join('-');
  47574. });
  47575. };
  47576. ClassAttributor.prototype.add = function (node, value) {
  47577. if (!this.canAdd(node, value))
  47578. return false;
  47579. this.remove(node);
  47580. node.classList.add(this.keyName + "-" + value);
  47581. return true;
  47582. };
  47583. ClassAttributor.prototype.remove = function (node) {
  47584. var matches = match(node, this.keyName);
  47585. matches.forEach(function (name) {
  47586. node.classList.remove(name);
  47587. });
  47588. if (node.classList.length === 0) {
  47589. node.removeAttribute('class');
  47590. }
  47591. };
  47592. ClassAttributor.prototype.value = function (node) {
  47593. var result = match(node, this.keyName)[0] || '';
  47594. var value = result.slice(this.keyName.length + 1); // +1 for hyphen
  47595. return this.canAdd(node, value) ? value : '';
  47596. };
  47597. return ClassAttributor;
  47598. }(attributor_1.default));
  47599. exports.default = ClassAttributor;
  47600. /***/ }),
  47601. /* 33 */
  47602. /***/ (function(module, exports, __nested_webpack_require_219372__) {
  47603. "use strict";
  47604. var __extends = (this && this.__extends) || (function () {
  47605. var extendStatics = Object.setPrototypeOf ||
  47606. ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
  47607. function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
  47608. return function (d, b) {
  47609. extendStatics(d, b);
  47610. function __() { this.constructor = d; }
  47611. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  47612. };
  47613. })();
  47614. Object.defineProperty(exports, "__esModule", { value: true });
  47615. var attributor_1 = __nested_webpack_require_219372__(12);
  47616. function camelize(name) {
  47617. var parts = name.split('-');
  47618. var rest = parts
  47619. .slice(1)
  47620. .map(function (part) {
  47621. return part[0].toUpperCase() + part.slice(1);
  47622. })
  47623. .join('');
  47624. return parts[0] + rest;
  47625. }
  47626. var StyleAttributor = /** @class */ (function (_super) {
  47627. __extends(StyleAttributor, _super);
  47628. function StyleAttributor() {
  47629. return _super !== null && _super.apply(this, arguments) || this;
  47630. }
  47631. StyleAttributor.keys = function (node) {
  47632. return (node.getAttribute('style') || '').split(';').map(function (value) {
  47633. var arr = value.split(':');
  47634. return arr[0].trim();
  47635. });
  47636. };
  47637. StyleAttributor.prototype.add = function (node, value) {
  47638. if (!this.canAdd(node, value))
  47639. return false;
  47640. // @ts-ignore
  47641. node.style[camelize(this.keyName)] = value;
  47642. return true;
  47643. };
  47644. StyleAttributor.prototype.remove = function (node) {
  47645. // @ts-ignore
  47646. node.style[camelize(this.keyName)] = '';
  47647. if (!node.getAttribute('style')) {
  47648. node.removeAttribute('style');
  47649. }
  47650. };
  47651. StyleAttributor.prototype.value = function (node) {
  47652. // @ts-ignore
  47653. var value = node.style[camelize(this.keyName)];
  47654. return this.canAdd(node, value) ? value : '';
  47655. };
  47656. return StyleAttributor;
  47657. }(attributor_1.default));
  47658. exports.default = StyleAttributor;
  47659. /***/ }),
  47660. /* 34 */
  47661. /***/ (function(module, exports, __webpack_require__) {
  47662. "use strict";
  47663. Object.defineProperty(exports, "__esModule", {
  47664. value: true
  47665. });
  47666. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  47667. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  47668. var Theme = function () {
  47669. function Theme(quill, options) {
  47670. _classCallCheck(this, Theme);
  47671. this.quill = quill;
  47672. this.options = options;
  47673. this.modules = {};
  47674. }
  47675. _createClass(Theme, [{
  47676. key: 'init',
  47677. value: function init() {
  47678. var _this = this;
  47679. Object.keys(this.options.modules).forEach(function (name) {
  47680. if (_this.modules[name] == null) {
  47681. _this.addModule(name);
  47682. }
  47683. });
  47684. }
  47685. }, {
  47686. key: 'addModule',
  47687. value: function addModule(name) {
  47688. var moduleClass = this.quill.constructor.import('modules/' + name);
  47689. this.modules[name] = new moduleClass(this.quill, this.options.modules[name] || {});
  47690. return this.modules[name];
  47691. }
  47692. }]);
  47693. return Theme;
  47694. }();
  47695. Theme.DEFAULTS = {
  47696. modules: {}
  47697. };
  47698. Theme.themes = {
  47699. 'default': Theme
  47700. };
  47701. exports.default = Theme;
  47702. /***/ }),
  47703. /* 35 */
  47704. /***/ (function(module, exports, __nested_webpack_require_223199__) {
  47705. "use strict";
  47706. Object.defineProperty(exports, "__esModule", {
  47707. value: true
  47708. });
  47709. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  47710. var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
  47711. var _parchment = __nested_webpack_require_223199__(0);
  47712. var _parchment2 = _interopRequireDefault(_parchment);
  47713. var _text = __nested_webpack_require_223199__(7);
  47714. var _text2 = _interopRequireDefault(_text);
  47715. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  47716. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  47717. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  47718. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  47719. var GUARD_TEXT = '\uFEFF';
  47720. var Embed = function (_Parchment$Embed) {
  47721. _inherits(Embed, _Parchment$Embed);
  47722. function Embed(node) {
  47723. _classCallCheck(this, Embed);
  47724. var _this = _possibleConstructorReturn(this, (Embed.__proto__ || Object.getPrototypeOf(Embed)).call(this, node));
  47725. _this.contentNode = document.createElement('span');
  47726. _this.contentNode.setAttribute('contenteditable', false);
  47727. [].slice.call(_this.domNode.childNodes).forEach(function (childNode) {
  47728. _this.contentNode.appendChild(childNode);
  47729. });
  47730. _this.leftGuard = document.createTextNode(GUARD_TEXT);
  47731. _this.rightGuard = document.createTextNode(GUARD_TEXT);
  47732. _this.domNode.appendChild(_this.leftGuard);
  47733. _this.domNode.appendChild(_this.contentNode);
  47734. _this.domNode.appendChild(_this.rightGuard);
  47735. return _this;
  47736. }
  47737. _createClass(Embed, [{
  47738. key: 'index',
  47739. value: function index(node, offset) {
  47740. if (node === this.leftGuard) return 0;
  47741. if (node === this.rightGuard) return 1;
  47742. return _get(Embed.prototype.__proto__ || Object.getPrototypeOf(Embed.prototype), 'index', this).call(this, node, offset);
  47743. }
  47744. }, {
  47745. key: 'restore',
  47746. value: function restore(node) {
  47747. var range = void 0,
  47748. textNode = void 0;
  47749. var text = node.data.split(GUARD_TEXT).join('');
  47750. if (node === this.leftGuard) {
  47751. if (this.prev instanceof _text2.default) {
  47752. var prevLength = this.prev.length();
  47753. this.prev.insertAt(prevLength, text);
  47754. range = {
  47755. startNode: this.prev.domNode,
  47756. startOffset: prevLength + text.length
  47757. };
  47758. } else {
  47759. textNode = document.createTextNode(text);
  47760. this.parent.insertBefore(_parchment2.default.create(textNode), this);
  47761. range = {
  47762. startNode: textNode,
  47763. startOffset: text.length
  47764. };
  47765. }
  47766. } else if (node === this.rightGuard) {
  47767. if (this.next instanceof _text2.default) {
  47768. this.next.insertAt(0, text);
  47769. range = {
  47770. startNode: this.next.domNode,
  47771. startOffset: text.length
  47772. };
  47773. } else {
  47774. textNode = document.createTextNode(text);
  47775. this.parent.insertBefore(_parchment2.default.create(textNode), this.next);
  47776. range = {
  47777. startNode: textNode,
  47778. startOffset: text.length
  47779. };
  47780. }
  47781. }
  47782. node.data = GUARD_TEXT;
  47783. return range;
  47784. }
  47785. }, {
  47786. key: 'update',
  47787. value: function update(mutations, context) {
  47788. var _this2 = this;
  47789. mutations.forEach(function (mutation) {
  47790. if (mutation.type === 'characterData' && (mutation.target === _this2.leftGuard || mutation.target === _this2.rightGuard)) {
  47791. var range = _this2.restore(mutation.target);
  47792. if (range) context.range = range;
  47793. }
  47794. });
  47795. }
  47796. }]);
  47797. return Embed;
  47798. }(_parchment2.default.Embed);
  47799. exports.default = Embed;
  47800. /***/ }),
  47801. /* 36 */
  47802. /***/ (function(module, exports, __nested_webpack_require_228527__) {
  47803. "use strict";
  47804. Object.defineProperty(exports, "__esModule", {
  47805. value: true
  47806. });
  47807. exports.AlignStyle = exports.AlignClass = exports.AlignAttribute = undefined;
  47808. var _parchment = __nested_webpack_require_228527__(0);
  47809. var _parchment2 = _interopRequireDefault(_parchment);
  47810. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  47811. var config = {
  47812. scope: _parchment2.default.Scope.BLOCK,
  47813. whitelist: ['right', 'center', 'justify']
  47814. };
  47815. var AlignAttribute = new _parchment2.default.Attributor.Attribute('align', 'align', config);
  47816. var AlignClass = new _parchment2.default.Attributor.Class('align', 'ql-align', config);
  47817. var AlignStyle = new _parchment2.default.Attributor.Style('align', 'text-align', config);
  47818. exports.AlignAttribute = AlignAttribute;
  47819. exports.AlignClass = AlignClass;
  47820. exports.AlignStyle = AlignStyle;
  47821. /***/ }),
  47822. /* 37 */
  47823. /***/ (function(module, exports, __nested_webpack_require_229442__) {
  47824. "use strict";
  47825. Object.defineProperty(exports, "__esModule", {
  47826. value: true
  47827. });
  47828. exports.BackgroundStyle = exports.BackgroundClass = undefined;
  47829. var _parchment = __nested_webpack_require_229442__(0);
  47830. var _parchment2 = _interopRequireDefault(_parchment);
  47831. var _color = __nested_webpack_require_229442__(26);
  47832. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  47833. var BackgroundClass = new _parchment2.default.Attributor.Class('background', 'ql-bg', {
  47834. scope: _parchment2.default.Scope.INLINE
  47835. });
  47836. var BackgroundStyle = new _color.ColorAttributor('background', 'background-color', {
  47837. scope: _parchment2.default.Scope.INLINE
  47838. });
  47839. exports.BackgroundClass = BackgroundClass;
  47840. exports.BackgroundStyle = BackgroundStyle;
  47841. /***/ }),
  47842. /* 38 */
  47843. /***/ (function(module, exports, __nested_webpack_require_230249__) {
  47844. "use strict";
  47845. Object.defineProperty(exports, "__esModule", {
  47846. value: true
  47847. });
  47848. exports.DirectionStyle = exports.DirectionClass = exports.DirectionAttribute = undefined;
  47849. var _parchment = __nested_webpack_require_230249__(0);
  47850. var _parchment2 = _interopRequireDefault(_parchment);
  47851. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  47852. var config = {
  47853. scope: _parchment2.default.Scope.BLOCK,
  47854. whitelist: ['rtl']
  47855. };
  47856. var DirectionAttribute = new _parchment2.default.Attributor.Attribute('direction', 'dir', config);
  47857. var DirectionClass = new _parchment2.default.Attributor.Class('direction', 'ql-direction', config);
  47858. var DirectionStyle = new _parchment2.default.Attributor.Style('direction', 'direction', config);
  47859. exports.DirectionAttribute = DirectionAttribute;
  47860. exports.DirectionClass = DirectionClass;
  47861. exports.DirectionStyle = DirectionStyle;
  47862. /***/ }),
  47863. /* 39 */
  47864. /***/ (function(module, exports, __nested_webpack_require_231202__) {
  47865. "use strict";
  47866. Object.defineProperty(exports, "__esModule", {
  47867. value: true
  47868. });
  47869. exports.FontClass = exports.FontStyle = undefined;
  47870. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  47871. var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
  47872. var _parchment = __nested_webpack_require_231202__(0);
  47873. var _parchment2 = _interopRequireDefault(_parchment);
  47874. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  47875. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  47876. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  47877. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  47878. var config = {
  47879. scope: _parchment2.default.Scope.INLINE,
  47880. whitelist: ['serif', 'monospace']
  47881. };
  47882. var FontClass = new _parchment2.default.Attributor.Class('font', 'ql-font', config);
  47883. var FontStyleAttributor = function (_Parchment$Attributor) {
  47884. _inherits(FontStyleAttributor, _Parchment$Attributor);
  47885. function FontStyleAttributor() {
  47886. _classCallCheck(this, FontStyleAttributor);
  47887. return _possibleConstructorReturn(this, (FontStyleAttributor.__proto__ || Object.getPrototypeOf(FontStyleAttributor)).apply(this, arguments));
  47888. }
  47889. _createClass(FontStyleAttributor, [{
  47890. key: 'value',
  47891. value: function value(node) {
  47892. return _get(FontStyleAttributor.prototype.__proto__ || Object.getPrototypeOf(FontStyleAttributor.prototype), 'value', this).call(this, node).replace(/["']/g, '');
  47893. }
  47894. }]);
  47895. return FontStyleAttributor;
  47896. }(_parchment2.default.Attributor.Style);
  47897. var FontStyle = new FontStyleAttributor('font', 'font-family', config);
  47898. exports.FontStyle = FontStyle;
  47899. exports.FontClass = FontClass;
  47900. /***/ }),
  47901. /* 40 */
  47902. /***/ (function(module, exports, __nested_webpack_require_234578__) {
  47903. "use strict";
  47904. Object.defineProperty(exports, "__esModule", {
  47905. value: true
  47906. });
  47907. exports.SizeStyle = exports.SizeClass = undefined;
  47908. var _parchment = __nested_webpack_require_234578__(0);
  47909. var _parchment2 = _interopRequireDefault(_parchment);
  47910. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  47911. var SizeClass = new _parchment2.default.Attributor.Class('size', 'ql-size', {
  47912. scope: _parchment2.default.Scope.INLINE,
  47913. whitelist: ['small', 'large', 'huge']
  47914. });
  47915. var SizeStyle = new _parchment2.default.Attributor.Style('size', 'font-size', {
  47916. scope: _parchment2.default.Scope.INLINE,
  47917. whitelist: ['10px', '18px', '32px']
  47918. });
  47919. exports.SizeClass = SizeClass;
  47920. exports.SizeStyle = SizeStyle;
  47921. /***/ }),
  47922. /* 41 */
  47923. /***/ (function(module, exports, __nested_webpack_require_235375__) {
  47924. "use strict";
  47925. module.exports = {
  47926. 'align': {
  47927. '': __nested_webpack_require_235375__(76),
  47928. 'center': __nested_webpack_require_235375__(77),
  47929. 'right': __nested_webpack_require_235375__(78),
  47930. 'justify': __nested_webpack_require_235375__(79)
  47931. },
  47932. 'background': __nested_webpack_require_235375__(80),
  47933. 'blockquote': __nested_webpack_require_235375__(81),
  47934. 'bold': __nested_webpack_require_235375__(82),
  47935. 'clean': __nested_webpack_require_235375__(83),
  47936. 'code': __nested_webpack_require_235375__(58),
  47937. 'code-block': __nested_webpack_require_235375__(58),
  47938. 'color': __nested_webpack_require_235375__(84),
  47939. 'direction': {
  47940. '': __nested_webpack_require_235375__(85),
  47941. 'rtl': __nested_webpack_require_235375__(86)
  47942. },
  47943. 'float': {
  47944. 'center': __nested_webpack_require_235375__(87),
  47945. 'full': __nested_webpack_require_235375__(88),
  47946. 'left': __nested_webpack_require_235375__(89),
  47947. 'right': __nested_webpack_require_235375__(90)
  47948. },
  47949. 'formula': __nested_webpack_require_235375__(91),
  47950. 'header': {
  47951. '1': __nested_webpack_require_235375__(92),
  47952. '2': __nested_webpack_require_235375__(93)
  47953. },
  47954. 'italic': __nested_webpack_require_235375__(94),
  47955. 'image': __nested_webpack_require_235375__(95),
  47956. 'indent': {
  47957. '+1': __nested_webpack_require_235375__(96),
  47958. '-1': __nested_webpack_require_235375__(97)
  47959. },
  47960. 'link': __nested_webpack_require_235375__(98),
  47961. 'list': {
  47962. 'ordered': __nested_webpack_require_235375__(99),
  47963. 'bullet': __nested_webpack_require_235375__(100),
  47964. 'check': __nested_webpack_require_235375__(101)
  47965. },
  47966. 'script': {
  47967. 'sub': __nested_webpack_require_235375__(102),
  47968. 'super': __nested_webpack_require_235375__(103)
  47969. },
  47970. 'strike': __nested_webpack_require_235375__(104),
  47971. 'underline': __nested_webpack_require_235375__(105),
  47972. 'video': __nested_webpack_require_235375__(106)
  47973. };
  47974. /***/ }),
  47975. /* 42 */
  47976. /***/ (function(module, exports, __nested_webpack_require_236844__) {
  47977. "use strict";
  47978. Object.defineProperty(exports, "__esModule", {
  47979. value: true
  47980. });
  47981. exports.getLastChangeIndex = exports.default = undefined;
  47982. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  47983. var _parchment = __nested_webpack_require_236844__(0);
  47984. var _parchment2 = _interopRequireDefault(_parchment);
  47985. var _quill = __nested_webpack_require_236844__(5);
  47986. var _quill2 = _interopRequireDefault(_quill);
  47987. var _module = __nested_webpack_require_236844__(9);
  47988. var _module2 = _interopRequireDefault(_module);
  47989. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  47990. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  47991. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  47992. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  47993. var History = function (_Module) {
  47994. _inherits(History, _Module);
  47995. function History(quill, options) {
  47996. _classCallCheck(this, History);
  47997. var _this = _possibleConstructorReturn(this, (History.__proto__ || Object.getPrototypeOf(History)).call(this, quill, options));
  47998. _this.lastRecorded = 0;
  47999. _this.ignoreChange = false;
  48000. _this.clear();
  48001. _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (eventName, delta, oldDelta, source) {
  48002. if (eventName !== _quill2.default.events.TEXT_CHANGE || _this.ignoreChange) return;
  48003. if (!_this.options.userOnly || source === _quill2.default.sources.USER) {
  48004. _this.record(delta, oldDelta);
  48005. } else {
  48006. _this.transform(delta);
  48007. }
  48008. });
  48009. _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true }, _this.undo.bind(_this));
  48010. _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true, shiftKey: true }, _this.redo.bind(_this));
  48011. if (/Win/i.test(navigator.platform)) {
  48012. _this.quill.keyboard.addBinding({ key: 'Y', shortKey: true }, _this.redo.bind(_this));
  48013. }
  48014. return _this;
  48015. }
  48016. _createClass(History, [{
  48017. key: 'change',
  48018. value: function change(source, dest) {
  48019. if (this.stack[source].length === 0) return;
  48020. var delta = this.stack[source].pop();
  48021. this.stack[dest].push(delta);
  48022. this.lastRecorded = 0;
  48023. this.ignoreChange = true;
  48024. this.quill.updateContents(delta[source], _quill2.default.sources.USER);
  48025. this.ignoreChange = false;
  48026. var index = getLastChangeIndex(delta[source]);
  48027. this.quill.setSelection(index);
  48028. }
  48029. }, {
  48030. key: 'clear',
  48031. value: function clear() {
  48032. this.stack = { undo: [], redo: [] };
  48033. }
  48034. }, {
  48035. key: 'cutoff',
  48036. value: function cutoff() {
  48037. this.lastRecorded = 0;
  48038. }
  48039. }, {
  48040. key: 'record',
  48041. value: function record(changeDelta, oldDelta) {
  48042. if (changeDelta.ops.length === 0) return;
  48043. this.stack.redo = [];
  48044. var undoDelta = this.quill.getContents().diff(oldDelta);
  48045. var timestamp = Date.now();
  48046. if (this.lastRecorded + this.options.delay > timestamp && this.stack.undo.length > 0) {
  48047. var delta = this.stack.undo.pop();
  48048. undoDelta = undoDelta.compose(delta.undo);
  48049. changeDelta = delta.redo.compose(changeDelta);
  48050. } else {
  48051. this.lastRecorded = timestamp;
  48052. }
  48053. this.stack.undo.push({
  48054. redo: changeDelta,
  48055. undo: undoDelta
  48056. });
  48057. if (this.stack.undo.length > this.options.maxStack) {
  48058. this.stack.undo.shift();
  48059. }
  48060. }
  48061. }, {
  48062. key: 'redo',
  48063. value: function redo() {
  48064. this.change('redo', 'undo');
  48065. }
  48066. }, {
  48067. key: 'transform',
  48068. value: function transform(delta) {
  48069. this.stack.undo.forEach(function (change) {
  48070. change.undo = delta.transform(change.undo, true);
  48071. change.redo = delta.transform(change.redo, true);
  48072. });
  48073. this.stack.redo.forEach(function (change) {
  48074. change.undo = delta.transform(change.undo, true);
  48075. change.redo = delta.transform(change.redo, true);
  48076. });
  48077. }
  48078. }, {
  48079. key: 'undo',
  48080. value: function undo() {
  48081. this.change('undo', 'redo');
  48082. }
  48083. }]);
  48084. return History;
  48085. }(_module2.default);
  48086. History.DEFAULTS = {
  48087. delay: 1000,
  48088. maxStack: 100,
  48089. userOnly: false
  48090. };
  48091. function endsWithNewlineChange(delta) {
  48092. var lastOp = delta.ops[delta.ops.length - 1];
  48093. if (lastOp == null) return false;
  48094. if (lastOp.insert != null) {
  48095. return typeof lastOp.insert === 'string' && lastOp.insert.endsWith('\n');
  48096. }
  48097. if (lastOp.attributes != null) {
  48098. return Object.keys(lastOp.attributes).some(function (attr) {
  48099. return _parchment2.default.query(attr, _parchment2.default.Scope.BLOCK) != null;
  48100. });
  48101. }
  48102. return false;
  48103. }
  48104. function getLastChangeIndex(delta) {
  48105. var deleteLength = delta.reduce(function (length, op) {
  48106. length += op.delete || 0;
  48107. return length;
  48108. }, 0);
  48109. var changeIndex = delta.length() - deleteLength;
  48110. if (endsWithNewlineChange(delta)) {
  48111. changeIndex -= 1;
  48112. }
  48113. return changeIndex;
  48114. }
  48115. exports.default = History;
  48116. exports.getLastChangeIndex = getLastChangeIndex;
  48117. /***/ }),
  48118. /* 43 */
  48119. /***/ (function(module, exports, __nested_webpack_require_242979__) {
  48120. "use strict";
  48121. Object.defineProperty(exports, "__esModule", {
  48122. value: true
  48123. });
  48124. exports.default = exports.BaseTooltip = undefined;
  48125. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  48126. var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
  48127. var _extend = __nested_webpack_require_242979__(3);
  48128. var _extend2 = _interopRequireDefault(_extend);
  48129. var _quillDelta = __nested_webpack_require_242979__(2);
  48130. var _quillDelta2 = _interopRequireDefault(_quillDelta);
  48131. var _emitter = __nested_webpack_require_242979__(8);
  48132. var _emitter2 = _interopRequireDefault(_emitter);
  48133. var _keyboard = __nested_webpack_require_242979__(23);
  48134. var _keyboard2 = _interopRequireDefault(_keyboard);
  48135. var _theme = __nested_webpack_require_242979__(34);
  48136. var _theme2 = _interopRequireDefault(_theme);
  48137. var _colorPicker = __nested_webpack_require_242979__(59);
  48138. var _colorPicker2 = _interopRequireDefault(_colorPicker);
  48139. var _iconPicker = __nested_webpack_require_242979__(60);
  48140. var _iconPicker2 = _interopRequireDefault(_iconPicker);
  48141. var _picker = __nested_webpack_require_242979__(28);
  48142. var _picker2 = _interopRequireDefault(_picker);
  48143. var _tooltip = __nested_webpack_require_242979__(61);
  48144. var _tooltip2 = _interopRequireDefault(_tooltip);
  48145. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  48146. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  48147. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  48148. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  48149. var ALIGNS = [false, 'center', 'right', 'justify'];
  48150. var COLORS = ["#000000", "#e60000", "#ff9900", "#ffff00", "#008a00", "#0066cc", "#9933ff", "#ffffff", "#facccc", "#ffebcc", "#ffffcc", "#cce8cc", "#cce0f5", "#ebd6ff", "#bbbbbb", "#f06666", "#ffc266", "#ffff66", "#66b966", "#66a3e0", "#c285ff", "#888888", "#a10000", "#b26b00", "#b2b200", "#006100", "#0047b2", "#6b24b2", "#444444", "#5c0000", "#663d00", "#666600", "#003700", "#002966", "#3d1466"];
  48151. var FONTS = [false, 'serif', 'monospace'];
  48152. var HEADERS = ['1', '2', '3', false];
  48153. var SIZES = ['small', false, 'large', 'huge'];
  48154. var BaseTheme = function (_Theme) {
  48155. _inherits(BaseTheme, _Theme);
  48156. function BaseTheme(quill, options) {
  48157. _classCallCheck(this, BaseTheme);
  48158. var _this = _possibleConstructorReturn(this, (BaseTheme.__proto__ || Object.getPrototypeOf(BaseTheme)).call(this, quill, options));
  48159. var listener = function listener(e) {
  48160. if (!document.body.contains(quill.root)) {
  48161. return document.body.removeEventListener('click', listener);
  48162. }
  48163. if (_this.tooltip != null && !_this.tooltip.root.contains(e.target) && document.activeElement !== _this.tooltip.textbox && !_this.quill.hasFocus()) {
  48164. _this.tooltip.hide();
  48165. }
  48166. if (_this.pickers != null) {
  48167. _this.pickers.forEach(function (picker) {
  48168. if (!picker.container.contains(e.target)) {
  48169. picker.close();
  48170. }
  48171. });
  48172. }
  48173. };
  48174. quill.emitter.listenDOM('click', document.body, listener);
  48175. return _this;
  48176. }
  48177. _createClass(BaseTheme, [{
  48178. key: 'addModule',
  48179. value: function addModule(name) {
  48180. var module = _get(BaseTheme.prototype.__proto__ || Object.getPrototypeOf(BaseTheme.prototype), 'addModule', this).call(this, name);
  48181. if (name === 'toolbar') {
  48182. this.extendToolbar(module);
  48183. }
  48184. return module;
  48185. }
  48186. }, {
  48187. key: 'buildButtons',
  48188. value: function buildButtons(buttons, icons) {
  48189. buttons.forEach(function (button) {
  48190. var className = button.getAttribute('class') || '';
  48191. className.split(/\s+/).forEach(function (name) {
  48192. if (!name.startsWith('ql-')) return;
  48193. name = name.slice('ql-'.length);
  48194. if (icons[name] == null) return;
  48195. if (name === 'direction') {
  48196. button.innerHTML = icons[name][''] + icons[name]['rtl'];
  48197. } else if (typeof icons[name] === 'string') {
  48198. button.innerHTML = icons[name];
  48199. } else {
  48200. var value = button.value || '';
  48201. if (value != null && icons[name][value]) {
  48202. button.innerHTML = icons[name][value];
  48203. }
  48204. }
  48205. });
  48206. });
  48207. }
  48208. }, {
  48209. key: 'buildPickers',
  48210. value: function buildPickers(selects, icons) {
  48211. var _this2 = this;
  48212. this.pickers = selects.map(function (select) {
  48213. if (select.classList.contains('ql-align')) {
  48214. if (select.querySelector('option') == null) {
  48215. fillSelect(select, ALIGNS);
  48216. }
  48217. return new _iconPicker2.default(select, icons.align);
  48218. } else if (select.classList.contains('ql-background') || select.classList.contains('ql-color')) {
  48219. var format = select.classList.contains('ql-background') ? 'background' : 'color';
  48220. if (select.querySelector('option') == null) {
  48221. fillSelect(select, COLORS, format === 'background' ? '#ffffff' : '#000000');
  48222. }
  48223. return new _colorPicker2.default(select, icons[format]);
  48224. } else {
  48225. if (select.querySelector('option') == null) {
  48226. if (select.classList.contains('ql-font')) {
  48227. fillSelect(select, FONTS);
  48228. } else if (select.classList.contains('ql-header')) {
  48229. fillSelect(select, HEADERS);
  48230. } else if (select.classList.contains('ql-size')) {
  48231. fillSelect(select, SIZES);
  48232. }
  48233. }
  48234. return new _picker2.default(select);
  48235. }
  48236. });
  48237. var update = function update() {
  48238. _this2.pickers.forEach(function (picker) {
  48239. picker.update();
  48240. });
  48241. };
  48242. this.quill.on(_emitter2.default.events.EDITOR_CHANGE, update);
  48243. }
  48244. }]);
  48245. return BaseTheme;
  48246. }(_theme2.default);
  48247. BaseTheme.DEFAULTS = (0, _extend2.default)(true, {}, _theme2.default.DEFAULTS, {
  48248. modules: {
  48249. toolbar: {
  48250. handlers: {
  48251. formula: function formula() {
  48252. this.quill.theme.tooltip.edit('formula');
  48253. },
  48254. image: function image() {
  48255. var _this3 = this;
  48256. var fileInput = this.container.querySelector('input.ql-image[type=file]');
  48257. if (fileInput == null) {
  48258. fileInput = document.createElement('input');
  48259. fileInput.setAttribute('type', 'file');
  48260. fileInput.setAttribute('accept', 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon');
  48261. fileInput.classList.add('ql-image');
  48262. fileInput.addEventListener('change', function () {
  48263. if (fileInput.files != null && fileInput.files[0] != null) {
  48264. var reader = new FileReader();
  48265. reader.onload = function (e) {
  48266. var range = _this3.quill.getSelection(true);
  48267. _this3.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert({ image: e.target.result }), _emitter2.default.sources.USER);
  48268. _this3.quill.setSelection(range.index + 1, _emitter2.default.sources.SILENT);
  48269. fileInput.value = "";
  48270. };
  48271. reader.readAsDataURL(fileInput.files[0]);
  48272. }
  48273. });
  48274. this.container.appendChild(fileInput);
  48275. }
  48276. fileInput.click();
  48277. },
  48278. video: function video() {
  48279. this.quill.theme.tooltip.edit('video');
  48280. }
  48281. }
  48282. }
  48283. }
  48284. });
  48285. var BaseTooltip = function (_Tooltip) {
  48286. _inherits(BaseTooltip, _Tooltip);
  48287. function BaseTooltip(quill, boundsContainer) {
  48288. _classCallCheck(this, BaseTooltip);
  48289. var _this4 = _possibleConstructorReturn(this, (BaseTooltip.__proto__ || Object.getPrototypeOf(BaseTooltip)).call(this, quill, boundsContainer));
  48290. _this4.textbox = _this4.root.querySelector('input[type="text"]');
  48291. _this4.listen();
  48292. return _this4;
  48293. }
  48294. _createClass(BaseTooltip, [{
  48295. key: 'listen',
  48296. value: function listen() {
  48297. var _this5 = this;
  48298. this.textbox.addEventListener('keydown', function (event) {
  48299. if (_keyboard2.default.match(event, 'enter')) {
  48300. _this5.save();
  48301. event.preventDefault();
  48302. } else if (_keyboard2.default.match(event, 'escape')) {
  48303. _this5.cancel();
  48304. event.preventDefault();
  48305. }
  48306. });
  48307. }
  48308. }, {
  48309. key: 'cancel',
  48310. value: function cancel() {
  48311. this.hide();
  48312. }
  48313. }, {
  48314. key: 'edit',
  48315. value: function edit() {
  48316. var mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'link';
  48317. var preview = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
  48318. this.root.classList.remove('ql-hidden');
  48319. this.root.classList.add('ql-editing');
  48320. if (preview != null) {
  48321. this.textbox.value = preview;
  48322. } else if (mode !== this.root.getAttribute('data-mode')) {
  48323. this.textbox.value = '';
  48324. }
  48325. this.position(this.quill.getBounds(this.quill.selection.savedRange));
  48326. this.textbox.select();
  48327. this.textbox.setAttribute('placeholder', this.textbox.getAttribute('data-' + mode) || '');
  48328. this.root.setAttribute('data-mode', mode);
  48329. }
  48330. }, {
  48331. key: 'restoreFocus',
  48332. value: function restoreFocus() {
  48333. var scrollTop = this.quill.scrollingContainer.scrollTop;
  48334. this.quill.focus();
  48335. this.quill.scrollingContainer.scrollTop = scrollTop;
  48336. }
  48337. }, {
  48338. key: 'save',
  48339. value: function save() {
  48340. var value = this.textbox.value;
  48341. switch (this.root.getAttribute('data-mode')) {
  48342. case 'link':
  48343. {
  48344. var scrollTop = this.quill.root.scrollTop;
  48345. if (this.linkRange) {
  48346. this.quill.formatText(this.linkRange, 'link', value, _emitter2.default.sources.USER);
  48347. delete this.linkRange;
  48348. } else {
  48349. this.restoreFocus();
  48350. this.quill.format('link', value, _emitter2.default.sources.USER);
  48351. }
  48352. this.quill.root.scrollTop = scrollTop;
  48353. break;
  48354. }
  48355. case 'video':
  48356. {
  48357. value = extractVideoUrl(value);
  48358. } // eslint-disable-next-line no-fallthrough
  48359. case 'formula':
  48360. {
  48361. if (!value) break;
  48362. var range = this.quill.getSelection(true);
  48363. if (range != null) {
  48364. var index = range.index + range.length;
  48365. this.quill.insertEmbed(index, this.root.getAttribute('data-mode'), value, _emitter2.default.sources.USER);
  48366. if (this.root.getAttribute('data-mode') === 'formula') {
  48367. this.quill.insertText(index + 1, ' ', _emitter2.default.sources.USER);
  48368. }
  48369. this.quill.setSelection(index + 2, _emitter2.default.sources.USER);
  48370. }
  48371. break;
  48372. }
  48373. default:
  48374. }
  48375. this.textbox.value = '';
  48376. this.hide();
  48377. }
  48378. }]);
  48379. return BaseTooltip;
  48380. }(_tooltip2.default);
  48381. function extractVideoUrl(url) {
  48382. var match = url.match(/^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtube\.com\/watch.*v=([a-zA-Z0-9_-]+)/) || url.match(/^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtu\.be\/([a-zA-Z0-9_-]+)/);
  48383. if (match) {
  48384. return (match[1] || 'https') + '://www.youtube.com/embed/' + match[2] + '?showinfo=0';
  48385. }
  48386. if (match = url.match(/^(?:(https?):\/\/)?(?:www\.)?vimeo\.com\/(\d+)/)) {
  48387. // eslint-disable-line no-cond-assign
  48388. return (match[1] || 'https') + '://player.vimeo.com/video/' + match[2] + '/';
  48389. }
  48390. return url;
  48391. }
  48392. function fillSelect(select, values) {
  48393. var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
  48394. values.forEach(function (value) {
  48395. var option = document.createElement('option');
  48396. if (value === defaultValue) {
  48397. option.setAttribute('selected', 'selected');
  48398. } else {
  48399. option.setAttribute('value', value);
  48400. }
  48401. select.appendChild(option);
  48402. });
  48403. }
  48404. exports.BaseTooltip = BaseTooltip;
  48405. exports.default = BaseTheme;
  48406. /***/ }),
  48407. /* 44 */
  48408. /***/ (function(module, exports, __webpack_require__) {
  48409. "use strict";
  48410. Object.defineProperty(exports, "__esModule", { value: true });
  48411. var LinkedList = /** @class */ (function () {
  48412. function LinkedList() {
  48413. this.head = this.tail = null;
  48414. this.length = 0;
  48415. }
  48416. LinkedList.prototype.append = function () {
  48417. var nodes = [];
  48418. for (var _i = 0; _i < arguments.length; _i++) {
  48419. nodes[_i] = arguments[_i];
  48420. }
  48421. this.insertBefore(nodes[0], null);
  48422. if (nodes.length > 1) {
  48423. this.append.apply(this, nodes.slice(1));
  48424. }
  48425. };
  48426. LinkedList.prototype.contains = function (node) {
  48427. var cur, next = this.iterator();
  48428. while ((cur = next())) {
  48429. if (cur === node)
  48430. return true;
  48431. }
  48432. return false;
  48433. };
  48434. LinkedList.prototype.insertBefore = function (node, refNode) {
  48435. if (!node)
  48436. return;
  48437. node.next = refNode;
  48438. if (refNode != null) {
  48439. node.prev = refNode.prev;
  48440. if (refNode.prev != null) {
  48441. refNode.prev.next = node;
  48442. }
  48443. refNode.prev = node;
  48444. if (refNode === this.head) {
  48445. this.head = node;
  48446. }
  48447. }
  48448. else if (this.tail != null) {
  48449. this.tail.next = node;
  48450. node.prev = this.tail;
  48451. this.tail = node;
  48452. }
  48453. else {
  48454. node.prev = null;
  48455. this.head = this.tail = node;
  48456. }
  48457. this.length += 1;
  48458. };
  48459. LinkedList.prototype.offset = function (target) {
  48460. var index = 0, cur = this.head;
  48461. while (cur != null) {
  48462. if (cur === target)
  48463. return index;
  48464. index += cur.length();
  48465. cur = cur.next;
  48466. }
  48467. return -1;
  48468. };
  48469. LinkedList.prototype.remove = function (node) {
  48470. if (!this.contains(node))
  48471. return;
  48472. if (node.prev != null)
  48473. node.prev.next = node.next;
  48474. if (node.next != null)
  48475. node.next.prev = node.prev;
  48476. if (node === this.head)
  48477. this.head = node.next;
  48478. if (node === this.tail)
  48479. this.tail = node.prev;
  48480. this.length -= 1;
  48481. };
  48482. LinkedList.prototype.iterator = function (curNode) {
  48483. if (curNode === void 0) { curNode = this.head; }
  48484. // TODO use yield when we can
  48485. return function () {
  48486. var ret = curNode;
  48487. if (curNode != null)
  48488. curNode = curNode.next;
  48489. return ret;
  48490. };
  48491. };
  48492. LinkedList.prototype.find = function (index, inclusive) {
  48493. if (inclusive === void 0) { inclusive = false; }
  48494. var cur, next = this.iterator();
  48495. while ((cur = next())) {
  48496. var length = cur.length();
  48497. if (index < length ||
  48498. (inclusive && index === length && (cur.next == null || cur.next.length() !== 0))) {
  48499. return [cur, index];
  48500. }
  48501. index -= length;
  48502. }
  48503. return [null, 0];
  48504. };
  48505. LinkedList.prototype.forEach = function (callback) {
  48506. var cur, next = this.iterator();
  48507. while ((cur = next())) {
  48508. callback(cur);
  48509. }
  48510. };
  48511. LinkedList.prototype.forEachAt = function (index, length, callback) {
  48512. if (length <= 0)
  48513. return;
  48514. var _a = this.find(index), startNode = _a[0], offset = _a[1];
  48515. var cur, curIndex = index - offset, next = this.iterator(startNode);
  48516. while ((cur = next()) && curIndex < index + length) {
  48517. var curLength = cur.length();
  48518. if (index > curIndex) {
  48519. callback(cur, index - curIndex, Math.min(length, curIndex + curLength - index));
  48520. }
  48521. else {
  48522. callback(cur, 0, Math.min(curLength, index + length - curIndex));
  48523. }
  48524. curIndex += curLength;
  48525. }
  48526. };
  48527. LinkedList.prototype.map = function (callback) {
  48528. return this.reduce(function (memo, cur) {
  48529. memo.push(callback(cur));
  48530. return memo;
  48531. }, []);
  48532. };
  48533. LinkedList.prototype.reduce = function (callback, memo) {
  48534. var cur, next = this.iterator();
  48535. while ((cur = next())) {
  48536. memo = callback(memo, cur);
  48537. }
  48538. return memo;
  48539. };
  48540. return LinkedList;
  48541. }());
  48542. exports.default = LinkedList;
  48543. /***/ }),
  48544. /* 45 */
  48545. /***/ (function(module, exports, __nested_webpack_require_260796__) {
  48546. "use strict";
  48547. var __extends = (this && this.__extends) || (function () {
  48548. var extendStatics = Object.setPrototypeOf ||
  48549. ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
  48550. function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
  48551. return function (d, b) {
  48552. extendStatics(d, b);
  48553. function __() { this.constructor = d; }
  48554. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  48555. };
  48556. })();
  48557. Object.defineProperty(exports, "__esModule", { value: true });
  48558. var container_1 = __nested_webpack_require_260796__(17);
  48559. var Registry = __nested_webpack_require_260796__(1);
  48560. var OBSERVER_CONFIG = {
  48561. attributes: true,
  48562. characterData: true,
  48563. characterDataOldValue: true,
  48564. childList: true,
  48565. subtree: true,
  48566. };
  48567. var MAX_OPTIMIZE_ITERATIONS = 100;
  48568. var ScrollBlot = /** @class */ (function (_super) {
  48569. __extends(ScrollBlot, _super);
  48570. function ScrollBlot(node) {
  48571. var _this = _super.call(this, node) || this;
  48572. _this.scroll = _this;
  48573. _this.observer = new MutationObserver(function (mutations) {
  48574. _this.update(mutations);
  48575. });
  48576. _this.observer.observe(_this.domNode, OBSERVER_CONFIG);
  48577. _this.attach();
  48578. return _this;
  48579. }
  48580. ScrollBlot.prototype.detach = function () {
  48581. _super.prototype.detach.call(this);
  48582. this.observer.disconnect();
  48583. };
  48584. ScrollBlot.prototype.deleteAt = function (index, length) {
  48585. this.update();
  48586. if (index === 0 && length === this.length()) {
  48587. this.children.forEach(function (child) {
  48588. child.remove();
  48589. });
  48590. }
  48591. else {
  48592. _super.prototype.deleteAt.call(this, index, length);
  48593. }
  48594. };
  48595. ScrollBlot.prototype.formatAt = function (index, length, name, value) {
  48596. this.update();
  48597. _super.prototype.formatAt.call(this, index, length, name, value);
  48598. };
  48599. ScrollBlot.prototype.insertAt = function (index, value, def) {
  48600. this.update();
  48601. _super.prototype.insertAt.call(this, index, value, def);
  48602. };
  48603. ScrollBlot.prototype.optimize = function (mutations, context) {
  48604. var _this = this;
  48605. if (mutations === void 0) { mutations = []; }
  48606. if (context === void 0) { context = {}; }
  48607. _super.prototype.optimize.call(this, context);
  48608. // We must modify mutations directly, cannot make copy and then modify
  48609. var records = [].slice.call(this.observer.takeRecords());
  48610. // Array.push currently seems to be implemented by a non-tail recursive function
  48611. // so we cannot just mutations.push.apply(mutations, this.observer.takeRecords());
  48612. while (records.length > 0)
  48613. mutations.push(records.pop());
  48614. // TODO use WeakMap
  48615. var mark = function (blot, markParent) {
  48616. if (markParent === void 0) { markParent = true; }
  48617. if (blot == null || blot === _this)
  48618. return;
  48619. if (blot.domNode.parentNode == null)
  48620. return;
  48621. // @ts-ignore
  48622. if (blot.domNode[Registry.DATA_KEY].mutations == null) {
  48623. // @ts-ignore
  48624. blot.domNode[Registry.DATA_KEY].mutations = [];
  48625. }
  48626. if (markParent)
  48627. mark(blot.parent);
  48628. };
  48629. var optimize = function (blot) {
  48630. // Post-order traversal
  48631. if (
  48632. // @ts-ignore
  48633. blot.domNode[Registry.DATA_KEY] == null ||
  48634. // @ts-ignore
  48635. blot.domNode[Registry.DATA_KEY].mutations == null) {
  48636. return;
  48637. }
  48638. if (blot instanceof container_1.default) {
  48639. blot.children.forEach(optimize);
  48640. }
  48641. blot.optimize(context);
  48642. };
  48643. var remaining = mutations;
  48644. for (var i = 0; remaining.length > 0; i += 1) {
  48645. if (i >= MAX_OPTIMIZE_ITERATIONS) {
  48646. throw new Error('[Parchment] Maximum optimize iterations reached');
  48647. }
  48648. remaining.forEach(function (mutation) {
  48649. var blot = Registry.find(mutation.target, true);
  48650. if (blot == null)
  48651. return;
  48652. if (blot.domNode === mutation.target) {
  48653. if (mutation.type === 'childList') {
  48654. mark(Registry.find(mutation.previousSibling, false));
  48655. [].forEach.call(mutation.addedNodes, function (node) {
  48656. var child = Registry.find(node, false);
  48657. mark(child, false);
  48658. if (child instanceof container_1.default) {
  48659. child.children.forEach(function (grandChild) {
  48660. mark(grandChild, false);
  48661. });
  48662. }
  48663. });
  48664. }
  48665. else if (mutation.type === 'attributes') {
  48666. mark(blot.prev);
  48667. }
  48668. }
  48669. mark(blot);
  48670. });
  48671. this.children.forEach(optimize);
  48672. remaining = [].slice.call(this.observer.takeRecords());
  48673. records = remaining.slice();
  48674. while (records.length > 0)
  48675. mutations.push(records.pop());
  48676. }
  48677. };
  48678. ScrollBlot.prototype.update = function (mutations, context) {
  48679. var _this = this;
  48680. if (context === void 0) { context = {}; }
  48681. mutations = mutations || this.observer.takeRecords();
  48682. // TODO use WeakMap
  48683. mutations
  48684. .map(function (mutation) {
  48685. var blot = Registry.find(mutation.target, true);
  48686. if (blot == null)
  48687. return null;
  48688. // @ts-ignore
  48689. if (blot.domNode[Registry.DATA_KEY].mutations == null) {
  48690. // @ts-ignore
  48691. blot.domNode[Registry.DATA_KEY].mutations = [mutation];
  48692. return blot;
  48693. }
  48694. else {
  48695. // @ts-ignore
  48696. blot.domNode[Registry.DATA_KEY].mutations.push(mutation);
  48697. return null;
  48698. }
  48699. })
  48700. .forEach(function (blot) {
  48701. if (blot == null ||
  48702. blot === _this ||
  48703. //@ts-ignore
  48704. blot.domNode[Registry.DATA_KEY] == null)
  48705. return;
  48706. // @ts-ignore
  48707. blot.update(blot.domNode[Registry.DATA_KEY].mutations || [], context);
  48708. });
  48709. // @ts-ignore
  48710. if (this.domNode[Registry.DATA_KEY].mutations != null) {
  48711. // @ts-ignore
  48712. _super.prototype.update.call(this, this.domNode[Registry.DATA_KEY].mutations, context);
  48713. }
  48714. this.optimize(mutations, context);
  48715. };
  48716. ScrollBlot.blotName = 'scroll';
  48717. ScrollBlot.defaultChild = 'block';
  48718. ScrollBlot.scope = Registry.Scope.BLOCK_BLOT;
  48719. ScrollBlot.tagName = 'DIV';
  48720. return ScrollBlot;
  48721. }(container_1.default));
  48722. exports.default = ScrollBlot;
  48723. /***/ }),
  48724. /* 46 */
  48725. /***/ (function(module, exports, __nested_webpack_require_267910__) {
  48726. "use strict";
  48727. var __extends = (this && this.__extends) || (function () {
  48728. var extendStatics = Object.setPrototypeOf ||
  48729. ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
  48730. function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
  48731. return function (d, b) {
  48732. extendStatics(d, b);
  48733. function __() { this.constructor = d; }
  48734. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  48735. };
  48736. })();
  48737. Object.defineProperty(exports, "__esModule", { value: true });
  48738. var format_1 = __nested_webpack_require_267910__(18);
  48739. var Registry = __nested_webpack_require_267910__(1);
  48740. // Shallow object comparison
  48741. function isEqual(obj1, obj2) {
  48742. if (Object.keys(obj1).length !== Object.keys(obj2).length)
  48743. return false;
  48744. // @ts-ignore
  48745. for (var prop in obj1) {
  48746. // @ts-ignore
  48747. if (obj1[prop] !== obj2[prop])
  48748. return false;
  48749. }
  48750. return true;
  48751. }
  48752. var InlineBlot = /** @class */ (function (_super) {
  48753. __extends(InlineBlot, _super);
  48754. function InlineBlot() {
  48755. return _super !== null && _super.apply(this, arguments) || this;
  48756. }
  48757. InlineBlot.formats = function (domNode) {
  48758. if (domNode.tagName === InlineBlot.tagName)
  48759. return undefined;
  48760. return _super.formats.call(this, domNode);
  48761. };
  48762. InlineBlot.prototype.format = function (name, value) {
  48763. var _this = this;
  48764. if (name === this.statics.blotName && !value) {
  48765. this.children.forEach(function (child) {
  48766. if (!(child instanceof format_1.default)) {
  48767. child = child.wrap(InlineBlot.blotName, true);
  48768. }
  48769. _this.attributes.copy(child);
  48770. });
  48771. this.unwrap();
  48772. }
  48773. else {
  48774. _super.prototype.format.call(this, name, value);
  48775. }
  48776. };
  48777. InlineBlot.prototype.formatAt = function (index, length, name, value) {
  48778. if (this.formats()[name] != null || Registry.query(name, Registry.Scope.ATTRIBUTE)) {
  48779. var blot = this.isolate(index, length);
  48780. blot.format(name, value);
  48781. }
  48782. else {
  48783. _super.prototype.formatAt.call(this, index, length, name, value);
  48784. }
  48785. };
  48786. InlineBlot.prototype.optimize = function (context) {
  48787. _super.prototype.optimize.call(this, context);
  48788. var formats = this.formats();
  48789. if (Object.keys(formats).length === 0) {
  48790. return this.unwrap(); // unformatted span
  48791. }
  48792. var next = this.next;
  48793. if (next instanceof InlineBlot && next.prev === this && isEqual(formats, next.formats())) {
  48794. next.moveChildren(this);
  48795. next.remove();
  48796. }
  48797. };
  48798. InlineBlot.blotName = 'inline';
  48799. InlineBlot.scope = Registry.Scope.INLINE_BLOT;
  48800. InlineBlot.tagName = 'SPAN';
  48801. return InlineBlot;
  48802. }(format_1.default));
  48803. exports.default = InlineBlot;
  48804. /***/ }),
  48805. /* 47 */
  48806. /***/ (function(module, exports, __nested_webpack_require_270902__) {
  48807. "use strict";
  48808. var __extends = (this && this.__extends) || (function () {
  48809. var extendStatics = Object.setPrototypeOf ||
  48810. ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
  48811. function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
  48812. return function (d, b) {
  48813. extendStatics(d, b);
  48814. function __() { this.constructor = d; }
  48815. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  48816. };
  48817. })();
  48818. Object.defineProperty(exports, "__esModule", { value: true });
  48819. var format_1 = __nested_webpack_require_270902__(18);
  48820. var Registry = __nested_webpack_require_270902__(1);
  48821. var BlockBlot = /** @class */ (function (_super) {
  48822. __extends(BlockBlot, _super);
  48823. function BlockBlot() {
  48824. return _super !== null && _super.apply(this, arguments) || this;
  48825. }
  48826. BlockBlot.formats = function (domNode) {
  48827. var tagName = Registry.query(BlockBlot.blotName).tagName;
  48828. if (domNode.tagName === tagName)
  48829. return undefined;
  48830. return _super.formats.call(this, domNode);
  48831. };
  48832. BlockBlot.prototype.format = function (name, value) {
  48833. if (Registry.query(name, Registry.Scope.BLOCK) == null) {
  48834. return;
  48835. }
  48836. else if (name === this.statics.blotName && !value) {
  48837. this.replaceWith(BlockBlot.blotName);
  48838. }
  48839. else {
  48840. _super.prototype.format.call(this, name, value);
  48841. }
  48842. };
  48843. BlockBlot.prototype.formatAt = function (index, length, name, value) {
  48844. if (Registry.query(name, Registry.Scope.BLOCK) != null) {
  48845. this.format(name, value);
  48846. }
  48847. else {
  48848. _super.prototype.formatAt.call(this, index, length, name, value);
  48849. }
  48850. };
  48851. BlockBlot.prototype.insertAt = function (index, value, def) {
  48852. if (def == null || Registry.query(value, Registry.Scope.INLINE) != null) {
  48853. // Insert text or inline
  48854. _super.prototype.insertAt.call(this, index, value, def);
  48855. }
  48856. else {
  48857. var after = this.split(index);
  48858. var blot = Registry.create(value, def);
  48859. after.parent.insertBefore(blot, after);
  48860. }
  48861. };
  48862. BlockBlot.prototype.update = function (mutations, context) {
  48863. if (navigator.userAgent.match(/Trident/)) {
  48864. this.build();
  48865. }
  48866. else {
  48867. _super.prototype.update.call(this, mutations, context);
  48868. }
  48869. };
  48870. BlockBlot.blotName = 'block';
  48871. BlockBlot.scope = Registry.Scope.BLOCK_BLOT;
  48872. BlockBlot.tagName = 'P';
  48873. return BlockBlot;
  48874. }(format_1.default));
  48875. exports.default = BlockBlot;
  48876. /***/ }),
  48877. /* 48 */
  48878. /***/ (function(module, exports, __nested_webpack_require_273610__) {
  48879. "use strict";
  48880. var __extends = (this && this.__extends) || (function () {
  48881. var extendStatics = Object.setPrototypeOf ||
  48882. ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
  48883. function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
  48884. return function (d, b) {
  48885. extendStatics(d, b);
  48886. function __() { this.constructor = d; }
  48887. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  48888. };
  48889. })();
  48890. Object.defineProperty(exports, "__esModule", { value: true });
  48891. var leaf_1 = __nested_webpack_require_273610__(19);
  48892. var EmbedBlot = /** @class */ (function (_super) {
  48893. __extends(EmbedBlot, _super);
  48894. function EmbedBlot() {
  48895. return _super !== null && _super.apply(this, arguments) || this;
  48896. }
  48897. EmbedBlot.formats = function (domNode) {
  48898. return undefined;
  48899. };
  48900. EmbedBlot.prototype.format = function (name, value) {
  48901. // super.formatAt wraps, which is what we want in general,
  48902. // but this allows subclasses to overwrite for formats
  48903. // that just apply to particular embeds
  48904. _super.prototype.formatAt.call(this, 0, this.length(), name, value);
  48905. };
  48906. EmbedBlot.prototype.formatAt = function (index, length, name, value) {
  48907. if (index === 0 && length === this.length()) {
  48908. this.format(name, value);
  48909. }
  48910. else {
  48911. _super.prototype.formatAt.call(this, index, length, name, value);
  48912. }
  48913. };
  48914. EmbedBlot.prototype.formats = function () {
  48915. return this.statics.formats(this.domNode);
  48916. };
  48917. return EmbedBlot;
  48918. }(leaf_1.default));
  48919. exports.default = EmbedBlot;
  48920. /***/ }),
  48921. /* 49 */
  48922. /***/ (function(module, exports, __nested_webpack_require_275351__) {
  48923. "use strict";
  48924. var __extends = (this && this.__extends) || (function () {
  48925. var extendStatics = Object.setPrototypeOf ||
  48926. ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
  48927. function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
  48928. return function (d, b) {
  48929. extendStatics(d, b);
  48930. function __() { this.constructor = d; }
  48931. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  48932. };
  48933. })();
  48934. Object.defineProperty(exports, "__esModule", { value: true });
  48935. var leaf_1 = __nested_webpack_require_275351__(19);
  48936. var Registry = __nested_webpack_require_275351__(1);
  48937. var TextBlot = /** @class */ (function (_super) {
  48938. __extends(TextBlot, _super);
  48939. function TextBlot(node) {
  48940. var _this = _super.call(this, node) || this;
  48941. _this.text = _this.statics.value(_this.domNode);
  48942. return _this;
  48943. }
  48944. TextBlot.create = function (value) {
  48945. return document.createTextNode(value);
  48946. };
  48947. TextBlot.value = function (domNode) {
  48948. var text = domNode.data;
  48949. // @ts-ignore
  48950. if (text['normalize'])
  48951. text = text['normalize']();
  48952. return text;
  48953. };
  48954. TextBlot.prototype.deleteAt = function (index, length) {
  48955. this.domNode.data = this.text = this.text.slice(0, index) + this.text.slice(index + length);
  48956. };
  48957. TextBlot.prototype.index = function (node, offset) {
  48958. if (this.domNode === node) {
  48959. return offset;
  48960. }
  48961. return -1;
  48962. };
  48963. TextBlot.prototype.insertAt = function (index, value, def) {
  48964. if (def == null) {
  48965. this.text = this.text.slice(0, index) + value + this.text.slice(index);
  48966. this.domNode.data = this.text;
  48967. }
  48968. else {
  48969. _super.prototype.insertAt.call(this, index, value, def);
  48970. }
  48971. };
  48972. TextBlot.prototype.length = function () {
  48973. return this.text.length;
  48974. };
  48975. TextBlot.prototype.optimize = function (context) {
  48976. _super.prototype.optimize.call(this, context);
  48977. this.text = this.statics.value(this.domNode);
  48978. if (this.text.length === 0) {
  48979. this.remove();
  48980. }
  48981. else if (this.next instanceof TextBlot && this.next.prev === this) {
  48982. this.insertAt(this.length(), this.next.value());
  48983. this.next.remove();
  48984. }
  48985. };
  48986. TextBlot.prototype.position = function (index, inclusive) {
  48987. if (inclusive === void 0) { inclusive = false; }
  48988. return [this.domNode, index];
  48989. };
  48990. TextBlot.prototype.split = function (index, force) {
  48991. if (force === void 0) { force = false; }
  48992. if (!force) {
  48993. if (index === 0)
  48994. return this;
  48995. if (index === this.length())
  48996. return this.next;
  48997. }
  48998. var after = Registry.create(this.domNode.splitText(index));
  48999. this.parent.insertBefore(after, this.next);
  49000. this.text = this.statics.value(this.domNode);
  49001. return after;
  49002. };
  49003. TextBlot.prototype.update = function (mutations, context) {
  49004. var _this = this;
  49005. if (mutations.some(function (mutation) {
  49006. return mutation.type === 'characterData' && mutation.target === _this.domNode;
  49007. })) {
  49008. this.text = this.statics.value(this.domNode);
  49009. }
  49010. };
  49011. TextBlot.prototype.value = function () {
  49012. return this.text;
  49013. };
  49014. TextBlot.blotName = 'text';
  49015. TextBlot.scope = Registry.Scope.INLINE_BLOT;
  49016. return TextBlot;
  49017. }(leaf_1.default));
  49018. exports.default = TextBlot;
  49019. /***/ }),
  49020. /* 50 */
  49021. /***/ (function(module, exports, __webpack_require__) {
  49022. "use strict";
  49023. var elem = document.createElement('div');
  49024. elem.classList.toggle('test-class', false);
  49025. if (elem.classList.contains('test-class')) {
  49026. var _toggle = DOMTokenList.prototype.toggle;
  49027. DOMTokenList.prototype.toggle = function (token, force) {
  49028. if (arguments.length > 1 && !this.contains(token) === !force) {
  49029. return force;
  49030. } else {
  49031. return _toggle.call(this, token);
  49032. }
  49033. };
  49034. }
  49035. if (!String.prototype.startsWith) {
  49036. String.prototype.startsWith = function (searchString, position) {
  49037. position = position || 0;
  49038. return this.substr(position, searchString.length) === searchString;
  49039. };
  49040. }
  49041. if (!String.prototype.endsWith) {
  49042. String.prototype.endsWith = function (searchString, position) {
  49043. var subjectString = this.toString();
  49044. if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {
  49045. position = subjectString.length;
  49046. }
  49047. position -= searchString.length;
  49048. var lastIndex = subjectString.indexOf(searchString, position);
  49049. return lastIndex !== -1 && lastIndex === position;
  49050. };
  49051. }
  49052. if (!Array.prototype.find) {
  49053. Object.defineProperty(Array.prototype, "find", {
  49054. value: function value(predicate) {
  49055. if (this === null) {
  49056. throw new TypeError('Array.prototype.find called on null or undefined');
  49057. }
  49058. if (typeof predicate !== 'function') {
  49059. throw new TypeError('predicate must be a function');
  49060. }
  49061. var list = Object(this);
  49062. var length = list.length >>> 0;
  49063. var thisArg = arguments[1];
  49064. var value;
  49065. for (var i = 0; i < length; i++) {
  49066. value = list[i];
  49067. if (predicate.call(thisArg, value, i, list)) {
  49068. return value;
  49069. }
  49070. }
  49071. return undefined;
  49072. }
  49073. });
  49074. }
  49075. document.addEventListener("DOMContentLoaded", function () {
  49076. // Disable resizing in Firefox
  49077. document.execCommand("enableObjectResizing", false, false);
  49078. // Disable automatic linkifying in IE11
  49079. document.execCommand("autoUrlDetect", false, false);
  49080. });
  49081. /***/ }),
  49082. /* 51 */
  49083. /***/ (function(module, exports) {
  49084. /**
  49085. * This library modifies the diff-patch-match library by Neil Fraser
  49086. * by removing the patch and match functionality and certain advanced
  49087. * options in the diff function. The original license is as follows:
  49088. *
  49089. * ===
  49090. *
  49091. * Diff Match and Patch
  49092. *
  49093. * Copyright 2006 Google Inc.
  49094. * http://code.google.com/p/google-diff-match-patch/
  49095. *
  49096. * Licensed under the Apache License, Version 2.0 (the "License");
  49097. * you may not use this file except in compliance with the License.
  49098. * You may obtain a copy of the License at
  49099. *
  49100. * http://www.apache.org/licenses/LICENSE-2.0
  49101. *
  49102. * Unless required by applicable law or agreed to in writing, software
  49103. * distributed under the License is distributed on an "AS IS" BASIS,
  49104. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  49105. * See the License for the specific language governing permissions and
  49106. * limitations under the License.
  49107. */
  49108. /**
  49109. * The data structure representing a diff is an array of tuples:
  49110. * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]
  49111. * which means: delete 'Hello', add 'Goodbye' and keep ' world.'
  49112. */
  49113. var DIFF_DELETE = -1;
  49114. var DIFF_INSERT = 1;
  49115. var DIFF_EQUAL = 0;
  49116. /**
  49117. * Find the differences between two texts. Simplifies the problem by stripping
  49118. * any common prefix or suffix off the texts before diffing.
  49119. * @param {string} text1 Old string to be diffed.
  49120. * @param {string} text2 New string to be diffed.
  49121. * @param {Int} cursor_pos Expected edit position in text1 (optional)
  49122. * @return {Array} Array of diff tuples.
  49123. */
  49124. function diff_main(text1, text2, cursor_pos) {
  49125. // Check for equality (speedup).
  49126. if (text1 == text2) {
  49127. if (text1) {
  49128. return [[DIFF_EQUAL, text1]];
  49129. }
  49130. return [];
  49131. }
  49132. // Check cursor_pos within bounds
  49133. if (cursor_pos < 0 || text1.length < cursor_pos) {
  49134. cursor_pos = null;
  49135. }
  49136. // Trim off common prefix (speedup).
  49137. var commonlength = diff_commonPrefix(text1, text2);
  49138. var commonprefix = text1.substring(0, commonlength);
  49139. text1 = text1.substring(commonlength);
  49140. text2 = text2.substring(commonlength);
  49141. // Trim off common suffix (speedup).
  49142. commonlength = diff_commonSuffix(text1, text2);
  49143. var commonsuffix = text1.substring(text1.length - commonlength);
  49144. text1 = text1.substring(0, text1.length - commonlength);
  49145. text2 = text2.substring(0, text2.length - commonlength);
  49146. // Compute the diff on the middle block.
  49147. var diffs = diff_compute_(text1, text2);
  49148. // Restore the prefix and suffix.
  49149. if (commonprefix) {
  49150. diffs.unshift([DIFF_EQUAL, commonprefix]);
  49151. }
  49152. if (commonsuffix) {
  49153. diffs.push([DIFF_EQUAL, commonsuffix]);
  49154. }
  49155. diff_cleanupMerge(diffs);
  49156. if (cursor_pos != null) {
  49157. diffs = fix_cursor(diffs, cursor_pos);
  49158. }
  49159. diffs = fix_emoji(diffs);
  49160. return diffs;
  49161. };
  49162. /**
  49163. * Find the differences between two texts. Assumes that the texts do not
  49164. * have any common prefix or suffix.
  49165. * @param {string} text1 Old string to be diffed.
  49166. * @param {string} text2 New string to be diffed.
  49167. * @return {Array} Array of diff tuples.
  49168. */
  49169. function diff_compute_(text1, text2) {
  49170. var diffs;
  49171. if (!text1) {
  49172. // Just add some text (speedup).
  49173. return [[DIFF_INSERT, text2]];
  49174. }
  49175. if (!text2) {
  49176. // Just delete some text (speedup).
  49177. return [[DIFF_DELETE, text1]];
  49178. }
  49179. var longtext = text1.length > text2.length ? text1 : text2;
  49180. var shorttext = text1.length > text2.length ? text2 : text1;
  49181. var i = longtext.indexOf(shorttext);
  49182. if (i != -1) {
  49183. // Shorter text is inside the longer text (speedup).
  49184. diffs = [[DIFF_INSERT, longtext.substring(0, i)],
  49185. [DIFF_EQUAL, shorttext],
  49186. [DIFF_INSERT, longtext.substring(i + shorttext.length)]];
  49187. // Swap insertions for deletions if diff is reversed.
  49188. if (text1.length > text2.length) {
  49189. diffs[0][0] = diffs[2][0] = DIFF_DELETE;
  49190. }
  49191. return diffs;
  49192. }
  49193. if (shorttext.length == 1) {
  49194. // Single character string.
  49195. // After the previous speedup, the character can't be an equality.
  49196. return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];
  49197. }
  49198. // Check to see if the problem can be split in two.
  49199. var hm = diff_halfMatch_(text1, text2);
  49200. if (hm) {
  49201. // A half-match was found, sort out the return data.
  49202. var text1_a = hm[0];
  49203. var text1_b = hm[1];
  49204. var text2_a = hm[2];
  49205. var text2_b = hm[3];
  49206. var mid_common = hm[4];
  49207. // Send both pairs off for separate processing.
  49208. var diffs_a = diff_main(text1_a, text2_a);
  49209. var diffs_b = diff_main(text1_b, text2_b);
  49210. // Merge the results.
  49211. return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b);
  49212. }
  49213. return diff_bisect_(text1, text2);
  49214. };
  49215. /**
  49216. * Find the 'middle snake' of a diff, split the problem in two
  49217. * and return the recursively constructed diff.
  49218. * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.
  49219. * @param {string} text1 Old string to be diffed.
  49220. * @param {string} text2 New string to be diffed.
  49221. * @return {Array} Array of diff tuples.
  49222. * @private
  49223. */
  49224. function diff_bisect_(text1, text2) {
  49225. // Cache the text lengths to prevent multiple calls.
  49226. var text1_length = text1.length;
  49227. var text2_length = text2.length;
  49228. var max_d = Math.ceil((text1_length + text2_length) / 2);
  49229. var v_offset = max_d;
  49230. var v_length = 2 * max_d;
  49231. var v1 = new Array(v_length);
  49232. var v2 = new Array(v_length);
  49233. // Setting all elements to -1 is faster in Chrome & Firefox than mixing
  49234. // integers and undefined.
  49235. for (var x = 0; x < v_length; x++) {
  49236. v1[x] = -1;
  49237. v2[x] = -1;
  49238. }
  49239. v1[v_offset + 1] = 0;
  49240. v2[v_offset + 1] = 0;
  49241. var delta = text1_length - text2_length;
  49242. // If the total number of characters is odd, then the front path will collide
  49243. // with the reverse path.
  49244. var front = (delta % 2 != 0);
  49245. // Offsets for start and end of k loop.
  49246. // Prevents mapping of space beyond the grid.
  49247. var k1start = 0;
  49248. var k1end = 0;
  49249. var k2start = 0;
  49250. var k2end = 0;
  49251. for (var d = 0; d < max_d; d++) {
  49252. // Walk the front path one step.
  49253. for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {
  49254. var k1_offset = v_offset + k1;
  49255. var x1;
  49256. if (k1 == -d || (k1 != d && v1[k1_offset - 1] < v1[k1_offset + 1])) {
  49257. x1 = v1[k1_offset + 1];
  49258. } else {
  49259. x1 = v1[k1_offset - 1] + 1;
  49260. }
  49261. var y1 = x1 - k1;
  49262. while (x1 < text1_length && y1 < text2_length &&
  49263. text1.charAt(x1) == text2.charAt(y1)) {
  49264. x1++;
  49265. y1++;
  49266. }
  49267. v1[k1_offset] = x1;
  49268. if (x1 > text1_length) {
  49269. // Ran off the right of the graph.
  49270. k1end += 2;
  49271. } else if (y1 > text2_length) {
  49272. // Ran off the bottom of the graph.
  49273. k1start += 2;
  49274. } else if (front) {
  49275. var k2_offset = v_offset + delta - k1;
  49276. if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] != -1) {
  49277. // Mirror x2 onto top-left coordinate system.
  49278. var x2 = text1_length - v2[k2_offset];
  49279. if (x1 >= x2) {
  49280. // Overlap detected.
  49281. return diff_bisectSplit_(text1, text2, x1, y1);
  49282. }
  49283. }
  49284. }
  49285. }
  49286. // Walk the reverse path one step.
  49287. for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {
  49288. var k2_offset = v_offset + k2;
  49289. var x2;
  49290. if (k2 == -d || (k2 != d && v2[k2_offset - 1] < v2[k2_offset + 1])) {
  49291. x2 = v2[k2_offset + 1];
  49292. } else {
  49293. x2 = v2[k2_offset - 1] + 1;
  49294. }
  49295. var y2 = x2 - k2;
  49296. while (x2 < text1_length && y2 < text2_length &&
  49297. text1.charAt(text1_length - x2 - 1) ==
  49298. text2.charAt(text2_length - y2 - 1)) {
  49299. x2++;
  49300. y2++;
  49301. }
  49302. v2[k2_offset] = x2;
  49303. if (x2 > text1_length) {
  49304. // Ran off the left of the graph.
  49305. k2end += 2;
  49306. } else if (y2 > text2_length) {
  49307. // Ran off the top of the graph.
  49308. k2start += 2;
  49309. } else if (!front) {
  49310. var k1_offset = v_offset + delta - k2;
  49311. if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] != -1) {
  49312. var x1 = v1[k1_offset];
  49313. var y1 = v_offset + x1 - k1_offset;
  49314. // Mirror x2 onto top-left coordinate system.
  49315. x2 = text1_length - x2;
  49316. if (x1 >= x2) {
  49317. // Overlap detected.
  49318. return diff_bisectSplit_(text1, text2, x1, y1);
  49319. }
  49320. }
  49321. }
  49322. }
  49323. }
  49324. // Diff took too long and hit the deadline or
  49325. // number of diffs equals number of characters, no commonality at all.
  49326. return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];
  49327. };
  49328. /**
  49329. * Given the location of the 'middle snake', split the diff in two parts
  49330. * and recurse.
  49331. * @param {string} text1 Old string to be diffed.
  49332. * @param {string} text2 New string to be diffed.
  49333. * @param {number} x Index of split point in text1.
  49334. * @param {number} y Index of split point in text2.
  49335. * @return {Array} Array of diff tuples.
  49336. */
  49337. function diff_bisectSplit_(text1, text2, x, y) {
  49338. var text1a = text1.substring(0, x);
  49339. var text2a = text2.substring(0, y);
  49340. var text1b = text1.substring(x);
  49341. var text2b = text2.substring(y);
  49342. // Compute both diffs serially.
  49343. var diffs = diff_main(text1a, text2a);
  49344. var diffsb = diff_main(text1b, text2b);
  49345. return diffs.concat(diffsb);
  49346. };
  49347. /**
  49348. * Determine the common prefix of two strings.
  49349. * @param {string} text1 First string.
  49350. * @param {string} text2 Second string.
  49351. * @return {number} The number of characters common to the start of each
  49352. * string.
  49353. */
  49354. function diff_commonPrefix(text1, text2) {
  49355. // Quick check for common null cases.
  49356. if (!text1 || !text2 || text1.charAt(0) != text2.charAt(0)) {
  49357. return 0;
  49358. }
  49359. // Binary search.
  49360. // Performance analysis: http://neil.fraser.name/news/2007/10/09/
  49361. var pointermin = 0;
  49362. var pointermax = Math.min(text1.length, text2.length);
  49363. var pointermid = pointermax;
  49364. var pointerstart = 0;
  49365. while (pointermin < pointermid) {
  49366. if (text1.substring(pointerstart, pointermid) ==
  49367. text2.substring(pointerstart, pointermid)) {
  49368. pointermin = pointermid;
  49369. pointerstart = pointermin;
  49370. } else {
  49371. pointermax = pointermid;
  49372. }
  49373. pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);
  49374. }
  49375. return pointermid;
  49376. };
  49377. /**
  49378. * Determine the common suffix of two strings.
  49379. * @param {string} text1 First string.
  49380. * @param {string} text2 Second string.
  49381. * @return {number} The number of characters common to the end of each string.
  49382. */
  49383. function diff_commonSuffix(text1, text2) {
  49384. // Quick check for common null cases.
  49385. if (!text1 || !text2 ||
  49386. text1.charAt(text1.length - 1) != text2.charAt(text2.length - 1)) {
  49387. return 0;
  49388. }
  49389. // Binary search.
  49390. // Performance analysis: http://neil.fraser.name/news/2007/10/09/
  49391. var pointermin = 0;
  49392. var pointermax = Math.min(text1.length, text2.length);
  49393. var pointermid = pointermax;
  49394. var pointerend = 0;
  49395. while (pointermin < pointermid) {
  49396. if (text1.substring(text1.length - pointermid, text1.length - pointerend) ==
  49397. text2.substring(text2.length - pointermid, text2.length - pointerend)) {
  49398. pointermin = pointermid;
  49399. pointerend = pointermin;
  49400. } else {
  49401. pointermax = pointermid;
  49402. }
  49403. pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);
  49404. }
  49405. return pointermid;
  49406. };
  49407. /**
  49408. * Do the two texts share a substring which is at least half the length of the
  49409. * longer text?
  49410. * This speedup can produce non-minimal diffs.
  49411. * @param {string} text1 First string.
  49412. * @param {string} text2 Second string.
  49413. * @return {Array.<string>} Five element Array, containing the prefix of
  49414. * text1, the suffix of text1, the prefix of text2, the suffix of
  49415. * text2 and the common middle. Or null if there was no match.
  49416. */
  49417. function diff_halfMatch_(text1, text2) {
  49418. var longtext = text1.length > text2.length ? text1 : text2;
  49419. var shorttext = text1.length > text2.length ? text2 : text1;
  49420. if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {
  49421. return null; // Pointless.
  49422. }
  49423. /**
  49424. * Does a substring of shorttext exist within longtext such that the substring
  49425. * is at least half the length of longtext?
  49426. * Closure, but does not reference any external variables.
  49427. * @param {string} longtext Longer string.
  49428. * @param {string} shorttext Shorter string.
  49429. * @param {number} i Start index of quarter length substring within longtext.
  49430. * @return {Array.<string>} Five element Array, containing the prefix of
  49431. * longtext, the suffix of longtext, the prefix of shorttext, the suffix
  49432. * of shorttext and the common middle. Or null if there was no match.
  49433. * @private
  49434. */
  49435. function diff_halfMatchI_(longtext, shorttext, i) {
  49436. // Start with a 1/4 length substring at position i as a seed.
  49437. var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));
  49438. var j = -1;
  49439. var best_common = '';
  49440. var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;
  49441. while ((j = shorttext.indexOf(seed, j + 1)) != -1) {
  49442. var prefixLength = diff_commonPrefix(longtext.substring(i),
  49443. shorttext.substring(j));
  49444. var suffixLength = diff_commonSuffix(longtext.substring(0, i),
  49445. shorttext.substring(0, j));
  49446. if (best_common.length < suffixLength + prefixLength) {
  49447. best_common = shorttext.substring(j - suffixLength, j) +
  49448. shorttext.substring(j, j + prefixLength);
  49449. best_longtext_a = longtext.substring(0, i - suffixLength);
  49450. best_longtext_b = longtext.substring(i + prefixLength);
  49451. best_shorttext_a = shorttext.substring(0, j - suffixLength);
  49452. best_shorttext_b = shorttext.substring(j + prefixLength);
  49453. }
  49454. }
  49455. if (best_common.length * 2 >= longtext.length) {
  49456. return [best_longtext_a, best_longtext_b,
  49457. best_shorttext_a, best_shorttext_b, best_common];
  49458. } else {
  49459. return null;
  49460. }
  49461. }
  49462. // First check if the second quarter is the seed for a half-match.
  49463. var hm1 = diff_halfMatchI_(longtext, shorttext,
  49464. Math.ceil(longtext.length / 4));
  49465. // Check again based on the third quarter.
  49466. var hm2 = diff_halfMatchI_(longtext, shorttext,
  49467. Math.ceil(longtext.length / 2));
  49468. var hm;
  49469. if (!hm1 && !hm2) {
  49470. return null;
  49471. } else if (!hm2) {
  49472. hm = hm1;
  49473. } else if (!hm1) {
  49474. hm = hm2;
  49475. } else {
  49476. // Both matched. Select the longest.
  49477. hm = hm1[4].length > hm2[4].length ? hm1 : hm2;
  49478. }
  49479. // A half-match was found, sort out the return data.
  49480. var text1_a, text1_b, text2_a, text2_b;
  49481. if (text1.length > text2.length) {
  49482. text1_a = hm[0];
  49483. text1_b = hm[1];
  49484. text2_a = hm[2];
  49485. text2_b = hm[3];
  49486. } else {
  49487. text2_a = hm[0];
  49488. text2_b = hm[1];
  49489. text1_a = hm[2];
  49490. text1_b = hm[3];
  49491. }
  49492. var mid_common = hm[4];
  49493. return [text1_a, text1_b, text2_a, text2_b, mid_common];
  49494. };
  49495. /**
  49496. * Reorder and merge like edit sections. Merge equalities.
  49497. * Any edit section can move as long as it doesn't cross an equality.
  49498. * @param {Array} diffs Array of diff tuples.
  49499. */
  49500. function diff_cleanupMerge(diffs) {
  49501. diffs.push([DIFF_EQUAL, '']); // Add a dummy entry at the end.
  49502. var pointer = 0;
  49503. var count_delete = 0;
  49504. var count_insert = 0;
  49505. var text_delete = '';
  49506. var text_insert = '';
  49507. var commonlength;
  49508. while (pointer < diffs.length) {
  49509. switch (diffs[pointer][0]) {
  49510. case DIFF_INSERT:
  49511. count_insert++;
  49512. text_insert += diffs[pointer][1];
  49513. pointer++;
  49514. break;
  49515. case DIFF_DELETE:
  49516. count_delete++;
  49517. text_delete += diffs[pointer][1];
  49518. pointer++;
  49519. break;
  49520. case DIFF_EQUAL:
  49521. // Upon reaching an equality, check for prior redundancies.
  49522. if (count_delete + count_insert > 1) {
  49523. if (count_delete !== 0 && count_insert !== 0) {
  49524. // Factor out any common prefixies.
  49525. commonlength = diff_commonPrefix(text_insert, text_delete);
  49526. if (commonlength !== 0) {
  49527. if ((pointer - count_delete - count_insert) > 0 &&
  49528. diffs[pointer - count_delete - count_insert - 1][0] ==
  49529. DIFF_EQUAL) {
  49530. diffs[pointer - count_delete - count_insert - 1][1] +=
  49531. text_insert.substring(0, commonlength);
  49532. } else {
  49533. diffs.splice(0, 0, [DIFF_EQUAL,
  49534. text_insert.substring(0, commonlength)]);
  49535. pointer++;
  49536. }
  49537. text_insert = text_insert.substring(commonlength);
  49538. text_delete = text_delete.substring(commonlength);
  49539. }
  49540. // Factor out any common suffixies.
  49541. commonlength = diff_commonSuffix(text_insert, text_delete);
  49542. if (commonlength !== 0) {
  49543. diffs[pointer][1] = text_insert.substring(text_insert.length -
  49544. commonlength) + diffs[pointer][1];
  49545. text_insert = text_insert.substring(0, text_insert.length -
  49546. commonlength);
  49547. text_delete = text_delete.substring(0, text_delete.length -
  49548. commonlength);
  49549. }
  49550. }
  49551. // Delete the offending records and add the merged ones.
  49552. if (count_delete === 0) {
  49553. diffs.splice(pointer - count_insert,
  49554. count_delete + count_insert, [DIFF_INSERT, text_insert]);
  49555. } else if (count_insert === 0) {
  49556. diffs.splice(pointer - count_delete,
  49557. count_delete + count_insert, [DIFF_DELETE, text_delete]);
  49558. } else {
  49559. diffs.splice(pointer - count_delete - count_insert,
  49560. count_delete + count_insert, [DIFF_DELETE, text_delete],
  49561. [DIFF_INSERT, text_insert]);
  49562. }
  49563. pointer = pointer - count_delete - count_insert +
  49564. (count_delete ? 1 : 0) + (count_insert ? 1 : 0) + 1;
  49565. } else if (pointer !== 0 && diffs[pointer - 1][0] == DIFF_EQUAL) {
  49566. // Merge this equality with the previous one.
  49567. diffs[pointer - 1][1] += diffs[pointer][1];
  49568. diffs.splice(pointer, 1);
  49569. } else {
  49570. pointer++;
  49571. }
  49572. count_insert = 0;
  49573. count_delete = 0;
  49574. text_delete = '';
  49575. text_insert = '';
  49576. break;
  49577. }
  49578. }
  49579. if (diffs[diffs.length - 1][1] === '') {
  49580. diffs.pop(); // Remove the dummy entry at the end.
  49581. }
  49582. // Second pass: look for single edits surrounded on both sides by equalities
  49583. // which can be shifted sideways to eliminate an equality.
  49584. // e.g: A<ins>BA</ins>C -> <ins>AB</ins>AC
  49585. var changes = false;
  49586. pointer = 1;
  49587. // Intentionally ignore the first and last element (don't need checking).
  49588. while (pointer < diffs.length - 1) {
  49589. if (diffs[pointer - 1][0] == DIFF_EQUAL &&
  49590. diffs[pointer + 1][0] == DIFF_EQUAL) {
  49591. // This is a single edit surrounded by equalities.
  49592. if (diffs[pointer][1].substring(diffs[pointer][1].length -
  49593. diffs[pointer - 1][1].length) == diffs[pointer - 1][1]) {
  49594. // Shift the edit over the previous equality.
  49595. diffs[pointer][1] = diffs[pointer - 1][1] +
  49596. diffs[pointer][1].substring(0, diffs[pointer][1].length -
  49597. diffs[pointer - 1][1].length);
  49598. diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];
  49599. diffs.splice(pointer - 1, 1);
  49600. changes = true;
  49601. } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) ==
  49602. diffs[pointer + 1][1]) {
  49603. // Shift the edit over the next equality.
  49604. diffs[pointer - 1][1] += diffs[pointer + 1][1];
  49605. diffs[pointer][1] =
  49606. diffs[pointer][1].substring(diffs[pointer + 1][1].length) +
  49607. diffs[pointer + 1][1];
  49608. diffs.splice(pointer + 1, 1);
  49609. changes = true;
  49610. }
  49611. }
  49612. pointer++;
  49613. }
  49614. // If shifts were made, the diff needs reordering and another shift sweep.
  49615. if (changes) {
  49616. diff_cleanupMerge(diffs);
  49617. }
  49618. };
  49619. var diff = diff_main;
  49620. diff.INSERT = DIFF_INSERT;
  49621. diff.DELETE = DIFF_DELETE;
  49622. diff.EQUAL = DIFF_EQUAL;
  49623. module.exports = diff;
  49624. /*
  49625. * Modify a diff such that the cursor position points to the start of a change:
  49626. * E.g.
  49627. * cursor_normalize_diff([[DIFF_EQUAL, 'abc']], 1)
  49628. * => [1, [[DIFF_EQUAL, 'a'], [DIFF_EQUAL, 'bc']]]
  49629. * cursor_normalize_diff([[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xyz']], 2)
  49630. * => [2, [[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xy'], [DIFF_DELETE, 'z']]]
  49631. *
  49632. * @param {Array} diffs Array of diff tuples
  49633. * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!
  49634. * @return {Array} A tuple [cursor location in the modified diff, modified diff]
  49635. */
  49636. function cursor_normalize_diff (diffs, cursor_pos) {
  49637. if (cursor_pos === 0) {
  49638. return [DIFF_EQUAL, diffs];
  49639. }
  49640. for (var current_pos = 0, i = 0; i < diffs.length; i++) {
  49641. var d = diffs[i];
  49642. if (d[0] === DIFF_DELETE || d[0] === DIFF_EQUAL) {
  49643. var next_pos = current_pos + d[1].length;
  49644. if (cursor_pos === next_pos) {
  49645. return [i + 1, diffs];
  49646. } else if (cursor_pos < next_pos) {
  49647. // copy to prevent side effects
  49648. diffs = diffs.slice();
  49649. // split d into two diff changes
  49650. var split_pos = cursor_pos - current_pos;
  49651. var d_left = [d[0], d[1].slice(0, split_pos)];
  49652. var d_right = [d[0], d[1].slice(split_pos)];
  49653. diffs.splice(i, 1, d_left, d_right);
  49654. return [i + 1, diffs];
  49655. } else {
  49656. current_pos = next_pos;
  49657. }
  49658. }
  49659. }
  49660. throw new Error('cursor_pos is out of bounds!')
  49661. }
  49662. /*
  49663. * Modify a diff such that the edit position is "shifted" to the proposed edit location (cursor_position).
  49664. *
  49665. * Case 1)
  49666. * Check if a naive shift is possible:
  49667. * [0, X], [ 1, Y] -> [ 1, Y], [0, X] (if X + Y === Y + X)
  49668. * [0, X], [-1, Y] -> [-1, Y], [0, X] (if X + Y === Y + X) - holds same result
  49669. * Case 2)
  49670. * Check if the following shifts are possible:
  49671. * [0, 'pre'], [ 1, 'prefix'] -> [ 1, 'pre'], [0, 'pre'], [ 1, 'fix']
  49672. * [0, 'pre'], [-1, 'prefix'] -> [-1, 'pre'], [0, 'pre'], [-1, 'fix']
  49673. * ^ ^
  49674. * d d_next
  49675. *
  49676. * @param {Array} diffs Array of diff tuples
  49677. * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!
  49678. * @return {Array} Array of diff tuples
  49679. */
  49680. function fix_cursor (diffs, cursor_pos) {
  49681. var norm = cursor_normalize_diff(diffs, cursor_pos);
  49682. var ndiffs = norm[1];
  49683. var cursor_pointer = norm[0];
  49684. var d = ndiffs[cursor_pointer];
  49685. var d_next = ndiffs[cursor_pointer + 1];
  49686. if (d == null) {
  49687. // Text was deleted from end of original string,
  49688. // cursor is now out of bounds in new string
  49689. return diffs;
  49690. } else if (d[0] !== DIFF_EQUAL) {
  49691. // A modification happened at the cursor location.
  49692. // This is the expected outcome, so we can return the original diff.
  49693. return diffs;
  49694. } else {
  49695. if (d_next != null && d[1] + d_next[1] === d_next[1] + d[1]) {
  49696. // Case 1)
  49697. // It is possible to perform a naive shift
  49698. ndiffs.splice(cursor_pointer, 2, d_next, d)
  49699. return merge_tuples(ndiffs, cursor_pointer, 2)
  49700. } else if (d_next != null && d_next[1].indexOf(d[1]) === 0) {
  49701. // Case 2)
  49702. // d[1] is a prefix of d_next[1]
  49703. // We can assume that d_next[0] !== 0, since d[0] === 0
  49704. // Shift edit locations..
  49705. ndiffs.splice(cursor_pointer, 2, [d_next[0], d[1]], [0, d[1]]);
  49706. var suffix = d_next[1].slice(d[1].length);
  49707. if (suffix.length > 0) {
  49708. ndiffs.splice(cursor_pointer + 2, 0, [d_next[0], suffix]);
  49709. }
  49710. return merge_tuples(ndiffs, cursor_pointer, 3)
  49711. } else {
  49712. // Not possible to perform any modification
  49713. return diffs;
  49714. }
  49715. }
  49716. }
  49717. /*
  49718. * Check diff did not split surrogate pairs.
  49719. * Ex. [0, '\uD83D'], [-1, '\uDC36'], [1, '\uDC2F'] -> [-1, '\uD83D\uDC36'], [1, '\uD83D\uDC2F']
  49720. * '\uD83D\uDC36' === '🐶', '\uD83D\uDC2F' === '🐯'
  49721. *
  49722. * @param {Array} diffs Array of diff tuples
  49723. * @return {Array} Array of diff tuples
  49724. */
  49725. function fix_emoji (diffs) {
  49726. var compact = false;
  49727. var starts_with_pair_end = function(str) {
  49728. return str.charCodeAt(0) >= 0xDC00 && str.charCodeAt(0) <= 0xDFFF;
  49729. }
  49730. var ends_with_pair_start = function(str) {
  49731. return str.charCodeAt(str.length-1) >= 0xD800 && str.charCodeAt(str.length-1) <= 0xDBFF;
  49732. }
  49733. for (var i = 2; i < diffs.length; i += 1) {
  49734. if (diffs[i-2][0] === DIFF_EQUAL && ends_with_pair_start(diffs[i-2][1]) &&
  49735. diffs[i-1][0] === DIFF_DELETE && starts_with_pair_end(diffs[i-1][1]) &&
  49736. diffs[i][0] === DIFF_INSERT && starts_with_pair_end(diffs[i][1])) {
  49737. compact = true;
  49738. diffs[i-1][1] = diffs[i-2][1].slice(-1) + diffs[i-1][1];
  49739. diffs[i][1] = diffs[i-2][1].slice(-1) + diffs[i][1];
  49740. diffs[i-2][1] = diffs[i-2][1].slice(0, -1);
  49741. }
  49742. }
  49743. if (!compact) {
  49744. return diffs;
  49745. }
  49746. var fixed_diffs = [];
  49747. for (var i = 0; i < diffs.length; i += 1) {
  49748. if (diffs[i][1].length > 0) {
  49749. fixed_diffs.push(diffs[i]);
  49750. }
  49751. }
  49752. return fixed_diffs;
  49753. }
  49754. /*
  49755. * Try to merge tuples with their neigbors in a given range.
  49756. * E.g. [0, 'a'], [0, 'b'] -> [0, 'ab']
  49757. *
  49758. * @param {Array} diffs Array of diff tuples.
  49759. * @param {Int} start Position of the first element to merge (diffs[start] is also merged with diffs[start - 1]).
  49760. * @param {Int} length Number of consecutive elements to check.
  49761. * @return {Array} Array of merged diff tuples.
  49762. */
  49763. function merge_tuples (diffs, start, length) {
  49764. // Check from (start-1) to (start+length).
  49765. for (var i = start + length - 1; i >= 0 && i >= start - 1; i--) {
  49766. if (i + 1 < diffs.length) {
  49767. var left_d = diffs[i];
  49768. var right_d = diffs[i+1];
  49769. if (left_d[0] === right_d[1]) {
  49770. diffs.splice(i, 2, [left_d[0], left_d[1] + right_d[1]]);
  49771. }
  49772. }
  49773. }
  49774. return diffs;
  49775. }
  49776. /***/ }),
  49777. /* 52 */
  49778. /***/ (function(module, exports) {
  49779. exports = module.exports = typeof Object.keys === 'function'
  49780. ? Object.keys : shim;
  49781. exports.shim = shim;
  49782. function shim (obj) {
  49783. var keys = [];
  49784. for (var key in obj) keys.push(key);
  49785. return keys;
  49786. }
  49787. /***/ }),
  49788. /* 53 */
  49789. /***/ (function(module, exports) {
  49790. var supportsArgumentsClass = (function(){
  49791. return Object.prototype.toString.call(arguments)
  49792. })() == '[object Arguments]';
  49793. exports = module.exports = supportsArgumentsClass ? supported : unsupported;
  49794. exports.supported = supported;
  49795. function supported(object) {
  49796. return Object.prototype.toString.call(object) == '[object Arguments]';
  49797. };
  49798. exports.unsupported = unsupported;
  49799. function unsupported(object){
  49800. return object &&
  49801. typeof object == 'object' &&
  49802. typeof object.length == 'number' &&
  49803. Object.prototype.hasOwnProperty.call(object, 'callee') &&
  49804. !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||
  49805. false;
  49806. };
  49807. /***/ }),
  49808. /* 54 */
  49809. /***/ (function(module, exports) {
  49810. 'use strict';
  49811. var has = Object.prototype.hasOwnProperty
  49812. , prefix = '~';
  49813. /**
  49814. * Constructor to create a storage for our `EE` objects.
  49815. * An `Events` instance is a plain object whose properties are event names.
  49816. *
  49817. * @constructor
  49818. * @api private
  49819. */
  49820. function Events() {}
  49821. //
  49822. // We try to not inherit from `Object.prototype`. In some engines creating an
  49823. // instance in this way is faster than calling `Object.create(null)` directly.
  49824. // If `Object.create(null)` is not supported we prefix the event names with a
  49825. // character to make sure that the built-in object properties are not
  49826. // overridden or used as an attack vector.
  49827. //
  49828. if (Object.create) {
  49829. Events.prototype = Object.create(null);
  49830. //
  49831. // This hack is needed because the `__proto__` property is still inherited in
  49832. // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.
  49833. //
  49834. if (!new Events().__proto__) prefix = false;
  49835. }
  49836. /**
  49837. * Representation of a single event listener.
  49838. *
  49839. * @param {Function} fn The listener function.
  49840. * @param {Mixed} context The context to invoke the listener with.
  49841. * @param {Boolean} [once=false] Specify if the listener is a one-time listener.
  49842. * @constructor
  49843. * @api private
  49844. */
  49845. function EE(fn, context, once) {
  49846. this.fn = fn;
  49847. this.context = context;
  49848. this.once = once || false;
  49849. }
  49850. /**
  49851. * Minimal `EventEmitter` interface that is molded against the Node.js
  49852. * `EventEmitter` interface.
  49853. *
  49854. * @constructor
  49855. * @api public
  49856. */
  49857. function EventEmitter() {
  49858. this._events = new Events();
  49859. this._eventsCount = 0;
  49860. }
  49861. /**
  49862. * Return an array listing the events for which the emitter has registered
  49863. * listeners.
  49864. *
  49865. * @returns {Array}
  49866. * @api public
  49867. */
  49868. EventEmitter.prototype.eventNames = function eventNames() {
  49869. var names = []
  49870. , events
  49871. , name;
  49872. if (this._eventsCount === 0) return names;
  49873. for (name in (events = this._events)) {
  49874. if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);
  49875. }
  49876. if (Object.getOwnPropertySymbols) {
  49877. return names.concat(Object.getOwnPropertySymbols(events));
  49878. }
  49879. return names;
  49880. };
  49881. /**
  49882. * Return the listeners registered for a given event.
  49883. *
  49884. * @param {String|Symbol} event The event name.
  49885. * @param {Boolean} exists Only check if there are listeners.
  49886. * @returns {Array|Boolean}
  49887. * @api public
  49888. */
  49889. EventEmitter.prototype.listeners = function listeners(event, exists) {
  49890. var evt = prefix ? prefix + event : event
  49891. , available = this._events[evt];
  49892. if (exists) return !!available;
  49893. if (!available) return [];
  49894. if (available.fn) return [available.fn];
  49895. for (var i = 0, l = available.length, ee = new Array(l); i < l; i++) {
  49896. ee[i] = available[i].fn;
  49897. }
  49898. return ee;
  49899. };
  49900. /**
  49901. * Calls each of the listeners registered for a given event.
  49902. *
  49903. * @param {String|Symbol} event The event name.
  49904. * @returns {Boolean} `true` if the event had listeners, else `false`.
  49905. * @api public
  49906. */
  49907. EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
  49908. var evt = prefix ? prefix + event : event;
  49909. if (!this._events[evt]) return false;
  49910. var listeners = this._events[evt]
  49911. , len = arguments.length
  49912. , args
  49913. , i;
  49914. if (listeners.fn) {
  49915. if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);
  49916. switch (len) {
  49917. case 1: return listeners.fn.call(listeners.context), true;
  49918. case 2: return listeners.fn.call(listeners.context, a1), true;
  49919. case 3: return listeners.fn.call(listeners.context, a1, a2), true;
  49920. case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;
  49921. case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;
  49922. case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;
  49923. }
  49924. for (i = 1, args = new Array(len -1); i < len; i++) {
  49925. args[i - 1] = arguments[i];
  49926. }
  49927. listeners.fn.apply(listeners.context, args);
  49928. } else {
  49929. var length = listeners.length
  49930. , j;
  49931. for (i = 0; i < length; i++) {
  49932. if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);
  49933. switch (len) {
  49934. case 1: listeners[i].fn.call(listeners[i].context); break;
  49935. case 2: listeners[i].fn.call(listeners[i].context, a1); break;
  49936. case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;
  49937. case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;
  49938. default:
  49939. if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {
  49940. args[j - 1] = arguments[j];
  49941. }
  49942. listeners[i].fn.apply(listeners[i].context, args);
  49943. }
  49944. }
  49945. }
  49946. return true;
  49947. };
  49948. /**
  49949. * Add a listener for a given event.
  49950. *
  49951. * @param {String|Symbol} event The event name.
  49952. * @param {Function} fn The listener function.
  49953. * @param {Mixed} [context=this] The context to invoke the listener with.
  49954. * @returns {EventEmitter} `this`.
  49955. * @api public
  49956. */
  49957. EventEmitter.prototype.on = function on(event, fn, context) {
  49958. var listener = new EE(fn, context || this)
  49959. , evt = prefix ? prefix + event : event;
  49960. if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;
  49961. else if (!this._events[evt].fn) this._events[evt].push(listener);
  49962. else this._events[evt] = [this._events[evt], listener];
  49963. return this;
  49964. };
  49965. /**
  49966. * Add a one-time listener for a given event.
  49967. *
  49968. * @param {String|Symbol} event The event name.
  49969. * @param {Function} fn The listener function.
  49970. * @param {Mixed} [context=this] The context to invoke the listener with.
  49971. * @returns {EventEmitter} `this`.
  49972. * @api public
  49973. */
  49974. EventEmitter.prototype.once = function once(event, fn, context) {
  49975. var listener = new EE(fn, context || this, true)
  49976. , evt = prefix ? prefix + event : event;
  49977. if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;
  49978. else if (!this._events[evt].fn) this._events[evt].push(listener);
  49979. else this._events[evt] = [this._events[evt], listener];
  49980. return this;
  49981. };
  49982. /**
  49983. * Remove the listeners of a given event.
  49984. *
  49985. * @param {String|Symbol} event The event name.
  49986. * @param {Function} fn Only remove the listeners that match this function.
  49987. * @param {Mixed} context Only remove the listeners that have this context.
  49988. * @param {Boolean} once Only remove one-time listeners.
  49989. * @returns {EventEmitter} `this`.
  49990. * @api public
  49991. */
  49992. EventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {
  49993. var evt = prefix ? prefix + event : event;
  49994. if (!this._events[evt]) return this;
  49995. if (!fn) {
  49996. if (--this._eventsCount === 0) this._events = new Events();
  49997. else delete this._events[evt];
  49998. return this;
  49999. }
  50000. var listeners = this._events[evt];
  50001. if (listeners.fn) {
  50002. if (
  50003. listeners.fn === fn
  50004. && (!once || listeners.once)
  50005. && (!context || listeners.context === context)
  50006. ) {
  50007. if (--this._eventsCount === 0) this._events = new Events();
  50008. else delete this._events[evt];
  50009. }
  50010. } else {
  50011. for (var i = 0, events = [], length = listeners.length; i < length; i++) {
  50012. if (
  50013. listeners[i].fn !== fn
  50014. || (once && !listeners[i].once)
  50015. || (context && listeners[i].context !== context)
  50016. ) {
  50017. events.push(listeners[i]);
  50018. }
  50019. }
  50020. //
  50021. // Reset the array, or remove it completely if we have no more listeners.
  50022. //
  50023. if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;
  50024. else if (--this._eventsCount === 0) this._events = new Events();
  50025. else delete this._events[evt];
  50026. }
  50027. return this;
  50028. };
  50029. /**
  50030. * Remove all listeners, or those of the specified event.
  50031. *
  50032. * @param {String|Symbol} [event] The event name.
  50033. * @returns {EventEmitter} `this`.
  50034. * @api public
  50035. */
  50036. EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {
  50037. var evt;
  50038. if (event) {
  50039. evt = prefix ? prefix + event : event;
  50040. if (this._events[evt]) {
  50041. if (--this._eventsCount === 0) this._events = new Events();
  50042. else delete this._events[evt];
  50043. }
  50044. } else {
  50045. this._events = new Events();
  50046. this._eventsCount = 0;
  50047. }
  50048. return this;
  50049. };
  50050. //
  50051. // Alias methods names because people roll like that.
  50052. //
  50053. EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
  50054. EventEmitter.prototype.addListener = EventEmitter.prototype.on;
  50055. //
  50056. // This function doesn't apply anymore.
  50057. //
  50058. EventEmitter.prototype.setMaxListeners = function setMaxListeners() {
  50059. return this;
  50060. };
  50061. //
  50062. // Expose the prefix.
  50063. //
  50064. EventEmitter.prefixed = prefix;
  50065. //
  50066. // Allow `EventEmitter` to be imported as module namespace.
  50067. //
  50068. EventEmitter.EventEmitter = EventEmitter;
  50069. //
  50070. // Expose the module.
  50071. //
  50072. if ('undefined' !== typeof module) {
  50073. module.exports = EventEmitter;
  50074. }
  50075. /***/ }),
  50076. /* 55 */
  50077. /***/ (function(module, exports, __nested_webpack_require_316416__) {
  50078. "use strict";
  50079. Object.defineProperty(exports, "__esModule", {
  50080. value: true
  50081. });
  50082. exports.matchText = exports.matchSpacing = exports.matchNewline = exports.matchBlot = exports.matchAttributor = exports.default = undefined;
  50083. var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
  50084. var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
  50085. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  50086. var _extend2 = __nested_webpack_require_316416__(3);
  50087. var _extend3 = _interopRequireDefault(_extend2);
  50088. var _quillDelta = __nested_webpack_require_316416__(2);
  50089. var _quillDelta2 = _interopRequireDefault(_quillDelta);
  50090. var _parchment = __nested_webpack_require_316416__(0);
  50091. var _parchment2 = _interopRequireDefault(_parchment);
  50092. var _quill = __nested_webpack_require_316416__(5);
  50093. var _quill2 = _interopRequireDefault(_quill);
  50094. var _logger = __nested_webpack_require_316416__(10);
  50095. var _logger2 = _interopRequireDefault(_logger);
  50096. var _module = __nested_webpack_require_316416__(9);
  50097. var _module2 = _interopRequireDefault(_module);
  50098. var _align = __nested_webpack_require_316416__(36);
  50099. var _background = __nested_webpack_require_316416__(37);
  50100. var _code = __nested_webpack_require_316416__(13);
  50101. var _code2 = _interopRequireDefault(_code);
  50102. var _color = __nested_webpack_require_316416__(26);
  50103. var _direction = __nested_webpack_require_316416__(38);
  50104. var _font = __nested_webpack_require_316416__(39);
  50105. var _size = __nested_webpack_require_316416__(40);
  50106. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  50107. function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
  50108. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  50109. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  50110. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  50111. var debug = (0, _logger2.default)('quill:clipboard');
  50112. var DOM_KEY = '__ql-matcher';
  50113. var CLIPBOARD_CONFIG = [[Node.TEXT_NODE, matchText], [Node.TEXT_NODE, matchNewline], ['br', matchBreak], [Node.ELEMENT_NODE, matchNewline], [Node.ELEMENT_NODE, matchBlot], [Node.ELEMENT_NODE, matchSpacing], [Node.ELEMENT_NODE, matchAttributor], [Node.ELEMENT_NODE, matchStyles], ['li', matchIndent], ['b', matchAlias.bind(matchAlias, 'bold')], ['i', matchAlias.bind(matchAlias, 'italic')], ['style', matchIgnore]];
  50114. var ATTRIBUTE_ATTRIBUTORS = [_align.AlignAttribute, _direction.DirectionAttribute].reduce(function (memo, attr) {
  50115. memo[attr.keyName] = attr;
  50116. return memo;
  50117. }, {});
  50118. var STYLE_ATTRIBUTORS = [_align.AlignStyle, _background.BackgroundStyle, _color.ColorStyle, _direction.DirectionStyle, _font.FontStyle, _size.SizeStyle].reduce(function (memo, attr) {
  50119. memo[attr.keyName] = attr;
  50120. return memo;
  50121. }, {});
  50122. var Clipboard = function (_Module) {
  50123. _inherits(Clipboard, _Module);
  50124. function Clipboard(quill, options) {
  50125. _classCallCheck(this, Clipboard);
  50126. var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this, quill, options));
  50127. _this.quill.root.addEventListener('paste', _this.onPaste.bind(_this));
  50128. _this.container = _this.quill.addContainer('ql-clipboard');
  50129. _this.container.setAttribute('contenteditable', true);
  50130. _this.container.setAttribute('tabindex', -1);
  50131. _this.matchers = [];
  50132. CLIPBOARD_CONFIG.concat(_this.options.matchers).forEach(function (_ref) {
  50133. var _ref2 = _slicedToArray(_ref, 2),
  50134. selector = _ref2[0],
  50135. matcher = _ref2[1];
  50136. if (!options.matchVisual && matcher === matchSpacing) return;
  50137. _this.addMatcher(selector, matcher);
  50138. });
  50139. return _this;
  50140. }
  50141. _createClass(Clipboard, [{
  50142. key: 'addMatcher',
  50143. value: function addMatcher(selector, matcher) {
  50144. this.matchers.push([selector, matcher]);
  50145. }
  50146. }, {
  50147. key: 'convert',
  50148. value: function convert(html) {
  50149. if (typeof html === 'string') {
  50150. this.container.innerHTML = html.replace(/\>\r?\n +\</g, '><'); // Remove spaces between tags
  50151. return this.convert();
  50152. }
  50153. var formats = this.quill.getFormat(this.quill.selection.savedRange.index);
  50154. if (formats[_code2.default.blotName]) {
  50155. var text = this.container.innerText;
  50156. this.container.innerHTML = '';
  50157. return new _quillDelta2.default().insert(text, _defineProperty({}, _code2.default.blotName, formats[_code2.default.blotName]));
  50158. }
  50159. var _prepareMatching = this.prepareMatching(),
  50160. _prepareMatching2 = _slicedToArray(_prepareMatching, 2),
  50161. elementMatchers = _prepareMatching2[0],
  50162. textMatchers = _prepareMatching2[1];
  50163. var delta = traverse(this.container, elementMatchers, textMatchers);
  50164. // Remove trailing newline
  50165. if (deltaEndsWith(delta, '\n') && delta.ops[delta.ops.length - 1].attributes == null) {
  50166. delta = delta.compose(new _quillDelta2.default().retain(delta.length() - 1).delete(1));
  50167. }
  50168. debug.log('convert', this.container.innerHTML, delta);
  50169. this.container.innerHTML = '';
  50170. return delta;
  50171. }
  50172. }, {
  50173. key: 'dangerouslyPasteHTML',
  50174. value: function dangerouslyPasteHTML(index, html) {
  50175. var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _quill2.default.sources.API;
  50176. if (typeof index === 'string') {
  50177. this.quill.setContents(this.convert(index), html);
  50178. this.quill.setSelection(0, _quill2.default.sources.SILENT);
  50179. } else {
  50180. var paste = this.convert(html);
  50181. this.quill.updateContents(new _quillDelta2.default().retain(index).concat(paste), source);
  50182. this.quill.setSelection(index + paste.length(), _quill2.default.sources.SILENT);
  50183. }
  50184. }
  50185. }, {
  50186. key: 'onPaste',
  50187. value: function onPaste(e) {
  50188. var _this2 = this;
  50189. if (e.defaultPrevented || !this.quill.isEnabled()) return;
  50190. var range = this.quill.getSelection();
  50191. var delta = new _quillDelta2.default().retain(range.index);
  50192. var scrollTop = this.quill.scrollingContainer.scrollTop;
  50193. this.container.focus();
  50194. this.quill.selection.update(_quill2.default.sources.SILENT);
  50195. setTimeout(function () {
  50196. delta = delta.concat(_this2.convert()).delete(range.length);
  50197. _this2.quill.updateContents(delta, _quill2.default.sources.USER);
  50198. // range.length contributes to delta.length()
  50199. _this2.quill.setSelection(delta.length() - range.length, _quill2.default.sources.SILENT);
  50200. _this2.quill.scrollingContainer.scrollTop = scrollTop;
  50201. _this2.quill.focus();
  50202. }, 1);
  50203. }
  50204. }, {
  50205. key: 'prepareMatching',
  50206. value: function prepareMatching() {
  50207. var _this3 = this;
  50208. var elementMatchers = [],
  50209. textMatchers = [];
  50210. this.matchers.forEach(function (pair) {
  50211. var _pair = _slicedToArray(pair, 2),
  50212. selector = _pair[0],
  50213. matcher = _pair[1];
  50214. switch (selector) {
  50215. case Node.TEXT_NODE:
  50216. textMatchers.push(matcher);
  50217. break;
  50218. case Node.ELEMENT_NODE:
  50219. elementMatchers.push(matcher);
  50220. break;
  50221. default:
  50222. [].forEach.call(_this3.container.querySelectorAll(selector), function (node) {
  50223. // TODO use weakmap
  50224. node[DOM_KEY] = node[DOM_KEY] || [];
  50225. node[DOM_KEY].push(matcher);
  50226. });
  50227. break;
  50228. }
  50229. });
  50230. return [elementMatchers, textMatchers];
  50231. }
  50232. }]);
  50233. return Clipboard;
  50234. }(_module2.default);
  50235. Clipboard.DEFAULTS = {
  50236. matchers: [],
  50237. matchVisual: true
  50238. };
  50239. function applyFormat(delta, format, value) {
  50240. if ((typeof format === 'undefined' ? 'undefined' : _typeof(format)) === 'object') {
  50241. return Object.keys(format).reduce(function (delta, key) {
  50242. return applyFormat(delta, key, format[key]);
  50243. }, delta);
  50244. } else {
  50245. return delta.reduce(function (delta, op) {
  50246. if (op.attributes && op.attributes[format]) {
  50247. return delta.push(op);
  50248. } else {
  50249. return delta.insert(op.insert, (0, _extend3.default)({}, _defineProperty({}, format, value), op.attributes));
  50250. }
  50251. }, new _quillDelta2.default());
  50252. }
  50253. }
  50254. function computeStyle(node) {
  50255. if (node.nodeType !== Node.ELEMENT_NODE) return {};
  50256. var DOM_KEY = '__ql-computed-style';
  50257. return node[DOM_KEY] || (node[DOM_KEY] = window.getComputedStyle(node));
  50258. }
  50259. function deltaEndsWith(delta, text) {
  50260. var endText = "";
  50261. for (var i = delta.ops.length - 1; i >= 0 && endText.length < text.length; --i) {
  50262. var op = delta.ops[i];
  50263. if (typeof op.insert !== 'string') break;
  50264. endText = op.insert + endText;
  50265. }
  50266. return endText.slice(-1 * text.length) === text;
  50267. }
  50268. function isLine(node) {
  50269. if (node.childNodes.length === 0) return false; // Exclude embed blocks
  50270. var style = computeStyle(node);
  50271. return ['block', 'list-item'].indexOf(style.display) > -1;
  50272. }
  50273. function traverse(node, elementMatchers, textMatchers) {
  50274. // Post-order
  50275. if (node.nodeType === node.TEXT_NODE) {
  50276. return textMatchers.reduce(function (delta, matcher) {
  50277. return matcher(node, delta);
  50278. }, new _quillDelta2.default());
  50279. } else if (node.nodeType === node.ELEMENT_NODE) {
  50280. return [].reduce.call(node.childNodes || [], function (delta, childNode) {
  50281. var childrenDelta = traverse(childNode, elementMatchers, textMatchers);
  50282. if (childNode.nodeType === node.ELEMENT_NODE) {
  50283. childrenDelta = elementMatchers.reduce(function (childrenDelta, matcher) {
  50284. return matcher(childNode, childrenDelta);
  50285. }, childrenDelta);
  50286. childrenDelta = (childNode[DOM_KEY] || []).reduce(function (childrenDelta, matcher) {
  50287. return matcher(childNode, childrenDelta);
  50288. }, childrenDelta);
  50289. }
  50290. return delta.concat(childrenDelta);
  50291. }, new _quillDelta2.default());
  50292. } else {
  50293. return new _quillDelta2.default();
  50294. }
  50295. }
  50296. function matchAlias(format, node, delta) {
  50297. return applyFormat(delta, format, true);
  50298. }
  50299. function matchAttributor(node, delta) {
  50300. var attributes = _parchment2.default.Attributor.Attribute.keys(node);
  50301. var classes = _parchment2.default.Attributor.Class.keys(node);
  50302. var styles = _parchment2.default.Attributor.Style.keys(node);
  50303. var formats = {};
  50304. attributes.concat(classes).concat(styles).forEach(function (name) {
  50305. var attr = _parchment2.default.query(name, _parchment2.default.Scope.ATTRIBUTE);
  50306. if (attr != null) {
  50307. formats[attr.attrName] = attr.value(node);
  50308. if (formats[attr.attrName]) return;
  50309. }
  50310. attr = ATTRIBUTE_ATTRIBUTORS[name];
  50311. if (attr != null && (attr.attrName === name || attr.keyName === name)) {
  50312. formats[attr.attrName] = attr.value(node) || undefined;
  50313. }
  50314. attr = STYLE_ATTRIBUTORS[name];
  50315. if (attr != null && (attr.attrName === name || attr.keyName === name)) {
  50316. attr = STYLE_ATTRIBUTORS[name];
  50317. formats[attr.attrName] = attr.value(node) || undefined;
  50318. }
  50319. });
  50320. if (Object.keys(formats).length > 0) {
  50321. delta = applyFormat(delta, formats);
  50322. }
  50323. return delta;
  50324. }
  50325. function matchBlot(node, delta) {
  50326. var match = _parchment2.default.query(node);
  50327. if (match == null) return delta;
  50328. if (match.prototype instanceof _parchment2.default.Embed) {
  50329. var embed = {};
  50330. var value = match.value(node);
  50331. if (value != null) {
  50332. embed[match.blotName] = value;
  50333. delta = new _quillDelta2.default().insert(embed, match.formats(node));
  50334. }
  50335. } else if (typeof match.formats === 'function') {
  50336. delta = applyFormat(delta, match.blotName, match.formats(node));
  50337. }
  50338. return delta;
  50339. }
  50340. function matchBreak(node, delta) {
  50341. if (!deltaEndsWith(delta, '\n')) {
  50342. delta.insert('\n');
  50343. }
  50344. return delta;
  50345. }
  50346. function matchIgnore() {
  50347. return new _quillDelta2.default();
  50348. }
  50349. function matchIndent(node, delta) {
  50350. var match = _parchment2.default.query(node);
  50351. if (match == null || match.blotName !== 'list-item' || !deltaEndsWith(delta, '\n')) {
  50352. return delta;
  50353. }
  50354. var indent = -1,
  50355. parent = node.parentNode;
  50356. while (!parent.classList.contains('ql-clipboard')) {
  50357. if ((_parchment2.default.query(parent) || {}).blotName === 'list') {
  50358. indent += 1;
  50359. }
  50360. parent = parent.parentNode;
  50361. }
  50362. if (indent <= 0) return delta;
  50363. return delta.compose(new _quillDelta2.default().retain(delta.length() - 1).retain(1, { indent: indent }));
  50364. }
  50365. function matchNewline(node, delta) {
  50366. if (!deltaEndsWith(delta, '\n')) {
  50367. if (isLine(node) || delta.length() > 0 && node.nextSibling && isLine(node.nextSibling)) {
  50368. delta.insert('\n');
  50369. }
  50370. }
  50371. return delta;
  50372. }
  50373. function matchSpacing(node, delta) {
  50374. if (isLine(node) && node.nextElementSibling != null && !deltaEndsWith(delta, '\n\n')) {
  50375. var nodeHeight = node.offsetHeight + parseFloat(computeStyle(node).marginTop) + parseFloat(computeStyle(node).marginBottom);
  50376. if (node.nextElementSibling.offsetTop > node.offsetTop + nodeHeight * 1.5) {
  50377. delta.insert('\n');
  50378. }
  50379. }
  50380. return delta;
  50381. }
  50382. function matchStyles(node, delta) {
  50383. var formats = {};
  50384. var style = node.style || {};
  50385. if (style.fontStyle && computeStyle(node).fontStyle === 'italic') {
  50386. formats.italic = true;
  50387. }
  50388. if (style.fontWeight && (computeStyle(node).fontWeight.startsWith('bold') || parseInt(computeStyle(node).fontWeight) >= 700)) {
  50389. formats.bold = true;
  50390. }
  50391. if (Object.keys(formats).length > 0) {
  50392. delta = applyFormat(delta, formats);
  50393. }
  50394. if (parseFloat(style.textIndent || 0) > 0) {
  50395. // Could be 0.5in
  50396. delta = new _quillDelta2.default().insert('\t').concat(delta);
  50397. }
  50398. return delta;
  50399. }
  50400. function matchText(node, delta) {
  50401. var text = node.data;
  50402. // Word represents empty line with <o:p>&nbsp;</o:p>
  50403. if (node.parentNode.tagName === 'O:P') {
  50404. return delta.insert(text.trim());
  50405. }
  50406. if (text.trim().length === 0 && node.parentNode.classList.contains('ql-clipboard')) {
  50407. return delta;
  50408. }
  50409. if (!computeStyle(node.parentNode).whiteSpace.startsWith('pre')) {
  50410. // eslint-disable-next-line func-style
  50411. var replacer = function replacer(collapse, match) {
  50412. match = match.replace(/[^\u00a0]/g, ''); // \u00a0 is nbsp;
  50413. return match.length < 1 && collapse ? ' ' : match;
  50414. };
  50415. text = text.replace(/\r\n/g, ' ').replace(/\n/g, ' ');
  50416. text = text.replace(/\s\s+/g, replacer.bind(replacer, true)); // collapse whitespace
  50417. if (node.previousSibling == null && isLine(node.parentNode) || node.previousSibling != null && isLine(node.previousSibling)) {
  50418. text = text.replace(/^\s+/, replacer.bind(replacer, false));
  50419. }
  50420. if (node.nextSibling == null && isLine(node.parentNode) || node.nextSibling != null && isLine(node.nextSibling)) {
  50421. text = text.replace(/\s+$/, replacer.bind(replacer, false));
  50422. }
  50423. }
  50424. return delta.insert(text);
  50425. }
  50426. exports.default = Clipboard;
  50427. exports.matchAttributor = matchAttributor;
  50428. exports.matchBlot = matchBlot;
  50429. exports.matchNewline = matchNewline;
  50430. exports.matchSpacing = matchSpacing;
  50431. exports.matchText = matchText;
  50432. /***/ }),
  50433. /* 56 */
  50434. /***/ (function(module, exports, __nested_webpack_require_333274__) {
  50435. "use strict";
  50436. Object.defineProperty(exports, "__esModule", {
  50437. value: true
  50438. });
  50439. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  50440. var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
  50441. var _inline = __nested_webpack_require_333274__(6);
  50442. var _inline2 = _interopRequireDefault(_inline);
  50443. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  50444. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  50445. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  50446. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  50447. var Bold = function (_Inline) {
  50448. _inherits(Bold, _Inline);
  50449. function Bold() {
  50450. _classCallCheck(this, Bold);
  50451. return _possibleConstructorReturn(this, (Bold.__proto__ || Object.getPrototypeOf(Bold)).apply(this, arguments));
  50452. }
  50453. _createClass(Bold, [{
  50454. key: 'optimize',
  50455. value: function optimize(context) {
  50456. _get(Bold.prototype.__proto__ || Object.getPrototypeOf(Bold.prototype), 'optimize', this).call(this, context);
  50457. if (this.domNode.tagName !== this.statics.tagName[0]) {
  50458. this.replaceWith(this.statics.blotName);
  50459. }
  50460. }
  50461. }], [{
  50462. key: 'create',
  50463. value: function create() {
  50464. return _get(Bold.__proto__ || Object.getPrototypeOf(Bold), 'create', this).call(this);
  50465. }
  50466. }, {
  50467. key: 'formats',
  50468. value: function formats() {
  50469. return true;
  50470. }
  50471. }]);
  50472. return Bold;
  50473. }(_inline2.default);
  50474. Bold.blotName = 'bold';
  50475. Bold.tagName = ['STRONG', 'B'];
  50476. exports.default = Bold;
  50477. /***/ }),
  50478. /* 57 */
  50479. /***/ (function(module, exports, __nested_webpack_require_336502__) {
  50480. "use strict";
  50481. Object.defineProperty(exports, "__esModule", {
  50482. value: true
  50483. });
  50484. exports.addControls = exports.default = undefined;
  50485. var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
  50486. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  50487. var _quillDelta = __nested_webpack_require_336502__(2);
  50488. var _quillDelta2 = _interopRequireDefault(_quillDelta);
  50489. var _parchment = __nested_webpack_require_336502__(0);
  50490. var _parchment2 = _interopRequireDefault(_parchment);
  50491. var _quill = __nested_webpack_require_336502__(5);
  50492. var _quill2 = _interopRequireDefault(_quill);
  50493. var _logger = __nested_webpack_require_336502__(10);
  50494. var _logger2 = _interopRequireDefault(_logger);
  50495. var _module = __nested_webpack_require_336502__(9);
  50496. var _module2 = _interopRequireDefault(_module);
  50497. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  50498. function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
  50499. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  50500. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  50501. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  50502. var debug = (0, _logger2.default)('quill:toolbar');
  50503. var Toolbar = function (_Module) {
  50504. _inherits(Toolbar, _Module);
  50505. function Toolbar(quill, options) {
  50506. _classCallCheck(this, Toolbar);
  50507. var _this = _possibleConstructorReturn(this, (Toolbar.__proto__ || Object.getPrototypeOf(Toolbar)).call(this, quill, options));
  50508. if (Array.isArray(_this.options.container)) {
  50509. var container = document.createElement('div');
  50510. addControls(container, _this.options.container);
  50511. quill.container.parentNode.insertBefore(container, quill.container);
  50512. _this.container = container;
  50513. } else if (typeof _this.options.container === 'string') {
  50514. _this.container = document.querySelector(_this.options.container);
  50515. } else {
  50516. _this.container = _this.options.container;
  50517. }
  50518. if (!(_this.container instanceof HTMLElement)) {
  50519. var _ret;
  50520. return _ret = debug.error('Container required for toolbar', _this.options), _possibleConstructorReturn(_this, _ret);
  50521. }
  50522. _this.container.classList.add('ql-toolbar');
  50523. _this.controls = [];
  50524. _this.handlers = {};
  50525. Object.keys(_this.options.handlers).forEach(function (format) {
  50526. _this.addHandler(format, _this.options.handlers[format]);
  50527. });
  50528. [].forEach.call(_this.container.querySelectorAll('button, select'), function (input) {
  50529. _this.attach(input);
  50530. });
  50531. _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (type, range) {
  50532. if (type === _quill2.default.events.SELECTION_CHANGE) {
  50533. _this.update(range);
  50534. }
  50535. });
  50536. _this.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {
  50537. var _this$quill$selection = _this.quill.selection.getRange(),
  50538. _this$quill$selection2 = _slicedToArray(_this$quill$selection, 1),
  50539. range = _this$quill$selection2[0]; // quill.getSelection triggers update
  50540. _this.update(range);
  50541. });
  50542. return _this;
  50543. }
  50544. _createClass(Toolbar, [{
  50545. key: 'addHandler',
  50546. value: function addHandler(format, handler) {
  50547. this.handlers[format] = handler;
  50548. }
  50549. }, {
  50550. key: 'attach',
  50551. value: function attach(input) {
  50552. var _this2 = this;
  50553. var format = [].find.call(input.classList, function (className) {
  50554. return className.indexOf('ql-') === 0;
  50555. });
  50556. if (!format) return;
  50557. format = format.slice('ql-'.length);
  50558. if (input.tagName === 'BUTTON') {
  50559. input.setAttribute('type', 'button');
  50560. }
  50561. if (this.handlers[format] == null) {
  50562. if (this.quill.scroll.whitelist != null && this.quill.scroll.whitelist[format] == null) {
  50563. debug.warn('ignoring attaching to disabled format', format, input);
  50564. return;
  50565. }
  50566. if (_parchment2.default.query(format) == null) {
  50567. debug.warn('ignoring attaching to nonexistent format', format, input);
  50568. return;
  50569. }
  50570. }
  50571. var eventName = input.tagName === 'SELECT' ? 'change' : 'click';
  50572. input.addEventListener(eventName, function (e) {
  50573. var value = void 0;
  50574. if (input.tagName === 'SELECT') {
  50575. if (input.selectedIndex < 0) return;
  50576. var selected = input.options[input.selectedIndex];
  50577. if (selected.hasAttribute('selected')) {
  50578. value = false;
  50579. } else {
  50580. value = selected.value || false;
  50581. }
  50582. } else {
  50583. if (input.classList.contains('ql-active')) {
  50584. value = false;
  50585. } else {
  50586. value = input.value || !input.hasAttribute('value');
  50587. }
  50588. e.preventDefault();
  50589. }
  50590. _this2.quill.focus();
  50591. var _quill$selection$getR = _this2.quill.selection.getRange(),
  50592. _quill$selection$getR2 = _slicedToArray(_quill$selection$getR, 1),
  50593. range = _quill$selection$getR2[0];
  50594. if (_this2.handlers[format] != null) {
  50595. _this2.handlers[format].call(_this2, value);
  50596. } else if (_parchment2.default.query(format).prototype instanceof _parchment2.default.Embed) {
  50597. value = prompt('Enter ' + format);
  50598. if (!value) return;
  50599. _this2.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert(_defineProperty({}, format, value)), _quill2.default.sources.USER);
  50600. } else {
  50601. _this2.quill.format(format, value, _quill2.default.sources.USER);
  50602. }
  50603. _this2.update(range);
  50604. });
  50605. // TODO use weakmap
  50606. this.controls.push([format, input]);
  50607. }
  50608. }, {
  50609. key: 'update',
  50610. value: function update(range) {
  50611. var formats = range == null ? {} : this.quill.getFormat(range);
  50612. this.controls.forEach(function (pair) {
  50613. var _pair = _slicedToArray(pair, 2),
  50614. format = _pair[0],
  50615. input = _pair[1];
  50616. if (input.tagName === 'SELECT') {
  50617. var option = void 0;
  50618. if (range == null) {
  50619. option = null;
  50620. } else if (formats[format] == null) {
  50621. option = input.querySelector('option[selected]');
  50622. } else if (!Array.isArray(formats[format])) {
  50623. var value = formats[format];
  50624. if (typeof value === 'string') {
  50625. value = value.replace(/\"/g, '\\"');
  50626. }
  50627. option = input.querySelector('option[value="' + value + '"]');
  50628. }
  50629. if (option == null) {
  50630. input.value = ''; // TODO make configurable?
  50631. input.selectedIndex = -1;
  50632. } else {
  50633. option.selected = true;
  50634. }
  50635. } else {
  50636. if (range == null) {
  50637. input.classList.remove('ql-active');
  50638. } else if (input.hasAttribute('value')) {
  50639. // both being null should match (default values)
  50640. // '1' should match with 1 (headers)
  50641. var isActive = formats[format] === input.getAttribute('value') || formats[format] != null && formats[format].toString() === input.getAttribute('value') || formats[format] == null && !input.getAttribute('value');
  50642. input.classList.toggle('ql-active', isActive);
  50643. } else {
  50644. input.classList.toggle('ql-active', formats[format] != null);
  50645. }
  50646. }
  50647. });
  50648. }
  50649. }]);
  50650. return Toolbar;
  50651. }(_module2.default);
  50652. Toolbar.DEFAULTS = {};
  50653. function addButton(container, format, value) {
  50654. var input = document.createElement('button');
  50655. input.setAttribute('type', 'button');
  50656. input.classList.add('ql-' + format);
  50657. if (value != null) {
  50658. input.value = value;
  50659. }
  50660. container.appendChild(input);
  50661. }
  50662. function addControls(container, groups) {
  50663. if (!Array.isArray(groups[0])) {
  50664. groups = [groups];
  50665. }
  50666. groups.forEach(function (controls) {
  50667. var group = document.createElement('span');
  50668. group.classList.add('ql-formats');
  50669. controls.forEach(function (control) {
  50670. if (typeof control === 'string') {
  50671. addButton(group, control);
  50672. } else {
  50673. var format = Object.keys(control)[0];
  50674. var value = control[format];
  50675. if (Array.isArray(value)) {
  50676. addSelect(group, format, value);
  50677. } else {
  50678. addButton(group, format, value);
  50679. }
  50680. }
  50681. });
  50682. container.appendChild(group);
  50683. });
  50684. }
  50685. function addSelect(container, format, values) {
  50686. var input = document.createElement('select');
  50687. input.classList.add('ql-' + format);
  50688. values.forEach(function (value) {
  50689. var option = document.createElement('option');
  50690. if (value !== false) {
  50691. option.setAttribute('value', value);
  50692. } else {
  50693. option.setAttribute('selected', 'selected');
  50694. }
  50695. input.appendChild(option);
  50696. });
  50697. container.appendChild(input);
  50698. }
  50699. Toolbar.DEFAULTS = {
  50700. container: null,
  50701. handlers: {
  50702. clean: function clean() {
  50703. var _this3 = this;
  50704. var range = this.quill.getSelection();
  50705. if (range == null) return;
  50706. if (range.length == 0) {
  50707. var formats = this.quill.getFormat();
  50708. Object.keys(formats).forEach(function (name) {
  50709. // Clean functionality in existing apps only clean inline formats
  50710. if (_parchment2.default.query(name, _parchment2.default.Scope.INLINE) != null) {
  50711. _this3.quill.format(name, false);
  50712. }
  50713. });
  50714. } else {
  50715. this.quill.removeFormat(range, _quill2.default.sources.USER);
  50716. }
  50717. },
  50718. direction: function direction(value) {
  50719. var align = this.quill.getFormat()['align'];
  50720. if (value === 'rtl' && align == null) {
  50721. this.quill.format('align', 'right', _quill2.default.sources.USER);
  50722. } else if (!value && align === 'right') {
  50723. this.quill.format('align', false, _quill2.default.sources.USER);
  50724. }
  50725. this.quill.format('direction', value, _quill2.default.sources.USER);
  50726. },
  50727. indent: function indent(value) {
  50728. var range = this.quill.getSelection();
  50729. var formats = this.quill.getFormat(range);
  50730. var indent = parseInt(formats.indent || 0);
  50731. if (value === '+1' || value === '-1') {
  50732. var modifier = value === '+1' ? 1 : -1;
  50733. if (formats.direction === 'rtl') modifier *= -1;
  50734. this.quill.format('indent', indent + modifier, _quill2.default.sources.USER);
  50735. }
  50736. },
  50737. link: function link(value) {
  50738. if (value === true) {
  50739. value = prompt('Enter link URL:');
  50740. }
  50741. this.quill.format('link', value, _quill2.default.sources.USER);
  50742. },
  50743. list: function list(value) {
  50744. var range = this.quill.getSelection();
  50745. var formats = this.quill.getFormat(range);
  50746. if (value === 'check') {
  50747. if (formats['list'] === 'checked' || formats['list'] === 'unchecked') {
  50748. this.quill.format('list', false, _quill2.default.sources.USER);
  50749. } else {
  50750. this.quill.format('list', 'unchecked', _quill2.default.sources.USER);
  50751. }
  50752. } else {
  50753. this.quill.format('list', value, _quill2.default.sources.USER);
  50754. }
  50755. }
  50756. }
  50757. };
  50758. exports.default = Toolbar;
  50759. exports.addControls = addControls;
  50760. /***/ }),
  50761. /* 58 */
  50762. /***/ (function(module, exports) {
  50763. module.exports = "<svg viewbox=\"0 0 18 18\"> <polyline class=\"ql-even ql-stroke\" points=\"5 7 3 9 5 11\"></polyline> <polyline class=\"ql-even ql-stroke\" points=\"13 7 15 9 13 11\"></polyline> <line class=ql-stroke x1=10 x2=8 y1=5 y2=13></line> </svg>";
  50764. /***/ }),
  50765. /* 59 */
  50766. /***/ (function(module, exports, __nested_webpack_require_349781__) {
  50767. "use strict";
  50768. Object.defineProperty(exports, "__esModule", {
  50769. value: true
  50770. });
  50771. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  50772. var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
  50773. var _picker = __nested_webpack_require_349781__(28);
  50774. var _picker2 = _interopRequireDefault(_picker);
  50775. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  50776. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  50777. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  50778. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  50779. var ColorPicker = function (_Picker) {
  50780. _inherits(ColorPicker, _Picker);
  50781. function ColorPicker(select, label) {
  50782. _classCallCheck(this, ColorPicker);
  50783. var _this = _possibleConstructorReturn(this, (ColorPicker.__proto__ || Object.getPrototypeOf(ColorPicker)).call(this, select));
  50784. _this.label.innerHTML = label;
  50785. _this.container.classList.add('ql-color-picker');
  50786. [].slice.call(_this.container.querySelectorAll('.ql-picker-item'), 0, 7).forEach(function (item) {
  50787. item.classList.add('ql-primary');
  50788. });
  50789. return _this;
  50790. }
  50791. _createClass(ColorPicker, [{
  50792. key: 'buildItem',
  50793. value: function buildItem(option) {
  50794. var item = _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'buildItem', this).call(this, option);
  50795. item.style.backgroundColor = option.getAttribute('value') || '';
  50796. return item;
  50797. }
  50798. }, {
  50799. key: 'selectItem',
  50800. value: function selectItem(item, trigger) {
  50801. _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'selectItem', this).call(this, item, trigger);
  50802. var colorLabel = this.label.querySelector('.ql-color-label');
  50803. var value = item ? item.getAttribute('data-value') || '' : '';
  50804. if (colorLabel) {
  50805. if (colorLabel.tagName === 'line') {
  50806. colorLabel.style.stroke = value;
  50807. } else {
  50808. colorLabel.style.fill = value;
  50809. }
  50810. }
  50811. }
  50812. }]);
  50813. return ColorPicker;
  50814. }(_picker2.default);
  50815. exports.default = ColorPicker;
  50816. /***/ }),
  50817. /* 60 */
  50818. /***/ (function(module, exports, __nested_webpack_require_353592__) {
  50819. "use strict";
  50820. Object.defineProperty(exports, "__esModule", {
  50821. value: true
  50822. });
  50823. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  50824. var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
  50825. var _picker = __nested_webpack_require_353592__(28);
  50826. var _picker2 = _interopRequireDefault(_picker);
  50827. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  50828. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  50829. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  50830. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  50831. var IconPicker = function (_Picker) {
  50832. _inherits(IconPicker, _Picker);
  50833. function IconPicker(select, icons) {
  50834. _classCallCheck(this, IconPicker);
  50835. var _this = _possibleConstructorReturn(this, (IconPicker.__proto__ || Object.getPrototypeOf(IconPicker)).call(this, select));
  50836. _this.container.classList.add('ql-icon-picker');
  50837. [].forEach.call(_this.container.querySelectorAll('.ql-picker-item'), function (item) {
  50838. item.innerHTML = icons[item.getAttribute('data-value') || ''];
  50839. });
  50840. _this.defaultItem = _this.container.querySelector('.ql-selected');
  50841. _this.selectItem(_this.defaultItem);
  50842. return _this;
  50843. }
  50844. _createClass(IconPicker, [{
  50845. key: 'selectItem',
  50846. value: function selectItem(item, trigger) {
  50847. _get(IconPicker.prototype.__proto__ || Object.getPrototypeOf(IconPicker.prototype), 'selectItem', this).call(this, item, trigger);
  50848. item = item || this.defaultItem;
  50849. this.label.innerHTML = item.innerHTML;
  50850. }
  50851. }]);
  50852. return IconPicker;
  50853. }(_picker2.default);
  50854. exports.default = IconPicker;
  50855. /***/ }),
  50856. /* 61 */
  50857. /***/ (function(module, exports, __webpack_require__) {
  50858. "use strict";
  50859. Object.defineProperty(exports, "__esModule", {
  50860. value: true
  50861. });
  50862. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  50863. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  50864. var Tooltip = function () {
  50865. function Tooltip(quill, boundsContainer) {
  50866. var _this = this;
  50867. _classCallCheck(this, Tooltip);
  50868. this.quill = quill;
  50869. this.boundsContainer = boundsContainer || document.body;
  50870. this.root = quill.addContainer('ql-tooltip');
  50871. this.root.innerHTML = this.constructor.TEMPLATE;
  50872. if (this.quill.root === this.quill.scrollingContainer) {
  50873. this.quill.root.addEventListener('scroll', function () {
  50874. _this.root.style.marginTop = -1 * _this.quill.root.scrollTop + 'px';
  50875. });
  50876. }
  50877. this.hide();
  50878. }
  50879. _createClass(Tooltip, [{
  50880. key: 'hide',
  50881. value: function hide() {
  50882. this.root.classList.add('ql-hidden');
  50883. }
  50884. }, {
  50885. key: 'position',
  50886. value: function position(reference) {
  50887. var left = reference.left + reference.width / 2 - this.root.offsetWidth / 2;
  50888. // root.scrollTop should be 0 if scrollContainer !== root
  50889. var top = reference.bottom + this.quill.root.scrollTop;
  50890. this.root.style.left = left + 'px';
  50891. this.root.style.top = top + 'px';
  50892. this.root.classList.remove('ql-flip');
  50893. var containerBounds = this.boundsContainer.getBoundingClientRect();
  50894. var rootBounds = this.root.getBoundingClientRect();
  50895. var shift = 0;
  50896. if (rootBounds.right > containerBounds.right) {
  50897. shift = containerBounds.right - rootBounds.right;
  50898. this.root.style.left = left + shift + 'px';
  50899. }
  50900. if (rootBounds.left < containerBounds.left) {
  50901. shift = containerBounds.left - rootBounds.left;
  50902. this.root.style.left = left + shift + 'px';
  50903. }
  50904. if (rootBounds.bottom > containerBounds.bottom) {
  50905. var height = rootBounds.bottom - rootBounds.top;
  50906. var verticalShift = reference.bottom - reference.top + height;
  50907. this.root.style.top = top - verticalShift + 'px';
  50908. this.root.classList.add('ql-flip');
  50909. }
  50910. return shift;
  50911. }
  50912. }, {
  50913. key: 'show',
  50914. value: function show() {
  50915. this.root.classList.remove('ql-editing');
  50916. this.root.classList.remove('ql-hidden');
  50917. }
  50918. }]);
  50919. return Tooltip;
  50920. }();
  50921. exports.default = Tooltip;
  50922. /***/ }),
  50923. /* 62 */
  50924. /***/ (function(module, exports, __nested_webpack_require_359932__) {
  50925. "use strict";
  50926. Object.defineProperty(exports, "__esModule", {
  50927. value: true
  50928. });
  50929. var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
  50930. var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
  50931. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  50932. var _extend = __nested_webpack_require_359932__(3);
  50933. var _extend2 = _interopRequireDefault(_extend);
  50934. var _emitter = __nested_webpack_require_359932__(8);
  50935. var _emitter2 = _interopRequireDefault(_emitter);
  50936. var _base = __nested_webpack_require_359932__(43);
  50937. var _base2 = _interopRequireDefault(_base);
  50938. var _link = __nested_webpack_require_359932__(27);
  50939. var _link2 = _interopRequireDefault(_link);
  50940. var _selection = __nested_webpack_require_359932__(15);
  50941. var _icons = __nested_webpack_require_359932__(41);
  50942. var _icons2 = _interopRequireDefault(_icons);
  50943. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  50944. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  50945. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  50946. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  50947. var TOOLBAR_CONFIG = [[{ header: ['1', '2', '3', false] }], ['bold', 'italic', 'underline', 'link'], [{ list: 'ordered' }, { list: 'bullet' }], ['clean']];
  50948. var SnowTheme = function (_BaseTheme) {
  50949. _inherits(SnowTheme, _BaseTheme);
  50950. function SnowTheme(quill, options) {
  50951. _classCallCheck(this, SnowTheme);
  50952. if (options.modules.toolbar != null && options.modules.toolbar.container == null) {
  50953. options.modules.toolbar.container = TOOLBAR_CONFIG;
  50954. }
  50955. var _this = _possibleConstructorReturn(this, (SnowTheme.__proto__ || Object.getPrototypeOf(SnowTheme)).call(this, quill, options));
  50956. _this.quill.container.classList.add('ql-snow');
  50957. return _this;
  50958. }
  50959. _createClass(SnowTheme, [{
  50960. key: 'extendToolbar',
  50961. value: function extendToolbar(toolbar) {
  50962. toolbar.container.classList.add('ql-snow');
  50963. this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);
  50964. this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);
  50965. this.tooltip = new SnowTooltip(this.quill, this.options.bounds);
  50966. if (toolbar.container.querySelector('.ql-link')) {
  50967. this.quill.keyboard.addBinding({ key: 'K', shortKey: true }, function (range, context) {
  50968. toolbar.handlers['link'].call(toolbar, !context.format.link);
  50969. });
  50970. }
  50971. }
  50972. }]);
  50973. return SnowTheme;
  50974. }(_base2.default);
  50975. SnowTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {
  50976. modules: {
  50977. toolbar: {
  50978. handlers: {
  50979. link: function link(value) {
  50980. if (value) {
  50981. var range = this.quill.getSelection();
  50982. if (range == null || range.length == 0) return;
  50983. var preview = this.quill.getText(range);
  50984. if (/^\S+@\S+\.\S+$/.test(preview) && preview.indexOf('mailto:') !== 0) {
  50985. preview = 'mailto:' + preview;
  50986. }
  50987. var tooltip = this.quill.theme.tooltip;
  50988. tooltip.edit('link', preview);
  50989. } else {
  50990. this.quill.format('link', false);
  50991. }
  50992. }
  50993. }
  50994. }
  50995. }
  50996. });
  50997. var SnowTooltip = function (_BaseTooltip) {
  50998. _inherits(SnowTooltip, _BaseTooltip);
  50999. function SnowTooltip(quill, bounds) {
  51000. _classCallCheck(this, SnowTooltip);
  51001. var _this2 = _possibleConstructorReturn(this, (SnowTooltip.__proto__ || Object.getPrototypeOf(SnowTooltip)).call(this, quill, bounds));
  51002. _this2.preview = _this2.root.querySelector('a.ql-preview');
  51003. return _this2;
  51004. }
  51005. _createClass(SnowTooltip, [{
  51006. key: 'listen',
  51007. value: function listen() {
  51008. var _this3 = this;
  51009. _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'listen', this).call(this);
  51010. this.root.querySelector('a.ql-action').addEventListener('click', function (event) {
  51011. if (_this3.root.classList.contains('ql-editing')) {
  51012. _this3.save();
  51013. } else {
  51014. _this3.edit('link', _this3.preview.textContent);
  51015. }
  51016. event.preventDefault();
  51017. });
  51018. this.root.querySelector('a.ql-remove').addEventListener('click', function (event) {
  51019. if (_this3.linkRange != null) {
  51020. var range = _this3.linkRange;
  51021. _this3.restoreFocus();
  51022. _this3.quill.formatText(range, 'link', false, _emitter2.default.sources.USER);
  51023. delete _this3.linkRange;
  51024. }
  51025. event.preventDefault();
  51026. _this3.hide();
  51027. });
  51028. this.quill.on(_emitter2.default.events.SELECTION_CHANGE, function (range, oldRange, source) {
  51029. if (range == null) return;
  51030. if (range.length === 0 && source === _emitter2.default.sources.USER) {
  51031. var _quill$scroll$descend = _this3.quill.scroll.descendant(_link2.default, range.index),
  51032. _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),
  51033. link = _quill$scroll$descend2[0],
  51034. offset = _quill$scroll$descend2[1];
  51035. if (link != null) {
  51036. _this3.linkRange = new _selection.Range(range.index - offset, link.length());
  51037. var preview = _link2.default.formats(link.domNode);
  51038. _this3.preview.textContent = preview;
  51039. _this3.preview.setAttribute('href', preview);
  51040. _this3.show();
  51041. _this3.position(_this3.quill.getBounds(_this3.linkRange));
  51042. return;
  51043. }
  51044. } else {
  51045. delete _this3.linkRange;
  51046. }
  51047. _this3.hide();
  51048. });
  51049. }
  51050. }, {
  51051. key: 'show',
  51052. value: function show() {
  51053. _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'show', this).call(this);
  51054. this.root.removeAttribute('data-mode');
  51055. }
  51056. }]);
  51057. return SnowTooltip;
  51058. }(_base.BaseTooltip);
  51059. SnowTooltip.TEMPLATE = ['<a class="ql-preview" rel="noopener noreferrer" target="_blank" href="about:blank"></a>', '<input type="text" data-formula="e=mc^2" data-link="https://quilljs.com" data-video="Embed URL">', '<a class="ql-action"></a>', '<a class="ql-remove"></a>'].join('');
  51060. exports.default = SnowTheme;
  51061. /***/ }),
  51062. /* 63 */
  51063. /***/ (function(module, exports, __nested_webpack_require_368316__) {
  51064. "use strict";
  51065. Object.defineProperty(exports, "__esModule", {
  51066. value: true
  51067. });
  51068. var _core = __nested_webpack_require_368316__(29);
  51069. var _core2 = _interopRequireDefault(_core);
  51070. var _align = __nested_webpack_require_368316__(36);
  51071. var _direction = __nested_webpack_require_368316__(38);
  51072. var _indent = __nested_webpack_require_368316__(64);
  51073. var _blockquote = __nested_webpack_require_368316__(65);
  51074. var _blockquote2 = _interopRequireDefault(_blockquote);
  51075. var _header = __nested_webpack_require_368316__(66);
  51076. var _header2 = _interopRequireDefault(_header);
  51077. var _list = __nested_webpack_require_368316__(67);
  51078. var _list2 = _interopRequireDefault(_list);
  51079. var _background = __nested_webpack_require_368316__(37);
  51080. var _color = __nested_webpack_require_368316__(26);
  51081. var _font = __nested_webpack_require_368316__(39);
  51082. var _size = __nested_webpack_require_368316__(40);
  51083. var _bold = __nested_webpack_require_368316__(56);
  51084. var _bold2 = _interopRequireDefault(_bold);
  51085. var _italic = __nested_webpack_require_368316__(68);
  51086. var _italic2 = _interopRequireDefault(_italic);
  51087. var _link = __nested_webpack_require_368316__(27);
  51088. var _link2 = _interopRequireDefault(_link);
  51089. var _script = __nested_webpack_require_368316__(69);
  51090. var _script2 = _interopRequireDefault(_script);
  51091. var _strike = __nested_webpack_require_368316__(70);
  51092. var _strike2 = _interopRequireDefault(_strike);
  51093. var _underline = __nested_webpack_require_368316__(71);
  51094. var _underline2 = _interopRequireDefault(_underline);
  51095. var _image = __nested_webpack_require_368316__(72);
  51096. var _image2 = _interopRequireDefault(_image);
  51097. var _video = __nested_webpack_require_368316__(73);
  51098. var _video2 = _interopRequireDefault(_video);
  51099. var _code = __nested_webpack_require_368316__(13);
  51100. var _code2 = _interopRequireDefault(_code);
  51101. var _formula = __nested_webpack_require_368316__(74);
  51102. var _formula2 = _interopRequireDefault(_formula);
  51103. var _syntax = __nested_webpack_require_368316__(75);
  51104. var _syntax2 = _interopRequireDefault(_syntax);
  51105. var _toolbar = __nested_webpack_require_368316__(57);
  51106. var _toolbar2 = _interopRequireDefault(_toolbar);
  51107. var _icons = __nested_webpack_require_368316__(41);
  51108. var _icons2 = _interopRequireDefault(_icons);
  51109. var _picker = __nested_webpack_require_368316__(28);
  51110. var _picker2 = _interopRequireDefault(_picker);
  51111. var _colorPicker = __nested_webpack_require_368316__(59);
  51112. var _colorPicker2 = _interopRequireDefault(_colorPicker);
  51113. var _iconPicker = __nested_webpack_require_368316__(60);
  51114. var _iconPicker2 = _interopRequireDefault(_iconPicker);
  51115. var _tooltip = __nested_webpack_require_368316__(61);
  51116. var _tooltip2 = _interopRequireDefault(_tooltip);
  51117. var _bubble = __nested_webpack_require_368316__(108);
  51118. var _bubble2 = _interopRequireDefault(_bubble);
  51119. var _snow = __nested_webpack_require_368316__(62);
  51120. var _snow2 = _interopRequireDefault(_snow);
  51121. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  51122. _core2.default.register({
  51123. 'attributors/attribute/direction': _direction.DirectionAttribute,
  51124. 'attributors/class/align': _align.AlignClass,
  51125. 'attributors/class/background': _background.BackgroundClass,
  51126. 'attributors/class/color': _color.ColorClass,
  51127. 'attributors/class/direction': _direction.DirectionClass,
  51128. 'attributors/class/font': _font.FontClass,
  51129. 'attributors/class/size': _size.SizeClass,
  51130. 'attributors/style/align': _align.AlignStyle,
  51131. 'attributors/style/background': _background.BackgroundStyle,
  51132. 'attributors/style/color': _color.ColorStyle,
  51133. 'attributors/style/direction': _direction.DirectionStyle,
  51134. 'attributors/style/font': _font.FontStyle,
  51135. 'attributors/style/size': _size.SizeStyle
  51136. }, true);
  51137. _core2.default.register({
  51138. 'formats/align': _align.AlignClass,
  51139. 'formats/direction': _direction.DirectionClass,
  51140. 'formats/indent': _indent.IndentClass,
  51141. 'formats/background': _background.BackgroundStyle,
  51142. 'formats/color': _color.ColorStyle,
  51143. 'formats/font': _font.FontClass,
  51144. 'formats/size': _size.SizeClass,
  51145. 'formats/blockquote': _blockquote2.default,
  51146. 'formats/code-block': _code2.default,
  51147. 'formats/header': _header2.default,
  51148. 'formats/list': _list2.default,
  51149. 'formats/bold': _bold2.default,
  51150. 'formats/code': _code.Code,
  51151. 'formats/italic': _italic2.default,
  51152. 'formats/link': _link2.default,
  51153. 'formats/script': _script2.default,
  51154. 'formats/strike': _strike2.default,
  51155. 'formats/underline': _underline2.default,
  51156. 'formats/image': _image2.default,
  51157. 'formats/video': _video2.default,
  51158. 'formats/list/item': _list.ListItem,
  51159. 'modules/formula': _formula2.default,
  51160. 'modules/syntax': _syntax2.default,
  51161. 'modules/toolbar': _toolbar2.default,
  51162. 'themes/bubble': _bubble2.default,
  51163. 'themes/snow': _snow2.default,
  51164. 'ui/icons': _icons2.default,
  51165. 'ui/picker': _picker2.default,
  51166. 'ui/icon-picker': _iconPicker2.default,
  51167. 'ui/color-picker': _colorPicker2.default,
  51168. 'ui/tooltip': _tooltip2.default
  51169. }, true);
  51170. exports.default = _core2.default;
  51171. /***/ }),
  51172. /* 64 */
  51173. /***/ (function(module, exports, __nested_webpack_require_372903__) {
  51174. "use strict";
  51175. Object.defineProperty(exports, "__esModule", {
  51176. value: true
  51177. });
  51178. exports.IndentClass = undefined;
  51179. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  51180. var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
  51181. var _parchment = __nested_webpack_require_372903__(0);
  51182. var _parchment2 = _interopRequireDefault(_parchment);
  51183. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  51184. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  51185. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  51186. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  51187. var IdentAttributor = function (_Parchment$Attributor) {
  51188. _inherits(IdentAttributor, _Parchment$Attributor);
  51189. function IdentAttributor() {
  51190. _classCallCheck(this, IdentAttributor);
  51191. return _possibleConstructorReturn(this, (IdentAttributor.__proto__ || Object.getPrototypeOf(IdentAttributor)).apply(this, arguments));
  51192. }
  51193. _createClass(IdentAttributor, [{
  51194. key: 'add',
  51195. value: function add(node, value) {
  51196. if (value === '+1' || value === '-1') {
  51197. var indent = this.value(node) || 0;
  51198. value = value === '+1' ? indent + 1 : indent - 1;
  51199. }
  51200. if (value === 0) {
  51201. this.remove(node);
  51202. return true;
  51203. } else {
  51204. return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'add', this).call(this, node, value);
  51205. }
  51206. }
  51207. }, {
  51208. key: 'canAdd',
  51209. value: function canAdd(node, value) {
  51210. return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, value) || _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, parseInt(value));
  51211. }
  51212. }, {
  51213. key: 'value',
  51214. value: function value(node) {
  51215. return parseInt(_get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'value', this).call(this, node)) || undefined; // Don't return NaN
  51216. }
  51217. }]);
  51218. return IdentAttributor;
  51219. }(_parchment2.default.Attributor.Class);
  51220. var IndentClass = new IdentAttributor('indent', 'ql-indent', {
  51221. scope: _parchment2.default.Scope.BLOCK,
  51222. whitelist: [1, 2, 3, 4, 5, 6, 7, 8]
  51223. });
  51224. exports.IndentClass = IndentClass;
  51225. /***/ }),
  51226. /* 65 */
  51227. /***/ (function(module, exports, __nested_webpack_require_376943__) {
  51228. "use strict";
  51229. Object.defineProperty(exports, "__esModule", {
  51230. value: true
  51231. });
  51232. var _block = __nested_webpack_require_376943__(4);
  51233. var _block2 = _interopRequireDefault(_block);
  51234. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  51235. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  51236. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  51237. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  51238. var Blockquote = function (_Block) {
  51239. _inherits(Blockquote, _Block);
  51240. function Blockquote() {
  51241. _classCallCheck(this, Blockquote);
  51242. return _possibleConstructorReturn(this, (Blockquote.__proto__ || Object.getPrototypeOf(Blockquote)).apply(this, arguments));
  51243. }
  51244. return Blockquote;
  51245. }(_block2.default);
  51246. Blockquote.blotName = 'blockquote';
  51247. Blockquote.tagName = 'blockquote';
  51248. exports.default = Blockquote;
  51249. /***/ }),
  51250. /* 66 */
  51251. /***/ (function(module, exports, __nested_webpack_require_378592__) {
  51252. "use strict";
  51253. Object.defineProperty(exports, "__esModule", {
  51254. value: true
  51255. });
  51256. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  51257. var _block = __nested_webpack_require_378592__(4);
  51258. var _block2 = _interopRequireDefault(_block);
  51259. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  51260. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  51261. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  51262. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  51263. var Header = function (_Block) {
  51264. _inherits(Header, _Block);
  51265. function Header() {
  51266. _classCallCheck(this, Header);
  51267. return _possibleConstructorReturn(this, (Header.__proto__ || Object.getPrototypeOf(Header)).apply(this, arguments));
  51268. }
  51269. _createClass(Header, null, [{
  51270. key: 'formats',
  51271. value: function formats(domNode) {
  51272. return this.tagName.indexOf(domNode.tagName) + 1;
  51273. }
  51274. }]);
  51275. return Header;
  51276. }(_block2.default);
  51277. Header.blotName = 'header';
  51278. Header.tagName = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'];
  51279. exports.default = Header;
  51280. /***/ }),
  51281. /* 67 */
  51282. /***/ (function(module, exports, __nested_webpack_require_380948__) {
  51283. "use strict";
  51284. Object.defineProperty(exports, "__esModule", {
  51285. value: true
  51286. });
  51287. exports.default = exports.ListItem = undefined;
  51288. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  51289. var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
  51290. var _parchment = __nested_webpack_require_380948__(0);
  51291. var _parchment2 = _interopRequireDefault(_parchment);
  51292. var _block = __nested_webpack_require_380948__(4);
  51293. var _block2 = _interopRequireDefault(_block);
  51294. var _container = __nested_webpack_require_380948__(25);
  51295. var _container2 = _interopRequireDefault(_container);
  51296. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  51297. function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
  51298. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  51299. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  51300. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  51301. var ListItem = function (_Block) {
  51302. _inherits(ListItem, _Block);
  51303. function ListItem() {
  51304. _classCallCheck(this, ListItem);
  51305. return _possibleConstructorReturn(this, (ListItem.__proto__ || Object.getPrototypeOf(ListItem)).apply(this, arguments));
  51306. }
  51307. _createClass(ListItem, [{
  51308. key: 'format',
  51309. value: function format(name, value) {
  51310. if (name === List.blotName && !value) {
  51311. this.replaceWith(_parchment2.default.create(this.statics.scope));
  51312. } else {
  51313. _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'format', this).call(this, name, value);
  51314. }
  51315. }
  51316. }, {
  51317. key: 'remove',
  51318. value: function remove() {
  51319. if (this.prev == null && this.next == null) {
  51320. this.parent.remove();
  51321. } else {
  51322. _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'remove', this).call(this);
  51323. }
  51324. }
  51325. }, {
  51326. key: 'replaceWith',
  51327. value: function replaceWith(name, value) {
  51328. this.parent.isolate(this.offset(this.parent), this.length());
  51329. if (name === this.parent.statics.blotName) {
  51330. this.parent.replaceWith(name, value);
  51331. return this;
  51332. } else {
  51333. this.parent.unwrap();
  51334. return _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'replaceWith', this).call(this, name, value);
  51335. }
  51336. }
  51337. }], [{
  51338. key: 'formats',
  51339. value: function formats(domNode) {
  51340. return domNode.tagName === this.tagName ? undefined : _get(ListItem.__proto__ || Object.getPrototypeOf(ListItem), 'formats', this).call(this, domNode);
  51341. }
  51342. }]);
  51343. return ListItem;
  51344. }(_block2.default);
  51345. ListItem.blotName = 'list-item';
  51346. ListItem.tagName = 'LI';
  51347. var List = function (_Container) {
  51348. _inherits(List, _Container);
  51349. _createClass(List, null, [{
  51350. key: 'create',
  51351. value: function create(value) {
  51352. var tagName = value === 'ordered' ? 'OL' : 'UL';
  51353. var node = _get(List.__proto__ || Object.getPrototypeOf(List), 'create', this).call(this, tagName);
  51354. if (value === 'checked' || value === 'unchecked') {
  51355. node.setAttribute('data-checked', value === 'checked');
  51356. }
  51357. return node;
  51358. }
  51359. }, {
  51360. key: 'formats',
  51361. value: function formats(domNode) {
  51362. if (domNode.tagName === 'OL') return 'ordered';
  51363. if (domNode.tagName === 'UL') {
  51364. if (domNode.hasAttribute('data-checked')) {
  51365. return domNode.getAttribute('data-checked') === 'true' ? 'checked' : 'unchecked';
  51366. } else {
  51367. return 'bullet';
  51368. }
  51369. }
  51370. return undefined;
  51371. }
  51372. }]);
  51373. function List(domNode) {
  51374. _classCallCheck(this, List);
  51375. var _this2 = _possibleConstructorReturn(this, (List.__proto__ || Object.getPrototypeOf(List)).call(this, domNode));
  51376. var listEventHandler = function listEventHandler(e) {
  51377. if (e.target.parentNode !== domNode) return;
  51378. var format = _this2.statics.formats(domNode);
  51379. var blot = _parchment2.default.find(e.target);
  51380. if (format === 'checked') {
  51381. blot.format('list', 'unchecked');
  51382. } else if (format === 'unchecked') {
  51383. blot.format('list', 'checked');
  51384. }
  51385. };
  51386. domNode.addEventListener('touchstart', listEventHandler);
  51387. domNode.addEventListener('mousedown', listEventHandler);
  51388. return _this2;
  51389. }
  51390. _createClass(List, [{
  51391. key: 'format',
  51392. value: function format(name, value) {
  51393. if (this.children.length > 0) {
  51394. this.children.tail.format(name, value);
  51395. }
  51396. }
  51397. }, {
  51398. key: 'formats',
  51399. value: function formats() {
  51400. // We don't inherit from FormatBlot
  51401. return _defineProperty({}, this.statics.blotName, this.statics.formats(this.domNode));
  51402. }
  51403. }, {
  51404. key: 'insertBefore',
  51405. value: function insertBefore(blot, ref) {
  51406. if (blot instanceof ListItem) {
  51407. _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'insertBefore', this).call(this, blot, ref);
  51408. } else {
  51409. var index = ref == null ? this.length() : ref.offset(this);
  51410. var after = this.split(index);
  51411. after.parent.insertBefore(blot, after);
  51412. }
  51413. }
  51414. }, {
  51415. key: 'optimize',
  51416. value: function optimize(context) {
  51417. _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'optimize', this).call(this, context);
  51418. var next = this.next;
  51419. if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && next.domNode.tagName === this.domNode.tagName && next.domNode.getAttribute('data-checked') === this.domNode.getAttribute('data-checked')) {
  51420. next.moveChildren(this);
  51421. next.remove();
  51422. }
  51423. }
  51424. }, {
  51425. key: 'replace',
  51426. value: function replace(target) {
  51427. if (target.statics.blotName !== this.statics.blotName) {
  51428. var item = _parchment2.default.create(this.statics.defaultChild);
  51429. target.moveChildren(item);
  51430. this.appendChild(item);
  51431. }
  51432. _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'replace', this).call(this, target);
  51433. }
  51434. }]);
  51435. return List;
  51436. }(_container2.default);
  51437. List.blotName = 'list';
  51438. List.scope = _parchment2.default.Scope.BLOCK_BLOT;
  51439. List.tagName = ['OL', 'UL'];
  51440. List.defaultChild = 'list-item';
  51441. List.allowedChildren = [ListItem];
  51442. exports.ListItem = ListItem;
  51443. exports.default = List;
  51444. /***/ }),
  51445. /* 68 */
  51446. /***/ (function(module, exports, __nested_webpack_require_389000__) {
  51447. "use strict";
  51448. Object.defineProperty(exports, "__esModule", {
  51449. value: true
  51450. });
  51451. var _bold = __nested_webpack_require_389000__(56);
  51452. var _bold2 = _interopRequireDefault(_bold);
  51453. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  51454. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  51455. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  51456. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  51457. var Italic = function (_Bold) {
  51458. _inherits(Italic, _Bold);
  51459. function Italic() {
  51460. _classCallCheck(this, Italic);
  51461. return _possibleConstructorReturn(this, (Italic.__proto__ || Object.getPrototypeOf(Italic)).apply(this, arguments));
  51462. }
  51463. return Italic;
  51464. }(_bold2.default);
  51465. Italic.blotName = 'italic';
  51466. Italic.tagName = ['EM', 'I'];
  51467. exports.default = Italic;
  51468. /***/ }),
  51469. /* 69 */
  51470. /***/ (function(module, exports, __nested_webpack_require_390599__) {
  51471. "use strict";
  51472. Object.defineProperty(exports, "__esModule", {
  51473. value: true
  51474. });
  51475. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  51476. var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
  51477. var _inline = __nested_webpack_require_390599__(6);
  51478. var _inline2 = _interopRequireDefault(_inline);
  51479. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  51480. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  51481. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  51482. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  51483. var Script = function (_Inline) {
  51484. _inherits(Script, _Inline);
  51485. function Script() {
  51486. _classCallCheck(this, Script);
  51487. return _possibleConstructorReturn(this, (Script.__proto__ || Object.getPrototypeOf(Script)).apply(this, arguments));
  51488. }
  51489. _createClass(Script, null, [{
  51490. key: 'create',
  51491. value: function create(value) {
  51492. if (value === 'super') {
  51493. return document.createElement('sup');
  51494. } else if (value === 'sub') {
  51495. return document.createElement('sub');
  51496. } else {
  51497. return _get(Script.__proto__ || Object.getPrototypeOf(Script), 'create', this).call(this, value);
  51498. }
  51499. }
  51500. }, {
  51501. key: 'formats',
  51502. value: function formats(domNode) {
  51503. if (domNode.tagName === 'SUB') return 'sub';
  51504. if (domNode.tagName === 'SUP') return 'super';
  51505. return undefined;
  51506. }
  51507. }]);
  51508. return Script;
  51509. }(_inline2.default);
  51510. Script.blotName = 'script';
  51511. Script.tagName = ['SUB', 'SUP'];
  51512. exports.default = Script;
  51513. /***/ }),
  51514. /* 70 */
  51515. /***/ (function(module, exports, __nested_webpack_require_393860__) {
  51516. "use strict";
  51517. Object.defineProperty(exports, "__esModule", {
  51518. value: true
  51519. });
  51520. var _inline = __nested_webpack_require_393860__(6);
  51521. var _inline2 = _interopRequireDefault(_inline);
  51522. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  51523. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  51524. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  51525. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  51526. var Strike = function (_Inline) {
  51527. _inherits(Strike, _Inline);
  51528. function Strike() {
  51529. _classCallCheck(this, Strike);
  51530. return _possibleConstructorReturn(this, (Strike.__proto__ || Object.getPrototypeOf(Strike)).apply(this, arguments));
  51531. }
  51532. return Strike;
  51533. }(_inline2.default);
  51534. Strike.blotName = 'strike';
  51535. Strike.tagName = 'S';
  51536. exports.default = Strike;
  51537. /***/ }),
  51538. /* 71 */
  51539. /***/ (function(module, exports, __nested_webpack_require_395462__) {
  51540. "use strict";
  51541. Object.defineProperty(exports, "__esModule", {
  51542. value: true
  51543. });
  51544. var _inline = __nested_webpack_require_395462__(6);
  51545. var _inline2 = _interopRequireDefault(_inline);
  51546. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  51547. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  51548. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  51549. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  51550. var Underline = function (_Inline) {
  51551. _inherits(Underline, _Inline);
  51552. function Underline() {
  51553. _classCallCheck(this, Underline);
  51554. return _possibleConstructorReturn(this, (Underline.__proto__ || Object.getPrototypeOf(Underline)).apply(this, arguments));
  51555. }
  51556. return Underline;
  51557. }(_inline2.default);
  51558. Underline.blotName = 'underline';
  51559. Underline.tagName = 'U';
  51560. exports.default = Underline;
  51561. /***/ }),
  51562. /* 72 */
  51563. /***/ (function(module, exports, __nested_webpack_require_397097__) {
  51564. "use strict";
  51565. Object.defineProperty(exports, "__esModule", {
  51566. value: true
  51567. });
  51568. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  51569. var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
  51570. var _parchment = __nested_webpack_require_397097__(0);
  51571. var _parchment2 = _interopRequireDefault(_parchment);
  51572. var _link = __nested_webpack_require_397097__(27);
  51573. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  51574. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  51575. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  51576. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  51577. var ATTRIBUTES = ['alt', 'height', 'width'];
  51578. var Image = function (_Parchment$Embed) {
  51579. _inherits(Image, _Parchment$Embed);
  51580. function Image() {
  51581. _classCallCheck(this, Image);
  51582. return _possibleConstructorReturn(this, (Image.__proto__ || Object.getPrototypeOf(Image)).apply(this, arguments));
  51583. }
  51584. _createClass(Image, [{
  51585. key: 'format',
  51586. value: function format(name, value) {
  51587. if (ATTRIBUTES.indexOf(name) > -1) {
  51588. if (value) {
  51589. this.domNode.setAttribute(name, value);
  51590. } else {
  51591. this.domNode.removeAttribute(name);
  51592. }
  51593. } else {
  51594. _get(Image.prototype.__proto__ || Object.getPrototypeOf(Image.prototype), 'format', this).call(this, name, value);
  51595. }
  51596. }
  51597. }], [{
  51598. key: 'create',
  51599. value: function create(value) {
  51600. var node = _get(Image.__proto__ || Object.getPrototypeOf(Image), 'create', this).call(this, value);
  51601. if (typeof value === 'string') {
  51602. node.setAttribute('src', this.sanitize(value));
  51603. }
  51604. return node;
  51605. }
  51606. }, {
  51607. key: 'formats',
  51608. value: function formats(domNode) {
  51609. return ATTRIBUTES.reduce(function (formats, attribute) {
  51610. if (domNode.hasAttribute(attribute)) {
  51611. formats[attribute] = domNode.getAttribute(attribute);
  51612. }
  51613. return formats;
  51614. }, {});
  51615. }
  51616. }, {
  51617. key: 'match',
  51618. value: function match(url) {
  51619. return (/\.(jpe?g|gif|png)$/.test(url) || /^data:image\/.+;base64/.test(url)
  51620. );
  51621. }
  51622. }, {
  51623. key: 'sanitize',
  51624. value: function sanitize(url) {
  51625. return (0, _link.sanitize)(url, ['http', 'https', 'data']) ? url : '//:0';
  51626. }
  51627. }, {
  51628. key: 'value',
  51629. value: function value(domNode) {
  51630. return domNode.getAttribute('src');
  51631. }
  51632. }]);
  51633. return Image;
  51634. }(_parchment2.default.Embed);
  51635. Image.blotName = 'image';
  51636. Image.tagName = 'IMG';
  51637. exports.default = Image;
  51638. /***/ }),
  51639. /* 73 */
  51640. /***/ (function(module, exports, __nested_webpack_require_401311__) {
  51641. "use strict";
  51642. Object.defineProperty(exports, "__esModule", {
  51643. value: true
  51644. });
  51645. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  51646. var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
  51647. var _block = __nested_webpack_require_401311__(4);
  51648. var _link = __nested_webpack_require_401311__(27);
  51649. var _link2 = _interopRequireDefault(_link);
  51650. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  51651. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  51652. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  51653. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  51654. var ATTRIBUTES = ['height', 'width'];
  51655. var Video = function (_BlockEmbed) {
  51656. _inherits(Video, _BlockEmbed);
  51657. function Video() {
  51658. _classCallCheck(this, Video);
  51659. return _possibleConstructorReturn(this, (Video.__proto__ || Object.getPrototypeOf(Video)).apply(this, arguments));
  51660. }
  51661. _createClass(Video, [{
  51662. key: 'format',
  51663. value: function format(name, value) {
  51664. if (ATTRIBUTES.indexOf(name) > -1) {
  51665. if (value) {
  51666. this.domNode.setAttribute(name, value);
  51667. } else {
  51668. this.domNode.removeAttribute(name);
  51669. }
  51670. } else {
  51671. _get(Video.prototype.__proto__ || Object.getPrototypeOf(Video.prototype), 'format', this).call(this, name, value);
  51672. }
  51673. }
  51674. }], [{
  51675. key: 'create',
  51676. value: function create(value) {
  51677. var node = _get(Video.__proto__ || Object.getPrototypeOf(Video), 'create', this).call(this, value);
  51678. node.setAttribute('frameborder', '0');
  51679. node.setAttribute('allowfullscreen', true);
  51680. node.setAttribute('src', this.sanitize(value));
  51681. return node;
  51682. }
  51683. }, {
  51684. key: 'formats',
  51685. value: function formats(domNode) {
  51686. return ATTRIBUTES.reduce(function (formats, attribute) {
  51687. if (domNode.hasAttribute(attribute)) {
  51688. formats[attribute] = domNode.getAttribute(attribute);
  51689. }
  51690. return formats;
  51691. }, {});
  51692. }
  51693. }, {
  51694. key: 'sanitize',
  51695. value: function sanitize(url) {
  51696. return _link2.default.sanitize(url);
  51697. }
  51698. }, {
  51699. key: 'value',
  51700. value: function value(domNode) {
  51701. return domNode.getAttribute('src');
  51702. }
  51703. }]);
  51704. return Video;
  51705. }(_block.BlockEmbed);
  51706. Video.blotName = 'video';
  51707. Video.className = 'ql-video';
  51708. Video.tagName = 'IFRAME';
  51709. exports.default = Video;
  51710. /***/ }),
  51711. /* 74 */
  51712. /***/ (function(module, exports, __nested_webpack_require_405371__) {
  51713. "use strict";
  51714. Object.defineProperty(exports, "__esModule", {
  51715. value: true
  51716. });
  51717. exports.default = exports.FormulaBlot = undefined;
  51718. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  51719. var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
  51720. var _embed = __nested_webpack_require_405371__(35);
  51721. var _embed2 = _interopRequireDefault(_embed);
  51722. var _quill = __nested_webpack_require_405371__(5);
  51723. var _quill2 = _interopRequireDefault(_quill);
  51724. var _module = __nested_webpack_require_405371__(9);
  51725. var _module2 = _interopRequireDefault(_module);
  51726. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  51727. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  51728. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  51729. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  51730. var FormulaBlot = function (_Embed) {
  51731. _inherits(FormulaBlot, _Embed);
  51732. function FormulaBlot() {
  51733. _classCallCheck(this, FormulaBlot);
  51734. return _possibleConstructorReturn(this, (FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot)).apply(this, arguments));
  51735. }
  51736. _createClass(FormulaBlot, null, [{
  51737. key: 'create',
  51738. value: function create(value) {
  51739. var node = _get(FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot), 'create', this).call(this, value);
  51740. if (typeof value === 'string') {
  51741. window.katex.render(value, node, {
  51742. throwOnError: false,
  51743. errorColor: '#f00'
  51744. });
  51745. node.setAttribute('data-value', value);
  51746. }
  51747. return node;
  51748. }
  51749. }, {
  51750. key: 'value',
  51751. value: function value(domNode) {
  51752. return domNode.getAttribute('data-value');
  51753. }
  51754. }]);
  51755. return FormulaBlot;
  51756. }(_embed2.default);
  51757. FormulaBlot.blotName = 'formula';
  51758. FormulaBlot.className = 'ql-formula';
  51759. FormulaBlot.tagName = 'SPAN';
  51760. var Formula = function (_Module) {
  51761. _inherits(Formula, _Module);
  51762. _createClass(Formula, null, [{
  51763. key: 'register',
  51764. value: function register() {
  51765. _quill2.default.register(FormulaBlot, true);
  51766. }
  51767. }]);
  51768. function Formula() {
  51769. _classCallCheck(this, Formula);
  51770. var _this2 = _possibleConstructorReturn(this, (Formula.__proto__ || Object.getPrototypeOf(Formula)).call(this));
  51771. if (window.katex == null) {
  51772. throw new Error('Formula module requires KaTeX.');
  51773. }
  51774. return _this2;
  51775. }
  51776. return Formula;
  51777. }(_module2.default);
  51778. exports.FormulaBlot = FormulaBlot;
  51779. exports.default = Formula;
  51780. /***/ }),
  51781. /* 75 */
  51782. /***/ (function(module, exports, __nested_webpack_require_409500__) {
  51783. "use strict";
  51784. Object.defineProperty(exports, "__esModule", {
  51785. value: true
  51786. });
  51787. exports.default = exports.CodeToken = exports.CodeBlock = undefined;
  51788. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  51789. var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
  51790. var _parchment = __nested_webpack_require_409500__(0);
  51791. var _parchment2 = _interopRequireDefault(_parchment);
  51792. var _quill = __nested_webpack_require_409500__(5);
  51793. var _quill2 = _interopRequireDefault(_quill);
  51794. var _module = __nested_webpack_require_409500__(9);
  51795. var _module2 = _interopRequireDefault(_module);
  51796. var _code = __nested_webpack_require_409500__(13);
  51797. var _code2 = _interopRequireDefault(_code);
  51798. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  51799. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  51800. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  51801. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  51802. var SyntaxCodeBlock = function (_CodeBlock) {
  51803. _inherits(SyntaxCodeBlock, _CodeBlock);
  51804. function SyntaxCodeBlock() {
  51805. _classCallCheck(this, SyntaxCodeBlock);
  51806. return _possibleConstructorReturn(this, (SyntaxCodeBlock.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock)).apply(this, arguments));
  51807. }
  51808. _createClass(SyntaxCodeBlock, [{
  51809. key: 'replaceWith',
  51810. value: function replaceWith(block) {
  51811. this.domNode.textContent = this.domNode.textContent;
  51812. this.attach();
  51813. _get(SyntaxCodeBlock.prototype.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock.prototype), 'replaceWith', this).call(this, block);
  51814. }
  51815. }, {
  51816. key: 'highlight',
  51817. value: function highlight(_highlight) {
  51818. var text = this.domNode.textContent;
  51819. if (this.cachedText !== text) {
  51820. if (text.trim().length > 0 || this.cachedText == null) {
  51821. this.domNode.innerHTML = _highlight(text);
  51822. this.domNode.normalize();
  51823. this.attach();
  51824. }
  51825. this.cachedText = text;
  51826. }
  51827. }
  51828. }]);
  51829. return SyntaxCodeBlock;
  51830. }(_code2.default);
  51831. SyntaxCodeBlock.className = 'ql-syntax';
  51832. var CodeToken = new _parchment2.default.Attributor.Class('token', 'hljs', {
  51833. scope: _parchment2.default.Scope.INLINE
  51834. });
  51835. var Syntax = function (_Module) {
  51836. _inherits(Syntax, _Module);
  51837. _createClass(Syntax, null, [{
  51838. key: 'register',
  51839. value: function register() {
  51840. _quill2.default.register(CodeToken, true);
  51841. _quill2.default.register(SyntaxCodeBlock, true);
  51842. }
  51843. }]);
  51844. function Syntax(quill, options) {
  51845. _classCallCheck(this, Syntax);
  51846. var _this2 = _possibleConstructorReturn(this, (Syntax.__proto__ || Object.getPrototypeOf(Syntax)).call(this, quill, options));
  51847. if (typeof _this2.options.highlight !== 'function') {
  51848. throw new Error('Syntax module requires highlight.js. Please include the library on the page before Quill.');
  51849. }
  51850. var timer = null;
  51851. _this2.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {
  51852. clearTimeout(timer);
  51853. timer = setTimeout(function () {
  51854. _this2.highlight();
  51855. timer = null;
  51856. }, _this2.options.interval);
  51857. });
  51858. _this2.highlight();
  51859. return _this2;
  51860. }
  51861. _createClass(Syntax, [{
  51862. key: 'highlight',
  51863. value: function highlight() {
  51864. var _this3 = this;
  51865. if (this.quill.selection.composing) return;
  51866. this.quill.update(_quill2.default.sources.USER);
  51867. var range = this.quill.getSelection();
  51868. this.quill.scroll.descendants(SyntaxCodeBlock).forEach(function (code) {
  51869. code.highlight(_this3.options.highlight);
  51870. });
  51871. this.quill.update(_quill2.default.sources.SILENT);
  51872. if (range != null) {
  51873. this.quill.setSelection(range, _quill2.default.sources.SILENT);
  51874. }
  51875. }
  51876. }]);
  51877. return Syntax;
  51878. }(_module2.default);
  51879. Syntax.DEFAULTS = {
  51880. highlight: function () {
  51881. if (window.hljs == null) return null;
  51882. return function (text) {
  51883. var result = window.hljs.highlightAuto(text);
  51884. return result.value;
  51885. };
  51886. }(),
  51887. interval: 1000
  51888. };
  51889. exports.CodeBlock = SyntaxCodeBlock;
  51890. exports.CodeToken = CodeToken;
  51891. exports.default = Syntax;
  51892. /***/ }),
  51893. /* 76 */
  51894. /***/ (function(module, exports) {
  51895. module.exports = "<svg viewbox=\"0 0 18 18\"> <line class=ql-stroke x1=3 x2=15 y1=9 y2=9></line> <line class=ql-stroke x1=3 x2=13 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=9 y1=4 y2=4></line> </svg>";
  51896. /***/ }),
  51897. /* 77 */
  51898. /***/ (function(module, exports) {
  51899. module.exports = "<svg viewbox=\"0 0 18 18\"> <line class=ql-stroke x1=15 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=14 x2=4 y1=14 y2=14></line> <line class=ql-stroke x1=12 x2=6 y1=4 y2=4></line> </svg>";
  51900. /***/ }),
  51901. /* 78 */
  51902. /***/ (function(module, exports) {
  51903. module.exports = "<svg viewbox=\"0 0 18 18\"> <line class=ql-stroke x1=15 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=15 x2=5 y1=14 y2=14></line> <line class=ql-stroke x1=15 x2=9 y1=4 y2=4></line> </svg>";
  51904. /***/ }),
  51905. /* 79 */
  51906. /***/ (function(module, exports) {
  51907. module.exports = "<svg viewbox=\"0 0 18 18\"> <line class=ql-stroke x1=15 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=15 x2=3 y1=14 y2=14></line> <line class=ql-stroke x1=15 x2=3 y1=4 y2=4></line> </svg>";
  51908. /***/ }),
  51909. /* 80 */
  51910. /***/ (function(module, exports) {
  51911. module.exports = "<svg viewbox=\"0 0 18 18\"> <g class=\"ql-fill ql-color-label\"> <polygon points=\"6 6.868 6 6 5 6 5 7 5.942 7 6 6.868\"></polygon> <rect height=1 width=1 x=4 y=4></rect> <polygon points=\"6.817 5 6 5 6 6 6.38 6 6.817 5\"></polygon> <rect height=1 width=1 x=2 y=6></rect> <rect height=1 width=1 x=3 y=5></rect> <rect height=1 width=1 x=4 y=7></rect> <polygon points=\"4 11.439 4 11 3 11 3 12 3.755 12 4 11.439\"></polygon> <rect height=1 width=1 x=2 y=12></rect> <rect height=1 width=1 x=2 y=9></rect> <rect height=1 width=1 x=2 y=15></rect> <polygon points=\"4.63 10 4 10 4 11 4.192 11 4.63 10\"></polygon> <rect height=1 width=1 x=3 y=8></rect> <path d=M10.832,4.2L11,4.582V4H10.708A1.948,1.948,0,0,1,10.832,4.2Z></path> <path d=M7,4.582L7.168,4.2A1.929,1.929,0,0,1,7.292,4H7V4.582Z></path> <path d=M8,13H7.683l-0.351.8a1.933,1.933,0,0,1-.124.2H8V13Z></path> <rect height=1 width=1 x=12 y=2></rect> <rect height=1 width=1 x=11 y=3></rect> <path d=M9,3H8V3.282A1.985,1.985,0,0,1,9,3Z></path> <rect height=1 width=1 x=2 y=3></rect> <rect height=1 width=1 x=6 y=2></rect> <rect height=1 width=1 x=3 y=2></rect> <rect height=1 width=1 x=5 y=3></rect> <rect height=1 width=1 x=9 y=2></rect> <rect height=1 width=1 x=15 y=14></rect> <polygon points=\"13.447 10.174 13.469 10.225 13.472 10.232 13.808 11 14 11 14 10 13.37 10 13.447 10.174\"></polygon> <rect height=1 width=1 x=13 y=7></rect> <rect height=1 width=1 x=15 y=5></rect> <rect height=1 width=1 x=14 y=6></rect> <rect height=1 width=1 x=15 y=8></rect> <rect height=1 width=1 x=14 y=9></rect> <path d=M3.775,14H3v1H4V14.314A1.97,1.97,0,0,1,3.775,14Z></path> <rect height=1 width=1 x=14 y=3></rect> <polygon points=\"12 6.868 12 6 11.62 6 12 6.868\"></polygon> <rect height=1 width=1 x=15 y=2></rect> <rect height=1 width=1 x=12 y=5></rect> <rect height=1 width=1 x=13 y=4></rect> <polygon points=\"12.933 9 13 9 13 8 12.495 8 12.933 9\"></polygon> <rect height=1 width=1 x=9 y=14></rect> <rect height=1 width=1 x=8 y=15></rect> <path d=M6,14.926V15H7V14.316A1.993,1.993,0,0,1,6,14.926Z></path> <rect height=1 width=1 x=5 y=15></rect> <path d=M10.668,13.8L10.317,13H10v1h0.792A1.947,1.947,0,0,1,10.668,13.8Z></path> <rect height=1 width=1 x=11 y=15></rect> <path d=M14.332,12.2a1.99,1.99,0,0,1,.166.8H15V12H14.245Z></path> <rect height=1 width=1 x=14 y=15></rect> <rect height=1 width=1 x=15 y=11></rect> </g> <polyline class=ql-stroke points=\"5.5 13 9 5 12.5 13\"></polyline> <line class=ql-stroke x1=11.63 x2=6.38 y1=11 y2=11></line> </svg>";
  51912. /***/ }),
  51913. /* 81 */
  51914. /***/ (function(module, exports) {
  51915. module.exports = "<svg viewbox=\"0 0 18 18\"> <rect class=\"ql-fill ql-stroke\" height=3 width=3 x=4 y=5></rect> <rect class=\"ql-fill ql-stroke\" height=3 width=3 x=11 y=5></rect> <path class=\"ql-even ql-fill ql-stroke\" d=M7,8c0,4.031-3,5-3,5></path> <path class=\"ql-even ql-fill ql-stroke\" d=M14,8c0,4.031-3,5-3,5></path> </svg>";
  51916. /***/ }),
  51917. /* 82 */
  51918. /***/ (function(module, exports) {
  51919. module.exports = "<svg viewbox=\"0 0 18 18\"> <path class=ql-stroke d=M5,4H9.5A2.5,2.5,0,0,1,12,6.5v0A2.5,2.5,0,0,1,9.5,9H5A0,0,0,0,1,5,9V4A0,0,0,0,1,5,4Z></path> <path class=ql-stroke d=M5,9h5.5A2.5,2.5,0,0,1,13,11.5v0A2.5,2.5,0,0,1,10.5,14H5a0,0,0,0,1,0,0V9A0,0,0,0,1,5,9Z></path> </svg>";
  51920. /***/ }),
  51921. /* 83 */
  51922. /***/ (function(module, exports) {
  51923. module.exports = "<svg class=\"\" viewbox=\"0 0 18 18\"> <line class=ql-stroke x1=5 x2=13 y1=3 y2=3></line> <line class=ql-stroke x1=6 x2=9.35 y1=12 y2=3></line> <line class=ql-stroke x1=11 x2=15 y1=11 y2=15></line> <line class=ql-stroke x1=15 x2=11 y1=11 y2=15></line> <rect class=ql-fill height=1 rx=0.5 ry=0.5 width=7 x=2 y=14></rect> </svg>";
  51924. /***/ }),
  51925. /* 84 */
  51926. /***/ (function(module, exports) {
  51927. module.exports = "<svg viewbox=\"0 0 18 18\"> <line class=\"ql-color-label ql-stroke ql-transparent\" x1=3 x2=15 y1=15 y2=15></line> <polyline class=ql-stroke points=\"5.5 11 9 3 12.5 11\"></polyline> <line class=ql-stroke x1=11.63 x2=6.38 y1=9 y2=9></line> </svg>";
  51928. /***/ }),
  51929. /* 85 */
  51930. /***/ (function(module, exports) {
  51931. module.exports = "<svg viewbox=\"0 0 18 18\"> <polygon class=\"ql-stroke ql-fill\" points=\"3 11 5 9 3 7 3 11\"></polygon> <line class=\"ql-stroke ql-fill\" x1=15 x2=11 y1=4 y2=4></line> <path class=ql-fill d=M11,3a3,3,0,0,0,0,6h1V3H11Z></path> <rect class=ql-fill height=11 width=1 x=11 y=4></rect> <rect class=ql-fill height=11 width=1 x=13 y=4></rect> </svg>";
  51932. /***/ }),
  51933. /* 86 */
  51934. /***/ (function(module, exports) {
  51935. module.exports = "<svg viewbox=\"0 0 18 18\"> <polygon class=\"ql-stroke ql-fill\" points=\"15 12 13 10 15 8 15 12\"></polygon> <line class=\"ql-stroke ql-fill\" x1=9 x2=5 y1=4 y2=4></line> <path class=ql-fill d=M5,3A3,3,0,0,0,5,9H6V3H5Z></path> <rect class=ql-fill height=11 width=1 x=5 y=4></rect> <rect class=ql-fill height=11 width=1 x=7 y=4></rect> </svg>";
  51936. /***/ }),
  51937. /* 87 */
  51938. /***/ (function(module, exports) {
  51939. module.exports = "<svg viewbox=\"0 0 18 18\"> <path class=ql-fill d=M14,16H4a1,1,0,0,1,0-2H14A1,1,0,0,1,14,16Z /> <path class=ql-fill d=M14,4H4A1,1,0,0,1,4,2H14A1,1,0,0,1,14,4Z /> <rect class=ql-fill x=3 y=6 width=12 height=6 rx=1 ry=1 /> </svg>";
  51940. /***/ }),
  51941. /* 88 */
  51942. /***/ (function(module, exports) {
  51943. module.exports = "<svg viewbox=\"0 0 18 18\"> <path class=ql-fill d=M13,16H5a1,1,0,0,1,0-2h8A1,1,0,0,1,13,16Z /> <path class=ql-fill d=M13,4H5A1,1,0,0,1,5,2h8A1,1,0,0,1,13,4Z /> <rect class=ql-fill x=2 y=6 width=14 height=6 rx=1 ry=1 /> </svg>";
  51944. /***/ }),
  51945. /* 89 */
  51946. /***/ (function(module, exports) {
  51947. module.exports = "<svg viewbox=\"0 0 18 18\"> <path class=ql-fill d=M15,8H13a1,1,0,0,1,0-2h2A1,1,0,0,1,15,8Z /> <path class=ql-fill d=M15,12H13a1,1,0,0,1,0-2h2A1,1,0,0,1,15,12Z /> <path class=ql-fill d=M15,16H5a1,1,0,0,1,0-2H15A1,1,0,0,1,15,16Z /> <path class=ql-fill d=M15,4H5A1,1,0,0,1,5,2H15A1,1,0,0,1,15,4Z /> <rect class=ql-fill x=2 y=6 width=8 height=6 rx=1 ry=1 /> </svg>";
  51948. /***/ }),
  51949. /* 90 */
  51950. /***/ (function(module, exports) {
  51951. module.exports = "<svg viewbox=\"0 0 18 18\"> <path class=ql-fill d=M5,8H3A1,1,0,0,1,3,6H5A1,1,0,0,1,5,8Z /> <path class=ql-fill d=M5,12H3a1,1,0,0,1,0-2H5A1,1,0,0,1,5,12Z /> <path class=ql-fill d=M13,16H3a1,1,0,0,1,0-2H13A1,1,0,0,1,13,16Z /> <path class=ql-fill d=M13,4H3A1,1,0,0,1,3,2H13A1,1,0,0,1,13,4Z /> <rect class=ql-fill x=8 y=6 width=8 height=6 rx=1 ry=1 transform=\"translate(24 18) rotate(-180)\"/> </svg>";
  51952. /***/ }),
  51953. /* 91 */
  51954. /***/ (function(module, exports) {
  51955. module.exports = "<svg viewbox=\"0 0 18 18\"> <path class=ql-fill d=M11.759,2.482a2.561,2.561,0,0,0-3.53.607A7.656,7.656,0,0,0,6.8,6.2C6.109,9.188,5.275,14.677,4.15,14.927a1.545,1.545,0,0,0-1.3-.933A0.922,0.922,0,0,0,2,15.036S1.954,16,4.119,16s3.091-2.691,3.7-5.553c0.177-.826.36-1.726,0.554-2.6L8.775,6.2c0.381-1.421.807-2.521,1.306-2.676a1.014,1.014,0,0,0,1.02.56A0.966,0.966,0,0,0,11.759,2.482Z></path> <rect class=ql-fill height=1.6 rx=0.8 ry=0.8 width=5 x=5.15 y=6.2></rect> <path class=ql-fill d=M13.663,12.027a1.662,1.662,0,0,1,.266-0.276q0.193,0.069.456,0.138a2.1,2.1,0,0,0,.535.069,1.075,1.075,0,0,0,.767-0.3,1.044,1.044,0,0,0,.314-0.8,0.84,0.84,0,0,0-.238-0.619,0.8,0.8,0,0,0-.594-0.239,1.154,1.154,0,0,0-.781.3,4.607,4.607,0,0,0-.781,1q-0.091.15-.218,0.346l-0.246.38c-0.068-.288-0.137-0.582-0.212-0.885-0.459-1.847-2.494-.984-2.941-0.8-0.482.2-.353,0.647-0.094,0.529a0.869,0.869,0,0,1,1.281.585c0.217,0.751.377,1.436,0.527,2.038a5.688,5.688,0,0,1-.362.467,2.69,2.69,0,0,1-.264.271q-0.221-.08-0.471-0.147a2.029,2.029,0,0,0-.522-0.066,1.079,1.079,0,0,0-.768.3A1.058,1.058,0,0,0,9,15.131a0.82,0.82,0,0,0,.832.852,1.134,1.134,0,0,0,.787-0.3,5.11,5.11,0,0,0,.776-0.993q0.141-.219.215-0.34c0.046-.076.122-0.194,0.223-0.346a2.786,2.786,0,0,0,.918,1.726,2.582,2.582,0,0,0,2.376-.185c0.317-.181.212-0.565,0-0.494A0.807,0.807,0,0,1,14.176,15a5.159,5.159,0,0,1-.913-2.446l0,0Q13.487,12.24,13.663,12.027Z></path> </svg>";
  51956. /***/ }),
  51957. /* 92 */
  51958. /***/ (function(module, exports) {
  51959. module.exports = "<svg viewBox=\"0 0 18 18\"> <path class=ql-fill d=M10,4V14a1,1,0,0,1-2,0V10H3v4a1,1,0,0,1-2,0V4A1,1,0,0,1,3,4V8H8V4a1,1,0,0,1,2,0Zm6.06787,9.209H14.98975V7.59863a.54085.54085,0,0,0-.605-.60547h-.62744a1.01119,1.01119,0,0,0-.748.29688L11.645,8.56641a.5435.5435,0,0,0-.022.8584l.28613.30762a.53861.53861,0,0,0,.84717.0332l.09912-.08789a1.2137,1.2137,0,0,0,.2417-.35254h.02246s-.01123.30859-.01123.60547V13.209H12.041a.54085.54085,0,0,0-.605.60547v.43945a.54085.54085,0,0,0,.605.60547h4.02686a.54085.54085,0,0,0,.605-.60547v-.43945A.54085.54085,0,0,0,16.06787,13.209Z /> </svg>";
  51960. /***/ }),
  51961. /* 93 */
  51962. /***/ (function(module, exports) {
  51963. module.exports = "<svg viewBox=\"0 0 18 18\"> <path class=ql-fill d=M16.73975,13.81445v.43945a.54085.54085,0,0,1-.605.60547H11.855a.58392.58392,0,0,1-.64893-.60547V14.0127c0-2.90527,3.39941-3.42187,3.39941-4.55469a.77675.77675,0,0,0-.84717-.78125,1.17684,1.17684,0,0,0-.83594.38477c-.2749.26367-.561.374-.85791.13184l-.4292-.34082c-.30811-.24219-.38525-.51758-.1543-.81445a2.97155,2.97155,0,0,1,2.45361-1.17676,2.45393,2.45393,0,0,1,2.68408,2.40918c0,2.45312-3.1792,2.92676-3.27832,3.93848h2.79443A.54085.54085,0,0,1,16.73975,13.81445ZM9,3A.99974.99974,0,0,0,8,4V8H3V4A1,1,0,0,0,1,4V14a1,1,0,0,0,2,0V10H8v4a1,1,0,0,0,2,0V4A.99974.99974,0,0,0,9,3Z /> </svg>";
  51964. /***/ }),
  51965. /* 94 */
  51966. /***/ (function(module, exports) {
  51967. module.exports = "<svg viewbox=\"0 0 18 18\"> <line class=ql-stroke x1=7 x2=13 y1=4 y2=4></line> <line class=ql-stroke x1=5 x2=11 y1=14 y2=14></line> <line class=ql-stroke x1=8 x2=10 y1=14 y2=4></line> </svg>";
  51968. /***/ }),
  51969. /* 95 */
  51970. /***/ (function(module, exports) {
  51971. module.exports = "<svg viewbox=\"0 0 18 18\"> <rect class=ql-stroke height=10 width=12 x=3 y=4></rect> <circle class=ql-fill cx=6 cy=7 r=1></circle> <polyline class=\"ql-even ql-fill\" points=\"5 12 5 11 7 9 8 10 11 7 13 9 13 12 5 12\"></polyline> </svg>";
  51972. /***/ }),
  51973. /* 96 */
  51974. /***/ (function(module, exports) {
  51975. module.exports = "<svg viewbox=\"0 0 18 18\"> <line class=ql-stroke x1=3 x2=15 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=9 x2=15 y1=9 y2=9></line> <polyline class=\"ql-fill ql-stroke\" points=\"3 7 3 11 5 9 3 7\"></polyline> </svg>";
  51976. /***/ }),
  51977. /* 97 */
  51978. /***/ (function(module, exports) {
  51979. module.exports = "<svg viewbox=\"0 0 18 18\"> <line class=ql-stroke x1=3 x2=15 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=9 x2=15 y1=9 y2=9></line> <polyline class=ql-stroke points=\"5 7 5 11 3 9 5 7\"></polyline> </svg>";
  51980. /***/ }),
  51981. /* 98 */
  51982. /***/ (function(module, exports) {
  51983. module.exports = "<svg viewbox=\"0 0 18 18\"> <line class=ql-stroke x1=7 x2=11 y1=7 y2=11></line> <path class=\"ql-even ql-stroke\" d=M8.9,4.577a3.476,3.476,0,0,1,.36,4.679A3.476,3.476,0,0,1,4.577,8.9C3.185,7.5,2.035,6.4,4.217,4.217S7.5,3.185,8.9,4.577Z></path> <path class=\"ql-even ql-stroke\" d=M13.423,9.1a3.476,3.476,0,0,0-4.679-.36,3.476,3.476,0,0,0,.36,4.679c1.392,1.392,2.5,2.542,4.679.36S14.815,10.5,13.423,9.1Z></path> </svg>";
  51984. /***/ }),
  51985. /* 99 */
  51986. /***/ (function(module, exports) {
  51987. module.exports = "<svg viewbox=\"0 0 18 18\"> <line class=ql-stroke x1=7 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=7 x2=15 y1=9 y2=9></line> <line class=ql-stroke x1=7 x2=15 y1=14 y2=14></line> <line class=\"ql-stroke ql-thin\" x1=2.5 x2=4.5 y1=5.5 y2=5.5></line> <path class=ql-fill d=M3.5,6A0.5,0.5,0,0,1,3,5.5V3.085l-0.276.138A0.5,0.5,0,0,1,2.053,3c-0.124-.247-0.023-0.324.224-0.447l1-.5A0.5,0.5,0,0,1,4,2.5v3A0.5,0.5,0,0,1,3.5,6Z></path> <path class=\"ql-stroke ql-thin\" d=M4.5,10.5h-2c0-.234,1.85-1.076,1.85-2.234A0.959,0.959,0,0,0,2.5,8.156></path> <path class=\"ql-stroke ql-thin\" d=M2.5,14.846a0.959,0.959,0,0,0,1.85-.109A0.7,0.7,0,0,0,3.75,14a0.688,0.688,0,0,0,.6-0.736,0.959,0.959,0,0,0-1.85-.109></path> </svg>";
  51988. /***/ }),
  51989. /* 100 */
  51990. /***/ (function(module, exports) {
  51991. module.exports = "<svg viewbox=\"0 0 18 18\"> <line class=ql-stroke x1=6 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=6 x2=15 y1=9 y2=9></line> <line class=ql-stroke x1=6 x2=15 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=3 y1=4 y2=4></line> <line class=ql-stroke x1=3 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=3 x2=3 y1=14 y2=14></line> </svg>";
  51992. /***/ }),
  51993. /* 101 */
  51994. /***/ (function(module, exports) {
  51995. module.exports = "<svg class=\"\" viewbox=\"0 0 18 18\"> <line class=ql-stroke x1=9 x2=15 y1=4 y2=4></line> <polyline class=ql-stroke points=\"3 4 4 5 6 3\"></polyline> <line class=ql-stroke x1=9 x2=15 y1=14 y2=14></line> <polyline class=ql-stroke points=\"3 14 4 15 6 13\"></polyline> <line class=ql-stroke x1=9 x2=15 y1=9 y2=9></line> <polyline class=ql-stroke points=\"3 9 4 10 6 8\"></polyline> </svg>";
  51996. /***/ }),
  51997. /* 102 */
  51998. /***/ (function(module, exports) {
  51999. module.exports = "<svg viewbox=\"0 0 18 18\"> <path class=ql-fill d=M15.5,15H13.861a3.858,3.858,0,0,0,1.914-2.975,1.8,1.8,0,0,0-1.6-1.751A1.921,1.921,0,0,0,12.021,11.7a0.50013,0.50013,0,1,0,.957.291h0a0.914,0.914,0,0,1,1.053-.725,0.81,0.81,0,0,1,.744.762c0,1.076-1.16971,1.86982-1.93971,2.43082A1.45639,1.45639,0,0,0,12,15.5a0.5,0.5,0,0,0,.5.5h3A0.5,0.5,0,0,0,15.5,15Z /> <path class=ql-fill d=M9.65,5.241a1,1,0,0,0-1.409.108L6,7.964,3.759,5.349A1,1,0,0,0,2.192,6.59178Q2.21541,6.6213,2.241,6.649L4.684,9.5,2.241,12.35A1,1,0,0,0,3.71,13.70722q0.02557-.02768.049-0.05722L6,11.036,8.241,13.65a1,1,0,1,0,1.567-1.24277Q9.78459,12.3777,9.759,12.35L7.316,9.5,9.759,6.651A1,1,0,0,0,9.65,5.241Z /> </svg>";
  52000. /***/ }),
  52001. /* 103 */
  52002. /***/ (function(module, exports) {
  52003. module.exports = "<svg viewbox=\"0 0 18 18\"> <path class=ql-fill d=M15.5,7H13.861a4.015,4.015,0,0,0,1.914-2.975,1.8,1.8,0,0,0-1.6-1.751A1.922,1.922,0,0,0,12.021,3.7a0.5,0.5,0,1,0,.957.291,0.917,0.917,0,0,1,1.053-.725,0.81,0.81,0,0,1,.744.762c0,1.077-1.164,1.925-1.934,2.486A1.423,1.423,0,0,0,12,7.5a0.5,0.5,0,0,0,.5.5h3A0.5,0.5,0,0,0,15.5,7Z /> <path class=ql-fill d=M9.651,5.241a1,1,0,0,0-1.41.108L6,7.964,3.759,5.349a1,1,0,1,0-1.519,1.3L4.683,9.5,2.241,12.35a1,1,0,1,0,1.519,1.3L6,11.036,8.241,13.65a1,1,0,0,0,1.519-1.3L7.317,9.5,9.759,6.651A1,1,0,0,0,9.651,5.241Z /> </svg>";
  52004. /***/ }),
  52005. /* 104 */
  52006. /***/ (function(module, exports) {
  52007. module.exports = "<svg viewbox=\"0 0 18 18\"> <line class=\"ql-stroke ql-thin\" x1=15.5 x2=2.5 y1=8.5 y2=9.5></line> <path class=ql-fill d=M9.007,8C6.542,7.791,6,7.519,6,6.5,6,5.792,7.283,5,9,5c1.571,0,2.765.679,2.969,1.309a1,1,0,0,0,1.9-.617C13.356,4.106,11.354,3,9,3,6.2,3,4,4.538,4,6.5a3.2,3.2,0,0,0,.5,1.843Z></path> <path class=ql-fill d=M8.984,10C11.457,10.208,12,10.479,12,11.5c0,0.708-1.283,1.5-3,1.5-1.571,0-2.765-.679-2.969-1.309a1,1,0,1,0-1.9.617C4.644,13.894,6.646,15,9,15c2.8,0,5-1.538,5-3.5a3.2,3.2,0,0,0-.5-1.843Z></path> </svg>";
  52008. /***/ }),
  52009. /* 105 */
  52010. /***/ (function(module, exports) {
  52011. module.exports = "<svg viewbox=\"0 0 18 18\"> <path class=ql-stroke d=M5,3V9a4.012,4.012,0,0,0,4,4H9a4.012,4.012,0,0,0,4-4V3></path> <rect class=ql-fill height=1 rx=0.5 ry=0.5 width=12 x=3 y=15></rect> </svg>";
  52012. /***/ }),
  52013. /* 106 */
  52014. /***/ (function(module, exports) {
  52015. module.exports = "<svg viewbox=\"0 0 18 18\"> <rect class=ql-stroke height=12 width=12 x=3 y=3></rect> <rect class=ql-fill height=12 width=1 x=5 y=3></rect> <rect class=ql-fill height=12 width=1 x=12 y=3></rect> <rect class=ql-fill height=2 width=8 x=5 y=8></rect> <rect class=ql-fill height=1 width=3 x=3 y=5></rect> <rect class=ql-fill height=1 width=3 x=3 y=7></rect> <rect class=ql-fill height=1 width=3 x=3 y=10></rect> <rect class=ql-fill height=1 width=3 x=3 y=12></rect> <rect class=ql-fill height=1 width=3 x=12 y=5></rect> <rect class=ql-fill height=1 width=3 x=12 y=7></rect> <rect class=ql-fill height=1 width=3 x=12 y=10></rect> <rect class=ql-fill height=1 width=3 x=12 y=12></rect> </svg>";
  52016. /***/ }),
  52017. /* 107 */
  52018. /***/ (function(module, exports) {
  52019. module.exports = "<svg viewbox=\"0 0 18 18\"> <polygon class=ql-stroke points=\"7 11 9 13 11 11 7 11\"></polygon> <polygon class=ql-stroke points=\"7 7 9 5 11 7 7 7\"></polygon> </svg>";
  52020. /***/ }),
  52021. /* 108 */
  52022. /***/ (function(module, exports, __nested_webpack_require_432266__) {
  52023. "use strict";
  52024. Object.defineProperty(exports, "__esModule", {
  52025. value: true
  52026. });
  52027. exports.default = exports.BubbleTooltip = undefined;
  52028. var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
  52029. var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  52030. var _extend = __nested_webpack_require_432266__(3);
  52031. var _extend2 = _interopRequireDefault(_extend);
  52032. var _emitter = __nested_webpack_require_432266__(8);
  52033. var _emitter2 = _interopRequireDefault(_emitter);
  52034. var _base = __nested_webpack_require_432266__(43);
  52035. var _base2 = _interopRequireDefault(_base);
  52036. var _selection = __nested_webpack_require_432266__(15);
  52037. var _icons = __nested_webpack_require_432266__(41);
  52038. var _icons2 = _interopRequireDefault(_icons);
  52039. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  52040. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  52041. function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  52042. function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  52043. var TOOLBAR_CONFIG = [['bold', 'italic', 'link'], [{ header: 1 }, { header: 2 }, 'blockquote']];
  52044. var BubbleTheme = function (_BaseTheme) {
  52045. _inherits(BubbleTheme, _BaseTheme);
  52046. function BubbleTheme(quill, options) {
  52047. _classCallCheck(this, BubbleTheme);
  52048. if (options.modules.toolbar != null && options.modules.toolbar.container == null) {
  52049. options.modules.toolbar.container = TOOLBAR_CONFIG;
  52050. }
  52051. var _this = _possibleConstructorReturn(this, (BubbleTheme.__proto__ || Object.getPrototypeOf(BubbleTheme)).call(this, quill, options));
  52052. _this.quill.container.classList.add('ql-bubble');
  52053. return _this;
  52054. }
  52055. _createClass(BubbleTheme, [{
  52056. key: 'extendToolbar',
  52057. value: function extendToolbar(toolbar) {
  52058. this.tooltip = new BubbleTooltip(this.quill, this.options.bounds);
  52059. this.tooltip.root.appendChild(toolbar.container);
  52060. this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);
  52061. this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);
  52062. }
  52063. }]);
  52064. return BubbleTheme;
  52065. }(_base2.default);
  52066. BubbleTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {
  52067. modules: {
  52068. toolbar: {
  52069. handlers: {
  52070. link: function link(value) {
  52071. if (!value) {
  52072. this.quill.format('link', false);
  52073. } else {
  52074. this.quill.theme.tooltip.edit();
  52075. }
  52076. }
  52077. }
  52078. }
  52079. }
  52080. });
  52081. var BubbleTooltip = function (_BaseTooltip) {
  52082. _inherits(BubbleTooltip, _BaseTooltip);
  52083. function BubbleTooltip(quill, bounds) {
  52084. _classCallCheck(this, BubbleTooltip);
  52085. var _this2 = _possibleConstructorReturn(this, (BubbleTooltip.__proto__ || Object.getPrototypeOf(BubbleTooltip)).call(this, quill, bounds));
  52086. _this2.quill.on(_emitter2.default.events.EDITOR_CHANGE, function (type, range, oldRange, source) {
  52087. if (type !== _emitter2.default.events.SELECTION_CHANGE) return;
  52088. if (range != null && range.length > 0 && source === _emitter2.default.sources.USER) {
  52089. _this2.show();
  52090. // Lock our width so we will expand beyond our offsetParent boundaries
  52091. _this2.root.style.left = '0px';
  52092. _this2.root.style.width = '';
  52093. _this2.root.style.width = _this2.root.offsetWidth + 'px';
  52094. var lines = _this2.quill.getLines(range.index, range.length);
  52095. if (lines.length === 1) {
  52096. _this2.position(_this2.quill.getBounds(range));
  52097. } else {
  52098. var lastLine = lines[lines.length - 1];
  52099. var index = _this2.quill.getIndex(lastLine);
  52100. var length = Math.min(lastLine.length() - 1, range.index + range.length - index);
  52101. var _bounds = _this2.quill.getBounds(new _selection.Range(index, length));
  52102. _this2.position(_bounds);
  52103. }
  52104. } else if (document.activeElement !== _this2.textbox && _this2.quill.hasFocus()) {
  52105. _this2.hide();
  52106. }
  52107. });
  52108. return _this2;
  52109. }
  52110. _createClass(BubbleTooltip, [{
  52111. key: 'listen',
  52112. value: function listen() {
  52113. var _this3 = this;
  52114. _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'listen', this).call(this);
  52115. this.root.querySelector('.ql-close').addEventListener('click', function () {
  52116. _this3.root.classList.remove('ql-editing');
  52117. });
  52118. this.quill.on(_emitter2.default.events.SCROLL_OPTIMIZE, function () {
  52119. // Let selection be restored by toolbar handlers before repositioning
  52120. setTimeout(function () {
  52121. if (_this3.root.classList.contains('ql-hidden')) return;
  52122. var range = _this3.quill.getSelection();
  52123. if (range != null) {
  52124. _this3.position(_this3.quill.getBounds(range));
  52125. }
  52126. }, 1);
  52127. });
  52128. }
  52129. }, {
  52130. key: 'cancel',
  52131. value: function cancel() {
  52132. this.show();
  52133. }
  52134. }, {
  52135. key: 'position',
  52136. value: function position(reference) {
  52137. var shift = _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'position', this).call(this, reference);
  52138. var arrow = this.root.querySelector('.ql-tooltip-arrow');
  52139. arrow.style.marginLeft = '';
  52140. if (shift === 0) return shift;
  52141. arrow.style.marginLeft = -1 * shift - arrow.offsetWidth / 2 + 'px';
  52142. }
  52143. }]);
  52144. return BubbleTooltip;
  52145. }(_base.BaseTooltip);
  52146. BubbleTooltip.TEMPLATE = ['<span class="ql-tooltip-arrow"></span>', '<div class="ql-tooltip-editor">', '<input type="text" data-formula="e=mc^2" data-link="https://quilljs.com" data-video="Embed URL">', '<a class="ql-close"></a>', '</div>'].join('');
  52147. exports.BubbleTooltip = BubbleTooltip;
  52148. exports.default = BubbleTheme;
  52149. /***/ }),
  52150. /* 109 */
  52151. /***/ (function(module, exports, __nested_webpack_require_439588__) {
  52152. module.exports = __nested_webpack_require_439588__(63);
  52153. /***/ })
  52154. /******/ ])["default"];
  52155. });
  52156. /***/ }),
  52157. /***/ "./node_modules/side-channel/index.js":
  52158. /*!********************************************!*\
  52159. !*** ./node_modules/side-channel/index.js ***!
  52160. \********************************************/
  52161. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  52162. "use strict";
  52163. var GetIntrinsic = __webpack_require__(/*! get-intrinsic */ "./node_modules/get-intrinsic/index.js");
  52164. var callBound = __webpack_require__(/*! call-bind/callBound */ "./node_modules/call-bind/callBound.js");
  52165. var inspect = __webpack_require__(/*! object-inspect */ "./node_modules/object-inspect/index.js");
  52166. var $TypeError = GetIntrinsic('%TypeError%');
  52167. var $WeakMap = GetIntrinsic('%WeakMap%', true);
  52168. var $Map = GetIntrinsic('%Map%', true);
  52169. var $weakMapGet = callBound('WeakMap.prototype.get', true);
  52170. var $weakMapSet = callBound('WeakMap.prototype.set', true);
  52171. var $weakMapHas = callBound('WeakMap.prototype.has', true);
  52172. var $mapGet = callBound('Map.prototype.get', true);
  52173. var $mapSet = callBound('Map.prototype.set', true);
  52174. var $mapHas = callBound('Map.prototype.has', true);
  52175. /*
  52176. * This function traverses the list returning the node corresponding to the
  52177. * given key.
  52178. *
  52179. * That node is also moved to the head of the list, so that if it's accessed
  52180. * again we don't need to traverse the whole list. By doing so, all the recently
  52181. * used nodes can be accessed relatively quickly.
  52182. */
  52183. var listGetNode = function (list, key) { // eslint-disable-line consistent-return
  52184. for (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {
  52185. if (curr.key === key) {
  52186. prev.next = curr.next;
  52187. curr.next = list.next;
  52188. list.next = curr; // eslint-disable-line no-param-reassign
  52189. return curr;
  52190. }
  52191. }
  52192. };
  52193. var listGet = function (objects, key) {
  52194. var node = listGetNode(objects, key);
  52195. return node && node.value;
  52196. };
  52197. var listSet = function (objects, key, value) {
  52198. var node = listGetNode(objects, key);
  52199. if (node) {
  52200. node.value = value;
  52201. } else {
  52202. // Prepend the new node to the beginning of the list
  52203. objects.next = { // eslint-disable-line no-param-reassign
  52204. key: key,
  52205. next: objects.next,
  52206. value: value
  52207. };
  52208. }
  52209. };
  52210. var listHas = function (objects, key) {
  52211. return !!listGetNode(objects, key);
  52212. };
  52213. module.exports = function getSideChannel() {
  52214. var $wm;
  52215. var $m;
  52216. var $o;
  52217. var channel = {
  52218. assert: function (key) {
  52219. if (!channel.has(key)) {
  52220. throw new $TypeError('Side channel does not contain ' + inspect(key));
  52221. }
  52222. },
  52223. get: function (key) { // eslint-disable-line consistent-return
  52224. if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {
  52225. if ($wm) {
  52226. return $weakMapGet($wm, key);
  52227. }
  52228. } else if ($Map) {
  52229. if ($m) {
  52230. return $mapGet($m, key);
  52231. }
  52232. } else {
  52233. if ($o) { // eslint-disable-line no-lonely-if
  52234. return listGet($o, key);
  52235. }
  52236. }
  52237. },
  52238. has: function (key) {
  52239. if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {
  52240. if ($wm) {
  52241. return $weakMapHas($wm, key);
  52242. }
  52243. } else if ($Map) {
  52244. if ($m) {
  52245. return $mapHas($m, key);
  52246. }
  52247. } else {
  52248. if ($o) { // eslint-disable-line no-lonely-if
  52249. return listHas($o, key);
  52250. }
  52251. }
  52252. return false;
  52253. },
  52254. set: function (key, value) {
  52255. if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {
  52256. if (!$wm) {
  52257. $wm = new $WeakMap();
  52258. }
  52259. $weakMapSet($wm, key, value);
  52260. } else if ($Map) {
  52261. if (!$m) {
  52262. $m = new $Map();
  52263. }
  52264. $mapSet($m, key, value);
  52265. } else {
  52266. if (!$o) {
  52267. /*
  52268. * Initialize the linked list as an empty node, so that we don't have
  52269. * to special-case handling of the first node: we can always refer to
  52270. * it as (previous node).next, instead of something like (list).head
  52271. */
  52272. $o = { key: {}, next: null };
  52273. }
  52274. listSet($o, key, value);
  52275. }
  52276. }
  52277. };
  52278. return channel;
  52279. };
  52280. /***/ }),
  52281. /***/ "./resources/js/assets/styles/layout.scss":
  52282. /*!************************************************!*\
  52283. !*** ./resources/js/assets/styles/layout.scss ***!
  52284. \************************************************/
  52285. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  52286. "use strict";
  52287. __webpack_require__.r(__webpack_exports__);
  52288. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  52289. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  52290. /* harmony export */ });
  52291. /* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
  52292. /* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
  52293. /* harmony import */ var _node_modules_css_loader_dist_cjs_js_clonedRuleSet_11_use_1_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_11_use_2_node_modules_sass_loader_dist_cjs_js_clonedRuleSet_11_use_3_layout_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-11.use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-11.use[2]!../../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-11.use[3]!./layout.scss */ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-11.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-11.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-11.use[3]!./resources/js/assets/styles/layout.scss");
  52294. var options = {};
  52295. options.insert = "head";
  52296. options.singleton = false;
  52297. var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_clonedRuleSet_11_use_1_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_11_use_2_node_modules_sass_loader_dist_cjs_js_clonedRuleSet_11_use_3_layout_scss__WEBPACK_IMPORTED_MODULE_1__["default"], options);
  52298. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_clonedRuleSet_11_use_1_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_11_use_2_node_modules_sass_loader_dist_cjs_js_clonedRuleSet_11_use_3_layout_scss__WEBPACK_IMPORTED_MODULE_1__["default"].locals || {});
  52299. /***/ }),
  52300. /***/ "./node_modules/primeflex/primeflex.css":
  52301. /*!**********************************************!*\
  52302. !*** ./node_modules/primeflex/primeflex.css ***!
  52303. \**********************************************/
  52304. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  52305. "use strict";
  52306. __webpack_require__.r(__webpack_exports__);
  52307. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  52308. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  52309. /* harmony export */ });
  52310. /* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
  52311. /* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
  52312. /* harmony import */ var _css_loader_dist_cjs_js_clonedRuleSet_8_use_1_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_primeflex_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./primeflex.css */ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/primeflex/primeflex.css");
  52313. var options = {};
  52314. options.insert = "head";
  52315. options.singleton = false;
  52316. var update = _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_primeflex_css__WEBPACK_IMPORTED_MODULE_1__["default"], options);
  52317. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_primeflex_css__WEBPACK_IMPORTED_MODULE_1__["default"].locals || {});
  52318. /***/ }),
  52319. /***/ "./node_modules/primeicons/primeicons.css":
  52320. /*!************************************************!*\
  52321. !*** ./node_modules/primeicons/primeicons.css ***!
  52322. \************************************************/
  52323. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  52324. "use strict";
  52325. __webpack_require__.r(__webpack_exports__);
  52326. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  52327. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  52328. /* harmony export */ });
  52329. /* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
  52330. /* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
  52331. /* harmony import */ var _css_loader_dist_cjs_js_clonedRuleSet_8_use_1_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_primeicons_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./primeicons.css */ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/primeicons/primeicons.css");
  52332. var options = {};
  52333. options.insert = "head";
  52334. options.singleton = false;
  52335. var update = _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_primeicons_css__WEBPACK_IMPORTED_MODULE_1__["default"], options);
  52336. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_primeicons_css__WEBPACK_IMPORTED_MODULE_1__["default"].locals || {});
  52337. /***/ }),
  52338. /***/ "./node_modules/primevue/resources/primevue.min.css":
  52339. /*!**********************************************************!*\
  52340. !*** ./node_modules/primevue/resources/primevue.min.css ***!
  52341. \**********************************************************/
  52342. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  52343. "use strict";
  52344. __webpack_require__.r(__webpack_exports__);
  52345. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  52346. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  52347. /* harmony export */ });
  52348. /* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
  52349. /* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
  52350. /* harmony import */ var _css_loader_dist_cjs_js_clonedRuleSet_8_use_1_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_primevue_min_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./primevue.min.css */ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/primevue/resources/primevue.min.css");
  52351. var options = {};
  52352. options.insert = "head";
  52353. options.singleton = false;
  52354. var update = _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_primevue_min_css__WEBPACK_IMPORTED_MODULE_1__["default"], options);
  52355. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_primevue_min_css__WEBPACK_IMPORTED_MODULE_1__["default"].locals || {});
  52356. /***/ }),
  52357. /***/ "./node_modules/primevue/resources/themes/mdc-light-indigo/theme.css":
  52358. /*!***************************************************************************!*\
  52359. !*** ./node_modules/primevue/resources/themes/mdc-light-indigo/theme.css ***!
  52360. \***************************************************************************/
  52361. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  52362. "use strict";
  52363. __webpack_require__.r(__webpack_exports__);
  52364. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  52365. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  52366. /* harmony export */ });
  52367. /* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
  52368. /* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
  52369. /* harmony import */ var _css_loader_dist_cjs_js_clonedRuleSet_8_use_1_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_theme_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./theme.css */ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/primevue/resources/themes/mdc-light-indigo/theme.css");
  52370. var options = {};
  52371. options.insert = "head";
  52372. options.singleton = false;
  52373. var update = _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_theme_css__WEBPACK_IMPORTED_MODULE_1__["default"], options);
  52374. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_theme_css__WEBPACK_IMPORTED_MODULE_1__["default"].locals || {});
  52375. /***/ }),
  52376. /***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":
  52377. /*!****************************************************************************!*\
  52378. !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!
  52379. \****************************************************************************/
  52380. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  52381. "use strict";
  52382. var isOldIE = function isOldIE() {
  52383. var memo;
  52384. return function memorize() {
  52385. if (typeof memo === 'undefined') {
  52386. // Test for IE <= 9 as proposed by Browserhacks
  52387. // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805
  52388. // Tests for existence of standard globals is to allow style-loader
  52389. // to operate correctly into non-standard environments
  52390. // @see https://github.com/webpack-contrib/style-loader/issues/177
  52391. memo = Boolean(window && document && document.all && !window.atob);
  52392. }
  52393. return memo;
  52394. };
  52395. }();
  52396. var getTarget = function getTarget() {
  52397. var memo = {};
  52398. return function memorize(target) {
  52399. if (typeof memo[target] === 'undefined') {
  52400. var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself
  52401. if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {
  52402. try {
  52403. // This will throw an exception if access to iframe is blocked
  52404. // due to cross-origin restrictions
  52405. styleTarget = styleTarget.contentDocument.head;
  52406. } catch (e) {
  52407. // istanbul ignore next
  52408. styleTarget = null;
  52409. }
  52410. }
  52411. memo[target] = styleTarget;
  52412. }
  52413. return memo[target];
  52414. };
  52415. }();
  52416. var stylesInDom = [];
  52417. function getIndexByIdentifier(identifier) {
  52418. var result = -1;
  52419. for (var i = 0; i < stylesInDom.length; i++) {
  52420. if (stylesInDom[i].identifier === identifier) {
  52421. result = i;
  52422. break;
  52423. }
  52424. }
  52425. return result;
  52426. }
  52427. function modulesToDom(list, options) {
  52428. var idCountMap = {};
  52429. var identifiers = [];
  52430. for (var i = 0; i < list.length; i++) {
  52431. var item = list[i];
  52432. var id = options.base ? item[0] + options.base : item[0];
  52433. var count = idCountMap[id] || 0;
  52434. var identifier = "".concat(id, " ").concat(count);
  52435. idCountMap[id] = count + 1;
  52436. var index = getIndexByIdentifier(identifier);
  52437. var obj = {
  52438. css: item[1],
  52439. media: item[2],
  52440. sourceMap: item[3]
  52441. };
  52442. if (index !== -1) {
  52443. stylesInDom[index].references++;
  52444. stylesInDom[index].updater(obj);
  52445. } else {
  52446. stylesInDom.push({
  52447. identifier: identifier,
  52448. updater: addStyle(obj, options),
  52449. references: 1
  52450. });
  52451. }
  52452. identifiers.push(identifier);
  52453. }
  52454. return identifiers;
  52455. }
  52456. function insertStyleElement(options) {
  52457. var style = document.createElement('style');
  52458. var attributes = options.attributes || {};
  52459. if (typeof attributes.nonce === 'undefined') {
  52460. var nonce = true ? __webpack_require__.nc : 0;
  52461. if (nonce) {
  52462. attributes.nonce = nonce;
  52463. }
  52464. }
  52465. Object.keys(attributes).forEach(function (key) {
  52466. style.setAttribute(key, attributes[key]);
  52467. });
  52468. if (typeof options.insert === 'function') {
  52469. options.insert(style);
  52470. } else {
  52471. var target = getTarget(options.insert || 'head');
  52472. if (!target) {
  52473. throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");
  52474. }
  52475. target.appendChild(style);
  52476. }
  52477. return style;
  52478. }
  52479. function removeStyleElement(style) {
  52480. // istanbul ignore if
  52481. if (style.parentNode === null) {
  52482. return false;
  52483. }
  52484. style.parentNode.removeChild(style);
  52485. }
  52486. /* istanbul ignore next */
  52487. var replaceText = function replaceText() {
  52488. var textStore = [];
  52489. return function replace(index, replacement) {
  52490. textStore[index] = replacement;
  52491. return textStore.filter(Boolean).join('\n');
  52492. };
  52493. }();
  52494. function applyToSingletonTag(style, index, remove, obj) {
  52495. var css = remove ? '' : obj.media ? "@media ".concat(obj.media, " {").concat(obj.css, "}") : obj.css; // For old IE
  52496. /* istanbul ignore if */
  52497. if (style.styleSheet) {
  52498. style.styleSheet.cssText = replaceText(index, css);
  52499. } else {
  52500. var cssNode = document.createTextNode(css);
  52501. var childNodes = style.childNodes;
  52502. if (childNodes[index]) {
  52503. style.removeChild(childNodes[index]);
  52504. }
  52505. if (childNodes.length) {
  52506. style.insertBefore(cssNode, childNodes[index]);
  52507. } else {
  52508. style.appendChild(cssNode);
  52509. }
  52510. }
  52511. }
  52512. function applyToTag(style, options, obj) {
  52513. var css = obj.css;
  52514. var media = obj.media;
  52515. var sourceMap = obj.sourceMap;
  52516. if (media) {
  52517. style.setAttribute('media', media);
  52518. } else {
  52519. style.removeAttribute('media');
  52520. }
  52521. if (sourceMap && typeof btoa !== 'undefined') {
  52522. css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */");
  52523. } // For old IE
  52524. /* istanbul ignore if */
  52525. if (style.styleSheet) {
  52526. style.styleSheet.cssText = css;
  52527. } else {
  52528. while (style.firstChild) {
  52529. style.removeChild(style.firstChild);
  52530. }
  52531. style.appendChild(document.createTextNode(css));
  52532. }
  52533. }
  52534. var singleton = null;
  52535. var singletonCounter = 0;
  52536. function addStyle(obj, options) {
  52537. var style;
  52538. var update;
  52539. var remove;
  52540. if (options.singleton) {
  52541. var styleIndex = singletonCounter++;
  52542. style = singleton || (singleton = insertStyleElement(options));
  52543. update = applyToSingletonTag.bind(null, style, styleIndex, false);
  52544. remove = applyToSingletonTag.bind(null, style, styleIndex, true);
  52545. } else {
  52546. style = insertStyleElement(options);
  52547. update = applyToTag.bind(null, style, options);
  52548. remove = function remove() {
  52549. removeStyleElement(style);
  52550. };
  52551. }
  52552. update(obj);
  52553. return function updateStyle(newObj) {
  52554. if (newObj) {
  52555. if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {
  52556. return;
  52557. }
  52558. update(obj = newObj);
  52559. } else {
  52560. remove();
  52561. }
  52562. };
  52563. }
  52564. module.exports = function (list, options) {
  52565. options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>
  52566. // tags it will allow on a page
  52567. if (!options.singleton && typeof options.singleton !== 'boolean') {
  52568. options.singleton = isOldIE();
  52569. }
  52570. list = list || [];
  52571. var lastIdentifiers = modulesToDom(list, options);
  52572. return function update(newList) {
  52573. newList = newList || [];
  52574. if (Object.prototype.toString.call(newList) !== '[object Array]') {
  52575. return;
  52576. }
  52577. for (var i = 0; i < lastIdentifiers.length; i++) {
  52578. var identifier = lastIdentifiers[i];
  52579. var index = getIndexByIdentifier(identifier);
  52580. stylesInDom[index].references--;
  52581. }
  52582. var newLastIdentifiers = modulesToDom(newList, options);
  52583. for (var _i = 0; _i < lastIdentifiers.length; _i++) {
  52584. var _identifier = lastIdentifiers[_i];
  52585. var _index = getIndexByIdentifier(_identifier);
  52586. if (stylesInDom[_index].references === 0) {
  52587. stylesInDom[_index].updater();
  52588. stylesInDom.splice(_index, 1);
  52589. }
  52590. }
  52591. lastIdentifiers = newLastIdentifiers;
  52592. };
  52593. };
  52594. /***/ }),
  52595. /***/ "./node_modules/vue/dist/vue.esm-bundler.js":
  52596. /*!**************************************************!*\
  52597. !*** ./node_modules/vue/dist/vue.esm-bundler.js ***!
  52598. \**************************************************/
  52599. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  52600. "use strict";
  52601. __webpack_require__.r(__webpack_exports__);
  52602. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  52603. /* harmony export */ "BaseTransition": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.BaseTransition),
  52604. /* harmony export */ "Comment": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.Comment),
  52605. /* harmony export */ "EffectScope": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.EffectScope),
  52606. /* harmony export */ "Fragment": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.Fragment),
  52607. /* harmony export */ "KeepAlive": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.KeepAlive),
  52608. /* harmony export */ "ReactiveEffect": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.ReactiveEffect),
  52609. /* harmony export */ "Static": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.Static),
  52610. /* harmony export */ "Suspense": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.Suspense),
  52611. /* harmony export */ "Teleport": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.Teleport),
  52612. /* harmony export */ "Text": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.Text),
  52613. /* harmony export */ "Transition": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.Transition),
  52614. /* harmony export */ "TransitionGroup": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.TransitionGroup),
  52615. /* harmony export */ "VueElement": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.VueElement),
  52616. /* harmony export */ "callWithAsyncErrorHandling": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.callWithAsyncErrorHandling),
  52617. /* harmony export */ "callWithErrorHandling": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.callWithErrorHandling),
  52618. /* harmony export */ "camelize": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.camelize),
  52619. /* harmony export */ "capitalize": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.capitalize),
  52620. /* harmony export */ "cloneVNode": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.cloneVNode),
  52621. /* harmony export */ "compatUtils": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.compatUtils),
  52622. /* harmony export */ "compile": () => (/* binding */ compileToFunction),
  52623. /* harmony export */ "computed": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.computed),
  52624. /* harmony export */ "createApp": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.createApp),
  52625. /* harmony export */ "createBlock": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.createBlock),
  52626. /* harmony export */ "createCommentVNode": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode),
  52627. /* harmony export */ "createElementBlock": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.createElementBlock),
  52628. /* harmony export */ "createElementVNode": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.createElementVNode),
  52629. /* harmony export */ "createHydrationRenderer": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.createHydrationRenderer),
  52630. /* harmony export */ "createPropsRestProxy": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.createPropsRestProxy),
  52631. /* harmony export */ "createRenderer": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.createRenderer),
  52632. /* harmony export */ "createSSRApp": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.createSSRApp),
  52633. /* harmony export */ "createSlots": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.createSlots),
  52634. /* harmony export */ "createStaticVNode": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.createStaticVNode),
  52635. /* harmony export */ "createTextVNode": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.createTextVNode),
  52636. /* harmony export */ "createVNode": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.createVNode),
  52637. /* harmony export */ "customRef": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.customRef),
  52638. /* harmony export */ "defineAsyncComponent": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.defineAsyncComponent),
  52639. /* harmony export */ "defineComponent": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.defineComponent),
  52640. /* harmony export */ "defineCustomElement": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.defineCustomElement),
  52641. /* harmony export */ "defineEmits": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.defineEmits),
  52642. /* harmony export */ "defineExpose": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.defineExpose),
  52643. /* harmony export */ "defineProps": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.defineProps),
  52644. /* harmony export */ "defineSSRCustomElement": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.defineSSRCustomElement),
  52645. /* harmony export */ "devtools": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.devtools),
  52646. /* harmony export */ "effect": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.effect),
  52647. /* harmony export */ "effectScope": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.effectScope),
  52648. /* harmony export */ "getCurrentInstance": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.getCurrentInstance),
  52649. /* harmony export */ "getCurrentScope": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.getCurrentScope),
  52650. /* harmony export */ "getTransitionRawChildren": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.getTransitionRawChildren),
  52651. /* harmony export */ "guardReactiveProps": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.guardReactiveProps),
  52652. /* harmony export */ "h": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.h),
  52653. /* harmony export */ "handleError": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.handleError),
  52654. /* harmony export */ "hydrate": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.hydrate),
  52655. /* harmony export */ "initCustomFormatter": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.initCustomFormatter),
  52656. /* harmony export */ "initDirectivesForSSR": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.initDirectivesForSSR),
  52657. /* harmony export */ "inject": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.inject),
  52658. /* harmony export */ "isMemoSame": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.isMemoSame),
  52659. /* harmony export */ "isProxy": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.isProxy),
  52660. /* harmony export */ "isReactive": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.isReactive),
  52661. /* harmony export */ "isReadonly": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.isReadonly),
  52662. /* harmony export */ "isRef": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.isRef),
  52663. /* harmony export */ "isRuntimeOnly": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.isRuntimeOnly),
  52664. /* harmony export */ "isShallow": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.isShallow),
  52665. /* harmony export */ "isVNode": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.isVNode),
  52666. /* harmony export */ "markRaw": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.markRaw),
  52667. /* harmony export */ "mergeDefaults": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.mergeDefaults),
  52668. /* harmony export */ "mergeProps": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.mergeProps),
  52669. /* harmony export */ "nextTick": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.nextTick),
  52670. /* harmony export */ "normalizeClass": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.normalizeClass),
  52671. /* harmony export */ "normalizeProps": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.normalizeProps),
  52672. /* harmony export */ "normalizeStyle": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.normalizeStyle),
  52673. /* harmony export */ "onActivated": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.onActivated),
  52674. /* harmony export */ "onBeforeMount": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.onBeforeMount),
  52675. /* harmony export */ "onBeforeUnmount": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.onBeforeUnmount),
  52676. /* harmony export */ "onBeforeUpdate": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.onBeforeUpdate),
  52677. /* harmony export */ "onDeactivated": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.onDeactivated),
  52678. /* harmony export */ "onErrorCaptured": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.onErrorCaptured),
  52679. /* harmony export */ "onMounted": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.onMounted),
  52680. /* harmony export */ "onRenderTracked": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.onRenderTracked),
  52681. /* harmony export */ "onRenderTriggered": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.onRenderTriggered),
  52682. /* harmony export */ "onScopeDispose": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.onScopeDispose),
  52683. /* harmony export */ "onServerPrefetch": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.onServerPrefetch),
  52684. /* harmony export */ "onUnmounted": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.onUnmounted),
  52685. /* harmony export */ "onUpdated": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.onUpdated),
  52686. /* harmony export */ "openBlock": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.openBlock),
  52687. /* harmony export */ "popScopeId": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.popScopeId),
  52688. /* harmony export */ "provide": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.provide),
  52689. /* harmony export */ "proxyRefs": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.proxyRefs),
  52690. /* harmony export */ "pushScopeId": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.pushScopeId),
  52691. /* harmony export */ "queuePostFlushCb": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.queuePostFlushCb),
  52692. /* harmony export */ "reactive": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.reactive),
  52693. /* harmony export */ "readonly": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.readonly),
  52694. /* harmony export */ "ref": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.ref),
  52695. /* harmony export */ "registerRuntimeCompiler": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.registerRuntimeCompiler),
  52696. /* harmony export */ "render": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.render),
  52697. /* harmony export */ "renderList": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.renderList),
  52698. /* harmony export */ "renderSlot": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.renderSlot),
  52699. /* harmony export */ "resolveComponent": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.resolveComponent),
  52700. /* harmony export */ "resolveDirective": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.resolveDirective),
  52701. /* harmony export */ "resolveDynamicComponent": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.resolveDynamicComponent),
  52702. /* harmony export */ "resolveFilter": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.resolveFilter),
  52703. /* harmony export */ "resolveTransitionHooks": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.resolveTransitionHooks),
  52704. /* harmony export */ "setBlockTracking": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.setBlockTracking),
  52705. /* harmony export */ "setDevtoolsHook": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.setDevtoolsHook),
  52706. /* harmony export */ "setTransitionHooks": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.setTransitionHooks),
  52707. /* harmony export */ "shallowReactive": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.shallowReactive),
  52708. /* harmony export */ "shallowReadonly": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.shallowReadonly),
  52709. /* harmony export */ "shallowRef": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.shallowRef),
  52710. /* harmony export */ "ssrContextKey": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.ssrContextKey),
  52711. /* harmony export */ "ssrUtils": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.ssrUtils),
  52712. /* harmony export */ "stop": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.stop),
  52713. /* harmony export */ "toDisplayString": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.toDisplayString),
  52714. /* harmony export */ "toHandlerKey": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.toHandlerKey),
  52715. /* harmony export */ "toHandlers": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.toHandlers),
  52716. /* harmony export */ "toRaw": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.toRaw),
  52717. /* harmony export */ "toRef": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.toRef),
  52718. /* harmony export */ "toRefs": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.toRefs),
  52719. /* harmony export */ "transformVNodeArgs": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.transformVNodeArgs),
  52720. /* harmony export */ "triggerRef": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.triggerRef),
  52721. /* harmony export */ "unref": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.unref),
  52722. /* harmony export */ "useAttrs": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.useAttrs),
  52723. /* harmony export */ "useCssModule": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.useCssModule),
  52724. /* harmony export */ "useCssVars": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.useCssVars),
  52725. /* harmony export */ "useSSRContext": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.useSSRContext),
  52726. /* harmony export */ "useSlots": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.useSlots),
  52727. /* harmony export */ "useTransitionState": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.useTransitionState),
  52728. /* harmony export */ "vModelCheckbox": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.vModelCheckbox),
  52729. /* harmony export */ "vModelDynamic": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.vModelDynamic),
  52730. /* harmony export */ "vModelRadio": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.vModelRadio),
  52731. /* harmony export */ "vModelSelect": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.vModelSelect),
  52732. /* harmony export */ "vModelText": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.vModelText),
  52733. /* harmony export */ "vShow": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.vShow),
  52734. /* harmony export */ "version": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.version),
  52735. /* harmony export */ "warn": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.warn),
  52736. /* harmony export */ "watch": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.watch),
  52737. /* harmony export */ "watchEffect": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.watchEffect),
  52738. /* harmony export */ "watchPostEffect": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.watchPostEffect),
  52739. /* harmony export */ "watchSyncEffect": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.watchSyncEffect),
  52740. /* harmony export */ "withAsyncContext": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.withAsyncContext),
  52741. /* harmony export */ "withCtx": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.withCtx),
  52742. /* harmony export */ "withDefaults": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.withDefaults),
  52743. /* harmony export */ "withDirectives": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.withDirectives),
  52744. /* harmony export */ "withKeys": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.withKeys),
  52745. /* harmony export */ "withMemo": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.withMemo),
  52746. /* harmony export */ "withModifiers": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.withModifiers),
  52747. /* harmony export */ "withScopeId": () => (/* reexport safe */ _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__.withScopeId)
  52748. /* harmony export */ });
  52749. /* harmony import */ var _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @vue/runtime-dom */ "./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js");
  52750. /* harmony import */ var _vue_runtime_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @vue/runtime-dom */ "./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js");
  52751. /* harmony import */ var _vue_compiler_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @vue/compiler-dom */ "./node_modules/@vue/compiler-dom/dist/compiler-dom.esm-bundler.js");
  52752. /* harmony import */ var _vue_shared__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @vue/shared */ "./node_modules/@vue/shared/dist/shared.esm-bundler.js");
  52753. function initDev() {
  52754. {
  52755. (0,_vue_runtime_dom__WEBPACK_IMPORTED_MODULE_1__.initCustomFormatter)();
  52756. }
  52757. }
  52758. // This entry is the "full-build" that includes both the runtime
  52759. if ((true)) {
  52760. initDev();
  52761. }
  52762. const compileCache = Object.create(null);
  52763. function compileToFunction(template, options) {
  52764. if (!(0,_vue_shared__WEBPACK_IMPORTED_MODULE_2__.isString)(template)) {
  52765. if (template.nodeType) {
  52766. template = template.innerHTML;
  52767. }
  52768. else {
  52769. ( true) && (0,_vue_runtime_dom__WEBPACK_IMPORTED_MODULE_1__.warn)(`invalid template option: `, template);
  52770. return _vue_shared__WEBPACK_IMPORTED_MODULE_2__.NOOP;
  52771. }
  52772. }
  52773. const key = template;
  52774. const cached = compileCache[key];
  52775. if (cached) {
  52776. return cached;
  52777. }
  52778. if (template[0] === '#') {
  52779. const el = document.querySelector(template);
  52780. if (( true) && !el) {
  52781. (0,_vue_runtime_dom__WEBPACK_IMPORTED_MODULE_1__.warn)(`Template element not found or is empty: ${template}`);
  52782. }
  52783. // __UNSAFE__
  52784. // Reason: potential execution of JS expressions in in-DOM template.
  52785. // The user must make sure the in-DOM template is trusted. If it's rendered
  52786. // by the server, the template should not contain any user data.
  52787. template = el ? el.innerHTML : ``;
  52788. }
  52789. const { code } = (0,_vue_compiler_dom__WEBPACK_IMPORTED_MODULE_3__.compile)(template, (0,_vue_shared__WEBPACK_IMPORTED_MODULE_2__.extend)({
  52790. hoistStatic: true,
  52791. onError: ( true) ? onError : 0,
  52792. onWarn: ( true) ? e => onError(e, true) : 0
  52793. }, options));
  52794. function onError(err, asWarning = false) {
  52795. const message = asWarning
  52796. ? err.message
  52797. : `Template compilation error: ${err.message}`;
  52798. const codeFrame = err.loc &&
  52799. (0,_vue_shared__WEBPACK_IMPORTED_MODULE_2__.generateCodeFrame)(template, err.loc.start.offset, err.loc.end.offset);
  52800. (0,_vue_runtime_dom__WEBPACK_IMPORTED_MODULE_1__.warn)(codeFrame ? `${message}\n${codeFrame}` : message);
  52801. }
  52802. // The wildcard import results in a huge object with every export
  52803. // with keys that cannot be mangled, and can be quite heavy size-wise.
  52804. // In the global build we know `Vue` is available globally so we can avoid
  52805. // the wildcard object.
  52806. const render = (new Function('Vue', code)(_vue_runtime_dom__WEBPACK_IMPORTED_MODULE_0__));
  52807. render._rc = true;
  52808. return (compileCache[key] = render);
  52809. }
  52810. (0,_vue_runtime_dom__WEBPACK_IMPORTED_MODULE_1__.registerRuntimeCompiler)(compileToFunction);
  52811. /***/ }),
  52812. /***/ "./resources/js/pages lazy recursive ^\\.\\/.*$":
  52813. /*!************************************************************!*\
  52814. !*** ./resources/js/pages/ lazy ^\.\/.*$ namespace object ***!
  52815. \************************************************************/
  52816. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  52817. var map = {
  52818. "./auth/ForgotPassword": [
  52819. "./resources/js/pages/auth/ForgotPassword.vue",
  52820. "resources_js_pages_auth_ForgotPassword_vue"
  52821. ],
  52822. "./auth/ForgotPassword.vue": [
  52823. "./resources/js/pages/auth/ForgotPassword.vue",
  52824. "resources_js_pages_auth_ForgotPassword_vue"
  52825. ],
  52826. "./auth/Login": [
  52827. "./resources/js/pages/auth/Login.vue",
  52828. "resources_js_pages_auth_Login_vue"
  52829. ],
  52830. "./auth/Login.vue": [
  52831. "./resources/js/pages/auth/Login.vue",
  52832. "resources_js_pages_auth_Login_vue"
  52833. ],
  52834. "./auth/ResetPassword": [
  52835. "./resources/js/pages/auth/ResetPassword.vue",
  52836. "resources_js_pages_auth_ResetPassword_vue"
  52837. ],
  52838. "./auth/ResetPassword.vue": [
  52839. "./resources/js/pages/auth/ResetPassword.vue",
  52840. "resources_js_pages_auth_ResetPassword_vue"
  52841. ],
  52842. "./auth/VerifyEmail": [
  52843. "./resources/js/pages/auth/VerifyEmail.vue",
  52844. "resources_js_pages_auth_VerifyEmail_vue"
  52845. ],
  52846. "./auth/VerifyEmail.vue": [
  52847. "./resources/js/pages/auth/VerifyEmail.vue",
  52848. "resources_js_pages_auth_VerifyEmail_vue"
  52849. ],
  52850. "./expense/Create": [
  52851. "./resources/js/pages/expense/Create.vue",
  52852. "resources_js_pages_expense_Create_vue"
  52853. ],
  52854. "./expense/Create.vue": [
  52855. "./resources/js/pages/expense/Create.vue",
  52856. "resources_js_pages_expense_Create_vue"
  52857. ],
  52858. "./expense/Index": [
  52859. "./resources/js/pages/expense/Index.vue",
  52860. "resources_js_pages_expense_Index_vue"
  52861. ],
  52862. "./expense/Index.vue": [
  52863. "./resources/js/pages/expense/Index.vue",
  52864. "resources_js_pages_expense_Index_vue"
  52865. ],
  52866. "./expense/Show": [
  52867. "./resources/js/pages/expense/Show.vue",
  52868. "resources_js_pages_expense_Show_vue"
  52869. ],
  52870. "./expense/Show.vue": [
  52871. "./resources/js/pages/expense/Show.vue",
  52872. "resources_js_pages_expense_Show_vue"
  52873. ],
  52874. "./expense/TableHeader": [
  52875. "./resources/js/pages/expense/TableHeader.js",
  52876. "resources_js_pages_expense_TableHeader_js"
  52877. ],
  52878. "./expense/TableHeader.js": [
  52879. "./resources/js/pages/expense/TableHeader.js",
  52880. "resources_js_pages_expense_TableHeader_js"
  52881. ],
  52882. "./home/Index": [
  52883. "./resources/js/pages/home/Index.vue",
  52884. "resources_js_pages_home_Index_vue"
  52885. ],
  52886. "./home/Index.vue": [
  52887. "./resources/js/pages/home/Index.vue",
  52888. "resources_js_pages_home_Index_vue"
  52889. ],
  52890. "./member/Create": [
  52891. "./resources/js/pages/member/Create.vue",
  52892. "resources_js_pages_member_Create_vue"
  52893. ],
  52894. "./member/Create.vue": [
  52895. "./resources/js/pages/member/Create.vue",
  52896. "resources_js_pages_member_Create_vue"
  52897. ],
  52898. "./member/Edit": [
  52899. "./resources/js/pages/member/Edit.vue",
  52900. "resources_js_pages_member_Edit_vue"
  52901. ],
  52902. "./member/Edit.vue": [
  52903. "./resources/js/pages/member/Edit.vue",
  52904. "resources_js_pages_member_Edit_vue"
  52905. ],
  52906. "./member/Index": [
  52907. "./resources/js/pages/member/Index.vue",
  52908. "resources_js_pages_member_Index_vue"
  52909. ],
  52910. "./member/Index.vue": [
  52911. "./resources/js/pages/member/Index.vue",
  52912. "resources_js_pages_member_Index_vue"
  52913. ],
  52914. "./member/TableHeader": [
  52915. "./resources/js/pages/member/TableHeader.js",
  52916. "resources_js_pages_member_TableHeader_js"
  52917. ],
  52918. "./member/TableHeader.js": [
  52919. "./resources/js/pages/member/TableHeader.js",
  52920. "resources_js_pages_member_TableHeader_js"
  52921. ],
  52922. "./topup/Create": [
  52923. "./resources/js/pages/topup/Create.vue",
  52924. "resources_js_pages_topup_Create_vue"
  52925. ],
  52926. "./topup/Create.vue": [
  52927. "./resources/js/pages/topup/Create.vue",
  52928. "resources_js_pages_topup_Create_vue"
  52929. ],
  52930. "./topup/Index": [
  52931. "./resources/js/pages/topup/Index.vue",
  52932. "resources_js_pages_topup_Index_vue"
  52933. ],
  52934. "./topup/Index.vue": [
  52935. "./resources/js/pages/topup/Index.vue",
  52936. "resources_js_pages_topup_Index_vue"
  52937. ],
  52938. "./topup/Show": [
  52939. "./resources/js/pages/topup/Show.vue",
  52940. "resources_js_pages_topup_Show_vue"
  52941. ],
  52942. "./topup/Show.vue": [
  52943. "./resources/js/pages/topup/Show.vue",
  52944. "resources_js_pages_topup_Show_vue"
  52945. ],
  52946. "./topup/TableHeader": [
  52947. "./resources/js/pages/topup/TableHeader.js",
  52948. "resources_js_pages_topup_TableHeader_js"
  52949. ],
  52950. "./topup/TableHeader.js": [
  52951. "./resources/js/pages/topup/TableHeader.js",
  52952. "resources_js_pages_topup_TableHeader_js"
  52953. ],
  52954. "./typemember/Create": [
  52955. "./resources/js/pages/typemember/Create.vue",
  52956. "resources_js_pages_typemember_Create_vue"
  52957. ],
  52958. "./typemember/Create.vue": [
  52959. "./resources/js/pages/typemember/Create.vue",
  52960. "resources_js_pages_typemember_Create_vue"
  52961. ],
  52962. "./typemember/Edit": [
  52963. "./resources/js/pages/typemember/Edit.vue",
  52964. "resources_js_pages_typemember_Edit_vue"
  52965. ],
  52966. "./typemember/Edit.vue": [
  52967. "./resources/js/pages/typemember/Edit.vue",
  52968. "resources_js_pages_typemember_Edit_vue"
  52969. ],
  52970. "./typemember/Index": [
  52971. "./resources/js/pages/typemember/Index.vue",
  52972. "resources_js_pages_typemember_Index_vue"
  52973. ],
  52974. "./typemember/Index.vue": [
  52975. "./resources/js/pages/typemember/Index.vue",
  52976. "resources_js_pages_typemember_Index_vue"
  52977. ],
  52978. "./typemember/TableHeader": [
  52979. "./resources/js/pages/typemember/TableHeader.js",
  52980. "resources_js_pages_typemember_TableHeader_js"
  52981. ],
  52982. "./typemember/TableHeader.js": [
  52983. "./resources/js/pages/typemember/TableHeader.js",
  52984. "resources_js_pages_typemember_TableHeader_js"
  52985. ],
  52986. "./typevehicle/Create": [
  52987. "./resources/js/pages/typevehicle/Create.vue",
  52988. "resources_js_pages_typevehicle_Create_vue"
  52989. ],
  52990. "./typevehicle/Create.vue": [
  52991. "./resources/js/pages/typevehicle/Create.vue",
  52992. "resources_js_pages_typevehicle_Create_vue"
  52993. ],
  52994. "./typevehicle/Edit": [
  52995. "./resources/js/pages/typevehicle/Edit.vue",
  52996. "resources_js_pages_typevehicle_Edit_vue"
  52997. ],
  52998. "./typevehicle/Edit.vue": [
  52999. "./resources/js/pages/typevehicle/Edit.vue",
  53000. "resources_js_pages_typevehicle_Edit_vue"
  53001. ],
  53002. "./typevehicle/Index": [
  53003. "./resources/js/pages/typevehicle/Index.vue",
  53004. "resources_js_pages_typevehicle_Index_vue"
  53005. ],
  53006. "./typevehicle/Index.vue": [
  53007. "./resources/js/pages/typevehicle/Index.vue",
  53008. "resources_js_pages_typevehicle_Index_vue"
  53009. ],
  53010. "./typevehicle/TableHeader": [
  53011. "./resources/js/pages/typevehicle/TableHeader.js",
  53012. "resources_js_pages_typevehicle_TableHeader_js"
  53013. ],
  53014. "./typevehicle/TableHeader.js": [
  53015. "./resources/js/pages/typevehicle/TableHeader.js",
  53016. "resources_js_pages_typevehicle_TableHeader_js"
  53017. ],
  53018. "./user/Create": [
  53019. "./resources/js/pages/user/Create.vue",
  53020. "resources_js_pages_user_Create_vue"
  53021. ],
  53022. "./user/Create.vue": [
  53023. "./resources/js/pages/user/Create.vue",
  53024. "resources_js_pages_user_Create_vue"
  53025. ],
  53026. "./user/Edit": [
  53027. "./resources/js/pages/user/Edit.vue",
  53028. "resources_js_pages_user_Edit_vue"
  53029. ],
  53030. "./user/Edit.vue": [
  53031. "./resources/js/pages/user/Edit.vue",
  53032. "resources_js_pages_user_Edit_vue"
  53033. ],
  53034. "./user/Index": [
  53035. "./resources/js/pages/user/Index.vue",
  53036. "resources_js_pages_user_Index_vue"
  53037. ],
  53038. "./user/Index.vue": [
  53039. "./resources/js/pages/user/Index.vue",
  53040. "resources_js_pages_user_Index_vue"
  53041. ],
  53042. "./user/Show": [
  53043. "./resources/js/pages/user/Show.vue",
  53044. "resources_js_pages_user_Show_vue"
  53045. ],
  53046. "./user/Show.vue": [
  53047. "./resources/js/pages/user/Show.vue",
  53048. "resources_js_pages_user_Show_vue"
  53049. ],
  53050. "./user/TableHeader": [
  53051. "./resources/js/pages/user/TableHeader.js",
  53052. "resources_js_pages_user_TableHeader_js"
  53053. ],
  53054. "./user/TableHeader.js": [
  53055. "./resources/js/pages/user/TableHeader.js",
  53056. "resources_js_pages_user_TableHeader_js"
  53057. ]
  53058. };
  53059. function webpackAsyncContext(req) {
  53060. if(!__webpack_require__.o(map, req)) {
  53061. return Promise.resolve().then(() => {
  53062. var e = new Error("Cannot find module '" + req + "'");
  53063. e.code = 'MODULE_NOT_FOUND';
  53064. throw e;
  53065. });
  53066. }
  53067. var ids = map[req], id = ids[0];
  53068. return __webpack_require__.e(ids[1]).then(() => {
  53069. return __webpack_require__(id);
  53070. });
  53071. }
  53072. webpackAsyncContext.keys = () => (Object.keys(map));
  53073. webpackAsyncContext.id = "./resources/js/pages lazy recursive ^\\.\\/.*$";
  53074. module.exports = webpackAsyncContext;
  53075. /***/ }),
  53076. /***/ "?2128":
  53077. /*!********************************!*\
  53078. !*** ./util.inspect (ignored) ***!
  53079. \********************************/
  53080. /***/ (() => {
  53081. /* (ignored) */
  53082. /***/ }),
  53083. /***/ "./node_modules/@inertiajs/inertia/node_modules/axios/package.json":
  53084. /*!*************************************************************************!*\
  53085. !*** ./node_modules/@inertiajs/inertia/node_modules/axios/package.json ***!
  53086. \*************************************************************************/
  53087. /***/ ((module) => {
  53088. "use strict";
  53089. module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"Promise based HTTP client for the browser and node.js","main":"index.js","scripts":{"test":"grunt test","start":"node ./sandbox/server.js","build":"NODE_ENV=production grunt build","preversion":"npm test","version":"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json","postversion":"git push && git push --tags","examples":"node ./examples/server.js","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","fix":"eslint --fix lib/**/*.js"},"repository":{"type":"git","url":"https://github.com/axios/axios.git"},"keywords":["xhr","http","ajax","promise","node"],"author":"Matt Zabriskie","license":"MIT","bugs":{"url":"https://github.com/axios/axios/issues"},"homepage":"https://axios-http.com","devDependencies":{"coveralls":"^3.0.0","es6-promise":"^4.2.4","grunt":"^1.3.0","grunt-banner":"^0.6.0","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-watch":"^1.0.0","grunt-eslint":"^23.0.0","grunt-karma":"^4.0.0","grunt-mocha-test":"^0.13.3","grunt-ts":"^6.0.0-beta.19","grunt-webpack":"^4.0.2","istanbul-instrumenter-loader":"^1.0.0","jasmine-core":"^2.4.1","karma":"^6.3.2","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.0","karma-jasmine":"^1.1.1","karma-jasmine-ajax":"^0.1.13","karma-safari-launcher":"^1.0.0","karma-sauce-launcher":"^4.3.6","karma-sinon":"^1.0.5","karma-sourcemap-loader":"^0.3.8","karma-webpack":"^4.0.2","load-grunt-tasks":"^3.5.2","minimist":"^1.2.0","mocha":"^8.2.1","sinon":"^4.5.0","terser-webpack-plugin":"^4.2.3","typescript":"^4.0.5","url-search-params":"^0.10.0","webpack":"^4.44.2","webpack-dev-server":"^3.11.0"},"browser":{"./lib/adapters/http.js":"./lib/adapters/xhr.js"},"jsdelivr":"dist/axios.min.js","unpkg":"dist/axios.min.js","typings":"./index.d.ts","dependencies":{"follow-redirects":"^1.14.0"},"bundlesize":[{"path":"./dist/axios.min.js","threshold":"5kB"}]}');
  53090. /***/ })
  53091. /******/ });
  53092. /************************************************************************/
  53093. /******/ // The module cache
  53094. /******/ var __webpack_module_cache__ = {};
  53095. /******/
  53096. /******/ // The require function
  53097. /******/ function __webpack_require__(moduleId) {
  53098. /******/ // Check if module is in cache
  53099. /******/ var cachedModule = __webpack_module_cache__[moduleId];
  53100. /******/ if (cachedModule !== undefined) {
  53101. /******/ return cachedModule.exports;
  53102. /******/ }
  53103. /******/ // Create a new module (and put it into the cache)
  53104. /******/ var module = __webpack_module_cache__[moduleId] = {
  53105. /******/ id: moduleId,
  53106. /******/ loaded: false,
  53107. /******/ exports: {}
  53108. /******/ };
  53109. /******/
  53110. /******/ // Execute the module function
  53111. /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
  53112. /******/
  53113. /******/ // Flag the module as loaded
  53114. /******/ module.loaded = true;
  53115. /******/
  53116. /******/ // Return the exports of the module
  53117. /******/ return module.exports;
  53118. /******/ }
  53119. /******/
  53120. /******/ // expose the modules object (__webpack_modules__)
  53121. /******/ __webpack_require__.m = __webpack_modules__;
  53122. /******/
  53123. /************************************************************************/
  53124. /******/ /* webpack/runtime/compat get default export */
  53125. /******/ (() => {
  53126. /******/ // getDefaultExport function for compatibility with non-harmony modules
  53127. /******/ __webpack_require__.n = (module) => {
  53128. /******/ var getter = module && module.__esModule ?
  53129. /******/ () => (module['default']) :
  53130. /******/ () => (module);
  53131. /******/ __webpack_require__.d(getter, { a: getter });
  53132. /******/ return getter;
  53133. /******/ };
  53134. /******/ })();
  53135. /******/
  53136. /******/ /* webpack/runtime/define property getters */
  53137. /******/ (() => {
  53138. /******/ // define getter functions for harmony exports
  53139. /******/ __webpack_require__.d = (exports, definition) => {
  53140. /******/ for(var key in definition) {
  53141. /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
  53142. /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
  53143. /******/ }
  53144. /******/ }
  53145. /******/ };
  53146. /******/ })();
  53147. /******/
  53148. /******/ /* webpack/runtime/ensure chunk */
  53149. /******/ (() => {
  53150. /******/ __webpack_require__.f = {};
  53151. /******/ // This file contains only the entry chunk.
  53152. /******/ // The chunk loading function for additional chunks
  53153. /******/ __webpack_require__.e = (chunkId) => {
  53154. /******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {
  53155. /******/ __webpack_require__.f[key](chunkId, promises);
  53156. /******/ return promises;
  53157. /******/ }, []));
  53158. /******/ };
  53159. /******/ })();
  53160. /******/
  53161. /******/ /* webpack/runtime/get javascript chunk filename */
  53162. /******/ (() => {
  53163. /******/ // This function allow to reference async chunks
  53164. /******/ __webpack_require__.u = (chunkId) => {
  53165. /******/ // return url for filenames based on template
  53166. /******/ return "js/" + chunkId + ".js?id=" + {"node_modules_chart_js_auto_auto_esm_js":"10c6b388645ceb22","resources_js_pages_auth_ForgotPassword_vue":"5b9f0529bda25a9b","resources_js_pages_auth_Login_vue":"61b9c9ae1ae9da32","resources_js_pages_auth_ResetPassword_vue":"b091193a1e114ce8","resources_js_pages_auth_VerifyEmail_vue":"a7b9a99e5a331088","resources_js_pages_expense_Create_vue":"66e7c99b236f0deb","resources_js_pages_expense_Index_vue":"f85b8a458475c32f","resources_js_pages_expense_Show_vue":"c6be13ef48f14ee2","resources_js_pages_expense_TableHeader_js":"eed3f0613f167cfd","resources_js_pages_home_Index_vue":"77d2cc7e0ffbf90e","resources_js_pages_member_Create_vue":"00e438eb5da902ce","resources_js_pages_member_Edit_vue":"48baae4f4480f54d","resources_js_pages_member_Index_vue":"220ea5d5cd363228","resources_js_pages_member_TableHeader_js":"51dbf053f7ddd45c","resources_js_pages_topup_Create_vue":"d9727aeb522f7d0e","resources_js_pages_topup_Index_vue":"4213bf188c295a33","resources_js_pages_topup_Show_vue":"a8c55ac0b35fc72b","resources_js_pages_topup_TableHeader_js":"601b7c0a855ce64e","resources_js_pages_typemember_Create_vue":"a79f5122dd4d955c","resources_js_pages_typemember_Edit_vue":"339a293819be91a7","resources_js_pages_typemember_Index_vue":"b6d16dc9b5f2b3b6","resources_js_pages_typemember_TableHeader_js":"ac1d31a59f8d464e","resources_js_pages_typevehicle_Create_vue":"913e399451308fbb","resources_js_pages_typevehicle_Edit_vue":"659302538c3304bb","resources_js_pages_typevehicle_Index_vue":"a5da2be987ea0ce5","resources_js_pages_typevehicle_TableHeader_js":"a40378918fbe74e1","resources_js_pages_user_Create_vue":"9407a7ca1e9268c7","resources_js_pages_user_Edit_vue":"68b60f3e274f7cd8","resources_js_pages_user_Index_vue":"f3269e9d78d4fe78","resources_js_pages_user_Show_vue":"e1c2622b8345f329","resources_js_pages_user_TableHeader_js":"0d87fd422fe40491"}[chunkId] + "";
  53167. /******/ };
  53168. /******/ })();
  53169. /******/
  53170. /******/ /* webpack/runtime/get mini-css chunk filename */
  53171. /******/ (() => {
  53172. /******/ // This function allow to reference all chunks
  53173. /******/ __webpack_require__.miniCssF = (chunkId) => {
  53174. /******/ // return url for filenames based on template
  53175. /******/ return undefined;
  53176. /******/ };
  53177. /******/ })();
  53178. /******/
  53179. /******/ /* webpack/runtime/global */
  53180. /******/ (() => {
  53181. /******/ __webpack_require__.g = (function() {
  53182. /******/ if (typeof globalThis === 'object') return globalThis;
  53183. /******/ try {
  53184. /******/ return this || new Function('return this')();
  53185. /******/ } catch (e) {
  53186. /******/ if (typeof window === 'object') return window;
  53187. /******/ }
  53188. /******/ })();
  53189. /******/ })();
  53190. /******/
  53191. /******/ /* webpack/runtime/hasOwnProperty shorthand */
  53192. /******/ (() => {
  53193. /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
  53194. /******/ })();
  53195. /******/
  53196. /******/ /* webpack/runtime/load script */
  53197. /******/ (() => {
  53198. /******/ var inProgress = {};
  53199. /******/ // data-webpack is not used as build has no uniqueName
  53200. /******/ // loadScript function to load a script via script tag
  53201. /******/ __webpack_require__.l = (url, done, key, chunkId) => {
  53202. /******/ if(inProgress[url]) { inProgress[url].push(done); return; }
  53203. /******/ var script, needAttach;
  53204. /******/ if(key !== undefined) {
  53205. /******/ var scripts = document.getElementsByTagName("script");
  53206. /******/ for(var i = 0; i < scripts.length; i++) {
  53207. /******/ var s = scripts[i];
  53208. /******/ if(s.getAttribute("src") == url) { script = s; break; }
  53209. /******/ }
  53210. /******/ }
  53211. /******/ if(!script) {
  53212. /******/ needAttach = true;
  53213. /******/ script = document.createElement('script');
  53214. /******/
  53215. /******/ script.charset = 'utf-8';
  53216. /******/ script.timeout = 120;
  53217. /******/ if (__webpack_require__.nc) {
  53218. /******/ script.setAttribute("nonce", __webpack_require__.nc);
  53219. /******/ }
  53220. /******/
  53221. /******/ script.src = url;
  53222. /******/ }
  53223. /******/ inProgress[url] = [done];
  53224. /******/ var onScriptComplete = (prev, event) => {
  53225. /******/ // avoid mem leaks in IE.
  53226. /******/ script.onerror = script.onload = null;
  53227. /******/ clearTimeout(timeout);
  53228. /******/ var doneFns = inProgress[url];
  53229. /******/ delete inProgress[url];
  53230. /******/ script.parentNode && script.parentNode.removeChild(script);
  53231. /******/ doneFns && doneFns.forEach((fn) => (fn(event)));
  53232. /******/ if(prev) return prev(event);
  53233. /******/ }
  53234. /******/ ;
  53235. /******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);
  53236. /******/ script.onerror = onScriptComplete.bind(null, script.onerror);
  53237. /******/ script.onload = onScriptComplete.bind(null, script.onload);
  53238. /******/ needAttach && document.head.appendChild(script);
  53239. /******/ };
  53240. /******/ })();
  53241. /******/
  53242. /******/ /* webpack/runtime/make namespace object */
  53243. /******/ (() => {
  53244. /******/ // define __esModule on exports
  53245. /******/ __webpack_require__.r = (exports) => {
  53246. /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
  53247. /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  53248. /******/ }
  53249. /******/ Object.defineProperty(exports, '__esModule', { value: true });
  53250. /******/ };
  53251. /******/ })();
  53252. /******/
  53253. /******/ /* webpack/runtime/node module decorator */
  53254. /******/ (() => {
  53255. /******/ __webpack_require__.nmd = (module) => {
  53256. /******/ module.paths = [];
  53257. /******/ if (!module.children) module.children = [];
  53258. /******/ return module;
  53259. /******/ };
  53260. /******/ })();
  53261. /******/
  53262. /******/ /* webpack/runtime/publicPath */
  53263. /******/ (() => {
  53264. /******/ __webpack_require__.p = "/";
  53265. /******/ })();
  53266. /******/
  53267. /******/ /* webpack/runtime/jsonp chunk loading */
  53268. /******/ (() => {
  53269. /******/ // no baseURI
  53270. /******/
  53271. /******/ // object to store loaded and loading chunks
  53272. /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
  53273. /******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
  53274. /******/ var installedChunks = {
  53275. /******/ "/js/vue": 0
  53276. /******/ };
  53277. /******/
  53278. /******/ __webpack_require__.f.j = (chunkId, promises) => {
  53279. /******/ // JSONP chunk loading for javascript
  53280. /******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;
  53281. /******/ if(installedChunkData !== 0) { // 0 means "already installed".
  53282. /******/
  53283. /******/ // a Promise means "currently loading".
  53284. /******/ if(installedChunkData) {
  53285. /******/ promises.push(installedChunkData[2]);
  53286. /******/ } else {
  53287. /******/ if(true) { // all chunks have JS
  53288. /******/ // setup Promise in chunk cache
  53289. /******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));
  53290. /******/ promises.push(installedChunkData[2] = promise);
  53291. /******/
  53292. /******/ // start chunk loading
  53293. /******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId);
  53294. /******/ // create error before stack unwound to get useful stacktrace later
  53295. /******/ var error = new Error();
  53296. /******/ var loadingEnded = (event) => {
  53297. /******/ if(__webpack_require__.o(installedChunks, chunkId)) {
  53298. /******/ installedChunkData = installedChunks[chunkId];
  53299. /******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined;
  53300. /******/ if(installedChunkData) {
  53301. /******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type);
  53302. /******/ var realSrc = event && event.target && event.target.src;
  53303. /******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')';
  53304. /******/ error.name = 'ChunkLoadError';
  53305. /******/ error.type = errorType;
  53306. /******/ error.request = realSrc;
  53307. /******/ installedChunkData[1](error);
  53308. /******/ }
  53309. /******/ }
  53310. /******/ };
  53311. /******/ __webpack_require__.l(url, loadingEnded, "chunk-" + chunkId, chunkId);
  53312. /******/ } else installedChunks[chunkId] = 0;
  53313. /******/ }
  53314. /******/ }
  53315. /******/ };
  53316. /******/
  53317. /******/ // no prefetching
  53318. /******/
  53319. /******/ // no preloaded
  53320. /******/
  53321. /******/ // no HMR
  53322. /******/
  53323. /******/ // no HMR manifest
  53324. /******/
  53325. /******/ // no on chunks loaded
  53326. /******/
  53327. /******/ // install a JSONP callback for chunk loading
  53328. /******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => {
  53329. /******/ var [chunkIds, moreModules, runtime] = data;
  53330. /******/ // add "moreModules" to the modules object,
  53331. /******/ // then flag all "chunkIds" as loaded and fire callback
  53332. /******/ var moduleId, chunkId, i = 0;
  53333. /******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) {
  53334. /******/ for(moduleId in moreModules) {
  53335. /******/ if(__webpack_require__.o(moreModules, moduleId)) {
  53336. /******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
  53337. /******/ }
  53338. /******/ }
  53339. /******/ if(runtime) var result = runtime(__webpack_require__);
  53340. /******/ }
  53341. /******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
  53342. /******/ for(;i < chunkIds.length; i++) {
  53343. /******/ chunkId = chunkIds[i];
  53344. /******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
  53345. /******/ installedChunks[chunkId][0]();
  53346. /******/ }
  53347. /******/ installedChunks[chunkId] = 0;
  53348. /******/ }
  53349. /******/
  53350. /******/ }
  53351. /******/
  53352. /******/ var chunkLoadingGlobal = self["webpackChunk"] = self["webpackChunk"] || [];
  53353. /******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
  53354. /******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));
  53355. /******/ })();
  53356. /******/
  53357. /******/ /* webpack/runtime/nonce */
  53358. /******/ (() => {
  53359. /******/ __webpack_require__.nc = undefined;
  53360. /******/ })();
  53361. /******/
  53362. /************************************************************************/
  53363. var __webpack_exports__ = {};
  53364. // This entry need to be wrapped in an IIFE because it need to be in strict mode.
  53365. (() => {
  53366. "use strict";
  53367. /*!*****************************!*\
  53368. !*** ./resources/js/vue.js ***!
  53369. \*****************************/
  53370. __webpack_require__.r(__webpack_exports__);
  53371. /* harmony import */ var primevue_resources_themes_mdc_light_indigo_theme_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! primevue/resources/themes/mdc-light-indigo/theme.css */ "./node_modules/primevue/resources/themes/mdc-light-indigo/theme.css");
  53372. /* harmony import */ var primevue_resources_primevue_min_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! primevue/resources/primevue.min.css */ "./node_modules/primevue/resources/primevue.min.css");
  53373. /* harmony import */ var primeflex_primeflex_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! primeflex/primeflex.css */ "./node_modules/primeflex/primeflex.css");
  53374. /* harmony import */ var primeicons_primeicons_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! primeicons/primeicons.css */ "./node_modules/primeicons/primeicons.css");
  53375. /* harmony import */ var _assets_styles_layout_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/assets/styles/layout.scss */ "./resources/js/assets/styles/layout.scss");
  53376. /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js");
  53377. /* harmony import */ var _inertiajs_inertia_vue3__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @inertiajs/inertia-vue3 */ "./node_modules/@inertiajs/inertia-vue3/dist/index.js");
  53378. /* harmony import */ var _inertiajs_progress__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @inertiajs/progress */ "./node_modules/@inertiajs/progress/dist/index.js");
  53379. /* harmony import */ var primevue_config__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! primevue/config */ "./node_modules/primevue/config/config.esm.js");
  53380. /* harmony import */ var primevue_styleclass__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! primevue/styleclass */ "./node_modules/primevue/styleclass/styleclass.esm.js");
  53381. /* harmony import */ var primevue_autocomplete__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! primevue/autocomplete */ "./node_modules/primevue/autocomplete/autocomplete.esm.js");
  53382. /* harmony import */ var primevue_badge__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! primevue/badge */ "./node_modules/primevue/badge/badge.esm.js");
  53383. /* harmony import */ var primevue_button__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! primevue/button */ "./node_modules/primevue/button/button.esm.js");
  53384. /* harmony import */ var primevue_calendar__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! primevue/calendar */ "./node_modules/primevue/calendar/calendar.esm.js");
  53385. /* harmony import */ var primevue_card__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! primevue/card */ "./node_modules/primevue/card/card.esm.js");
  53386. /* harmony import */ var primevue_chart__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! primevue/chart */ "./node_modules/primevue/chart/chart.esm.js");
  53387. /* harmony import */ var primevue_column__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! primevue/column */ "./node_modules/primevue/column/column.esm.js");
  53388. /* harmony import */ var primevue_confirmationservice__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! primevue/confirmationservice */ "./node_modules/primevue/confirmationservice/confirmationservice.esm.js");
  53389. /* harmony import */ var primevue_confirmdialog__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! primevue/confirmdialog */ "./node_modules/primevue/confirmdialog/confirmdialog.esm.js");
  53390. /* harmony import */ var primevue_datatable__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! primevue/datatable */ "./node_modules/primevue/datatable/datatable.esm.js");
  53391. /* harmony import */ var primevue_dialog__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! primevue/dialog */ "./node_modules/primevue/dialog/dialog.esm.js");
  53392. /* harmony import */ var primevue_divider__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! primevue/divider */ "./node_modules/primevue/divider/divider.esm.js");
  53393. /* harmony import */ var primevue_dropdown__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! primevue/dropdown */ "./node_modules/primevue/dropdown/dropdown.esm.js");
  53394. /* harmony import */ var primevue_editor__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! primevue/editor */ "./node_modules/primevue/editor/editor.esm.js");
  53395. /* harmony import */ var primevue_inputnumber__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! primevue/inputnumber */ "./node_modules/primevue/inputnumber/inputnumber.esm.js");
  53396. /* harmony import */ var primevue_inputtext__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! primevue/inputtext */ "./node_modules/primevue/inputtext/inputtext.esm.js");
  53397. /* harmony import */ var primevue_message__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! primevue/message */ "./node_modules/primevue/message/message.esm.js");
  53398. /* harmony import */ var primevue_paginator__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! primevue/paginator */ "./node_modules/primevue/paginator/paginator.esm.js");
  53399. /* harmony import */ var primevue_password__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! primevue/password */ "./node_modules/primevue/password/password.esm.js");
  53400. /* harmony import */ var primevue_ripple__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! primevue/ripple */ "./node_modules/primevue/ripple/ripple.esm.js");
  53401. /* harmony import */ var primevue_tabview__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! primevue/tabview */ "./node_modules/primevue/tabview/tabview.esm.js");
  53402. /* harmony import */ var primevue_tabpanel__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! primevue/tabpanel */ "./node_modules/primevue/tabpanel/tabpanel.esm.js");
  53403. /* harmony import */ var primevue_textarea__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! primevue/textarea */ "./node_modules/primevue/textarea/textarea.esm.js");
  53404. /* harmony import */ var primevue_tooltip__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! primevue/tooltip */ "./node_modules/primevue/tooltip/tooltip.esm.js");
  53405. (0,_inertiajs_inertia_vue3__WEBPACK_IMPORTED_MODULE_6__.createInertiaApp)({
  53406. title: function title(_title) {
  53407. return "".concat(_title, " - Parkirin");
  53408. },
  53409. resolve: function resolve(name) {
  53410. return __webpack_require__("./resources/js/pages lazy recursive ^\\.\\/.*$")("./".concat(name));
  53411. },
  53412. setup: function setup(_ref) {
  53413. var el = _ref.el,
  53414. App = _ref.App,
  53415. props = _ref.props,
  53416. plugin = _ref.plugin;
  53417. (0,vue__WEBPACK_IMPORTED_MODULE_5__.createApp)({
  53418. render: function render() {
  53419. return (0,vue__WEBPACK_IMPORTED_MODULE_5__.h)(App, props);
  53420. }
  53421. }).use(plugin).use(primevue_config__WEBPACK_IMPORTED_MODULE_8__["default"], {
  53422. ripple: true
  53423. }).use(primevue_confirmationservice__WEBPACK_IMPORTED_MODULE_17__["default"]).mixin({
  53424. methods: {
  53425. route: route
  53426. }
  53427. }).directive('styleclass', primevue_styleclass__WEBPACK_IMPORTED_MODULE_9__["default"]).directive('ripple', primevue_ripple__WEBPACK_IMPORTED_MODULE_29__["default"]).directive('tooltip', primevue_tooltip__WEBPACK_IMPORTED_MODULE_33__["default"]).component('AutoComplete', primevue_autocomplete__WEBPACK_IMPORTED_MODULE_10__["default"]).component('Button', primevue_button__WEBPACK_IMPORTED_MODULE_12__["default"]).component('Badge', primevue_badge__WEBPACK_IMPORTED_MODULE_11__["default"]).component('Card', primevue_card__WEBPACK_IMPORTED_MODULE_14__["default"]).component('Calendar', primevue_calendar__WEBPACK_IMPORTED_MODULE_13__["default"]).component('Chart', primevue_chart__WEBPACK_IMPORTED_MODULE_15__["default"]).component('Column', primevue_column__WEBPACK_IMPORTED_MODULE_16__["default"]).component('ConfirmDialog', primevue_confirmdialog__WEBPACK_IMPORTED_MODULE_18__["default"]).component('DataTable', primevue_datatable__WEBPACK_IMPORTED_MODULE_19__["default"]).component('Dialog', primevue_dialog__WEBPACK_IMPORTED_MODULE_20__["default"]).component('Divider', primevue_divider__WEBPACK_IMPORTED_MODULE_21__["default"]).component('Dropdown', primevue_dropdown__WEBPACK_IMPORTED_MODULE_22__["default"]).component('Editor', primevue_editor__WEBPACK_IMPORTED_MODULE_23__["default"]).component('InputNumber', primevue_inputnumber__WEBPACK_IMPORTED_MODULE_24__["default"]).component('InputText', primevue_inputtext__WEBPACK_IMPORTED_MODULE_25__["default"]).component('Message', primevue_message__WEBPACK_IMPORTED_MODULE_26__["default"]).component('Paginator', primevue_paginator__WEBPACK_IMPORTED_MODULE_27__["default"]).component('Password', primevue_password__WEBPACK_IMPORTED_MODULE_28__["default"]).component('TabView', primevue_tabview__WEBPACK_IMPORTED_MODULE_30__["default"]).component('TabPanel', primevue_tabpanel__WEBPACK_IMPORTED_MODULE_31__["default"]).component('Textarea', primevue_textarea__WEBPACK_IMPORTED_MODULE_32__["default"]).mount(el);
  53428. }
  53429. });
  53430. _inertiajs_progress__WEBPACK_IMPORTED_MODULE_7__.InertiaProgress.init({
  53431. color: '#4F46E5'
  53432. });
  53433. })();
  53434. /******/ })()
  53435. ;